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

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 (249) 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/ImageZoom/ImageZoom.d.ts +14 -0
  31. package/dist/ImageZoom/index.d.ts +3 -0
  32. package/dist/ImageZoom/index.js +17 -0
  33. package/dist/Menu/index.js +3 -3
  34. package/dist/Modal/index.js +2 -2
  35. package/dist/PinInput/PinInput.d.ts +25 -0
  36. package/dist/PinInput/index.d.ts +3 -0
  37. package/dist/PinInput/index.js +16 -0
  38. package/dist/SegmentedControl/SegmentedControl.d.ts +16 -0
  39. package/dist/SegmentedControl/SegmentedControlContext.d.ts +10 -0
  40. package/dist/SegmentedControl/SegmentedControlItem.d.ts +13 -0
  41. package/dist/SegmentedControl/index.d.ts +10 -0
  42. package/dist/SegmentedControl/index.js +14 -0
  43. package/dist/Select/SelectDropdown.d.ts +2 -0
  44. package/dist/Select/index.js +6 -6
  45. package/dist/Slider/index.js +3 -3
  46. package/dist/Splitter/Splitter.d.ts +14 -0
  47. package/dist/Splitter/SplitterContext.d.ts +6 -0
  48. package/dist/Splitter/SplitterPanel.d.ts +13 -0
  49. package/dist/Splitter/index.d.ts +9 -0
  50. package/dist/Splitter/index.js +14 -0
  51. package/dist/Table/Table.d.ts +11 -1
  52. package/dist/Table/TableBody.d.ts +8 -2
  53. package/dist/Table/TableColumn.d.ts +2 -0
  54. package/dist/Table/TableHead.d.ts +9 -1
  55. package/dist/Table/TableSelectBox.d.ts +9 -0
  56. package/dist/Table/TableTypes.d.ts +8 -0
  57. package/dist/Table/index.d.ts +1 -1
  58. package/dist/Table/index.js +3 -3
  59. package/dist/TagsInput/TagsInput.d.ts +26 -0
  60. package/dist/TagsInput/index.d.ts +3 -0
  61. package/dist/TagsInput/index.js +17 -0
  62. package/dist/Tour/Tour.d.ts +26 -0
  63. package/dist/Tour/index.d.ts +3 -0
  64. package/dist/Tour/index.js +23 -0
  65. package/dist/Tree/Tree.d.ts +17 -0
  66. package/dist/Tree/TreeContext.d.ts +17 -0
  67. package/dist/Tree/TreeNode.d.ts +8 -0
  68. package/dist/Tree/index.d.ts +3 -0
  69. package/dist/Tree/index.js +14 -0
  70. package/dist/chunk-2A4BSQ66.js +130 -0
  71. package/dist/{chunk-HIFS4JIO.js → chunk-2EYJZXS4.js} +7 -7
  72. package/dist/chunk-3S6G7WGK.js +109 -0
  73. package/dist/chunk-4X4ELIMQ.js +231 -0
  74. package/dist/{chunk-UVVBMWR4.js → chunk-AG2NWQYL.js} +18 -4
  75. package/dist/chunk-BHQRX76X.js +275 -0
  76. package/dist/{chunk-YHZFOVVI.js → chunk-DIMJQLWY.js} +27 -37
  77. package/dist/chunk-FFEAKF3A.js +220 -0
  78. package/dist/{chunk-6BCLZSSK.js → chunk-FL6J36B7.js} +5 -4
  79. package/dist/chunk-G4KB56RO.js +217 -0
  80. package/dist/chunk-IJGIEX5J.js +211 -0
  81. package/dist/chunk-K6UULETP.js +244 -0
  82. package/dist/chunk-MDSRXACM.js +212 -0
  83. package/dist/chunk-OKZRHSSG.js +271 -0
  84. package/dist/{chunk-IBC5BABS.js → chunk-P245HSVB.js} +190 -155
  85. package/dist/chunk-REWKR7S3.js +109 -0
  86. package/dist/chunk-STYC6O24.js +232 -0
  87. package/dist/{chunk-FQU5SKDF.js → chunk-WFGUAR7K.js} +58 -24
  88. package/dist/{chunk-6KMHJRCY.js → chunk-WIIDIZYK.js} +4 -1
  89. package/dist/chunk-X4TPC7HS.js +160 -0
  90. package/dist/{chunk-TKICX5R6.js → chunk-ZNDN2VPZ.js} +225 -33
  91. package/dist/css/Button-ButtonIcon.css +3 -2
  92. package/dist/css/ButtonDropdown-ButtonDropdownItem.css +0 -1
  93. package/dist/css/Calendar.css +11 -1
  94. package/dist/css/Carousel.css +127 -0
  95. package/dist/css/Collapse.css +29 -9
  96. package/dist/css/ColorInput.css +95 -0
  97. package/dist/css/ColorPicker.css +183 -0
  98. package/dist/css/ContextMenu.css +17 -0
  99. package/dist/css/DatePicker.css +1 -1
  100. package/dist/css/DateRangePicker.css +113 -0
  101. package/dist/css/Dropzone.css +160 -0
  102. package/dist/css/ImageZoom.css +93 -0
  103. package/dist/css/Input.css +3 -3
  104. package/dist/css/NumberInput.css +4 -4
  105. package/dist/css/PinInput.css +40 -0
  106. package/dist/css/SegmentedControl-SegmentedControlItem.css +65 -0
  107. package/dist/css/SegmentedControl.css +13 -0
  108. package/dist/css/Select-SelectDropdown.css +4 -2
  109. package/dist/css/Select-SelectMultipleValue.css +1 -0
  110. package/dist/css/Select-SelectOption.css +27 -7
  111. package/dist/css/Select.css +2 -1
  112. package/dist/css/Splitter.css +77 -0
  113. package/dist/css/Table-TableBody.css +10 -0
  114. package/dist/css/Table-TableHead.css +41 -0
  115. package/dist/css/Table-TableSelectBox.css +11 -0
  116. package/dist/css/TagsInput.css +99 -0
  117. package/dist/css/Tour.css +81 -0
  118. package/dist/css/Tree.css +88 -0
  119. package/dist/index.d.ts +27 -1
  120. package/dist/index.js +98 -46
  121. package/dist/styles.css +3902 -2520
  122. package/esm/BolioUIProvider/index.js +2 -2
  123. package/esm/Calendar/Calendar.d.ts +1 -0
  124. package/esm/Calendar/index.js +1 -1
  125. package/esm/Carousel/Carousel.d.ts +21 -0
  126. package/esm/Carousel/index.d.ts +3 -0
  127. package/esm/Carousel/index.js +14 -0
  128. package/esm/Collapse/Collapse.d.ts +3 -0
  129. package/esm/Collapse/index.js +2 -2
  130. package/esm/ColorInput/ColorInput.d.ts +24 -0
  131. package/esm/ColorInput/index.d.ts +3 -0
  132. package/esm/ColorInput/index.js +20 -0
  133. package/esm/ColorPicker/ColorPicker.d.ts +17 -0
  134. package/esm/ColorPicker/color-utils.d.ts +10 -0
  135. package/esm/ColorPicker/index.d.ts +3 -0
  136. package/esm/ColorPicker/index.js +14 -0
  137. package/esm/Command/index.js +4 -4
  138. package/esm/ContextMenu/ContextMenu.d.ts +13 -0
  139. package/esm/ContextMenu/index.d.ts +3 -0
  140. package/esm/ContextMenu/index.js +25 -0
  141. package/esm/CssBaseline/index.js +1 -1
  142. package/esm/DatePicker/index.js +2 -2
  143. package/esm/DateRangePicker/DateRangePicker.d.ts +29 -0
  144. package/esm/DateRangePicker/index.d.ts +3 -0
  145. package/esm/DateRangePicker/index.js +19 -0
  146. package/esm/Drawer/index.js +2 -2
  147. package/esm/Dropzone/Dropzone.d.ts +25 -0
  148. package/esm/Dropzone/DropzoneThumbnail.d.ts +9 -0
  149. package/esm/Dropzone/index.d.ts +3 -0
  150. package/esm/Dropzone/index.js +14 -0
  151. package/esm/ImageZoom/ImageZoom.d.ts +14 -0
  152. package/esm/ImageZoom/index.d.ts +3 -0
  153. package/esm/ImageZoom/index.js +17 -0
  154. package/esm/Menu/index.js +2 -2
  155. package/esm/Modal/index.js +2 -2
  156. package/esm/PinInput/PinInput.d.ts +25 -0
  157. package/esm/PinInput/index.d.ts +3 -0
  158. package/esm/PinInput/index.js +16 -0
  159. package/esm/SegmentedControl/SegmentedControl.d.ts +16 -0
  160. package/esm/SegmentedControl/SegmentedControlContext.d.ts +10 -0
  161. package/esm/SegmentedControl/SegmentedControlItem.d.ts +13 -0
  162. package/esm/SegmentedControl/index.d.ts +10 -0
  163. package/esm/SegmentedControl/index.js +14 -0
  164. package/esm/Select/SelectDropdown.d.ts +2 -0
  165. package/esm/Select/index.js +5 -5
  166. package/esm/Slider/index.js +2 -2
  167. package/esm/Splitter/Splitter.d.ts +14 -0
  168. package/esm/Splitter/SplitterContext.d.ts +6 -0
  169. package/esm/Splitter/SplitterPanel.d.ts +13 -0
  170. package/esm/Splitter/index.d.ts +9 -0
  171. package/esm/Splitter/index.js +14 -0
  172. package/esm/Table/Table.d.ts +11 -1
  173. package/esm/Table/TableBody.d.ts +8 -2
  174. package/esm/Table/TableColumn.d.ts +2 -0
  175. package/esm/Table/TableHead.d.ts +9 -1
  176. package/esm/Table/TableSelectBox.d.ts +9 -0
  177. package/esm/Table/TableTypes.d.ts +8 -0
  178. package/esm/Table/index.d.ts +1 -1
  179. package/esm/Table/index.js +2 -2
  180. package/esm/TagsInput/TagsInput.d.ts +26 -0
  181. package/esm/TagsInput/index.d.ts +3 -0
  182. package/esm/TagsInput/index.js +17 -0
  183. package/esm/Tour/Tour.d.ts +26 -0
  184. package/esm/Tour/index.d.ts +3 -0
  185. package/esm/Tour/index.js +23 -0
  186. package/esm/Tree/Tree.d.ts +17 -0
  187. package/esm/Tree/TreeContext.d.ts +17 -0
  188. package/esm/Tree/TreeNode.d.ts +8 -0
  189. package/esm/Tree/index.d.ts +3 -0
  190. package/esm/Tree/index.js +14 -0
  191. package/esm/chunk-2A4BSQ66.js +130 -0
  192. package/esm/{chunk-HIFS4JIO.js → chunk-2EYJZXS4.js} +4 -4
  193. package/esm/chunk-3S6G7WGK.js +109 -0
  194. package/esm/chunk-4X4ELIMQ.js +231 -0
  195. package/esm/{chunk-UVVBMWR4.js → chunk-AG2NWQYL.js} +18 -4
  196. package/esm/chunk-BHQRX76X.js +275 -0
  197. package/esm/{chunk-YHZFOVVI.js → chunk-DIMJQLWY.js} +27 -37
  198. package/esm/chunk-FFEAKF3A.js +220 -0
  199. package/esm/{chunk-6BCLZSSK.js → chunk-FL6J36B7.js} +4 -3
  200. package/esm/chunk-G4KB56RO.js +217 -0
  201. package/esm/chunk-IJGIEX5J.js +211 -0
  202. package/esm/chunk-K6UULETP.js +244 -0
  203. package/esm/chunk-MDSRXACM.js +212 -0
  204. package/esm/chunk-OKZRHSSG.js +271 -0
  205. package/esm/chunk-P245HSVB.js +450 -0
  206. package/esm/chunk-REWKR7S3.js +109 -0
  207. package/esm/chunk-STYC6O24.js +232 -0
  208. package/esm/{chunk-FQU5SKDF.js → chunk-WFGUAR7K.js} +60 -26
  209. package/esm/{chunk-6KMHJRCY.js → chunk-WIIDIZYK.js} +4 -1
  210. package/esm/chunk-X4TPC7HS.js +160 -0
  211. package/esm/chunk-ZNDN2VPZ.js +543 -0
  212. package/esm/css/Button-ButtonIcon.css +3 -2
  213. package/esm/css/ButtonDropdown-ButtonDropdownItem.css +0 -1
  214. package/esm/css/Calendar.css +11 -1
  215. package/esm/css/Carousel.css +127 -0
  216. package/esm/css/Collapse.css +29 -9
  217. package/esm/css/ColorInput.css +95 -0
  218. package/esm/css/ColorPicker.css +183 -0
  219. package/esm/css/ContextMenu.css +17 -0
  220. package/esm/css/DatePicker.css +1 -1
  221. package/esm/css/DateRangePicker.css +113 -0
  222. package/esm/css/Dropzone.css +160 -0
  223. package/esm/css/ImageZoom.css +93 -0
  224. package/esm/css/Input.css +3 -3
  225. package/esm/css/NumberInput.css +4 -4
  226. package/esm/css/PinInput.css +40 -0
  227. package/esm/css/SegmentedControl-SegmentedControlItem.css +65 -0
  228. package/esm/css/SegmentedControl.css +13 -0
  229. package/esm/css/Select-SelectDropdown.css +4 -2
  230. package/esm/css/Select-SelectMultipleValue.css +1 -0
  231. package/esm/css/Select-SelectOption.css +27 -7
  232. package/esm/css/Select.css +2 -1
  233. package/esm/css/Splitter.css +77 -0
  234. package/esm/css/Table-TableBody.css +10 -0
  235. package/esm/css/Table-TableHead.css +41 -0
  236. package/esm/css/Table-TableSelectBox.css +11 -0
  237. package/esm/css/TagsInput.css +99 -0
  238. package/esm/css/Tour.css +81 -0
  239. package/esm/css/Tree.css +88 -0
  240. package/esm/index.d.ts +27 -1
  241. package/esm/index.js +115 -63
  242. package/esm/styles.css +3564 -2182
  243. package/package.json +3 -3
  244. package/esm/chunk-IBC5BABS.js +0 -415
  245. package/esm/chunk-TKICX5R6.js +0 -351
  246. package/dist/{chunk-2PRUFY2Q.js → chunk-4ZGR7UMX.js} +2 -2
  247. package/dist/{chunk-FLK7EAOE.js → chunk-IUZV5Y27.js} +2 -2
  248. package/esm/{chunk-2PRUFY2Q.js → chunk-4ZGR7UMX.js} +3 -3
  249. package/esm/{chunk-FLK7EAOE.js → chunk-IUZV5Y27.js} +3 -3
