@paperless/core 2.0.1-beta.34 → 2.0.1-beta.36

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/dist/build/p-5e139fea.entry.js +2 -0
  3. package/dist/build/p-5e139fea.entry.js.map +1 -0
  4. package/dist/build/p-6db4ca89.entry.js +2 -0
  5. package/dist/build/p-6db4ca89.entry.js.map +1 -0
  6. package/dist/build/p-75d49d43.js +2 -0
  7. package/dist/build/p-b3b50ed2.entry.js +2 -0
  8. package/dist/build/p-b3b50ed2.entry.js.map +1 -0
  9. package/dist/build/paperless.esm.js +1 -1
  10. package/dist/build/paperless.esm.js.map +1 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/p-helper_2.cjs.entry.js +2 -2
  13. package/dist/cjs/p-helper_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/p-select.cjs.entry.js +35 -26
  15. package/dist/cjs/p-select.cjs.entry.js.map +1 -1
  16. package/dist/cjs/p-stepper.cjs.entry.js +1 -1
  17. package/dist/cjs/p-stepper.cjs.entry.js.map +1 -1
  18. package/dist/cjs/paperless.cjs.js +1 -1
  19. package/dist/collection/components/atoms/helper/helper.component.css +1 -1
  20. package/dist/collection/components/atoms/helper/helper.component.js +1 -1
  21. package/dist/collection/components/atoms/helper/helper.component.js.map +1 -1
  22. package/dist/collection/components/molecules/select/select.component.css +1 -1
  23. package/dist/collection/components/molecules/select/select.component.js +80 -25
  24. package/dist/collection/components/molecules/select/select.component.js.map +1 -1
  25. package/dist/collection/components/molecules/stepper/stepper.component.css +1 -1
  26. package/dist/components/helper.component.js +2 -2
  27. package/dist/components/helper.component.js.map +1 -1
  28. package/dist/components/p-select.js +37 -26
  29. package/dist/components/p-select.js.map +1 -1
  30. package/dist/components/p-stepper.js +1 -1
  31. package/dist/components/p-stepper.js.map +1 -1
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/esm/p-helper_2.entry.js +2 -2
  34. package/dist/esm/p-helper_2.entry.js.map +1 -1
  35. package/dist/esm/p-select.entry.js +35 -26
  36. package/dist/esm/p-select.entry.js.map +1 -1
  37. package/dist/esm/p-stepper.entry.js +1 -1
  38. package/dist/esm/p-stepper.entry.js.map +1 -1
  39. package/dist/esm/paperless.js +1 -1
  40. package/dist/index.html +1 -1
  41. package/dist/paperless/p-5e139fea.entry.js +2 -0
  42. package/dist/paperless/p-5e139fea.entry.js.map +1 -0
  43. package/dist/paperless/p-6db4ca89.entry.js +2 -0
  44. package/dist/paperless/p-6db4ca89.entry.js.map +1 -0
  45. package/dist/paperless/p-b3b50ed2.entry.js +2 -0
  46. package/dist/paperless/p-b3b50ed2.entry.js.map +1 -0
  47. package/dist/paperless/paperless.esm.js +1 -1
  48. package/dist/paperless/paperless.esm.js.map +1 -1
  49. package/dist/sw.js +1 -1
  50. package/dist/sw.js.map +1 -1
  51. package/dist/types/components/molecules/select/select.component.d.ts +10 -0
  52. package/dist/types/components.d.ts +16 -0
  53. package/hydrate/index.js +40 -29
  54. package/hydrate/index.mjs +40 -29
  55. package/package.json +1 -1
  56. package/dist/build/p-0719e72a.js +0 -2
  57. package/dist/build/p-2d43b7ce.entry.js +0 -2
  58. package/dist/build/p-2d43b7ce.entry.js.map +0 -1
  59. package/dist/build/p-37b43ce6.entry.js +0 -2
  60. package/dist/build/p-37b43ce6.entry.js.map +0 -1
  61. package/dist/build/p-da44c5f3.entry.js +0 -2
  62. package/dist/build/p-da44c5f3.entry.js.map +0 -1
  63. package/dist/paperless/p-2d43b7ce.entry.js +0 -2
  64. package/dist/paperless/p-2d43b7ce.entry.js.map +0 -1
  65. package/dist/paperless/p-37b43ce6.entry.js +0 -2
  66. package/dist/paperless/p-37b43ce6.entry.js.map +0 -1
  67. package/dist/paperless/p-da44c5f3.entry.js +0 -2
  68. package/dist/paperless/p-da44c5f3.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["selectComponentCss","PSelectStyle0","multiContainer","cva","multiItem","textContainer","variants","variant","placeholder","default","Select","queryChange","valueChange","selectAllChange","dropdownShown","add","_inputRef","autocompleteInputRef","_multiContainerRef","_resizeObserver","_resizeDebounceTimer","_checkSelectedItemsTimeout","_items","this","items","loading","JSON","parse","displayKey","valueKey","map","str","value","text","query","length","asyncFilter","filter","item","queryKey","_checkvalue","_identifierKey","slice","maxDisplayedItems","_displayValue","h","class","_selectedItem","multi","ref","onClick","_selectValue","selectionDisplayKey","_amountHidden","_getDisplay","identifierKey","componentDidLoad","Error","_setMultiContainerMaxWidth","ResizeObserver","clearTimeout","setTimeout","_setCheckSelectedItemsTimeout","observe","_el","_valueChange","itemChanges","componentDidRender","disconnectedCallback","disconnect","render","Host","key","disableTriggerClick","calculateWidth","insideClick","scrollable","enableAutocomplete","show","_showDropdown","onIsOpen","ev","_onDropdownOpen","slot","prefix","label","helper","required","error","errorPlacement","forceShowTooltip","size","chevron","showChevron","disabled","active","icon","_onClick","_getLoadingItems","_getItems","showAddItem","_getAddItem","documentClickHandler","target","childOf","_preselectItem","_showDropdownChanges","emit","multiChanges","Array","isArray","i","includes","autoSelectFirst","identifier","parsedValue","stringify","currentValue","currentParsedValue","find","itemIdentifier","parsedItemIdentifier","forceBlur","selectedItem","valueArray","includesIndex","findIndex","push","splice","_onBlur","_findOnClickTarget","nodeName","toLowerCase","classList","contains","parentElement","force","_onAutoComplete","detail","toString","indexOf","useContainer","checkbox","emptyStateText","enableSelectAll","unshift","_selectAllChange","_allSelected","selectAllIcon","selectAllText","_getAutoCompleteItem","addItemText","enableHover","autocompletePlaceholder","onValueChange","onInputRefChange","style","maxWidth","clientWidth","_checkSelectedItems","containerRect","getBoundingClientRect","querySelectorAll","amountHidden","child","remove","childRect","right","extra","querySelector","focus","isSelection","content","avatarKey","src","letters","avatarLettersKey","dropdownDisplayKey","iconKey","showIconInSelectedItem","applyClassOnSelectedItem"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":[null,"import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\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})\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 * 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 show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: 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\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\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\treturn items?.slice(0, this.maxDisplayedItems);\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\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\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-field-container\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\terrorPlacement='top-start'\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={this.showChevron}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t</p-field-container>\n\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, 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 item = this._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 _findOnClickTarget(target: HTMLElement) {\n\t\tif (target.nodeName.toLowerCase() === 'p-button') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (target.classList.contains('item')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this._findOnClickTarget(target.parentElement);\n\t}\n\n\tprivate _onClick(ev) {\n\t\tif (!this._findOnClickTarget(ev.target as HTMLElement)) {\n\t\t\treturn;\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\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}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.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\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"],"mappings":"gKAAA,MAAMA,EAAqB,mzEAC3B,MAAAC,EAAeD,ECef,MAAME,EAAiBC,EAAI,CAC1B,0BACA,wBACA,wCAGD,MAAMC,EAAYD,EAAI,CACrB,kBACA,qCACA,uCACA,oBACA,0CACA,aACA,4BAGD,MAAME,EAAgBF,EACrB,0EACA,CACCG,SAAU,CACTC,QAAS,CACRC,YAAa,sBACbC,QAAS,S,MAUAC,EAAM,M,6WA6BwB,Y,qCAUb,O,iMAmCF,Q,kJAyBQ,K,iBAKJ,K,uBAKK,G,wBAKE,K,iBAKP,M,aAKJ,M,qBAKQ,M,mBAKH,a,uCA0CF,O,+EAoBe,K,mCAUA,M,iBAKd,M,iBAKD,W,oBAaG,qB,mBAOK,M,mBACA,K,kBAEG,M,mBAER,C,CA9FjCC,YAQAC,YAQAC,gBAQAC,cAqDAC,I,yBAmBQC,UACAC,qBACAC,mBAEAC,gBACAC,qBACAC,2BAER,UAAIC,GACH,IAAKC,KAAKC,OAASD,KAAKE,QAAS,CAChC,MAAO,E,CAGR,IAAID,SACID,KAAKC,QAAU,SAAWE,KAAKC,MAAMJ,KAAKC,OAASD,KAAKC,MAEhE,UAAWA,IAAQ,KAAO,SAAU,CACnCD,KAAKK,WAAa,OAClBL,KAAKM,SAAW,QAEhBL,EAAQA,EAAMM,KAAIC,IAAG,CACpBC,MAAOD,EACPE,KAAMF,K,CAIR,GAAIR,KAAKW,OAAOC,SAAWZ,KAAKa,YAAa,CAC5CZ,EAAQA,EAAMa,QAAOC,IACpB,GAAIf,KAAKgB,SAAU,CAClB,OAAOhB,KAAKiB,YAAYjB,KAAKgB,SAAUD,E,CAGxC,OACCf,KAAKiB,YAAYjB,KAAKkB,eAAgBH,IACtCf,KAAKiB,YAAYjB,KAAKK,WAAYU,EAAK,G,CAK1C,OAAOd,GAAOkB,MAAM,EAAGnB,KAAKoB,kB,CAG7B,iBAAIC,GACH,MAAMpC,EACLqC,EAAA,OAAKC,MAAOzC,EAAc,CAAEE,QAAS,iBACnCgB,KAAKf,aAIR,IAAKe,KAAKwB,cAAe,CACxB,OAAOvC,C,CAGR,GAAIe,KAAKyB,MAAO,CACf,GAAIzB,KAAKwB,eAAeZ,SAAW,EAAG,CACrC,OAAO3B,C,CAGR,OACCqC,EAAA,OACCC,MAAO5C,IACP+C,IAAKA,GAAQ1B,KAAKL,mBAAqB+B,GAEtC1B,KAAKwB,cAAcjB,KAAIQ,GACvBO,EAAA,OACCC,MAAO1C,IACP8C,QAAS,IAAM3B,KAAK4B,aAAab,IAEhCA,EAAKf,KAAK6B,qBAAuB7B,KAAKK,YACvCiB,EAAA,UACCC,MAAM,2EACNvC,QAAQ,gBAKXsC,EAAA,OAAKC,MAAM,gEAA8D,IACtEvB,KAAK8B,e,CAMX,OAAO9B,KAAK+B,YAAY/B,KAAKwB,cAAe,K,CAG7C,kBAAIN,GACH,OAAOlB,KAAKgC,eAAiBhC,KAAKM,UAAY,O,CAG/C,gBAAA2B,GACC,IAAKjC,KAAKM,WAAaN,KAAKgC,cAAe,CAC1C,MAAM,IAAIE,MAAM,+C,CAGjB,GAAIlC,KAAKyB,MAAO,CACfzB,KAAKmC,6BAELnC,KAAKJ,gBAAkB,IAAIwC,gBAAe,KACzC,GAAIpC,KAAKH,qBAAsB,CAC9BwC,aAAarC,KAAKH,sBAClBG,KAAKH,qBAAuB,I,CAG7BG,KAAKH,qBAAuByC,YAAW,KACtCtC,KAAKmC,6BACLnC,KAAKuC,+BAA+B,GAClC,IAAI,IAERvC,KAAKJ,gBAAgB4C,QAAQxC,KAAKyC,I,CAGnC,GAAIzC,KAAKS,MAAO,CACfT,KAAK0C,eACL,M,CAGD1C,KAAK2C,a,CAGN,kBAAAC,GACC,GAAI5C,KAAKyB,MAAO,CACfzB,KAAKmC,4B,EAIP,oBAAAU,GACC,GAAI7C,KAAKyB,MAAO,CACfzB,KAAKJ,gBAAgBkD,Y,EAIvB,MAAAC,GACC,OACCzB,EAAC0B,EAAI,CAAAC,IAAA,2CAAC1B,MAAM,YACXD,EAAA,cAAA2B,IAAA,2CACCC,oBAAqB,KACrBC,eAAgB,KAChBC,YAAa,KACbC,WAAYrD,KAAKsD,mBAAqB,QAAU,KAChDC,KAAMvD,KAAKwD,cACXC,SAAUC,GAAM1D,KAAK2D,gBAAgBD,IAErCpC,EAAA,qBAAA2B,IAAA,2CACCW,KAAK,UACLC,OAAQ7D,KAAK6D,OACbC,MAAO9D,KAAK8D,MACZC,OAAQ/D,KAAK+D,OACbC,SAAUhE,KAAKgE,SACfC,MAAOjE,KAAKiE,MACZC,eAAe,YACfC,iBAAkBnE,KAAKiE,OAAOrD,QAAUZ,KAAKwD,eAE7ClC,EAAA,YAAA2B,IAAA,2CACC1B,MAAM,SACNqC,KAAK,UACL5E,QAAQ,YACRoF,KAAMpE,KAAKoE,KACXC,QAASrE,KAAKsE,YACdC,SAAUvE,KAAKuE,SACfC,OAAQxE,KAAKwD,cACbiB,KAAMzE,KAAKyE,KACX9C,QAAS+B,GAAM1D,KAAK0E,SAAShB,IAE7BpC,EAAA,OAAA2B,IAAA,2CACC1B,MAAM,kBACNG,IAAKA,GAAQ1B,KAAKP,UAAYiC,GAE7B1B,KAAKqB,iBAIRrB,KAAKE,QAAUF,KAAK2E,mBAAqB3E,KAAK4E,YAC9C5E,KAAK6E,aAAe7E,KAAK8E,e,CAOpB,oBAAAC,EAAqBC,OAAEA,IAChC,IAAKhF,KAAKwD,eAAiByB,EAAQD,EAAQhF,KAAKyC,KAAM,CACrD,M,CAGDzC,KAAKwD,cAAgB,K,CAId,YAAAd,GACPJ,YAAW,KACVtC,KAAKkF,iBACLlF,KAAKuC,+BAA+B,G,CAK/B,WAAAI,GACNL,YAAW,IAAMtC,KAAKkF,kB,CAIhB,oBAAAC,GACNnF,KAAKT,cAAc6F,KAAK,CACvB3E,MAAOT,KAAKwD,cACZ7C,MAAOX,KAAKW,O,CAKP,YAAA0E,GACN,GAAIrF,KAAKwB,gBAAkB8D,MAAMC,QAAQvF,KAAKwB,eAAgB,CAC7DxB,KAAKwB,cAAgB,E,EAIf,cAAA0D,GACP,IAAIzE,SACIT,KAAKS,QAAU,UAAYT,KAAKyB,MACpCtB,KAAKC,MAAMJ,KAAKS,OAChBT,KAAKS,MAET,GAAIT,KAAKyB,MAAO,CACf,IAAK6D,MAAMC,QAAQ9E,GAAQ,CAC1BT,KAAKS,MAAQ,GACbT,KAAKX,YAAY+F,KAAKpF,KAAKS,OAC3B,M,CAGDT,KAAKS,MAAQA,EACb,IAAKA,EAAMG,OAAQ,CAClBZ,KAAKwB,cAAgB,GACrB,M,CAGDxB,KAAKwB,gBACFxB,KAAKM,UAAYN,KAAKM,WAAa,QAClCN,KAAKD,OAAOe,QAAO0E,GAAK/E,EAAMgF,SAASD,IAAIxF,KAAKM,aAChD,IAAIG,GACR,M,CAGD,IAAKT,KAAKwB,gBAAkBf,GAAST,KAAK0F,gBAAiB,CAC1DjF,EAAQT,KAAKD,OAAO,E,CAGrB,MAAM4F,SACElF,IAAU,UAAYA,IAAU,KACpCA,EAAMT,KAAKkB,gBACXT,EACJ,MAAMmF,SACED,IAAe,iBAAmBA,IAAe,SACrDA,EACAxF,KAAK0F,UAAUF,GAEnB,MAAMG,EAAe9F,KAAKwB,cACvBxB,KAAKwB,gBAAgBxB,KAAKkB,gBAC1B,KACH,MAAM6E,SACED,IAAiB,iBAAmBA,IAAiB,SACzDA,EACA3F,KAAK0F,UAAUC,GAEnB,GAAI9F,KAAKwB,eAAiBuE,IAAuBH,EAAa,CAC7D,M,CAGD,IAAK5F,KAAKD,QAAQa,QAAUH,EAAO,CAClCT,KAAK4B,aAAanB,EAAO,OACzB,M,CAGD,MAAMM,EAAOf,KAAKD,OAAOiG,MAAKR,IAC7B,MAAMS,EAAiBT,IAAIxF,KAAKkB,gBAChC,MAAMgF,SACED,IAAmB,iBAAmBA,IAAmB,SAC7DA,EACA9F,KAAK0F,UAAUI,GAEnB,OAAOC,IAAyBN,CAAW,IAG5C5F,KAAK4B,eAAeb,EAAOA,EAAON,EAAO,M,CAGlC,YAAAmB,CAAab,EAAMoF,EAAY,MACtC,IAAI1F,IACDT,KAAKM,UAAYN,KAAKM,WAAa,SAAWS,IAAS,KACtDA,IAAOf,KAAKM,UACZS,EAEJ,GAAIf,KAAKyB,MAAO,CACf,IAAKzB,KAAKwB,gBAAkB8D,MAAMC,QAAQvF,KAAKwB,eAAgB,CAC9DxB,KAAKwB,cAAgB,E,CAGtB,IAAKxB,KAAKS,QAAU6E,MAAMC,QAAQvF,KAAKS,OAAQ,CAC9CT,KAAKS,MAAQ,E,CAGd,MAAM2F,EAAe,IAAIpG,KAAKwB,eAC9B,MAAM6E,EAAa,IAAIrG,KAAKS,OAE5B,MAAM6F,EAAgBF,EAAaG,WAClCf,GAAKA,EAAExF,KAAKkB,kBAAoBH,EAAKf,KAAKkB,kBAE3C,GAAIoF,KAAmB,EAAG,CACzBF,EAAaI,KAAKzF,GAClBsF,EAAWG,KAAK/F,E,KACV,CACN2F,EAAaK,OAAOH,EAAe,GACnCD,EAAWI,OAAOH,EAAe,E,CAGlCtG,KAAKwB,cAAgB4E,EACrBpG,KAAKS,MAAQ4F,EACbrG,KAAKX,YAAY+F,KAAKiB,GACtB,M,CAGDrG,KAAKwB,cAAgBT,EACrBf,KAAKS,MAAQA,EACbT,KAAKX,YAAY+F,KAAK3E,GAEtBT,KAAK0G,QAAQP,E,CAGN,kBAAAQ,CAAmB3B,GAC1B,GAAIA,EAAO4B,SAASC,gBAAkB,WAAY,CACjD,OAAO,I,CAGR,GAAI7B,EAAO8B,UAAUC,SAAS,QAAS,CACtC,OAAO,K,CAGR,OAAO/G,KAAK2G,mBAAmB3B,EAAOgC,c,CAG/B,QAAAtC,CAAShB,GAChB,IAAK1D,KAAK2G,mBAAmBjD,EAAGsB,QAAwB,CACvD,M,CAGDhF,KAAKwD,eAAiBxD,KAAKwD,a,CAGpB,OAAAkD,CAAQO,EAAQ,OACvB,GAAIjH,KAAKsD,qBAAuB2D,EAAO,CACtC,M,CAGDjH,KAAKwD,cAAgB,K,CAGd,eAAA0D,CAAgBxD,GACvB,IAAK1D,KAAKsD,mBAAoB,CAC7B,M,CAGDtD,KAAKwD,cAAgB,KAErBxD,KAAKW,MAAQ+C,EAAGyD,OAChBnH,KAAKZ,YAAYgG,KAAK1B,EAAGyD,O,CAGlB,WAAAlG,CAAYgC,EAAKlC,GACxB,OACCA,IAAOkC,IACJmE,YACAP,cACDQ,QAAQrH,KAAKW,OAAOkG,gBAAkB,C,CAIlC,SAAAjC,GACP,IAAI3E,EAAQD,KAAKD,OAAOQ,KAAIQ,GAC3BO,EAAA,wBACCgG,aAAc,MACd3F,QAAS,IAAM3B,KAAK4B,aAAab,GACjCyD,OACCxE,KAAKyB,SACHzB,KAAKwB,eACP8D,MAAMC,QAAQvF,KAAKwB,eAChBxB,KAAKwB,cAAc+E,WACnBf,GAAKA,EAAExF,KAAKkB,kBAAoBH,EAAKf,KAAKkB,mBACrC,EACLH,EAAKf,KAAKkB,kBACVlB,KAAKwB,gBAAgBxB,KAAKkB,gBAE9BqG,SAAUvH,KAAKyB,MAAQ,KAAO,MAC9BmC,KAAK,SAEJ5D,KAAK+B,YAAYhB,MAIpB,IAAKf,KAAKD,OAAOa,OAAQ,CACxBX,EAAQ,CACPqB,EAAA,KACCC,MAAM,qDACNqC,KAAK,SAEJ5D,KAAKwH,gB,CAKT,GAAIxH,KAAKyH,iBAAmBzH,KAAKD,OAAOa,OAAQ,CAC/CX,EAAMyH,QACLpG,EAAA,wBACCsC,KAAK,QACL0D,aAAc,MACdC,SAAQ,KACR5F,QAAS,IAAM3B,KAAK2H,mBACpBnD,OAAQxE,KAAK4H,cAEZ5H,KAAK6H,eAAejH,OACpBU,EAAA,QAAMC,MAAM,2BACXD,EAAA,OAAKC,MAAM,mCACVD,EAAA,UAAQtC,QAASgB,KAAK6H,iBAChB,IACN7H,KAAK8H,eAGP9H,KAAkB,e,CAMtB,GAAIA,KAAKsD,mBAAoB,CAC5BrD,EAAMyH,QAAQ1H,KAAK+H,uB,CAGpB,OAAO9H,C,CAGA,WAAA6E,GACP,OACCxD,EAAA,wBACCK,QAAS,IAAM3B,KAAKR,IAAI4F,OACxBkC,aAAc,MACd1D,KAAK,SAELtC,EAAA,QAAMC,MAAM,uDACVvB,KAAKgI,YACN1G,EAAA,UAAQtC,QAAQ,U,CAMZ,gBAAA2F,GACP,MAAM1E,EAAQ,CAAC,EAAG,EAAG,GAAGM,KAAI,IAC3Be,EAAA,wBACC2G,YAAa,MACbrE,KAAK,SAELtC,EAAA,YACCtC,QAAQ,QACRuC,MAAM,0BAKT,GAAIvB,KAAKsD,mBAAoB,CAC5BrD,EAAMyH,QAAQ1H,KAAK+H,uB,CAGpB,OAAO9H,C,CAGA,oBAAA8H,GACP,OACCzG,EAAA,OACCC,MAAM,wBACNqC,KAAK,SAELtC,EAAA,WACCC,MAAM,QACNtC,YAAae,KAAKkI,wBAClBC,cAAezE,GAAM1D,KAAKkH,gBAAgBxD,GAC1C0E,iBAAkB1E,GAAO1D,KAAKN,qBAAuBgE,EAAGyD,OACxD1G,MAAOT,KAAKW,Q,CAMR,0BAAAwB,GACP,IAAKnC,KAAKP,YAAcO,KAAKL,mBAAoB,CAChD,M,CAGDK,KAAKL,mBAAmB0I,MAAMC,SAAW,GACxCtI,KAAKP,UAAU8I,YAAc,M,CAIvB,6BAAAhG,GACP,GAAIvC,KAAKF,2BAA4B,CACpCuC,aAAarC,KAAKF,2B,CAGnBE,KAAKF,2BAA6BwC,YACjC,IAAMtC,KAAKwI,uBACX,G,CAIM,mBAAAA,GACP,IAAKxI,KAAKL,mBAAoB,CAC7B,M,CAGD,MAAM8I,EAAgBzI,KAAKL,mBAAmB+I,wBAC9C,MAAMzI,EAAQD,KAAKL,mBAAmBgJ,iBAAiB,SAEvD,IAAIC,EAAe,EAEnB,IAAK,MAAMC,KAAS5I,EAAO,CAC1B4I,EAAM/B,UAAUgC,OAAO,UACvBD,EAAM/B,UAAUtH,IAAI,QAEpB,MAAMuJ,EAAYF,EAAMH,wBACxB,GAAIK,EAAUC,MAAQP,EAAcO,MAAO,CAC1CH,EAAM/B,UAAUgC,OAAO,QACvBD,EAAM/B,UAAUtH,IAAI,UACpBoJ,IAEA,Q,EAIF5I,KAAK8B,cAAgB8G,EACrB,MAAMK,EAAQjJ,KAAKL,mBAAmBuJ,cAAc,UACpD,IAAKD,EAAO,CACX,M,CAGD,IAAKA,EAAMnC,UAAUC,SAAS,UAAW,CACxCkC,EAAMnC,UAAUtH,IAAI,S,CAGrB,GAAIoJ,EAAe,EAAG,CACrBK,EAAMnC,UAAUgC,OAAO,S,EAIjB,eAAAnF,CAAgBD,GACvB,IAAKA,EAAGyD,SAAWnH,KAAKN,qBAAsB,CAC7C,M,CAGDM,KAAKN,qBAAqByJ,O,CAGnB,gBAAAxB,GACP3H,KAAK4H,cAAgB5H,KAAK4H,aAC1B5H,KAAKV,gBAAgB8F,KAAKpF,KAAK4H,a,CAGxB,WAAA7F,CAAYhB,EAAMqI,EAAc,OACvC,IAAIC,EACH/H,EAAA,OAAKC,MAAOzC,EAAc,CAAEE,QAAS,aAEnC+B,EACCqI,EACGpJ,KAAK6B,qBAAuB7B,KAAKK,WACjCL,KAAKK,aAMZ,GAAIL,KAAKsJ,UAAW,CACnBD,EACC/H,EAAA,QAAMC,MAAM,2BACXD,EAAA,YACC8C,KAAK,KACLmF,IAAKxI,EAAKf,KAAKsJ,WACfE,QAASzI,EAAKf,KAAKyJ,oBAEpBnI,EAAA,OAAKC,MAAOzC,EAAc,CAAEE,QAAS,aACnC+B,EAAKf,KAAK0J,oBAAsB1J,KAAKK,a,CAM1C,GAAIL,KAAK2J,WAAaP,GAAepJ,KAAK4J,wBAAyB,CAClEP,EACC/H,EAAA,QAAMC,MAAM,2BACXD,EAAA,UAAQtC,QAAS+B,EAAKf,KAAK2J,WAC3BrI,EAAA,OAAKC,MAAOzC,EAAc,CAAEE,QAAS,aACnC+B,EAAKf,KAAK0J,oBAAsB1J,KAAKK,a,CAM1C,KACG+I,GAAepJ,KAAK6J,6BACpB9I,GAAMQ,OAAOX,OACd,CACD,OAAOU,EAAA,OAAKC,MAAOR,EAAKQ,OAAQ8H,E,CAGjC,OAAOA,C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,g as e,h as i,H as s}from"./p-45ded510.js";const r=".flex{display:flex!important}.h-auto{height:auto!important}.w-full{width:100%!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}*{box-sizing:border-box}:host{display:flex}:host([direction=horizontal]){align-items:flex-end;height:auto}:host([direction=vertical]){align-items:flex-start;flex-direction:column;flex-wrap:wrap;min-height:100%;width:100%}:host([direction=vertical][content-position=start]){align-items:flex-end}.static{position:static!important}";const n=r;const o=class{constructor(e){t(this,e);this.activeStep=1;this.enableAutoStatus=true;this.direction="horizontal";this.contentPosition="end"}get _el(){return e(this)}_generateTimeout;_resizeObserver;_generateStepsOnce=()=>{if(this._generateTimeout){clearTimeout(this._generateTimeout);this._generateTimeout=null}this._generateTimeout=setTimeout((()=>this._generateSteps()),50)};_generateSteps=async()=>{if(!this._el){return}let t=this.activeStep-1||0;const e=this._el.querySelectorAll("p-stepper-item");let i=false;for(let s=0;s<e?.length;s++){const r=e.item(s);if(this.enableAutoStatus){r.active=s===t;r.finished=s<t}if(!this.activeStep||t<0){if(r.active){t=s}if(t<0&&r.finished){t=s+1}}if(r.direction!==this.direction&&!i){i=true}r.direction=this.direction;r.align=this.direction==="vertical"?"start":s===0?"start":s===e?.length-1?"end":"center";r.contentPosition=this.contentPosition}if(i){await new Promise((t=>setTimeout(t,200)))}for(let i=0;i<e?.length;i++){const s=e.item(i);if(i<e.length-1){let e=s.nextElementSibling;if(e&&e.tagName.toLowerCase()==="p-stepper-item"){const r=document.createElement("p-stepper-line");this._el.insertBefore(r,e);this._setStepperLineData(r,s,e,i,t);const n=r.previousElementSibling;if(n&&n.tagName.toLowerCase()==="p-stepper-line"){n.remove()}continue}if(e&&e.tagName.toLowerCase()==="p-stepper-line"){const r=e;e=e.nextElementSibling;if(e&&e.tagName.toLowerCase()==="p-stepper-item"){this._setStepperLineData(r,s,e,i,t)}}}if(i>0){const t=s.previousElementSibling;if(t&&t.tagName.toLowerCase()==="p-stepper-line"){t.direction=this.direction;t.active=s.active||s.finished}}}const s=this._el.querySelectorAll("p-stepper-line:not(:has(+ p-stepper-item)), p-stepper-line:first-child");for(let t=s.length-1;t>=0;t--){const e=s.item(t);e.remove()}};_setStepperLineData=(t,e,i,s,r)=>{const n=e.clientHeight/2;const o=i.clientHeight/2;t.direction=this.direction;t.active=s<r;if(n>0&&this.direction==="vertical"){t.style.marginTop=`-${n/16}rem`;t.style.marginBottom=`-${o/16}rem`;t.style.minHeight=`calc(1rem + ${(n+o)/16}rem)`}};componentDidLoad(){this._resizeObserver=new ResizeObserver((()=>this._generateStepsOnce()));this._resizeObserver.observe(this._el)}disconnectCallback(){if(this._resizeObserver){this._resizeObserver.disconnect()}}render(){return i(s,{key:"ea1674841729093f8c7c93a22362efcb9fe7a410",class:"p-stepper"},i("slot",{key:"bda39ed6b0ee781f9edd0ff5150521feb77bceb2",onSlotchange:()=>this._generateStepsOnce()}))}_onActiveStepChange(){this._generateStepsOnce()}static get watchers(){return{activeStep:["_onActiveStepChange"]}}};o.style=n;export{o as p_stepper};
2
- //# sourceMappingURL=p-2d43b7ce.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stepperComponentCss","PStepperStyle0","Stepper","_generateTimeout","_resizeObserver","_generateStepsOnce","this","clearTimeout","setTimeout","_generateSteps","async","_el","activeStep","items","querySelectorAll","directionChanged","i","length","item","enableAutoStatus","active","finished","direction","align","contentPosition","Promise","resolve","nextItem","nextElementSibling","tagName","toLowerCase","stepperLine","document","createElement","insertBefore","_setStepperLineData","previous","previousElementSibling","remove","previousItem","lines","j","line","heightDiff","clientHeight","heightDiffNext","style","marginTop","marginBottom","minHeight","componentDidLoad","ResizeObserver","observe","disconnectCallback","disconnect","render","h","Host","key","class","onSlotchange","_onActiveStepChange"],"sources":["src/components/molecules/stepper/stepper.component.scss?tag=p-stepper&encapsulation=shadow","src/components/molecules/stepper/stepper.component.tsx"],"sourcesContent":[":host {\n\t@apply flex;\n}\n\n:host([direction='horizontal']) {\n\t@apply h-auto items-end;\n}\n\n:host([direction='vertical']) {\n\t@apply flex-col flex-wrap items-start;\n\t@apply w-full min-h-full;\n}\n\n:host([direction='vertical'][content-position='start']) {\n\t@apply items-end;\n}\n","import { Component, Element, h, Host, Prop, Watch } from '@stencil/core';\n\n@Component({\n\ttag: 'p-stepper',\n\tstyleUrl: 'stepper.component.scss',\n\tshadow: true,\n})\nexport class Stepper {\n\t/**\n\t * The currently active step\n\t */\n\t@Prop() activeStep: number = 1;\n\n\t/**\n\t * Wether to automatically apply active & finished to items\n\t */\n\t@Prop() enableAutoStatus: boolean = true;\n\n\t/**\n\t * The direction of the stepper\n\t */\n\t@Prop({ reflect: true }) direction: 'horizontal' | 'vertical' = 'horizontal';\n\n\t/**\n\t * The position of the content in case of vertical direction\n\t */\n\t@Prop({ reflect: true }) contentPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\tprivate _generateTimeout: NodeJS.Timeout | undefined;\n\tprivate _resizeObserver: ResizeObserver;\n\n\tprivate _generateStepsOnce = () => {\n\t\tif (this._generateTimeout) {\n\t\t\tclearTimeout(this._generateTimeout);\n\t\t\tthis._generateTimeout = null;\n\t\t}\n\n\t\tthis._generateTimeout = setTimeout(() => this._generateSteps(), 50);\n\t};\n\n\tprivate _generateSteps = async () => {\n\t\tif (!this._el) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet activeStep = this.activeStep - 1 || 0;\n\t\tconst items = this._el.querySelectorAll('p-stepper-item');\n\n\t\tlet directionChanged = false;\n\t\tfor (let i = 0; i < items?.length; i++) {\n\t\t\tconst item = items.item(i) as any;\n\n\t\t\tif (this.enableAutoStatus) {\n\t\t\t\titem.active = i === activeStep;\n\t\t\t\titem.finished = i < activeStep;\n\t\t\t}\n\n\t\t\tif (!this.activeStep || activeStep < 0) {\n\t\t\t\tif (item.active) {\n\t\t\t\t\tactiveStep = i;\n\t\t\t\t}\n\n\t\t\t\tif (activeStep < 0 && item.finished) {\n\t\t\t\t\tactiveStep = i + 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (item.direction !== this.direction && !directionChanged) {\n\t\t\t\tdirectionChanged = true;\n\t\t\t}\n\n\t\t\titem.direction = this.direction;\n\t\t\titem.align =\n\t\t\t\tthis.direction === 'vertical'\n\t\t\t\t\t? 'start'\n\t\t\t\t\t: i === 0\n\t\t\t\t\t? 'start'\n\t\t\t\t\t: i === items?.length - 1\n\t\t\t\t\t? 'end'\n\t\t\t\t\t: 'center';\n\t\t\titem.contentPosition = this.contentPosition;\n\t\t}\n\n\t\tif (directionChanged) {\n\t\t\t// super hacky way to ensure all elements that have a direction changed are re-rendered\n\t\t\tawait new Promise(resolve => setTimeout(resolve, 200));\n\t\t}\n\n\t\tfor (let i = 0; i < items?.length; i++) {\n\t\t\tconst item = items.item(i) as any;\n\n\t\t\tif (i < items.length - 1) {\n\t\t\t\tlet nextItem = item.nextElementSibling;\n\n\t\t\t\tif (nextItem && nextItem.tagName.toLowerCase() === 'p-stepper-item') {\n\t\t\t\t\tconst stepperLine = document.createElement('p-stepper-line');\n\t\t\t\t\tthis._el.insertBefore(stepperLine, nextItem);\n\t\t\t\t\tthis._setStepperLineData(stepperLine, item, nextItem, i, activeStep);\n\n\t\t\t\t\tconst previous = stepperLine.previousElementSibling;\n\t\t\t\t\tif (previous && previous.tagName.toLowerCase() === 'p-stepper-line') {\n\t\t\t\t\t\tprevious.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (nextItem && nextItem.tagName.toLowerCase() === 'p-stepper-line') {\n\t\t\t\t\tconst stepperLine = nextItem;\n\t\t\t\t\tnextItem = nextItem.nextElementSibling;\n\n\t\t\t\t\tif (nextItem && nextItem.tagName.toLowerCase() === 'p-stepper-item') {\n\t\t\t\t\t\tthis._setStepperLineData(\n\t\t\t\t\t\t\tstepperLine,\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\tnextItem,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\tactiveStep\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (i > 0) {\n\t\t\t\tconst previousItem = item.previousElementSibling;\n\t\t\t\tif (\n\t\t\t\t\tpreviousItem &&\n\t\t\t\t\tpreviousItem.tagName.toLowerCase() === 'p-stepper-line'\n\t\t\t\t) {\n\t\t\t\t\tpreviousItem.direction = this.direction;\n\t\t\t\t\tpreviousItem.active = item.active || item.finished;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst lines = this._el.querySelectorAll(\n\t\t\t'p-stepper-line:not(:has(+ p-stepper-item)), p-stepper-line:first-child'\n\t\t);\n\t\tfor (let j = lines.length - 1; j >= 0; j--) {\n\t\t\tconst line = lines.item(j);\n\t\t\tline.remove();\n\t\t}\n\t};\n\n\tprivate _setStepperLineData = (\n\t\tstepperLine: HTMLPStepperLineElement,\n\t\titem: HTMLPStepperItemElement,\n\t\tnextItem: HTMLPStepperItemElement,\n\t\ti: number,\n\t\tactiveStep: number\n\t) => {\n\t\tconst heightDiff = item.clientHeight / 2;\n\t\tconst heightDiffNext = nextItem.clientHeight / 2;\n\n\t\tstepperLine.direction = this.direction;\n\t\tstepperLine.active = i < activeStep;\n\n\t\tif (heightDiff > 0 && this.direction === 'vertical') {\n\t\t\tstepperLine.style.marginTop = `-${heightDiff / 16}rem`;\n\t\t\tstepperLine.style.marginBottom = `-${heightDiffNext / 16}rem`;\n\t\t\tstepperLine.style.minHeight = `calc(1rem + ${\n\t\t\t\t(heightDiff + heightDiffNext) / 16\n\t\t\t}rem)`;\n\t\t}\n\t};\n\n\tcomponentDidLoad() {\n\t\tthis._resizeObserver = new ResizeObserver(() => this._generateStepsOnce());\n\t\tthis._resizeObserver.observe(this._el);\n\t}\n\n\tdisconnectCallback() {\n\t\tif (this._resizeObserver) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-stepper'>\n\t\t\t\t<slot onSlotchange={() => this._generateStepsOnce()} />\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Watch('activeStep')\n\tprotected _onActiveStepChange() {\n\t\tthis._generateStepsOnce();\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as e,c as a,g as o}from"./p-45ded510.js";import{a as r,c as s,o as n,f as p,s as h}from"./p-170077a4.js";import{c}from"./p-8a5b8196.js";import"./p-8a1a6e56.js";const l="*{box-sizing:border-box}.static{position:static!important}.absolute{position:absolute!important}.cursor-pointer{cursor:pointer!important}";const d=l;const b=class{constructor(i){t(this,i);this.strategy="absolute";this.placement="top"}render(){return i(e,{key:"b01ecfa1f3ad5066a2509a203a6b0412c980d56e",class:"p-helper"},i("p-tooltip",{key:"6807aa67e6fd1d38dab4343db9d7903c240482e5",placement:this.placement,strategy:this.strategy},i("div",{key:"a975111cdfa2095954275efe44af3913e60b808c",slot:"content"},i("slot",{key:"a2c69274cc77b54d0d59b17727c255bbede56433"})),i("p-icon",{key:"2730d47236c95ec09573cd3fa550e1b44e6b8464",size:"sm",class:"cursor-pointer",variant:"question-circle",slot:"trigger"})))}};b.style=d;const m="*{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}.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}";const u=m;const f=c(["inline-block px-2","text-xs","opacity-0 drop-shadow-3 transition-opacity","rounded-lg","z-tooltip","pointer-events-none"],{variants:{variant:{hover:"bg-black-teal text-white py-1",click:null,error:"max-w-full w-full"},strategy:{none:null,fixed:"fixed",absolute:"absolute"}},compoundVariants:[{variant:["hover","click"],class:"max-w-[14.5rem] w-max"},{variant:["click","error"],class:"bg-white text-black-teal-300 py-2"}]});const w=c("",{variants:{strategy:{fixed:"fixed",absolute:"absolute"}}});const g=class{constructor(i){t(this,i);this.isOpen=a(this,"isOpen",3);this.variant="hover";this.content=null;this.placement=undefined;this.offset=8;this.strategy="absolute";this.enableUserInput=true;this.show=false;this.usePortal=false;this.canManuallyClose=true}isOpen;get _el(){return o(this)}_hasContentSlot=false;_loaded=false;_popover;_cleanup;componentWillLoad(){this._hasContentSlot=!!this._el.querySelector(':scope > [slot="content"]')}componentShouldUpdate(){this._update()}disconnectedCallback(){if(this._cleanup){this._cleanup();this._cleanup=null}}render(){const t={role:"popover","data-placement":this.placement,ref:t=>this._load(t)};let a;const o=i("div",{key:"6f9c3f17c03fd05f38542ae9c7c0bcbd974a5bbb",class:f({variant:this.variant,strategy:this.usePortal?"none":this.strategy}),...this.usePortal?{}:t},i("div",{key:"24a0b7be9128f683c5b97b025c127ccc099a350d",class:"flex gap-2"},this.variant==="error"&&i("div",{key:"bdef4cbe31d0642f4db9134e8b1dac420476f662",class:"w-[2px] bg-negative-red"}),this.content?this.content:i("slot",{name:"content"})));if(this.usePortal){a=i("p-portal",{key:"261fa01590875e3b7b89e1071340a28e1a9c0026",class:w({strategy:this.strategy}),...t},o)}else{a=o}return i(e,{key:"5bc62f68bb9f49ce77f5e50f3713ad8a9b68e350",class:"p-popover flex cursor-pointer"},i("div",{key:"3792040756275f17dde8dad661af0cec0c40192b",class:"relative h-inherit w-inherit"},i("slot",{key:"7426bd33a80902bd576168c6dff9cfcfc70c128f",name:"trigger"}),a))}clickHandler(){if(this.variant==="hover"||!this.enableUserInput){return}if(this._popover.hasAttribute("data-show")){return}this._show()}documentClickHandler(){if(this.variant==="hover"||!this.canManuallyClose||this.show){return}if(!this._popover.hasAttribute("data-show")){return}this._hide()}mouseEnterHandler(){if(this.variant!=="hover"||!this.enableUserInput){return}this._show()}mouseLeaveHandler(){if(this.show||this.variant!=="hover"||!this.enableUserInput){return}this._hide()}onShowChange(t){if(t&&!this._popover.hasAttribute("data-show")){return this._show()}return this._hide()}_show(){if(!this._loaded){return}if(!this.content?.length&&!this._hasContentSlot){if(this._popover.hasAttribute("data-show")){this._hide()}return}this._cleanup=r(this._el,this._popover,(()=>this._update()));this._popover.setAttribute("data-show","");this._popover.classList.remove("opacity-0","pointer-events-none");this._popover.classList.add("opacity-100","pointer-events-auto");this.isOpen.emit(true)}_hide(){if(!this._loaded){return}if(this._cleanup){this._cleanup();this._cleanup=null}this._popover.removeAttribute("data-show");this._popover.classList.remove("opacity-100","pointer-events-auto");this._popover.classList.add("opacity-0","pointer-events-none");this.isOpen.emit(false)}_load(t){this._popover=t;if(t){this._update();this._loaded=true;if(this.show){setTimeout((()=>this._show()),100)}}}_update(){if(!this._popover){return}s(this._el,this._popover,{placement:this.variant==="error"&&!this.placement?"bottom-start":this.placement??"top",strategy:this.strategy,middleware:[n(this.offset),p(),h()]}).then((({x:t,y:i,placement:e})=>{this._popover.dataset.placement=e;Object.assign(this._popover.style,{top:`${i}px`,left:`${t}px`})}))}static get watchers(){return{show:["onShowChange"]}}};g.style=u;export{b as p_helper,g as p_tooltip};
2
- //# sourceMappingURL=p-37b43ce6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["helperComponentCss","PHelperStyle0","Helper","render","h","Host","key","class","placement","this","strategy","slot","size","variant","tooltipComponentCss","PTooltipStyle0","popover","cva","variants","hover","click","error","none","fixed","absolute","compoundVariants","portal","Tooltip","isOpen","_hasContentSlot","_loaded","_popover","_cleanup","componentWillLoad","_el","querySelector","componentShouldUpdate","_update","disconnectedCallback","tooltipProps","role","ref","el","_load","tooltip","tooltipElement","usePortal","content","name","clickHandler","enableUserInput","hasAttribute","_show","documentClickHandler","canManuallyClose","show","_hide","mouseEnterHandler","mouseLeaveHandler","onShowChange","length","autoUpdate","setAttribute","classList","remove","add","emit","removeAttribute","setTimeout","computePosition","middleware","offset","flip","shift","then","x","y","dataset","Object","assign","style","top","left"],"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":[null,"import { Placement, Strategy } from '@floating-ui/dom';\nimport { Component, h, Host, 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<Host class='p-helper'>\n\t\t\t\t<p-tooltip\n\t\t\t\t\tplacement={this.placement}\n\t\t\t\t\tstrategy={this.strategy}\n\t\t\t\t>\n\t\t\t\t\t<div slot='content'>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<p-icon\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tclass='cursor-pointer'\n\t\t\t\t\t\tvariant='question-circle'\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t/>\n\t\t\t\t</p-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n",null,"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'>\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='p-popover flex cursor-pointer'>\n\t\t\t\t<div class='relative h-inherit w-inherit'>\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\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"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,g as e,h as s,H as r}from"./p-45ded510.js";import{c as n}from"./p-3b8209bc.js";import{c as h}from"./p-8a5b8196.js";import"./p-8a1a6e56.js";const a="*{box-sizing:border-box}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.static{position:static!important}.relative{position:relative!important}.sticky{position:sticky!important}.top-0{top:0!important}.mb-3{margin-bottom:.75rem!important}.block{display:block!important}.flex{display:flex!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.h-\\[1\\.625rem\\]{height:1.625rem!important}.h-full{height:100%!important}.w-6{width:1.5rem!important}.w-full{width:100%!important}.min-w-0{min-width:0!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.rounded{border-radius:.25rem!important}.rounded-lg{border-radius:.5rem!important}.bg-supportive-lilac-100{--tw-bg-opacity:1!important;background-color:rgb(246 239 255/var(--tw-bg-opacity,1))!important}.p-2{padding:.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.text-center{text-align:center!important}.text-start{text-align:start!important}.text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.font-semibold{font-weight:600!important}.text-black-teal-100{--tw-text-opacity:1!important;color:rgb(205 212 211/var(--tw-text-opacity,1))!important}.text-black-teal-400{--tw-text-opacity:1!important;color:rgb(53 85 80/var(--tw-text-opacity,1))!important}.text-supportive-lilac{--tw-text-opacity:1!important;color:rgb(209 174 255/var(--tw-text-opacity,1))!important}.text-teal-800{--tw-text-opacity:1!important;color:rgb(2 102 92/var(--tw-text-opacity,1))!important}.filter{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}.group\\/item:hover .group-hover\\/item\\:text-supportive-lilac-800{--tw-text-opacity:1!important;color:rgb(189 140 255/var(--tw-text-opacity,1))!important}";const o=a;const l=h(["flex items-center gap-2","flex-1 min-w-0 h-full","pointer-events-none overflow-hidden"]);const p=h(["item group/item","pointer-events-auto cursor-pointer","flex h-[1.625rem] items-center gap-2","h-[1.625rem] px-2","text-sm font-semibold whitespace-nowrap","rounded-lg","bg-supportive-lilac-100"]);const c=h("block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start",{variants:{variant:{placeholder:"text-black-teal-400",default:null}}});const d=class{constructor(e){t(this,e);this.queryChange=i(this,"queryChange",3);this.valueChange=i(this,"valueChange",3);this.selectAllChange=i(this,"selectAllChange",3);this.dropdownShown=i(this,"dropdownShown",3);this.add=i(this,"add",3);this.items=undefined;this.multi=undefined;this.icon=undefined;this.query=undefined;this.placeholder=undefined;this.autocompletePlaceholder="Search...";this.value=undefined;this.displayKey="text";this.dropdownDisplayKey=undefined;this.selectionDisplayKey=undefined;this.valueKey=undefined;this.avatarKey=undefined;this.iconKey=undefined;this.showIconInSelectedItem=undefined;this.classKey="class";this.applyClassOnSelectedItem=undefined;this.avatarLettersKey=undefined;this.identifierKey=undefined;this.queryKey=undefined;this.autoSelectFirst=true;this.showChevron=true;this.maxDisplayedItems=10;this.enableAutocomplete=true;this.asyncFilter=false;this.loading=false;this.enableSelectAll=false;this.selectAllText="Select all";this.selectAllIcon=undefined;this.size="base";this.prefix=undefined;this.label=undefined;this.helper=undefined;this.required=true;this.error=undefined;this.disabled=false;this.showAddItem=false;this.addItemText="Add item";this.emptyStateText="No items available";this._showDropdown=false;this._selectedItem=null;this._allSelected=false;this._amountHidden=0}queryChange;valueChange;selectAllChange;dropdownShown;add;get _el(){return e(this)}_inputRef;autocompleteInputRef;_multiContainerRef;_resizeObserver;_resizeDebounceTimer;_checkSelectedItemsTimeout;get _items(){if(!this.items||this.loading){return[]}let t=typeof this.items==="string"?JSON.parse(this.items):this.items;if(typeof t?.[0]==="string"){this.displayKey="text";this.valueKey="value";t=t.map((t=>({value:t,text:t})))}if(this.query?.length&&!this.asyncFilter){t=t.filter((t=>{if(this.queryKey){return this._checkvalue(this.queryKey,t)}return this._checkvalue(this._identifierKey,t)||this._checkvalue(this.displayKey,t)}))}return t?.slice(0,this.maxDisplayedItems)}get _displayValue(){const t=s("div",{class:c({variant:"placeholder"})},this.placeholder);if(!this._selectedItem){return t}if(this.multi){if(this._selectedItem?.length===0){return t}return s("div",{class:l(),ref:t=>this._multiContainerRef=t},this._selectedItem.map((t=>s("div",{class:p(),onClick:()=>this._selectValue(t)},t[this.selectionDisplayKey??this.displayKey],s("p-icon",{class:"text-xs text-supportive-lilac group-hover/item:text-supportive-lilac-800",variant:"negative"})))),s("div",{class:"extra pointer-events-none hidden text-sm text-black-teal-100"},"+",this._amountHidden))}return this._getDisplay(this._selectedItem,true)}get _identifierKey(){return this.identifierKey??this.valueKey??"value"}componentDidLoad(){if(!this.valueKey&&!this.identifierKey){throw new Error("You must provide a valueKey or identifierKey")}if(this.multi){this._setMultiContainerMaxWidth();this._resizeObserver=new ResizeObserver((()=>{if(this._resizeDebounceTimer){clearTimeout(this._resizeDebounceTimer);this._resizeDebounceTimer=null}this._resizeDebounceTimer=setTimeout((()=>{this._setMultiContainerMaxWidth();this._setCheckSelectedItemsTimeout()}),200)}));this._resizeObserver.observe(this._el)}if(this.value){this._valueChange();return}this.itemChanges()}componentDidRender(){if(this.multi){this._setMultiContainerMaxWidth()}}disconnectedCallback(){if(this.multi){this._resizeObserver.disconnect()}}render(){return s(r,{key:"0535ba59ab5b32d65e1f2672a49b404f015bc7ea",class:"p-select"},s("p-dropdown",{key:"84b70085736f0943eddc1a0bae65460b78f13aad",disableTriggerClick:true,calculateWidth:true,insideClick:true,scrollable:this.enableAutocomplete?"large":true,show:this._showDropdown,onIsOpen:t=>this._onDropdownOpen(t)},s("p-field-container",{key:"daa079d94004685de5816f0d06fa8f07539900eb",slot:"trigger",prefix:this.prefix,label:this.label,helper:this.helper,required:this.required,error:this.error,errorPlacement:"top-start",forceShowTooltip:this.error?.length&&this._showDropdown},s("p-button",{key:"c0f4640c1cd9047fae73594bef62a7b28f84a9f8",class:"w-full",slot:"content",variant:"secondary",size:this.size,chevron:this.showChevron,disabled:this.disabled,active:this._showDropdown,icon:this.icon,onClick:t=>this._onClick(t)},s("div",{key:"2479f6d8ff8dea97e8592ba6059371a3967f852a",class:"relative flex-1",ref:t=>this._inputRef=t},this._displayValue))),this.loading?this._getLoadingItems():this._getItems(),this.showAddItem&&this._getAddItem()))}documentClickHandler({target:t}){if(!this._showDropdown||n(t,this._el)){return}this._showDropdown=false}_valueChange(){setTimeout((()=>{this._preselectItem();this._setCheckSelectedItemsTimeout()}))}itemChanges(){setTimeout((()=>this._preselectItem()))}_showDropdownChanges(){this.dropdownShown.emit({value:this._showDropdown,query:this.query})}multiChanges(){if(this._selectedItem&&!Array.isArray(this._selectedItem)){this._selectedItem=[]}}_preselectItem(){let t=typeof this.value==="string"&&this.multi?JSON.parse(this.value):this.value;if(this.multi){if(!Array.isArray(t)){this.value=[];this.valueChange.emit(this.value);return}this.value=t;if(!t.length){this._selectedItem=[];return}this._selectedItem=!!this.valueKey&&this.valueKey!=="false"?this._items.filter((i=>t.includes(i?.[this.valueKey]))):[...t];return}if(!this._selectedItem&&!t&&this.autoSelectFirst){t=this._items[0]}const i=typeof t==="object"&&t!==null?t[this._identifierKey]:t;const e=typeof i==="string"||typeof i==="number"?i:JSON.stringify(i);const s=this._selectedItem?this._selectedItem?.[this._identifierKey]:null;const r=typeof s==="string"||typeof s==="number"?s:JSON.stringify(s);if(this._selectedItem&&r===e){return}if(!this._items?.length&&t){this._selectValue(t,false);return}const n=this._items.find((t=>{const i=t?.[this._identifierKey];const s=typeof i==="string"||typeof i==="number"?i:JSON.stringify(i);return s===e}));this._selectValue(!!n?n:t,false)}_selectValue(t,i=true){let e=!!this.valueKey&&this.valueKey!=="false"&&t!==null?t?.[this.valueKey]:t;if(this.multi){if(!this._selectedItem||!Array.isArray(this._selectedItem)){this._selectedItem=[]}if(!this.value||!Array.isArray(this.value)){this.value=[]}const i=[...this._selectedItem];const s=[...this.value];const r=i.findIndex((i=>i[this._identifierKey]===t[this._identifierKey]));if(r===-1){i.push(t);s.push(e)}else{i.splice(r,1);s.splice(r,1)}this._selectedItem=i;this.value=s;this.valueChange.emit(s);return}this._selectedItem=t;this.value=e;this.valueChange.emit(e);this._onBlur(i)}_findOnClickTarget(t){if(t.nodeName.toLowerCase()==="p-button"){return true}if(t.classList.contains("item")){return false}return this._findOnClickTarget(t.parentElement)}_onClick(t){if(!this._findOnClickTarget(t.target)){return}this._showDropdown=!this._showDropdown}_onBlur(t=false){if(this.enableAutocomplete&&!t){return}this._showDropdown=false}_onAutoComplete(t){if(!this.enableAutocomplete){return}this._showDropdown=true;this.query=t.detail;this.queryChange.emit(t.detail)}_checkvalue(t,i){return i?.[t]?.toString()?.toLowerCase().indexOf(this.query?.toLowerCase())>=0}_getItems(){let t=this._items.map((t=>s("p-dropdown-menu-item",{useContainer:false,onClick:()=>this._selectValue(t),active:this.multi&&!!this._selectedItem&&Array.isArray(this._selectedItem)?this._selectedItem.findIndex((i=>i[this._identifierKey]===t[this._identifierKey]))>=0:t[this._identifierKey]===this._selectedItem?.[this._identifierKey],checkbox:this.multi?true:false,slot:"items"},this._getDisplay(t))));if(!this._items.length){t=[s("p",{class:"w-full p-2 text-center text-sm text-black-teal-400",slot:"items"},this.emptyStateText)]}if(this.enableSelectAll&&this._items.length){t.unshift(s("p-dropdown-menu-item",{slot:"items",useContainer:false,checkbox:true,onClick:()=>this._selectAllChange(),active:this._allSelected},this.selectAllIcon?.length?s("span",{class:"flex items-center gap-2"},s("div",{class:"flex w-6 justify-center text-lg"},s("p-icon",{variant:this.selectAllIcon}))," ",this.selectAllText):this.selectAllText))}if(this.enableAutocomplete){t.unshift(this._getAutoCompleteItem())}return t}_getAddItem(){return s("p-dropdown-menu-item",{onClick:()=>this.add.emit(),useContainer:false,slot:"items"},s("span",{class:"flex items-center gap-1 font-semibold text-teal-800"},this.addItemText,s("p-icon",{variant:"plus"})))}_getLoadingItems(){const t=[0,0,0].map((()=>s("p-dropdown-menu-item",{enableHover:false,slot:"items"},s("p-loader",{variant:"ghost",class:"h-6 w-full rounded"}))));if(this.enableAutocomplete){t.unshift(this._getAutoCompleteItem())}return t}_getAutoCompleteItem(){return s("div",{class:"sticky top-0 mb-3 h-8",slot:"items"},s("p-field",{class:"block",placeholder:this.autocompletePlaceholder,onValueChange:t=>this._onAutoComplete(t),onInputRefChange:t=>this.autocompleteInputRef=t.detail,value:this.query}))}_setMultiContainerMaxWidth(){if(!this._inputRef||!this._multiContainerRef){return}this._multiContainerRef.style.maxWidth=`${this._inputRef.clientWidth-16}px`}_setCheckSelectedItemsTimeout(){if(this._checkSelectedItemsTimeout){clearTimeout(this._checkSelectedItemsTimeout)}this._checkSelectedItemsTimeout=setTimeout((()=>this._checkSelectedItems()),50)}_checkSelectedItems(){if(!this._multiContainerRef){return}const t=this._multiContainerRef.getBoundingClientRect();const i=this._multiContainerRef.querySelectorAll(".item");let e=0;for(const s of i){s.classList.remove("hidden");s.classList.add("flex");const i=s.getBoundingClientRect();if(i.right>t.right){s.classList.remove("flex");s.classList.add("hidden");e++;continue}}this._amountHidden=e;const s=this._multiContainerRef.querySelector(".extra");if(!s){return}if(!s.classList.contains("hidden")){s.classList.add("hidden")}if(e>0){s.classList.remove("hidden")}}_onDropdownOpen(t){if(!t.detail||!this.autocompleteInputRef){return}this.autocompleteInputRef.focus()}_selectAllChange(){this._allSelected=!this._allSelected;this.selectAllChange.emit(this._allSelected)}_getDisplay(t,i=false){let e=s("div",{class:c({variant:"default"})},t[i?this.selectionDisplayKey??this.displayKey:this.displayKey]);if(this.avatarKey){e=s("span",{class:"flex items-center gap-2"},s("p-avatar",{size:"sm",src:t[this.avatarKey],letters:t[this.avatarLettersKey]}),s("div",{class:c({variant:"default"})},t[this.dropdownDisplayKey??this.displayKey]))}if(this.iconKey&&(!i||this.showIconInSelectedItem)){e=s("span",{class:"flex items-center gap-2"},s("p-icon",{variant:t[this.iconKey]}),s("div",{class:c({variant:"default"})},t[this.dropdownDisplayKey??this.displayKey]))}if((!i||this.applyClassOnSelectedItem)&&!!t?.class?.length){return s("div",{class:t.class},e)}return e}static get watchers(){return{value:["_valueChange"],items:["itemChanges"],_showDropdown:["_showDropdownChanges"],multi:["multiChanges"]}}};d.style=o;export{d as p_select};
2
- //# sourceMappingURL=p-da44c5f3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["selectComponentCss","PSelectStyle0","multiContainer","cva","multiItem","textContainer","variants","variant","placeholder","default","Select","queryChange","valueChange","selectAllChange","dropdownShown","add","_inputRef","autocompleteInputRef","_multiContainerRef","_resizeObserver","_resizeDebounceTimer","_checkSelectedItemsTimeout","_items","this","items","loading","JSON","parse","displayKey","valueKey","map","str","value","text","query","length","asyncFilter","filter","item","queryKey","_checkvalue","_identifierKey","slice","maxDisplayedItems","_displayValue","h","class","_selectedItem","multi","ref","onClick","_selectValue","selectionDisplayKey","_amountHidden","_getDisplay","identifierKey","componentDidLoad","Error","_setMultiContainerMaxWidth","ResizeObserver","clearTimeout","setTimeout","_setCheckSelectedItemsTimeout","observe","_el","_valueChange","itemChanges","componentDidRender","disconnectedCallback","disconnect","render","Host","key","disableTriggerClick","calculateWidth","insideClick","scrollable","enableAutocomplete","show","_showDropdown","onIsOpen","ev","_onDropdownOpen","slot","prefix","label","helper","required","error","errorPlacement","forceShowTooltip","size","chevron","showChevron","disabled","active","icon","_onClick","_getLoadingItems","_getItems","showAddItem","_getAddItem","documentClickHandler","target","childOf","_preselectItem","_showDropdownChanges","emit","multiChanges","Array","isArray","i","includes","autoSelectFirst","identifier","parsedValue","stringify","currentValue","currentParsedValue","find","itemIdentifier","parsedItemIdentifier","forceBlur","selectedItem","valueArray","includesIndex","findIndex","push","splice","_onBlur","_findOnClickTarget","nodeName","toLowerCase","classList","contains","parentElement","force","_onAutoComplete","detail","toString","indexOf","useContainer","checkbox","emptyStateText","enableSelectAll","unshift","_selectAllChange","_allSelected","selectAllIcon","selectAllText","_getAutoCompleteItem","addItemText","enableHover","autocompletePlaceholder","onValueChange","onInputRefChange","style","maxWidth","clientWidth","_checkSelectedItems","containerRect","getBoundingClientRect","querySelectorAll","amountHidden","child","remove","childRect","right","extra","querySelector","focus","isSelection","content","avatarKey","src","letters","avatarLettersKey","dropdownDisplayKey","iconKey","showIconInSelectedItem","applyClassOnSelectedItem"],"sources":["src/components/molecules/select/select.component.css?tag=p-select","src/components/molecules/select/select.component.tsx"],"sourcesContent":[null,"import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\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})\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 * 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 show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: 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\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\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\treturn items?.slice(0, this.maxDisplayedItems);\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\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\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-field-container\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\terrorPlacement='top-start'\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={this.showChevron}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t</p-field-container>\n\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, 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 item = this._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 _findOnClickTarget(target: HTMLElement) {\n\t\tif (target.nodeName.toLowerCase() === 'p-button') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (target.classList.contains('item')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this._findOnClickTarget(target.parentElement);\n\t}\n\n\tprivate _onClick(ev) {\n\t\tif (!this._findOnClickTarget(ev.target as HTMLElement)) {\n\t\t\treturn;\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\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}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.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\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"],"mappings":"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","ignoreList":[]}