@darajs/ui-components 0.4.8

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 (278) hide show
  1. package/LICENSE +201 -0
  2. package/dist/accordion/accordion-item.d.ts +24 -0
  3. package/dist/accordion/accordion-item.d.ts.map +1 -0
  4. package/dist/accordion/accordion-item.js +92 -0
  5. package/dist/accordion/accordion-item.js.map +1 -0
  6. package/dist/accordion/accordion.d.ts +32 -0
  7. package/dist/accordion/accordion.d.ts.map +1 -0
  8. package/dist/accordion/accordion.js +87 -0
  9. package/dist/accordion/accordion.js.map +1 -0
  10. package/dist/badge/badge.d.ts +20 -0
  11. package/dist/badge/badge.d.ts.map +1 -0
  12. package/dist/badge/badge.js +42 -0
  13. package/dist/badge/badge.js.map +1 -0
  14. package/dist/button/button.d.ts +35 -0
  15. package/dist/button/button.d.ts.map +1 -0
  16. package/dist/button/button.js +169 -0
  17. package/dist/button/button.js.map +1 -0
  18. package/dist/button-bar/button-bar.d.ts +19 -0
  19. package/dist/button-bar/button-bar.d.ts.map +1 -0
  20. package/dist/button-bar/button-bar.js +124 -0
  21. package/dist/button-bar/button-bar.js.map +1 -0
  22. package/dist/carousel/carousel.d.ts +23 -0
  23. package/dist/carousel/carousel.d.ts.map +1 -0
  24. package/dist/carousel/carousel.js +178 -0
  25. package/dist/carousel/carousel.js.map +1 -0
  26. package/dist/chat/chat.d.ts +28 -0
  27. package/dist/chat/chat.d.ts.map +1 -0
  28. package/dist/chat/chat.js +182 -0
  29. package/dist/chat/chat.js.map +1 -0
  30. package/dist/chat/message.d.ts +28 -0
  31. package/dist/chat/message.d.ts.map +1 -0
  32. package/dist/chat/message.js +220 -0
  33. package/dist/chat/message.js.map +1 -0
  34. package/dist/checkbox/checkbox-group.d.ts +35 -0
  35. package/dist/checkbox/checkbox-group.d.ts.map +1 -0
  36. package/dist/checkbox/checkbox-group.js +116 -0
  37. package/dist/checkbox/checkbox-group.js.map +1 -0
  38. package/dist/checkbox/checkbox.d.ts +27 -0
  39. package/dist/checkbox/checkbox.d.ts.map +1 -0
  40. package/dist/checkbox/checkbox.js +164 -0
  41. package/dist/checkbox/checkbox.js.map +1 -0
  42. package/dist/checkbox/tri-state-checkbox.d.ts +22 -0
  43. package/dist/checkbox/tri-state-checkbox.d.ts.map +1 -0
  44. package/dist/checkbox/tri-state-checkbox.js +87 -0
  45. package/dist/checkbox/tri-state-checkbox.js.map +1 -0
  46. package/dist/code-viewer/code-viewer.d.ts +31 -0
  47. package/dist/code-viewer/code-viewer.d.ts.map +1 -0
  48. package/dist/code-viewer/code-viewer.js +115 -0
  49. package/dist/code-viewer/code-viewer.js.map +1 -0
  50. package/dist/combo-box/combo-box.d.ts +39 -0
  51. package/dist/combo-box/combo-box.d.ts.map +1 -0
  52. package/dist/combo-box/combo-box.js +176 -0
  53. package/dist/combo-box/combo-box.js.map +1 -0
  54. package/dist/component-select-list/component-select-list.d.ts +27 -0
  55. package/dist/component-select-list/component-select-list.d.ts.map +1 -0
  56. package/dist/component-select-list/component-select-list.js +131 -0
  57. package/dist/component-select-list/component-select-list.js.map +1 -0
  58. package/dist/constants.d.ts +33 -0
  59. package/dist/constants.d.ts.map +1 -0
  60. package/dist/constants.js +47 -0
  61. package/dist/constants.js.map +1 -0
  62. package/dist/context-menu/context-menu.d.ts +24 -0
  63. package/dist/context-menu/context-menu.d.ts.map +1 -0
  64. package/dist/context-menu/context-menu.js +116 -0
  65. package/dist/context-menu/context-menu.js.map +1 -0
  66. package/dist/datepicker/datepicker-select.d.ts +48 -0
  67. package/dist/datepicker/datepicker-select.d.ts.map +1 -0
  68. package/dist/datepicker/datepicker-select.js +219 -0
  69. package/dist/datepicker/datepicker-select.js.map +1 -0
  70. package/dist/datepicker/datepicker.d.ts +56 -0
  71. package/dist/datepicker/datepicker.d.ts.map +1 -0
  72. package/dist/datepicker/datepicker.js +669 -0
  73. package/dist/datepicker/datepicker.js.map +1 -0
  74. package/dist/dropzone/dropzone.d.ts +21 -0
  75. package/dist/dropzone/dropzone.d.ts.map +1 -0
  76. package/dist/dropzone/dropzone.js +80 -0
  77. package/dist/dropzone/dropzone.js.map +1 -0
  78. package/dist/error-boundary/error-boundary.d.ts +33 -0
  79. package/dist/error-boundary/error-boundary.d.ts.map +1 -0
  80. package/dist/error-boundary/error-boundary.js +72 -0
  81. package/dist/error-boundary/error-boundary.js.map +1 -0
  82. package/dist/filter/categorical-filter.d.ts +26 -0
  83. package/dist/filter/categorical-filter.d.ts.map +1 -0
  84. package/dist/filter/categorical-filter.js +153 -0
  85. package/dist/filter/categorical-filter.js.map +1 -0
  86. package/dist/filter/datetime-filter.d.ts +28 -0
  87. package/dist/filter/datetime-filter.d.ts.map +1 -0
  88. package/dist/filter/datetime-filter.js +174 -0
  89. package/dist/filter/datetime-filter.js.map +1 -0
  90. package/dist/filter/numeric-filter.d.ts +24 -0
  91. package/dist/filter/numeric-filter.d.ts.map +1 -0
  92. package/dist/filter/numeric-filter.js +148 -0
  93. package/dist/filter/numeric-filter.js.map +1 -0
  94. package/dist/hierarchy-selector/hierarchy-selector.d.ts +31 -0
  95. package/dist/hierarchy-selector/hierarchy-selector.d.ts.map +1 -0
  96. package/dist/hierarchy-selector/hierarchy-selector.js +65 -0
  97. package/dist/hierarchy-selector/hierarchy-selector.js.map +1 -0
  98. package/dist/hierarchy-selector/node/branch.d.ts +47 -0
  99. package/dist/hierarchy-selector/node/branch.d.ts.map +1 -0
  100. package/dist/hierarchy-selector/node/branch.js +132 -0
  101. package/dist/hierarchy-selector/node/branch.js.map +1 -0
  102. package/dist/index.d.ts +57 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +55 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/input/input.d.ts +44 -0
  107. package/dist/input/input.d.ts.map +1 -0
  108. package/dist/input/input.js +91 -0
  109. package/dist/input/input.js.map +1 -0
  110. package/dist/jest-setup.d.ts +18 -0
  111. package/dist/jest-setup.d.ts.map +1 -0
  112. package/dist/jest-setup.js +18 -0
  113. package/dist/jest-setup.js.map +1 -0
  114. package/dist/markdown/markdown.d.ts +18 -0
  115. package/dist/markdown/markdown.d.ts.map +1 -0
  116. package/dist/markdown/markdown.js +356 -0
  117. package/dist/markdown/markdown.js.map +1 -0
  118. package/dist/modal/modal.d.ts +37 -0
  119. package/dist/modal/modal.d.ts.map +1 -0
  120. package/dist/modal/modal.js +121 -0
  121. package/dist/modal/modal.js.map +1 -0
  122. package/dist/multiselect/multiselect.d.ts +31 -0
  123. package/dist/multiselect/multiselect.d.ts.map +1 -0
  124. package/dist/multiselect/multiselect.js +231 -0
  125. package/dist/multiselect/multiselect.js.map +1 -0
  126. package/dist/numeric-input/input-stepper.d.ts +33 -0
  127. package/dist/numeric-input/input-stepper.d.ts.map +1 -0
  128. package/dist/numeric-input/input-stepper.js +54 -0
  129. package/dist/numeric-input/input-stepper.js.map +1 -0
  130. package/dist/numeric-input/numeric-input.d.ts +42 -0
  131. package/dist/numeric-input/numeric-input.d.ts.map +1 -0
  132. package/dist/numeric-input/numeric-input.js +234 -0
  133. package/dist/numeric-input/numeric-input.js.map +1 -0
  134. package/dist/progress-bar/progress-bar.d.ts +23 -0
  135. package/dist/progress-bar/progress-bar.d.ts.map +1 -0
  136. package/dist/progress-bar/progress-bar.js +90 -0
  137. package/dist/progress-bar/progress-bar.js.map +1 -0
  138. package/dist/radio/radio-group.d.ts +19 -0
  139. package/dist/radio/radio-group.d.ts.map +1 -0
  140. package/dist/radio/radio-group.js +160 -0
  141. package/dist/radio/radio-group.js.map +1 -0
  142. package/dist/search-bar/search-bar.d.ts +34 -0
  143. package/dist/search-bar/search-bar.d.ts.map +1 -0
  144. package/dist/search-bar/search-bar.js +39 -0
  145. package/dist/search-bar/search-bar.js.map +1 -0
  146. package/dist/sectioned-list/sectioned-list.d.ts +29 -0
  147. package/dist/sectioned-list/sectioned-list.d.ts.map +1 -0
  148. package/dist/sectioned-list/sectioned-list.js +205 -0
  149. package/dist/sectioned-list/sectioned-list.js.map +1 -0
  150. package/dist/select/select.d.ts +54 -0
  151. package/dist/select/select.d.ts.map +1 -0
  152. package/dist/select/select.js +143 -0
  153. package/dist/select/select.js.map +1 -0
  154. package/dist/shared/chevron-button.d.ts +13 -0
  155. package/dist/shared/chevron-button.d.ts.map +1 -0
  156. package/dist/shared/chevron-button.js +35 -0
  157. package/dist/shared/chevron-button.js.map +1 -0
  158. package/dist/shared/dropdown-list.d.ts +34 -0
  159. package/dist/shared/dropdown-list.d.ts.map +1 -0
  160. package/dist/shared/dropdown-list.js +33 -0
  161. package/dist/shared/dropdown-list.js.map +1 -0
  162. package/dist/shared/list-item.d.ts +35 -0
  163. package/dist/shared/list-item.d.ts.map +1 -0
  164. package/dist/shared/list-item.js +69 -0
  165. package/dist/shared/list-item.js.map +1 -0
  166. package/dist/slider/slider-inputs.d.ts +36 -0
  167. package/dist/slider/slider-inputs.d.ts.map +1 -0
  168. package/dist/slider/slider-inputs.js +88 -0
  169. package/dist/slider/slider-inputs.js.map +1 -0
  170. package/dist/slider/slider.d.ts +53 -0
  171. package/dist/slider/slider.d.ts.map +1 -0
  172. package/dist/slider/slider.js +273 -0
  173. package/dist/slider/slider.js.map +1 -0
  174. package/dist/spinner/spinner.d.ts +19 -0
  175. package/dist/spinner/spinner.d.ts.map +1 -0
  176. package/dist/spinner/spinner.js +144 -0
  177. package/dist/spinner/spinner.js.map +1 -0
  178. package/dist/switch/sun-icon.d.ts +3 -0
  179. package/dist/switch/sun-icon.d.ts.map +1 -0
  180. package/dist/switch/sun-icon.js +24 -0
  181. package/dist/switch/sun-icon.js.map +1 -0
  182. package/dist/switch/switch.d.ts +16 -0
  183. package/dist/switch/switch.d.ts.map +1 -0
  184. package/dist/switch/switch.js +92 -0
  185. package/dist/switch/switch.js.map +1 -0
  186. package/dist/table/cells/action-cell.d.ts +34 -0
  187. package/dist/table/cells/action-cell.d.ts.map +1 -0
  188. package/dist/table/cells/action-cell.js +68 -0
  189. package/dist/table/cells/action-cell.js.map +1 -0
  190. package/dist/table/cells/datetime-cell.d.ts +12 -0
  191. package/dist/table/cells/datetime-cell.d.ts.map +1 -0
  192. package/dist/table/cells/datetime-cell.js +36 -0
  193. package/dist/table/cells/datetime-cell.js.map +1 -0
  194. package/dist/table/cells/edit-cell-utils.d.ts +32 -0
  195. package/dist/table/cells/edit-cell-utils.d.ts.map +1 -0
  196. package/dist/table/cells/edit-cell-utils.js +2 -0
  197. package/dist/table/cells/edit-cell-utils.js.map +1 -0
  198. package/dist/table/cells/edit-input-cell.d.ts +10 -0
  199. package/dist/table/cells/edit-input-cell.d.ts.map +1 -0
  200. package/dist/table/cells/edit-input-cell.js +61 -0
  201. package/dist/table/cells/edit-input-cell.js.map +1 -0
  202. package/dist/table/cells/edit-select-cell.d.ts +12 -0
  203. package/dist/table/cells/edit-select-cell.d.ts.map +1 -0
  204. package/dist/table/cells/edit-select-cell.js +55 -0
  205. package/dist/table/cells/edit-select-cell.js.map +1 -0
  206. package/dist/table/filters.d.ts +46 -0
  207. package/dist/table/filters.d.ts.map +1 -0
  208. package/dist/table/filters.js +226 -0
  209. package/dist/table/filters.js.map +1 -0
  210. package/dist/table/headers/select-header.d.ts +14 -0
  211. package/dist/table/headers/select-header.d.ts.map +1 -0
  212. package/dist/table/headers/select-header.js +41 -0
  213. package/dist/table/headers/select-header.js.map +1 -0
  214. package/dist/table/options-menu.d.ts +25 -0
  215. package/dist/table/options-menu.d.ts.map +1 -0
  216. package/dist/table/options-menu.js +123 -0
  217. package/dist/table/options-menu.js.map +1 -0
  218. package/dist/table/render-row.d.ts +25 -0
  219. package/dist/table/render-row.d.ts.map +1 -0
  220. package/dist/table/render-row.js +163 -0
  221. package/dist/table/render-row.js.map +1 -0
  222. package/dist/table/table.d.ts +95 -0
  223. package/dist/table/table.d.ts.map +1 -0
  224. package/dist/table/table.js +422 -0
  225. package/dist/table/table.js.map +1 -0
  226. package/dist/table/types.d.ts +30 -0
  227. package/dist/table/types.d.ts.map +1 -0
  228. package/dist/table/types.js +2 -0
  229. package/dist/table/types.js.map +1 -0
  230. package/dist/tabs/tabs.d.ts +22 -0
  231. package/dist/tabs/tabs.d.ts.map +1 -0
  232. package/dist/tabs/tabs.js +91 -0
  233. package/dist/tabs/tabs.js.map +1 -0
  234. package/dist/textarea/textarea.d.ts +47 -0
  235. package/dist/textarea/textarea.d.ts.map +1 -0
  236. package/dist/textarea/textarea.js +121 -0
  237. package/dist/textarea/textarea.js.map +1 -0
  238. package/dist/tooltip/tooltip.d.ts +48 -0
  239. package/dist/tooltip/tooltip.d.ts.map +1 -0
  240. package/dist/tooltip/tooltip.js +116 -0
  241. package/dist/tooltip/tooltip.js.map +1 -0
  242. package/dist/types.d.ts +94 -0
  243. package/dist/types.d.ts.map +1 -0
  244. package/dist/types.js +2 -0
  245. package/dist/types.js.map +1 -0
  246. package/dist/utils/chevron.d.ts +34 -0
  247. package/dist/utils/chevron.d.ts.map +1 -0
  248. package/dist/utils/chevron.js +38 -0
  249. package/dist/utils/chevron.js.map +1 -0
  250. package/dist/utils/index.d.ts +22 -0
  251. package/dist/utils/index.d.ts.map +1 -0
  252. package/dist/utils/index.js +22 -0
  253. package/dist/utils/index.js.map +1 -0
  254. package/dist/utils/label.d.ts +3 -0
  255. package/dist/utils/label.d.ts.map +1 -0
  256. package/dist/utils/label.js +24 -0
  257. package/dist/utils/label.js.map +1 -0
  258. package/dist/utils/list-styles.d.ts +8 -0
  259. package/dist/utils/list-styles.d.ts.map +1 -0
  260. package/dist/utils/list-styles.js +43 -0
  261. package/dist/utils/list-styles.js.map +1 -0
  262. package/dist/utils/match-width-to-reference.d.ts +24 -0
  263. package/dist/utils/match-width-to-reference.d.ts.map +1 -0
  264. package/dist/utils/match-width-to-reference.js +30 -0
  265. package/dist/utils/match-width-to-reference.js.map +1 -0
  266. package/dist/utils/syncKbdHighlightIdx.d.ts +23 -0
  267. package/dist/utils/syncKbdHighlightIdx.d.ts.map +1 -0
  268. package/dist/utils/syncKbdHighlightIdx.js +41 -0
  269. package/dist/utils/syncKbdHighlightIdx.js.map +1 -0
  270. package/dist/utils/use-infinite-loader.d.ts +32 -0
  271. package/dist/utils/use-infinite-loader.d.ts.map +1 -0
  272. package/dist/utils/use-infinite-loader.js +119 -0
  273. package/dist/utils/use-infinite-loader.js.map +1 -0
  274. package/dist/utils/use-on-click-outside.d.ts +3 -0
  275. package/dist/utils/use-on-click-outside.d.ts.map +1 -0
  276. package/dist/utils/use-on-click-outside.js +36 -0
  277. package/dist/utils/use-on-click-outside.js.map +1 -0
  278. package/package.json +106 -0
