@devalok/shilp-sutra 0.34.0 → 0.34.1

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 (172) hide show
  1. package/dist/_chunks/badge-group.js +306 -246
  2. package/dist/_chunks/chat.js +513 -0
  3. package/dist/_chunks/date-picker.js +748 -0
  4. package/dist/_chunks/document-preview.js +109 -90
  5. package/dist/_chunks/file-preview.js +492 -504
  6. package/dist/_chunks/framer.js +5564 -5613
  7. package/dist/_chunks/image-preview.js +127 -88
  8. package/dist/_chunks/keybinding.js +12 -14
  9. package/dist/_chunks/link-context.js +19 -16
  10. package/dist/_chunks/mention-suggestion.js +353 -350
  11. package/dist/_chunks/motion-provider.js +26 -20
  12. package/dist/_chunks/popover.js +127 -0
  13. package/dist/_chunks/primitives.js +7584 -6425
  14. package/dist/_chunks/rich-chat-input.js +2070 -0
  15. package/dist/_chunks/rolldown-runtime.js +21 -0
  16. package/dist/_chunks/shared.js +126 -0
  17. package/dist/_chunks/sonner.js +605 -734
  18. package/dist/_chunks/stat-row.js +418 -440
  19. package/dist/_chunks/tiptap.js +15850 -19964
  20. package/dist/_chunks/tree-view.js +231 -290
  21. package/dist/_chunks/use-calendar.js +161 -208
  22. package/dist/_chunks/vendor-client.js +314 -2199
  23. package/dist/_chunks/vendor-utils.js +1721 -2978
  24. package/dist/ai/ai-command-provider.js +23 -17
  25. package/dist/ai/block-renderer.js +68 -51
  26. package/dist/ai/blocks/index.js +2 -12
  27. package/dist/ai/command-bar.js +470 -519
  28. package/dist/ai/conversation.js +241 -227
  29. package/dist/ai/index.js +181 -167
  30. package/dist/ai/types.js +0 -1
  31. package/dist/composed/activity-feed.js +232 -202
  32. package/dist/composed/avatar-group.js +164 -222
  33. package/dist/composed/bulk-action-bar.js +174 -165
  34. package/dist/composed/command-palette.js +290 -308
  35. package/dist/composed/confirm-dialog.js +28 -48
  36. package/dist/composed/content-card.js +69 -108
  37. package/dist/composed/date-picker/index.js +3 -13
  38. package/dist/composed/deadline-indicator.js +68 -74
  39. package/dist/composed/emoji-picker.js +83 -110
  40. package/dist/composed/empty-state.js +64 -103
  41. package/dist/composed/error-boundary.js +129 -127
  42. package/dist/composed/file-preview.js +2 -12
  43. package/dist/composed/filter-bar.js +98 -130
  44. package/dist/composed/form-section.js +61 -45
  45. package/dist/composed/global-loading.js +34 -47
  46. package/dist/composed/index.js +34 -92
  47. package/dist/composed/inline-edit.js +92 -107
  48. package/dist/composed/lib/string-utils.js +8 -8
  49. package/dist/composed/loading-skeleton.js +103 -171
  50. package/dist/composed/markdown-viewer.js +187 -139
  51. package/dist/composed/master-detail.js +147 -156
  52. package/dist/composed/member-picker.js +46 -49
  53. package/dist/composed/multi-select-popover.js +181 -179
  54. package/dist/composed/page-header.js +54 -76
  55. package/dist/composed/page-skeletons.js +143 -127
  56. package/dist/composed/priority-indicator.js +105 -111
  57. package/dist/composed/responsive-overlay.js +36 -41
  58. package/dist/composed/rich-chat-input.js +2 -1860
  59. package/dist/composed/rich-text-editor.js +561 -424
  60. package/dist/composed/schedule-view.js +134 -185
  61. package/dist/composed/simple-tooltip.js +21 -21
  62. package/dist/composed/status-badge.js +133 -137
  63. package/dist/hooks/index.js +7 -12
  64. package/dist/hooks/use-color-mode.js +28 -25
  65. package/dist/hooks/use-mobile.js +13 -13
  66. package/dist/hooks/use-toast.js +2 -4
  67. package/dist/hooks/use-touch-device.js +9 -11
  68. package/dist/hooks/use-viewport-height.js +14 -14
  69. package/dist/motion/index.js +3 -11
  70. package/dist/motion/primitives-index.js +226 -186
  71. package/dist/shell/app-command-palette.js +203 -234
  72. package/dist/shell/bottom-navbar.js +150 -190
  73. package/dist/shell/command-registry.js +13 -14
  74. package/dist/shell/index.js +10 -20
  75. package/dist/shell/link-context.js +2 -5
  76. package/dist/shell/notification-center.js +238 -259
  77. package/dist/shell/notification-preferences.js +241 -184
  78. package/dist/shell/sidebar.js +251 -281
  79. package/dist/shell/top-bar.js +203 -237
  80. package/dist/tailwind/index.cjs +426 -442
  81. package/dist/tailwind/index.js +2 -4
  82. package/dist/tailwind/preset.js +443 -459
  83. package/dist/ui/accordion.js +52 -60
  84. package/dist/ui/alert-dialog.js +111 -156
  85. package/dist/ui/alert.js +177 -99
  86. package/dist/ui/aspect-ratio.js +13 -16
  87. package/dist/ui/autocomplete.js +112 -148
  88. package/dist/ui/avatar.js +196 -169
  89. package/dist/ui/badge-group.js +2 -7
  90. package/dist/ui/badge-indicator.js +42 -51
  91. package/dist/ui/badge.js +2 -15
  92. package/dist/ui/banner.js +76 -68
  93. package/dist/ui/breadcrumb.js +65 -84
  94. package/dist/ui/button-group.js +109 -102
  95. package/dist/ui/button-processing.js +69 -73
  96. package/dist/ui/button.js +393 -279
  97. package/dist/ui/card.js +151 -157
  98. package/dist/ui/charts/index.js +1002 -1319
  99. package/dist/ui/chat/index.js +2 -11
  100. package/dist/ui/checkbox.js +77 -100
  101. package/dist/ui/code.js +18 -32
  102. package/dist/ui/collapsible.js +21 -29
  103. package/dist/ui/color-input.js +453 -372
  104. package/dist/ui/color-swatch.js +60 -90
  105. package/dist/ui/combobox.js +244 -293
  106. package/dist/ui/container.js +18 -24
  107. package/dist/ui/context-menu.js +154 -203
  108. package/dist/ui/data-table-body.js +116 -213
  109. package/dist/ui/data-table-bulk-actions.js +43 -59
  110. package/dist/ui/data-table-card.js +84 -71
  111. package/dist/ui/data-table-context.js +39 -42
  112. package/dist/ui/data-table-header.js +98 -139
  113. package/dist/ui/data-table-pagination.js +69 -82
  114. package/dist/ui/data-table-toolbar.js +104 -130
  115. package/dist/ui/data-table.js +278 -354
  116. package/dist/ui/devalok-grain.js +77 -66
  117. package/dist/ui/dialog.js +122 -151
  118. package/dist/ui/dropdown-menu.js +152 -203
  119. package/dist/ui/file-upload.js +242 -266
  120. package/dist/ui/form.js +60 -56
  121. package/dist/ui/hover-card.js +54 -54
  122. package/dist/ui/icon-button.js +21 -26
  123. package/dist/ui/icon-context.js +17 -17
  124. package/dist/ui/icon-group.js +22 -29
  125. package/dist/ui/icon.js +201 -121
  126. package/dist/ui/index.js +74 -350
  127. package/dist/ui/input-otp.js +44 -48
  128. package/dist/ui/input.js +92 -169
  129. package/dist/ui/label.js +17 -22
  130. package/dist/ui/lib/date-utils.js +14 -11
  131. package/dist/ui/lib/motion.js +77 -36
  132. package/dist/ui/lib/utils.js +39 -16
  133. package/dist/ui/link.js +13 -24
  134. package/dist/ui/menubar.js +132 -210
  135. package/dist/ui/navigation-menu.js +163 -193
  136. package/dist/ui/number-input.js +72 -95
  137. package/dist/ui/pagination.js +122 -159
  138. package/dist/ui/popover.js +2 -131
  139. package/dist/ui/progress-ring.js +133 -143
  140. package/dist/ui/progress.js +51 -95
  141. package/dist/ui/radio.js +41 -50
  142. package/dist/ui/search-input.js +51 -53
  143. package/dist/ui/segmented-control.js +93 -114
  144. package/dist/ui/select.js +131 -157
  145. package/dist/ui/separator.js +15 -25
  146. package/dist/ui/sheet.js +135 -163
  147. package/dist/ui/sidebar.js +357 -600
  148. package/dist/ui/skeleton.js +179 -231
  149. package/dist/ui/slider.js +24 -34
  150. package/dist/ui/spinner.js +226 -205
  151. package/dist/ui/split-button.js +227 -276
  152. package/dist/ui/stack.js +56 -70
  153. package/dist/ui/stat-card.js +259 -251
  154. package/dist/ui/status-dot.js +67 -63
  155. package/dist/ui/stepper.js +119 -168
  156. package/dist/ui/switch.js +51 -54
  157. package/dist/ui/table.js +57 -90
  158. package/dist/ui/tabs.js +139 -156
  159. package/dist/ui/text.js +52 -59
  160. package/dist/ui/textarea.js +40 -57
  161. package/dist/ui/toast-types.js +0 -1
  162. package/dist/ui/toast.js +554 -536
  163. package/dist/ui/toaster.js +23 -33
  164. package/dist/ui/toggle-group.js +37 -41
  165. package/dist/ui/toggle.js +36 -40
  166. package/dist/ui/tooltip.js +80 -65
  167. package/dist/ui/tree-view/index.js +2 -6
  168. package/dist/ui/visually-hidden.js +12 -10
  169. package/llms-full.txt +1 -1
  170. package/package.json +1 -1
  171. package/dist/_chunks/date-time-picker.js +0 -851
  172. package/dist/_chunks/typing-indicator.js +0 -565
