@moduix/solid 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/components/accordion/Accordion.js +2 -2
  2. package/dist/components/accordion/Accordion.jsx +1 -1
  3. package/dist/components/alert/Alert.js +14 -14
  4. package/dist/components/alert/Alert.jsx +6 -6
  5. package/dist/components/angle-slider/AngleSlider.js +13 -1
  6. package/dist/components/angle-slider/AngleSlider.jsx +13 -2
  7. package/dist/components/angle-slider/AngleSlider_module.css +65 -90
  8. package/dist/components/avatar/Avatar.js +3 -3
  9. package/dist/components/avatar/Avatar.jsx +1 -1
  10. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +4 -4
  11. package/dist/components/breadcrumbs/Breadcrumbs.js +34 -29
  12. package/dist/components/breadcrumbs/Breadcrumbs.jsx +12 -11
  13. package/dist/components/carousel/Carousel_module.css +2 -2
  14. package/dist/components/command-palette/CommandPalette.js +1 -1
  15. package/dist/components/command-palette/CommandPalette.jsx +1 -1
  16. package/dist/components/drawer/Drawer.js +3 -3
  17. package/dist/components/drawer/Drawer.jsx +1 -1
  18. package/dist/components/highlight/Highlight_module.css +0 -1
  19. package/dist/components/image-cropper/ImageCropper.d.ts +1 -1
  20. package/dist/components/json-tree-view/JsonTreeView_module.css +9 -1
  21. package/dist/components/marquee/Marquee_module.css +12 -14
  22. package/dist/components/menu/Menu.js +11 -20
  23. package/dist/components/menu/Menu.jsx +6 -9
  24. package/dist/components/menu/Menu_module.css +1 -1
  25. package/dist/components/native-select/NativeSelect.d.ts +0 -1
  26. package/dist/components/native-select/NativeSelect.js +2 -7
  27. package/dist/components/native-select/NativeSelect.jsx +2 -4
  28. package/dist/components/native-select/NativeSelect_module.css +7 -7
  29. package/dist/components/navigation-menu/NavigationMenu.d.ts +1 -0
  30. package/dist/components/navigation-menu/NavigationMenu.js +2 -1
  31. package/dist/components/navigation-menu/NavigationMenu.jsx +2 -1
  32. package/dist/components/navigation-menu/NavigationMenu_module.css +2 -2
  33. package/dist/components/number-input/NumberInput_module.css +4 -4
  34. package/dist/components/pagination/Pagination.js +4 -4
  35. package/dist/components/pagination/Pagination.jsx +4 -4
  36. package/dist/components/pagination/Pagination_module.css +1 -1
  37. package/dist/components/password-input/PasswordInput.js +4 -13
  38. package/dist/components/password-input/PasswordInput.jsx +4 -12
  39. package/dist/components/password-input/PasswordInput_module.css +11 -3
  40. package/dist/components/progress-linear/ProgressLinear_module.css +0 -1
  41. package/dist/components/radio-group/RadioGroup.d.ts +2 -2
  42. package/dist/components/radio-group/RadioGroup_module.css +1 -4
  43. package/dist/components/rating-group/RatingGroup.js +10 -10
  44. package/dist/components/rating-group/RatingGroup.jsx +3 -3
  45. package/dist/components/rating-group/RatingGroup_module.css +2 -14
  46. package/dist/components/scroll-area/ScrollArea.d.ts +1 -1
  47. package/dist/components/segment-group/SegmentGroup.d.ts +1 -1
  48. package/dist/components/segment-group/SegmentGroup.js +1 -0
  49. package/dist/components/segment-group/SegmentGroup.jsx +1 -0
  50. package/dist/components/select/Select.module.js +1 -1
  51. package/dist/components/select/Select.module.jsx +1 -1
  52. package/dist/components/select/Select_module.css +4 -4
  53. package/dist/components/separator/Separator_module.css +6 -6
  54. package/dist/components/sidebar/Sidebar.js +46 -52
  55. package/dist/components/sidebar/Sidebar.jsx +21 -23
  56. package/dist/components/sidebar/Sidebar_module.css +1 -1
  57. package/dist/components/signature-pad/SignaturePad.d.ts +1 -1
  58. package/dist/components/slider/Slider.js +3 -3
  59. package/dist/components/slider/Slider.jsx +1 -1
  60. package/dist/components/slider/Slider_module.css +6 -4
  61. package/dist/components/split-button/SplitButton.js +7 -7
  62. package/dist/components/split-button/SplitButton.jsx +5 -6
  63. package/dist/components/split-button/SplitButton_module.css +4 -1
  64. package/dist/components/steps/Steps_module.css +1 -1
  65. package/dist/components/swap/Swap.js +6 -6
  66. package/dist/components/swap/Swap.jsx +2 -2
  67. package/dist/components/swap/Swap_module.css +0 -3
  68. package/dist/components/switch/Switch.js +6 -6
  69. package/dist/components/switch/Switch.jsx +2 -2
  70. package/dist/components/switch/Switch_module.css +2 -2
  71. package/dist/components/table/Table_module.css +4 -2
  72. package/dist/components/tabs/Tabs.js +6 -6
  73. package/dist/components/tabs/Tabs.jsx +2 -2
  74. package/dist/components/tabs/Tabs_module.css +2 -2
  75. package/dist/components/tags-input/TagsInput_module.css +5 -4
  76. package/dist/components/toast/Toast.module.js +2 -2
  77. package/dist/components/toast/Toast.module.jsx +2 -2
  78. package/dist/components/toast/Toast_module.css +4 -6
  79. package/dist/components/toc/Toc.d.ts +2 -2
  80. package/dist/components/toc/Toc.js +4 -5
  81. package/dist/components/toc/Toc.jsx +4 -5
  82. package/dist/components/toc/Toc_module.css +2 -1
  83. package/dist/components/toggle/Toggle_module.css +3 -0
  84. package/dist/components/tooltip/Tooltip_module.css +1 -3
  85. package/dist/components/tour/Tour_module.css +2 -3
  86. package/dist/components/tree-view/TreeView_module.css +7 -5
  87. package/dist/components/typeset/Typeset_module.css +6 -4
  88. package/dist/styles/animations.css +10 -0
  89. package/dist/styles/style.css +2 -0
  90. package/package.json +9 -10
