@trsys-tech/matrix-library 1.1.1-canary.0 → 1.1.3

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 (78) hide show
  1. package/dist/accordion.es.js +21 -19
  2. package/dist/accordion.es.js.map +1 -1
  3. package/dist/avatar.es.js +19 -19
  4. package/dist/avatar.es.js.map +1 -1
  5. package/dist/breadcrumb.es.js +7 -7
  6. package/dist/breadcrumb.es.js.map +1 -1
  7. package/dist/calendar.es.js +40 -33
  8. package/dist/calendar.es.js.map +1 -1
  9. package/dist/chip.es.js +28 -22
  10. package/dist/chip.es.js.map +1 -1
  11. package/dist/command.es.js +35 -32
  12. package/dist/command.es.js.map +1 -1
  13. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  14. package/dist/components/chip/Chip.d.ts.map +1 -1
  15. package/dist/components/command/Command.d.ts.map +1 -1
  16. package/dist/components/date-picker/DesktopDatePicker.d.ts +1 -1
  17. package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
  18. package/dist/components/date-picker/DesktopTimePicker.d.ts +2 -2
  19. package/dist/components/date-picker/DesktopTimePicker.d.ts.map +1 -1
  20. package/dist/components/date-picker/TimePickerContent.d.ts.map +1 -1
  21. package/dist/components/date-picker/calendar.d.ts.map +1 -1
  22. package/dist/components/gantt-chart/GanttChart.d.ts +104 -0
  23. package/dist/components/gantt-chart/GanttChart.d.ts.map +1 -0
  24. package/dist/components/gantt-chart/GanttToolbar.d.ts +14 -0
  25. package/dist/components/gantt-chart/GanttToolbar.d.ts.map +1 -0
  26. package/dist/components/gantt-chart/gantt-chart.types.d.ts +45 -0
  27. package/dist/components/gantt-chart/gantt-chart.types.d.ts.map +1 -0
  28. package/dist/components/gantt-chart/gantt-chart.utils.d.ts +34 -0
  29. package/dist/components/gantt-chart/gantt-chart.utils.d.ts.map +1 -0
  30. package/dist/components/multi-select/MultiSelect.d.ts +0 -8
  31. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  32. package/dist/components/rating/Rating.d.ts +1 -0
  33. package/dist/components/rating/Rating.d.ts.map +1 -1
  34. package/dist/components/sidebar/Sidebar.d.ts +1 -1
  35. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  36. package/dist/components/tabs/Tabs.d.ts +5 -3
  37. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  38. package/dist/components/timeline/Timeline.d.ts +40 -0
  39. package/dist/components/timeline/Timeline.d.ts.map +1 -0
  40. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  41. package/dist/desktopdatepicker.es.js +2 -2
  42. package/dist/desktopdatepicker.es.js.map +1 -1
  43. package/dist/desktoptimepicker.es.js.map +1 -1
  44. package/dist/duration.es.js +1 -1
  45. package/dist/duration.es.js.map +1 -1
  46. package/dist/gantt-chart.es.js +93 -0
  47. package/dist/gantt-chart.es.js.map +1 -0
  48. package/dist/ganttchart.es.js +337 -0
  49. package/dist/ganttchart.es.js.map +1 -0
  50. package/dist/gantttoolbar.es.js +49 -0
  51. package/dist/gantttoolbar.es.js.map +1 -0
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.es.js +191 -187
  55. package/dist/index.es.js.map +1 -1
  56. package/dist/lib/hooks/use-mobile.d.ts.map +1 -1
  57. package/dist/multiselect.es.js +121 -130
  58. package/dist/multiselect.es.js.map +1 -1
  59. package/dist/rating.es.js +47 -50
  60. package/dist/rating.es.js.map +1 -1
  61. package/dist/sidebar.es.js +46 -48
  62. package/dist/sidebar.es.js.map +1 -1
  63. package/dist/styles.css +1 -1
  64. package/dist/switch.es.js +5 -5
  65. package/dist/switch.es.js.map +1 -1
  66. package/dist/tabs.es.js +25 -26
  67. package/dist/tabs.es.js.map +1 -1
  68. package/dist/textfield.es.js +18 -18
  69. package/dist/textfield.es.js.map +1 -1
  70. package/dist/timeline.es.js +182 -0
  71. package/dist/timeline.es.js.map +1 -0
  72. package/dist/timepickercontent.es.js +39 -42
  73. package/dist/timepickercontent.es.js.map +1 -1
  74. package/dist/tooltip.es.js +15 -13
  75. package/dist/tooltip.es.js.map +1 -1
  76. package/dist/use-mobile.es.js +15 -10
  77. package/dist/use-mobile.es.js.map +1 -1
  78. package/package.json +7 -1
