@reportportal/ui-kit 0.0.1-alpha.13 → 0.0.1-alpha.130

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 (231) hide show
  1. package/README.md +28 -2
  2. package/dist/attachedFile.js +9 -0
  3. package/dist/autocompletes.js +728 -0
  4. package/dist/baseIconButton-251479f7.js +25 -0
  5. package/dist/baseIconButton.js +1 -1
  6. package/dist/breadcrumbs-8e5ca8d7.js +183 -0
  7. package/dist/breadcrumbs.js +12 -0
  8. package/dist/bubblesLoader-f3ffa240.js +28 -0
  9. package/dist/bubblesLoader.js +1 -1
  10. package/dist/button-97d9e587.js +66 -0
  11. package/dist/button.js +1 -1
  12. package/dist/calendarArrow-44c7e60e.js +5 -0
  13. package/dist/checkbox-ed6cc375.js +73 -0
  14. package/dist/checkbox.js +1 -1
  15. package/dist/chevronDownDropdown-66f5b1af.js +7 -0
  16. package/dist/clear-53660571.js +5 -0
  17. package/dist/close-4d480ef7.js +5 -0
  18. package/dist/common/constants/floatingUi.d.ts +8 -0
  19. package/dist/common/hooks/useOnClickOutside.d.ts +5 -1
  20. package/dist/common/types.d.ts +4 -0
  21. package/dist/common/utils/floatingUi.d.ts +3 -0
  22. package/dist/common/utils/getFileExtension.d.ts +1 -0
  23. package/dist/common/utils/index.d.ts +3 -0
  24. package/dist/common/utils/isString.d.ts +1 -0
  25. package/dist/components/attachedFile/attachedFile.d.ts +14 -0
  26. package/dist/components/attachedFile/index.d.ts +2 -0
  27. package/dist/components/autocompletes/common/autocompleteMenu/autocompleteMenu.d.ts +10 -0
  28. package/dist/components/autocompletes/common/autocompleteMenu/index.d.ts +1 -0
  29. package/dist/components/autocompletes/common/autocompleteOption/autocompleteOption.d.ts +13 -0
  30. package/dist/components/autocompletes/common/autocompleteOption/index.d.ts +1 -0
  31. package/dist/components/autocompletes/common/autocompleteOptions.d.ts +19 -0
  32. package/dist/components/autocompletes/common/autocompletePrompt/autocompletePrompt.d.ts +7 -0
  33. package/dist/components/autocompletes/common/autocompletePrompt/index.d.ts +1 -0
  34. package/dist/components/autocompletes/common/index.d.ts +19 -0
  35. package/dist/components/autocompletes/constants.d.ts +2 -0
  36. package/dist/components/autocompletes/index.d.ts +3 -0
  37. package/dist/components/autocompletes/multipleAutocomplete/index.d.ts +17 -0
  38. package/dist/components/autocompletes/multipleAutocomplete/multipleAutocomplete.d.ts +49 -0
  39. package/dist/components/autocompletes/multipleAutocomplete/multipleDownshift.d.ts +25 -0
  40. package/dist/components/autocompletes/multipleAutocomplete/selectedItems/index.d.ts +1 -0
  41. package/dist/components/autocompletes/multipleAutocomplete/selectedItems/selectedItems.d.ts +35 -0
  42. package/dist/components/autocompletes/singleAutocomplete/index.d.ts +1 -0
  43. package/dist/components/autocompletes/singleAutocomplete/singleAutocomplete.d.ts +42 -0
  44. package/dist/components/autocompletes/types.d.ts +8 -0
  45. package/dist/components/autocompletes/utils.d.ts +5 -0
  46. package/dist/components/{icons/baseIconButton → baseIconButton}/baseIconButton.d.ts +1 -0
  47. package/dist/components/{icons/baseIconButton → baseIconButton}/index.d.ts +1 -0
  48. package/dist/components/breadcrumbs/breadcrumb/breadcrumb.d.ts +10 -0
  49. package/dist/components/breadcrumbs/breadcrumb/index.d.ts +1 -0
  50. package/dist/components/breadcrumbs/breadcrumbs.d.ts +3 -0
  51. package/dist/components/breadcrumbs/breadcrumbsProvider/breadcrumbsProvider.d.ts +13 -0
  52. package/dist/components/breadcrumbs/breadcrumbsProvider/hooks.d.ts +3 -0
  53. package/dist/components/breadcrumbs/breadcrumbsProvider/index.d.ts +1 -0
  54. package/dist/components/breadcrumbs/hiddenBreadcrumbs/hiddenBreadcrumbs.d.ts +6 -0
  55. package/dist/components/breadcrumbs/hiddenBreadcrumbs/index.d.ts +2 -0
  56. package/dist/components/breadcrumbs/index.d.ts +5 -0
  57. package/dist/components/breadcrumbs/tree/index.d.ts +1 -0
  58. package/dist/components/breadcrumbs/tree/tree.d.ts +7 -0
  59. package/dist/components/breadcrumbs/types.d.ts +24 -0
  60. package/dist/components/bubblesLoader/bubblesLoader.d.ts +2 -0
  61. package/dist/components/bubblesLoader/index.d.ts +1 -0
  62. package/dist/components/button/button.d.ts +5 -4
  63. package/dist/components/button/index.d.ts +1 -0
  64. package/dist/components/checkbox/checkbox.d.ts +2 -1
  65. package/dist/components/checkbox/index.d.ts +1 -0
  66. package/dist/components/datePicker/datePicker.d.ts +25 -0
  67. package/dist/components/datePicker/header/datePickerHeader.d.ts +16 -0
  68. package/dist/components/datePicker/header/index.d.ts +4 -0
  69. package/dist/components/datePicker/index.d.ts +5 -0
  70. package/dist/components/datePicker/utils.d.ts +4 -0
  71. package/dist/components/dropdown/constants.d.ts +3 -0
  72. package/dist/components/dropdown/dropdown.d.ts +36 -4
  73. package/dist/components/dropdown/dropdownOption/dropdownOption.d.ts +1 -0
  74. package/dist/components/dropdown/dropdownOption/index.d.ts +1 -0
  75. package/dist/components/dropdown/index.d.ts +2 -0
  76. package/dist/components/dropdown/types.d.ts +11 -0
  77. package/dist/components/dropdown/utils.d.ts +6 -2
  78. package/dist/components/fieldLabel/fieldLabel.d.ts +7 -0
  79. package/dist/components/fieldLabel/index.d.ts +1 -0
  80. package/dist/components/fieldNumber/constants.d.ts +1 -0
  81. package/dist/components/fieldNumber/fieldNumber.d.ts +3 -3
  82. package/dist/components/fieldNumber/index.d.ts +1 -0
  83. package/dist/components/fieldText/fieldText.d.ts +12 -4
  84. package/dist/components/fieldText/index.d.ts +1 -0
  85. package/dist/components/fieldTextFlex/fieldTextFlex.d.ts +5 -2
  86. package/dist/components/fieldTextFlex/index.d.ts +1 -0
  87. package/dist/components/fileDropArea/attachedFilesList/attachedFilesList.d.ts +21 -0
  88. package/dist/components/fileDropArea/attachedFilesList/index.d.ts +5 -0
  89. package/dist/components/fileDropArea/browseButton/browseButton.d.ts +9 -0
  90. package/dist/components/fileDropArea/browseButton/index.d.ts +4 -0
  91. package/dist/components/fileDropArea/constants.d.ts +2 -0
  92. package/dist/components/fileDropArea/dropZone/dropZone.d.ts +10 -0
  93. package/dist/components/fileDropArea/dropZone/index.d.ts +4 -0
  94. package/dist/components/fileDropArea/errorMessage/errorMessage.d.ts +5 -0
  95. package/dist/components/fileDropArea/errorMessage/index.d.ts +4 -0
  96. package/dist/components/fileDropArea/fileDropArea.d.ts +19 -0
  97. package/dist/components/fileDropArea/fileDropAreaProvider/fileDropAreaProvider.d.ts +17 -0
  98. package/dist/components/fileDropArea/fileDropAreaProvider/index.d.ts +1 -0
  99. package/dist/components/fileDropArea/fileDropAreaProvider/useFileDropAreaContext.d.ts +3 -0
  100. package/dist/components/fileDropArea/hooks/index.d.ts +1 -0
  101. package/dist/components/fileDropArea/hooks/useFileDropArea.d.ts +13 -0
  102. package/dist/components/fileDropArea/hooks/useFileProcessing.d.ts +13 -0
  103. package/dist/components/fileDropArea/hooks/useOverlayDropArea.d.ts +22 -0
  104. package/dist/components/fileDropArea/index.d.ts +6 -0
  105. package/dist/components/fileDropArea/types.d.ts +58 -0
  106. package/dist/components/fileDropArea/utils/getValidationErrorMessage.d.ts +3 -0
  107. package/dist/components/fileDropArea/utils/index.d.ts +2 -0
  108. package/dist/components/fileDropArea/utils/validateFile.d.ts +3 -0
  109. package/dist/components/filtersButton/filtersButton.d.ts +9 -0
  110. package/dist/components/filtersButton/index.d.ts +2 -0
  111. package/dist/components/icons/index.d.ts +63 -7
  112. package/dist/components/index.d.ts +22 -9
  113. package/dist/components/maxValueDisplay/index.d.ts +4 -0
  114. package/dist/components/maxValueDisplay/maxValueDisplay.d.ts +8 -0
  115. package/dist/components/maxValueDisplay/utils/index.d.ts +1 -0
  116. package/dist/components/maxValueDisplay/utils/isPositiveInteger.d.ts +1 -0
  117. package/dist/components/modal/index.d.ts +1 -0
  118. package/dist/components/modal/modal.d.ts +7 -3
  119. package/dist/components/modal/modalContent/modalContent.d.ts +2 -0
  120. package/dist/components/modal/modalFooter/modalFooter.d.ts +3 -1
  121. package/dist/components/modal/modalHeader/modalHeader.d.ts +2 -1
  122. package/dist/components/modal/types.d.ts +6 -0
  123. package/dist/components/pagination/index.d.ts +1 -0
  124. package/dist/components/pagination/itemsCounter/itemCounter.d.ts +1 -0
  125. package/dist/components/pagination/pageControls/activePage/activePage.d.ts +1 -0
  126. package/dist/components/pagination/pageControls/activePage/pageSelector/pageSelector.d.ts +1 -0
  127. package/dist/components/pagination/pageControls/pageControls.d.ts +1 -0
  128. package/dist/components/pagination/pageControls/pageNavigator/bar/bar.d.ts +1 -0
  129. package/dist/components/pagination/pageControls/pageNavigator/pageNavigator.d.ts +1 -0
  130. package/dist/components/pagination/pageSizeControl/pageSizeControl.d.ts +1 -0
  131. package/dist/components/pagination/pageSizeControl/sizeSelector/sizeSelector.d.ts +1 -0
  132. package/dist/components/pagination/pagination.d.ts +1 -0
  133. package/dist/components/popover/index.d.ts +4 -1
  134. package/dist/components/popover/popover.d.ts +3 -2
  135. package/dist/components/radio/index.d.ts +1 -0
  136. package/dist/components/radio/radio.d.ts +1 -0
  137. package/dist/components/radio/radioGroup.d.ts +1 -0
  138. package/dist/components/selection/index.d.ts +5 -0
  139. package/dist/components/selection/selection.d.ts +12 -0
  140. package/dist/components/selection/types.d.ts +1 -0
  141. package/dist/components/sidePanel/index.d.ts +2 -0
  142. package/dist/components/sidePanel/sidePanel.d.ts +17 -0
  143. package/dist/components/spinLoader/index.d.ts +4 -0
  144. package/dist/components/spinLoader/spinLoader.d.ts +8 -0
  145. package/dist/components/systemAlert/index.d.ts +1 -0
  146. package/dist/components/systemAlert/systemAlert.d.ts +4 -0
  147. package/dist/components/systemAlert/types.d.ts +22 -0
  148. package/dist/components/systemMessage/index.d.ts +1 -0
  149. package/dist/components/systemMessage/systemMessage.d.ts +1 -0
  150. package/dist/components/table/constants.d.ts +5 -0
  151. package/dist/components/table/hooks/index.d.ts +4 -0
  152. package/dist/components/table/hooks/useColumnWidths.d.ts +8 -0
  153. package/dist/components/table/hooks/useTableColumns.d.ts +13 -0
  154. package/dist/components/table/hooks/useTableExpansion.d.ts +15 -0
  155. package/dist/components/table/hooks/useTableHover.d.ts +10 -0
  156. package/dist/components/table/index.d.ts +2 -0
  157. package/dist/components/table/table.d.ts +1 -0
  158. package/dist/components/table/types.d.ts +25 -9
  159. package/dist/components/table/utils.d.ts +10 -1
  160. package/dist/components/themeProvider/index.d.ts +1 -0
  161. package/dist/components/themeProvider/themeProvider.d.ts +1 -0
  162. package/dist/components/toggle/index.d.ts +1 -0
  163. package/dist/components/toggle/toggle.d.ts +1 -0
  164. package/dist/components/tooltip/tooltip.d.ts +12 -2
  165. package/dist/datePicker-5b3b45b6.js +194 -0
  166. package/dist/datePicker.js +31 -0
  167. package/dist/dropdown-0260bb66.js +5 -0
  168. package/dist/dropdown-360803d5.js +550 -0
  169. package/dist/dropdown.js +12 -3
  170. package/dist/fieldLabel.js +18 -0
  171. package/dist/fieldNumber-d1b5a7a1.js +140 -0
  172. package/dist/fieldNumber.js +5 -2
  173. package/dist/fieldText-1749da7a.js +167 -0
  174. package/dist/fieldText.js +7 -2
  175. package/dist/fieldTextFlex-2f51c173.js +80 -0
  176. package/dist/fieldTextFlex.js +3 -1
  177. package/dist/fileDropArea.js +325 -0
  178. package/dist/filterOutline-819b4b0d.js +6 -0
  179. package/dist/filtersButton.js +25 -0
  180. package/dist/floatingUi-41f8c7b5.js +29 -0
  181. package/dist/fonts/OpenSans/OpenSans-Bold.ttf +0 -0
  182. package/dist/fonts/OpenSans/OpenSans-Medium.ttf +0 -0
  183. package/dist/icons.js +85 -0
  184. package/dist/index-1a874a8b.js +110 -0
  185. package/dist/index.js +149 -50
  186. package/dist/isEmpty-ccacb5ff.js +38 -0
  187. package/dist/maxValueDisplay-9be01a75.js +13 -0
  188. package/dist/maxValueDisplay.js +6 -0
  189. package/dist/minus-2857540f.js +5 -0
  190. package/dist/modal.js +188 -14
  191. package/dist/openEye-950159cb.js +6 -0
  192. package/dist/pagination-a3dee614.js +347 -0
  193. package/dist/pagination.js +12 -5
  194. package/dist/plus-199fb2a8.js +5 -0
  195. package/dist/popover.js +58 -73
  196. package/dist/prevPage-87faf576.js +6 -0
  197. package/dist/radio-62546efa.js +76 -0
  198. package/dist/radio.js +1 -1
  199. package/dist/selection-9124d029.js +38 -0
  200. package/dist/selection.js +10 -0
  201. package/dist/sidePanel.js +88 -0
  202. package/dist/spinLoader-c4a53718.js +11 -0
  203. package/dist/spinLoader.js +7 -0
  204. package/dist/style.css +1 -1
  205. package/dist/success-8fd8bd2c.js +7 -0
  206. package/dist/systemAlert.js +69 -0
  207. package/dist/systemMessage-924fdaa6.js +30 -0
  208. package/dist/systemMessage.js +1 -1
  209. package/dist/table-8e223d5d.js +485 -0
  210. package/dist/table.js +3 -3
  211. package/dist/toggle-304107fa.js +59 -0
  212. package/dist/toggle.js +1 -1
  213. package/dist/tooltip.js +89 -56
  214. package/dist/tree-c3dd3d45.js +6 -0
  215. package/dist/xls-995781cc.js +11 -0
  216. package/package.json +47 -16
  217. package/dist/baseIconButton-7bc53dec.js +0 -25
  218. package/dist/bubblesLoader-a7e709d4.js +0 -17
  219. package/dist/button-7fb84fde.js +0 -62
  220. package/dist/checkbox-6777be17.js +0 -73
  221. package/dist/dropdown-e07f2a71.js +0 -212
  222. package/dist/fieldNumber-46fe79b9.js +0 -127
  223. package/dist/fieldText-d80b29ba.js +0 -102
  224. package/dist/fieldTextFlex-5bddf46a.js +0 -67
  225. package/dist/index-bb9b62ef.js +0 -131
  226. package/dist/pagination-5449cd03.js +0 -346
  227. package/dist/radio-fd49a09c.js +0 -76
  228. package/dist/systemMessage-1ced6079.js +0 -30
  229. package/dist/table-83e050dc.js +0 -147
  230. package/dist/toggle-707ecb74.js +0 -67
  231. package/dist/useOnClickOutside-c332f7d3.js +0 -16
