@paperless/core 2.0.1-beta.157 → 2.0.1-beta.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +229 -0
- package/dist/build/index.esm.js +1 -1
- package/dist/build/p-59ab69e0.entry.js +2 -0
- package/dist/build/p-59ab69e0.entry.js.map +1 -0
- package/dist/build/{p-5b500894.entry.js → p-5ec4dcc5.entry.js} +2 -2
- package/dist/{paperless/p-c74c4740.entry.js → build/p-815ece67.entry.js} +2 -2
- package/dist/build/p-858a2582.entry.js +2 -0
- package/dist/build/p-858a2582.entry.js.map +1 -0
- package/dist/build/p-_CfQET1U.js +2 -0
- package/dist/build/p-_CfQET1U.js.map +1 -0
- package/dist/build/{p-8046ec48.entry.js → p-baec5c22.entry.js} +2 -2
- package/dist/{paperless/p-8046ec48.entry.js.map → build/p-baec5c22.entry.js.map} +1 -1
- package/dist/build/{p-650f135c.js → p-da60c514.js} +1 -1
- package/dist/build/p-helper.p-tooltip.entry.esm.js.map +1 -1
- package/dist/build/p-select.entry.esm.js.map +1 -1
- package/dist/build/p-table-column.entry.esm.js.map +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/p-empty-state_9.cjs.entry.js +1 -1
- package/dist/cjs/p-helper.p-tooltip.entry.cjs.js.map +1 -1
- package/dist/cjs/p-helper_2.cjs.entry.js +8 -8
- package/dist/cjs/p-helper_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +1 -1
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.entry.cjs.js.map +1 -1
- package/dist/cjs/p-table-column.cjs.entry.js +2 -2
- package/dist/cjs/p-table-column.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table-column.entry.cjs.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +1 -1
- package/dist/cjs/paperless.cjs.js +1 -1
- package/dist/cjs/{table-helpers-Bne0_01e.js → table-helpers-Dm9HGI12.js} +9 -5
- package/dist/cjs/table-helpers-Dm9HGI12.js.map +1 -0
- package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
- package/dist/collection/components/atoms/tooltip/tooltip.component.js +7 -7
- package/dist/collection/components/atoms/tooltip/tooltip.component.js.map +1 -1
- package/dist/collection/components/helpers/table/column/table-column.component.js +8 -8
- package/dist/collection/components/helpers/table/column/table-column.component.js.map +1 -1
- package/dist/collection/components/molecules/select/select.component.js +1 -1
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/collection/utils/table-helpers.js +7 -3
- package/dist/collection/utils/table-helpers.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-6G9LqZu0.js → p-BL6tcXIx.js} +10 -10
- package/dist/components/p-BL6tcXIx.js.map +1 -0
- package/dist/components/{p-CSK_X0tW.js → p-Cf-_6-uf.js} +5 -5
- package/dist/components/{p-CSK_X0tW.js.map → p-Cf-_6-uf.js.map} +1 -1
- package/dist/components/{p-S7p7V6sq.js → p-CxCXB4c1.js} +3 -3
- package/dist/components/{p-S7p7V6sq.js.map → p-CxCXB4c1.js.map} +1 -1
- package/dist/components/{p-Ds9vCh4D.js → p-Cz7DdDdd.js} +9 -5
- package/dist/components/p-Cz7DdDdd.js.map +1 -0
- package/dist/components/{p-z7y5Yxgj.js → p-DCYyroOh.js} +6 -6
- package/dist/components/{p-z7y5Yxgj.js.map → p-DCYyroOh.js.map} +1 -1
- package/dist/components/{p-COcP6KwP.js → p-DUGSBBgc.js} +4 -4
- package/dist/components/{p-COcP6KwP.js.map → p-DUGSBBgc.js.map} +1 -1
- package/dist/components/{p-C6mKH4oI.js → p-_sgEPMdz.js} +3 -3
- package/dist/components/{p-C6mKH4oI.js.map → p-_sgEPMdz.js.map} +1 -1
- package/dist/components/p-attachment.js +3 -3
- package/dist/components/p-datepicker.js +4 -4
- package/dist/components/p-field-container.js +1 -1
- package/dist/components/p-field.js +1 -1
- package/dist/components/p-helper.js +1 -1
- package/dist/components/p-select.js +5 -5
- package/dist/components/p-select.js.map +1 -1
- package/dist/components/p-table-cell.js +1 -1
- package/dist/components/p-table-column.js +3 -3
- package/dist/components/p-table-column.js.map +1 -1
- package/dist/components/p-table-header.js +1 -1
- package/dist/components/p-table.js +7 -7
- package/dist/components/p-tooltip.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-empty-state_9.entry.js +1 -1
- package/dist/esm/p-helper.p-tooltip.entry.js.map +1 -1
- package/dist/esm/p-helper_2.entry.js +8 -8
- package/dist/esm/p-helper_2.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +1 -1
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-table-column.entry.js +2 -2
- package/dist/esm/p-table-column.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/esm/{table-helpers-DaUENiI5.js → table-helpers-DG43HEPx.js} +9 -5
- package/dist/esm/table-helpers-DG43HEPx.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/paperless/index.esm.js +1 -1
- package/dist/paperless/p-59ab69e0.entry.js +2 -0
- package/dist/paperless/p-59ab69e0.entry.js.map +1 -0
- package/dist/paperless/{p-5b500894.entry.js → p-5ec4dcc5.entry.js} +2 -2
- package/dist/{build/p-c74c4740.entry.js → paperless/p-815ece67.entry.js} +2 -2
- package/dist/paperless/p-858a2582.entry.js +2 -0
- package/dist/paperless/p-858a2582.entry.js.map +1 -0
- package/dist/paperless/p-_CfQET1U.js +2 -0
- package/dist/paperless/p-_CfQET1U.js.map +1 -0
- package/dist/paperless/{p-8046ec48.entry.js → p-baec5c22.entry.js} +2 -2
- package/dist/{build/p-8046ec48.entry.js.map → paperless/p-baec5c22.entry.js.map} +1 -1
- package/dist/paperless/p-helper.p-tooltip.entry.esm.js.map +1 -1
- package/dist/paperless/p-select.entry.esm.js.map +1 -1
- package/dist/paperless/p-table-column.entry.esm.js.map +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/helpers/table/column/table-column.component.d.ts +2 -2
- package/dist/types/components.d.ts +12 -8
- package/package.json +1 -1
- package/dist/build/p-4b479552.entry.js +0 -2
- package/dist/build/p-4b479552.entry.js.map +0 -1
- package/dist/build/p-4c81bb03.entry.js +0 -2
- package/dist/build/p-4c81bb03.entry.js.map +0 -1
- package/dist/build/p-BCrdDF_Y.js +0 -2
- package/dist/build/p-BCrdDF_Y.js.map +0 -1
- package/dist/cjs/table-helpers-Bne0_01e.js.map +0 -1
- package/dist/components/p-6G9LqZu0.js.map +0 -1
- package/dist/components/p-Ds9vCh4D.js.map +0 -1
- package/dist/esm/table-helpers-DaUENiI5.js.map +0 -1
- package/dist/paperless/p-4b479552.entry.js +0 -2
- package/dist/paperless/p-4b479552.entry.js.map +0 -1
- package/dist/paperless/p-4c81bb03.entry.js +0 -2
- package/dist/paperless/p-4c81bb03.entry.js.map +0 -1
- package/dist/paperless/p-BCrdDF_Y.js +0 -2
- package/dist/paperless/p-BCrdDF_Y.js.map +0 -1
- /package/dist/build/{p-5b500894.entry.js.map → p-5ec4dcc5.entry.js.map} +0 -0
- /package/dist/build/{p-c74c4740.entry.js.map → p-815ece67.entry.js.map} +0 -0
- /package/dist/paperless/{p-5b500894.entry.js.map → p-5ec4dcc5.entry.js.map} +0 -0
- /package/dist/paperless/{p-c74c4740.entry.js.map → p-815ece67.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p-helper.p-tooltip.entry.cjs.js","sources":["src/components/atoms/helper/helper.component.css?tag=p-helper&encapsulation=shadow","src/components/atoms/helper/helper.component.tsx","src/components/atoms/tooltip/tooltip.component.css?tag=p-tooltip&encapsulation=shadow","src/components/atoms/tooltip/tooltip.component.tsx"],"sourcesContent":["","import { Placement, Strategy } from '@floating-ui/dom';\nimport { Component, h, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-helper',\n\tstyleUrl: 'helper.component.css',\n\tshadow: true,\n})\nexport class Helper {\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the helper popover\n\t */\n\t@Prop() placement: Placement = 'top';\n\n\trender() {\n\t\treturn (\n\t\t\t<p-tooltip\n\t\t\t\tplacement={this.placement}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<div slot='content'>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\n\t\t\t\t<p-icon\n\t\t\t\t\tsize='sm'\n\t\t\t\t\tclass='cursor-pointer text-black-teal-300 hover:text-black-teal'\n\t\t\t\t\tvariant='question-circle'\n\t\t\t\t\tslot='trigger'\n\t\t\t\t/>\n\t\t\t</p-tooltip>\n\t\t);\n\t}\n}\n","","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst popover = cva(\n\t[\n\t\t'inline-block px-2',\n\t\t'text-xs',\n\t\t'opacity-0 drop-shadow-3 transition-opacity',\n\t\t'rounded-lg',\n\n\t\t'z-tooltip',\n\t\t'pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\thover: 'bg-black-teal text-white py-1',\n\t\t\t\tclick: null,\n\t\t\t\terror: 'max-w-full w-full',\n\t\t\t},\n\t\t\tstrategy: {\n\t\t\t\tnone: null,\n\t\t\t\tfixed: 'fixed',\n\t\t\t\tabsolute: 'absolute',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['hover', 'click'],\n\t\t\t\tclass: 'max-w-[14.5rem] w-max',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['click', 'error'],\n\t\t\t\tclass: 'bg-white text-black-teal-300 py-2',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst portal = cva('', {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tfixed: 'fixed',\n\t\t\tabsolute: 'absolute',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-tooltip',\n\tstyleUrl: 'tooltip.component.css',\n\tshadow: true,\n})\nexport class Tooltip {\n\t/**\n\t * The variant of the popover\n\t */\n\t@Prop() variant: 'hover' | 'click' | 'error' = 'hover';\n\n\t/**\n\t * The content of the popover\n\t */\n\t@Prop() content: any = null;\n\n\t/**\n\t * The placement of the popover\n\t */\n\t@Prop() placement: Placement;\n\n\t/**\n\t * The offset of the popover\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether the tooltip can be shown by user input\n\t */\n\t@Prop() enableUserInput: boolean = true;\n\n\t/**\n\t * Wether to show the popover\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to use a portal for the tooltip\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * Wether to someone can manually close the popover\n\t */\n\t@Prop() canManuallyClose: boolean = true;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\tprivate _hasContentSlot = false;\n\n\tprivate _loaded = false;\n\tprivate _popover: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentWillLoad() {\n\t\tthis._hasContentSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"content\"]'\n\t\t);\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\tconst tooltipProps = {\n\t\t\trole: 'popover',\n\t\t\t'data-placement': this.placement,\n\t\t\tref: el => this._load(el),\n\t\t};\n\n\t\tlet tooltip: HTMLElement;\n\n\t\tconst tooltipElement = (\n\t\t\t<div\n\t\t\t\tclass={popover({\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\tstrategy: this.usePortal ? 'none' : this.strategy,\n\t\t\t\t})}\n\t\t\t\t{...(this.usePortal ? {} : tooltipProps)}\n\t\t\t>\n\t\t\t\t<div class='flex gap-2 whitespace-normal'>\n\t\t\t\t\t{this.variant === 'error' && (\n\t\t\t\t\t\t<div class='w-[2px] bg-negative-red'></div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.content ? this.content : <slot name='content' />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.usePortal) {\n\t\t\ttooltip = (\n\t\t\t\t<p-portal\n\t\t\t\t\tclass={portal({\n\t\t\t\t\t\tstrategy: this.strategy,\n\t\t\t\t\t})}\n\t\t\t\t\t{...tooltipProps}\n\t\t\t\t>\n\t\t\t\t\t{tooltipElement}\n\t\t\t\t</p-portal>\n\t\t\t);\n\t\t} else {\n\t\t\ttooltip = tooltipElement;\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class='flex cursor-pointer'>\n\t\t\t\t<div class='relative h-inherit w-inherit max-w-full'>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t\t{tooltip}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\tprotected clickHandler() {\n\t\tif (this.variant === 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler() {\n\t\tif (this.variant === 'hover' || !this.canManuallyClose || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Listen('mouseenter')\n\t@Listen('focus')\n\tprotected mouseEnterHandler() {\n\t\tif (this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('mouseleave')\n\t@Listen('blur')\n\tprotected mouseLeaveHandler() {\n\t\tif (this.show || this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Watch('show')\n\tonShowChange(show: boolean) {\n\t\tif (show && !this._popover.hasAttribute('data-show')) {\n\t\t\treturn this._show();\n\t\t}\n\n\t\treturn this._hide();\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.content?.length && !this._hasContentSlot) {\n\t\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\t\tthis._hide();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._popover, () => this._update());\n\n\t\t// Make the popover visible\n\t\tthis._popover.setAttribute('data-show', '');\n\n\t\tthis._popover.classList.remove('opacity-0', 'pointer-events-none');\n\t\tthis._popover.classList.add('opacity-100', 'pointer-events-auto');\n\n\t\t// Update its position\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._popover.removeAttribute('data-show');\n\n\t\tthis._popover.classList.remove('opacity-100', 'pointer-events-auto');\n\t\tthis._popover.classList.add('opacity-0', 'pointer-events-none');\n\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._popover = popover;\n\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _update() {\n\t\tif (!this._popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._popover, {\n\t\t\tplacement:\n\t\t\t\tthis.variant === 'error' && !this.placement\n\t\t\t\t\t? 'bottom-start'\n\t\t\t\t\t: this.placement ?? 'top',\n\t\t\tstrategy: this.strategy,\n\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._popover.dataset.placement = placement;\n\t\t\tObject.assign(this._popover.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"names":["h","cva","Host","autoUpdate","computePosition","offset","flip","shift"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"p-helper.p-tooltip.entry.cjs.js","sources":["src/components/atoms/helper/helper.component.css?tag=p-helper&encapsulation=shadow","src/components/atoms/helper/helper.component.tsx","src/components/atoms/tooltip/tooltip.component.css?tag=p-tooltip&encapsulation=shadow","src/components/atoms/tooltip/tooltip.component.tsx"],"sourcesContent":["","import { Placement, Strategy } from '@floating-ui/dom';\nimport { Component, h, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-helper',\n\tstyleUrl: 'helper.component.css',\n\tshadow: true,\n})\nexport class Helper {\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the helper popover\n\t */\n\t@Prop() placement: Placement = 'top';\n\n\trender() {\n\t\treturn (\n\t\t\t<p-tooltip\n\t\t\t\tplacement={this.placement}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<div slot='content'>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\n\t\t\t\t<p-icon\n\t\t\t\t\tsize='sm'\n\t\t\t\t\tclass='cursor-pointer text-black-teal-300 hover:text-black-teal'\n\t\t\t\t\tvariant='question-circle'\n\t\t\t\t\tslot='trigger'\n\t\t\t\t/>\n\t\t\t</p-tooltip>\n\t\t);\n\t}\n}\n","","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst popover = cva(\n\t[\n\t\t'inline-block px-2',\n\t\t'text-xs',\n\t\t'opacity-0 drop-shadow-3 transition-opacity',\n\t\t'rounded-lg',\n\n\t\t'z-tooltip',\n\t\t'pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\thover: 'bg-black-teal text-white py-1 max-w-[14.5rem]',\n\t\t\t\tclick: 'max-w-[18rem]',\n\t\t\t\terror: 'max-w-full w-full',\n\t\t\t},\n\t\t\tstrategy: {\n\t\t\t\tnone: null,\n\t\t\t\tfixed: 'fixed',\n\t\t\t\tabsolute: 'absolute',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['hover', 'click'],\n\t\t\t\tclass: 'w-max',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['click', 'error'],\n\t\t\t\tclass: 'bg-white text-black-teal-300 py-2',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst portal = cva('', {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tfixed: 'fixed',\n\t\t\tabsolute: 'absolute',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-tooltip',\n\tstyleUrl: 'tooltip.component.css',\n\tshadow: true,\n})\nexport class Tooltip {\n\t/**\n\t * The variant of the popover\n\t */\n\t@Prop() variant: 'hover' | 'click' | 'error' = 'hover';\n\n\t/**\n\t * The content of the popover\n\t */\n\t@Prop() content: any = null;\n\n\t/**\n\t * The placement of the popover\n\t */\n\t@Prop() placement: Placement;\n\n\t/**\n\t * The offset of the popover\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether the tooltip can be shown by user input\n\t */\n\t@Prop() enableUserInput: boolean = true;\n\n\t/**\n\t * Wether to show the popover\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to use a portal for the tooltip\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * Wether to someone can manually close the popover\n\t */\n\t@Prop() canManuallyClose: boolean = true;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\tprivate _hasContentSlot = false;\n\n\tprivate _loaded = false;\n\tprivate _popover: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentWillLoad() {\n\t\tthis._hasContentSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"content\"]'\n\t\t);\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\tconst tooltipProps = {\n\t\t\trole: 'popover',\n\t\t\t'data-placement': this.placement,\n\t\t\tref: el => this._load(el),\n\t\t};\n\n\t\tlet tooltip: HTMLElement;\n\n\t\tconst tooltipElement = (\n\t\t\t<div\n\t\t\t\tclass={popover({\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\tstrategy: this.usePortal ? 'none' : this.strategy,\n\t\t\t\t})}\n\t\t\t\t{...(this.usePortal ? {} : tooltipProps)}\n\t\t\t>\n\t\t\t\t<div class='flex gap-2 whitespace-normal'>\n\t\t\t\t\t{this.variant === 'error' && (\n\t\t\t\t\t\t<div class='w-[2px] bg-negative-red'></div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.content ? this.content : <slot name='content' />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.usePortal) {\n\t\t\ttooltip = (\n\t\t\t\t<p-portal\n\t\t\t\t\tclass={portal({\n\t\t\t\t\t\tstrategy: this.strategy,\n\t\t\t\t\t})}\n\t\t\t\t\t{...tooltipProps}\n\t\t\t\t>\n\t\t\t\t\t{tooltipElement}\n\t\t\t\t</p-portal>\n\t\t\t);\n\t\t} else {\n\t\t\ttooltip = tooltipElement;\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class='flex cursor-pointer'>\n\t\t\t\t<div class='relative h-inherit w-inherit max-w-full'>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t\t{tooltip}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\tprotected clickHandler() {\n\t\tif (this.variant === 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler() {\n\t\tif (this.variant === 'hover' || !this.canManuallyClose || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Listen('mouseenter')\n\t@Listen('focus')\n\tprotected mouseEnterHandler() {\n\t\tif (this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('mouseleave')\n\t@Listen('blur')\n\tprotected mouseLeaveHandler() {\n\t\tif (this.show || this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Watch('show')\n\tonShowChange(show: boolean) {\n\t\tif (show && !this._popover.hasAttribute('data-show')) {\n\t\t\treturn this._show();\n\t\t}\n\n\t\treturn this._hide();\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.content?.length && !this._hasContentSlot) {\n\t\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\t\tthis._hide();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._popover, () => this._update());\n\n\t\t// Make the popover visible\n\t\tthis._popover.setAttribute('data-show', '');\n\n\t\tthis._popover.classList.remove('opacity-0', 'pointer-events-none');\n\t\tthis._popover.classList.add('opacity-100', 'pointer-events-auto');\n\n\t\t// Update its position\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._popover.removeAttribute('data-show');\n\n\t\tthis._popover.classList.remove('opacity-100', 'pointer-events-auto');\n\t\tthis._popover.classList.add('opacity-0', 'pointer-events-none');\n\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._popover = popover;\n\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _update() {\n\t\tif (!this._popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._popover, {\n\t\t\tplacement:\n\t\t\t\tthis.variant === 'error' && !this.placement\n\t\t\t\t\t? 'bottom-start'\n\t\t\t\t\t: this.placement ?? 'top',\n\t\t\tstrategy: this.strategy,\n\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._popover.dataset.placement = placement;\n\t\t\tObject.assign(this._popover.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"names":["h","cva","Host","autoUpdate","computePosition","offset","flip","shift"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const Helper = class {
|
|
|
25
25
|
};
|
|
26
26
|
Helper.style = helperComponentCss;
|
|
27
27
|
|
|
28
|
-
const tooltipComponentCss = "*{box-sizing:border-box}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.z-tooltip{z-index:601!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.h-inherit{height:inherit!important}.w-\\[2px\\]{width:2px!important}.w-full{width:100%!important}.w-inherit{width:inherit!important}.w-max{width:max-content!important}.max-w-\\[14\\.5rem\\]{max-width:14.5rem!important}.max-w-full{max-width:100%!important}.cursor-pointer{cursor:pointer!important}.gap-2{gap:.5rem!important}.whitespace-normal{white-space:normal!important}.rounded-lg{border-radius:.5rem!important}.bg-black-teal{--tw-bg-opacity:1!important;background-color:rgb(3 42 36/var(--tw-bg-opacity,1))!important}.bg-negative-red{background-color:rgb(230 30 30/var(--tw-bg-opacity,1))!important}.bg-negative-red,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}.text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.blur{--tw-blur:blur(8px)!important}.blur,.drop-shadow-3{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.drop-shadow-3{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,2,2,.08)) drop-shadow(0 2px 2px rgba(0,2,2,.08)) drop-shadow(0 4px 4px rgba(0,2,2,.08))!important}.transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}";
|
|
28
|
+
const tooltipComponentCss = "*{box-sizing:border-box}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.z-tooltip{z-index:601!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.h-inherit{height:inherit!important}.w-\\[2px\\]{width:2px!important}.w-full{width:100%!important}.w-inherit{width:inherit!important}.w-max{width:max-content!important}.max-w-\\[14\\.5rem\\]{max-width:14.5rem!important}.max-w-\\[18rem\\]{max-width:18rem!important}.max-w-full{max-width:100%!important}.cursor-pointer{cursor:pointer!important}.gap-2{gap:.5rem!important}.whitespace-normal{white-space:normal!important}.rounded-lg{border-radius:.5rem!important}.bg-black-teal{--tw-bg-opacity:1!important;background-color:rgb(3 42 36/var(--tw-bg-opacity,1))!important}.bg-negative-red{background-color:rgb(230 30 30/var(--tw-bg-opacity,1))!important}.bg-negative-red,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}.text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.blur{--tw-blur:blur(8px)!important}.blur,.drop-shadow-3{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.drop-shadow-3{--tw-drop-shadow:drop-shadow(0 1px 1px rgba(0,2,2,.08)) drop-shadow(0 2px 2px rgba(0,2,2,.08)) drop-shadow(0 4px 4px rgba(0,2,2,.08))!important}.transition-opacity{transition-duration:.15s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}";
|
|
29
29
|
|
|
30
30
|
const popover = index$1.cva([
|
|
31
31
|
'inline-block px-2',
|
|
@@ -37,8 +37,8 @@ const popover = index$1.cva([
|
|
|
37
37
|
], {
|
|
38
38
|
variants: {
|
|
39
39
|
variant: {
|
|
40
|
-
hover: 'bg-black-teal text-white py-1',
|
|
41
|
-
click:
|
|
40
|
+
hover: 'bg-black-teal text-white py-1 max-w-[14.5rem]',
|
|
41
|
+
click: 'max-w-[18rem]',
|
|
42
42
|
error: 'max-w-full w-full',
|
|
43
43
|
},
|
|
44
44
|
strategy: {
|
|
@@ -50,7 +50,7 @@ const popover = index$1.cva([
|
|
|
50
50
|
compoundVariants: [
|
|
51
51
|
{
|
|
52
52
|
variant: ['hover', 'click'],
|
|
53
|
-
class: '
|
|
53
|
+
class: 'w-max',
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
variant: ['click', 'error'],
|
|
@@ -135,19 +135,19 @@ const Tooltip = class {
|
|
|
135
135
|
ref: el => this._load(el),
|
|
136
136
|
};
|
|
137
137
|
let tooltip;
|
|
138
|
-
const tooltipElement = (index.h("div", { key: '
|
|
138
|
+
const tooltipElement = (index.h("div", { key: '5b8e4981e1c23b0bc685afb8e885de720a9c83b4', class: popover({
|
|
139
139
|
variant: this.variant,
|
|
140
140
|
strategy: this.usePortal ? 'none' : this.strategy,
|
|
141
|
-
}), ...(this.usePortal ? {} : tooltipProps) }, index.h("div", { key: '
|
|
141
|
+
}), ...(this.usePortal ? {} : tooltipProps) }, index.h("div", { key: 'a47a1bcc2d72b3386cc1268bce6c491360af134f', class: 'flex gap-2 whitespace-normal' }, this.variant === 'error' && (index.h("div", { key: 'fa11d85cf61cc8ff5457530cd2755204c53613e5', class: 'w-[2px] bg-negative-red' })), this.content ? this.content : index.h("slot", { name: 'content' }))));
|
|
142
142
|
if (this.usePortal) {
|
|
143
|
-
tooltip = (index.h("p-portal", { key: '
|
|
143
|
+
tooltip = (index.h("p-portal", { key: 'f95d3627310222bef65ed4c723b362422f29f95f', class: portal({
|
|
144
144
|
strategy: this.strategy,
|
|
145
145
|
}), ...tooltipProps }, tooltipElement));
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
148
|
tooltip = tooltipElement;
|
|
149
149
|
}
|
|
150
|
-
return (index.h(index.Host, { key: '
|
|
150
|
+
return (index.h(index.Host, { key: 'fd2906fbe53649091bcd522064dd95e8b92dd28f', class: 'flex cursor-pointer' }, index.h("div", { key: 'b56a6f5898dcd4617c58c8c40d49773b1ed8b0d3', class: 'relative h-inherit w-inherit max-w-full' }, index.h("slot", { key: '8f291aff8a9c2a8588c249a04aad8f35e2989b7d', name: 'trigger' }), tooltip)));
|
|
151
151
|
}
|
|
152
152
|
clickHandler() {
|
|
153
153
|
if (this.variant === 'hover' || !this.enableUserInput) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-helper.p-tooltip.entry.cjs.js","mappings":"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","names":["h","cva","Host","autoUpdate","computePosition","offset","flip","shift"],"sources":["src/components/atoms/helper/helper.component.css?tag=p-helper&encapsulation=shadow","src/components/atoms/helper/helper.component.tsx","src/components/atoms/tooltip/tooltip.component.css?tag=p-tooltip&encapsulation=shadow","src/components/atoms/tooltip/tooltip.component.tsx"],"sourcesContent":["","import { Placement, Strategy } from '@floating-ui/dom';\nimport { Component, h, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-helper',\n\tstyleUrl: 'helper.component.css',\n\tshadow: true,\n})\nexport class Helper {\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the helper popover\n\t */\n\t@Prop() placement: Placement = 'top';\n\n\trender() {\n\t\treturn (\n\t\t\t<p-tooltip\n\t\t\t\tplacement={this.placement}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<div slot='content'>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\n\t\t\t\t<p-icon\n\t\t\t\t\tsize='sm'\n\t\t\t\t\tclass='cursor-pointer text-black-teal-300 hover:text-black-teal'\n\t\t\t\t\tvariant='question-circle'\n\t\t\t\t\tslot='trigger'\n\t\t\t\t/>\n\t\t\t</p-tooltip>\n\t\t);\n\t}\n}\n","","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst popover = cva(\n\t[\n\t\t'inline-block px-2',\n\t\t'text-xs',\n\t\t'opacity-0 drop-shadow-3 transition-opacity',\n\t\t'rounded-lg',\n\n\t\t'z-tooltip',\n\t\t'pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\thover: 'bg-black-teal text-white py-1',\n\t\t\t\tclick: null,\n\t\t\t\terror: 'max-w-full w-full',\n\t\t\t},\n\t\t\tstrategy: {\n\t\t\t\tnone: null,\n\t\t\t\tfixed: 'fixed',\n\t\t\t\tabsolute: 'absolute',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['hover', 'click'],\n\t\t\t\tclass: 'max-w-[14.5rem] w-max',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['click', 'error'],\n\t\t\t\tclass: 'bg-white text-black-teal-300 py-2',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst portal = cva('', {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tfixed: 'fixed',\n\t\t\tabsolute: 'absolute',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-tooltip',\n\tstyleUrl: 'tooltip.component.css',\n\tshadow: true,\n})\nexport class Tooltip {\n\t/**\n\t * The variant of the popover\n\t */\n\t@Prop() variant: 'hover' | 'click' | 'error' = 'hover';\n\n\t/**\n\t * The content of the popover\n\t */\n\t@Prop() content: any = null;\n\n\t/**\n\t * The placement of the popover\n\t */\n\t@Prop() placement: Placement;\n\n\t/**\n\t * The offset of the popover\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether the tooltip can be shown by user input\n\t */\n\t@Prop() enableUserInput: boolean = true;\n\n\t/**\n\t * Wether to show the popover\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to use a portal for the tooltip\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * Wether to someone can manually close the popover\n\t */\n\t@Prop() canManuallyClose: boolean = true;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\tprivate _hasContentSlot = false;\n\n\tprivate _loaded = false;\n\tprivate _popover: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentWillLoad() {\n\t\tthis._hasContentSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"content\"]'\n\t\t);\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\tconst tooltipProps = {\n\t\t\trole: 'popover',\n\t\t\t'data-placement': this.placement,\n\t\t\tref: el => this._load(el),\n\t\t};\n\n\t\tlet tooltip: HTMLElement;\n\n\t\tconst tooltipElement = (\n\t\t\t<div\n\t\t\t\tclass={popover({\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\tstrategy: this.usePortal ? 'none' : this.strategy,\n\t\t\t\t})}\n\t\t\t\t{...(this.usePortal ? {} : tooltipProps)}\n\t\t\t>\n\t\t\t\t<div class='flex gap-2 whitespace-normal'>\n\t\t\t\t\t{this.variant === 'error' && (\n\t\t\t\t\t\t<div class='w-[2px] bg-negative-red'></div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.content ? this.content : <slot name='content' />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.usePortal) {\n\t\t\ttooltip = (\n\t\t\t\t<p-portal\n\t\t\t\t\tclass={portal({\n\t\t\t\t\t\tstrategy: this.strategy,\n\t\t\t\t\t})}\n\t\t\t\t\t{...tooltipProps}\n\t\t\t\t>\n\t\t\t\t\t{tooltipElement}\n\t\t\t\t</p-portal>\n\t\t\t);\n\t\t} else {\n\t\t\ttooltip = tooltipElement;\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class='flex cursor-pointer'>\n\t\t\t\t<div class='relative h-inherit w-inherit max-w-full'>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t\t{tooltip}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\tprotected clickHandler() {\n\t\tif (this.variant === 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler() {\n\t\tif (this.variant === 'hover' || !this.canManuallyClose || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Listen('mouseenter')\n\t@Listen('focus')\n\tprotected mouseEnterHandler() {\n\t\tif (this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('mouseleave')\n\t@Listen('blur')\n\tprotected mouseLeaveHandler() {\n\t\tif (this.show || this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Watch('show')\n\tonShowChange(show: boolean) {\n\t\tif (show && !this._popover.hasAttribute('data-show')) {\n\t\t\treturn this._show();\n\t\t}\n\n\t\treturn this._hide();\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.content?.length && !this._hasContentSlot) {\n\t\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\t\tthis._hide();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._popover, () => this._update());\n\n\t\t// Make the popover visible\n\t\tthis._popover.setAttribute('data-show', '');\n\n\t\tthis._popover.classList.remove('opacity-0', 'pointer-events-none');\n\t\tthis._popover.classList.add('opacity-100', 'pointer-events-auto');\n\n\t\t// Update its position\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._popover.removeAttribute('data-show');\n\n\t\tthis._popover.classList.remove('opacity-100', 'pointer-events-auto');\n\t\tthis._popover.classList.add('opacity-0', 'pointer-events-none');\n\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._popover = popover;\n\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _update() {\n\t\tif (!this._popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._popover, {\n\t\t\tplacement:\n\t\t\t\tthis.variant === 'error' && !this.placement\n\t\t\t\t\t? 'bottom-start'\n\t\t\t\t\t: this.placement ?? 'top',\n\t\t\tstrategy: this.strategy,\n\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._popover.dataset.placement = placement;\n\t\t\tObject.assign(this._popover.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-helper.p-tooltip.entry.cjs.js","mappings":"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","names":["h","cva","Host","autoUpdate","computePosition","offset","flip","shift"],"sources":["src/components/atoms/helper/helper.component.css?tag=p-helper&encapsulation=shadow","src/components/atoms/helper/helper.component.tsx","src/components/atoms/tooltip/tooltip.component.css?tag=p-tooltip&encapsulation=shadow","src/components/atoms/tooltip/tooltip.component.tsx"],"sourcesContent":["","import { Placement, Strategy } from '@floating-ui/dom';\nimport { Component, h, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-helper',\n\tstyleUrl: 'helper.component.css',\n\tshadow: true,\n})\nexport class Helper {\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * The placement of the helper popover\n\t */\n\t@Prop() placement: Placement = 'top';\n\n\trender() {\n\t\treturn (\n\t\t\t<p-tooltip\n\t\t\t\tplacement={this.placement}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<div slot='content'>\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\n\t\t\t\t<p-icon\n\t\t\t\t\tsize='sm'\n\t\t\t\t\tclass='cursor-pointer text-black-teal-300 hover:text-black-teal'\n\t\t\t\t\tvariant='question-circle'\n\t\t\t\t\tslot='trigger'\n\t\t\t\t/>\n\t\t\t</p-tooltip>\n\t\t);\n\t}\n}\n","","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst popover = cva(\n\t[\n\t\t'inline-block px-2',\n\t\t'text-xs',\n\t\t'opacity-0 drop-shadow-3 transition-opacity',\n\t\t'rounded-lg',\n\n\t\t'z-tooltip',\n\t\t'pointer-events-none',\n\t],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\thover: 'bg-black-teal text-white py-1 max-w-[14.5rem]',\n\t\t\t\tclick: 'max-w-[18rem]',\n\t\t\t\terror: 'max-w-full w-full',\n\t\t\t},\n\t\t\tstrategy: {\n\t\t\t\tnone: null,\n\t\t\t\tfixed: 'fixed',\n\t\t\t\tabsolute: 'absolute',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['hover', 'click'],\n\t\t\t\tclass: 'w-max',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['click', 'error'],\n\t\t\t\tclass: 'bg-white text-black-teal-300 py-2',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst portal = cva('', {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tfixed: 'fixed',\n\t\t\tabsolute: 'absolute',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-tooltip',\n\tstyleUrl: 'tooltip.component.css',\n\tshadow: true,\n})\nexport class Tooltip {\n\t/**\n\t * The variant of the popover\n\t */\n\t@Prop() variant: 'hover' | 'click' | 'error' = 'hover';\n\n\t/**\n\t * The content of the popover\n\t */\n\t@Prop() content: any = null;\n\n\t/**\n\t * The placement of the popover\n\t */\n\t@Prop() placement: Placement;\n\n\t/**\n\t * The offset of the popover\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the popover placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether the tooltip can be shown by user input\n\t */\n\t@Prop() enableUserInput: boolean = true;\n\n\t/**\n\t * Wether to show the popover\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to use a portal for the tooltip\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * Wether to someone can manually close the popover\n\t */\n\t@Prop() canManuallyClose: boolean = true;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\tprivate _hasContentSlot = false;\n\n\tprivate _loaded = false;\n\tprivate _popover: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentWillLoad() {\n\t\tthis._hasContentSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"content\"]'\n\t\t);\n\t}\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\tconst tooltipProps = {\n\t\t\trole: 'popover',\n\t\t\t'data-placement': this.placement,\n\t\t\tref: el => this._load(el),\n\t\t};\n\n\t\tlet tooltip: HTMLElement;\n\n\t\tconst tooltipElement = (\n\t\t\t<div\n\t\t\t\tclass={popover({\n\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\tstrategy: this.usePortal ? 'none' : this.strategy,\n\t\t\t\t})}\n\t\t\t\t{...(this.usePortal ? {} : tooltipProps)}\n\t\t\t>\n\t\t\t\t<div class='flex gap-2 whitespace-normal'>\n\t\t\t\t\t{this.variant === 'error' && (\n\t\t\t\t\t\t<div class='w-[2px] bg-negative-red'></div>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.content ? this.content : <slot name='content' />}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.usePortal) {\n\t\t\ttooltip = (\n\t\t\t\t<p-portal\n\t\t\t\t\tclass={portal({\n\t\t\t\t\t\tstrategy: this.strategy,\n\t\t\t\t\t})}\n\t\t\t\t\t{...tooltipProps}\n\t\t\t\t>\n\t\t\t\t\t{tooltipElement}\n\t\t\t\t</p-portal>\n\t\t\t);\n\t\t} else {\n\t\t\ttooltip = tooltipElement;\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class='flex cursor-pointer'>\n\t\t\t\t<div class='relative h-inherit w-inherit max-w-full'>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t\t{tooltip}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { capture: true })\n\tprotected clickHandler() {\n\t\tif (this.variant === 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler() {\n\t\tif (this.variant === 'hover' || !this.canManuallyClose || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._popover.hasAttribute('data-show')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Listen('mouseenter')\n\t@Listen('focus')\n\tprotected mouseEnterHandler() {\n\t\tif (this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('mouseleave')\n\t@Listen('blur')\n\tprotected mouseLeaveHandler() {\n\t\tif (this.show || this.variant !== 'hover' || !this.enableUserInput) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\t@Watch('show')\n\tonShowChange(show: boolean) {\n\t\tif (show && !this._popover.hasAttribute('data-show')) {\n\t\t\treturn this._show();\n\t\t}\n\n\t\treturn this._hide();\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.content?.length && !this._hasContentSlot) {\n\t\t\tif (this._popover.hasAttribute('data-show')) {\n\t\t\t\tthis._hide();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._popover, () => this._update());\n\n\t\t// Make the popover visible\n\t\tthis._popover.setAttribute('data-show', '');\n\n\t\tthis._popover.classList.remove('opacity-0', 'pointer-events-none');\n\t\tthis._popover.classList.add('opacity-100', 'pointer-events-auto');\n\n\t\t// Update its position\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._popover.removeAttribute('data-show');\n\n\t\tthis._popover.classList.remove('opacity-100', 'pointer-events-auto');\n\t\tthis._popover.classList.add('opacity-0', 'pointer-events-none');\n\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._popover = popover;\n\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _update() {\n\t\tif (!this._popover) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._popover, {\n\t\t\tplacement:\n\t\t\t\tthis.variant === 'error' && !this.placement\n\t\t\t\t\t? 'bottom-start'\n\t\t\t\t\t: this.placement ?? 'top',\n\t\t\tstrategy: this.strategy,\n\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._popover.dataset.placement = placement;\n\t\t\tObject.assign(this._popover.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"version":3}
|
|
@@ -539,7 +539,7 @@ const Select = class {
|
|
|
539
539
|
if (!ev.detail || !this.autocompleteInputRef) {
|
|
540
540
|
return;
|
|
541
541
|
}
|
|
542
|
-
this.autocompleteInputRef.focus();
|
|
542
|
+
setTimeout(() => this.autocompleteInputRef.focus(), 100);
|
|
543
543
|
}
|
|
544
544
|
_selectAllChange() {
|
|
545
545
|
this._allSelected = !this._allSelected;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-select.entry.cjs.js","mappings":"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","names":["cva","h","childOfComposed"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["","import { Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOfComposed } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\nimport { cva } from 'class-variance-authority';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-supportive-lilac-100',\n]);\n\nconst textContainer = cva(\n\t'block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tplaceholder: 'text-black-teal-400',\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n\tformAssociated: true,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Wether to use a portal for the dropdown container of the select\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * The strategy to use for the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to apply the item's icon on the selected item display\n\t */\n\t@Prop() showIconOnSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\treturn this._getParsedItems();\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-supportive-lilac group-hover/item:text-supportive-lilac-800'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-black-teal-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tformResetCallback() {\n\t\tthis._selectValue(null);\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tif (!this._internals.form) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.disabled = disabled;\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\tlet buttonIcon = this.icon;\n\n\t\tif (\n\t\t\tthis._selectedItem &&\n\t\t\t!this.avatarKey &&\n\t\t\t!!this.iconKey &&\n\t\t\tthis._selectedItem?.[this.iconKey] &&\n\t\t\t!this.showIconOnSelectedItem\n\t\t) {\n\t\t\tbuttonIcon = this._selectedItem[this.iconKey];\n\t\t}\n\n\t\tif (this.avatarKey && this._selectedItem?.[this.avatarKey]) {\n\t\t\tbuttonIcon = null;\n\t\t}\n\n\t\tif (this.error?.length) {\n\t\t\tbuttonIcon = 'warning';\n\t\t}\n\n\t\treturn (\n\t\t\t<p-dropdown\n\t\t\t\tdisableTriggerClick={true}\n\t\t\t\tcalculateWidth={true}\n\t\t\t\tinsideClick={true}\n\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\tshow={this._showDropdown}\n\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\tusePortal={this.usePortal}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<p-field-container\n\t\t\t\t\tslot='trigger'\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t>\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tchevron={\n\t\t\t\t\t\t\tthis.showChevron ? (this._showDropdown ? 'up' : 'down') : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\terror={!!this.error?.length}\n\t\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='relative min-w-0 flex-1'\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</p-button>\n\t\t\t\t</p-field-container>\n\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t</p-dropdown>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler(event) {\n\t\tif (!this._showDropdown || childOfComposed(event, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem();\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst items = this._getParsedItems(false);\n\t\tconst item = items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onClick(event) {\n\t\tconst composed = event?.composedPath();\n\n\t\tfor (const item of composed) {\n\t\t\tif (item.nodeName.toLowerCase() === 'p-button') {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (item.classList?.contains('item')) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-black-teal-400'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-teal-800'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst calced = this._inputRef.clientWidth - 16;\n\t\tthis._multiContainerRef.style.maxWidth = `${calced >= 16 ? calced : 16}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconOnSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon\n\t\t\t\t\t\tclass='black-teal-300'\n\t\t\t\t\t\tvariant={item[this.iconKey] as IconVariant}\n\t\t\t\t\t/>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || this.applyClassOnSelectedItem) &&\n\t\t\t!!item?.class?.length\n\t\t) {\n\t\t\treturn <div class={item.class}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n\n\tprivate _getParsedItems(applyPagination = true) {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tif (!applyPagination) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-select.entry.cjs.js","mappings":"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","names":["cva","h","childOfComposed"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":["","import { Strategy } from '@floating-ui/dom';\nimport {\n\tAttachInternals,\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOfComposed } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\nimport { cva } from 'class-variance-authority';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-supportive-lilac-100',\n]);\n\nconst textContainer = cva(\n\t'block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tplaceholder: 'text-black-teal-400',\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n\tformAssociated: true,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Wether to use a portal for the dropdown container of the select\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * The strategy to use for the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to apply the item's icon on the selected item display\n\t */\n\t@Prop() showIconOnSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\t@AttachInternals() _internals: ElementInternals;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\treturn this._getParsedItems();\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-supportive-lilac group-hover/item:text-supportive-lilac-800'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-black-teal-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tformResetCallback() {\n\t\tthis._selectValue(null);\n\t}\n\n\tformDisabledCallback(disabled: boolean) {\n\t\tif (!this._internals.form) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.disabled = disabled;\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\tlet buttonIcon = this.icon;\n\n\t\tif (\n\t\t\tthis._selectedItem &&\n\t\t\t!this.avatarKey &&\n\t\t\t!!this.iconKey &&\n\t\t\tthis._selectedItem?.[this.iconKey] &&\n\t\t\t!this.showIconOnSelectedItem\n\t\t) {\n\t\t\tbuttonIcon = this._selectedItem[this.iconKey];\n\t\t}\n\n\t\tif (this.avatarKey && this._selectedItem?.[this.avatarKey]) {\n\t\t\tbuttonIcon = null;\n\t\t}\n\n\t\tif (this.error?.length) {\n\t\t\tbuttonIcon = 'warning';\n\t\t}\n\n\t\treturn (\n\t\t\t<p-dropdown\n\t\t\t\tdisableTriggerClick={true}\n\t\t\t\tcalculateWidth={true}\n\t\t\t\tinsideClick={true}\n\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\tshow={this._showDropdown}\n\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\tusePortal={this.usePortal}\n\t\t\t\tstrategy={this.strategy}\n\t\t\t>\n\t\t\t\t<p-field-container\n\t\t\t\t\tslot='trigger'\n\t\t\t\t\tvariant='write'\n\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\tlabel={this.label}\n\t\t\t\t\thelper={this.helper}\n\t\t\t\t\trequired={this.required}\n\t\t\t\t\terror={this.error}\n\t\t\t\t\tforceShowTooltip={!!this.error?.length && !this._showDropdown}\n\t\t\t\t>\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tchevron={\n\t\t\t\t\t\t\tthis.showChevron ? (this._showDropdown ? 'up' : 'down') : false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\terror={!!this.error?.length}\n\t\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='relative min-w-0 flex-1'\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</p-button>\n\t\t\t\t</p-field-container>\n\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t</p-dropdown>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler(event) {\n\t\tif (!this._showDropdown || childOfComposed(event, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem();\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst items = this._getParsedItems(false);\n\t\tconst item = items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onClick(event) {\n\t\tconst composed = event?.composedPath();\n\n\t\tfor (const item of composed) {\n\t\t\tif (item.nodeName.toLowerCase() === 'p-button') {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (item.classList?.contains('item')) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-black-teal-400'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-teal-800'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst calced = this._inputRef.clientWidth - 16;\n\t\tthis._multiContainerRef.style.maxWidth = `${calced >= 16 ? calced : 16}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => this.autocompleteInputRef.focus(), 100);\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconOnSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon\n\t\t\t\t\t\tclass='black-teal-300'\n\t\t\t\t\t\tvariant={item[this.iconKey] as IconVariant}\n\t\t\t\t\t/>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || this.applyClassOnSelectedItem) &&\n\t\t\t!!item?.class?.length\n\t\t) {\n\t\t\treturn <div class={item.class}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n\n\tprivate _getParsedItems(applyPagination = true) {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\tif (!applyPagination) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n}\n"],"version":3}
|