le-kit 0.1.5 → 0.1.7

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 (201) hide show
  1. package/{dist/le-kit/assets/custom-elements.json → custom-elements.json} +833 -833
  2. package/dist/cjs/index-D7B9TPh8.js +1835 -0
  3. package/dist/cjs/index-D7B9TPh8.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +119 -0
  5. package/dist/cjs/index.cjs.js.map +1 -0
  6. package/dist/cjs/le-box.cjs.entry.js +184 -0
  7. package/dist/cjs/le-box.entry.cjs.js.map +1 -0
  8. package/dist/cjs/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.cjs.js.map +1 -0
  9. package/dist/cjs/le-button_6.cjs.entry.js +1200 -0
  10. package/dist/cjs/le-card.cjs.entry.js +29 -0
  11. package/dist/cjs/le-card.entry.cjs.js.map +1 -0
  12. package/dist/cjs/le-kit.cjs.js +25 -0
  13. package/dist/cjs/le-kit.cjs.js.map +1 -0
  14. package/dist/cjs/le-number-input.cjs.entry.js +202 -0
  15. package/dist/cjs/le-number-input.entry.cjs.js.map +1 -0
  16. package/dist/cjs/le-popup.cjs.entry.js +212 -0
  17. package/dist/cjs/le-popup.entry.cjs.js.map +1 -0
  18. package/dist/cjs/le-round-progress.cjs.entry.js +106 -0
  19. package/dist/cjs/le-round-progress.entry.cjs.js.map +1 -0
  20. package/dist/cjs/le-stack.cjs.entry.js +135 -0
  21. package/dist/cjs/le-stack.entry.cjs.js.map +1 -0
  22. package/dist/cjs/le-text.cjs.entry.js +335 -0
  23. package/dist/cjs/le-text.entry.cjs.js.map +1 -0
  24. package/dist/cjs/le-turntable.cjs.entry.js +139 -0
  25. package/dist/cjs/le-turntable.entry.cjs.js.map +1 -0
  26. package/dist/cjs/loader.cjs.js +13 -0
  27. package/dist/cjs/loader.cjs.js.map +1 -0
  28. package/dist/cjs/utils-DrsoID-a.js +152 -0
  29. package/dist/cjs/utils-DrsoID-a.js.map +1 -0
  30. package/dist/collection/collection-manifest.json +26 -0
  31. package/dist/collection/components/le-box/le-box.default.css +37 -0
  32. package/dist/collection/components/le-box/le-box.js +614 -0
  33. package/dist/collection/components/le-box/le-box.js.map +1 -0
  34. package/dist/collection/components/le-button/le-button.default.css +263 -0
  35. package/dist/collection/components/le-button/le-button.js +368 -0
  36. package/dist/collection/components/le-button/le-button.js.map +1 -0
  37. package/dist/collection/components/le-card/le-card.default.css +74 -0
  38. package/dist/collection/components/le-card/le-card.js +102 -0
  39. package/dist/collection/components/le-card/le-card.js.map +1 -0
  40. package/dist/collection/components/le-checkbox/le-checkbox.css +93 -0
  41. package/dist/collection/components/le-checkbox/le-checkbox.js +192 -0
  42. package/dist/collection/components/le-checkbox/le-checkbox.js.map +1 -0
  43. package/dist/collection/components/le-component/le-component.css +189 -0
  44. package/dist/{le-kit/le-component.entry.js → collection/components/le-component/le-component.js} +141 -24
  45. package/dist/collection/components/le-component/le-component.js.map +1 -0
  46. package/dist/collection/components/le-number-input/le-number-input.css +135 -0
  47. package/dist/collection/components/le-number-input/le-number-input.js +515 -0
  48. package/dist/collection/components/le-number-input/le-number-input.js.map +1 -0
  49. package/dist/collection/components/le-popover/le-popover.css +143 -0
  50. package/dist/collection/components/le-popover/le-popover.js +693 -0
  51. package/dist/collection/components/le-popover/le-popover.js.map +1 -0
  52. package/dist/collection/components/le-popup/le-popup.api.js +101 -0
  53. package/dist/collection/components/le-popup/le-popup.api.js.map +1 -0
  54. package/dist/collection/components/le-popup/le-popup.css +222 -0
  55. package/dist/collection/components/le-popup/le-popup.js +596 -0
  56. package/dist/collection/components/le-popup/le-popup.js.map +1 -0
  57. package/dist/collection/components/le-round-progress/le-round-progress.css +34 -0
  58. package/dist/collection/components/le-round-progress/le-round-progress.js +184 -0
  59. package/dist/collection/components/le-round-progress/le-round-progress.js.map +1 -0
  60. package/dist/collection/components/le-slot/le-slot.default.css +222 -0
  61. package/dist/{le-kit/le-slot.entry.js → collection/components/le-slot/le-slot.js} +270 -20
  62. package/dist/collection/components/le-slot/le-slot.js.map +1 -0
  63. package/dist/collection/components/le-stack/le-stack.default.css +37 -0
  64. package/dist/collection/components/le-stack/le-stack.js +389 -0
  65. package/dist/collection/components/le-stack/le-stack.js.map +1 -0
  66. package/dist/collection/components/le-string-input/le-string-input.css +83 -0
  67. package/dist/collection/components/le-string-input/le-string-input.js +359 -0
  68. package/dist/collection/components/le-string-input/le-string-input.js.map +1 -0
  69. package/dist/collection/components/le-text/le-text.default.css +169 -0
  70. package/dist/collection/components/le-text/le-text.js +475 -0
  71. package/dist/collection/components/le-text/le-text.js.map +1 -0
  72. package/dist/collection/components/le-turntable/le-turntable.css +10 -0
  73. package/dist/collection/components/le-turntable/le-turntable.js +210 -0
  74. package/dist/collection/components/le-turntable/le-turntable.js.map +1 -0
  75. package/dist/collection/global/app.js +167 -0
  76. package/dist/collection/global/app.js.map +1 -0
  77. package/dist/collection/index.js +15 -0
  78. package/dist/collection/index.js.map +1 -0
  79. package/dist/collection/types/blocks.js +115 -0
  80. package/dist/collection/types/blocks.js.map +1 -0
  81. package/dist/collection/types/options.js +2 -0
  82. package/dist/collection/types/options.js.map +1 -0
  83. package/dist/collection/utils/utils.js +141 -0
  84. package/dist/collection/utils/utils.js.map +1 -0
  85. package/dist/components/index.js +127 -0
  86. package/dist/components/index.js.map +1 -0
  87. package/dist/components/le-box.js +256 -0
  88. package/dist/components/le-box.js.map +1 -0
  89. package/dist/components/le-button.js +9 -0
  90. package/dist/components/le-button.js.map +1 -0
  91. package/dist/components/le-button2.js +1446 -0
  92. package/dist/components/le-button2.js.map +1 -0
  93. package/dist/components/le-card.js +83 -0
  94. package/dist/components/le-card.js.map +1 -0
  95. package/dist/components/le-checkbox.js +9 -0
  96. package/dist/components/le-checkbox.js.map +1 -0
  97. package/dist/components/le-component.js +9 -0
  98. package/dist/components/le-component.js.map +1 -0
  99. package/dist/components/le-number-input.js +271 -0
  100. package/dist/components/le-number-input.js.map +1 -0
  101. package/dist/components/le-popover.js +9 -0
  102. package/dist/components/le-popover.js.map +1 -0
  103. package/dist/{le-kit/le-popover.entry.js → components/le-popover2.js} +45 -9
  104. package/dist/components/le-popover2.js.map +1 -0
  105. package/dist/components/le-popup.js +279 -0
  106. package/dist/components/le-popup.js.map +1 -0
  107. package/dist/components/le-round-progress.js +135 -0
  108. package/dist/components/le-round-progress.js.map +1 -0
  109. package/dist/components/le-slot.js +9 -0
  110. package/dist/components/le-slot.js.map +1 -0
  111. package/dist/components/le-stack.js +198 -0
  112. package/dist/components/le-stack.js.map +1 -0
  113. package/dist/components/le-string-input.js +9 -0
  114. package/dist/components/le-string-input.js.map +1 -0
  115. package/dist/components/le-text.js +398 -0
  116. package/dist/components/le-text.js.map +1 -0
  117. package/dist/components/le-turntable.js +164 -0
  118. package/dist/components/le-turntable.js.map +1 -0
  119. package/dist/docs.d.ts +443 -0
  120. package/dist/docs.json +5185 -0
  121. package/dist/esm/index-PS-3Rz-c.js +1818 -0
  122. package/dist/esm/index-PS-3Rz-c.js.map +1 -0
  123. package/dist/esm/index.js +106 -0
  124. package/dist/esm/index.js.map +1 -0
  125. package/dist/{le-kit → esm}/le-box.entry.js +3 -3
  126. package/dist/esm/le-box.entry.js.map +1 -0
  127. package/dist/esm/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.js.map +1 -0
  128. package/dist/esm/le-button_6.entry.js +1193 -0
  129. package/dist/{le-kit → esm}/le-card.entry.js +3 -3
  130. package/dist/esm/le-card.entry.js.map +1 -0
  131. package/dist/esm/le-kit.js +21 -0
  132. package/dist/esm/le-kit.js.map +1 -0
  133. package/dist/{le-kit → esm}/le-number-input.entry.js +5 -5
  134. package/dist/esm/le-number-input.entry.js.map +1 -0
  135. package/dist/{le-kit → esm}/le-popup.entry.js +6 -6
  136. package/dist/esm/le-popup.entry.js.map +1 -0
  137. package/dist/{le-kit → esm}/le-round-progress.entry.js +2 -2
  138. package/dist/esm/le-round-progress.entry.js.map +1 -0
  139. package/dist/{le-kit → esm}/le-stack.entry.js +3 -3
  140. package/dist/esm/le-stack.entry.js.map +1 -0
  141. package/dist/{le-kit → esm}/le-text.entry.js +3 -3
  142. package/dist/esm/le-text.entry.js.map +1 -0
  143. package/dist/{le-kit → esm}/le-turntable.entry.js +2 -2
  144. package/dist/esm/le-turntable.entry.js.map +1 -0
  145. package/dist/esm/loader.js +11 -0
  146. package/dist/esm/loader.js.map +1 -0
  147. package/dist/{le-kit/utils-FDOApZ53.js → esm/utils-lgjSfQP0.js} +3 -3
  148. package/dist/{le-kit/utils-FDOApZ53.js.map → esm/utils-lgjSfQP0.js.map} +1 -1
  149. package/dist/index.cjs.js +1 -0
  150. package/dist/index.js +1 -0
  151. package/dist/le-kit/index.esm.js +2 -116
  152. package/dist/le-kit/index.esm.js.map +1 -1
  153. package/dist/le-kit/le-button.le-checkbox.le-component.le-popover.le-slot.le-string-input.entry.esm.js.map +1 -0
  154. package/dist/le-kit/le-kit.css +1 -1010
  155. package/dist/le-kit/le-kit.esm.js +2 -48
  156. package/dist/le-kit/le-kit.esm.js.map +1 -1
  157. package/dist/le-kit/p-27710b5b.entry.js +2 -0
  158. package/dist/le-kit/p-27710b5b.entry.js.map +1 -0
  159. package/dist/le-kit/p-34102cef.entry.js +2 -0
  160. package/dist/le-kit/p-34102cef.entry.js.map +1 -0
  161. package/dist/le-kit/p-56a80e6d.entry.js +2 -0
  162. package/dist/le-kit/p-56a80e6d.entry.js.map +1 -0
  163. package/dist/le-kit/p-615ea10f.entry.js +2 -0
  164. package/dist/le-kit/p-615ea10f.entry.js.map +1 -0
  165. package/dist/le-kit/p-935bb2d4.entry.js +2 -0
  166. package/dist/le-kit/p-935bb2d4.entry.js.map +1 -0
  167. package/dist/le-kit/p-9d3dc4e5.entry.js +2 -0
  168. package/dist/le-kit/p-9d3dc4e5.entry.js.map +1 -0
  169. package/dist/le-kit/p-DN2JVY-7.js +2 -0
  170. package/dist/le-kit/p-DN2JVY-7.js.map +1 -0
  171. package/dist/le-kit/p-PS-3Rz-c.js +3 -0
  172. package/dist/le-kit/p-PS-3Rz-c.js.map +1 -0
  173. package/dist/le-kit/p-ccabc638.entry.js +2 -0
  174. package/dist/le-kit/p-ccabc638.entry.js.map +1 -0
  175. package/dist/le-kit/p-d8157b06.entry.js +2 -0
  176. package/dist/le-kit/p-d8157b06.entry.js.map +1 -0
  177. package/dist/le-kit/p-e8c2ca0e.entry.js +2 -0
  178. package/dist/le-kit/p-e8c2ca0e.entry.js.map +1 -0
  179. package/dist/themes/base.css +89 -0
  180. package/dist/themes/dark.css +100 -0
  181. package/dist/themes/default.css +108 -0
  182. package/dist/themes/gradient.css +100 -0
  183. package/dist/themes/index.css +413 -0
  184. package/dist/themes/minimal.css +100 -0
  185. package/dist/themes/warm.css +100 -0
  186. package/dist/types/components.d.ts +4 -4
  187. package/dist/types/global/app.d.ts +33 -0
  188. package/dist/types/index.d.ts +1 -1
  189. package/package.json +3 -2
  190. package/readme.md +22 -0
  191. package/dist/le-kit/index-Da-89pOc.js +0 -4522
  192. package/dist/le-kit/index-Da-89pOc.js.map +0 -1
  193. package/dist/le-kit/le-button.entry.esm.js.map +0 -1
  194. package/dist/le-kit/le-button.entry.js +0 -90
  195. package/dist/le-kit/le-checkbox.entry.esm.js.map +0 -1
  196. package/dist/le-kit/le-checkbox.entry.js +0 -59
  197. package/dist/le-kit/le-component.entry.esm.js.map +0 -1
  198. package/dist/le-kit/le-popover.entry.esm.js.map +0 -1
  199. package/dist/le-kit/le-slot.entry.esm.js.map +0 -1
  200. package/dist/le-kit/le-string-input.entry.esm.js.map +0 -1
  201. package/dist/le-kit/le-string-input.entry.js +0 -93
