@viraui/react 0.0.22 → 0.0.24

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 (175) hide show
  1. package/dist/catalog.json +26 -2
  2. package/dist/components/avatar/avatar.css +1 -1
  3. package/dist/components/avatar/avatar.module.js +3 -3
  4. package/dist/components/avatar-group/avatar-group.css +1 -1
  5. package/dist/components/avatar-group/avatar-group.module.js +5 -5
  6. package/dist/components/basic-input/basic-input.css +1 -1
  7. package/dist/components/basic-input/basic-input.js +0 -1
  8. package/dist/components/basic-input/basic-input.module.js +1 -1
  9. package/dist/components/basic-input/field-helper-copy.d.ts +1 -1
  10. package/dist/components/basic-input/field-helper-copy.js +0 -1
  11. package/dist/components/basic-input/field-label.css +1 -1
  12. package/dist/components/basic-input/field-label.js +0 -1
  13. package/dist/components/basic-input/field-label.module.js +1 -1
  14. package/dist/components/basic-input/input-control-group.js +0 -1
  15. package/dist/components/button/button.css +1 -1
  16. package/dist/components/button/button.d.ts +13 -7
  17. package/dist/components/button/button.guide.json +7 -5
  18. package/dist/components/button/button.js +11 -10
  19. package/dist/components/button/button.module.js +3 -3
  20. package/dist/components/checkbox/checkbox-group.d.ts +12 -0
  21. package/dist/components/checkbox/checkbox-group.js +15 -0
  22. package/dist/components/checkbox/checkbox.css +1 -1
  23. package/dist/components/checkbox/checkbox.d.ts +6 -21
  24. package/dist/components/checkbox/checkbox.guide.json +10 -5
  25. package/dist/components/checkbox/checkbox.js +45 -59
  26. package/dist/components/checkbox/checkbox.module.js +7 -6
  27. package/dist/components/checkbox/index.d.ts +2 -0
  28. package/dist/components/chip/chip.css +1 -1
  29. package/dist/components/chip/chip.js +0 -2
  30. package/dist/components/chip/chip.module.js +4 -4
  31. package/dist/components/clamp-text/clamp-text.css +1 -1
  32. package/dist/components/clamp-text/clamp-text.module.js +1 -1
  33. package/dist/components/dialog/dialog-close.d.ts +15 -0
  34. package/dist/components/dialog/dialog-close.js +9 -0
  35. package/dist/components/dialog/dialog-indent-background.d.ts +12 -0
  36. package/dist/components/dialog/dialog-indent-background.js +11 -0
  37. package/dist/components/dialog/dialog-indent.d.ts +12 -0
  38. package/dist/components/dialog/dialog-indent.js +11 -0
  39. package/dist/components/dialog/dialog-sheet.d.ts +66 -0
  40. package/dist/components/dialog/dialog-sheet.js +80 -0
  41. package/dist/components/dialog/dialog-trigger.d.ts +13 -0
  42. package/dist/components/dialog/dialog-trigger.js +9 -0
  43. package/dist/components/dialog/dialog.css +1 -0
  44. package/dist/components/dialog/dialog.d.ts +28 -0
  45. package/dist/components/dialog/dialog.guide.json +27 -0
  46. package/dist/components/dialog/dialog.js +23 -0
  47. package/dist/components/dialog/dialog.module.js +15 -0
  48. package/dist/components/dialog/index.d.ts +12 -0
  49. package/dist/components/elevator/elevator.js +4 -4
  50. package/dist/components/fieldset/fieldset.d.ts +35 -0
  51. package/dist/components/fieldset/fieldset.guide.json +28 -0
  52. package/dist/components/fieldset/fieldset.js +30 -0
  53. package/dist/components/fieldset/index.d.ts +2 -0
  54. package/dist/components/icon/icon.css +1 -1
  55. package/dist/components/icon/icon.module.js +1 -1
  56. package/dist/components/icon-button/icon-button.d.ts +1 -1
  57. package/dist/components/icon-button/icon-button.guide.json +1 -1
  58. package/dist/components/icon-button/icon-button.js +1 -1
  59. package/dist/components/index.d.ts +4 -0
  60. package/dist/components/linear-progress/linear-progress.css +1 -1
  61. package/dist/components/linear-progress/linear-progress.js +0 -1
  62. package/dist/components/linear-progress/linear-progress.module.js +4 -4
  63. package/dist/components/masonry/masonry-item.js +0 -1
  64. package/dist/components/masonry/masonry.css +1 -1
  65. package/dist/components/masonry/masonry.js +2 -3
  66. package/dist/components/masonry/masonry.module.js +2 -2
  67. package/dist/components/progressive-blur/progressive-blur.css +1 -1
  68. package/dist/components/progressive-blur/progressive-blur.module.js +2 -2
  69. package/dist/components/radio/radio-group.d.ts +5 -38
  70. package/dist/components/radio/radio-group.js +12 -50
  71. package/dist/components/radio/radio.css +1 -1
  72. package/dist/components/radio/radio.d.ts +1 -1
  73. package/dist/components/radio/radio.guide.json +12 -8
  74. package/dist/components/radio/radio.js +31 -29
  75. package/dist/components/radio/radio.module.js +3 -5
  76. package/dist/components/select/select-group.js +1 -1
  77. package/dist/components/select/select-indicator-slot.js +0 -1
  78. package/dist/components/select/select-option.d.ts +9 -2
  79. package/dist/components/select/select-option.js +32 -31
  80. package/dist/components/select/select-separator.js +0 -1
  81. package/dist/components/select/select.css +1 -1
  82. package/dist/components/select/select.guide.json +8 -3
  83. package/dist/components/select/select.js +3 -2
  84. package/dist/components/select/select.module.js +17 -16
  85. package/dist/components/separator/index.d.ts +2 -0
  86. package/dist/components/separator/separator.css +1 -0
  87. package/dist/components/separator/separator.d.ts +54 -0
  88. package/dist/components/separator/separator.guide.json +24 -0
  89. package/dist/components/separator/separator.js +43 -0
  90. package/dist/components/separator/separator.module.js +3 -0
  91. package/dist/components/skeleton/skeleton.css +1 -1
  92. package/dist/components/skeleton/skeleton.module.js +2 -2
  93. package/dist/components/slider/slider-control.js +0 -1
  94. package/dist/components/slider/slider.css +1 -1
  95. package/dist/components/slider/slider.js +1 -3
  96. package/dist/components/slider/slider.module.js +9 -8
  97. package/dist/components/spinner/spinner.css +1 -1
  98. package/dist/components/spinner/spinner.js +2 -2
  99. package/dist/components/spinner/spinner.module.js +3 -3
  100. package/dist/components/stack/stack.css +1 -1
  101. package/dist/components/stack/stack.d.ts +2 -2
  102. package/dist/components/stack/stack.js +0 -1
  103. package/dist/components/stack/stack.module.js +1 -1
  104. package/dist/components/static-noise/static-noise.css +1 -1
  105. package/dist/components/static-noise/static-noise.d.ts +1 -1
  106. package/dist/components/static-noise/static-noise.js +2 -1
  107. package/dist/components/static-noise/static-noise.module.js +2 -2
  108. package/dist/components/surface/surface-radius-context.d.ts +9 -1
  109. package/dist/components/surface/surface-radius-context.js +17 -6
  110. package/dist/components/surface/surface.css +1 -1
  111. package/dist/components/surface/surface.d.ts +9 -3
  112. package/dist/components/surface/surface.guide.json +3 -1
  113. package/dist/components/surface/surface.js +3 -3
  114. package/dist/components/surface/surface.module.js +1 -4
  115. package/dist/components/switch/switch.css +1 -1
  116. package/dist/components/switch/switch.js +31 -29
  117. package/dist/components/switch/switch.module.js +4 -3
  118. package/dist/components/tabs/index.d.ts +6 -0
  119. package/dist/components/tabs/tabs-indicator.d.ts +9 -0
  120. package/dist/components/tabs/tabs-indicator.js +16 -0
  121. package/dist/components/tabs/tabs-list.d.ts +12 -0
  122. package/dist/components/tabs/tabs-list.js +29 -0
  123. package/dist/components/tabs/tabs-panel.d.ts +11 -0
  124. package/dist/components/tabs/tabs-panel.js +13 -0
  125. package/dist/components/tabs/tabs-tab.d.ts +24 -0
  126. package/dist/components/tabs/tabs-tab.js +24 -0
  127. package/dist/components/tabs/tabs-viewport.d.ts +8 -0
  128. package/dist/components/tabs/tabs-viewport.js +11 -0
  129. package/dist/components/tabs/tabs.css +1 -0
  130. package/dist/components/tabs/tabs.d.ts +31 -0
  131. package/dist/components/tabs/tabs.guide.json +23 -0
  132. package/dist/components/tabs/tabs.js +30 -0
  133. package/dist/components/tabs/tabs.module.js +11 -0
  134. package/dist/components/text/text.css +1 -1
  135. package/dist/components/text/text.d.ts +2 -2
  136. package/dist/components/text/text.js +2 -3
  137. package/dist/components/text/text.module.js +1 -1
  138. package/dist/components/textarea/textarea.css +1 -1
  139. package/dist/components/textarea/textarea.guide.json +8 -3
  140. package/dist/components/textarea/textarea.js +1 -3
  141. package/dist/components/textarea/textarea.module.js +4 -3
  142. package/dist/components/textfield/textfield.css +1 -1
  143. package/dist/components/textfield/textfield.guide.json +9 -3
  144. package/dist/components/textfield/textfield.js +1 -3
  145. package/dist/components/textfield/textfield.module.js +6 -5
  146. package/dist/components/title/title.css +1 -1
  147. package/dist/components/title/title.js +2 -3
  148. package/dist/components/title/title.module.js +1 -1
  149. package/dist/core/elevation/get-elevation-props.js +2 -2
  150. package/dist/core/props/intrinsic-vira-props.d.ts +3 -3
  151. package/dist/index.js +11 -1
  152. package/dist/internal-icons/icon-registry.d.ts +4 -1
  153. package/dist/internal-icons/icon-registry.js +9 -0
  154. package/dist/internal-icons/icons/duo/ArrowDown.js +1 -1
  155. package/dist/internal-icons/icons/duo/ArrowDownLeft.js +1 -1
  156. package/dist/internal-icons/icons/duo/ArrowDownRight.js +1 -1
  157. package/dist/internal-icons/icons/duo/ArrowLeft.js +1 -1
  158. package/dist/internal-icons/icons/duo/ArrowRight.js +1 -1
  159. package/dist/internal-icons/icons/duo/ArrowUp.js +1 -1
  160. package/dist/internal-icons/icons/duo/ArrowUpLeft.js +1 -1
  161. package/dist/internal-icons/icons/duo/ArrowUpRight.js +1 -1
  162. package/dist/internal-icons/icons/duo/ChevronExpandY.js +2 -2
  163. package/dist/internal-icons/icons/duo/CircleCheck.d.ts +7 -0
  164. package/dist/internal-icons/icons/duo/CircleCheck.js +13 -0
  165. package/dist/internal-icons/icons/duo/Duplicate.d.ts +7 -0
  166. package/dist/internal-icons/icons/duo/Duplicate.js +13 -0
  167. package/dist/internal-icons/icons/duo/RefreshAnticlockwise.js +1 -1
  168. package/dist/internal-icons/icons/duo/ShieldCheck.d.ts +7 -0
  169. package/dist/internal-icons/icons/duo/ShieldCheck.js +13 -0
  170. package/dist/internal-icons/icons/duo/index.d.ts +3 -0
  171. package/dist/internal-icons/icons/duo/index.js +3 -0
  172. package/dist/preflight-surface.json +15 -1
  173. package/dist/preflight.css +1 -1
  174. package/dist/theme-surface.json +0 -5
  175. package/package.json +4 -4