@@ -1,64 +1,68 @@
1
1
  "use client";
2
- import { jsxs as l, jsx as n } from "react/jsx-runtime";
3
- import * as b from "react";
4
- import { cn as t } from "./lib/utils.js";
5
- const f = {
6
- healthy: "bg-success-9",
7
- warning: "bg-warning-9",
8
- critical: "bg-error-9",
9
- neutral: "bg-neutral-8",
10
- inactive: "bg-neutral-6"
11
- }, w = {
12
- healthy: "text-success-11",
13
- warning: "text-warning-11",
14
- critical: "text-error-11",
15
- neutral: "text-surface-fg-muted",
16
- inactive: "text-surface-fg-subtle"
17
- }, v = {
18
- healthy: "border-success-9",
19
- warning: "border-warning-9",
20
- critical: "border-error-9",
21
- neutral: "border-neutral-8",
22
- inactive: "border-neutral-6"
23
- }, y = {
24
- healthy: "bg-success-9/40",
25
- warning: "bg-warning-9/40",
26
- critical: "bg-error-9/40",
27
- neutral: "bg-neutral-8/40",
28
- inactive: "bg-neutral-6/40"
29
- }, N = {
30
- sm: { dot: "h-1.5 w-1.5", pulse: "h-1.5 w-1.5", text: "text-ds-xs" },
31
- md: { dot: "h-2 w-2", pulse: "h-2 w-2", text: "text-ds-sm" },
32
- lg: { dot: "h-2.5 w-2.5", pulse: "h-2.5 w-2.5", text: "text-ds-sm" }
33
- }, C = b.forwardRef(
34
- ({ status: e, size: s = "md", variant: i = "filled", pulse: o, label: r, labelClassName: c, className: d, "aria-label": u, ...g }, p) => {
35
- const x = o ?? e === "healthy", a = N[s], m = r ? `${r} — ${e}` : `Status: ${e}`, h = i === "ring" ? t("relative inline-flex rounded-full border-[1.5px]", a.dot, v[e], "bg-transparent") : t("relative inline-flex rounded-full", a.dot, f[e]);
36
- return /* @__PURE__ */ l(
37
- "span",
38
- {
39
- ref: p,
40
- role: "status",
41
- "aria-label": u ?? m,
42
- className: t("inline-flex items-center gap-ds-02", d),
43
- ...g,
44
- children: [
45
- /* @__PURE__ */ l("span", { className: "relative inline-flex shrink-0", children: [
46
- x && /* @__PURE__ */ n(
47
- "span",
48
- {
49
- "data-pulse": "",
50
- className: t("absolute inline-flex rounded-full animate-ping motion-reduce:animate-none", a.pulse, y[e])
51
- }
52
- ),
53
- /* @__PURE__ */ n("span", { className: h })
54
- ] }),
55
- r && /* @__PURE__ */ n("span", { className: t(a.text, w[e], "font-sans", c), children: r })
56
- ]
57
- }
58
- );
59
- }
60
- );
61
- C.displayName = "StatusDot";
62
- export {
63
- C as StatusDot
64
- };
2
+ import { cn as e } from "./lib/utils.js";
3
+ import * as t from "react";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region src/ui/status-dot.tsx
6
+ var i = {
7
+ healthy: "bg-success-9",
8
+ warning: "bg-warning-9",
9
+ critical: "bg-error-9",
10
+ neutral: "bg-neutral-8",
11
+ inactive: "bg-neutral-6"
12
+ }, a = {
13
+ healthy: "text-success-11",
14
+ warning: "text-warning-11",
15
+ critical: "text-error-11",
16
+ neutral: "text-surface-fg-muted",
17
+ inactive: "text-surface-fg-subtle"
18
+ }, o = {
19
+ healthy: "border-success-9",
20
+ warning: "border-warning-9",
21
+ critical: "border-error-9",
22
+ neutral: "border-neutral-8",
23
+ inactive: "border-neutral-6"
24
+ }, s = {
25
+ healthy: "bg-success-9/40",
26
+ warning: "bg-warning-9/40",
27
+ critical: "bg-error-9/40",
28
+ neutral: "bg-neutral-8/40",
29
+ inactive: "bg-neutral-6/40"
30
+ }, c = {
31
+ sm: {
32
+ dot: "h-1.5 w-1.5",
33
+ pulse: "h-1.5 w-1.5",
34
+ text: "text-ds-xs"
35
+ },
36
+ md: {
37
+ dot: "h-2 w-2",
38
+ pulse: "h-2 w-2",
39
+ text: "text-ds-sm"
40
+ },
41
+ lg: {
42
+ dot: "h-2.5 w-2.5",
43
+ pulse: "h-2.5 w-2.5",
44
+ text: "text-ds-sm"
45
+ }
46
+ }, l = t.forwardRef(({ status: t, size: l = "md", variant: u = "filled", pulse: d, label: f, labelClassName: p, className: m, "aria-label": h, ...g }, _) => {
47
+ let v = d ?? t === "healthy", y = c[l], b = f ? `${f} \u2014 ${t}` : `Status: ${t}`, x = u === "ring" ? e("relative inline-flex rounded-full border-[1.5px]", y.dot, o[t], "bg-transparent") : e("relative inline-flex rounded-full", y.dot, i[t]);
48
+ return /* @__PURE__ */ r("span", {
49
+ ref: _,
50
+ role: "status",
51
+ "aria-label": h ?? b,
52
+ className: e("inline-flex items-center gap-ds-02", m),
53
+ ...g,
54
+ children: [/* @__PURE__ */ r("span", {
55
+ className: "relative inline-flex shrink-0",
56
+ children: [v && /* @__PURE__ */ n("span", {
57
+ "data-pulse": "",
58
+ className: e("absolute inline-flex rounded-full animate-ping motion-reduce:animate-none", y.pulse, s[t])
59
+ }), /* @__PURE__ */ n("span", { className: x })]
60
+ }), f && /* @__PURE__ */ n("span", {
61
+ className: e(y.text, a[t], "font-sans", p),
62
+ children: f
63
+ })]
64
+ });
65
+ });
66
+ l.displayName = "StatusDot";
67
+ //#endregion
68
+ export { l as StatusDot };
@@ -1,171 +1,122 @@
1
1
  "use client";