package/dist/rating.es.js CHANGED
@@ -1,9 +1,9 @@
1
- import { jsxs as p, jsx as m } from "react/jsx-runtime";
2
- import u from "react";
1
+ import { jsxs as g, jsx as m } from "react/jsx-runtime";
2
+ import f from "react";
3
3
  import { cn as a } from "./utils.es.js";
4
- import { tv as $ } from "tailwind-variants";
5
- import { Star as C } from "@trsys-tech/matrix-icons";
6
- const E = $({
4
+ import { tv as R } from "tailwind-variants";
5
+ import { Star as z } from "@trsys-tech/matrix-icons";
6
+ const E = R({
7
7
  base: "mtx-flex mtx-items-center mtx-gap-0",
8
8
  variants: {
9
9
  variant: {
@@ -25,77 +25,74 @@ const E = $({
25
25
  variant: "default",
26
26
  size: "md"
27
27
  }
28
- }), P = u.forwardRef((s, t) => {
28
+ }), D = f.forwardRef((o, t) => {
29
29
  const {
30
- precision: l = "full",
30
+ precision: s = "full",
31
31
  variant: r,
32
32
  size: n,
33
33
  readOnly: x = !1,
34
- onValueChange: o,
35
- value: e = 0,
34
+ onValueChange: l,
35
+ value: e,
36
+ defaultValue: p = 0,
36
37
  className: _,
37
- children: k,
38
- max: i = 5,
39
- Icon: y = C,
40
- disabled: b,
41
- ...d
42
- } = s, [v, h] = u.useState(e), [w, N] = u.useState(null), f = w ?? v;
43
- u.useEffect(() => {
44
- h(e);
45
- }, [e]);
46
- const M = (c) => {
47
- x || (h(c), o?.(c));
48
- }, S = (c) => {
49
- x || N(c);
38
+ children: d,
39
+ max: u = 5,
40
+ Icon: k = z,
41
+ disabled: y,
42
+ ...b
43
+ } = o, w = e !== void 0, [N, V] = f.useState(p), v = e !== void 0 ? e : N, [M, S] = f.useState(null), i = M ?? v, C = (c) => {
44
+ x || (w || V(c), l?.(c));
45
+ }, $ = (c) => {
46
+ x || S(c);
50
47
  };
51
- return /* @__PURE__ */ p(
48
+ return /* @__PURE__ */ g(
52
49
  "div",
53
50
  {
54
51
  className: a(E({ variant: r, size: n, className: _ })),
55
52
  role: "slider",
56
53
  "data-value": v,
57
- "aria-valuenow": f,
54
+ "aria-valuenow": i,
58
55
  "aria-valuemin": 0,
59
- "aria-valuemax": i,
60
- "aria-valuetext": `${f} out of ${i}`,
61
- ...d,
56
+ "aria-valuemax": u,
57
+ "aria-valuetext": `${i} out of ${u}`,
58
+ ...b,
62
59
  ref: t,
63
60
  children: [
64
- Array.from({ length: i }).map((c, g) => /* @__PURE__ */ m(
65
- R,
61
+ Array.from({ length: u }).map((c, h) => /* @__PURE__ */ m(
62
+ L,
66
63
  {
67
- Icon: y,
68
- index: g,
69
- displayedValue: f,
70
- onHover: S,
71
- onValueChange: M,
72
- precision: l,
64
+ Icon: k,
65
+ index: h,
66
+ displayedValue: i,
67
+ onHover: $,
68
+ onValueChange: C,
69
+ precision: s,
73
70
  readOnly: x,
74
- disabled: b
71
+ disabled: y
75
72
  },
76
- g
73
+ h
77
74
  )),
78
- k
75
+ d
79
76
  ]
80
77
  }
81
78
  );
82
- }), R = ({ Icon: s, index: t, displayedValue: l, onHover: r, onValueChange: n, precision: x, readOnly: o, disabled: e }) => x === "half" ? /* @__PURE__ */ p(
79
+ }), L = ({ Icon: o, index: t, displayedValue: s, onHover: r, onValueChange: n, precision: x, readOnly: l, disabled: e }) => x === "half" ? /* @__PURE__ */ g(
83
80
  "div",
84
81
  {
85
82
  className: a(
86
83
  "mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5",
87
- o && "hover:mtx-scale-100",
84
+ l && "hover:mtx-scale-100",
88
85
  e && "hover:mtx-scale-100 mtx-opacity-70"
89
86
  ),
90
87
  children: [
91
- /* @__PURE__ */ m(s, { className: a("mtx-stroke-gray-500") }),
88
+ /* @__PURE__ */ m(o, { className: a("mtx-stroke-gray-500") }),
92
89
  /* @__PURE__ */ m(
93
90
  "button",
94
91
  {
95
92
  type: "button",
96
93
  className: a(
97
94
  "mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full",
98
- o && "mtx-cursor-default",
95
+ l && "mtx-cursor-default",
99
96
  e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
100
97
  ),
101
98
  onClick: () => n(t + 0.5),
@@ -104,11 +101,11 @@ const E = $({
104
101
  disabled: e,
105
102
  "aria-label": `Set rating to ${t + 0.5}`,
106
103
  children: /* @__PURE__ */ m(
107
- s,
104
+ o,
108
105
  {
109
106
  className: a(
110
107
  "mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]",
111
- l >= t + 0.5 && "mtx-stroke-current mtx-fill-current"
108
+ s >= t + 0.5 && "mtx-stroke-current mtx-fill-current"
112
109
  )
113
110
  }
114
111
  )
@@ -120,7 +117,7 @@ const E = $({
120
117
  type: "button",
121
118
  className: a(
122
119
  "mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full",
123
- o && "mtx-cursor-default",
120
+ l && "mtx-cursor-default",
124
121
  e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
125
122
  ),
126
123
  onClick: () => n(t + 1),
@@ -129,11 +126,11 @@ const E = $({
129
126
  disabled: e,
130
127
  "aria-label": `Set rating to ${t + 1}`,
131
128
  children: /* @__PURE__ */ m(
132
- s,
129
+ o,
133
130
  {
134
131
  className: a(
135
132
  "mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]",
136
- l >= t + 1 && "mtx-stroke-current mtx-fill-current"
133
+ s >= t + 1 && "mtx-stroke-current mtx-fill-current"
137
134
  )
138
135
  }
139
136
  )
@@ -150,15 +147,15 @@ const E = $({
150
147
  onMouseLeave: () => r(null),
151
148
  className: a(
152
149
  "hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform",
153
- o && "mtx-cursor-default hover:mtx-scale-100",
150
+ l && "mtx-cursor-default hover:mtx-scale-100",
154
151
  e && "mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70"
155
152
  ),
156
153
  disabled: e,
157
154
  "aria-label": `Set rating to ${t + 1}`,
158
- children: /* @__PURE__ */ m(s, { className: a("mtx-stroke-gray-500", l >= t + 1 && "mtx-stroke-current mtx-fill-current") })
155
+ children: /* @__PURE__ */ m(o, { className: a("mtx-stroke-gray-500", s >= t + 1 && "mtx-stroke-current mtx-fill-current") })
159
156
  }
160
157
  );
161
158
  export {
162
- P as Rating
159
+ D as Rating
163
160
  };
164
161
  //# sourceMappingURL=rating.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rating.es.js","sources":["../src/components/rating/Rating.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\nimport { Star } from \"@trsys-tech/matrix-icons\";\r\n\r\nconst ratingVariants = tv({\r\n base: \"mtx-flex mtx-items-center mtx-gap-0\",\r\n variants: {\r\n variant: {\r\n default: \"mtx-text-yellow-400\",\r\n primary: \"mtx-text-primary\",\r\n secondary: \"mtx-text-secondary\",\r\n success: \"mtx-text-success\",\r\n danger: \"mtx-text-danger\",\r\n warning: \"mtx-text-warning\",\r\n info: \"mtx-text-info\",\r\n },\r\n size: {\r\n sm: \"[&_*_svg]:mtx-h-5 [&_*_svg]:mtx-w-5\",\r\n md: \"[&_*_svg]:mtx-h-6 [&_*_svg]:mtx-w-6\",\r\n lg: \"[&_*_svg]:mtx-h-8 [&_*_svg]:mtx-w-8\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n});\r\n\r\ninterface RatingProps extends React.HTMLAttributes<HTMLDivElement> {\r\n precision?: \"half\" | \"full\";\r\n variant?: VariantProps<typeof ratingVariants>[\"variant\"];\r\n size?: VariantProps<typeof ratingVariants>[\"size\"];\r\n readOnly?: boolean;\r\n value?: number;\r\n onValueChange?: (value: number) => void;\r\n children?: React.ReactNode;\r\n disabled?: boolean;\r\n max?: number;\r\n Icon?: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n}\r\n\r\nconst Rating = React.forwardRef<HTMLDivElement, RatingProps>((props, ref) => {\r\n const {\r\n precision = \"full\",\r\n variant,\r\n size,\r\n readOnly = false,\r\n onValueChange,\r\n value: _value = 0,\r\n className,\r\n children,\r\n max = 5,\r\n Icon = Star,\r\n disabled,\r\n ...restProps\r\n } = props;\r\n\r\n const [value, setValue] = React.useState(_value);\r\n const [hoveredValue, setHoveredValue] = React.useState<number | null>(null);\r\n\r\n const displayedValue = hoveredValue ?? value;\r\n\r\n React.useEffect(() => {\r\n setValue(_value);\r\n }, [_value]);\r\n\r\n const handleValueChange = (newValue: number) => {\r\n if (readOnly) return;\r\n setValue(newValue);\r\n onValueChange?.(newValue);\r\n };\r\n\r\n const handleHover = (newValue: number | null) => {\r\n if (readOnly) return;\r\n setHoveredValue(newValue);\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(ratingVariants({ variant, size, className }))}\r\n role=\"slider\"\r\n data-value={value}\r\n aria-valuenow={displayedValue}\r\n aria-valuemin={0}\r\n aria-valuemax={max}\r\n aria-valuetext={`${displayedValue} out of ${max}`}\r\n {...restProps}\r\n ref={ref}\r\n >\r\n {Array.from({ length: max }).map((_, index) => (\r\n <RatingItem\r\n Icon={Icon}\r\n index={index}\r\n key={index}\r\n displayedValue={displayedValue}\r\n onHover={handleHover}\r\n onValueChange={handleValueChange}\r\n precision={precision}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n />\r\n ))}\r\n {children}\r\n </div>\r\n );\r\n});\r\n\r\ntype RatingItemProps = {\r\n Icon: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n index: number;\r\n onHover: (value: number | null) => void;\r\n onValueChange: (value: number) => void;\r\n displayedValue: number;\r\n precision: \"half\" | \"full\";\r\n readOnly: boolean;\r\n disabled?: boolean;\r\n};\r\n\r\nconst RatingItem = ({ Icon, index, displayedValue, onHover, onValueChange, precision, readOnly, disabled }: RatingItemProps) => {\r\n if (precision === \"half\") {\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5\",\r\n readOnly && \"hover:mtx-scale-100\",\r\n disabled && \"hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\")} />\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 0.5)}\r\n onMouseEnter={() => onHover(index + 0.5)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 0.5}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 0.5 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n className={cn(\r\n \"hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform\",\r\n readOnly && \"mtx-cursor-default hover:mtx-scale-100\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\", displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\")} />\r\n </button>\r\n );\r\n};\r\n\r\nexport { Rating, type RatingProps };\r\n"],"names":["ratingVariants","tv","Rating","React","props","ref","precision","variant","size","readOnly","onValueChange","_value","className","children","max","Icon","Star","disabled","restProps","value","setValue","hoveredValue","setHoveredValue","displayedValue","handleValueChange","newValue","handleHover","jsxs","cn","_","index","jsx","RatingItem","onHover"],"mappings":"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"}
1
+ {"version":3,"file":"rating.es.js","sources":["../src/components/rating/Rating.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { tv, VariantProps } from \"tailwind-variants\";\r\nimport { Star } from \"@trsys-tech/matrix-icons\";\r\n\r\nconst ratingVariants = tv({\r\n base: \"mtx-flex mtx-items-center mtx-gap-0\",\r\n variants: {\r\n variant: {\r\n default: \"mtx-text-yellow-400\",\r\n primary: \"mtx-text-primary\",\r\n secondary: \"mtx-text-secondary\",\r\n success: \"mtx-text-success\",\r\n danger: \"mtx-text-danger\",\r\n warning: \"mtx-text-warning\",\r\n info: \"mtx-text-info\",\r\n },\r\n size: {\r\n sm: \"[&_*_svg]:mtx-h-5 [&_*_svg]:mtx-w-5\",\r\n md: \"[&_*_svg]:mtx-h-6 [&_*_svg]:mtx-w-6\",\r\n lg: \"[&_*_svg]:mtx-h-8 [&_*_svg]:mtx-w-8\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"md\",\r\n },\r\n});\r\n\r\ninterface RatingProps extends React.HTMLAttributes<HTMLDivElement> {\r\n precision?: \"half\" | \"full\";\r\n variant?: VariantProps<typeof ratingVariants>[\"variant\"];\r\n size?: VariantProps<typeof ratingVariants>[\"size\"];\r\n readOnly?: boolean;\r\n value?: number;\r\n defaultValue?: number;\r\n onValueChange?: (value: number) => void;\r\n children?: React.ReactNode;\r\n disabled?: boolean;\r\n max?: number;\r\n Icon?: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n}\r\n\r\nconst Rating = React.forwardRef<HTMLDivElement, RatingProps>((props, ref) => {\r\n const {\r\n precision = \"full\",\r\n variant,\r\n size,\r\n readOnly = false,\r\n onValueChange,\r\n value: controlledValue,\r\n defaultValue = 0,\r\n className,\r\n children,\r\n max = 5,\r\n Icon = Star,\r\n disabled,\r\n ...restProps\r\n } = props;\r\n\r\n const isControlled = controlledValue !== undefined;\r\n const [internalValue, setInternalValue] = React.useState(defaultValue);\r\n const value = controlledValue !== undefined ? controlledValue : internalValue;\r\n const [hoveredValue, setHoveredValue] = React.useState<number | null>(null);\r\n\r\n const displayedValue = hoveredValue ?? value;\r\n\r\n const handleValueChange = (newValue: number) => {\r\n if (readOnly) return;\r\n if (!isControlled) {\r\n setInternalValue(newValue);\r\n }\r\n onValueChange?.(newValue);\r\n };\r\n\r\n const handleHover = (newValue: number | null) => {\r\n if (readOnly) return;\r\n setHoveredValue(newValue);\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(ratingVariants({ variant, size, className }))}\r\n role=\"slider\"\r\n data-value={value}\r\n aria-valuenow={displayedValue}\r\n aria-valuemin={0}\r\n aria-valuemax={max}\r\n aria-valuetext={`${displayedValue} out of ${max}`}\r\n {...restProps}\r\n ref={ref}\r\n >\r\n {Array.from({ length: max }).map((_, index) => (\r\n <RatingItem\r\n Icon={Icon}\r\n index={index}\r\n key={index}\r\n displayedValue={displayedValue}\r\n onHover={handleHover}\r\n onValueChange={handleValueChange}\r\n precision={precision}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n />\r\n ))}\r\n {children}\r\n </div>\r\n );\r\n});\r\n\r\ntype RatingItemProps = {\r\n Icon: React.JSXElementConstructor<React.SVGProps<SVGSVGElement>>;\r\n index: number;\r\n onHover: (value: number | null) => void;\r\n onValueChange: (value: number) => void;\r\n displayedValue: number;\r\n precision: \"half\" | \"full\";\r\n readOnly: boolean;\r\n disabled?: boolean;\r\n};\r\n\r\nconst RatingItem = ({ Icon, index, displayedValue, onHover, onValueChange, precision, readOnly, disabled }: RatingItemProps) => {\r\n if (precision === \"half\") {\r\n return (\r\n <div\r\n className={cn(\r\n \"mtx-relative hover:mtx-scale-125 mtx-transition-transform mtx-px-0.5\",\r\n readOnly && \"hover:mtx-scale-100\",\r\n disabled && \"hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\")} />\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-left-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 0.5)}\r\n onMouseEnter={() => onHover(index + 0.5)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 0.5}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-left-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_right,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 0.5 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n <button\r\n type=\"button\"\r\n className={cn(\r\n \"mtx-absolute mtx-top-0 mtx-w-[calc(50%+2px)] mtx-right-0 mtx-overflow-hidden mtx-h-full\",\r\n readOnly && \"mtx-cursor-default\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon\r\n className={cn(\r\n \"mtx-stroke-none mtx-absolute mtx-right-0.5 mtx-top-0 mtx-[mask-image:linear-gradient(to_left,_black_50%,_transparent_50%)]\",\r\n displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\",\r\n )}\r\n />\r\n </button>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n type=\"button\"\r\n onClick={() => onValueChange(index + 1)}\r\n onMouseEnter={() => onHover(index + 1)}\r\n onMouseLeave={() => onHover(null)}\r\n className={cn(\r\n \"hover:mtx-scale-125 mtx-px-0.5 mtx-transition-transform\",\r\n readOnly && \"mtx-cursor-default hover:mtx-scale-100\",\r\n disabled && \"mtx-cursor-default hover:mtx-scale-100 mtx-opacity-70\",\r\n )}\r\n disabled={disabled}\r\n aria-label={`Set rating to ${index + 1}`}\r\n >\r\n <Icon className={cn(\"mtx-stroke-gray-500\", displayedValue >= index + 1 && \"mtx-stroke-current mtx-fill-current\")} />\r\n </button>\r\n );\r\n};\r\n\r\nexport { Rating, type RatingProps };\r\n"],"names":["ratingVariants","tv","Rating","React","props","ref","precision","variant","size","readOnly","onValueChange","controlledValue","defaultValue","className","children","max","Icon","Star","disabled","restProps","isControlled","internalValue","setInternalValue","value","hoveredValue","setHoveredValue","displayedValue","handleValueChange","newValue","handleHover","jsxs","cn","_","index","jsx","RatingItem","onHover"],"mappings":"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"}
@@ -9,50 +9,50 @@ import { Separator as E } from "./separator.es.js";
9
9
  import { useIsMobile as B } from "./use-mobile.es.js";
10
10
  import { Tooltip as T, TooltipTrigger as A, TooltipContent as D, TooltipProvider as O } from "./tooltip.es.js";
11
11
  import { Sheet as G, SheetContent as H, SheetHeader as j, SheetTitle as K, SheetDescription as L } from "./sheet.es.js";
12
- const V = "sidebar:state", $ = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", P = "b", M = i.createContext(null);
12
+ const V = "sidebar:state", P = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", W = "b", k = i.createContext(null);
13
13
  function R() {
14
- const t = i.useContext(M);
14
+ const t = i.useContext(k);
15
15
  if (!t)
16
16
  throw new Error("useSidebar must be used within a SidebarProvider.");
17
17
  return t;
18
18
  }
19
- const W = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, className: m, style: o, children: s, ...n }, x) => {
20
- const p = B(), [f, g] = i.useState(t), l = e ?? f, b = i.useCallback(
19
+ const $ = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, className: m, style: o, children: s, ...n }, p) => {
20
+ const x = B(), [f, g] = i.useState(t), l = e ?? f, b = i.useCallback(
21
21
  (c) => {
22
22
  const u = typeof c == "function" ? c(l) : c;
23
- a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${$}`;
23
+ a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${P}`;
24
24
  },
25
25
  [a, l]
26
26
  ), h = i.useCallback(() => b((c) => !c), [b]);
27
27
  i.useEffect(() => {
28
28
  const c = (u) => {
29
- u.key === P && (u.metaKey || u.ctrlKey) && (u.preventDefault(), h());
29
+ u.key === W && (u.metaKey || u.ctrlKey) && (u.preventDefault(), h());
30
30
  };
31
31
  return window.addEventListener("keydown", c), () => window.removeEventListener("keydown", c);
32
32
  }, [h]);
33
- const S = l ? "expanded" : "collapsed", k = i.useMemo(
33
+ const S = l ? "expanded" : "collapsed", M = i.useMemo(
34
34
  () => ({
35
35
  state: S,
36
36
  open: l,
37
37
  setOpen: b,
38
- isMobile: p,
38
+ isMobile: x,
39
39
  toggleSidebar: h
40
40
  }),
41
- [S, l, b, p, h]
41
+ [S, l, b, x, h]
42
42
  );
43
- return /* @__PURE__ */ r(M.Provider, { value: k, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
43
+ return /* @__PURE__ */ r(k.Provider, { value: M, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
44
44
  "div",
45
45
  {
46
46
  style: { ...o },
47
47
  className: d("mtx-group/sidebar-wrapper mtx-flex mtx-h-full mtx-w-full has-[[data-variant=inset]]:mtx-bg-gray-50", m),
48
- ref: x,
48
+ ref: p,
49
49
  ...n,
50
50
  children: s
51
51
  }
52
52
  ) }) });
53
53
  });
54
- W.displayName = "SidebarProvider";
55
- const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: x, style: p, ...f }, g) => {
54
+ $.displayName = "SidebarProvider";
55
+ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: p, style: x, ...f }, g) => {
56
56
  const { isMobile: l, state: b, open: h, setOpen: S } = R();
57
57
  return a === "none" ? /* @__PURE__ */ r(
58
58
  "div",
@@ -66,7 +66,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
66
66
  "--sidebar-right-width": s ?? y,
67
67
  "--sidebar-right-width-icon": n ?? N
68
68
  },
69
- ...p
69
+ ...x
70
70
  },
71
71
  className: d(
72
72
  "mtx-flex mtx-h-full data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-flex-col mtx-bg-gray-50",
@@ -76,7 +76,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
76
76
  ...f,
77
77
  children: o
78
78
  }
79
- ) : l ? /* @__PURE__ */ r(G, { open: h, onOpenChange: S, ...f, children: /* @__PURE__ */ v(
79
+ ) : l || e === "sheet" ? /* @__PURE__ */ r(G, { open: h, onOpenChange: S, ...f, children: /* @__PURE__ */ v(
80
80
  H,
81
81
  {
82
82
  "data-sidebar": "sidebar",
@@ -85,9 +85,9 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
85
85
  className: "data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden",
86
86
  style: {
87
87
  ...t === "left" ? {
88
- "--sidebar-left-width": x ?? _
88
+ "--sidebar-left-width": p ?? _
89
89
  } : {
90
- "--sidebar-right-width": x ?? _
90
+ "--sidebar-right-width": p ?? _
91
91
  }
92
92
  },
93
93
  side: t,
@@ -116,7 +116,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
116
116
  "--sidebar-right-width": s ?? y,
117
117
  "--sidebar-right-width-icon": n ?? N
118
118
  },
119
- ...p
119
+ ...x
120
120
  },
121
121
  children: [
122
122
  /* @__PURE__ */ r(
@@ -158,11 +158,12 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
158
158
  q.displayName = "Sidebar";
159
159
  const F = i.forwardRef(
160
160
  ({ className: t, onClick: e, asChild: a, ...m }, o) => {
161
- const { toggleSidebar: s } = R();
161
+ const { toggleSidebar: s, state: n } = R();
162
162
  return /* @__PURE__ */ r(
163
163
  a ? w : "button",
164
164
  {
165
165
  ref: o,
166
+ "data-state": n,
166
167
  "data-sidebar": "trigger",
167
168
  className: d("mtx-h-7 mtx-w-7", t),
168
169
  onClick: (x) => {
@@ -298,11 +299,11 @@ const mt = z({
298
299
  variant: "default",
299
300
  size: "default"
300
301
  }
301
- }), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, x) => {
302
- const p = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
303
- p,
302
+ }), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, p) => {
303
+ const x = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
304
+ x,
304
305
  {
305
- ref: x,
306
+ ref: p,
306
307
  "data-sidebar": "menu-button",
307
308
  "data-size": m,
308
309
  "data-active": e,
@@ -355,31 +356,28 @@ const nt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
355
356
  }
356
357
  ));
357
358
  nt.displayName = "SidebarMenuBadge";
358
- const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => {
359
- const o = i.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
360
- return /* @__PURE__ */ v(
361
- "div",
362
- {
363
- ref: m,
364
- "data-sidebar": "menu-skeleton",
365
- className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
366
- ...a,
367
- children: [
368
- e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
369
- /* @__PURE__ */ r(
370
- C,
371
- {
372
- className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
373
- "data-sidebar": "menu-skeleton-text",
374
- style: {
375
- "--skeleton-width": o
376
- }
359
+ const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => /* @__PURE__ */ v(
360
+ "div",
361
+ {
362
+ ref: m,
363
+ "data-sidebar": "menu-skeleton",
364
+ className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
365
+ ...a,
366
+ children: [
367
+ e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
368
+ /* @__PURE__ */ r(
369
+ C,
370
+ {
371
+ className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
372
+ "data-sidebar": "menu-skeleton-text",
373
+ style: {
374
+ "--skeleton-width": "70%"
377
375
  }
378
- )
379
- ]
380
- }
381
- );
382
- });
376
+ }
377
+ )
378
+ ]
379
+ }
380
+ ));
383
381
  lt.displayName = "SidebarMenuSkeleton";
384
382
  const xt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
385
383
  "ul",
@@ -431,7 +429,7 @@ export {
431
429
  xt as SidebarMenuSub,
432
430
  ut as SidebarMenuSubButton,
433
431
  ct as SidebarMenuSubItem,
434
- W as SidebarProvider,
432
+ $ as SidebarProvider,
435
433
  U as SidebarRail,
436
434
  Q as SidebarSeparator,
437
435
  F as SidebarTrigger,