@jcdecor/ui 0.1.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 (86) hide show
  1. package/README.md +83 -0
  2. package/dist/brand/Brand.d.ts +93 -0
  3. package/dist/brand/index.d.ts +2 -0
  4. package/dist/brand/paths.d.ts +43 -0
  5. package/dist/brand-CXtAwb1A.js +248 -0
  6. package/dist/brand-CXtAwb1A.js.map +1 -0
  7. package/dist/brand.d.ts +1 -0
  8. package/dist/brand.js +3 -0
  9. package/dist/charts/ChartCard.d.ts +20 -0
  10. package/dist/charts/charts.d.ts +36 -0
  11. package/dist/charts/index.d.ts +5 -0
  12. package/dist/charts/palette.d.ts +12 -0
  13. package/dist/charts.d.ts +1 -0
  14. package/dist/charts.js +151 -0
  15. package/dist/charts.js.map +1 -0
  16. package/dist/chat/ChatComposer.d.ts +27 -0
  17. package/dist/chat/ChatLayout.d.ts +36 -0
  18. package/dist/chat/ChatMessage.d.ts +25 -0
  19. package/dist/chat/ChatThread.d.ts +25 -0
  20. package/dist/chat/ConversationList.d.ts +16 -0
  21. package/dist/chat/TypingIndicator.d.ts +10 -0
  22. package/dist/chat/index.d.ts +9 -0
  23. package/dist/chat/types.d.ts +38 -0
  24. package/dist/chat/utils.d.ts +25 -0
  25. package/dist/chat.d.ts +1 -0
  26. package/dist/chat.js +541 -0
  27. package/dist/chat.js.map +1 -0
  28. package/dist/colors-C_5SHERN.js +33 -0
  29. package/dist/colors-C_5SHERN.js.map +1 -0
  30. package/dist/components/ContentCard/ContentCard.d.ts +25 -0
  31. package/dist/components/ContentCard/index.d.ts +1 -0
  32. package/dist/components/CouponCode/CouponCode.d.ts +14 -0
  33. package/dist/components/CouponCode/index.d.ts +1 -0
  34. package/dist/components/DataTable/DataTable.d.ts +52 -0
  35. package/dist/components/DataTable/index.d.ts +1 -0
  36. package/dist/components/KpiCard/KpiCard.d.ts +48 -0
  37. package/dist/components/KpiCard/index.d.ts +1 -0
  38. package/dist/components/PageHeader/PageHeader.d.ts +22 -0
  39. package/dist/components/PageHeader/index.d.ts +1 -0
  40. package/dist/components/PriceTag/PriceTag.d.ts +22 -0
  41. package/dist/components/PriceTag/index.d.ts +1 -0
  42. package/dist/components/ProductCard/ProductCard.d.ts +39 -0
  43. package/dist/components/ProductCard/index.d.ts +1 -0
  44. package/dist/components/PromoBanner/PromoBanner.d.ts +35 -0
  45. package/dist/components/PromoBanner/index.d.ts +1 -0
  46. package/dist/components/Tag/Tag.d.ts +16 -0
  47. package/dist/components/Tag/index.d.ts +1 -0
  48. package/dist/components/ThemeToggle/ThemeToggle.d.ts +11 -0
  49. package/dist/components/ThemeToggle/index.d.ts +1 -0
  50. package/dist/components/TokenSwatch/TokenSwatch.d.ts +26 -0
  51. package/dist/components/TokenSwatch/index.d.ts +1 -0
  52. package/dist/components/TopNav/TopNav.d.ts +32 -0
  53. package/dist/components/TopNav/index.d.ts +1 -0
  54. package/dist/components/Typography/Typography.d.ts +74 -0
  55. package/dist/components/Typography/index.d.ts +1 -0
  56. package/dist/components/index.d.ts +13 -0
  57. package/dist/format-Cxmo46_A.js +97 -0
  58. package/dist/format-Cxmo46_A.js.map +1 -0
  59. package/dist/index.d.ts +13 -0
  60. package/dist/index.js +1868 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/provider/JcProvider.d.ts +18 -0
  63. package/dist/styles.css +2 -0
  64. package/dist/theme/colors.d.ts +26 -0
  65. package/dist/theme/components/buttons.d.ts +2 -0
  66. package/dist/theme/components/combobox.d.ts +2 -0
  67. package/dist/theme/components/dataDisplay.d.ts +2 -0
  68. package/dist/theme/components/feedback.d.ts +2 -0
  69. package/dist/theme/components/index.d.ts +3 -0
  70. package/dist/theme/components/inputs.d.ts +2 -0
  71. package/dist/theme/components/layout.d.ts +2 -0
  72. package/dist/theme/components/misc.d.ts +2 -0
  73. package/dist/theme/components/navigation.d.ts +2 -0
  74. package/dist/theme/components/overlays.d.ts +2 -0
  75. package/dist/theme/components/typography.d.ts +2 -0
  76. package/dist/theme/controls.d.ts +44 -0
  77. package/dist/theme/cssVariablesResolver.d.ts +2 -0
  78. package/dist/theme/theme.d.ts +147 -0
  79. package/dist/theme/tokens.d.ts +457 -0
  80. package/dist/theme/variantColorResolver.d.ts +9 -0
  81. package/dist/tokens-BBTJY6nq.js +316 -0
  82. package/dist/tokens-BBTJY6nq.js.map +1 -0
  83. package/dist/tokens.d.ts +2 -0
  84. package/dist/tokens.js +4 -0
  85. package/dist/utils/format.d.ts +14 -0
  86. package/package.json +105 -0
