@ixfx/components 0.2.5 → 0.2.6
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/bundle/index.d.ts +155 -29
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +1116 -310
- package/bundle/index.js.map +1 -1
- package/dist/ac-text.d.ts +2 -3
- package/dist/ac-text.d.ts.map +1 -1
- package/dist/ac-text.js +4 -4
- package/dist/ac-text.js.map +1 -1
- package/dist/{button-DgKUzE5o.js → button-B9ztaKyl.js} +4 -4
- package/dist/button-B9ztaKyl.js.map +1 -0
- package/dist/button.d.ts +3 -4
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +1 -1
- package/dist/checkbox.d.ts +1 -2
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +3 -3
- package/dist/checkbox.js.map +1 -1
- package/dist/colour-C3MQIjFJ-BJV-QC-3.js.map +1 -1
- package/dist/{colour-picker-Bw-AZoWx.js → colour-picker-BNqDz4wK.js} +5 -5
- package/dist/colour-picker-BNqDz4wK.js.map +1 -0
- package/dist/colour-picker.d.ts +2 -2
- package/dist/colour-picker.js +1 -1
- package/dist/crumbs.d.ts +2 -3
- package/dist/crumbs.d.ts.map +1 -1
- package/dist/crumbs.js +4 -4
- package/dist/crumbs.js.map +1 -1
- package/dist/data-display.d.ts +1 -2
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +2 -3
- package/dist/data-display.js.map +1 -1
- package/dist/decorate-O4m1U4l3.js +25 -0
- package/dist/decorate-O4m1U4l3.js.map +1 -0
- package/dist/defaults-FEZaGiYZ.js.map +1 -1
- package/dist/dist-By5URG0Y.js.map +1 -1
- package/dist/dist-D7kJgnSE.js.map +1 -1
- package/dist/editable-label.d.ts.map +1 -1
- package/dist/editable-label.js +3 -3
- package/dist/editable-label.js.map +1 -1
- package/dist/{hex-editor-Gib1Grg2.d.ts → hex-editor-2_s0Ua5t.d.ts} +3 -4
- package/dist/hex-editor-2_s0Ua5t.d.ts.map +1 -0
- package/dist/{hex-editor-Wd6ZtZA2.js → hex-editor-gH3mteMr.js} +4 -4
- package/dist/hex-editor-gH3mteMr.js.map +1 -0
- package/dist/hex.d.ts +1 -1
- package/dist/hex.js +1 -1
- package/dist/highlight-CAjwQ4GE.js.map +1 -1
- package/dist/{icon-BR5aTIiP.js → icon-CYACf6o8.js} +4 -4
- package/dist/icon-CYACf6o8.js.map +1 -0
- package/dist/{icon-DQKdfR7U.d.ts → icon-CeTDJhC7.d.ts} +3 -4
- package/dist/icon-CeTDJhC7.d.ts.map +1 -0
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +1 -1
- package/dist/icons.js.map +1 -1
- package/dist/{incr-search-BjCNClnC.js → incr-search-BZawvrfl.js} +109 -109
- package/dist/incr-search-BZawvrfl.js.map +1 -0
- package/dist/incr-search.d.ts +2 -2
- package/dist/incr-search.js +1 -1
- package/dist/index-B1hNR7Z9.d.ts.map +1 -1
- package/dist/{index-CpbBI3n7.d.ts → index-CnL9krsH.d.ts} +3 -4
- package/dist/index-CnL9krsH.d.ts.map +1 -0
- package/dist/{index-CPVcTTXo.d.ts → index-CwGkb9s1.d.ts} +6 -7
- package/dist/index-CwGkb9s1.d.ts.map +1 -0
- package/dist/{index-C5dK8RZa.d.ts → index-DrQjA8Gs.d.ts} +3 -4
- package/dist/index-DrQjA8Gs.d.ts.map +1 -0
- package/dist/{index-C9iBN908.d.ts → index-V2cJorlA.d.ts} +29 -29
- package/dist/index-V2cJorlA.d.ts.map +1 -0
- package/dist/{index-CQxanqXF.d.ts → index-kY5gxbkI.d.ts} +16 -17
- package/dist/index-kY5gxbkI.d.ts.map +1 -0
- package/dist/index.d.ts +144 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +813 -23
- package/dist/index.js.map +1 -1
- package/dist/keyboard-De_vOHLg.js.map +1 -1
- package/dist/{labelled-input-base-DS6-6C0r.js → labelled-input-base-BvgH7ldm.js} +2 -2
- package/dist/{labelled-input-base-DS6-6C0r.js.map → labelled-input-base-BvgH7ldm.js.map} +1 -1
- package/dist/{labelled-input-base-DnRh4reU.d.ts → labelled-input-base-D-Y7agky.d.ts} +2 -3
- package/dist/labelled-input-base-D-Y7agky.d.ts.map +1 -0
- package/dist/labelled-radial-input.d.ts +4 -5
- package/dist/labelled-radial-input.d.ts.map +1 -1
- package/dist/labelled-radial-input.js +5 -5
- package/dist/labelled-radial-input.js.map +1 -1
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-range-input.js +4 -4
- package/dist/labelled-range-input.js.map +1 -1
- package/dist/led.d.ts +2 -3
- package/dist/led.d.ts.map +1 -1
- package/dist/led.js +3 -3
- package/dist/led.js.map +1 -1
- package/dist/{menu-BV6UFx_z.js → menu-C3eANB5M.js} +12 -12
- package/dist/menu-C3eANB5M.js.map +1 -0
- package/dist/{menu-item-DEzL_Yjk.js → menu-item-6IU5weHi.js} +7 -7
- package/dist/menu-item-6IU5weHi.js.map +1 -0
- package/dist/{menu-item-Cikacp4F.d.ts → menu-item-ClQF2DKN.d.ts} +7 -8
- package/dist/menu-item-ClQF2DKN.d.ts.map +1 -0
- package/dist/menu.d.ts +3 -3
- package/dist/menu.js +2 -2
- package/dist/miller.d.ts +2 -3
- package/dist/miller.d.ts.map +1 -1
- package/dist/miller.js +4 -4
- package/dist/miller.js.map +1 -1
- package/dist/narrowed-text.d.ts +2 -3
- package/dist/narrowed-text.d.ts.map +1 -1
- package/dist/narrowed-text.js +4 -4
- package/dist/narrowed-text.js.map +1 -1
- package/dist/panel.d.ts +2 -3
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +4 -4
- package/dist/panel.js.map +1 -1
- package/dist/plots.d.ts +1 -1
- package/dist/plots.js +1 -1
- package/dist/polar-pad.d.ts +1 -2
- package/dist/polar-pad.d.ts.map +1 -1
- package/dist/polar-pad.js +3 -3
- package/dist/polar-pad.js.map +1 -1
- package/dist/{radial-input-CNJ8asY2.js → radial-input-Dbc6fgCK.js} +4 -4
- package/dist/radial-input-Dbc6fgCK.js.map +1 -0
- package/dist/{radial-input-xSTd4kEz.d.ts → radial-input-LUSBEycd.d.ts} +2 -3
- package/dist/radial-input-LUSBEycd.d.ts.map +1 -0
- package/dist/radial-input.d.ts +1 -1
- package/dist/radial-input.js +1 -1
- package/dist/range-input.d.ts +2 -3
- package/dist/range-input.d.ts.map +1 -1
- package/dist/range-input.js +3 -3
- package/dist/range-input.js.map +1 -1
- package/dist/range.d.ts +2 -3
- package/dist/range.d.ts.map +1 -1
- package/dist/range.js +3 -3
- package/dist/range.js.map +1 -1
- package/dist/registry-CZEB1YI9.js.map +1 -1
- package/dist/selecthorizontal.d.ts +2 -3
- package/dist/selecthorizontal.d.ts.map +1 -1
- package/dist/selecthorizontal.js +3 -3
- package/dist/selecthorizontal.js.map +1 -1
- package/dist/snap-container.d.ts +1 -2
- package/dist/snap-container.d.ts.map +1 -1
- package/dist/snap-container.js +3 -3
- package/dist/snap-container.js.map +1 -1
- package/dist/split-layout.d.ts +2 -3
- package/dist/split-layout.d.ts.map +1 -1
- package/dist/split-layout.js +3 -3
- package/dist/split-layout.js.map +1 -1
- package/dist/swipe.d.ts.map +1 -1
- package/dist/swipe.js +3 -3
- package/dist/swipe.js.map +1 -1
- package/dist/{tab-list-CFF7uSYH.d.ts → tab-list-BnqISNvO.d.ts} +5 -6
- package/dist/tab-list-BnqISNvO.d.ts.map +1 -0
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +3 -3
- package/dist/tabs.js.map +1 -1
- package/dist/tickled-controller-Cq1Va0rR.d.ts.map +1 -1
- package/dist/tickled-styles-Bg3QbcrD.js.map +1 -1
- package/dist/{timeline-DBWJsSjd.js → timeline-B62Sz6J_.js} +5 -5
- package/dist/timeline-B62Sz6J_.js.map +1 -0
- package/dist/timeline.d.ts +2 -2
- package/dist/timeline.js +1 -1
- package/dist/{tooltip-kfUBWYVB.d.ts → tooltip-CwGfb4lp.d.ts} +2 -3
- package/dist/tooltip-CwGfb4lp.d.ts.map +1 -0
- package/dist/tree-component-CQpoPo4s.d.ts.map +1 -1
- package/dist/tree-data-model-DGvRVOFY.js.map +1 -1
- package/dist/tree.d.ts +3 -4
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +4 -4
- package/dist/tree.js.map +1 -1
- package/dist/types-BKaqnpwx.d.ts.map +1 -1
- package/dist/{xy-axis-BANbgrI5.js → xy-axis-C7fNxDwY.js} +5 -5
- package/dist/xy-axis-C7fNxDwY.js.map +1 -0
- package/dist/{xy-axis-CIFok7MF.d.ts → xy-axis-D9uwpGTT.d.ts} +5 -6
- package/dist/xy-axis-D9uwpGTT.d.ts.map +1 -0
- package/dist/xy-pad.d.ts +1 -2
- package/dist/xy-pad.d.ts.map +1 -1
- package/dist/xy-pad.js +3 -3
- package/dist/xy-pad.js.map +1 -1
- package/package.json +15 -11
- package/dist/button-DgKUzE5o.js.map +0 -1
- package/dist/colour-picker-Bw-AZoWx.js.map +0 -1
- package/dist/decorate-BZbkqIhA.js +0 -9
- package/dist/hex-editor-Gib1Grg2.d.ts.map +0 -1
- package/dist/hex-editor-Wd6ZtZA2.js.map +0 -1
- package/dist/icon-BR5aTIiP.js.map +0 -1
- package/dist/icon-DQKdfR7U.d.ts.map +0 -1
- package/dist/incr-search-BjCNClnC.js.map +0 -1
- package/dist/index-C5dK8RZa.d.ts.map +0 -1
- package/dist/index-C9iBN908.d.ts.map +0 -1
- package/dist/index-CPVcTTXo.d.ts.map +0 -1
- package/dist/index-CQxanqXF.d.ts.map +0 -1
- package/dist/index-CpbBI3n7.d.ts.map +0 -1
- package/dist/labelled-input-base-DnRh4reU.d.ts.map +0 -1
- package/dist/menu-BV6UFx_z.js.map +0 -1
- package/dist/menu-item-Cikacp4F.d.ts.map +0 -1
- package/dist/menu-item-DEzL_Yjk.js.map +0 -1
- package/dist/radial-input-CNJ8asY2.js.map +0 -1
- package/dist/radial-input-xSTd4kEz.d.ts.map +0 -1
- package/dist/tab-list-CFF7uSYH.d.ts.map +0 -1
- package/dist/timeline-DBWJsSjd.js.map +0 -1
- package/dist/tooltip-kfUBWYVB.d.ts.map +0 -1
- package/dist/xy-axis-BANbgrI5.js.map +0 -1
- package/dist/xy-axis-CIFok7MF.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item-6IU5weHi.js","names":["customElement","customElement","customElement"],"sources":["../src/menu/menu-container.ts","../src/menu/menu-trigger.ts","../src/menu/menu-item.ts"],"sourcesContent":["import type { CommandRegistry, KeyboardManager } from '@clinth/ui-commands';\nimport { css, html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { popupSurfaceStyles } from '../styles/popup.js';\nimport { TickledController, tickledStyles } from '../interaction/index.js';\nimport { safeCustomElement as customElement } from '../util/custom-elements.js';\n\n@customElement(`ixfx-menu-container`)\nexport class MenuContainer extends LitElement {\n @property({ type: String, attribute: `anchor` }) anchor?: string;\n @property({ attribute: false }) registry?: CommandRegistry<unknown>;\n @property({ attribute: false }) keyboardManager?: KeyboardManager;\n @query(`.popover`) private _popover!: HTMLElement;\n\n // TickledController manages input mode and tickled state\n private tickled = new TickledController<number>(this, {\n getItems: () => {\n const items = this._getMenuItems();\n return items.map((item, i) => ({\n id: i,\n enabled: !item.hasAttribute('disabled')\n }));\n },\n onTickle: (index) => {\n // When an item is tickled (hovered/keyboard focused), handle submenu opening\n const items = this._getMenuItems();\n if (index !== undefined) {\n const item = items[index];\n // Ensure the item is focusable and focus it\n item.tabIndex = 0;\n item.focus({ preventScroll: true });\n }\n },\n onStateChange: () => {\n // Sync DOM attributes for slotted content\n this._syncTickledClasses();\n }\n });\n\n static styles = [popupSurfaceStyles, tickledStyles, css`\n :host {\n display: block;\n }\n\n .popover {\n padding: var(--space-xs) 0;\n min-width: 160px;\n }\n\n :host {\n opacity: 1;\n transform: translateY(0) scale(1);\n transition: opacity 0.12s ease-out, transform 0.12s ease-out,\n display 0.12s allow-discrete, overlay 0.12s allow-discrete;\n }\n\n @starting-style :host {\n opacity: 0;\n transform: translateY(-4px) scale(0.97);\n }\n\n ::slotted(menu-separator) {\n display: block;\n margin: var(--space-xs) 0;\n }\n `];\n\n private _updateIconSections(): void {\n const slot = this.shadowRoot?.querySelector(`slot`) as HTMLSlotElement | null;\n if (!slot)\n return;\n\n const assigned = slot.assignedElements({ flatten: true });\n\n // Group direct children into sections delimited by separators and headers\n const sections: Element[][] = [];\n let section: Element[] = [];\n for (const el of assigned) {\n if (el.tagName === `IXFX-MENU-SEPARATOR` || el.tagName === `IXFX-MENU-HEADER`) {\n if (section.length > 0) {\n sections.push(section); section = [];\n }\n } else {\n section.push(el);\n }\n }\n if (section.length > 0)\n sections.push(section);\n\n this._propagateContext();\n\n for (const sec of sections) {\n const hasIcon = sec.some((el) => {\n if (el.tagName === `IXFX-MENU-RADIO-GROUP`) {\n return [...el.children].some(ri => ri.hasAttribute(`icon-name`));\n }\n return el.hasAttribute(`icon-name`);\n });\n\n for (const el of sec) {\n if (el.tagName === `IXFX-MENU-RADIO-GROUP`) {\n for (const ri of el.children) {\n if (hasIcon)\n ri.setAttribute(`data-icon-section`, ``);\n else ri.removeAttribute(`data-icon-section`);\n }\n } else {\n if (hasIcon)\n el.setAttribute(`data-icon-section`, ``);\n else el.removeAttribute(`data-icon-section`);\n }\n }\n }\n\n this.performUpdate();\n }\n\n private _propagateContext(): void {\n const slot = this.shadowRoot?.querySelector(`slot`) as HTMLSlotElement | null;\n if (!slot)\n return;\n for (const el of slot.assignedElements({ flatten: true })) {\n if (`registry` in el)\n (el as any).registry = this.registry;\n if (`keyboardManager` in el)\n (el as any).keyboardManager = this.keyboardManager;\n }\n }\n\n override updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has(`registry`) || changedProperties.has(`keyboardManager`)) {\n this._propagateContext();\n }\n }\n\n /**\n * Sync data-input-mode to :host so CSS variables cascade to slotted items\n */\n willUpdate(changed: Map<PropertyKey, unknown>): void {\n super.willUpdate(changed);\n // Set data-input-mode on :host so tickledStyles CSS variables cascade\n // through shadow DOM to slotted menu items\n this.setAttribute('data-input-mode', this.tickled.inputMode);\n }\n\n render() {\n return html`\n <div\n class=\"popover popup-surface\"\n role=\"menu\"\n @keydown=${this._handleKeydown}\n @mouseover=${this._handleMouseOver}\n >\n <slot @slotchange=${this._updateIconSections}></slot>\n </div>\n `;\n }\n\n private _getMenuItems(): HTMLElement[] {\n const slot = this.shadowRoot?.querySelector(`slot`);\n if (!slot)\n return [];\n\n const skipTags = [`IXFX-MENU-SEPARATOR`, `IXFX-MENU-HEADER`];\n const result: HTMLElement[] = [];\n\n for (const el of slot.assignedElements({ flatten: true })) {\n if (skipTags.includes(el.tagName))\n continue;\n if (el.hasAttribute(`disabled`))\n continue;\n const role = el.getAttribute(`role`);\n if (role === `none` || role === `presentation`)\n continue;\n\n if (el.tagName === `IXFX-MENU-RADIO-GROUP`) {\n const groupSlot = el.shadowRoot?.querySelector(`slot`) as HTMLSlotElement | null;\n for (const radioItem of groupSlot?.assignedElements({ flatten: true }) ?? []) {\n if (!radioItem.hasAttribute(`disabled`)) {\n result.push(radioItem as HTMLElement);\n }\n }\n } else {\n result.push(el as HTMLElement);\n }\n }\n\n return result;\n }\n\n /**\n * Sync .tickled class on slotted items to match controller state\n * This is called via onStateChange whenever the tickled state changes\n */\n private _syncTickledClasses(): void {\n const items = this._getMenuItems();\n items.forEach((item, i) => {\n if (this.tickled.isTickled(i)) {\n item.classList.add(`tickled`);\n item.tabIndex = 0;\n // Set inline styles to ensure visibility across shadow DOM boundaries\n const innerItem = item.shadowRoot?.querySelector(`.item`) as HTMLElement | null;\n if (innerItem) {\n innerItem.style.background = `rgba(0, 0, 0, 0.06)`;\n innerItem.style.borderColor = `var(--accent)`;\n innerItem.style.color = `inherit`;\n }\n } else {\n item.classList.remove(`tickled`);\n item.tabIndex = -1;\n // Clear inline styles\n const innerItem = item.shadowRoot?.querySelector(`.item`) as HTMLElement | null;\n if (innerItem) {\n innerItem.style.background = ``;\n innerItem.style.borderColor = ``;\n innerItem.style.color = ``;\n }\n }\n });\n\n // Focus the tickled item if in keyboard mode\n if (this.tickled.inputMode === 'keyboard' && this.tickled.tickledId !== undefined) {\n const tickledItem = items[this.tickled.tickledId];\n tickledItem?.focus();\n }\n }\n\n private _handleMouseOver = (e: MouseEvent): void => {\n const items = this._getMenuItems();\n // composedPath crosses shadow boundaries to find the hovered menu item\n const path = e.composedPath();\n const hoveredIndex = items.findIndex(item => path.includes(item));\n if (hoveredIndex !== -1) {\n const item = items[hoveredIndex];\n // If IXFX-MENU-CONTAINER appears before this item in the composed path, the\n // event originated from inside a nested submenu. Skip the focus override so the\n // inner container keeps ownership of focus. stopPropagation() alone is not\n // sufficient because it does not reliably cross shadow-root boundaries with\n // popovers in the stack — both this handler and the inner one will fire.\n const itemPathIndex = path.indexOf(item);\n const isFromInsideSubmenu = path.slice(0, itemPathIndex).some(\n node => node instanceof Element && node.tagName === `IXFX-MENU-CONTAINER`,\n );\n if (!isFromInsideSubmenu) {\n // Use TickledController to handle mouse hover\n this.tickled.handlePointerEnter(hoveredIndex);\n }\n // Stop propagation so ancestor MenuContainers don't override this focus\n // with their own mouseover handler (e.g. outer menu focusing the sub-trigger).\n e.stopPropagation();\n }\n };\n\n focusFirst(): void {\n this.tickled.handleKeyboardNavigation('first');\n }\n\n private _focusNext(items: HTMLElement[], direction: number): void {\n if (items.length === 0) {\n return;\n }\n\n this.tickled.handleKeyboardNavigation(direction > 0 ? 'next' : 'previous');\n }\n\n private _focusItem(items: HTMLElement[], index: number): void {\n if (items.length === 0) {\n return;\n }\n\n // Clamp index to valid range\n const clampedIndex = Math.max(0, Math.min(index, items.length - 1));\n this.tickled.handleKeyboardNavigation(clampedIndex);\n }\n\n private _activateFocusedItem(items: HTMLElement[]): void {\n const tickledIndex = this.tickled.tickledId;\n if (tickledIndex === undefined) {\n return;\n }\n \n const item = items[tickledIndex];\n if (!item) {\n return;\n }\n\n const tagName = item.tagName;\n\n if (tagName === `IXFX-MENU-SUB-TRIGGER`) {\n // Native menu behavior handles submenu navigation automatically\n return;\n }\n\n if (tagName === `IXFX-MENU-CHECK-ITEM`) {\n const checkItem = item as any;\n checkItem.checked = !checkItem.checked;\n checkItem.dispatchEvent(new CustomEvent(`command`, {\n detail: { command: checkItem.command, checked: checkItem.checked },\n bubbles: true,\n composed: true,\n }));\n return;\n }\n\n if (tagName === `IXFX-MENU-RADIO-ITEM`) {\n item.dispatchEvent(new CustomEvent(`radio-select`, {\n detail: { value: (item as any).value },\n bubbles: true,\n composed: true,\n }));\n return;\n }\n\n if (tagName === `IXFX-MENU-ITEM`) {\n const command = (item as any).command;\n if (command) {\n item.dispatchEvent(new CustomEvent(`command`, {\n detail: { command },\n bubbles: true,\n composed: true,\n }));\n }\n return;\n }\n\n (item as HTMLElement).click();\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n const items = this._getMenuItems();\n if (items.length === 0) {\n return;\n }\n\n switch (e.key) {\n case `ArrowDown`:\n e.preventDefault();\n e.stopPropagation();\n this._focusNext(items, 1);\n break;\n case `ArrowUp`:\n e.preventDefault();\n e.stopPropagation();\n this._focusNext(items, -1);\n break;\n case `Home`:\n e.preventDefault();\n e.stopPropagation();\n this._focusItem(items, 0);\n break;\n case `End`:\n e.preventDefault();\n e.stopPropagation();\n this._focusItem(items, items.length - 1);\n break;\n case `Enter`:\n case ` `:\n e.preventDefault();\n e.stopPropagation();\n this._activateFocusedItem(items);\n break;\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-menu-container': MenuContainer;\n }\n}\n","import type { CommandRegistry, KeyboardManager } from '@clinth/ui-commands';\nimport { css, html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { popupSurfaceStyles } from '../styles/popup.js';\nimport './menu-container.js';\nimport { safeCustomElement as customElement } from '../util/custom-elements.js';\n\ntype MenuMode = `trigger` | `dropdown` | `context`;\ntype Placement = `bottom-start` | `bottom-end` | `right-start`;\n\nexport type MenuTriggerCommandDetail = {\n readonly command?: string;\n readonly value?: string;\n readonly checked?: boolean;\n};\n\nexport type MenuTriggerCommandEvent = CustomEvent<MenuTriggerCommandDetail>;\n\n@customElement(`ixfx-menu-trigger`)\nexport class MenuTrigger extends LitElement {\n @property({ type: String }) mode: MenuMode = `trigger`;\n @property({ type: String }) label = `⋮`;\n @property({ attribute: false }) registry?: CommandRegistry<unknown>;\n @property({ attribute: false }) keyboardManager?: KeyboardManager;\n @property({ type: String }) placement: Placement = `bottom-start`;\n\n @state() private _isOpen = false;\n @state() private _hasMenu = false;\n @state() private _hasTriggerSlot = false;\n\n @query(`.trigger-btn`) private _triggerBtn!: HTMLButtonElement;\n @query(`.popup`) private _popup!: HTMLElement;\n\n private static _count = 0;\n\n private _anchorName = `--mt-${MenuTrigger._count++}`;\n private _clickListener = this._handleClickOutside.bind(this);\n\n connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener(`keydown`, this._handleKeydown);\n this.addEventListener(`command`, this._handleCommand as EventListener);\n this.addEventListener(`radio-change`, this._handleRadioChange as EventListener);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener(`keydown`, this._handleKeydown);\n this.removeEventListener(`command`, this._handleCommand as EventListener);\n this.removeEventListener(`radio-change`, this._handleRadioChange as EventListener);\n document.removeEventListener(`click`, this._clickListener);\n }\n\n firstUpdated(): void {\n this.style.setProperty(`--anchor-name`, this._anchorName);\n this._popup.addEventListener(`toggle`, this._handlePopoverToggle);\n\n this.updateComplete.then(() => {\n const slot = this.shadowRoot?.querySelector(`slot[name=\"menu\"]`) as HTMLSlotElement | undefined;\n if (slot) {\n const assigned = slot.assignedElements({ flatten: true });\n if (assigned.length > 0) {\n this._hasMenu = true;\n this._propagateContext();\n }\n }\n\n this._updatePosition();\n });\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has(`registry`) || changedProperties.has(`keyboardManager`)) {\n this._propagateContext();\n }\n }\n\n private _updatePosition(): void {\n const placements: Record<Placement, { top: string; left: string }> = {\n 'bottom-start': { top: `anchor(bottom)`, left: `anchor(left)` },\n 'bottom-end': { top: `anchor(bottom)`, left: `anchor(right)` },\n 'right-start': { top: `anchor(top)`, left: `anchor(right)` },\n };\n const pos = placements[this.placement];\n this._popup.style.top = pos.top;\n this._popup.style.left = pos.left;\n (this._popup.style as any).positionAnchor = this._anchorName;\n }\n\n private _propagateContext(): void {\n const slot = this.shadowRoot?.querySelector(`slot[name=\"menu\"]`) as HTMLSlotElement | undefined;\n const items = slot?.assignedElements({ flatten: true }) ?? [];\n for (const el of items) {\n if (`registry` in el)\n (el as any).registry = this.registry;\n if (`keyboardManager` in el)\n (el as any).keyboardManager = this.keyboardManager;\n }\n }\n\n private _handleSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n const assigned = slot.assignedElements({ flatten: true });\n this._hasMenu = assigned.length > 0;\n this._propagateContext();\n }\n\n private _handleTriggerSlotChange(e: Event): void {\n const slot = e.target as HTMLSlotElement;\n this._hasTriggerSlot = slot.assignedElements({ flatten: true }).length > 0;\n }\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n openMenu(): void {\n this._openMenu();\n }\n\n closeMenu(): void {\n this._closeMenu();\n }\n\n focusTrigger(): void {\n this._triggerBtn?.focus();\n }\n\n private _openMenu(): void {\n if (this._isOpen || !this._popup?.popover)\n return;\n try {\n (this._popup as any).showPopover({ source: this });\n this._isOpen = true;\n document.addEventListener(`click`, this._clickListener);\n this.dispatchEvent(new CustomEvent(`menu-trigger-open`, { bubbles: true, composed: true }));\n requestAnimationFrame(() => {\n this._getMenuContainer()?.focusFirst();\n });\n } catch (err) {\n console.warn(`showPopover failed:`, err);\n }\n }\n\n private _handlePopoverToggle = (e: Event): void => {\n if ((e as ToggleEvent).newState === `closed`) {\n this._isOpen = false;\n document.removeEventListener(`click`, this._clickListener);\n this.dispatchEvent(new CustomEvent(`menu-trigger-close`, { bubbles: true, composed: true }));\n }\n };\n\n private _closeMenu(): void {\n if (!this._isOpen)\n return;\n if (this._popup?.popover) {\n try {\n (this._popup as any).hidePopover();\n } catch { /* ignore */ }\n }\n this._isOpen = false;\n document.removeEventListener(`click`, this._clickListener);\n }\n\n private _handleTriggerClick(e: Event): void {\n e.stopPropagation();\n if (this._isOpen) {\n this._closeMenu();\n this._triggerBtn?.focus();\n } else {\n this._openMenu();\n }\n }\n\n private _handleClickOutside(e: Event): void {\n if (!this.contains(e.target as Node)) {\n if (this._popup?.popover && this._popup.hasAttribute(`open`)) {\n try {\n (this._popup as any).hidePopover();\n } catch {\n // ignore\n }\n }\n }\n }\n\n private _getMenuContainer(): (HTMLElement & { focusFirst: () => void }) | null {\n const slot = this.shadowRoot?.querySelector(`slot[name=\"menu\"]`) as HTMLSlotElement | null;\n const assigned = slot?.assignedElements({ flatten: true }) ?? [];\n const container = assigned.find(el => el.tagName === `IXFX-MENU-CONTAINER`);\n return (container as any) ?? null;\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (!this._isOpen)\n return;\n\n if (e.key === `Escape`) {\n e.preventDefault();\n e.stopPropagation();\n this._closeMenu();\n this._triggerBtn?.focus();\n } else if (e.key === `Tab`) {\n this._closeMenu();\n this._triggerBtn?.focus();\n }\n };\n\n private _handleCommand(e: CustomEvent): void {\n if (this._popup?.popover) {\n try {\n (this._popup as any).hidePopover();\n } catch {\n // ignore\n }\n }\n this.dispatchEvent(new CustomEvent<MenuTriggerCommandDetail>(`menu-command`, {\n detail: e.detail,\n bubbles: true,\n composed: true,\n }));\n }\n\n private _handleRadioChange(e: CustomEvent): void {\n if (this._popup?.popover) {\n try {\n (this._popup as any).hidePopover();\n } catch {\n // ignore\n }\n }\n this.dispatchEvent(new CustomEvent<MenuTriggerCommandDetail>(`menu-command`, {\n detail: {\n command: e.detail.name,\n value: e.detail.value,\n },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _handleContextMenu(e: MouseEvent): void {\n if (this.mode !== `context`)\n return;\n e.preventDefault();\n this._popup.style.top = `${e.clientY}px`;\n this._popup.style.left = `${e.clientX}px`;\n this._popup.style.position = `fixed`;\n (this._popup.style as any).positionAnchor = `none`;\n if (this._popup?.popover) {\n try {\n (this._popup as any).showPopover();\n } catch {\n // ignore\n }\n }\n }\n\n static styles = [\n popupSurfaceStyles,\n css`\n :host {\n display: inline-block;\n position: relative;\n }\n\n .trigger-area {\n anchor-name: var(--anchor-name);\n display: inline-flex;\n align-items: stretch;\n }\n\n .trigger-btn {\n background: none;\n border: none;\n color: var(--surface-3-text);\n cursor: pointer;\n padding: var(--space-s) var(--space-m);\n font-size: var(--text-m);\n font-weight: 600;\n border-radius: var(--radius-s);\n opacity: 0.6;\n transition: opacity var(--transition), background var(--transition);\n }\n\n .trigger-btn:hover {\n background: var(--_trigger-hover-bg, var(--surface-4));\n color: var(--surface-3-text);\n opacity: var(--_trigger-hover-opacity, 1);\n }\n\n .trigger-btn:focus-visible {\n background: var(--surface-4);\n color: var(--surface-3-text);\n outline: none;\n opacity: 1;\n }\n\n .popup {\n position: fixed;\n position-anchor: var(--anchor-name);\n inset: auto;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n z-index: 100;\n position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;\n }\n\n .popup[popover] {\n opacity: 1;\n transform: translateY(0) scale(1);\n transition: opacity 0.12s ease-out, transform 0.12s ease-out,\n display 0.12s allow-discrete, overlay 0.12s allow-discrete;\n }\n\n @starting-style .popup {\n opacity: 0;\n transform: translateY(-4px) scale(0.97);\n }\n `,\n ];\n\n render() {\n const showButton = this.mode !== `dropdown` && this._hasMenu && !this._hasTriggerSlot;\n return html`\n <div\n class=\"trigger-area\"\n @click=${this._handleTriggerClick}\n @contextmenu=${this._handleContextMenu}\n >\n ${showButton\n ? html`<button class=\"trigger-btn\" part=\"base\">${this.label}</button>`\n : null}\n <slot name=\"trigger\" @slotchange=${this._handleTriggerSlotChange}></slot>\n </div>\n <div\n class=\"popup popup-surface\"\n popover=\"auto\"\n @click=${(e: Event) => e.stopPropagation()}\n >\n <slot name=\"menu\" @slotchange=${this._handleSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-menu-trigger': MenuTrigger;\n }\n}\n","import type { CommandRegistry, KeyboardManager } from '@clinth/ui-commands';\nimport { css, html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { tickledItemStyles } from '../interaction/index.js';\nimport '../icons/icon.js';\nimport { safeCustomElement as customElement } from '../util/custom-elements.js';\n\nexport type MenuItemCommandDetail = {\n readonly command: string;\n readonly args: string;\n};\n\nexport type MenuItemCommandEvent = CustomEvent<MenuItemCommandDetail>;\n\n@customElement(`ixfx-menu-item`)\nexport class MenuItem extends LitElement {\n @property({ type: String }) command = ``;\n @property({ type: String, attribute: `command-args` }) commandArgs = ``;\n @property({ type: String }) label = ``;\n @property({ type: Boolean }) disabled = false;\n @property({ type: String, attribute: `icon-name` }) iconName = ``;\n @property({ attribute: false }) registry?: CommandRegistry<unknown>;\n @property({ attribute: false }) keyboardManager?: KeyboardManager;\n @property({ attribute: false }) submenuPopover?: HTMLElement;\n\n @state() private _hasChildren = false;\n @query(`slot`) private _slot!: HTMLSlotElement;\n\n private _hoverTimeout: number | null = null;\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._hoverTimeout) {\n clearTimeout(this._hoverTimeout);\n }\n }\n\n private _handleSlotChange(): void {\n const assigned = this._slot?.assignedElements() ?? [];\n this._hasChildren = assigned.length > 0;\n }\n\n private _handleMouseEnter(): void {\n if (this.disabled || !this._hasChildren || !this.submenuPopover)\n return;\n if (this._hoverTimeout) {\n clearTimeout(this._hoverTimeout);\n }\n this._hoverTimeout = window.setTimeout(() => {\n this._showSubmenu();\n }, 150);\n }\n\n private _handleMouseLeave(): void {\n if (this._hoverTimeout) {\n clearTimeout(this._hoverTimeout);\n this._hoverTimeout = null;\n }\n this._hideSubmenu();\n }\n\n private _showSubmenu(): void {\n if (!this.submenuPopover?.popover)\n return;\n try {\n this.submenuPopover.showPopover();\n } catch (err) {\n console.warn(`showPopover failed:`, err);\n }\n }\n\n private _hideSubmenu(): void {\n if (!this.submenuPopover?.popover)\n return;\n try {\n this.submenuPopover.hidePopover();\n } catch (err) {\n console.warn(`hidePopover failed:`, err);\n }\n }\n\n private handleClick(): void {\n if (this.disabled)\n return;\n\n this.dispatchEvent(new CustomEvent<MenuItemCommandDetail>(`command`, {\n detail: { command: this.command, args: this.commandArgs },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _resolvedLabel(): string {\n if (this.label)\n return this.label;\n if (this.registry && this.command) {\n return this.registry.get(this.command)?.label ?? ``;\n }\n return ``;\n }\n\n private _resolvedIcon(): string | null {\n if (this.iconName)\n return this.iconName;\n if (this.registry && this.command) {\n return this.registry.get(this.command)?.icon ?? null;\n }\n return null;\n }\n\n willUpdate(changedProperties: Map<string, unknown>): void {\n super.willUpdate(changedProperties);\n const resolvedIcon = this._resolvedIcon();\n if (resolvedIcon && !this.iconName) {\n this.setAttribute(`data-icon-section`, ``);\n } else if (!resolvedIcon && !this.iconName) {\n this.removeAttribute(`data-icon-section`);\n }\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n super.updated(changedProperties);\n }\n\n private _getShortcut(): string | null {\n if (!this.keyboardManager || !this.command)\n return null;\n const bindings = (this.keyboardManager as any).getBindings?.() ?? [];\n const binding = bindings.find((b: any) => b.commandId === this.command);\n if (!binding)\n return null;\n const mods = Array.from(binding.modifiers ?? [], (m: string) =>\n ({ ctrl: `⌃`, shift: `⇧`, alt: `⌥`, meta: `⌘` })[m] ?? m);\n const key = binding.key?.length === 1 ? binding.key.toUpperCase() : binding.key;\n return [...mods, key].join(``);\n }\n\n static override styles = [tickledItemStyles, css`\n :host {\n display: block;\n }\n\n .item {\n display: flex !important;\n align-items: center;\n padding: 6px var(--space-m);\n font-size: var(--text-m);\n background: var(--item-bg, transparent);\n border: var(--item-border, 1px solid transparent);\n color: var(--item-text, inherit);\n }\n\n :host(.tickled) .item {\n background: rgba(0, 0, 0, 0.06);\n border: 1px solid var(--accent);\n color: inherit;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n .item.disabled {\n opacity: var(--disabled-opacity);\n cursor: default;\n }\n\n .item.disabled:hover {\n background: transparent;\n }\n\n .icon-slot {\n width: 0;\n overflow: hidden;\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n :host([icon-name]) .icon-slot,\n :host([data-icon-section]) .icon-slot {\n width: 1em;\n height: 1em;\n margin-right: var(--space-s);\n }\n\n .label {\n flex: 1;\n }\n\n .shortcut {\n margin-left: auto;\n color: var(--surface-muted-text);\n font-size: var(--text-s);\n }\n\n .arrow {\n color: var(--surface-muted-text);\n margin-left: var(--space-m);\n }\n `];\n\n render() {\n const shortcut = this._getShortcut();\n const resolvedIcon = this._resolvedIcon();\n return html`\n <div \n class=\"item ${this.disabled ? `disabled` : ``}\"\n @click=${this.handleClick}\n @mouseenter=${this._handleMouseEnter}\n @mouseleave=${this._handleMouseLeave}\n tabindex=\"${this.disabled ? -1 : 0}\"\n role=\"menuitem\"\n aria-haspopup=\"${this._hasChildren ? `true` : `false`}\"\n aria-expanded=\"${this.submenuPopover?.matches(`:popover-open`) ?? false}\"\n >\n <span class=\"icon-slot\">${resolvedIcon ? html`<ixfx-icon name=\"${resolvedIcon}\"></ixfx-icon>` : null}</span>\n <span class=\"label\"><slot></slot>${this._resolvedLabel()}</span>\n ${shortcut ? html`<span class=\"shortcut\">${shortcut}</span>` : null}\n ${this._hasChildren ? html`<span class=\"arrow\"><ixfx-icon name=\"chevron-right\"></ixfx-icon></span>` : null}\n </div>\n <slot @slotchange=${this._handleSlotChange}></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-menu-item': MenuItem;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as _$lit from "lit";
|
|
2
1
|
import { LitElement } from "lit";
|
|
3
2
|
import { CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
|
|
4
3
|
|
|
@@ -9,7 +8,7 @@ declare class MenuContainer extends LitElement {
|
|
|
9
8
|
keyboardManager?: KeyboardManager;
|
|
10
9
|
private _popover;
|
|
11
10
|
private tickled;
|
|
12
|
-
static styles:
|
|
11
|
+
static styles: import("lit").CSSResult[];
|
|
13
12
|
private _updateIconSections;
|
|
14
13
|
private _propagateContext;
|
|
15
14
|
updated(changedProperties: Map<string, unknown>): void;
|
|
@@ -17,7 +16,7 @@ declare class MenuContainer extends LitElement {
|
|
|
17
16
|
* Sync data-input-mode to :host so CSS variables cascade to slotted items
|
|
18
17
|
*/
|
|
19
18
|
willUpdate(changed: Map<PropertyKey, unknown>): void;
|
|
20
|
-
render():
|
|
19
|
+
render(): import("lit").TemplateResult<1>;
|
|
21
20
|
private _getMenuItems;
|
|
22
21
|
/**
|
|
23
22
|
* Sync .tickled class on slotted items to match controller state
|
|
@@ -81,8 +80,8 @@ declare class MenuTrigger extends LitElement {
|
|
|
81
80
|
private _handleCommand;
|
|
82
81
|
private _handleRadioChange;
|
|
83
82
|
private _handleContextMenu;
|
|
84
|
-
static styles:
|
|
85
|
-
render():
|
|
83
|
+
static styles: import("lit").CSSResult[];
|
|
84
|
+
render(): import("lit").TemplateResult<1>;
|
|
86
85
|
}
|
|
87
86
|
declare global {
|
|
88
87
|
interface HTMLElementTagNameMap {
|
|
@@ -115,8 +114,8 @@ declare class MenuItem extends LitElement {
|
|
|
115
114
|
willUpdate(changedProperties: Map<string, unknown>): void;
|
|
116
115
|
updated(changedProperties: Map<string, unknown>): void;
|
|
117
116
|
private _getShortcut;
|
|
118
|
-
static styles:
|
|
119
|
-
render():
|
|
117
|
+
static styles: import("lit").CSSResult[];
|
|
118
|
+
render(): import("lit").TemplateResult<1>;
|
|
120
119
|
}
|
|
121
120
|
declare global {
|
|
122
121
|
interface HTMLElementTagNameMap {
|
|
@@ -125,4 +124,4 @@ declare global {
|
|
|
125
124
|
} //# sourceMappingURL=menu-item.d.ts.map
|
|
126
125
|
//#endregion
|
|
127
126
|
export { MenuContainer as i, MenuTrigger as n, MenuTriggerCommandDetail as r, MenuItem as t };
|
|
128
|
-
//# sourceMappingURL=menu-item-
|
|
127
|
+
//# sourceMappingURL=menu-item-ClQF2DKN.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-item-ClQF2DKN.d.ts","names":[],"sources":["../src/menu/menu-container.ts","../src/menu/menu-trigger.ts","../src/menu/menu-item.ts"],"mappings":";;;;cAQa,aAAA,SAAsB,UAAA;EACgB,MAAA;EACjB,QAAA,GAAW,eAAA;EACX,eAAA,GAAkB,eAAA;EAAA,QACvB,QAAA;EAAA,QAGnB,OAAA;EAAA,OAwBD,MAAA,gBAAM,SAAA;EAAA,QA4BL,mBAAA;EAAA,QAkDA,iBAAA;EAYC,OAAA,CAAQ,iBAAA,EAAmB,GAAA;EAShB;;;EAApB,UAAA,CAAW,OAAA,EAAS,GAAA,CAAI,WAAA;EAOxB,MAAA,CAAA,iBAAM,cAAA;EAAA,QAaE,aAAA;EApJwB;;;;EAAA,QAwLxB,mBAAA;EAAA,QAiCA,gBAAA;EA0BR,UAAA,CAAA;EAAA,QAIQ,UAAA;EAAA,QAQA,UAAA;EAAA,QAUA,oBAAA;EAAA,QAqDA,cAAA;AAAA;AAAA,QAqCF,MAAA;EAAA,UACI,qBAAA;IACR,qBAAA,EAAuB,aAAa;EAAA;AAAA;;;KCxWnC,QAAA;AAAA,KACA,SAAA;AAAA,KAEO,wBAAA;EAAA,SACD,OAAA;EAAA,SACA,KAAA;EAAA,SACA,OAAA;AAAA;AAAA,cAME,WAAA,SAAoB,UAAA;EACH,IAAA,EAAM,QAAA;EACN,KAAA;EACI,QAAA,GAAW,eAAA;EACX,eAAA,GAAkB,eAAA;EACtB,SAAA,EAAW,SAAA;EAAA,QAEtB,OAAA;EAAA,QACA,QAAA;EAAA,QACA,eAAA;EAAA,QAEc,WAAA;EAAA,QACN,MAAA;EAAA,eAEV,MAAA;EAAA,QAEP,WAAA;EAAA,QACA,cAAA;EAER,iBAAA,CAAA;EAOA,oBAAA,CAAA;EAQA,YAAA,CAAA;EAkBA,OAAA,CAAQ,iBAAA,EAAmB,GAAA;EAAA,QAMnB,eAAA;EAAA,QAYA,iBAAA;EAAA,QAWA,iBAAA;EAAA,QAOA,wBAAA;EAAA,IAKJ,MAAA,CAAA;EAIJ,QAAA,CAAA;EAIA,SAAA,CAAA;EAIA,YAAA,CAAA;EAAA,QAIQ,SAAA;EAAA,QAgBA,oBAAA;EAAA,QAQA,UAAA;EAAA,QAYA,mBAAA;EAAA,QAUA,mBAAA;EAAA,QAYA,iBAAA;EAAA,QAOA,cAAA;EAAA,QAeA,cAAA;EAAA,QAeA,kBAAA;EAAA,QAkBA,kBAAA;EAAA,OAiBD,MAAA,gBAAM,SAAA;EAkEb,MAAA,CAAA,iBAAM,cAAA;AAAA;AAAA,QAwBA,MAAA;EAAA,UACI,qBAAA;IACR,mBAAA,EAAqB,WAAW;EAAA;AAAA;;;cC/UvB,QAAA,SAAiB,UAAA;EACA,OAAA;EAC2B,WAAA;EAC3B,KAAA;EACC,QAAA;EACuB,QAAA;EACpB,QAAA,GAAW,eAAA;EACX,eAAA,GAAkB,eAAA;EAClB,cAAA,GAAiB,WAAA;EAAA,QAEhC,YAAA;EAAA,QACM,KAAA;EAAA,QAEf,aAAA;EAER,oBAAA,CAAA;EAAA,QAOQ,iBAAA;EAAA,QAKA,iBAAA;EAAA,QAWA,iBAAA;EAAA,QAQA,YAAA;EAAA,QAUA,YAAA;EAAA,QAUA,WAAA;EAAA,QAWA,cAAA;EAAA,QASA,aAAA;EASR,UAAA,CAAW,iBAAA,EAAmB,GAAA;EAU9B,OAAA,CAAQ,iBAAA,EAAmB,GAAA;EAAA,QAInB,YAAA;EAAA,OAaQ,MAAA,gBAAM,SAAA;EAkEtB,MAAA,CAAA,iBAAM,cAAA;AAAA;AAAA,QAwBA,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,QAAQ;EAAA;AAAA"}
|
package/dist/menu.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-
|
|
2
|
-
import { a as menuFromTree, c as MenuSubTrigger, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuHeader, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuSeparator, u as MenuCommandController } from "./index-
|
|
3
|
-
export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
|
|
1
|
+
import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-ClQF2DKN.js";
|
|
2
|
+
import { a as menuFromTree, c as MenuSubTrigger, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuHeader, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuSeparator, u as MenuCommandController } from "./index-kY5gxbkI.js";
|
|
3
|
+
export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, type MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
|
package/dist/menu.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-
|
|
2
|
-
import { a as menuFromTreeToElements, c as MenuHeader, d as MenuBar, i as menuFromTree, l as MenuCommandController, n as MenuRadioGroup, o as MenuSeparator, r as MenuRadioItem, s as MenuSubTrigger, u as MenuCheckItem } from "./menu-
|
|
1
|
+
import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-6IU5weHi.js";
|
|
2
|
+
import { a as menuFromTreeToElements, c as MenuHeader, d as MenuBar, i as menuFromTree, l as MenuCommandController, n as MenuRadioGroup, o as MenuSeparator, r as MenuRadioItem, s as MenuSubTrigger, u as MenuCheckItem } from "./menu-C3eANB5M.js";
|
|
3
3
|
export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
|
package/dist/miller.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { n as TraversableTree, t as TickledController } from "./tickled-controller-Cq1Va0rR.js";
|
|
2
2
|
import { C as TreeNode, S as TreeItem, a as TreeComponent, b as TreeFilterPredicate, c as TreeExpandEvent, d as TreeSearchHost, f as TreeSelectDetail, g as TreeDataModel, h as TreeTickleEvent, i as TreeCollapseEvent, l as TreeItemClickDetail, m as TreeTickleDetail, n as TreeActivateEvent, o as TreeComponentEventMap, p as TreeSelectEvent, r as TreeCollapseDetail, s as TreeExpandDetail, t as TreeActivateDetail, u as TreeItemClickEvent, v as LoadChildrenCallback, w as TreeSelectionFilter, y as TreeExclusivity } from "./tree-component-CQpoPo4s.js";
|
|
3
|
-
import * as _$lit from "lit";
|
|
4
3
|
import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
|
|
5
4
|
|
|
6
5
|
//#region src/miller/types.d.ts
|
|
@@ -210,7 +209,7 @@ declare class MillerBaseElement extends LitElement implements TreeComponent, Tre
|
|
|
210
209
|
* Called by subclasses when pointer leaves the column container.
|
|
211
210
|
*/
|
|
212
211
|
protected _handleColumnPointerLeave(): void;
|
|
213
|
-
static styles:
|
|
212
|
+
static styles: import("lit").CSSResult[];
|
|
214
213
|
}
|
|
215
214
|
declare global {
|
|
216
215
|
interface HTMLElementTagNameMap {
|
|
@@ -256,7 +255,7 @@ interface MillerBaseElement {
|
|
|
256
255
|
declare class MillerListElement extends MillerBaseElement {
|
|
257
256
|
#private;
|
|
258
257
|
protected renderColumnContent(nodes: TreeNode[], depth: number): TemplateResult;
|
|
259
|
-
static styles:
|
|
258
|
+
static styles: import("lit").CSSResult[];
|
|
260
259
|
}
|
|
261
260
|
declare global {
|
|
262
261
|
interface HTMLElementTagNameMap {
|
package/dist/miller.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miller.d.ts","names":[],"sources":["../src/miller/types.ts","../src/miller/miller-base.ts","../src/miller/miller-list.ts","../src/miller/miller-tree-controller.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"miller.d.ts","names":[],"sources":["../src/miller/types.ts","../src/miller/miller-base.ts","../src/miller/miller-list.ts","../src/miller/miller-tree-controller.ts"],"mappings":"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"}
|
package/dist/miller.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as tickledStyles, r as TickledController, t as tickledItemStyles } from "./tickled-styles-Bg3QbcrD.js";
|
|
2
|
-
import { t as __decorate } from "./decorate-
|
|
2
|
+
import { n as safeCustomElement, t as __decorate } from "./decorate-O4m1U4l3.js";
|
|
3
3
|
import "./interaction-CQDQJf2Q.js";
|
|
4
4
|
import { LitElement, css, html, nothing } from "lit";
|
|
5
|
-
import {
|
|
5
|
+
import { property, state } from "lit/decorators.js";
|
|
6
6
|
//#region src/miller/miller-base.ts
|
|
7
7
|
const EXPAND_DEBOUNCE_MS = 150;
|
|
8
8
|
let MillerBaseElement = class MillerBaseElement extends LitElement {
|
|
@@ -1051,7 +1051,7 @@ __decorate([property({ attribute: false })], MillerBaseElement.prototype, "filte
|
|
|
1051
1051
|
__decorate([state()], MillerBaseElement.prototype, "_columns", void 0);
|
|
1052
1052
|
__decorate([state()], MillerBaseElement.prototype, "_loadingDepth", void 0);
|
|
1053
1053
|
__decorate([state()], MillerBaseElement.prototype, "_selectedNodes", void 0);
|
|
1054
|
-
MillerBaseElement = __decorate([
|
|
1054
|
+
MillerBaseElement = __decorate([safeCustomElement(`ixfx-miller-base`)], MillerBaseElement);
|
|
1055
1055
|
//#endregion
|
|
1056
1056
|
//#region src/miller/miller-list.ts
|
|
1057
1057
|
/**
|
|
@@ -1212,7 +1212,7 @@ let MillerListElement = class MillerListElement extends MillerBaseElement {
|
|
|
1212
1212
|
];
|
|
1213
1213
|
}
|
|
1214
1214
|
};
|
|
1215
|
-
MillerListElement = __decorate([
|
|
1215
|
+
MillerListElement = __decorate([safeCustomElement(`ixfx-miller-list`)], MillerListElement);
|
|
1216
1216
|
//#endregion
|
|
1217
1217
|
//#region src/miller/miller-tree-controller.ts
|
|
1218
1218
|
/**
|