le-kit 0.3.2 → 0.3.3

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 (128) hide show
  1. package/dist/cjs/{index-CNRmviSz.js → index-BDXkMiZB.js} +27 -2
  2. package/dist/cjs/index-BDXkMiZB.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +3 -2
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/le-bar_16.cjs.entry.js +20 -6
  6. package/dist/cjs/le-box.cjs.entry.js +2 -2
  7. package/dist/cjs/le-card.cjs.entry.js +2 -2
  8. package/dist/cjs/le-combobox.cjs.entry.js +1 -1
  9. package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
  10. package/dist/cjs/le-kit.cjs.js +1 -1
  11. package/dist/cjs/le-multiselect.cjs.entry.js +1 -1
  12. package/dist/cjs/le-number-input.cjs.entry.js +2 -2
  13. package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
  14. package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
  15. package/dist/cjs/le-stack.cjs.entry.js +2 -2
  16. package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
  17. package/dist/cjs/le-tab-panel.cjs.entry.js +1 -1
  18. package/dist/cjs/le-tab.cjs.entry.js +2 -2
  19. package/dist/cjs/le-tabs.cjs.entry.js +2 -2
  20. package/dist/cjs/le-tag.cjs.entry.js +1 -1
  21. package/dist/cjs/le-text.cjs.entry.js +2 -2
  22. package/dist/cjs/le-turntable.cjs.entry.js +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/{utils-CZG22_vQ.js → utils-Co3xnkR-.js} +3 -3
  25. package/dist/cjs/{utils-CZG22_vQ.js.map → utils-Co3xnkR-.js.map} +1 -1
  26. package/dist/collection/components/le-icon/le-icon.js +19 -4
  27. package/dist/collection/components/le-icon/le-icon.js.map +1 -1
  28. package/dist/collection/dist/components/assets/custom-elements.json +601 -601
  29. package/dist/collection/global/app.js +24 -0
  30. package/dist/collection/global/app.js.map +1 -1
  31. package/dist/collection/index.js +1 -1
  32. package/dist/collection/index.js.map +1 -1
  33. package/dist/components/app.js +194 -0
  34. package/dist/components/app.js.map +1 -0
  35. package/dist/components/assets/custom-elements.json +601 -601
  36. package/dist/components/index.js +3 -2
  37. package/dist/components/index.js.map +1 -1
  38. package/dist/components/le-bar2.js +1 -1
  39. package/dist/components/le-box.js +1 -1
  40. package/dist/components/le-button2.js +2 -1
  41. package/dist/components/le-button2.js.map +1 -1
  42. package/dist/components/le-card.js +1 -1
  43. package/dist/components/le-header.js +1 -1
  44. package/dist/components/le-icon2.js +19 -4
  45. package/dist/components/le-icon2.js.map +1 -1
  46. package/dist/components/le-navigation.js +1 -1
  47. package/dist/components/le-number-input.js +1 -1
  48. package/dist/components/le-popover2.js +1 -1
  49. package/dist/components/le-stack.js +1 -1
  50. package/dist/components/le-tab2.js +1 -1
  51. package/dist/components/le-tabs.js +1 -1
  52. package/dist/components/utils.js +2 -166
  53. package/dist/components/utils.js.map +1 -1
  54. package/dist/docs.json +1 -1
  55. package/dist/esm/{index-BqH-zsXr.js → index-Bb6rgQY0.js} +27 -3
  56. package/dist/esm/index-Bb6rgQY0.js.map +1 -0
  57. package/dist/esm/index.js +2 -2
  58. package/dist/esm/le-bar_16.entry.js +20 -6
  59. package/dist/esm/le-box.entry.js +2 -2
  60. package/dist/esm/le-card.entry.js +2 -2
  61. package/dist/esm/le-combobox.entry.js +1 -1
  62. package/dist/esm/le-header-placeholder.entry.js +1 -1
  63. package/dist/esm/le-kit.js +2 -2
  64. package/dist/esm/le-multiselect.entry.js +1 -1
  65. package/dist/esm/le-number-input.entry.js +2 -2
  66. package/dist/esm/le-round-progress.entry.js +1 -1
  67. package/dist/esm/le-segmented-control.entry.js +1 -1
  68. package/dist/esm/le-stack.entry.js +2 -2
  69. package/dist/esm/le-tab-bar.entry.js +1 -1
  70. package/dist/esm/le-tab-panel.entry.js +1 -1
  71. package/dist/esm/le-tab.entry.js +2 -2
  72. package/dist/esm/le-tabs.entry.js +2 -2
  73. package/dist/esm/le-tag.entry.js +1 -1
  74. package/dist/esm/le-text.entry.js +2 -2
  75. package/dist/esm/le-turntable.entry.js +1 -1
  76. package/dist/esm/loader.js +2 -2
  77. package/dist/esm/{utils-CdBk0DdF.js → utils-CDrgAR8V.js} +3 -3
  78. package/dist/esm/{utils-CdBk0DdF.js.map → utils-CDrgAR8V.js.map} +1 -1
  79. package/dist/le-kit/dist/components/assets/custom-elements.json +601 -601
  80. package/dist/le-kit/index.esm.js +1 -1
  81. package/dist/le-kit/le-kit.esm.js +1 -1
  82. package/dist/le-kit/{p-ebd86d4f.entry.js → p-166d31fd.entry.js} +2 -2
  83. package/dist/le-kit/{p-73f7de28.entry.js → p-1d4f84f6.entry.js} +2 -2
  84. package/dist/le-kit/{p-4b88b0da.entry.js → p-43a17d84.entry.js} +2 -2
  85. package/dist/le-kit/{p-b21277e8.entry.js → p-52cc2518.entry.js} +2 -2
  86. package/dist/le-kit/p-5a0efabf.entry.js +2 -0
  87. package/dist/le-kit/p-5a0efabf.entry.js.map +1 -0
  88. package/dist/le-kit/{p-b6997587.entry.js → p-5ad31bd2.entry.js} +2 -2
  89. package/dist/le-kit/{p-ac822433.entry.js → p-5e7e2d06.entry.js} +2 -2
  90. package/dist/le-kit/{p-07705c61.entry.js → p-68d94a06.entry.js} +2 -2
  91. package/dist/le-kit/{p-43f87acb.entry.js → p-84a778b1.entry.js} +2 -2
  92. package/dist/le-kit/{p-c0ccc9aa.entry.js → p-957f50aa.entry.js} +2 -2
  93. package/dist/le-kit/p-Bb6rgQY0.js +3 -0
  94. package/dist/le-kit/p-Bb6rgQY0.js.map +1 -0
  95. package/dist/le-kit/{p-VG5nXRzT.js → p-DG6SMiyr.js} +2 -2
  96. package/dist/le-kit/{p-VG5nXRzT.js.map → p-DG6SMiyr.js.map} +1 -1
  97. package/dist/le-kit/{p-249db213.entry.js → p-a44540d7.entry.js} +2 -2
  98. package/dist/le-kit/{p-0a270831.entry.js → p-bb7a199f.entry.js} +2 -2
  99. package/dist/le-kit/{p-3a0a57e9.entry.js → p-c8a9e104.entry.js} +2 -2
  100. package/dist/le-kit/{p-244ff3d7.entry.js → p-ca766522.entry.js} +2 -2
  101. package/dist/le-kit/{p-764005e3.entry.js → p-cb392b4b.entry.js} +2 -2
  102. package/dist/le-kit/{p-61edb398.entry.js → p-eb4b678f.entry.js} +2 -2
  103. package/dist/le-kit/{p-6d0090c1.entry.js → p-f45d86de.entry.js} +2 -2
  104. package/dist/types/global/app.d.ts +22 -0
  105. package/dist/types/index.d.ts +1 -1
  106. package/package.json +1 -1
  107. package/dist/cjs/index-CNRmviSz.js.map +0 -1
  108. package/dist/esm/index-BqH-zsXr.js.map +0 -1
  109. package/dist/le-kit/p-BqH-zsXr.js +0 -3
  110. package/dist/le-kit/p-BqH-zsXr.js.map +0 -1
  111. package/dist/le-kit/p-dea78542.entry.js +0 -2
  112. package/dist/le-kit/p-dea78542.entry.js.map +0 -1
  113. /package/dist/le-kit/{p-ebd86d4f.entry.js.map → p-166d31fd.entry.js.map} +0 -0
  114. /package/dist/le-kit/{p-73f7de28.entry.js.map → p-1d4f84f6.entry.js.map} +0 -0
  115. /package/dist/le-kit/{p-4b88b0da.entry.js.map → p-43a17d84.entry.js.map} +0 -0
  116. /package/dist/le-kit/{p-b21277e8.entry.js.map → p-52cc2518.entry.js.map} +0 -0
  117. /package/dist/le-kit/{p-b6997587.entry.js.map → p-5ad31bd2.entry.js.map} +0 -0
  118. /package/dist/le-kit/{p-ac822433.entry.js.map → p-5e7e2d06.entry.js.map} +0 -0
  119. /package/dist/le-kit/{p-07705c61.entry.js.map → p-68d94a06.entry.js.map} +0 -0
  120. /package/dist/le-kit/{p-43f87acb.entry.js.map → p-84a778b1.entry.js.map} +0 -0
  121. /package/dist/le-kit/{p-c0ccc9aa.entry.js.map → p-957f50aa.entry.js.map} +0 -0
  122. /package/dist/le-kit/{p-249db213.entry.js.map → p-a44540d7.entry.js.map} +0 -0
  123. /package/dist/le-kit/{p-0a270831.entry.js.map → p-bb7a199f.entry.js.map} +0 -0
  124. /package/dist/le-kit/{p-3a0a57e9.entry.js.map → p-c8a9e104.entry.js.map} +0 -0
  125. /package/dist/le-kit/{p-244ff3d7.entry.js.map → p-ca766522.entry.js.map} +0 -0
  126. /package/dist/le-kit/{p-764005e3.entry.js.map → p-cb392b4b.entry.js.map} +0 -0
  127. /package/dist/le-kit/{p-61edb398.entry.js.map → p-eb4b678f.entry.js.map} +0 -0
  128. /package/dist/le-kit/{p-6d0090c1.entry.js.map → p-f45d86de.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as t}from"./p-BqH-zsXr.js";function e(t="le"){return`${t}-${Math.random().toString(36).substring(2,9)}`}function r(t){if(!t)return[];return t.split(",").map((t=>t.trim())).filter(Boolean)}function o(t,e=""){const r=e?`[slot="${e}"]`:":not([slot])";return t.querySelector(r)!==null}function i(e,r){r(t(e));const o=new MutationObserver((()=>{r(t(e))}));o.observe(e,{attributes:true,attributeFilter:["mode"]});o.observe(document.documentElement,{attributes:true,attributeFilter:["mode"]});let i=e;while(i){if(i instanceof Element&&i.parentElement){i=i.parentElement;o.observe(i,{attributes:true,attributeFilter:["mode"]});if(i.hasAttribute("mode")){break}}else{const t=i.getRootNode();if(t instanceof ShadowRoot){i=t.host;o.observe(i,{attributes:true,attributeFilter:["mode"]});if(i.hasAttribute("mode")){break}}else{break}}}return()=>o.disconnect()}function n(...t){const e=[];t.forEach((t=>{if(!t)return;if(typeof t==="string"){e.push(t)}else if(Array.isArray(t)){e.push(n(...t))}else if(typeof t==="object"){Object.entries(t).forEach((([t,r])=>{if(r){e.push(t)}}))}}));return e.join(" ")}export{n as c,e as g,i as o,r as p,o as s};
