@number10/jsx-components 5.0.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 (256) hide show
  1. package/LICENSE +667 -0
  2. package/README.md +43 -0
  3. package/dist/Accordion.cjs +1 -0
  4. package/dist/Accordion.d.ts +43 -0
  5. package/dist/Accordion.d.ts.map +1 -0
  6. package/dist/Accordion.js +71 -0
  7. package/dist/Accordion.test.d.ts +2 -0
  8. package/dist/Accordion.test.d.ts.map +1 -0
  9. package/dist/ActivityIndicator.cjs +1 -0
  10. package/dist/ActivityIndicator.d.ts +21 -0
  11. package/dist/ActivityIndicator.d.ts.map +1 -0
  12. package/dist/ActivityIndicator.js +133 -0
  13. package/dist/AlertDialog.cjs +1 -0
  14. package/dist/AlertDialog.d.ts +53 -0
  15. package/dist/AlertDialog.d.ts.map +1 -0
  16. package/dist/AlertDialog.js +76 -0
  17. package/dist/Badge.cjs +1 -0
  18. package/dist/Badge.d.ts +96 -0
  19. package/dist/Badge.d.ts.map +1 -0
  20. package/dist/Badge.js +238 -0
  21. package/dist/Badge.test.d.ts +2 -0
  22. package/dist/Badge.test.d.ts.map +1 -0
  23. package/dist/BottomSheet.cjs +1 -0
  24. package/dist/BottomSheet.d.ts +72 -0
  25. package/dist/BottomSheet.d.ts.map +1 -0
  26. package/dist/BottomSheet.js +132 -0
  27. package/dist/Button.cjs +1 -0
  28. package/dist/Button.d.ts +61 -0
  29. package/dist/Button.d.ts.map +1 -0
  30. package/dist/Button.js +251 -0
  31. package/dist/Checkbox.cjs +1 -0
  32. package/dist/Checkbox.d.ts +40 -0
  33. package/dist/Checkbox.d.ts.map +1 -0
  34. package/dist/Checkbox.js +84 -0
  35. package/dist/Checkbox.test.d.ts +2 -0
  36. package/dist/Checkbox.test.d.ts.map +1 -0
  37. package/dist/ColorPicker.cjs +1 -0
  38. package/dist/ColorPicker.d.ts +48 -0
  39. package/dist/ColorPicker.d.ts.map +1 -0
  40. package/dist/ColorPicker.js +256 -0
  41. package/dist/DebugPanel.cjs +1 -0
  42. package/dist/DebugPanel.d.ts +63 -0
  43. package/dist/DebugPanel.d.ts.map +1 -0
  44. package/dist/DebugPanel.js +116 -0
  45. package/dist/Dialog.cjs +1 -0
  46. package/dist/Dialog.d.ts +59 -0
  47. package/dist/Dialog.d.ts.map +1 -0
  48. package/dist/Dialog.js +142 -0
  49. package/dist/Divider.cjs +1 -0
  50. package/dist/Divider.d.ts +19 -0
  51. package/dist/Divider.d.ts.map +1 -0
  52. package/dist/Divider.js +15 -0
  53. package/dist/Divider.test.d.ts +2 -0
  54. package/dist/Divider.test.d.ts.map +1 -0
  55. package/dist/Dropdown.cjs +1 -0
  56. package/dist/Dropdown.d.ts +35 -0
  57. package/dist/Dropdown.d.ts.map +1 -0
  58. package/dist/Dropdown.js +222 -0
  59. package/dist/Icon.cjs +1 -0
  60. package/dist/Icon.d.ts +71 -0
  61. package/dist/Icon.d.ts.map +1 -0
  62. package/dist/Icon.js +57 -0
  63. package/dist/Icon.test.d.ts +2 -0
  64. package/dist/Icon.test.d.ts.map +1 -0
  65. package/dist/Image.cjs +1 -0
  66. package/dist/Image.d.ts +10 -0
  67. package/dist/Image.d.ts.map +1 -0
  68. package/dist/Image.js +18 -0
  69. package/dist/Joystick.cjs +1 -0
  70. package/dist/Joystick.d.ts +32 -0
  71. package/dist/Joystick.d.ts.map +1 -0
  72. package/dist/Joystick.js +185 -0
  73. package/dist/ListBox.cjs +1 -0
  74. package/dist/ListBox.d.ts +67 -0
  75. package/dist/ListBox.d.ts.map +1 -0
  76. package/dist/ListBox.js +104 -0
  77. package/dist/ListBox.test.d.ts +2 -0
  78. package/dist/ListBox.test.d.ts.map +1 -0
  79. package/dist/MenuButton.cjs +1 -0
  80. package/dist/MenuButton.d.ts +33 -0
  81. package/dist/MenuButton.d.ts.map +1 -0
  82. package/dist/MenuButton.js +63 -0
  83. package/dist/Modal.cjs +1 -0
  84. package/dist/Modal.d.ts +27 -0
  85. package/dist/Modal.d.ts.map +1 -0
  86. package/dist/Modal.js +174 -0
  87. package/dist/Modal.test.d.ts +2 -0
  88. package/dist/Modal.test.d.ts.map +1 -0
  89. package/dist/NineSlice.cjs +1 -0
  90. package/dist/NineSlice.d.ts +40 -0
  91. package/dist/NineSlice.d.ts.map +1 -0
  92. package/dist/NineSlice.js +314 -0
  93. package/dist/NineSlice.props.test.d.ts +2 -0
  94. package/dist/NineSlice.props.test.d.ts.map +1 -0
  95. package/dist/NineSlice.test.d.ts +2 -0
  96. package/dist/NineSlice.test.d.ts.map +1 -0
  97. package/dist/NineSliceButton.cjs +1 -0
  98. package/dist/NineSliceButton.d.ts +94 -0
  99. package/dist/NineSliceButton.d.ts.map +1 -0
  100. package/dist/NineSliceButton.js +61 -0
  101. package/dist/NineSliceButton.test.d.ts +2 -0
  102. package/dist/NineSliceButton.test.d.ts.map +1 -0
  103. package/dist/NumberInput.cjs +1 -0
  104. package/dist/NumberInput.d.ts +90 -0
  105. package/dist/NumberInput.d.ts.map +1 -0
  106. package/dist/NumberInput.js +222 -0
  107. package/dist/NumberInput.test.d.ts +2 -0
  108. package/dist/NumberInput.test.d.ts.map +1 -0
  109. package/dist/PalettePicker.cjs +1 -0
  110. package/dist/PalettePicker.d.ts +49 -0
  111. package/dist/PalettePicker.d.ts.map +1 -0
  112. package/dist/PalettePicker.js +152 -0
  113. package/dist/PalettePicker.test.d.ts +2 -0
  114. package/dist/PalettePicker.test.d.ts.map +1 -0
  115. package/dist/Popover.cjs +1 -0
  116. package/dist/Popover.d.ts +95 -0
  117. package/dist/Popover.d.ts.map +1 -0
  118. package/dist/Popover.js +267 -0
  119. package/dist/Portal.cjs +1 -0
  120. package/dist/Portal.d.ts +30 -0
  121. package/dist/Portal.d.ts.map +1 -0
  122. package/dist/Portal.js +64 -0
  123. package/dist/Portal.test.d.ts +2 -0
  124. package/dist/Portal.test.d.ts.map +1 -0
  125. package/dist/ProgressBar.cjs +1 -0
  126. package/dist/ProgressBar.d.ts +61 -0
  127. package/dist/ProgressBar.d.ts.map +1 -0
  128. package/dist/ProgressBar.js +80 -0
  129. package/dist/ProgressBar.test.d.ts +2 -0
  130. package/dist/ProgressBar.test.d.ts.map +1 -0
  131. package/dist/ProgressView.cjs +1 -0
  132. package/dist/ProgressView.d.ts +37 -0
  133. package/dist/ProgressView.d.ts.map +1 -0
  134. package/dist/ProgressView.js +71 -0
  135. package/dist/RadioButton.cjs +1 -0
  136. package/dist/RadioButton.d.ts +21 -0
  137. package/dist/RadioButton.d.ts.map +1 -0
  138. package/dist/RadioButton.js +53 -0
  139. package/dist/RadioGroup.cjs +1 -0
  140. package/dist/RadioGroup.d.ts +26 -0
  141. package/dist/RadioGroup.d.ts.map +1 -0
  142. package/dist/RadioGroup.js +32 -0
  143. package/dist/RatingBar.cjs +1 -0
  144. package/dist/RatingBar.d.ts +24 -0
  145. package/dist/RatingBar.d.ts.map +1 -0
  146. package/dist/RatingBar.js +84 -0
  147. package/dist/ScrollSlider.cjs +1 -0
  148. package/dist/ScrollSlider.d.ts +48 -0
  149. package/dist/ScrollSlider.d.ts.map +1 -0
  150. package/dist/ScrollSlider.js +93 -0
  151. package/dist/ScrollView.cjs +1 -0
  152. package/dist/ScrollView.d.ts +121 -0
  153. package/dist/ScrollView.d.ts.map +1 -0
  154. package/dist/ScrollView.js +541 -0
  155. package/dist/ScrollView.test.d.ts +2 -0
  156. package/dist/ScrollView.test.d.ts.map +1 -0
  157. package/dist/SegmentedControl.cjs +1 -0
  158. package/dist/SegmentedControl.d.ts +50 -0
  159. package/dist/SegmentedControl.d.ts.map +1 -0
  160. package/dist/SegmentedControl.js +201 -0
  161. package/dist/SegmentedControl.test.d.ts +2 -0
  162. package/dist/SegmentedControl.test.d.ts.map +1 -0
  163. package/dist/Sidebar.cjs +1 -0
  164. package/dist/Sidebar.d.ts +36 -0
  165. package/dist/Sidebar.d.ts.map +1 -0
  166. package/dist/Sidebar.js +122 -0
  167. package/dist/Slider.cjs +1 -0
  168. package/dist/Slider.d.ts +80 -0
  169. package/dist/Slider.d.ts.map +1 -0
  170. package/dist/Slider.js +233 -0
  171. package/dist/Tabs.cjs +1 -0
  172. package/dist/Tabs.d.ts +23 -0
  173. package/dist/Tabs.d.ts.map +1 -0
  174. package/dist/Tabs.js +101 -0
  175. package/dist/TextInput.cjs +17 -0
  176. package/dist/TextInput.d.ts +82 -0
  177. package/dist/TextInput.d.ts.map +1 -0
  178. package/dist/TextInput.js +441 -0
  179. package/dist/Toast.cjs +1 -0
  180. package/dist/Toast.d.ts +66 -0
  181. package/dist/Toast.d.ts.map +1 -0
  182. package/dist/Toast.js +188 -0
  183. package/dist/Toast.test.d.ts +2 -0
  184. package/dist/Toast.test.d.ts.map +1 -0
  185. package/dist/Toggle.cjs +1 -0
  186. package/dist/Toggle.d.ts +14 -0
  187. package/dist/Toggle.d.ts.map +1 -0
  188. package/dist/Toggle.js +135 -0
  189. package/dist/Toolbar.cjs +1 -0
  190. package/dist/Toolbar.d.ts +129 -0
  191. package/dist/Toolbar.d.ts.map +1 -0
  192. package/dist/Toolbar.js +159 -0
  193. package/dist/Toolbar.test.d.ts +2 -0
  194. package/dist/Toolbar.test.d.ts.map +1 -0
  195. package/dist/TransformOriginView.cjs +1 -0
  196. package/dist/TransformOriginView.d.ts +8 -0
  197. package/dist/TransformOriginView.d.ts.map +1 -0
  198. package/dist/TransformOriginView.js +38 -0
  199. package/dist/WheelPicker.cjs +1 -0
  200. package/dist/WheelPicker.d.ts +58 -0
  201. package/dist/WheelPicker.d.ts.map +1 -0
  202. package/dist/WheelPicker.js +167 -0
  203. package/dist/WrapText.cjs +1 -0
  204. package/dist/WrapText.d.ts +83 -0
  205. package/dist/WrapText.d.ts.map +1 -0
  206. package/dist/WrapText.js +93 -0
  207. package/dist/WrapText.test.d.ts +2 -0
  208. package/dist/WrapText.test.d.ts.map +1 -0
  209. package/dist/contrast-slot-map.d.ts +33 -0
  210. package/dist/contrast-slot-map.d.ts.map +1 -0
  211. package/dist/index.cjs +1 -0
  212. package/dist/index.d.ts +64 -0
  213. package/dist/index.d.ts.map +1 -0
  214. package/dist/index.js +54 -0
  215. package/dist/primitives/Image.cjs +1 -0
  216. package/dist/primitives/Image.d.ts +11 -0
  217. package/dist/primitives/Image.d.ts.map +1 -0
  218. package/dist/primitives/Image.js +7 -0
  219. package/dist/primitives/Sprite.cjs +1 -0
  220. package/dist/primitives/Sprite.d.ts +11 -0
  221. package/dist/primitives/Sprite.d.ts.map +1 -0
  222. package/dist/primitives/Sprite.js +7 -0
  223. package/dist/primitives/Text.cjs +1 -0
  224. package/dist/primitives/Text.d.ts +14 -0
  225. package/dist/primitives/Text.d.ts.map +1 -0
  226. package/dist/primitives/Text.js +15 -0
  227. package/dist/primitives/VectorDrawContent.cjs +1 -0
  228. package/dist/primitives/VectorDrawContent.d.ts +3 -0
  229. package/dist/primitives/VectorDrawContent.d.ts.map +1 -0
  230. package/dist/primitives/VectorDrawContent.js +7 -0
  231. package/dist/primitives/View.cjs +1 -0
  232. package/dist/primitives/View.d.ts +13 -0
  233. package/dist/primitives/View.d.ts.map +1 -0
  234. package/dist/primitives/View.js +7 -0
  235. package/dist/primitives/index.d.ts +13 -0
  236. package/dist/primitives/index.d.ts.map +1 -0
  237. package/dist/primitives/primitives.test.d.ts +2 -0
  238. package/dist/primitives/primitives.test.d.ts.map +1 -0
  239. package/dist/primitives.cjs +1 -0
  240. package/dist/primitives.d.ts +2 -0
  241. package/dist/primitives.js +6 -0
  242. package/dist/theme-defaults.cjs +1 -0
  243. package/dist/theme-defaults.d.ts +12 -0
  244. package/dist/theme-defaults.d.ts.map +1 -0
  245. package/dist/theme-defaults.js +1288 -0
  246. package/dist/theme-defaults.test.d.ts +2 -0
  247. package/dist/theme-defaults.test.d.ts.map +1 -0
  248. package/dist/theme-types.cjs +0 -0
  249. package/dist/theme-types.d.ts +708 -0
  250. package/dist/theme-types.d.ts.map +1 -0
  251. package/dist/theme-types.js +0 -0
  252. package/dist/useOverlayPresence.cjs +1 -0
  253. package/dist/useOverlayPresence.d.ts +24 -0
  254. package/dist/useOverlayPresence.d.ts.map +1 -0
  255. package/dist/useOverlayPresence.js +19 -0
  256. package/package.json +83 -0
