@trintel/zooy 1.0.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +471 -0
  3. package/dist/chunks/16-30f5E9no.js +1 -0
  4. package/dist/chunks/16-41wFkj7S.js +1 -0
  5. package/dist/chunks/16-4Ffg4DOO.js +1 -0
  6. package/dist/chunks/16-8pr5mbIO.js +28 -0
  7. package/dist/chunks/16-B56B50XT.js +1 -0
  8. package/dist/chunks/16-BFJN6B6d.js +39 -0
  9. package/dist/chunks/16-BTonF5Je.js +29 -0
  10. package/dist/chunks/16-BiShwKPX.js +28 -0
  11. package/dist/chunks/16-BwDdccyH.js +33 -0
  12. package/dist/chunks/16-C7Xs-wKv.js +1 -0
  13. package/dist/chunks/16-CDRTWf-C.js +21 -0
  14. package/dist/chunks/16-CSWwhDUY.js +21 -0
  15. package/dist/chunks/16-ChlL35BX.js +62 -0
  16. package/dist/chunks/16-CpNRIuiB.js +1 -0
  17. package/dist/chunks/16-CqC9427V.js +21 -0
  18. package/dist/chunks/16-Cubm18Em.js +1 -0
  19. package/dist/chunks/16-D3Ol0pdg.js +21 -0
  20. package/dist/chunks/16-DH311Of_.js +1 -0
  21. package/dist/chunks/16-Dlq3qxDh.js +1 -0
  22. package/dist/chunks/16-Drl9-5Gn.js +21 -0
  23. package/dist/chunks/16-Dt4v0bcc.js +1 -0
  24. package/dist/chunks/16-DylBiJnm.js +1 -0
  25. package/dist/chunks/20-CZPIOG-A.js +84 -0
  26. package/dist/chunks/20-gmyNFvDv.js +1 -0
  27. package/dist/chunks/button-DdJepOoE.js +271 -0
  28. package/dist/chunks/button-skeleton-COf2kCDL.js +48 -0
  29. package/dist/chunks/button-skeleton-rf3WDPTZ.js +21 -0
  30. package/dist/chunks/button-zHEPxpXa.js +66 -0
  31. package/dist/chunks/carbon-element-CbfPUYRT.js +1 -0
  32. package/dist/chunks/carbon-element-DzDuXiyl.js +25 -0
  33. package/dist/chunks/checkbox-B5mHvx0J.js +200 -0
  34. package/dist/chunks/checkbox-BRPCg-DN.js +40 -0
  35. package/dist/chunks/class-map-BfNAkUL_.js +5 -0
  36. package/dist/chunks/class-map-DEHG4tmw.js +32 -0
  37. package/dist/chunks/collection-helpers-BwUB2CEz.js +8 -0
  38. package/dist/chunks/collection-helpers-CYLIiyii.js +1 -0
  39. package/dist/chunks/content-switcher-item-DeGjVRQY.js +350 -0
  40. package/dist/chunks/content-switcher-item-DucclV1b.js +27 -0
  41. package/dist/chunks/defs-DMmigODC.js +1077 -0
  42. package/dist/chunks/defs-DPD20sPK.js +1 -0
  43. package/dist/chunks/directive-Dp4ZTz-F.js +5 -0
  44. package/dist/chunks/directive-kLG6oqUu.js +27 -0
  45. package/dist/chunks/dropdown-item-BgLQ1VLo.js +69 -0
  46. package/dist/chunks/dropdown-item-DPdwOION.js +620 -0
  47. package/dist/chunks/focus-B9JYe97T.js +20 -0
  48. package/dist/chunks/focus-rQSNiwy7.js +1 -0
  49. package/dist/chunks/form-D6Tce4-W.js +1 -0
  50. package/dist/chunks/form-DpI-v6DA.js +20 -0
  51. package/dist/chunks/host-listener-CN245INl.js +37 -0
  52. package/dist/chunks/host-listener-DD3oGxvg.js +16 -0
  53. package/dist/chunks/host-listener-gxrTpxgv.js +1 -0
  54. package/dist/chunks/host-listener-rUcT_LUW.js +1 -0
  55. package/dist/chunks/icon-loader-Dk_AU26w.js +7 -0
  56. package/dist/chunks/icon-loader-o_JYDmJX.js +1 -0
  57. package/dist/chunks/icon-loader-utils-BBjK16O-.js +5 -0
  58. package/dist/chunks/icon-loader-utils-BEOGXn0q.js +117 -0
  59. package/dist/chunks/if-defined-BdZRLDJ6.js +5 -0
  60. package/dist/chunks/if-defined-C0yJsxi2.js +10 -0
  61. package/dist/chunks/if-non-empty-CEHK-hqx.js +1 -0
  62. package/dist/chunks/if-non-empty-DTGflHtA.js +5 -0
  63. package/dist/chunks/index-16wphaSo.js +4 -0
  64. package/dist/chunks/index-27oFQaOS.js +37 -0
  65. package/dist/chunks/index-45EApaFs.js +205 -0
  66. package/dist/chunks/index-5jmZyISW.js +1 -0
  67. package/dist/chunks/index-B1vQ44Hl.js +363 -0
  68. package/dist/chunks/index-B3CDjjXh.js +214 -0
  69. package/dist/chunks/index-B3mXrMt1.js +24 -0
  70. package/dist/chunks/index-B7mGUQhz.js +79 -0
  71. package/dist/chunks/index-BBNaYDog.js +22 -0
  72. package/dist/chunks/index-BBt9OmO5.js +12 -0
  73. package/dist/chunks/index-BIaF1Dfx.js +107 -0
  74. package/dist/chunks/index-BJAuRs3y.js +75 -0
  75. package/dist/chunks/index-BJKftWYn.js +89 -0
  76. package/dist/chunks/index-BLjNrhkN.js +4 -0
  77. package/dist/chunks/index-BOTu9u-3.js +86 -0
  78. package/dist/chunks/index-BPVpH8ll.js +160 -0
  79. package/dist/chunks/index-BRuvyoCz.js +15 -0
  80. package/dist/chunks/index-BSgHSOVT.js +65 -0
  81. package/dist/chunks/index-BSh7UYcP.js +9 -0
  82. package/dist/chunks/index-BUxB7aWd.js +96 -0
  83. package/dist/chunks/index-BXIxcS00.js +22 -0
  84. package/dist/chunks/index-BXczHDk-.js +187 -0
  85. package/dist/chunks/index-BaVyBv2V.js +25 -0
  86. package/dist/chunks/index-BgbqX0uv.js +234 -0
  87. package/dist/chunks/index-BjQlt8g2.js +451 -0
  88. package/dist/chunks/index-BoNLj7PW.js +44 -0
  89. package/dist/chunks/index-BwIoRMDI.js +24 -0
  90. package/dist/chunks/index-Bwix1iwB.js +38 -0
  91. package/dist/chunks/index-BxVW3p3I.js +258 -0
  92. package/dist/chunks/index-ByKyGGzb.js +3 -0
  93. package/dist/chunks/index-ByTSSU1x.js +1 -0
  94. package/dist/chunks/index-C8LyfVmf.js +428 -0
  95. package/dist/chunks/index-CBbsFlsv.js +290 -0
  96. package/dist/chunks/index-CByffhPq.js +762 -0
  97. package/dist/chunks/index-CIbRjtWm.js +32 -0
  98. package/dist/chunks/index-CIzeMGQv.js +81 -0
  99. package/dist/chunks/index-CLGxSjLW.js +62 -0
  100. package/dist/chunks/index-CMF5Cawn.js +70 -0
  101. package/dist/chunks/index-CO-A2KY9.js +562 -0
  102. package/dist/chunks/index-CONgwvp0.js +12 -0
  103. package/dist/chunks/index-CT43RMOu.js +20 -0
  104. package/dist/chunks/index-CUgiXqyk.js +4 -0
  105. package/dist/chunks/index-C_K070Kn.js +284 -0
  106. package/dist/chunks/index-C_ttE2g9.js +16 -0
  107. package/dist/chunks/index-CcgnA1uu.js +29 -0
  108. package/dist/chunks/index-Cd7aoWrX.js +336 -0
  109. package/dist/chunks/index-Ce-pMzBC.js +19 -0
  110. package/dist/chunks/index-CgYZ66P_.js +187 -0
  111. package/dist/chunks/index-ChcHMeAS.js +35 -0
  112. package/dist/chunks/index-Cixdzvwd.js +682 -0
  113. package/dist/chunks/index-Clq0Fl19.js +15 -0
  114. package/dist/chunks/index-CtxTJnIm.js +58 -0
  115. package/dist/chunks/index-Cv1hWa_y.js +242 -0
  116. package/dist/chunks/index-CzTjJ8lP.js +432 -0
  117. package/dist/chunks/index-D0xRAPD5.js +75 -0
  118. package/dist/chunks/index-D25buhRm.js +79 -0
  119. package/dist/chunks/index-D4DqJG5_.js +16 -0
  120. package/dist/chunks/index-D5GGFPcS.js +251 -0
  121. package/dist/chunks/index-D5kiHJpX.js +413 -0
  122. package/dist/chunks/index-DEjRiv5B.js +1 -0
  123. package/dist/chunks/index-DFA4_spk.js +160 -0
  124. package/dist/chunks/index-DFZsXFsx.js +19 -0
  125. package/dist/chunks/index-DGauWNwV.js +156 -0
  126. package/dist/chunks/index-DIR0jr3f.js +127 -0
  127. package/dist/chunks/index-DNeagy5a.js +65 -0
  128. package/dist/chunks/index-DO0fmDR9.js +2 -0
  129. package/dist/chunks/index-DSitHBEh.js +36 -0
  130. package/dist/chunks/index-DW7ST0tB.js +1 -0
  131. package/dist/chunks/index-DWfFgEXE.js +110 -0
  132. package/dist/chunks/index-DX6WAtmo.js +874 -0
  133. package/dist/chunks/index-DaPfSuLu.js +393 -0
  134. package/dist/chunks/index-DbKlVm7y.js +74 -0
  135. package/dist/chunks/index-DdNZTQw1.js +48 -0
  136. package/dist/chunks/index-Dgi-m1K-.js +1 -0
  137. package/dist/chunks/index-Dh4uigJs.js +454 -0
  138. package/dist/chunks/index-DnYNK1mz.js +8 -0
  139. package/dist/chunks/index-DnierBep.js +510 -0
  140. package/dist/chunks/index-DnpSGM23.js +213 -0
  141. package/dist/chunks/index-DntY4deR.js +41 -0
  142. package/dist/chunks/index-Dp4A8k6C.js +103 -0
  143. package/dist/chunks/index-Dphpk5r2.js +1 -0
  144. package/dist/chunks/index-DrBrgF-v.js +49 -0
  145. package/dist/chunks/index-Dr_cqQ-_.js +77 -0
  146. package/dist/chunks/index-Dt-nBtrQ.js +26 -0
  147. package/dist/chunks/index-DurPWBYc.js +24 -0
  148. package/dist/chunks/index-DwTj7cFr.js +57 -0
  149. package/dist/chunks/index-DyZVAYLv.js +52 -0
  150. package/dist/chunks/index-Hh597Yu6.js +121 -0
  151. package/dist/chunks/index-LxkAuMAA.js +1 -0
  152. package/dist/chunks/index-OaQhvPR1.js +46 -0
  153. package/dist/chunks/index-UPr2EvBX.js +149 -0
  154. package/dist/chunks/index-WNXgzThF.js +2340 -0
  155. package/dist/chunks/index-WvrCPen2.js +367 -0
  156. package/dist/chunks/index-cTXIVcWI.js +45 -0
  157. package/dist/chunks/index-caLn8cu1.js +1603 -0
  158. package/dist/chunks/index-hLI0Bnyb.js +77 -0
  159. package/dist/chunks/index-jBse-XgU.js +35 -0
  160. package/dist/chunks/index-oTjafsfN.js +25 -0
  161. package/dist/chunks/index-qNmuI3RB.js +149 -0
  162. package/dist/chunks/index-qiqzy9MI.js +23 -0
  163. package/dist/chunks/index-rwBsdvh6.js +87 -0
  164. package/dist/chunks/index-siqJUhKa.js +1 -0
  165. package/dist/chunks/index-w-G9CFId.js +1 -0
  166. package/dist/chunks/index-x6SeA7x7.js +405 -0
  167. package/dist/chunks/loading-icon-DJQIjg97.js +23 -0
  168. package/dist/chunks/loading-icon-DhJR6LyV.js +16 -0
  169. package/dist/chunks/main-DUusfqrI.js +18 -0
  170. package/dist/chunks/main-Dp7wHHgP.js +2882 -0
  171. package/dist/chunks/on-BPhwbVf3.js +10 -0
  172. package/dist/chunks/on-XRofyGQh.js +1 -0
  173. package/dist/chunks/property-DCYiZTFF.js +5 -0
  174. package/dist/chunks/property-pT1z5CCa.js +36 -0
  175. package/dist/chunks/query-CbRg6ZGy.js +23 -0
  176. package/dist/chunks/query-Dh8joWcT.js +9 -0
  177. package/dist/chunks/radio-group-manager-DBAEmhDM.js +1 -0
  178. package/dist/chunks/radio-group-manager-Du5wSOS1.js +102 -0
  179. package/dist/chunks/register-BK21_Wkj.js +11035 -0
  180. package/dist/chunks/register-BMNs2hNG.js +2157 -0
  181. package/dist/chunks/register-Cc9zkA5F.js +1 -0
  182. package/dist/chunks/register-JwwMwdRf.js +1273 -0
  183. package/dist/chunks/search-C3raqgOD.js +30 -0
  184. package/dist/chunks/search-CIhxkVjj.js +239 -0
  185. package/dist/chunks/select-item-4aISXm0r.js +76 -0
  186. package/dist/chunks/select-item-DjoxYopL.js +356 -0
  187. package/dist/chunks/settings-BPOpwVkr.js +594 -0
  188. package/dist/chunks/settings-CK2vhfPu.js +78 -0
  189. package/dist/chunks/shared-enums-BJDDuJr7.js +1 -0
  190. package/dist/chunks/shared-enums-DALKjQ7e.js +7 -0
  191. package/dist/chunks/state-Bpmgn27B.js +12 -0
  192. package/dist/chunks/state-FnSmMH94.js +5 -0
  193. package/dist/chunks/text-input-BygzMjjc.js +371 -0
  194. package/dist/chunks/text-input-cjcnMXO-.js +68 -0
  195. package/dist/chunks/tooltip-content-BjdZJ_Ui.js +134 -0
  196. package/dist/chunks/tooltip-content-DHyDYyOH.js +3 -0
  197. package/dist/chunks/tslib.es6-B07k2eac.js +1 -0
  198. package/dist/chunks/tslib.es6-C5gLNDSD.js +160 -0
  199. package/dist/chunks/unsafe-html-C_MKAcuC.js +5 -0
  200. package/dist/chunks/unsafe-html-D49sIpJ5.js +27 -0
  201. package/dist/chunks/validity-BMLNCMmP.js +1 -0
  202. package/dist/chunks/validity-CTz7ivUd.js +59 -0
  203. package/dist/zooy.cjs.js +1 -0
  204. package/dist/zooy.es.js +4 -0
  205. package/package.json +57 -0
  206. package/src/sass/carbon-icons.scss +46 -0
  207. package/src/sass/main.scss +7 -0
  208. package/src/sass/panels.scss +642 -0
  209. package/src/sass/reset.scss +43 -0
  210. package/src/sass/split.scss +131 -0