2
- //# sourceMappingURL=p-VG5nXRzT.js.map
1
+ import{a as t}from"./p-Bb6rgQY0.js";function e(t="le"){return`${t}-${Math.random().toString(36).substring(2,9)}`}function r(t){if(!t)return[];return t.split(",").map((t=>t.trim())).filter(Boolean)}function o(t,e=""){const r=e?`[slot="${e}"]`:":not([slot])";return t.querySelector(r)!==null}function i(e,r){r(t(e));const o=new MutationObserver((()=>{r(t(e))}));o.observe(e,{attributes:true,attributeFilter:["mode"]});o.observe(document.documentElement,{attributes:true,attributeFilter:["mode"]});let i=e;while(i){if(i instanceof Element&&i.parentElement){i=i.parentElement;o.observe(i,{attributes:true,attributeFilter:["mode"]});if(i.hasAttribute("mode")){break}}else{const t=i.getRootNode();if(t instanceof ShadowRoot){i=t.host;o.observe(i,{attributes:true,attributeFilter:["mode"]});if(i.hasAttribute("mode")){break}}else{break}}}return()=>o.disconnect()}function n(...t){const e=[];t.forEach((t=>{if(!t)return;if(typeof t==="string"){e.push(t)}else if(Array.isArray(t)){e.push(n(...t))}else if(typeof t==="object"){Object.entries(t).forEach((([t,r])=>{if(r){e.push(t)}}))}}));return e.join(" ")}export{n as c,e as g,i as o,r as p,o as s};
2
+ //# sourceMappingURL=p-DG6SMiyr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-VG5nXRzT.js","sources":["src/utils/utils.ts"],"sourcesContent":["/**\n * Utility functions for le-kit components\n */\n\nimport { getMode } from '../global/app';\n\n/**\n * Generates a unique ID for component instances\n */\nexport function generateId(prefix: string = 'le'): string {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n}\n\n/**\n * Parses a comma-separated string into an array\n */\nexport function parseCommaSeparated(value: string | undefined): string[] {\n if (!value) return [];\n return value\n .split(',')\n .map(s => s.trim())\n .filter(Boolean);\n}\n\n/**\n * Checks if a slot has content\n */\nexport function slotHasContent(el: HTMLElement, slotName: string = ''): boolean {\n const selector = slotName ? `[slot=\"${slotName}\"]` : ':not([slot])';\n return el.querySelector(selector) !== null;\n}\n\n/**\n * Sets up a MutationObserver to track mode changes on ancestor elements.\n * Returns a cleanup function to disconnect the observer.\n * \n * If the element or any ancestor has an explicit `mode` attribute, that creates\n * a \"mode boundary\" - the mode is determined from that point, not from further up.\n * This allows components like le-popover to force default mode for their children.\n * \n * @param el - The component's host element\n * @param callback - Function to call when mode changes, receives the new mode\n * @returns Cleanup function to disconnect the observer\n * \n * @example\n * ```tsx\n * export class MyComponent {\n * @Element() el: HTMLElement;\n * @State() adminMode: boolean = false;\n * private disconnectModeObserver?: () => void;\n * \n * connectedCallback() {\n * this.disconnectModeObserver = observeModeChanges(this.el, (mode) => {\n * this.adminMode = mode === 'admin';\n * });\n * }\n * \n * disconnectedCallback() {\n * this.disconnectModeObserver?.();\n * }\n * }\n * ```\n */\nexport function observeModeChanges(\n el: HTMLElement,\n callback: (mode: string) => void\n): () => void {\n // Call immediately with current mode\n callback(getMode(el));\n\n // Set up observer for mode attribute changes\n const observer = new MutationObserver(() => {\n callback(getMode(el));\n });\n\n // Observe the element itself (for mode boundary changes)\n observer.observe(el, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Observe document root\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Traverse up, crossing shadow boundaries, and observe each element\n let current: Node | null = el;\n while (current) {\n if (current instanceof Element && current.parentElement) {\n current = current.parentElement;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If this element has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n // Check if we're in a shadow root\n const root = current.getRootNode();\n if (root instanceof ShadowRoot) {\n // Cross the shadow boundary and observe the host\n current = root.host;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If the host has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n break;\n }\n }\n }\n\n // Return cleanup function\n return () => observer.disconnect();\n}\n\n/**\n * Combines multiple class names into a single string, filtering out falsy values.\n * \n * @param classes - arguments of class names, undefined, arrays, objects with boolean values and nested combinations of these\n * @returns Combined class names string\n */\nexport function classnames(...classes: any[]): string {\n const result: string[] = [];\n\n classes.forEach(cls => {\n if (!cls) return;\n\n if (typeof cls === 'string') {\n result.push(cls);\n } else if (Array.isArray(cls)) {\n result.push(classnames(...cls));\n } else if (typeof cls === 'object') {\n Object.entries(cls).forEach(([key, value]) => {\n if (value) {\n result.push(key);\n }\n });\n }\n });\n\n return result.join(' ');\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-DG6SMiyr.js","sources":["src/utils/utils.ts"],"sourcesContent":["/**\n * Utility functions for le-kit components\n */\n\nimport { getMode } from '../global/app';\n\n/**\n * Generates a unique ID for component instances\n */\nexport function generateId(prefix: string = 'le'): string {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}`;\n}\n\n/**\n * Parses a comma-separated string into an array\n */\nexport function parseCommaSeparated(value: string | undefined): string[] {\n if (!value) return [];\n return value\n .split(',')\n .map(s => s.trim())\n .filter(Boolean);\n}\n\n/**\n * Checks if a slot has content\n */\nexport function slotHasContent(el: HTMLElement, slotName: string = ''): boolean {\n const selector = slotName ? `[slot=\"${slotName}\"]` : ':not([slot])';\n return el.querySelector(selector) !== null;\n}\n\n/**\n * Sets up a MutationObserver to track mode changes on ancestor elements.\n * Returns a cleanup function to disconnect the observer.\n * \n * If the element or any ancestor has an explicit `mode` attribute, that creates\n * a \"mode boundary\" - the mode is determined from that point, not from further up.\n * This allows components like le-popover to force default mode for their children.\n * \n * @param el - The component's host element\n * @param callback - Function to call when mode changes, receives the new mode\n * @returns Cleanup function to disconnect the observer\n * \n * @example\n * ```tsx\n * export class MyComponent {\n * @Element() el: HTMLElement;\n * @State() adminMode: boolean = false;\n * private disconnectModeObserver?: () => void;\n * \n * connectedCallback() {\n * this.disconnectModeObserver = observeModeChanges(this.el, (mode) => {\n * this.adminMode = mode === 'admin';\n * });\n * }\n * \n * disconnectedCallback() {\n * this.disconnectModeObserver?.();\n * }\n * }\n * ```\n */\nexport function observeModeChanges(\n el: HTMLElement,\n callback: (mode: string) => void\n): () => void {\n // Call immediately with current mode\n callback(getMode(el));\n\n // Set up observer for mode attribute changes\n const observer = new MutationObserver(() => {\n callback(getMode(el));\n });\n\n // Observe the element itself (for mode boundary changes)\n observer.observe(el, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Observe document root\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n\n // Traverse up, crossing shadow boundaries, and observe each element\n let current: Node | null = el;\n while (current) {\n if (current instanceof Element && current.parentElement) {\n current = current.parentElement;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If this element has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n // Check if we're in a shadow root\n const root = current.getRootNode();\n if (root instanceof ShadowRoot) {\n // Cross the shadow boundary and observe the host\n current = root.host;\n observer.observe(current, {\n attributes: true,\n attributeFilter: ['mode'],\n });\n // If the host has an explicit mode, it's a boundary\n if ((current as Element).hasAttribute('mode')) {\n break;\n }\n } else {\n break;\n }\n }\n }\n\n // Return cleanup function\n return () => observer.disconnect();\n}\n\n/**\n * Combines multiple class names into a single string, filtering out falsy values.\n * \n * @param classes - arguments of class names, undefined, arrays, objects with boolean values and nested combinations of these\n * @returns Combined class names string\n */\nexport function classnames(...classes: any[]): string {\n const result: string[] = [];\n\n classes.forEach(cls => {\n if (!cls) return;\n\n if (typeof cls === 'string') {\n result.push(cls);\n } else if (Array.isArray(cls)) {\n result.push(classnames(...cls));\n } else if (typeof cls === 'object') {\n Object.entries(cls).forEach(([key, value]) => {\n if (value) {\n result.push(key);\n }\n });\n }\n });\n\n return result.join(' ');\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,d as t,c as s,h as i,H as n}from"./p-BqH-zsXr.js";const o=()=>`:host{display:inline-block;max-width:100%;--le-segmented-control-bg:var(--le-color-background-secondary);--le-segmented-control-padding:var(--le-spacing-1)}:host([full-width]){width:100%}:host(.overflow-visible){max-width:none}.le-segmented-control{flex-direction:row;white-space:nowrap;border:none;gap:0;background-color:var(--le-segmented-control-bg);border-radius:calc(var(--le-radius-md) + var(--le-segmented-control-padding));padding:var(--le-segmented-control-padding)}.le-segmented-control.overflow-auto{overflow:auto}.le-segmented-control.overflow-hidden{overflow:hidden}.le-segmented-control.overflow-visible{overflow:visible}.le-segmented-control.overflow-scroll{overflow:scroll}.le-segmented-control.full-width{display:flex;width:100%;width:calc(100% - var(--le-segmented-control-padding) * 2)}.le-segmented-control.disabled{opacity:0.5;pointer-events:none}.le-segmented-control:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.full-width .segment{flex:1}.segment:focus-visible{outline:2px solid var(--le-focus-ring-color, var(--le-color-primary));outline-offset:2px}.segment-active{color:var(--le-segmented-text-color-active, var(--le-text-primary))}.segment-disabled{opacity:0.5;cursor:not-allowed}`;const l=class{constructor(s){e(this,s);this.leChange=t(this,"leChange")}get el(){return s(this)}containerRef;options=[];value;size="medium";overflow="auto";fullWidth=false;disabled=false;segmentConfigs=[];focusedIndex=0;isDeclarativeMode=false;leChange;mutationObserver;tabsChanged(){if(!this.isDeclarativeMode){this.buildSegmentsConfigs()}}handleSlotChange(){this.buildSegmentsConfigs()}componentWillLoad(){this.buildSegmentsConfigs();if(this.value===undefined&&this.options.length>0){const e=this.options.find((e=>!e.disabled));if(e){this.value=this.getOptionValue(e)}}if(this.value!==undefined){const e=this.getOptionIndex(this.value);if(e>=0){this.focusedIndex=e}}}connectedCallback(){this.mutationObserver=new MutationObserver((()=>{this.buildSegmentsConfigs()}));this.mutationObserver.observe(this.el,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){this.mutationObserver?.disconnect()}async buildSegmentsConfigs(){const e=Array.from(this.el.querySelectorAll(":scope > le-tab"));if(e.length>0){this.isDeclarativeMode=true;const t=[];for(const s of e){const e=await s.getTabConfig();t.push({...e})}this.segmentConfigs=t}else if(this.options.length>0){this.isDeclarativeMode=false;this.segmentConfigs=this.options.map((e=>({label:e.label,value:e.value!==undefined?e.value:e.label,iconStart:e.iconStart,iconEnd:e.iconEnd,disabled:e.disabled??false})))}else{this.segmentConfigs=[]}if(this.value===undefined&&this.segmentConfigs.length>0){const e=this.segmentConfigs.find((e=>!e.disabled));if(e){this.value=e.value}}if(this.value!==undefined){const e=this.segmentConfigs.findIndex((e=>e.value===this.value));if(e>=0){this.focusedIndex=e}}}getOptionValue(e){return e.value!==undefined?e.value:e.label}getOptionIndex(e){return this.options.findIndex((t=>this.getOptionValue(t)===e))}selectOption(e){if(e.disabled||this.disabled)return;const t=this.getOptionValue(e);this.value=t;const s=this.segmentConfigs.findIndex((e=>e.value===t));if(s>=0){this.focusedIndex=s}this.leChange.emit({value:t,option:e})}handleClick=e=>{this.selectOption(e)};handleKeyDown=e=>{const{segmentConfigs:t}=this;let s=this.focusedIndex;switch(e.key){case"ArrowLeft":e.preventDefault();s=this.findNextEnabled(-1);break;case"ArrowRight":e.preventDefault();s=this.findNextEnabled(1);break;case"Home":e.preventDefault();s=this.findFirstEnabled();break;case"End":e.preventDefault();s=this.findLastEnabled();break;case"Enter":case" ":e.preventDefault();if(t[this.focusedIndex]){this.selectOption(t[this.focusedIndex])}return;default:return}if(s!==this.focusedIndex){this.focusedIndex=s;this.focusSegment(s);if(t[s]){this.selectOption(t[s])}}};findNextEnabled(e){const{segmentConfigs:t}=this;let s=this.focusedIndex;const i=t.length;for(let n=0;n<i;n++){s=(s+e+i)%i;if(!t[s].disabled){return s}}return this.focusedIndex}findFirstEnabled(){return this.segmentConfigs.findIndex((e=>!e.disabled))}findLastEnabled(){for(let e=this.segmentConfigs.length-1;e>=0;e--){if(!this.segmentConfigs[e].disabled)return e}return 0}focusSegment(e){const t=this.containerRef;const s=t?.querySelectorAll(".segment")[e];s?.focus()}render(){const{segmentConfigs:e,value:t,size:s,fullWidth:o,disabled:l}=this;const r={"le-segmented-control":true,[`size-${s}`]:true,[`overflow-${this.overflow}`]:true,"full-width":o,disabled:l};return i(n,{key:"a285c7c0ca824e96670b51dc638301c2c8ab6a6b",class:`overflow-${this.overflow}`},i("le-component",{key:"6afe6d0861d3e797efabac23b24ad9731e19b6dd",component:"le-segmented-control"},i("div",{key:"251f4d07960c6f464001cf6fda7643fe8db6af09",class:r,ref:e=>this.containerRef=e,role:"radiogroup",part:"container",onKeyDown:this.handleKeyDown,tabIndex:0},e.map((e=>{const n=this.getOptionValue(e);const o=n===t;const r=e.disabled||l;return i("le-tab",{key:n,class:"segment",role:"radio",variant:"enclosed",selected:o,disabled:r,focusable:false,size:s,part:o?"segment segment-active":"segment","aria-checked":o?"true":"false","aria-disabled":r?"true":undefined,onClick:()=>this.handleClick(e),iconStart:e.iconStart,iconEnd:e.iconEnd},i("span",{class:"segment-label"},e.label))})))))}static get watchers(){return{options:["tabsChanged"]}}};l.style=o();export{l as le_segmented_control};
2
- //# sourceMappingURL=p-249db213.entry.js.map
1
+ import{r as e,d as t,c as s,h as i,H as n}from"./p-Bb6rgQY0.js";const o=()=>`:host{display:inline-block;max-width:100%;--le-segmented-control-bg:var(--le-color-background-secondary);--le-segmented-control-padding:var(--le-spacing-1)}:host([full-width]){width:100%}:host(.overflow-visible){max-width:none}.le-segmented-control{flex-direction:row;white-space:nowrap;border:none;gap:0;background-color:var(--le-segmented-control-bg);border-radius:calc(var(--le-radius-md) + var(--le-segmented-control-padding));padding:var(--le-segmented-control-padding)}.le-segmented-control.overflow-auto{overflow:auto}.le-segmented-control.overflow-hidden{overflow:hidden}.le-segmented-control.overflow-visible{overflow:visible}.le-segmented-control.overflow-scroll{overflow:scroll}.le-segmented-control.full-width{display:flex;width:100%;width:calc(100% - var(--le-segmented-control-padding) * 2)}.le-segmented-control.disabled{opacity:0.5;pointer-events:none}.le-segmented-control:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.full-width .segment{flex:1}.segment:focus-visible{outline:2px solid var(--le-focus-ring-color, var(--le-color-primary));outline-offset:2px}.segment-active{color:var(--le-segmented-text-color-active, var(--le-text-primary))}.segment-disabled{opacity:0.5;cursor:not-allowed}`;const l=class{constructor(s){e(this,s);this.leChange=t(this,"leChange")}get el(){return s(this)}containerRef;options=[];value;size="medium";overflow="auto";fullWidth=false;disabled=false;segmentConfigs=[];focusedIndex=0;isDeclarativeMode=false;leChange;mutationObserver;tabsChanged(){if(!this.isDeclarativeMode){this.buildSegmentsConfigs()}}handleSlotChange(){this.buildSegmentsConfigs()}componentWillLoad(){this.buildSegmentsConfigs();if(this.value===undefined&&this.options.length>0){const e=this.options.find((e=>!e.disabled));if(e){this.value=this.getOptionValue(e)}}if(this.value!==undefined){const e=this.getOptionIndex(this.value);if(e>=0){this.focusedIndex=e}}}connectedCallback(){this.mutationObserver=new MutationObserver((()=>{this.buildSegmentsConfigs()}));this.mutationObserver.observe(this.el,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){this.mutationObserver?.disconnect()}async buildSegmentsConfigs(){const e=Array.from(this.el.querySelectorAll(":scope > le-tab"));if(e.length>0){this.isDeclarativeMode=true;const t=[];for(const s of e){const e=await s.getTabConfig();t.push({...e})}this.segmentConfigs=t}else if(this.options.length>0){this.isDeclarativeMode=false;this.segmentConfigs=this.options.map((e=>({label:e.label,value:e.value!==undefined?e.value:e.label,iconStart:e.iconStart,iconEnd:e.iconEnd,disabled:e.disabled??false})))}else{this.segmentConfigs=[]}if(this.value===undefined&&this.segmentConfigs.length>0){const e=this.segmentConfigs.find((e=>!e.disabled));if(e){this.value=e.value}}if(this.value!==undefined){const e=this.segmentConfigs.findIndex((e=>e.value===this.value));if(e>=0){this.focusedIndex=e}}}getOptionValue(e){return e.value!==undefined?e.value:e.label}getOptionIndex(e){return this.options.findIndex((t=>this.getOptionValue(t)===e))}selectOption(e){if(e.disabled||this.disabled)return;const t=this.getOptionValue(e);this.value=t;const s=this.segmentConfigs.findIndex((e=>e.value===t));if(s>=0){this.focusedIndex=s}this.leChange.emit({value:t,option:e})}handleClick=e=>{this.selectOption(e)};handleKeyDown=e=>{const{segmentConfigs:t}=this;let s=this.focusedIndex;switch(e.key){case"ArrowLeft":e.preventDefault();s=this.findNextEnabled(-1);break;case"ArrowRight":e.preventDefault();s=this.findNextEnabled(1);break;case"Home":e.preventDefault();s=this.findFirstEnabled();break;case"End":e.preventDefault();s=this.findLastEnabled();break;case"Enter":case" ":e.preventDefault();if(t[this.focusedIndex]){this.selectOption(t[this.focusedIndex])}return;default:return}if(s!==this.focusedIndex){this.focusedIndex=s;this.focusSegment(s);if(t[s]){this.selectOption(t[s])}}};findNextEnabled(e){const{segmentConfigs:t}=this;let s=this.focusedIndex;const i=t.length;for(let n=0;n<i;n++){s=(s+e+i)%i;if(!t[s].disabled){return s}}return this.focusedIndex}findFirstEnabled(){return this.segmentConfigs.findIndex((e=>!e.disabled))}findLastEnabled(){for(let e=this.segmentConfigs.length-1;e>=0;e--){if(!this.segmentConfigs[e].disabled)return e}return 0}focusSegment(e){const t=this.containerRef;const s=t?.querySelectorAll(".segment")[e];s?.focus()}render(){const{segmentConfigs:e,value:t,size:s,fullWidth:o,disabled:l}=this;const r={"le-segmented-control":true,[`size-${s}`]:true,[`overflow-${this.overflow}`]:true,"full-width":o,disabled:l};return i(n,{key:"a285c7c0ca824e96670b51dc638301c2c8ab6a6b",class:`overflow-${this.overflow}`},i("le-component",{key:"6afe6d0861d3e797efabac23b24ad9731e19b6dd",component:"le-segmented-control"},i("div",{key:"251f4d07960c6f464001cf6fda7643fe8db6af09",class:r,ref:e=>this.containerRef=e,role:"radiogroup",part:"container",onKeyDown:this.handleKeyDown,tabIndex:0},e.map((e=>{const n=this.getOptionValue(e);const o=n===t;const r=e.disabled||l;return i("le-tab",{key:n,class:"segment",role:"radio",variant:"enclosed",selected:o,disabled:r,focusable:false,size:s,part:o?"segment segment-active":"segment","aria-checked":o?"true":"false","aria-disabled":r?"true":undefined,onClick:()=>this.handleClick(e),iconStart:e.iconStart,iconEnd:e.iconEnd},i("span",{class:"segment-label"},e.label))})))))}static get watchers(){return{options:["tabsChanged"]}}};l.style=o();export{l as le_segmented_control};
2
+ //# sourceMappingURL=p-a44540d7.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as a,h as r}from"./p-BqH-zsXr.js";import{c as d}from"./p-VG5nXRzT.js";const o=()=>`:host{display:block;--le-card-bg:var(--le-color-surface);--le-card-border-radius:var(--le-radius-lg);--le-card-shadow:var(--le-shadow-md);--le-card-shadow-elevated:var(--le-shadow-lg);--le-card-shadow-hover:var(--le-shadow-xl);--le-card-padding:var(--le-space-md);--le-card-border-color:var(--le-color-border);--le-card-transition:var(--le-transition-normal)}.card{background:var(--le-card-bg);border-radius:var(--le-card-border-radius);overflow:hidden;color:var(--le-color-text);box-shadow:var(--le-card-shadow)}:host>le-component.variant-outlined .card{border:1px solid var(--le-card-border-color);box-shadow:none}:host>le-component.variant-elevated .card{box-shadow:var(--le-card-shadow-elevated)}:host>le-component.interactive .card{cursor:pointer;transition:transform var(--le-card-transition), box-shadow var(--le-card-transition)}:host>le-component.interactive .card:hover{transform:translateY(-2px);box-shadow:var(--le-card-shadow-hover)}:host>le-component.interactive .card:focus-visible{outline:2px solid var(--le-color-border-focus);outline-offset:2px}.card-header{padding:var(--le-card-padding);padding-bottom:0}.card-header:empty{display:none}.card-content{padding:var(--le-card-padding)}.card-footer{padding:var(--le-card-padding);padding-top:0}.card-footer:empty{display:none}`;const t=class{constructor(a){e(this,a)}get el(){return a(this)}variant="default";interactive=false;render(){return r("le-component",{key:"3b9b4c5f234bb3ac5d479a777c8069428baa4d8c",component:"le-card",hostClass:d(`variant-${this.variant}`,{interactive:this.interactive})},r("div",{key:"7cad2dc42768d03b8d9af5dc52a8acc0d79027c0",class:"card",part:"card"},r("div",{key:"d00e14de2a216afd1362605849c387e8fa7cc522",class:"card-header",part:"header"},r("le-slot",{key:"a09922eae71962506351a6b3ddc4b2253573fa6d",name:"header",label:"Header",description:"Card title",type:"text",tag:"h3"},r("slot",{key:"624efcc1f6e06e2876fb00d0b4efa10fdfd9083b",name:"header"}))),r("div",{key:"9aba5630de5d4fe24dbc59b5607fbb530ebd41e8",class:"card-content",part:"content"},r("le-slot",{key:"a6de438f65b747e6ecf8b7c573168c99cde3eb62",name:"",label:"Content",description:"Card content",type:"textarea",tag:"p",required:true},r("slot",{key:"bca044329a0b88ad3f041aab94b702434124179c"}))),r("div",{key:"1c08846aa15cd44f71f6d79968412634009eea03",class:"card-footer",part:"footer"},r("le-slot",{key:"4b65f8c6dd68e5995b42ed4ef18fa504d3b4f182",name:"footer",label:"Footer",description:"Card footer with actions","allowed-components":"le-button,le-link"},r("slot",{key:"db199113de94b26bf19d0665938f5048a3587134",name:"footer"})))))}};t.style=o();export{t as le_card};
2
- //# sourceMappingURL=p-0a270831.entry.js.map
1
+ import{r as e,c as a,h as r}from"./p-Bb6rgQY0.js";import{c as d}from"./p-DG6SMiyr.js";const o=()=>`:host{display:block;--le-card-bg:var(--le-color-surface);--le-card-border-radius:var(--le-radius-lg);--le-card-shadow:var(--le-shadow-md);--le-card-shadow-elevated:var(--le-shadow-lg);--le-card-shadow-hover:var(--le-shadow-xl);--le-card-padding:var(--le-space-md);--le-card-border-color:var(--le-color-border);--le-card-transition:var(--le-transition-normal)}.card{background:var(--le-card-bg);border-radius:var(--le-card-border-radius);overflow:hidden;color:var(--le-color-text);box-shadow:var(--le-card-shadow)}:host>le-component.variant-outlined .card{border:1px solid var(--le-card-border-color);box-shadow:none}:host>le-component.variant-elevated .card{box-shadow:var(--le-card-shadow-elevated)}:host>le-component.interactive .card{cursor:pointer;transition:transform var(--le-card-transition), box-shadow var(--le-card-transition)}:host>le-component.interactive .card:hover{transform:translateY(-2px);box-shadow:var(--le-card-shadow-hover)}:host>le-component.interactive .card:focus-visible{outline:2px solid var(--le-color-border-focus);outline-offset:2px}.card-header{padding:var(--le-card-padding);padding-bottom:0}.card-header:empty{display:none}.card-content{padding:var(--le-card-padding)}.card-footer{padding:var(--le-card-padding);padding-top:0}.card-footer:empty{display:none}`;const t=class{constructor(a){e(this,a)}get el(){return a(this)}variant="default";interactive=false;render(){return r("le-component",{key:"3b9b4c5f234bb3ac5d479a777c8069428baa4d8c",component:"le-card",hostClass:d(`variant-${this.variant}`,{interactive:this.interactive})},r("div",{key:"7cad2dc42768d03b8d9af5dc52a8acc0d79027c0",class:"card",part:"card"},r("div",{key:"d00e14de2a216afd1362605849c387e8fa7cc522",class:"card-header",part:"header"},r("le-slot",{key:"a09922eae71962506351a6b3ddc4b2253573fa6d",name:"header",label:"Header",description:"Card title",type:"text",tag:"h3"},r("slot",{key:"624efcc1f6e06e2876fb00d0b4efa10fdfd9083b",name:"header"}))),r("div",{key:"9aba5630de5d4fe24dbc59b5607fbb530ebd41e8",class:"card-content",part:"content"},r("le-slot",{key:"a6de438f65b747e6ecf8b7c573168c99cde3eb62",name:"",label:"Content",description:"Card content",type:"textarea",tag:"p",required:true},r("slot",{key:"bca044329a0b88ad3f041aab94b702434124179c"}))),r("div",{key:"1c08846aa15cd44f71f6d79968412634009eea03",class:"card-footer",part:"footer"},r("le-slot",{key:"4b65f8c6dd68e5995b42ed4ef18fa504d3b4f182",name:"footer",label:"Footer",description:"Card footer with actions","allowed-components":"le-button,le-link"},r("slot",{key:"db199113de94b26bf19d0665938f5048a3587134",name:"footer"})))))}};t.style=o();export{t as le_card};
2
+ //# sourceMappingURL=p-bb7a199f.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,d as o,c as t,h as i}from"./p-BqH-zsXr.js";const s=()=>`:host{display:inline-block;min-width:200px;--le-combobox-border-color:var(--le-color-primary, #3b82f6)}:host([disabled]){opacity:0.5;pointer-events:none}:host([full-width]){width:100%}.combobox-trigger{display:flex;align-items:center;width:100%;background:var(--le-combobox-bg, var(--le-color-surface, #fff));border:1px solid color-mix(in srgb, var(--le-combobox-border-color) 33%, transparent);border-radius:var(--le-combobox-border-radius, 0.375rem);transition:border-color 0.15s ease, box-shadow 0.15s ease}.combobox-trigger:hover:not(.is-disabled),:host(:focus-within) .combobox-trigger:not(.is-disabled){border-color:var(--le-combobox-border-color)}.combobox-trigger:focus-within{outline:2px solid var(--le-color-focus);outline-offset:2px}.combobox-trigger.is-open{border-color:var(--le-color-primary, #3b82f6)}.combobox-input{flex:1;border:none;outline:none}.combobox-input::part(container){border:none}.combobox-input::part(container):focus-within{outline:none !important}.combobox-input::placeholder{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.combobox-trigger.is-disabled{cursor:not-allowed;background:var(--le-color-surface-disabled, #f9fafb)}.combobox-input:disabled{cursor:not-allowed}.combobox-clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;margin-right:0.25rem;color:var(--le-color-primary, #3b82f6);background:transparent;border:none;border-radius:0.25rem;cursor:pointer;opacity:0.6;transition:opacity 0.15s ease, background-color 0.15s ease}.combobox-clear:hover{opacity:1;background:var(--le-color-surface-hover, #f3f4f6)}.combobox-clear svg{width:0.875rem;height:0.875rem}.combobox-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:100%;color:var(--le-color-primary, #3b82f6);transition:transform 0.2s ease}.combobox-arrow svg{width:1rem;height:1rem}.combobox-trigger.is-open .combobox-arrow{transform:rotate(180deg)}:host([size='small']) .combobox-trigger{--le-combobox-height:2rem}:host([size='small']) .combobox-input{--le-combobox-padding-x:0.5rem;--le-combobox-font-size:0.75rem}:host([size='large']) .combobox-trigger{--le-combobox-height:3rem}:host([size='large']) .combobox-input{--le-combobox-padding-x:1rem;--le-combobox-font-size:1rem}`;const r=class{constructor(t){e(this,t);this.leChange=o(this,"leChange");this.leInput=o(this,"leInput");this.leOpen=o(this,"leOpen");this.leClose=o(this,"leClose")}get el(){return t(this)}options=[];value;placeholder="Type to search...";disabled=false;required=false;name;fullWidth=false;size="medium";allowCustom=false;minSearchLength=0;emptyText="No results found";open=false;leChange;leInput;leOpen;leClose;handleWindowClick(e){if(!this.el.contains(e.target)){this.dropdownEl?.hide()}}inputValue="";selectedOption;dropdownEl;inputEl;handleValueChange(){this.updateSelectedOption()}handleOptionsChange(){this.updateSelectedOption()}componentWillLoad(){this.updateSelectedOption()}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}updateSelectedOption(){if(this.value!==undefined){this.selectedOption=this.parsedOptions.find((e=>(e.value??e.label)===this.value));if(this.selectedOption){this.inputValue=this.selectedOption.label}else if(this.allowCustom){this.inputValue=this.value.toString()}}else{this.selectedOption=undefined;this.inputValue=""}}filterOption=(e,o)=>{if(!o||o.length<this.minSearchLength)return true;const t=o.toLowerCase();return e.label.toLowerCase().includes(t)||(e.description?.toLowerCase().includes(t)??false)};handleOptionSelect=e=>{this.value=e.detail.value;this.selectedOption=e.detail.option;this.inputValue=e.detail.option.label;this.leChange.emit(e.detail)};handleDropdownOpen=()=>{this.open=true;this.leOpen.emit()};handleDropdownClose=()=>{this.open=false;this.leClose.emit();if(!this.allowCustom&&this.selectedOption){this.inputValue=this.selectedOption.label}else if(!this.allowCustom&&!this.selectedOption){this.inputValue=""}};handleInputChange=e=>{const o=e.target;this.inputValue=o.value;if(this.allowCustom){this.leInput.emit({value:this.inputValue})}if(!this.open&&this.inputValue.length>=this.minSearchLength){this.dropdownEl?.show()}};handleInputFocus=()=>{if(!this.disabled){this.dropdownEl?.show()}};handleInputKeyDown=e=>{if(this.disabled)return;switch(e.key){case"ArrowDown":e.preventDefault();if(!this.open){this.dropdownEl?.show()}break;case"Enter":if(this.allowCustom&&this.inputValue&&!this.open){this.value=this.inputValue;this.leChange.emit({value:this.inputValue,option:{label:this.inputValue,value:this.inputValue}})}break;case"Escape":if(this.open){this.dropdownEl?.hide()}break}};handleClear=e=>{e.stopPropagation();this.value=undefined;this.selectedOption=undefined;this.inputValue="";this.inputEl?.focus();this.leChange.emit({value:"",option:{label:"",value:""}})};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}async focusInput(){this.inputEl?.focus()}render(){const e=this.inputValue.length>0;return i("le-component",{key:"f65aad2f17c8b15b08ea6719cc481a37cc68a081",component:"le-combobox"},i("le-dropdown-base",{key:"a1b518b8acd649bf1061e403d89f95ebc5d2e366",ref:e=>this.dropdownEl=e,options:this.parsedOptions,value:this.value,disabled:this.disabled,filterFn:this.filterOption,filterQuery:this.inputValue,emptyText:this.emptyText,fullWidth:this.fullWidth,closeOnClickOutside:false,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose},i("div",{key:"47339300365dca2c59e1d26fcae4faeef747ab18",slot:"trigger",class:{"combobox-trigger":true,"is-open":this.open}},i("le-string-input",{key:"e3842d3ea970a14405fd555fd8d8f4e9dbd14e80",mode:"default",hideDescription:true,inputRef:e=>this.inputEl=e,type:"text",class:"combobox-input",value:this.inputValue,placeholder:this.placeholder,disabled:this.disabled,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list",onInput:this.handleInputChange,onFocus:this.handleInputFocus,onKeyDown:this.handleInputKeyDown}),e&&!this.disabled&&i("button",{key:"81caabc48183e8e93f84cd5a063a4d83edbfe87d",type:"button",class:"combobox-clear",onClick:this.handleClear,"aria-label":"Clear",tabIndex:-1},i("svg",{key:"02bc4d15d122119c3910b3bd03db76cd8a30b783",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{key:"de0053be0eef471d35478a1c10a4408250a44dbf",d:"M4 4l8 8M12 4l-8 8"}))),i("span",{key:"72ea5b8bda38a8c08fff1763457dcf2377787c44",class:"combobox-arrow"},i("svg",{key:"c0f66766a7893978e142e63adec3863e792b6554",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{key:"d6287e5dede972620a6f90632462dd7d495bf927",d:"M4 6l4 4 4-4"}))))),this.name&&i("input",{key:"fed8a8936750fafe7b58912954099da20a506907",type:"hidden",name:this.name,value:this.value?.toString()??""}))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"]}}};r.style=s();export{r as le_combobox};
2
- //# sourceMappingURL=p-3a0a57e9.entry.js.map
1
+ import{r as e,d as o,c as t,h as i}from"./p-Bb6rgQY0.js";const s=()=>`:host{display:inline-block;min-width:200px;--le-combobox-border-color:var(--le-color-primary, #3b82f6)}:host([disabled]){opacity:0.5;pointer-events:none}:host([full-width]){width:100%}.combobox-trigger{display:flex;align-items:center;width:100%;background:var(--le-combobox-bg, var(--le-color-surface, #fff));border:1px solid color-mix(in srgb, var(--le-combobox-border-color) 33%, transparent);border-radius:var(--le-combobox-border-radius, 0.375rem);transition:border-color 0.15s ease, box-shadow 0.15s ease}.combobox-trigger:hover:not(.is-disabled),:host(:focus-within) .combobox-trigger:not(.is-disabled){border-color:var(--le-combobox-border-color)}.combobox-trigger:focus-within{outline:2px solid var(--le-color-focus);outline-offset:2px}.combobox-trigger.is-open{border-color:var(--le-color-primary, #3b82f6)}.combobox-input{flex:1;border:none;outline:none}.combobox-input::part(container){border:none}.combobox-input::part(container):focus-within{outline:none !important}.combobox-input::placeholder{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.combobox-trigger.is-disabled{cursor:not-allowed;background:var(--le-color-surface-disabled, #f9fafb)}.combobox-input:disabled{cursor:not-allowed}.combobox-clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;margin-right:0.25rem;color:var(--le-color-primary, #3b82f6);background:transparent;border:none;border-radius:0.25rem;cursor:pointer;opacity:0.6;transition:opacity 0.15s ease, background-color 0.15s ease}.combobox-clear:hover{opacity:1;background:var(--le-color-surface-hover, #f3f4f6)}.combobox-clear svg{width:0.875rem;height:0.875rem}.combobox-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:100%;color:var(--le-color-primary, #3b82f6);transition:transform 0.2s ease}.combobox-arrow svg{width:1rem;height:1rem}.combobox-trigger.is-open .combobox-arrow{transform:rotate(180deg)}:host([size='small']) .combobox-trigger{--le-combobox-height:2rem}:host([size='small']) .combobox-input{--le-combobox-padding-x:0.5rem;--le-combobox-font-size:0.75rem}:host([size='large']) .combobox-trigger{--le-combobox-height:3rem}:host([size='large']) .combobox-input{--le-combobox-padding-x:1rem;--le-combobox-font-size:1rem}`;const r=class{constructor(t){e(this,t);this.leChange=o(this,"leChange");this.leInput=o(this,"leInput");this.leOpen=o(this,"leOpen");this.leClose=o(this,"leClose")}get el(){return t(this)}options=[];value;placeholder="Type to search...";disabled=false;required=false;name;fullWidth=false;size="medium";allowCustom=false;minSearchLength=0;emptyText="No results found";open=false;leChange;leInput;leOpen;leClose;handleWindowClick(e){if(!this.el.contains(e.target)){this.dropdownEl?.hide()}}inputValue="";selectedOption;dropdownEl;inputEl;handleValueChange(){this.updateSelectedOption()}handleOptionsChange(){this.updateSelectedOption()}componentWillLoad(){this.updateSelectedOption()}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}updateSelectedOption(){if(this.value!==undefined){this.selectedOption=this.parsedOptions.find((e=>(e.value??e.label)===this.value));if(this.selectedOption){this.inputValue=this.selectedOption.label}else if(this.allowCustom){this.inputValue=this.value.toString()}}else{this.selectedOption=undefined;this.inputValue=""}}filterOption=(e,o)=>{if(!o||o.length<this.minSearchLength)return true;const t=o.toLowerCase();return e.label.toLowerCase().includes(t)||(e.description?.toLowerCase().includes(t)??false)};handleOptionSelect=e=>{this.value=e.detail.value;this.selectedOption=e.detail.option;this.inputValue=e.detail.option.label;this.leChange.emit(e.detail)};handleDropdownOpen=()=>{this.open=true;this.leOpen.emit()};handleDropdownClose=()=>{this.open=false;this.leClose.emit();if(!this.allowCustom&&this.selectedOption){this.inputValue=this.selectedOption.label}else if(!this.allowCustom&&!this.selectedOption){this.inputValue=""}};handleInputChange=e=>{const o=e.target;this.inputValue=o.value;if(this.allowCustom){this.leInput.emit({value:this.inputValue})}if(!this.open&&this.inputValue.length>=this.minSearchLength){this.dropdownEl?.show()}};handleInputFocus=()=>{if(!this.disabled){this.dropdownEl?.show()}};handleInputKeyDown=e=>{if(this.disabled)return;switch(e.key){case"ArrowDown":e.preventDefault();if(!this.open){this.dropdownEl?.show()}break;case"Enter":if(this.allowCustom&&this.inputValue&&!this.open){this.value=this.inputValue;this.leChange.emit({value:this.inputValue,option:{label:this.inputValue,value:this.inputValue}})}break;case"Escape":if(this.open){this.dropdownEl?.hide()}break}};handleClear=e=>{e.stopPropagation();this.value=undefined;this.selectedOption=undefined;this.inputValue="";this.inputEl?.focus();this.leChange.emit({value:"",option:{label:"",value:""}})};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}async focusInput(){this.inputEl?.focus()}render(){const e=this.inputValue.length>0;return i("le-component",{key:"f65aad2f17c8b15b08ea6719cc481a37cc68a081",component:"le-combobox"},i("le-dropdown-base",{key:"a1b518b8acd649bf1061e403d89f95ebc5d2e366",ref:e=>this.dropdownEl=e,options:this.parsedOptions,value:this.value,disabled:this.disabled,filterFn:this.filterOption,filterQuery:this.inputValue,emptyText:this.emptyText,fullWidth:this.fullWidth,closeOnClickOutside:false,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose},i("div",{key:"47339300365dca2c59e1d26fcae4faeef747ab18",slot:"trigger",class:{"combobox-trigger":true,"is-open":this.open}},i("le-string-input",{key:"e3842d3ea970a14405fd555fd8d8f4e9dbd14e80",mode:"default",hideDescription:true,inputRef:e=>this.inputEl=e,type:"text",class:"combobox-input",value:this.inputValue,placeholder:this.placeholder,disabled:this.disabled,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-autocomplete":"list",onInput:this.handleInputChange,onFocus:this.handleInputFocus,onKeyDown:this.handleInputKeyDown}),e&&!this.disabled&&i("button",{key:"81caabc48183e8e93f84cd5a063a4d83edbfe87d",type:"button",class:"combobox-clear",onClick:this.handleClear,"aria-label":"Clear",tabIndex:-1},i("svg",{key:"02bc4d15d122119c3910b3bd03db76cd8a30b783",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{key:"de0053be0eef471d35478a1c10a4408250a44dbf",d:"M4 4l8 8M12 4l-8 8"}))),i("span",{key:"72ea5b8bda38a8c08fff1763457dcf2377787c44",class:"combobox-arrow"},i("svg",{key:"c0f66766a7893978e142e63adec3863e792b6554",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{key:"d6287e5dede972620a6f90632462dd7d495bf927",d:"M4 6l4 4 4-4"}))))),this.name&&i("input",{key:"fed8a8936750fafe7b58912954099da20a506907",type:"hidden",name:this.name,value:this.value?.toString()??""}))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"]}}};r.style=s();export{r as le_combobox};
2
+ //# sourceMappingURL=p-c8a9e104.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as e}from"./p-BqH-zsXr.js";const i=()=>`:host{display:block;cursor:grab}div.turntable{width:100%;height:100%;padding:1px}`;const h=class{constructor(s){t(this,s)}get el(){return s(this)}center="center";value=0;updateValue(t){if(!this.rotating){this.currentAngle=parseFloat(t);this.setAngle(this.currentAngle)}}rotating=false;centerX;centerY;pageX;pageY;currentAngle=0;startAngle;handleMouseDown(t){this.rotating=true;this.startAngle=this.getAngle(t.pageX,t.pageY);t.preventDefault();t.stopPropagation();return false}handleMouseMove(t){if(this.rotating){this.setAngle(this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle));return false}}handleMouseUp(t){if(this.rotating){const s=this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle);this.setAngle(s);this.currentAngle=s;this.rotating=false;return false}}handleWindowResize(){this.getTransformOrigin()}componentDidLoad(){this.el.style.transformOrigin=this.center;this.currentAngle=this.value;this.getTransformOrigin();this.setAngle(this.currentAngle)}componentDidUpdate(){this.getTransformOrigin()}getTransformOrigin(){[this.centerX,this.centerY]=window.getComputedStyle(this.el,null).transformOrigin.split(" ").map((t=>Math.round(parseFloat(t))));let t=null;const s=((t=document.documentElement)||(t=document.body.parentNode))&&typeof t.scrollLeft==="number"?t:document.body;const e=this.el.getBoundingClientRect();this.pageX=Math.round(e.left+s.scrollLeft);this.pageY=Math.round(e.top+s.scrollTop)}getAngle(t,s){const e=t-this.pageX-this.centerX;const i=s-this.pageY-this.centerY;const h=Math.round(Math.atan2(i,e)*180/Math.PI*100)/100;return h}setAngle(t){this.el.style.transform=`rotate(${t}deg)`}render(){return e("div",{key:"044fa1f42a2052032b2c5f910670dbd16d0d83c2",class:"turntable",onMouseDown:this.handleMouseDown.bind(this)},e("slot",{key:"9b121701301205bb9182be89736ba64c4fd74373"}))}static get watchers(){return{value:["updateValue"]}}};h.style=i();export{h as le_turntable};
2
- //# sourceMappingURL=p-244ff3d7.entry.js.map
1
+ import{r as t,c as s,h as e}from"./p-Bb6rgQY0.js";const i=()=>`:host{display:block;cursor:grab}div.turntable{width:100%;height:100%;padding:1px}`;const h=class{constructor(s){t(this,s)}get el(){return s(this)}center="center";value=0;updateValue(t){if(!this.rotating){this.currentAngle=parseFloat(t);this.setAngle(this.currentAngle)}}rotating=false;centerX;centerY;pageX;pageY;currentAngle=0;startAngle;handleMouseDown(t){this.rotating=true;this.startAngle=this.getAngle(t.pageX,t.pageY);t.preventDefault();t.stopPropagation();return false}handleMouseMove(t){if(this.rotating){this.setAngle(this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle));return false}}handleMouseUp(t){if(this.rotating){const s=this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle);this.setAngle(s);this.currentAngle=s;this.rotating=false;return false}}handleWindowResize(){this.getTransformOrigin()}componentDidLoad(){this.el.style.transformOrigin=this.center;this.currentAngle=this.value;this.getTransformOrigin();this.setAngle(this.currentAngle)}componentDidUpdate(){this.getTransformOrigin()}getTransformOrigin(){[this.centerX,this.centerY]=window.getComputedStyle(this.el,null).transformOrigin.split(" ").map((t=>Math.round(parseFloat(t))));let t=null;const s=((t=document.documentElement)||(t=document.body.parentNode))&&typeof t.scrollLeft==="number"?t:document.body;const e=this.el.getBoundingClientRect();this.pageX=Math.round(e.left+s.scrollLeft);this.pageY=Math.round(e.top+s.scrollTop)}getAngle(t,s){const e=t-this.pageX-this.centerX;const i=s-this.pageY-this.centerY;const h=Math.round(Math.atan2(i,e)*180/Math.PI*100)/100;return h}setAngle(t){this.el.style.transform=`rotate(${t}deg)`}render(){return e("div",{key:"044fa1f42a2052032b2c5f910670dbd16d0d83c2",class:"turntable",onMouseDown:this.handleMouseDown.bind(this)},e("slot",{key:"9b121701301205bb9182be89736ba64c4fd74373"}))}static get watchers(){return{value:["updateValue"]}}};h.style=i();export{h as le_turntable};
2
+ //# sourceMappingURL=p-ca766522.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,d as t,c as i,h as s}from"./p-BqH-zsXr.js";const l=()=>`:host{display:inline-block;min-width:250px;--le-multiselect-min-height:0;--le-multiselect-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);--le-multiselect-border-color:var(--le-color-primary, #3b82f6)}:host([disabled]){opacity:0.5;pointer-events:none}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;min-height:var(--le-multiselect-min-height);padding:var(--le-multiselect-padding);line-height:var(--le-line-height-tight);background:var(--le-multiselect-bg, var(--le-color-surface, #fff));border:1px solid color-mix(in srgb, var(--le-multiselect-border-color) 33%, transparent);border-radius:var(--le-multiselect-border-radius, 0.375rem);cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.multiselect-trigger:hover:not(.is-disabled),:host(:focus-within) .multiselect-trigger:not(.is-disabled){border-color:var(--le-multiselect-border-color)}:host(:focus-within) .multiselect-trigger{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([full-width]){width:100%}.multiselect-trigger.is-open{border-color:var(--le-color-primary, #3b82f6)}.multiselect-trigger.is-disabled{cursor:not-allowed;background:var(--le-color-surface-disabled, #f9fafb)}.multiselect-placeholder{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.multiselect-tags{display:flex;flex-wrap:wrap;gap:0.25rem;flex:1;min-width:0}.multiselect-actions{display:flex;align-items:center;gap:0.25rem;flex-shrink:0}.multiselect-clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;color:var(--le-color-primary, #3b82f6);border:none;border-radius:0.25rem;cursor:pointer;opacity:0.6;transition:opacity 0.15s ease, background-color 0.15s ease}.multiselect-clear:hover{opacity:1;background:var(--le-color-surface-hover, #f3f4f6)}.multiselect-clear svg{width:0.875rem;height:0.875rem}.multiselect-arrow{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1rem;color:var(--le-color-primary, #3b82f6);transition:transform 0.2s ease}.multiselect-arrow svg{width:1rem;height:1rem}.multiselect-trigger.is-open .multiselect-arrow{transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}.multiselect-status{display:block;margin-top:0.25rem;font-size:0.75rem;color:var(--le-color-text-muted, #6b7280)}:host([size='small']) .multiselect-trigger{--le-multiselect-min-height:2rem;--le-multiselect-padding:0.25rem 0.375rem;--le-multiselect-font-size:0.75rem}:host([size='large']) .multiselect-trigger{--le-multiselect-min-height:3rem;--le-multiselect-padding:0.5rem 0.625rem;--le-multiselect-font-size:1rem}`;const r=class{constructor(i){e(this,i);this.leChange=t(this,"leChange");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return i(this)}options=[];value=[];placeholder="Select options...";disabled=false;required=false;name;fullWidth=false;size="medium";maxSelections;selectAllLabel="Select All";deselectAllLabel="Deselect All";showSelectAll=false;searchable=false;emptyText="No results found";open=false;leChange;leOpen;leClose;selectedOptions=[];searchQuery="";dropdownEl;inputEl;handleValueChange(){this.updateSelectedOptions()}handleOptionsChange(){this.updateSelectedOptions()}handleShowSelectAllChange(e){if(typeof e!=="boolean"&&typeof e!=="string"){this.showSelectAll=false}else if(typeof e==="boolean"){this.showSelectAll=e}else if(Array.isArray(e)){this.showSelectAll=true;this.selectAllLabel=e[0];this.deselectAllLabel=e[1]||e[0]}else if(typeof e==="string"){this.showSelectAll=true;try{const t=JSON.parse(e);if(Array.isArray(t)&&t.every((e=>typeof e==="string"))){this.selectAllLabel=t[0];this.deselectAllLabel=t[1]||t[0]}else{this.selectAllLabel=e;this.deselectAllLabel=e}}catch{this.selectAllLabel=e;this.deselectAllLabel=e}}}componentWillLoad(){this.updateSelectedOptions();this.handleShowSelectAllChange(this.showSelectAll)}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}get effectiveOptions(){let e=[...this.parsedOptions];if(this.showSelectAll&&e.length>0){const t=this.selectedOptions.length===this.parsedOptions.filter((e=>!e.disabled)).length;e=[{label:t?this.deselectAllLabel:this.selectAllLabel,value:"__select_all__",iconStart:t?"✕":"⇣"},...e]}return e}updateSelectedOptions(){const e=Array.isArray(this.value)?this.value:[];this.selectedOptions=this.parsedOptions.filter((t=>e.includes(t.value??t.label)))}filterOption=(e,t)=>{if(!t)return true;if(e.value==="__select_all__")return true;const i=t.toLowerCase();return e.label.toLowerCase().includes(i)||(e.description?.toLowerCase().includes(i)??false)};handleOptionSelect=e=>{const{value:t}=e.detail;const i=this.parsedOptions.filter((e=>!e.disabled));if(i.length===0)return;if(t==="__select_all__"){if(this.selectedOptions.length===i.length){this.value=[]}else{const e=this.maxSelections?i.slice(0,this.maxSelections):i;this.value=e.map((e=>e.value??e.label))}this.emitChange();return}const s=this.value.includes(t);if(s){this.value=this.value.filter((e=>e!==t));this.selectedOptions=this.selectedOptions.filter((e=>(e.value??e.label)!==t))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=[...this.value,t]}this.emitChange();this.searchQuery=""};emitChange(){this.leChange.emit({values:this.value,options:this.selectedOptions})}handleDropdownOpen=()=>{this.open=true;this.leOpen.emit();if(this.searchable){setTimeout((()=>{this.inputEl?.focus()}),50)}};handleDropdownClose=()=>{this.open=false;this.searchQuery="";this.leClose.emit()};handleTriggerClick=()=>{if(!this.disabled){this.dropdownEl?.toggle()}};handleTriggerKeyDown=e=>{if(this.disabled)return;if(e.key==="Enter"||e.key===" "||e.key==="ArrowDown"){e.preventDefault();this.dropdownEl?.show()}};handleTagDismiss=(e,t)=>{t.stopPropagation();const i=e.value??e.label;this.value=this.value.filter((e=>e!==i));this.selectedOptions=this.selectedOptions.filter((t=>t!==e));this.emitChange()};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};handleClearAll=e=>{e.stopPropagation();this.value=[];this.selectedOptions=[];this.emitChange()};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}async clearSelection(){this.value=[];this.selectedOptions=[];this.emitChange()}renderTags(){if(this.selectedOptions.length===0){return s("span",{class:"multiselect-placeholder"},this.placeholder)}return s("div",{class:"multiselect-tags"},this.selectedOptions.map((e=>s("le-tag",{key:e.value??e.label,label:e.label,icon:e.iconStart,size:this.size==="large"?"medium":"small",dismissible:true,disabled:this.disabled,onLeDismiss:t=>this.handleTagDismiss(e,t),mode:"default"}))))}render(){const e=this.selectedOptions.length>0;const t=this.maxSelections&&this.value.length>=this.maxSelections;return s("le-component",{key:"3f2d29e466307145bb01d7dd8a5be7674ea72ec8",component:"le-multiselect"},s("le-dropdown-base",{key:"c551daf51424318394d883c86e1f6ec7499c4703",ref:e=>this.dropdownEl=e,options:this.effectiveOptions,value:this.value,multiple:true,disabled:this.disabled,filterFn:this.searchable?this.filterOption:undefined,filterQuery:this.searchQuery,emptyText:this.emptyText,showCheckboxes:true,fullWidth:this.fullWidth,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose},s("div",{key:"863e1bc369781fe3ddc0a8bad09e4e651536498e",slot:"trigger",class:{"multiselect-trigger":true,"has-selections":e,"is-open":this.open,"is-disabled":this.disabled},tabIndex:this.disabled?-1:0,role:"combobox","aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-disabled":this.disabled?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.renderTags(),s("div",{key:"8fa1afd6495d8054461a30c49ed10eda70d5c219",class:"multiselect-actions"},e&&!this.disabled&&s("button",{key:"acca7ff73f0e5f50ba8d257c333a15f9de4b7569",type:"button",class:"multiselect-clear",onClick:this.handleClearAll,"aria-label":"Clear all",tabIndex:-1},s("svg",{key:"388610e0baa60ad75956ebfc2b2f1edb7cebbb94",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"cc6c0b17360942fd86b43d104f1fa822e67f42a2",d:"M4 4l8 8M12 4l-8 8"}))),s("span",{key:"81e7fe95233d439226ab262448e5157b20b8a2d5",class:"multiselect-arrow"},s("svg",{key:"a748a8c3647e45ab181659bc5061fe181ed50e63",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"319e8960ae71e16cd6aba1fdfae025e7ca7c03d7",d:"M4 6l4 4 4-4"}))))),this.searchable&&this.open&&s("div",{key:"57ca976f1ce817a703d401af4fa19ea4fb73c8cc",class:"multiselect-search",slot:"header"},s("le-string-input",{key:"62b7c46edb93df22d6bce871dc948418ac388fb5",mode:"default",inputRef:e=>this.inputEl=e,class:"search-input",placeholder:"Search...",value:this.searchQuery,onInput:this.handleSearchInput}))),this.name&&this.value.map((e=>s("input",{type:"hidden",name:this.name,value:e.toString(),key:e.toString()}))),t&&s("span",{key:"d213d97108df7093de3fa979f4a082797584e24b",class:"multiselect-status"},"Maximum ",this.maxSelections," selections"))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"],showSelectAll:["handleShowSelectAllChange"]}}};r.style=l();export{r as le_multiselect};
2
- //# sourceMappingURL=p-764005e3.entry.js.map
1
+ import{r as e,d as t,c as i,h as s}from"./p-Bb6rgQY0.js";const l=()=>`:host{display:inline-block;min-width:250px;--le-multiselect-min-height:0;--le-multiselect-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);--le-multiselect-border-color:var(--le-color-primary, #3b82f6)}:host([disabled]){opacity:0.5;pointer-events:none}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;min-height:var(--le-multiselect-min-height);padding:var(--le-multiselect-padding);line-height:var(--le-line-height-tight);background:var(--le-multiselect-bg, var(--le-color-surface, #fff));border:1px solid color-mix(in srgb, var(--le-multiselect-border-color) 33%, transparent);border-radius:var(--le-multiselect-border-radius, 0.375rem);cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.multiselect-trigger:hover:not(.is-disabled),:host(:focus-within) .multiselect-trigger:not(.is-disabled){border-color:var(--le-multiselect-border-color)}:host(:focus-within) .multiselect-trigger{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([full-width]){width:100%}.multiselect-trigger.is-open{border-color:var(--le-color-primary, #3b82f6)}.multiselect-trigger.is-disabled{cursor:not-allowed;background:var(--le-color-surface-disabled, #f9fafb)}.multiselect-placeholder{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.multiselect-tags{display:flex;flex-wrap:wrap;gap:0.25rem;flex:1;min-width:0}.multiselect-actions{display:flex;align-items:center;gap:0.25rem;flex-shrink:0}.multiselect-clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;color:var(--le-color-primary, #3b82f6);border:none;border-radius:0.25rem;cursor:pointer;opacity:0.6;transition:opacity 0.15s ease, background-color 0.15s ease}.multiselect-clear:hover{opacity:1;background:var(--le-color-surface-hover, #f3f4f6)}.multiselect-clear svg{width:0.875rem;height:0.875rem}.multiselect-arrow{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1rem;color:var(--le-color-primary, #3b82f6);transition:transform 0.2s ease}.multiselect-arrow svg{width:1rem;height:1rem}.multiselect-trigger.is-open .multiselect-arrow{transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}.multiselect-status{display:block;margin-top:0.25rem;font-size:0.75rem;color:var(--le-color-text-muted, #6b7280)}:host([size='small']) .multiselect-trigger{--le-multiselect-min-height:2rem;--le-multiselect-padding:0.25rem 0.375rem;--le-multiselect-font-size:0.75rem}:host([size='large']) .multiselect-trigger{--le-multiselect-min-height:3rem;--le-multiselect-padding:0.5rem 0.625rem;--le-multiselect-font-size:1rem}`;const r=class{constructor(i){e(this,i);this.leChange=t(this,"leChange");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return i(this)}options=[];value=[];placeholder="Select options...";disabled=false;required=false;name;fullWidth=false;size="medium";maxSelections;selectAllLabel="Select All";deselectAllLabel="Deselect All";showSelectAll=false;searchable=false;emptyText="No results found";open=false;leChange;leOpen;leClose;selectedOptions=[];searchQuery="";dropdownEl;inputEl;handleValueChange(){this.updateSelectedOptions()}handleOptionsChange(){this.updateSelectedOptions()}handleShowSelectAllChange(e){if(typeof e!=="boolean"&&typeof e!=="string"){this.showSelectAll=false}else if(typeof e==="boolean"){this.showSelectAll=e}else if(Array.isArray(e)){this.showSelectAll=true;this.selectAllLabel=e[0];this.deselectAllLabel=e[1]||e[0]}else if(typeof e==="string"){this.showSelectAll=true;try{const t=JSON.parse(e);if(Array.isArray(t)&&t.every((e=>typeof e==="string"))){this.selectAllLabel=t[0];this.deselectAllLabel=t[1]||t[0]}else{this.selectAllLabel=e;this.deselectAllLabel=e}}catch{this.selectAllLabel=e;this.deselectAllLabel=e}}}componentWillLoad(){this.updateSelectedOptions();this.handleShowSelectAllChange(this.showSelectAll)}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}get effectiveOptions(){let e=[...this.parsedOptions];if(this.showSelectAll&&e.length>0){const t=this.selectedOptions.length===this.parsedOptions.filter((e=>!e.disabled)).length;e=[{label:t?this.deselectAllLabel:this.selectAllLabel,value:"__select_all__",iconStart:t?"✕":"⇣"},...e]}return e}updateSelectedOptions(){const e=Array.isArray(this.value)?this.value:[];this.selectedOptions=this.parsedOptions.filter((t=>e.includes(t.value??t.label)))}filterOption=(e,t)=>{if(!t)return true;if(e.value==="__select_all__")return true;const i=t.toLowerCase();return e.label.toLowerCase().includes(i)||(e.description?.toLowerCase().includes(i)??false)};handleOptionSelect=e=>{const{value:t}=e.detail;const i=this.parsedOptions.filter((e=>!e.disabled));if(i.length===0)return;if(t==="__select_all__"){if(this.selectedOptions.length===i.length){this.value=[]}else{const e=this.maxSelections?i.slice(0,this.maxSelections):i;this.value=e.map((e=>e.value??e.label))}this.emitChange();return}const s=this.value.includes(t);if(s){this.value=this.value.filter((e=>e!==t));this.selectedOptions=this.selectedOptions.filter((e=>(e.value??e.label)!==t))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=[...this.value,t]}this.emitChange();this.searchQuery=""};emitChange(){this.leChange.emit({values:this.value,options:this.selectedOptions})}handleDropdownOpen=()=>{this.open=true;this.leOpen.emit();if(this.searchable){setTimeout((()=>{this.inputEl?.focus()}),50)}};handleDropdownClose=()=>{this.open=false;this.searchQuery="";this.leClose.emit()};handleTriggerClick=()=>{if(!this.disabled){this.dropdownEl?.toggle()}};handleTriggerKeyDown=e=>{if(this.disabled)return;if(e.key==="Enter"||e.key===" "||e.key==="ArrowDown"){e.preventDefault();this.dropdownEl?.show()}};handleTagDismiss=(e,t)=>{t.stopPropagation();const i=e.value??e.label;this.value=this.value.filter((e=>e!==i));this.selectedOptions=this.selectedOptions.filter((t=>t!==e));this.emitChange()};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};handleClearAll=e=>{e.stopPropagation();this.value=[];this.selectedOptions=[];this.emitChange()};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}async clearSelection(){this.value=[];this.selectedOptions=[];this.emitChange()}renderTags(){if(this.selectedOptions.length===0){return s("span",{class:"multiselect-placeholder"},this.placeholder)}return s("div",{class:"multiselect-tags"},this.selectedOptions.map((e=>s("le-tag",{key:e.value??e.label,label:e.label,icon:e.iconStart,size:this.size==="large"?"medium":"small",dismissible:true,disabled:this.disabled,onLeDismiss:t=>this.handleTagDismiss(e,t),mode:"default"}))))}render(){const e=this.selectedOptions.length>0;const t=this.maxSelections&&this.value.length>=this.maxSelections;return s("le-component",{key:"3f2d29e466307145bb01d7dd8a5be7674ea72ec8",component:"le-multiselect"},s("le-dropdown-base",{key:"c551daf51424318394d883c86e1f6ec7499c4703",ref:e=>this.dropdownEl=e,options:this.effectiveOptions,value:this.value,multiple:true,disabled:this.disabled,filterFn:this.searchable?this.filterOption:undefined,filterQuery:this.searchQuery,emptyText:this.emptyText,showCheckboxes:true,fullWidth:this.fullWidth,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose},s("div",{key:"863e1bc369781fe3ddc0a8bad09e4e651536498e",slot:"trigger",class:{"multiselect-trigger":true,"has-selections":e,"is-open":this.open,"is-disabled":this.disabled},tabIndex:this.disabled?-1:0,role:"combobox","aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-disabled":this.disabled?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.renderTags(),s("div",{key:"8fa1afd6495d8054461a30c49ed10eda70d5c219",class:"multiselect-actions"},e&&!this.disabled&&s("button",{key:"acca7ff73f0e5f50ba8d257c333a15f9de4b7569",type:"button",class:"multiselect-clear",onClick:this.handleClearAll,"aria-label":"Clear all",tabIndex:-1},s("svg",{key:"388610e0baa60ad75956ebfc2b2f1edb7cebbb94",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"cc6c0b17360942fd86b43d104f1fa822e67f42a2",d:"M4 4l8 8M12 4l-8 8"}))),s("span",{key:"81e7fe95233d439226ab262448e5157b20b8a2d5",class:"multiselect-arrow"},s("svg",{key:"a748a8c3647e45ab181659bc5061fe181ed50e63",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"319e8960ae71e16cd6aba1fdfae025e7ca7c03d7",d:"M4 6l4 4 4-4"}))))),this.searchable&&this.open&&s("div",{key:"57ca976f1ce817a703d401af4fa19ea4fb73c8cc",class:"multiselect-search",slot:"header"},s("le-string-input",{key:"62b7c46edb93df22d6bce871dc948418ac388fb5",mode:"default",inputRef:e=>this.inputEl=e,class:"search-input",placeholder:"Search...",value:this.searchQuery,onInput:this.handleSearchInput}))),this.name&&this.value.map((e=>s("input",{type:"hidden",name:this.name,value:e.toString(),key:e.toString()}))),t&&s("span",{key:"d213d97108df7093de3fa979f4a082797584e24b",class:"multiselect-status"},"Maximum ",this.maxSelections," selections"))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"],showSelectAll:["handleShowSelectAllChange"]}}};r.style=l();export{r as le_multiselect};
2
+ //# sourceMappingURL=p-cb392b4b.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as s,c as r,h as t}from"./p-BqH-zsXr.js";const e=()=>`.round-progress--container{position:relative}.round-progress{position:absolute;top:0;left:0;right:0;bottom:0;display:block}.round-progress--progress{filter:drop-shadow(var(--progress-shadow))}.round-progress--circle{fill:none;stroke:var(--progress-color, #999);stroke-width:var(--progress-width, 4);stroke-linecap:var(--progress-linecap, round);animation:progress--circle 0.5s ease-out forwards;transition:stroke-dasharray 0.5s ease-out}@keyframes progress--circle{0%{stroke-dasharray:0 1000}}.round-progress--path{fill:none;stroke-linecap:round}`;const o=class{constructor(r){s(this,r)}get el(){return r(this)}value=0;updateValue(s){this.value=parseFloat(s)}padding=0;updatePadding(s){this.padding=parseFloat(s);this.calcParams()}paths;updateProgressBackgrounds(s){this.progressPaths=JSON.parse(s)}progressPaths;params;componentWillLoad(){if(typeof this.paths==="string"){this.updateProgressBackgrounds(this.paths)}this.calcParams()}calcParams(){const s=this.el.getBoundingClientRect().width;const r=s-this.padding;const t=Math.PI*r;this.params={width:s,diameter:r,circumference:t}}getViewBox(){return"0 0 "+this.params.width+" "+this.params.width}getPath(){return"M"+this.params.width/2+" "+(this.params.width-this.params.diameter)/2+" a "+this.params.diameter/2+" "+this.params.diameter/2+" 0 0 1 0 "+this.params.diameter+" a "+this.params.diameter/2+" "+this.params.diameter/2+" 0 0 1 0 -"+this.params.diameter}getStrokeDashArray(){return this.value/100*this.params.circumference+", "+this.params.circumference}getPaths(){if(!this.progressPaths||!this.progressPaths.length){return null}let s=[];this.progressPaths.forEach((r=>{s.push(t("path",{class:"round-progress--path",d:this.getPath(),stroke:r.color,"stroke-width":r.width,"stroke-dasharray":r.dasharray,"stroke-linecap":r.linecap}))}));return t("svg",{viewBox:this.getViewBox(),class:"round-progress"},s)}render(){return t("div",{key:"6379320fd320009f649c11d58f2e918c733de68d",class:"round-progress--container"},this.getPaths(),t("svg",{key:"af63bb6fdf93e2d0d8060be60fcd41b4f74c294e",viewBox:this.getViewBox(),class:"round-progress round-progress--progress"},t("path",{key:"7b8e0b41a9487b6ba02ef90b1f0a0177aac058f6",class:"round-progress--circle","stroke-dasharray":this.getStrokeDashArray(),d:this.getPath()})),t("slot",{key:"659336629730730ba96f5fbc788dc01e4f280fed"}))}static get watchers(){return{value:["updateValue"],padding:["updatePadding"],paths:["updateProgressBackgrounds"]}}};o.style=e();export{o as le_round_progress};
2
- //# sourceMappingURL=p-61edb398.entry.js.map
1
+ import{r as s,c as r,h as t}from"./p-Bb6rgQY0.js";const e=()=>`.round-progress--container{position:relative}.round-progress{position:absolute;top:0;left:0;right:0;bottom:0;display:block}.round-progress--progress{filter:drop-shadow(var(--progress-shadow))}.round-progress--circle{fill:none;stroke:var(--progress-color, #999);stroke-width:var(--progress-width, 4);stroke-linecap:var(--progress-linecap, round);animation:progress--circle 0.5s ease-out forwards;transition:stroke-dasharray 0.5s ease-out}@keyframes progress--circle{0%{stroke-dasharray:0 1000}}.round-progress--path{fill:none;stroke-linecap:round}`;const o=class{constructor(r){s(this,r)}get el(){return r(this)}value=0;updateValue(s){this.value=parseFloat(s)}padding=0;updatePadding(s){this.padding=parseFloat(s);this.calcParams()}paths;updateProgressBackgrounds(s){this.progressPaths=JSON.parse(s)}progressPaths;params;componentWillLoad(){if(typeof this.paths==="string"){this.updateProgressBackgrounds(this.paths)}this.calcParams()}calcParams(){const s=this.el.getBoundingClientRect().width;const r=s-this.padding;const t=Math.PI*r;this.params={width:s,diameter:r,circumference:t}}getViewBox(){return"0 0 "+this.params.width+" "+this.params.width}getPath(){return"M"+this.params.width/2+" "+(this.params.width-this.params.diameter)/2+" a "+this.params.diameter/2+" "+this.params.diameter/2+" 0 0 1 0 "+this.params.diameter+" a "+this.params.diameter/2+" "+this.params.diameter/2+" 0 0 1 0 -"+this.params.diameter}getStrokeDashArray(){return this.value/100*this.params.circumference+", "+this.params.circumference}getPaths(){if(!this.progressPaths||!this.progressPaths.length){return null}let s=[];this.progressPaths.forEach((r=>{s.push(t("path",{class:"round-progress--path",d:this.getPath(),stroke:r.color,"stroke-width":r.width,"stroke-dasharray":r.dasharray,"stroke-linecap":r.linecap}))}));return t("svg",{viewBox:this.getViewBox(),class:"round-progress"},s)}render(){return t("div",{key:"6379320fd320009f649c11d58f2e918c733de68d",class:"round-progress--container"},this.getPaths(),t("svg",{key:"af63bb6fdf93e2d0d8060be60fcd41b4f74c294e",viewBox:this.getViewBox(),class:"round-progress round-progress--progress"},t("path",{key:"7b8e0b41a9487b6ba02ef90b1f0a0177aac058f6",class:"round-progress--circle","stroke-dasharray":this.getStrokeDashArray(),d:this.getPath()})),t("slot",{key:"659336629730730ba96f5fbc788dc01e4f280fed"}))}static get watchers(){return{value:["updateValue"],padding:["updatePadding"],paths:["updateProgressBackgrounds"]}}};o.style=e();export{o as le_round_progress};
2
+ //# sourceMappingURL=p-eb4b678f.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as s}from"./p-BqH-zsXr.js";import{c as a}from"./p-VG5nXRzT.js";const i=()=>`:host{display:block}:host([hidden]){display:none}.stack{gap:var(--le-stack-gap, var(--le-space-md))}:host(.full-width){width:100%}:host(.full-height){height:100%}:host(.direction-horizontal) .stack{min-height:0}:host(.direction-vertical) .stack{min-width:0}`;const n=class{constructor(e){t(this,e)}get el(){return e(this)}direction="horizontal";gap;align="stretch";justify="start";wrap=false;alignContent="stretch";reverse=false;maxItems;fullWidth=false;fullHeight=false;padding;getFlexDirection(){const t=this.direction==="vertical"?"column":"row";return this.reverse?`${t}-reverse`:t}getAlignItems(){const t={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch",baseline:"baseline"};return t[this.align]||"stretch"}getJustifyContent(){const t={start:"flex-start",center:"center",end:"flex-end","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"};return t[this.justify]||"flex-start"}getAlignContent(){const t={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch","space-between":"space-between","space-around":"space-around"};return t[this.alignContent]||"stretch"}render(){const t={display:"flex",flexDirection:this.getFlexDirection(),alignItems:this.getAlignItems(),justifyContent:this.getJustifyContent(),flexWrap:this.wrap?"wrap":"nowrap"};if(this.wrap){t.alignContent=this.getAlignContent()}if(this.gap){t.gap=this.gap}if(this.padding){t.padding=this.padding}const e=a(`direction-${this.direction}`,{wrap:this.wrap,reverse:this.reverse,"full-width":this.fullWidth,"full-height":this.fullHeight});const i=`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()};`;return s("le-component",{key:"b9fa5837421caadf0bf79a9303a2b279f9efa92c",component:"le-stack",hostClass:e},s("div",{key:"a7d39ec296b741f608832d619639e340c42bc652",class:"stack",part:"stack",style:t},s("le-slot",{key:"d0a4643dcb137eefc57629ac78579e51e3530fd1",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:i},s("slot",{key:"70a847ebeebc868a204b9121f922ad70f34186a4"}))))}};n.style=i();export{n as le_stack};
2
- //# sourceMappingURL=p-6d0090c1.entry.js.map
1
+ import{r as t,c as e,h as s}from"./p-Bb6rgQY0.js";import{c as a}from"./p-DG6SMiyr.js";const i=()=>`:host{display:block}:host([hidden]){display:none}.stack{gap:var(--le-stack-gap, var(--le-space-md))}:host(.full-width){width:100%}:host(.full-height){height:100%}:host(.direction-horizontal) .stack{min-height:0}:host(.direction-vertical) .stack{min-width:0}`;const n=class{constructor(e){t(this,e)}get el(){return e(this)}direction="horizontal";gap;align="stretch";justify="start";wrap=false;alignContent="stretch";reverse=false;maxItems;fullWidth=false;fullHeight=false;padding;getFlexDirection(){const t=this.direction==="vertical"?"column":"row";return this.reverse?`${t}-reverse`:t}getAlignItems(){const t={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch",baseline:"baseline"};return t[this.align]||"stretch"}getJustifyContent(){const t={start:"flex-start",center:"center",end:"flex-end","space-between":"space-between","space-around":"space-around","space-evenly":"space-evenly"};return t[this.justify]||"flex-start"}getAlignContent(){const t={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch","space-between":"space-between","space-around":"space-around"};return t[this.alignContent]||"stretch"}render(){const t={display:"flex",flexDirection:this.getFlexDirection(),alignItems:this.getAlignItems(),justifyContent:this.getJustifyContent(),flexWrap:this.wrap?"wrap":"nowrap"};if(this.wrap){t.alignContent=this.getAlignContent()}if(this.gap){t.gap=this.gap}if(this.padding){t.padding=this.padding}const e=a(`direction-${this.direction}`,{wrap:this.wrap,reverse:this.reverse,"full-width":this.fullWidth,"full-height":this.fullHeight});const i=`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()};`;return s("le-component",{key:"b9fa5837421caadf0bf79a9303a2b279f9efa92c",component:"le-stack",hostClass:e},s("div",{key:"a7d39ec296b741f608832d619639e340c42bc652",class:"stack",part:"stack",style:t},s("le-slot",{key:"d0a4643dcb137eefc57629ac78579e51e3530fd1",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:i},s("slot",{key:"70a847ebeebc868a204b9121f922ad70f34186a4"}))))}};n.style=i();export{n as le_stack};
2
+ //# sourceMappingURL=p-f45d86de.entry.js.map
@@ -53,6 +53,23 @@ declare let leKitConfig: {
53
53
  * 2. Or set this to point to where the manifest is served
54
54
  */
55
55
  manifestFile: string;
56
+ /**
57
+ * Base path for loading assets (icons, etc.).
58
+ *
59
+ * Default: '' (empty - uses Stencil's getAssetPath)
60
+ *
61
+ * When set, assets will be loaded from: `${assetBasePath}/icons/${name}.json`
62
+ *
63
+ * For apps using le-kit, you should:
64
+ * 1. Copy the assets from node_modules/le-kit/dist/assets to your public folder
65
+ * 2. Set this to point to where the assets are served (e.g., '/le-kit-assets')
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * configureLeKit({ assetBasePath: '/le-kit-assets' });
70
+ * ```
71
+ */
72
+ assetBasePath: string;
56
73
  };
