le-kit 0.1.19 → 0.2.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.
Files changed (143) hide show
  1. package/dist/cjs/index-pT2cVC5w.js.map +1 -1
  2. package/dist/cjs/le-button_13.cjs.entry.js +17 -21
  3. package/dist/cjs/le-icon.cjs.entry.js +108 -0
  4. package/dist/cjs/le-kit.cjs.js +1 -1
  5. package/dist/cjs/le-multiselect.cjs.entry.js +3 -3
  6. package/dist/cjs/le-navigation.cjs.entry.js +499 -0
  7. package/dist/cjs/le-number-input.cjs.entry.js +1 -1
  8. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  9. package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
  10. package/dist/cjs/le-stack.cjs.entry.js +1 -1
  11. package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
  12. package/dist/cjs/le-tab-panel.cjs.entry.js +2 -2
  13. package/dist/cjs/le-tab.cjs.entry.js +1 -1
  14. package/dist/cjs/le-tabs.cjs.entry.js +2 -2
  15. package/dist/cjs/le-tag.cjs.entry.js +1 -1
  16. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/collection/assets/icons/chevron-down.svg +3 -0
  19. package/dist/collection/collection-manifest.json +2 -0
  20. package/dist/collection/components/le-collapse/le-collapse.css +3 -3
  21. package/dist/collection/components/le-collapse/le-collapse.js +11 -15
  22. package/dist/collection/components/le-collapse/le-collapse.js.map +1 -1
  23. package/dist/collection/components/le-icon/le-icon.css +13 -0
  24. package/dist/collection/components/le-icon/le-icon.js +168 -0
  25. package/dist/collection/components/le-icon/le-icon.js.map +1 -0
  26. package/dist/collection/components/le-multiselect/le-multiselect.js +3 -3
  27. package/dist/collection/components/le-navigation/le-navigation.css +323 -0
  28. package/dist/collection/components/le-navigation/le-navigation.js +742 -0
  29. package/dist/collection/components/le-navigation/le-navigation.js.map +1 -0
  30. package/dist/collection/components/le-number-input/le-number-input.js +1 -1
  31. package/dist/collection/components/le-popover/le-popover.js +3 -3
  32. package/dist/collection/components/le-popup/le-popup.js +7 -7
  33. package/dist/collection/components/le-round-progress/le-round-progress.js +1 -1
  34. package/dist/collection/components/le-scroll-progress/le-scroll-progress.js +1 -1
  35. package/dist/collection/components/le-segmented-control/le-segmented-control.js +1 -1
  36. package/dist/collection/components/le-select/le-select.js +2 -2
  37. package/dist/collection/components/le-slot/le-slot.js +1 -1
  38. package/dist/collection/components/le-stack/le-stack.js +1 -1
  39. package/dist/collection/components/le-string-input/le-string-input.js +2 -2
  40. package/dist/collection/components/le-tab/le-tab.js +1 -1
  41. package/dist/collection/components/le-tab-bar/le-tab-bar.js +1 -1
  42. package/dist/collection/components/le-tab-panel/le-tab-panel.js +2 -2
  43. package/dist/collection/components/le-tabs/le-tabs.js +2 -2
  44. package/dist/collection/components/le-tag/le-tag.js +1 -1
  45. package/dist/collection/components/le-turntable/le-turntable.js +1 -1
  46. package/dist/collection/dist/components/assets/custom-elements.json +1278 -533
  47. package/dist/collection/dist/components/assets/icons/chevron-down.json +13 -0
  48. package/dist/collection/dist/components/assets/icons/chevron-down.svg +3 -0
  49. package/dist/collection/types/options.js.map +1 -1
  50. package/dist/components/assets/custom-elements.json +1278 -533
  51. package/dist/components/assets/icons/chevron-down.json +13 -0
  52. package/dist/components/assets/icons/chevron-down.svg +3 -0
  53. package/dist/components/index.js.map +1 -1
  54. package/dist/components/le-button2.js +5 -5
  55. package/dist/components/le-collapse.js +1 -137
  56. package/dist/components/le-collapse.js.map +1 -1
  57. package/dist/components/le-collapse2.js +138 -0
  58. package/dist/components/le-collapse2.js.map +1 -0
  59. package/dist/components/le-icon.d.ts +11 -0
  60. package/dist/components/le-icon.js +9 -0
  61. package/dist/components/le-icon.js.map +1 -0
  62. package/dist/components/le-icon2.js +133 -0
  63. package/dist/components/le-icon2.js.map +1 -0
  64. package/dist/components/le-multiselect.js +3 -3
  65. package/dist/components/le-navigation.d.ts +11 -0
  66. package/dist/components/le-navigation.js +598 -0
  67. package/dist/components/le-navigation.js.map +1 -0
  68. package/dist/components/le-number-input.js +1 -1
  69. package/dist/components/le-popover2.js +3 -3
  70. package/dist/components/le-round-progress.js +1 -1
  71. package/dist/components/le-scroll-progress.js +1 -1
  72. package/dist/components/le-segmented-control.js +1 -1
  73. package/dist/components/le-stack.js +1 -1
  74. package/dist/components/le-tab-bar.js +1 -1
  75. package/dist/components/le-tab-panel.js +2 -2
  76. package/dist/components/le-tab2.js +1 -1
  77. package/dist/components/le-tabs.js +2 -2
  78. package/dist/components/le-tag2.js +1 -1
  79. package/dist/components/le-turntable.js +1 -1
  80. package/dist/docs.json +515 -27
  81. package/dist/esm/index-CNv6tzAt.js.map +1 -1
  82. package/dist/esm/le-button_13.entry.js +17 -21
  83. package/dist/esm/le-icon.entry.js +106 -0
  84. package/dist/esm/le-icon.entry.js.map +1 -0
  85. package/dist/esm/le-kit.js +1 -1
  86. package/dist/esm/le-multiselect.entry.js +3 -3
  87. package/dist/esm/le-navigation.entry.js +497 -0
  88. package/dist/esm/le-navigation.entry.js.map +1 -0
  89. package/dist/esm/le-number-input.entry.js +1 -1
  90. package/dist/esm/le-round-progress.entry.js +1 -1
  91. package/dist/esm/le-segmented-control.entry.js +1 -1
  92. package/dist/esm/le-stack.entry.js +1 -1
  93. package/dist/esm/le-tab-bar.entry.js +1 -1
  94. package/dist/esm/le-tab-panel.entry.js +2 -2
  95. package/dist/esm/le-tab.entry.js +1 -1
  96. package/dist/esm/le-tabs.entry.js +2 -2
  97. package/dist/esm/le-tag.entry.js +1 -1
  98. package/dist/esm/le-turntable.entry.js +1 -1
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/le-kit/dist/components/assets/custom-elements.json +1278 -533
  101. package/dist/le-kit/dist/components/assets/icons/chevron-down.json +13 -0
  102. package/dist/le-kit/dist/components/assets/icons/chevron-down.svg +3 -0
  103. package/dist/le-kit/le-kit.esm.js +1 -1
  104. package/dist/le-kit/{p-3327b089.entry.js → p-0ac4397c.entry.js} +2 -2
  105. package/dist/le-kit/{p-dfd20890.entry.js → p-25a29e69.entry.js} +2 -2
  106. package/dist/le-kit/{p-64c2cee1.entry.js → p-511fbb63.entry.js} +2 -2
  107. package/dist/le-kit/{p-4bdb03cb.entry.js → p-58120921.entry.js} +2 -2
  108. package/dist/le-kit/{p-b7c008de.entry.js → p-5ceb06d8.entry.js} +2 -2
  109. package/dist/le-kit/p-8c5a8f1e.entry.js +2 -0
  110. package/dist/le-kit/p-8c5a8f1e.entry.js.map +1 -0
  111. package/dist/le-kit/{p-e3f3cc8f.entry.js → p-9a3bdbe1.entry.js} +2 -2
  112. package/dist/le-kit/p-CNv6tzAt.js.map +1 -1
  113. package/dist/le-kit/{p-f88c804a.entry.js → p-a0d2c580.entry.js} +2 -2
  114. package/dist/le-kit/p-b1dc7e06.entry.js +2 -0
  115. package/dist/le-kit/p-b1dc7e06.entry.js.map +1 -0
  116. package/dist/le-kit/p-bb160082.entry.js +2 -0
  117. package/dist/le-kit/p-bb160082.entry.js.map +1 -0
  118. package/dist/le-kit/{p-da0265c5.entry.js → p-de5638c9.entry.js} +2 -2
  119. package/dist/le-kit/{p-1733d907.entry.js → p-e24d3e33.entry.js} +2 -2
  120. package/dist/le-kit/{p-6acdf000.entry.js → p-ec20e438.entry.js} +2 -2
  121. package/dist/le-kit/{p-02532919.entry.js → p-f4f2c3e7.entry.js} +2 -2
  122. package/dist/types/components/le-collapse/le-collapse.d.ts +5 -3
  123. package/dist/types/components/le-icon/le-icon.d.ts +28 -0
  124. package/dist/types/components/le-navigation/le-navigation.d.ts +112 -0
  125. package/dist/types/components.d.ts +194 -10
  126. package/dist/types/types/options.d.ts +5 -0
  127. package/package.json +1 -1
  128. package/dist/collection/dist/components/assets/.gitkeep +0 -1
  129. package/dist/components/assets/.gitkeep +0 -1
  130. package/dist/le-kit/dist/components/assets/.gitkeep +0 -1
  131. package/dist/le-kit/p-83007215.entry.js +0 -2
  132. package/dist/le-kit/p-83007215.entry.js.map +0 -1
  133. /package/dist/le-kit/{p-3327b089.entry.js.map → p-0ac4397c.entry.js.map} +0 -0
  134. /package/dist/le-kit/{p-dfd20890.entry.js.map → p-25a29e69.entry.js.map} +0 -0
  135. /package/dist/le-kit/{p-64c2cee1.entry.js.map → p-511fbb63.entry.js.map} +0 -0
  136. /package/dist/le-kit/{p-4bdb03cb.entry.js.map → p-58120921.entry.js.map} +0 -0
  137. /package/dist/le-kit/{p-b7c008de.entry.js.map → p-5ceb06d8.entry.js.map} +0 -0
  138. /package/dist/le-kit/{p-e3f3cc8f.entry.js.map → p-9a3bdbe1.entry.js.map} +0 -0
  139. /package/dist/le-kit/{p-f88c804a.entry.js.map → p-a0d2c580.entry.js.map} +0 -0
  140. /package/dist/le-kit/{p-da0265c5.entry.js.map → p-de5638c9.entry.js.map} +0 -0
  141. /package/dist/le-kit/{p-1733d907.entry.js.map → p-e24d3e33.entry.js.map} +0 -0
  142. /package/dist/le-kit/{p-6acdf000.entry.js.map → p-ec20e438.entry.js.map} +0 -0
  143. /package/dist/le-kit/{p-02532919.entry.js.map → p-f4f2c3e7.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"le-navigation.js","sourceRoot":"","sources":["../../../src/components/le-navigation/le-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { LeOption } from '../../types/options';\nimport { classnames, generateId } from '../../utils/utils';\n\nexport interface LeNavigationItemSelectDetail {\n item: LeOption;\n id: string;\n href?: string;\n originalEvent: MouseEvent;\n}\n\nexport interface LeNavigationItemToggleDetail {\n item: LeOption;\n id: string;\n open: boolean;\n originalEvent: MouseEvent;\n}\n\ninterface VerticalListRenderOptions {\n depth: number;\n pathPrefix: string;\n autoOpenIds?: Set<string>;\n searchable?: boolean;\n searchQuery?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n submenuId?: string;\n}\n\n/**\n * Navigation component with vertical (tree) and horizontal (menu) layouts.\n *\n * - Accepts items as `LeOption[]` or a JSON string.\n * - Supports hierarchical items via `children`.\n * - Supports persisted expansion via `open` on items.\n *\n * @cmsEditable true\n * @cmsCategory Navigation\n */\n@Component({\n tag: 'le-navigation',\n styleUrl: 'le-navigation.css',\n shadow: true,\n})\nexport class LeNavigation {\n @Element() el: HTMLElement;\n\n /**\n * Navigation items.\n * Can be passed as an array or JSON string (same pattern as le-select).\n */\n @Prop() items: LeOption[] | string = [];\n\n /**\n * Layout orientation.\n */\n @Prop({ reflect: true }) orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Horizontal wrapping behavior.\n * If false, overflow behavior depends on `overflowMode`.\n */\n @Prop({ reflect: true }) wrap: boolean = true;\n\n /**\n * Overflow behavior for horizontal, non-wrapping menus.\n * - more: moves overflow items into a \"More\" popover\n * - hamburger: turns the whole nav into a hamburger popover\n */\n @Prop({ reflect: true }) overflowMode: 'more' | 'hamburger' = 'more';\n\n /**\n * Enables a search input for the vertical navigation.\n */\n @Prop() searchable: boolean = false;\n\n /**\n * Placeholder text for the search input.\n */\n @Prop() searchPlaceholder: string = 'Search...';\n\n /**\n * Text shown when no items match the filter.\n */\n @Prop() emptyText: string = 'No results found';\n\n /**\n * Whether submenu popovers should include a filter input.\n */\n @Prop() submenuSearchable: boolean = false;\n\n /**\n * Fired when a navigation item is activated.\n *\n * This event is cancelable. Call `event.preventDefault()` to prevent\n * default browser navigation and implement custom routing.\n */\n @Event({ cancelable: true }) leNavItemSelect: EventEmitter<LeNavigationItemSelectDetail>;\n\n /**\n * Fired when a tree branch is toggled.\n */\n @Event() leNavItemToggle: EventEmitter<LeNavigationItemToggleDetail>;\n\n @State() private searchQuery: string = '';\n\n @State() private openState: Record<string, boolean> = {};\n\n @State() private overflowIds: string[] = [];\n\n @State() private hamburgerActive: boolean = false;\n\n @State() private submenuQueries: Record<string, string> = {};\n\n private navContainerEl?: HTMLElement;\n\n private measureEl?: HTMLElement;\n private measureMoreEl?: HTMLElement;\n\n private topItemEls: Map<string, HTMLElement> = new Map();\n\n private popoverRefs: Map<string, HTMLLePopoverElement> = new Map();\n\n private resizeObserver?: ResizeObserver;\n\n private instanceId: string = generateId('le-nav');\n\n @Watch('items')\n @Watch('orientation')\n @Watch('wrap')\n @Watch('overflowMode')\n handleLayoutInputsChange() {\n this.scheduleOverflowRecalc();\n }\n\n componentDidLoad() {\n this.setupResizeObserver();\n this.scheduleOverflowRecalc();\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n this.resizeObserver = undefined;\n }\n\n componentDidRender() {\n // In case refs change after render.\n this.scheduleOverflowRecalc();\n }\n\n private setupResizeObserver() {\n this.resizeObserver?.disconnect();\n\n if (typeof ResizeObserver === 'undefined') return;\n\n this.resizeObserver = new ResizeObserver(() => this.computeOverflow());\n this.observeContainer(this.navContainerEl);\n }\n\n private observeContainer(el?: HTMLElement) {\n if (!this.resizeObserver) return;\n this.resizeObserver.disconnect();\n if (el) this.resizeObserver.observe(el);\n }\n\n private scheduleOverflowRecalc() {\n // Avoid work for vertical layout.\n if (this.orientation !== 'horizontal') return;\n\n // Ensure it runs after layout.\n requestAnimationFrame(() => this.computeOverflow());\n }\n\n private get parsedItems(): LeOption[] {\n if (typeof this.items === 'string') {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n\n return this.items;\n }\n\n private getItemId(item: LeOption, path: string): string {\n return item.id ?? `${this.instanceId}:${path}`;\n }\n\n private getChildItems(item: LeOption): LeOption[] {\n return Array.isArray(item.children) ? item.children : [];\n }\n\n private isOpen(item: LeOption, id: string): boolean {\n const fromState = this.openState[id];\n if (typeof fromState === 'boolean') return fromState;\n return !!item.open;\n }\n\n private setOpen(id: string, open: boolean) {\n if (this.openState[id] === open) return;\n this.openState = {\n ...this.openState,\n [id]: open,\n };\n }\n\n private matchesQuery(option: LeOption, query: string): boolean {\n if (!query) return true;\n\n const q = query.toLowerCase();\n return (\n option.label.toLowerCase().includes(q) ||\n (option.description?.toLowerCase().includes(q) ?? false)\n );\n }\n\n private filterTree(\n items: LeOption[],\n query: string,\n pathPrefix: string,\n autoOpen: Set<string>,\n ): LeOption[] {\n if (!query) return items;\n\n const result: LeOption[] = [];\n\n items.forEach((item, index) => {\n const path = pathPrefix ? `${pathPrefix}.${index}` : String(index);\n const id = this.getItemId(item, path);\n\n const children = this.getChildItems(item);\n const filteredChildren = this.filterTree(children, query, path, autoOpen);\n const selfMatch = this.matchesQuery(item, query);\n const childMatch = filteredChildren.length > 0;\n\n if (selfMatch || childMatch) {\n if (childMatch) {\n autoOpen.add(id);\n }\n\n if (childMatch && filteredChildren !== children) {\n result.push({\n ...item,\n children: filteredChildren,\n });\n } else {\n result.push(item);\n }\n }\n });\n\n return result;\n }\n\n private handleItemSelect = (e: MouseEvent, item: LeOption, id: string) => {\n if (item.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n const emitted = this.leNavItemSelect.emit({\n item,\n id,\n href: item.href,\n originalEvent: e,\n });\n\n if (emitted.defaultPrevented) {\n e.preventDefault();\n }\n };\n\n private handleToggle = (e: MouseEvent, item: LeOption, id: string) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (item.disabled) return;\n\n const next = !this.isOpen(item, id);\n this.setOpen(id, next);\n\n this.leNavItemToggle.emit({\n item,\n id,\n open: next,\n originalEvent: e,\n });\n };\n\n private handleSearchInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.searchQuery = target.value;\n };\n\n private handleSubmenuSearchInput = (submenuId: string, e: Event) => {\n const target = e.target as HTMLInputElement;\n const value = target.value;\n\n if (this.submenuQueries[submenuId] === value) return;\n\n this.submenuQueries = {\n ...this.submenuQueries,\n [submenuId]: value,\n };\n\n // Position may change as items filter.\n requestAnimationFrame(() => this.popoverRefs.get(submenuId)?.updatePosition());\n };\n\n private getTopLevelIds(items: LeOption[]): string[] {\n return items.map((item, index) => this.getItemId(item, String(index)));\n }\n\n private computeOverflow() {\n // Only applies to horizontal, non-wrapping navs.\n if (this.orientation !== 'horizontal' || this.wrap) {\n if (this.overflowIds.length) this.overflowIds = [];\n if (this.hamburgerActive) this.hamburgerActive = false;\n return;\n }\n\n const container = this.navContainerEl;\n if (!container) return;\n\n const topIds = this.getTopLevelIds(this.parsedItems);\n const widths = topIds.map(id => this.topItemEls.get(id)?.getBoundingClientRect().width ?? 0);\n\n const totalWidth = widths.reduce((a, b) => a + b, 0);\n const availableWidth = container.getBoundingClientRect().width;\n\n if (this.overflowMode === 'hamburger') {\n const shouldHamburger = totalWidth > availableWidth;\n if (shouldHamburger !== this.hamburgerActive) {\n this.hamburgerActive = shouldHamburger;\n }\n if (this.overflowIds.length) this.overflowIds = [];\n return;\n }\n\n // overflowMode === 'more'\n this.computeOverflowMoreByWrap(availableWidth);\n }\n\n private computeOverflowMoreByWrap(availableWidth: number) {\n const container = this.navContainerEl;\n const measure = this.measureEl;\n const measureMore = this.measureMoreEl;\n const items = this.parsedItems;\n\n if (!container || !measure) return;\n\n // Ensure measurement container matches visible container width.\n measure.style.width = `${availableWidth}px`;\n\n const allIds = this.getTopLevelIds(items);\n const itemEls = allIds\n .map(id => measure.querySelector<HTMLElement>(`[data-nav-id=\"${CSS.escape(id)}\"]`))\n .filter((el): el is HTMLElement => !!el);\n\n // Reset measurement visibility.\n itemEls.forEach(el => {\n el.style.display = '';\n });\n if (measureMore) {\n measureMore.style.display = 'none';\n }\n\n if (itemEls.length === 0) {\n if (this.overflowIds.length) this.overflowIds = [];\n return;\n }\n\n const firstRowTop = Math.min(...itemEls.map(el => el.offsetTop));\n const overflowSet = new Set<string>();\n\n // Pass 1: detect which items fall onto rows > 1 (without \"More\" in flow).\n itemEls.forEach(el => {\n const id = el.getAttribute('data-nav-id');\n if (!id) return;\n if (el.offsetTop > firstRowTop) overflowSet.add(id);\n });\n\n if (overflowSet.size === 0) {\n if (this.overflowIds.length) this.overflowIds = [];\n return;\n }\n\n // Pass 2: show \"More\" and iteratively move items into overflow until \"More\" fits on row 1.\n if (measureMore) {\n measureMore.style.display = '';\n }\n\n // Hide currently overflowing items.\n itemEls.forEach(el => {\n const id = el.getAttribute('data-nav-id');\n if (!id) return;\n if (overflowSet.has(id)) el.style.display = 'none';\n });\n\n const getVisibleItemEls = () => itemEls.filter(el => el.style.display !== 'none');\n\n while (measureMore) {\n const visible = getVisibleItemEls();\n const rowTop = visible.length ? Math.min(...visible.map(el => el.offsetTop)) : 0;\n\n if (measureMore.offsetTop <= rowTop) break;\n if (visible.length === 0) break;\n\n // Remove one last visible item and retry.\n const last = visible[visible.length - 1];\n const lastId = last.getAttribute('data-nav-id');\n if (!lastId) break;\n\n last.style.display = 'none';\n overflowSet.add(lastId);\n }\n\n const overflowIds = allIds.filter(id => overflowSet.has(id));\n\n const same =\n overflowIds.length === this.overflowIds.length &&\n overflowIds.every((v, i) => v === this.overflowIds[i]);\n\n if (!same) {\n this.overflowIds = overflowIds;\n }\n }\n\n private renderHorizontalMeasureItem(item: LeOption, index: number) {\n const id = this.getItemId(item, String(index));\n const children = this.getChildItems(item);\n const hasChildren = children.length > 0;\n\n const setRef = (el?: HTMLElement) => {\n if (el) this.topItemEls.set(id, el);\n };\n\n if (!hasChildren) {\n return (\n <div class=\"h-item\" ref={setRef} data-nav-id={id}>\n <span class=\"h-link\">\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"h-label\">{item.label}</span>\n {item.iconEnd && (\n <span class=\"nav-icon nav-icon-end\" aria-hidden=\"true\">\n {item.iconEnd}\n </span>\n )}\n </span>\n </div>\n );\n }\n\n return (\n <div class=\"h-item\" ref={setRef} data-nav-id={id}>\n <span class=\"h-trigger\">\n <span class=\"h-link\">\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"h-label\">{item.label}</span>\n </span>\n <span class=\"h-submenu-toggle\" aria-hidden=\"true\">\n <span class=\"nav-chevron\">▼</span>\n </span>\n </span>\n </div>\n );\n }\n\n private renderVerticalList(\n items: LeOption[],\n {\n depth,\n pathPrefix,\n autoOpenIds,\n searchable,\n searchQuery,\n searchPlaceholder,\n emptyText,\n submenuId,\n }: VerticalListRenderOptions,\n ) {\n const query = searchQuery ?? '';\n const openFromSearch = autoOpenIds ?? new Set<string>();\n\n const filtered = query ? this.filterTree(items, query, pathPrefix, openFromSearch) : items;\n\n return (\n <div class={classnames('nav-vertical', { 'is-submenu': !!submenuId })}>\n {searchable && (\n <div class=\"nav-search\">\n <le-string-input\n mode=\"default\"\n class=\"nav-search-input\"\n placeholder={searchPlaceholder ?? 'Search...'}\n value={query}\n onInput={(e: Event) =>\n submenuId ? this.handleSubmenuSearchInput(submenuId, e) : this.handleSearchInput(e)\n }\n />\n </div>\n )}\n\n {filtered.length === 0 ? (\n <div class=\"nav-empty\">{emptyText ?? this.emptyText}</div>\n ) : (\n <ul class=\"nav-list\" role=\"tree\">\n {filtered.map((item, index) => {\n const path = pathPrefix ? `${pathPrefix}.${index}` : String(index);\n const id = this.getItemId(item, path);\n const children = this.getChildItems(item);\n const hasChildren = children.length > 0;\n const open = hasChildren && (this.isOpen(item, id) || openFromSearch.has(id));\n\n const paddingLeft = `calc(var(--le-nav-item-padding-x) + ${depth} * var(--le-spacing-4))`;\n\n const TagType = item.href && !item.disabled ? 'a' : 'button';\n const attrs =\n TagType === 'a'\n ? { href: item.href, role: 'treeitem' }\n : { type: 'button', role: 'treeitem' };\n\n return (\n <li\n class={classnames('nav-node', {\n 'disabled': item.disabled,\n 'selected': item.selected,\n open,\n 'has-children': hasChildren,\n })}\n key={id}\n role=\"none\"\n >\n <div class=\"nav-row\" style={{ paddingLeft }}>\n {hasChildren ? (\n <button\n type=\"button\"\n class=\"nav-toggle\"\n aria-label={open ? 'Collapse' : 'Expand'}\n aria-expanded={open ? 'true' : 'false'}\n onClick={(e: MouseEvent) => this.handleToggle(e, item, id)}\n disabled={item.disabled}\n >\n <le-icon name=\"chevron-down\" class=\"nav-chevron\" aria-hidden=\"true\" />\n </button>\n ) : (\n <span class=\"nav-toggle-spacer\" aria-hidden=\"true\" />\n )}\n\n <TagType\n class=\"nav-item\"\n {...attrs}\n aria-disabled={item.disabled ? 'true' : undefined}\n onClick={(e: MouseEvent) => {\n // For buttons, also toggle if this is a purely structural node.\n this.handleItemSelect(e, item, id);\n if (!item.href && hasChildren && !item.disabled) {\n this.handleToggle(e, item, id);\n }\n }}\n >\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"nav-text\">\n <span class=\"nav-label\">{item.label}</span>\n {item.description && (\n <span class=\"nav-description\">{item.description}</span>\n )}\n </span>\n {item.iconEnd && (\n <span class=\"nav-icon nav-icon-end\" aria-hidden=\"true\">\n {item.iconEnd}\n </span>\n )}\n </TagType>\n </div>\n\n {hasChildren && (\n <le-collapse class=\"nav-children\" closed={!open} noFading={true} role=\"group\">\n {this.renderVerticalList(children, {\n depth: depth + 1,\n pathPrefix: path,\n autoOpenIds: openFromSearch,\n })}\n </le-collapse>\n )}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n }\n\n private renderHorizontalItem(item: LeOption, index: number) {\n const id = this.getItemId(item, String(index));\n const children = this.getChildItems(item);\n const hasChildren = children.length > 0;\n\n if (!hasChildren) {\n const TagType = item.href && !item.disabled ? 'a' : 'button';\n const attrs =\n TagType === 'a'\n ? { href: item.href, role: 'menuitem' }\n : { type: 'button', role: 'menuitem' };\n\n return (\n <div class=\"h-item\">\n <TagType\n class={classnames('h-link', {\n disabled: item.disabled,\n selected: item.selected,\n })}\n {...attrs}\n aria-disabled={item.disabled ? 'true' : undefined}\n onClick={(e: MouseEvent) => this.handleItemSelect(e, item, id)}\n >\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"h-label\">{item.label}</span>\n {item.iconEnd && (\n <span class=\"nav-icon nav-icon-end\" aria-hidden=\"true\">\n {item.iconEnd}\n </span>\n )}\n </TagType>\n </div>\n );\n }\n\n const submenuId = id;\n\n return (\n <div class=\"h-item\">\n <le-popover\n ref={el => {\n if (el) this.popoverRefs.set(submenuId, el);\n }}\n mode=\"default\"\n showClose={false}\n closeOnClickOutside={true}\n closeOnEscape={true}\n position=\"bottom\"\n align=\"start\"\n minWidth=\"240px\"\n >\n <div\n slot=\"trigger\"\n class={classnames('h-trigger', {\n disabled: item.disabled,\n selected: item.selected,\n })}\n role=\"menuitem\"\n aria-disabled={item.disabled ? 'true' : undefined}\n onClick={(e: MouseEvent) => {\n // Don’t let le-popover auto-toggle from its internal wrapper.\n e.stopPropagation();\n if (item.disabled) return;\n\n if (item.href) {\n this.handleItemSelect(e, item, id);\n } else {\n this.popoverRefs.get(submenuId)?.toggle();\n }\n }}\n >\n {item.href ? (\n <a\n class=\"h-link\"\n href={item.href}\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n this.handleItemSelect(e, item, id);\n }}\n >\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"h-label\">{item.label}</span>\n </a>\n ) : (\n <button\n type=\"button\"\n class=\"h-link\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation();\n if (item.disabled) return;\n this.popoverRefs.get(submenuId)?.toggle();\n }}\n >\n {item.iconStart && (\n <span class=\"nav-icon\" aria-hidden=\"true\">\n {item.iconStart}\n </span>\n )}\n <span class=\"h-label\">{item.label}</span>\n </button>\n )}\n\n <button\n type=\"button\"\n class=\"h-submenu-toggle\"\n aria-label=\"Open submenu\"\n onClick={(e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (item.disabled) return;\n this.popoverRefs.get(submenuId)?.toggle();\n }}\n >\n <span class=\"nav-chevron\" aria-hidden=\"true\">\n <le-icon name=\"chevron-down\" />\n </span>\n </button>\n </div>\n\n <div class=\"popover-menu\">\n {this.renderVerticalList(children, {\n depth: 0,\n pathPrefix: String(index),\n searchable: this.submenuSearchable,\n searchQuery: this.submenuQueries[submenuId] ?? '',\n searchPlaceholder: this.searchPlaceholder,\n emptyText: this.emptyText,\n submenuId,\n })}\n </div>\n </le-popover>\n </div>\n );\n }\n\n private renderHorizontal() {\n const items = this.parsedItems;\n\n const overflowSet = new Set(this.overflowIds);\n\n const overflowItems: LeOption[] = [];\n items.forEach((item, index) => {\n const id = this.getItemId(item, String(index));\n if (!this.wrap && this.overflowMode === 'more' && overflowSet.has(id)) {\n overflowItems.push(item);\n }\n });\n\n // Hamburger mode: show a single trigger if anything overflows.\n if (!this.wrap && this.overflowMode === 'hamburger' && this.hamburgerActive) {\n return (\n <div class=\"nav-horizontal-shell\">\n <div\n class=\"nav-horizontal-measure\"\n aria-hidden=\"true\"\n ref={el => {\n this.measureEl = el as HTMLElement;\n }}\n >\n {items.map((item, index) => this.renderHorizontalMeasureItem(item, index))}\n <div\n class=\"h-item\"\n ref={el => {\n this.measureMoreEl = el as HTMLElement;\n }}\n >\n <button type=\"button\" class=\"overflow-trigger\">\n More\n </button>\n </div>\n </div>\n\n <div\n class=\"nav-horizontal\"\n ref={el => {\n this.navContainerEl = el as HTMLElement;\n this.setupResizeObserver();\n this.observeContainer(this.navContainerEl);\n }}\n >\n <le-popover\n mode=\"default\"\n showClose={false}\n closeOnClickOutside={true}\n closeOnEscape={true}\n position=\"bottom\"\n align=\"end\"\n minWidth=\"260px\"\n >\n <button slot=\"trigger\" type=\"button\" class=\"overflow-trigger\" aria-label=\"Open menu\">\n ☰\n </button>\n <div class=\"popover-menu\">\n {this.renderVerticalList(items, { depth: 0, pathPrefix: '' })}\n </div>\n </le-popover>\n </div>\n </div>\n );\n }\n\n const showMore = !this.wrap && this.overflowMode === 'more' && overflowItems.length > 0;\n\n return (\n <div class=\"nav-horizontal-shell\" role=\"menubar\">\n <div\n class=\"nav-horizontal-measure\"\n aria-hidden=\"true\"\n ref={el => {\n this.measureEl = el as HTMLElement;\n }}\n >\n {items.map((item, index) => this.renderHorizontalMeasureItem(item, index))}\n <div\n class=\"h-item\"\n ref={el => {\n this.measureMoreEl = el as HTMLElement;\n }}\n >\n <button type=\"button\" class=\"overflow-trigger\">\n More\n </button>\n </div>\n </div>\n\n <div\n class={classnames('nav-horizontal', {\n wrap: this.wrap,\n nowrap: !this.wrap,\n })}\n ref={el => {\n this.navContainerEl = el as HTMLElement;\n this.setupResizeObserver();\n this.observeContainer(this.navContainerEl);\n }}\n >\n {items.map((item, index) => {\n const id = this.getItemId(item, String(index));\n const isOverflow = !this.wrap && this.overflowMode === 'more' && overflowSet.has(id);\n if (isOverflow) return null;\n return this.renderHorizontalItem(item, index);\n })}\n\n {/* Render a hidden trigger for measurement when not visible */}\n <div\n class={classnames('more-trigger-wrap', {\n 'is-visible': showMore,\n 'is-measure': !showMore,\n })}\n >\n <le-popover\n mode=\"default\"\n position=\"bottom\"\n align=\"end\"\n minWidth=\"260px\"\n showClose={false}\n >\n <button slot=\"trigger\" type=\"button\" class=\"overflow-trigger\" aria-label=\"More\">\n More\n </button>\n <div class=\"popover-menu\">\n {this.renderVerticalList(overflowItems, { depth: 0, pathPrefix: '' })}\n </div>\n </le-popover>\n </div>\n </div>\n </div>\n );\n }\n\n render() {\n const items = this.parsedItems;\n\n if (this.orientation === 'horizontal') {\n return (\n <Host>\n <le-component component=\"le-navigation\">{this.renderHorizontal()}</le-component>\n </Host>\n );\n }\n\n return (\n <Host>\n <le-component component=\"le-navigation\">\n {this.renderVerticalList(items, {\n depth: 0,\n pathPrefix: '',\n searchable: this.searchable,\n searchQuery: this.searchQuery,\n searchPlaceholder: this.searchPlaceholder,\n emptyText: this.emptyText,\n })}\n </le-component>\n </Host>\n );\n }\n}\n"]}
