@pine-ds/core 3.15.0 → 3.15.2-dev.0
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/components/pds-dropdown-menu-item.js +3 -3
- package/components/pds-dropdown-menu-item.js.map +1 -1
- package/components/pds-multiselect.js +63 -32
- package/components/pds-multiselect.js.map +1 -1
- package/components/pds-table-row.js +1 -1
- package/components/pds-table-row.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-dropdown-menu-item.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-multiselect.cjs.entry.js +62 -32
- package/dist/cjs/pds-multiselect.entry.cjs.js.map +1 -1
- package/dist/cjs/pds-table-row.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-row.entry.cjs.js.map +1 -1
- package/dist/cjs/pine-core.cjs.js +1 -1
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js +3 -3
- package/dist/collection/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.js.map +1 -1
- package/dist/collection/components/pds-multiselect/pds-multiselect.js +81 -32
- package/dist/collection/components/pds-multiselect/pds-multiselect.js.map +1 -1
- package/dist/collection/components/pds-table/pds-table-row/pds-table-row.css +1 -1
- package/dist/docs.json +26 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm/pds-multiselect.entry.js +62 -32
- package/dist/esm/pds-multiselect.entry.js.map +1 -1
- package/dist/esm/pds-table-row.entry.js +1 -1
- package/dist/esm/pds-table-row.entry.js.map +1 -1
- package/dist/esm/pine-core.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js +1 -1
- package/dist/esm-es5/pds-dropdown-menu-item.entry.js.map +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js +1 -1
- package/dist/esm-es5/pds-multiselect.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-row.entry.js +1 -1
- package/dist/esm-es5/pds-table-row.entry.js.map +1 -1
- package/dist/esm-es5/pine-core.js +1 -1
- package/dist/pine-core/{p-4ed357a4.entry.js → p-4c2809cb.entry.js} +2 -2
- package/dist/pine-core/p-4c2809cb.entry.js.map +1 -0
- package/dist/pine-core/{p-795e1727.entry.js → p-56cf3af8.entry.js} +2 -2
- package/dist/pine-core/{p-ef56bc80.system.entry.js → p-5f552640.system.entry.js} +2 -2
- package/dist/pine-core/p-93d0be59.entry.js +2 -0
- package/dist/pine-core/{p-88dd25dd.entry.js.map → p-93d0be59.entry.js.map} +1 -1
- package/dist/pine-core/p-Dtx30lCy.system.js.map +1 -0
- package/dist/pine-core/p-JAVnELnm.system.js +1 -1
- package/dist/pine-core/p-ZUqfslIz.system.js.map +1 -0
- package/dist/pine-core/p-aeb2f6ac.system.entry.js +2 -0
- package/dist/pine-core/{p-63a669c9.system.entry.js.map → p-aeb2f6ac.system.entry.js.map} +1 -1
- package/dist/pine-core/p-anXbtQm4.system.js.map +1 -0
- package/dist/pine-core/{p-ae359dc7.system.entry.js → p-b98a04cd.system.entry.js} +2 -2
- package/dist/pine-core/p-b98a04cd.system.entry.js.map +1 -0
- package/dist/pine-core/pds-dropdown-menu-item.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-multiselect.entry.esm.js.map +1 -1
- package/dist/pine-core/pds-table-row.entry.esm.js.map +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/dist/types/components/pds-multiselect/pds-multiselect.d.ts +5 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/vscode.html-data.json +10343 -0
- package/hydrate/index.js +68 -37
- package/hydrate/index.mjs +68 -37
- package/package.json +2 -2
- package/dist/pine-core/p-4ed357a4.entry.js.map +0 -1
- package/dist/pine-core/p-63a669c9.system.entry.js +0 -2
- package/dist/pine-core/p-88dd25dd.entry.js +0 -2
- package/dist/pine-core/p-CWPG1B5Z.system.js.map +0 -1
- package/dist/pine-core/p-DgtQU13G.system.js.map +0 -1
- package/dist/pine-core/p-DwXA2Glx.system.js.map +0 -1
- package/dist/pine-core/p-ae359dc7.system.entry.js.map +0 -1
- /package/dist/pine-core/{p-795e1727.entry.js.map → p-56cf3af8.entry.js.map} +0 -0
- /package/dist/pine-core/{p-ef56bc80.system.entry.js.map → p-5f552640.system.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p-ZUqfslIz.system.js","sources":["src/components/pds-table/pds-table-row/pds-table-row.scss?tag=pds-table-row&encapsulation=shadow","src/components/pds-table/pds-table-row/pds-table-row.tsx"],"sourcesContent":[":host {\n --color-background-interactive: var(--pine-color-background-subtle);\n\n border-color: inherit;\n display: table-row;\n vertical-align: inherit;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--pine-color-background-container);\n inset-inline-start: var(--pine-dimension-none);\n position: sticky;\n z-index: var(--pine-z-index-raised);\n }\n}\n\n:host(:hover),\n:host(:hover)::part(checkbox-cell),\n:host(:hover) ::slotted(pds-table-cell),\n:host(.is-selected),\n:host(.is-selected)::part(checkbox-cell),\n:host(.is-selected) ::slotted(pds-table-cell) {\n background: var(--color-background-interactive);\n}\n\n:host(.has-divider) ::slotted(pds-table-cell),\n:host(.has-divider) pds-table-cell {\n border-block-end: var(--pine-border-width-thin) solid var(--pine-color-border-subtle);\n}\n\n:host(.has-divider.is-last-row) ::slotted(pds-table-cell),\n:host(.has-divider.is-last-row) pds-table-cell {\n border-block-end: 0;\n}\n","import { Component, Element, Host, h, Event, EventEmitter, Prop, State } from '@stencil/core';\n\nimport { closest } from '../../../utils/closest';\n\n@Component({\n tag: 'pds-table-row',\n styleUrls: ['pds-table-row.scss'],\n shadow: true,\n})\nexport class PdsTableRow {\n @Element() hostElement: HTMLPdsTableRowElement;\n private tableRef: HTMLPdsTableElement;\n private observer: MutationObserver | null = null;\n private bodyObserver: MutationObserver | null = null;\n\n /**\n * Determines if the row selected is in an indeterminate state.\n */\n @Prop({ mutable: true }) indeterminate?: boolean;\n\n /**\n * Determines if the table row is currently selected.\n */\n @Prop({ mutable: true }) isSelected?: boolean;\n\n /**\n * Determines if the row should have a divider border.\n * @defaultValue false\n */\n @State() private hasDivider: boolean = false;\n\n /**\n * Determines if this is the last row in the table body.\n * @defaultValue false\n */\n @State() private isLastRow: boolean = false;\n\n /**\n * Event that is emitted when the checkbox is clicked, carrying the selected value.\n */\n @Event() pdsTableRowSelected: EventEmitter<{ rowIndex: number; isSelected: boolean; }>;\n\n private handleClick = () => {\n this.isSelected = !this.isSelected; // Toggle the selected state\n this.handleSelect(this.isSelected);\n }\n\n private handleSelect = (isSelected: boolean) => {\n this.indeterminate = false;\n\n if (!closest('pds-table-head', this.hostElement)) {\n const rowIndex = Array.from(this.hostElement.parentNode.children).indexOf(this.hostElement)\n this.pdsTableRowSelected.emit({\n rowIndex,\n isSelected,\n })\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.isSelected) {\n classNames.push(\"is-selected\");\n }\n\n if (this.hasDivider) {\n classNames.push(\"has-divider\");\n }\n\n if (this.isLastRow) {\n classNames.push(\"is-last-row\");\n }\n\n return classNames.join(' ');\n }\n\n componentWillRender() {\n // Always refresh tableRef to get latest prop values\n // This ensures we pick up changes to parent table props\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-cell');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n\n componentWillLoad() {\n // Handle initial selection state\n if (this.isSelected) {\n this.handleSelect(this.isSelected);\n }\n // Note: tableRef, observers, and divider state are set up in connectedCallback\n // which runs before componentWillLoad and also handles row re-attachment after sorting\n }\n\n connectedCallback() {\n // When a row is re-attached to the DOM (e.g., after sorting),\n // we need to re-setup the observers since disconnectedCallback cleared them\n // Note: componentDidLoad only fires once, but connectedCallback fires every time\n // the element is attached to the DOM (including after being moved)\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n this.setupObservers();\n this.updateDividerState();\n }\n\n disconnectedCallback() {\n this.cleanupObservers();\n }\n\n private cleanupObservers() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n if (this.bodyObserver) {\n this.bodyObserver.disconnect();\n this.bodyObserver = null;\n }\n }\n\n private setupObservers() {\n // Clean up any existing observers first\n this.cleanupObservers();\n\n // Watch for changes to the parent table's row-dividers attribute\n if (this.tableRef && typeof MutationObserver !== 'undefined') {\n this.observer = new MutationObserver(() => {\n this.updateDividerState();\n });\n\n this.observer.observe(this.tableRef, {\n attributes: true,\n attributeFilter: ['row-dividers']\n });\n }\n\n // Watch for child list changes in table body (e.g., when rows are reordered during sorting)\n const tableBody = this.hostElement.closest('pds-table-body');\n if (tableBody && typeof MutationObserver !== 'undefined') {\n this.bodyObserver = new MutationObserver(() => {\n this.updateLastRowState();\n });\n\n this.bodyObserver.observe(tableBody, {\n childList: true\n });\n }\n }\n\n private shouldHaveDivider(): boolean {\n if (!this.tableRef) {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n // Reads the parent pds-table component's rowDividers property value directly\n return !!(this.tableRef && this.tableRef.rowDividers);\n }\n\n private updateDividerState() {\n this.hasDivider = this.shouldHaveDivider();\n this.updateLastRowState();\n }\n\n private updateLastRowState() {\n if (!this.hasDivider) {\n this.isLastRow = false;\n return;\n }\n\n const tableBody = this.hostElement.closest('pds-table-body');\n if (tableBody) {\n const rows = Array.from(tableBody.querySelectorAll('pds-table-row'));\n this.isLastRow = rows[rows.length - 1] === this.hostElement;\n } else {\n this.isLastRow = false;\n }\n }\n\n private generateUniqueId = () => {\n const randomString = Math.random().toString(36).substring(2, 8);\n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const uniqueId = `${randomString}-${timestamp}`;\n\n return uniqueId;\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"row\"\n part=\"row\"\n >\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : 'checkbox-cell'} class={this.tableRef.selectable ? 'has-checkbox' : ''} >\n <pds-checkbox\n componentId={this.generateUniqueId()}\n onClick={this.handleClick}\n indeterminate={this.indeterminate}\n label={\"Select Row\"}\n hideLabel={true}\n checked={this.isSelected}\n part=\"row-checkbox\"\n />\n </pds-table-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./p-5D9wXQuJ.system.js","./p-kYMYDfJY.system.js"],(function(t){"use strict";var e,i,s,r,o,n;return{setters:[function(t){e=t.r;i=t.c;s=t.h;r=t.H;o=t.a},function(t){n=t.c}],execute:function(){var h=":host{--color-background-interactive:var(--pine-color-background-subtle);border-color:inherit;display:table-row;vertical-align:inherit}:host::part(checkbox-cell){background-color:var(--pine-color-background-container);inset-inline-start:var(--pine-dimension-none);position:-webkit-sticky;position:sticky;z-index:var(--pine-z-index-raised)}:host(:hover),:host(:hover)::part(checkbox-cell),:host(:hover) ::slotted(pds-table-cell),:host(.is-selected),:host(.is-selected)::part(checkbox-cell),:host(.is-selected) ::slotted(pds-table-cell){background:var(--color-background-interactive)}:host(.has-divider) ::slotted(pds-table-cell),:host(.has-divider) pds-table-cell{-webkit-border-after:var(--pine-border-width-thin) solid var(--pine-color-border-subtle);border-block-end:var(--pine-border-width-thin) solid var(--pine-color-border-subtle)}:host(.has-divider.is-last-row) ::slotted(pds-table-cell),:host(.has-divider.is-last-row) pds-table-cell{-webkit-border-after:0;border-block-end:0}";var l=t("pds_table_row",function(){function t(t){var s=this;e(this,t);this.pdsTableRowSelected=i(this,"pdsTableRowSelected");this.observer=null;this.bodyObserver=null;this.hasDivider=false;this.isLastRow=false;this.handleClick=function(){s.isSelected=!s.isSelected;s.handleSelect(s.isSelected)};this.handleSelect=function(t){s.indeterminate=false;if(!n("pds-table-head",s.hostElement)){var e=Array.from(s.hostElement.parentNode.children).indexOf(s.hostElement);s.pdsTableRowSelected.emit({rowIndex:e,isSelected:t})}};this.generateUniqueId=function(){var t=Math.random().toString(36).substring(2,8);var e=(new Date).toISOString().replace(/[:.]/g,"-");var i="".concat(t,"-").concat(e);return i}}t.prototype.classNames=function(){var t=[];if(this.isSelected){t.push("is-selected")}if(this.hasDivider){t.push("has-divider")}if(this.isLastRow){t.push("is-last-row")}return t.join(" ")};t.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table");if(this.tableRef&&this.tableRef.fixedColumn){var t=this.hostElement.querySelector("pds-table-cell");t===null||t===void 0?void 0:t.classList.add("is-fixed")}};t.prototype.componentWillLoad=function(){if(this.isSelected){this.handleSelect(this.isSelected)}};t.prototype.connectedCallback=function(){this.tableRef=this.hostElement.closest("pds-table");this.setupObservers();this.updateDividerState()};t.prototype.disconnectedCallback=function(){this.cleanupObservers()};t.prototype.cleanupObservers=function(){if(this.observer){this.observer.disconnect();this.observer=null}if(this.bodyObserver){this.bodyObserver.disconnect();this.bodyObserver=null}};t.prototype.setupObservers=function(){var t=this;this.cleanupObservers();if(this.tableRef&&typeof MutationObserver!=="undefined"){this.observer=new MutationObserver((function(){t.updateDividerState()}));this.observer.observe(this.tableRef,{attributes:true,attributeFilter:["row-dividers"]})}var e=this.hostElement.closest("pds-table-body");if(e&&typeof MutationObserver!=="undefined"){this.bodyObserver=new MutationObserver((function(){t.updateLastRowState()}));this.bodyObserver.observe(e,{childList:true})}};t.prototype.shouldHaveDivider=function(){if(!this.tableRef){this.tableRef=this.hostElement.closest("pds-table")}return!!(this.tableRef&&this.tableRef.rowDividers)};t.prototype.updateDividerState=function(){this.hasDivider=this.shouldHaveDivider();this.updateLastRowState()};t.prototype.updateLastRowState=function(){if(!this.hasDivider){this.isLastRow=false;return}var t=this.hostElement.closest("pds-table-body");if(t){var e=Array.from(t.querySelectorAll("pds-table-row"));this.isLastRow=e[e.length-1]===this.hostElement}else{this.isLastRow=false}};t.prototype.render=function(){return s(r,{key:"ad282466c93a2f9bc15dd466bdc4c6ac4e408042",class:this.classNames(),role:"row",part:"row"},this.tableRef&&this.tableRef.selectable&&s("pds-table-cell",{key:"19d88e362f07c3ce546356c1abdf7027e6701b3a",part:this.tableRef.fixedColumn?"checkbox-cell":"checkbox-cell",class:this.tableRef.selectable?"has-checkbox":""},s("pds-checkbox",{key:"e65963f7e2e6ac78f911451dd09a3f21e38ead45",componentId:this.generateUniqueId(),onClick:this.handleClick,indeterminate:this.indeterminate,label:"Select Row",hideLabel:true,checked:this.isSelected,part:"row-checkbox"})),s("slot",{key:"c17d0098092adbc45d84b3e497b6023e344eb260"}))};Object.defineProperty(t.prototype,"hostElement",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());l.style=h}}}));
|
|
2
|
+
//# sourceMappingURL=p-aeb2f6ac.system.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["System","register","exports","registerInstance","createEvent","h","Host","getElement","closest","setters","module","r","c","H","a","execute","pdsTableRowCss","PdsTableRow","class_1","hostRef","_this","this","pdsTableRowSelected","observer","bodyObserver","hasDivider","isLastRow","handleClick","isSelected","handleSelect","indeterminate","hostElement","rowIndex","Array","from","parentNode","children","indexOf","emit","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","prototype","classNames","push","join","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","componentWillLoad","connectedCallback","setupObservers","updateDividerState","disconnectedCallback","cleanupObservers","disconnect","MutationObserver","observe","attributes","attributeFilter","tableBody","updateLastRowState","childList","shouldHaveDivider","rowDividers","rows","querySelectorAll","length","render","key","class","role","part","selectable","componentId","onClick","label","hideLabel","checked","Object","defineProperty","style"],"sources":["module.ts"],"mappings":"AAAAA,OAAOC,SAAS,CAAC,yBAA0B,2BAA2B,SAAWC,GAC/E,aACA,IAAIC,EAAkBC,EAAaC,EAAGC,EAAMC,EAAYC,EACxD,MAAO,CACLC,QAAS,CAAC,SAAUC,GAClBP,EAAmBO,EAAOC,EAC1BP,EAAcM,EAAOE,EACrBP,EAAIK,EAAOL,EACXC,EAAOI,EAAOG,EACdN,EAAaG,EAAOI,CACtB,EAAG,SAAUJ,GACXF,EAAUE,EAAOE,CACnB,GACAG,QAAS,WAEP,IAAMC,EAAiB,
|
|
1
|
+
{"version":3,"names":["System","register","exports","registerInstance","createEvent","h","Host","getElement","closest","setters","module","r","c","H","a","execute","pdsTableRowCss","PdsTableRow","class_1","hostRef","_this","this","pdsTableRowSelected","observer","bodyObserver","hasDivider","isLastRow","handleClick","isSelected","handleSelect","indeterminate","hostElement","rowIndex","Array","from","parentNode","children","indexOf","emit","generateUniqueId","randomString","Math","random","toString","substring","timestamp","Date","toISOString","replace","uniqueId","concat","prototype","classNames","push","join","componentWillRender","tableRef","fixedColumn","tableCell","querySelector","classList","add","componentWillLoad","connectedCallback","setupObservers","updateDividerState","disconnectedCallback","cleanupObservers","disconnect","MutationObserver","observe","attributes","attributeFilter","tableBody","updateLastRowState","childList","shouldHaveDivider","rowDividers","rows","querySelectorAll","length","render","key","class","role","part","selectable","componentId","onClick","label","hideLabel","checked","Object","defineProperty","style"],"sources":["module.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p-anXbtQm4.system.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss?tag=pds-dropdown-menu-item&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.tsx"],"sourcesContent":[":host {\n cursor: pointer;\n display: flex;\n width: 100%; /* Ensure the host takes full width */\n}\n\n/* Make the disabled styles more specific and add !important to ensure they apply */\n:host(.is-disabled) {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n\n .pds-dropdown-menu-item__content {\n cursor: not-allowed !important;\n pointer-events: none !important;\n }\n}\n\n.pds-dropdown-menu-item__content {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text);\n display: flex;\n flex-grow: 1; /* Make it grow to fill available space */\n font: var(--pine-typography-body-medium);\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px);\n padding: var(--pine-dimension-xs);\n text-align: start; /* Ensure text aligns properly */\n width: 100%; /* Ensure full width */\n\n &:hover {\n background-color: var(--pine-color-background-muted);\n color: var(--pine-color-text-hover);\n }\n\n /* Focus styles applied via class + browser focus */\n &:focus,\n &:focus-visible,\n &.has-focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n}\n\n:host(.destructive) {\n .pds-dropdown-menu-item__content {\n align-items: center;\n color: var(--pine-color-danger);\n\n &:hover {\n background-color: var(--pine-color-danger-disabled);\n color: var(--pine-color-danger-hover);\n }\n\n &:focus,\n &:focus-visible,\n &.has-focus {\n background-color: var(--pine-color-danger-disabled);\n outline: var(--pine-outline-focus-danger);\n outline-offset: var(--pine-border-width);\n }\n }\n}\n\n/* Remove outline on contained links using the custom property */\npds-link::part(link):focus,\npds-link::part(link):focus-visible {\n box-shadow: none;\n outline: none;\n}\n\npds-link::part(link) {\n display: block;\n margin: calc(var(--pine-dimension-xs) * -1);\n padding: var(--pine-dimension-xs);\n text-decoration: none;\n width: calc(100% + var(--pine-dimension-xs) * 2);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\n\n@Component({\n tag: 'pds-dropdown-menu-item',\n styleUrl: 'pds-dropdown-menu-item.scss',\n shadow: true,\n})\nexport class PdsDropdownMenuItem implements BasePdsProps {\n @Element() host: HTMLPdsDropdownMenuItemElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * It determines whether or not the dropdown-item is destructive.\n * @defaultValue false\n */\n @Prop() destructive: boolean = false;\n\n /**\n * It determines whether or not the dropdown-item is disabled.\n * @defaultValue false\n */\n @Prop() disabled: boolean = false;\n\n\n /**\n * If provided, renders the dropdown-item as an anchor (`<a>`) element instead of a button.\n */\n @Prop() href: string | undefined;\n\n /**\n * Determines whether the link should open in a new tab and display an external icon.\n * This is a simpler alternative to using `target=\"_blank\"` for the common case.\n * @defaultValue false\n */\n @Prop({ reflect: true }) external: boolean = false;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Takes precedence over the `external` prop if both are set.\n * Only applies when href is set.\n * @defaultValue undefined\n */\n @Prop({ reflect: true }) target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Emitted when the dropdown-item is clicked.\n *\n */\n @Event() pdsClick: EventEmitter<{itemIndex: number, item: HTMLPdsDropdownMenuItemElement, content: string}>;\n\n /**\n * Trigger the click event\n */\n @Method()\n async clickItem() {\n this.handleClick();\n };\n\n\n private handleClick() {\n // Filter only pds-dropdown-menu-item elements and find the index of the current item\n const menuItems = Array.from(this.host.parentNode.children).filter(\n (child) => child.tagName.toLowerCase() === 'pds-dropdown-menu-item'\n );\n const itemIndex = menuItems.indexOf(this.host);\n\n // Get the text content from the slotted content\n const content = this.host.textContent?.trim() || '';\n\n this.pdsClick.emit({\n itemIndex,\n item: this.host,\n content\n });\n }\n\n @State() hasFocus: boolean = false;\n\n private handleFocus = () => {\n this.hasFocus = true;\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n }\n\n private renderElement() {\n if (this.href !== undefined) {\n return (\n <pds-link\n href={this.disabled ? null : this.href}\n external={this.external}\n target={this.target}\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </pds-link>\n );\n }\n\n return (\n <button\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n type=\"button\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n disabled={this.disabled}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </button>\n );\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Handle keyboard events\n if (!this.disabled && (event.key === 'Enter')) {\n // Only prevent default for button elements or Space key\n // For links with Enter key, we want the default navigation behavior\n if (!this.href) {\n event.preventDefault();\n }\n this.handleClick();\n }\n }\n\n render() {\n return (\n <Host id={this.componentId}\n class={{ 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }}\n onClick={() => !this.disabled && this.handleClick()}\n role=\"none\"\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.renderElement()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(e,i,t,n){function r(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n["throw"](e))}catch(e){s(e)}}function l(e){e.done?t(e.value):r(e.value).then(o,a)}l((n=n.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,r,s,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(i){return l([e,i])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(t=0)),t)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:t.label++;return{value:a[1],done:false};case 5:t.label++;r=a[1];a=[0];continue;case 7:a=t.ops.pop();t.trys.pop();continue;default:if(!(s=t.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){t=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){t.label=a[1];break}if(a[0]===6&&t.label<s[1]){t.label=s[1];s=a;break}if(s&&t.label<s[2]){t.label=s[2];t.ops.push(a);break}if(s[2])t.ops.pop();t.trys.pop();continue}a=i.call(e,t)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,i,t){if(t||arguments.length===2)for(var n=0,r=i.length,s;n<r;n++){if(s||!(n in i)){if(!s)s=Array.prototype.slice.call(i,0,n);s[n]=i[n]}}return e.concat(s||Array.prototype.slice.call(i))};System.register(["./p-5D9wXQuJ.system.js","./p-D2eS6fhD.system.js","./p-BG6uGRQj.system.js","./p-BHavepTY.system.js","./p-BxVkyfaO.system.js"],(function(e){"use strict";var i,t,n,r,s,o,a,l,d,c,u,p,h,f,v,m;return{setters:[function(e){i=e.r;t=e.c;n=e.h;r=e.H;s=e.a},function(e){o=e.a;a=e.c;l=e.o;d=e.f;c=e.s;u=e.b},function(e){p=e.d},function(e){h=e.a;f=e.m},function(e){v=e.e;m=e.b}],execute:function(){var b=":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-550);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";var _=e("pds_multiselect",function(){function e(e){var n=this;i(this,e);this.pdsMultiselectChange=t(this,"pdsMultiselectChange");this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch");this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions");this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate");this.placeholder="Select...";this.value=[];this.disabled=false;this.asyncMethod="GET";this.debounce=300;this.fetchTimeout=3e4;this.maxHeight="300px";this.triggerWidth="100%";this.minWidth="250px";this.hideLabel=false;this.required=false;this.loading=false;this.isOpen=false;this.searchQuery="";this.highlightedIndex=-1;this.internalOptions=[];this.selectedItems=[];this.currentPage=1;this.hasMore=false;this.creating=false;this.isOpening=false;this.handleTriggerClick=function(){if(n.disabled)return;if(n.isOpen){n.closeDropdown()}else{n.openDropdown()}};this.handleTriggerKeyDown=function(e){switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault();if(!n.isOpen){n.openDropdown()}break}};this.handleSearchInputChange=function(e){var i=e.target;n.searchQuery=i.value;n.highlightedIndex=-1;n.pdsMultiselectSearch.emit({query:n.searchQuery});if(n.asyncUrl){n.debouncedFetchAsyncOptions(n.searchQuery,1)}};this.handleSearchInputKeyDown=function(e){var i=n.getFilteredOptions();switch(e.key){case"ArrowDown":e.preventDefault();n.highlightedIndex=Math.min(n.highlightedIndex+1,i.length-1);n.scrollOptionIntoView();break;case"ArrowUp":e.preventDefault();n.highlightedIndex=Math.max(n.highlightedIndex-1,0);n.scrollOptionIntoView();break;case"Enter":e.preventDefault();if(n.highlightedIndex>=0){var t=i[n.highlightedIndex];if(t){n.selectOption(t)}}break;case"Tab":n.closeDropdown();break}};this.handleContainerFocusOut=function(){setTimeout((function(){var e;if(!n.isOpen||n.isOpening)return;var i=document.activeElement;var t=(e=n.el.shadowRoot)===null||e===void 0?void 0:e.contains(i);var r=i===n.el;if(!t&&!r){n.closeDropdown()}}),0)};this.handleOptionMouseDown=function(e){return function(i){i.preventDefault();n.toggleOption(e)}};this.handleOptionMouseEnter=function(e){return function(){n.highlightedIndex=e}};this.handleScroll=function(e){if(!n.asyncUrl||!n.hasMore||n.loading)return;var i=e.target;var t=i.scrollHeight-i.scrollTop-i.clientHeight;if(t<50){n.pdsMultiselectLoadOptions.emit({query:n.searchQuery,page:n.currentPage+1});n.debouncedFetchAsyncOptions(n.searchQuery,n.currentPage+1)}}}e.prototype.connectedCallback=function(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}};e.prototype.componentWillLoad=function(){this.originalSearchEmitter=this.pdsMultiselectSearch;this.syncSelectedItems()};e.prototype.componentDidLoad=function(){var e=this;this.setupDebounce();this.setupMutationObserver();this.setupSlotChangeListener();this.updateFormValue();requestAnimationFrame((function(){e.updateOptionsFromSlot();e.syncSelectedItems()}))};e.prototype.setupSlotChangeListener=function(){var e=this;var i;var t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");if(t){t.addEventListener("slotchange",(function(){e.updateOptionsFromSlot();e.syncSelectedItems()}));this.updateOptionsFromSlot()}};e.prototype.disconnectedCallback=function(){var e,i;(e=this.observer)===null||e===void 0?void 0:e.disconnect();(i=this.cleanupAutoUpdate)===null||i===void 0?void 0:i.call(this);this.clearAsyncFetchState()};e.prototype.setupDebounce=function(){var e=this,i=e.pdsMultiselectSearch,t=e.debounce,n=e.originalSearchEmitter;this.pdsMultiselectSearch=t===undefined?n!==null&&n!==void 0?n:i:p(i,t)};e.prototype.valueChanged=function(e){if(typeof e==="string"){try{var i=JSON.parse(e);if(Array.isArray(i)){this.value=i;return}}catch(i){this.value=e?[e]:[];return}}this.syncSelectedItems();this.updateFormValue()};e.prototype.optionsChanged=function(){if(this.options){this.internalOptions=__spreadArray([],this.options,true)}};e.prototype.internalOptionsChanged=function(){this.syncSelectedItems()};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){(e=this.triggerEl)===null||e===void 0?void 0:e.focus();return[2]}))}))};e.prototype.handleWindowKeyDown=function(e){var i;if(!this.isOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeDropdown();(i=this.triggerEl)===null||i===void 0?void 0:i.focus()}};e.prototype.setupMutationObserver=function(){var e=this;this.observer=new MutationObserver((function(){e.updateOptionsFromSlot()}));this.observer.observe(this.el,{childList:true,subtree:true})};e.prototype.updateOptionsFromSlot=function(){var e;var i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");if(!i)return;var t=i.assignedElements({flatten:true}).filter((function(e){return e.tagName==="OPTION"})).map((function(e){return{id:e.value,text:e.textContent||e.value}}));if(t.length>0&&!this.asyncUrl&&!this.options){this.internalOptions=t}};e.prototype.clearAsyncFetchState=function(){var e;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer);this.fetchDebounceTimer=undefined}if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}(e=this.abortController)===null||e===void 0?void 0:e.abort();this.abortController=undefined};e.prototype.debouncedFetchAsyncOptions=function(e,i){var t=this;if(i===void 0){i=1}var n;if(!this.asyncUrl)return;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer)}var r=Math.max(0,(n=this.debounce)!==null&&n!==void 0?n:0);this.fetchDebounceTimer=window.setTimeout((function(){t.fetchDebounceTimer=undefined;t.fetchOptions(e,i)}),r)};e.prototype.syncSelectedItems=function(){var e=this.ensureValueArray();var i=this.getAllOptions();this.selectedItems=e.map((function(e){return i.find((function(i){return String(i.id)===String(e)}))})).filter((function(e){return e!==undefined}))};e.prototype.ensureValueArray=function(){if(typeof this.value==="string"){try{var e=JSON.parse(this.value);if(Array.isArray(e)){this.value=e;return e}}catch(e){var i=this.value;this.value=i?[i]:[];return this.value}}return Array.isArray(this.value)?this.value:[]};e.prototype.getAllOptions=function(){return this.options||this.internalOptions};e.prototype.getFilteredOptions=function(){var e=this.getAllOptions();var i=this.searchQuery.toLowerCase();var t=e.filter((function(e){if(i){return e.text.toLowerCase().includes(i)}return true}));if(this.createUrl&&this.searchQuery.trim()&&t.length===0){return[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:true}]}return t};e.prototype.updateFormValue=function(){var e=this;var i;if((i=this.internals)===null||i===void 0?void 0:i.setFormValue){var t=this.ensureValueArray();var n=new FormData;t.forEach((function(i){if(e.name){n.append(e.name,i)}}));this.internals.setFormValue(n);if(this.required&&t.length===0){this.internals.setValidity({valueMissing:true},"Please select at least one option.",this.triggerEl)}else{this.internals.setValidity({})}}};e.prototype.fetchOptions=function(e){return __awaiter(this,arguments,void 0,(function(e,i){var t,n,r,s,o,a;var l=this;if(i===void 0){i=1}return __generator(this,(function(d){switch(d.label){case 0:if(!this.asyncUrl)return[2];(t=this.abortController)===null||t===void 0?void 0:t.abort();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}this.abortController=new AbortController;this.loading=true;this.fetchTimeoutTimer=window.setTimeout((function(){var e;(e=l.abortController)===null||e===void 0?void 0:e.abort();l.fetchTimeoutTimer=undefined}),this.fetchTimeout);d.label=1;case 1:d.trys.push([1,4,5,6]);n=void 0;try{n=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: ".concat(this.asyncUrl))}if(this.asyncMethod==="GET"){n.searchParams.set("search",e);n.searchParams.set("page",String(i))}return[4,fetch(n.toString(),Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:{"Content-Type":"application/json",Accept:"application/json"}},this.asyncMethod==="POST"&&{body:JSON.stringify({search:e,page:i})}))];case 2:r=d.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(!r.ok)throw new Error("Failed to fetch options");return[4,r.json()];case 3:s=d.sent();o=s.results.map((function(e){if(l.formatResult){return l.formatResult(e)}if(typeof e==="object"&&e!==null){return Object.assign({id:e.id,text:e.text},e)}return{id:String(e),text:String(e)}}));if(i===1){this.internalOptions=o}else{this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),o,true)}this.hasMore=s.totalCount?this.internalOptions.length<s.totalCount:false;this.currentPage=i;return[3,6];case 4:a=d.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(a.name!=="AbortError"){console.error("PdsMultiselect: Failed to fetch options",a)}return[3,6];case 5:this.loading=false;return[7];case 6:return[2]}}))}))};e.prototype.createOption=function(e){return __awaiter(this,void 0,void 0,(function(){var i,t,n,r,s;var o=this;return __generator(this,(function(a){switch(a.label){case 0:if(!this.createUrl||!e.trim())return[2];if(this.creating)return[2];this.creating=true;a.label=1;case 1:a.trys.push([1,4,5,6]);i=new URL(this.createUrl,window.location.origin);return[4,fetch(i.toString(),{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({text:e.trim()})})];case 2:t=a.sent();if(!t.ok)throw new Error("Failed to create option");return[4,t.json()];case 3:n=a.sent();r=Object.assign({id:n.id,text:n.text},n);this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),[r],false);this.value=__spreadArray(__spreadArray([],this.value,true),[String(r.id)],false);this.syncSelectedItems();this.pdsMultiselectCreate.emit({query:e.trim(),newOption:r});this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});this.searchQuery="";this.highlightedIndex=-1;requestAnimationFrame((function(){var e;(e=o.searchInputEl)===null||e===void 0?void 0:e.focus()}));return[3,6];case 4:s=a.sent();console.error("PdsMultiselect: Failed to create option",s);return[3,6];case 5:this.creating=false;return[7];case 6:return[2]}}))}))};e.prototype.openDropdown=function(){var e=this;if(this.disabled)return;this.isOpening=true;this.isOpen=true;this.highlightedIndex=-1;if(this.asyncUrl&&this.internalOptions.length===0){this.debouncedFetchAsyncOptions(this.searchQuery,1)}requestAnimationFrame((function(){var i;e.positionDropdown();(i=e.searchInputEl)===null||i===void 0?void 0:i.focus();setTimeout((function(){e.isOpening=false}),50)}))};e.prototype.closeDropdown=function(){this.isOpen=false;this.highlightedIndex=-1;this.searchQuery="";if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=undefined}};e.prototype.positionDropdown=function(){var e=this;if(!this.containerEl||!this.panelEl)return;var i=this.triggerEl||this.containerEl;var t=this,n=t.minWidth,r=t.panelWidth;var s=function(){a(i,e.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[l(12),d(),c({padding:8}),u({apply:function(e){var i=e.rects,t=e.elements;Object.assign(t.floating.style,{width:r!==null&&r!==void 0?r:"".concat(i.reference.width,"px"),minWidth:n})}})]}).then((function(i){var t=i.x,n=i.y;if(e.panelEl){e.panelEl.style.left="".concat(t,"px");e.panelEl.style.top="".concat(n,"px")}}))};s();var p=o(i,this.panelEl,s);this.cleanupAutoUpdate=function(){p();e.clearAsyncFetchState()}};e.prototype.scrollOptionIntoView=function(){var e=this;requestAnimationFrame((function(){var i;var t=(i=e.listboxEl)===null||i===void 0?void 0:i.querySelector('[data-index="'.concat(e.highlightedIndex,'"]'));t===null||t===void 0?void 0:t.scrollIntoView({block:"nearest",behavior:"smooth"})}))};e.prototype.toggleOption=function(e){var i;if(e.isCreateOption){if(!this.creating){this.createOption(this.searchQuery)}return}var t=this.value.includes(String(e.id));if(t){var n=this.value.filter((function(i){return i!==String(e.id)}));this.value=n;var r=this.selectedItems.filter((function(i){return String(i.id)!==String(e.id)}));this.pdsMultiselectChange.emit({values:n,items:r})}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}var n=__spreadArray(__spreadArray([],this.value,true),[String(e.id)],false);this.value=n;var r=__spreadArray(__spreadArray([],this.selectedItems,true),[e],false);this.pdsMultiselectChange.emit({values:n,items:r})}(i=this.searchInputEl)===null||i===void 0?void 0:i.focus()};e.prototype.selectOption=function(e){this.toggleOption(e)};e.prototype.renderSelectedItemsList=function(){if(this.selectedItems.length===0)return null;return n("div",{class:"pds-multiselect__selected-section"},n("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((function(e){return n("li",{key:String(e.id),class:"pds-multiselect__selected-item"},e.text)}))))};e.prototype.renderDropdown=function(){var e=this;if(!this.isOpen)return null;var i=this.getFilteredOptions();var t=this.ensureValueArray();var r=!!this.el.querySelector('[slot="empty"]');var s=!!this.el.querySelector('[slot="loading"]');return n("div",{class:"pds-multiselect__panel",ref:function(i){return e.panelEl=i},style:{minWidth:this.minWidth}},n("div",{class:"pds-multiselect__search"},n("pds-icon",{name:"search",size:"small"}),n("input",{ref:function(i){return e.searchInputEl=i},type:"text",class:"pds-multiselect__search-input",placeholder:"Find...",value:this.searchQuery,"aria-label":"Search options","aria-controls":"".concat(this.componentId,"-listbox"),"aria-activedescendant":this.highlightedIndex>=0?"".concat(this.componentId,"-option-").concat(this.highlightedIndex):undefined,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),n("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||"Options",id:"".concat(this.componentId,"-listbox"),ref:function(i){return e.listboxEl=i},style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&n("li",{class:"pds-multiselect__loading",role:"presentation"},s?n("slot",{name:"loading"}):n("pds-loader",{size:"small"})),!this.loading&&i.length===0&&n("li",{class:"pds-multiselect__empty",role:"presentation"},r?n("slot",{name:"empty"}):n("span",null,"No options found")),i.map((function(i,r){var s=t.includes(String(i.id));var o=i.isCreateOption;var a=r===e.highlightedIndex&&!o;var l="".concat(e.componentId,"-option-").concat(r);var d=o&&e.creating;return n("li",{key:String(i.id),id:l,class:{"pds-multiselect__option":true,"pds-multiselect__option--highlighted":a,"pds-multiselect__option--selected":s,"pds-multiselect__option--create":o,"pds-multiselect__option--disabled":d},role:"option","aria-selected":s?"true":"false","aria-disabled":d?"true":undefined,"aria-label":o?"Create new tag: ".concat(i.text):undefined,"data-index":r,onMouseDown:e.handleOptionMouseDown(i),onMouseEnter:e.handleOptionMouseEnter(r)},o?n("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},n("pds-icon",{name:"add",size:"small"}),n("pds-text",null,'Add "',i.text,'"')):n("pds-checkbox",{componentId:"".concat(e.componentId,"-checkbox-").concat(r),checked:s,label:i.text,style:{pointerEvents:"none"}}))})),this.hasMore&&!this.loading&&n("li",{class:"pds-multiselect__load-more",role:"presentation"},n("pds-loader",{size:"small"}))))};e.prototype.getTriggerText=function(){var e=this.selectedItems.length;if(e===0){return this.placeholder||"Select..."}return"".concat(e," item").concat(e===1?"":"s")};e.prototype.render=function(){var e=this;var i=this.selectedItems.length>0;return n(r,{key:"b03d0709427e89ae3971d2f1fdc42a6e6616e428","aria-disabled":this.disabled?"true":null},n("div",{key:"d71fc5ec468c6c54bafe93307a6b3e65c0fe5b81",class:"pds-multiselect"},this.label&&n("label",{key:"c15deeec84eac043bb7c8813327d0f942b892734",htmlFor:this.componentId,class:{"pds-multiselect__label":true,"visually-hidden":this.hideLabel}},this.label),n("div",{key:"f256795c69fd40f9c717d8c884d897032d3c4f49",class:"pds-multiselect__wrapper",ref:function(i){return e.containerEl=i},onFocusout:this.handleContainerFocusOut,style:{width:this.triggerWidth}},n("button",{key:"131f3141229ee14418737010615e9e1f2f430c4f",ref:function(i){return e.triggerEl=i},type:"button",class:{"pds-multiselect__trigger":true,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":i},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":undefined,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":h(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||!!this.errorMessage?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},n("span",{key:"3e61f1728014a97a193b6fa6158f21abd0d169c3",class:{"pds-multiselect__trigger-text":true,"pds-multiselect__trigger-text--placeholder":!i}},this.getTriggerText()),n("pds-icon",{key:"13bc74c492bf7ead5a77e42e92002b45389f1906",class:"pds-multiselect__icon",icon:v})),this.renderDropdown()),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&n("p",{key:"53d6219eb3b910a277b5025be11d2d0a742c0ee1",class:"pds-multiselect__helper",id:f(this.componentId,"helper")},this.helperMessage),this.errorMessage&&n("p",{key:"475fd9c02f8cc3cdd1f1911b3e71dce32e2f1743",class:"pds-multiselect__error",id:f(this.componentId,"error")},n("pds-icon",{key:"ab6fdb8a743caa1712fc30532c0c2b6099703564",icon:m,size:"small"}),this.errorMessage),n("div",{key:"64d5db05c6b0e04a6cbf899ccc30ee479c23e9d6",style:{display:"none"}},n("slot",{key:"378ceb06d78d5542ca40ed4852bb582da514028c"}))))};Object.defineProperty(e,"formAssociated",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{debounce:["setupDebounce"],value:["valueChanged"],options:["optionsChanged"],internalOptions:["internalOptionsChanged"]}},enumerable:false,configurable:true});return e}());_.style=b}}}));
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,i,t,n){function r(e){return e instanceof t?e:new t((function(i){i(e)}))}return new(t||(t=Promise))((function(t,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n["throw"](e))}catch(e){s(e)}}function l(e){e.done?t(e.value):r(e.value).then(o,a)}l((n=n.apply(e,i||[])).next())}))};var __generator=this&&this.__generator||function(e,i){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,r,s,o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(i){return l([e,i])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(t=0)),t)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:t.label++;return{value:a[1],done:false};case 5:t.label++;r=a[1];a=[0];continue;case 7:a=t.ops.pop();t.trys.pop();continue;default:if(!(s=t.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){t=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){t.label=a[1];break}if(a[0]===6&&t.label<s[1]){t.label=s[1];s=a;break}if(s&&t.label<s[2]){t.label=s[2];t.ops.push(a);break}if(s[2])t.ops.pop();t.trys.pop();continue}a=i.call(e,t)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,i,t){if(t||arguments.length===2)for(var n=0,r=i.length,s;n<r;n++){if(s||!(n in i)){if(!s)s=Array.prototype.slice.call(i,0,n);s[n]=i[n]}}return e.concat(s||Array.prototype.slice.call(i))};System.register(["./p-5D9wXQuJ.system.js","./p-D2eS6fhD.system.js","./p-BG6uGRQj.system.js","./p-BHavepTY.system.js","./p-BxVkyfaO.system.js"],(function(e){"use strict";var i,t,n,r,s,o,a,l,d,c,u,p,h,f,v,m;return{setters:[function(e){i=e.r;t=e.c;n=e.h;r=e.H;s=e.a},function(e){o=e.a;a=e.c;l=e.o;d=e.f;c=e.s;u=e.b},function(e){p=e.d},function(e){h=e.a;f=e.m},function(e){v=e.e;m=e.b}],execute:function(){var b=":host{display:block}:host([aria-disabled=true]) .pds-multiselect__trigger{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}:host([aria-disabled=true]) .pds-multiselect__icon{color:var(--pine-color-text-disabled)}.pds-multiselect{position:relative}.pds-multiselect__label{color:var(--pine-color-text-label);display:block;font:var(--pine-typography-body-medium);letter-spacing:var(--pine-letter-spacing);-webkit-margin-after:var(--pine-dimension-2xs);margin-block-end:var(--pine-dimension-2xs)}.pds-multiselect__wrapper{position:relative}.pds-multiselect__trigger{-ms-flex-align:center;align-items:center;background:var(--pine-color-background-container);border:var(--pine-border);border-radius:var(--pine-dimension-125);cursor:pointer;display:-ms-flexbox;display:flex;font:var(--pine-typography-body);gap:var(--pine-dimension-xs);-ms-flex-pack:justify;justify-content:space-between;letter-spacing:var(--pine-letter-spacing);min-height:var(--pine-dimension-550);padding:var(--pine-dimension-xs) var(--pine-dimension-sm);position:relative;text-align:start;-webkit-transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, -webkit-box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease;transition:border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;width:100%}.pds-multiselect__trigger:hover:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-hover)}.pds-multiselect__trigger:focus:not(.pds-multiselect__trigger--disabled){border-color:var(--pine-color-border-active);outline:var(--pine-outline-focus);outline-offset:var(--pine-border-width)}.pds-multiselect__trigger.pds-multiselect__trigger--open{border-color:var(--pine-color-border-active)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid{background-color:var(--pine-color-red-050);border-color:var(--pine-color-border-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--invalid:focus{outline-color:var(--pine-color-focus-ring-danger)}.pds-multiselect__trigger.pds-multiselect__trigger--disabled{background:var(--pine-color-background-container-disabled);border-color:var(--pine-color-border-disabled);color:var(--pine-color-text-disabled);cursor:not-allowed}.pds-multiselect__trigger-text{color:var(--pine-color-text-strong);-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__trigger-text.pds-multiselect__trigger-text--placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__trigger--disabled .pds-multiselect__trigger-text{color:var(--pine-color-text-disabled)}.pds-multiselect__icon{color:var(--pine-color-icon);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__panel{background:var(--pine-color-background-container);border-radius:var(--pine-dimension-125);-webkit-box-shadow:var(--pine-box-shadow);box-shadow:var(--pine-box-shadow);-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;position:absolute;z-index:var(--pine-z-index-raised)}.pds-multiselect__search{-ms-flex-align:center;align-items:center;-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);display:-ms-flexbox;display:flex;gap:var(--pine-dimension-xs);padding:var(--pine-dimension-xs) var(--pine-dimension-sm)}.pds-multiselect__search pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__search-input{background:transparent;border:var(--pine-dimension-none);color:var(--pine-color-text-strong);-ms-flex:1;flex:1;font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);min-width:var(--pine-dimension-none);outline:none}.pds-multiselect__search-input::-webkit-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-moz-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input:-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::-ms-input-placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__search-input::placeholder{color:var(--pine-color-text-placeholder)}.pds-multiselect__selected-section{-webkit-border-after:var(--pine-border);border-block-end:var(--pine-border);border-block-end-color:var(--pine-color-border-subtle);padding:var(--pine-dimension-xs)}.pds-multiselect__selected-list{list-style:none;margin:var(--pine-dimension-none);padding:var(--pine-dimension-none)}.pds-multiselect__selected-item{color:var(--pine-color-text-strong);font:var(--pine-typography-body);letter-spacing:var(--pine-letter-spacing);overflow:hidden;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);text-overflow:ellipsis;white-space:nowrap}.pds-multiselect__listbox{background:transparent;border:var(--pine-dimension-none);-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:var(--pine-dimension-none);overflow-y:auto;padding:var(--pine-dimension-xs)}.pds-multiselect__option{-ms-flex-align:center;align-items:center;background:transparent;border-radius:var(--pine-dimension-xs);cursor:pointer;display:-ms-flexbox;display:flex;padding:var(--pine-dimension-2xs) var(--pine-dimension-xs);-webkit-transition:background 0.15s;transition:background 0.15s}.pds-multiselect__option pds-checkbox{pointer-events:none;width:100%}.pds-multiselect__option:hover,.pds-multiselect__option.pds-multiselect__option--highlighted{background:var(--pine-color-background-muted)}.pds-multiselect__option:focus-visible{outline:var(--pine-dimension-none)}.pds-multiselect__create-option{color:var(--pine-color-text-strong);width:100%}.pds-multiselect__create-option pds-icon{color:var(--pine-color-text-muted);-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none)}.pds-multiselect__empty,.pds-multiselect__loading{-ms-flex-align:center;align-items:center;color:var(--pine-color-text-muted);display:-ms-flexbox;display:flex;font:var(--pine-typography-body);-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-sm)}.pds-multiselect__load-more{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:var(--pine-dimension-xs)}.pds-multiselect__helper{color:var(--pine-color-text-message);font:var(--pine-typography-body-sm);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error{-ms-flex-align:start;align-items:flex-start;color:var(--pine-color-text-message-danger);display:-ms-flexbox;display:flex;font:var(--pine-typography-body-sm);gap:var(--pine-dimension-2xs);-webkit-margin-before:var(--pine-dimension-2xs);margin-block-start:var(--pine-dimension-2xs);-webkit-margin-start:var(--pine-dimension-none);margin-inline-start:var(--pine-dimension-none)}.pds-multiselect__error pds-icon{-ms-flex-negative:var(--pine-dimension-none);flex-shrink:var(--pine-dimension-none);-webkit-margin-before:var(--pine-dimension-025);margin-block-start:var(--pine-dimension-025)}.visually-hidden{border:var(--pine-dimension-none);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0 0, 0 0, 0 0);clip-path:polygon(0 0, 0 0, 0 0);height:1px;margin:-1px;overflow:hidden;padding:var(--pine-dimension-none);position:absolute;white-space:nowrap;width:1px}";var g=e("pds_multiselect",function(){function e(e){var n=this;i(this,e);this.pdsMultiselectChange=t(this,"pdsMultiselectChange");this.pdsMultiselectSearch=t(this,"pdsMultiselectSearch");this.pdsMultiselectLoadOptions=t(this,"pdsMultiselectLoadOptions");this.pdsMultiselectCreate=t(this,"pdsMultiselectCreate");this.placeholder="Select...";this.value=[];this.disabled=false;this.asyncMethod="GET";this.debounce=300;this.fetchTimeout=3e4;this.maxHeight="300px";this.triggerWidth="100%";this.minWidth="250px";this.hideLabel=false;this.required=false;this.loading=false;this.isOpen=false;this.searchQuery="";this.highlightedIndex=-1;this.internalOptions=[];this.selectedItems=[];this.currentPage=1;this.hasMore=false;this.creating=false;this.isOpening=false;this.handleTriggerClick=function(){if(n.disabled)return;if(n.isOpen){n.closeDropdown()}else{n.openDropdown()}};this.handleTriggerKeyDown=function(e){switch(e.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":e.preventDefault();if(!n.isOpen){n.openDropdown()}break}};this.handleSearchInputChange=function(e){var i=e.target;n.searchQuery=i.value;n.highlightedIndex=-1;n.pdsMultiselectSearch.emit({query:n.searchQuery});if(n.asyncUrl){n.debouncedFetchAsyncOptions(n.searchQuery,1)}};this.handleSearchInputKeyDown=function(e){var i=n.getFilteredOptions();switch(e.key){case"ArrowDown":e.preventDefault();n.highlightedIndex=Math.min(n.highlightedIndex+1,i.length-1);n.scrollOptionIntoView();break;case"ArrowUp":e.preventDefault();n.highlightedIndex=Math.max(n.highlightedIndex-1,0);n.scrollOptionIntoView();break;case"Enter":e.preventDefault();if(n.highlightedIndex>=0){var t=i[n.highlightedIndex];if(t){n.selectOption(t)}}break;case"Tab":n.closeDropdown();break}};this.handleContainerFocusOut=function(){setTimeout((function(){var e;if(!n.isOpen||n.isOpening)return;var i=document.activeElement;var t=(e=n.el.shadowRoot)===null||e===void 0?void 0:e.contains(i);var r=i===n.el;if(!t&&!r){n.closeDropdown()}}),0)};this.handleOptionMouseDown=function(e){return function(i){i.preventDefault();n.toggleOption(e)}};this.handleOptionMouseEnter=function(e){return function(){n.highlightedIndex=e}};this.handleScroll=function(e){if(!n.asyncUrl||!n.hasMore||n.loading)return;var i=e.target;var t=i.scrollHeight-i.scrollTop-i.clientHeight;if(t<50){n.pdsMultiselectLoadOptions.emit({query:n.searchQuery,page:n.currentPage+1});n.debouncedFetchAsyncOptions(n.searchQuery,n.currentPage+1)}}}e.prototype.connectedCallback=function(){if(this.el.attachInternals&&!this.internals){this.internals=this.el.attachInternals()}};e.prototype.componentWillLoad=function(){this.originalSearchEmitter=this.pdsMultiselectSearch;this.syncSelectedItems()};e.prototype.componentDidLoad=function(){var e=this;this.setupDebounce();this.setupMutationObserver();this.setupSlotChangeListener();this.updateFormValue();requestAnimationFrame((function(){e.updateOptionsFromSlot();e.syncSelectedItems()}))};e.prototype.setupSlotChangeListener=function(){var e=this;var i;var t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("slot:not([name])");if(t){t.addEventListener("slotchange",(function(){e.updateOptionsFromSlot();e.syncSelectedItems()}));this.updateOptionsFromSlot()}};e.prototype.disconnectedCallback=function(){var e,i;(e=this.observer)===null||e===void 0?void 0:e.disconnect();(i=this.cleanupAutoUpdate)===null||i===void 0?void 0:i.call(this);this.clearAsyncFetchState()};e.prototype.setupDebounce=function(){var e=this,i=e.pdsMultiselectSearch,t=e.debounce,n=e.originalSearchEmitter;this.pdsMultiselectSearch=t===undefined?n!==null&&n!==void 0?n:i:p(i,t)};e.prototype.valueChanged=function(e){if(typeof e==="string"){try{var i=JSON.parse(e);if(Array.isArray(i)){this.value=i;return}}catch(i){this.value=e?[e]:[];return}}this.syncSelectedItems();this.updateFormValue()};e.prototype.optionsChanged=function(){if(this.options){this.internalOptions=__spreadArray([],this.options,true)}};e.prototype.internalOptionsChanged=function(){this.syncSelectedItems()};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){(e=this.triggerEl)===null||e===void 0?void 0:e.focus();return[2]}))}))};e.prototype.handleWindowKeyDown=function(e){var i;if(!this.isOpen)return;if(e.key==="Escape"){e.preventDefault();this.closeDropdown();(i=this.triggerEl)===null||i===void 0?void 0:i.focus()}};e.prototype.setupMutationObserver=function(){var e=this;this.observer=new MutationObserver((function(){e.updateOptionsFromSlot()}));this.observer.observe(this.el,{childList:true,subtree:true})};e.prototype.updateOptionsFromSlot=function(){var e;var i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");if(!i)return;var t=i.assignedElements({flatten:true}).filter((function(e){return e.tagName==="OPTION"})).map((function(e){return{id:e.value,text:e.textContent||e.value}}));if(t.length>0&&!this.asyncUrl&&!this.options){this.internalOptions=t}};e.prototype.clearAsyncFetchState=function(){var e;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer);this.fetchDebounceTimer=undefined}if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}(e=this.abortController)===null||e===void 0?void 0:e.abort();this.abortController=undefined};e.prototype.debouncedFetchAsyncOptions=function(e,i){var t=this;if(i===void 0){i=1}var n;if(!this.asyncUrl)return;if(this.fetchDebounceTimer!==undefined){window.clearTimeout(this.fetchDebounceTimer)}var r=Math.max(0,(n=this.debounce)!==null&&n!==void 0?n:0);this.fetchDebounceTimer=window.setTimeout((function(){t.fetchDebounceTimer=undefined;t.fetchOptions(e,i)}),r)};e.prototype.syncSelectedItems=function(){var e=this.ensureValueArray();var i=this.getAllOptions();var t=[];var n=new Map(this.selectedItems.map((function(e){return[String(e.id),e]})));e.forEach((function(e){var r=i.find((function(i){return String(i.id)===String(e)}));if(r){t.push(r)}else if(n.has(String(e))){t.push(n.get(String(e)))}}));this.selectedItems=t};e.prototype.ensureValueArray=function(){if(typeof this.value==="string"){try{var e=JSON.parse(this.value);if(Array.isArray(e)){this.value=e;return e}}catch(e){var i=this.value;this.value=i?[i]:[];return this.value}}return Array.isArray(this.value)?this.value:[]};e.prototype.getAllOptions=function(){return this.options||this.internalOptions};e.prototype.getFilteredOptions=function(){var e=this.getAllOptions();var i=this.searchQuery.toLowerCase();var t=e.filter((function(e){if(i){return e.text.toLowerCase().includes(i)}return true}));if(this.createUrl&&this.searchQuery.trim()&&t.length===0){return[{id:"__create__",text:this.searchQuery.trim(),isCreateOption:true}]}return t};e.prototype.updateFormValue=function(){var e=this;var i;if((i=this.internals)===null||i===void 0?void 0:i.setFormValue){var t=this.ensureValueArray();var n=new FormData;t.forEach((function(i){if(e.name){n.append(e.name,i)}}));this.internals.setFormValue(n);if(this.required&&t.length===0){this.internals.setValidity({valueMissing:true},"Please select at least one option.",this.triggerEl)}else{this.internals.setValidity({})}}};e.prototype.getCsrfToken=function(){if(this.csrfToken){return this.csrfToken}var e=document.querySelector('meta[name="csrf-token"]');return(e===null||e===void 0?void 0:e.content)||null};e.prototype.fetchOptions=function(e){return __awaiter(this,arguments,void 0,(function(e,i){var t,n,r,s,o,a,l,d;var c=this;if(i===void 0){i=1}return __generator(this,(function(u){switch(u.label){case 0:if(!this.asyncUrl)return[2];(t=this.abortController)===null||t===void 0?void 0:t.abort();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}this.abortController=new AbortController;this.loading=true;this.fetchTimeoutTimer=window.setTimeout((function(){var e;(e=c.abortController)===null||e===void 0?void 0:e.abort();c.fetchTimeoutTimer=undefined}),this.fetchTimeout);u.label=1;case 1:u.trys.push([1,4,5,6]);n=void 0;try{n=new URL(this.asyncUrl,window.location.origin)}catch(e){throw new TypeError("Invalid asyncUrl: ".concat(this.asyncUrl))}if(this.asyncMethod==="GET"){n.searchParams.set("search",e);n.searchParams.set("page",String(i))}r=this.getCsrfToken();s={"Content-Type":"application/json",Accept:"application/json"};if(r){s["X-CSRF-Token"]=r}return[4,fetch(n.toString(),Object.assign({method:this.asyncMethod,signal:this.abortController.signal,headers:s},this.asyncMethod==="POST"&&{body:JSON.stringify({search:e,page:i})}))];case 2:o=u.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(!o.ok)throw new Error("Failed to fetch options");return[4,o.json()];case 3:a=u.sent();l=a.results.map((function(e){if(c.formatResult){return c.formatResult(e)}if(typeof e==="object"&&e!==null){return Object.assign({id:e.id,text:e.text},e)}return{id:String(e),text:String(e)}}));if(i===1){this.internalOptions=l}else{this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),l,true)}this.hasMore=a.totalCount?this.internalOptions.length<a.totalCount:false;this.currentPage=i;return[3,6];case 4:d=u.sent();if(this.fetchTimeoutTimer!==undefined){window.clearTimeout(this.fetchTimeoutTimer);this.fetchTimeoutTimer=undefined}if(d.name!=="AbortError"){console.error("PdsMultiselect: Failed to fetch options",d)}return[3,6];case 5:this.loading=false;return[7];case 6:return[2]}}))}))};e.prototype.createOption=function(e){return __awaiter(this,void 0,void 0,(function(){var i,t,n,r,s,o,a;var l=this;return __generator(this,(function(d){switch(d.label){case 0:if(!this.createUrl||!e.trim())return[2];if(this.creating)return[2];this.creating=true;d.label=1;case 1:d.trys.push([1,4,5,6]);i=new URL(this.createUrl,window.location.origin);t=this.getCsrfToken();n={"Content-Type":"application/json",Accept:"application/json"};if(t){n["X-CSRF-Token"]=t}return[4,fetch(i.toString(),{method:"POST",headers:n,body:JSON.stringify({text:e.trim()})})];case 2:r=d.sent();if(!r.ok)throw new Error("Failed to create option");return[4,r.json()];case 3:s=d.sent();o=Object.assign({id:s.id,text:s.text},s);this.internalOptions=__spreadArray(__spreadArray([],this.internalOptions,true),[o],false);this.value=__spreadArray(__spreadArray([],this.value,true),[String(o.id)],false);this.syncSelectedItems();this.pdsMultiselectCreate.emit({query:e.trim(),newOption:o});this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});this.searchQuery="";this.highlightedIndex=-1;requestAnimationFrame((function(){var e;(e=l.searchInputEl)===null||e===void 0?void 0:e.focus()}));return[3,6];case 4:a=d.sent();console.error("PdsMultiselect: Failed to create option",a);return[3,6];case 5:this.creating=false;return[7];case 6:return[2]}}))}))};e.prototype.openDropdown=function(){var e=this;if(this.disabled)return;this.isOpening=true;this.isOpen=true;this.highlightedIndex=-1;if(this.asyncUrl&&this.internalOptions.length===0){this.debouncedFetchAsyncOptions(this.searchQuery,1)}requestAnimationFrame((function(){var i;e.positionDropdown();(i=e.searchInputEl)===null||i===void 0?void 0:i.focus();setTimeout((function(){e.isOpening=false}),50)}))};e.prototype.closeDropdown=function(){this.isOpen=false;this.highlightedIndex=-1;this.searchQuery="";if(this.cleanupAutoUpdate){this.cleanupAutoUpdate();this.cleanupAutoUpdate=undefined}};e.prototype.positionDropdown=function(){var e=this;if(!this.containerEl||!this.panelEl)return;var i=this.triggerEl||this.containerEl;var t=this,n=t.minWidth,r=t.panelWidth;var s=function(){a(i,e.panelEl,{placement:"bottom-start",strategy:"absolute",middleware:[l(12),d(),c({padding:8}),u({apply:function(e){var i=e.rects,t=e.elements;Object.assign(t.floating.style,{width:r!==null&&r!==void 0?r:"".concat(i.reference.width,"px"),minWidth:n})}})]}).then((function(i){var t=i.x,n=i.y;if(e.panelEl){e.panelEl.style.left="".concat(t,"px");e.panelEl.style.top="".concat(n,"px")}}))};s();var p=o(i,this.panelEl,s);this.cleanupAutoUpdate=function(){p();e.clearAsyncFetchState()}};e.prototype.scrollOptionIntoView=function(){var e=this;requestAnimationFrame((function(){var i;var t=(i=e.listboxEl)===null||i===void 0?void 0:i.querySelector('[data-index="'.concat(e.highlightedIndex,'"]'));t===null||t===void 0?void 0:t.scrollIntoView({block:"nearest",behavior:"smooth"})}))};e.prototype.toggleOption=function(e){var i;if(e.isCreateOption){if(!this.creating){this.createOption(this.searchQuery)}return}var t=this.value.includes(String(e.id));if(t){this.value=this.value.filter((function(i){return i!==String(e.id)}))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=__spreadArray(__spreadArray([],this.value,true),[String(e.id)],false)}this.syncSelectedItems();this.pdsMultiselectChange.emit({values:this.value,items:this.selectedItems});(i=this.searchInputEl)===null||i===void 0?void 0:i.focus()};e.prototype.selectOption=function(e){this.toggleOption(e)};e.prototype.renderSelectedItemsList=function(){if(this.selectedItems.length===0)return null;return n("div",{class:"pds-multiselect__selected-section"},n("ul",{class:"pds-multiselect__selected-list",role:"list"},this.selectedItems.map((function(e){return n("li",{key:String(e.id),class:"pds-multiselect__selected-item"},e.text)}))))};e.prototype.renderDropdown=function(){var e=this;if(!this.isOpen)return null;var i=this.getFilteredOptions();var t=this.ensureValueArray();var r=!!this.el.querySelector('[slot="empty"]');var s=!!this.el.querySelector('[slot="loading"]');return n("div",{class:"pds-multiselect__panel",ref:function(i){return e.panelEl=i},style:{minWidth:this.minWidth}},n("div",{class:"pds-multiselect__search"},n("pds-icon",{name:"search",size:"small"}),n("input",{ref:function(i){return e.searchInputEl=i},type:"text",class:"pds-multiselect__search-input",placeholder:"Find...",value:this.searchQuery,"aria-label":"Search options","aria-controls":"".concat(this.componentId,"-listbox"),"aria-activedescendant":this.highlightedIndex>=0?"".concat(this.componentId,"-option-").concat(this.highlightedIndex):undefined,role:"combobox","aria-haspopup":"listbox","aria-expanded":"true","aria-autocomplete":"list",autocomplete:"off",onInput:this.handleSearchInputChange,onKeyDown:this.handleSearchInputKeyDown})),this.renderSelectedItemsList(),n("ul",{class:"pds-multiselect__listbox",role:"listbox","aria-multiselectable":"true","aria-label":this.label||"Options",id:"".concat(this.componentId,"-listbox"),ref:function(i){return e.listboxEl=i},style:{maxHeight:this.maxHeight},onScroll:this.handleScroll},this.loading&&n("li",{class:"pds-multiselect__loading",role:"presentation"},s?n("slot",{name:"loading"}):n("pds-loader",{size:"small"})),!this.loading&&i.length===0&&n("li",{class:"pds-multiselect__empty",role:"presentation"},r?n("slot",{name:"empty"}):n("span",null,"No options found")),i.map((function(i,r){var s=t.includes(String(i.id));var o=i.isCreateOption;var a=r===e.highlightedIndex&&!o;var l="".concat(e.componentId,"-option-").concat(r);var d=o&&e.creating;return n("li",{key:String(i.id),id:l,class:{"pds-multiselect__option":true,"pds-multiselect__option--highlighted":a,"pds-multiselect__option--selected":s,"pds-multiselect__option--create":o,"pds-multiselect__option--disabled":d},role:"option","aria-selected":s?"true":"false","aria-disabled":d?"true":undefined,"aria-label":o?"Create new tag: ".concat(i.text):undefined,"data-index":r,onMouseDown:e.handleOptionMouseDown(i),onMouseEnter:e.handleOptionMouseEnter(r)},o?n("pds-box",{class:"pds-multiselect__create-option","align-items":"center",gap:"xs"},n("pds-icon",{name:"add",size:"small"}),n("pds-text",null,'Add "',i.text,'"')):n("pds-checkbox",{componentId:"".concat(e.componentId,"-checkbox-").concat(r),checked:s,label:i.text,style:{pointerEvents:"none"}}))})),this.hasMore&&!this.loading&&n("li",{class:"pds-multiselect__load-more",role:"presentation"},n("pds-loader",{size:"small"}))))};e.prototype.getTriggerText=function(){var e=this.selectedItems.length;if(e===0){return this.placeholder||"Select..."}return"".concat(e," item").concat(e===1?"":"s")};e.prototype.render=function(){var e=this;var i=this.selectedItems.length>0;return n(r,{key:"5eabf872bf4e4f109106c0dd7f9fc8ea48e8c0c0","aria-disabled":this.disabled?"true":null},n("div",{key:"2623280ddbb4e116da4dbf0fe9123b5f06f0da0c",class:"pds-multiselect"},this.label&&n("label",{key:"ec644a7af54ca4dcdece849c6df692fae268b445",htmlFor:this.componentId,class:{"pds-multiselect__label":true,"visually-hidden":this.hideLabel}},this.label),n("div",{key:"ae08d5be617ee801a730fd9289146e82f2df8258",class:"pds-multiselect__wrapper",ref:function(i){return e.containerEl=i},onFocusout:this.handleContainerFocusOut,style:{width:this.triggerWidth}},n("button",{key:"c4639d573de4bb7963f848284057afcf9cc65cb9",ref:function(i){return e.triggerEl=i},type:"button",class:{"pds-multiselect__trigger":true,"pds-multiselect__trigger--open":this.isOpen,"pds-multiselect__trigger--disabled":this.disabled,"pds-multiselect__trigger--invalid":this.invalid||!!this.errorMessage,"pds-multiselect__trigger--has-value":i},id:this.componentId,disabled:this.disabled,"aria-required":this.required?"true":undefined,"aria-expanded":this.isOpen?"true":"false","aria-haspopup":"listbox","aria-describedby":h(this.componentId,this.invalid||!!this.errorMessage,this.errorMessage||this.helperMessage),"aria-invalid":this.invalid||!!this.errorMessage?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},n("span",{key:"b16da29ea9a98d6672813d9c142ef63135b12dca",class:{"pds-multiselect__trigger-text":true,"pds-multiselect__trigger-text--placeholder":!i}},this.getTriggerText()),n("pds-icon",{key:"4e86739529355331c9fa6b95b63f223d5a315ad5",class:"pds-multiselect__icon",icon:v})),this.renderDropdown()),this.helperMessage&&!(this.errorMessage&&this.errorMessage.length>0)&&n("p",{key:"34cd42ddb1725546ce367699ef520e37d24cae25",class:"pds-multiselect__helper",id:f(this.componentId,"helper")},this.helperMessage),this.errorMessage&&n("p",{key:"0eada43d1bcb44ea7b95927dd3f799aff6cc6b3a",class:"pds-multiselect__error",id:f(this.componentId,"error")},n("pds-icon",{key:"546dcc24794d274d73b3de867b79123b6f0069fc",icon:m,size:"small"}),this.errorMessage),n("div",{key:"3921e646c9e3638077c016e7cb28a19adaa302f0",style:{display:"none"}},n("slot",{key:"3923872eaae0a59da8c4a5b9801abf41ae9a3c3d"}))))};Object.defineProperty(e,"formAssociated",{get:function(){return true},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return s(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{debounce:["setupDebounce"],value:["valueChanged"],options:["optionsChanged"],internalOptions:["internalOptionsChanged"]}},enumerable:false,configurable:true});return e}());g.style=b}}}));
|
|
2
|
+
//# sourceMappingURL=p-b98a04cd.system.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["System","register","exports","registerInstance","createEvent","h","Host","getElement","autoUpdate","computePosition","offset","flip","shift","size","debounceEvent","assignDescription","messageId","enlarge","danger","setters","module","r","c","H","a","o","f","s","b","d","m","e","execute","pdsMultiselectCss","PdsMultiselect","class_1","hostRef","_this","this","pdsMultiselectChange","pdsMultiselectSearch","pdsMultiselectLoadOptions","pdsMultiselectCreate","placeholder","value","disabled","asyncMethod","debounce","fetchTimeout","maxHeight","triggerWidth","minWidth","hideLabel","required","loading","isOpen","searchQuery","highlightedIndex","internalOptions","selectedItems","currentPage","hasMore","creating","isOpening","handleTriggerClick","closeDropdown","openDropdown","handleTriggerKeyDown","key","preventDefault","handleSearchInputChange","target","emit","query","asyncUrl","debouncedFetchAsyncOptions","handleSearchInputKeyDown","filteredOptions","getFilteredOptions","Math","min","length","scrollOptionIntoView","max","option","selectOption","handleContainerFocusOut","setTimeout","_a","activeElement","document","isInShadowRoot","el","shadowRoot","contains","isOnHost","handleOptionMouseDown","toggleOption","handleOptionMouseEnter","index","handleScroll","scrollBottom","scrollHeight","scrollTop","clientHeight","page","prototype","connectedCallback","attachInternals","internals","componentWillLoad","originalSearchEmitter","syncSelectedItems","componentDidLoad","setupDebounce","setupMutationObserver","setupSlotChangeListener","updateFormValue","requestAnimationFrame","updateOptionsFromSlot","slot","querySelector","addEventListener","disconnectedCallback","_b","observer","disconnect","cleanupAutoUpdate","call","clearAsyncFetchState","_c","undefined","valueChanged","newValue","parsed","JSON","parse","Array","isArray","optionsChanged","options","__spreadArray","internalOptionsChanged","setFocus","triggerEl","focus","handleWindowKeyDown","event","MutationObserver","observe","childList","subtree","assignedElements","flatten","filter","tagName","map","opt","id","text","textContent","fetchDebounceTimer","window","clearTimeout","fetchTimeoutTimer","abortController","abort","delay","fetchOptions","valueArray","ensureValueArray","allOptions","getAllOptions","newSelectedItems","existingItemsMap","Map","item","String","forEach","val","find","push","has","get","singleValue","toLowerCase","filtered","includes","createUrl","trim","isCreateOption","setFormValue","formData_1","FormData","name","append","setValidity","valueMissing","getCsrfToken","csrfToken","metaTag","content","query_1","AbortController","url","URL","location","origin","urlError","TypeError","concat","searchParams","set","headers","Accept","fetch","toString","Object","assign","method","signal","body","stringify","search","response","sent","ok","Error","json","data","formattedResults","results","formatResult","totalCount","error_1","console","error","createOption","newOption","values","items","searchInputEl","error_2","positionDropdown","containerEl","panelEl","referenceEl","panelWidth","updatePosition","placement","strategy","middleware","padding","apply","rects","elements","floating","style","width","reference","then","x","y","left","top","highlighted","listboxEl","scrollIntoView","block","behavior","isSelected","v","maxSelections","renderSelectedItemsList","class","role","renderDropdown","hasSlottedEmpty","hasSlottedLoading","ref","type","componentId","autocomplete","onInput","onKeyDown","label","onScroll","isHighlighted","optionId","isCreateDisabled","onMouseDown","onMouseEnter","gap","checked","pointerEvents","getTriggerText","count","render","hasSelections","htmlFor","onFocusout","invalid","errorMessage","helperMessage","onClick","icon","display","defineProperty"],"sources":["module.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pds-dropdown-menu-item.entry.esm.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss?tag=pds-dropdown-menu-item&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.tsx"],"sourcesContent":[":host {\n cursor: pointer;\n display: flex;\n width: 100%; /* Ensure the host takes full width */\n}\n\n/* Make the disabled styles more specific and add !important to ensure they apply */\n:host(.is-disabled) {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n\n .pds-dropdown-menu-item__content {\n cursor: not-allowed !important;\n pointer-events: none !important;\n }\n}\n\n.pds-dropdown-menu-item__content {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text);\n display: flex;\n flex-grow: 1; /* Make it grow to fill available space */\n font: var(--pine-typography-body-medium);\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px);\n padding: var(--pine-dimension-xs);\n text-align: start; /* Ensure text aligns properly */\n width: 100%; /* Ensure full width */\n\n &:hover {\n background-color: var(--pine-color-background-muted);\n color: var(--pine-color-text-hover);\n }\n\n /* Focus styles applied via class + browser focus */\n &:focus,\n &:focus-visible,\n &.has-focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n}\n\n:host(.destructive) {\n .pds-dropdown-menu-item__content {\n align-items: center;\n color: var(--pine-color-danger);\n\n &:hover {\n background-color: var(--pine-color-danger-disabled);\n color: var(--pine-color-danger-hover);\n }\n\n &:focus,\n &:focus-visible,\n &.has-focus {\n background-color: var(--pine-color-danger-disabled);\n outline: var(--pine-outline-focus-danger);\n outline-offset: var(--pine-border-width);\n }\n }\n}\n\n/* Remove outline on contained links using the custom property */\npds-link::part(link):focus,\npds-link::part(link):focus-visible {\n box-shadow: none;\n outline: none;\n}\n\npds-link::part(link) {\n display: block;\n margin: calc(var(--pine-dimension-xs) * -1);\n padding: var(--pine-dimension-xs);\n text-decoration: none;\n width: calc(100% + var(--pine-dimension-xs) * 2);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\n\n@Component({\n tag: 'pds-dropdown-menu-item',\n styleUrl: 'pds-dropdown-menu-item.scss',\n shadow: true,\n})\nexport class PdsDropdownMenuItem implements BasePdsProps {\n @Element() host: HTMLPdsDropdownMenuItemElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * It determines whether or not the dropdown-item is destructive.\n * @defaultValue false\n */\n @Prop() destructive: boolean = false;\n\n /**\n * It determines whether or not the dropdown-item is disabled.\n * @defaultValue false\n */\n @Prop() disabled: boolean = false;\n\n\n /**\n * If provided, renders the dropdown-item as an anchor (`<a>`) element instead of a button.\n */\n @Prop() href: string | undefined;\n\n /**\n * Determines whether the link should open in a new tab and display an external icon.\n * This is a simpler alternative to using `target=\"_blank\"` for the common case.\n * @defaultValue false\n */\n @Prop() external: boolean = false;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Takes precedence over the `external` prop if both are set.\n * Only applies when href is set.\n * @defaultValue undefined\n */\n @Prop() target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Emitted when the dropdown-item is clicked.\n *\n */\n @Event() pdsClick: EventEmitter<{itemIndex: number, item: HTMLPdsDropdownMenuItemElement, content: string}>;\n\n /**\n * Trigger the click event\n */\n @Method()\n async clickItem() {\n this.handleClick();\n };\n\n\n private handleClick() {\n // Filter only pds-dropdown-menu-item elements and find the index of the current item\n const menuItems = Array.from(this.host.parentNode.children).filter(\n (child) => child.tagName.toLowerCase() === 'pds-dropdown-menu-item'\n );\n const itemIndex = menuItems.indexOf(this.host);\n\n // Get the text content from the slotted content\n const content = this.host.textContent?.trim() || '';\n\n this.pdsClick.emit({\n itemIndex,\n item: this.host,\n content\n });\n }\n\n @State() hasFocus: boolean = false;\n\n private handleFocus = () => {\n this.hasFocus = true;\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n }\n\n private renderElement() {\n if (this.href !== undefined) {\n return (\n <pds-link\n href={this.disabled ? null : this.href}\n external={this.external}\n target={this.target}\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </pds-link>\n );\n }\n\n return (\n <button\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n type=\"button\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n disabled={this.disabled}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </button>\n );\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Handle keyboard events\n if (!this.disabled && (event.key === 'Enter')) {\n // Only prevent default for button elements or Space key\n // For links with Enter key, we want the default navigation behavior\n if (!this.href) {\n event.preventDefault();\n }\n this.handleClick();\n }\n }\n\n render() {\n return (\n <Host id={this.componentId}\n class={{ 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }}\n onClick={() => !this.disabled && this.handleClick()}\n role=\"none\"\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.renderElement()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,sBAAsB,GAAG,67DAA67D;;MCQ/8D,mBAAmB,GAAA,MAAA;AALhC,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAaE;;;AAGG;AACK,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAEpC;;;AAGG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAQjC;;;;AAIG;
|
|
1
|
+
{"version":3,"file":"pds-dropdown-menu-item.entry.esm.js","sources":["src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.scss?tag=pds-dropdown-menu-item&encapsulation=shadow","src/components/pds-dropdown-menu/pds-dropdown-menu-item/pds-dropdown-menu-item.tsx"],"sourcesContent":[":host {\n cursor: pointer;\n display: flex;\n width: 100%; /* Ensure the host takes full width */\n}\n\n/* Make the disabled styles more specific and add !important to ensure they apply */\n:host(.is-disabled) {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n\n .pds-dropdown-menu-item__content {\n cursor: not-allowed !important;\n pointer-events: none !important;\n }\n}\n\n.pds-dropdown-menu-item__content {\n align-items: center;\n appearance: none;\n background: transparent;\n border: 0;\n border-radius: var(--pine-dimension-xs);\n color: var(--pine-color-text);\n display: flex;\n flex-grow: 1; /* Make it grow to fill available space */\n font: var(--pine-typography-body-medium);\n gap: var(--pine-dimension-xs);\n margin: calc(var(--pine-border-width) + 2px);\n padding: var(--pine-dimension-xs);\n text-align: start; /* Ensure text aligns properly */\n width: 100%; /* Ensure full width */\n\n &:hover {\n background-color: var(--pine-color-background-muted);\n color: var(--pine-color-text-hover);\n }\n\n /* Focus styles applied via class + browser focus */\n &:focus,\n &:focus-visible,\n &.has-focus {\n outline: var(--pine-outline-focus);\n outline-offset: var(--pine-border-width);\n }\n\n}\n\n:host(.destructive) {\n .pds-dropdown-menu-item__content {\n align-items: center;\n color: var(--pine-color-danger);\n\n &:hover {\n background-color: var(--pine-color-danger-disabled);\n color: var(--pine-color-danger-hover);\n }\n\n &:focus,\n &:focus-visible,\n &.has-focus {\n background-color: var(--pine-color-danger-disabled);\n outline: var(--pine-outline-focus-danger);\n outline-offset: var(--pine-border-width);\n }\n }\n}\n\n/* Remove outline on contained links using the custom property */\npds-link::part(link):focus,\npds-link::part(link):focus-visible {\n box-shadow: none;\n outline: none;\n}\n\npds-link::part(link) {\n display: block;\n margin: calc(var(--pine-dimension-xs) * -1);\n padding: var(--pine-dimension-xs);\n text-decoration: none;\n width: calc(100% + var(--pine-dimension-xs) * 2);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport type { BasePdsProps } from '@utils/interfaces';\n\n@Component({\n tag: 'pds-dropdown-menu-item',\n styleUrl: 'pds-dropdown-menu-item.scss',\n shadow: true,\n})\nexport class PdsDropdownMenuItem implements BasePdsProps {\n @Element() host: HTMLPdsDropdownMenuItemElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * It determines whether or not the dropdown-item is destructive.\n * @defaultValue false\n */\n @Prop() destructive: boolean = false;\n\n /**\n * It determines whether or not the dropdown-item is disabled.\n * @defaultValue false\n */\n @Prop() disabled: boolean = false;\n\n\n /**\n * If provided, renders the dropdown-item as an anchor (`<a>`) element instead of a button.\n */\n @Prop() href: string | undefined;\n\n /**\n * Determines whether the link should open in a new tab and display an external icon.\n * This is a simpler alternative to using `target=\"_blank\"` for the common case.\n * @defaultValue false\n */\n @Prop({ reflect: true }) external: boolean = false;\n\n /**\n * Specifies where to open the linked document when href is provided.\n * Takes precedence over the `external` prop if both are set.\n * Only applies when href is set.\n * @defaultValue undefined\n */\n @Prop({ reflect: true }) target?: '_blank' | '_self' | '_parent' | '_top';\n\n /**\n * Emitted when the dropdown-item is clicked.\n *\n */\n @Event() pdsClick: EventEmitter<{itemIndex: number, item: HTMLPdsDropdownMenuItemElement, content: string}>;\n\n /**\n * Trigger the click event\n */\n @Method()\n async clickItem() {\n this.handleClick();\n };\n\n\n private handleClick() {\n // Filter only pds-dropdown-menu-item elements and find the index of the current item\n const menuItems = Array.from(this.host.parentNode.children).filter(\n (child) => child.tagName.toLowerCase() === 'pds-dropdown-menu-item'\n );\n const itemIndex = menuItems.indexOf(this.host);\n\n // Get the text content from the slotted content\n const content = this.host.textContent?.trim() || '';\n\n this.pdsClick.emit({\n itemIndex,\n item: this.host,\n content\n });\n }\n\n @State() hasFocus: boolean = false;\n\n private handleFocus = () => {\n this.hasFocus = true;\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n }\n\n private renderElement() {\n if (this.href !== undefined) {\n return (\n <pds-link\n href={this.disabled ? null : this.href}\n external={this.external}\n target={this.target}\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </pds-link>\n );\n }\n\n return (\n <button\n class={{\n 'pds-dropdown-menu-item__content': true,\n 'has-focus': this.hasFocus\n }}\n tabIndex={this.disabled ? -1 : 0}\n type=\"button\"\n onKeyDown={this.handleKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n disabled={this.disabled}\n aria-disabled={this.disabled ? 'true' : null}\n >\n <slot></slot>\n </button>\n );\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Handle keyboard events\n if (!this.disabled && (event.key === 'Enter')) {\n // Only prevent default for button elements or Space key\n // For links with Enter key, we want the default navigation behavior\n if (!this.href) {\n event.preventDefault();\n }\n this.handleClick();\n }\n }\n\n render() {\n return (\n <Host id={this.componentId}\n class={{ 'is-disabled': this.disabled, 'destructive': !this.disabled && this.destructive }}\n onClick={() => !this.disabled && this.handleClick()}\n role=\"none\"\n tabIndex={-1}\n aria-disabled={this.disabled ? 'true' : null}\n >\n {this.renderElement()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,sBAAsB,GAAG,67DAA67D;;MCQ/8D,mBAAmB,GAAA,MAAA;AALhC,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAaE;;;AAGG;AACK,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAEpC;;;AAGG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAQjC;;;;AAIG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AA0CzC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAE1B,QAAA,IAAW,CAAA,WAAA,GAAG,MAAK;AACzB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACtB,SAAC;AAEO,QAAA,IAAU,CAAA,UAAA,GAAG,MAAK;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,SAAC;AA2CO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;;AAE/C,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE;;;AAG7C,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,KAAK,CAAC,cAAc,EAAE;;gBAExB,IAAI,CAAC,WAAW,EAAE;;AAEtB,SAAC;AAeF;AAtGC;;AAEG;AAEH,IAAA,MAAM,SAAS,GAAA;QACb,IAAI,CAAC,WAAW,EAAE;;;IAIZ,WAAW,GAAA;;;AAEjB,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAChE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,wBAAwB,CACpE;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG9C,QAAA,MAAM,OAAO,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE,KAAI,EAAE;AAEnD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,SAAS;YACT,IAAI,EAAE,IAAI,CAAC,IAAI;YACf;AACD,SAAA,CAAC;;IAaI,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,YAAA,QACE,CAAA,CAAA,UAAA,EAAA,EACE,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,EACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE;AACL,oBAAA,iCAAiC,EAAE,IAAI;oBACvC,WAAW,EAAE,IAAI,CAAC;iBACnB,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EAAA,eAAA,EACR,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAAA,EAE5C,CAAa,CAAA,MAAA,EAAA,IAAA,CAAA,CACJ;;AAIf,QAAA,QACE,CACE,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,iCAAiC,EAAE,IAAI;gBACvC,WAAW,EAAE,IAAI,CAAC;AACnB,aAAA,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,eAAA,EACR,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAAA,EAE5C,CAAa,CAAA,MAAA,EAAA,IAAA,CAAA,CACN;;IAgBb,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EACxB,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAC1F,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EACnD,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,EAAE,EAAA,eAAA,EACG,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,EAAA,EAEzC,IAAI,CAAC,aAAa,EAAE,CAClB;;;;;;;;"}
|