@@ -0,0 +1,119 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils-DrsoID-a.js');
4
+ var index = require('./index-D7B9TPh8.js');
5
+
6
+ /**
7
+ * Programmatic API for le-popup component
8
+ *
9
+ * These functions allow you to show popups without manually creating elements.
10
+ *
11
+ * @example
12
+ * // Alert
13
+ * await leAlert('Something happened!');
14
+ *
15
+ * // Confirm
16
+ * const confirmed = await leConfirm('Are you sure?');
17
+ * if (confirmed) { ... }
18
+ *
19
+ * // Prompt
20
+ * const name = await lePrompt('What is your name?');
21
+ * if (name !== null) { ... }
22
+ */
23
+ /**
24
+ * Show an alert popup with a message
25
+ * @param message - The message to display
26
+ * @param options - Optional configuration
27
+ * @returns Promise that resolves when closed
28
+ *
29
+ * @example
30
+ * await leAlert('File saved successfully!');
31
+ * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });
32
+ */
33
+ async function leAlert(message, options = {}) {
34
+ const popup = createPopupElement(message, { ...options, type: 'alert' });
35
+ document.body.appendChild(popup);
36
+ await popup.show();
37
+ popup.remove();
38
+ }
39
+ /**
40
+ * Show a confirm popup with OK/Cancel buttons
41
+ * @param message - The message to display
42
+ * @param options - Optional configuration
43
+ * @returns Promise that resolves to true (confirmed) or false (cancelled)
44
+ *
45
+ * @example
46
+ * const confirmed = await leConfirm('Delete this item?');
47
+ * if (confirmed) {
48
+ * deleteItem();
49
+ * }
50
+ */
51
+ async function leConfirm(message, options = {}) {
52
+ const popup = createPopupElement(message, { ...options, type: 'confirm' });
53
+ document.body.appendChild(popup);
54
+ const result = await popup.show();
55
+ popup.remove();
56
+ return result.confirmed;
57
+ }
58
+ /**
59
+ * Show a prompt popup with an input field
60
+ * @param message - The message to display
61
+ * @param options - Optional configuration (including defaultValue, placeholder)
62
+ * @returns Promise that resolves to the input value or null if cancelled
63
+ *
64
+ * @example
65
+ * const name = await lePrompt('Enter your name:', {
66
+ * title: 'Welcome',
67
+ * placeholder: 'John Doe',
68
+ * defaultValue: 'Guest'
69
+ * });
70
+ * if (name !== null) {
71
+ * greetUser(name);
72
+ * }
73
+ */
74
+ async function lePrompt(message, options = {}) {
75
+ const popup = createPopupElement(message, { ...options, type: 'prompt' });
76
+ document.body.appendChild(popup);
77
+ const result = await popup.show();
78
+ popup.remove();
79
+ return result.confirmed ? (result.value ?? '') : null;
80
+ }
81
+ /**
82
+ * Create a popup element with the given configuration
83
+ */
84
+ function createPopupElement(message, options) {
85
+ const popup = document.createElement('le-popup');
86
+ popup.message = message;
87
+ popup.type = options.type || 'alert';
88
+ if (options.title)
89
+ popup.popupTitle = options.title;
90
+ if (options.modal !== undefined)
91
+ popup.modal = options.modal;
92
+ if (options.position)
93
+ popup.position = options.position;
94
+ if (options.confirmText)
95
+ popup.confirmText = options.confirmText;
96
+ if (options.cancelText)
97
+ popup.cancelText = options.cancelText;
98
+ if (options.placeholder)
99
+ popup.placeholder = options.placeholder;
100
+ if (options.defaultValue)
101
+ popup.defaultValue = options.defaultValue;
102
+ if (options.theme)
103
+ popup.setAttribute('theme', options.theme);
104
+ return popup;
105
+ }
106
+
107
+ exports.generateId = utils.generateId;
108
+ exports.parseCommaSeparated = utils.parseCommaSeparated;
109
+ exports.slotHasContent = utils.slotHasContent;
110
+ exports.configureLeki = index.configureLeki;
111
+ exports.getLeKitConfig = index.getLeKitConfig;
112
+ exports.getMode = index.getMode;
113
+ exports.getTheme = index.getTheme;
114
+ exports.setGlobalMode = index.setGlobalMode;
115
+ exports.setGlobalTheme = index.setGlobalTheme;
116
+ exports.leAlert = leAlert;
117
+ exports.leConfirm = leConfirm;
118
+ exports.lePrompt = lePrompt;
119
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["src/components/le-popup/le-popup.api.ts"],"sourcesContent":["/**\n * Programmatic API for le-popup component\n * \n * These functions allow you to show popups without manually creating elements.\n * \n * @example\n * // Alert\n * await leAlert('Something happened!');\n * \n * // Confirm\n * const confirmed = await leConfirm('Are you sure?');\n * if (confirmed) { ... }\n * \n * // Prompt\n * const name = await lePrompt('What is your name?');\n * if (name !== null) { ... }\n */\n\nimport type { PopupType, PopupPosition, PopupResult } from './le-popup';\n\n/**\n * Options for programmatic popup functions\n */\nexport interface PopupOptions {\n title?: string;\n type?: PopupType;\n modal?: boolean;\n position?: PopupPosition;\n confirmText?: string;\n cancelText?: string;\n placeholder?: string;\n defaultValue?: string;\n theme?: string;\n}\n\n/**\n * Interface for the le-popup custom element\n */\ninterface HTMLLePopupElement extends HTMLElement {\n open: boolean;\n type: PopupType;\n popupTitle?: string;\n message?: string;\n modal: boolean;\n position: PopupPosition;\n confirmText: string;\n cancelText: string;\n placeholder: string;\n defaultValue: string;\n show(): Promise<PopupResult>;\n hide(confirmed?: boolean): Promise<void>;\n}\n\n/**\n * Show an alert popup with a message\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves when closed\n * \n * @example\n * await leAlert('File saved successfully!');\n * await leAlert('Error occurred', { title: 'Error', theme: 'dark' });\n */\nexport async function leAlert(message: string, options: PopupOptions = {}): Promise<void> {\n const popup = createPopupElement(message, { ...options, type: 'alert' });\n document.body.appendChild(popup);\n \n await popup.show();\n popup.remove();\n}\n\n/**\n * Show a confirm popup with OK/Cancel buttons\n * @param message - The message to display\n * @param options - Optional configuration\n * @returns Promise that resolves to true (confirmed) or false (cancelled)\n * \n * @example\n * const confirmed = await leConfirm('Delete this item?');\n * if (confirmed) {\n * deleteItem();\n * }\n */\nexport async function leConfirm(message: string, options: PopupOptions = {}): Promise<boolean> {\n const popup = createPopupElement(message, { ...options, type: 'confirm' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed;\n}\n\n/**\n * Show a prompt popup with an input field\n * @param message - The message to display\n * @param options - Optional configuration (including defaultValue, placeholder)\n * @returns Promise that resolves to the input value or null if cancelled\n * \n * @example\n * const name = await lePrompt('Enter your name:', { \n * title: 'Welcome',\n * placeholder: 'John Doe',\n * defaultValue: 'Guest'\n * });\n * if (name !== null) {\n * greetUser(name);\n * }\n */\nexport async function lePrompt(message: string, options: PopupOptions = {}): Promise<string | null> {\n const popup = createPopupElement(message, { ...options, type: 'prompt' });\n document.body.appendChild(popup);\n \n const result = await popup.show();\n popup.remove();\n \n return result.confirmed ? (result.value ?? '') : null;\n}\n\n/**\n * Create a popup element with the given configuration\n */\nfunction createPopupElement(message: string, options: PopupOptions): HTMLLePopupElement {\n const popup = document.createElement('le-popup') as HTMLLePopupElement;\n \n popup.message = message;\n popup.type = options.type || 'alert';\n \n if (options.title) popup.popupTitle = options.title;\n if (options.modal !== undefined) popup.modal = options.modal;\n if (options.position) popup.position = options.position;\n if (options.confirmText) popup.confirmText = options.confirmText;\n if (options.cancelText) popup.cancelText = options.cancelText;\n if (options.placeholder) popup.placeholder = options.placeholder;\n if (options.defaultValue) popup.defaultValue = options.defaultValue;\n if (options.theme) popup.setAttribute('theme', options.theme);\n \n return popup;\n}\n"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;;;;;;AAgBG;AAqCH;;;;;;;;;AASG;AACI,eAAe,OAAO,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACvE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACxE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,KAAK,CAAC,IAAI,EAAE;IAClB,KAAK,CAAC,MAAM,EAAE;AAChB;AAEA;;;;;;;;;;;AAWG;AACI,eAAe,SAAS,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACzE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1E,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;IAEd,OAAO,MAAM,CAAC,SAAS;AACzB;AAEA;;;;;;;;;;;;;;;AAeG;AACI,eAAe,QAAQ,CAAC,OAAe,EAAE,UAAwB,EAAE,EAAA;AACxE,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzE,IAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEhC,IAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;IACjC,KAAK,CAAC,MAAM,EAAE;AAEd,IAAA,OAAO,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI;AACvD;AAEA;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,OAAqB,EAAA;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAuB;AAEtE,IAAA,KAAK,CAAC,OAAO,GAAG,OAAO;IACvB,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO;IAEpC,IAAI,OAAO,CAAC,KAAK;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK;AACnD,IAAA,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;AAAE,QAAA,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;IAC5D,IAAI,OAAO,CAAC,QAAQ;AAAE,QAAA,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACvD,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,UAAU;AAAE,QAAA,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;IAC7D,IAAI,OAAO,CAAC,WAAW;AAAE,QAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW;IAChE,IAAI,OAAO,CAAC,YAAY;AAAE,QAAA,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY;IACnE,IAAI,OAAO,CAAC,KAAK;QAAE,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;AAE7D,IAAA,OAAO,KAAK;AACd;;;;;;;;;;;;;;;"}
@@ -0,0 +1,184 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-D7B9TPh8.js');
4
+ var utils = require('./utils-DrsoID-a.js');
5
+
6
+ const leBoxDefaultCss = ":host{display:block;box-sizing:border-box}:host([hidden]){display:none}.box{width:100%;height:100%;box-sizing:border-box}.content{width:100%;height:100%;box-sizing:border-box;background:var(--le-box-bg, transparent);border-radius:var(--le-box-border-radius, 0);padding:var(--le-box-padding, 0)}:host(.display-flex) .content{min-height:100%}";
7
+
8
+ const LeBox = class {
9
+ constructor(hostRef) {
10
+ index.registerInstance(this, hostRef);
11
+ }
12
+ get el() { return index.getElement(this); }
13
+ /**
14
+ * Flex grow factor - how much the item should grow relative to siblings
15
+ * @min 0
16
+ */
17
+ grow = 0;
18
+ /**
19
+ * Flex shrink factor - how much the item should shrink relative to siblings
20
+ * @min 0
21
+ */
22
+ shrink = 1;
23
+ /**
24
+ * Flex basis - initial size before growing/shrinking (e.g., '200px', '25%', 'auto')
25
+ */
26
+ basis = 'auto';
27
+ /**
28
+ * Width of the box (CSS value like '100px', '50%', 'auto')
29
+ */
30
+ width;
31
+ /**
32
+ * Height of the box (CSS value)
33
+ */
34
+ height;
35
+ /**
36
+ * Minimum width constraint
37
+ */
38
+ minWidth;
39
+ /**
40
+ * Maximum width constraint
41
+ */
42
+ maxWidth;
43
+ /**
44
+ * Minimum height constraint
45
+ */
46
+ minHeight;
47
+ /**
48
+ * Maximum height constraint
49
+ */
50
+ maxHeight;
51
+ /**
52
+ * Background color or CSS value (e.g., '#f0f0f0', 'var(--le-color-primary-light)')
53
+ */
54
+ background;
55
+ /**
56
+ * Border radius (e.g., '8px', 'var(--le-radius-md)')
57
+ */
58
+ borderRadius;
59
+ /**
60
+ * Border style (e.g., '1px solid #ccc', '2px dashed var(--le-color-border)')
61
+ */
62
+ border;
63
+ /**
64
+ * Self-alignment override for this item on the cross axis
65
+ * @allowedValues auto | start | center | end | stretch | baseline
66
+ */
67
+ alignSelf = 'auto';
68
+ /**
69
+ * Internal horizontal alignment of content
70
+ * @allowedValues start | center | end | stretch
71
+ */
72
+ alignContent = 'stretch';
73
+ /**
74
+ * Internal vertical alignment of content
75
+ * @allowedValues start | center | end | stretch
76
+ */
77
+ justifyContent = 'start';
78
+ /**
79
+ * Padding inside the box (CSS value like '8px', '1rem')
80
+ */
81
+ padding;
82
+ /**
83
+ * Order in the flex container (lower values come first)
84
+ */
85
+ order;
86
+ /**
87
+ * Whether to display box content as flex (for internal alignment)
88
+ */
89
+ displayFlex = false;
90
+ /**
91
+ * Direction of internal flex layout when displayFlex is true
92
+ * @allowedValues horizontal | vertical
93
+ */
94
+ innerDirection = 'vertical';
95
+ /**
96
+ * Gap between internal flex items when displayFlex is true
97
+ */
98
+ innerGap;
99
+ getAlignSelf() {
100
+ const alignMap = {
101
+ auto: 'auto',
102
+ start: 'flex-start',
103
+ center: 'center',
104
+ end: 'flex-end',
105
+ stretch: 'stretch',
106
+ baseline: 'baseline',
107
+ };
108
+ return alignMap[this.alignSelf] || 'auto';
109
+ }
110
+ getContentAlign() {
111
+ const alignMap = {
112
+ start: 'flex-start',
113
+ center: 'center',
114
+ end: 'flex-end',
115
+ stretch: 'stretch',
116
+ };
117
+ return alignMap[this.alignContent] || 'stretch';
118
+ }
119
+ getContentJustify() {
120
+ const justifyMap = {
121
+ start: 'flex-start',
122
+ center: 'center',
123
+ end: 'flex-end',
124
+ stretch: 'stretch',
125
+ };
126
+ return justifyMap[this.justifyContent] || 'flex-start';
127
+ }
128
+ render() {
129
+ // Host styles for flex item behavior
130
+ const hostStyle = {
131
+ flexGrow: String(this.grow),
132
+ flexShrink: String(this.shrink),
133
+ flexBasis: this.basis,
134
+ alignSelf: this.getAlignSelf(),
135
+ };
136
+ if (this.width)
137
+ hostStyle.width = this.width;
138
+ if (this.height)
139
+ hostStyle.height = this.height;
140
+ if (this.minWidth)
141
+ hostStyle.minWidth = this.minWidth;
142
+ if (this.maxWidth)
143
+ hostStyle.maxWidth = this.maxWidth;
144
+ if (this.minHeight)
145
+ hostStyle.minHeight = this.minHeight;
146
+ if (this.maxHeight)
147
+ hostStyle.maxHeight = this.maxHeight;
148
+ if (this.order !== undefined)
149
+ hostStyle.order = String(this.order);
150
+ // Inner content styles
151
+ const contentStyle = {};
152
+ if (this.padding) {
153
+ contentStyle.padding = this.padding;
154
+ }
155
+ if (this.background) {
156
+ contentStyle.background = this.background;
157
+ }
158
+ if (this.borderRadius) {
159
+ contentStyle.borderRadius = this.borderRadius;
160
+ }
161
+ if (this.border) {
162
+ contentStyle.border = this.border;
163
+ }
164
+ if (this.displayFlex) {
165
+ contentStyle.display = 'flex';
166
+ contentStyle.flexDirection = this.innerDirection === 'vertical' ? 'column' : 'row';
167
+ contentStyle.alignItems = this.getContentAlign();
168
+ contentStyle.justifyContent = this.getContentJustify();
169
+ if (this.innerGap) {
170
+ contentStyle.gap = this.innerGap;
171
+ }
172
+ }
173
+ const hostClass = utils.classnames({
174
+ 'has-grow': this.grow > 0,
175
+ 'display-flex': this.displayFlex,
176
+ [`inner-${this.innerDirection}`]: this.displayFlex,
177
+ });
178
+ return (index.h(index.Host, { key: '8d71daaa3a1f34cf1b5fa3afe4f788d974d14dde', style: hostStyle, class: hostClass }, index.h("le-component", { key: '350393fef2159c40de43792502545ba93e0ec84c', component: "le-box" }, index.h("div", { key: '425be85bce62b600a383e164a847a2f0622496bd', class: "box", part: "box" }, index.h("div", { key: '104275e435d64a76428b5934aa0ece7ae3284cd8', class: "content", part: "content", style: contentStyle }, index.h("le-slot", { key: '7655d6bd5140ffcac514b266b4ca2f790a44e8ae', name: "", description: "Content inside this flex item", type: "slot", "allowed-components": "le-text,le-card,le-button,le-stack,le-box" }, index.h("slot", { key: '47efcfcc9b9efe5283fa8f558026b3b13ea5b959' })))))));
179
+ }
180
+ };
181
+ LeBox.style = leBoxDefaultCss;
182
+
183
+ exports.le_box = LeBox;
184
+ //# sourceMappingURL=le-box.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"le-box.entry.cjs.js","sources":["src/components/le-box/le-box.default.css?tag=le-box&encapsulation=shadow","src/components/le-box/le-box.tsx"],"sourcesContent":["/**\n * le-box default styles\n *\n * Flex item properties are applied inline via hostStyle.\n * This CSS handles visual styling and theming.\n */\n\n:host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/* Box container - full size by default */\n.box {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n\n/* Content wrapper */\n.content {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n background: var(--le-box-bg, transparent);\n border-radius: var(--le-box-border-radius, 0);\n padding: var(--le-box-padding, 0);\n}\n\n/* When displayFlex is enabled, ensure content stretches */\n:host(.display-flex) .content {\n min-height: 100%;\n}\n","import { Component, Prop, h, Element, Host } from '@stencil/core';\nimport { classnames } from '../../utils/utils';\n\n/**\n * A flexible box component for use as a flex item within le-stack.\n *\n * `le-box` wraps content and provides flex item properties like grow, shrink,\n * basis, and self-alignment. It can also control its internal content alignment.\n *\n * @slot - Default slot for box content\n *\n * @cssprop --le-box-bg - Background color\n * @cssprop --le-box-padding - Padding inside the box\n * @cssprop --le-box-border-radius - Border radius\n *\n * @csspart box - The main box container\n * @csspart content - The inner content wrapper\n *\n * @cmsEditable true\n * @cmsCategory Layout\n */\n@Component({\n tag: 'le-box',\n styleUrl: 'le-box.default.css',\n shadow: true,\n})\nexport class LeBox {\n @Element() el: HTMLElement;\n\n /**\n * Flex grow factor - how much the item should grow relative to siblings\n * @min 0\n */\n @Prop() grow: number = 0;\n\n /**\n * Flex shrink factor - how much the item should shrink relative to siblings\n * @min 0\n */\n @Prop() shrink: number = 1;\n\n /**\n * Flex basis - initial size before growing/shrinking (e.g., '200px', '25%', 'auto')\n */\n @Prop() basis: string = 'auto';\n\n /**\n * Width of the box (CSS value like '100px', '50%', 'auto')\n */\n @Prop() width?: string;\n\n /**\n * Height of the box (CSS value)\n */\n @Prop() height?: string;\n\n /**\n * Minimum width constraint\n */\n @Prop() minWidth?: string;\n\n /**\n * Maximum width constraint\n */\n @Prop() maxWidth?: string;\n\n /**\n * Minimum height constraint\n */\n @Prop() minHeight?: string;\n\n /**\n * Maximum height constraint\n */\n @Prop() maxHeight?: string;\n\n /**\n * Background color or CSS value (e.g., '#f0f0f0', 'var(--le-color-primary-light)')\n */\n @Prop() background?: string;\n\n /**\n * Border radius (e.g., '8px', 'var(--le-radius-md)')\n */\n @Prop() borderRadius?: string;\n\n /**\n * Border style (e.g., '1px solid #ccc', '2px dashed var(--le-color-border)')\n */\n @Prop() border?: string;\n\n /**\n * Self-alignment override for this item on the cross axis\n * @allowedValues auto | start | center | end | stretch | baseline\n */\n @Prop() alignSelf: 'auto' | 'start' | 'center' | 'end' | 'stretch' | 'baseline' = 'auto';\n\n /**\n * Internal horizontal alignment of content\n * @allowedValues start | center | end | stretch\n */\n @Prop() alignContent: 'start' | 'center' | 'end' | 'stretch' = 'stretch';\n\n /**\n * Internal vertical alignment of content\n * @allowedValues start | center | end | stretch\n */\n @Prop() justifyContent: 'start' | 'center' | 'end' | 'stretch' = 'start';\n\n /**\n * Padding inside the box (CSS value like '8px', '1rem')\n */\n @Prop() padding?: string;\n\n /**\n * Order in the flex container (lower values come first)\n */\n @Prop() order?: number;\n\n /**\n * Whether to display box content as flex (for internal alignment)\n */\n @Prop() displayFlex: boolean = false;\n\n /**\n * Direction of internal flex layout when displayFlex is true\n * @allowedValues horizontal | vertical\n */\n @Prop() innerDirection: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Gap between internal flex items when displayFlex is true\n */\n @Prop() innerGap?: string;\n\n private getAlignSelf(): string {\n const alignMap: Record<string, string> = {\n auto: 'auto',\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n return alignMap[this.alignSelf] || 'auto';\n }\n\n private getContentAlign(): string {\n const alignMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n };\n return alignMap[this.alignContent] || 'stretch';\n }\n\n private getContentJustify(): string {\n const justifyMap: Record<string, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n };\n return justifyMap[this.justifyContent] || 'flex-start';\n }\n\n render() {\n // Host styles for flex item behavior\n const hostStyle: { [key: string]: string } = {\n flexGrow: String(this.grow),\n flexShrink: String(this.shrink),\n flexBasis: this.basis,\n alignSelf: this.getAlignSelf(),\n };\n\n if (this.width) hostStyle.width = this.width;\n if (this.height) hostStyle.height = this.height;\n if (this.minWidth) hostStyle.minWidth = this.minWidth;\n if (this.maxWidth) hostStyle.maxWidth = this.maxWidth;\n if (this.minHeight) hostStyle.minHeight = this.minHeight;\n if (this.maxHeight) hostStyle.maxHeight = this.maxHeight;\n if (this.order !== undefined) hostStyle.order = String(this.order);\n\n // Inner content styles\n const contentStyle: { [key: string]: string } = {};\n\n if (this.padding) {\n contentStyle.padding = this.padding;\n }\n if (this.background) {\n contentStyle.background = this.background;\n }\n if (this.borderRadius) {\n contentStyle.borderRadius = this.borderRadius;\n }\n if (this.border) {\n contentStyle.border = this.border;\n }\n\n if (this.displayFlex) {\n contentStyle.display = 'flex';\n contentStyle.flexDirection = this.innerDirection === 'vertical' ? 'column' : 'row';\n contentStyle.alignItems = this.getContentAlign();\n contentStyle.justifyContent = this.getContentJustify();\n if (this.innerGap) {\n contentStyle.gap = this.innerGap;\n }\n }\n\n const hostClass = classnames({\n 'has-grow': this.grow > 0,\n 'display-flex': this.displayFlex,\n [`inner-${this.innerDirection}`]: this.displayFlex,\n });\n\n return (\n <Host style={hostStyle} class={hostClass}>\n <le-component component=\"le-box\">\n <div class=\"box\" part=\"box\">\n <div class=\"content\" part=\"content\" style={contentStyle}>\n <le-slot\n name=\"\"\n description=\"Content inside this flex item\"\n type=\"slot\"\n allowed-components=\"le-text,le-card,le-button,le-stack,le-box\"\n >\n <slot></slot>\n </le-slot>\n </div>\n </div>\n </le-component>\n </Host>\n );\n }\n}\n"],"names":["classnames","h","Host"],"mappings":"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"}