@@ -195,7 +195,7 @@ export class LeNumberInput {
195
195
  this.emitChange();
196
196
  };
197
197
  render() {
198
- return (h("le-component", { key: '5403532693c953ecb18a4eed385e51e65b85b25f', component: "le-number-input", hostClass: classnames({ 'disabled': this.disabled }) }, h("div", { key: '805a34c835e525c3b2058b1ed857c902820a8161', class: "le-input-wrapper" }, this.label && (h("label", { key: '65e7e6aa6f668407ca64be9e6aa6a1756ac379c3', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: '9128a87c28796276b7b40c88a6a95a22fe7aea86', class: classnames('le-input-container', { 'has-error': !this.isValid }) }, this.iconStart && (h("span", { key: '2d6a2026db781100de617c6150e7e790f07cb778', class: "icon-start" }, this.iconStart)), h("input", { key: '5a17f9fca5f5e2706e34c0dfc3e5f74730c631b2', id: this.name, type: "number", name: this.name, placeholder: this.placeholder, min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, required: this.required, onInput: this.handleInput, onChange: this.handleChange, onKeyDown: this.handleKeyDown, onWheel: this.handleWheel }), this.showSpinners && (h("div", { key: '4e075f49e495e320dfd3ec63936ea57a1798b5ab', class: "le-input-controls" }, h("le-button", { key: 'b3e4895ec49aa3a8579bf348c97f84e6e5667e5c', mode: "default", variant: "clear", size: "small", "icon-only": true, class: "le-input-control-btn", onClick: this.increment, disabled: this.disabled || this.readonly || (this.max !== undefined && this.value >= this.max), tabindex: "-1" }, h("span", { key: '436704faafdea57baa4df0d298ed1700cec81df8', slot: "icon-only" }, "\u2191")), h("le-button", { key: '154ddac168a71bde52370a389e8f1bfc46dd46eb', mode: "default", variant: "clear", size: "small", "icon-only": true, class: "le-input-control-btn", onClick: this.decrement, disabled: this.disabled || this.readonly || (this.min !== undefined && this.value <= this.min), tabindex: "-1" }, h("span", { key: '4575bc557baad459ff91ec97a6384f766c1d01b2', slot: "icon-only" }, "\u2193"))))), !this.isValid && h("div", { key: '4b5d085fa37c799d594fccdb629f6c1cba80255e', class: "le-input-error" }, this.validationMessage), h("div", { key: 'd0d1486e6243e4ef2fbb462b41853b942c8789cb', class: "le-input-description" }, h("le-slot", { key: 'c841fb065ed38fe88d2b165d8cd8fde7e483920d', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: 'e5a3be8caf94d69cd8a105c64dfa5e473c00ab5d', name: "description" }))))));
198
+ return (h("le-component", { key: '5ca731314dea05358c17f1d1341f60c092f7f3cf', component: "le-number-input", hostClass: classnames({ 'disabled': this.disabled }) }, h("div", { key: '59d4e240934731b055ac907ae2834e0b298cfa43', class: "le-input-wrapper" }, this.label && (h("label", { key: 'c69754d91ce30e387336e79cb964d2b3811b6143', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: '87b8fd88f702752b78e392b668081dcabc3ee818', class: classnames('le-input-container', { 'has-error': !this.isValid }) }, this.iconStart && (h("span", { key: 'df1ae914d42940d08378af548b3f75a61da4221d', class: "icon-start" }, this.iconStart)), h("input", { key: '65cf776d7ed9ba024cb74b0b28340e4122789f1d', id: this.name, type: "number", name: this.name, placeholder: this.placeholder, min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, required: this.required, onInput: this.handleInput, onChange: this.handleChange, onKeyDown: this.handleKeyDown, onWheel: this.handleWheel }), this.showSpinners && (h("div", { key: '2011b1d921ce59471f73e0e8ee71c31009cd6ccd', class: "le-input-controls" }, h("le-button", { key: '19d8bfdda57d33770d577477abc065b1f3c9f8bd', mode: "default", variant: "clear", size: "small", "icon-only": true, class: "le-input-control-btn", onClick: this.increment, disabled: this.disabled || this.readonly || (this.max !== undefined && this.value >= this.max), tabindex: "-1" }, h("span", { key: 'b9e929938c42d29d3d8f52547dbb2ea0d6660f59', slot: "icon-only" }, "\u2191")), h("le-button", { key: '0ac2bc5438d684deb4b29e229b7a7b1db09578e7', mode: "default", variant: "clear", size: "small", "icon-only": true, class: "le-input-control-btn", onClick: this.decrement, disabled: this.disabled || this.readonly || (this.min !== undefined && this.value <= this.min), tabindex: "-1" }, h("span", { key: 'ec2933d49fbff75b14c2c7a3ff994f15ab22b08f', slot: "icon-only" }, "\u2193"))))), !this.isValid && h("div", { key: '7dc47495f4c2aaf3f91efaad08f56fae47de3d05', class: "le-input-error" }, this.validationMessage), h("div", { key: '165415790fab9e911ab236570e2f2723043deebb', class: "le-input-description" }, h("le-slot", { key: 'bc6401930e0546dfae4bba8436ae56392fef3c1b', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: '0f39013377f404bfd78a4f19318a76e20d66f99a', name: "description" }))))));
199
199
  }
