{"version":3,"file":"chunks/24f39814a4fec4.js","mappings":"6xBAEA,IAMMA,EAAiB,CACrB,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,QAGgBC,EAAgB,WAOnC,SAAAA,EAAYC,EAA4BC,I,4FAAaC,CAAA,KAAAH,GACnDI,KAAKH,cAAgBI,EAAEJ,GACvBG,KAAKF,OAASA,EAEdE,KAAKE,aAAeD,EAAE,iBAAkBD,KAAKH,eAC7CG,KAAKG,WAAaF,EAAE,eAAgBD,KAAKH,eACzCG,KAAKI,MACP,C,QAsBC,O,EAtBAR,G,EAAA,EAAAS,IAAA,OAAAC,MAED,WACEN,KAAKO,QAAUN,EAAEO,QACjBR,KAAKS,kBAELT,KAAKE,aAAaQ,GAAG,QAASV,KAAKS,iBACnCT,KAAKG,WAAWO,GAAG,SAAUV,KAAKS,gBACpC,GAAC,CAAAJ,IAAA,kBAAAC,MAED,WACE,IAAMK,EAAa,gBAAgBC,KAAKC,UAAUC,WAtC3B,GACC,GAuCxBb,EAAE,mCAAmCc,MAAK,SAACC,EAAGC,GAC5C,IAAMC,EAAejB,EAAE,mCAAoCgB,GACrDE,EAAqBlB,EAAE,yCAA0CgB,GAEjEG,EAzCW,EAwCCF,EAAaG,SAAWV,EAzCjC,EA2CHW,EAAe3B,EAAeyB,GACpCD,EAAmBI,IAAI,qBAAsBH,EAAUI,YACvDN,EAAaK,IAAI,gBAAiBD,EACpC,GACF,M,oEAAC1B,CAAA,CApCkC,E","sources":["webpack:///./resources/js/components/showroom/dynamic-line-clamp.ts"],"sourcesContent":["import * as $ from \"jquery\";\n\nconst MOBILE_LINE_HEIGHT = 24;\nconst DESKTOP_LINE_HEIGHT = 28;\nconst OFFSET = 1;\nconst MAX_LINE_CLAMP = 4;\n\n// line-clamp to margin-bottom pair\nconst MARGIN_BOTTOMS = {\n  4: '34px',\n  3: '26px',\n  2: '18px',\n  1: '10px'\n};\n\nexport default class DynamicLineClamp {\n  componentRoot: JQuery<HTMLElement>;\n  params: any;\n  submitSearch: JQuery<HTMLElement>;\n  searchForm: JQuery<HTMLElement>;\n  $window?: JQuery<Window & typeof globalThis>;\n\n  constructor(componentRoot: HTMLElement, params: any) {\n    this.componentRoot = $(componentRoot);\n    this.params = params;\n\n    this.submitSearch = $('#search-submit', this.componentRoot);\n    this.searchForm = $('#search-form', this.componentRoot);\n    this.init();\n  }\n\n  init() {\n    this.$window = $(window);\n    this.modifyLineClamp();\n\n    this.submitSearch.on('click', this.modifyLineClamp);\n    this.searchForm.on('submit', this.modifyLineClamp);\n  }\n\n  modifyLineClamp() {\n    const lineHeight = /Mobi|Android/i.test(navigator.userAgent) ? MOBILE_LINE_HEIGHT : DESKTOP_LINE_HEIGHT;\n\n    $(\".component--template-card__info\").each((_, infoElement) => {\n      const titleElement = $(\".component--template-card__title\", infoElement);\n      const descriptionElement = $(\".component--template-card__description\", infoElement);\n      const lineCount = titleElement.height() / lineHeight;\n      const lineClamp = MAX_LINE_CLAMP - lineCount + OFFSET;\n      const marginBottom = MARGIN_BOTTOMS[lineClamp];\n      descriptionElement.css(\"-webkit-line-clamp\", lineClamp.toString());\n      titleElement.css(\"margin-bottom\", marginBottom);\n    });\n  }\n}\n"],"names":["MARGIN_BOTTOMS","DynamicLineClamp","componentRoot","params","_classCallCheck","this","$","submitSearch","searchForm","init","key","value","$window","window","modifyLineClamp","on","lineHeight","test","navigator","userAgent","each","_","infoElement","titleElement","descriptionElement","lineClamp","height","marginBottom","css","toString"],"sourceRoot":""}