@janbox/storefront-ui 1.0.0 → 1.0.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 (238) hide show
  1. package/dist/hooks/index.d.ts +2 -0
  2. package/dist/hooks/index.d.ts.map +1 -1
  3. package/dist/hooks/index.js +4 -0
  4. package/dist/hooks/use-controllable-state.js +2 -2
  5. package/dist/hooks/use-countdown-timer.js +1 -1
  6. package/dist/hooks/use-first-mount-state/index.d.ts +2 -0
  7. package/dist/hooks/use-first-mount-state/index.d.ts.map +1 -0
  8. package/dist/hooks/use-first-mount-state/index.js +12 -0
  9. package/dist/hooks/use-update-effect/index.d.ts +3 -0
  10. package/dist/hooks/use-update-effect/index.d.ts.map +1 -0
  11. package/dist/hooks/use-update-effect/index.js +13 -0
  12. package/dist/lib/accordion/accordion/accordion.d.ts +2 -1
  13. package/dist/lib/accordion/accordion/accordion.d.ts.map +1 -1
  14. package/dist/lib/accordion/accordion/accordion.js +15 -6
  15. package/dist/lib/accordion/accordion/types.d.ts +2 -2
  16. package/dist/lib/accordion/accordion/types.d.ts.map +1 -1
  17. package/dist/lib/date-picker/date-picker.d.ts.map +1 -1
  18. package/dist/lib/date-picker/date-picker.js +1 -2
  19. package/dist/lib/input-range/index.d.ts +1 -0
  20. package/dist/lib/input-range/index.d.ts.map +1 -1
  21. package/dist/lib/input-range/types.d.ts +3 -4
  22. package/dist/lib/input-range/types.d.ts.map +1 -1
  23. package/dist/node_modules/.pnpm/react-use@17.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use/esm/misc/isDeepEqual.js +5 -0
  24. package/dist/node_modules/.pnpm/react-use@17.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use/esm/useCustomCompareEffect.js +25 -0
  25. package/dist/node_modules/.pnpm/react-use@17.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use/esm/useDeepCompareEffect.js +19 -0
  26. package/dist/node_modules/.pnpm/react-use@17.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use/esm/useFirstMountState.js +12 -0
  27. package/dist/node_modules/.pnpm/react-use@17.6.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-use/esm/useUpdateEffect.js +13 -0
  28. package/dist/style.css +579 -0
  29. package/package.json +1 -14
  30. package/dist/HOCs/index.cjs +0 -4
  31. package/dist/HOCs/with-query-fallback.cjs +0 -16
  32. package/dist/assets/json/countries.json.cjs +0 -1159
  33. package/dist/assets/svg/arrow-down.svg.cjs +0 -3
  34. package/dist/assets/svg/arrow-forward.svg.cjs +0 -3
  35. package/dist/assets/svg/arrow-left.svg.cjs +0 -3
  36. package/dist/assets/svg/arrow-right.svg.cjs +0 -3
  37. package/dist/assets/svg/calendar.svg.cjs +0 -3
  38. package/dist/assets/svg/check.svg.cjs +0 -3
  39. package/dist/assets/svg/clock-time.svg.cjs +0 -3
  40. package/dist/assets/svg/done-check.svg.cjs +0 -3
  41. package/dist/assets/svg/earth-home-world.svg.cjs +0 -3
  42. package/dist/assets/svg/eye-hidden.svg.cjs +0 -3
  43. package/dist/assets/svg/eye-show-visible.svg.cjs +0 -3
  44. package/dist/assets/svg/image-placeholder.svg.cjs +0 -3
  45. package/dist/assets/svg/loading-waiting.svg.cjs +0 -3
  46. package/dist/assets/svg/long-arrow-right.svg.cjs +0 -3
  47. package/dist/assets/svg/minus.svg.cjs +0 -3
  48. package/dist/assets/svg/plus.svg.cjs +0 -3
  49. package/dist/assets/svg/search-add-plus-middle.svg.cjs +0 -3
  50. package/dist/assets/svg/search-minus.svg.cjs +0 -3
  51. package/dist/assets/svg/times-close-delete.svg.cjs +0 -3
  52. package/dist/components/index.cjs +0 -8
  53. package/dist/components/scroll-view.cjs +0 -19
  54. package/dist/components/svg-loader.cjs +0 -14
  55. package/dist/components/virtualized-list.cjs +0 -43
  56. package/dist/constants/index.cjs +0 -32
  57. package/dist/hooks/index.cjs +0 -14
  58. package/dist/hooks/use-controllable-state.cjs +0 -39
  59. package/dist/hooks/use-countdown-timer.cjs +0 -85
  60. package/dist/hooks/use-hover-line-effect/index.cjs +0 -24
  61. package/dist/hooks/use-hover-line-effect/use-hover-line-effect.module.scss.cjs +0 -8
  62. package/dist/hooks/use-query-params.cjs +0 -53
  63. package/dist/hooks/use-ripple-effect/index.cjs +0 -69
  64. package/dist/hooks/use-ripple-effect/use-ripple-effect.module.scss.cjs +0 -11
  65. package/dist/hooks/use-window-screen/index.cjs +0 -52
  66. package/dist/index.cjs +0 -305
  67. package/dist/lib/accordion/accordion/accordion.cjs +0 -109
  68. package/dist/lib/accordion/accordion/helpers.cjs +0 -21
  69. package/dist/lib/accordion/accordion/types.cjs +0 -7
  70. package/dist/lib/accordion/accordion-content/accordion-content.cjs +0 -41
  71. package/dist/lib/accordion/accordion-content/helpers.cjs +0 -8
  72. package/dist/lib/accordion/accordion-group/accordion-group.cjs +0 -56
  73. package/dist/lib/accordion/accordion-group/helpers.cjs +0 -20
  74. package/dist/lib/accordion/accordion-group/types.cjs +0 -7
  75. package/dist/lib/accordion/accordion-summary/accordion-summary.cjs +0 -64
  76. package/dist/lib/accordion/accordion-summary/helpers.cjs +0 -15
  77. package/dist/lib/accordion/accordion-summary/types.cjs +0 -8
  78. package/dist/lib/badge/badge.cjs +0 -42
  79. package/dist/lib/badge/helpers.cjs +0 -8
  80. package/dist/lib/box/box.cjs +0 -55
  81. package/dist/lib/box/helpers.cjs +0 -8
  82. package/dist/lib/breadcrumbs/breadcrumb-item/breadcrumb-item.cjs +0 -28
  83. package/dist/lib/breadcrumbs/breadcrumbs/breadcrumbs.cjs +0 -44
  84. package/dist/lib/button/button.cjs +0 -235
  85. package/dist/lib/button/helpers.cjs +0 -74
  86. package/dist/lib/cascader/cascader.cjs +0 -497
  87. package/dist/lib/cascader/helpers.cjs +0 -28
  88. package/dist/lib/checkbox/checkbox.cjs +0 -52
  89. package/dist/lib/checkbox/checkbox.module.scss.cjs +0 -23
  90. package/dist/lib/chip/chip.cjs +0 -60
  91. package/dist/lib/chip/helpers.cjs +0 -14
  92. package/dist/lib/collapse/collapse.cjs +0 -50
  93. package/dist/lib/container/container.cjs +0 -101
  94. package/dist/lib/container/helpers.cjs +0 -12
  95. package/dist/lib/count-up/count-up.cjs +0 -38
  96. package/dist/lib/countdown-timer/countdown-timer.cjs +0 -9
  97. package/dist/lib/date-picker/date-picker.cjs +0 -169
  98. package/dist/lib/date-picker/helpers.cjs +0 -12
  99. package/dist/lib/dialog/dialog/dialog.cjs +0 -93
  100. package/dist/lib/dialog/dialog/helpers.cjs +0 -27
  101. package/dist/lib/dialog/dialog-body/dialog-body.cjs +0 -32
  102. package/dist/lib/dialog/dialog-close/dialog-close.cjs +0 -5
  103. package/dist/lib/dialog/dialog-footer/dialog-footer.cjs +0 -31
  104. package/dist/lib/dialog/dialog-header/dialog-header.cjs +0 -73
  105. package/dist/lib/drawer/drawer/drawer.cjs +0 -100
  106. package/dist/lib/drawer/drawer/helpers.cjs +0 -7
  107. package/dist/lib/drawer/drawer-close/drawer-close.cjs +0 -5
  108. package/dist/lib/filter-panel/checkbox-filter-panel.cjs +0 -107
  109. package/dist/lib/filter-panel/filter-panel.cjs +0 -37
  110. package/dist/lib/filter-panel/input-range-filter-panel.cjs +0 -78
  111. package/dist/lib/filter-panel/input-text-filter-panel.cjs +0 -57
  112. package/dist/lib/filter-panel/radio-filter-panel.cjs +0 -95
  113. package/dist/lib/flag/flag.cjs +0 -20
  114. package/dist/lib/flag/helpers.cjs +0 -16
  115. package/dist/lib/flexbox/flex-item/flex-item.cjs +0 -22
  116. package/dist/lib/flexbox/flex-item/helpers.cjs +0 -10
  117. package/dist/lib/flexbox/flexbox/flexbox.cjs +0 -46
  118. package/dist/lib/flexbox/flexbox/helpers.cjs +0 -16
  119. package/dist/lib/floating/floating/floating.cjs +0 -97
  120. package/dist/lib/floating/floating/helpers.cjs +0 -9
  121. package/dist/lib/floating/floating-close/floating-close.cjs +0 -32
  122. package/dist/lib/floating/floating-content/floating-content.cjs +0 -57
  123. package/dist/lib/floating/floating-trigger/floating-trigger.cjs +0 -35
  124. package/dist/lib/form-helper-text/form-helper-text.cjs +0 -35
  125. package/dist/lib/form-label/form-label.cjs +0 -28
  126. package/dist/lib/generic-element/generic-element.cjs +0 -15
  127. package/dist/lib/grid/cell/cell.cjs +0 -28
  128. package/dist/lib/grid/cell/helpers.cjs +0 -8
  129. package/dist/lib/grid/grid/grid.cjs +0 -53
  130. package/dist/lib/grid/grid/helpers.cjs +0 -12
  131. package/dist/lib/highlight-words/highlight-words.cjs +0 -18
  132. package/dist/lib/icon/helpers.cjs +0 -12
  133. package/dist/lib/icon/icon.cjs +0 -38
  134. package/dist/lib/icon-button/helpers.cjs +0 -42
  135. package/dist/lib/icon-button/icon-button.cjs +0 -146
  136. package/dist/lib/image/helpers.cjs +0 -15
  137. package/dist/lib/image/image.cjs +0 -36
  138. package/dist/lib/input/helpers.cjs +0 -38
  139. package/dist/lib/input/input.cjs +0 -205
  140. package/dist/lib/input/input.module.scss.cjs +0 -17
  141. package/dist/lib/input-mask/helpers.cjs +0 -12
  142. package/dist/lib/input-mask/input-mask.cjs +0 -120
  143. package/dist/lib/input-number/input-number.cjs +0 -132
  144. package/dist/lib/input-number/input-number.module.scss.cjs +0 -8
  145. package/dist/lib/input-range/helpers.cjs +0 -12
  146. package/dist/lib/input-range/input-range.cjs +0 -179
  147. package/dist/lib/input-range/input-range.module.scss.cjs +0 -8
  148. package/dist/lib/lightbox/lightbox.cjs +0 -199
  149. package/dist/lib/linear-progress/helpers.cjs +0 -13
  150. package/dist/lib/linear-progress/linear-progress.cjs +0 -75
  151. package/dist/lib/link/helpers.cjs +0 -8
  152. package/dist/lib/link/link.cjs +0 -63
  153. package/dist/lib/loading/block-skeleton/block-skeleton.cjs +0 -21
  154. package/dist/lib/loading/image-skeleton/image-skeleton.cjs +0 -43
  155. package/dist/lib/loading/loading-overlay/loading-overlay.cjs +0 -60
  156. package/dist/lib/loading/text-skeleton/text-skeleton.cjs +0 -16
  157. package/dist/lib/marquee/marquee/helpers.cjs +0 -15
  158. package/dist/lib/marquee/marquee/marquee.cjs +0 -99
  159. package/dist/lib/marquee/marquee/types.cjs +0 -7
  160. package/dist/lib/marquee/marquee-item/marquee-item.cjs +0 -16
  161. package/dist/lib/menu/menu/menu.cjs +0 -38
  162. package/dist/lib/menu/menu-item/helpers.cjs +0 -16
  163. package/dist/lib/menu/menu-item/menu-item.cjs +0 -34
  164. package/dist/lib/menu/menu-list/menu-list.cjs +0 -34
  165. package/dist/lib/menu/menu-list/types.cjs +0 -7
  166. package/dist/lib/menu/menu-trigger/menu-trigger.cjs +0 -8
  167. package/dist/lib/multiple-select/helpers.cjs +0 -12
  168. package/dist/lib/multiple-select/multiple-select.cjs +0 -348
  169. package/dist/lib/nav-link/nav-link.cjs +0 -40
  170. package/dist/lib/notifications/helpers.cjs +0 -39
  171. package/dist/lib/notifications/notifications.cjs +0 -167
  172. package/dist/lib/otp-input/otp-input.cjs +0 -132
  173. package/dist/lib/pagination/helpers.cjs +0 -57
  174. package/dist/lib/pagination/pagination.cjs +0 -163
  175. package/dist/lib/phone-input/phone-input.cjs +0 -182
  176. package/dist/lib/popover/popover/helpers.cjs +0 -7
  177. package/dist/lib/popover/popover/popover.cjs +0 -31
  178. package/dist/lib/popover/popover-close/popover-close.cjs +0 -5
  179. package/dist/lib/popover/popover-content/popover-content.cjs +0 -29
  180. package/dist/lib/popover/popover-trigger/popover-trigger.cjs +0 -8
  181. package/dist/lib/primitive/primitive.cjs +0 -30
  182. package/dist/lib/progress/progress.cjs +0 -50
  183. package/dist/lib/radio-button/helpers.cjs +0 -8
  184. package/dist/lib/radio-button/radio-button.cjs +0 -33
  185. package/dist/lib/radio-button/radio-button.module.scss.cjs +0 -17
  186. package/dist/lib/select/helpers.cjs +0 -12
  187. package/dist/lib/select/select.cjs +0 -317
  188. package/dist/lib/star-rating/star-rating.cjs +0 -39
  189. package/dist/lib/stepper/step.cjs +0 -69
  190. package/dist/lib/stepper/stepper.cjs +0 -86
  191. package/dist/lib/stepper/types.cjs +0 -8
  192. package/dist/lib/swiper/swiper/helpers.cjs +0 -16
  193. package/dist/lib/swiper/swiper/swiper.cjs +0 -113
  194. package/dist/lib/swiper/swiper-dots-paging/swiper-dots-paging.cjs +0 -77
  195. package/dist/lib/swiper/swiper-slide/swiper-slide.cjs +0 -31
  196. package/dist/lib/switch/switch.cjs +0 -19
  197. package/dist/lib/switch/switch.module.scss.cjs +0 -14
  198. package/dist/lib/table/table/table.cjs +0 -26
  199. package/dist/lib/table/table-body/table-body.cjs +0 -34
  200. package/dist/lib/table/table-cell/table-cell.cjs +0 -12
  201. package/dist/lib/table/table-footer/table-footer.cjs +0 -7
  202. package/dist/lib/table/table-head/table-head.cjs +0 -33
  203. package/dist/lib/table/table-row/table-row.cjs +0 -7
  204. package/dist/lib/tabs/tab/helpers.cjs +0 -9
  205. package/dist/lib/tabs/tab/tab.cjs +0 -26
  206. package/dist/lib/tabs/tab-content/tab-content.cjs +0 -22
  207. package/dist/lib/tabs/tab-indicator/tab-indicator.cjs +0 -92
  208. package/dist/lib/tabs/tab-list/helpers.cjs +0 -8
  209. package/dist/lib/tabs/tab-list/tab-list.cjs +0 -40
  210. package/dist/lib/tabs/tab-panel/helpers.cjs +0 -8
  211. package/dist/lib/tabs/tab-panel/tab-panel.cjs +0 -21
  212. package/dist/lib/tabs/tabs/helpers.cjs +0 -36
  213. package/dist/lib/tabs/tabs/tabs.cjs +0 -62
  214. package/dist/lib/text/helpers.cjs +0 -140
  215. package/dist/lib/text/text.cjs +0 -41
  216. package/dist/lib/textarea/helpers.cjs +0 -12
  217. package/dist/lib/textarea/textarea.cjs +0 -122
  218. package/dist/lib/textarea/textarea.module.scss.cjs +0 -14
  219. package/dist/lib/time-picker/time-picker.cjs +0 -305
  220. package/dist/lib/tooltip/tooltip.cjs +0 -124
  221. package/dist/lib/trans-html/trans-html.cjs +0 -26
  222. package/dist/lib/unordered-list/list-item/helpers.cjs +0 -14
  223. package/dist/lib/unordered-list/list-item/list-item.cjs +0 -36
  224. package/dist/lib/unordered-list/unordered-list/helpers.cjs +0 -14
  225. package/dist/lib/unordered-list/unordered-list/unordered-list.cjs +0 -27
  226. package/dist/lib/video/helpers.cjs +0 -10
  227. package/dist/lib/video/video.cjs +0 -24
  228. package/dist/theme/index.cjs +0 -22
  229. package/dist/theme/palette.cjs +0 -287
  230. package/dist/theme/provider.cjs +0 -303
  231. package/dist/theme/screens.cjs +0 -24
  232. package/dist/theme/typography.cjs +0 -29
  233. package/dist/types/index.cjs +0 -1
  234. package/dist/utils/common.cjs +0 -139
  235. package/dist/utils/emotion-helpers.cjs +0 -145
  236. package/dist/utils/index.cjs +0 -233
  237. package/dist/utils/query-params.cjs +0 -130
  238. package/dist/utils/stylesheet.cjs +0 -5
