aeico-components 0.1.7 → 0.1.8

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 (349) hide show
  1. package/dist/alert.cjs +637 -4
  2. package/dist/alert.cjs.map +7 -1
  3. package/dist/alert.js +575 -3
  4. package/dist/alert.js.map +7 -1
  5. package/dist/badge.cjs +573 -4
  6. package/dist/badge.cjs.map +7 -1
  7. package/dist/badge.js +510 -3
  8. package/dist/badge.js.map +7 -1
  9. package/dist/breadcrumb.cjs +709 -5
  10. package/dist/breadcrumb.cjs.map +7 -1
  11. package/dist/breadcrumb.js +644 -4
  12. package/dist/breadcrumb.js.map +7 -1
  13. package/dist/button-group.cjs +546 -4
  14. package/dist/button-group.cjs.map +7 -1
  15. package/dist/button-group.js +489 -3
  16. package/dist/button-group.js.map +7 -1
  17. package/dist/button.cjs +834 -4
  18. package/dist/button.cjs.map +7 -1
  19. package/dist/button.js +771 -3
  20. package/dist/button.js.map +7 -1
  21. package/dist/card.cjs +574 -4
  22. package/dist/card.cjs.map +7 -1
  23. package/dist/card.js +516 -3
  24. package/dist/card.js.map +7 -1
  25. package/dist/checkbox.cjs +867 -4
  26. package/dist/checkbox.cjs.map +7 -1
  27. package/dist/checkbox.js +794 -3
  28. package/dist/checkbox.js.map +7 -1
  29. package/dist/copy-button.cjs +1046 -4
  30. package/dist/copy-button.cjs.map +7 -1
  31. package/dist/copy-button.js +969 -3
  32. package/dist/copy-button.js.map +7 -1
  33. package/dist/detail-group.cjs +531 -4
  34. package/dist/detail-group.cjs.map +7 -1
  35. package/dist/detail-group.js +474 -3
  36. package/dist/detail-group.js.map +7 -1
  37. package/dist/detail.cjs +627 -4
  38. package/dist/detail.cjs.map +7 -1
  39. package/dist/detail.js +569 -3
  40. package/dist/detail.js.map +7 -1
  41. package/dist/dialog.cjs +738 -4
  42. package/dist/dialog.cjs.map +7 -1
  43. package/dist/dialog.js +665 -3
  44. package/dist/dialog.js.map +7 -1
  45. package/dist/divider.cjs +558 -4
  46. package/dist/divider.cjs.map +7 -1
  47. package/dist/divider.js +502 -3
  48. package/dist/divider.js.map +7 -1
  49. package/dist/drawer.cjs +818 -4
  50. package/dist/drawer.cjs.map +7 -1
  51. package/dist/drawer.js +749 -3
  52. package/dist/drawer.js.map +7 -1
  53. package/dist/dropdown.cjs +1396 -5
  54. package/dist/dropdown.cjs.map +7 -1
  55. package/dist/dropdown.js +1316 -4
  56. package/dist/dropdown.js.map +7 -1
  57. package/dist/icon-button.cjs +999 -4
  58. package/dist/icon-button.cjs.map +7 -1
  59. package/dist/icon-button.js +930 -3
  60. package/dist/icon-button.js.map +7 -1
  61. package/dist/icon.cjs +613 -4
  62. package/dist/icon.cjs.map +7 -1
  63. package/dist/icon.js +547 -3
  64. package/dist/icon.js.map +7 -1
  65. package/dist/index.cjs +6532 -74
  66. package/dist/index.cjs.map +7 -1
  67. package/dist/index.js +6183 -73
  68. package/dist/index.js.map +7 -1
  69. package/dist/menu.cjs +841 -4
  70. package/dist/menu.cjs.map +7 -1
  71. package/dist/menu.js +785 -3
  72. package/dist/menu.js.map +7 -1
  73. package/dist/navbar.cjs +622 -4
  74. package/dist/navbar.cjs.map +7 -1
  75. package/dist/navbar.js +564 -3
  76. package/dist/navbar.js.map +7 -1
  77. package/dist/number-input.cjs +885 -4
  78. package/dist/number-input.cjs.map +7 -1
  79. package/dist/number-input.js +817 -3
  80. package/dist/number-input.js.map +7 -1
  81. package/dist/pagination.cjs +1099 -4
  82. package/dist/pagination.cjs.map +7 -1
  83. package/dist/pagination.js +1029 -3
  84. package/dist/pagination.js.map +7 -1
  85. package/dist/progress-bar.cjs +581 -4
  86. package/dist/progress-bar.cjs.map +7 -1
  87. package/dist/progress-bar.js +525 -3
  88. package/dist/progress-bar.js.map +7 -1
  89. package/dist/radio-group.cjs +973 -5
  90. package/dist/radio-group.cjs.map +7 -1
  91. package/dist/radio-group.js +899 -4
  92. package/dist/radio-group.js.map +7 -1
  93. package/dist/select.cjs +1242 -45
  94. package/dist/select.cjs.map +7 -1
  95. package/dist/select.js +1159 -44
  96. package/dist/select.js.map +7 -1
  97. package/dist/slider.cjs +1420 -4
  98. package/dist/slider.cjs.map +7 -1
  99. package/dist/slider.js +1351 -3
  100. package/dist/slider.js.map +7 -1
  101. package/dist/spinner.cjs +587 -4
  102. package/dist/spinner.cjs.map +7 -1
  103. package/dist/spinner.js +528 -3
  104. package/dist/spinner.js.map +7 -1
  105. package/dist/styles/layout.cjs +1 -0
  106. package/dist/styles/layout.js +1 -0
  107. package/dist/styles/radius.cjs +1 -0
  108. package/dist/styles/radius.js +1 -0
  109. package/dist/styles/variables.cjs +1 -0
  110. package/dist/styles/variables.js +1 -0
  111. package/dist/switch.cjs +1092 -4
  112. package/dist/switch.cjs.map +7 -1
  113. package/dist/switch.js +1013 -3
  114. package/dist/switch.js.map +7 -1
  115. package/dist/tabs.cjs +660 -6
  116. package/dist/tabs.cjs.map +7 -1
  117. package/dist/tabs.js +591 -5
  118. package/dist/tabs.js.map +7 -1
  119. package/dist/tag.cjs +591 -3
  120. package/dist/tag.cjs.map +7 -1
  121. package/dist/tag.js +532 -2
  122. package/dist/tag.js.map +7 -1
  123. package/dist/text-input.cjs +829 -4
  124. package/dist/text-input.cjs.map +7 -1
  125. package/dist/text-input.js +761 -3
  126. package/dist/text-input.js.map +7 -1
  127. package/dist/textarea.cjs +914 -3
  128. package/dist/textarea.cjs.map +7 -1
  129. package/dist/textarea.js +854 -2
  130. package/dist/textarea.js.map +7 -1
  131. package/dist/tooltip.cjs +764 -4
  132. package/dist/tooltip.cjs.map +7 -1
  133. package/dist/tooltip.js +711 -3
  134. package/dist/tooltip.js.map +7 -1
  135. package/dist/tree.cjs +1059 -4
  136. package/dist/tree.cjs.map +7 -1
  137. package/dist/tree.js +985 -3
  138. package/dist/tree.js.map +7 -1
  139. package/dist/types/dialog/dialog.d.ts +1 -0
  140. package/dist/types/drawer/drawer.d.ts +2 -0
  141. package/dist/types/icon/defines.d.ts +2 -0
  142. package/dist/types/menu/defines.d.ts +1 -0
  143. package/dist/types/menu/menu-item.d.ts +1 -0
  144. package/dist/types/menu/menu.d.ts +1 -0
  145. package/dist/types/styles/layout.d.ts +2 -0
  146. package/dist/types/styles/radius.d.ts +2 -0
  147. package/dist/types/styles/variables.d.ts +2 -0
  148. package/package.json +31 -7
  149. package/src/alert/alert.ts +3 -3
  150. package/src/badge/badge.ts +4 -4
  151. package/src/breadcrumb/breadcrumb-item.ts +2 -2
  152. package/src/breadcrumb/breadcrumb.ts +3 -3
  153. package/src/button/button.ts +4 -4
  154. package/src/button-group/button-group.ts +8 -9
  155. package/src/card/card.ts +3 -3
  156. package/src/checkbox/checkbox.ts +6 -6
  157. package/src/copy-button/copy-button.ts +4 -4
  158. package/src/detail/detail.ts +3 -3
  159. package/src/detail-group/detail-group.ts +2 -2
  160. package/src/dialog/dialog.ts +15 -14
  161. package/src/divider/divider.ts +3 -3
  162. package/src/drawer/drawer.ts +28 -11
  163. package/src/dropdown/dropdown-item.ts +2 -2
  164. package/src/dropdown/dropdown.ts +2 -2
  165. package/src/icon/defines.ts +2 -0
  166. package/src/icon/icon.ts +4 -4
  167. package/src/menu/defines.ts +1 -0
  168. package/src/menu/menu-item.ts +14 -4
  169. package/src/menu/menu.ts +5 -2
  170. package/src/navbar/navbar.ts +3 -3
  171. package/src/number-input/number-input.ts +5 -5
  172. package/src/pagination/pagination.ts +3 -3
  173. package/src/progress-bar/progress-bar.ts +3 -3
  174. package/src/radio-group/radio-group.ts +12 -8
  175. package/src/select/select-option.ts +2 -2
  176. package/src/select/select.ts +5 -5
  177. package/src/slider/slider.ts +6 -6
  178. package/src/spinner/spinner.ts +4 -4
  179. package/src/styles/components/button-group.css +2 -0
  180. package/src/styles/components/card.css +42 -18
  181. package/src/styles/components/checkbox.css +16 -5
  182. package/src/styles/components/dialog.css +1 -1
  183. package/src/styles/components/drawer.css +50 -9
  184. package/src/styles/components/field-label.css +1 -1
  185. package/src/styles/components/menu-item.css +6 -0
  186. package/src/styles/components/navbar.css +7 -28
  187. package/src/styles/components/radio-group.css +19 -0
  188. package/src/styles/components/slider.css +30 -5
  189. package/src/styles/components/switch.css +16 -2
  190. package/src/styles/layout.css +5 -2
  191. package/src/styles/radius.css +15 -0
  192. package/src/switch/switch.ts +6 -6
  193. package/src/tabs/tab-panel.ts +1 -1
  194. package/src/tabs/tab.ts +1 -1
  195. package/src/tabs/tabs.ts +2 -2
  196. package/src/tag/tag.ts +4 -4
  197. package/src/text-input/text-input.ts +5 -5
  198. package/src/textarea/textarea.ts +5 -5
  199. package/src/tooltip/tooltip.ts +2 -2
  200. package/src/tree/tree-item.ts +2 -2
  201. package/src/tree/tree.ts +2 -2
  202. package/dist/chunks/action-button.cjs +0 -296
  203. package/dist/chunks/action-button.cjs.map +0 -1
  204. package/dist/chunks/action-button.js +0 -297
  205. package/dist/chunks/action-button.js.map +0 -1
  206. package/dist/chunks/aeico-component.cjs +0 -17
  207. package/dist/chunks/aeico-component.cjs.map +0 -1
  208. package/dist/chunks/aeico-component.js +0 -18
  209. package/dist/chunks/aeico-component.js.map +0 -1
  210. package/dist/chunks/alert.cjs +0 -164
  211. package/dist/chunks/alert.cjs.map +0 -1
  212. package/dist/chunks/alert.js +0 -165
  213. package/dist/chunks/alert.js.map +0 -1
  214. package/dist/chunks/badge.cjs +0 -85
  215. package/dist/chunks/badge.cjs.map +0 -1
  216. package/dist/chunks/badge.js +0 -86
  217. package/dist/chunks/badge.js.map +0 -1
  218. package/dist/chunks/breadcrumb-item.cjs +0 -261
  219. package/dist/chunks/breadcrumb-item.cjs.map +0 -1
  220. package/dist/chunks/breadcrumb-item.js +0 -262
  221. package/dist/chunks/breadcrumb-item.js.map +0 -1
  222. package/dist/chunks/button-group.cjs +0 -79
  223. package/dist/chunks/button-group.cjs.map +0 -1
  224. package/dist/chunks/button-group.js +0 -80
  225. package/dist/chunks/button-group.js.map +0 -1
  226. package/dist/chunks/button.cjs +0 -337
  227. package/dist/chunks/button.cjs.map +0 -1
  228. package/dist/chunks/button.js +0 -338
  229. package/dist/chunks/button.js.map +0 -1
  230. package/dist/chunks/card.cjs +0 -93
  231. package/dist/chunks/card.cjs.map +0 -1
  232. package/dist/chunks/card.js +0 -94
  233. package/dist/chunks/card.js.map +0 -1
  234. package/dist/chunks/checkbox.cjs +0 -86
  235. package/dist/chunks/checkbox.cjs.map +0 -1
  236. package/dist/chunks/checkbox.js +0 -87
  237. package/dist/chunks/checkbox.js.map +0 -1
  238. package/dist/chunks/color.cjs +0 -4
  239. package/dist/chunks/color.cjs.map +0 -1
  240. package/dist/chunks/color.js +0 -5
  241. package/dist/chunks/color.js.map +0 -1
  242. package/dist/chunks/copy-button.cjs +0 -171
  243. package/dist/chunks/copy-button.cjs.map +0 -1
  244. package/dist/chunks/copy-button.js +0 -172
  245. package/dist/chunks/copy-button.js.map +0 -1
  246. package/dist/chunks/detail-group.cjs +0 -65
  247. package/dist/chunks/detail-group.cjs.map +0 -1
  248. package/dist/chunks/detail-group.js +0 -66
  249. package/dist/chunks/detail-group.js.map +0 -1
  250. package/dist/chunks/detail.cjs +0 -146
  251. package/dist/chunks/detail.cjs.map +0 -1
  252. package/dist/chunks/detail.js +0 -147
  253. package/dist/chunks/detail.js.map +0 -1
  254. package/dist/chunks/dialog.cjs +0 -117
  255. package/dist/chunks/dialog.cjs.map +0 -1
  256. package/dist/chunks/dialog.js +0 -118
  257. package/dist/chunks/dialog.js.map +0 -1
  258. package/dist/chunks/divider.cjs +0 -80
  259. package/dist/chunks/divider.cjs.map +0 -1
  260. package/dist/chunks/divider.js +0 -81
  261. package/dist/chunks/divider.js.map +0 -1
  262. package/dist/chunks/drawer.cjs +0 -180
  263. package/dist/chunks/drawer.cjs.map +0 -1
  264. package/dist/chunks/drawer.js +0 -181
  265. package/dist/chunks/drawer.js.map +0 -1
  266. package/dist/chunks/dropdown-button.cjs +0 -533
  267. package/dist/chunks/dropdown-button.cjs.map +0 -1
  268. package/dist/chunks/dropdown-button.js +0 -534
  269. package/dist/chunks/dropdown-button.js.map +0 -1
  270. package/dist/chunks/icon-button.cjs +0 -35
  271. package/dist/chunks/icon-button.cjs.map +0 -1
  272. package/dist/chunks/icon-button.js +0 -36
  273. package/dist/chunks/icon-button.js.map +0 -1
  274. package/dist/chunks/icon.cjs +0 -124
  275. package/dist/chunks/icon.cjs.map +0 -1
  276. package/dist/chunks/icon.js +0 -125
  277. package/dist/chunks/icon.js.map +0 -1
  278. package/dist/chunks/menu.cjs +0 -396
  279. package/dist/chunks/menu.cjs.map +0 -1
  280. package/dist/chunks/menu.js +0 -397
  281. package/dist/chunks/menu.js.map +0 -1
  282. package/dist/chunks/navbar.cjs +0 -142
  283. package/dist/chunks/navbar.cjs.map +0 -1
  284. package/dist/chunks/navbar.js +0 -143
  285. package/dist/chunks/navbar.js.map +0 -1
  286. package/dist/chunks/number-input.cjs +0 -110
  287. package/dist/chunks/number-input.cjs.map +0 -1
  288. package/dist/chunks/number-input.js +0 -111
  289. package/dist/chunks/number-input.js.map +0 -1
  290. package/dist/chunks/pagination.cjs +0 -475
  291. package/dist/chunks/pagination.cjs.map +0 -1
  292. package/dist/chunks/pagination.js +0 -476
  293. package/dist/chunks/pagination.js.map +0 -1
  294. package/dist/chunks/progress-bar.cjs +0 -101
  295. package/dist/chunks/progress-bar.cjs.map +0 -1
  296. package/dist/chunks/progress-bar.js +0 -102
  297. package/dist/chunks/progress-bar.js.map +0 -1
  298. package/dist/chunks/radio.cjs +0 -185
  299. package/dist/chunks/radio.cjs.map +0 -1
  300. package/dist/chunks/radio.js +0 -186
  301. package/dist/chunks/radio.js.map +0 -1
  302. package/dist/chunks/select.cjs +0 -381
  303. package/dist/chunks/select.cjs.map +0 -1
  304. package/dist/chunks/select.js +0 -382
  305. package/dist/chunks/select.js.map +0 -1
  306. package/dist/chunks/size.cjs +0 -4
  307. package/dist/chunks/size.cjs.map +0 -1
  308. package/dist/chunks/size.js +0 -5
  309. package/dist/chunks/size.js.map +0 -1
  310. package/dist/chunks/slider.cjs +0 -608
  311. package/dist/chunks/slider.cjs.map +0 -1
  312. package/dist/chunks/slider.js +0 -609
  313. package/dist/chunks/slider.js.map +0 -1
  314. package/dist/chunks/spinner.cjs +0 -102
  315. package/dist/chunks/spinner.cjs.map +0 -1
  316. package/dist/chunks/spinner.js +0 -103
  317. package/dist/chunks/spinner.js.map +0 -1
  318. package/dist/chunks/switch.cjs +0 -167
  319. package/dist/chunks/switch.cjs.map +0 -1
  320. package/dist/chunks/switch.js +0 -168
  321. package/dist/chunks/switch.js.map +0 -1
  322. package/dist/chunks/tab-panel.cjs +0 -174
  323. package/dist/chunks/tab-panel.cjs.map +0 -1
  324. package/dist/chunks/tab-panel.js +0 -175
  325. package/dist/chunks/tab-panel.js.map +0 -1
  326. package/dist/chunks/tag.cjs +0 -108
  327. package/dist/chunks/tag.cjs.map +0 -1
  328. package/dist/chunks/tag.js +0 -109
  329. package/dist/chunks/tag.js.map +0 -1
  330. package/dist/chunks/text-input.cjs +0 -54
  331. package/dist/chunks/text-input.cjs.map +0 -1
  332. package/dist/chunks/text-input.js +0 -55
  333. package/dist/chunks/text-input.js.map +0 -1
  334. package/dist/chunks/textarea.cjs +0 -137
  335. package/dist/chunks/textarea.cjs.map +0 -1
  336. package/dist/chunks/textarea.js +0 -138
  337. package/dist/chunks/textarea.js.map +0 -1
  338. package/dist/chunks/tooltip.cjs +0 -292
  339. package/dist/chunks/tooltip.cjs.map +0 -1
  340. package/dist/chunks/tooltip.js +0 -293
  341. package/dist/chunks/tooltip.js.map +0 -1
  342. package/dist/chunks/tree.cjs +0 -468
  343. package/dist/chunks/tree.cjs.map +0 -1
  344. package/dist/chunks/tree.js +0 -469
  345. package/dist/chunks/tree.js.map +0 -1
  346. package/dist/chunks/variables.cjs +0 -396
  347. package/dist/chunks/variables.cjs.map +0 -1
  348. package/dist/chunks/variables.js +0 -397
  349. package/dist/chunks/variables.js.map +0 -1