@@ -16,10 +16,12 @@ import ChevronExpandYDuoIcon from './icons/duo/ChevronExpandY';
16
16
  import ChevronLeftDuoIcon from './icons/duo/ChevronLeft';
17
17
  import ChevronRightDuoIcon from './icons/duo/ChevronRight';
18
18
  import ChevronUpDuoIcon from './icons/duo/ChevronUp';
19
+ import CircleCheckDuoIcon from './icons/duo/CircleCheck';
19
20
  import CircleHalfDottedClockDuoIcon from './icons/duo/CircleHalfDottedClock';
20
21
  import CircleImageDuoIcon from './icons/duo/CircleImage';
21
22
  import ClockDuoIcon from './icons/duo/Clock';
22
23
  import DarkLightDuoIcon from './icons/duo/DarkLight';
24
+ import DuplicateDuoIcon from './icons/duo/Duplicate';
23
25
  import HistoryDuoIcon from './icons/duo/History';
24
26
  import ImageDuoIcon from './icons/duo/Image';
25
27
  import ImagesLayeredDuoIcon from './icons/duo/ImagesLayered';
@@ -31,6 +33,7 @@ import MoonStarsDuoIcon from './icons/duo/MoonStars';
31
33
  import PlusDuoIcon from './icons/duo/Plus';
32
34
  import QuickstartDuoIcon from './icons/duo/Quickstart';
33
35
  import RefreshAnticlockwiseDuoIcon from './icons/duo/RefreshAnticlockwise';
36
+ import ShieldCheckDuoIcon from './icons/duo/ShieldCheck';
34
37
  import SunDuoIcon from './icons/duo/Sun';
35
38
  import XmarkDuoIcon from './icons/duo/Xmark';
