@bolio-ui/core 3.0.0-alpha.0 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/dist/BolioUIProvider/index.js +3 -3
  2. package/dist/Calendar/Calendar.d.ts +1 -0
  3. package/dist/Calendar/index.js +2 -2
  4. package/dist/Carousel/Carousel.d.ts +21 -0
  5. package/dist/Carousel/index.d.ts +3 -0
  6. package/dist/Carousel/index.js +14 -0
  7. package/dist/Collapse/Collapse.d.ts +3 -0
  8. package/dist/Collapse/index.js +3 -3
  9. package/dist/ColorInput/ColorInput.d.ts +24 -0
  10. package/dist/ColorInput/index.d.ts +3 -0
  11. package/dist/ColorInput/index.js +20 -0
  12. package/dist/ColorPicker/ColorPicker.d.ts +17 -0
  13. package/dist/ColorPicker/color-utils.d.ts +10 -0
  14. package/dist/ColorPicker/index.d.ts +3 -0
  15. package/dist/ColorPicker/index.js +14 -0
  16. package/dist/Command/index.js +4 -4
  17. package/dist/ContextMenu/ContextMenu.d.ts +13 -0
  18. package/dist/ContextMenu/index.d.ts +3 -0
  19. package/dist/ContextMenu/index.js +25 -0
  20. package/dist/CssBaseline/index.js +2 -2
  21. package/dist/DatePicker/index.js +3 -3
  22. package/dist/DateRangePicker/DateRangePicker.d.ts +29 -0
  23. package/dist/DateRangePicker/index.d.ts +3 -0
  24. package/dist/DateRangePicker/index.js +19 -0
  25. package/dist/Drawer/index.js +2 -2
  26. package/dist/Dropzone/Dropzone.d.ts +25 -0
  27. package/dist/Dropzone/DropzoneThumbnail.d.ts +9 -0
  28. package/dist/Dropzone/index.d.ts +3 -0
  29. package/dist/Dropzone/index.js +14 -0
  30. package/dist/Menu/index.js +3 -3
  31. package/dist/Modal/index.js +2 -2
  32. package/dist/PinInput/PinInput.d.ts +25 -0
  33. package/dist/PinInput/index.d.ts +3 -0
  34. package/dist/PinInput/index.js +16 -0
  35. package/dist/SegmentedControl/SegmentedControl.d.ts +16 -0
  36. package/dist/SegmentedControl/SegmentedControlContext.d.ts +10 -0
  37. package/dist/SegmentedControl/SegmentedControlItem.d.ts +13 -0
  38. package/dist/SegmentedControl/index.d.ts +10 -0
  39. package/dist/SegmentedControl/index.js +14 -0
  40. package/dist/Select/SelectDropdown.d.ts +2 -0
  41. package/dist/Select/index.js +6 -6
  42. package/dist/Slider/index.js +3 -3
  43. package/dist/Table/index.js +1 -1
  44. package/dist/TagsInput/TagsInput.d.ts +26 -0
  45. package/dist/TagsInput/index.d.ts +3 -0
  46. package/dist/TagsInput/index.js +17 -0
  47. package/dist/Tree/Tree.d.ts +17 -0
  48. package/dist/Tree/TreeContext.d.ts +17 -0
  49. package/dist/Tree/TreeNode.d.ts +8 -0
  50. package/dist/Tree/index.d.ts +3 -0
  51. package/dist/Tree/index.js +14 -0
  52. package/dist/chunk-2A4BSQ66.js +130 -0
  53. package/dist/{chunk-HIFS4JIO.js → chunk-2EYJZXS4.js} +7 -7
  54. package/dist/chunk-4X4ELIMQ.js +231 -0
  55. package/dist/{chunk-UVVBMWR4.js → chunk-AG2NWQYL.js} +18 -4
  56. package/dist/chunk-AVO2SK2I.js +109 -0
  57. package/dist/{chunk-YHZFOVVI.js → chunk-DIMJQLWY.js} +27 -37
  58. package/dist/chunk-G4KB56RO.js +217 -0
  59. package/dist/chunk-GYFW5NLU.js +257 -0
  60. package/dist/chunk-IJGIEX5J.js +211 -0
  61. package/dist/chunk-K6UULETP.js +244 -0
  62. package/dist/chunk-MDSRXACM.js +212 -0
  63. package/dist/chunk-OKZRHSSG.js +271 -0
  64. package/dist/{chunk-IBC5BABS.js → chunk-P245HSVB.js} +190 -155
  65. package/dist/{chunk-6KMHJRCY.js → chunk-TDJGMSGT.js} +1 -0
  66. package/dist/{chunk-FQU5SKDF.js → chunk-WFGUAR7K.js} +58 -24
  67. package/dist/chunk-X4TPC7HS.js +160 -0
  68. package/dist/{chunk-6BCLZSSK.js → chunk-XLPOECCE.js} +2 -2
  69. package/dist/css/Button-ButtonIcon.css +3 -2
  70. package/dist/css/ButtonGroup.css +1 -0
  71. package/dist/css/Calendar.css +12 -1
  72. package/dist/css/Carousel.css +128 -0
  73. package/dist/css/Collapse.css +29 -9
  74. package/dist/css/ColorInput.css +97 -0
  75. package/dist/css/ColorPicker.css +186 -0
  76. package/dist/css/Combobox.css +2 -0
  77. package/dist/css/ContextMenu.css +17 -0
  78. package/dist/css/DatePicker.css +4 -1
  79. package/dist/css/DateRangePicker.css +110 -0
  80. package/dist/css/Dropzone.css +163 -0
  81. package/dist/css/Fieldset-FieldsetGroup.css +1 -0
  82. package/dist/css/Input.css +4 -3
  83. package/dist/css/Menu-MenuList.css +1 -0
  84. package/dist/css/NumberInput.css +5 -4
  85. package/dist/css/PinInput.css +41 -0
  86. package/dist/css/Radio.css +1 -0
  87. package/dist/css/SegmentedControl-SegmentedControlItem.css +65 -0
  88. package/dist/css/SegmentedControl.css +14 -0
  89. package/dist/css/Select-SelectDropdown.css +5 -2
  90. package/dist/css/Select-SelectMultipleValue.css +1 -0
  91. package/dist/css/Select-SelectOption.css +28 -7
  92. package/dist/css/Select.css +3 -1
  93. package/dist/css/TagsInput.css +101 -0
  94. package/dist/css/Textarea.css +1 -0
  95. package/dist/css/Toggle.css +1 -0
  96. package/dist/css/Tree.css +88 -0
  97. package/dist/css/use-toasts-toast-item.css +1 -0
  98. package/dist/index.d.ts +20 -0
  99. package/dist/index.js +80 -40
  100. package/dist/styles.css +3494 -2400
  101. package/esm/BolioUIProvider/index.js +2 -2
  102. package/esm/Calendar/Calendar.d.ts +1 -0
  103. package/esm/Calendar/index.js +1 -1
  104. package/esm/Carousel/Carousel.d.ts +21 -0
  105. package/esm/Carousel/index.d.ts +3 -0
  106. package/esm/Carousel/index.js +14 -0
  107. package/esm/Collapse/Collapse.d.ts +3 -0
  108. package/esm/Collapse/index.js +2 -2
  109. package/esm/ColorInput/ColorInput.d.ts +24 -0
  110. package/esm/ColorInput/index.d.ts +3 -0
  111. package/esm/ColorInput/index.js +20 -0
  112. package/esm/ColorPicker/ColorPicker.d.ts +17 -0
  113. package/esm/ColorPicker/color-utils.d.ts +10 -0
  114. package/esm/ColorPicker/index.d.ts +3 -0
  115. package/esm/ColorPicker/index.js +14 -0
  116. package/esm/Command/index.js +4 -4
  117. package/esm/ContextMenu/ContextMenu.d.ts +13 -0
  118. package/esm/ContextMenu/index.d.ts +3 -0
  119. package/esm/ContextMenu/index.js +25 -0
  120. package/esm/CssBaseline/index.js +1 -1
  121. package/esm/DatePicker/index.js +2 -2
  122. package/esm/DateRangePicker/DateRangePicker.d.ts +29 -0
  123. package/esm/DateRangePicker/index.d.ts +3 -0
  124. package/esm/DateRangePicker/index.js +19 -0
  125. package/esm/Drawer/index.js +2 -2
  126. package/esm/Dropzone/Dropzone.d.ts +25 -0
  127. package/esm/Dropzone/DropzoneThumbnail.d.ts +9 -0
  128. package/esm/Dropzone/index.d.ts +3 -0
  129. package/esm/Dropzone/index.js +14 -0
  130. package/esm/Menu/index.js +2 -2
  131. package/esm/Modal/index.js +2 -2
  132. package/esm/PinInput/PinInput.d.ts +25 -0
  133. package/esm/PinInput/index.d.ts +3 -0
  134. package/esm/PinInput/index.js +16 -0
  135. package/esm/SegmentedControl/SegmentedControl.d.ts +16 -0
  136. package/esm/SegmentedControl/SegmentedControlContext.d.ts +10 -0
  137. package/esm/SegmentedControl/SegmentedControlItem.d.ts +13 -0
  138. package/esm/SegmentedControl/index.d.ts +10 -0
  139. package/esm/SegmentedControl/index.js +14 -0
  140. package/esm/Select/SelectDropdown.d.ts +2 -0
  141. package/esm/Select/index.js +5 -5
  142. package/esm/Slider/index.js +2 -2
  143. package/esm/Table/index.js +1 -1
  144. package/esm/TagsInput/TagsInput.d.ts +26 -0
  145. package/esm/TagsInput/index.d.ts +3 -0
  146. package/esm/TagsInput/index.js +17 -0
  147. package/esm/Tree/Tree.d.ts +17 -0
  148. package/esm/Tree/TreeContext.d.ts +17 -0
  149. package/esm/Tree/TreeNode.d.ts +8 -0
  150. package/esm/Tree/index.d.ts +3 -0
  151. package/esm/Tree/index.js +14 -0
  152. package/esm/chunk-2A4BSQ66.js +130 -0
  153. package/esm/{chunk-HIFS4JIO.js → chunk-2EYJZXS4.js} +4 -4
  154. package/esm/chunk-4X4ELIMQ.js +231 -0
  155. package/esm/{chunk-UVVBMWR4.js → chunk-AG2NWQYL.js} +18 -4
  156. package/esm/chunk-AVO2SK2I.js +109 -0
  157. package/esm/{chunk-YHZFOVVI.js → chunk-DIMJQLWY.js} +27 -37
  158. package/esm/chunk-G4KB56RO.js +217 -0
  159. package/esm/chunk-GYFW5NLU.js +257 -0
  160. package/esm/chunk-IJGIEX5J.js +211 -0
  161. package/esm/chunk-K6UULETP.js +244 -0
  162. package/esm/chunk-MDSRXACM.js +212 -0
  163. package/esm/chunk-OKZRHSSG.js +271 -0
  164. package/esm/chunk-P245HSVB.js +450 -0
  165. package/esm/{chunk-6KMHJRCY.js → chunk-TDJGMSGT.js} +1 -0
  166. package/esm/{chunk-FQU5SKDF.js → chunk-WFGUAR7K.js} +60 -26
  167. package/esm/chunk-X4TPC7HS.js +160 -0
  168. package/esm/{chunk-6BCLZSSK.js → chunk-XLPOECCE.js} +1 -1
  169. package/esm/css/Button-ButtonIcon.css +3 -2
  170. package/esm/css/ButtonGroup.css +1 -0
  171. package/esm/css/Calendar.css +12 -1
  172. package/esm/css/Carousel.css +128 -0
  173. package/esm/css/Collapse.css +29 -9
  174. package/esm/css/ColorInput.css +97 -0
  175. package/esm/css/ColorPicker.css +186 -0
  176. package/esm/css/Combobox.css +2 -0
  177. package/esm/css/ContextMenu.css +17 -0
  178. package/esm/css/DatePicker.css +4 -1
  179. package/esm/css/DateRangePicker.css +110 -0
  180. package/esm/css/Dropzone.css +163 -0
  181. package/esm/css/Fieldset-FieldsetGroup.css +1 -0
  182. package/esm/css/Input.css +4 -3
  183. package/esm/css/Menu-MenuList.css +1 -0
  184. package/esm/css/NumberInput.css +5 -4
  185. package/esm/css/PinInput.css +41 -0
  186. package/esm/css/Radio.css +1 -0
  187. package/esm/css/SegmentedControl-SegmentedControlItem.css +65 -0
  188. package/esm/css/SegmentedControl.css +14 -0
  189. package/esm/css/Select-SelectDropdown.css +5 -2
  190. package/esm/css/Select-SelectMultipleValue.css +1 -0
  191. package/esm/css/Select-SelectOption.css +28 -7
  192. package/esm/css/Select.css +3 -1
  193. package/esm/css/TagsInput.css +101 -0
  194. package/esm/css/Textarea.css +1 -0
  195. package/esm/css/Toggle.css +1 -0
  196. package/esm/css/Tree.css +88 -0
  197. package/esm/css/use-toasts-toast-item.css +1 -0
  198. package/esm/index.d.ts +20 -0
  199. package/esm/index.js +93 -53
  200. package/esm/styles.css +3470 -2376
  201. package/package.json +3 -3
  202. package/esm/chunk-IBC5BABS.js +0 -415
  203. package/dist/{chunk-2PRUFY2Q.js → chunk-4ZGR7UMX.js} +2 -2
  204. package/dist/{chunk-FLK7EAOE.js → chunk-IUZV5Y27.js} +2 -2
  205. package/esm/{chunk-2PRUFY2Q.js → chunk-4ZGR7UMX.js} +3 -3
  206. package/esm/{chunk-FLK7EAOE.js → chunk-IUZV5Y27.js} +3 -3