@@ -0,0 +1,1273 @@
1
+ import { C as T } from "./main-Dp7wHHgP.js";
2
+ const x = [
3
+ // Event attributes
4
+ "event",
5
+ "change-event",
6
+ "open-event",
7
+ "close-event",
8
+ "primary-event",
9
+ // Data/Record identification
10
+ "record-id",
11
+ "record-type",
12
+ // URLs/Endpoints
13
+ "endpoint",
14
+ "url",
15
+ // Actions/Operations
16
+ "action",
17
+ "method",
18
+ // Targeting
19
+ "target"
20
+ ], S = {
21
+ event: "event",
22
+ "change-event": "changeEvent",
23
+ "open-event": "openEvent",
24
+ "close-event": "closeEvent",
25
+ "primary-event": "primaryEvent",
26
+ "record-id": "recordId",
27
+ "record-type": "recordType",
28
+ endpoint: "endpoint",
29
+ url: "url",
30
+ action: "action",
31
+ method: "method",
32
+ target: "target"
33
+ }, c = (t) => {
34
+ const e = {};
35
+ return x.forEach((s) => {
36
+ const i = t.getAttribute(s);
37
+ if (i !== null) {
38
+ const n = S[s];
39
+ e[n] = i;
40
+ }
41
+ }), Array.from(t.attributes).forEach((s) => {
42
+ if (s.name.startsWith("data-")) {
43
+ const i = s.name.slice(5).replace(/-([a-z])/g, (n, o) => o.toUpperCase());
44
+ e[i] = s.value;
45
+ }
46
+ }), e;
47
+ }, d = (t, e, s = "event") => t.getAttribute(e) || t.getAttribute(s), _ = () => import("./index-BSgHSOVT.js"), C = () => import("./index-ChcHMeAS.js"), k = () => import("./index-BOTu9u-3.js").then((t) => t.i), O = () => import("./index-C8LyfVmf.js"), M = () => import("./index-qNmuI3RB.js").then((t) => t.i), N = () => import("./index-D0xRAPD5.js"), z = () => import("./index-DWfFgEXE.js"), q = () => import("./index-DIR0jr3f.js"), R = () => import("./index-DurPWBYc.js"), w = () => import("./index-oTjafsfN.js"), U = () => import("./index-BoNLj7PW.js"), F = () => import("./index-DdNZTQw1.js"), V = () => import("./index-B3mXrMt1.js"), j = () => import("./index-45EApaFs.js"), G = () => import("./index-Cd7aoWrX.js"), W = () => import("./index-BgbqX0uv.js"), B = () => import("./index-BwIoRMDI.js"), L = () => import("./index-CT43RMOu.js"), Y = () => import("./index-DnpSGM23.js"), Z = () => import("./index-BjQlt8g2.js"), $ = () => import("./index-DFA4_spk.js"), H = () => import("./index-CzTjJ8lP.js"), J = () => import("./index-Bwix1iwB.js"), K = () => import("./index-BXczHDk-.js"), Q = () => import("./index-DX6WAtmo.js"), X = () => import("./index-WNXgzThF.js"), tt = () => import("./index-CBbsFlsv.js"), et = () => import("./index-Dh4uigJs.js"), I = () => import("./index-UPr2EvBX.js"), nt = () => import("./index-B1vQ44Hl.js"), it = () => import("./index-x6SeA7x7.js"), st = () => import("./index-DO0fmDR9.js"), ot = () => import("./index-C_K070Kn.js"), m = () => import("./index-DaPfSuLu.js"), ct = () => import("./index-caLn8cu1.js"), at = () => import("./index-D5kiHJpX.js"), rt = () => import("./index-D5GGFPcS.js"), P = () => import("./index-CO-A2KY9.js"), lt = () => import("./index-BIaF1Dfx.js"), dt = () => import("./index-WvrCPen2.js"), pt = () => import("./index-hLI0Bnyb.js"), vt = () => import("./index-B3CDjjXh.js").then((t) => t.i), A = () => import("./index-DnierBep.js"), mt = () => import("./index-Cv1hWa_y.js"), ht = () => import("./index-rwBsdvh6.js").then((t) => t.i), ut = () => import("./index-BUxB7aWd.js"), gt = () => import("./index-CMF5Cawn.js").then((t) => t.i), ft = () => import("./index-CcgnA1uu.js"), E = () => import("./index-Cixdzvwd.js"), bt = () => import("./index-BxVW3p3I.js"), Et = () => import("./index-CgYZ66P_.js"), D = () => import("./index-CByffhPq.js");
48
+ function It(t) {
49
+ const e = /* @__PURE__ */ new Map();
50
+ for (const i of Object.keys(b))
51
+ e.set(i, []);
52
+ for (const [i, n] of Object.entries(b))
53
+ t.matches(i) && e.get(i).push(t);
54
+ const s = t.querySelectorAll("*");
55
+ for (const i of s)
56
+ for (const [n, o] of Object.entries(b))
57
+ i.matches(n) && e.get(n).push(i);
58
+ for (const [i, n] of e.entries())
59
+ n.length === 0 && e.delete(i);
60
+ return e;
61
+ }
62
+ function Pt(t) {
63
+ const e = /* @__PURE__ */ new Set();
64
+ for (const [s, i] of t.entries()) {
65
+ const n = b[s];
66
+ n && n.import && i.length > 0 && e.add(n.import);
67
+ }
68
+ return e;
69
+ }
70
+ async function At(t, e) {
71
+ if (t.size === 0)
72
+ return;
73
+ const s = Array.from(t).map(async (i) => (e.has(i) || e.set(i, i()), e.get(i)));
74
+ await Promise.all(s);
75
+ }
76
+ function yt(t, e) {
77
+ let s = 0;
78
+ for (const [i, n] of t.entries()) {
79
+ const o = b[i];
80
+ n.forEach((a) => {
81
+ if (o.init) {
82
+ o.init.call(e, a);
83
+ return;
84
+ }
85
+ if (o.multiEvent) {
86
+ const g = c(a);
87
+ o.events.forEach((p) => {
88
+ const f = d(a, p.attrName, "event");
89
+ f && e.listen(a, p.type, (r) => {
90
+ e.dispatchPanelEvent(f, p.getData(r, g, a));
91
+ });
92
+ });
93
+ return;
94
+ }
95
+ const l = c(a), v = l.event;
96
+ v && e.listen(a, o.event, (g) => {
97
+ g.stopPropagation();
98
+ const p = o.getData(g, l, a), f = p._eventOverride || v;
99
+ delete p._eventOverride, e.dispatchPanelEvent(f, p);
100
+ });
101
+ }), s += n.length;
102
+ }
103
+ return s;
104
+ }
105
+ const b = {
106
+ // Form structure components (presentational only - no event handling needed)
107
+ "cds-form": {
108
+ import: w
109
+ // No event handling - wraps native <form> which works naturally
110
+ },
111
+ "cds-form-item": {
112
+ import: w
113
+ // No event handling - presentational wrapper for form fields
114
+ },
115
+ "cds-form-group": {
116
+ import: U
117
+ // No event handling - presentational fieldset wrapper
118
+ },
119
+ "cds-stack": {
120
+ import: F
121
+ // No event handling - layout utility for spacing items vertically or horizontally
122
+ },
123
+ // Typography & Icons (Presentational)
124
+ "cds-heading": {
125
+ import: _
126
+ // No event handling - semantic heading component
127
+ },
128
+ "cds-icon": {
129
+ import: C
130
+ // No event handling - icon display component
131
+ },
132
+ "cds-icon-indicator": {
133
+ import: O
134
+ // No event handling - status indicator icon
135
+ },
136
+ // Buttons
137
+ "cds-button": {
138
+ import: N,
139
+ init: function(t) {
140
+ const e = c(t);
141
+ if (t.getAttribute("type") === "submit") {
142
+ this.listen(t, "click", (n) => {
143
+ let o = t.closest("form");
144
+ if (!o) {
145
+ const a = t.getAttribute("form");
146
+ a && (o = document.getElementById(a));
147
+ }
148
+ o && o.requestSubmit();
149
+ });
150
+ return;
151
+ }
152
+ const i = e.event;
153
+ i && this.listen(t, "click", (n) => {
154
+ n.stopPropagation(), this.dispatchPanelEvent(i, e);
155
+ });
156
+ }
157
+ },
158
+ "cds-icon-button:not([data-toggle])": {
159
+ import: k,
160
+ event: "click",
161
+ getData: (t, e) => e
162
+ },
163
+ // Copy Button - Button that copies text to clipboard
164
+ "cds-copy-button": {
165
+ import: q,
166
+ init: function(t) {
167
+ const e = c(t), s = e.event;
168
+ s && this.listen(t, "click", (n) => {
169
+ n.stopPropagation(), this.dispatchPanelEvent(s, {
170
+ ...e,
171
+ action: "copy"
172
+ });
173
+ });
174
+ const i = t.getAttribute("success-event");
175
+ if (i) {
176
+ const n = new MutationObserver(() => {
177
+ t.hasAttribute("feedback-shown") && this.dispatchPanelEvent(i, {
178
+ ...e,
179
+ action: "copied"
180
+ });
181
+ });
182
+ n.observe(t, {
183
+ attributes: !0,
184
+ attributeFilter: ["feedback-shown"]
185
+ }), t._copyObserver = n;
186
+ }
187
+ }
188
+ },
189
+ // FAB (Floating Action Button) - just a styled button
190
+ "cds-button[data-fab]": {
191
+ import: N,
192
+ event: "click",
193
+ getData: (t, e) => e
194
+ },
195
+ // Icon Toggle - Toggles Carbon's built-in isSelected state for ghost icon buttons
196
+ // Visual styling (subtle background change) is handled by Carbon's CSS
197
+ "cds-icon-button[data-toggle]": {
198
+ import: k,
199
+ init: function(t) {
200
+ const e = c(t);
201
+ e.event && this.listen(t, "click", (s) => {
202
+ s.stopPropagation(), t.isSelected = !t.isSelected, this.dispatchPanelEvent(e.event, {
203
+ ...e,
204
+ isOn: t.isSelected
205
+ });
206
+ });
207
+ }
208
+ },
209
+ // Text Input
210
+ "cds-text-input": {
211
+ import: V,
212
+ multiEvent: !0,
213
+ events: [
214
+ {
215
+ type: "input",
216
+ attrName: "event",
217
+ getData: (t, e) => ({
218
+ ...e,
219
+ value: t.currentTarget.value
220
+ })
221
+ },
222
+ {
223
+ type: "change",
224
+ attrName: "change-event",
225
+ getData: (t, e) => ({
226
+ ...e,
227
+ value: t.currentTarget.value
228
+ })
229
+ }
230
+ ]
231
+ },
232
+ // Text Area
233
+ "cds-textarea": {
234
+ import: j,
235
+ multiEvent: !0,
236
+ events: [
237
+ {
238
+ type: "input",
239
+ attrName: "event",
240
+ getData: (t, e) => ({
241
+ ...e,
242
+ value: t.currentTarget.value
243
+ })
244
+ },
245
+ {
246
+ type: "change",
247
+ attrName: "change-event",
248
+ getData: (t, e) => ({
249
+ ...e,
250
+ value: t.currentTarget.value
251
+ })
252
+ }
253
+ ]
254
+ },
255
+ // Number Input
256
+ "cds-number-input": {
257
+ import: G,
258
+ event: "cds-number-input",
259
+ getData: (t, e, s) => ({
260
+ ...e,
261
+ value: t.detail.value,
262
+ direction: t.detail.direction
263
+ // 'up' or 'down' when using steppers
264
+ })
265
+ },
266
+ // Password Input
267
+ "cds-password-input": {
268
+ import: W,
269
+ multiEvent: !0,
270
+ events: [
271
+ {
272
+ type: "input",
273
+ attrName: "event",
274
+ getData: (t, e) => ({
275
+ ...e,
276
+ value: t.currentTarget.value
277
+ })
278
+ },
279
+ {
280
+ type: "change",
281
+ attrName: "change-event",
282
+ getData: (t, e) => ({
283
+ ...e,
284
+ value: t.currentTarget.value
285
+ })
286
+ }
287
+ ]
288
+ },
289
+ // Search
290
+ "cds-search": {
291
+ import: B,
292
+ event: "cds-search-input",
293
+ getData: (t, e, s) => ({
294
+ ...e,
295
+ value: s.value
296
+ })
297
+ },
298
+ // Combo Box
299
+ "cds-combo-box": {
300
+ import: Y,
301
+ init: function(t) {
302
+ const e = c(t), s = e.event;
303
+ s && this.listen(t, "cds-combo-box-selected", (n) => {
304
+ const o = n.detail?.item;
305
+ this.dispatchPanelEvent(s, {
306
+ ...e,
307
+ value: t.value,
308
+ selectedValue: o?.value,
309
+ selectedText: o?.textContent?.trim()
310
+ });
311
+ });
312
+ const i = t.getAttribute("toggle-event");
313
+ i && this.listen(t, "cds-combo-box-toggled", (n) => {
314
+ this.dispatchPanelEvent(i, {
315
+ ...e,
316
+ open: t.hasAttribute("open")
317
+ });
318
+ });
319
+ }
320
+ },
321
+ // Multi Select
322
+ "cds-multi-select": {
323
+ import: Z,
324
+ init: function(t) {
325
+ const e = c(t), s = e.event;
326
+ s && this.listen(t, "cds-multi-select-selected", (n) => {
327
+ const o = t.value ? t.value.split(",") : [];
328
+ this.dispatchPanelEvent(s, {
329
+ ...e,
330
+ selectedItems: o
331
+ });
332
+ });
333
+ const i = t.getAttribute("toggle-event");
334
+ i && this.listen(t, "cds-multi-select-toggled", (n) => {
335
+ this.dispatchPanelEvent(i, {
336
+ ...e,
337
+ open: t.hasAttribute("open")
338
+ });
339
+ });
340
+ }
341
+ },
342
+ // Date Picker
343
+ "cds-date-picker": {
344
+ import: X,
345
+ init: function(t) {
346
+ const e = c(t), s = t.querySelector('cds-date-picker-input[kind="from"]'), i = t.querySelector('cds-date-picker-input[kind="to"]'), n = s && i, o = e.event;
347
+ o && this.listen(t, "cds-date-picker-changed", (l) => {
348
+ let v;
349
+ n ? v = {
350
+ from: s.value || "",
351
+ to: i.value || ""
352
+ } : v = t.value, this.dispatchPanelEvent(o, {
353
+ ...e,
354
+ value: v
355
+ });
356
+ });
357
+ const a = t.getAttribute("error-event");
358
+ a && this.listen(t, "cds-date-picker-flatpickr-error", (l) => {
359
+ this.dispatchPanelEvent(a, {
360
+ ...e,
361
+ error: l.detail
362
+ });
363
+ });
364
+ }
365
+ },
366
+ // Time Picker
367
+ "cds-time-picker": {
368
+ import: tt,
369
+ event: "cds-time-picker-changed",
370
+ getData: (t, e, s) => ({
371
+ ...e,
372
+ value: s.value
373
+ })
374
+ },
375
+ // File Uploader
376
+ "cds-file-uploader": {
377
+ import: et,
378
+ init: function(t) {
379
+ const e = c(t), s = e.event;
380
+ if (s) {
381
+ const n = t.querySelector('input[type="file"]');
382
+ n && this.listen(n, "change", (o) => {
383
+ this.dispatchPanelEvent(s, {
384
+ ...e,
385
+ files: Array.from(o.target.files || [])
386
+ });
387
+ });
388
+ }
389
+ const i = t.getAttribute("delete-event");
390
+ i && this.listen(t, "cds-file-uploader-item-deleted", (n) => {
391
+ this.dispatchPanelEvent(i, {
392
+ ...e,
393
+ fileName: n.detail?.fileName,
394
+ fileId: n.detail?.fileId
395
+ });
396
+ });
397
+ }
398
+ },
399
+ // Dropdown
400
+ "cds-dropdown": {
401
+ import: L,
402
+ init: function(t) {
403
+ const e = c(t), s = e.event;
404
+ s && this.listen(t, "cds-dropdown-selected", (n) => {
405
+ this.dispatchPanelEvent(s, {
406
+ ...e,
407
+ value: t.value,
408
+ selectedValue: n.detail?.item?.value,
409
+ selectedText: n.detail?.item?.textContent?.trim()
410
+ });
411
+ });
412
+ const i = t.getAttribute("toggle-event");
413
+ i && this.listen(t, "cds-dropdown-toggled", (n) => {
414
+ this.dispatchPanelEvent(i, {
415
+ ...e,
416
+ open: t.hasAttribute("open")
417
+ });
418
+ });
419
+ }
420
+ },
421
+ // Checkbox - Carbon uses custom event
422
+ "cds-checkbox": {
423
+ import: $,
424
+ event: "cds-checkbox-changed",
425
+ getData: (t, e, s) => ({
426
+ ...e,
427
+ checked: t.detail.checked,
428
+ value: s.value
429
+ })
430
+ },
431
+ // Radio Button Group - only listen to the group, not individual buttons
432
+ "cds-radio-button-group": {
433
+ import: H,
434
+ event: "cds-radio-button-group-changed",
435
+ getData: (t, e) => ({
436
+ ...e,
437
+ value: t.detail?.value
438
+ })
439
+ },
440
+ // Toggle
441
+ "cds-toggle": {
442
+ import: K,
443
+ event: "cds-toggle-changed",
444
+ getData: (t, e) => ({
445
+ ...e,
446
+ isOn: t.detail.checked,
447
+ value: t.detail.checked
448
+ })
449
+ },
450
+ // Select
451
+ "cds-select": {
452
+ import: J,
453
+ event: "cds-select-selected",
454
+ getData: (t, e) => ({
455
+ ...e,
456
+ value: t.detail.value
457
+ })
458
+ },
459
+ // Slider
460
+ "cds-slider": {
461
+ import: Q,
462
+ init: function(t) {
463
+ const e = c(t), s = e.event;
464
+ s && this.listen(t, "cds-slider-changed", (n) => {
465
+ this.dispatchPanelEvent(s, {
466
+ ...e,
467
+ value: n.detail.value
468
+ });
469
+ });
470
+ const i = t.getAttribute("input-event");
471
+ i && this.listen(t, "cds-slider-input-changed", (n) => {
472
+ this.dispatchPanelEvent(i, {
473
+ ...e,
474
+ value: n.detail.value
475
+ });
476
+ });
477
+ }
478
+ },
479
+ // Tags - regular tags (click only, not closeable)
480
+ "cds-tag": {
481
+ import: P,
482
+ event: "click",
483
+ getData: (t, e) => e
484
+ },
485
+ // Dismissible tags (closeable tags with X button)
486
+ "cds-dismissible-tag": {
487
+ import: P,
488
+ init: function(t) {
489
+ const e = c(t), s = t.getAttribute("click-event");
490
+ s && this.listen(t, "click", (n) => {
491
+ n.target.closest("button") || this.dispatchPanelEvent(s, {
492
+ ...e
493
+ });
494
+ });
495
+ const i = e.event;
496
+ i && this.listen(t, "cds-dismissible-tag-closed", (n) => {
497
+ this.dispatchPanelEvent(i, {
498
+ ...e,
499
+ action: "closed"
500
+ });
501
+ });
502
+ }
503
+ },
504
+ // Filter tags (closeable tags used for filters)
505
+ "cds-filter-tag": {
506
+ import: P,
507
+ event: "cds-filter-tag-closed",
508
+ getData: (t, e) => ({
509
+ ...e,
510
+ action: "remove"
511
+ })
512
+ },
513
+ // Tabs
514
+ "cds-tabs": {
515
+ import: it,
516
+ init: function(t) {
517
+ const e = c(t), s = t.getAttribute("before-select-event");
518
+ s && this.listen(t, "cds-tabs-beingselected", (n) => {
519
+ this.dispatchPanelEvent(s, {
520
+ ...e,
521
+ tabValue: n.detail.value,
522
+ cancelable: !0
523
+ });
524
+ });
525
+ const i = e.event;
526
+ i && this.listen(t, "cds-tabs-selected", (n) => {
527
+ const o = n.detail.item, a = c(o);
528
+ this.dispatchPanelEvent(i, {
529
+ ...e,
530
+ ...a,
531
+ tabValue: n.detail.value
532
+ });
533
+ });
534
+ }
535
+ },
536
+ // Data Table - uses custom init for multiple event types
537
+ "cds-table": {
538
+ import: ct,
539
+ init: function(t) {
540
+ const e = c(t), s = t.getAttribute("selection-event") || e.event;
541
+ s && this.listen(t, "cds-table-row-change-selection", (r) => {
542
+ this.dispatchPanelEvent(s, {
543
+ ...e,
544
+ selected: r.detail.selected,
545
+ rowId: r.target.id
546
+ });
547
+ });
548
+ const i = t.getAttribute("select-all-event");
549
+ i && this.listen(t, "cds-table-change-selection-all", (r) => {
550
+ this.dispatchPanelEvent(i, {
551
+ ...e,
552
+ selected: r.detail.selected
553
+ });
554
+ });
555
+ const n = t.getAttribute("row-selected-event");
556
+ n && this.listen(t, "cds-table-row-selected", (r) => {
557
+ this.dispatchPanelEvent(n, {
558
+ ...e,
559
+ selectedRows: r.detail.selectedRows || []
560
+ });
561
+ });
562
+ const o = t.getAttribute("all-selected-event");
563
+ o && this.listen(t, "cds-table-row-all-selected", (r) => {
564
+ this.dispatchPanelEvent(o, {
565
+ ...e,
566
+ selected: r.detail.selected
567
+ });
568
+ }), [...t.querySelectorAll("cds-table-row")].forEach((r) => {
569
+ const h = c(r), u = t.getAttribute("row-click-event") || h.event;
570
+ u && this.listen(r, "click", (y) => {
571
+ y.target.matches("cds-table-header-cell-checkbox, cds-table-cell-checkbox") || (y.stopPropagation(), this.dispatchPanelEvent(u, {
572
+ ...e,
573
+ ...h,
574
+ rowId: r.id
575
+ }));
576
+ });
577
+ });
578
+ const l = t.getAttribute("expand-event");
579
+ l && this.listen(t, "cds-table-row-expando-toggled", (r) => {
580
+ this.dispatchPanelEvent(l, {
581
+ ...e,
582
+ rowId: r.target.id,
583
+ expanded: r.detail.expanded
584
+ });
585
+ });
586
+ const v = t.getAttribute("sort-event");
587
+ v && this.listen(t, "cds-table-header-cell-sort", (r) => {
588
+ this.dispatchPanelEvent(v, {
589
+ ...e,
590
+ sortColumn: r.detail.columnId,
591
+ sortDirection: r.detail.sortDirection
592
+ });
593
+ });
594
+ const g = t.getAttribute("sorted-event");
595
+ g && this.listen(t, "cds-table-sorted", (r) => {
596
+ this.dispatchPanelEvent(g, {
597
+ ...e,
598
+ sortColumn: r.detail.columnId,
599
+ sortDirection: r.detail.sortDirection
600
+ });
601
+ });
602
+ const p = t.querySelector("cds-table-batch-actions");
603
+ if (p) {
604
+ const r = t.getAttribute("batch-cancel-event");
605
+ r && this.listen(p, "cds-table-batch-actions-cancel-clicked", (u) => {
606
+ this.dispatchPanelEvent(r, {
607
+ ...e,
608
+ action: "cancel"
609
+ });
610
+ });
611
+ const h = t.getAttribute("batch-select-all-event");
612
+ h && this.listen(p, "cds-table-batch-actions-select-all-clicked", (u) => {
613
+ this.dispatchPanelEvent(h, {
614
+ ...e,
615
+ action: "select-all"
616
+ });
617
+ });
618
+ }
619
+ const f = t.querySelector("cds-search");
620
+ if (f) {
621
+ const r = t.getAttribute("search-event");
622
+ r && this.listen(f, "cds-search-input", (u) => {
623
+ this.dispatchPanelEvent(r, {
624
+ ...e,
625
+ searchTerm: u.target.value
626
+ });
627
+ });
628
+ const h = t.getAttribute("filtered-event");
629
+ h && this.listen(t, "cds-table-filtered", (u) => {
630
+ this.dispatchPanelEvent(h, {
631
+ ...e,
632
+ searchTerm: u.detail.searchTerm
633
+ });
634
+ });
635
+ }
636
+ }
637
+ },
638
+ // Overflow Menu
639
+ "cds-overflow-menu": {
640
+ import: at,
641
+ // We collect the menu attributes from the menu, but we listen for the
642
+ // events on the menu body.
643
+ init: function(t) {
644
+ const s = c(t).event, i = t.querySelector("cds-overflow-menu-body");
645
+ s && i && this.listen(i, "cds-overflow-menu-item-clicked", (n) => {
646
+ n.stopPropagation();
647
+ const o = c(n.target);
648
+ this.dispatchPanelEvent(s, {
649
+ ...o,
650
+ ...o
651
+ });
652
+ });
653
+ }
654
+ },
655
+ // Structured List
656
+ "cds-structured-list": {
657
+ import: rt,
658
+ init: function(t) {
659
+ const e = c(t);
660
+ [...t.querySelectorAll("cds-structured-list-row")].forEach((i) => {
661
+ const n = c(i), o = n.event || e.event;
662
+ o && this.listen(i, "click", (a) => {
663
+ a.stopPropagation(), this.dispatchPanelEvent(o, {
664
+ ...e,
665
+ ...n
666
+ });
667
+ });
668
+ }), t.hasAttribute("selection") && this.listen(t, "cds-structured-list-selected", (i) => {
669
+ const n = i.detail.row, o = c(n), a = e.event;
670
+ a && this.dispatchPanelEvent(a, {
671
+ ...e,
672
+ ...o
673
+ });
674
+ });
675
+ }
676
+ },
677
+ // Progress Bar - monitors for completion
678
+ "cds-progress-bar": {
679
+ import: lt,
680
+ init: function(t) {
681
+ const e = c(t);
682
+ if (e.event) {
683
+ const s = new MutationObserver(() => {
684
+ const i = parseFloat(t.getAttribute("value") || "0"), n = parseFloat(t.getAttribute("max") || "100");
685
+ i >= n && this.dispatchPanelEvent(e.event, {
686
+ ...e,
687
+ value: i,
688
+ status: "complete"
689
+ });
690
+ });
691
+ s.observe(t, {
692
+ attributes: !0,
693
+ attributeFilter: ["value"]
694
+ }), t._progressObserver = s;
695
+ }
696
+ }
697
+ },
698
+ // Modal - multiple event types
699
+ "cds-modal": {
700
+ import: m,
701
+ init: function(t) {
702
+ const e = c(t), s = d(t, "open-event", "event");
703
+ s && this.listen(t, "cds-modal-beingopened", (o) => {
704
+ this.dispatchPanelEvent(s, {
705
+ ...e,
706
+ action: "opened"
707
+ });
708
+ });
709
+ const i = t.getAttribute("before-close-event");
710
+ i && this.listen(t, "cds-modal-beingclosed", (o) => {
711
+ this.dispatchPanelEvent(i, {
712
+ ...e,
713
+ action: "closing",
714
+ cancelable: !0
715
+ });
716
+ }), this.listen(t, "cds-modal-closed", (o) => {
717
+ this.dispatchPanelEvent("destroy_me", {
718
+ ...e,
719
+ action: "closed",
720
+ triggeredBy: o.detail?.triggeredBy
721
+ });
722
+ });
723
+ const n = d(t, "primary-event", "event");
724
+ n && this.listen(t, "cds-modal-primary-focus", (o) => {
725
+ this.dispatchPanelEvent(n, {
726
+ ...e,
727
+ action: "primary"
728
+ });
729
+ });
730
+ }
731
+ },
732
+ // Modal sub-components (presentational)
733
+ "cds-modal-header": {
734
+ import: m
735
+ // No event handling - presentational header wrapper
736
+ },
737
+ "cds-modal-heading": {
738
+ import: m
739
+ // No event handling - presentational heading element
740
+ },
741
+ "cds-modal-label": {
742
+ import: m
743
+ // No event handling - presentational label element
744
+ },
745
+ "cds-modal-close-button": {
746
+ import: m
747
+ // No event handling - close button handled by modal itself via data-modal-close
748
+ },
749
+ "cds-modal-body": {
750
+ import: m
751
+ // No event handling - presentational body wrapper
752
+ },
753
+ "cds-modal-body-content": {
754
+ import: m
755
+ // No event handling - presentational content wrapper
756
+ },
757
+ "cds-modal-footer": {
758
+ import: m
759
+ // No event handling - presentational footer wrapper
760
+ },
761
+ "cds-modal-footer-button": {
762
+ import: m,
763
+ init: function(t) {
764
+ const e = c(t);
765
+ if (t.getAttribute("type") === "submit") {
766
+ this.listen(t, "click", (n) => {
767
+ let o = t.closest("form");
768
+ if (!o) {
769
+ const a = t.getAttribute("form");
770
+ a && (o = document.getElementById(a));
771
+ }
772
+ o && o.requestSubmit();
773
+ });
774
+ return;
775
+ }
776
+ const i = e.event;
777
+ i && this.listen(t, "click", (n) => {
778
+ n.stopPropagation(), this.dispatchPanelEvent(i, e);
779
+ });
780
+ }
781
+ },
782
+ // Breadcrumb - Navigation trail component
783
+ "cds-breadcrumb": {
784
+ import: I,
785
+ init: function(t) {
786
+ const e = c(t), s = e.event;
787
+ if (s) {
788
+ const i = (o) => {
789
+ this.dispatchPanelEvent(s, {
790
+ ...e,
791
+ ...o
792
+ });
793
+ };
794
+ this.listen(t, "click", (o) => {
795
+ const a = o.target.closest("cds-breadcrumb-link");
796
+ if (a) {
797
+ o.preventDefault(), o.stopPropagation();
798
+ const l = c(a);
799
+ i(l);
800
+ }
801
+ });
802
+ const n = t.querySelector("cds-overflow-menu-body");
803
+ n && this.listen(n, "cds-overflow-menu-item-clicked", (o) => {
804
+ o.stopPropagation();
805
+ const a = c(o.target);
806
+ i(a);
807
+ });
808
+ }
809
+ }
810
+ },
811
+ // Breadcrumb Item - Wrapper for breadcrumb links
812
+ "cds-breadcrumb-item": {
813
+ import: I
814
+ // No event handling - presentational wrapper
815
+ },
816
+ // Breadcrumb Link - Individual breadcrumb link
817
+ "cds-breadcrumb-link": {
818
+ import: I,
819
+ event: "click",
820
+ getData: (t, e, s) => (t.preventDefault(), {
821
+ ...e,
822
+ href: s.getAttribute("href")
823
+ })
824
+ },
825
+ // Pagination
826
+ "cds-pagination": {
827
+ import: nt,
828
+ init: function(t) {
829
+ const e = c(t), s = e.event;
830
+ s && this.listen(t, "cds-pagination-changed-current", (n) => {
831
+ this.dispatchPanelEvent(s, {
832
+ ...e,
833
+ page: n.detail.page,
834
+ pageSize: n.detail.pageSize,
835
+ action: "page-change"
836
+ });
837
+ });
838
+ const i = t.getAttribute("page-size-event");
839
+ i && this.listen(t, "cds-page-sizes-select-changed", (n) => {
840
+ this.dispatchPanelEvent(i, {
841
+ ...e,
842
+ page: n.detail.page,
843
+ pageSize: n.detail.pageSize,
844
+ action: "page-size-change"
845
+ });
846
+ });
847
+ }
848
+ },
849
+ // Accordion
850
+ "cds-accordion": {
851
+ import: ot,
852
+ init: function(t) {
853
+ const e = c(t);
854
+ [...t.querySelectorAll("cds-accordion-item")].forEach((i) => {
855
+ const n = c(i), o = n.event || e.event;
856
+ o && this.listen(i, "cds-accordion-item-toggled", (a) => {
857
+ this.dispatchPanelEvent(o, {
858
+ ...e,
859
+ ...n,
860
+ open: a.detail.open
861
+ });
862
+ });
863
+ });
864
+ }
865
+ },
866
+ // Content Switcher
867
+ "cds-content-switcher": {
868
+ import: st,
869
+ init: function(t) {
870
+ const e = c(t), s = t.getAttribute("before-select-event");
871
+ s && this.listen(t, "cds-content-switcher-beingselected", (n) => {
872
+ this.dispatchPanelEvent(s, {
873
+ ...e,
874
+ value: n.detail.value,
875
+ cancelable: !0
876
+ });
877
+ });
878
+ const i = e.event;
879
+ i && this.listen(t, "cds-content-switcher-selected", (n) => {
880
+ const o = n.detail.item, a = c(o);
881
+ this.dispatchPanelEvent(i, {
882
+ ...e,
883
+ ...a,
884
+ value: o.getAttribute("value")
885
+ });
886
+ });
887
+ }
888
+ },
889
+ // Link
890
+ "cds-link": {
891
+ import: M,
892
+ event: "click",
893
+ getData: (t, e, s) => ({
894
+ ...e,
895
+ href: s.getAttribute("href")
896
+ })
897
+ },
898
+ // Badge Indicator - Status badge component (typically used in tabs/icons)
899
+ "cds-badge-indicator": {
900
+ import: R
901
+ // No event handling - presentational status indicator
902
+ // Typically appears as a dot on tabs or icons to show notifications/status
903
+ },
904
+ // Tree View
905
+ "cds-tree-view": {
906
+ import: dt,
907
+ init: function(t) {
908
+ const e = c(t);
909
+ this.listen(t, "cds-tree-node-selected", (i) => {
910
+ const n = i.detail.node, o = c(n), a = o.event || e.event;
911
+ a && this.dispatchPanelEvent(a, {
912
+ ...e,
913
+ ...o,
914
+ nodeId: n.id,
915
+ label: n.getAttribute("label")
916
+ });
917
+ });
918
+ const s = d(t, "expand-event");
919
+ s && this.listen(t, "cds-tree-node-expanded", (i) => {
920
+ this.dispatchPanelEvent(s, {
921
+ ...e,
922
+ nodeId: i.detail.node.id,
923
+ expanded: i.detail.expanded
924
+ });
925
+ });
926
+ }
927
+ },
928
+ // Tooltip
929
+ "cds-tooltip": {
930
+ import: pt,
931
+ init: function(t) {
932
+ const e = c(t), s = d(t, "open-event");
933
+ s && this.listen(t, "cds-tooltip-beingopened", (n) => {
934
+ this.dispatchPanelEvent(s, {
935
+ ...e,
936
+ action: "opened"
937
+ });
938
+ });
939
+ const i = d(t, "close-event");
940
+ i && this.listen(t, "cds-tooltip-closed", (n) => {
941
+ this.dispatchPanelEvent(i, {
942
+ ...e,
943
+ action: "closed"
944
+ });
945
+ });
946
+ }
947
+ },
948
+ // Popover
949
+ "cds-popover": {
950
+ import: vt,
951
+ init: function(t) {
952
+ const e = c(t), s = d(t, "open-event");
953
+ s && this.listen(t, "cds-popover-beingopened", (n) => {
954
+ this.dispatchPanelEvent(s, {
955
+ ...e,
956
+ action: "opened"
957
+ });
958
+ });
959
+ const i = d(t, "close-event");
960
+ i && this.listen(t, "cds-popover-closed", (n) => {
961
+ this.dispatchPanelEvent(i, {
962
+ ...e,
963
+ action: "closed"
964
+ });
965
+ });
966
+ }
967
+ },
968
+ // Notification
969
+ "cds-toast-notification": {
970
+ import: A,
971
+ event: "cds-notification-closed",
972
+ getData: (t, e) => ({
973
+ ...e,
974
+ action: "closed"
975
+ })
976
+ },
977
+ "cds-inline-notification": {
978
+ import: A,
979
+ event: "cds-notification-closed",
980
+ getData: (t, e) => ({
981
+ ...e,
982
+ action: "closed"
983
+ })
984
+ },
985
+ "cds-actionable-notification": {
986
+ import: A,
987
+ init: function(t) {
988
+ const e = c(t), s = d(t, "close-event", "event");
989
+ s && this.listen(t, "cds-notification-closed", (n) => {
990
+ this.dispatchPanelEvent(s, {
991
+ ...e,
992
+ action: "closed"
993
+ });
994
+ });
995
+ const i = d(t, "action-event");
996
+ i && this.listen(t, "cds-notification-actioned", (n) => {
997
+ this.dispatchPanelEvent(i, {
998
+ ...e,
999
+ action: "actioned"
1000
+ });
1001
+ });
1002
+ }
1003
+ },
1004
+ // Loading - Full-page or section loading spinner
1005
+ "cds-loading": {
1006
+ import: ht
1007
+ // No event handling - presentational loading spinner
1008
+ },
1009
+ // Inline Loading - Loading indicator for inline actions (e.g., form submit)
1010
+ "cds-inline-loading": {
1011
+ import: ut,
1012
+ init: function(t) {
1013
+ const e = c(t), s = e.event;
1014
+ s && this.listen(t, "cds-inline-loading-onsuccess", (n) => {
1015
+ this.dispatchPanelEvent(s, {
1016
+ ...e,
1017
+ status: "finished"
1018
+ });
1019
+ });
1020
+ const i = t.getAttribute("status-event");
1021
+ if (i) {
1022
+ const n = new MutationObserver((o) => {
1023
+ o.forEach((a) => {
1024
+ if (a.attributeName === "status") {
1025
+ const l = t.getAttribute("status");
1026
+ this.dispatchPanelEvent(i, {
1027
+ ...e,
1028
+ status: l
1029
+ });
1030
+ }
1031
+ });
1032
+ });
1033
+ n.observe(t, {
1034
+ attributes: !0,
1035
+ attributeFilter: ["status"]
1036
+ }), t._statusObserver = n;
1037
+ }
1038
+ }
1039
+ },
1040
+ // Skeleton components - Loading placeholders
1041
+ "cds-skeleton-text": {
1042
+ import: gt
1043
+ // No event handling - presentational loading placeholder
1044
+ },
1045
+ "cds-skeleton-placeholder": {
1046
+ import: ft
1047
+ // No event handling - presentational loading placeholder
1048
+ },
1049
+ // Code Snippet
1050
+ "cds-code-snippet": {
1051
+ import: mt,
1052
+ event: "cds-copy-button-clicked",
1053
+ getData: (t, e) => ({
1054
+ ...e,
1055
+ action: "copied"
1056
+ })
1057
+ },
1058
+ // Tiles
1059
+ "cds-clickable-tile": {
1060
+ import: E,
1061
+ event: "click",
1062
+ getData: (t, e) => ({
1063
+ ...e,
1064
+ href: t.currentTarget.getAttribute("href")
1065
+ })
1066
+ },
1067
+ "cds-expandable-tile": {
1068
+ import: E,
1069
+ init: function(t) {
1070
+ const e = c(t), s = t.getAttribute("before-toggle-event");
1071
+ s && this.listen(t, "cds-expandable-tile-beingtoggled", (n) => {
1072
+ this.dispatchPanelEvent(s, {
1073
+ ...e,
1074
+ expanded: n.detail.expanded,
1075
+ cancelable: !0
1076
+ });
1077
+ });
1078
+ const i = e.event;
1079
+ i && this.listen(t, "cds-expandable-tile-toggled", (n) => {
1080
+ this.dispatchPanelEvent(i, {
1081
+ ...e,
1082
+ expanded: n.detail.expanded
1083
+ });
1084
+ });
1085
+ }
1086
+ },
1087
+ "cds-selectable-tile": {
1088
+ import: E,
1089
+ event: "cds-selectable-tile-changed",
1090
+ getData: (t, e, s) => ({
1091
+ ...e,
1092
+ selected: t.detail.selected,
1093
+ value: s.value
1094
+ })
1095
+ },
1096
+ "cds-radio-tile": {
1097
+ import: E,
1098
+ event: "cds-selectable-tile-changed",
1099
+ getData: (t, e, s) => ({
1100
+ ...e,
1101
+ selected: t.detail.selected,
1102
+ value: s.value
1103
+ })
1104
+ },
1105
+ // Progress Indicator
1106
+ "cds-progress-indicator": {
1107
+ import: bt,
1108
+ init: function(t) {
1109
+ const e = c(t);
1110
+ this.listen(t, "cds-progress-step-click", (s) => {
1111
+ const i = s.target, n = c(i), o = n.event || e.event;
1112
+ o && this.dispatchPanelEvent(o, {
1113
+ ...e,
1114
+ ...n,
1115
+ stepIndex: i.getAttribute("data-index"),
1116
+ stepLabel: i.getAttribute("label")
1117
+ });
1118
+ });
1119
+ }
1120
+ },
1121
+ // Combo Button - composed of button + menu
1122
+ "cds-combo-button": {
1123
+ import: z,
1124
+ init: function(t) {
1125
+ const e = c(t);
1126
+ e.event && this.listen(t, "click", (i) => {
1127
+ const n = i.composedPath(), o = n.some((l) => l.tagName === "CDS-MENU-ITEM"), a = n.some((l) => l.tagName === "CDS-ICON-BUTTON");
1128
+ !o && !a && (i.stopPropagation(), this.dispatchPanelEvent(e.event, {
1129
+ ...e,
1130
+ action: "primary"
1131
+ }));
1132
+ });
1133
+ const s = t.querySelector("cds-menu");
1134
+ s && this.listen(s, "click", (i) => {
1135
+ if (i.target.tagName === "CDS-MENU-ITEM") {
1136
+ const n = c(i.target), o = n.event || d(t, "menu-event", "event");
1137
+ o && this.dispatchPanelEvent(o, {
1138
+ ...e,
1139
+ ...n,
1140
+ action: "menu-item"
1141
+ });
1142
+ }
1143
+ });
1144
+ }
1145
+ },
1146
+ // Toggletip - tooltip that stays open until dismissed
1147
+ "cds-toggletip": {
1148
+ import: Et,
1149
+ init: function(t) {
1150
+ const e = c(t);
1151
+ if (e.event) {
1152
+ const s = new MutationObserver((i) => {
1153
+ i.forEach((n) => {
1154
+ if (n.attributeName === "open") {
1155
+ const o = t.hasAttribute("open");
1156
+ this.dispatchPanelEvent(e.event, {
1157
+ ...e,
1158
+ action: o ? "opened" : "closed",
1159
+ open: o
1160
+ });
1161
+ }
1162
+ });
1163
+ });
1164
+ s.observe(t, {
1165
+ attributes: !0,
1166
+ attributeFilter: ["open"]
1167
+ }), t._toggletipObserver = s;
1168
+ }
1169
+ }
1170
+ },
1171
+ // Menu
1172
+ "cds-menu": {
1173
+ import: D,
1174
+ init: function(t) {
1175
+ const e = c(t), s = d(t, "open-event");
1176
+ s && this.listen(t, "cds-menu-opened", (n) => {
1177
+ this.dispatchPanelEvent(s, {
1178
+ ...e,
1179
+ action: "opened"
1180
+ });
1181
+ });
1182
+ const i = d(t, "close-event");
1183
+ i && this.listen(t, "cds-menu-closed", (n) => {
1184
+ this.dispatchPanelEvent(i, {
1185
+ ...e,
1186
+ action: "closed"
1187
+ });
1188
+ }), this.listen(t, "click", (n) => {
1189
+ if (n.target.tagName === "CDS-MENU-ITEM") {
1190
+ const o = c(n.target), a = o.event || e.event;
1191
+ a && (n.stopPropagation(), this.dispatchPanelEvent(a, {
1192
+ ...e,
1193
+ ...o
1194
+ }));
1195
+ }
1196
+ }), this.listen(t, "cds-item-changed", (n) => {
1197
+ const o = n.detail.triggeredBy, a = c(o), l = a.event || e.event;
1198
+ l && this.dispatchPanelEvent(l, {
1199
+ ...e,
1200
+ ...a,
1201
+ action: "selection-changed"
1202
+ });
1203
+ });
1204
+ }
1205
+ },
1206
+ // Menu Button - button that opens a menu
1207
+ "cds-menu-button": {
1208
+ import: D,
1209
+ init: function(t) {
1210
+ const e = c(t), s = t.querySelector("cds-menu");
1211
+ s && this.listen(s, "click", (i) => {
1212
+ if (i.target.tagName === "CDS-MENU-ITEM") {
1213
+ const n = c(i.target), o = n.event || e.event;
1214
+ o && (i.stopPropagation(), this.dispatchPanelEvent(o, {
1215
+ ...e,
1216
+ ...n
1217
+ }));
1218
+ }
1219
+ });
1220
+ }
1221
+ }
1222
+ }, kt = async function(t, e) {
1223
+ const s = It(t);
1224
+ if (s.size === 0) {
1225
+ this.debugMe("[Carbon] No Carbon components found in panel");
1226
+ return;
1227
+ }
1228
+ const i = Pt(s);
1229
+ if (i.size > 0)
1230
+ try {
1231
+ await At(i, e);
1232
+ } catch (o) {
1233
+ console.error("[Carbon] Failed to load some component modules:", o);
1234
+ }
1235
+ const n = yt(s, this);
1236
+ n > 0 && this.debugMe(`[Carbon] Total components initialized: ${n}`);
1237
+ };
1238
+ function wt() {
1239
+ T.register("carbon", {
1240
+ /**
1241
+ * Main render function that orchestrates Carbon component initialization.
1242
+ * Called by Panel.parseContent() for each panel that enters the document.
1243
+ *
1244
+ * @param {Element} panel - The panel DOM element to scan and initialize
1245
+ * @param {Map} cache - Import cache to prevent duplicate module loads
1246
+ * @returns {Promise<void>}
1247
+ */
1248
+ render: async function(t, e) {
1249
+ try {
1250
+ await kt.call(this, t, e);
1251
+ } catch (s) {
1252
+ console.error("[Carbon] Initialization error:", s);
1253
+ }
1254
+ },
1255
+ /**
1256
+ * Cleans up Carbon components when a component is disposed.
1257
+ * Carbon Web Components (native web components) automatically cleanup when
1258
+ * removed from the DOM, so this is primarily here for completeness and
1259
+ * future extensibility.
1260
+ *
1261
+ * @param {Element} _element - The element being disposed
1262
+ */
1263
+ dispose: function(t) {
1264
+ },
1265
+ config: {
1266
+ version: "2.0",
1267
+ description: "IBM Carbon Design System Web Components"
1268
+ }
1269
+ }), console.debug("[Zooy] Carbon Design System library registered");
1270
+ }
1271
+ export {
1272
+ wt as registerCarbonLibrary
1273
+ };