36
39
  export const generatedIconNames = [
@@ -52,10 +55,12 @@ export const generatedIconNames = [
52
55
  'ChevronLeft',
53
56
  'ChevronRight',
54
57
  'ChevronUp',
58
+ 'CircleCheck',
55
59
  'CircleHalfDottedClock',
56
60
  'CircleImage',
57
61
  'Clock',
58
62
  'DarkLight',
63
+ 'Duplicate',
59
64
  'History',
60
65
  'Image',
61
66
  'ImagesLayered',
@@ -67,6 +72,7 @@ export const generatedIconNames = [
67
72
  'Plus',
68
73
  'Quickstart',
69
74
  'RefreshAnticlockwise',
75
+ 'ShieldCheck',
70
76
  'Sun',
71
77
  'Xmark',
72
78
  ];
@@ -91,10 +97,12 @@ export const generatedIconRegistry = {
91
97
  ChevronLeft: ChevronLeftDuoIcon,
92
98
  ChevronRight: ChevronRightDuoIcon,
93
99
  ChevronUp: ChevronUpDuoIcon,
100
+ CircleCheck: CircleCheckDuoIcon,
94
101
  CircleHalfDottedClock: CircleHalfDottedClockDuoIcon,
95
102
  CircleImage: CircleImageDuoIcon,
96
103
  Clock: ClockDuoIcon,
97
104
  DarkLight: DarkLightDuoIcon,
105
+ Duplicate: DuplicateDuoIcon,
98
106
  History: HistoryDuoIcon,
99
107
  Image: ImageDuoIcon,
100
108
  ImagesLayered: ImagesLayeredDuoIcon,
@@ -106,6 +114,7 @@ export const generatedIconRegistry = {
106
114
  Plus: PlusDuoIcon,
107
115
  Quickstart: QuickstartDuoIcon,
108
116
  RefreshAnticlockwise: RefreshAnticlockwiseDuoIcon,
117
+ ShieldCheck: ShieldCheckDuoIcon,
109
118
  Sun: SunDuoIcon,
110
119
  Xmark: XmarkDuoIcon,
111
120
  },
@@ -7,7 +7,7 @@ const ArrowDown = React.forwardRef(({ size, className, style, ...props }, ref) =
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 15.75a.75.75 0 0 1-.75-.75V2.75a.75.75 0 0 1 1.5 0V15a.75.75 0 0 1-.75.75", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M9 16a.74.74 0 0 1-.53-.22l-4.25-4.25a.75.75 0 1 1 1.061-1.061l3.72 3.72 3.72-3.72a.75.75 0 1 1 1.061 1.061l-4.25 4.25a.75.75 0 0 1-.53.22z" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 15.75a.75.75 0 0 1-.75-.75V2.75a.75.75 0 0 1 1.5 0V15a.75.75 0 0 1-.75.75", "data-color": "color-2" }), _jsx("path", { d: "M9 16a.74.74 0 0 1-.53-.22l-4.25-4.25a.75.75 0 1 1 1.061-1.061l3.72 3.72 3.72-3.72a.75.75 0 1 1 1.061 1.061l-4.25 4.25a.75.75 0 0 1-.53.22z" })] }) }));
11
11
  });
12
12
  ArrowDown.displayName = 'ArrowDown';
13
13
  export default ArrowDown;
@@ -7,7 +7,7 @@ const ArrowDownLeft = React.forwardRef(({ size, className, style, ...props }, re
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M4 14.75a.75.75 0 0 1-.53-1.281L13.72 3.22a.75.75 0 1 1 1.061 1.061L4.53 14.53a.75.75 0 0 1-.53.22", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M9.761 15H3.75a.75.75 0 0 1-.75-.75V8.24a.75.75 0 0 1 1.5 0v5.26h5.261a.75.75 0 0 1 0 1.5" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M4 14.75a.75.75 0 0 1-.53-1.281L13.72 3.22a.75.75 0 1 1 1.061 1.061L4.53 14.53a.75.75 0 0 1-.53.22", "data-color": "color-2" }), _jsx("path", { d: "M9.761 15H3.75a.75.75 0 0 1-.75-.75V8.24a.75.75 0 0 1 1.5 0v5.26h5.261a.75.75 0 0 1 0 1.5" })] }) }));
11
11
  });
12
12
  ArrowDownLeft.displayName = 'ArrowDownLeft';
13
13
  export default ArrowDownLeft;
@@ -7,7 +7,7 @@ const ArrowDownRight = React.forwardRef(({ size, className, style, ...props }, r
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M14 14.75a.74.74 0 0 1-.53-.22L3.22 4.28a.75.75 0 1 1 1.061-1.061L14.53 13.47a.75.75 0 0 1-.53 1.28", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M14.25 15H8.239a.75.75 0 0 1 0-1.5H13.5V8.24a.75.75 0 0 1 1.5 0v6.01a.75.75 0 0 1-.75.75" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M14 14.75a.74.74 0 0 1-.53-.22L3.22 4.28a.75.75 0 1 1 1.061-1.061L14.53 13.47a.75.75 0 0 1-.53 1.28", "data-color": "color-2" }), _jsx("path", { d: "M14.25 15H8.239a.75.75 0 0 1 0-1.5H13.5V8.24a.75.75 0 0 1 1.5 0v6.01a.75.75 0 0 1-.75.75" })] }) }));
11
11
  });
12
12
  ArrowDownRight.displayName = 'ArrowDownRight';
13
13
  export default ArrowDownRight;
@@ -7,7 +7,7 @@ const ArrowLeft = React.forwardRef(({ size, className, style, ...props }, ref) =
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M15.25 9.75H3a.75.75 0 0 1 0-1.5h12.25a.75.75 0 0 1 0 1.5", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M7 14a.74.74 0 0 1-.53-.22L2.22 9.53a.75.75 0 0 1 0-1.061L6.47 4.22a.75.75 0 1 1 1.061 1.061l-3.72 3.72 3.72 3.72a.75.75 0 0 1-.53 1.281z" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M15.25 9.75H3a.75.75 0 0 1 0-1.5h12.25a.75.75 0 0 1 0 1.5", "data-color": "color-2" }), _jsx("path", { d: "M7 14a.74.74 0 0 1-.53-.22L2.22 9.53a.75.75 0 0 1 0-1.061L6.47 4.22a.75.75 0 1 1 1.061 1.061l-3.72 3.72 3.72 3.72a.75.75 0 0 1-.53 1.281z" })] }) }));
11
11
  });
12
12
  ArrowLeft.displayName = 'ArrowLeft';
13
13
  export default ArrowLeft;
@@ -7,7 +7,7 @@ const ArrowRight = React.forwardRef(({ size, className, style, ...props }, ref)
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M15 9.75H2.75a.75.75 0 0 1 0-1.5H15a.75.75 0 0 1 0 1.5", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M11 14a.75.75 0 0 1-.53-1.281l3.72-3.72-3.72-3.72a.75.75 0 1 1 1.061-1.061l4.25 4.25a.75.75 0 0 1 0 1.061l-4.25 4.25a.75.75 0 0 1-.53.22z" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M15 9.75H2.75a.75.75 0 0 1 0-1.5H15a.75.75 0 0 1 0 1.5", "data-color": "color-2" }), _jsx("path", { d: "M11 14a.75.75 0 0 1-.53-1.281l3.72-3.72-3.72-3.72a.75.75 0 1 1 1.061-1.061l4.25 4.25a.75.75 0 0 1 0 1.061l-4.25 4.25a.75.75 0 0 1-.53.22z" })] }) }));
11
11
  });
