@paperless/core 1.3.2 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/{paperless/p-47bcc23e.entry.js → build/p-091ce2d6.entry.js} +2 -2
- package/dist/{paperless/p-6cb21186.entry.js → build/p-19d3374e.entry.js} +2 -2
- package/dist/build/p-3f593a04.entry.js +2 -0
- package/dist/{paperless/p-c6be1eab.entry.js.map → build/p-3f593a04.entry.js.map} +1 -1
- package/dist/build/{p-23f19585.entry.js → p-6b1be4ed.entry.js} +2 -2
- package/dist/build/p-6b1be4ed.entry.js.map +1 -0
- package/dist/build/{p-32e40e8a.entry.js → p-99fbb3ee.entry.js} +2 -2
- package/dist/build/p-b0882e61.entry.js +2 -0
- package/dist/build/{p-dbadeb2a.entry.js.map → p-b0882e61.entry.js.map} +1 -1
- package/dist/build/p-ca4798ea.entry.js +2 -0
- package/dist/build/{p-f8aa1cac.entry.js.map → p-ca4798ea.entry.js.map} +1 -1
- package/dist/build/p-da0dd04e.entry.js +2 -0
- package/dist/{paperless/p-36705eff.entry.js.map → build/p-da0dd04e.entry.js.map} +1 -1
- package/dist/{paperless/p-178a9622.entry.js → build/p-daf0d6ed.entry.js} +2 -2
- package/dist/{paperless/p-e5023a73.entry.js → build/p-de73fa10.entry.js} +2 -2
- package/dist/{paperless/p-e5023a73.entry.js.map → build/p-de73fa10.entry.js.map} +1 -1
- package/dist/build/{p-11f5c8c7.entry.js → p-e706d760.entry.js} +2 -2
- package/dist/build/{p-11f5c8c7.entry.js.map → p-e706d760.entry.js.map} +1 -1
- package/dist/build/p-f65beea2.entry.js +2 -0
- package/dist/{paperless/p-e6b0dbdc.entry.js.map → build/p-f65beea2.entry.js.map} +1 -1
- package/dist/{paperless/p-2db30595.entry.js → build/p-f9752a7d.entry.js} +2 -2
- package/dist/build/paperless.esm.js +1 -1
- package/dist/cjs/p-button_3.cjs.entry.js +2 -2
- package/dist/cjs/p-calendar.cjs.entry.js +1 -1
- package/dist/cjs/p-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/p-divider.cjs.entry.js +1 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +1 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js.map +1 -1
- package/dist/cjs/p-dropdown_2.cjs.entry.js +2 -2
- package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-helper_3.cjs.entry.js +2 -2
- package/dist/cjs/p-helper_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-illustration_6.cjs.entry.js +6 -42
- package/dist/cjs/p-illustration_6.cjs.entry.js.map +1 -1
- package/dist/cjs/p-label_3.cjs.entry.js +3 -3
- package/dist/cjs/p-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-page-size-select_3.cjs.entry.js +2 -2
- package/dist/cjs/p-page-size-select_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +1 -1
- package/dist/cjs/p-table.cjs.entry.js +1 -1
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/p-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/p-tooltip.cjs.entry.js.map +1 -1
- package/dist/collection/components/atoms/divider/divider.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.css +1 -1
- package/dist/collection/components/atoms/helper/helper.component.css +1 -1
- package/dist/collection/components/atoms/icon/icon.component.css +1 -1
- package/dist/collection/components/atoms/label/label.component.css +1 -1
- package/dist/collection/components/atoms/loader/loader.component.css +1 -1
- package/dist/collection/components/atoms/pagination-item/pagination-item.component.css +1 -1
- package/dist/collection/components/atoms/segment-container/segment-container.component.css +1 -1
- package/dist/collection/components/atoms/segment-item/segment-item.component.css +1 -1
- package/dist/collection/components/atoms/table-container/table-container.component.css +1 -1
- package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
- package/dist/collection/components/molecules/calendar/calendar.component.css +1 -1
- package/dist/collection/components/molecules/datepicker/datepicker.component.css +1 -1
- package/dist/collection/components/molecules/dropdown/dropdown.component.css +1 -1
- package/dist/collection/components/molecules/input-group/input-group.component.css +1 -1
- package/dist/collection/components/molecules/pagination/pagination.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.css +1 -1
- package/dist/collection/components/molecules/table-cell/table-cell.component.css +1 -1
- package/dist/collection/components/molecules/table-footer/table-footer.component.css +1 -1
- package/dist/collection/components/molecules/table-header/table-header.component.css +1 -1
- package/dist/collection/components/molecules/table-header/table-header.component.js +4 -4
- package/dist/collection/components/molecules/table-header/table-header.component.js.map +1 -1
- package/dist/collection/components/molecules/table-row/table-row.component.css +1 -1
- package/dist/collection/components/organisms/table/table.component.css +1 -1
- package/dist/components/calendar.component.js +1 -1
- package/dist/components/divider.component.js +1 -1
- package/dist/components/dropdown-menu-container.component.js +1 -1
- package/dist/components/dropdown-menu-container.component.js.map +1 -1
- package/dist/components/dropdown-menu-item.component.js +1 -1
- package/dist/components/dropdown-menu-item.component.js.map +1 -1
- package/dist/components/dropdown.component.js +1 -1
- package/dist/components/dropdown.component.js.map +1 -1
- package/dist/components/helper.component.js +1 -1
- package/dist/components/helper.component.js.map +1 -1
- package/dist/components/icon.component.js +1 -1
- package/dist/components/input-group.component.js +1 -1
- package/dist/components/input-group.component.js.map +1 -1
- package/dist/components/label.component.js +1 -1
- package/dist/components/loader.component.js +1 -1
- package/dist/components/p-datepicker.js +1 -1
- package/dist/components/p-select.js +1 -1
- package/dist/components/p-table.js +1 -1
- package/dist/components/p-table.js.map +1 -1
- package/dist/components/pagination-item.component.js +1 -1
- package/dist/components/pagination-item.component.js.map +1 -1
- package/dist/components/pagination.component.js +1 -1
- package/dist/components/pagination.component.js.map +1 -1
- package/dist/components/segment-container.component.js +1 -1
- package/dist/components/segment-container.component.js.map +1 -1
- package/dist/components/segment-item.component.js +1 -1
- package/dist/components/segment-item.component.js.map +1 -1
- package/dist/components/table-cell.component.js +1 -1
- package/dist/components/table-cell.component.js.map +1 -1
- package/dist/components/table-container.component.js +1 -1
- package/dist/components/table-container.component.js.map +1 -1
- package/dist/components/table-footer.component.js +1 -1
- package/dist/components/table-footer.component.js.map +1 -1
- package/dist/components/table-header.component.js +2 -38
- package/dist/components/table-header.component.js.map +1 -1
- package/dist/components/table-row.component.js +1 -1
- package/dist/components/table-row.component.js.map +1 -1
- package/dist/components/tooltip.component.js +1 -1
- package/dist/components/tooltip.component.js.map +1 -1
- package/dist/esm/p-button_3.entry.js +2 -2
- package/dist/esm/p-calendar.entry.js +1 -1
- package/dist/esm/p-datepicker.entry.js +1 -1
- package/dist/esm/p-divider.entry.js +1 -1
- package/dist/esm/p-dropdown-menu-container.entry.js +1 -1
- package/dist/esm/p-dropdown-menu-container.entry.js.map +1 -1
- package/dist/esm/p-dropdown_2.entry.js +2 -2
- package/dist/esm/p-dropdown_2.entry.js.map +1 -1
- package/dist/esm/p-helper_3.entry.js +2 -2
- package/dist/esm/p-helper_3.entry.js.map +1 -1
- package/dist/esm/p-illustration_6.entry.js +6 -42
- package/dist/esm/p-illustration_6.entry.js.map +1 -1
- package/dist/esm/p-label_3.entry.js +3 -3
- package/dist/esm/p-label_3.entry.js.map +1 -1
- package/dist/esm/p-page-size-select_3.entry.js +2 -2
- package/dist/esm/p-page-size-select_3.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +1 -1
- package/dist/esm/p-table.entry.js +1 -1
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/p-tooltip.entry.js +1 -1
- package/dist/esm/p-tooltip.entry.js.map +1 -1
- package/dist/index.html +1 -1
- package/dist/{build/p-47bcc23e.entry.js → paperless/p-091ce2d6.entry.js} +2 -2
- package/dist/{build/p-6cb21186.entry.js → paperless/p-19d3374e.entry.js} +2 -2
- package/dist/paperless/p-3f593a04.entry.js +2 -0
- package/dist/{build/p-c6be1eab.entry.js.map → paperless/p-3f593a04.entry.js.map} +1 -1
- package/dist/paperless/{p-23f19585.entry.js → p-6b1be4ed.entry.js} +2 -2
- package/dist/paperless/p-6b1be4ed.entry.js.map +1 -0
- package/dist/paperless/{p-32e40e8a.entry.js → p-99fbb3ee.entry.js} +2 -2
- package/dist/paperless/p-b0882e61.entry.js +2 -0
- package/dist/paperless/{p-dbadeb2a.entry.js.map → p-b0882e61.entry.js.map} +1 -1
- package/dist/paperless/p-ca4798ea.entry.js +2 -0
- package/dist/paperless/{p-f8aa1cac.entry.js.map → p-ca4798ea.entry.js.map} +1 -1
- package/dist/paperless/p-da0dd04e.entry.js +2 -0
- package/dist/{build/p-36705eff.entry.js.map → paperless/p-da0dd04e.entry.js.map} +1 -1
- package/dist/{build/p-178a9622.entry.js → paperless/p-daf0d6ed.entry.js} +2 -2
- package/dist/{build/p-e5023a73.entry.js → paperless/p-de73fa10.entry.js} +2 -2
- package/dist/{build/p-e5023a73.entry.js.map → paperless/p-de73fa10.entry.js.map} +1 -1
- package/dist/paperless/{p-11f5c8c7.entry.js → p-e706d760.entry.js} +2 -2
- package/dist/paperless/{p-11f5c8c7.entry.js.map → p-e706d760.entry.js.map} +1 -1
- package/dist/paperless/p-f65beea2.entry.js +2 -0
- package/dist/{build/p-e6b0dbdc.entry.js.map → paperless/p-f65beea2.entry.js.map} +1 -1
- package/dist/{build/p-2db30595.entry.js → paperless/p-f9752a7d.entry.js} +2 -2
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/hydrate/index.js +24 -60
- package/package.json +1 -1
- package/dist/build/p-23f19585.entry.js.map +0 -1
- package/dist/build/p-36705eff.entry.js +0 -2
- package/dist/build/p-c6be1eab.entry.js +0 -2
- package/dist/build/p-dbadeb2a.entry.js +0 -2
- package/dist/build/p-e6b0dbdc.entry.js +0 -2
- package/dist/build/p-f8aa1cac.entry.js +0 -2
- package/dist/paperless/p-23f19585.entry.js.map +0 -1
- package/dist/paperless/p-36705eff.entry.js +0 -2
- package/dist/paperless/p-c6be1eab.entry.js +0 -2
- package/dist/paperless/p-dbadeb2a.entry.js +0 -2
- package/dist/paperless/p-e6b0dbdc.entry.js +0 -2
- package/dist/paperless/p-f8aa1cac.entry.js +0 -2
- /package/dist/build/{p-47bcc23e.entry.js.map → p-091ce2d6.entry.js.map} +0 -0
- /package/dist/build/{p-6cb21186.entry.js.map → p-19d3374e.entry.js.map} +0 -0
- /package/dist/build/{p-32e40e8a.entry.js.map → p-99fbb3ee.entry.js.map} +0 -0
- /package/dist/build/{p-178a9622.entry.js.map → p-daf0d6ed.entry.js.map} +0 -0
- /package/dist/build/{p-2db30595.entry.js.map → p-f9752a7d.entry.js.map} +0 -0
- /package/dist/paperless/{p-47bcc23e.entry.js.map → p-091ce2d6.entry.js.map} +0 -0
- /package/dist/paperless/{p-6cb21186.entry.js.map → p-19d3374e.entry.js.map} +0 -0
- /package/dist/paperless/{p-32e40e8a.entry.js.map → p-99fbb3ee.entry.js.map} +0 -0
- /package/dist/paperless/{p-178a9622.entry.js.map → p-daf0d6ed.entry.js.map} +0 -0
- /package/dist/paperless/{p-2db30595.entry.js.map → p-f9752a7d.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownComponentCss","Dropdown","this","_loaded","componentShouldUpdate","_update","disconnectedCallback","_cleanup","render","h","Host","class","ref","_trigger","onClick","_triggerClickHandler","onSlotchange","ev","_checkButton","name","role","maxWidth","calculateWidth","applyMaxWidth","fullWidth","applyFullWidth","el","_load","placement","strategy","_containerClickHandler","target","slot","children","assignedElements","child","nodeName","chevronPosition","chevron","chevronDirection","indexOf","onShowChange","show","_hide","_show","documentClickHandler","_menu","hasAttribute","childOf","_el","insideClick","disableTriggerClick","popover","setTimeout","style","width","clientWidth","autoUpdate","setAttribute","isOpen","emit","removeAttribute","computePosition","middleware","offset","flip","shift","then","x","y","dataset","Object","assign","top","left","dropdownMenuItemComponentCss","DropdownMenuItem","active","enableHover","icon","variant"],"sources":["./src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown&encapsulation=shadow","./src/components/molecules/dropdown/dropdown.component.tsx","./src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.scss?tag=p-dropdown-menu-item&encapsulation=shadow","./src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.tsx"],"sourcesContent":[":host {\n @apply relative block;\n\n .trigger {\n @apply relative block h-auto w-auto;\n }\n\n p-dropdown-menu-container {\n @apply left-0 top-0 z-dropdown hidden;\n\n &[data-show] {\n @apply flex;\n }\n\n &[data-strategy='absolute'] {\n @apply absolute;\n }\n\n &[data-strategy='fixed'] {\n @apply fixed;\n }\n }\n}\n","import {\n autoUpdate,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n Strategy\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n Watch\n} from '@stencil/core';\nimport { childOf } from '../../../utils/child-of';\n\n@Component({\n tag: 'p-dropdown',\n styleUrl: 'dropdown.component.scss',\n shadow: true,\n})\nexport class Dropdown {\n /**\n * The content of the dropdown menu\n */\n @Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n /**\n * The strategy of the popover placement\n */\n @Prop() strategy: Strategy = 'absolute';\n\n /**\n * Wether to show the dropdown menu\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to automatically calculate the width of the menu based on the trigger\n */\n @Prop() calculateWidth: boolean = false;\n\n /**\n * Wether to apply the max width\n */\n @Prop() applyMaxWidth: boolean = true;\n\n /**\n * Wether to apply the full width\n */\n @Prop() applyFullWidth: boolean = true;\n\n /**\n * Wether to automatically close the dropdown menu after clicking inside\n */\n @Prop() insideClick: boolean = false;\n\n /**\n * Wether to automatically close the dropdown menu after clicking inside\n */\n @Prop() disableTriggerClick: boolean = false;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'end';\n\n /**\n * Chevron direction\n */\n @Prop() chevronDirection: 'up' | 'down';\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Open change event\n */\n @Event({\n bubbles: false\n }) isOpen: EventEmitter<boolean>;\n\n private _loaded = false;\n private _trigger: HTMLElement;\n private _menu: HTMLElement;\n private _cleanup: () => void;\n\n componentShouldUpdate() {\n this._update();\n }\n\n disconnectedCallback() {\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = null;\n }\n }\n\n render() {\n return (\n <Host class=\"p-dropdown\">\n <div\n class=\"trigger\"\n ref={(ref) => (this._trigger = ref)}\n onClick={() => this._triggerClickHandler()}\n >\n <slot\n onSlotchange={(ev) => this._checkButton(ev)}\n name=\"trigger\"\n />\n </div>\n <p-dropdown-menu-container\n role=\"popover\"\n maxWidth={!this.calculateWidth && this.applyMaxWidth}\n fullWidth={this.applyFullWidth && !this.applyMaxWidth}\n ref={(el) => this._load(el)}\n data-placement={this.placement}\n data-strategy={this.strategy}\n onClick={() => this._containerClickHandler()}\n >\n <slot name=\"items\" />\n </p-dropdown-menu-container>\n </Host>\n );\n }\n\n private _checkButton({ target }: Event) {\n const slot = target as HTMLSlotElement;\n const children = slot.assignedElements();\n\n for (let child of children) {\n if (child.nodeName === 'P-BUTTON') {\n (child as any).chevronPosition = this.chevronPosition;\n (child as any).chevron = this.chevronDirection\n ? this.chevronDirection\n : this.placement.indexOf('top') >= 0\n ? 'up'\n : 'down';\n }\n }\n }\n\n @Watch('show')\n protected onShowChange(show) {\n if (!this._loaded) {\n return;\n }\n\n if (!show) {\n this._hide();\n return;\n }\n\n this._show();\n }\n\n @Listen('click', { target: 'document', capture: true })\n protected documentClickHandler({ target }) {\n if (\n !this._menu.hasAttribute('data-show') ||\n childOf(target, this._el)\n ) {\n return;\n }\n\n this._hide();\n }\n\n private _containerClickHandler() {\n if (this.insideClick) {\n return;\n }\n\n if (this._menu.hasAttribute('data-show')) {\n this._hide();\n }\n }\n\n private _triggerClickHandler() {\n if (this.disableTriggerClick) {\n return;\n }\n\n if (this._menu.hasAttribute('data-show')) {\n this._hide();\n return;\n }\n\n this._show();\n }\n\n private _load(popover: HTMLElement) {\n this._menu = popover;\n if (popover) {\n this._update();\n this._loaded = true;\n\n if (this.show) {\n setTimeout(() => this._show(), 100);\n }\n }\n }\n\n private _show() {\n if (!this._loaded) {\n return;\n }\n\n // Make the popover visible\n if (this.calculateWidth) {\n this._menu.style.width = `${this._trigger.clientWidth}px`;\n }\n\n this._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n this._menu.setAttribute('data-show', '');\n this.isOpen.emit(true);\n }\n\n private _hide() {\n if (!this._loaded || this.show) {\n return;\n }\n\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = null;\n }\n\n // Hide the popover\n this._menu.removeAttribute('data-show');\n this.isOpen.emit(false);\n }\n\n private _update() {\n if (!this._menu) {\n return;\n }\n\n computePosition(this._el, this._menu, {\n placement: this.placement,\n strategy: this.strategy,\n middleware: [offset(8), flip(), shift()],\n }).then(({ x, y, placement }) => {\n this._menu.dataset.placement = placement;\n Object.assign(this._menu.style, {\n top: `${y}px`,\n left: `${x}px`,\n });\n });\n }\n}\n",":host {\n @apply flex h-8 w-full items-center gap-2 rounded px-2;\n @apply text-sm font-semibold text-storm;\n @apply cursor-pointer;\n\n .text-container {\n @apply block w-full overflow-hidden text-ellipsis whitespace-nowrap;\n }\n}\n\n:host(.hover:hover) {\n @apply bg-indigo-light text-storm;\n}\n\n:host(.active) {\n @apply bg-indigo-light text-indigo;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { IconVariant } from '../icon/icon.component';\n\n@Component({\n tag: 'p-dropdown-menu-item',\n styleUrl: 'dropdown-menu-item.component.scss',\n shadow: true,\n})\nexport class DropdownMenuItem {\n /**\n * Wether the dropdown menu item is active\n */\n @Prop() active: boolean = false;\n\n /**\n * Wether to enable the hover state\n */\n @Prop() enableHover: boolean = true;\n\n /**\n * Icon of the navigation item\n */\n @Prop() icon: IconVariant;\n\n render() {\n return (\n <Host\n class={`p-dropdown-menu-item ${this.active && 'active'} ${\n this.enableHover && 'hover'\n }`}\n >\n {this.icon && <p-icon variant={this.icon} />}\n\n <div class=\"text-container\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["dropdownComponentCss","Dropdown","this","_loaded","componentShouldUpdate","_update","disconnectedCallback","_cleanup","render","h","Host","class","ref","_trigger","onClick","_triggerClickHandler","onSlotchange","ev","_checkButton","name","role","maxWidth","calculateWidth","applyMaxWidth","fullWidth","applyFullWidth","el","_load","placement","strategy","_containerClickHandler","target","slot","children","assignedElements","child","nodeName","chevronPosition","chevron","chevronDirection","indexOf","onShowChange","show","_hide","_show","documentClickHandler","_menu","hasAttribute","childOf","_el","insideClick","disableTriggerClick","popover","setTimeout","style","width","clientWidth","autoUpdate","setAttribute","isOpen","emit","removeAttribute","computePosition","middleware","offset","flip","shift","then","x","y","dataset","Object","assign","top","left","dropdownMenuItemComponentCss","DropdownMenuItem","active","enableHover","icon","variant"],"sources":["./src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown&encapsulation=shadow","./src/components/molecules/dropdown/dropdown.component.tsx","./src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.scss?tag=p-dropdown-menu-item&encapsulation=shadow","./src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.tsx"],"sourcesContent":[":host {\n @apply relative block;\n\n .trigger {\n @apply relative block h-auto w-auto;\n }\n\n p-dropdown-menu-container {\n @apply left-0 top-0 z-dropdown hidden;\n\n &[data-show] {\n @apply flex;\n }\n\n &[data-strategy='absolute'] {\n @apply absolute;\n }\n\n &[data-strategy='fixed'] {\n @apply fixed;\n }\n }\n}\n","import {\n autoUpdate,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n Strategy\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n Watch\n} from '@stencil/core';\nimport { childOf } from '../../../utils/child-of';\n\n@Component({\n tag: 'p-dropdown',\n styleUrl: 'dropdown.component.scss',\n shadow: true,\n})\nexport class Dropdown {\n /**\n * The content of the dropdown menu\n */\n @Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n /**\n * The strategy of the popover placement\n */\n @Prop() strategy: Strategy = 'absolute';\n\n /**\n * Wether to show the dropdown menu\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to automatically calculate the width of the menu based on the trigger\n */\n @Prop() calculateWidth: boolean = false;\n\n /**\n * Wether to apply the max width\n */\n @Prop() applyMaxWidth: boolean = true;\n\n /**\n * Wether to apply the full width\n */\n @Prop() applyFullWidth: boolean = true;\n\n /**\n * Wether to automatically close the dropdown menu after clicking inside\n */\n @Prop() insideClick: boolean = false;\n\n /**\n * Wether to automatically close the dropdown menu after clicking inside\n */\n @Prop() disableTriggerClick: boolean = false;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'end';\n\n /**\n * Chevron direction\n */\n @Prop() chevronDirection: 'up' | 'down';\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Open change event\n */\n @Event({\n bubbles: false\n }) isOpen: EventEmitter<boolean>;\n\n private _loaded = false;\n private _trigger: HTMLElement;\n private _menu: HTMLElement;\n private _cleanup: () => void;\n\n componentShouldUpdate() {\n this._update();\n }\n\n disconnectedCallback() {\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = null;\n }\n }\n\n render() {\n return (\n <Host class=\"p-dropdown\">\n <div\n class=\"trigger\"\n ref={(ref) => (this._trigger = ref)}\n onClick={() => this._triggerClickHandler()}\n >\n <slot\n onSlotchange={(ev) => this._checkButton(ev)}\n name=\"trigger\"\n />\n </div>\n <p-dropdown-menu-container\n role=\"popover\"\n maxWidth={!this.calculateWidth && this.applyMaxWidth}\n fullWidth={this.applyFullWidth && !this.applyMaxWidth}\n ref={(el) => this._load(el)}\n data-placement={this.placement}\n data-strategy={this.strategy}\n onClick={() => this._containerClickHandler()}\n >\n <slot name=\"items\" />\n </p-dropdown-menu-container>\n </Host>\n );\n }\n\n private _checkButton({ target }: Event) {\n const slot = target as HTMLSlotElement;\n const children = slot.assignedElements();\n\n for (let child of children) {\n if (child.nodeName === 'P-BUTTON') {\n (child as any).chevronPosition = this.chevronPosition;\n (child as any).chevron = this.chevronDirection\n ? this.chevronDirection\n : this.placement.indexOf('top') >= 0\n ? 'up'\n : 'down';\n }\n }\n }\n\n @Watch('show')\n protected onShowChange(show) {\n if (!this._loaded) {\n return;\n }\n\n if (!show) {\n this._hide();\n return;\n }\n\n this._show();\n }\n\n @Listen('click', { target: 'document', capture: true })\n protected documentClickHandler({ target }) {\n if (\n !this._menu.hasAttribute('data-show') ||\n childOf(target, this._el)\n ) {\n return;\n }\n\n this._hide();\n }\n\n private _containerClickHandler() {\n if (this.insideClick) {\n return;\n }\n\n if (this._menu.hasAttribute('data-show')) {\n this._hide();\n }\n }\n\n private _triggerClickHandler() {\n if (this.disableTriggerClick) {\n return;\n }\n\n if (this._menu.hasAttribute('data-show')) {\n this._hide();\n return;\n }\n\n this._show();\n }\n\n private _load(popover: HTMLElement) {\n this._menu = popover;\n if (popover) {\n this._update();\n this._loaded = true;\n\n if (this.show) {\n setTimeout(() => this._show(), 100);\n }\n }\n }\n\n private _show() {\n if (!this._loaded) {\n return;\n }\n\n // Make the popover visible\n if (this.calculateWidth) {\n this._menu.style.width = `${this._trigger.clientWidth}px`;\n }\n\n this._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n this._menu.setAttribute('data-show', '');\n this.isOpen.emit(true);\n }\n\n private _hide() {\n if (!this._loaded || this.show) {\n return;\n }\n\n if (this._cleanup) {\n this._cleanup();\n this._cleanup = null;\n }\n\n // Hide the popover\n this._menu.removeAttribute('data-show');\n this.isOpen.emit(false);\n }\n\n private _update() {\n if (!this._menu) {\n return;\n }\n\n computePosition(this._el, this._menu, {\n placement: this.placement,\n strategy: this.strategy,\n middleware: [offset(8), flip(), shift()],\n }).then(({ x, y, placement }) => {\n this._menu.dataset.placement = placement;\n Object.assign(this._menu.style, {\n top: `${y}px`,\n left: `${x}px`,\n });\n });\n }\n}\n",":host {\n @apply flex h-8 w-full items-center gap-2 rounded px-2;\n @apply text-sm font-semibold text-storm;\n @apply cursor-pointer;\n\n .text-container {\n @apply block w-full overflow-hidden text-ellipsis whitespace-nowrap;\n }\n}\n\n:host(.hover:hover) {\n @apply bg-indigo-light text-storm;\n}\n\n:host(.active) {\n @apply bg-indigo-light text-indigo;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { IconVariant } from '../icon/icon.component';\n\n@Component({\n tag: 'p-dropdown-menu-item',\n styleUrl: 'dropdown-menu-item.component.scss',\n shadow: true,\n})\nexport class DropdownMenuItem {\n /**\n * Wether the dropdown menu item is active\n */\n @Prop() active: boolean = false;\n\n /**\n * Wether to enable the hover state\n */\n @Prop() enableHover: boolean = true;\n\n /**\n * Icon of the navigation item\n */\n @Prop() icon: IconVariant;\n\n render() {\n return (\n <Host\n class={`p-dropdown-menu-item ${this.active && 'active'} ${\n this.enableHover && 'hover'\n }`}\n >\n {this.icon && <p-icon variant={this.icon} />}\n\n <div class=\"text-container\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|