package/dist/Button.js ADDED
@@ -0,0 +1,251 @@
1
+ import { Text as e } from "./primitives/Text.js";
2
+ import { View as t } from "./primitives/View.js";
3
+ import "./primitives.js";
4
+ import { HexColor as n, KNOWN_COMPONENTS as r, applyEffect as i, getGlobalThemeDefaults as a, getPresetWithMode as o, mergeThemes as s, registerComponentDefaultsIfMissing as c, resolveComponentTheme as l, resolveEffect as u, useRef as d, useTheme as f } from "@number10/jsx-core";
5
+ import { jsx as p } from "@number10/jsx-core/jsx-runtime";
6
+ //#region src/Button.tsx
7
+ function m() {
8
+ let e = o("oceanBlue", "light").colors, t = e.primary.dark.toNumber(), r = e.text.lightest.toNumber(), i = e.surface.lightest.toNumber(), a = e.text.dark.toNumber(), s = e.surface.medium.toNumber(), c = e.text.light.toNumber(), l = e.primary.light.toNumber(), u = e.text.light.toNumber(), d = e.error.dark.toNumber(), f = e.text.lightest.toNumber(), p = { medium: {
9
+ fontSize: "16px",
10
+ fontFamily: "Arial",
11
+ fontStyle: "bold"
12
+ } };
13
+ return {
14
+ variant: "primary",
15
+ size: "medium",
16
+ disabledColor: s,
17
+ disabledTextColor: "#" + new n(c.toString(16).padStart(6, "0")).toString(),
18
+ disabledIconTint: c,
19
+ disabledAlpha: .48,
20
+ height: 40,
21
+ backgroundColor: t,
22
+ backgroundAlpha: 1,
23
+ borderColor: e.primary.darkest.toNumber(),
24
+ borderWidth: 1,
25
+ cornerRadius: 8,
26
+ gap: 8,
27
+ padding: {
28
+ top: 8,
29
+ bottom: 8,
30
+ left: 16,
31
+ right: 16
32
+ },
33
+ justifyContent: "center",
34
+ alignItems: "center",
35
+ effect: "press",
36
+ effectConfig: {
37
+ intensity: .94,
38
+ time: 140
39
+ },
40
+ iconSize: 18,
41
+ textStyle: {
42
+ ...p.medium,
43
+ color: `#${r.toString(16).padStart(6, "0")}`
44
+ },
45
+ Text: { style: {
46
+ ...p.medium,
47
+ color: `#${r.toString(16).padStart(6, "0")}`
48
+ } },
49
+ Icon: {
50
+ size: 18,
51
+ tint: r
52
+ },
53
+ primary: {
54
+ backgroundColor: t,
55
+ borderColor: e.primary.darkest.toNumber(),
56
+ textStyle: {
57
+ color: `#${r.toString(16).padStart(6, "0")}`,
58
+ fontStyle: "bold"
59
+ },
60
+ Icon: { tint: r }
61
+ },
62
+ secondary: {
63
+ backgroundColor: i,
64
+ backgroundAlpha: .92,
65
+ borderColor: e.border.light.toNumber(),
66
+ borderWidth: 1,
67
+ textStyle: {
68
+ color: `#${a.toString(16).padStart(6, "0")}`,
69
+ fontStyle: "bold"
70
+ },
71
+ Icon: { tint: a }
72
+ },
73
+ outline: {
74
+ backgroundColor: e.primary.dark.toNumber(),
75
+ backgroundAlpha: .08,
76
+ borderColor: l,
77
+ borderWidth: 2,
78
+ textStyle: {
79
+ color: `#${l.toString(16).padStart(6, "0")}`,
80
+ fontStyle: "bold"
81
+ },
82
+ Icon: { tint: l }
83
+ },
84
+ ghost: {
85
+ backgroundColor: e.surface.light.toNumber(),
86
+ backgroundAlpha: .18,
87
+ borderColor: e.border.medium.toNumber(),
88
+ borderAlpha: .35,
89
+ borderWidth: 1,
90
+ textStyle: {
91
+ color: `#${u.toString(16).padStart(6, "0")}`,
92
+ fontStyle: "bold"
93
+ },
94
+ Icon: { tint: u }
95
+ },
96
+ danger: {
97
+ backgroundColor: d,
98
+ borderColor: e.error.darkest.toNumber(),
99
+ textStyle: {
100
+ color: `#${f.toString(16).padStart(6, "0")}`,
101
+ fontStyle: "bold"
102
+ },
103
+ Icon: { tint: f }
104
+ },
105
+ small: {
106
+ height: 32,
107
+ padding: {
108
+ top: 6,
109
+ bottom: 6,
110
+ left: 12,
111
+ right: 12
112
+ },
113
+ cornerRadius: 6,
114
+ gap: 6,
115
+ iconSize: 15,
116
+ textStyle: { fontSize: "12px" },
117
+ Icon: { size: 15 }
118
+ },
119
+ medium: {
120
+ height: 40,
121
+ padding: {
122
+ top: 8,
123
+ bottom: 8,
124
+ left: 16,
125
+ right: 16
126
+ },
127
+ cornerRadius: 8,
128
+ gap: 8,
129
+ iconSize: 18,
130
+ Icon: { size: 18 }
131
+ },
132
+ large: {
133
+ height: 48,
134
+ padding: {
135
+ top: 10,
136
+ bottom: 10,
137
+ left: 20,
138
+ right: 20
139
+ },
140
+ cornerRadius: 10,
141
+ gap: 10,
142
+ iconSize: 22,
143
+ textStyle: { fontSize: "18px" },
144
+ Icon: { size: 22 }
145
+ }
146
+ };
147
+ }
148
+ c("Button", m());
149
+ function h(e, t) {
150
+ return t ? {
151
+ ...e,
152
+ ...t,
153
+ textStyle: e.textStyle || t.textStyle ? {
154
+ ...e.textStyle ?? {},
155
+ ...t.textStyle ?? {}
156
+ } : void 0,
157
+ Text: e.Text || t.Text ? {
158
+ ...e.Text ?? {},
159
+ ...t.Text ?? {},
160
+ style: e.Text?.style || t.Text?.style ? {
161
+ ...e.Text?.style ?? {},
162
+ ...t.Text?.style ?? {}
163
+ } : void 0
164
+ } : void 0,
165
+ Icon: e.Icon || t.Icon ? {
166
+ ...e.Icon ?? {},
167
+ ...t.Icon ?? {}
168
+ } : void 0
169
+ } : e;
170
+ }
171
+ function g(e, t, n) {
172
+ if (!n) return;
173
+ let r = e[t], i = e[n];
174
+ return {
175
+ ...r?.[n] ?? {},
176
+ ...i ?? {}
177
+ };
178
+ }
179
+ function _(e) {
180
+ let t = e.Text ?? {}, n = e.Icon ?? {}, r = e.textStyle || t.style ? {
181
+ ...t.style ?? {},
182
+ ...e.textStyle ?? {}
183
+ } : void 0;
184
+ return {
185
+ Text: r ? {
186
+ ...t,
187
+ style: r
188
+ } : t,
189
+ Icon: {
190
+ ...n,
191
+ ...e.iconSize === void 0 ? {} : { size: e.iconSize }
192
+ }
193
+ };
194
+ }
195
+ function v(n) {
196
+ let { children: o, label: c, text: m, onClick: v, disabled: y = !1, variant: b, size: x, width: S, height: C, textStyle: w, iconSize: T, disabledAlpha: E, alpha: D, theme: O, onTouch: k, effect: A, effectConfig: j, ...M } = n, N = f(), P = O ? s(N ?? {}, O) : N, { props: F, nestedTheme: I } = l({
197
+ componentName: "Button",
198
+ globalTheme: a(),
199
+ localTheme: P,
200
+ explicitProps: M,
201
+ knownComponents: r
202
+ }), L = d(null), R = b ?? F.variant ?? "primary", z = x ?? F.size ?? "medium", B = h(h({ ...F }, g(F, "variants", R)), g(F, "sizes", z)), V = B.textStyle || w ? {
203
+ ...B.textStyle ?? {},
204
+ ...w ?? {}
205
+ } : void 0, H = T ?? B.iconSize, U = E ?? B.disabledAlpha ?? .5, W = B.disabledTextColor ?? F.disabledTextColor ?? V?.color, G = B.disabledIconTint ?? F.disabledIconTint ?? B.iconTint, K = y && W ? {
206
+ ...V ?? {},
207
+ color: W
208
+ } : V, q = {
209
+ ...K ? { textStyle: K } : {},
210
+ ...H === void 0 ? {} : { iconSize: H },
211
+ ...y && G !== void 0 ? { Icon: {
212
+ ...B.Icon ?? {},
213
+ tint: G
214
+ } } : {}
215
+ }, J = y ? {
216
+ ...B,
217
+ backgroundColor: B.disabledColor ?? F.disabledColor ?? B.backgroundColor,
218
+ backgroundAlpha: U,
219
+ ...D === void 0 ? {} : { alpha: D },
220
+ ...q
221
+ } : {
222
+ ...B,
223
+ ...D === void 0 ? {} : { alpha: D },
224
+ ...q
225
+ }, Y = y ? void 0 : (e) => {
226
+ let t = u({
227
+ effect: A,
228
+ effectConfig: j
229
+ }, J);
230
+ i(L.current, t.effect, t.effectConfig), k?.(e), v?.();
231
+ }, X = c ?? m, Z = o ?? (X === void 0 ? null : /* @__PURE__ */ p(e, {
232
+ text: `${X}`,
233
+ ...K ? { style: K } : {}
234
+ })), Q = s(I, _(J)), { disabledColor: ee, disabledTextColor: te, disabledIconTint: ne, disabledAlpha: re, effect: ie, effectConfig: ae, textStyle: oe, iconSize: se, variant: ce, size: le, variants: ue, sizes: de, Text: fe, Icon: pe, primary: me, secondary: he, outline: ge, ghost: _e, danger: ve, small: ye, medium: be, large: xe, iconTint: Se, ...$ } = J;
235
+ return /* @__PURE__ */ p(t, {
236
+ ref: L,
237
+ direction: "row",
238
+ alignItems: "center",
239
+ justifyContent: "center",
240
+ enableGestures: !0,
241
+ ...Y ? { onTouch: Y } : {},
242
+ theme: Q,
243
+ ...$,
244
+ width: S,
245
+ height: C,
246
+ ...M,
247
+ children: Z
248
+ });
249
+ }
250
+ //#endregion
251
+ export { v as Button };
@@ -0,0 +1 @@
1
+ const e=require(`./primitives/Text.cjs`),t=require(`./primitives/View.cjs`);require(`./primitives.cjs`);let n=require(`@number10/jsx-core`),r=require(`@number10/jsx-core/jsx-runtime`);function i(e,t){return t?e===!1?!0:e===!0?`indeterminate`:!1:e!==!0}function a(e,t){return e===`indeterminate`&&!t?!1:e}function o(n){let{checked:i,disabled:a,size:o,color:s,checkedColor:c,indeterminateColor:l}=n,u=Math.max(2,Math.round(o*.1)),d=Math.max(4,Math.round(o*.22)),f=Math.max(2,Math.round(o*.15)),p=a?.45:1;return(0,r.jsx)(t.View,{width:o,height:o,borderColor:i===!1?s:i===!0?c:l,borderWidth:u,backgroundAlpha:0,cornerRadius:f,alpha:p,justifyContent:`center`,alignItems:`center`,children:i===!0?(0,r.jsx)(e.Text,{text:`✓`,style:{color:`#${c.toString(16).padStart(6,`0`)}`,fontSize:`${Math.round(o*.7)}px`,fontStyle:`bold`},alpha:p}):i===`indeterminate`?(0,r.jsx)(t.View,{width:o-d*2,height:u+1,backgroundColor:l,backgroundAlpha:p,cornerRadius:1}):null})}function s(s){let c=(0,n.useTheme)(),l=s.theme?(0,n.mergeThemes)(c??{},s.theme):c,{props:u,nestedTheme:d}=(0,n.resolveComponentTheme)({componentName:`Checkbox`,globalTheme:(0,n.getGlobalThemeDefaults)(),localTheme:l,knownComponents:n.KNOWN_COMPONENTS}),f=u.size??20,p=u.gap??8,m=s.labelPosition??u.labelPosition??`right`,h=s.disabled??!1,g=u.disabledAlpha??.5,_=s.tristate??!1,[v,y]=(0,n.useState)(a(s.checked??s.defaultChecked??!1,_));(0,n.useEffect)(()=>{s.checked!==void 0&&y(a(s.checked,_))},[s.checked,_]);let b={checked:v,disabled:h,size:f,color:u.color??7829367,checkedColor:u.checkedColor??5025616,indeterminateColor:u.indeterminateColor??u.checkedColor??5025616},x=()=>{if(h)return;let e=i(v,_);s.checked===void 0&&y(e),s.onChange?.(e)},S=s.indicator??s.renderIndicator?.(b)??(0,r.jsx)(o,{...b}),C=s.label&&m!==`none`?(0,r.jsx)(e.Text,{text:s.label,style:u.labelStyle,alpha:h?g:1}):null;return(0,r.jsxs)(t.View,{direction:`row`,alignItems:`center`,enableGestures:!h,onTouch:x,theme:d,gap:p,alpha:h?g:1,children:[m===`left`&&C,S,m!==`left`&&C]},s.key)}exports.Checkbox=s,exports.getNextCheckedState=i,exports.normalizeCheckedState=a;
@@ -0,0 +1,40 @@
1
+ import { VNodeLike } from '@number10/jsx-core';
2
+ import { PortableComponentPartialTheme } from './theme-types';
3
+ export type CheckboxState = boolean | 'indeterminate';
4
+ export type CheckboxLabelPosition = 'left' | 'right' | 'none';
5
+ export interface CheckboxIndicatorRenderProps {
6
+ checked: CheckboxState;
7
+ disabled: boolean;
8
+ size: number;
9
+ color: number;
10
+ checkedColor: number;
11
+ indeterminateColor: number;
12
+ }
13
+ export interface CheckboxProps {
14
+ /** Unique key for VDOM identification */
15
+ key?: string | number | undefined;
16
+ /** Label text rendered next to the indicator */
17
+ label?: string;
18
+ /** Controlled checked state */
19
+ checked?: CheckboxState;
20
+ /** Initial state for uncontrolled checkboxes */
21
+ defaultChecked?: CheckboxState;
22
+ /** Enables unchecked -> checked -> indeterminate cycling */
23
+ tristate?: boolean;
24
+ /** Disabled state */
25
+ disabled?: boolean;
26
+ /** Label position relative to the indicator */
27
+ labelPosition?: CheckboxLabelPosition;
28
+ /** Optional custom indicator content (overrides default) */
29
+ indicator?: VNodeLike;
30
+ /** Render function for custom indicators */
31
+ renderIndicator?: (props: CheckboxIndicatorRenderProps) => VNodeLike;
32
+ /** Optional theme overrides */
33
+ theme?: PortableComponentPartialTheme<'Checkbox'>;
34
+ /** Callback when checked state changes */
35
+ onChange?: (checked: CheckboxState) => void;
36
+ }
37
+ export declare function getNextCheckedState(checked: CheckboxState, tristate: boolean): CheckboxState;
38
+ export declare function normalizeCheckedState(checked: CheckboxState, tristate: boolean): CheckboxState;
39
+ export declare function Checkbox(props: CheckboxProps): VNodeLike;
40
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAWnD,OAAO,KAAK,EAAiB,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAMjF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,eAAe,CAAA;AACrD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAE7D,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IACpE,+BAA+B;IAC/B,KAAK,CAAC,EAAE,6BAA6B,CAAC,UAAU,CAAC,CAAA;IACjD,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CAC5C;AAMD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAK5F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,aAAa,CAE9F;AAsDD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAqExD"}
@@ -0,0 +1,84 @@
1
+ import { Text as e } from "./primitives/Text.js";
2
+ import { View as t } from "./primitives/View.js";
3
+ import "./primitives.js";
4
+ import { KNOWN_COMPONENTS as n, getGlobalThemeDefaults as r, mergeThemes as i, resolveComponentTheme as a, useEffect as o, useState as s, useTheme as c } from "@number10/jsx-core";
5
+ import { jsx as l, jsxs as u } from "@number10/jsx-core/jsx-runtime";
6
+ //#region src/Checkbox.tsx
7
+ function d(e, t) {
8
+ return t ? e === !1 ? !0 : e === !0 ? "indeterminate" : !1 : e !== !0;
9
+ }
10
+ function f(e, t) {
11
+ return e === "indeterminate" && !t ? !1 : e;
12
+ }
13
+ function p(n) {
14
+ let { checked: r, disabled: i, size: a, color: o, checkedColor: s, indeterminateColor: c } = n, u = Math.max(2, Math.round(a * .1)), d = Math.max(4, Math.round(a * .22)), f = Math.max(2, Math.round(a * .15)), p = i ? .45 : 1;
15
+ return /* @__PURE__ */ l(t, {
16
+ width: a,
17
+ height: a,
18
+ borderColor: r === !1 ? o : r === !0 ? s : c,
19
+ borderWidth: u,
20
+ backgroundAlpha: 0,
21
+ cornerRadius: f,
22
+ alpha: p,
23
+ justifyContent: "center",
24
+ alignItems: "center",
25
+ children: r === !0 ? /* @__PURE__ */ l(e, {
26
+ text: "✓",
27
+ style: {
28
+ color: `#${s.toString(16).padStart(6, "0")}`,
29
+ fontSize: `${Math.round(a * .7)}px`,
30
+ fontStyle: "bold"
31
+ },
32
+ alpha: p
33
+ }) : r === "indeterminate" ? /* @__PURE__ */ l(t, {
34
+ width: a - d * 2,
35
+ height: u + 1,
36
+ backgroundColor: c,
37
+ backgroundAlpha: p,
38
+ cornerRadius: 1
39
+ }) : null
40
+ });
41
+ }
42
+ function m(m) {
43
+ let h = c(), g = m.theme ? i(h ?? {}, m.theme) : h, { props: _, nestedTheme: v } = a({
44
+ componentName: "Checkbox",
45
+ globalTheme: r(),
46
+ localTheme: g,
47
+ knownComponents: n
48
+ }), y = _.size ?? 20, b = _.gap ?? 8, x = m.labelPosition ?? _.labelPosition ?? "right", S = m.disabled ?? !1, C = _.disabledAlpha ?? .5, w = m.tristate ?? !1, [T, E] = s(f(m.checked ?? m.defaultChecked ?? !1, w));
49
+ o(() => {
50
+ m.checked !== void 0 && E(f(m.checked, w));
51
+ }, [m.checked, w]);
52
+ let D = {
53
+ checked: T,
54
+ disabled: S,
55
+ size: y,
56
+ color: _.color ?? 7829367,
57
+ checkedColor: _.checkedColor ?? 5025616,
58
+ indeterminateColor: _.indeterminateColor ?? _.checkedColor ?? 5025616
59
+ }, O = () => {
60
+ if (S) return;
61
+ let e = d(T, w);
62
+ m.checked === void 0 && E(e), m.onChange?.(e);
63
+ }, k = m.indicator ?? m.renderIndicator?.(D) ?? /* @__PURE__ */ l(p, { ...D }), A = m.label && x !== "none" ? /* @__PURE__ */ l(e, {
64
+ text: m.label,
65
+ style: _.labelStyle,
66
+ alpha: S ? C : 1
67
+ }) : null;
68
+ return /* @__PURE__ */ u(t, {
69
+ direction: "row",
70
+ alignItems: "center",
71
+ enableGestures: !S,
72
+ onTouch: O,
73
+ theme: v,
74
+ gap: b,
75
+ alpha: S ? C : 1,
76
+ children: [
77
+ x === "left" && A,
78
+ k,
79
+ x !== "left" && A
80
+ ]
81
+ }, m.key);
82
+ }
83
+ //#endregion
84
+ export { m as Checkbox, d as getNextCheckedState, f as normalizeCheckedState };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Checkbox.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.test.d.ts","sourceRoot":"","sources":["../src/Checkbox.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ const e=require(`./primitives/Text.cjs`),t=require(`./primitives/VectorDrawContent.cjs`),n=require(`./primitives/View.cjs`);require(`./primitives.cjs`);const r=require(`./RadioGroup.cjs`),i=require(`./Slider.cjs`);let a=require(`@number10/jsx-core`),o=require(`@number10/jsx-core/jsx-runtime`);var ee={title:`Color Picker`,tone:`Tone`,vivid:`Vivid`,muted:`Muted`,hue:`Hue`,saturation:`Saturation`,lightness:`Lightness`,close:`X`};function s(e,t,n){return Math.max(t,Math.min(n,e))}function c(e,t,n){return(0,a.hslToNumber)(s(e,0,360)/360,s(t,0,100)/100,s(n,0,100)/100)}function l(e){let t=(0,a.numberToHsl)(e);return{hue:Math.round(t.h*360),saturation:Math.round(t.s*100),lightness:Math.round(t.l*100)}}function u(u){let{value:d,defaultValue:te=3113197,onChange:ne,tone:f,defaultTone:p=`vivid`,onToneChange:re,onClose:m,showCloseButton:ie,showTone:ae=!0,showSwatches:oe=!0,showRgbLabel:se=!0,labels:h,trackLength:g,previewSize:_,gradientSteps:v,theme:y}=u,b=(0,a.useTheme)(),ce=y?(0,a.mergeThemes)(b??{},y):b,{props:x,nestedTheme:S}=(0,a.resolveComponentTheme)({componentName:`ColorPicker`,globalTheme:(0,a.getGlobalThemeDefaults)(),localTheme:ce,knownComponents:a.KNOWN_COMPONENTS}),C=l(d??te),[w,T]=(0,a.useState)(C.hue),[E,D]=(0,a.useState)(C.saturation),[O,k]=(0,a.useState)(C.lightness),[A,j]=(0,a.useState)(f??p),M=(0,a.useRef)(void 0),N=f??A,P=c(w,E,O),F=(0,a.numberToRgb)(P),le=(0,a.numberToHex)(P).toUpperCase(),I={...ee,...x.labels??{},...h??{}},L=x.labelStyle??{color:`#ffffff`,fontSize:`12px`},R=x.valueStyle??L,z=x.titleStyle??{color:`#ffffff`,fontSize:`16px`,fontStyle:`bold`},B=g??x.trackLength??280,V=x.trackHeight??14,H=_??x.previewSize??116,U=v??x.gradientSteps??32,W=x.borderColor??3489874,ue=x.backgroundColor??1515566,de=x.controlBackgroundColor??2240583,G=x.thumbBorderColor??16777215,K=x.swatchSize??18,fe=ie??m!==void 0;(0,a.useEffect)(()=>{if(d===void 0||d===M.current)return;let e=l(d);T(e.hue),D(e.saturation),k(e.lightness)},[d]),(0,a.useEffect)(()=>{f!==void 0&&f!==A&&j(f)},[f,A]);let pe=(e,t,n,r=N)=>{let i=c(e,t,n);M.current=i,ne?.(i,{hue:e,saturation:t,lightness:n,tone:r})},q=(e,t,n,r=N)=>{let i=Math.round(s(e,0,360)),a=Math.round(s(t,0,100)),o=Math.round(s(n,0,100));T(i),D(a),k(o),pe(i,a,o,r)},J=e=>{let t=l(e);q(t.hue,t.saturation,t.lightness)},me=e=>{let t=Math.round(e===`muted`?E*.6:s(E/.6,Math.max(E,70),100));f===void 0&&j(e),re?.(e),q(w,t,O,e)},he=[(0,a.darken)(P,.35),(0,a.darken)(P,.15),P,(0,a.lighten)(P,.2),(0,a.lighten)(P,.4)],Y=x.thumbSize??18,X=Y/2,ge=Math.max(1,Math.round(X*.22)),_e=(0,a.mergeThemes)(S,{Slider:{trackHeight:V,trackBorderRadius:V/2,thumbSize:Y,thumbBorderWidth:2,thumbBorderColor:G}}),Z=e=>()=>(0,o.jsx)(n.View,{width:B,height:V,children:(0,o.jsx)(t.VectorDrawContent,{onDraw:t=>{let n=B/U;for(let r=0;r<U;r+=1){let i=U===1?1:r/(U-1);t.fillStyle(e(i),1),t.fillRect(r*n,0,n+1,V)}}})}),Q=e=>(n,r)=>(0,o.jsx)(t.VectorDrawContent,{scale:r?1.2:1,onDraw:t=>{t.fillStyle(0,.32).fillCircle(0,ge,X),t.fillStyle(e,1).fillCircle(0,0,X),t.lineStyle(2,G,1).strokeCircle(0,0,X),r&&t.lineStyle(2,e,.7).strokeCircle(0,0,X+4)}}),$=(t,r)=>(0,o.jsxs)(n.View,{direction:`row`,width:B,justifyContent:`space-between`,children:[(0,o.jsx)(e.Text,{text:t,style:L}),(0,o.jsx)(e.Text,{text:r,style:R})]});return(0,o.jsxs)(n.View,{direction:`row`,gap:x.gap??18,padding:x.padding??14,backgroundColor:ue,borderColor:W,borderWidth:x.borderWidth??1,cornerRadius:x.cornerRadius??8,alignItems:`center`,theme:S,children:[(0,o.jsxs)(n.View,{gap:x.previewGap??10,width:Math.max(H,132),children:[(0,o.jsx)(n.View,{width:H,height:H,backgroundColor:P,borderColor:W,borderWidth:x.previewBorderWidth??2,cornerRadius:x.previewCornerRadius??8,alignItems:`center`,justifyContent:`center`,children:(0,o.jsx)(e.Text,{text:le,style:x.hexStyle})}),se?(0,o.jsx)(e.Text,{text:I.formatRgb?I.formatRgb(F):`rgb ${F.r}, ${F.g}, ${F.b}`,style:L}):null,oe?(0,o.jsx)(n.View,{direction:`row`,gap:x.swatchGap??6,children:he.map((e,t)=>(0,o.jsx)(n.View,{width:K,height:K,backgroundColor:e,borderColor:W,borderWidth:1,cornerRadius:x.swatchCornerRadius??4,enableGestures:!0,onTouch:()=>J(e)},`swatch-${t}`))}):null]}),(0,o.jsxs)(n.View,{gap:x.controlGap??12,theme:_e,children:[(0,o.jsxs)(n.View,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,width:B,children:[(0,o.jsx)(e.Text,{text:I.title,style:z}),fe?(0,o.jsx)(n.View,{width:x.closeButtonSize??24,height:x.closeButtonSize??24,alignItems:`center`,justifyContent:`center`,backgroundColor:de,backgroundAlpha:x.controlBackgroundAlpha??.65,borderColor:W,borderWidth:1,cornerRadius:x.closeButtonCornerRadius??5,enableGestures:!0,onTouch:()=>m?.(),children:(0,o.jsx)(e.Text,{text:I.close,style:L})}):null]}),ae?(0,o.jsxs)(n.View,{direction:`row`,gap:12,alignItems:`center`,children:[(0,o.jsx)(e.Text,{text:I.tone,style:L}),(0,o.jsx)(r.RadioGroup,{direction:`row`,options:[{value:`vivid`,label:I.vivid},{value:`muted`,label:I.muted}],value:N,onChange:e=>me(e)})]}):null,(0,o.jsxs)(n.View,{gap:6,children:[$(I.hue,I.formatHue?.(w)??`${Math.round(w)}deg`),(0,o.jsx)(i.Slider,{value:w,onChange:e=>q(e,E,O),min:0,max:360,step:1,trackLength:B,renderTrack:Z(e=>c(e*360,100,50)),renderThumb:Q(c(w,100,50))})]}),(0,o.jsxs)(n.View,{gap:6,children:[$(I.saturation,I.formatSaturation?.(E)??`${Math.round(E)}%`),(0,o.jsx)(i.Slider,{value:E,onChange:e=>q(w,e,O),min:0,max:100,step:1,trackLength:B,renderTrack:Z(e=>c(w,e*100,O)),renderThumb:Q(P)})]}),(0,o.jsxs)(n.View,{gap:6,children:[$(I.lightness,I.formatLightness?.(O)??`${Math.round(O)}%`),(0,o.jsx)(i.Slider,{value:O,onChange:e=>q(w,E,e),min:0,max:100,step:1,trackLength:B,renderTrack:Z(e=>c(w,E,e*100)),renderThumb:Q(P)})]})]})]})}exports.ColorPicker=u;
@@ -0,0 +1,48 @@
1
+ import { VNodeLike } from '@number10/jsx-core';
2
+ import { PortableComponentPartialTheme } from './theme-types';
3
+ export type ColorPickerTone = 'vivid' | 'muted';
4
+ export interface ColorPickerState {
5
+ hue: number;
6
+ saturation: number;
7
+ lightness: number;
8
+ tone: ColorPickerTone;
9
+ }
10
+ export interface ColorPickerLabels {
11
+ title?: string;
12
+ tone?: string;
13
+ vivid?: string;
14
+ muted?: string;
15
+ hue?: string;
16
+ saturation?: string;
17
+ lightness?: string;
18
+ close?: string;
19
+ formatHue?: (value: number) => string;
20
+ formatSaturation?: (value: number) => string;
21
+ formatLightness?: (value: number) => string;
22
+ formatRgb?: (rgb: {
23
+ r: number;
24
+ g: number;
25
+ b: number;
26
+ }) => string;
27
+ }
28
+ export interface ColorPickerProps {
29
+ key?: string | number | undefined;
30
+ value?: number;
31
+ defaultValue?: number;
32
+ onChange?: (color: number, state: ColorPickerState) => void;
33
+ tone?: ColorPickerTone;
34
+ defaultTone?: ColorPickerTone;
35
+ onToneChange?: (tone: ColorPickerTone) => void;
36
+ onClose?: () => void;
37
+ showCloseButton?: boolean;
38
+ showTone?: boolean;
39
+ showSwatches?: boolean;
40
+ showRgbLabel?: boolean;
41
+ labels?: ColorPickerLabels;
42
+ trackLength?: number;
43
+ previewSize?: number;
44
+ gradientSteps?: number;
45
+ theme?: PortableComponentPartialTheme<'ColorPicker'>;
46
+ }
47
+ export declare function ColorPicker(props: ColorPickerProps): VNodeLike;
48
+ //# sourceMappingURL=ColorPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.d.ts","sourceRoot":"","sources":["../src/ColorPicker.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAoBnD,OAAO,KAAK,EAAoB,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAIpF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,eAAe,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;IAC3C,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC3D,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,WAAW,CAAC,EAAE,eAAe,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,6BAA6B,CAAC,aAAa,CAAC,CAAA;CACrD;AA0CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAgV9D"}