@@ -87,12 +87,12 @@ function AccordionItemBody(props) {
87
87
  'class'
88
88
  ]);
89
89
  return createComponent(ark.div, mergeProps({
90
- "data-scope": "accordion",
91
- "data-part": "item-body",
92
90
  get ["class"] () {
93
91
  return clsx(Accordion_module.itemBody, local.class);
94
92
  }
95
93
  }, others, {
94
+ "data-scope": "accordion",
95
+ "data-part": "item-body",
96
96
  "data-slot": "accordion-item-body"
97
97
  }));
98
98
  }
@@ -48,7 +48,7 @@ function AccordionItemBody(props) {
48
48
  const [local, others] = splitProps(props, [
49
49
  'class'
50
50
  ]);
51
- return <ark.div data-scope="accordion" data-part="item-body" class={clsx(Accordion_module.itemBody, local.class)} {...others} data-slot="accordion-item-body"/>;
51
+ return <ark.div class={clsx(Accordion_module.itemBody, local.class)} {...others} data-scope="accordion" data-part="item-body" data-slot="accordion-item-body"/>;
52
52
  }
53
53
  const Accordion_Accordion = Object.assign(AccordionRoot, {
54
54
  Root: AccordionRoot,
@@ -13,15 +13,15 @@ function AlertRoot(props) {
13
13
  get role () {
14
14
  return local.role;
15
15
  },
16
+ get ["class"] () {
17
+ return clsx(Alert_module.root, local.class);
18
+ }
19
+ }, others, {
16
20
  "data-scope": "alert",
17
21
  "data-part": "root",
18
22
  get ["data-status"] () {
19
23
  return local.status ?? 'info';
20
24
  },
21
- get ["class"] () {
22
- return clsx(Alert_module.root, local.class);
23
- }
24
- }, others, {
25
25
  "data-slot": "alert-root"
26
26
  }));
27
27
  }
@@ -30,13 +30,13 @@ function AlertIndicator(props) {
30
30
  'class'
31
31
  ]);
32
32
  return createComponent(ark.span, mergeProps({
33
- "data-scope": "alert",
34
- "data-part": "indicator",
35
33
  "aria-hidden": "true",
36
34
  get ["class"] () {
37
35
  return clsx(Alert_module.indicator, local.class);
38
36
  }
39
37
  }, others, {
38
+ "data-scope": "alert",
39
+ "data-part": "indicator",
40
40
  "data-slot": "alert-indicator"
41
41
  }));
42
42
  }
@@ -45,12 +45,12 @@ function AlertContent(props) {
45
45
  'class'
46
46
  ]);
47
47
  return createComponent(ark.div, mergeProps({
48
- "data-scope": "alert",
49
- "data-part": "content",
50
48
  get ["class"] () {
51
49
  return clsx(Alert_module.content, local.class);
52
50
  }
53
51
  }, others, {
52
+ "data-scope": "alert",
53
+ "data-part": "content",
54
54
  "data-slot": "alert-content"
55
55
  }));
56
56
  }
@@ -59,12 +59,12 @@ function AlertTitle(props) {
59
59
  'class'
60
60
  ]);
61
61
  return createComponent(ark.p, mergeProps({
62
- "data-scope": "alert",
63
- "data-part": "title",
64
62
  get ["class"] () {
65
63
  return clsx(Alert_module.title, local.class);
66
64
  }
67
65
  }, others, {
66
+ "data-scope": "alert",
67
+ "data-part": "title",
68
68
  "data-slot": "alert-title"
69
69
  }));