12
12
  ArrowRight.displayName = 'ArrowRight';
13
13
  export default ArrowRight;
@@ -7,7 +7,7 @@ const ArrowUp = React.forwardRef(({ size, className, style, ...props }, ref) =>
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 16a.75.75 0 0 1-.75-.75V3a.75.75 0 0 1 1.5 0v12.25A.75.75 0 0 1 9 16", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M13.25 7.75a.74.74 0 0 1-.53-.22L9 3.81 5.28 7.53a.75.75 0 1 1-1.061-1.061L8.47 2.22a.75.75 0 0 1 1.061 0l4.25 4.25a.75.75 0 0 1-.53 1.281z" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 16a.75.75 0 0 1-.75-.75V3a.75.75 0 0 1 1.5 0v12.25A.75.75 0 0 1 9 16", "data-color": "color-2" }), _jsx("path", { d: "M13.25 7.75a.74.74 0 0 1-.53-.22L9 3.81 5.28 7.53a.75.75 0 1 1-1.061-1.061L8.47 2.22a.75.75 0 0 1 1.061 0l4.25 4.25a.75.75 0 0 1-.53 1.281z" })] }) }));
11
11
  });
12
12
  ArrowUp.displayName = 'ArrowUp';
13
13
  export default ArrowUp;
@@ -7,7 +7,7 @@ const ArrowUpLeft = React.forwardRef(({ size, className, style, ...props }, ref)
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M14.25 15a.74.74 0 0 1-.53-.22L3.47 4.53a.75.75 0 1 1 1.061-1.061L14.78 13.72a.75.75 0 0 1-.53 1.281z", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M3.75 10.51A.75.75 0 0 1 3 9.76V3.75A.75.75 0 0 1 3.75 3h6.011a.75.75 0 0 1 0 1.5H4.5v5.26a.75.75 0 0 1-.75.75" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M14.25 15a.74.74 0 0 1-.53-.22L3.47 4.53a.75.75 0 1 1 1.061-1.061L14.78 13.72a.75.75 0 0 1-.53 1.281z", "data-color": "color-2" }), _jsx("path", { d: "M3.75 10.51A.75.75 0 0 1 3 9.76V3.75A.75.75 0 0 1 3.75 3h6.011a.75.75 0 0 1 0 1.5H4.5v5.26a.75.75 0 0 1-.75.75" })] }) }));
11
11
  });
12
12
  ArrowUpLeft.displayName = 'ArrowUpLeft';
13
13
  export default ArrowUpLeft;
@@ -7,7 +7,7 @@ const ArrowUpRight = React.forwardRef(({ size, className, style, ...props }, ref
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M3.75 15a.75.75 0 0 1-.53-1.281L13.47 3.47a.75.75 0 1 1 1.061 1.061L4.28 14.78a.75.75 0 0 1-.53.22", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M14.25 10.51a.75.75 0 0 1-.75-.75V4.5H8.24a.75.75 0 0 1 0-1.5h6.01a.75.75 0 0 1 .75.75v6.01a.75.75 0 0 1-.75.75" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M3.75 15a.75.75 0 0 1-.53-1.281L13.47 3.47a.75.75 0 1 1 1.061 1.061L4.28 14.78a.75.75 0 0 1-.53.22", "data-color": "color-2" }), _jsx("path", { d: "M14.25 10.51a.75.75 0 0 1-.75-.75V4.5H8.24a.75.75 0 0 1 0-1.5h6.01a.75.75 0 0 1 .75.75v6.01a.75.75 0 0 1-.75.75" })] }) }));
11
11
  });
12
12
  ArrowUpRight.displayName = 'ArrowUpRight';
13
13
  export default ArrowUpRight;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  const ChevronExpandY = React.forwardRef(({ size, className, style, ...props }, ref) => {
4
4
  const dimensions = size
@@ -7,7 +7,7 @@ const ChevronExpandY = React.forwardRef(({ size, className, style, ...props }, r
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M11.97 11.22 9 14.19l-2.97-2.97a.75.75 0 1 0-1.061 1.061l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 1 0-1.061-1.061z", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M9.53 2.22a.75.75 0 0 0-1.061 0l-3.5 3.5A.75.75 0 0 0 6.03 6.781L9 3.811l2.97 2.97a.75.75 0 0 0 1.06 0 .75.75 0 0 0 0-1.061z" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsx("path", { d: "M11.97 11.22 9 14.19l-2.97-2.97a.75.75 0 1 0-1.061 1.061l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 1 0-1.061-1.061zm-2.44-9a.75.75 0 0 0-1.061 0l-3.5 3.5A.75.75 0 0 0 6.03 6.781L9 3.811l2.97 2.97a.75.75 0 0 0 1.06 0 .75.75 0 0 0 0-1.061z", className: "nc-icon-wrapper", "data-color": "color-2" }) }));
11
11
  });
12
12
  ChevronExpandY.displayName = 'ChevronExpandY';
13
13
  export default ChevronExpandY;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { SVGProps } from 'react';