@@ -0,0 +1,550 @@
1
+ import { jsxs as L, jsx as d, Fragment as Ie } from "react/jsx-runtime";
2
+ import { forwardRef as sr, useState as le, useRef as K, useMemo as O, useCallback as N, useLayoutEffect as Te, useEffect as J } from "react";
3
+ import { createPortal as or } from "react-dom";
4
+ import { c as Le } from "./bind-06a7ff84.js";
5
+ import { useFloating as ar, offset as lr, flip as ir, size as cr, autoUpdate as dr } from "@floating-ui/react-dom";
6
+ import { useSelect as ie } from "downshift";
7
+ import { Scrollbars as ur } from "rc-scrollbars";
8
+ import { K as E } from "./keyCodes-f63c0e11.js";
9
+ import { B as fr } from "./baseIconButton-251479f7.js";
10
+ import { S as hr } from "./clear-53660571.js";
11
+ import { S as _r } from "./dropdown-0260bb66.js";
12
+ import { Tooltip as pr } from "./tooltip.js";
13
+ import { FieldLabel as gr } from "./fieldLabel.js";
14
+ import { C as wr } from "./checkbox-ed6cc375.js";
15
+ const mr = "_disabled_14s7v_12", yr = "_hidden_14s7v_16", Er = "_hover_14s7v_22", vr = "_selected_14s7v_38", Cr = {
16
+ "dropdown-option": "_dropdown-option_14s7v_1",
17
+ disabled: mr,
18
+ hidden: yr,
19
+ hover: Er,
20
+ "depth-1": "_depth-1_14s7v_32",
21
+ selected: vr,
22
+ "multi-select": "_multi-select_14s7v_38",
23
+ "single-option": "_single-option_14s7v_43",
24
+ "sub-option": "_sub-option_14s7v_50"
25
+ }, xe = Le.bind(Cr), Ke = sr(
26
+ (n, t) => {
27
+ const {
28
+ option: { value: l, disabled: o, hidden: u, label: _, title: v, groupRef: g },
29
+ selected: V,
30
+ onChange: Y,
31
+ render: W,
32
+ highlightHovered: S,
33
+ onMouseEnter: Q,
34
+ multiSelect: D,
35
+ isPartiallyChecked: H = !1,
36
+ depth: $ = 0,
37
+ hasChildren: Z = !1
38
+ } = n, ee = (z) => {
39
+ (z.target instanceof HTMLDivElement || z.target instanceof HTMLInputElement) && (Y == null || Y(l));
40
+ };
41
+ return /* @__PURE__ */ L(
42
+ "div",
43
+ {
44
+ className: xe("dropdown-option", {
45
+ selected: V,
46
+ disabled: o,
47
+ hidden: u,
48
+ hover: S,
49
+ "multi-select": D,
50
+ "has-children": Z,
51
+ [`depth-${$}`]: $ > 0
52
+ }),
53
+ title: v,
54
+ onClick: ee,
55
+ ref: t,
56
+ onMouseEnter: Q,
57
+ children: [
58
+ D && /* @__PURE__ */ d(wr, { value: !!V, partiallyChecked: H }),
59
+ /* @__PURE__ */ d(
60
+ "div",
61
+ {
62
+ className: xe("single-option", {
63
+ "sub-option": !!g
64
+ }),
65
+ children: W ? W(n) : _
66
+ }
67
+ )
68
+ ]
69
+ }
70
+ );
71
+ }
72
+ ), Or = [
73
+ E.ENTER_KEY_CODE,
74
+ E.SPACE_KEY_CODE,
75
+ E.ARROW_DOWN_KEY_CODE
76
+ ], Nr = [E.ESCAPE_KEY_CODE, E.TAB_KEY_CODE];
77
+ var k = /* @__PURE__ */ ((n) => (n.ON_KEY_DOWN = "onKeyDown", n.ON_CLICK = "onClick", n))(k || {});
78
+ const Dr = 216, Ar = "data-dropdown-portal-menu", br = (n, t) => {
79
+ const l = Array.isArray(t) ? t : [t];
80
+ return n.findIndex(({ value: o }) => l.includes(o));
81
+ }, Ir = (n, t) => (n % t + t) % t, ce = (n, t = 0, l = 1) => {
82
+ var u;
83
+ if (n.length === 0)
84
+ return 0;
85
+ if (!((u = n[t]) != null && u.disabled))
86
+ return t;
87
+ const o = n.length;
88
+ return ce(
89
+ n,
90
+ Ir(t + l, o),
91
+ l
92
+ );
93
+ }, Tr = (n, t) => ce(n, t), xr = (n, t) => ce(n, t, -1), ke = (n, t = 0, l) => !n || n.length === 0 ? [] : n.reduce((o, u) => {
94
+ var _;
95
+ return u && (o.push({ option: u, depth: t, parent: l }), (_ = u.children) != null && _.length && o.push(...ke(u.children, t + 1, u))), o;
96
+ }, []), Ye = (n) => !n || n.length === 0 ? [] : n.reduce((t, l) => {
97
+ var o;
98
+ return l && ((o = l.children) != null && o.length ? t.push(...Ye(l.children)) : t.push(l)), t;
99
+ }, []), Pe = (n) => {
100
+ var t;
101
+ return n ? (t = n.children) != null && t.length ? n.children.reduce((l, o) => (o && l.push(...Pe(o)), l), []) : [n.value] : [];
102
+ }, Kr = "_container_owe49_1", Lr = "_icon_owe49_7", kr = "_arrow_owe49_13", Yr = "_dropdown_owe49_27", Pr = "_disabled_owe49_44", Mr = "_value_owe49_51", Rr = "_error_owe49_54", Vr = "_touched_owe49_54", Wr = "_opened_owe49_58", Sr = "_placeholder_owe49_93", Hr = "_ghost_owe49_139", $r = "_divider_owe49_160", zr = {
103
+ container: Kr,
104
+ icon: Lr,
105
+ arrow: kr,
106
+ "clear-button": "_clear-button_owe49_19",
107
+ dropdown: Yr,
108
+ "transparent-background": "_transparent-background_owe49_41",
109
+ disabled: Pr,
110
+ value: Mr,
111
+ error: Rr,
112
+ touched: Vr,
113
+ opened: Wr,
114
+ placeholder: Sr,
115
+ "mobile-disabled": "_mobile-disabled_owe49_97",
116
+ "value-wrapper": "_value-wrapper_owe49_102",
117
+ "value-tooltip": "_value-tooltip_owe49_108",
118
+ "select-list": "_select-list_owe49_113",
119
+ "limited-width": "_limited-width_owe49_130",
120
+ "options-container": "_options-container_owe49_134",
121
+ ghost: Hr,
122
+ divider: $r
123
+ }, f = Le.bind(zr), ot = ({
124
+ multiSelect: n = !1,
125
+ value: t = n ? [] : "",
126
+ options: l = [],
127
+ disabled: o = !1,
128
+ error: u,
129
+ onChange: _,
130
+ onFocus: v,
131
+ onBlur: g,
132
+ mobileDisabled: V,
133
+ title: Y,
134
+ touched: W = !1,
135
+ icon: S,
136
+ variant: Q,
137
+ placeholder: D = "",
138
+ label: H = "",
139
+ renderOption: $,
140
+ transparentBackground: Z = !1,
141
+ className: ee,
142
+ toggleButtonClassName: z,
143
+ selectListClassName: Me,
144
+ isListWidthLimited: Re = !1,
145
+ optionAll: re = { value: "all", label: "All" },
146
+ isOptionAllVisible: de = !1,
147
+ onSelectAll: Ve = () => {
148
+ },
149
+ formatDisplayedValue: ue,
150
+ notScrollable: P = !1,
151
+ footer: B,
152
+ includeGroupValue: fe = !1,
153
+ clearable: We = !1,
154
+ onClear: he = () => {
155
+ },
156
+ clearButtonAriaLabel: Se = "Clear selection",
157
+ tooltipPortalRoot: He,
158
+ tooltipZIndex: $e,
159
+ menuPortalRoot: h
160
+ }) => {
161
+ const [i, U] = le(!1), _e = K(null), pe = K(null), M = K(null), te = K(0), ne = K(null), [ze, ge] = le(!1), [Be, j] = le(null), A = K(null), R = O(() => ke(l), [l]), p = O(
162
+ () => R.map(({ option: e }) => e),
163
+ [R]
164
+ ), q = O(() => R.filter(({ option: e }) => {
165
+ var r;
166
+ return (r = e.children) == null ? void 0 : r.length;
167
+ }).map(({ option: e }) => e), [R]), we = O(() => Ye(l), [l]), w = O(
168
+ () => we.map(({ value: e }) => e),
169
+ [we]
170
+ ), F = O(() => {
171
+ const e = /* @__PURE__ */ new Map();
172
+ return q.forEach((r) => {
173
+ e.set(r.value, Pe(r));
174
+ }), e;
175
+ }, [q]), X = N(
176
+ (e) => (q.forEach((r) => {
177
+ const s = F.get(r.value) ?? [], a = s.length > 0 && s.every((c) => e.has(c));
178
+ fe && a ? e.add(r.value) : e.delete(r.value);
179
+ }), e),
180
+ [q, fe, F]
181
+ ), b = O(() => !n || !Array.isArray(t) ? /* @__PURE__ */ new Set() : X(new Set(t)), [n, t, X]), me = n ? Array.isArray(t) && t.length > 0 : t || t === !1 || t === 0, Ue = We && me && !o, je = N((e) => {
182
+ te.current = e.scrollTop;
183
+ }, []);
184
+ Te(() => {
185
+ i && !P && M.current && !(n && A.current !== null) && M.current.scrollTop(te.current);
186
+ }, [i, P, t, n]);
187
+ const { refs: T, floatingStyles: ye } = ar({
188
+ placement: "bottom-start",
189
+ middleware: [
190
+ lr(5),
191
+ ir({
192
+ fallbackPlacements: ["bottom-start", "top-start", "bottom", "top"],
193
+ ...h && {
194
+ boundary: document.documentElement,
195
+ rootBoundary: "viewport"
196
+ }
197
+ }),
198
+ h ? cr({
199
+ apply({ rects: e, elements: r }) {
200
+ const s = e.reference.width;
201
+ Object.assign(r.floating.style, {
202
+ width: `${s}px`,
203
+ minWidth: `${s}px`,
204
+ maxWidth: `${s}px`
205
+ });
206
+ }
207
+ }) : null
208
+ ].filter(Boolean),
209
+ whileElementsMounted: i && h ? (e, r, s) => dr(e, r, s, {
210
+ animationFrame: !0
211
+ }) : void 0
212
+ }), qe = () => {
213
+ if (!de)
214
+ return;
215
+ const e = Array.isArray(t) ? t : [], r = new Set(e), s = w.some((c) => !r.has(c));
216
+ w.forEach((c) => {
217
+ s ? r.add(c) : r.delete(c);
218
+ });
219
+ const a = X(r);
220
+ _(Array.from(a)), Ve();
221
+ }, m = N(() => {
222
+ U(!1), g == null || g();
223
+ }, [g]), se = N(() => {
224
+ if (o)
225
+ return;
226
+ _(n ? [] : ""), he(), m(), requestAnimationFrame(() => {
227
+ const r = T.reference.current;
228
+ r && r instanceof HTMLElement && r.focus();
229
+ });
230
+ }, [o, n, _, he, m, T]), Fe = N(
231
+ (e) => {
232
+ e.preventDefault(), e.stopPropagation(), se();
233
+ },
234
+ [se]
235
+ ), Ee = N(
236
+ (e) => {
237
+ var c, y;
238
+ if (!i)
239
+ return;
240
+ const r = e == null ? void 0 : e.target;
241
+ if (!r)
242
+ return;
243
+ const s = (c = _e.current) == null ? void 0 : c.contains(r), a = (y = pe.current) == null ? void 0 : y.contains(r);
244
+ !s && !a && m();
245
+ },
246
+ [i, m]
247
+ );
248
+ J(() => {
249
+ if (!i)
250
+ return;
251
+ const e = (r) => {
252
+ Ee(r);
253
+ };
254
+ return document.addEventListener("pointerdown", e), () => {
255
+ document.removeEventListener("pointerdown", e);
256
+ };
257
+ }, [i, Ee]);
258
+ const ve = (e) => {
259
+ var r;
260
+ if (!e.disabled) {
261
+ if (n) {
262
+ const s = Array.isArray(t) ? t : [], a = new Set(s);
263
+ if ((r = e.children) != null && r.length) {
264
+ const y = F.get(e.value) ?? [], C = y.some((I) => !a.has(I));
265
+ y.forEach((I) => {
266
+ C ? a.add(I) : a.delete(I);
267
+ });
268
+ } else
269
+ a.has(e.value) ? a.delete(e.value) : a.add(e.value);
270
+ const c = X(a);
271
+ _(Array.from(c));
272
+ } else
273
+ _(e.value);
274
+ U((s) => n || !s);
275
+ }
276
+ }, Xe = () => p.find(({ value: e }) => e === t), Ce = br(p, t), {
277
+ getToggleButtonProps: Ge,
278
+ getLabelProps: Je,
279
+ getMenuProps: Oe,
280
+ getItemProps: Qe,
281
+ setHighlightedIndex: x,
282
+ highlightedIndex: oe
283
+ } = ie({
284
+ items: p,
285
+ itemToString: (e) => (e != null && e.label ? String(e.label) : D) || "",
286
+ selectedItem: Xe(),
287
+ isOpen: i,
288
+ circularNavigation: !0,
289
+ defaultHighlightedIndex: Ce,
290
+ onHighlightedIndexChange: (e) => {
291
+ switch (e.type) {
292
+ case ie.stateChangeTypes.MenuKeyDownArrowUp:
293
+ return j(k.ON_KEY_DOWN), x(xr(p, e.highlightedIndex)), e;
294
+ case ie.stateChangeTypes.MenuKeyDownArrowDown:
295
+ return j(k.ON_KEY_DOWN), x(Tr(p, e.highlightedIndex)), e;
296
+ default:
297
+ return e;
298
+ }
299
+ }
300
+ }), Ne = N(
301
+ (e) => {
302
+ pe.current = e, T.setFloating(e);
303
+ },
304
+ [T]
305
+ ), Ze = N(
306
+ (e = {}) => {
307
+ const r = Oe(e), s = r.ref;
308
+ return {
309
+ ...r,
310
+ ref: (a) => {
311
+ Ne(a), typeof s == "function" ? s(a) : s && (s.current = a);
312
+ }
313
+ };
314
+ },
315
+ [Oe, Ne]
316
+ );
317
+ J(() => {
318
+ n && i && A.current !== null && A.current >= 0 && A.current < p.length && (x(A.current), A.current = null, requestAnimationFrame(() => {
319
+ M.current && !P && M.current.scrollTop(te.current);
320
+ }));
321
+ }, [n, i, t, p.length, x, P]), Te(() => {
322
+ if (!i || !h)
323
+ return;
324
+ let e = window.scrollY, r = !0;
325
+ const s = 300, a = () => {
326
+ if (!r)
327
+ return;
328
+ window.scrollY !== e && window.scrollTo(0, e);
329
+ }, c = (C) => {
330
+ r && (C.preventDefault(), C.stopImmediatePropagation(), a());
331
+ };
332
+ e = window.scrollY, window.addEventListener("scroll", c, { passive: !1, capture: !0 }), requestAnimationFrame(() => {
333
+ e = window.scrollY, a();
334
+ });
335
+ const y = setTimeout(() => {
336
+ r = !1;
337
+ }, s);
338
+ return () => {
339
+ clearTimeout(y), window.removeEventListener("scroll", c, { capture: !0 });
340
+ };
341
+ }, [i, h]), J(() => {
342
+ if (!i || !h)
343
+ return;
344
+ const e = () => {
345
+ m();
346
+ };
347
+ return window.addEventListener("resize", e), () => {
348
+ window.removeEventListener("resize", e);
349
+ };
350
+ }, [i, h, m]);
351
+ const De = () => {
352
+ o || (U((e) => !e), i ? g == null || g() : v == null || v(), j(k.ON_CLICK));
353
+ }, G = O(() => {
354
+ if (n && Array.isArray(t) && w.length > 0 && w.every((r) => b.has(r)))
355
+ return re.label;
356
+ const e = p.reduce((r, s) => ((Array.isArray(t) && t.includes(s.value) || s.value === t) && r.push(s.label), r), []);
357
+ if (e.length > 0)
358
+ return e.join(", ");
359
+ if (!t && t !== !1 && t !== 0 || Array.isArray(t) && !t.length)
360
+ return D;
361
+ }, [
362
+ n,
363
+ t,
364
+ w,
365
+ b,
366
+ re.label,
367
+ p,
368
+ D
369
+ ]);
370
+ J(() => {
371
+ if (ne.current) {
372
+ const { offsetWidth: e, scrollWidth: r } = ne.current;
373
+ ge(r > e);
374
+ } else
375
+ ge(!1);
376
+ }, [G]);
377
+ const er = (e) => {
378
+ const { keyCode: r } = e;
379
+ Or.includes(r) && e.target === e.currentTarget && (e.preventDefault(), e.stopPropagation(), !i && (x(Ce), U(!0), v == null || v(), j(k.ON_KEY_DOWN)));
380
+ }, rr = (e) => {
381
+ const { keyCode: r } = e;
382
+ if (r === E.ENTER_KEY_CODE || r === E.SPACE_KEY_CODE) {
383
+ const s = p[oe];
384
+ if (!s)
385
+ return;
386
+ n && (A.current = oe), ve(s), n || m();
387
+ return;
388
+ }
389
+ Nr.includes(r) && (e.stopPropagation(), m());
390
+ }, Ae = () => /* @__PURE__ */ L("div", { className: f("options-container"), children: [
391
+ n && de && /* @__PURE__ */ L(Ie, { children: [
392
+ /* @__PURE__ */ d(
393
+ Ke,
394
+ {
395
+ option: re,
396
+ selected: Array.isArray(t) && w.length > 0 && w.every((e) => b.has(e)),
397
+ onChange: qe,
398
+ multiSelect: n,
399
+ isPartiallyChecked: w.some((e) => b.has(e)) && !w.every((e) => b.has(e))
400
+ }
401
+ ),
402
+ /* @__PURE__ */ d("div", { className: f("divider") }),
403
+ " "
404
+ ] }),
405
+ R.map(({ option: e, depth: r }, s) => {
406
+ var C, I;
407
+ const a = F.get(e.value) ?? [e.value], c = n && a.every((ae) => b.has(ae)), y = n && ((C = e.children) == null ? void 0 : C.length) && a.some((ae) => b.has(ae)) && !c;
408
+ return /* @__PURE__ */ d(
409
+ Ke,
410
+ {
411
+ ...Qe({
412
+ item: e,
413
+ index: s
414
+ }),
415
+ multiSelect: n,
416
+ selected: n ? c : e.value === t,
417
+ option: { title: e.label, ...e },
418
+ highlightHovered: oe === s && Be !== k.ON_CLICK,
419
+ render: $,
420
+ onChange: e.disabled ? null : () => ve(e),
421
+ onMouseEnter: () => x(s),
422
+ depth: r,
423
+ hasChildren: !!((I = e.children) != null && I.length),
424
+ isPartiallyChecked: y
425
+ },
426
+ e.value
427
+ );
428
+ }),
429
+ B && /* @__PURE__ */ L(Ie, { children: [
430
+ /* @__PURE__ */ d("div", { className: f("divider") }),
431
+ typeof B == "function" ? B(m) : B
432
+ ] })
433
+ ] }), tr = () => {
434
+ const e = ue ? ue(G) : G, r = /* @__PURE__ */ d(
435
+ "span",
436
+ {
437
+ ref: ne,
438
+ className: f("value", {
439
+ placeholder: G === D
440
+ }),
441
+ children: e
442
+ }
443
+ );
444
+ return me && !!e && ze ? /* @__PURE__ */ d(
445
+ pr,
446
+ {
447
+ content: e,
448
+ placement: "top",
449
+ wrapperClassName: f("value-tooltip"),
450
+ portalRoot: He,
451
+ zIndex: $e,
452
+ children: r
453
+ }
454
+ ) : r;
455
+ }, nr = Ge({
456
+ className: f("dropdown", Q, z, {
457
+ "transparent-background": Z,
458
+ opened: i,
459
+ disabled: o,
460
+ error: u,
461
+ touched: W,
462
+ "mobile-disabled": V
463
+ }),
464
+ onClick: De,
465
+ onKeyDown: er,
466
+ ref: T.setReference
467
+ }), { type: Br, ...be } = nr;
468
+ return /* @__PURE__ */ L("div", { ref: _e, className: f("container", ee), title: Y, children: [
469
+ H && /* @__PURE__ */ d(
470
+ gr,
471
+ {
472
+ ...Je(),
473
+ onClick: () => !o && De(),
474
+ style: { cursor: o ? "default" : "pointer" },
475
+ children: H
476
+ }
477
+ ),
478
+ /* @__PURE__ */ L(
479
+ "div",
480
+ {
481
+ ...be,
482
+ role: "button",
483
+ "aria-disabled": o,
484
+ tabIndex: o ? -1 : be.tabIndex ?? 0,
485
+ children: [
486
+ S && /* @__PURE__ */ d("span", { className: f("icon"), children: S }),
487
+ /* @__PURE__ */ d("div", { className: f("value-wrapper"), children: tr() }),
488
+ Ue && /* @__PURE__ */ d(
489
+ fr,
490
+ {
491
+ className: f("clear-button"),
492
+ onClick: Fe,
493
+ onKeyDown: (e) => {
494
+ const { keyCode: r } = e;
495
+ (r === E.ENTER_KEY_CODE || r === E.SPACE_KEY_CODE) && (e.preventDefault(), e.stopPropagation(), se());
496
+ },
497
+ "aria-label": Se,
498
+ children: /* @__PURE__ */ d(hr, {})
499
+ }
500
+ ),
501
+ /* @__PURE__ */ d("span", { className: f("arrow"), "aria-hidden": "true", children: /* @__PURE__ */ d(_r, {}) })
502
+ ]
503
+ }
504
+ ),
505
+ i && (() => {
506
+ var a;
507
+ const e = (a = T.reference.current) == null ? void 0 : a.getBoundingClientRect().width, r = h && e ? {
508
+ ...ye,
509
+ width: `${e}px`,
510
+ minWidth: `${e}px`,
511
+ maxWidth: `${e}px`
512
+ } : ye, s = /* @__PURE__ */ d(
513
+ "div",
514
+ {
515
+ style: r,
516
+ className: f(
517
+ "select-list",
518
+ {
519
+ opened: i,
520
+ "limited-width": Re
521
+ },
522
+ Me
523
+ ),
524
+ ...h && { [Ar]: "" },
525
+ ...Ze({
526
+ onKeyDown: rr
527
+ }),
528
+ children: P ? Ae() : /* @__PURE__ */ d(
529
+ ur,
530
+ {
531
+ autoHeight: !0,
532
+ autoHeightMax: Dr,
533
+ hideTracksWhenNotNeeded: !0,
534
+ ref: (c) => {
535
+ M.current = c;
536
+ },
537
+ onScrollFrame: je,
538
+ children: Ae()
539
+ }
540
+ )
541
+ }
542
+ );
543
+ return h ? or(s, h) : s;
544
+ })()
545
+ ] });
546
+ };
547
+ export {
548
+ ot as D,
549
+ Ar as a
550
+ };
package/dist/dropdown.js CHANGED
@@ -1,14 +1,23 @@
1
- import { D as r } from "./dropdown-e07f2a71.js";
1
+ import { D as r } from "./dropdown-360803d5.js";
2
+ import { a as l } from "./dropdown-360803d5.js";
2
3
  import "react/jsx-runtime";