package/dist/index.js ADDED
@@ -0,0 +1,1868 @@
1
+ "use client";
2
+ import { a as e, d as t, f as n, l as r, n as i, o as a, p as o, r as s, s as c, t as l, u } from "./tokens-BBTJY6nq.js";
3
+ import { t as d } from "./colors-C_5SHERN.js";
4
+ import { a as f, c as p, d as m, f as h, i as g, l as _, n as v, o as y, r as b, s as x, t as S, u as C } from "./format-Cxmo46_A.js";
5
+ import { a as w, c as T, i as E, l as D, n as ee, o as O, r as k, s as te, t as ne, u as re } from "./brand-CXtAwb1A.js";
6
+ import { Accordion as ie, ActionBar as ae, ActionIcon as oe, Alert as se, AlphaSlider as ce, Anchor as le, AngleSlider as ue, AppShell as de, Avatar as fe, BackgroundImage as pe, Badge as me, Blockquote as he, Box as A, Breadcrumbs as ge, Burger as _e, Button as ve, Card as ye, Cascader as be, Checkbox as xe, CheckboxCard as Se, CheckboxIndicator as Ce, Chip as we, CloseButton as Te, Code as Ee, Collapse as De, ColorPicker as Oe, Container as ke, DataList as Ae, Dialog as je, Divider as Me, Drawer as Ne, EmptyState as Pe, Fieldset as Fe, FloatingWindow as Ie, Group as j, HoverCard as Le, HueSlider as Re, Image as ze, Indicator as Be, Input as Ve, InputWrapper as He, Kbd as Ue, List as We, Loader as Ge, LoadingOverlay as Ke, MantineProvider as qe, Mark as Je, Menu as Ye, Menubar as Xe, Modal as Ze, NativeSelect as Qe, NavLink as $e, Notification as et, NumberFormatter as tt, Overlay as nt, Pagination as rt, Paper as it, Pill as at, PinInput as ot, Popover as st, Progress as ct, Radio as lt, RadioCard as ut, RadioIndicator as dt, RangeSlider as ft, Rating as pt, RingProgress as mt, RollingNumber as ht, ScrollArea as gt, SegmentedControl as _t, SemiCircleProgress as vt, SimpleGrid as yt, Skeleton as bt, Slider as xt, Splitter as St, Spoiler as Ct, Stepper as wt, Switch as Tt, Table as M, TableOfContents as Et, Tabs as Dt, Text as N, ThemeIcon as Ot, Timeline as kt, Title as At, Tooltip as jt, Tree as Mt, Typography as Nt, createTheme as Pt, createVarsResolver as Ft, defaultVariantColorsResolver as P, factory as F, getRadius as It, getThemeColor as Lt, luminance as Rt, mergeThemeOverrides as zt, parseThemeColor as Bt, useComputedColorScheme as Vt, useMantineColorScheme as Ht, useProps as I, useStyles as L } from "@mantine/core";
7
+ import { jsx as R, jsxs as z } from "react/jsx-runtime";
8
+ import { IconAlertTriangle as Ut, IconArrowDown as Wt, IconArrowDownRight as Gt, IconArrowUp as Kt, IconArrowUpRight as qt, IconArrowsSort as Jt, IconCheck as Yt, IconCopy as Xt, IconDatabaseOff as Zt, IconHeart as Qt, IconHeartFilled as $t, IconInfoCircle as en, IconMinus as tn, IconMoon as nn, IconShoppingCart as rn, IconSun as an, IconTicket as on, IconX as sn } from "@tabler/icons-react";
9
+ import { Fragment as cn, useMemo as ln, useState as un } from "react";
10
+ import { useClipboard as dn, useDisclosure as fn } from "@mantine/hooks";
11
+ export * from "@mantine/core";
12
+ //#region src/theme/variantColorResolver.ts
13
+ var pn = {
14
+ horizon: "primary",
15
+ blue: "primary",
16
+ evergreen: "success",
17
+ green: "success",
18
+ teal: "success",
19
+ electric: "warn",
20
+ yellow: "warn",
21
+ danger: "error",
22
+ red: "error",
23
+ obsidian: "neutral",
24
+ gray: "neutral",
25
+ dark: "neutral"
26
+ }, mn = (e) => {
27
+ let { variant: t, theme: n } = e, r = e.color ?? n.primaryColor, i = Bt({
28
+ color: r,
29
+ theme: n
30
+ }), a = i.isThemeColor ? i.color : void 0;
31
+ if (t === "accent" || t === "filled" && (a === "electric" || a === "yellow") && i.shade === void 0) return {
32
+ background: "var(--mantine-color-electric-3)",
33
+ hover: "color-mix(in oklch, var(--mantine-color-electric-3), var(--mantine-color-electric-4) 40%)",
34
+ color: "var(--mantine-color-obsidian-6)",
35
+ hoverColor: "var(--mantine-color-obsidian-6)",
36
+ border: "1px solid transparent"
37
+ };
38
+ if (t === "filled" && a && i.shade === void 0) return {
39
+ ...P(e),
40
+ color: "var(--jc-on-filled)",
41
+ hoverColor: "var(--jc-on-filled)"
42
+ };
43
+ if (t === "outline") {
44
+ let t = P(e), r = P({
45
+ ...e,
46
+ variant: "light"
47
+ }), i = !e.color || a === n.primaryColor;
48
+ return {
49
+ ...t,
50
+ hover: i ? "var(--ds-primary-soft)" : r.background,
51
+ color: i ? "var(--ds-primary)" : t.color,
52
+ border: i ? "1px solid var(--ds-primary)" : t.border
53
+ };
54
+ }
55
+ if (t === "subtle" && !e.color) return {
56
+ background: "transparent",
57
+ hover: "var(--ds-surface-2)",
58
+ color: "var(--ds-text-2)",
59
+ hoverColor: "var(--ds-text)",
60
+ border: "1px solid transparent"
61
+ };
62
+ if (t === "light" && a && pn[a]) {
63
+ let e = pn[a];
64
+ return {
65
+ background: `var(--ds-tag-${e}-bg)`,
66
+ hover: `var(--ds-tag-${e}-hover)`,
67
+ color: `var(--ds-tag-${e}-color)`,
68
+ border: "1px solid transparent"
69
+ };
70
+ }
71
+ return P(e);
72
+ }, hn = (e) => e === "xs" || e === "sm" || e === "md" || e === "lg" || e === "xl", gn = {
73
+ xs: {
74
+ height: "28px",
75
+ px: "10px",
76
+ fz: "12px",
77
+ inputFz: "12px"
78
+ },
79
+ sm: {
80
+ height: "32px",
81
+ px: "12px",
82
+ fz: "13px",
83
+ inputFz: "14px"
84
+ },
85
+ md: {
86
+ height: "40px",
87
+ px: "16px",
88
+ fz: o.button.size,
89
+ inputFz: "16px"
90
+ },
91
+ lg: {
92
+ height: "48px",
93
+ px: "20px",
94
+ fz: "16px",
95
+ inputFz: "16px"
96
+ },
97
+ xl: {
98
+ height: "56px",
99
+ px: "24px",
100
+ fz: "18px",
101
+ inputFz: "18px"
102
+ }
103
+ }, _n = {
104
+ backgroundOpacity: .5,
105
+ blur: 2,
106
+ color: "#08154B"
107
+ }, vn = {
108
+ button: "jc-buttons-button-149h8",
109
+ actionIcon: "jc-buttons-actionIcon-1ori4",
110
+ closeButton: "jc-buttons-closeButton-5uyy8"
111
+ }, yn = {
112
+ Button: ve.extend({
113
+ classNames: { root: vn.button },
114
+ vars: (e, t) => {
115
+ if (!hn(t.size ?? "md")) return { root: {} };
116
+ let n = gn[t.size ?? "md"];
117
+ return { root: {
118
+ "--button-height": n.height,
119
+ "--button-padding-x": n.px,
120
+ "--button-fz": n.fz
121
+ } };
122
+ }
123
+ }),
124
+ ActionIcon: oe.extend({
125
+ defaultProps: { variant: "subtle" },
126
+ classNames: { root: vn.actionIcon }
127
+ }),
128
+ CloseButton: Te.extend({ classNames: { root: vn.closeButton } })
129
+ }, B = {
130
+ dropdown: "jc-combobox-dropdown-17a97",
131
+ option: "jc-combobox-option-1si4t",
132
+ groupLabel: "jc-combobox-groupLabel-15fc7",
133
+ empty: "jc-combobox-empty-hyrl8",
134
+ search: "jc-combobox-search-1u7xm",
135
+ header: "jc-combobox-header-1p0fh",
136
+ footer: "jc-combobox-footer-1o83g",
137
+ pill: "jc-combobox-pill-1qg7v",
138
+ pillRemove: "jc-combobox-pillRemove-1ctiv",
139
+ cascaderColumn: "jc-combobox-cascaderColumn-d4mtr",
140
+ cascaderOption: "jc-combobox-cascaderOption-ituy4",
141
+ cascaderOverflow: "jc-combobox-cascaderOverflow-1rawy"
142
+ }, bn = [
143
+ "Select",
144
+ "MultiSelect",
145
+ "Autocomplete",
146
+ "TagsInput",
147
+ "PillsInput",
148
+ "Cascader",
149
+ "TreeSelect",
150
+ "Combobox"
151
+ ], V = {
152
+ dropdown: B.dropdown,
153
+ option: B.option,
154
+ groupLabel: B.groupLabel,
155
+ empty: B.empty
156
+ }, xn = {
157
+ Combobox: {
158
+ ...V,
159
+ search: B.search,
160
+ header: B.header,
161
+ footer: B.footer
162
+ },
163
+ ComboboxPopover: {
164
+ ...V,
165
+ search: B.search
166
+ },
167
+ Select: V,
168
+ Autocomplete: V,
169
+ MultiSelect: {
170
+ ...V,
171
+ pill: B.pill
172
+ },
173
+ TagsInput: {
174
+ ...V,
175
+ pill: B.pill
176
+ },
177
+ TreeSelect: {
178
+ ...V,
179
+ pill: B.pill
180
+ }
181
+ }, Sn = {
182
+ ...Object.fromEntries(bn.map((e) => [e, { defaultProps: { size: "md" } }])),
183
+ ...Object.fromEntries(Object.entries(xn).map(([e, t]) => [e, {
184
+ defaultProps: bn.includes(e) ? { size: "md" } : {},
185
+ classNames: t
186
+ }])),
187
+ Cascader: be.extend({
188
+ defaultProps: { size: "md" },
189
+ classNames: {
190
+ ...V,
191
+ column: B.cascaderColumn,
192
+ columnOption: B.cascaderOption,
193
+ flatOption: B.option,
194
+ columnsOverflow: B.cascaderOverflow
195
+ }
196
+ }),
197
+ Pill: at.extend({ classNames: {
198
+ root: B.pill,
199
+ remove: B.pillRemove
200
+ } })
201
+ }, H = {
202
+ badge: "jc-dataDisplay-badge-y32oj",
203
+ accordionItem: "jc-dataDisplay-accordionItem-1ojd4",
204
+ accordionControl: "jc-dataDisplay-accordionControl-1pgyb",
205
+ accordionLabel: "jc-dataDisplay-accordionLabel-two7l",
206
+ accordionChevron: "jc-dataDisplay-accordionChevron-1m0q3",
207
+ accordionContent: "jc-dataDisplay-accordionContent-1pgy2",
208
+ avatar: "jc-dataDisplay-avatar-1q26r",
209
+ dataList: "jc-dataDisplay-dataList-19i1v",
210
+ dataListLabel: "jc-dataDisplay-dataListLabel-g7pai",
211
+ dataListValue: "jc-dataDisplay-dataListValue-gd7g8",
212
+ indicator: "jc-dataDisplay-indicator-1jhk0",
213
+ kbd: "jc-dataDisplay-kbd-iqhii",
214
+ spoilerControl: "jc-dataDisplay-spoilerControl-1en0q",
215
+ timeline: "jc-dataDisplay-timeline-1glrj",
216
+ timelineItem: "jc-dataDisplay-timelineItem-1xxlx",
217
+ timelineBullet: "jc-dataDisplay-timelineBullet-7n3af",
218
+ timelineTitle: "jc-dataDisplay-timelineTitle-116d2"
219
+ }, Cn = {
220
+ Accordion: ie.extend({
221
+ defaultProps: { chevronPosition: "right" },
222
+ classNames: {
223
+ item: H.accordionItem,
224
+ control: H.accordionControl,
225
+ label: H.accordionLabel,
226
+ chevron: H.accordionChevron,
227
+ content: H.accordionContent
228
+ }
229
+ }),
230
+ Avatar: fe.extend({
231
+ defaultProps: {
232
+ color: "horizon",
233
+ radius: "xl"
234
+ },
235
+ classNames: { root: H.avatar }
236
+ }),
237
+ BackgroundImage: pe.extend({ defaultProps: { radius: "md" } }),
238
+ Badge: me.extend({
239
+ defaultProps: {
240
+ variant: "light",
241
+ radius: "xl"
242
+ },
243
+ classNames: { root: H.badge },
244
+ vars: (e, t) => (t.size ?? "md") === "md" ? { root: {
245
+ "--badge-height": "24px",
246
+ "--badge-fz": "12px",
247
+ "--badge-padding-x": "8px"
248
+ } } : { root: {} }
249
+ }),
250
+ Card: ye.extend({ defaultProps: {
251
+ radius: "md",
252
+ padding: "lg",
253
+ shadow: "sm",
254
+ withBorder: !0
255
+ } }),
256
+ DataList: Ae.extend({ classNames: {
257
+ root: H.dataList,
258
+ itemLabel: H.dataListLabel,
259
+ itemValue: H.dataListValue
260
+ } }),
261
+ Image: ze.extend({ defaultProps: { radius: "md" } }),
262
+ Indicator: Be.extend({
263
+ defaultProps: { color: "danger" },
264
+ classNames: { indicator: H.indicator }
265
+ }),
266
+ Kbd: Ue.extend({ classNames: { root: H.kbd } }),
267
+ NumberFormatter: tt.extend({ defaultProps: {
268
+ thousandSeparator: ".",
269
+ decimalSeparator: ","
270
+ } }),
271
+ RollingNumber: ht.extend({ defaultProps: {
272
+ thousandSeparator: ".",
273
+ decimalSeparator: ","
274
+ } }),
275
+ Spoiler: Ct.extend({ classNames: { control: H.spoilerControl } }),
276
+ ThemeIcon: Ot.extend({ defaultProps: { radius: "md" } }),
277
+ Timeline: kt.extend({
278
+ defaultProps: {
279
+ bulletSize: 24,
280
+ lineWidth: 2
281
+ },
282
+ classNames: {
283
+ root: H.timeline,
284
+ item: H.timelineItem,
285
+ itemBullet: H.timelineBullet,
286
+ itemTitle: H.timelineTitle
287
+ }
288
+ })
289
+ }, U = {
290
+ alert: "jc-feedback-alert-n3tf0",
291
+ alertTitle: "jc-feedback-alertTitle-1z68r",
292
+ alertMessage: "jc-feedback-alertMessage-jigev",
293
+ alertWrapper: "jc-feedback-alertWrapper-u3ubp",
294
+ notification: "jc-feedback-notification-16k5u",
295
+ notificationTitle: "jc-feedback-notificationTitle-1xh57",
296
+ notificationDescription: "jc-feedback-notificationDescription-vjen2",
297
+ notificationIcon: "jc-feedback-notificationIcon-rfugf",
298
+ progress: "jc-feedback-progress-j1f7j",
299
+ progressLabel: "jc-feedback-progressLabel-wds8t",
300
+ ringCurve: "jc-feedback-ringCurve-16jyl",
301
+ semiCircle: "jc-feedback-semiCircle-f8jo0",
302
+ semiCircleLabel: "jc-feedback-semiCircleLabel-1uy28",
303
+ skeleton: "jc-feedback-skeleton-1x4pg",
304
+ emptyIndicator: "jc-feedback-emptyIndicator-1r421",
305
+ emptyState: "jc-feedback-emptyState-nq4vc",
306
+ emptyTitle: "jc-feedback-emptyTitle-nqi0z",
307
+ emptyDescription: "jc-feedback-emptyDescription-1jfzf"
308
+ }, wn = {
309
+ Notification: et.extend({
310
+ defaultProps: { radius: "md" },
311
+ classNames: {
312
+ root: U.notification,
313
+ title: U.notificationTitle,
314
+ description: U.notificationDescription,
315
+ icon: U.notificationIcon
316
+ }
317
+ }),
318
+ Alert: se.extend({
319
+ defaultProps: { variant: "light" },
320
+ classNames: {
321
+ root: U.alert,
322
+ wrapper: U.alertWrapper,
323
+ title: U.alertTitle,
324
+ message: U.alertMessage
325
+ }
326
+ }),
327
+ Loader: Ge.extend({ defaultProps: { type: "oval" } }),
328
+ Progress: ct.extend({
329
+ defaultProps: { radius: "xl" },
330
+ classNames: {
331
+ root: U.progress,
332
+ label: U.progressLabel
333
+ }
334
+ }),
335
+ RingProgress: mt.extend({ classNames: { curve: U.ringCurve } }),
336
+ SemiCircleProgress: vt.extend({ classNames: {
337
+ root: U.semiCircle,
338
+ label: U.semiCircleLabel
339
+ } }),
340
+ Skeleton: bt.extend({ classNames: { root: U.skeleton } }),
341
+ EmptyState: Pe.extend({ classNames: {
342
+ root: U.emptyState,
343
+ indicator: U.emptyIndicator,
344
+ title: U.emptyTitle,
345
+ description: U.emptyDescription
346
+ } })
347
+ }, W = {
348
+ input: "jc-inputs-input-14fe0",
349
+ label: "jc-inputs-label-14gss",
350
+ description: "jc-inputs-description-h3o5l",
351
+ segmentedRoot: "jc-inputs-segmentedRoot-a1pin",
352
+ segmentedIndicator: "jc-inputs-segmentedIndicator-hur0q",
353
+ segmentedLabel: "jc-inputs-segmentedLabel-r8yuv",
354
+ nativeSelect: "jc-inputs-nativeSelect-x6pd6",
355
+ nativeSelectSection: "jc-inputs-nativeSelectSection-10qzx",
356
+ checkInput: "jc-inputs-checkInput-103g7",
357
+ selectCard: "jc-inputs-selectCard-hm0vp",
358
+ switchTrack: "jc-inputs-switchTrack-9mzum",
359
+ chipLabel: "jc-inputs-chipLabel-16nl7",
360
+ fieldset: "jc-inputs-fieldset-moaap",
361
+ fieldsetLegend: "jc-inputs-fieldsetLegend-1kql8",
362
+ pinInput: "jc-inputs-pinInput-uiey8",
363
+ sliderRoot: "jc-inputs-sliderRoot-1rast",
364
+ sliderThumb: "jc-inputs-sliderThumb-18hr1",
365
+ sliderLabel: "jc-inputs-sliderLabel-18d7t",
366
+ sliderMarkLabel: "jc-inputs-sliderMarkLabel-pr3dw",
367
+ angleRoot: "jc-inputs-angleRoot-veqfe",
368
+ angleThumb: "jc-inputs-angleThumb-1eb9s",
369
+ angleLabel: "jc-inputs-angleLabel-1e6qk",
370
+ rating: "jc-inputs-rating-1dsgs",
371
+ ratingStar: "jc-inputs-ratingStar-8k0na",
372
+ colorSlider: "jc-inputs-colorSlider-1pqmu",
373
+ colorSliderOverlay: "jc-inputs-colorSliderOverlay-f2qdi",
374
+ colorThumb: "jc-inputs-colorThumb-1u5u0",
375
+ colorSaturation: "jc-inputs-colorSaturation-wvgu3",
376
+ colorSwatch: "jc-inputs-colorSwatch-1pwjt"
377
+ }, Tn = Object.fromEntries([
378
+ "InputBase",
379
+ "TextInput",
380
+ "PasswordInput",
381
+ "NumberInput",
382
+ "Textarea",
383
+ "JsonInput",
384
+ "ColorInput",
385
+ "FileInput",
386
+ "MaskInput"
387
+ ].map((e) => [e, { defaultProps: { size: "md" } }])), En = {
388
+ slider: W.colorSlider,
389
+ sliderOverlay: W.colorSliderOverlay,
390
+ thumb: W.colorThumb
391
+ }, Dn = {
392
+ root: W.sliderRoot,
393
+ thumb: W.sliderThumb,
394
+ label: W.sliderLabel,
395
+ markLabel: W.sliderMarkLabel
396
+ }, On = {
397
+ ...Tn,
398
+ Input: Ve.extend({
399
+ defaultProps: { size: "md" },
400
+ classNames: { input: W.input },
401
+ vars: (e, t) => {
402
+ let n = t.size ?? "md";
403
+ return hn(n) ? { wrapper: {
404
+ "--input-height": gn[n].height,
405
+ "--input-fz": gn[n].inputFz
406
+ } } : { wrapper: {} };
407
+ }
408
+ }),
409
+ InputWrapper: He.extend({ classNames: {
410
+ label: W.label,
411
+ description: W.description
412
+ } }),
413
+ NativeSelect: Qe.extend({
414
+ defaultProps: { size: "md" },
415
+ classNames: {
416
+ input: W.nativeSelect,
417
+ section: W.nativeSelectSection
418
+ }
419
+ }),
420
+ Checkbox: xe.extend({
421
+ defaultProps: { radius: "xs" },
422
+ classNames: { input: W.checkInput }
423
+ }),
424
+ CheckboxIndicator: Ce.extend({
425
+ defaultProps: { radius: "xs" },
426
+ classNames: { indicator: W.checkInput }
427
+ }),
428
+ CheckboxCard: Se.extend({
429
+ defaultProps: { radius: "md" },
430
+ classNames: { card: W.selectCard }
431
+ }),
432
+ Radio: lt.extend({ classNames: { radio: W.checkInput } }),
433
+ RadioIndicator: dt.extend({ classNames: { indicator: W.checkInput } }),
434
+ RadioCard: ut.extend({
435
+ defaultProps: { radius: "md" },
436
+ classNames: { card: W.selectCard }
437
+ }),
438
+ Switch: Tt.extend({
439
+ defaultProps: { radius: "xl" },
440
+ classNames: { track: W.switchTrack }
441
+ }),
442
+ Chip: we.extend({
443
+ defaultProps: { variant: "outline" },
444
+ classNames: { label: W.chipLabel },
445
+ vars: (e, t) => {
446
+ if (t.variant !== "outline") return { root: {} };
447
+ let n = e.variantColorResolver({
448
+ color: t.color || e.primaryColor,
449
+ theme: e,
450
+ variant: "light"
451
+ });
452
+ return { root: {
453
+ "--chip-bg": n.hover,
454
+ "--chip-hover": n.hover
455
+ } };
456
+ }
457
+ }),
458
+ SegmentedControl: _t.extend({
459
+ defaultProps: { radius: "sm" },
460
+ classNames: {
461
+ root: W.segmentedRoot,
462
+ indicator: W.segmentedIndicator,
463
+ label: W.segmentedLabel
464
+ }
465
+ }),
466
+ Fieldset: Fe.extend({
467
+ defaultProps: { radius: "md" },
468
+ classNames: {
469
+ root: W.fieldset,
470
+ legend: W.fieldsetLegend
471
+ }
472
+ }),
473
+ PinInput: ot.extend({
474
+ defaultProps: { size: "md" },
475
+ classNames: { input: W.pinInput },
476
+ vars: (e, t) => {
477
+ let n = t.size ?? "md";
478
+ return { root: hn(n) ? { "--pin-input-size": gn[n].height } : {} };
479
+ }
480
+ }),
481
+ Slider: xt.extend({ classNames: Dn }),
482
+ RangeSlider: ft.extend({ classNames: Dn }),
483
+ AngleSlider: ue.extend({ classNames: {
484
+ root: W.angleRoot,
485
+ thumb: W.angleThumb,
486
+ label: W.angleLabel
487
+ } }),
488
+ Rating: pt.extend({
489
+ defaultProps: { color: "electric.4" },
490
+ classNames: {
491
+ root: W.rating,
492
+ starSymbol: W.ratingStar
493
+ },
494
+ vars: (e, t) => ({ root: t.color === "electric.4" ? { "--rating-color": "var(--jc-rating-color)" } : {} })
495
+ }),
496
+ ColorPicker: Oe.extend({ classNames: {
497
+ ...En,
498
+ saturation: W.colorSaturation,
499
+ swatch: W.colorSwatch
500
+ } }),
501
+ AlphaSlider: ce.extend({ classNames: En }),
502
+ HueSlider: Re.extend({ classNames: En })
503
+ }, G = {
504
+ appShellMain: "jc-layout-appShellMain-wfqf1",
505
+ appShellNavbar: "jc-layout-appShellNavbar-1oy4v",
506
+ appShellAside: "jc-layout-appShellAside-axw4o",
507
+ appShellHeader: "jc-layout-appShellHeader-1m5oy",
508
+ appShellFooter: "jc-layout-appShellFooter-1ldcw",
509
+ container: "jc-layout-container-107f0",
510
+ splitter: "jc-layout-splitter-hn4up",
511
+ splitterHandle: "jc-layout-splitterHandle-1st37",
512
+ splitterThumb: "jc-layout-splitterThumb-g0wug"
513
+ }, kn = {
514
+ AppShell: de.extend({ classNames: {
515
+ main: G.appShellMain,
516
+ navbar: G.appShellNavbar,
517
+ aside: G.appShellAside,
518
+ header: G.appShellHeader,
519
+ footer: G.appShellFooter
520
+ } }),
521
+ Container: ke.extend({ classNames: { root: G.container } }),
522
+ Splitter: St.extend({ classNames: {
523
+ root: G.splitter,
524
+ handle: G.splitterHandle,
525
+ thumb: G.splitterThumb
526
+ } })
527
+ }, K = {
528
+ paper: "jc-misc-paper-9jp7c",
529
+ divider: "jc-misc-divider-1gqkk",
530
+ scrollbar: "jc-misc-scrollbar-1xic9",
531
+ scrollThumb: "jc-misc-scrollThumb-tc27a"
532
+ }, An = {
533
+ Paper: it.extend({
534
+ defaultProps: { radius: "md" },
535
+ classNames: { root: K.paper }
536
+ }),
537
+ Divider: Me.extend({ classNames: { root: K.divider } }),
538
+ ScrollArea: gt.extend({ classNames: {
539
+ scrollbar: K.scrollbar,
540
+ thumb: K.scrollThumb
541
+ } })
542
+ }, q = {
543
+ tabs: "jc-navigation-tabs-lccrk",
544
+ tab: "jc-navigation-tab-1881q",
545
+ anchor: "jc-navigation-anchor-193mr",
546
+ burger: "jc-navigation-burger-19osi",
547
+ navLink: "jc-navigation-navLink-kdnf5",
548
+ paginationControl: "jc-navigation-paginationControl-npz44",
549
+ stepper: "jc-navigation-stepper-vho87",
550
+ stepIcon: "jc-navigation-stepIcon-1gspe",
551
+ stepCompletedIcon: "jc-navigation-stepCompletedIcon-93fho",
552
+ stepLabel: "jc-navigation-stepLabel-31wcs",
553
+ stepDescription: "jc-navigation-stepDescription-1pyee",
554
+ tocControl: "jc-navigation-tocControl-10p5o",
555
+ tree: "jc-navigation-tree-lcd48",
556
+ treeLabel: "jc-navigation-treeLabel-1gd9n"
557
+ }, jn = {
558
+ Tabs: Dt.extend({ classNames: {
559
+ root: q.tabs,
560
+ tab: q.tab
561
+ } }),
562
+ Anchor: le.extend({ classNames: { root: q.anchor } }),
563
+ Burger: _e.extend({ classNames: { root: q.burger } }),
564
+ NavLink: $e.extend({
565
+ defaultProps: { variant: "light" },
566
+ classNames: { root: q.navLink }
567
+ }),
568
+ Pagination: rt.extend({
569
+ defaultProps: { radius: "sm" },
570
+ classNames: { control: q.paginationControl }
571
+ }),
572
+ Stepper: wt.extend({ classNames: {
573
+ root: q.stepper,
574
+ stepIcon: q.stepIcon,
575
+ stepCompletedIcon: q.stepCompletedIcon,
576
+ stepLabel: q.stepLabel,
577
+ stepDescription: q.stepDescription
578
+ } }),
579
+ TableOfContents: Et.extend({ classNames: { control: q.tocControl } }),
580
+ Tree: Mt.extend({ classNames: {
581
+ root: q.tree,
582
+ label: q.treeLabel
583
+ } })
584
+ }, J = {
585
+ dropdown: "jc-overlays-dropdown-12av7",
586
+ menuItem: "jc-overlays-menuItem-zgfwx",
587
+ menuLabel: "jc-overlays-menuLabel-xqbpi",
588
+ menuDivider: "jc-overlays-menuDivider-1ido1",
589
+ menubarRoot: "jc-overlays-menubarRoot-1snxm",
590
+ menubarTarget: "jc-overlays-menubarTarget-1qmvy",
591
+ floatingSurface: "jc-overlays-floatingSurface-6q1bm",
592
+ actionBarDivider: "jc-overlays-actionBarDivider-1twmz",
593
+ modalContent: "jc-overlays-modalContent-1hqwp",
594
+ modalHeader: "jc-overlays-modalHeader-vfr4o",
595
+ modalTitle: "jc-overlays-modalTitle-11uzk",
596
+ tooltip: "jc-overlays-tooltip-38e5a"
597
+ }, Mn = {
598
+ dropdown: J.dropdown,
599
+ item: J.menuItem,
600
+ label: J.menuLabel,
601
+ divider: J.menuDivider
602
+ }, Nn = {
603
+ Menu: Ye.extend({
604
+ defaultProps: {
605
+ shadow: "md",
606
+ radius: "sm"
607
+ },
608
+ classNames: Mn
609
+ }),
610
+ Menubar: Xe.extend({ classNames: {
611
+ root: J.menubarRoot,
612
+ target: J.menubarTarget
613
+ } }),
614
+ Popover: st.extend({
615
+ defaultProps: {
616
+ shadow: "md",
617
+ radius: "sm"
618
+ },
619
+ classNames: { dropdown: J.dropdown }
620
+ }),
621
+ HoverCard: Le.extend({
622
+ defaultProps: {
623
+ shadow: "md",
624
+ radius: "md"
625
+ },
626
+ classNames: { dropdown: J.dropdown }
627
+ }),
628
+ Tooltip: jt.extend({
629
+ defaultProps: {
630
+ radius: "sm",
631
+ withArrow: !0
632
+ },
633
+ classNames: { tooltip: J.tooltip }
634
+ }),
635
+ Modal: Ze.extend({
636
+ defaultProps: {
637
+ radius: "md",
638
+ centered: !0,
639
+ shadow: "lg",
640
+ overlayProps: _n
641
+ },
642
+ classNames: {
643
+ content: J.modalContent,
644
+ header: J.modalHeader,
645
+ title: J.modalTitle
646
+ }
647
+ }),
648
+ Drawer: Ne.extend({
649
+ defaultProps: {
650
+ shadow: "lg",
651
+ overlayProps: _n
652
+ },
653
+ classNames: {
654
+ content: J.modalContent,
655
+ header: J.modalHeader,
656
+ title: J.modalTitle
657
+ }
658
+ }),
659
+ Dialog: je.extend({
660
+ defaultProps: {
661
+ radius: "md",
662
+ shadow: "lg"
663
+ },
664
+ classNames: { root: J.floatingSurface }
665
+ }),
666
+ ActionBar: ae.extend({
667
+ defaultProps: {
668
+ radius: "md",
669
+ shadow: "lg"
670
+ },
671
+ classNames: {
672
+ root: J.floatingSurface,
673
+ divider: J.actionBarDivider
674
+ }
675
+ }),
676
+ FloatingWindow: Ie.extend({
677
+ defaultProps: {
678
+ radius: "md",
679
+ shadow: "lg",
680
+ withBorder: !0
681
+ },
682
+ classNames: { root: J.floatingSurface }
683
+ }),
684
+ Overlay: nt.extend({ defaultProps: { color: l.obsidian } }),
685
+ LoadingOverlay: Ke.extend({ defaultProps: { overlayProps: {
686
+ backgroundOpacity: .75,
687
+ blur: 1
688
+ } } })
689
+ }, Y = {
690
+ table: "jc-typography-table-1uzsg",
691
+ th: "jc-typography-th-jowng",
692
+ thead: "jc-typography-thead-1uzwz",
693
+ tr: "jc-typography-tr-jowng",
694
+ title: "jc-typography-title-1uzxx",
695
+ code: "jc-typography-code-tnctp",
696
+ blockquote: "jc-typography-blockquote-h6jh3",
697
+ blockquoteIcon: "jc-typography-blockquoteIcon-1otdy",
698
+ blockquoteCite: "jc-typography-blockquoteCite-1ota9",
699
+ mark: "jc-typography-mark-tnixj",
700
+ list: "jc-typography-list-tnigi",
701
+ listItem: "jc-typography-listItem-yd73r",
702
+ listItemIcon: "jc-typography-listItemIcon-rsh18",
703
+ typography: "jc-typography-typography-1l9yf"
704
+ }, Pn = [
705
+ void 0,
706
+ "yellow",
707
+ "electric"
708
+ ], Fn = {
709
+ Blockquote: he.extend({
710
+ defaultProps: {
711
+ iconSize: 40,
712
+ radius: "sm"
713
+ },
714
+ classNames: {
715
+ root: Y.blockquote,
716
+ icon: Y.blockquoteIcon,
717
+ cite: Y.blockquoteCite
718
+ },
719
+ vars: (e, t) => !t.color || t.color === "horizon" || t.color === "blue" ? { root: {
720
+ "--bq-bd": "var(--ds-primary)",
721
+ "--bq-bg-light": "var(--ds-primary-soft)",
722
+ "--bq-bg-dark": "var(--ds-primary-soft)"
723
+ } } : { root: {} }
724
+ }),
725
+ Code: Ee.extend({ classNames: { root: Y.code } }),
726
+ List: We.extend({
727
+ defaultProps: { spacing: "xs" },
728
+ classNames: {
729
+ root: Y.list,
730
+ item: Y.listItem,
731
+ itemIcon: Y.listItemIcon
732
+ }
733
+ }),
734
+ Mark: Je.extend({
735
+ classNames: { root: Y.mark },
736
+ vars: (e, t) => {
737
+ let n = Pn.includes(t.color), r = n ? "electric" : t.color;
738
+ return { root: {
739
+ "--mark-bg-light": Lt(`${r}.${n ? 2 : 1}`, e),
740
+ "--mark-bg-dark": `color-mix(in srgb, ${Lt(`${r}.${n ? 3 : 4}`, e)} 32%, transparent)`
741
+ } };
742
+ }
743
+ }),
744
+ Table: M.extend({
745
+ defaultProps: {
746
+ highlightOnHover: !0,
747
+ verticalSpacing: "sm",
748
+ horizontalSpacing: "sm"
749
+ },
750
+ classNames: {
751
+ table: Y.table,
752
+ th: Y.th,
753
+ thead: Y.thead,
754
+ tr: Y.tr
755
+ }
756
+ }),
757
+ Title: At.extend({ classNames: { root: Y.title } }),
758
+ Typography: Nt.extend({ classNames: { root: Y.typography } })
759
+ }, In = {
760
+ ...kn,
761
+ ...On,
762
+ ...Sn,
763
+ ...yn,
764
+ ...jn,
765
+ ...wn,
766
+ ...Nn,
767
+ ...Cn,
768
+ ...Fn,
769
+ ...An
770
+ }, X = o, Ln = Pt({
771
+ colors: d,
772
+ primaryColor: "horizon",
773
+ primaryShade: {
774
+ light: 6,
775
+ dark: 4
776
+ },
777
+ autoContrast: !0,
778
+ luminanceThreshold: .3,
779
+ white: "#FFFFFF",
780
+ black: "#1F2228",
781
+ variantColorResolver: mn,
782
+ fontFamily: a,
783
+ fontFamilyMonospace: "ui-monospace, 'JetBrains Mono', SFMono-Regular, Menlo, monospace",
784
+ headings: {
785
+ fontFamily: a,
786
+ fontWeight: "600",
787
+ textWrap: "balance",
788
+ sizes: {
789
+ h1: {
790
+ fontSize: X.displaySm.size,
791
+ fontWeight: "700",
792
+ lineHeight: String(X.displaySm.lineHeight)
793
+ },
794
+ h2: {
795
+ fontSize: X.headlineLg.size,
796
+ fontWeight: "600",
797
+ lineHeight: String(X.headlineLg.lineHeight)
798
+ },
799
+ h3: {
800
+ fontSize: X.headlineMd.size,
801
+ fontWeight: "600",
802
+ lineHeight: String(X.headlineMd.lineHeight)
803
+ },
804
+ h4: {
805
+ fontSize: X.headlineSm.size,
806
+ fontWeight: "600",
807
+ lineHeight: String(X.headlineSm.lineHeight)
808
+ },
809
+ h5: {
810
+ fontSize: "18px",
811
+ fontWeight: "600",
812
+ lineHeight: "1.45"
813
+ },
814
+ h6: {
815
+ fontSize: "16px",
816
+ fontWeight: "600",
817
+ lineHeight: "1.5"
818
+ }
819
+ }
820
+ },
821
+ fontSizes: {
822
+ xs: X.disclaimer.size,
823
+ sm: X.subheadlineSm.size,
824
+ md: X.subheadlineRg.size,
825
+ lg: X.subheadlineLg.size,
826
+ xl: X.headlineSm.size
827
+ },
828
+ lineHeights: {
829
+ xs: "1.33",
830
+ sm: "1.43",
831
+ md: "1.5",
832
+ lg: "1.55",
833
+ xl: "1.4"
834
+ },
835
+ spacing: {
836
+ xs: t[4],
837
+ sm: t[8],
838
+ md: t[16],
839
+ lg: t[24],
840
+ xl: t[32]
841
+ },
842
+ radius: {
843
+ xs: "4px",
844
+ sm: "8px",
845
+ md: "12px",
846
+ lg: "16px",
847
+ xl: "99px"
848
+ },
849
+ defaultRadius: "sm",
850
+ shadows: {
851
+ xs: "0 1px 2px rgba(31,34,40,.06)",
852
+ sm: "var(--ds-shadow-sm)",
853
+ md: "var(--ds-shadow-md)",
854
+ lg: "var(--ds-shadow-lg)",
855
+ xl: "0 24px 56px rgba(31,34,40,.18)"
856
+ },
857
+ breakpoints: {
858
+ xs: "36em",
859
+ sm: "48em",
860
+ md: "64em",
861
+ lg: "85.375em",
862
+ xl: "96em"
863
+ },
864
+ focusRing: "auto",
865
+ cursorType: "pointer",
866
+ defaultGradient: {
867
+ from: "horizon.6",
868
+ to: "horizon.4",
869
+ deg: 135
870
+ },
871
+ other: {
872
+ spacing: t,
873
+ grid: c,
874
+ typography: o,
875
+ chartPalette: s
876
+ },
877
+ components: In
878
+ }), Rn = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
879
+ function zn(t) {
880
+ return {
881
+ "--ds-bg": t.bg,
882
+ "--ds-surface": t.surface,
883
+ "--ds-surface-2": t.surface2,
884
+ "--ds-text": t.text,
885
+ "--ds-text-2": t.text2,
886
+ "--ds-text-3": t.text3,
887
+ "--ds-border": t.border,
888
+ "--ds-border-soft": t.borderSoft,
889
+ "--ds-primary": t.primary,
890
+ "--ds-primary-hover": t.primaryHover,
891
+ "--ds-primary-soft": t.primarySoft,
892
+ "--ds-accent": t.accent,
893
+ "--ds-link": t.link,
894
+ "--ds-success-bg": t.successBg,
895
+ "--ds-warn-bg": t.warnBg,
896
+ "--ds-error-bg": t.errorBg,
897
+ "--ds-shadow-sm": t.shadowSm,
898
+ "--ds-shadow-md": t.shadowMd,
899
+ "--ds-shadow-lg": t.shadowLg,
900
+ "--mantine-color-body": t.bg,
901
+ "--mantine-color-text": t.text,
902
+ "--mantine-color-dimmed": t.text3,
903
+ "--mantine-color-default": t.surface,
904
+ "--mantine-color-default-hover": t.surface2,
905
+ "--mantine-color-default-border": t.border,
906
+ "--mantine-color-anchor": t.link,
907
+ "--mantine-color-error": e.error,
908
+ "--mantine-color-success": e.success
909
+ };
910
+ }
911
+ function Bn() {
912
+ let e = {
913
+ "--font-body": "'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif",
914
+ "--ds-radius": "12px",
915
+ "--ds-radius-sm": "8px",
916
+ "--ds-radius-lg": "16px",
917
+ "--grid-gap": "24px",
918
+ "--grid-margin": "64px",
919
+ "--grid-max": "1224px"
920
+ };
921
+ return Object.keys(l).forEach((t) => {
922
+ e[`--dc-${t}`] = l[t];
923
+ }), Object.keys(r).forEach((t) => {
924
+ Object.entries(r[t]).forEach(([n, r]) => {
925
+ e[`--dc-${t}-${n}`] = r;
926
+ });
927
+ }), Object.entries(o).forEach(([t, n]) => {
928
+ e[`--type-${Rn(t)}`] = n.size;
929
+ }), Object.entries(t).forEach(([t, n]) => {
930
+ e[`--sp-${t}`] = n;
931
+ }), e;
932
+ }
933
+ var Vn = {
934
+ light: {
935
+ "--ds-tag-primary-bg": r.horizon[50],
936
+ "--ds-tag-primary-hover": r.horizon[100],
937
+ "--ds-tag-primary-color": r.horizon[700],
938
+ "--ds-tag-success-bg": r.evergreen[50],
939
+ "--ds-tag-success-hover": r.evergreen[100],
940
+ "--ds-tag-success-color": r.evergreen[700],
941
+ "--ds-tag-warn-bg": r.electric[50],
942
+ "--ds-tag-warn-hover": r.electric[100],
943
+ "--ds-tag-warn-color": r.electric[700],
944
+ "--ds-tag-error-bg": r.danger[50],
945
+ "--ds-tag-error-hover": r.danger[100],
946
+ "--ds-tag-error-color": r.danger[700],
947
+ "--ds-tag-neutral-bg": r.gray[100],
948
+ "--ds-tag-neutral-hover": r.gray[200],
949
+ "--ds-tag-neutral-color": r.gray[700]
950
+ },
951
+ dark: {
952
+ "--ds-tag-primary-bg": "rgba(110,159,255,.14)",
953
+ "--ds-tag-primary-hover": "rgba(110,159,255,.22)",
954
+ "--ds-tag-primary-color": r.horizon[300],
955
+ "--ds-tag-success-bg": "rgba(97,184,117,.14)",
956
+ "--ds-tag-success-hover": "rgba(97,184,117,.22)",
957
+ "--ds-tag-success-color": r.evergreen[300],
958
+ "--ds-tag-warn-bg": "rgba(247,215,89,.12)",
959
+ "--ds-tag-warn-hover": "rgba(247,215,89,.2)",
960
+ "--ds-tag-warn-color": r.electric[200],
961
+ "--ds-tag-error-bg": "rgba(255,108,90,.14)",
962
+ "--ds-tag-error-hover": "rgba(255,108,90,.22)",
963
+ "--ds-tag-error-color": r.danger[300],
964
+ "--ds-tag-neutral-bg": u.dark.surface2,
965
+ "--ds-tag-neutral-hover": u.dark.border,
966
+ "--ds-tag-neutral-color": u.dark.text2
967
+ }
968
+ }, Hn = Object.fromEntries(Object.entries({
969
+ horizon: "primary",
970
+ blue: "primary",
971
+ evergreen: "success",
972
+ green: "success",
973
+ teal: "success",
974
+ electric: "warn",
975
+ yellow: "warn",
976
+ danger: "error",
977
+ red: "error",
978
+ obsidian: "neutral",
979
+ indigo: "neutral",
980
+ gray: "neutral",
981
+ dark: "neutral"
982
+ }).flatMap(([e, t]) => [
983
+ [`--mantine-color-${e}-light`, `var(--ds-tag-${t}-bg)`],
984
+ [`--mantine-color-${e}-light-hover`, `var(--ds-tag-${t}-hover)`],
985
+ [`--mantine-color-${e}-light-color`, `var(--ds-tag-${t}-color)`]
986
+ ])), Un = (e) => Object.fromEntries(e.map((e, t) => [`--jc-chart-${t + 1}`, e])), Wn = () => ({
987
+ variables: Bn(),
988
+ light: {
989
+ ...zn(u.light),
990
+ ...Vn.light,
991
+ ...Un(i.light),
992
+ ...Hn,
993
+ "--ds-success": e.success,
994
+ "--ds-warn": e.warn,
995
+ "--ds-error": e.error,
996
+ "--jc-on-filled": "#FFFFFF",
997
+ "--mantine-primary-color-contrast": "#FFFFFF",
998
+ "--jc-logo-shield": "#0E36E3",
999
+ "--jc-logo-letters": "#0E36E3",
1000
+ "--jc-logo-wordmark": "#0E36E3",
1001
+ "--jc-art-primary": "#2A2758",
1002
+ "--jc-art-ink": "#0C0C0C",
1003
+ "--jc-art-paper": "#FFFFFF"
1004
+ },
1005
+ dark: {
1006
+ ...zn(u.dark),
1007
+ ...Vn.dark,
1008
+ ...Un(i.dark),
1009
+ ...Hn,
1010
+ "--ds-success": r.evergreen[400],
1011
+ "--ds-warn": r.electric[300],
1012
+ "--ds-error": r.danger[400],
1013
+ "--jc-on-filled": l.obsidian,
1014
+ "--mantine-primary-color-contrast": l.obsidian,
1015
+ "--jc-logo-shield": "#FFFFFF",
1016
+ "--jc-logo-letters": "#FFFFFF",
1017
+ "--jc-logo-wordmark": "#FFFFFF",
1018
+ "--jc-art-primary": r.horizon[300],
1019
+ "--jc-art-ink": u.dark.text,
1020
+ "--jc-art-paper": u.dark.surface2,
1021
+ "--mantine-color-error": r.danger[400],
1022
+ "--mantine-color-success": r.evergreen[400]
1023
+ }
1024
+ });
1025
+ //#endregion
1026
+ //#region src/provider/JcProvider.tsx
1027
+ function Gn({ theme: e, defaultColorScheme: t = "light", cssVariablesResolver: n, children: r, ...i }) {
1028
+ let a = e ? zt(Ln, e) : Ln;
1029
+ return /* @__PURE__ */ R(qe, {
1030
+ theme: a,
1031
+ defaultColorScheme: t,
1032
+ cssVariablesResolver: n ?? Wn,
1033
+ ...i,
1034
+ children: r
1035
+ });
1036
+ }
1037
+ Gn.displayName = "@jcdecor/ui/JcProvider";
1038
+ //#endregion
1039
+ //#region src/components/Tag/Tag.tsx
1040
+ var Kn = {
1041
+ primary: "horizon",
1042
+ success: "evergreen",
1043
+ warn: "electric",
1044
+ error: "danger",
1045
+ neutral: "obsidian"
1046
+ }, qn = {
1047
+ primary: en,
1048
+ success: Yt,
1049
+ warn: Ut,
1050
+ error: sn,
1051
+ neutral: null
1052
+ };
1053
+ function Jn({ tone: e = "primary", withIcon: t = !1, variant: n = "light", leftSection: r, ...i }) {
1054
+ let a = qn[e];
1055
+ return /* @__PURE__ */ R(me, {
1056
+ color: Kn[e],
1057
+ variant: n,
1058
+ leftSection: r ?? (t && a ? /* @__PURE__ */ R(a, {
1059
+ size: 12,
1060
+ stroke: 2.5
1061
+ }) : void 0),
1062
+ "data-tone": e,
1063
+ ...i
1064
+ });
1065
+ }
1066
+ Jn.displayName = "@jcdecor/ui/Tag";
1067
+ var Yn = {
1068
+ root: "jc-PromoBanner-root-343s0",
1069
+ highlight: "jc-PromoBanner-highlight-19zvz",
1070
+ content: "jc-PromoBanner-content-1vja6",
1071
+ close: "jc-PromoBanner-close-p9u8f"
1072
+ }, Xn = {
1073
+ horizon: {
1074
+ bg: "var(--dc-horizon-700)",
1075
+ color: "#fff",
1076
+ highlight: "var(--dc-electric)"
1077
+ },
1078
+ electric: {
1079
+ bg: "var(--dc-electric)",
1080
+ color: "var(--dc-obsidian)",
1081
+ highlight: "var(--dc-horizon-700)"
1082
+ },
1083
+ obsidian: {
1084
+ bg: "var(--dc-obsidian)",
1085
+ color: "#fff",
1086
+ highlight: "var(--dc-electric)"
1087
+ }
1088
+ }, Zn = Ft((e, { variant: t = "horizon", radius: n }) => ({ root: {
1089
+ "--banner-bg": Xn[t].bg,
1090
+ "--banner-color": Xn[t].color,
1091
+ "--banner-highlight": Xn[t].highlight,
1092
+ "--banner-radius": n === void 0 ? void 0 : It(n)
1093
+ } })), Qn = F((e) => {
1094
+ let t = I("PromoBanner", { variant: "horizon" }, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: s, attributes: c, variant: l, highlight: u, icon: d, withCloseButton: f, opened: p, onClose: m, radius: h, children: g, ..._ } = t, [v, y] = un(!0), b = p ?? v, x = L({
1095
+ name: "PromoBanner",
1096
+ classes: Yn,
1097
+ props: t,
1098
+ className: r,
1099
+ style: i,
1100
+ classNames: n,
1101
+ styles: a,
1102
+ unstyled: o,
1103
+ attributes: c,
1104
+ vars: s,
1105
+ varsResolver: Zn
1106
+ });
1107
+ return b ? /* @__PURE__ */ z(A, {
1108
+ role: "note",
1109
+ ...x("root"),
1110
+ variant: l,
1111
+ mod: {
1112
+ radius: h !== void 0,
1113
+ closable: f
1114
+ },
1115
+ ..._,
1116
+ children: [/* @__PURE__ */ z("span", {
1117
+ ...x("content"),
1118
+ children: [
1119
+ d,
1120
+ /* @__PURE__ */ R("span", { children: g }),
1121
+ u && /* @__PURE__ */ R("strong", {
1122
+ ...x("highlight"),
1123
+ children: u
1124
+ })
1125
+ ]
1126
+ }), f && /* @__PURE__ */ R(Te, {
1127
+ "aria-label": "Fechar",
1128
+ size: "sm",
1129
+ variant: "transparent",
1130
+ ...x("close"),
1131
+ onClick: () => {
1132
+ y(!1), m?.();
1133
+ }
1134
+ })]
1135
+ }) : null;
1136
+ });
1137
+ Qn.classes = Yn, Qn.varsResolver = Zn, Qn.displayName = "@jcdecor/ui/PromoBanner";
1138
+ var $n = {
1139
+ root: "jc-ContentCard-root-1dhn3",
1140
+ image: "jc-ContentCard-image-16ej1",
1141
+ kicker: "jc-ContentCard-kicker-10uay",
1142
+ title: "jc-ContentCard-title-16kim",
1143
+ body: "jc-ContentCard-body-1dhcv",
1144
+ actions: "jc-ContentCard-actions-1xc1y"
1145
+ }, er = F((e) => {
1146
+ let t = I("ContentCard", { imageHeight: 180 }, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: s, attributes: c, kicker: l, title: u, image: d, imageAlt: f, imageHeight: p, actions: h, children: g, ..._ } = t, v = L({
1147
+ name: "ContentCard",
1148
+ classes: $n,
1149
+ props: t,
1150
+ className: r,
1151
+ style: i,
1152
+ classNames: n,
1153
+ styles: a,
1154
+ unstyled: o,
1155
+ attributes: c,
1156
+ vars: s
1157
+ });
1158
+ return /* @__PURE__ */ z(ye, {
1159
+ ...v("root"),
1160
+ ..._,
1161
+ children: [
1162
+ d && /* @__PURE__ */ R("div", {
1163
+ ...v("image"),
1164
+ children: typeof d == "string" ? /* @__PURE__ */ R("img", {
1165
+ src: d,
1166
+ alt: f ?? "",
1167
+ style: { height: p }
1168
+ }) : d
1169
+ }),
1170
+ l && /* @__PURE__ */ R(m, {
1171
+ ...v("kicker"),
1172
+ children: l
1173
+ }),
1174
+ u && /* @__PURE__ */ R("div", {
1175
+ ...v("title"),
1176
+ children: u
1177
+ }),
1178
+ g && /* @__PURE__ */ R("div", {
1179
+ ...v("body"),
1180
+ children: g
1181
+ }),
1182
+ h && /* @__PURE__ */ R("div", {
1183
+ ...v("actions"),
1184
+ children: h
1185
+ })
1186
+ ]
1187
+ });
1188
+ });
1189
+ er.classes = $n, er.displayName = "@jcdecor/ui/ContentCard";
1190
+ var tr = {
1191
+ root: "jc-KpiCard-root-18l3e",
1192
+ header: "jc-KpiCard-header-akny9",
1193
+ label: "jc-KpiCard-label-wh8eq",
1194
+ icon: "jc-KpiCard-icon-18kxe",
1195
+ value: "jc-KpiCard-value-wmqkg",
1196
+ footer: "jc-KpiCard-footer-9sbx3",
1197
+ delta: "jc-KpiCard-delta-wcwtp",
1198
+ chart: "jc-KpiCard-chart-wcepv"
1199
+ };
1200
+ //#endregion
1201
+ //#region src/components/KpiCard/KpiCard.tsx
1202
+ function nr(e, t = !1) {
1203
+ return e === void 0 || e === 0 || Number.isNaN(e) ? "flat" : e > 0 === t ? "down" : "up";
1204
+ }
1205
+ var rr = {
1206
+ up: "var(--ds-success)",
1207
+ down: "var(--ds-error)",
1208
+ flat: "var(--ds-text-3)"
1209
+ }, ir = Ft((e, { delta: t, invertDelta: n, colorValue: r }) => {
1210
+ let i = nr(t, n);
1211
+ return { root: {
1212
+ "--kpi-delta-color": rr[i],
1213
+ "--kpi-value-color": r && i !== "flat" ? rr[i] : void 0
1214
+ } };
1215
+ }), Z = F((e) => {
1216
+ let t = I("KpiCard", {}, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: s, attributes: c, label: l, value: u, delta: d, deltaLabel: p, invertDelta: m, colorValue: h, icon: g, chart: _, loading: v, ...b } = t, x = L({
1217
+ name: "KpiCard",
1218
+ classes: tr,
1219
+ props: t,
1220
+ className: r,
1221
+ style: i,
1222
+ classNames: n,
1223
+ styles: a,
1224
+ unstyled: o,
1225
+ attributes: c,
1226
+ vars: s,
1227
+ varsResolver: ir
1228
+ }), S = nr(d, m), C = d === void 0 || d === 0 ? tn : d > 0 ? qt : Gt;
1229
+ return /* @__PURE__ */ z(A, {
1230
+ ...x("root"),
1231
+ ...b,
1232
+ children: [
1233
+ /* @__PURE__ */ z("div", {
1234
+ ...x("header"),
1235
+ children: [/* @__PURE__ */ R("span", {
1236
+ ...x("label"),
1237
+ children: l
1238
+ }), g && /* @__PURE__ */ R("span", {
1239
+ ...x("icon"),
1240
+ children: g
1241
+ })]
1242
+ }),
1243
+ v ? /* @__PURE__ */ R(bt, {
1244
+ height: 32,
1245
+ width: "60%",
1246
+ mt: 4
1247
+ }) : /* @__PURE__ */ R("div", {
1248
+ ...x("value"),
1249
+ children: typeof u == "number" ? f(u) : u
1250
+ }),
1251
+ (d !== void 0 || p) && !v && /* @__PURE__ */ z("div", {
1252
+ ...x("footer"),
1253
+ children: [d !== void 0 && /* @__PURE__ */ z("span", {
1254
+ ...x("delta"),
1255
+ "data-tone": S,
1256
+ children: [/* @__PURE__ */ R(C, {
1257
+ size: 14,
1258
+ stroke: 2.5
1259
+ }), y(d, { signed: !0 })]
1260
+ }), p && /* @__PURE__ */ R("span", { children: p })]
1261
+ }),
1262
+ _ && /* @__PURE__ */ R("div", {
1263
+ ...x("chart"),
1264
+ children: _
1265
+ })
1266
+ ]
1267
+ });
1268
+ });
1269
+ Z.classes = tr, Z.varsResolver = ir, Z.displayName = "@jcdecor/ui/KpiCard";
1270
+ function ar({ cols: e = {
1271
+ base: 1,
1272
+ "440px": 2,
1273
+ "880px": 4
1274
+ }, spacing: t = "md", type: n = "container", ...r }) {
1275
+ return /* @__PURE__ */ R(yt, {
1276
+ type: n,
1277
+ cols: e,
1278
+ spacing: t,
1279
+ ...r
1280
+ });
1281
+ }
1282
+ ar.displayName = "@jcdecor/ui/KpiGroup";
1283
+ var or = {
1284
+ root: "jc-TopNav-root-r96wh",
1285
+ brand: "jc-TopNav-brand-1rbya",
1286
+ links: "jc-TopNav-links-1rhar",
1287
+ link: "jc-TopNav-link-r92y3",
1288
+ right: "jc-TopNav-right-1rkld",
1289
+ burger: "jc-TopNav-burger-19ifr",
1290
+ mobileLinks: "jc-TopNav-mobileLinks-dspnw"
1291
+ }, sr = F((e) => {
1292
+ let t = I("TopNav", {
1293
+ brand: /* @__PURE__ */ R(k, {
1294
+ variant: "dark",
1295
+ size: 28
1296
+ }),
1297
+ brandHref: "/",
1298
+ links: [],
1299
+ linkComponent: "a",
1300
+ collapseOnMobile: !0
1301
+ }, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: s, attributes: c, brand: l, brandHref: u, links: d, linkComponent: f = "a", rightSection: p, collapseOnMobile: m, ...h } = t, [g, { toggle: _, close: v }] = fn(!1), y = L({
1302
+ name: "TopNav",
1303
+ classes: or,
1304
+ props: t,
1305
+ className: r,
1306
+ style: i,
1307
+ classNames: n,
1308
+ styles: a,
1309
+ unstyled: o,
1310
+ attributes: c,
1311
+ vars: s
1312
+ }), b = (e) => d.map((t, n) => {
1313
+ let r = !t.href, i = r ? "button" : f, a = r ? { type: "button" } : f === "a" ? { href: t.href } : {
1314
+ to: t.href,
1315
+ href: t.href
1316
+ };
1317
+ return /* @__PURE__ */ R(i, {
1318
+ ...a,
1319
+ ...y("link"),
1320
+ "data-active": t.active || void 0,
1321
+ "aria-current": t.active ? "page" : void 0,
1322
+ onClick: (n) => {
1323
+ t.onClick?.(n), e?.();
1324
+ },
1325
+ children: t.label
1326
+ }, n);
1327
+ }), x = u === null ? "span" : f, S = u === null ? {} : f === "a" ? { href: u } : {
1328
+ to: u,
1329
+ href: u
1330
+ };
1331
+ return /* @__PURE__ */ z("header", { children: [/* @__PURE__ */ z(A, {
1332
+ ...y("root"),
1333
+ mod: { collapse: m },
1334
+ ...h,
1335
+ children: [
1336
+ /* @__PURE__ */ R(x, {
1337
+ ...S,
1338
+ ...y("brand"),
1339
+ children: l
1340
+ }),
1341
+ /* @__PURE__ */ R("nav", {
1342
+ ...y("links"),
1343
+ "aria-label": "Principal",
1344
+ children: b()
1345
+ }),
1346
+ /* @__PURE__ */ z("div", {
1347
+ ...y("right"),
1348
+ children: [p, m && d.length > 0 && /* @__PURE__ */ R(_e, {
1349
+ opened: g,
1350
+ onClick: _,
1351
+ size: "sm",
1352
+ "aria-label": "Abrir menu",
1353
+ ...y("burger")
1354
+ })]
1355
+ })
1356
+ ]
1357
+ }), m && d.length > 0 && /* @__PURE__ */ R(De, {
1358
+ expanded: g,
1359
+ children: /* @__PURE__ */ R("nav", {
1360
+ ...y("mobileLinks"),
1361
+ "aria-label": "Principal (mobile)",
1362
+ children: b(v)
1363
+ })
1364
+ })] });
1365
+ });
1366
+ sr.classes = or, sr.displayName = "@jcdecor/ui/TopNav";
1367
+ //#endregion
1368
+ //#region src/components/PageHeader/PageHeader.tsx
1369
+ function cr({ kicker: e, title: t, description: n, actions: r, breadcrumbs: i, linkComponent: a = "a", size: o = "headline", ...s }) {
1370
+ return /* @__PURE__ */ z(A, {
1371
+ mb: "xl",
1372
+ ...s,
1373
+ children: [i && i.length > 0 && /* @__PURE__ */ R(ge, {
1374
+ mb: "sm",
1375
+ fz: "sm",
1376
+ separatorMargin: 6,
1377
+ children: i.map((e, t) => e.href ? /* @__PURE__ */ R(le, {
1378
+ component: a,
1379
+ href: e.href,
1380
+ ...a !== "a" && { to: e.href },
1381
+ fz: "sm",
1382
+ children: e.label
1383
+ }, t) : /* @__PURE__ */ R(A, {
1384
+ component: "span",
1385
+ c: "var(--ds-text-3)",
1386
+ fz: "sm",
1387
+ children: e.label
1388
+ }, t))
1389
+ }), /* @__PURE__ */ z(j, {
1390
+ justify: "space-between",
1391
+ align: "flex-end",
1392
+ gap: "md",
1393
+ wrap: "wrap",
1394
+ children: [/* @__PURE__ */ z("div", {
1395
+ style: {
1396
+ flex: "1 1 320px",
1397
+ minWidth: 0
1398
+ },
1399
+ children: [
1400
+ e && /* @__PURE__ */ R(m, { children: e }),
1401
+ o === "display" ? /* @__PURE__ */ R(C, {
1402
+ component: "h1",
1403
+ size: "lg",
1404
+ fz: "var(--type-display-sm)",
1405
+ lh: 1.15,
1406
+ mt: 8,
1407
+ children: t
1408
+ }) : /* @__PURE__ */ R(C, {
1409
+ component: "h1",
1410
+ size: "lg",
1411
+ mt: e ? 8 : 0,
1412
+ children: t
1413
+ }),
1414
+ n && /* @__PURE__ */ R(h, {
1415
+ component: "div",
1416
+ size: "lg",
1417
+ c: "var(--ds-text-2)",
1418
+ maw: 640,
1419
+ mt: 8,
1420
+ children: n
1421
+ })
1422
+ ]
1423
+ }), r && /* @__PURE__ */ R(j, {
1424
+ gap: "sm",
1425
+ children: r
1426
+ })]
1427
+ })]
1428
+ });
1429
+ }
1430
+ cr.displayName = "@jcdecor/ui/PageHeader";
1431
+ var Q = {
1432
+ wrapper: "jc-DataTable-wrapper-1irlf",
1433
+ num: "jc-DataTable-num-73qhh",
1434
+ sortButton: "jc-DataTable-sortButton-vnopd",
1435
+ row: "jc-DataTable-row-73qkb",
1436
+ footer: "jc-DataTable-footer-ngrsx"
1437
+ }, lr = (e) => e.id ?? e.key ?? "";
1438
+ function ur(e, t) {
1439
+ return typeof e == "number" && typeof t == "number" ? e - t : String(e ?? "").localeCompare(String(t ?? ""), "pt-BR", {
1440
+ numeric: !0,
1441
+ sensitivity: "base"
1442
+ });
1443
+ }
1444
+ function dr({ columns: e, data: t, rowKey: n, initialSort: r, sort: i, onSortChange: a, pageSize: o, loading: s, loadingRows: c = 5, empty: l, onRowClick: u, plain: d, striped: p, stickyHeader: m, tableProps: h, ...g }) {
1445
+ let [_, v] = un(r ?? null), y = i === void 0 ? _ : i, [b, x] = un(1), S = (e) => {
1446
+ i === void 0 && v(e), a?.(e), x(1);
1447
+ }, C = (e) => {
1448
+ !y || y.key !== e ? S({
1449
+ key: e,
1450
+ direction: "asc"
1451
+ }) : y.direction === "asc" ? S({
1452
+ key: e,
1453
+ direction: "desc"
1454
+ }) : S(null);
1455
+ }, w = ln(() => {
1456
+ if (!y) return t;
1457
+ let n = e.find((e) => lr(e) === y.key), r = n?.sortValue ?? ((e) => n?.key ? e[n.key] : void 0), i = [...t].sort((e, t) => ur(r(e), r(t)));
1458
+ return y.direction === "desc" ? i.reverse() : i;
1459
+ }, [
1460
+ t,
1461
+ y,
1462
+ e
1463
+ ]), T = o ? Math.max(1, Math.ceil(w.length / o)) : 1, E = Math.min(b, T), D = o ? w.slice((E - 1) * o, E * o) : w, ee = /* @__PURE__ */ R(M.Thead, { children: /* @__PURE__ */ R(M.Tr, { children: e.map((e) => {
1464
+ let t = lr(e), n = y?.key === t, r = n ? y.direction === "asc" ? Kt : Wt : Jt;
1465
+ return /* @__PURE__ */ R(M.Th, {
1466
+ className: e.numeric ? Q.num : void 0,
1467
+ style: { width: e.width },
1468
+ "aria-sort": n ? y.direction === "asc" ? "ascending" : "descending" : void 0,
1469
+ children: e.sortable ? /* @__PURE__ */ z("button", {
1470
+ type: "button",
1471
+ className: Q.sortButton,
1472
+ "data-sorted": n || void 0,
1473
+ onClick: () => C(t),
1474
+ children: [e.header, /* @__PURE__ */ R(r, {
1475
+ size: 12,
1476
+ stroke: 2.5,
1477
+ opacity: n ? 1 : .5
1478
+ })]
1479
+ }) : e.header
1480
+ }, t);
1481
+ }) }) }), O;
1482
+ return O = s ? Array.from({ length: c }, (t, n) => /* @__PURE__ */ R(M.Tr, { children: e.map((e) => /* @__PURE__ */ R(M.Td, { children: /* @__PURE__ */ R(bt, {
1483
+ height: 14,
1484
+ width: e.numeric ? "50%" : "80%",
1485
+ ml: e.numeric ? "auto" : 0
1486
+ }) }, lr(e))) }, n)) : D.length === 0 ? /* @__PURE__ */ R(M.Tr, { children: /* @__PURE__ */ R(M.Td, {
1487
+ colSpan: e.length,
1488
+ children: l ?? /* @__PURE__ */ R(Pe, {
1489
+ py: "xl",
1490
+ size: "sm",
1491
+ icon: /* @__PURE__ */ R(Zt, { size: 22 }),
1492
+ title: "Nenhum resultado",
1493
+ description: "Não há dados para exibir com os filtros atuais."
1494
+ })
1495
+ }) }) : D.map((t, r) => /* @__PURE__ */ R(M.Tr, {
1496
+ className: Q.row,
1497
+ "data-clickable": u ? !0 : void 0,
1498
+ onClick: u ? () => u(t, r) : void 0,
1499
+ tabIndex: u ? 0 : void 0,
1500
+ onKeyDown: u ? (e) => {
1501
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(t, r));
1502
+ } : void 0,
1503
+ children: e.map((e) => {
1504
+ let n = e.key ? t[e.key] : void 0, i = e.render ? e.render(t, r) : e.numeric && typeof n == "number" ? f(n, e.format) : n;
1505
+ return /* @__PURE__ */ R(M.Td, {
1506
+ className: e.numeric ? Q.num : void 0,
1507
+ children: i
1508
+ }, lr(e));
1509
+ })
1510
+ }, n ? n(t, r) : r)), /* @__PURE__ */ z(A, {
1511
+ className: Q.wrapper,
1512
+ "data-plain": d || void 0,
1513
+ ...g,
1514
+ children: [/* @__PURE__ */ R(gt, {
1515
+ type: "auto",
1516
+ children: /* @__PURE__ */ z(M, {
1517
+ striped: p,
1518
+ stickyHeader: m,
1519
+ ...h,
1520
+ children: [ee, /* @__PURE__ */ R(M.Tbody, { children: O })]
1521
+ })
1522
+ }), o && w.length > o && /* @__PURE__ */ z("div", {
1523
+ className: Q.footer,
1524
+ children: [/* @__PURE__ */ z("span", { children: [
1525
+ f((E - 1) * o + 1),
1526
+ "–",
1527
+ f(Math.min(E * o, w.length)),
1528
+ " de",
1529
+ " ",
1530
+ f(w.length)
1531
+ ] }), /* @__PURE__ */ R(rt, {
1532
+ size: "sm",
1533
+ total: T,
1534
+ value: E,
1535
+ onChange: x
1536
+ })]
1537
+ })]
1538
+ });
1539
+ }
1540
+ dr.displayName = "@jcdecor/ui/DataTable";
1541
+ //#endregion
1542
+ //#region src/components/ThemeToggle/ThemeToggle.tsx
1543
+ function fr({ as: e = "icon", label: t = "Alternar tema", variant: n, color: r, size: i, ...a }) {
1544
+ let { setColorScheme: o } = Ht(), s = Vt("light", { getInitialValueInEffect: !0 }), c = () => o(s === "dark" ? "light" : "dark"), l = s === "dark" ? an : nn;
1545
+ return e === "button" ? /* @__PURE__ */ R(ve, {
1546
+ variant: n ?? "outline",
1547
+ color: r,
1548
+ size: i ?? "sm",
1549
+ leftSection: /* @__PURE__ */ R(l, { size: 16 }),
1550
+ onClick: c,
1551
+ ...a,
1552
+ children: t
1553
+ }) : /* @__PURE__ */ R(oe, {
1554
+ variant: n ?? "subtle",
1555
+ color: r,
1556
+ size: i ?? "lg",
1557
+ onClick: c,
1558
+ "aria-label": t,
1559
+ title: t,
1560
+ ...a,
1561
+ children: /* @__PURE__ */ R(l, { size: 18 })
1562
+ });
1563
+ }
1564
+ fr.displayName = "@jcdecor/ui/ThemeToggle";
1565
+ var $ = {
1566
+ swatch: "jc-TokenSwatch-swatch-dd519",
1567
+ color: "jc-TokenSwatch-color-1q1r0",
1568
+ info: "jc-TokenSwatch-info-10dh3",
1569
+ name: "jc-TokenSwatch-name-10dk0",
1570
+ hex: "jc-TokenSwatch-hex-1azzn",
1571
+ ramp: "jc-TokenSwatch-ramp-10dmk",
1572
+ step: "jc-TokenSwatch-step-10dnl"
1573
+ };
1574
+ //#endregion
1575
+ //#region src/components/TokenSwatch/TokenSwatch.tsx
1576
+ function pr({ name: e, value: t, cssVar: n, copy: r = "value", className: i, ...a }) {
1577
+ let o = dn({ timeout: 1200 }), s = r === "cssVar" && n ? `var(${n})` : t;
1578
+ return /* @__PURE__ */ R(jt, {
1579
+ label: o.copied ? "Copiado!" : `Copiar ${s}`,
1580
+ withArrow: !0,
1581
+ children: /* @__PURE__ */ z("button", {
1582
+ type: "button",
1583
+ className: i ? `${$.swatch} ${i}` : $.swatch,
1584
+ onClick: () => o.copy(s),
1585
+ ...a,
1586
+ children: [/* @__PURE__ */ R("div", {
1587
+ className: $.color,
1588
+ style: { background: t }
1589
+ }), /* @__PURE__ */ z("div", {
1590
+ className: $.info,
1591
+ children: [
1592
+ /* @__PURE__ */ R("div", {
1593
+ className: $.name,
1594
+ children: e
1595
+ }),
1596
+ /* @__PURE__ */ R("div", {
1597
+ className: $.hex,
1598
+ children: t
1599
+ }),
1600
+ n && /* @__PURE__ */ R("div", {
1601
+ className: $.hex,
1602
+ children: n
1603
+ })
1604
+ ]
1605
+ })]
1606
+ })
1607
+ });
1608
+ }
1609
+ pr.displayName = "@jcdecor/ui/TokenSwatch";
1610
+ function mr({ steps: e, className: t, ...n }) {
1611
+ let r = dn({ timeout: 1200 });
1612
+ return /* @__PURE__ */ R("div", {
1613
+ className: t ? `${$.ramp} ${t}` : $.ramp,
1614
+ ...n,
1615
+ children: e.map((e) => /* @__PURE__ */ R(jt, {
1616
+ label: r.copied ? "Copiado!" : e.value,
1617
+ withArrow: !0,
1618
+ children: /* @__PURE__ */ z("button", {
1619
+ type: "button",
1620
+ className: $.step,
1621
+ style: {
1622
+ background: e.value,
1623
+ color: Rt(e.value) > .3 ? "var(--dc-obsidian)" : "#fff"
1624
+ },
1625
+ onClick: () => r.copy(e.value),
1626
+ children: [e.label, e.derived ? "*" : ""]
1627
+ })
1628
+ }, e.label))
1629
+ });
1630
+ }
1631
+ mr.displayName = "@jcdecor/ui/ColorRamp";
1632
+ //#endregion
1633
+ //#region src/components/PriceTag/PriceTag.tsx
1634
+ var hr = {
1635
+ sm: "var(--type-subheadline-lg)",
1636
+ md: "var(--type-headline-sm)",
1637
+ lg: "var(--type-headline-lg)"
1638
+ };
1639
+ function gr({ value: e, oldValue: t, installments: n, pixDiscount: r, unit: i, size: a = "md", ...o }) {
1640
+ return /* @__PURE__ */ z(A, {
1641
+ ...o,
1642
+ children: [
1643
+ t !== void 0 && t > e && /* @__PURE__ */ R(N, {
1644
+ fz: "xs",
1645
+ c: "var(--ds-text-3)",
1646
+ td: "line-through",
1647
+ "aria-label": `Preço anterior ${b(t)}`,
1648
+ children: b(t)
1649
+ }),
1650
+ /* @__PURE__ */ z(j, {
1651
+ gap: 4,
1652
+ align: "baseline",
1653
+ wrap: "nowrap",
1654
+ children: [/* @__PURE__ */ R(N, {
1655
+ component: "span",
1656
+ fz: hr[a],
1657
+ fw: 700,
1658
+ lh: 1.2,
1659
+ c: "var(--ds-primary)",
1660
+ style: { fontVariantNumeric: "tabular-nums" },
1661
+ children: b(e)
1662
+ }), i && /* @__PURE__ */ R(N, {
1663
+ component: "span",
1664
+ fz: "xs",
1665
+ c: "var(--ds-text-3)",
1666
+ fw: 500,
1667
+ children: i
1668
+ })]
1669
+ }),
1670
+ r !== void 0 && r > 0 && /* @__PURE__ */ z(N, {
1671
+ fz: "xs",
1672
+ fw: 600,
1673
+ c: "var(--ds-tag-success-color)",
1674
+ children: [
1675
+ b(e * (1 - r / 100)),
1676
+ " no Pix (",
1677
+ r,
1678
+ "% off)"
1679
+ ]
1680
+ }),
1681
+ n && n.count > 1 && /* @__PURE__ */ z(N, {
1682
+ fz: "xs",
1683
+ c: "var(--ds-text-2)",
1684
+ children: [
1685
+ "ou ",
1686
+ n.count,
1687
+ "x de ",
1688
+ b(e / n.count),
1689
+ n.interestFree === !1 ? "" : " sem juros"
1690
+ ]
1691
+ })
1692
+ ]
1693
+ });
1694
+ }
1695
+ gr.displayName = "@jcdecor/ui/PriceTag";
1696
+ var _r = {
1697
+ root: "jc-ProductCard-root-bpw1v",
1698
+ media: "jc-ProductCard-media-823r5",
1699
+ badges: "jc-ProductCard-badges-vg75e",
1700
+ favorite: "jc-ProductCard-favorite-h5p6t",
1701
+ category: "jc-ProductCard-category-m5qfx",
1702
+ name: "jc-ProductCard-name-bpt7h",
1703
+ price: "jc-ProductCard-price-83zjb",
1704
+ action: "jc-ProductCard-action-v0jdp"
1705
+ }, vr = F((e) => {
1706
+ let t = I("ProductCard", {
1707
+ showDiscount: !0,
1708
+ actionLabel: "Comprar",
1709
+ imageRatio: 1,
1710
+ linkComponent: "a"
1711
+ }, e), { classNames: n, className: r, style: i, styles: a, unstyled: o, vars: s, attributes: c, name: l, image: u, href: d, category: f, price: p, oldPrice: m, installments: h, pixDiscount: g, unit: _, badges: v, showDiscount: y, rating: b, reviews: x, favorite: S, onFavoriteChange: C, actionLabel: w, onAction: T, imageRatio: E, linkComponent: D = "a", ...ee } = t, O = L({
1712
+ name: "ProductCard",
1713
+ classes: _r,
1714
+ props: t,
1715
+ className: r,
1716
+ style: i,
1717
+ classNames: n,
1718
+ styles: a,
1719
+ unstyled: o,
1720
+ attributes: c,
1721
+ vars: s
1722
+ }), k = m && m > p ? Math.round((1 - p / m) * 100) : 0, te = d ? D === "a" ? { href: d } : {
1723
+ to: d,
1724
+ href: d
1725
+ } : {}, ne = d ? D : "div";
1726
+ return /* @__PURE__ */ z(ye, {
1727
+ ...O("root"),
1728
+ mod: { interactive: !!(d || T) },
1729
+ ...ee,
1730
+ children: [
1731
+ /* @__PURE__ */ z("div", {
1732
+ ...O("media"),
1733
+ style: { "--product-ratio": String(E) },
1734
+ children: [
1735
+ /* @__PURE__ */ R("img", {
1736
+ src: u,
1737
+ alt: l,
1738
+ loading: "lazy"
1739
+ }),
1740
+ /* @__PURE__ */ z("div", {
1741
+ ...O("badges"),
1742
+ children: [y && k > 0 && /* @__PURE__ */ z(Jn, {
1743
+ tone: "error",
1744
+ variant: "filled",
1745
+ children: [
1746
+ "-",
1747
+ k,
1748
+ "%"
1749
+ ]
1750
+ }), v?.map((e, t) => /* @__PURE__ */ R(cn, { children: e }, t))]
1751
+ }),
1752
+ C && /* @__PURE__ */ R(oe, {
1753
+ ...O("favorite"),
1754
+ variant: "subtle",
1755
+ color: S ? "danger" : "obsidian",
1756
+ radius: "xl",
1757
+ "aria-label": S ? "Remover dos favoritos" : "Adicionar aos favoritos",
1758
+ "aria-pressed": S,
1759
+ onClick: () => C(!S),
1760
+ children: R(S ? $t : Qt, { size: 18 })
1761
+ })
1762
+ ]
1763
+ }),
1764
+ f && /* @__PURE__ */ R("div", {
1765
+ ...O("category"),
1766
+ children: f
1767
+ }),
1768
+ /* @__PURE__ */ R(ne, {
1769
+ ...te,
1770
+ ...O("name"),
1771
+ children: l
1772
+ }),
1773
+ b !== void 0 && /* @__PURE__ */ z(j, {
1774
+ gap: 6,
1775
+ mb: "xs",
1776
+ children: [/* @__PURE__ */ R(pt, {
1777
+ value: b,
1778
+ fractions: 2,
1779
+ readOnly: !0,
1780
+ size: "xs",
1781
+ color: "electric.4"
1782
+ }), x !== void 0 && /* @__PURE__ */ z(N, {
1783
+ fz: "xs",
1784
+ c: "var(--ds-text-3)",
1785
+ children: [
1786
+ "(",
1787
+ x,
1788
+ ")"
1789
+ ]
1790
+ })]
1791
+ }),
1792
+ /* @__PURE__ */ R(gr, {
1793
+ ...O("price"),
1794
+ value: p,
1795
+ oldValue: m,
1796
+ installments: h,
1797
+ pixDiscount: g,
1798
+ unit: _
1799
+ }),
1800
+ T && /* @__PURE__ */ R(ve, {
1801
+ ...O("action"),
1802
+ fullWidth: !0,
1803
+ leftSection: /* @__PURE__ */ R(rn, { size: 18 }),
1804
+ onClick: T,
1805
+ children: w
1806
+ })
1807
+ ]
1808
+ });
1809
+ });
1810
+ vr.classes = _r, vr.displayName = "@jcdecor/ui/ProductCard";
1811
+ //#endregion
1812
+ //#region src/components/CouponCode/CouponCode.tsx
1813
+ function yr({ code: e, description: t, copyLabel: n = "Copiar", copiedLabel: r = "Copiado!", onCopy: i, ...a }) {
1814
+ let o = dn({ timeout: 1600 });
1815
+ return /* @__PURE__ */ R(A, {
1816
+ p: "sm",
1817
+ style: {
1818
+ border: "2px dashed var(--ds-primary)",
1819
+ borderRadius: "var(--ds-radius)",
1820
+ background: "var(--ds-primary-soft)"
1821
+ },
1822
+ ...a,
1823
+ children: /* @__PURE__ */ z(j, {
1824
+ justify: "space-between",
1825
+ gap: "sm",
1826
+ wrap: "nowrap",
1827
+ children: [/* @__PURE__ */ z(j, {
1828
+ gap: "sm",
1829
+ wrap: "nowrap",
1830
+ style: { minWidth: 0 },
1831
+ children: [/* @__PURE__ */ R(on, {
1832
+ size: 22,
1833
+ color: "var(--ds-primary)",
1834
+ style: { flexShrink: 0 }
1835
+ }), /* @__PURE__ */ z("div", {
1836
+ style: { minWidth: 0 },
1837
+ children: [t && /* @__PURE__ */ R(N, {
1838
+ fz: "xs",
1839
+ c: "var(--ds-text-2)",
1840
+ fw: 500,
1841
+ children: t
1842
+ }), /* @__PURE__ */ R(N, {
1843
+ fw: 700,
1844
+ fz: "lg",
1845
+ lts: "0.08em",
1846
+ c: "var(--ds-primary)",
1847
+ ff: "monospace",
1848
+ children: e
1849
+ })]
1850
+ })]
1851
+ }), /* @__PURE__ */ R(ve, {
1852
+ size: "sm",
1853
+ variant: o.copied ? "filled" : "outline",
1854
+ color: o.copied ? "evergreen" : void 0,
1855
+ leftSection: o.copied ? /* @__PURE__ */ R(Yt, { size: 16 }) : /* @__PURE__ */ R(Xt, { size: 16 }),
1856
+ onClick: () => {
1857
+ o.copy(e), i?.(e);
1858
+ },
1859
+ children: o.copied ? r : n
1860
+ })]
1861
+ })
1862
+ });
1863
+ }
1864
+ yr.displayName = "@jcdecor/ui/CouponCode";
1865
+ //#endregion
1866
+ export { ne as Collaborator, mr as ColorRamp, er as ContentCard, yr as CouponCode, dr as DataTable, p as Disclaimer, _ as Display, ee as GreekFrame, C as Headline, k as JcLogo, E as JcLogoAlt, Gn as JcProvider, m as Kicker, Z as KpiCard, ar as KpiGroup, S as LOCALE, cr as PageHeader, gr as PriceTag, vr as ProductCard, Qn as PromoBanner, w as SpartanHelmet, h as Subheadline, Jn as Tag, fr as ThemeToggle, pr as TokenSwatch, sr as TopNav, O as altLogoPaths, te as collaboratorPaths, v as formatCompact, b as formatCurrency, g as formatDate, f as formatNumber, y as formatPercent, x as formatTime, nr as getDeltaTone, T as greekFramePaths, d as jcColors, Wn as jcCssVariablesResolver, Ln as jcTheme, mn as jcVariantColorResolver, D as logoPaths, re as spartanPaths, n as tokens };
1867
+
1868
+ //# sourceMappingURL=index.js.map