70
70
  }
@@ -73,12 +73,12 @@ function AlertDescription(props) {
73
73
  'class'
74
74
  ]);
75
75
  return createComponent(ark.div, mergeProps({
76
- "data-scope": "alert",
77
- "data-part": "description",
78
76
  get ["class"] () {
79
77
  return clsx(Alert_module.description, local.class);
80
78
  }
81
79
  }, others, {
80
+ "data-scope": "alert",
81
+ "data-part": "description",
82
82
  "data-slot": "alert-description"
83
83
  }));
84
84
  }
@@ -87,12 +87,12 @@ function AlertActions(props) {
87
87
  'class'
88
88
  ]);
89
89
  return createComponent(ark.div, mergeProps({
90
- "data-scope": "alert",
91
- "data-part": "actions",
92
90
  get ["class"] () {
93
91
  return clsx(Alert_module.actions, local.class);
94
92
  }
95
93
  }, others, {
94
+ "data-scope": "alert",
95
+ "data-part": "actions",
96
96
  "data-slot": "alert-actions"
97
97
  }));
98
98
  }
@@ -8,37 +8,37 @@ function AlertRoot(props) {
8
8
  'role',
9
9
  'status'
10
10
  ]);
11
- return <ark.div role={local.role} data-scope="alert" data-part="root" data-status={local.status ?? 'info'} class={clsx(Alert_module.root, local.class)} {...others} data-slot="alert-root"/>;
11
+ return <ark.div role={local.role} class={clsx(Alert_module.root, local.class)} {...others} data-scope="alert" data-part="root" data-status={local.status ?? 'info'} data-slot="alert-root"/>;
12
12
  }
13
13
  function AlertIndicator(props) {
14
14
  const [local, others] = splitProps(props, [
15
15
  'class'
16
16
  ]);
17
- return <ark.span data-scope="alert" data-part="indicator" aria-hidden="true" class={clsx(Alert_module.indicator, local.class)} {...others} data-slot="alert-indicator"/>;
17
+ return <ark.span aria-hidden="true" class={clsx(Alert_module.indicator, local.class)} {...others} data-scope="alert" data-part="indicator" data-slot="alert-indicator"/>;
18
18
  }
19
19
  function AlertContent(props) {
20
20
  const [local, others] = splitProps(props, [
21
21
  'class'
22
22
  ]);
23
- return <ark.div data-scope="alert" data-part="content" class={clsx(Alert_module.content, local.class)} {...others} data-slot="alert-content"/>;
23
+ return <ark.div class={clsx(Alert_module.content, local.class)} {...others} data-scope="alert" data-part="content" data-slot="alert-content"/>;
24
24
  }
25
25
  function AlertTitle(props) {
26
26
  const [local, others] = splitProps(props, [
27
27
  'class'
28
28
  ]);
29
- return <ark.p data-scope="alert" data-part="title" class={clsx(Alert_module.title, local.class)} {...others} data-slot="alert-title"/>;
29
+ return <ark.p class={clsx(Alert_module.title, local.class)} {...others} data-scope="alert" data-part="title" data-slot="alert-title"/>;
30
30
  }
31
31
  function AlertDescription(props) {
32
32
  const [local, others] = splitProps(props, [
33
33
  'class'
34
34
  ]);
35
- return <ark.div data-scope="alert" data-part="description" class={clsx(Alert_module.description, local.class)} {...others} data-slot="alert-description"/>;
35
+ return <ark.div class={clsx(Alert_module.description, local.class)} {...others} data-scope="alert" data-part="description" data-slot="alert-description"/>;
36
36
  }
37
37
  function AlertActions(props) {
38
38
  const [local, others] = splitProps(props, [
39
39
  'class'
40
40
  ]);
41
- return <ark.div data-scope="alert" data-part="actions" class={clsx(Alert_module.actions, local.class)} {...others} data-slot="alert-actions"/>;
41
+ return <ark.div class={clsx(Alert_module.actions, local.class)} {...others} data-scope="alert" data-part="actions" data-slot="alert-actions"/>;
42
42
  }