3
4
  import "react";
5
+ import "react-dom";
4
6
  import "./bind-06a7ff84.js";
5
7
  import "@floating-ui/react-dom";
6
8
  import "downshift";
7
9
  import "rc-scrollbars";
8
- import "./useOnClickOutside-c332f7d3.js";
9
10
  import "./keyCodes-f63c0e11.js";
10
- import "./baseIconButton-7bc53dec.js";
11
+ import "./baseIconButton-251479f7.js";
12
+ import "./clear-53660571.js";
13
+ import "./dropdown-0260bb66.js";
14
+ import "./tooltip.js";
15
+ import "@floating-ui/react";
16
+ import "./floatingUi-41f8c7b5.js";
17
+ import "./fieldLabel.js";
18
+ import "./checkbox-ed6cc375.js";
11
19
  export {
20
+ l as DROPDOWN_PORTAL_MENU_ATTR,
12
21
  r as Dropdown,
13
22
  r as default
14
23
  };
@@ -0,0 +1,18 @@
1
+ import { jsxs as r, jsx as d } from "react/jsx-runtime";
2
+ import { c as t } from "./bind-06a7ff84.js";
3
+ const c = "_asterisk_1rhlz_11", o = "_disabled_1rhlz_17", b = {
4
+ "field-label": "_field-label_1rhlz_1",
5
+ asterisk: c,
6
+ disabled: o
7
+ }, s = t.bind(b), m = ({
8
+ children: l,
9
+ isRequired: e = !1,
10
+ className: a,
11
+ ...i
12
+ }) => /* @__PURE__ */ r("label", { className: s("field-label", a), ...i, children: [
13
+ l,
14
+ e && /* @__PURE__ */ d("span", { className: s("asterisk"), children: "*" })
15
+ ] });
16
+ export {
17
+ m as FieldLabel
18
+ };