@@ -0,0 +1,164 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright 2023 Impulse Innovations Limited
4
+ *
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { useEffect, useState } from 'react';
19
+ import styled from '@darajs/styled-components';
20
+ const CheckboxWrapper = styled.label `
21
+ cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};
22
+ user-select: none;
23
+
24
+ position: relative;
25
+
26
+ display: flex;
27
+ align-items: center;
28
+
29
+ width: ${(props) => (props.isListStyle ? '100%' : 'fit-content')};
30
+ padding: 0.5625rem 0 0.5625rem 2rem;
31
+
32
+ font-size: 1rem;
33
+
34
+ border-radius: 0.25rem;
35
+
36
+ ${(props) => {
37
+ if (props.isListStyle && !props.disabled) {
38
+ return `
39
+ :hover {
40
+ background-color: ${props.theme.colors.grey1};
41
+
42
+ span {
43
+ border: 1px solid ${props.theme.colors.grey4};
44
+ }
45
+ }
46
+
47
+ :active {
48
+ background-color: ${props.theme.colors.grey2};
49
+ }
50
+ `;
51
+ }
52
+ }}
53
+
54
+ /* sets checkmark indicator */
55
+ span::after {
56
+ top: 0.05rem;
57
+ left: 0.3rem;
58
+ transform: rotate(45deg);
59
+
60
+ width: 0.3125rem;
61
+ height: 0.625rem;
62
+
63
+ border: solid ${(props) => props.theme.colors.grey5};
64
+ border-width: 0 2px 2px 0;
65
+ }
66
+
67
+ /* Show the checkmark when checked */
68
+ input:checked ~ span::after {
69
+ display: block;
70
+ }
71
+
72
+ :hover {
73
+ span,
74
+ input:checked ~ span {
75
+ background-color: ${(props) => {
76
+ if (props.disabled) {
77
+ return props.theme.colors.grey3;
78
+ }
79
+ if (props.isListStyle) {
80
+ return props.theme.colors.blue1;
81
+ }
82
+ return props.theme.colors.grey1;
83
+ }};
84
+ border: 1px solid ${(props) => props.theme.colors.grey4};
85
+ }
86
+ }
87
+
88
+ /* stylelint-disable -- messy specificity ordering */
89
+ :active {
90
+ span,
91
+ input:checked ~ span {
92
+ background-color: ${(props) => {
93
+ if (props.disabled) {
94
+ return props.theme.colors.grey3;
95
+ }
96
+ if (props.isListStyle) {
97
+ return props.theme.colors.blue1;
98
+ }
99
+ return props.theme.colors.grey2;
100
+ }};
101
+ }
102
+ }
103
+ `;
104
+ const StyledCheckbox = styled.input `
105
+ cursor: pointer;
106
+
107
+ /* Hide the browser's default checkbox */
108
+ position: absolute;
109
+
110
+ width: 0;
111
+ height: 0;
112
+
113
+ opacity: 0;
114
+
115
+ :checked ~ span {
116
+ background-color: ${(props) => (props.disabled ? props.theme.colors.grey3 : props.theme.colors.blue1)};
117
+ }
118
+ `;
119
+ const StyledCheckmark = styled.span `
120
+ position: absolute;
121
+ left: 0.5rem;
122
+
123
+ width: 1rem;
124
+ height: 1rem;
125
+
126
+ background-color: ${(props) => (props.disabled ? props.theme.colors.grey3 : props.theme.colors.blue1)};
127
+ border: 1px solid ${(props) => (props.disabled ? props.theme.colors.grey3 : props.theme.colors.grey4)};
128
+ border-radius: 0.25rem;
129
+
130
+ // hidden checkmark indicator
131
+ :after {
132
+ content: '';
133
+ position: absolute;
134
+ display: none;
135
+ }
136
+ `;
137
+ /**
138
+ * A simple checkbox component
139
+ *
140
+ * @param {CheckboxProps} props - the component props
141
+ */
142
+ function Checkbox(props) {
143
+ const [checked, setChecked] = useState(props.selected || props.initialValue);
144
+ useEffect(() => {
145
+ if (props.selected !== undefined) {
146
+ setChecked(props.selected);
147
+ }
148
+ }, [props.selected]);
149
+ const onClick = (e) => {
150
+ // Disabled removes all behaviour
151
+ if (props.disabled) {
152
+ return;
153
+ }
154
+ if (props.selected === undefined) {
155
+ setChecked(!checked);
156
+ }
157
+ if (props.onChange) {
158
+ props.onChange(!checked, e);
159
+ }
160
+ };
161
+ return (_jsxs(CheckboxWrapper, { className: props.className, disabled: props.disabled, isListStyle: props.isListStyle, children: [props.label, _jsx(StyledCheckbox, { "aria-disabled": props.disabled, checked: props.selected, disabled: props.disabled, isListStyle: props.isListStyle, onChange: (e) => onClick(e), onClick: props.onClick, type: "checkbox", value: props.id }), _jsx(StyledCheckmark, { disabled: props.disabled, isListStyle: props.isListStyle })] }));
162
+ }
163
+ export default Checkbox;
164
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { InteractiveComponentProps } from '../types';
2
+ export declare enum CheckboxState {
3
+ CHECKED = "checked",
4
+ INDETERMINATE = "indeterminate",
5
+ UNCHECKED = "unchecked"
6
+ }
7
+ export interface CheckboxProps extends InteractiveComponentProps<boolean> {
8
+ /** Set the check box to be checked */
9
+ allSelected?: boolean;
10
+ /** Set the check box to be unchecked */
11
+ noneSelected?: boolean;
12
+ /** An optional onChange handler, will be called whenever the state of the checkbox changes */
13
+ onChange?: (state: CheckboxState, e?: React.SyntheticEvent<HTMLInputElement, Event>) => void | Promise<void>;
14
+ }
15
+ /**
16
+ * A tri-state (or indeterminate) checkbox component
17
+ *
18
+ * @param {CheckboxProps} props - the component props
19
+ */
20
+ declare function TriStateCheckbox(props: CheckboxProps): JSX.Element;
21
+ export default TriStateCheckbox;
22
+ //# sourceMappingURL=tri-state-checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tri-state-checkbox.d.ts","sourceRoot":"","sources":["../../src/checkbox/tri-state-checkbox.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAGrD,oBAAY,aAAa;IACrB,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;CAC1B;AAiCD,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,OAAO,CAAC;IACrE,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChH;AAYD;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAgC3D;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright 2023 Impulse Innovations Limited
4
+ *
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ import { useEffect, useState } from 'react';
19
+ import styled from '@darajs/styled-components';
20
+ import Checkbox from './checkbox';
21
+ export var CheckboxState;
22
+ (function (CheckboxState) {
23
+ CheckboxState["CHECKED"] = "checked";
24
+ CheckboxState["INDETERMINATE"] = "indeterminate";
25
+ CheckboxState["UNCHECKED"] = "unchecked";
26
+ })(CheckboxState || (CheckboxState = {}));
27
+ const StyledTriStateCheckbox = styled.div `
28
+ ${(props) => {
29
+ if (props.state === CheckboxState.INDETERMINATE) {
30
+ return `
31
+ span:after {
32
+ display: block ;
33
+ left: 0.07rem;
34
+ top: 0.4rem;
35
+ width: 0.75rem;
36
+ border-radius: 0.25rem;
37
+ height: 0px;
38
+ border: 1px solid ${props.theme.colors.grey6};
39
+ transform: rotate(0deg)
40
+ }
41
+
42
+ `;
43
+ }
44
+ }}
45
+ `;
46
+ function computeState(allSelected, noneSelected) {
47
+ if (noneSelected) {
48
+ return CheckboxState.UNCHECKED;
49
+ }
50
+ return allSelected ? CheckboxState.CHECKED : CheckboxState.INDETERMINATE;
51
+ }
52
+ function getControlledState(allSelected, noneSelected) {
53
+ if (allSelected) {
54
+ return allSelected;
55
+ }
56
+ if (noneSelected) {
57
+ return false;
58
+ }
59
+ return undefined;
60
+ }
61
+ /**
62
+ * A tri-state (or indeterminate) checkbox component
63
+ *
64
+ * @param {CheckboxProps} props - the component props
65
+ */
66
+ function TriStateCheckbox(props) {
67
+ const [state, setState] = useState(computeState(props.allSelected, props.noneSelected));
68
+ useEffect(() => {
69
+ setState(computeState(props.allSelected, props.noneSelected));
70
+ }, [props.allSelected, props.noneSelected]);
71
+ const onClick = (checked, e) => {
72
+ setState(checked ? CheckboxState.CHECKED : CheckboxState.UNCHECKED);
73
+ if (props.onChange) {
74
+ if (state === CheckboxState.UNCHECKED) {
75
+ props.onChange(CheckboxState.CHECKED, e);
76
+ }
77
+ else {
78
+ props.onChange(CheckboxState.UNCHECKED, e);
79
+ }
80
+ }
81
+ };
82
+ return (_jsx(StyledTriStateCheckbox, { state: state, style: props.style, children: _jsx(Checkbox, { className: props.className, disabled: props.disabled, initialValue: state === CheckboxState.CHECKED, onChange: (checked, event) => {
83
+ onClick(checked, event);
84
+ }, selected: getControlledState(props.allSelected, props.noneSelected) }) }));
85
+ }
86
+ export default TriStateCheckbox;
87
+ //# sourceMappingURL=tri-state-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tri-state-checkbox.js","sourceRoot":"","sources":["../../src/checkbox/tri-state-checkbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright 2023 Impulse Innovations Limited
3
+ *
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { Language } from 'prism-react-renderer';
18
+ import { InteractiveComponentProps } from '../types';
19
+ export declare enum CodeComponentThemes {
20
+ DARK = "dark",
21
+ LIGHT = "light"
22
+ }
23
+ export interface CodeViewerProps extends InteractiveComponentProps<string> {
24
+ /** the language the code string is written in */
25
+ language: Language;
26
+ /** The code theme to display */
27
+ codeTheme?: CodeComponentThemes;
28
+ }
29
+ declare function CodeViewer(props: CodeViewerProps): JSX.Element;
30
+ export default CodeViewer;
31
+ //# sourceMappingURL=code-viewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer.d.ts","sourceRoot":"","sources":["../../src/code-viewer/code-viewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAkB,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AASzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAgCrD,oBAAY,mBAAmB;IAC3B,IAAI,SAAS;IACb,KAAK,UAAU;CAClB;AAED,MAAM,WAAW,eAAgB,SAAQ,yBAAyB,CAAC,MAAM,CAAC;IACtE,iDAAiD;IACjD,QAAQ,EAAE,QAAQ,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAYD,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAgFvD;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,115 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { createElement as _createElement } from "react";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ /**
13
+ * Copyright 2023 Impulse Innovations Limited
14
+ *
15
+ *
16
+ * Licensed under the Apache License, Version 2.0 (the "License");
17
+ * you may not use this file except in compliance with the License.
18
+ * You may obtain a copy of the License at
19
+ *
20
+ * http://www.apache.org/licenses/LICENSE-2.0
21
+ *
22
+ * Unless required by applicable law or agreed to in writing, software
23
+ * distributed under the License is distributed on an "AS IS" BASIS,
24
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25
+ * See the License for the specific language governing permissions and
26
+ * limitations under the License.
27
+ */
28
+ import Highlight, { defaultProps } from 'prism-react-renderer';
29
+ import nightOwlLight from 'prism-react-renderer/themes/nightOwlLight';
30
+ import vsDark from 'prism-react-renderer/themes/vsDark';
31
+ import { useEffect, useMemo, useState } from 'react';
32
+ import styled, { darkTheme, theme, useTheme } from '@darajs/styled-components';
33
+ import { Check, Copy } from '@darajs/ui-icons';
34
+ import { copyToClipboard } from '@darajs/ui-utils';
35
+ const CodeViewerContainer = styled.div `
36
+ display: flex;
37
+ flex: 1 1 100%;
38
+ flex-direction: column;
39
+ color: ${(props) => props.theme.colors.grey4};
40
+ `;
41
+ const TopBar = styled.div `
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: space-between;
45
+
46
+ padding: 0.5rem 1rem;
47
+
48
+ font-size: 0.875rem;
49
+
50
+ background-color: ${(props) => (props.$isLightTheme ? theme.colors.blue2 : darkTheme.colors.blue2)} !important;
51
+ border-radius: 0.25rem 0.25rem 0 0;
52
+ `;
53
+ const CopyToClipboardContainer = styled.span `
54
+ :hover {
55
+ color: ${(props) => props.theme.colors.grey5};
56
+ }
57
+
58
+ :active {
59
+ color: ${(props) => props.theme.colors.grey6};
60
+ }
61
+ `;
62
+ export var CodeComponentThemes;
63
+ (function (CodeComponentThemes) {
64
+ CodeComponentThemes["DARK"] = "dark";
65
+ CodeComponentThemes["LIGHT"] = "light";
66
+ })(CodeComponentThemes || (CodeComponentThemes = {}));
67
+ const StyledPre = styled.pre `
68
+ overflow-x: auto;
69
+
70
+ margin: 0;
71
+ padding: 1rem;
72
+
73
+ background-color: ${(props) => (props.$isLightTheme ? theme.colors.blue1 : darkTheme.colors.blue1)} !important;
74
+ border-radius: 0 0 0.25rem 0.25rem;
75
+ `;
76
+ function CodeViewer(props) {
77
+ const themeCtx = useTheme();
78
+ const [isCopied, setIsCopied] = useState(false);
79
+ useEffect(() => {
80
+ if (isCopied) {
81
+ const timer = setTimeout(() => {
82
+ setIsCopied(false);
83
+ }, 2000);
84
+ return () => clearTimeout(timer);
85
+ }
86
+ }, [isCopied]);
87
+ function copyCodeToClipboard(code) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const success = yield copyToClipboard(code);
90
+ if (success) {
91
+ setIsCopied(true);
92
+ }
93
+ else {
94
+ setIsCopied(false);
95
+ }
96
+ });
97
+ }
98
+ const viewerTheme = useMemo(() => {
99
+ if (props.codeTheme) {
100
+ if (props.codeTheme === CodeComponentThemes.LIGHT) {
101
+ return nightOwlLight;
102
+ }
103
+ return vsDark;
104
+ }
105
+ if (themeCtx.themeType === 'dark') {
106
+ return vsDark;
107
+ }
108
+ return nightOwlLight;
109
+ }, [props.codeTheme, themeCtx.themeType]);
110
+ return (_jsxs(CodeViewerContainer, { style: Object.assign({}, props.style), className: props.className, children: [_jsxs(TopBar, { "$isLightTheme": props.codeTheme !== 'dark', children: [_jsx("span", { children: props.language }), isCopied ?
111
+ _jsxs(CopyToClipboardContainer, { children: [_jsx(Check, {}), " Copied!"] })
112
+ : _jsxs(CopyToClipboardContainer, { style: { cursor: 'pointer' }, onClick: () => copyCodeToClipboard(props.value), role: "button", children: [_jsx(Copy, {}), " Copy code"] })] }), _jsx(Highlight, Object.assign({}, defaultProps, { code: props.value, language: props.language, theme: viewerTheme, children: ({ className, style, tokens, getLineProps, getTokenProps }) => (_jsx(StyledPre, { className: className, "$isLightTheme": props.codeTheme !== 'dark', style: Object.assign({}, style), children: tokens.map((line, i) => (_createElement("div", Object.assign({}, getLineProps({ key: i, line }), { key: i }), line.map((token, key) => (_createElement("code", Object.assign({}, getTokenProps({ key, token }), { key: key }))))))) })) }))] }));
113
+ }
114
+ export default CodeViewer;
115
+ //# sourceMappingURL=code-viewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-viewer.js","sourceRoot":"","sources":["../../src/code-viewer/code-viewer.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,SAAS,EAAE,EAAY,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,aAAa,MAAM,2CAA2C,CAAC;AACtE,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;aAIzB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;CAC/C,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAA6B;;;;;;;;;wBAS9B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;;CAErG,CAAC;AAEF,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAA;;iBAE3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;iBAInC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;CAEnD,CAAC;AAEF,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AASD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAA6B;;;;;;wBAMjC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;;CAErG,CAAC;AAEF,SAAS,UAAU,CAAC,KAAsB;IACtC,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,WAAW,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAe,mBAAmB,CAAC,IAAY;;YAC3C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAE5C,IAAI,OAAO,EAAE,CAAC;gBACV,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;KAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,SAAS,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAChD,OAAO,aAAa,CAAC;YACzB,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,MAAC,mBAAmB,IAChB,KAAK,oBACE,KAAK,CAAC,KAAK,GAElB,SAAS,EAAE,KAAK,CAAC,SAAS,aAE1B,MAAC,MAAM,qBAAgB,KAAK,CAAC,SAAS,KAAK,MAAM,aAC7C,yBAAO,KAAK,CAAC,QAAQ,GAAQ,EAC5B,QAAQ,CAAC,CAAC;wBACP,MAAC,wBAAwB,eACrB,KAAC,KAAK,KAAG,gBACc;wBAC/B,CAAC,CAAG,MAAC,wBAAwB,IACrB,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAC/C,IAAI,EAAC,QAAQ,aAEb,KAAC,IAAI,KAAG,kBACe,IAE1B,EACT,KAAC,SAAS,oBAAK,YAAY,IAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,YACvF,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAC5D,KAAC,SAAS,IACN,SAAS,EAAE,SAAS,mBACL,KAAK,CAAC,SAAS,KAAK,MAAM,EACzC,KAAK,oBACE,KAAK,aAGX,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,wCAAS,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAE,GAAG,EAAE,CAAC,KAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,yCAAU,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,IAAE,GAAG,EAAE,GAAG,IAAI,CACxD,CAAC,CACA,CACT,CAAC,GACM,CACf,IACO,IACM,CACzB,CAAC;AACN,CAAC;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { InteractiveComponentProps, Item } from '../types';
3
+ interface WrapperProps {
4
+ isDisabled: boolean;
5
+ isErrored: boolean;
6
+ isOpen: boolean;
7
+ }
8
+ export declare const Wrapper: import("styled-components").StyledComponent<"div", import("@darajs/styled-components").DefaultTheme, WrapperProps, never>;
9
+ interface InputWrapperProps {
10
+ disabled: boolean;
11
+ isOpen: boolean;
12
+ }
13
+ export declare const InputWrapper: import("styled-components").StyledComponent<"div", import("@darajs/styled-components").DefaultTheme, InputWrapperProps, never>;
14
+ export declare const Input: import("styled-components").StyledComponent<"input", import("@darajs/styled-components").DefaultTheme, {}, never>;
15
+ export interface ComboBoxProps extends InteractiveComponentProps<Item> {
16
+ /** Whether to open the select dropdown on load or not, defaults to false */
17
+ initialIsOpen?: boolean;
18
+ /** The items to pick from the list. Each should have a label and a value */
19
+ items: Array<Item>;
20
+ /** An optional onSelect handler for listening to changes in the selected item */
21
+ onSelect?: (item: Item) => void | Promise<void>;
22
+ /** An optional placeholder for the input field to display when nothing is selected, defaults to '' */
23
+ placeholder?: string;
24
+ /** Set the selected value to a specific value, will put the component in controlled mode. Set to `null` to reset the value. */
25
+ selectedItem?: Item;
26
+ /** Font size in rem to show in the Select */
27
+ size?: number;
28
+ /** Pass through of style property to the root element */
29
+ style?: React.CSSProperties;
30
+ }
31
+ /**
32
+ * A single select combobox component, accepts a list of items to select from and an onSelect handler to listen for
33
+ * changes. Allows to search for item by typing in combo box.
34
+ *
35
+ * @param {ComboBoxProps} props - the component props
36
+ */
37
+ declare function ComboBox(props: ComboBoxProps): JSX.Element;
38
+ export default ComboBox;
39
+ //# sourceMappingURL=combo-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combo-box.d.ts","sourceRoot":"","sources":["../../src/combo-box/combo-box.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAM3D,UAAU,YAAY;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,2HAgCnB,CAAC;AAEF,UAAU,iBAAiB;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,gIAuBxB,CAAC;AAEF,eAAO,MAAM,KAAK,mHAuBjB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,IAAI,CAAC;IAClE,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+HAA+H;IAC/H,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA0JnD;AAED,eAAe,QAAQ,CAAC"}