@@ -0,0 +1,160 @@
1
+ import {
2
+ getColors
3
+ } from "./chunk-KBZEYKCZ.js";
4
+ import {
5
+ use_scale_default,
6
+ with_scale_default
7
+ } from "./chunk-MAICNLTY.js";
8
+ import {
9
+ use_theme_default
10
+ } from "./chunk-V5I4ORQQ.js";
11
+ import {
12
+ use_classes_default
13
+ } from "./chunk-5KUROAEP.js";
14
+
15
+ // core/PinInput/PinInput.tsx
16
+ import React, { useRef, useState } from "react";
17
+
18
+ // css-module-source:/Users/brunnoandrade/Desktop/BolioUI/bolio-ui/core/PinInput/PinInput.module.css.bolio-css-module-source
19
+ var PinInput_module_css_default = { "pin": "PinInput-module_pin__XgaDZ", "box": "PinInput-module_box__DIU85" };
20
+
21
+ // core/PinInput/PinInput.tsx
22
+ import { jsx } from "react/jsx-runtime";
23
+ var defaultBoxLabel = (index, length) => `Character ${index + 1} of ${length}`;
24
+ var PinInputComponent = React.forwardRef(
25
+ ({
26
+ length = 6,
27
+ value: customValue,
28
+ initialValue = "",
29
+ onChange,
30
+ onComplete,
31
+ numeric = false,
32
+ mask = false,
33
+ boxLabel = defaultBoxLabel,
34
+ disabled = false,
35
+ error = false,
36
+ type = "default",
37
+ rounded = false,
38
+ filled = false,
39
+ light = false,
40
+ ghost = false,
41
+ subtle = false,
42
+ className = "",
43
+ style,
44
+ ...props
45
+ }, ref) => {
46
+ const theme = use_theme_default();
47
+ const { SCALES } = use_scale_default();
48
+ const colors = getColors(theme.palette, error ? "error" : type, disabled, {
49
+ filled,
50
+ light,
51
+ ghost,
52
+ subtle
53
+ });
54
+ const isControlled = customValue !== void 0;
55
+ const [selfValue, setSelfValue] = useState(initialValue.slice(0, length));
56
+ const value = isControlled ? customValue : selfValue;
57
+ const boxes = useRef([]);
58
+ const latest = useRef(value);
59
+ latest.current = value;
60
+ const focusBox = (index) => {
61
+ var _a;
62
+ return (_a = boxes.current[Math.max(0, Math.min(index, length - 1))]) == null ? void 0 : _a.focus();
63
+ };
64
+ const commit = (next) => {
65
+ if (next === value) return;
66
+ latest.current = next;
67
+ if (!isControlled) setSelfValue(next);
68
+ if (onChange) onChange(next);
69
+ if (onComplete && next.length === length) onComplete(next);
70
+ };
71
+ const remove = (index) => commit(value.slice(0, index) + value.slice(index + 1));
72
+ const changeHandler = (index) => (event) => {
73
+ const typed = event.target.value;
74
+ if (typed === "") return remove(index);
75
+ const chars = typed.split("").filter((char) => !numeric || /\d/.test(char));
76
+ if (!chars.length) return;
77
+ const at = Math.min(index, value.length);
78
+ const rest = chars.length === 1 ? value.slice(at + 1) : "";
79
+ commit((value.slice(0, at) + chars.join("") + rest).slice(0, length));
80
+ focusBox(at + chars.length);
81
+ };
82
+ const keyDownHandler = (index) => (event) => {
83
+ if (event.key === "Backspace") {
84
+ event.preventDefault();
85
+ if (index < value.length) return remove(index);
86
+ if (index > 0) {
87
+ remove(index - 1);
88
+ focusBox(index - 1);
89
+ }
90
+ } else if (event.key === "ArrowLeft") {
91
+ event.preventDefault();
92
+ focusBox(index - 1);
93
+ } else if (event.key === "ArrowRight") {
94
+ event.preventDefault();
95
+ focusBox(index + 1);
96
+ }
97
+ };
98
+ const focusHandler = (index) => (event) => {
99
+ if (index > latest.current.length)
100
+ return focusBox(latest.current.length);
101
+ event.target.select();
102
+ };
103
+ const pinStyle = {
104
+ "--pin-size": SCALES.height(2.75),
105
+ "--input-border": colors.borderColor,
106
+ "--input-radius": rounded ? "25px" : theme.layout.radius,
107
+ "--input-bg": colors.bgColor,
108
+ "--input-hover-border": colors.hoverBorder,
109
+ "--input-hover-bg": colors.hoverBgColor,
110
+ "--input-focus-border": colors.focusBorder,
111
+ "--input-color": colors.color,
112
+ fontSize: SCALES.font(1),
113
+ margin: `${SCALES.mt(0)} ${SCALES.mr(0)} ${SCALES.mb(0)} ${SCALES.ml(0)}`,
114
+ ...style
115
+ };
116
+ return /* @__PURE__ */ jsx(
117
+ "div",
118
+ {
119
+ ref,
120
+ role: "group",
121
+ className: use_classes_default(PinInput_module_css_default.pin, className),
122
+ ...props,
123
+ style: pinStyle,
124
+ children: Array.from({ length }, (_, index) => {
125
+ var _a;
126
+ return /* @__PURE__ */ jsx(
127
+ "input",
128
+ {
129
+ ref: (node) => {
130
+ boxes.current[index] = node;
131
+ },
132
+ type: mask ? "password" : "text",
133
+ inputMode: numeric ? "numeric" : "text",
134
+ autoComplete: index === 0 ? "one-time-code" : "off",
135
+ "aria-label": boxLabel(index, length),
136
+ "aria-invalid": error || void 0,
137
+ className: PinInput_module_css_default.box,
138
+ value: (_a = value[index]) != null ? _a : "",
139
+ disabled,
140
+ onChange: changeHandler(index),
141
+ onKeyDown: keyDownHandler(index),
142
+ onFocus: focusHandler(index)
143
+ },
144
+ index
145
+ );
146
+ })
147
+ }
148
+ );
149
+ }
150
+ );
151
+ PinInputComponent.displayName = "BolioUIPinInput";
152
+ var PinInput = with_scale_default(PinInputComponent);
153
+ var PinInput_default = PinInput;
154
+
155
+ // core/PinInput/index.ts
156
+ var PinInput_default2 = PinInput_default;
157
+
158
+ export {
159
+ PinInput_default2 as PinInput_default
160
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dropdown_default
3
- } from "./chunk-UVVBMWR4.js";
3
+ } from "./chunk-AG2NWQYL.js";
4
4
  import {
5
5
  use_click_away_default
6
6
  } from "./chunk-DGXZP4VJ.js";