200
200
  static get is() { return "le-number-input"; }
201
201
  static get encapsulation() { return "shadow"; }
@@ -459,12 +459,12 @@ export class LePopover {
459
459
  popoverStyles.minWidth = this.minWidth;
460
460
  if (this.maxWidth)
461
461
  popoverStyles.maxWidth = this.maxWidth;
462
- return (h(Host, { key: '2f9cf64bec38fb417d783b3b0279f594888412cc', "trigger-full-width": this.triggerFullWidth }, h("div", { key: 'b9568393ba7ad41a63dbd98d37efc6e906ba429b', class: classnames('le-popover-trigger', {
462
+ return (h(Host, { key: 'ab4a38788350cd0571637978291dc3cacf128290', "trigger-full-width": this.triggerFullWidth }, h("div", { key: 'aeae05965add2ef93145fecfc444124ef998e868', class: classnames('le-popover-trigger', {
463
463
  'le-popover-trigger-full-width': this.triggerFullWidth,
464
- }), ref: el => (this.triggerEl = el), onClick: this.handleTriggerClick, part: "trigger" }, h("slot", { key: '4b354dbb5bc2afdaaed3154df08ffa93e8c9eb8b', name: "trigger" }, h("button", { key: 'f3935e5609049d4ab0325c4800806d504806d02c', type: "button", class: "le-popover-default-trigger" }, h("span", { key: '3d5005fa23631178e43cee22a2ab28ca168814b5' }, "\u2295")))), h("div", { key: 'b0c3d8197689d777a35467d8e7da563f43ca747b', id: this.uniqueId, class: "le-popover-content",
464
+ }), ref: el => (this.triggerEl = el), onClick: this.handleTriggerClick, part: "trigger" }, h("slot", { key: 'db68f48f01d2d729e46a8fe46e7a10f3c28cecd6', name: "trigger" }, h("button", { key: 'e2ab0f5516d18b8cb209c3172c84d46041089c39', type: "button", class: "le-popover-default-trigger" }, h("span", { key: '1a8062028340b3696fbce2f2911b7cecba947841' }, "\u2295")))), h("div", { key: '19ff2c84398d3851c51f64f3369017790e9a6ab2', id: this.uniqueId, class: "le-popover-content",
465
465
  // Always use manual mode so nested popovers can be open together.
466
466
  // We implement click-outside and Escape handling ourselves.
467
- popover: "manual", ref: el => (this.popoverEl = el), style: popoverStyles, "data-fallback-open": this.supportsPopoverApi ? undefined : String(this.open) }, (this.popoverTitle || this.showClose) && (h("div", { key: '1fc6c737b7388f46b57524e68f90c15572c7995d', class: "le-popover-header" }, this.popoverTitle && h("span", { key: '8b90c6a2455bdbff0ffa3b0641dd9b3812230f9a', class: "le-popover-title" }, this.popoverTitle), this.showClose && (h("button", { key: 'a940cc73287aa9954543036a00e661ed6cf1214c', type: "button", class: "le-popover-close", onClick: () => this.hide(), "aria-label": "Close" }, "\u00D7")))), h("div", { key: '2e5985096a5cd5e8cff9dea7e91430dbac17c5b7', class: "le-popover-body", part: "content" }, h("slot", { key: 'be0996467525c5a7c658ba1f8b72d4ad2370b5e9' })))));
467
+ popover: "manual", ref: el => (this.popoverEl = el), style: popoverStyles, "data-fallback-open": this.supportsPopoverApi ? undefined : String(this.open) }, (this.popoverTitle || this.showClose) && (h("div", { key: 'fba07fb0c59685f51dd0952560d47abbce7b7424', class: "le-popover-header" }, this.popoverTitle && h("span", { key: '064851cf48684a1bb9e2a27c8d415bcf449fc871', class: "le-popover-title" }, this.popoverTitle), this.showClose && (h("button", { key: '281803ab3f5aeab0f0ed842dba513ef5991f6619', type: "button", class: "le-popover-close", onClick: () => this.hide(), "aria-label": "Close" }, "\u00D7")))), h("div", { key: '4aea10af963421a60145b6ed0913f1447b8f0599', class: "le-popover-body", part: "content" }, h("slot", { key: 'e4310d522411a43164d08eb74a935777782e6bac' })))));
468
468
  }