43
43
  const Alert = Object.assign(AlertRoot, {
44
44
  Root: AlertRoot,
@@ -61,13 +61,24 @@ function AngleSliderRootProvider(props) {
61
61
  }
62
62
  function AngleSliderControl(props) {
63
63
  const [local, others] = splitProps(props, [
64
- 'class'
64
+ 'class',
65
+ 'onPointerDown'
65
66
  ]);
66
67
  return createComponent(AngleSlider.Control, mergeProps({
67
68
  get ["class"] () {
68
69
  return clsx(AngleSlider_module.control, local.class);
69
70
  }
70
71
  }, others, {
72
+ onPointerDown: (event)=>{
73
+ local.onPointerDown?.(event);
74
+ if (event.defaultPrevented || 0 !== event.button) return;
75
+ if (event.currentTarget.matches('[data-disabled], [data-readonly]')) return;
76
+ event.preventDefault();
77
+ event.currentTarget.querySelector('[data-scope="angle-slider"][data-part="thumb"]')?.focus({
78
+ preventScroll: true,
79
+ focusVisible: false
80
+ });
81
+ },
71
82
  "data-slot": "angle-slider-control"
72
83
  }));
73
84
  }
@@ -132,6 +143,7 @@ function AngleSliderDial(props) {
132
143
  get children () {
133
144
  return [
134
145
  memo(()=>local.children),
146
+ createComponent(AngleSliderValueText, {}),
135
147
  createComponent(AngleSliderThumb, {})
136
148
  ];
137
149
  }
@@ -31,9 +31,19 @@ function AngleSliderRootProvider(props) {
31
31
  }
32
32
  function AngleSliderControl(props) {
33
33
  const [local, others] = splitProps(props, [
34
- 'class'
34
+ 'class',
35
+ 'onPointerDown'
35
36
  ]);
36
- return <AngleSlider.Control class={clsx(AngleSlider_module.control, local.class)} {...others} data-slot="angle-slider-control"/>;
37
+ return <AngleSlider.Control class={clsx(AngleSlider_module.control, local.class)} {...others} onPointerDown={(event)=>{
38
+ local.onPointerDown?.(event);
39
+ if (event.defaultPrevented || 0 !== event.button) return;
40
+ if (event.currentTarget.matches('[data-disabled], [data-readonly]')) return;
41
+ event.preventDefault();
42
+ event.currentTarget.querySelector('[data-scope="angle-slider"][data-part="thumb"]')?.focus({
43
+ preventScroll: true,
44
+ focusVisible: false
45
+ });
46
+ }} data-slot="angle-slider-control"/>;
37
47
  }
38
48
  function AngleSliderThumb(props) {
39
49
  const [local, others] = splitProps(props, [
@@ -67,6 +77,7 @@ function AngleSliderDial(props) {
67
77
  ]);
68
78
  return <AngleSliderControl {...others}>
69
79
  {local.children}
80
+ <AngleSliderValueText/>
70
81
  <AngleSliderThumb/>
71
82
  </AngleSliderControl>;
72
83
  }
@@ -22,72 +22,70 @@
22
22
  }
23
23
 
24
24
  .control-TKuxcQ {
25
- --_angle-slider-control-border-color: var(--moduix-angle-slider-control-border-color, var(--moduix-color-border));
26
- --_angle-slider-track-border-color: var(--moduix-angle-slider-track-border-color, var(--moduix-color-border));
25
+ --_angle-slider-fill-color: var(--moduix-angle-slider-indicator-bg, var(--moduix-color-primary));
26
+ --_angle-slider-track-color: var(--moduix-angle-slider-track-bg, var(--moduix-color-muted));
27
+ --_angle-slider-thumb-border-color: var(--moduix-angle-slider-thumb-border-color, var(--moduix-color-border));
27
28
  box-sizing: border-box;
28
29
  width: var(--moduix-angle-slider-size, 8rem);
29
30
  aspect-ratio: 1;
30
- border-radius: var(--moduix-angle-slider-radius, var(--moduix-radius-full));
31
- background-color: var(--moduix-angle-slider-track-bg, var(--moduix-color-muted));
32
- min-width: 0;
33
- box-shadow: inset 0 0 0 var(--moduix-angle-slider-track-border-width, var(--moduix-border-width-sm))
34
- var(--_angle-slider-track-border-color),
35
- var(--moduix-angle-slider-shadow, none);
31
+ border-radius: var(--moduix-radius-full);
36
32
  cursor: pointer;
37
33
  -webkit-user-select: none;
38
34
  user-select: none;
39
- transition: background-color
40
- var(--moduix-angle-slider-transition, var(--moduix-transition-default));
41
35
  outline: 0;
42
- justify-content: center;
43
- align-items: center;
44
- display: flex;
36
+ min-width: 0;
45
37
  position: relative;
46
38
  }
47
39
 
48
- @media (hover: hover) {
49
- .control-TKuxcQ:not([data-disabled], [data-readonly]):hover {
50
- background-color: var(--moduix-angle-slider-track-bg-hover, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
51
- }
52
- }
53
-
54
- .control-TKuxcQ:not([data-disabled], [data-readonly]):active {
55
- background-color: var(--moduix-angle-slider-track-bg-active, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
56
- }
57
-
58
- .control-TKuxcQ:after {
59
- z-index: 1;
60
- inset: var(--moduix-angle-slider-ring-thickness, .875rem);
40
+ .control-TKuxcQ:before {
61
41
  border-radius: inherit;
62
- background: var(--moduix-angle-slider-control-bg, var(--moduix-color-background));
63
- box-shadow: inset 0 0 0
64
- var(--moduix-angle-slider-control-border-width, var(--moduix-border-width-sm))
65
- var(--_angle-slider-control-border-color);
42
+ background: conic-gradient(from 0deg,
43
+ var(--_angle-slider-fill-color) var(--angle, 0deg),
44
+ var(--_angle-slider-track-color) var(--angle, 0deg));
45
+ -webkit-mask: radial-gradient(closest-side,
46
+ transparent calc(100% - var(--moduix-angle-slider-ring-thickness, .5rem) - 1px),
47
+ #000 calc(100% - var(--moduix-angle-slider-ring-thickness, .5rem)));
48
+ mask: radial-gradient(closest-side,
49
+ transparent calc(100% - var(--moduix-angle-slider-ring-thickness, .5rem) - 1px),
50
+ #000 calc(100% - var(--moduix-angle-slider-ring-thickness, .5rem)));
66
51
  content: "";
67
52
  position: absolute;
53
+ inset: 0;
68
54
  }
69
55
 
70
- .control-TKuxcQ:before {
56
+ .control-TKuxcQ:after {
57
+ top: calc(var(--moduix-angle-slider-ring-thickness, .5rem) / 2);
71
58
  z-index: 1;
72
- width: var(--moduix-angle-slider-center-dot-size, var(--moduix-spacing-1-5));
73
- height: var(--moduix-angle-slider-center-dot-size, var(--moduix-spacing-1-5));
74
- border-radius: inherit;
75
- background: var(--moduix-angle-slider-center-dot-color, var(--moduix-angle-slider-color, var(--moduix-color-foreground)));
59
+ width: var(--moduix-angle-slider-ring-thickness, .5rem);
60
+ height: var(--moduix-angle-slider-ring-thickness, .5rem);
61
+ border-radius: var(--moduix-radius-full);
62
+ background: var(--_angle-slider-fill-color);
76
63
  content: "";
77
64
  position: absolute;
65
+ left: 50%;
66
+ transform: translate(-50%, -50%);
67
+ }
68
+
69
+ @media (hover: hover) {
70
+ .control-TKuxcQ:not([data-disabled], [data-readonly]):hover:before {
71
+ --_angle-slider-track-color: var(--moduix-angle-slider-track-bg-hover, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
72
+ }
73
+ }
74
+
75
+ .control-TKuxcQ:not([data-disabled], [data-readonly]):active:before {
76
+ --_angle-slider-track-color: var(--moduix-angle-slider-track-bg-active, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
78
77
  }
79
78
 
80
- .control-TKuxcQ:has(.thumb-BSrcel:focus-visible) {
81
- box-shadow: inset 0 0 0 var(--moduix-angle-slider-track-border-width, var(--moduix-border-width-sm))
82
- var(--_angle-slider-track-border-color),
83
- 0 0 0 var(--moduix-angle-slider-focus-ring-width, .1875rem)
79
+ .control-TKuxcQ:active:not([data-disabled], [data-readonly]) .thumb-BSrcel:before {
80
+ border-color: var(--moduix-angle-slider-focus-ring-color, var(--moduix-color-ring));
81
+ box-shadow: 0 0 0 var(--moduix-focus-ring-inset-width, var(--moduix-border-width-sm))
84
82
  var(--moduix-angle-slider-focus-ring-color, var(--moduix-color-ring)),
85
- var(--moduix-angle-slider-shadow, none);
83
+ var(--moduix-angle-slider-thumb-shadow-dragging, var(--moduix-shadow-md));
86
84
  }
87
85
 
88
86
  .control-TKuxcQ[data-invalid] {
89
- --_angle-slider-control-border-color: var(--moduix-angle-slider-invalid-border-color, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
90
- --_angle-slider-track-border-color: var(--moduix-angle-slider-invalid-border-color, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
87
+ --_angle-slider-fill-color: var(--moduix-angle-slider-invalid-indicator-bg, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
88
+ --_angle-slider-thumb-border-color: var(--moduix-angle-slider-invalid-indicator-bg, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
91
89
  }
92
90
 
93
91
  .control-TKuxcQ:is([data-disabled], [data-readonly]) {
@@ -95,72 +93,40 @@
95
93
  }
96
94
 
97
95
  .thumb-BSrcel {
98
- top: 0;
99
- bottom: 0;
100
- left: calc(50% - var(--moduix-angle-slider-thumb-line-width, .1875rem) / 2);
101
96
  z-index: 2;
102
- width: var(--moduix-angle-slider-thumb-line-width, .1875rem);
103
97
  outline: 0;
98
+ width: 0;
104
99
  position: absolute;
100
+ top: 0;
101
+ bottom: 0;
102
+ left: 50%;
105
103
  }
106
104
 
107
105
  .thumb-BSrcel:before {
108
- top: var(--moduix-angle-slider-ring-thickness, .875rem);
106
+ top: calc(var(--moduix-angle-slider-ring-thickness, .5rem) / 2);
109
107
  box-sizing: border-box;
110
108
  width: var(--moduix-angle-slider-thumb-size, var(--moduix-spacing-4));
111
109
  height: var(--moduix-angle-slider-thumb-size, var(--moduix-spacing-4));
112
110
  border: var(--moduix-angle-slider-thumb-border-width, var(--moduix-border-width-sm)) solid
113
- var(--moduix-angle-slider-thumb-border-color, var(--moduix-color-border));
111
+ var(--_angle-slider-thumb-border-color);
114
112
  border-radius: var(--moduix-angle-slider-thumb-radius, var(--moduix-radius-full));
115
- background: var(--moduix-angle-slider-thumb-bg, var(--moduix-angle-slider-indicator-bg, var(--moduix-color-primary)));
113
+ background: var(--moduix-angle-slider-thumb-bg, var(--moduix-color-background));
116
114
  box-shadow: var(--moduix-angle-slider-thumb-shadow, var(--moduix-shadow-sm));
117
115
  transition: border-color var(--moduix-angle-slider-transition, var(--moduix-transition-default)),
118
- box-shadow var(--moduix-angle-slider-transition, var(--moduix-transition-default)),
119
116
  background-color var(--moduix-angle-slider-transition, var(--moduix-transition-default)),
120
- transform var(--moduix-angle-slider-transition, var(--moduix-transition-default));
117
+ box-shadow var(--moduix-angle-slider-transition, var(--moduix-transition-default));
121
118
  content: "";
122
119
  position: absolute;
123
- left: 50%;
124
- transform: translateX(-50%);
125
- }
126
-
127
- .thumb-BSrcel:after {
128
- top: calc(var(--moduix-angle-slider-ring-thickness, .875rem) +
129
- var(--moduix-angle-slider-thumb-size, var(--moduix-spacing-4)) + var(--moduix-spacing-1));
130
- width: var(--moduix-angle-slider-thumb-line-width, .1875rem);
131
- height: calc(50% - var(--moduix-angle-slider-ring-thickness, .875rem) -
132
- var(--moduix-angle-slider-thumb-size, var(--moduix-spacing-4)) - var(--moduix-spacing-1-5));
133
- border-radius: var(--moduix-radius-full);
134
- background: linear-gradient(to bottom,
135
- var(--moduix-angle-slider-indicator-bg, var(--moduix-color-primary)),
136
- transparent);
137
- content: "";
138
- position: absolute;
139
- left: 50%;
140
- transform: translateX(-50%);
120
+ left: 0;
121
+ transform: translate(-50%, -50%);
141
122
  }
142
123
 
143
124
  .thumb-BSrcel:focus-visible:before {
144
125
  border-color: var(--moduix-angle-slider-focus-ring-color, var(--moduix-color-ring));
145
- box-shadow: 0 0 0 var(--moduix-border-width-sm)
126
+ box-shadow: 0 0 0 var(--moduix-focus-ring-inset-width, var(--moduix-border-width-sm))
146
127
  var(--moduix-angle-slider-focus-ring-color, var(--moduix-color-ring));
147
128
  }
148
129
 
149
- .thumb-BSrcel:active:not([data-disabled], [data-readonly]):before {
150
- transform: translateX(-50%) scale(1.08);
151
- }
152
-
153
- .thumb-BSrcel[data-invalid]:before {
154
- border-color: var(--moduix-angle-slider-invalid-border-color, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
155
- background: var(--moduix-angle-slider-invalid-indicator-bg, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive)));
156
- }
157
-
158
- .thumb-BSrcel[data-invalid]:after {
159
- background: linear-gradient(to bottom,
160
- var(--moduix-angle-slider-invalid-indicator-bg, var(--moduix-angle-slider-invalid-color, var(--moduix-color-destructive))),
161
- transparent);
162
- }
163
-
164
130
  .thumb-BSrcel[data-disabled] {
165
131
  pointer-events: none;
166
132
  }
@@ -178,9 +144,9 @@
178
144
  }
179
145
 
180
146
  .marker-kWcrOw:before {
181
- top: calc(var(--moduix-angle-slider-ring-thickness, .875rem) + .125rem);
147
+ top: calc(var(--moduix-angle-slider-ring-thickness, .5rem) / 2);
182
148
  width: var(--moduix-angle-slider-marker-width, .125rem);
183
- height: var(--moduix-angle-slider-marker-height, .625rem);
149
+ height: var(--moduix-angle-slider-marker-height, .5rem);
184
150
  border-radius: var(--moduix-radius-full);
185
151
  background: var(--moduix-angle-slider-marker-color, var(--moduix-color-muted-foreground));
186
152
  content: "";
@@ -199,14 +165,23 @@
199
165
 
200
166
  .valueText-QUG00u {
201
167
  color: var(--moduix-angle-slider-value-text-color, var(--moduix-angle-slider-color, var(--moduix-color-foreground)));
202
- font-size: var(--moduix-angle-slider-value-text-font-size, var(--moduix-text-sm));
168
+ font-size: var(--moduix-angle-slider-value-text-font-size, var(--moduix-text-lg));
203
169
  font-weight: var(--moduix-angle-slider-value-text-font-weight, var(--moduix-weight-medium));
204
- line-height: var(--moduix-angle-slider-value-text-line-height, var(--moduix-line-height-text-sm));
170
+ font-variant-numeric: tabular-nums;
171
+ line-height: var(--moduix-angle-slider-value-text-line-height, var(--moduix-line-height-text-lg));
205
172
  text-align: center;
206
173
  }
207
174
 
175
+ .control-TKuxcQ .valueText-QUG00u {
176
+ z-index: 1;
177
+ place-items: center;
178
+ display: grid;
179
+ position: absolute;
180
+ inset: 0;
181
+ }
182
+
208
183
  @media (prefers-reduced-motion: reduce) {
209
- .control-TKuxcQ, .thumb-BSrcel:before {
184
+ .thumb-BSrcel:before {
210
185
  transition: none;
211
186
  }
212
187
  }
@@ -25,13 +25,13 @@ function AvatarRootProvider(props) {
25
25
  'size'
26
26
  ]);
27
27
  return createComponent(Avatar.RootProvider, mergeProps({
28
- get ["data-size"] () {
29
- return local.size;
30
- },
31
28
  get ["class"] () {
32
29
  return clsx(Avatar_module.root, local.class);
33
30
  }
34
31
  }, others, {
32
+ get ["data-size"] () {
33
+ return local.size;
34
+ },
35
35
  "data-slot": "avatar-root-provider"
36
36
  }));
37
37
  }
@@ -14,7 +14,7 @@ function AvatarRootProvider(props) {
14
14
  'class',
15
15
  'size'
16
16
  ]);
17
- return <Avatar.RootProvider data-size={local.size} class={clsx(Avatar_module.root, local.class)} {...others} data-slot="avatar-root-provider"/>;
17
+ return <Avatar.RootProvider class={clsx(Avatar_module.root, local.class)} {...others} data-size={local.size} data-slot="avatar-root-provider"/>;
18
18
  }
19
19
  function AvatarImage(props) {
20
20
  const [local, others] = splitProps(props, [
@@ -1,12 +1,12 @@
1
1
  import type { HTMLArkProps } from '@ark-ui/solid/factory';
2
2
  import type { JSX } from 'solid-js';
3
- type BreadcrumbsPathItem = {
4
- href?: string;
5
- key?: string | number;
3
+ type BreadcrumbsPathLink = {
4
+ href: string;
6
5
  label: JSX.Element;
7
6
  };
8
7
  type BreadcrumbsPathProps = Omit<HTMLArkProps<'ol'>, 'asChild' | 'children'> & {
9
- items: readonly BreadcrumbsPathItem[];
8
+ links: readonly BreadcrumbsPathLink[];
9
+ page: JSX.Element;
10
10
  separator?: JSX.Element;
11
11
  };
12
12
  declare function BreadcrumbsRoot(props: HTMLArkProps<'nav'>): JSX.Element;
@@ -71,42 +71,47 @@ function BreadcrumbsPage(props) {
71
71
  }
72
72
  function BreadcrumbsPath(props) {
73
73
  const [local, others] = splitProps(props, [
74
- 'items',
74
+ 'links',
75
+ 'page',
75
76
  'separator'
76
77
  ]);
77
78
  return createComponent(BreadcrumbsList, mergeProps(others, {
78
79
  get children () {
79
- return createComponent(For, {
80
- get each () {
81
- return local.items;
82
- },
83
- children: (item, index)=>{
84
- const isLastItem = ()=>index() === local.items.length - 1;
85
- return [
86
- createComponent(BreadcrumbsItem, {
87
- get children () {
88
- return memo(()=>!!isLastItem())() ? createComponent(BreadcrumbsPage, {
89
- get children () {
90
- return item.label;
91
- }
92
- }) : createComponent(BreadcrumbsLink, {
93
- get href () {
94
- return item.href;
95
- },
96
- get children () {
97
- return item.label;
98
- }
99
- });
100
- }
101
- }),
102
- memo(()=>memo(()=>!isLastItem())() ? createComponent(BreadcrumbsSeparator, {
80
+ return [
81
+ createComponent(For, {
82
+ get each () {
83
+ return local.links;
84
+ },
85
+ children: (link)=>[
86
+ createComponent(BreadcrumbsItem, {
87
+ get children () {
88
+ return createComponent(BreadcrumbsLink, {
89
+ get href () {
90
+ return link.href;
91
+ },
92
+ get children () {
93
+ return link.label;
94
+ }
95
+ });
96
+ }
97
+ }),
98
+ createComponent(BreadcrumbsSeparator, {
103
99
  get children () {
104
100
  return local.separator;
105
101
  }
106
- }) : null)
107
- ];
108
- }
109
- });
102
+ })
103
+ ]
104
+ }),
105
+ createComponent(BreadcrumbsItem, {
106
+ get children () {
107
+ return createComponent(BreadcrumbsPage, {
108
+ get children () {
109
+ return local.page;
110
+ }
111
+ });
112
+ }
113
+ })
114
+ ];
110
115
  }
111
116
  }));
112
117
  }
@@ -39,21 +39,22 @@ function BreadcrumbsPage(props) {
39
39
  }
40
40
  function BreadcrumbsPath(props) {
41
41
  const [local, others] = splitProps(props, [
42
- 'items',
42
+ 'links',
43
+ 'page',
43
44
  'separator'
44
45
  ]);
45
46
  return <BreadcrumbsList {...others}>
46
- <For each={local.items}>
47
- {(item, index)=>{
48
- const isLastItem = ()=>index() === local.items.length - 1;
49
- return <>
50
- <BreadcrumbsItem>
51
- {isLastItem() ? <BreadcrumbsPage>{item.label}</BreadcrumbsPage> : <BreadcrumbsLink href={item.href}>{item.label}</BreadcrumbsLink>}
52
- </BreadcrumbsItem>
53
- {!isLastItem() ? <BreadcrumbsSeparator>{local.separator}</BreadcrumbsSeparator> : null}
54
- </>;
55
- }}
47
+ <For each={local.links}>
48
+ {(link)=><>
49
+ <BreadcrumbsItem>
50
+ <BreadcrumbsLink href={link.href}>{link.label}</BreadcrumbsLink>
51
+ </BreadcrumbsItem>
52
+ <BreadcrumbsSeparator>{local.separator}</BreadcrumbsSeparator>
53
+ </>}
56
54
  </For>
55
+ <BreadcrumbsItem>
56
+ <BreadcrumbsPage>{local.page}</BreadcrumbsPage>
57
+ </BreadcrumbsItem>
57
58
  </BreadcrumbsList>;
58
59
  }
59
60
  function BreadcrumbsSeparator(props) {
@@ -93,7 +93,7 @@
93
93
  }
94
94
 
95
95
  :is(.prevTrigger-TQv4Ak, .nextTrigger-PkJ3_8, .autoplayTrigger-h1Iihy):not(:disabled, [data-disabled]):hover {
96
- border-color: var(--moduix-carousel-control-border-color-hover, color-mix(in oklab, var(--moduix-color-border) 50%, var(--moduix-color-foreground) 50%));
96
+ border-color: var(--moduix-carousel-control-border-color-hover, var(--moduix-color-ring));
97
97
  background-color: var(--moduix-carousel-control-bg-hover, var(--moduix-color-accent));
98
98
  box-shadow: var(--moduix-carousel-control-shadow-hover, var(--moduix-shadow-md));
99
99
  color: var(--moduix-carousel-control-color-hover, var(--moduix-color-accent-foreground));
@@ -111,7 +111,7 @@
111
111
  }
112
112
 
113
113
  :is(.prevTrigger-TQv4Ak, .nextTrigger-PkJ3_8, .autoplayTrigger-h1Iihy)[data-pressed] {
114
- border-color: var(--moduix-carousel-control-border-color-hover, color-mix(in oklab, var(--moduix-color-border) 50%, var(--moduix-color-foreground) 50%));
114
+ border-color: var(--moduix-carousel-control-border-color-hover, var(--moduix-color-ring));
115
115
  background-color: var(--moduix-carousel-control-bg-hover, var(--moduix-color-accent));
116
116
  color: var(--moduix-carousel-control-color-hover, var(--moduix-color-accent-foreground));
117
117
  }
@@ -2,7 +2,7 @@ import { createComponent, mergeProps } from "solid-js/web";
2
2
  import { Combobox } from "@ark-ui/solid/combobox";
3
3
  import { Dialog, useDialog, useDialogContext } from "@ark-ui/solid/dialog";
4
4
  import { ark } from "@ark-ui/solid/factory";
5
- import { isHotKey } from "@zag-js/hotkeys";
5
+ import { isHotKey } from "@ark-ui/solid/hotkeys";
6
6
  import { clsx } from "clsx";
7
7
  import { children, createEffect, onCleanup, splitProps } from "solid-js";
8
8
  import { CheckIcon, CloseIcon } from "../../internal/icons/ui/Icons.js";