57
74
  /**
58
75
  * Configure le-kit global settings.
@@ -71,3 +88,8 @@ export declare function configureLeKit(config: Partial<typeof leKitConfig>): voi
71
88
  * Get the current le-kit configuration.
72
89
  */
73
90
  export declare function getLeKitConfig(): typeof leKitConfig;
91
+ /**
92
+ * Get the configured asset base path.
93
+ * Used internally by components that load assets.
94
+ */
95
+ export declare function getAssetBasePath(): string;
@@ -8,7 +8,7 @@
8
8
  */
9
9
  export { generateId, parseCommaSeparated, slotHasContent } from './utils/utils';
10
10
  export { setAssetPath } from './stencil-public-runtime';
11
- export { getMode, setGlobalMode, getTheme, setGlobalTheme, configureLeKit, getLeKitConfig, } from './global/app';
11
+ export { getMode, setGlobalMode, getTheme, setGlobalTheme, configureLeKit, getLeKitConfig, getAssetBasePath, } from './global/app';
12
12
  export type { LeKitMode, LeKitTheme } from './global/app';
13
13
  export { leAlert, leConfirm, lePrompt } from './components/le-popup/le-popup.api';
14
14
  export type { PopupOptions } from './components/le-popup/le-popup.api';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "le-kit",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Themable web components library with CMS admin mode support",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",