@@ -6,12 +6,13 @@
6
6
  flex-shrink: 0;
7
7
  color: var(--bolio-ui-button-color);
8
8
  z-index: 1;
9
+ font-size: calc(var(--bolio-ui-button-height) / 2.35);
9
10
  }
10
11
 
11
12
  .ButtonIcon-module_icon__faTDy svg {
12
13
  background: transparent;
13
- height: calc(var(--bolio-ui-button-height) / 2.35);
14
- width: calc(var(--bolio-ui-button-height) / 2.35);
14
+ height: 1em;
15
+ width: 1em;
15
16
  }
16
17
 
17
18
  }
@@ -5,6 +5,7 @@
5
5
  overflow: hidden;
6
6
  border: 1px solid var(--btn-group-border);
7
7
  border-radius: var(--btn-group-radius);
8
+ background-clip: padding-box;
8
9
  }
9
10
 
10
11
  .ButtonGroup-module_vertical__ueNfm {
@@ -11,6 +11,11 @@
11
11
  var(--calendar-margin-bottom) var(--calendar-margin-left);
12
12
  }
13
13
 
14
+ .Calendar-module_months__vypnr {
15
+ display: flex;
16
+ gap: 1.5em;
17
+ }
18
+
14
19
  .Calendar-module_header__d6VGN {
15
20
  display: flex;
16
21
  align-items: center;
@@ -18,6 +23,11 @@
18
23
  margin-bottom: 0.5em;
19
24
  }
