@pibit.ai/cure-design-system 0.6.24 → 0.6.26

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 (37) hide show
  1. package/dist/index.d.ts +6 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +391 -374
  4. package/dist/primitives/button-group/button-group.d.ts +45 -0
  5. package/dist/primitives/button-group/button-group.d.ts.map +1 -0
  6. package/dist/primitives/button-group/button-group.js +73 -0
  7. package/dist/primitives/button-group/index.d.ts +2 -0
  8. package/dist/primitives/button-group/index.d.ts.map +1 -0
  9. package/dist/primitives/file-icon/file-icon.d.ts +16 -0
  10. package/dist/primitives/file-icon/file-icon.d.ts.map +1 -0
  11. package/dist/primitives/file-icon/index.d.ts +2 -0
  12. package/dist/primitives/file-icon/index.d.ts.map +1 -0
  13. package/dist/primitives/input/index.d.ts +1 -0
  14. package/dist/primitives/input/index.d.ts.map +1 -1
  15. package/dist/primitives/input/input-group.d.ts +31 -0
  16. package/dist/primitives/input/input-group.d.ts.map +1 -0
  17. package/dist/primitives/input/input-group.js +116 -0
  18. package/dist/primitives/progress-bar/index.d.ts +2 -0
  19. package/dist/primitives/progress-bar/index.d.ts.map +1 -0
  20. package/dist/primitives/progress-bar/progress-bar.d.ts +52 -0
  21. package/dist/primitives/progress-bar/progress-bar.d.ts.map +1 -0
  22. package/dist/primitives/progress-bar/progress-bar.js +96 -0
  23. package/dist/primitives/segmented-control/index.d.ts +2 -0
  24. package/dist/primitives/segmented-control/index.d.ts.map +1 -0
  25. package/dist/primitives/segmented-control/segmented-control.d.ts +21 -0
  26. package/dist/primitives/segmented-control/segmented-control.d.ts.map +1 -0
  27. package/dist/primitives/segmented-control/segmented-control.js +43 -0
  28. package/dist/primitives/slider/index.d.ts +3 -0
  29. package/dist/primitives/slider/index.d.ts.map +1 -0
  30. package/dist/primitives/slider/range-slider.d.ts +24 -0
  31. package/dist/primitives/slider/range-slider.d.ts.map +1 -0
  32. package/dist/primitives/slider/range-slider.js +115 -0
  33. package/dist/primitives/slider/slider.d.ts +13 -0
  34. package/dist/primitives/slider/slider.d.ts.map +1 -0
  35. package/dist/primitives/slider/slider.js +55 -0
  36. package/dist/styles/components.css +1 -1
  37. package/package.json +2 -1