@@ -1,118 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { v as variables } from "./variables.js";
5
- import { A as AeicoComponent } from "./aeico-component.js";
6
- import { html } from "aeico";
7
- const style = ":host {\n display: contents;\n}\n\ndialog {\n display: none;\n flex-direction: column;\n border: none;\n border-radius: var(--ae-border-radius, var(--ae-border-radius));\n padding: 0;\n max-width: min(90vw, 600px);\n max-height: 90vh;\n background: var(--ae-surface-overlay);\n color: var(--ae-color-text-main);\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n}\n\ndialog[open] {\n display: flex;\n animation: dialog-slide-in 0.2s ease;\n}\n\ndialog::backdrop {\n background: var(--color-overlay);\n animation: dialog-backdrop-in 0.2s ease;\n}\n\n@keyframes dialog-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes dialog-slide-in {\n from {\n opacity: 0;\n transform: scale(0.96) translateY(-8px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\nheader {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border-bottom: 1px solid var(--ae-border-subtle);\n flex-shrink: 0;\n}\n\n.label {\n flex: 1;\n font-size: var(--ae-size-m, 1rem);\n font-weight: 500;\n margin: 0;\n color: var(--ae-color-text-main);\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--ae-border-radius, var(--ae-radius-sm));\n background: transparent;\n color: var(--ae-color-text-muted);\n font-size: 18px;\n line-height: 1;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n}\n\n.close-btn:hover {\n background: var(--ae-border-subtle);\n color: var(--ae-color-text-main);\n}\n\n.body {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\nfooter {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 20px;\n border-top: 1px solid var(--ae-border-subtle);\n flex-shrink: 0;\n}\n\n::slotted([data-align-left]) {\n margin-right: auto;\n}\n";
8
- class Dialog extends AeicoComponent {
9
- constructor() {
10
- super(...arguments);
11
- __publicField(this, "_dialogEl", null);
12
- __publicField(this, "_hasFooter", false);
13
- __publicField(this, "_handleDialogClick", (e) => {
14
- const mouseEvent = e;
15
- const path = mouseEvent.composedPath();
16
- for (const el of path) {
17
- if (el instanceof Element && el.hasAttribute("data-close")) {
18
- this.close();
19
- return;
20
- }
21
- if (el === this._dialogEl) break;
22
- }
23
- if (this.modal !== false && this.closeOnOverlayClick !== false) {
24
- if (mouseEvent.target === this._dialogEl) {
25
- const rect = this._dialogEl.getBoundingClientRect();
26
- const outside = mouseEvent.clientX < rect.left || mouseEvent.clientX > rect.right || mouseEvent.clientY < rect.top || mouseEvent.clientY > rect.bottom;
27
- if (outside) {
28
- this.close();
29
- }
30
- }
31
- }
32
- });
33
- __publicField(this, "_handleNativeClose", () => {
34
- this.emit("close", { detail: { target: this } });
35
- });
36
- __publicField(this, "_handleFooterSlotChange", (e) => {
37
- const slotEl = e.target;
38
- const hasContent = slotEl.assignedElements().length > 0;
39
- if (hasContent !== this._hasFooter) {
40
- this._hasFooter = hasContent;
41
- this.update();
42
- }
43
- });
44
- }
45
- render() {
46
- return html(({ dialog, div, header, footer, span, button, slot }) => {
47
- this._dialogEl = dialog(
48
- {
49
- "@click": this._handleDialogClick,
50
- "@close": this._handleNativeClose,
51
- style: {
52
- width: this.width || "",
53
- height: this.height || ""
54
- }
55
- },
56
- () => {
57
- if (this.header !== false) {
58
- header({}, () => {
59
- slot({ name: "header" }, () => {
60
- span({ className: "label", textContent: this.label || "" });
61
- });
62
- if (this.closable !== false) {
63
- button({
64
- className: "close-btn",
65
- textContent: "×",
66
- "@click": () => this.close()
67
- });
68
- }
69
- });
70
- }
71
- div({ className: "body" }, () => {
72
- slot();
73
- });
74
- footer(
75
- {
76
- style: { display: this._hasFooter ? "" : "none" }
77
- },
78
- () => {
79
- slot({ name: "footer", "@slotchange": this._handleFooterSlotChange });
80
- }
81
- );
82
- }
83
- );
84
- });
85
- }
86
- open() {
87
- if (!this._dialogEl) return;
88
- if (this.modal !== false) {
89
- this._dialogEl.showModal();
90
- } else {
91
- this._dialogEl.show();
92
- }
93
- this.emit("open", { detail: { target: this } });
94
- }
95
- close() {
96
- var _a;
97
- (_a = this._dialogEl) == null ? void 0 : _a.close();
98
- }
99
- isOpen() {
100
- var _a;
101
- return ((_a = this._dialogEl) == null ? void 0 : _a.open) ?? false;
102
- }
103
- }
104
- __publicField(Dialog, "props", {
105
- label: { type: String },
106
- width: { type: String },
107
- height: { type: String },
108
- modal: { type: Boolean },
109
- closable: { type: Boolean },
110
- header: { type: Boolean },
111
- closeOnOverlayClick: { type: Boolean }
112
- });
113
- __publicField(Dialog, "styles", [variables, style]);
114
- Dialog.register();
115
- export {
116
- Dialog as D
117
- };
118
- //# sourceMappingURL=dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.js","sources":["../../src/dialog/dialog.ts"],"sourcesContent":["import type { InferProps, Props } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport style from '../styles/components/dialog.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\n\nclass Dialog extends AeicoComponent {\n static props: Props = {\n label: { type: String },\n width: { type: String },\n height: { type: String },\n modal: { type: Boolean },\n closable: { type: Boolean },\n header: { type: Boolean },\n closeOnOverlayClick: { type: Boolean },\n };\n\n declare label?: string;\n declare width?: string;\n declare height?: string;\n declare modal?: boolean;\n declare closable?: boolean;\n declare header?: boolean;\n declare closeOnOverlayClick?: boolean;\n\n protected static styles = [styleVariables, style];\n\n private _dialogEl: HTMLDialogElement | null = null;\n private _hasFooter = false;\n\n protected render() {\n return html(({ dialog, div, header, footer, span, button, slot }) => {\n this._dialogEl = dialog(\n {\n '@click': this._handleDialogClick,\n '@close': this._handleNativeClose,\n style: {\n width: this.width || '',\n height: this.height || '',\n },\n },\n () => {\n // Header\n if (this.header !== false) {\n header({}, () => {\n slot({ name: 'header' }, () => {\n span({ className: 'label', textContent: this.label || '' });\n });\n if (this.closable !== false) {\n button({\n className: 'close-btn',\n textContent: '×',\n '@click': () => this.close(),\n });\n }\n });\n }\n\n // Body\n div({ className: 'body' }, () => {\n slot();\n });\n\n // Footer — always rendered to capture slotchange, hidden when empty\n footer(\n {\n style: { display: this._hasFooter ? '' : 'none' },\n },\n () => {\n slot({ name: 'footer', '@slotchange': this._handleFooterSlotChange });\n },\n );\n },\n );\n });\n }\n\n private _handleDialogClick = (e: Event) => {\n const mouseEvent = e as MouseEvent;\n const path = mouseEvent.composedPath();\n\n // data-close: any slotted element with [data-close] closes the dialog\n for (const el of path) {\n if (el instanceof Element && el.hasAttribute('data-close')) {\n this.close();\n return;\n }\n if (el === this._dialogEl) break;\n }\n\n // Backdrop click (modal mode only)\n if (this.modal !== false && this.closeOnOverlayClick !== false) {\n if (mouseEvent.target === this._dialogEl) {\n const rect = this._dialogEl!.getBoundingClientRect();\n const outside =\n mouseEvent.clientX < rect.left ||\n mouseEvent.clientX > rect.right ||\n mouseEvent.clientY < rect.top ||\n mouseEvent.clientY > rect.bottom;\n if (outside) {\n this.close();\n }\n }\n }\n };\n\n private _handleNativeClose = () => {\n this.emit('close', { detail: { target: this } });\n };\n\n private _handleFooterSlotChange = (e: Event) => {\n const slotEl = e.target as HTMLSlotElement;\n const hasContent = slotEl.assignedElements().length > 0;\n if (hasContent !== this._hasFooter) {\n this._hasFooter = hasContent;\n this.update();\n }\n };\n\n open() {\n if (!this._dialogEl) return;\n if (this.modal !== false) {\n this._dialogEl.showModal();\n } else {\n this._dialogEl.show();\n }\n this.emit('open', { detail: { target: this } });\n }\n\n close() {\n this._dialogEl?.close();\n // emit('close') is handled by _handleNativeClose via the native 'close' event\n }\n\n isOpen(): boolean {\n return this._dialogEl?.open ?? false;\n }\n}\n\nDialog.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-dialog': Dialog;\n }\n}\n\nexport default Dialog;\nexport type DialogProps = InferProps<typeof Dialog>;\n"],"names":["styleVariables"],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- const aeicoComponent = require("./aeico-component.cjs");
3
- const variables = require("./variables.cjs");
4
- const color = require("./color.cjs");
5
- const aeico = require("aeico");
6
- const style = ":host {\n display: block;\n width: 100%;\n height: var(--thickness, 1px);\n flex-shrink: 0;\n\n /* Override color.css default — divider uses the subtle border token when no [color] is set */\n --ae-color-border: var(--ae-border-default);\n\n background: var(--ae-color-border);\n}\n\n:host([vertical]) {\n display: inline-block;\n width: var(--thickness, 1px);\n height: 1lh;\n vertical-align: middle;\n}\n";
7
- var __create = Object.create;
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
11
- var __typeError = (msg) => {
12
- throw TypeError(msg);
13
- };
14
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
16
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
17
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
18
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
19
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
20
- var __runInitializers = (array, flags, self, value) => {
21
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
22
- return value;
23
- };
24
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
25
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
26
- var j = array.length + 1, key = __decoratorStrings[k + 5];
27
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
28
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
29
- return __privateGet(this, extra);
30
- }, set [name](x) {
31
- return __privateSet(this, extra, x);
32
- } }, name));
33
- for (var i = decorators.length - 1; i >= 0; i--) {
34
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
35
- {
36
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
37
- access.get = (x) => x[name];
38
- access.set = (x, y) => x[name] = y;
39
- }
40
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
41
- if (it === void 0) __expectFn(it) && (desc[key] = it);
42
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
43
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
44
- }
45
- return desc && __defProp(target, name, desc), target;
46
- };
47
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
48
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
49
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
50
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
51
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
52
- var _color_dec, _thickness_dec, _vertical_dec, _a, _init, _vertical, _thickness, _color;
53
- class Divider extends (_a = aeicoComponent.AeicoComponent, _vertical_dec = [aeico.prop({ type: Boolean })], _thickness_dec = [aeico.prop({ type: String })], _color_dec = [aeico.prop({ type: String })], _a) {
54
- constructor() {
55
- super(...arguments);
56
- __privateAdd(this, _vertical, __runInitializers(_init, 8, this, false)), __runInitializers(_init, 11, this);
57
- __privateAdd(this, _thickness, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
58
- __privateAdd(this, _color, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
59
- }
60
- render() {
61
- if (this.thickness) {
62
- this.style.setProperty("--thickness", this.thickness);
63
- } else {
64
- this.style.removeProperty("--thickness");
65
- }
66
- }
67
- }
68
- _init = __decoratorStart(_a);
69
- _vertical = /* @__PURE__ */ new WeakMap();
70
- _thickness = /* @__PURE__ */ new WeakMap();
71
- _color = /* @__PURE__ */ new WeakMap();
72
- __decorateElement(_init, 4, "vertical", _vertical_dec, Divider, _vertical);
73
- __decorateElement(_init, 4, "thickness", _thickness_dec, Divider, _thickness);
74
- __decorateElement(_init, 4, "color", _color_dec, Divider, _color);
75
- __decoratorMetadata(_init, Divider);
76
- __publicField(Divider, "tagName", "divider");
77
- __publicField(Divider, "styles", [variables.variables, color.colorCSS, style]);
78
- Divider.register();
79
- exports.Divider = Divider;
80
- //# sourceMappingURL=divider.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"divider.cjs","sources":["../../src/divider/divider.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport style from '../styles/components/divider.css?inline';\nimport { prop } from 'aeico';\n/**\n * A simple divider component that can be used to separate content. It supports both horizontal and vertical orientations, as well as customizable thickness and color.\n * @example\n * ```html\n * <ae-divider></ae-divider>\n * <ae-divider vertical></ae-divider>\n * <ae-divider thickness=\"4px\" color=\"primary\"></ae-divider>\n * ```\n * @props\n * - `vertical` (boolean): If true, the divider will be vertical. Default is false (horizontal).\n * - `thickness` (string): Custom thickness for the divider (e.g., \"2px\", \"0.5rem\"). If not provided, it will use the default thickness defined in CSS.\n * - `color` (string): Color variant for the divider (e.g., \"primary\", \"secondary\"). If not provided, it will use the default color defined in CSS.\n *\n * @csspart divider - The main divider element that can be styled.\n *\n * @cssproperty --thickness - Custom property to set the thickness of the divider when the `thickness` prop is used.\n */\nclass Divider extends AeicoComponent {\n static tagName = 'divider';\n\n @prop({ type: Boolean })\n accessor vertical: boolean = false;\n\n @prop({ type: String })\n accessor thickness: string | undefined;\n\n @prop({ type: String })\n accessor color: string | undefined;\n\n protected static styles = [styleVariables, colorCSS, style];\n\n protected render(): void {\n if (this.thickness) {\n this.style.setProperty('--thickness', this.thickness);\n } else {\n this.style.removeProperty('--thickness');\n }\n }\n}\n\nDivider.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-divider': Divider;\n }\n}\n\nexport default Divider;\nexport type DividerProps = InferProps<typeof Divider>;\n"],"names":["prop","styleVariables","colorCSS"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,YAAA,gBAAA,eAAA,IAAA,OAAA,WAAA,YAAA;AAuBA,MAAM,iBAAgB,oCAGpB,gBAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,iBAAA,CAACA,MAAAA,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAACA,WAAK,EAAE,MAAM,QAAQ,CAAA,GATF,IAAe;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,WAAoB,kBAA7B,OAAA,GAAA,MAA6B,KAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,YAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAIU,SAAe;AACvB,QAAI,KAAK,WAAW;AAClB,WAAK,MAAM,YAAY,eAAe,KAAK,SAAS;AAAA,IACtD,OAAO;AACL,WAAK,MAAM,eAAe,aAAa;AAAA,IACzC;AAAA,EACF;AACF;AArBA,QAAA,iBAAA,EAAA;AAIW,YAAA,oBAAA,QAAA;AAGA,aAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AANT,kBAAA,OAAA,GAAS,YADT,eAHI,SAIK,SAAA;AAGT,kBAAA,OAAA,GAAS,aADT,gBANI,SAOK,UAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YATI,SAUK,MAAA;AAVX,oBAAA,OAAM,OAAA;AACJ,cADI,SACG,WAAU,SAAA;AAWjB,cAZI,SAYa,UAAS,CAACC,UAAAA,WAAgBC,MAAAA,UAAU,KAAK,CAAA;AAW5D,QAAQ,SAAA;;"}
@@ -1,81 +0,0 @@
1
- import { A as AeicoComponent } from "./aeico-component.js";
2
- import { v as variables } from "./variables.js";
3
- import { c as colorCSS } from "./color.js";
4
- import { prop } from "aeico";
5
- const style = ":host {\n display: block;\n width: 100%;\n height: var(--thickness, 1px);\n flex-shrink: 0;\n\n /* Override color.css default — divider uses the subtle border token when no [color] is set */\n --ae-color-border: var(--ae-border-default);\n\n background: var(--ae-color-border);\n}\n\n:host([vertical]) {\n display: inline-block;\n width: var(--thickness, 1px);\n height: 1lh;\n vertical-align: middle;\n}\n";
6
- var __create = Object.create;
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
10
- var __typeError = (msg) => {
11
- throw TypeError(msg);
12
- };
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
15
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
16
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
17
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
18
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
19
- var __runInitializers = (array, flags, self, value) => {
20
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
21
- return value;
22
- };
23
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
24
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
25
- var j = array.length + 1, key = __decoratorStrings[k + 5];
26
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
27
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
28
- return __privateGet(this, extra);
29
- }, set [name](x) {
30
- return __privateSet(this, extra, x);
31
- } }, name));
32
- for (var i = decorators.length - 1; i >= 0; i--) {
33
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
34
- {
35
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
36
- access.get = (x) => x[name];
37
- access.set = (x, y) => x[name] = y;
38
- }
39
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
40
- if (it === void 0) __expectFn(it) && (desc[key] = it);
41
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
42
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
43
- }
44
- return desc && __defProp(target, name, desc), target;
45
- };
46
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
47
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
48
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
49
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
50
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
51
- var _color_dec, _thickness_dec, _vertical_dec, _a, _init, _vertical, _thickness, _color;
52
- class Divider extends (_a = AeicoComponent, _vertical_dec = [prop({ type: Boolean })], _thickness_dec = [prop({ type: String })], _color_dec = [prop({ type: String })], _a) {
53
- constructor() {
54
- super(...arguments);
55
- __privateAdd(this, _vertical, __runInitializers(_init, 8, this, false)), __runInitializers(_init, 11, this);
56
- __privateAdd(this, _thickness, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
57
- __privateAdd(this, _color, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
58
- }
59
- render() {
60
- if (this.thickness) {
61
- this.style.setProperty("--thickness", this.thickness);
62
- } else {
63
- this.style.removeProperty("--thickness");
64
- }
65
- }
66
- }
67
- _init = __decoratorStart(_a);
68
- _vertical = /* @__PURE__ */ new WeakMap();
69
- _thickness = /* @__PURE__ */ new WeakMap();
70
- _color = /* @__PURE__ */ new WeakMap();
71
- __decorateElement(_init, 4, "vertical", _vertical_dec, Divider, _vertical);
72
- __decorateElement(_init, 4, "thickness", _thickness_dec, Divider, _thickness);
73
- __decorateElement(_init, 4, "color", _color_dec, Divider, _color);
74
- __decoratorMetadata(_init, Divider);
75
- __publicField(Divider, "tagName", "divider");
76
- __publicField(Divider, "styles", [variables, colorCSS, style]);
77
- Divider.register();
78
- export {
79
- Divider as D
80
- };
81
- //# sourceMappingURL=divider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"divider.js","sources":["../../src/divider/divider.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport style from '../styles/components/divider.css?inline';\nimport { prop } from 'aeico';\n/**\n * A simple divider component that can be used to separate content. It supports both horizontal and vertical orientations, as well as customizable thickness and color.\n * @example\n * ```html\n * <ae-divider></ae-divider>\n * <ae-divider vertical></ae-divider>\n * <ae-divider thickness=\"4px\" color=\"primary\"></ae-divider>\n * ```\n * @props\n * - `vertical` (boolean): If true, the divider will be vertical. Default is false (horizontal).\n * - `thickness` (string): Custom thickness for the divider (e.g., \"2px\", \"0.5rem\"). If not provided, it will use the default thickness defined in CSS.\n * - `color` (string): Color variant for the divider (e.g., \"primary\", \"secondary\"). If not provided, it will use the default color defined in CSS.\n *\n * @csspart divider - The main divider element that can be styled.\n *\n * @cssproperty --thickness - Custom property to set the thickness of the divider when the `thickness` prop is used.\n */\nclass Divider extends AeicoComponent {\n static tagName = 'divider';\n\n @prop({ type: Boolean })\n accessor vertical: boolean = false;\n\n @prop({ type: String })\n accessor thickness: string | undefined;\n\n @prop({ type: String })\n accessor color: string | undefined;\n\n protected static styles = [styleVariables, colorCSS, style];\n\n protected render(): void {\n if (this.thickness) {\n this.style.setProperty('--thickness', this.thickness);\n } else {\n this.style.removeProperty('--thickness');\n }\n }\n}\n\nDivider.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-divider': Divider;\n }\n}\n\nexport default Divider;\nexport type DividerProps = InferProps<typeof Divider>;\n"],"names":["styleVariables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,YAAA,gBAAA,eAAA,IAAA,OAAA,WAAA,YAAA;AAuBA,MAAM,iBAAgB,qBAGpB,gBAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAGvB,iBAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAGtB,aAAA,CAAC,KAAK,EAAE,MAAM,QAAQ,CAAA,GATF,IAAe;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAIE,iBAAA,MAAS,WAAoB,kBAA7B,OAAA,GAAA,MAA6B,KAAA,CAAA,GAA7B,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,YAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAGA,iBAAA,MAAS,QAAT,kBAAA,OAAA,IAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAAA,EAAA;AAAA,EAIU,SAAe;AACvB,QAAI,KAAK,WAAW;AAClB,WAAK,MAAM,YAAY,eAAe,KAAK,SAAS;AAAA,IACtD,OAAO;AACL,WAAK,MAAM,eAAe,aAAa;AAAA,IACzC;AAAA,EACF;AACF;AArBA,QAAA,iBAAA,EAAA;AAIW,YAAA,oBAAA,QAAA;AAGA,aAAA,oBAAA,QAAA;AAGA,SAAA,oBAAA,QAAA;AANT,kBAAA,OAAA,GAAS,YADT,eAHI,SAIK,SAAA;AAGT,kBAAA,OAAA,GAAS,aADT,gBANI,SAOK,UAAA;AAGT,kBAAA,OAAA,GAAS,SADT,YATI,SAUK,MAAA;AAVX,oBAAA,OAAM,OAAA;AACJ,cADI,SACG,WAAU,SAAA;AAWjB,cAZI,SAYa,UAAS,CAACA,WAAgB,UAAU,KAAK,CAAA;AAW5D,QAAQ,SAAA;"}
@@ -1,180 +0,0 @@
1
- "use strict";
2
- const variables = require("./variables.cjs");
3
- const aeicoComponent = require("./aeico-component.cjs");
4
- const aeico = require("aeico");
5
- const style = ":host {\n display: none;\n}\n\n:host([data-open]) {\n display: block;\n position: fixed;\n inset: 0;\n z-index: var(--ae-drawer-z-index, 1000);\n pointer-events: none;\n}\n\n.backdrop {\n position: absolute;\n inset: 0;\n background: var(--color-overlay);\n animation: drawer-backdrop-in 0.2s ease;\n pointer-events: auto;\n}\n\n.panel {\n position: absolute;\n display: flex;\n flex-direction: column;\n background: var(--ae-surface-overlay);\n color: var(--ae-color-text-main);\n box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n pointer-events: auto;\n outline: none;\n}\n\n.panel.placement-right {\n inset: 0 0 0 auto;\n width: var(--ae-drawer-size, 320px);\n max-width: 100%;\n border-radius: var(--ae-border-radius, var(--ae-border-radius)) 0 0 var(--ae-border-radius, var(--ae-border-radius));\n animation: drawer-slide-in-right 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.panel.placement-left {\n inset: 0 auto 0 0;\n width: var(--ae-drawer-size, 320px);\n max-width: 100%;\n border-radius: 0 var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius)) 0;\n animation: drawer-slide-in-left 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.panel.placement-top {\n inset: 0 0 auto 0;\n height: var(--ae-drawer-size, 320px);\n max-height: 100%;\n border-radius: 0 0 var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius));\n animation: drawer-slide-in-top 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.panel.placement-bottom {\n inset: auto 0 0 0;\n height: var(--ae-drawer-size, 320px);\n max-height: 100%;\n border-radius: var(--ae-border-radius, var(--ae-border-radius)) var(--ae-border-radius, var(--ae-border-radius)) 0 0;\n animation: drawer-slide-in-bottom 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n/* ── Keyframes ───────────────────────────────────────────────────── */\n@keyframes drawer-backdrop-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes drawer-slide-in-right {\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n}\n\n@keyframes drawer-slide-in-left {\n from { transform: translateX(-100%); }\n to { transform: translateX(0); }\n}\n\n@keyframes drawer-slide-in-top {\n from { transform: translateY(-100%); }\n to { transform: translateY(0); }\n}\n\n@keyframes drawer-slide-in-bottom {\n from { transform: translateY(100%); }\n to { transform: translateY(0); }\n}\n\n/* ── Header ──────────────────────────────────────────────────────── */\nheader {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 16px 20px;\n border-bottom: 1px solid var(--ae-border-subtle);\n flex-shrink: 0;\n}\n\n.label {\n flex: 1;\n font-size: var(--ae-size-m, 1rem);\n font-weight: 500;\n margin: 0;\n color: var(--ae-color-text-main);\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 28px;\n height: 28px;\n padding: 0;\n border: none;\n border-radius: var(--ae-border-radius, var(--ae-border-radius));\n background: transparent;\n color: var(--ae-color-text-muted);\n font-size: 18px;\n line-height: 1;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n}\n\n.close-btn:hover {\n background: var(--ae-border-subtle);\n color: var(--ae-color-text-main);\n}\n\n/* ── Body ────────────────────────────────────────────────────────── */\n.body {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n/* ── Footer ──────────────────────────────────────────────────────── */\nfooter {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 20px;\n border-top: 1px solid var(--ae-border-subtle);\n flex-shrink: 0;\n}\n\n::slotted([data-align-left]) {\n margin-right: auto;\n}\n";
6
- var __create = Object.create;
7
- var __defProp = Object.defineProperty;
8
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
10
- var __typeError = (msg) => {
11
- throw TypeError(msg);
12
- };
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
15
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
16
- var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
17
- var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
18
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
19
- var __runInitializers = (array, flags, self, value) => {
20
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
21
- return value;
22
- };
23
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
24
- var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
25
- var j = array.length + 1, key = __decoratorStrings[k + 5];
26
- var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
27
- var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
28
- return __privateGet(this, extra);
29
- }, set [name](x) {
30
- return __privateSet(this, extra, x);
31
- } }, name));
32
- for (var i = decorators.length - 1; i >= 0; i--) {
33
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
34
- {
35
- ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
36
- access.get = (x) => x[name];
37
- access.set = (x, y) => x[name] = y;
38
- }
39
- it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
40
- if (it === void 0) __expectFn(it) && (desc[key] = it);
41
- else if (typeof it !== "object" || it === null) __typeError("Object expected");
42
- else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
43
- }
44
- return desc && __defProp(target, name, desc), target;
45
- };
46
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
47
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
48
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
49
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
50
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
51
- var _closeOnOverlayClick_dec, _header_dec, _closable_dec, _modal_dec, _size_dec, _placement_dec, _label_dec, _a, _init, _label, _placement, _size, _modal, _closable, _header, _closeOnOverlayClick;
52
- class Drawer extends (_a = aeicoComponent.AeicoComponent, _label_dec = [aeico.prop({ type: String })], _placement_dec = [aeico.prop({ type: String })], _size_dec = [aeico.prop({ type: String })], _modal_dec = [aeico.prop({ type: Boolean })], _closable_dec = [aeico.prop({ type: Boolean })], _header_dec = [aeico.prop({ type: Boolean })], _closeOnOverlayClick_dec = [aeico.prop({ type: Boolean })], _a) {
53
- constructor() {
54
- super(...arguments);
55
- __privateAdd(this, _label, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
56
- __privateAdd(this, _placement, __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
57
- __privateAdd(this, _size, __runInitializers(_init, 16, this)), __runInitializers(_init, 19, this);
58
- __privateAdd(this, _modal, __runInitializers(_init, 20, this, true)), __runInitializers(_init, 23, this);
59
- __privateAdd(this, _closable, __runInitializers(_init, 24, this, true)), __runInitializers(_init, 27, this);
60
- __privateAdd(this, _header, __runInitializers(_init, 28, this, true)), __runInitializers(_init, 31, this);
61
- __privateAdd(this, _closeOnOverlayClick, __runInitializers(_init, 32, this, true)), __runInitializers(_init, 35, this);
62
- __publicField(this, "_panelEl", null);
63
- __publicField(this, "_hasFooter", false);
64
- __publicField(this, "_handleBackdropClick", () => {
65
- if (this.closeOnOverlayClick) {
66
- this.close();
67
- }
68
- });
69
- __publicField(this, "_handlePanelClick", (e) => {
70
- const path = e.composedPath();
71
- for (const el of path) {
72
- if (el instanceof Element && el.hasAttribute("data-close")) {
73
- this.close();
74
- return;
75
- }
76
- if (el === this._panelEl) break;
77
- }
78
- });
79
- __publicField(this, "_handleKeydown", (e) => {
80
- if (e.key === "Escape") {
81
- e.stopPropagation();
82
- this.close();
83
- }
84
- });
85
- __publicField(this, "_handleFooterSlotChange", (e) => {
86
- const slotEl = e.target;
87
- const hasContent = slotEl.assignedElements().length > 0;
88
- if (hasContent !== this._hasFooter) {
89
- this._hasFooter = hasContent;
90
- this.update();
91
- }
92
- });
93
- }
94
- render() {
95
- const placement = this.placement || "right";
96
- const isVertical = placement === "top" || placement === "bottom";
97
- return aeico.html(({ div, header, footer, span, button, slot }) => {
98
- if (this.modal) {
99
- div({ className: "backdrop", "@click": this._handleBackdropClick });
100
- }
101
- this._panelEl = div(
102
- {
103
- className: `panel placement-${placement}`,
104
- role: "dialog",
105
- "aria-modal": this.modal ? "true" : "false",
106
- "aria-label": this.label,
107
- tabindex: "-1",
108
- "@click": this._handlePanelClick,
109
- style: {
110
- [isVertical ? "height" : "width"]: this.size || ""
111
- }
112
- },
113
- () => {
114
- if (this.header) {
115
- header({}, () => {
116
- slot({ name: "header" }, () => {
117
- span({ className: "label", textContent: this.label || "" });
118
- });
119
- if (this.closable) {
120
- button({
121
- className: "close-btn",
122
- textContent: "×",
123
- "@click": () => this.close()
124
- });
125
- }
126
- });
127
- }
128
- div({ className: "body" }, () => {
129
- slot();
130
- });
131
- footer({ style: { display: this._hasFooter ? "" : "none" } }, () => {
132
- slot({ name: "footer", "@slotchange": this._handleFooterSlotChange });
133
- });
134
- }
135
- );
136
- });
137
- }
138
- open() {
139
- this.setAttribute("data-open", "");
140
- document.addEventListener("keydown", this._handleKeydown);
141
- requestAnimationFrame(() => {
142
- var _a2, _b;
143
- const btn = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".close-btn");
144
- (_b = btn ?? this._panelEl) == null ? void 0 : _b.focus();
145
- });
146
- this.emit("open", { detail: { target: this } });
147
- }
148
- close() {
149
- this.removeAttribute("data-open");
150
- document.removeEventListener("keydown", this._handleKeydown);
151
- this.emit("close", { detail: { target: this } });
152
- }
153
- isOpen() {
154
- return this.hasAttribute("data-open");
155
- }
156
- disconnectedCallback() {
157
- super.disconnectedCallback();
158
- document.removeEventListener("keydown", this._handleKeydown);
159
- }
160
- }
161
- _init = __decoratorStart(_a);
162
- _label = /* @__PURE__ */ new WeakMap();
163
- _placement = /* @__PURE__ */ new WeakMap();
164
- _size = /* @__PURE__ */ new WeakMap();
165
- _modal = /* @__PURE__ */ new WeakMap();
166
- _closable = /* @__PURE__ */ new WeakMap();
167
- _header = /* @__PURE__ */ new WeakMap();
168
- _closeOnOverlayClick = /* @__PURE__ */ new WeakMap();
169
- __decorateElement(_init, 4, "label", _label_dec, Drawer, _label);
170
- __decorateElement(_init, 4, "placement", _placement_dec, Drawer, _placement);
171
- __decorateElement(_init, 4, "size", _size_dec, Drawer, _size);
172
- __decorateElement(_init, 4, "modal", _modal_dec, Drawer, _modal);
173
- __decorateElement(_init, 4, "closable", _closable_dec, Drawer, _closable);
174
- __decorateElement(_init, 4, "header", _header_dec, Drawer, _header);
175
- __decorateElement(_init, 4, "closeOnOverlayClick", _closeOnOverlayClick_dec, Drawer, _closeOnOverlayClick);
176
- __decoratorMetadata(_init, Drawer);
177
- __publicField(Drawer, "styles", [variables.variables, style]);
178
- Drawer.register();
179
- exports.Drawer = Drawer;
180
- //# sourceMappingURL=drawer.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer.cjs","sources":["../../src/drawer/drawer.ts"],"sourcesContent":["import type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport style from '../styles/components/drawer.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html, prop } from 'aeico';\nimport type { DrawerPlacement } from './defines';\n\nclass Drawer extends AeicoComponent {\n protected static styles = [styleVariables, style];\n\n @prop({ type: String })\n accessor label: string | undefined;\n\n @prop({ type: String })\n accessor placement: DrawerPlacement | undefined;\n\n @prop({ type: String })\n accessor size: string | undefined;\n\n @prop({ type: Boolean })\n accessor modal: boolean = true;\n\n @prop({ type: Boolean })\n accessor closable: boolean = true;\n\n @prop({ type: Boolean })\n accessor header: boolean = true;\n\n @prop({ type: Boolean })\n accessor closeOnOverlayClick: boolean = true;\n\n private _panelEl: HTMLDivElement | null = null;\n private _hasFooter = false;\n\n protected render() {\n const placement = this.placement || 'right';\n const isVertical = placement === 'top' || placement === 'bottom';\n\n return html(({ div, header, footer, span, button, slot }) => {\n // Backdrop (modal only)\n if (this.modal) {\n div({ className: 'backdrop', '@click': this._handleBackdropClick });\n }\n\n // Panel\n this._panelEl = div(\n {\n className: `panel placement-${placement}`,\n role: 'dialog',\n 'aria-modal': this.modal ? 'true' : 'false',\n 'aria-label': this.label,\n tabindex: '-1',\n '@click': this._handlePanelClick,\n style: {\n [isVertical ? 'height' : 'width']: this.size || '',\n },\n },\n () => {\n // Header\n if (this.header) {\n header({}, () => {\n slot({ name: 'header' }, () => {\n span({ className: 'label', textContent: this.label || '' });\n });\n if (this.closable) {\n button({\n className: 'close-btn',\n textContent: '×',\n '@click': () => this.close(),\n });\n }\n });\n }\n\n // Body\n div({ className: 'body' }, () => {\n slot();\n });\n\n // Footer — always rendered to capture slotchange, hidden when empty\n footer({ style: { display: this._hasFooter ? '' : 'none' } }, () => {\n slot({ name: 'footer', '@slotchange': this._handleFooterSlotChange });\n });\n },\n );\n });\n }\n\n private _handleBackdropClick = () => {\n if (this.closeOnOverlayClick) {\n this.close();\n }\n };\n\n private _handlePanelClick = (e: Event) => {\n const path = (e as MouseEvent).composedPath();\n for (const el of path) {\n if (el instanceof Element && el.hasAttribute('data-close')) {\n this.close();\n return;\n }\n if (el === this._panelEl) break;\n }\n };\n\n private _handleKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n this.close();\n }\n };\n\n private _handleFooterSlotChange = (e: Event) => {\n const slotEl = e.target as HTMLSlotElement;\n const hasContent = slotEl.assignedElements().length > 0;\n if (hasContent !== this._hasFooter) {\n this._hasFooter = hasContent;\n this.update();\n }\n };\n\n open() {\n this.setAttribute('data-open', '');\n document.addEventListener('keydown', this._handleKeydown);\n requestAnimationFrame(() => {\n const btn = this.shadowRoot?.querySelector<HTMLElement>('.close-btn');\n (btn ?? this._panelEl)?.focus();\n });\n this.emit('open', { detail: { target: this } });\n }\n\n close() {\n this.removeAttribute('data-open');\n document.removeEventListener('keydown', this._handleKeydown);\n this.emit('close', { detail: { target: this } });\n }\n\n isOpen(): boolean {\n return this.hasAttribute('data-open');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this._handleKeydown);\n }\n}\n\nDrawer.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-drawer': Drawer;\n }\n}\n\nexport default Drawer;\nexport type DrawerProps = InferProps<typeof Drawer>;\n"],"names":["prop","html","_a","styleVariables"],"mappings":"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"}