469
469
  static get is() { return "le-popover"; }
470
470
  static get encapsulation() { return "shadow"; }
@@ -280,7 +280,7 @@ export class LePopup {
280
280
  "references": {
281
281
  "PopupType": {
282
282
  "location": "local",
283
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
283
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
284
284
  "id": "src/components/le-popup/le-popup.tsx::PopupType"
285
285
  }
286
286
  }
@@ -364,7 +364,7 @@ export class LePopup {
364
364
  "references": {
365
365
  "PopupPosition": {
366
366
  "location": "local",
367
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
367
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
368
368
  "id": "src/components/le-popup/le-popup.tsx::PopupPosition"
369
369
  }
370
370
  }
@@ -505,7 +505,7 @@ export class LePopup {
505
505
  "references": {
506
506
  "PopupResult": {
507
507
  "location": "local",
508
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
508
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
509
509
  "id": "src/components/le-popup/le-popup.tsx::PopupResult"
510
510
  }
511
511
  }
@@ -526,7 +526,7 @@ export class LePopup {
526
526
  "references": {
527
527
  "PopupResult": {
528
528
  "location": "local",
529
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
529
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
530
530
  "id": "src/components/le-popup/le-popup.tsx::PopupResult"
531
531
  }
532
532
  }
@@ -562,7 +562,7 @@ export class LePopup {
562
562
  "references": {
563
563
  "PopupResult": {
564
564
  "location": "local",
565
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
565
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
566
566
  "id": "src/components/le-popup/le-popup.tsx::PopupResult"
567
567
  }
568
568
  }
@@ -582,7 +582,7 @@ export class LePopup {
582
582
  },
583
583
  "PopupResult": {
584
584
  "location": "local",
585
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
585
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
586
586
  "id": "src/components/le-popup/le-popup.tsx::PopupResult"
587
587
  }
588
588
  },
@@ -608,7 +608,7 @@ export class LePopup {
608
608
  },
609
609
  "PopupResult": {
610
610
  "location": "local",
611
- "path": "/Users/leechy/Projects/le-kit/src/components/le-popup/le-popup.tsx",
611
+ "path": "/home/runner/work/le-kit/le-kit/src/components/le-popup/le-popup.tsx",
612
612
  "id": "src/components/le-popup/le-popup.tsx::PopupResult"
613
613
  }
614
614
  },
@@ -85,7 +85,7 @@ export class LeRoundProgress {
85
85
  return (h("svg", { viewBox: this.getViewBox(), class: "round-progress" }, paths));
86
86
  }
87
87
  render() {
88
- return (h("div", { key: 'ffb8f83f99c183fd82969cf6ec7822ccf4aa9af8', class: "round-progress--container" }, this.getPaths(), h("svg", { key: '29aa0e60c26968564b1e930a3b1b9d32460721dd', viewBox: this.getViewBox(), class: "round-progress round-progress--progress" }, h("path", { key: '7a5cd37e96a65fa6397704d88a4add6e2a1ec1e9', class: "round-progress--circle", "stroke-dasharray": this.getStrokeDashArray(), d: this.getPath() })), h("slot", { key: 'eb135e9bad29d96cba229c5a5e61e74d4e6392ec' })));
88
+ return (h("div", { key: '3ffd4b3088bb03af650e413b3c24b5c8206abe7b', class: "round-progress--container" }, this.getPaths(), h("svg", { key: 'd5b1a23bc9bf3092fa1e97857dcd1cb3d690d39d', viewBox: this.getViewBox(), class: "round-progress round-progress--progress" }, h("path", { key: 'a3ded815f03c77fbb693822223e10979ae0db760', class: "round-progress--circle", "stroke-dasharray": this.getStrokeDashArray(), d: this.getPath() })), h("slot", { key: '3d54c7c12e5930d51bc4dfcdcf1b82829eea8ad9' })));
89
89
  }
90
90
  static get is() { return "le-round-progress"; }
91
91
  static get encapsulation() { return "shadow"; }
@@ -118,7 +118,7 @@ export class LeScrollProgress {
118
118
  }
119
119
  render() {
120
120
  const width = `${this.progress * 100}%`;
121
- return (h(Host, { key: 'cbadf9f2574e351a75629829d808cddb0faffa9f' }, h("div", { key: 'fa0ab594f7c0629ce888f2b6fe94001ff7e682ea', class: "track", part: "track", "aria-hidden": "true" }, h("div", { key: 'c440d66e68a5322766a88b5e3f3dee76399b9c5e', class: "fill", part: "fill", style: { width } }))));
121
+ return (h(Host, { key: 'bbbf42c0402c2b565d6d6b740e0863ed9543cc43' }, h("div", { key: '085ca4aad35549d49ef1553d2eb0fd805df2af4a', class: "track", part: "track", "aria-hidden": "true" }, h("div", { key: '12dc1e4bc87afa64e47d75d3c3c097af82b74b94', class: "fill", part: "fill", style: { width } }))));
122
122
  }
123
123
  static get is() { return "le-scroll-progress"; }
124
124
  static get encapsulation() { return "shadow"; }
@@ -236,7 +236,7 @@ export class LeSegmentedControl {
236
236
  'full-width': fullWidth,
237
237
  'disabled': disabled,
238
238
  };
239
- return (h(Host, { key: '567a033dd9fbb023d599b918bdc9f6505a98b4be', class: `overflow-${this.overflow}` }, h("le-component", { key: '0f60a5e7985740f9309c1fbc98df297149a2988c', component: "le-segmented-control" }, h("div", { key: '6c5e3f60ed1ed2bace109750ab79a4a36edaf60b', class: classes, ref: el => (this.containerRef = el), role: "radiogroup", part: "container", onKeyDown: this.handleKeyDown, tabIndex: 0 }, segmentConfigs.map(option => {
239
+ return (h(Host, { key: '559bbf293fcd9108dfc04025562cee8d87fe87ba', class: `overflow-${this.overflow}` }, h("le-component", { key: '12cb853ddae94c506c5788882fb3336301e283c6', component: "le-segmented-control" }, h("div", { key: 'bedce1c124e8ab3daa089a74915afa8f6ed62f3d', class: classes, ref: el => (this.containerRef = el), role: "radiogroup", part: "container", onKeyDown: this.handleKeyDown, tabIndex: 0 }, segmentConfigs.map(option => {
240
240
  const optValue = this.getOptionValue(option);
241
241
  const isSelected = optValue === value;
242
242
  const isDisabled = option.disabled || disabled;
@@ -192,13 +192,13 @@ export class LeSelect {
192
192
  }
193
193
  render() {
194
194
  const hasValue = this.selectedOption !== undefined;
195
- return (h("le-component", { key: 'a0ca432db47f107068c4e042879e3d4dd414d06e', component: "le-select" }, h("le-dropdown-base", { key: '66f09301db0dcfada04db5e1ab29816e8f8d3b4d', ref: el => (this.dropdownEl = el), options: this.parsedOptions, value: this.value, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose, fullWidth: this.fullWidth }, h("le-button", { key: '7fd27c00d95a170074790ffdc717642d8461a2c6', variant: this.variant && this.variant !== 'default' ? this.variant : 'outlined', slot: "trigger", align: "space-between", class: {
195
+ return (h("le-component", { key: '6f2eebab3f0afcef9d1801812ad0cc4cfb4456b6', component: "le-select" }, h("le-dropdown-base", { key: 'eb34e28681f84fbd5a75d415facd9f1f79012010', ref: el => (this.dropdownEl = el), options: this.parsedOptions, value: this.value, disabled: this.disabled, filterFn: this.searchable ? this.filterOption : undefined, filterQuery: this.searchQuery, onLeOptionSelect: this.handleOptionSelect, onLeDropdownOpen: this.handleDropdownOpen, onLeDropdownClose: this.handleDropdownClose, fullWidth: this.fullWidth }, h("le-button", { key: 'e8507bfd78aa3267fb2513810599361cd223f8eb', variant: this.variant && this.variant !== 'default' ? this.variant : 'outlined', slot: "trigger", align: "space-between", class: {
196
196
  'select-trigger': true,
197
197
  'has-value': hasValue,
198
198
  'is-open': this.open,
199
199
  }, mode: "default", size: this.size, disabled: this.disabled, "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', onClick: this.handleTriggerClick, onKeyDown: this.handleTriggerKeyDown, fullWidth: this.fullWidth, iconStart: hasValue && this.selectedOption?.iconStart
200
200
  ? this.renderIcon(this.selectedOption.iconStart)
201
- : null, iconEnd: h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { d: "M4 6l4 4 4-4" })) }, h("span", { key: '6fca1cffb7daf5884b39d229d34062b3cdba9e08', class: "trigger-label" }, hasValue ? this.selectedOption.label : this.placeholder)), this.searchable && this.open && (h("div", { key: 'c81b509a8c60ce714ad690afa4a4f216e5202179', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: 'ff765da2ab677ece47247c9814d0ca1c33c8e755', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name && h("input", { key: '7ed21492c742b5c48fe9eb42d9a3ac8cbfc42262', type: "hidden", name: this.name, value: this.value?.toString() ?? '' })));
201
+ : null, iconEnd: h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { d: "M4 6l4 4 4-4" })) }, h("span", { key: 'afd07c274a9b340ed16d89844495fdf588e7ebfe', class: "trigger-label" }, hasValue ? this.selectedOption.label : this.placeholder)), this.searchable && this.open && (h("div", { key: 'baeaf8eb5ad2083d3860d9e02991d32144e23038', class: "multiselect-search", slot: "header" }, h("le-string-input", { key: '4d3a7d002fb4476db71f2e37ce44dc62cc89f2fc', mode: "default", inputRef: el => (this.inputEl = el), class: "search-input", placeholder: "Search...", value: this.searchQuery, onInput: this.handleSearchInput })))), this.name && h("input", { key: '37e3432981fda47a0bbf09bcb56851bd5dab4ca4', type: "hidden", name: this.name, value: this.value?.toString() ?? '' })));
202
202
  }
203
203
  static get is() { return "le-select"; }
204
204
  static get encapsulation() { return "shadow"; }
@@ -343,7 +343,7 @@ export class LeSlot {
343
343
  render() {
344
344
  const displayLabel = this.label || this.name;
345
345
  // Always render the same structure, CSS handles visibility via .admin-mode class
346
- return (h(Host, { key: '2ec5bf87657767e9f173e3a54f6574314d1b9a5c', class: {
346
+ return (h(Host, { key: '0b2b3edf3690ed9769438ef019111638e5de0276', class: {
347
347
  'admin-mode': this.adminMode,
348
348
  'invalid-html': !this.isValidHtml,
349
349
  }, role: this.adminMode ? 'region' : undefined, "aria-label": this.adminMode ? `Slot: ${displayLabel}` : undefined, "data-slot-name": this.name, "data-slot-type": this.type, "data-allowed": this.allowedComponents, "data-multiple": this.multiple, "data-required": this.required }, this.adminMode ? (h("div", { class: "le-slot-container" }, h("div", { class: classnames('le-slot-header', {
@@ -134,7 +134,7 @@ export class LeStack {
134
134
  });
135
135
  // Slot style for admin mode - make items display in the same direction
136
136
  const slotStyle = `display: flex; flex-direction: ${this.getFlexDirection()}; gap: ${this.gap || 'var(--le-space-md)'}; flex-wrap: ${this.wrap ? 'wrap' : 'nowrap'}; justify-content: ${this.getJustifyContent()}; align-items: ${this.getAlignItems()};`;
137
- return (h("le-component", { key: '39228201dedcc0975488238fbe18411cd48a6ad3', component: "le-stack", hostClass: hostClass }, h("div", { key: 'b091295bebfdbc4d7a650d592e9d9de826730a2d', class: "stack", part: "stack", style: style }, h("le-slot", { key: '32c1c13d8a818613c07aa7ba56505c65194755bb', name: "", description: `Items arranged ${this.direction}ly${this.maxItems ? ` (max ${this.maxItems})` : ''}`, type: "slot", "allowed-components": "le-text,le-box,le-card,le-button,le-stack", slotStyle: slotStyle }, h("slot", { key: '05110d4ab7abfc4fa1687ec110de0c482ad3588e' })))));
137
+ return (h("le-component", { key: '5f01f4afc716be565227e396952da314182de505', component: "le-stack", hostClass: hostClass }, h("div", { key: '1eef9ac4318f39038282c3574d0019c4d904b421', class: "stack", part: "stack", style: style }, h("le-slot", { key: 'f4445ca2070d685a3621df06dffe02b40cbb2db3', name: "", description: `Items arranged ${this.direction}ly${this.maxItems ? ` (max ${this.maxItems})` : ''}`, type: "slot", "allowed-components": "le-text,le-box,le-card,le-button,le-stack", slotStyle: slotStyle }, h("slot", { key: '90d40bfa5c766d6161614e90ab8f8cec8a0a6dc3' })))));
138
138
  }
139
139
  static get is() { return "le-stack"; }
140
140
  static get encapsulation() { return "shadow"; }
@@ -99,11 +99,11 @@ export class LeStringInput {
99
99
  ev.stopPropagation();
100
100
  };
101
101
  render() {
102
- return (h("le-component", { key: 'db58477a8aad248ec99e39e2949df2fd7470d1d8', component: "le-string-input", hostClass: classnames({ disabled: this.disabled }) }, h("div", { key: '213727813a87a8b11b48c4f3007b6f0575a75369', class: "le-input-wrapper" }, this.label && (h("label", { key: '981efc4b5ea8bb9459642c6b95bb377f199aa184', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: 'b66b4e42ee3830c28443ccc01916b430386dcfac', class: "le-input-container", part: "container" }, this.iconStart && h("span", { key: 'e4d2eb3fb5e3acddc8eeccc2c9368b96ae7da10b', class: "icon-start" }, this.iconStart), h("input", { key: 'adb72263beb77ae7ae036e90213b98e68044cced', ref: el => {
102
+ return (h("le-component", { key: 'c28242025bd09955e03d3aa7e5f7d1fd0693817f', component: "le-string-input", hostClass: classnames({ disabled: this.disabled }) }, h("div", { key: 'e995b83c1668d4818c634f39acb16683baef844c', class: "le-input-wrapper" }, this.label && (h("label", { key: 'cb0a17558b2a07bf211bdb5ecd7d4e8aec9554cc', class: "le-input-label", htmlFor: this.name }, this.label)), h("div", { key: 'c50a27c4e0732c05b37d6ff6ea77e74f05e942d6', class: "le-input-container", part: "container" }, this.iconStart && h("span", { key: 'f9e01713742664671938e66498a407fd0d408b5f', class: "icon-start" }, this.iconStart), h("input", { key: '2357145ebdb43bc6eb52450508f707699253da91', ref: el => {
103
103
  if (this.inputRef) {
104
104
  this.inputRef(el);
105
105
  }
106
- }, id: this.name, type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }), this.iconEnd && h("span", { key: '49aaa72cd3512ffd5efc543921ef6c4fadc62e61', class: "icon-end" }, this.iconEnd)), !this.hideDescription && (h("div", { key: '5d19624840df8a25ee1e975680b279271015c2b9', class: "le-input-description" }, h("le-slot", { key: '32bd340c8ad780d684470d8bb62bb561c29ddfc0', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: '72fd752c60411b60b6a3f7394d48db2c45e2126b', name: "description" })))))));
106
+ }, id: this.name, type: this.type, name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }), this.iconEnd && h("span", { key: '22ea7682c0e74910905d08fceeab2b4d0270af60', class: "icon-end" }, this.iconEnd)), !this.hideDescription && (h("div", { key: 'e281b9cc97935296dda68bf52fa3318997a6c39d', class: "le-input-description" }, h("le-slot", { key: '438f02f1a197968f9d5aa751214a680fc17eb2ba', name: "description", type: "text", tag: "p", label: "Description" }, h("slot", { key: '3e52eb43aede04916d0004449fc03c4987d62715', name: "description" })))))));
107
107
  }
108
108
  static get is() { return "le-string-input"; }
109
109
  static get encapsulation() { return "shadow"; }
@@ -135,7 +135,7 @@ export class LeTab {
135
135
  const attrs = this.href
136
136
  ? { href: this.href, target: this.target, role: 'button' }
137
137
  : { disabled: this.disabled };
138
- return (h(Host, { key: '3f96ce4f479bcd0ddd35f07dd488e9584484b464' }, h("le-component", { key: '33bacc8d4b513904d366570c250e1e2ddbc7c210', component: "le-tab" }, h(TagType, { key: '5addc8519aee06d8c3406dd8684e4b8d2cd86caa', class: classnames('le-tab-container', `le-tab-align-${this.align}`, classes), part: "button", ...attrs, onClick: this.handleClick, tabIndex: this.focusable ? 0 : -1 }, this.icon !== undefined ? (h("div", { class: "icon-only" }, h("div", { class: "icon" }, this.icon), this.showLabel && h("span", { class: "icon-label" }, this.label))) : (h(Fragment, null, h("span", { class: "le-tab-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Tab text", type: "text", class: "content", part: "content" }, h("slot", null, this.label))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd))))))));
138
+ return (h(Host, { key: '7e073b5ca3bba044c2325571ca9aed94b0be66de' }, h("le-component", { key: 'b6c6952c9f8b48b5f4f7851d1216de160dd16c45', component: "le-tab" }, h(TagType, { key: 'e1c901c60e75ff9104420c28452964d090f67365', class: classnames('le-tab-container', `le-tab-align-${this.align}`, classes), part: "button", ...attrs, onClick: this.handleClick, tabIndex: this.focusable ? 0 : -1 }, this.icon !== undefined ? (h("div", { class: "icon-only" }, h("div", { class: "icon" }, this.icon), this.showLabel && h("span", { class: "icon-label" }, this.label))) : (h(Fragment, null, h("span", { class: "le-tab-label" }, this.iconStart && (h("span", { class: "icon-start", part: "icon-start" }, this.iconStart)), h("le-slot", { name: "", description: "Tab text", type: "text", class: "content", part: "content" }, h("slot", null, this.label))), this.iconEnd && (h("span", { class: "icon-end", part: "icon-end" }, this.iconEnd))))))));
139
139
  }
140
140
  static get is() { return "le-tab"; }
141
141
  static get encapsulation() { return "shadow"; }
@@ -236,7 +236,7 @@ export class LeTabBar {
236
236
  'position-top': this.position === 'top',
237
237
  'position-bottom': this.position === 'bottom',
238
238
  };
239
- return (h(Host, { key: '03f3a22715a909d668ff293a92a91f7120983ecd', class: classes }, h("le-component", { key: '86da25b4d88d889523e5b19206cd336e98fc32e7', component: "le-tab-bar" }, h("div", { key: 'f34a6496e03b15380b9839ec2104e2a19a62b685', class: "tablist", role: "tablist", "aria-orientation": "horizontal", part: "tablist", onKeyDown: this.handleKeyDown }, h("le-slot", { key: '35b09441b75eb660350bb0d636660249ba156195', name: "", type: "slot", allowedComponents: "le-tab" }, tabConfigs.map(tab => {
239
+ return (h(Host, { key: '99ecfa8de9c894f913ab1ea2a2293c4fe863a6e9', class: classes }, h("le-component", { key: '59de2d9ffe9710d9480b6666a539039b0a38675e', component: "le-tab-bar" }, h("div", { key: '13b4037e84ee994d924bd08dc6305f1ad7bab3bd', class: "tablist", role: "tablist", "aria-orientation": "horizontal", part: "tablist", onKeyDown: this.handleKeyDown }, h("le-slot", { key: 'cab80272032e911ce09549fbdc18c2eb9df1de74', name: "", type: "slot", allowedComponents: "le-tab" }, tabConfigs.map(tab => {
240
240
  const value = this.getTabValue(tab);
241
241
  const isSelected = value === selected;
242
242
  return (h("le-tab", { key: value, class: "tab", role: "tab", variant: "icon-only", label: tab.label, value: tab.value, icon: tab.icon, href: tab.href, selected: isSelected, disabled: tab.disabled, showLabel: this.showLabels, size: size, part: isSelected ? 'tab tab-active' : 'tab', "aria-selected": isSelected ? 'true' : 'false', "aria-disabled": tab.disabled ? 'true' : undefined, tabIndex: -1, onClick: () => this.handleTabClick(tab) }, h("span", { class: "tab-label" }, tab.label)));
@@ -88,11 +88,11 @@ export class LeTabPanel {
88
88
  }
89
89
  render() {
90
90
  const shouldRender = this.shouldRenderContent();
91
- return (h("le-component", { key: '8ae45da7951a15dd1178264f0fcd61f446b7f50c', component: "le-tab-panel" }, h("div", { key: 'cda465344d5c9d79945b924fca39f469c4535157', class: {
91
+ return (h("le-component", { key: '19aab1adeb6de102df6c92d84df1ea65b4143912', component: "le-tab-panel" }, h("div", { key: 'e7c75b5a093da0cf0563b4e374c98c2fba2e8cb1', class: {
92
92
  'tab-panel': true,
93
93
  'active': this.active,
94
94
  'lazy-hidden': this.lazy && !this.active,
95
- }, role: "tabpanel", "aria-hidden": !this.active ? 'true' : undefined, tabIndex: this.active ? 0 : -1 }, h("le-slot", { key: 'c7107b12b375e614b523b6ad4d3f1afb81e93bd6', name: "", description: "Tab panel content", type: "slot" }, shouldRender && h("slot", { key: '48580ffcedff46a2f9351e3790c257062b64d101' })))));
95
+ }, role: "tabpanel", "aria-hidden": !this.active ? 'true' : undefined, tabIndex: this.active ? 0 : -1 }, h("le-slot", { key: '0847f8b0cb41f5fbc131839160eadb51e9d5f5a4', name: "", description: "Tab panel content", type: "slot" }, shouldRender && h("slot", { key: 'c52b444823c3e981a3e832c16fa1cd5db53d6d33' })))));
96
96
  }
97
97
  static get is() { return "le-tab-panel"; }
98
98
  static get encapsulation() { return "shadow"; }
@@ -291,7 +291,7 @@ export class LeTabs {
291
291
  : this.position === 'start'
292
292
  ? 'top'
293
293
  : 'bottom';
294
- return (h("le-component", { key: 'f3f3847f64cc12236d84bcd2027bb42bd8af3756', component: "le-tabs", hostClass: classnames(classes) }, h("div", { key: '204e8cc3a6890496f6f8e0c9791b472c0a28585a', class: classes }, h("div", { key: '3d87b1ebfb432154ab415e5e69ee5485ef546429', class: {
294
+ return (h("le-component", { key: '6882b32d3be8f1686c1f367bdcd9fc54ee92a8ee', component: "le-tabs", hostClass: classnames(classes) }, h("div", { key: 'd50731bf95b4898dec01f1a003f6b8e1f694ef87', class: classes }, h("div", { key: '1e07303c43016d13dedff719b6efc5374f97d7db', class: {
295
295
  'tablist': true,
296
296
  'wrap-tabs': this.wrap,
297
297
  [`overflow-${this.overflow}`]: true,
@@ -300,7 +300,7 @@ export class LeTabs {
300
300
  const tabId = `tab-${config.value}`;
301
301
  const panelId = `panel-${config.value}`;
302
302
  return (h("le-tab", { key: config.value, id: tabId, class: "tab", mode: "default", variant: this.variant, selected: isSelected, disabled: config.disabled, size: this.size, position: tabPosition, align: this.orientation === 'vertical' ? 'start' : 'center', role: "tab", part: isSelected ? 'tab tab-active' : 'tab', "aria-selected": isSelected ? 'true' : 'false', "aria-controls": panelId, "aria-disabled": config.disabled ? 'true' : undefined, focusable: false, onClick: () => this.handleTabClick(config), iconStart: config.iconStart, iconEnd: config.iconEnd }, h("span", { class: "tab-label" }, config.label)));
303
- })), h("div", { key: 'c09c5228a9e3fd9e091ece0974d159ff05195907', class: "panels", part: "panels" }, isDeclarativeMode ? (
303
+ })), h("div", { key: 'dcd32445495900eda29cc610c30261da6262c3c4', class: "panels", part: "panels" }, isDeclarativeMode ? (
304
304
  // Declarative mode - render slot for le-tab-panel children
305
305
  h("le-slot", { name: "", description: "Tab panels", type: "slot", allowedComponents: "le-tab-panel" }, h("slot", null))) : (
306
306
  // Programmatic mode - render named slots
@@ -89,7 +89,7 @@ export class LeTag {
89
89
  return h("span", { class: "tag-icon" }, this.icon);
90
90
  }
91
91
  render() {
92
- return (h("le-component", { key: '1b899660574d9ca3c513a394c3f979de2221e5b9', component: "le-tag" }, h("span", { key: 'f41bf783b0409d68f3975ea9d8c7443f591f9d6b', class: "tag" }, this.renderIcon(), h("span", { key: 'b873ada5b9d1904ed90b614b26a4ac5655ffed97', class: "tag-label" }, h("le-slot", { key: '2f1ee302a3a7ce2b06c436e5dd52c03c3a30f0de', name: "", tag: "span", type: "text" }, h("slot", { key: '7d349e9859e6d586ddd1b2a6c990a41b04cba00c' }, this.label))), this.dismissible && (h("button", { key: '140aee44497f7a883ac983634a74032043f8429e', type: "button", class: "tag-dismiss", onClick: this.handleDismiss, disabled: this.disabled, "aria-label": "Remove" }, h("svg", { key: '14dd70b058b110d2753c1014bef241d7782d5f9e', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: 'b1ce480cd49e5b7f543aa7747f215e1b0435b0a4', d: "M4 4l8 8M12 4l-8 8" })))))));
92
+ return (h("le-component", { key: '0cae0957e69fe0a1304f81e69d12d31c18ba9d19', component: "le-tag" }, h("span", { key: 'b9d141aa16c0d8a22f2a0ee274feae4af3f330a4', class: "tag" }, this.renderIcon(), h("span", { key: '721836b45727b79547f4207a59c0a42266f3b24a', class: "tag-label" }, h("le-slot", { key: '48be93bc17af5fa8fd8de18f6c53b81b26dee01b', name: "", tag: "span", type: "text" }, h("slot", { key: '482d37fe79b37fade8460a8abde4813e3ececa99' }, this.label))), this.dismissible && (h("button", { key: 'a0de79ab2ea5ce3e6f37b255028096a31ca06a33', type: "button", class: "tag-dismiss", onClick: this.handleDismiss, disabled: this.disabled, "aria-label": "Remove" }, h("svg", { key: 'ff30daa4aaffa92e7fc7d29b66c0ee401c9541ac', viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", "stroke-width": "2" }, h("path", { key: '3f7d739758c3213847f0214cb6377c4e5c48abab', d: "M4 4l8 8M12 4l-8 8" })))))));
93
93
  }
94
94
  static get is() { return "le-tag"; }
95
95
  static get encapsulation() { return "shadow"; }
@@ -120,7 +120,7 @@ export class LeTurntable {
120
120
  this.el.style.transform = `rotate(${angle}deg)`;
121
121
  }
122
122
  render() {
123
- return (h("div", { key: '57c8d99bae0b1602f5c514b95318811f906ca235', class: "turntable", onMouseDown: this.handleMouseDown.bind(this) }, h("slot", { key: '1d613224984f1472034775376c8ec1c6fa782427' })));
123
+ return (h("div", { key: 'ddc71a1cc9dd4e1d61c460969b056e75a0c26e29', class: "turntable", onMouseDown: this.handleMouseDown.bind(this) }, h("slot", { key: '12df0788fd0baeae7d73badfdfe21976ff989497' })));
124
124
  }
125
125
  static get is() { return "le-turntable"; }
126
126
  static get encapsulation() { return "shadow"; }