20
25
 
26
+ .Calendar-module_navSpacer__TcVxJ {
27
+ flex-shrink: 0;
28
+ width: 2.5em;
29
+ }
30
+
21
31
  .Calendar-module_title__r0GX1 {
22
32
  font-weight: 600;
23
33
  text-transform: capitalize;
@@ -47,11 +57,12 @@
47
57
  font: inherit;
48
58
  color: inherit;
49
59
  cursor: pointer;
50
- background: transparent;
60
+ background-color: transparent;
51
61
  border: 1px solid transparent;
52
62
  border-radius: var(--calendar-radius);
53
63
  appearance: none;
54
64
  -webkit-appearance: none;
65
+ background-clip: padding-box;
55
66
  }
56
67
 
57
68
  .Calendar-module_navButton__jmnwu {
@@ -0,0 +1,128 @@
1
+ @layer Carousel {
2
+ .Carousel-module_carousel__Rr2by {
3
+ box-sizing: border-box;
4
+ color: var(--carousel-color);
5
+ }
6
+
7
+ .Carousel-module_viewport__rbEeR {
8
+ position: relative;
9
+ display: flex;
10
+ gap: var(--carousel-gap);
11
+ overflow-x: auto;
12
+ scroll-snap-type: x mandatory;
13
+ scroll-behavior: smooth;
14
+ scrollbar-width: none;
15
+ border-radius: var(--carousel-radius);
16
+ }
17
+
18
+ .Carousel-module_viewport__rbEeR::-webkit-scrollbar {
19
+ display: none;
20
+ }
21
+
22
+ .Carousel-module_viewport__rbEeR:focus-visible {
23
+ outline: 2px solid var(--carousel-focus);
24
+ outline-offset: 2px;
25
+ }
26
+
27
+ @media (prefers-reduced-motion: reduce) {
28
+ .Carousel-module_viewport__rbEeR {
29
+ scroll-behavior: auto;
30
+ }
31
+ }
32
+
33
+ .Carousel-module_slide__xIqxO {
34
+ flex: 0 0
35
+ calc(
36
+ (100% - (var(--carousel-visible) - 1) * var(--carousel-gap)) /
37
+ var(--carousel-visible)
38
+ );
39
+ min-width: 0;
40
+ scroll-snap-align: start;
41
+ }
42
+
43
+ .Carousel-module_footer__ySplI {
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: space-between;
47
+ gap: 0.75em;
48
+ margin-top: 0.75em;
49
+ }
50
+
51
+ .Carousel-module_control__SdAV- {
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ width: 2.25em;
56
+ height: 2.25em;
57
+ margin: 0;
58
+ padding: 0;
59
+ font: inherit;
60
+ color: inherit;
61
+ cursor: pointer;
62
+ background-color: transparent;
63
+ border: 1px solid var(--carousel-border);
64
+ border-radius: 50%;
65
+ appearance: none;
66
+ -webkit-appearance: none;
67
+ background-clip: padding-box;
68
+ }
69
+
70
+ .Carousel-module_control__SdAV-:hover:not(:disabled) {
71
+ background-color: var(--carousel-hover-bg);
72
+ }
73
+
74
+ .Carousel-module_control__SdAV-:focus-visible,
75
+ .Carousel-module_indicator__YSuaU:focus-visible {
76
+ outline: 2px solid var(--carousel-focus);
77
+ outline-offset: 2px;
78
+ }
79
+
80
+ .Carousel-module_control__SdAV-:disabled {
81
+ cursor: not-allowed;
82
+ opacity: 0.4;
83
+ }
84
+
85
+ .Carousel-module_indicators__ZtrIN {
86
+ display: flex;
87
+ flex: 1;
88
+ align-items: center;
89
+ justify-content: center;
90
+ gap: 0.25em;
91
+ }
92
+
93
+ /* the dot is drawn inside a larger button, so it is easy to hit */
94
+ .Carousel-module_indicator__YSuaU {
95
+ position: relative;
96
+ width: 1.5em;
97
+ height: 1.5em;
98
+ margin: 0;
99
+ padding: 0;
100
+ cursor: pointer;
101
+ background-color: transparent;
102
+ border: 0;
103
+ appearance: none;
104
+ -webkit-appearance: none;
105
+ }
106
+
107
+ .Carousel-module_indicator__YSuaU::before {
108
+ position: absolute;
109
+ top: 50%;
110
+ left: 50%;
111
+ width: 0.5em;
112
+ height: 0.5em;
113
+ content: '';
114
+ background-color: var(--carousel-dot);
115
+ border-radius: 50%;
116
+ transform: translate(-50%, -50%);
117
+ transition: background-color 0.2s ease;
118
+ }
119
+
120
+ .Carousel-module_indicator__YSuaU[aria-current] {
121
+ cursor: default;
122
+ }
123
+
124
+ .Carousel-module_indicator__YSuaU[aria-current]::before {
125
+ background-color: var(--carousel-dot-active);
126
+ }
127
+
128
+ }
@@ -1,22 +1,42 @@
1
1
  @layer Collapse {
2
2
  .Collapse-module_view__wymqp {
3
3
  cursor: pointer;
4
- outline: none;
5
4
  }
6
5
 
7
- .Collapse-module_view__wymqp:focus-visible {
8
- outline: 2px solid var(--collapse-focus-color);
9
- outline-offset: 4px;
6
+ .Collapse-module_title__ceZ1h {
7
+ margin: 0;
8
+ font-size: 1em;
10
9
  }
11
10
 
12
- .Collapse-module_title__ceZ1h {
11
+ .Collapse-module_trigger__0Q0YR {
13
12
  display: flex;
14
13
  justify-content: space-between;
15
14
  align-items: center;
15
+ box-sizing: border-box;
16
+ width: 100%;
17
+ margin: 0;
18
+ padding: 0;
19
+ font: inherit;
20
+ text-align: left;
21
+ background: none;
22
+ border: 0;
23
+ outline: none;
24
+ cursor: pointer;
25
+ appearance: none;
26
+ -webkit-appearance: none;
16
27
  }
17
28
 
18
- .Collapse-module_title__ceZ1h h3 {
19
- margin: 0;
29
+ .Collapse-module_trigger__0Q0YR:focus-visible {
30
+ outline: 2px solid var(--collapse-focus-color);
31
+ outline-offset: 4px;
32
+ }
33
+
34
+ .Collapse-module_trigger__0Q0YR:disabled {
35
+ cursor: not-allowed;
36
+ opacity: 0.5;
37
+ }
38
+
39
+ .Collapse-module_label__tdCh3 {
20
40
  font-size: 1.5em;
21
41
  }
22
42
 
@@ -34,11 +54,11 @@
34
54
  }
35
55
 
36
56
  .Collapse-module_content__xZkpG > *:first-child {
37
- margin-top: 0;
57
+ margin-top: 0 !important;
38
58
  }
39
59
 
40
60
  .Collapse-module_content__xZkpG > *:last-child {
41
- margin-bottom: 0;
61
+ margin-bottom: 0 !important;
42
62
  }
43
63
 
44
64
  }
@@ -0,0 +1,97 @@
1
+ @layer ColorInput {
2
+ .ColorInput-module_colorinput__nYel- {
3
+ position: relative;
4
+ display: inline-block;
5
+ box-sizing: border-box;
6
+ width: var(--colorinput-width);
7
+ margin: var(--colorinput-margin);
8
+ font-size: var(--colorinput-font-size);
9
+ }
10
+
11
+ .ColorInput-module_field__JQwJJ {
12
+ display: flex;
13
+ align-items: center;
14
+ gap: 0.625em;
15
+ box-sizing: border-box;
16
+ height: var(--colorinput-height);
17
+ padding: 0 0.875em 0 0.625em;
18
+ color: var(--colorinput-color);
19
+ background-color: var(--colorinput-bg);
20
+ border: 1px solid var(--colorinput-border);
21
+ border-radius: var(--colorinput-radius);
22
+ transition:
23
+ border-color 0.15s ease,
24
+ background-color 0.15s ease;
25
+ background-clip: padding-box;
26
+ }
27
+
28
+ .ColorInput-module_field__JQwJJ:hover {
29
+ border-color: var(--colorinput-hover-border);
30
+ background-color: var(--colorinput-hover-bg);
31
+ }
32
+
33
+ .ColorInput-module_field__JQwJJ:focus-within {
34
+ border-color: var(--colorinput-focus-border);
35
+ }
36
+
37
+ .ColorInput-module_swatch__sLvyf {
38
+ flex-shrink: 0;
39
+ box-sizing: border-box;
40
+ width: 1.5em;
41
+ height: 1.5em;
42
+ margin: 0;
43
+ padding: 0;
44
+ cursor: pointer;
45
+ border: 1px solid var(--colorinput-popup-border);
46
+ border-radius: 6px;
47
+ appearance: none;
48
+ -webkit-appearance: none;
49
+ }
50
+
51
+ .ColorInput-module_swatch__sLvyf:focus-visible {
52
+ outline: 2px solid var(--colorinput-focus-border);
53
+ outline-offset: 2px;
54
+ }
55
+
56
+ .ColorInput-module_swatch__sLvyf:disabled {
57
+ cursor: not-allowed;
58
+ }
59
+
60
+ .ColorInput-module_input__ExawP {
61
+ flex: 1 1 auto;
62
+ box-sizing: border-box;
63
+ width: 7em;
64
+ min-width: 0;
65
+ height: 100%;
66
+ margin: 0;
67
+ padding: 0;
68
+ font: inherit;
69
+ color: inherit;
70
+ background-color: transparent;
71
+ border: 0;
72
+ outline: none;
73
+ text-transform: lowercase;
74
+ }
75
+
76
+ .ColorInput-module_input__ExawP::placeholder {
77
+ color: var(--colorinput-placeholder);
78
+ }
79
+
80
+ .ColorInput-module_input__ExawP:disabled {
81
+ cursor: not-allowed;
82
+ }
83
+
84
+ .ColorInput-module_popup__p91ry {
85
+ position: absolute;
86
+ top: calc(100% + 4px);
87
+ left: 0;
88
+ z-index: 1100;
89
+ padding: 0.75em;
90
+ background-color: var(--colorinput-popup-bg);
91
+ border: 1px solid var(--colorinput-popup-border);
92
+ border-radius: var(--colorinput-popup-radius);
93
+ box-shadow: var(--colorinput-shadow);
94
+ background-clip: padding-box;
95
+ }
96
+
97
+ }
@@ -0,0 +1,186 @@
1
+ @layer ColorPicker {
2
+ .ColorPicker-module_picker__b-U0f {
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 0.75em;
7
+ color: var(--picker-color);
8
+ }
9
+
10
+ .ColorPicker-module_disabled__jM1X3 {
11
+ opacity: 0.6;
12
+ }
13
+
14
+ /* the saturation runs left to right and the brightness bottom to top */
15
+ .ColorPicker-module_panel__kComH {
16
+ position: relative;
17
+ box-sizing: border-box;
18
+ width: 100%;
19
+ height: 10em;
20
+ cursor: crosshair;
21
+ touch-action: none;
22
+ border: 1px solid var(--picker-border);
23
+ border-radius: var(--picker-radius);
24
+ background-image:
25
+ linear-gradient(to top, #000, transparent),
26
+ linear-gradient(to right, #fff, transparent);
27
+ }
28
+
29
+ .ColorPicker-module_disabled__jM1X3 .ColorPicker-module_panel__kComH {
30
+ cursor: not-allowed;
31
+ }
32
+
33
+ .ColorPicker-module_thumb__Vi5yp {
34
+ position: absolute;
35
+ box-sizing: border-box;
36
+ width: 1.25em;
37
+ height: 1.25em;
38
+ margin: -0.625em 0 0 -0.625em;
39
+ border: 2px solid #fff;
40
+ border-radius: 50%;
41
+ box-shadow: 0 0 0 1px rgb(0 0 0 / 40%);
42
+ outline: none;
43
+ }
44
+
45
+ .ColorPicker-module_thumb__Vi5yp:focus-visible {
46
+ box-shadow:
47
+ 0 0 0 1px rgb(0 0 0 / 40%),
48
+ 0 0 0 4px var(--picker-focus);
49
+ }
50
+
51
+ .ColorPicker-module_hue__VKHj- {
52
+ box-sizing: border-box;
53
+ width: 100%;
54
+ height: 0.75em;
55
+ margin: 0;
56
+ cursor: pointer;
57
+ border-radius: 0.375em;
58
+ background: linear-gradient(
59
+ to right,
60
+ #f00,
61
+ #ff0,
62
+ #0f0,
63
+ #0ff,
64
+ #00f,
65
+ #f0f,
66
+ #f00
67
+ );
68
+ appearance: none;
69
+ -webkit-appearance: none;
70
+ }
71
+
72
+ .ColorPicker-module_hue__VKHj-:disabled {
73
+ cursor: not-allowed;
74
+ }
75
+
76
+ .ColorPicker-module_hue__VKHj-::-webkit-slider-thumb {
77
+ width: 1.25em;
78
+ height: 1.25em;
79
+ background-color: transparent;
80
+ border: 2px solid #fff;
81
+ border-radius: 50%;
82
+ box-shadow: 0 0 0 1px rgb(0 0 0 / 40%);
83
+ appearance: none;
84
+ -webkit-appearance: none;
85
+ background-clip: padding-box;
86
+ }
87
+
88
+ .ColorPicker-module_hue__VKHj-::-moz-range-thumb {
89
+ box-sizing: border-box;
90
+ width: 1.25em;
91
+ height: 1.25em;
92
+ background-color: transparent;
93
+ border: 2px solid #fff;
94
+ border-radius: 50%;
95
+ box-shadow: 0 0 0 1px rgb(0 0 0 / 40%);
96
+ background-clip: padding-box;
97
+ }
98
+
99
+ .ColorPicker-module_hue__VKHj-:focus-visible {
100
+ outline: 2px solid var(--picker-focus);
101
+ outline-offset: 4px;
102
+ }
103
+
104
+ .ColorPicker-module_field__v7-7F {
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 0.5em;
108
+ box-sizing: border-box;
109
+ height: 2.25em;
110
+ padding: 0 0.625em;
111
+ border: 1px solid var(--picker-border);
112
+ border-radius: var(--picker-radius);
113
+ background-color: var(--picker-bg);
114
+ transition: border-color 0.15s ease;
115
+ background-clip: padding-box;
116
+ }
117
+
118
+ .ColorPicker-module_field__v7-7F:hover {
119
+ border-color: var(--picker-hover-border);
120
+ }
121
+
122
+ .ColorPicker-module_field__v7-7F:focus-within {
123
+ border-color: var(--picker-focus);
124
+ }
125
+
126
+ .ColorPicker-module_preview__UfBdK {
127
+ flex-shrink: 0;
128
+ width: 1.25em;
129
+ height: 1.25em;
130
+ border: 1px solid var(--picker-border);
131
+ border-radius: 4px;
132
+ }
133
+
134
+ .ColorPicker-module_hex__vQ6zW {
135
+ flex: 1;
136
+ width: 100%;
137
+ min-width: 0;
138
+ margin: 0;
139
+ padding: 0;
140
+ font: inherit;
141
+ color: inherit;
142
+ background-color: transparent;
143
+ border: 0;
144
+ outline: none;
145
+ text-transform: lowercase;
146
+ }
147
+
148
+ .ColorPicker-module_hex__vQ6zW:disabled {
149
+ cursor: not-allowed;
150
+ }
151
+
152
+ .ColorPicker-module_swatches__KJbmR {
153
+ display: flex;
154
+ flex-wrap: wrap;
155
+ gap: 0.5em;
156
+ }
157
+
158
+ .ColorPicker-module_swatch__WCpFz {
159
+ box-sizing: border-box;
160
+ width: 1.5em;
161
+ height: 1.5em;
162
+ margin: 0;
163
+ padding: 0;
164
+ cursor: pointer;
165
+ border: 1px solid var(--picker-border);
166
+ border-radius: 50%;
167
+ appearance: none;
168
+ -webkit-appearance: none;
169
+ }
170
+
171
+ .ColorPicker-module_swatch__WCpFz:disabled {
172
+ cursor: not-allowed;
173
+ }
174
+
175
+ .ColorPicker-module_swatch__WCpFz:focus-visible {
176
+ outline: 2px solid var(--picker-focus);
177
+ outline-offset: 2px;
178
+ }
179
+
180
+ .ColorPicker-module_active__GEQ2Z {
181
+ box-shadow:
182
+ 0 0 0 2px var(--picker-bg),
183
+ 0 0 0 3px var(--picker-swatch-ring);
184
+ }
185
+
186
+ }