2
- import { jsx as t, jsxs as u } from "react/jsx-runtime";
3
- import * as s from "react";
4
- import { cn as i } from "./lib/utils.js";
5
- import { springs as x } from "./lib/motion.js";
6
- import { m as v, A as N } from "../_chunks/framer.js";
7
- const b = s.createContext({
8
- activeStep: 0,
9
- orientation: "horizontal",
10
- stepperId: ""
11
- }), y = s.forwardRef(
12
- ({ activeStep: e, orientation: r = "horizontal", className: d, children: o, ...c }, g) => {
13
- const a = s.Children.toArray(o), p = s.useId(), f = s.useMemo(
14
- () => ({ activeStep: e, orientation: r, stepperId: p }),
15
- [e, r, p]
16
- );
17
- return /* @__PURE__ */ t(b.Provider, { value: f, children: /* @__PURE__ */ t(
18
- "div",
19
- {
20
- ref: g,
21
- className: i(
22
- "flex gap-ds-02",
23
- r === "vertical" ? "flex-col" : "flex-row items-center",
24
- d
25
- ),
26
- role: "list",
27
- ...c,
28
- children: a.map((m, l) => /* @__PURE__ */ u(s.Fragment, { children: [
29
- s.isValidElement(m) ? s.cloneElement(m, { _index: l }) : m,
30
- l < a.length - 1 && /* @__PURE__ */ t(
31
- "div",
32
- {
33
- className: i(
34
- "relative flex-1 overflow-hidden",
35
- r === "vertical" ? "ml-ds-04 w-ds-01 min-h-ds-05" : "h-ds-01 min-w-ds-05",
36
- "bg-surface-border"
37
- ),
38
- "aria-hidden": "true",
39
- children: /* @__PURE__ */ t(
40
- v.div,
41
- {
42
- className: i(
43
- "absolute inset-0 bg-accent-9",
44
- r === "vertical" ? "origin-top" : "origin-left"
45
- ),
46
- initial: !1,
47
- animate: {
48
- [r === "vertical" ? "scaleY" : "scaleX"]: l < e ? 1 : 0
49
- },
50
- transition: x.smooth
51
- }
52
- )
53
- }
54
- )
55
- ] }, l))
56
- }
57
- ) });
58
- }
59
- ), w = s.forwardRef(
60
- ({ label: e, description: r, icon: d, className: o, ...c }, g) => {
61
- const { _index: a = 0, ...p } = c, { activeStep: f, orientation: m, stepperId: l } = s.useContext(b), n = a < f ? "completed" : a === f ? "active" : "pending";
62
- return /* @__PURE__ */ u(
63
- "div",
64
- {
65
- ref: g,
66
- "data-step": "",
67
- "data-state": n,
68
- role: "listitem",
69
- "aria-current": n === "active" ? "step" : void 0,
70
- "aria-label": `Step ${a + 1}: ${e}, ${n === "completed" ? "completed" : n === "active" ? "current" : "upcoming"}`,
71
- className: i(
72
- "flex items-center gap-ds-03",
73
- m === "vertical" && "py-ds-02",
74
- o
75
- ),
76
- ...p,
77
- children: [
78
- /* @__PURE__ */ u(
79
- "div",
80
- {
81
- className: i(
82
- "relative flex-shrink-0 flex items-center justify-center w-ds-sm h-ds-sm rounded-ds-full text-ds-sm font-semibold",
83
- n === "completed" && "bg-accent-9 text-accent-fg",
84
- n === "active" && "text-accent-fg",
85
- n === "pending" && "bg-surface-raised text-surface-fg-subtle border border-surface-border-strong"
86
- ),
87
- children: [
88
- n === "active" && /* @__PURE__ */ t(
89
- v.div,
90
- {
91
- layoutId: `${l}-stepper-active`,
92
- className: "absolute inset-0 rounded-ds-full bg-accent-9",
93
- transition: x.smooth
94
- }
95
- ),
96
- /* @__PURE__ */ t("span", { className: "relative z-10", children: d || (n === "completed" ? /* @__PURE__ */ t(
97
- v.svg,
98
- {
99
- className: "w-ico-sm h-ico-sm",
100
- viewBox: "0 0 24 24",
101
- fill: "none",
102
- stroke: "currentColor",
103
- strokeWidth: 2.5,
104
- strokeLinecap: "round",
105
- strokeLinejoin: "round",
106
- initial: { scale: 0 },
107
- animate: { scale: 1 },
108
- transition: x.bouncy,
109
- children: /* @__PURE__ */ t("polyline", { points: "20 6 9 17 4 12" })
110
- }
111
- ) : a + 1) })
112
- ]
113
- }
114
- ),
115
- /* @__PURE__ */ u("div", { className: "flex flex-col", children: [
116
- /* @__PURE__ */ t(
117
- "span",
118
- {
119
- className: i(
120
- "text-ds-md font-medium leading-ds-snug",
121
- n === "pending" ? "text-surface-fg-subtle" : "text-surface-fg"
122
- ),
123
- children: e
124
- }
125
- ),
126
- r && /* @__PURE__ */ t("span", { className: "text-ds-sm text-surface-fg-muted leading-ds-relaxed", children: r })
127
- ] })
128
- ]
129
- }
130
- );
131
- }
132
- ), h = 40, C = {
133
- enter: (e) => ({
134
- opacity: 0,
135
- x: e * h
136
- }),
137
- center: {
138
- opacity: 1,
139
- x: 0
140
- },
141
- exit: (e) => ({
142
- opacity: 0,
143
- x: e * -h
144
- })
2
+ import { a as e, c as t } from "../_chunks/framer.js";
3
+ import { springs as n } from "./lib/motion.js";
4
+ import { cn as r } from "./lib/utils.js";
5
+ import * as i from "react";
6
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
+ //#region src/ui/stepper.tsx
8
+ var s = i.createContext({
9
+ activeStep: 0,
10
+ orientation: "horizontal",
11
+ stepperId: ""
12
+ }), c = i.forwardRef(({ activeStep: t, orientation: c = "horizontal", className: l, children: u, ...d }, f) => {
13
+ let p = i.Children.toArray(u), m = i.useId(), h = i.useMemo(() => ({
14
+ activeStep: t,
15
+ orientation: c,
16
+ stepperId: m
17
+ }), [
18
+ t,
19
+ c,
20
+ m
21
+ ]);
22
+ return /* @__PURE__ */ a(s.Provider, {
23
+ value: h,
24
+ children: /* @__PURE__ */ a("div", {
25
+ ref: f,
26
+ className: r("flex gap-ds-02", c === "vertical" ? "flex-col" : "flex-row items-center", l),
27
+ role: "list",
28
+ ...d,
29
+ children: p.map((s, l) => /* @__PURE__ */ o(i.Fragment, { children: [i.isValidElement(s) ? i.cloneElement(s, { _index: l }) : s, l < p.length - 1 && /* @__PURE__ */ a("div", {
30
+ className: r("relative flex-1 overflow-hidden", c === "vertical" ? "ml-ds-04 w-ds-01 min-h-ds-05" : "h-ds-01 min-w-ds-05", "bg-surface-border"),
31
+ "aria-hidden": "true",
32
+ children: /* @__PURE__ */ a(e.div, {
33
+ className: r("absolute inset-0 bg-accent-9", c === "vertical" ? "origin-top" : "origin-left"),
34
+ initial: !1,
35
+ animate: { [c === "vertical" ? "scaleY" : "scaleX"]: +(l < t) },
36
+ transition: n.smooth
37
+ })
38
+ })] }, l))
39
+ })
40
+ });
41
+ }), l = i.forwardRef(({ label: t, description: c, icon: l, className: u, ...d }, f) => {
42
+ let { _index: p = 0, ...m } = d, { activeStep: h, orientation: g, stepperId: _ } = i.useContext(s), v = p < h ? "completed" : p === h ? "active" : "pending";
43
+ return /* @__PURE__ */ o("div", {
44
+ ref: f,
45
+ "data-step": "",
46
+ "data-state": v,
47
+ role: "listitem",
48
+ "aria-current": v === "active" ? "step" : void 0,
49
+ "aria-label": `Step ${p + 1}: ${t}, ${v === "completed" ? "completed" : v === "active" ? "current" : "upcoming"}`,
50
+ className: r("flex items-center gap-ds-03", g === "vertical" && "py-ds-02", u),
51
+ ...m,
52
+ children: [/* @__PURE__ */ o("div", {
53
+ className: r("relative flex-shrink-0 flex items-center justify-center w-ds-sm h-ds-sm rounded-ds-full text-ds-sm font-semibold", v === "completed" && "bg-accent-9 text-accent-fg", v === "active" && "text-accent-fg", v === "pending" && "bg-surface-raised text-surface-fg-subtle border border-surface-border-strong"),
54
+ children: [v === "active" && /* @__PURE__ */ a(e.div, {
55
+ layoutId: `${_}-stepper-active`,
56
+ className: "absolute inset-0 rounded-ds-full bg-accent-9",
57
+ transition: n.smooth
58
+ }), /* @__PURE__ */ a("span", {
59
+ className: "relative z-10",
60
+ children: l || (v === "completed" ? /* @__PURE__ */ a(e.svg, {
61
+ className: "w-ico-sm h-ico-sm",
62
+ viewBox: "0 0 24 24",
63
+ fill: "none",
64
+ stroke: "currentColor",
65
+ strokeWidth: 2.5,
66
+ strokeLinecap: "round",
67
+ strokeLinejoin: "round",
68
+ initial: { scale: 0 },
69
+ animate: { scale: 1 },
70
+ transition: n.bouncy,
71
+ children: /* @__PURE__ */ a("polyline", { points: "20 6 9 17 4 12" })
72
+ }) : p + 1)
73
+ })]
74
+ }), /* @__PURE__ */ o("div", {
75
+ className: "flex flex-col",
76
+ children: [/* @__PURE__ */ a("span", {
77
+ className: r("text-ds-md font-medium leading-ds-snug", v === "pending" ? "text-surface-fg-subtle" : "text-surface-fg"),
78
+ children: t
79
+ }), c && /* @__PURE__ */ a("span", {
80
+ className: "text-ds-sm text-surface-fg-muted leading-ds-relaxed",
81
+ children: c
82
+ })]
83
+ })]
84
+ });
85
+ }), u = 40, d = {
86
+ enter: (e) => ({
87
+ opacity: 0,
88
+ x: e * u
89
+ }),
90
+ center: {
91
+ opacity: 1,
92
+ x: 0
93
+ },
94
+ exit: (e) => ({
95
+ opacity: 0,
96
+ x: e * -u
97
+ })
145
98
  };
146
- function S({ activeStep: e, children: r, className: d }) {
147
- const o = s.useRef(e), c = e >= o.current ? 1 : -1;
148
- return s.useEffect(() => {
149
- o.current = e;
150
- }, [e]), /* @__PURE__ */ t("div", { className: i("relative overflow-hidden", d), children: /* @__PURE__ */ t(N, { mode: "wait", custom: c, children: /* @__PURE__ */ t(
151
- v.div,
152
- {
153
- custom: c,
154
- variants: C,
155
- initial: "enter",
156
- animate: "center",
157
- exit: "exit",
158
- transition: x.smooth,
159
- children: r
160
- },
161
- e
162
- ) }) });
99
+ function f({ activeStep: o, children: s, className: c }) {
100
+ let l = i.useRef(o), u = o >= l.current ? 1 : -1;
101
+ return i.useEffect(() => {
102
+ l.current = o;
103
+ }, [o]), /* @__PURE__ */ a("div", {
104
+ className: r("relative overflow-hidden", c),
105
+ children: /* @__PURE__ */ a(t, {
106
+ mode: "wait",
107
+ custom: u,
108
+ children: /* @__PURE__ */ a(e.div, {
109
+ custom: u,
110
+ variants: d,
111
+ initial: "enter",
112
+ animate: "center",
113
+ exit: "exit",
114
+ transition: n.smooth,
115
+ children: s
116
+ }, o)
117
+ })
118
+ });
163
119
  }
164
- y.displayName = "Stepper";
165
- w.displayName = "Step";
166
- S.displayName = "StepperContent";
167
- export {
168
- w as Step,
169
- y as Stepper,
170
- S as StepperContent
171
- };
120
+ c.displayName = "Stepper", l.displayName = "Step", f.displayName = "StepperContent";
121
+ //#endregion
122
+ export { l as Step, c as Stepper, f as StepperContent };
package/dist/ui/switch.js CHANGED
@@ -1,57 +1,54 @@
1
1
  "use client";
2
- import { jsx as t } from "react/jsx-runtime";
2
+ import { at as e, it as t } from "../_chunks/primitives.js";
3
+ import { a as n } from "../_chunks/framer.js";
4
+ import { springs as r } from "./lib/motion.js";
5
+ import { cn as i } from "./lib/utils.js";
3
6
  import * as a from "react";
4
- import { am as c, an as C } from "../_chunks/primitives.js";
5
- import { springs as y } from "./lib/motion.js";
6
- import { cn as n } from "./lib/utils.js";
7
- import { m as N } from "../_chunks/framer.js";
8
- const R = {
9
- sm: { track: "h-6 w-[38px]", thumb: "h-5 w-5", travel: 16 },
10
- md: { track: "h-6 w-11", thumb: "h-ico-md w-ico-md", travel: 20 },
11
- lg: { track: "h-7 w-[52px]", thumb: "h-6 w-6", travel: 24 }
12
- }, j = {
13
- accent: "data-[state=checked]:bg-accent-9",
14
- success: "data-[state=checked]:bg-success-9",
15
- warning: "data-[state=checked]:bg-warning-9"
16
- }, S = a.forwardRef(({ className: i, error: d, size: l = "md", color: h = "accent", thumbIcon: m, checked: e, defaultChecked: r, onCheckedChange: s, ...u }, b) => {
17
- const [f, p] = a.useState(r ?? !1), g = e !== void 0 ? e : f, { track: w, thumb: v, travel: k } = R[l], x = a.useCallback(
18
- (o) => {
19
- e === void 0 && p(o), s?.(o);
20
- },
21
- [e, s]
22
- );
23
- return /* @__PURE__ */ t(
24
- c,
25
- {
26
- className: n(
27
- "touch-target peer inline-flex shrink-0 cursor-pointer items-center rounded-ds-full border-2 border-surface-border-strong shadow-raised transition-colors duration-fast-01 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-action-disabled data-[state=checked]:border-transparent data-[state=unchecked]:bg-surface-border-strong data-[state=unchecked]:hover:bg-surface-raised-active",
28
- w,
29
- j[h],
30
- d && "border-error-7 data-[state=checked]:bg-error-9",
31
- i
32
- ),
33
- checked: e,
34
- defaultChecked: r,
35
- onCheckedChange: x,
36
- ...u,
37
- ref: b,
38
- children: /* @__PURE__ */ t(C, { asChild: !0, children: /* @__PURE__ */ t(
39
- N.span,
40
- {
41
- className: n(
42
- "pointer-events-none flex items-center justify-center rounded-ds-full bg-accent-fg shadow-raised-hover ring-0",
43
- v
44
- ),
45
- animate: { x: g ? k : 0 },
46
- whileTap: { scale: 0.85 },
47
- transition: y.snappy,
48
- children: m
49
- }
50
- ) })
51
- }
52
- );
7
+ import { jsx as o } from "react/jsx-runtime";
8
+ //#region src/ui/switch.tsx
9
+ var s = {
10
+ sm: {
11
+ track: "h-6 w-[38px]",
12
+ thumb: "h-5 w-5",
13
+ travel: 16
14
+ },
15
+ md: {
16
+ track: "h-6 w-11",
17
+ thumb: "h-ico-md w-ico-md",
18
+ travel: 20
19
+ },
20
+ lg: {
21
+ track: "h-7 w-[52px]",
22
+ thumb: "h-6 w-6",
23
+ travel: 24
24
+ }
25
+ }, c = {
26
+ accent: "data-[state=checked]:bg-accent-9",
27
+ success: "data-[state=checked]:bg-success-9",
28
+ warning: "data-[state=checked]:bg-warning-9"
29
+ }, l = a.forwardRef(({ className: l, error: u, size: d = "md", color: f = "accent", thumbIcon: p, checked: m, defaultChecked: h, onCheckedChange: g, ..._ }, v) => {
30
+ let [y, b] = a.useState(h ?? !1), x = m === void 0 ? y : m, { track: S, thumb: C, travel: w } = s[d], T = a.useCallback((e) => {
31
+ m === void 0 && b(e), g?.(e);
32
+ }, [m, g]);
33
+ return /* @__PURE__ */ o(t, {
34
+ className: i("touch-target peer inline-flex shrink-0 cursor-pointer items-center rounded-ds-full border-2 border-surface-border-strong shadow-raised transition-colors duration-fast-01 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-action-disabled data-[state=checked]:border-transparent data-[state=unchecked]:bg-surface-border-strong data-[state=unchecked]:hover:bg-surface-raised-active", S, c[f], u && "border-error-7 data-[state=checked]:bg-error-9", l),
35
+ checked: m,
36
+ defaultChecked: h,
37
+ onCheckedChange: T,
38
+ ..._,
39
+ ref: v,
40
+ children: /* @__PURE__ */ o(e, {
41
+ asChild: !0,
42
+ children: /* @__PURE__ */ o(n.span, {
43
+ className: i("pointer-events-none flex items-center justify-center rounded-ds-full bg-accent-fg shadow-raised-hover ring-0", C),
44
+ animate: { x: x ? w : 0 },
45
+ whileTap: { scale: .85 },
46
+ transition: r.snappy,
47
+ children: p
48
+ })
49
+ })
50
+ });
53
51
  });
54
- S.displayName = c.displayName;
55
- export {
56
- S as Switch
57
- };
52
+ l.displayName = t.displayName;
53
+ //#endregion
54
+ export { l as Switch };