@@ -1,15 +1,15 @@
1
- import {
2
- dropdown_default
3
- } from "./chunk-UVVBMWR4.js";
4
1
  import {
5
2
  Grid_default
6
3
  } from "./chunk-JFNYQSEZ.js";
7
4
  import {
8
- log_warning_default
9
- } from "./chunk-AXYDJGTN.js";
5
+ dropdown_default
6
+ } from "./chunk-AG2NWQYL.js";
10
7
  import {
11
8
  getColors
12
9
  } from "./chunk-KBZEYKCZ.js";
10
+ import {
11
+ log_warning_default
12
+ } from "./chunk-AXYDJGTN.js";
13
13
  import {
14
14
  use_current_state_default
15
15
  } from "./chunk-33BUV2RX.js";
@@ -85,6 +85,7 @@ import { jsx as jsx2 } from "react/jsx-runtime";
85
85
  var SelectDropdown = React3.forwardRef(
86
86
  ({
87
87
  visible,
88
+ colors,
88
89
  children,
89
90
  className = "",
90
91
  dropdownStyle = {},
@@ -113,8 +114,10 @@ var SelectDropdown = React3.forwardRef(
113
114
  className: classes,
114
115
  style: {
115
116
  "--select-dropdown-radius": theme.layout.radius,
116
- "--select-dropdown-shadow": theme.expressiveness.shadowLarge,
117
- "--select-dropdown-bg": theme.palette.accents_2,
117
+ "--select-dropdown-shadow": theme.expressiveness.shadowMedium,
118
+ "--select-dropdown-bg": colors.bgColor,
119
+ "--select-dropdown-border": colors.borderColor,
120
+ "--select-dropdown-color": colors.color,
118
121
  ...dropdownStyle
119
122
  },
120
123
  children
@@ -431,7 +434,7 @@ var SelectComponent = React7.forwardRef(
431
434
  "--select-padding-top": SCALES.pt(0),
432
435
  "--select-padding-right": SCALES.pr(0.334),
433
436
  "--select-padding-bottom": SCALES.pb(0),
434
- "--select-padding-left": SCALES.pl(0.667),
437
+ "--select-padding-left": SCALES.pl(0.875),
435
438
  "--select-margin-top": SCALES.mt(0),
436
439
  "--select-margin-right": SCALES.mr(0),
437
440
  "--select-margin-bottom": SCALES.mb(0),
@@ -443,7 +446,7 @@ var SelectComponent = React7.forwardRef(
443
446
  "--select-placeholder-color": colors.placeholderColor,
444
447
  "--select-icon-color": colors.iconColor,
445
448
  "--select-color": colors.color,
446
- "--select-placeholder-font-size": SCALES.font(0.775),
449
+ "--select-placeholder-font-size": SCALES.font(0.875),
447
450
  "--select-icon-right": theme.layout.gapQuarter,
448
451
  "--select-icon-rotate": visible ? "180deg" : "0deg",
449
452
  ...style
@@ -477,6 +480,7 @@ var SelectComponent = React7.forwardRef(
477
480
  {
478
481
  ref: dropdownRef,
479
482
  visible,
483
+ colors,
480
484
  className: dropdownClassName,
481
485
  dropdownStyle,
482
486
  disableMatchWidth,
@@ -498,7 +502,7 @@ var Select_default = Select;
498
502
  import { useMemo as useMemo2 } from "react";
499
503
 
500
504
  // css-module-source:/Users/brunnoandrade/Desktop/BolioUI/bolio-ui/core/Select/SelectOption.module.css.bolio-css-module-source
501
- var SelectOption_module_css_default = { "option": "SelectOption-module_option__NAlFp", "divider": "SelectOption-module_divider__mmqJj", "label": "SelectOption-module_label__NtVM7" };
505
+ var SelectOption_module_css_default = { "option": "SelectOption-module_option__NAlFp", "label": "SelectOption-module_label__NtVM7", "divider": "SelectOption-module_divider__mmqJj", "disabled": "SelectOption-module_disabled__cDMWS", "selected": "SelectOption-module_selected__HOwTO" };
502
506
 
503
507
  // core/Select/SelectOption.tsx
504
508
  import { jsx as jsx8 } from "react/jsx-runtime";
@@ -513,7 +517,6 @@ function SelectOptionComponent({
513
517
  style,
514
518
  ...props
515
519
  }) {
516
- const theme = use_theme_default();
517
520
  const { SCALES } = use_scale_default();
518
521
  const { updateValue, value, disableAll } = useSelectContext();
519
522
  const isDisabled = useMemo2(
@@ -521,11 +524,6 @@ function SelectOptionComponent({
521
524
  [disabled, disableAll]
522
525
  );
523
526
  const isLabel = useMemo2(() => label || divider, [label, divider]);
524
- const classes = use_classes_default(
525
- SelectOption_module_css_default.option,
526
- { [SelectOption_module_css_default.divider]: divider, [SelectOption_module_css_default.label]: label },
527
- className
528
- );
529
527
  if (!isLabel && identValue === void 0) {
530
528
  log_warning_default('The props "value" is required.', "Select Option");
531
529
  }
@@ -536,18 +534,16 @@ function SelectOptionComponent({
536
534
  }
537
535
  return value.includes(`${identValue}`);
538
536
  }, [identValue, value]);
539
- const bgColor = useMemo2(() => {
540
- if (isDisabled) return theme.palette.accents_3;
541
- return selected ? theme.palette.accents_3 : theme.palette.accents_2;
542
- }, [selected, isDisabled, theme.palette]);
543
- const hoverBgColor = useMemo2(() => {
544
- if (isDisabled || isLabel || selected) return bgColor;
545
- return theme.palette.accents_1;
546
- }, [selected, isDisabled, theme.palette, isLabel, bgColor]);
547
- const color = useMemo2(() => {
548
- if (isDisabled) return theme.palette.accents_4;
549
- return selected ? theme.palette.foreground : theme.palette.accents_5;
550
- }, [selected, isDisabled, theme.palette]);
537
+ const classes = use_classes_default(
538
+ SelectOption_module_css_default.option,
539
+ {
540
+ [SelectOption_module_css_default.divider]: divider,
541
+ [SelectOption_module_css_default.label]: label,
542
+ [SelectOption_module_css_default.selected]: selected,
543
+ [SelectOption_module_css_default.disabled]: isDisabled
544
+ },
545
+ className
546
+ );
551
547
  const clickHandler = (event) => {
552
548
  if (preventAllEvents) return;
553
549
  event.stopPropagation();
@@ -557,23 +553,18 @@ function SelectOptionComponent({
557
553
  if (updateValue) updateValue(identValue);
558
554
  };
559
555
  const optionStyle = {
560
- "--select-option-bg": bgColor,
561
- "--select-option-color": color,
562
556
  "--select-option-cursor": isDisabled ? "not-allowed" : "pointer",
563
- "--select-font-size": SCALES.font(0.75),
557
+ "--select-font-size": SCALES.font(0.875),
564
558
  "--select-option-width": SCALES.width(1, "100%"),
565
559
  "--select-option-height": SCALES.height(2.25),
566
560
  "--select-option-padding-top": SCALES.pt(0),
567
- "--select-option-padding-right": SCALES.pr(0.667),
561
+ "--select-option-padding-right": SCALES.pr(0.75),
568
562
  "--select-option-padding-bottom": SCALES.pb(0),
569
- "--select-option-padding-left": SCALES.pl(0.667),
563
+ "--select-option-padding-left": SCALES.pl(0.75),
570
564
  "--select-option-margin-top": SCALES.mt(0),
571
565
  "--select-option-margin-right": SCALES.mr(0),
572
566
  "--select-option-margin-bottom": SCALES.mb(0),
573
567
  "--select-option-margin-left": SCALES.ml(0),
574
- "--select-option-hover-bg": hoverBgColor,
575
- "--select-option-hover-color": theme.palette.accents_7,
576
- "--select-option-divider-border": theme.palette.accents_3,
577
568
  "--select-option-divider-height": SCALES.height(1, 0),
578
569
  "--select-option-divider-padding-top": SCALES.pt(0),
579
570
  "--select-option-divider-padding-right": SCALES.pr(0),
@@ -583,7 +574,6 @@ function SelectOptionComponent({
583
574
  "--select-option-divider-margin-right": SCALES.mr(0),
584
575
  "--select-option-divider-margin-bottom": SCALES.mb(0.5),
585
576
  "--select-option-divider-margin-left": SCALES.ml(0),
586
- "--select-option-label-color": theme.palette.accents_7,
587
577
  "--select-option-label-font-size": SCALES.font(0.875),
588
578
  ...style
589
579
  };
@@ -0,0 +1,220 @@
1
+ import {
2
+ use_scale_default,
3
+ with_scale_default
4
+ } from "./chunk-MAICNLTY.js";
5
+ import {
6
+ use_theme_default
7
+ } from "./chunk-V5I4ORQQ.js";
8
+ import {
9
+ joinClasses,
10
+ use_classes_default
11
+ } from "./chunk-5KUROAEP.js";
12
+
13
+ // core/Splitter/Splitter.tsx
14
+ import React2, { useId, useRef, useState } from "react";
15
+
16
+ // core/Splitter/SplitterContext.ts
17
+ import React from "react";
18
+ var SplitterPanelContext = React.createContext(null);
19
+
20
+ // css-module-source:/Users/brunnoandrade/Desktop/BolioUI/bolio-ui/core/Splitter/Splitter.module.css.bolio-css-module-source
21
+ var Splitter_module_css_default = { "splitter": "Splitter-module_splitter__ZxGeO", "horizontal": "Splitter-module_horizontal__1LuP6", "vertical": "Splitter-module_vertical__APNTT", "panel": "Splitter-module_panel__UyXwt", "handle": "Splitter-module_handle__zkBUq" };
22
+
23
+ // core/Splitter/Splitter.tsx
24
+ import { jsx, jsxs } from "react/jsx-runtime";
25
+ var initialSizes = (panels) => {
26
+ const given = panels.map((panel) => panel.props.defaultSize);
27
+ const used = given.reduce((sum, size) => sum + (size != null ? size : 0), 0);
28
+ const open = given.filter((size) => size === void 0).length;
29
+ return given.map(
30
+ (size) => size === void 0 ? Math.max(0, 100 - used) / open : size
31
+ );
32
+ };
33
+ var SplitterComponent = React2.forwardRef(
34
+ ({
35
+ direction = "horizontal",
36
+ onResize,
37
+ handleLabel = "Resize",
38
+ className = "",
39
+ children,
40
+ style,
41
+ ...props
42
+ }, ref) => {
43
+ const theme = use_theme_default();
44
+ const { SCALES } = use_scale_default();
45
+ const baseId = useId();
46
+ const panels = React2.Children.toArray(children).filter(
47
+ React2.isValidElement
48
+ );
49
+ const horizontal = direction === "horizontal";
50
+ const [sizes, setSizes] = useState(() => initialSizes(panels));
51
+ if (sizes.length !== panels.length) setSizes(initialSizes(panels));
52
+ const elements = useRef([]);
53
+ const drag = useRef(void 0);
54
+ const minOf = (index) => {
55
+ var _a;
56
+ return (_a = panels[index].props.minSize) != null ? _a : 0;
57
+ };
58
+ const maxOf = (index) => {
59
+ var _a;
60
+ return (_a = panels[index].props.maxSize) != null ? _a : 100;
61
+ };
62
+ const move = (index, delta, from) => {
63
+ const [a, b] = [from[index], from[index + 1]];
64
+ const low = Math.max(minOf(index) - a, b - maxOf(index + 1));
65
+ const high = Math.min(maxOf(index) - a, b - minOf(index + 1));
66
+ const applied = Math.min(Math.max(delta, low), high);
67
+ if (!applied && sizes[index] === a) return;
68
+ const next = [...from];
69
+ next[index] = a + applied;
70
+ next[index + 1] = b - applied;
71
+ setSizes(next);
72
+ if (onResize) onResize(next);
73
+ };
74
+ const pointerDown = (event) => {
75
+ var _a, _b;
76
+ (_b = (_a = event.currentTarget).setPointerCapture) == null ? void 0 : _b.call(_a, event.pointerId);
77
+ const room = elements.current.reduce((sum, element) => {
78
+ const rect = element == null ? void 0 : element.getBoundingClientRect();
79
+ return sum + (rect ? horizontal ? rect.width : rect.height : 0);
80
+ }, 0);
81
+ drag.current = {
82
+ from: horizontal ? event.clientX : event.clientY,
83
+ sizes: [...sizes],
84
+ room
85
+ };
86
+ };
87
+ const pointerMove = (event, index) => {
88
+ var _a, _b;
89
+ const start = drag.current;
90
+ if (!start || !start.room) return;
91
+ if (!((_b = (_a = event.currentTarget).hasPointerCapture) == null ? void 0 : _b.call(_a, event.pointerId))) return;
92
+ const travelled = (horizontal ? event.clientX : event.clientY) - start.from;
93
+ move(index, travelled / start.room * 100, start.sizes);
94
+ };
95
+ const keyDown = (event, index) => {
96
+ const step = event.shiftKey ? 10 : 1;
97
+ const [less, more] = horizontal ? ["ArrowLeft", "ArrowRight"] : ["ArrowUp", "ArrowDown"];
98
+ const deltas = {
99
+ [less]: -step,
100
+ [more]: step,
101
+ Home: -100,
102
+ End: 100
103
+ };
104
+ if (!(event.key in deltas)) return;
105
+ event.preventDefault();
106
+ move(index, deltas[event.key], sizes);
107
+ };
108
+ const template = sizes.map((size) => `minmax(0, ${size}fr)`).join(" auto ");
109
+ const splitterStyle = {
110
+ "--splitter-template": template,
111
+ width: SCALES.width(1, "100%"),
112
+ height: SCALES.height(1, "100%"),
113
+ margin: `${SCALES.mt(0)} ${SCALES.mr(0)} ${SCALES.mb(0)} ${SCALES.ml(0)}`,
114
+ "--splitter-line": theme.palette.border,
115
+ "--splitter-active": theme.palette.primary,
116
+ ...style
117
+ };
118
+ return /* @__PURE__ */ jsx(
119
+ "div",
120
+ {
121
+ ref,
122
+ className: use_classes_default(Splitter_module_css_default.splitter, className, {
123
+ [Splitter_module_css_default.horizontal]: horizontal,
124
+ [Splitter_module_css_default.vertical]: !horizontal
125
+ }),
126
+ ...props,
127
+ style: splitterStyle,
128
+ children: panels.map((panel, index) => {
129
+ var _a;
130
+ const [a, b] = [sizes[index], sizes[index + 1]];
131
+ return /* @__PURE__ */ jsxs(React2.Fragment, { children: [
132
+ /* @__PURE__ */ jsx(
133
+ SplitterPanelContext.Provider,
134
+ {
135
+ value: {
136
+ id: `${baseId}-panel-${index}`,
137
+ setElement: (element) => {
138
+ elements.current[index] = element;
139
+ }
140
+ },
141
+ children: panel
142
+ }
143
+ ),
144
+ index < panels.length - 1 && /* @__PURE__ */ jsx(
145
+ "div",
146
+ {
147
+ role: "separator",
148
+ tabIndex: 0,
149
+ "aria-label": handleLabel,
150
+ "aria-orientation": horizontal ? "vertical" : "horizontal",
151
+ "aria-controls": `${baseId}-panel-${index}`,
152
+ "aria-valuenow": Math.round(a),
153
+ "aria-valuemin": Math.round(
154
+ Math.max(minOf(index), a + b - maxOf(index + 1))
155
+ ),
156
+ "aria-valuemax": Math.round(
157
+ Math.min(maxOf(index), a + b - minOf(index + 1))
158
+ ),
159
+ className: joinClasses(Splitter_module_css_default.handle),
160
+ onPointerDown: pointerDown,
161
+ onPointerMove: (event) => pointerMove(event, index),
162
+ onPointerUp: () => drag.current = void 0,
163
+ onPointerCancel: () => drag.current = void 0,
164
+ onKeyDown: (event) => keyDown(event, index)
165
+ }
166
+ )
167
+ ] }, (_a = panel.key) != null ? _a : index);
168
+ })
169
+ }
170
+ );
171
+ }
172
+ );
173
+ SplitterComponent.displayName = "BolioUISplitter";
174
+ var Splitter = with_scale_default(SplitterComponent);
175
+ var Splitter_default = Splitter;
176
+
177
+ // core/Splitter/SplitterPanel.tsx
178
+ import React3, { useContext } from "react";
179
+ import { jsx as jsx2 } from "react/jsx-runtime";
180
+ var SplitterPanel = React3.forwardRef(
181
+ ({
182
+ // read by the Splitter
183
+ /* eslint-disable @typescript-eslint/no-unused-vars */
184
+ defaultSize,
185
+ minSize,
186
+ maxSize,
187
+ /* eslint-enable @typescript-eslint/no-unused-vars */
188
+ className = "",
189
+ children,
190
+ style,
191
+ ...props
192
+ }, ref) => {
193
+ const config = useContext(SplitterPanelContext);
194
+ return /* @__PURE__ */ jsx2(
195
+ "div",
196
+ {
197
+ ref: (element) => {
198
+ config == null ? void 0 : config.setElement(element);
199
+ if (typeof ref === "function") ref(element);
200
+ else if (ref) ref.current = element;
201
+ },
202
+ id: config == null ? void 0 : config.id,
203
+ className: use_classes_default(Splitter_module_css_default.panel, className),
204
+ ...props,
205
+ style,
206
+ children
207
+ }
208
+ );
209
+ }
210
+ );
211
+ SplitterPanel.displayName = "BolioUISplitterPanel";
212
+ var SplitterPanel_default = SplitterPanel;
213
+
214
+ // core/Splitter/index.ts
215
+ Splitter_default.Panel = SplitterPanel_default;
216
+ var Splitter_default2 = Splitter_default;
217
+
218
+ export {
219
+ Splitter_default2 as Splitter_default
220
+ };
@@ -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";
@@ -64,10 +64,11 @@ var MenuList = ({
64
64
  };
65
65
  useEffect(() => {
66
66
  var _a, _b;
67
- if (focus === "list") return (_a = listRef.current) == null ? void 0 : _a.focus();
67
+ const options = { preventScroll: true };
68
+ if (focus === "list") return (_a = listRef.current) == null ? void 0 : _a.focus(options);
68
69
  const items = getItems();
69
70
  const target = focus === "first" ? items[0] : items[items.length - 1];
70
- (_b = target != null ? target : listRef.current) == null ? void 0 : _b.focus();
71
+ (_b = target != null ? target : listRef.current) == null ? void 0 : _b.focus(options);
71
72
  }, []);
72
73
  const typeahead = (key, items, index) => {
73
74
  const now = Date.now();
@@ -0,0 +1,217 @@
1
+ import {
2
+ InputBlockLabel_default
3
+ } from "./chunk-UOGCO6CV.js";
4
+ import {
5
+ getColors
6
+ } from "./chunk-KBZEYKCZ.js";
7
+ import {
8
+ use_scale_default,
9
+ with_scale_default
10
+ } from "./chunk-MAICNLTY.js";
11
+ import {
12
+ use_theme_default
13
+ } from "./chunk-V5I4ORQQ.js";
14
+ import {
15
+ use_classes_default
16
+ } from "./chunk-5KUROAEP.js";
17
+
18
+ // core/TagsInput/TagsInput.tsx
19
+ import React, { useId, useState } from "react";
20
+
21
+ // css-module-source:/Users/brunnoandrade/Desktop/BolioUI/bolio-ui/core/TagsInput/TagsInput.module.css.bolio-css-module-source
22
+ var TagsInput_module_css_default = { "withLabel": "TagsInput-module_withLabel__-n8Kq", "field": "TagsInput-module_field__ieR7N", "disabled": "TagsInput-module_disabled__cCN-w", "tag": "TagsInput-module_tag__dhER4", "remove": "TagsInput-module_remove__oullb", "input": "TagsInput-module_input__RFYNn" };
23
+
24
+ // core/TagsInput/TagsInput.tsx
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ var noTags = [];
27
+ var TagsInputComponent = React.forwardRef(
28
+ ({
29
+ value: customValue,
30
+ initialValue = noTags,
31
+ onChange,
32
+ max,
33
+ allowDuplicates = false,
34
+ type = "default",
35
+ rounded = false,
36
+ filled = false,
37
+ light = false,
38
+ ghost = false,
39
+ subtle = false,
40
+ disabled = false,
41
+ readOnly = false,
42
+ error = false,
43
+ errorMessage,
44
+ className = "",
45
+ children,
46
+ style,
47
+ onKeyDown,
48
+ onBlur,
49
+ ...props
50
+ }, ref) => {
51
+ const theme = use_theme_default();
52
+ const { SCALES } = use_scale_default();
53
+ const generatedId = useId();
54
+ const inputId = props.id || generatedId;
55
+ const errorId = `${inputId}-error`;
56
+ const describedBy = [props["aria-describedby"], error && errorMessage ? errorId : void 0].filter(Boolean).join(" ") || void 0;
57
+ const colors = getColors(theme.palette, type, disabled, {
58
+ filled,
59
+ light,
60
+ ghost,
61
+ subtle
62
+ });
63
+ const isControlled = customValue !== void 0;
64
+ const [selfValue, setSelfValue] = useState(initialValue);
65
+ const tags = isControlled ? customValue : selfValue;
66
+ const [text, setText] = useState("");
67
+ const locked = disabled || readOnly;
68
+ const commit = (next) => {
69
+ if (!isControlled) setSelfValue(next);
70
+ onChange == null ? void 0 : onChange(next);
71
+ };
72
+ const add = (entries) => {
73
+ const next = [...tags];
74
+ entries.map((entry) => entry.trim()).filter(Boolean).forEach((entry) => {
75
+ if (max !== void 0 && next.length >= max) return;
76
+ if (!allowDuplicates && next.includes(entry)) return;
77
+ next.push(entry);
78
+ });
79
+ if (next.length !== tags.length) commit(next);
80
+ };
81
+ const remove = (index) => {
82
+ if (locked) return;
83
+ commit(tags.filter((_, i) => i !== index));
84
+ };
85
+ const changeHandler = (event) => {
86
+ const parts = event.target.value.split(",");
87
+ if (parts.length === 1) return setText(parts[0]);
88
+ add(parts.slice(0, -1));
89
+ setText(parts[parts.length - 1]);
90
+ };
91
+ const keyDownHandler = (event) => {
92
+ onKeyDown == null ? void 0 : onKeyDown(event);
93
+ if (event.defaultPrevented || locked) return;
94
+ if (event.key === "Enter" && text.trim()) {
95
+ event.preventDefault();
96
+ add([text]);
97
+ setText("");
98
+ } else if (event.key === "Backspace" && !text && tags.length) {
99
+ remove(tags.length - 1);
100
+ }
101
+ };
102
+ const blurHandler = (event) => {
103
+ onBlur == null ? void 0 : onBlur(event);
104
+ if (locked || !text) return;
105
+ add([text]);
106
+ setText("");
107
+ };
108
+ const rootStyle = {
109
+ "--input-height": SCALES.height(2.25),
110
+ fontSize: SCALES.font(0.875),
111
+ width: SCALES.width(1, "100%"),
112
+ margin: `${SCALES.mt(0)} ${SCALES.mr(0)} ${SCALES.mb(0)} ${SCALES.ml(0)}`,
113
+ ...style
114
+ };
115
+ const fieldStyle = {
116
+ "--input-border": colors.borderColor,
117
+ "--input-radius": rounded ? "25px" : theme.layout.radius,
118
+ "--input-bg": colors.bgColor,
119
+ "--input-hover-border": colors.hoverBorder,
120
+ "--input-hover-bg": colors.hoverBgColor,
121
+ "--input-focus-border": colors.focusBorder,
122
+ "--input-placeholder-color": colors.placeholderColor,
123
+ "--input-color": colors.color,
124
+ "--tag-bg": theme.palette.accents_2,
125
+ "--tag-color": disabled ? theme.palette.accents_4 : theme.palette.foreground,
126
+ "--tag-remove-color": colors.iconColor,
127
+ "--tag-remove-hover-color": colors.color
128
+ };
129
+ return /* @__PURE__ */ jsxs(
130
+ "div",
131
+ {
132
+ className: use_classes_default(TagsInput_module_css_default.withLabel, className),
133
+ style: rootStyle,
134
+ children: [
135
+ children && /* @__PURE__ */ jsx(InputBlockLabel_default, { htmlFor: inputId, children }),
136
+ /* @__PURE__ */ jsxs(
137
+ "div",
138
+ {
139
+ className: use_classes_default(TagsInput_module_css_default.field, {
140
+ [TagsInput_module_css_default.disabled]: disabled
141
+ }),
142
+ style: fieldStyle,
143
+ onClick: (event) => {
144
+ var _a;
145
+ return (_a = event.currentTarget.querySelector("input")) == null ? void 0 : _a.focus();
146
+ },
147
+ children: [
148
+ tags.map((tag, index) => /* @__PURE__ */ jsxs("span", { className: TagsInput_module_css_default.tag, children: [
149
+ tag,
150
+ /* @__PURE__ */ jsx(
151
+ "button",
152
+ {
153
+ type: "button",
154
+ className: TagsInput_module_css_default.remove,
155
+ "aria-label": `Remove ${tag}`,
156
+ disabled: locked,
157
+ onClick: () => remove(index),
158
+ children: /* @__PURE__ */ jsx(
159
+ "svg",
160
+ {
161
+ viewBox: "0 0 24 24",
162
+ width: "1em",
163
+ height: "1em",
164
+ "aria-hidden": "true",
165
+ children: /* @__PURE__ */ jsx(
166
+ "path",
167
+ {
168
+ d: "M6 6l12 12M18 6L6 18",
169
+ fill: "none",
170
+ stroke: "currentColor",
171
+ strokeWidth: "2",
172
+ strokeLinecap: "round"
173
+ }
174
+ )
175
+ }
176
+ )
177
+ }
178
+ )
179
+ ] }, `${tag}-${index}`)),
180
+ /* @__PURE__ */ jsx(
181
+ "input",
182
+ {
183
+ ref,
184
+ type: "text",
185
+ autoComplete: "off",
186
+ value: text,
187
+ disabled,
188
+ readOnly,
189
+ onChange: changeHandler,
190
+ onKeyDown: keyDownHandler,
191
+ onBlur: blurHandler,
192
+ ...props,
193
+ id: inputId,
194
+ "aria-invalid": error || void 0,
195
+ "aria-describedby": describedBy,
196
+ className: TagsInput_module_css_default.input
197
+ }
198
+ )
199
+ ]
200
+ }
201
+ ),
202
+ error && /* @__PURE__ */ jsx(InputBlockLabel_default, { error, id: errorId, children: errorMessage })
203
+ ]
204
+ }
205
+ );
206
+ }
207
+ );
208
+ TagsInputComponent.displayName = "BolioUITagsInput";
209
+ var TagsInput = with_scale_default(TagsInputComponent);
210
+ var TagsInput_default = TagsInput;
211
+
212
+ // core/TagsInput/index.ts
213
+ var TagsInput_default2 = TagsInput_default;
214
+
215
+ export {
216
+ TagsInput_default2 as TagsInput_default
217
+ };