@@ -0,0 +1,115 @@
1
+ import { jsxs as a, jsx as e, Fragment as S } from "react/jsx-runtime";
2
+ import { Slider as $, SliderTrack as j, SliderThumb as V } from "react-aria-components";
3
+ import { cx as s } from "../../utils/cn.js";
4
+ function M({
5
+ minValue: m,
6
+ maxValue: u,
7
+ step: f = 1,
8
+ value: d,
9
+ onChange: h,
10
+ isDisabled: o = !1,
11
+ marks: r,
12
+ zoneLabels: t,
13
+ leftSegmentClassName: x = "bg-utility-error-300",
14
+ middleSegmentClassName: p = "bg-[#DEE1E8]",
15
+ rightSegmentClassName: g = "bg-utility-success-300",
16
+ trackClassName: N = "bg-[#DEE1E8]"
17
+ }) {
18
+ const [y, b] = d, w = y < b;
19
+ return /* @__PURE__ */ a("div", { className: "flex flex-col gap-4", children: [
20
+ t ? /* @__PURE__ */ a("div", { className: "grid grid-cols-3 gap-2 text-center", children: [
21
+ /* @__PURE__ */ a("div", { className: "flex flex-col gap-0.5 items-start", children: [
22
+ /* @__PURE__ */ e("span", { className: "text-xs text-tertiary font-medium", children: t.left.title }),
23
+ /* @__PURE__ */ e("span", { className: "text-md font-bold text-primary", children: t.left.value })
24
+ ] }),
25
+ /* @__PURE__ */ a("div", { className: "flex flex-col gap-0.5 items-center", children: [
26
+ /* @__PURE__ */ e("span", { className: "text-xs text-tertiary font-medium", children: t.middle.title }),
27
+ /* @__PURE__ */ e("span", { className: "text-md font-bold text-primary", children: t.middle.value })
28
+ ] }),
29
+ /* @__PURE__ */ a("div", { className: "flex flex-col gap-0.5 items-end", children: [
30
+ /* @__PURE__ */ e("span", { className: "text-xs text-tertiary font-medium", children: t.right.title }),
31
+ /* @__PURE__ */ e("span", { className: "text-md font-bold text-primary", children: t.right.value })
32
+ ] })
33
+ ] }) : null,
34
+ /* @__PURE__ */ e(
35
+ $,
36
+ {
37
+ minValue: m,
38
+ maxValue: u,
39
+ step: f,
40
+ value: d,
41
+ onChange: (l) => h(l),
42
+ isDisabled: o,
43
+ className: "w-full",
44
+ children: /* @__PURE__ */ e(j, { className: "relative h-8 w-full", children: ({ state: { getThumbPercent: l } }) => {
45
+ const i = l(0), n = l(1);
46
+ return /* @__PURE__ */ a(S, { children: [
47
+ /* @__PURE__ */ e(
48
+ "span",
49
+ {
50
+ className: s(
51
+ "absolute top-1/2 h-2 w-full -translate-y-1/2 rounded-full",
52
+ N
53
+ )
54
+ }
55
+ ),
56
+ i > 0 ? /* @__PURE__ */ e(
57
+ "span",
58
+ {
59
+ className: s(
60
+ "absolute top-1/2 h-2 -translate-y-1/2 rounded-l-full",
61
+ x
62
+ ),
63
+ style: {
64
+ left: 0,
65
+ width: `${i * 100}%`
66
+ }
67
+ }
68
+ ) : null,
69
+ w ? /* @__PURE__ */ e(
70
+ "span",
71
+ {
72
+ className: s("absolute top-1/2 h-2 -translate-y-1/2", p),
73
+ style: {
74
+ left: `${i * 100}%`,
75
+ width: `${(n - i) * 100}%`
76
+ }
77
+ }
78
+ ) : null,
79
+ n < 1 ? /* @__PURE__ */ e(
80
+ "span",
81
+ {
82
+ className: s(
83
+ "absolute top-1/2 h-2 -translate-y-1/2 rounded-r-full",
84
+ g
85
+ ),
86
+ style: {
87
+ left: `${n * 100}%`,
88
+ width: `${(1 - n) * 100}%`
89
+ }
90
+ }
91
+ ) : null,
92
+ [0, 1].map((c) => /* @__PURE__ */ e(
93
+ V,
94
+ {
95
+ index: c,
96
+ className: ({ isFocusVisible: v, isDragging: E }) => s(
97
+ "top-1/2 box-border size-5 cursor-grab rounded-full bg-white shadow-md ring-1 ring-secondary",
98
+ c === 0 ? "z-[2]" : "z-[1]",
99
+ v && "outline-2 outline-offset-2 outline-focus-ring",
100
+ E && "cursor-grabbing",
101
+ o && "cursor-not-allowed opacity-60"
102
+ )
103
+ },
104
+ c
105
+ ))
106
+ ] });
107
+ } })
108
+ }
109
+ ),
110
+ r != null && r.length ? /* @__PURE__ */ e("div", { className: "flex justify-between px-0.5", children: r.map((l) => /* @__PURE__ */ e("span", { className: "w-5 text-center text-xs font-medium text-tertiary", children: l }, l)) }) : null
111
+ ] });
112
+ }
113
+ export {
114
+ M as RangeSlider
115
+ };
@@ -0,0 +1,13 @@
1
+ import { SliderProps as AriaSliderProps } from 'react-aria-components';
2
+ declare const styles: {
3
+ default: string;
4
+ bottom: string;
5
+ "top-floating": string;
6
+ };
7
+ export interface SliderProps extends AriaSliderProps {
8
+ labelPosition?: keyof typeof styles;
9
+ labelFormatter?: (value: number) => string;
10
+ }
11
+ export declare const Slider: ({ labelPosition, minValue, maxValue, labelFormatter, formatOptions, ...rest }: SliderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/primitives/slider/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU5E,QAAA,MAAM,MAAM;;;;CAKV,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAChD,aAAa,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,eAAO,MAAM,MAAM,GAAI,+EAOpB,WAAW,4CAqDb,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { jsxs as s, jsx as t, Fragment as y } from "react/jsx-runtime";
2
+ import { Slider as x, Label as w, SliderTrack as S, SliderThumb as N, SliderOutput as O } from "react-aria-components";
3
+ import { cx as n, sortCx as F } from "../../utils/cn.js";
4
+ const $ = F({
5
+ default: "hidden",
6
+ bottom: "absolute top-2 left-1/2 -translate-x-1/2 translate-y-full text-md font-medium text-primary",
7
+ "top-floating": "absolute -top-2 left-1/2 -translate-x-1/2 -translate-y-full rounded-lg bg-primary px-2 py-1.5 text-xs font-semibold text-secondary shadow-lg ring-1 ring-secondary_alt"
8
+ }), D = ({
9
+ labelPosition: i = "default",
10
+ minValue: d = 0,
11
+ maxValue: u = 100,
12
+ labelFormatter: a,
13
+ formatOptions: f,
14
+ ...m
15
+ }) => /* @__PURE__ */ s(x, { ...m, minValue: d, maxValue: u, formatOptions: f ?? {
16
+ style: "percent",
17
+ maximumFractionDigits: 0
18
+ }, children: [
19
+ /* @__PURE__ */ t(w, {}),
20
+ /* @__PURE__ */ t(S, { className: "relative h-6 w-full", children: ({ state: { values: e, getThumbValue: p, getThumbPercent: l, getFormattedValue: c } }) => {
21
+ const o = e.length === 1 ? 0 : l(0), g = e.length === 1 ? l(0) : l(1) - o;
22
+ return /* @__PURE__ */ s(y, { children: [
23
+ /* @__PURE__ */ t("span", { className: "absolute top-1/2 h-2 w-full -translate-y-1/2 rounded-full bg-tertiary" }),
24
+ /* @__PURE__ */ t(
25
+ "span",
26
+ {
27
+ className: "absolute top-1/2 h-2 w-full -translate-y-1/2 rounded-full bg-brand-solid",
28
+ style: {
29
+ left: `${o * 100}%`,
30
+ width: `${g * 100}%`
31
+ }
32
+ }
33
+ ),
34
+ e.map((_, r) => /* @__PURE__ */ t(
35
+ N,
36
+ {
37
+ index: r,
38
+ className: ({ isFocusVisible: b, isDragging: h }) => n(
39
+ "top-1/2 box-border size-6 cursor-grab rounded-full bg-slider-handle-bg shadow-md ring-2 ring-slider-handle-border ring-inset",
40
+ b && "outline-2 outline-offset-2 outline-focus-ring",
41
+ h && "cursor-grabbing"
42
+ ),
43
+ children: /* @__PURE__ */ t(O, { className: n("whitespace-nowrap", $[i]), children: a ? a(p(r)) : (
44
+ // The default format is a percent, so pass the thumb's 0–1 position in the range.
45
+ c(l(r))
46
+ ) })
47
+ },
48
+ r
49
+ ))
50
+ ] });
51
+ } })
52
+ ] });
53
+ export {
54
+ D as Slider
55
+ };