3
+ export interface CircleCheckProps extends SVGProps<SVGSVGElement> {
4
+ size?: number | string;
5
+ }
6
+ declare const CircleCheck: React.ForwardRefExoticComponent<Omit<CircleCheckProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
7
+ export default CircleCheck;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const CircleCheck = React.forwardRef(({ size, className, style, ...props }, ref) => {
4
+ const dimensions = size
5
+ ? { width: size, height: size }
6
+ : {
7
+ width: props.width || 18,
8
+ height: props.height || 18,
9
+ };
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 17A8 8 0 1 0 9 1a8 8 0 0 0 0 16", "data-color": "color-2", opacity: ".3" }), _jsx("path", { d: "M8 12.5a.75.75 0 0 1-.557-.248l-2.25-2.5a.75.75 0 0 1 1.115-1.004l1.648 1.832 3.7-4.788a.75.75 0 0 1 1.188.917l-4.25 5.5a.75.75 0 0 1-.565.29z" })] }) }));
11
+ });
12
+ CircleCheck.displayName = 'CircleCheck';
13
+ export default CircleCheck;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { SVGProps } from 'react';
3
+ export interface DuplicateProps extends SVGProps<SVGSVGElement> {
4
+ size?: number | string;
5
+ }
6
+ declare const Duplicate: React.ForwardRefExoticComponent<Omit<DuplicateProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
7
+ export default Duplicate;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const Duplicate = React.forwardRef(({ size, className, style, ...props }, ref) => {
4
+ const dimensions = size
5
+ ? { width: size, height: size }
6
+ : {
7
+ width: props.width || 18,
8
+ height: props.height || 18,
9
+ };
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M13.75 4.5h-6.5A2.75 2.75 0 0 0 4.5 7.25v6.5a2.75 2.75 0 0 0 2.75 2.75h6.5a2.75 2.75 0 0 0 2.75-2.75v-6.5a2.75 2.75 0 0 0-2.75-2.75", "data-color": "color-2", opacity: ".4" }), _jsx("path", { d: "M4.5 13.75v-6.5A2.753 2.753 0 0 1 7.25 4.5h5.804L12.9 3.46a2.753 2.753 0 0 0-3.125-2.315L3.346 2.1A2.753 2.753 0 0 0 1.03 5.224l.955 6.43a2.75 2.75 0 0 0 2.54 2.337c-.008-.08-.025-.159-.025-.241" })] }) }));
11
+ });
12
+ Duplicate.displayName = 'Duplicate';
13
+ export default Duplicate;
@@ -7,7 +7,7 @@ const RefreshAnticlockwise = React.forwardRef(({ size, className, style, ...prop
7
7
  width: props.width || 18,
8
8
  height: props.height || 18,
9
9
  };
10
- return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 1a7.97 7.97 0 0 0-6.262 3.033l-.116-.83a.749.749 0 1 0-1.485.205l.408 2.945a.75.75 0 0 0 .846.64l2.943-.407a.75.75 0 0 0 .641-.846.756.756 0 0 0-.846-.64l-1.456.2A6.47 6.47 0 0 1 9 2.501c3.545 0 6.4 2.774 6.497 6.316a.75.75 0 0 0 .75.729h.02a.75.75 0 0 0 .73-.77A7.956 7.956 0 0 0 9 1" }), _jsx("path", { d: "m15.61 11.007-2.944.407a.75.75 0 0 0-.641.846c.57.41.435.69.846.64l1.456-.201A6.48 6.48 0 0 1 9 15.499a6.465 6.465 0 0 1-6.498-6.317c-.01-.414-.352-.761-.77-.729a.75.75 0 0 0-.729.77A7.956 7.956 0 0 0 9 17a7.98 7.98 0 0 0 6.262-3.036l.115.834a.75.75 0 1 0 1.486-.206l-.408-2.945a.753.753 0 0 0-.846-.64", "data-color": "color-2", opacity: ".3" })] }) }));
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { className: "nc-icon-wrapper", children: [_jsx("path", { d: "M9 1a7.97 7.97 0 0 0-6.262 3.033l-.116-.83a.749.749 0 1 0-1.485.205l.408 2.945a.75.75 0 0 0 .846.64l2.943-.407a.75.75 0 0 0 .641-.846.756.756 0 0 0-.846-.64l-1.456.2A6.47 6.47 0 0 1 9 2.501c3.545 0 6.4 2.774 6.497 6.316a.75.75 0 0 0 .75.729h.02a.75.75 0 0 0 .73-.77A7.956 7.956 0 0 0 9 1" }), _jsx("path", { d: "m15.61 11.007-2.944.407a.75.75 0 0 0-.641.846c.57.41.435.69.846.64l1.456-.201A6.48 6.48 0 0 1 9 15.499a6.465 6.465 0 0 1-6.498-6.317c-.01-.414-.352-.761-.77-.729a.75.75 0 0 0-.729.77A7.956 7.956 0 0 0 9 17a7.98 7.98 0 0 0 6.262-3.036l.115.834a.75.75 0 1 0 1.486-.206l-.408-2.945a.753.753 0 0 0-.846-.64", "data-color": "color-2" })] }) }));
11
11
  });
12
12
  RefreshAnticlockwise.displayName = 'RefreshAnticlockwise';
13
13
  export default RefreshAnticlockwise;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { SVGProps } from 'react';