@@ -1,497 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const react = require("react");
5
- const lodashEs = require("lodash-es");
6
- const helpers = require("./helpers.cjs");
7
- const svgLoader = require("../../components/svg-loader.cjs");
8
- const virtualizedList = require("../../components/virtualized-list.cjs");
9
- const index = require("../../hooks/use-window-screen/index.cjs");
10
- const useControllableState = require("../../hooks/use-controllable-state.cjs");
11
- const utils_index = require("../../utils/index.cjs");
12
- const arrowDown = require("../../assets/svg/arrow-down.svg.cjs");
13
- const arrowRight = require("../../assets/svg/arrow-right.svg.cjs");
14
- const doneCheck = require("../../assets/svg/done-check.svg.cjs");
15
- const theme_palette = require("../../theme/palette.cjs");
16
- const theme_typography = require("../../theme/typography.cjs");
17
- const common = require("../../utils/common.cjs");
18
- const floating = require("../floating/floating/floating.cjs");
19
- const floatingTrigger = require("../floating/floating-trigger/floating-trigger.cjs");
20
- const inputMask = require("../input-mask/input-mask.cjs");
21
- const floatingContent = require("../floating/floating-content/floating-content.cjs");
22
- const input = require("../input/input.cjs");
23
- const formHelperText = require("../form-helper-text/form-helper-text.cjs");
24
- const DEFAULT_SEPARATOR = "/";
25
- const DEFAULT_DISPLAY_ROW_COUNT = 5;
26
- const Cascader = ({
27
- ref,
28
- ..._props
29
- }) => {
30
- var _a, _b, _c, _d, _e;
31
- const {
32
- placement = "bottom-start",
33
- open,
34
- onOpenChange,
35
- searchable = false,
36
- value: selectedPath = [],
37
- options,
38
- onChange,
39
- placeholder,
40
- listProps,
41
- selectedRenderer,
42
- separator = DEFAULT_SEPARATOR,
43
- helperText,
44
- error,
45
- containerProps,
46
- inputProps,
47
- fullWidth = true,
48
- lazy = true,
49
- menuWidth = "exact-reference",
50
- ...rest
51
- } = helpers.getCascaderProps(_props);
52
- const searchInputRef = react.useRef(null);
53
- const floatingRef = react.useRef(null);
54
- const uniqueId = react.useId();
55
- const [inputValue, setInputValue] = useControllableState.useControllableState({
56
- defaultValue: (inputProps == null ? void 0 : inputProps.defaultValue) ?? "",
57
- value: inputProps == null ? void 0 : inputProps.value
58
- });
59
- const windowScreen = index.useWindowScreen();
60
- const [isOpen, setIsOpen] = useControllableState.useControllableState({
61
- defaultValue: open ?? false,
62
- value: open
63
- });
64
- const [expandedPath, setExpandedPath] = react.useState([]);
65
- const handleOpenChange = (nextOpen, event, reason) => {
66
- setIsOpen(nextOpen);
67
- onOpenChange == null ? void 0 : onOpenChange(nextOpen, event, reason);
68
- if (!nextOpen) {
69
- setExpandedPath(selectedPath);
70
- }
71
- };
72
- const handleBreadcrumbClick = (e) => {
73
- const level = Number(e.currentTarget.dataset.index);
74
- if (level < 0) {
75
- setExpandedPath([]);
76
- } else {
77
- setExpandedPath(expandedPath.slice(0, level + 1));
78
- }
79
- };
80
- const selectedOptions = react.useMemo(() => {
81
- return helpers.findOptionPath(options, selectedPath);
82
- }, [options, selectedPath]);
83
- const expandedOptions = react.useMemo(() => {
84
- return helpers.findOptionPath(options, expandedPath);
85
- }, [options, expandedPath]);
86
- const currentOptions = react.useMemo(() => {
87
- var _a2;
88
- if (expandedPath.length === 0) {
89
- return options;
90
- }
91
- let current = options;
92
- for (const value of expandedPath) {
93
- const found = current.find((opt) => opt.value === value);
94
- if ((_a2 = found == null ? void 0 : found.children) == null ? void 0 : _a2.length) {
95
- current = found.children;
96
- } else {
97
- break;
98
- }
99
- }
100
- return current;
101
- }, [options, expandedPath]);
102
- const displayOptions = react.useMemo(() => {
103
- if (!inputValue) {
104
- return currentOptions;
105
- }
106
- return currentOptions.filter((option) => {
107
- const searchLabels = common.ensureArray(option.searchLabel ?? []);
108
- if (!searchLabels.length && lodashEs.isString(option.label)) {
109
- searchLabels.push(option.label);
110
- }
111
- return common.matchSearch(searchLabels, inputValue);
112
- });
113
- }, [inputValue, currentOptions]);
114
- const responsiveSize = lodashEs.isNil(windowScreen.name) ? void 0 : utils_index.getResponsiveProp(rest, "size", windowScreen.name);
115
- const { inputSize: rowMinHeight = 0, inputPaddingX } = utils_index.getSizeVariantState(responsiveSize);
116
- const sizeOptions = {
117
- apply({ elements }) {
118
- const { width } = elements.reference.getBoundingClientRect();
119
- const sizeStyle = {};
120
- switch (menuWidth) {
121
- case "exact-reference":
122
- sizeStyle.width = `${width}px`;
123
- break;
124
- case "min-reference":
125
- sizeStyle.minWidth = `${width}px`;
126
- break;
127
- default:
128
- sizeStyle.width = `${menuWidth}px`;
129
- break;
130
- }
131
- Object.assign(elements.floating.style, sizeStyle);
132
- }
133
- };
134
- const getTextCss = (sizeVariant) => {
135
- if (lodashEs.isNil(sizeVariant)) return {};
136
- const { textVariant } = utils_index.getSizeVariantState(sizeVariant);
137
- if (lodashEs.isNil(textVariant)) return {};
138
- return theme_typography.getTypographyVar(textVariant);
139
- };
140
- const onInputChange = (e) => {
141
- var _a2;
142
- e.target.value = lodashEs.trimStart(e.target.value);
143
- setInputValue(e.target.value);
144
- (_a2 = inputProps == null ? void 0 : inputProps.onChange) == null ? void 0 : _a2.call(inputProps, e);
145
- };
146
- const displayValue = react.useMemo(() => {
147
- if (selectedOptions.length === 0) return null;
148
- if (selectedRenderer) {
149
- return selectedRenderer(selectedOptions);
150
- }
151
- return selectedOptions.map((opt, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
152
- "div",
153
- {
154
- css: { display: "flex", alignItems: "center" },
155
- children: [
156
- opt.label,
157
- idx < selectedOptions.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("span", { css: { marginLeft: 4, marginRight: 4, opacity: 0.6 }, children: separator })
158
- ]
159
- },
160
- `${uniqueId}-${opt.value}`
161
- ));
162
- }, [selectedOptions, selectedRenderer, separator, uniqueId]);
163
- react.useEffect(() => {
164
- const timer = setTimeout(() => {
165
- var _a2;
166
- if (isOpen) {
167
- (_a2 = searchInputRef.current) == null ? void 0 : _a2.focus();
168
- setExpandedPath(selectedPath);
169
- } else {
170
- setInputValue("");
171
- }
172
- }, 100);
173
- return () => clearTimeout(timer);
174
- }, [isOpen]);
175
- const estimateSize = react.useCallback(
176
- (_index) => {
177
- return rowMinHeight ?? 0;
178
- },
179
- [rowMinHeight]
180
- );
181
- const getItemKey = react.useCallback(
182
- (index2) => {
183
- const option = displayOptions.at(index2);
184
- return option ? option.value : `${uniqueId}-${index2}`;
185
- },
186
- [displayOptions, uniqueId]
187
- );
188
- const renderBreadcrumbs = () => {
189
- if (expandedPath.length === 0) return null;
190
- return /* @__PURE__ */ jsxRuntime.jsxs(
191
- "div",
192
- {
193
- css: {
194
- paddingLeft: inputPaddingX,
195
- paddingRight: inputPaddingX,
196
- minHeight: rowMinHeight,
197
- borderTop: "1px solid",
198
- borderColor: theme_palette.getColorVar("neutral.200"),
199
- display: "flex",
200
- alignItems: "center",
201
- gap: 4,
202
- flexWrap: "wrap",
203
- paddingTop: 4,
204
- paddingBottom: 4
205
- },
206
- children: [
207
- /* @__PURE__ */ jsxRuntime.jsx(
208
- "button",
209
- {
210
- "data-index": -1,
211
- type: "button",
212
- onClick: handleBreadcrumbClick,
213
- css: {
214
- color: theme_palette.getColorVar("neutral.500"),
215
- ":hover": { color: theme_palette.getColorVar("primary.600") },
216
- transition: "color 150ms"
217
- },
218
- children: "All"
219
- }
220
- ),
221
- expandedOptions.map((opt, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
222
- "div",
223
- {
224
- css: { display: "flex", alignItems: "center", gap: 4 },
225
- children: [
226
- /* @__PURE__ */ jsxRuntime.jsx("span", { css: { color: theme_palette.getColorVar("neutral.400") }, children: separator }),
227
- /* @__PURE__ */ jsxRuntime.jsx(
228
- "button",
229
- {
230
- "data-index": idx,
231
- type: "button",
232
- onClick: handleBreadcrumbClick,
233
- css: {
234
- color: theme_palette.getColorVar("neutral.600"),
235
- ":hover": { color: theme_palette.getColorVar("primary.600") },
236
- transition: "color 150ms",
237
- ...idx === expandedOptions.length - 1 ? {
238
- color: theme_palette.getColorVar("primary.600"),
239
- fontWeight: 500
240
- } : {}
241
- },
242
- children: opt.breadcrumbLabel ?? opt.label
243
- }
244
- )
245
- ]
246
- },
247
- `${uniqueId}-breadcrumb-${opt.value}`
248
- ))
249
- ]
250
- }
251
- );
252
- };
253
- const RowComponent = ({ row }) => {
254
- const rowData = displayOptions.at(row.index);
255
- if (lodashEs.isNil(rowData)) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
256
- const isSelected = selectedPath.includes(rowData.value);
257
- const handleSelect = () => {
258
- var _a2, _b2, _c2, _d2;
259
- if (rowData.disabled) return;
260
- const parentPath = [];
261
- let current = options;
262
- for (const value of expandedPath) {
263
- const found = current.find((opt) => opt.value === value);
264
- if ((_a2 = found == null ? void 0 : found.children) == null ? void 0 : _a2.length) {
265
- parentPath.push(value);
266
- current = found.children;
267
- } else {
268
- break;
269
- }
270
- }
271
- const newPath = [...parentPath, rowData.value];
272
- const newSelectedOptions = helpers.findOptionPath(options, newPath);
273
- if (helpers.hasChildren(rowData)) {
274
- setExpandedPath(newPath);
275
- } else {
276
- onChange == null ? void 0 : onChange(newPath, newSelectedOptions);
277
- (_d2 = (_b2 = floatingRef.current) == null ? void 0 : (_c2 = _b2.context).onOpenChange) == null ? void 0 : _d2.call(_c2, false);
278
- }
279
- setInputValue("");
280
- setTimeout(() => {
281
- var _a3;
282
- (_a3 = searchInputRef.current) == null ? void 0 : _a3.focus();
283
- });
284
- };
285
- return /* @__PURE__ */ jsxRuntime.jsxs(
286
- "div",
287
- {
288
- "aria-hidden": true,
289
- onClick: handleSelect,
290
- css: {
291
- minHeight: rowMinHeight,
292
- paddingLeft: inputPaddingX,
293
- paddingRight: inputPaddingX,
294
- paddingTop: 4,
295
- paddingBottom: 4,
296
- display: "flex",
297
- alignItems: "center",
298
- gap: 8,
299
- cursor: "pointer",
300
- borderRadius: 8,
301
- ":hover": { backgroundColor: theme_palette.getColorVar("neutral.100") },
302
- transition: "color 150ms, background-color 150ms",
303
- ...isSelected && !helpers.hasChildren(rowData) ? {
304
- color: theme_palette.getColorVar("primary.600"),
305
- backgroundColor: theme_palette.getColorVar("primary.100")
306
- } : {},
307
- ...rowData.disabled ? {
308
- opacity: 0.5,
309
- cursor: "not-allowed"
310
- } : {}
311
- },
312
- children: [
313
- /* @__PURE__ */ jsxRuntime.jsx(
314
- "div",
315
- {
316
- css: {
317
- flex: 1,
318
- overflow: "hidden",
319
- textOverflow: "ellipsis",
320
- whiteSpace: "nowrap"
321
- },
322
- children: rowData.label
323
- }
324
- ),
325
- helpers.hasChildren(rowData) ? /* @__PURE__ */ jsxRuntime.jsx(
326
- svgLoader.SvgLoader,
327
- {
328
- source: arrowRight,
329
- width: 20,
330
- height: 20,
331
- css: { color: theme_palette.getColorVar("neutral.400") }
332
- }
333
- ) : isSelected && /* @__PURE__ */ jsxRuntime.jsx(
334
- svgLoader.SvgLoader,
335
- {
336
- source: doneCheck,
337
- width: 20,
338
- height: 20,
339
- css: { color: theme_palette.getColorVar("primary.600") }
340
- }
341
- )
342
- ]
343
- },
344
- `${uniqueId}-option-${rowData.value}`
345
- );
346
- };
347
- return /* @__PURE__ */ jsxRuntime.jsxs(
348
- "div",
349
- {
350
- ...containerProps,
351
- css: {
352
- display: "flex",
353
- flexDirection: "column",
354
- ...fullWidth ? { width: "100%" } : {}
355
- },
356
- children: [
357
- /* @__PURE__ */ jsxRuntime.jsxs(
358
- floating.Floating,
359
- {
360
- clickProps: {
361
- enabled: true
362
- },
363
- dismissProps: {
364
- enabled: true
365
- },
366
- sizeOptions,
367
- placement,
368
- open: isOpen,
369
- onOpenChange: handleOpenChange,
370
- ref: floatingRef,
371
- children: [
372
- /* @__PURE__ */ jsxRuntime.jsx(floatingTrigger.FloatingTrigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
373
- inputMask.InputMask,
374
- {
375
- type: "button",
376
- error: isOpen ? false : error,
377
- element: "button",
378
- suffix: /* @__PURE__ */ jsxRuntime.jsx(
379
- svgLoader.SvgLoader,
380
- {
381
- source: arrowDown,
382
- width: 20,
383
- height: 20,
384
- css: {
385
- transition: "transform 150ms",
386
- ...isOpen ? { transform: "rotate(-180deg)" } : {}
387
- }
388
- }
389
- ),
390
- ...rest,
391
- ref,
392
- children: /* @__PURE__ */ jsxRuntime.jsx(
393
- "div",
394
- {
395
- css: [
396
- {
397
- flex: 1,
398
- textAlign: "left",
399
- overflow: "hidden",
400
- textOverflow: "ellipsis",
401
- whiteSpace: "nowrap"
402
- },
403
- getTextCss((_a = rest.xs) == null ? void 0 : _a.size)
404
- ],
405
- children: displayValue ? /* @__PURE__ */ jsxRuntime.jsx(
406
- "div",
407
- {
408
- css: {
409
- display: "flex",
410
- alignItems: "center",
411
- flexWrap: "wrap"
412
- },
413
- children: displayValue
414
- }
415
- ) : /* @__PURE__ */ jsxRuntime.jsx(
416
- "span",
417
- {
418
- css: { color: theme_palette.getColorVar("neutral.400"), display: "block" },
419
- children: placeholder
420
- }
421
- )
422
- }
423
- )
424
- }
425
- ) }),
426
- /* @__PURE__ */ jsxRuntime.jsx(floatingContent.FloatingContent, { children: /* @__PURE__ */ jsxRuntime.jsxs(
427
- "div",
428
- {
429
- css: {
430
- paddingTop: 8,
431
- paddingBottom: 8,
432
- border: "1px solid",
433
- borderColor: theme_palette.getColorVar("border.default"),
434
- borderRadius: 8,
435
- boxShadow: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
436
- fontSize: "0.875rem",
437
- lineHeight: "1.25rem",
438
- backgroundColor: theme_palette.getColorVar("surface.default")
439
- },
440
- children: [
441
- !searchable && /* @__PURE__ */ jsxRuntime.jsx(
442
- "div",
443
- {
444
- css: {
445
- paddingLeft: 8,
446
- paddingRight: 8,
447
- paddingTop: 8,
448
- paddingBottom: 8,
449
- borderColor: theme_palette.getColorVar("neutral.200")
450
- },
451
- children: /* @__PURE__ */ jsxRuntime.jsx(
452
- input.Input,
453
- {
454
- xs: { size: (_b = rest.xs) == null ? void 0 : _b.size },
455
- sm: { size: (_c = rest.sm) == null ? void 0 : _c.size },
456
- md: { size: (_d = rest.md) == null ? void 0 : _d.size },
457
- lg: { size: (_e = rest.lg) == null ? void 0 : _e.size },
458
- value: inputValue,
459
- placeholder: "Search...",
460
- ...inputProps,
461
- onChange: onInputChange,
462
- ref: searchInputRef
463
- }
464
- )
465
- }
466
- ),
467
- /* @__PURE__ */ jsxRuntime.jsx(
468
- virtualizedList.VirtualizedList,
469
- {
470
- ...listProps,
471
- css: { paddingLeft: 4, paddingRight: 4 },
472
- options: {
473
- count: displayOptions.length,
474
- estimateSize,
475
- getItemKey,
476
- overscan: lazy ? void 0 : currentOptions.length
477
- },
478
- style: {
479
- maxHeight: rowMinHeight * DEFAULT_DISPLAY_ROW_COUNT,
480
- ...listProps == null ? void 0 : listProps.style
481
- },
482
- RowComponent
483
- }
484
- ),
485
- renderBreadcrumbs()
486
- ]
487
- }
488
- ) })
489
- ]
490
- }
491
- ),
492
- /* @__PURE__ */ jsxRuntime.jsx(formHelperText.FormHelperText, { error, children: helperText })
493
- ]
494
- }
495
- );
496
- };
497
- exports.Cascader = Cascader;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils_index = require("../../utils/index.cjs");
4
- const defaultProps = {
5
- xs: {
6
- size: "md"
7
- }
8
- };
9
- const getCascaderProps = (extended) => {
10
- return utils_index.mergeComponentProps(defaultProps, extended);
11
- };
12
- const findOptionPath = (options, values) => {
13
- const result = [];
14
- let currentOptions = options;
15
- for (const value of values) {
16
- const found = currentOptions.find((opt) => opt.value === value);
17
- if (!found) break;
18
- result.push(found);
19
- currentOptions = found.children || [];
20
- }
21
- return result;
22
- };
23
- const hasChildren = (option) => {
24
- return Array.isArray(option.children) && option.children.length > 0;
25
- };
26
- exports.findOptionPath = findOptionPath;
27
- exports.getCascaderProps = getCascaderProps;
28
- exports.hasChildren = hasChildren;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const react = require("react");
5
- const react$1 = require("@floating-ui/react");
6
- const checkbox_module = require("./checkbox.module.scss.cjs");
7
- const svgLoader = require("../../components/svg-loader.cjs");
8
- const utils_index = require("../../utils/index.cjs");
9
- const doneCheck = require("../../assets/svg/done-check.svg.cjs");
10
- const minus = require("../../assets/svg/minus.svg.cjs");
11
- const stylesheet = require("../../utils/stylesheet.cjs");
12
- const Checkbox = ({
13
- children,
14
- indeterminate,
15
- color = "primary",
16
- className,
17
- ref,
18
- containerProps,
19
- ...props
20
- }) => {
21
- const { main, contrastText } = utils_index.getColorShadesByVariant(color);
22
- const inputRef = react.useRef(null);
23
- const mergedRefs = react$1.useMergeRefs([ref, inputRef]);
24
- react.useEffect(() => {
25
- const inputEl = inputRef.current;
26
- if (inputEl) {
27
- inputEl.indeterminate = indeterminate ?? false;
28
- }
29
- }, [indeterminate]);
30
- return /* @__PURE__ */ jsxRuntime.jsxs(
31
- "label",
32
- {
33
- ...containerProps,
34
- className: stylesheet.cn(checkbox_module.default.checkbox__container, containerProps == null ? void 0 : containerProps.className),
35
- css: {
36
- "--checkbox-color": main,
37
- "--checkbox-contrast-text": contrastText
38
- },
39
- children: [
40
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: checkbox_module.default.checkbox__main, children: [
41
- /* @__PURE__ */ jsxRuntime.jsx("input", { ...props, type: "checkbox", className: stylesheet.cn(checkbox_module.default.checkbox__input, className), ref: mergedRefs }),
42
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: checkbox_module.default.checkbox__checkmark, children: [
43
- /* @__PURE__ */ jsxRuntime.jsx(svgLoader.SvgLoader, { className: checkbox_module.default.checkbox__icon_checked, width: 18, height: 18, source: doneCheck }),
44
- /* @__PURE__ */ jsxRuntime.jsx(svgLoader.SvgLoader, { className: checkbox_module.default.checkbox__icon_indeterminate, width: 18, height: 18, source: minus })
45
- ] })
46
- ] }),
47
- children
48
- ]
49
- }
50
- );
51
- };
52
- exports.Checkbox = Checkbox;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const checkbox__container = "_checkbox__container_1rrv2_1";
4
- const checkbox__input = "_checkbox__input_1rrv2_10";
5
- const checkbox__main = "_checkbox__main_1rrv2_15";
6
- const checkbox__checkmark = "_checkbox__checkmark_1rrv2_32";
7
- const checkbox__icon_checked = "_checkbox__icon_checked_1rrv2_43";
8
- const checkbox__icon_indeterminate = "_checkbox__icon_indeterminate_1rrv2_43";
9
- const classes = {
10
- checkbox__container,
11
- checkbox__input,
12
- checkbox__main,
13
- checkbox__checkmark,
14
- checkbox__icon_checked,
15
- checkbox__icon_indeterminate
16
- };
17
- exports.checkbox__checkmark = checkbox__checkmark;
18
- exports.checkbox__container = checkbox__container;
19
- exports.checkbox__icon_checked = checkbox__icon_checked;
20
- exports.checkbox__icon_indeterminate = checkbox__icon_indeterminate;
21
- exports.checkbox__input = checkbox__input;
22
- exports.checkbox__main = checkbox__main;
23
- exports.default = classes;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("@emotion/react/jsx-runtime");
4
- const helpers = require("./helpers.cjs");
5
- const utils_index = require("../../utils/index.cjs");
6
- const theme_screens = require("../../theme/screens.cjs");
7
- require("../../theme/palette.cjs");
8
- const theme_typography = require("../../theme/typography.cjs");
9
- const stylesheet = require("../../utils/stylesheet.cjs");
10
- const Chip = ({ children, ..._props }) => {
11
- const { xs, sm, md, lg, color = "green", ...rest } = helpers.getChipProps(_props);
12
- const { light, main } = utils_index.getColorShadesByVariant(color);
13
- return /* @__PURE__ */ jsxRuntime.jsx(
14
- "div",
15
- {
16
- ...rest,
17
- className: stylesheet.cn(rest.className),
18
- css: [
19
- {
20
- width: "fit-content",
21
- maxWidth: "100%",
22
- display: "flex",
23
- alignItems: "center",
24
- backgroundColor: light,
25
- borderTopWidth: 1,
26
- borderRightWidth: 1,
27
- borderBottomWidth: 1,
28
- borderLeftWidth: 1,
29
- borderTopLeftRadius: 8,
30
- borderTopRightRadius: 8,
31
- borderBottomLeftRadius: 8,
32
- borderBottomRightRadius: 8,
33
- borderColor: main,
34
- color: main
35
- },
36
- createStyle(xs),
37
- {
38
- [theme_screens.mediaQuery("sm")]: createStyle(sm),
39
- [theme_screens.mediaQuery("md")]: createStyle(md),
40
- [theme_screens.mediaQuery("lg")]: createStyle(lg)
41
- }
42
- ],
43
- children
44
- }
45
- );
46
- };
47
- const createStyle = ({ css, size } = {}) => {
48
- const { inputSize, inputPaddingX, textVariant } = utils_index.getSizeVariantState(size);
49
- return [
50
- {
51
- paddingLeft: inputPaddingX,
52
- paddingRight: inputPaddingX,
53
- minHeight: inputSize,
54
- fontSize: textVariant ? theme_typography.getTypographyVar(textVariant).fontSize : void 0,
55
- lineHeight: textVariant ? theme_typography.getTypographyVar(textVariant).lineHeight : void 0
56
- },
57
- css
58
- ];
59
- };
60
- exports.Chip = Chip;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils_index = require("../../utils/index.cjs");
4
- const defaultProps = {
5
- xs: {
6
- css: {},
7
- size: "md"
8
- },
9
- color: "primary"
10
- };
11
- const getChipProps = (extended) => {
12
- return utils_index.mergeComponentProps(defaultProps, extended);
13
- };
14
- exports.getChipProps = getChipProps;