3
+ export interface ShieldCheckProps extends SVGProps<SVGSVGElement> {
4
+ size?: number | string;
5
+ }
6
+ declare const ShieldCheck: React.ForwardRefExoticComponent<Omit<ShieldCheckProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
7
+ export default ShieldCheck;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const ShieldCheck = React.forwardRef(({ size, className, style, ...props }, ref) => {
4
+ const dimensions = size
5
+ ? { width: size, height: size }
6
+ : {
7
+ width: props.width || 18,
8
+ height: props.height || 18,
9
+ };
10
+ return (_jsx("svg", { ref: ref, viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg", width: dimensions.width, height: dimensions.height, fill: props.fill || 'currentColor', className: className, style: style, ...props, children: _jsxs("g", { fillRule: "evenodd", className: "nc-icon-wrapper", clipRule: "evenodd", children: [_jsx("path", { fillOpacity: ".3", d: "M8.17 1.227c.164-.58.5-.176.83-.176q.271 0 .534.083l5.25 1.68A1.75 1.75 0 0 1 16 4.48V11c0 1.873-1.398 3.231-2.725 4.114-1.122.746-2.369 1.294-3.642 1.724a3 3 0 0 1-.226.068 1.73 1.73 0 0 1-.947-.038c-.652-.21-2.21-.766-3.618-1.677C3.474 14.306 2 12.924 2 11V4.48c0-.76.491-1.435 1.217-1.666 1.649-.528 3.32-1.012 4.953-1.587", "data-color": "color-2" }), _jsx("path", { d: "M11.955 6.151c.33.25.396.72.147 1.05l-3.397 4.5a.75.75 0 0 1-1.11.098l-1.61-1.5A.75.75 0 0 1 7.009 9.2l1 .933 2.896-3.836a.75.75 0 0 1 1.05-.147" })] }) }));
11
+ });
12
+ ShieldCheck.displayName = 'ShieldCheck';
13
+ export default ShieldCheck;
@@ -26,10 +26,12 @@ export { default as ChevronExpandY } from './ChevronExpandY';
26
26
  export { default as ChevronLeft } from './ChevronLeft';
27
27
  export { default as ChevronRight } from './ChevronRight';
28
28
  export { default as ChevronUp } from './ChevronUp';
29
+ export { default as CircleCheck } from './CircleCheck';
29
30
  export { default as CircleHalfDottedClock } from './CircleHalfDottedClock';
30
31
  export { default as CircleImage } from './CircleImage';
31
32
  export { default as Clock } from './Clock';
32
33
  export { default as DarkLight } from './DarkLight';
34
+ export { default as Duplicate } from './Duplicate';
33
35
  export { default as History } from './History';
34
36
  export { default as Image } from './Image';
35
37
  export { default as ImagesLayered } from './ImagesLayered';
@@ -41,5 +43,6 @@ export { default as MoonStars } from './MoonStars';
41
43
  export { default as Plus } from './Plus';
42
44
  export { default as Quickstart } from './Quickstart';
43
45
  export { default as RefreshAnticlockwise } from './RefreshAnticlockwise';
46
+ export { default as ShieldCheck } from './ShieldCheck';
44
47
  export { default as Sun } from './Sun';
45
48
  export { default as Xmark } from './Xmark';
@@ -26,10 +26,12 @@ export { default as ChevronExpandY } from './ChevronExpandY';
26
26
  export { default as ChevronLeft } from './ChevronLeft';
27
27
  export { default as ChevronRight } from './ChevronRight';
28
28
  export { default as ChevronUp } from './ChevronUp';
29
+ export { default as CircleCheck } from './CircleCheck';
29
30
  export { default as CircleHalfDottedClock } from './CircleHalfDottedClock';
30
31
  export { default as CircleImage } from './CircleImage';
31
32
  export { default as Clock } from './Clock';
32
33
  export { default as DarkLight } from './DarkLight';
34
+ export { default as Duplicate } from './Duplicate';
33
35
  export { default as History } from './History';
34
36
  export { default as Image } from './Image';
35
37
  export { default as ImagesLayered } from './ImagesLayered';
@@ -41,5 +43,6 @@ export { default as MoonStars } from './MoonStars';
41
43
  export { default as Plus } from './Plus';
42
44
  export { default as Quickstart } from './Quickstart';
43
45
  export { default as RefreshAnticlockwise } from './RefreshAnticlockwise';
46
+ export { default as ShieldCheck } from './ShieldCheck';
44
47
  export { default as Sun } from './Sun';
45
48
  export { default as Xmark } from './Xmark';
@@ -15,7 +15,7 @@
15
15
  {
16
16
  "id": "elevations",
17
17
  "file": "elevations.css",
18
- "purpose": "Resting and hover box-shadow elevation stacks."
18
+ "purpose": "Resting and hover box-shadow elevation stacks plus unlayered box-shadow transitions."
19
19
  },
20
20
  {
21
21
  "id": "layout",
@@ -131,6 +131,20 @@
131
131
  "default": "0 0 0 1px transparent",
132
132
  "purpose": "Additional box-shadow layer appended to elevation stacks, for example hairline borders."
133
133
  },
134
+ {
135
+ "name": "--elevation-transition-duration",
136
+ "module": "elevations",
137
+ "setBy": "inline style or theme override",
138
+ "default": "160ms",
139
+ "purpose": "Duration for data-elevation box-shadow transitions."
140
+ },
141
+ {
142
+ "name": "--elevation-transition-easing",
143
+ "module": "elevations",
144
+ "setBy": "inline style or theme override",
145
+ "default": "ease",
146
+ "purpose": "Timing function for data-elevation box-shadow transitions."
147
+ },
134
148
  {
135
149
  "name": "--vira-flex-grow",
136
150
  "module": "layout",
@@ -1 +1 @@
1
- @layer viraui.preflight;@layer viraui.preflight{html{--scrollbar-thumb:light-dark(var(--base-4),var(--base-3));--scrollbar-track:transparent;font-size:100%;box-sizing:border-box;line-height:1.5;background-color:var(--global-background);color:var(--global-foreground)}*{corner-shape:var(--corner-shape,unset)}*,:after,:before{margin:0;box-sizing:inherit;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus-visible{outline:2px solid var(--global-foreground);outline-offset:2px}body{color:var(--global-foreground);margin:0;font-size:var(--font-scale-body-medium);font-optical-sizing:auto;font-family:var(--font-family-body),sans-serif;font-variation-settings:"wght" 400}::selection{background-color:var(--global-primary);color:contrast-color(var(--global-primary));text-shadow:none}img{display:block;inline-size:100%;max-inline-size:100%}svg:not([fill]){fill:currentcolor}fieldset{border:0}ol ul,ul ol{font-size:medium}table{border-spacing:0;width:100%;border-collapse:collapse}table[data-layout-fixed]{table-layout:fixed}table thead{box-shadow:inset 0 -3px 0 var(--base-2)}table[data-table-separators] tr+tr{border-top:1px solid var(--base-2)}table th{white-space:nowrap;font-variation-settings:"wght" 800}table td,table th{border:none;text-align:left;font-size:medium;padding:calc(var(--space-x-small) + var(--space-2x-small)) var(--space-small)}[data-elevation]{--shadow-direction:1;--shadow-opacity-factor:0.16;--extra-shadow:0 0 0 1px transparent;--shadow-color:oklch(0% 0 0deg)}}@layer viraui.preflight{[data-elevation]:where([data-elevation-direction=bottom],[data-elevation-direction=right]){--shadow-direction:1}[data-elevation]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-direction:-1}[data-elevation-hover="0"]:hover,[data-elevation="0"]{--y1:0px;--x1:0px;box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),0 0 0 color-mix(in oklch,var(--shadow-color),transparent calc(94% - var(--shadow-opacity-factor))),0 0 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation-hover="2"]:hover,[data-elevation-hover="3"]:hover,[data-elevation-hover="4"]:hover,[data-elevation="1"],[data-elevation="2"],[data-elevation="3"],[data-elevation="4"]{box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) var(--shadow-blur-1) oklab(from var(--shadow-color) l a b/.1),calc(var(--x2) * var(--shadow-direction)) calc(var(--y2) * var(--shadow-direction)) var(--shadow-blur-2) oklab(from var(--shadow-color) l a b/.09),calc(var(--x3) * var(--shadow-direction)) calc(var(--y3) * var(--shadow-direction)) var(--shadow-blur-3) oklab(from var(--shadow-color) l a b/.05),calc(var(--x4) * var(--shadow-direction)) calc(var(--y4) * var(--shadow-direction)) var(--shadow-blur-4) oklab(from var(--shadow-color) l a b/.01),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation="1"]{--y1:0px;--y2:2px;--y3:4px;--y4:7px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:1px;--shadow-blur-2:2px;--shadow-blur-3:2px;--shadow-blur-4:3px}[data-elevation-hover="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:0px;--x2:2px;--x3:4px;--x4:7px}[data-elevation-hover="2"]:hover,[data-elevation="2"]{--y1:1px;--y2:5px;--y3:11px;--y4:19px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:3px;--shadow-blur-2:5px;--shadow-blur-3:6px;--shadow-blur-4:8px}[data-elevation-hover="2"]:where([data-elevation-direction=top],[data-elevation-direction=left]):hover,[data-elevation="2"]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-blur-3:7px}[data-elevation-hover="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:1px;--x2:5px;--x3:11px;--x4:19px}[data-elevation-hover="2"]:where([data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=right]){--shadow-blur-3:6px}[data-elevation-hover="3"]:hover,[data-elevation="3"]{--y1:2px;--y2:7px;--y3:16px;--y4:29px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:4px;--shadow-blur-2:7px;--shadow-blur-3:10px;--shadow-blur-4:12px}[data-elevation-hover="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:2px;--x2:7px;--x3:16px;--x4:29px}[data-elevation-hover="3"]:where([data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=right]){--x2:10px;--x3:22px;--x4:39px;--shadow-blur-1:5px;--shadow-blur-2:10px;--shadow-blur-3:13px;--shadow-blur-4:15px}[data-elevation-hover="4"]:hover,[data-elevation="4"]{--y1:4px;--y2:14px;--y3:33px;--y4:58px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:8px;--shadow-blur-2:14px;--shadow-blur-3:20px;--shadow-blur-4:23px}[data-elevation-hover="4"]:where([data-elevation-direction=top]):hover,[data-elevation="4"]:where([data-elevation-direction=top]){--y2:15px;--shadow-blur-2:15px}[data-elevation-hover="4"]:where([data-elevation-direction=left]):hover,[data-elevation="4"]:where([data-elevation-direction=left]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:4px;--x2:15px;--x3:33px;--x4:58px;--shadow-blur-2:15px}[data-elevation-hover="4"]:where([data-elevation-direction=right]):hover,[data-elevation="4"]:where([data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:4px;--x2:14px;--x3:33px;--x4:58px}}@layer viraui.preflight{[data-grow=false]{--vira-flex-grow:0;flex-grow:0}[data-shrink=false]{--vira-flex-shrink:0;flex-shrink:0}}@layer viraui.preflight{:where(p){line-height:1.5;min-block-size:.01vh;font-size:var(--font-scale-body-medium)}small{font-size:.7em}b,strong{font-variation-settings:"wght" 700}:where(a:any-link):not([data-no-link-style]){text-decoration:none;color:var(--global-interactive-text);word-break:break-word;&:not([class]){background:linear-gradient(currentcolor,currentcolor) no-repeat 0 100%;background-size:0 1px;transition:background-size var(--duration-fast) var(--easing-entrance);&:focus,&:hover{background-size:100% 1px}}}del{padding:0 .4em;margin:0 .2em;background-color:oklab(from var(--highlight-red) l a b/15%);color:var(--highlight-red);box-shadow:0 0 0 1px oklab(from var(--highlight-red) l a b/50%);border-radius:var(--radius-small)}ins{background-color:oklab(from var(--highlight-green) l a b/15%);color:var(--highlight-green);box-shadow:0 0 0 1px oklab(from var(--highlight-green) l a b/50%)}ins,mark{padding:0 .4em;margin:0 .2em;text-decoration:none;border-radius:var(--radius-small)}mark{background-color:oklab(from var(--highlight-yellow) l a b/15%);color:var(--highlight-yellow);box-shadow:0 0 0 1px oklab(from var(--highlight-yellow) l a b/50%)}address{font-style:normal;line-height:inherit}dt{font-variation-settings:"wght" 600}dd{margin:0;padding:0}ul{font-size:medium;padding-left:1rem;& li::marker{font-size:inherit;text-align:right;font-variation-settings:"wght" 400;min-inline-size:var(--space-x-large);color:oklab(from currentColor l a b/80%)}}ol{font-size:medium;& li::marker{font-size:inherit;font-variation-settings:"wght" 400;min-inline-size:var(--space-x-large);font-variant-numeric:tabular-nums;white-space:nowrap;color:oklab(from currentColor l a b/80%)}}kbd{padding:.2em .4em;border-radius:var(--radius-small);font-variation-settings:"wght" 600;box-shadow:var(--global-contrast);background:var(--global-contrast)}abbr{text-decoration:underline dashed var(--global-primary)}label,legend{font-size:inherit}code{background-color:var(--global-contrast);border-radius:var(--radius-small);box-shadow:var(--global-contrast);padding:.2em .4em;font-size:1em;font-family:var(--font-family-mono);vertical-align:top}pre code{box-shadow:none}s{text-decoration:line-through;color:var(--global-disabled-foreground);text-decoration-color:oklab(from var(--global-foreground) l a b/50%)}:root{color-scheme:light dark}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-vibrant]{--is-vibrancy-active:var(--vibrancy-enable);--vibrancy-filter:var(--vibrancy-enable) brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px));backdrop-filter:var(--vibrancy-filter,none)}}@layer viraui.preflight{}@layer viraui.preflight{}[data-elevation]{transition-property:box-shadow;transition-duration:var(--elevation-transition-duration,.16s);transition-timing-function:var(--elevation-transition-easing,ease)}
1
+ @layer viraui.preflight;@layer viraui.preflight{html{--scrollbar-thumb:light-dark(var(--base-4),var(--base-3));--scrollbar-track:transparent;--outline-offset:2px;--outline-color:var(--global-outline);--outline:2px solid var(--outline-color);font-size:100%;box-sizing:border-box;line-height:1.5;background-color:var(--global-background);color:var(--global-foreground)}*{--is-corner-shape-enabled:var(--corner-shape-enable);--corner-shape-value:var(--is-corner-shape-enabled) var(--corner-shape-squircle);corner-shape:var(--corner-shape-value,unset)}*,:after,:before{margin:0;box-sizing:inherit;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}body{color:var(--global-foreground);margin:0;font-size:var(--font-scale-body-medium);font-optical-sizing:auto;font-family:var(--font-family-body),sans-serif;font-variation-settings:"wght" 400;font-variant-numeric:tabular-nums}::selection{background-color:var(--global-primary);color:contrast-color(var(--global-primary));text-shadow:none}img{display:block;inline-size:100%;max-inline-size:100%}svg:not([fill]){fill:currentcolor}ol ul,ul ol{font-size:medium}table{border-spacing:0;inline-size:100%;border-collapse:collapse}table[data-layout-fixed]{table-layout:fixed}table thead{box-shadow:inset 0 -3px 0 var(--base-2)}table[data-table-separators] tr+tr{border-top:1px solid var(--base-2)}table th{white-space:nowrap;font-variation-settings:"wght" 800}table td,table th{border:none;text-align:left;font-size:medium;padding:calc(var(--space-x-small) + var(--space-2x-small)) var(--space-small)}fieldset{padding:0;margin:0;border:0}[data-elevation]{--shadow-direction:1;--shadow-opacity-factor:0.16;--extra-shadow:0 0 0 1px transparent;--shadow-color:oklab(0 0 0);transition-property:box-shadow;transition-duration:var(--elevation-transition-duration,.16s);transition-timing-function:var(--elevation-transition-easing,ease)}}@layer viraui.preflight{[data-elevation]:where([data-elevation-direction=bottom],[data-elevation-direction=right]){--shadow-direction:1}[data-elevation]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-direction:-1}[data-elevation-hover="0"]:hover,[data-elevation="0"]{--y1:0px;--x1:0px;box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),0 0 0 color-mix(in oklch,var(--shadow-color),transparent calc(94% - var(--shadow-opacity-factor))),0 0 0 oklch(from var(--shadow-color) l c h/var(--shadow-opacity-factor)),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation-hover="2"]:hover,[data-elevation-hover="3"]:hover,[data-elevation-hover="4"]:hover,[data-elevation="1"],[data-elevation="2"],[data-elevation="3"],[data-elevation="4"]{box-shadow:calc(var(--x1) * var(--shadow-direction)) calc(var(--y1) * var(--shadow-direction)) var(--shadow-blur-1) oklab(from var(--shadow-color) l a b/.1),calc(var(--x2) * var(--shadow-direction)) calc(var(--y2) * var(--shadow-direction)) var(--shadow-blur-2) oklab(from var(--shadow-color) l a b/.09),calc(var(--x3) * var(--shadow-direction)) calc(var(--y3) * var(--shadow-direction)) var(--shadow-blur-3) oklab(from var(--shadow-color) l a b/.05),calc(var(--x4) * var(--shadow-direction)) calc(var(--y4) * var(--shadow-direction)) var(--shadow-blur-4) oklab(from var(--shadow-color) l a b/.01),var(--extra-shadow)}[data-elevation-hover="1"]:hover,[data-elevation="1"]{--y1:0px;--y2:2px;--y3:4px;--y4:7px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:1px;--shadow-blur-2:2px;--shadow-blur-3:2px;--shadow-blur-4:3px}[data-elevation-hover="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="1"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:0px;--x2:2px;--x3:4px;--x4:7px}[data-elevation-hover="2"]:hover,[data-elevation="2"]{--y1:1px;--y2:5px;--y3:11px;--y4:19px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:3px;--shadow-blur-2:5px;--shadow-blur-3:6px;--shadow-blur-4:8px}[data-elevation-hover="2"]:where([data-elevation-direction=top],[data-elevation-direction=left]):hover,[data-elevation="2"]:where([data-elevation-direction=top],[data-elevation-direction=left]){--shadow-blur-3:7px}[data-elevation-hover="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:1px;--x2:5px;--x3:11px;--x4:19px}[data-elevation-hover="2"]:where([data-elevation-direction=right]):hover,[data-elevation="2"]:where([data-elevation-direction=right]){--shadow-blur-3:6px}[data-elevation-hover="3"]:hover,[data-elevation="3"]{--y1:2px;--y2:7px;--y3:16px;--y4:29px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:4px;--shadow-blur-2:7px;--shadow-blur-3:10px;--shadow-blur-4:12px}[data-elevation-hover="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=left],[data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:2px;--x2:7px;--x3:16px;--x4:29px}[data-elevation-hover="3"]:where([data-elevation-direction=right]):hover,[data-elevation="3"]:where([data-elevation-direction=right]){--x2:10px;--x3:22px;--x4:39px;--shadow-blur-1:5px;--shadow-blur-2:10px;--shadow-blur-3:13px;--shadow-blur-4:15px}[data-elevation-hover="4"]:hover,[data-elevation="4"]{--y1:4px;--y2:14px;--y3:33px;--y4:58px;--x1:0px;--x2:0px;--x3:0px;--x4:0px;--shadow-blur-1:8px;--shadow-blur-2:14px;--shadow-blur-3:20px;--shadow-blur-4:23px}[data-elevation-hover="4"]:where([data-elevation-direction=top]):hover,[data-elevation="4"]:where([data-elevation-direction=top]){--y2:15px;--shadow-blur-2:15px}[data-elevation-hover="4"]:where([data-elevation-direction=left]):hover,[data-elevation="4"]:where([data-elevation-direction=left]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:4px;--x2:15px;--x3:33px;--x4:58px;--shadow-blur-2:15px}[data-elevation-hover="4"]:where([data-elevation-direction=right]):hover,[data-elevation="4"]:where([data-elevation-direction=right]){--y1:0px;--y2:0px;--y3:0px;--y4:0px;--x1:4px;--x2:14px;--x3:33px;--x4:58px}}@layer viraui.preflight{[data-grow=false]{--vira-flex-grow:0;flex-grow:0}[data-shrink=false]{--vira-flex-shrink:0;flex-shrink:0}}@layer viraui.preflight{:where(p){line-height:1.5;min-block-size:.01vh;font-size:var(--font-scale-body-medium)}small{font-size:.7em}b,strong{font-variation-settings:"wght" 700}:where(a:any-link):not([data-no-link-style]){text-decoration:none;color:var(--global-interactive-text);word-break:break-word;&:not([class]){background:linear-gradient(currentcolor,currentcolor) no-repeat 0 100%;background-size:0 1px;transition:background-size var(--duration-fast) var(--easing-entrance);&:focus,&:hover{background-size:100% 1px}}}del{padding:0 .4em;margin:0 .2em;background-color:oklab(from var(--highlight-red) l a b/12%);color:var(--highlight-red);box-shadow:0 0 0 1px oklab(from var(--highlight-red) l a b/50%);border-radius:var(--radius-small)}ins{background-color:oklab(from var(--highlight-green) l a b/15%);color:var(--highlight-green);box-shadow:0 0 0 1px oklab(from var(--highlight-green) l a b/50%)}ins,mark{padding:0 .4em;margin:0 .2em;text-decoration:none;border-radius:var(--radius-small)}mark{background-color:oklab(from var(--highlight-yellow) l a b/15%);color:var(--highlight-yellow);box-shadow:0 0 0 1px oklab(from var(--highlight-yellow) l a b/50%)}address{font-style:normal;line-height:inherit}dt{font-variation-settings:"wght" 600}dd{margin:0;padding:0}ul{font-size:medium;padding-left:1rem;& li::marker{font-size:inherit;text-align:right;font-variation-settings:"wght" 400;min-inline-size:var(--space-x-large);color:oklab(from currentColor l a b/80%)}}ol{font-size:medium;& li::marker{font-size:inherit;font-variation-settings:"wght" 400;min-inline-size:var(--space-x-large);font-variant-numeric:tabular-nums;white-space:nowrap;color:oklab(from currentColor l a b/80%)}}kbd{padding:.2em .4em;border-radius:var(--radius-small);font-variation-settings:"wght" 600;box-shadow:var(--global-contrast);background:var(--global-contrast)}abbr{text-decoration:underline dashed var(--global-primary)}label,legend{font-size:inherit}code{background-color:var(--global-contrast);border-radius:var(--radius-small);box-shadow:var(--global-contrast);padding:.2em .4em;font-size:1em;font-family:var(--font-family-mono);vertical-align:top}pre code{box-shadow:none}s{text-decoration:line-through;color:var(--global-disabled-foreground);text-decoration-color:oklab(from var(--global-foreground) l a b/50%)}:root{color-scheme:light dark}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-vibrant]{--is-vibrancy-active:var(--vibrancy-enable);--vibrancy-filter:var(--vibrancy-enable) brightness(var(--vibrancy-brightness)) blur(calc(var(--vibrancy-blur) * 1px));backdrop-filter:var(--vibrancy-filter,none)}}@layer viraui.preflight{}@layer viraui.preflight{}
@@ -51,11 +51,6 @@
51
51
  "pattern": "--color-{palette}-{step}",
52
52
  "purpose": "Raw palette steps referenced by semantic aliases; not the primary consumer override API."
53
53
  },
54
- {
55
- "id": "breakpoint",
56
- "pattern": "--breakpoint-*",
57
- "purpose": "Theme-owned min-width tokens for responsive layout."
58
- },
59
54
  {
60
55
  "id": "motion",
61
56
  "pattern": "--duration-* | --easing-*",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viraui/react",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"
@@ -42,10 +42,10 @@
42
42
  "vite": "8.0.16",
43
43
  "vite-plugin-dts": "4.5.4",
44
44
  "vite-plugin-static-copy": "2.3.0",
45
- "@viraui/foundation": "0.0.22",
46
- "@viraui/icons": "0.0.15",
45
+ "@viraui/foundation": "0.0.24",
47
46
  "@viraui/postcss-config": "0.0.16",
48
- "@viraui/tsconfig": "0.0.16"
47
+ "@viraui/icons": "0.0.15",
48
+ "@viraui/tsconfig": "0.0.17"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "@base-ui/react": ">=1.5.0",