@koine/react 2.0.0-beta.10 → 2.0.0-beta.11

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 (216) hide show
  1. package/package.json +11 -11
  2. package/Alert/Alert.js +0 -33
  3. package/Alert/Alert.stories.js +0 -39
  4. package/Alert/index.js +0 -6
  5. package/Animations/Reveal.js +0 -53
  6. package/Animations/Underline.js +0 -26
  7. package/Animations/index.js +0 -8
  8. package/Animations/useReveal.js +0 -83
  9. package/Autocomplete/AutocompleteDownshift.js +0 -167
  10. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -362
  11. package/Autocomplete/AutocompleteMui.js +0 -183
  12. package/Autocomplete/AutocompleteReach.js +0 -121
  13. package/Autocomplete/components.js +0 -132
  14. package/Autocomplete/helpers.js +0 -34
  15. package/Autocomplete/index.js +0 -15
  16. package/Bg/BgColor.js +0 -64
  17. package/Bg/BgPhoto.js +0 -82
  18. package/Bg/BgSvg.js +0 -31
  19. package/Bg/index.js +0 -8
  20. package/Breadcrumbs/Breadcrumbs.js +0 -103
  21. package/Breadcrumbs/index.js +0 -6
  22. package/Buttons/Button.js +0 -106
  23. package/Buttons/ButtonComposite.js +0 -116
  24. package/Buttons/ButtonFab.js +0 -27
  25. package/Buttons/ButtonLink.js +0 -29
  26. package/Buttons/IconButton.js +0 -41
  27. package/Buttons/index.js +0 -10
  28. package/Calendar/CalendarDaygridCell.js +0 -105
  29. package/Calendar/CalendarDaygridNav.js +0 -63
  30. package/Calendar/CalendarDaygridTable.js +0 -126
  31. package/Calendar/CalendarLegend.js +0 -39
  32. package/Calendar/calendar-api-google.js +0 -110
  33. package/Calendar/index.js +0 -11
  34. package/Calendar/types.js +0 -4
  35. package/Calendar/useCalendar.js +0 -235
  36. package/Calendar/utils.js +0 -252
  37. package/Carousel/Carousel.js +0 -387
  38. package/Carousel/CarouselCss.js +0 -64
  39. package/Carousel/index.js +0 -6
  40. package/Collapsable/Collapsable.js +0 -11
  41. package/Collapsable/CollapsableReach.js +0 -251
  42. package/Collapsable/index.js +0 -7
  43. package/Debug/Debug.js +0 -34
  44. package/Debug/index.js +0 -6
  45. package/Details/Details.js +0 -117
  46. package/Details/Details.stories.js +0 -39
  47. package/Details/index.js +0 -6
  48. package/Dialog/DialogMui.js +0 -143
  49. package/Dialog/DialogMui.stories.js +0 -38
  50. package/Dialog/css/bare.js +0 -55
  51. package/Dialog/css/index.stories.js +0 -93
  52. package/Dialog/index.js +0 -11
  53. package/Dialog/m/bare.js +0 -125
  54. package/Dialog/m/basic.js +0 -50
  55. package/Dialog/m/index.js +0 -14
  56. package/Dialog/sc/bare.js +0 -83
  57. package/Dialog/sc/framer.js +0 -26
  58. package/Dialog/sc/framerMaterial.js +0 -26
  59. package/Dialog/sc/index.stories.js +0 -75
  60. package/Dialog/sc/material.js +0 -78
  61. package/Dialog/tw/bare.js +0 -55
  62. package/Dialog/tw/elegant.js +0 -54
  63. package/Dialog/tw/framer.js +0 -26
  64. package/Dialog/tw/framerMaterial.js +0 -26
  65. package/Dialog/tw/index.stories.js +0 -113
  66. package/Dialog/tw/material.js +0 -54
  67. package/Editor/Editor--tiptap.js +0 -72
  68. package/Editor/components.js +0 -59
  69. package/Editor/index.js +0 -6
  70. package/FaviconTags.js +0 -73
  71. package/Form/Form.js +0 -130
  72. package/Form/index.js +0 -6
  73. package/Form/sc/bare.js +0 -55
  74. package/Forms/Checkbox/Checkbox.js +0 -62
  75. package/Forms/Checkbox/index.js +0 -6
  76. package/Forms/Feedback/Feedback.js +0 -25
  77. package/Forms/Feedback/index.js +0 -6
  78. package/Forms/Field/Field.js +0 -75
  79. package/Forms/Field/FieldControl.js +0 -69
  80. package/Forms/Field/FieldHint.js +0 -17
  81. package/Forms/Field/index.js +0 -7
  82. package/Forms/Input/Input.js +0 -67
  83. package/Forms/Input/index.js +0 -6
  84. package/Forms/InputGroup/InputGroup.js +0 -85
  85. package/Forms/InputGroup/index.js +0 -6
  86. package/Forms/Label/Label.js +0 -46
  87. package/Forms/Label/index.js +0 -6
  88. package/Forms/Password/Password.js +0 -72
  89. package/Forms/Password/index.js +0 -6
  90. package/Forms/Radio/Radio.js +0 -68
  91. package/Forms/Radio/index.js +0 -6
  92. package/Forms/Switch/Switch.js +0 -80
  93. package/Forms/Switch/index.js +0 -6
  94. package/Forms/Textarea/Textarea.js +0 -45
  95. package/Forms/Textarea/TextareaRich.js +0 -58
  96. package/Forms/Textarea/index.js +0 -7
  97. package/Forms/Toggle/Toggle-tailwind.js +0 -99
  98. package/Forms/Toggle/Toggle.js +0 -175
  99. package/Forms/Toggle/index.js +0 -6
  100. package/Forms/Toggle/useToggle-tailwind.js +0 -202
  101. package/Forms/Toggle/useToggle.js +0 -145
  102. package/Forms/antispam.js +0 -59
  103. package/Forms/helpers.js +0 -72
  104. package/Forms/index.js +0 -19
  105. package/Forms/styles.js +0 -94
  106. package/Gauge/Gauge.js +0 -111
  107. package/Grid/Grid.js +0 -106
  108. package/Grid/index.js +0 -6
  109. package/Hamburger/Hamburger.js +0 -90
  110. package/Hamburger/index.js +0 -6
  111. package/Header/index.js +0 -6
  112. package/Header/useHeader.js +0 -54
  113. package/Hidden/Hidden.js +0 -21
  114. package/Hidden/index.js +0 -6
  115. package/Img/index.js +0 -6
  116. package/Img/sc/bare.js +0 -43
  117. package/Img/types.js +0 -6
  118. package/Link/Link.js +0 -13
  119. package/Link/LinkBlank.js +0 -52
  120. package/Link/index.js +0 -7
  121. package/Menu/Menu.js +0 -22
  122. package/Menu/MenuMui.js +0 -165
  123. package/Menu/index.js +0 -6
  124. package/MenuItem/MenuItem.js +0 -31
  125. package/MenuItem/MenuItemMui.js +0 -32
  126. package/MenuItem/index.js +0 -6
  127. package/MenuItem/useMenuItem.js +0 -96
  128. package/Meta/Meta.js +0 -26
  129. package/Meta/index.js +0 -12
  130. package/NoJs/NoJs.js +0 -28
  131. package/NoJs/index.js +0 -12
  132. package/Pagination/PaginationNav.js +0 -126
  133. package/Pagination/PaginationResults.js +0 -45
  134. package/Pagination/index.js +0 -7
  135. package/Pill/Pill.js +0 -62
  136. package/Pill/index.js +0 -6
  137. package/Progress/ProgressCircular.js +0 -62
  138. package/Progress/ProgressLinear.js +0 -53
  139. package/Progress/ProgressOverlay.js +0 -75
  140. package/Progress/index.js +0 -8
  141. package/Rating/Rating.js +0 -188
  142. package/Rating/index.js +0 -85
  143. package/Select/SelectDownshift.js +0 -47
  144. package/Select/components.js +0 -44
  145. package/Select/index.js +0 -13
  146. package/Sidebar/Sidebar.js +0 -74
  147. package/Sidebar/index.js +0 -6
  148. package/Spacing/Spacing.js +0 -55
  149. package/Spacing/index.js +0 -6
  150. package/Sticky/Sticky.js +0 -228
  151. package/Sticky/StickyCss.js +0 -20
  152. package/Sticky/index.js +0 -19
  153. package/Tabs/TabsMui.js +0 -91
  154. package/Tabs/TabsMui.stories.js +0 -38
  155. package/Tabs/index.js +0 -6
  156. package/Tabs/sc/bare.js +0 -86
  157. package/Tabs/sc/index.stories.js +0 -1
  158. package/Tabs/tw/bare.js +0 -45
  159. package/Tabs/tw/index.stories.js +0 -46
  160. package/Tabs/tw/material.js +0 -44
  161. package/Tabs/useTabs.js +0 -66
  162. package/Typography/CopyPasteVisible.js +0 -17
  163. package/Typography/Native.js +0 -90
  164. package/Typography/ReadMore.js +0 -125
  165. package/Typography/TextLoop.js +0 -108
  166. package/Typography/TypeStairs.js +0 -71
  167. package/Typography/index.js +0 -10
  168. package/css/index.js +0 -33
  169. package/helpers/classed.js +0 -66
  170. package/helpers/classed.stories.js +0 -140
  171. package/helpers/createUseMediaQueryWidth.js +0 -193
  172. package/helpers/extend-component.js +0 -32
  173. package/helpers/index.js +0 -9
  174. package/helpers/mergeRefs.js +0 -30
  175. package/hooks/index.js +0 -92
  176. package/hooks/types.js +0 -6
  177. package/hooks/useAsyncFn.js +0 -56
  178. package/hooks/useDateLocale.js +0 -51
  179. package/hooks/useFirstMountState.js +0 -28
  180. package/hooks/useFixedOffset.js +0 -67
  181. package/hooks/useFocus.js +0 -30
  182. package/hooks/useInterval.js +0 -44
  183. package/hooks/useIsomorphicLayoutEffect.js +0 -23
  184. package/hooks/useKeyUp.js +0 -40
  185. package/hooks/useMeasure.js +0 -189
  186. package/hooks/useMountedState.js +0 -31
  187. package/hooks/useNavigateAway.js +0 -69
  188. package/hooks/usePrevious.js +0 -33
  189. package/hooks/usePreviousRef.js +0 -27
  190. package/hooks/useScrollPosition.js +0 -83
  191. package/hooks/useScrollThreshold.js +0 -52
  192. package/hooks/useScrollTo.js +0 -39
  193. package/hooks/useSmoothScroll.js +0 -49
  194. package/hooks/useSpinDelay.js +0 -59
  195. package/hooks/useTraceUpdate.js +0 -39
  196. package/hooks/useUpdateEffect.js +0 -30
  197. package/hooks/useWindowSize.js +0 -43
  198. package/index.js +0 -10
  199. package/m/MotionProvider.js +0 -27
  200. package/m/index.js +0 -10
  201. package/m/lite.js +0 -12
  202. package/m/max.js +0 -12
  203. package/sc/index.js +0 -49
  204. package/scm/index.js +0 -40
  205. package/shared/index.js +0 -13
  206. package/styles/Body.js +0 -28
  207. package/styles/Global.js +0 -55
  208. package/styles/index.js +0 -142
  209. package/styles/media.js +0 -139
  210. package/styles/spacing.js +0 -70
  211. package/styles/styled.js +0 -58
  212. package/styles/theme--vanilla.js +0 -82
  213. package/styles/theme.js +0 -49
  214. package/tw/index.js +0 -33
  215. package/twm/index.js +0 -33
  216. package/types.js +0 -4
@@ -1,362 +0,0 @@
1
- // TODO: remove, just use mui version...
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Autocomplete", {
7
- enumerable: true,
8
- get: function() {
9
- return Autocomplete;
10
- }
11
- });
12
- const Autocomplete = null; // import {
13
- // forwardRef,
14
- // useCallback,
15
- // useEffect,
16
- // useRef,
17
- // useState,
18
- // ForwardedRef,
19
- // ReactNode,
20
- // ComponentPropsWithRef,
21
- // CSSProperties,
22
- // } from "react";
23
- // import type { SetRequired } from "@koine/utils";
24
- // import {
25
- // useCombobox,
26
- // useMultipleSelection,
27
- // UseMultipleSelectionProps,
28
- // UseMultipleSelectionStateChange,
29
- // UseMultipleSelectionReturnValue,
30
- // } from "downshift";
31
- // import { usePopper } from "react-popper"; // imports from downshift demo
32
- // // import { useDeepCompareEffect } from "react-use"; // imports from downshift demo
33
- // import type { Option } from "../types";
34
- // import {
35
- // normaliseOptions,
36
- // defaultOptionsFilterFn,
37
- // triggerOnChange,
38
- // } from "../Forms/helpers";
39
- // import {
40
- // AutocompleteRoot,
41
- // AutocompleteLabel,
42
- // AutocompleteWrap,
43
- // AutocompleteInner,
44
- // AutocompleteItem,
45
- // AutocompleteItemLabel,
46
- // AutocompleteItemRemove,
47
- // AutocompleteInputWrap,
48
- // AutocompleteInput,
49
- // AutocompleteInputArrow,
50
- // AutocompleteMenu,
51
- // AutocompleteMenuItem,
52
- // } from "./components";
53
- // const USE_POPPER = false;
54
- // export type AutocompleteItem = Option;
55
- // export type AutocompleteValue = AutocompleteItem[];
56
- // export type AutocompleteProps = SetRequired<
57
- // Omit<ComponentPropsWithRef<"input">, "defaultValue" | "onSelect">,
58
- // "onChange" | "name"
59
- // > & {
60
- // selectedItems: UseMultipleSelectionReturnValue<AutocompleteItem>["selectedItems"];
61
- // onSelectedItemsChange: UseMultipleSelectionProps<AutocompleteItem>["onSelectedItemsChange"];
62
- // onCreateItem: (item?: AutocompleteItem) => any;
63
- // creatable?: boolean;
64
- // onSelect?: (value?: AutocompleteValue) => any;
65
- // options?: AutocompleteItem[];
66
- // loadOptions?: (query?: string) => Promise<AutocompleteItem[]>;
67
- // label?: string | ReactNode;
68
- // defaultValue?: AutocompleteValue | string[];
69
- // className?: string;
70
- // style?: CSSProperties;
71
- // $ref?: ForwardedRef<HTMLInputElement>;
72
- // };
73
- // /**
74
- // * @see https://www.downshift-js.com/use-multiple-selection
75
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/hooks/useMultipleSelection/combobox.js
76
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/downshift/ordered-examples/05-multi-create.js
77
- // */
78
- // export const _Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
79
- // function _Autocomplete(
80
- // {
81
- // selectedItems,
82
- // onSelectedItemsChange,
83
- // onCreateItem,
84
- // creatable,
85
- // onSelect,
86
- // options = [],
87
- // label,
88
- // loadOptions,
89
- // $ref,
90
- // className,
91
- // style,
92
- // ...props
93
- // },
94
- // ref
95
- // ) {
96
- // options = normaliseOptions(options);
97
- // const [isCreating, setIsCreating] = useState(false);
98
- // const [filteredOptions, setFilteredOptions] = useState(options);
99
- // const disclosureRef = useRef(null);
100
- // const popoverRef = useRef(null);
101
- // const { styles, attributes } = USE_POPPER
102
- // ? usePopper(disclosureRef.current, popoverRef.current, {
103
- // placement: "bottom-start",
104
- // })
105
- // : { styles: {}, attributes: {} };
106
- // const {
107
- // getSelectedItemProps,
108
- // getDropdownProps,
109
- // addSelectedItem,
110
- // removeSelectedItem,
111
- // // selectedItems,
112
- // activeIndex,
113
- // } = useMultipleSelection<AutocompleteItem>({
114
- // selectedItems,
115
- // onSelectedItemsChange,
116
- // // onSelectedItemsChange: ({ selectedItems = [] }) => {
117
- // // triggerChange(selectedItems);
118
- // // },
119
- // // initialSelectedItems: normaliseOptions(defaultValue),
120
- // stateReducer: (_, actionAndChanges) => {
121
- // const { type, changes } = actionAndChanges;
122
- // switch (type) {
123
- // case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
124
- // return {
125
- // ...changes,
126
- // activeIndex: undefined,
127
- // };
128
- // default:
129
- // return changes;
130
- // }
131
- // },
132
- // });
133
- // const selectedItemsValues = selectedItems.map((item) => item.value);
134
- // const {
135
- // isOpen,
136
- // getToggleButtonProps,
137
- // getLabelProps,
138
- // getMenuProps,
139
- // getInputProps,
140
- // getComboboxProps,
141
- // highlightedIndex,
142
- // getItemProps,
143
- // openMenu,
144
- // selectItem,
145
- // setHighlightedIndex,
146
- // inputValue,
147
- // } = useCombobox<null | AutocompleteItem>({
148
- // selectedItem: null,
149
- // items: filteredOptions,
150
- // onInputValueChange: ({ inputValue }) => {
151
- // // perhaps allows the optionsFilterFn as prop
152
- // const filteredItems = defaultOptionsFilterFn(options, inputValue);
153
- // if (creatable && isCreating && filteredItems.length > 0) {
154
- // setIsCreating(false);
155
- // }
156
- // setFilteredOptions(filteredItems);
157
- // },
158
- // stateReducer: (state, actionAndChanges) => {
159
- // const { changes, type } = actionAndChanges;
160
- // switch (type) {
161
- // case useCombobox.stateChangeTypes.InputBlur:
162
- // return {
163
- // ...changes,
164
- // highlightedIndex: state.highlightedIndex,
165
- // // clear input on blur to avoid have "pending" uncompleted behaviours
166
- // inputValue: "",
167
- // };
168
- // case useCombobox.stateChangeTypes.InputKeyDownEnter:
169
- // case useCombobox.stateChangeTypes.ItemClick:
170
- // return {
171
- // ...changes,
172
- // highlightedIndex: state.highlightedIndex,
173
- // isOpen: true,
174
- // inputValue: "",
175
- // };
176
- // default:
177
- // return changes;
178
- // }
179
- // },
180
- // onStateChange: ({ type, selectedItem }) => {
181
- // switch (type) {
182
- // case useCombobox.stateChangeTypes.InputKeyDownEnter:
183
- // case useCombobox.stateChangeTypes.ItemClick:
184
- // if (selectedItem) {
185
- // if (selectedItemsValues.includes(selectedItem.value)) {
186
- // removeSelectedItem(selectedItem);
187
- // } else {
188
- // if (creatable && onCreateItem) {
189
- // onCreateItem(selectedItem);
190
- // }
191
- // addSelectedItem(selectedItem);
192
- // if (isCreating) {
193
- // setIsCreating(false);
194
- // setFilteredOptions(options);
195
- // }
196
- // }
197
- // selectItem(null);
198
- // }
199
- // break;
200
- // default:
201
- // break;
202
- // }
203
- // },
204
- // });
205
- // useEffect(() => {
206
- // if (
207
- // creatable &&
208
- // filteredOptions.length === 0 &&
209
- // activeIndex === -1 &&
210
- // inputValue.length > 0
211
- // ) {
212
- // setIsCreating(true);
213
- // setFilteredOptions(normaliseOptions([inputValue]));
214
- // setHighlightedIndex(0);
215
- // }
216
- // }, [
217
- // creatable,
218
- // filteredOptions,
219
- // setIsCreating,
220
- // setHighlightedIndex,
221
- // inputValue,
222
- // activeIndex,
223
- // ]);
224
- // // useEffect(() => {
225
- // // setSelectedItems(normaliseOptions(defaultValue));
226
- // // }, [defaultValue]);
227
- // // useDeepCompareEffect(() => {
228
- // // setFilteredOptions(options);
229
- // // }, [options]);
230
- // // useDeepCompareEffect(() => {
231
- // // triggerChange(values);
232
- // // }, [values]);
233
- // return (
234
- // <AutocompleteRoot>
235
- // {label && (
236
- // <AutocompleteLabel {...getLabelProps()}>{label}</AutocompleteLabel>
237
- // )}
238
- // <AutocompleteWrap
239
- // {...getComboboxProps({
240
- // ref: disclosureRef,
241
- // })}
242
- // >
243
- // <AutocompleteInner>
244
- // {selectedItems.map((selectedItem, index) => (
245
- // <AutocompleteItem
246
- // key={`selected-item-${index}`}
247
- // {...getSelectedItemProps({ selectedItem, index })}
248
- // >
249
- // <AutocompleteItemLabel>
250
- // {selectedItem?.label || selectedItem}
251
- // </AutocompleteItemLabel>
252
- // <AutocompleteItemRemove
253
- // onClick={(e) => {
254
- // e.stopPropagation();
255
- // removeSelectedItem(selectedItem);
256
- // }}
257
- // >
258
- // &#10005;
259
- // </AutocompleteItemRemove>
260
- // </AutocompleteItem>
261
- // ))}
262
- // <AutocompleteInputWrap>
263
- // <AutocompleteInput
264
- // {...getInputProps({
265
- // ...getDropdownProps({
266
- // // this option used in the official example prevents the
267
- // // backspace key to behave correctly
268
- // // preventKeyAction: isOpen,
269
- // onClick: isOpen ? () => {} : openMenu,
270
- // onFocus: isOpen ? () => {} : openMenu,
271
- // ref: $ref || ref,
272
- // // ref: disclosureRef,
273
- // }),
274
- // // ref: $ref || ref,
275
- // })}
276
- // {...props}
277
- // />
278
- // </AutocompleteInputWrap>
279
- // </AutocompleteInner>
280
- // {!!filteredOptions.length && (
281
- // <AutocompleteInputArrow
282
- // {...getToggleButtonProps()}
283
- // aria-label={"toggle menu"}
284
- // isOpen={isOpen}
285
- // />
286
- // )}
287
- // </AutocompleteWrap>
288
- // <AutocompleteMenu
289
- // style={styles.popper}
290
- // {...attributes.popper}
291
- // {...getMenuProps({ ref: popoverRef })}
292
- // >
293
- // {isOpen &&
294
- // filteredOptions.map((item, index) => (
295
- // <AutocompleteMenuItem
296
- // $active={highlightedIndex === index}
297
- // key={`${item.value}${index}`}
298
- // {...getItemProps({ item, index })}
299
- // >
300
- // {isCreating ? (
301
- // <>
302
- // <span>+</span> <strong>{item.label}</strong>
303
- // </>
304
- // ) : (
305
- // <>
306
- // {/* {selectedItemsValues.includes(item.value) && (
307
- // <CheckboxToggle />
308
- // )} */}
309
- // {item.label}
310
- // </>
311
- // )}
312
- // </AutocompleteMenuItem>
313
- // ))}
314
- // </AutocompleteMenu>
315
- // </AutocompleteRoot>
316
- // );
317
- // }
318
- // );
319
- // /**
320
- // * @see https://www.downshift-js.com/use-multiple-selection
321
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/hooks/useMultipleSelection/combobox.js
322
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/downshift/ordered-examples/05-multi-create.js
323
- // */
324
- // export const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
325
- // function Autocomplete(
326
- // { defaultValue = [], onChange, onSelect, name, ...props },
327
- // ref
328
- // ) {
329
- // const [selectedItems, setSelectedItems] = useState(
330
- // normaliseOptions(defaultValue)
331
- // );
332
- // const triggerChange = useCallback(
333
- // (values: AutocompleteValue) => {
334
- // triggerOnChange(
335
- // onChange,
336
- // name,
337
- // values.map((item) => item.value || item)
338
- // );
339
- // if (onSelect) onSelect(values);
340
- // },
341
- // [onChange, onSelect, name]
342
- // );
343
- // const handleCreateItem = (item?: AutocompleteItem) => {
344
- // // setSelectedItems((curr) => [...curr, item]);
345
- // };
346
- // const handleSelectedItemsChange = ({
347
- // selectedItems = [],
348
- // }: UseMultipleSelectionStateChange<AutocompleteItem>) => {
349
- // setSelectedItems(selectedItems);
350
- // triggerChange(selectedItems);
351
- // };
352
- // return (
353
- // <_Autocomplete
354
- // {...props}
355
- // selectedItems={selectedItems}
356
- // onSelectedItemsChange={handleSelectedItemsChange}
357
- // onCreateItem={handleCreateItem}
358
- // $ref={ref}
359
- // />
360
- // );
361
- // }
362
- // );
@@ -1,183 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Autocomplete", {
6
- enumerable: true,
7
- get: function() {
8
- return Autocomplete;
9
- }
10
- });
11
- const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
12
- const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
- const _jsxruntime = require("react/jsx-runtime");
14
- const _useAutocomplete = /*#__PURE__*/ _interop_require_default._(require("@mui/base/useAutocomplete"));
15
- const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
16
- const _isString = /*#__PURE__*/ _interop_require_default._(require("@koine/utils/isString"));
17
- const _helpers = require("../Forms/helpers");
18
- const _styles = require("../Forms/styles");
19
- const _components = require("./components");
20
- const _helpers1 = require("./helpers");
21
- const Autocomplete = ({ creatable, multiple, autoComplete, loadOptions, options: defaultOptions = [], defaultValue, value: controlledValue, defaultInputValue, label, placeholder, register, setValue, // trigger,
22
- name, onChange, $ref, children, ...props })=>{
23
- const defaultOptionsMemo = (0, _react.useMemo)(()=>(0, _helpers.normaliseOptions)(defaultOptions), [
24
- defaultOptions
25
- ]);
26
- const [options, setOptions] = (0, _react.useState)(defaultOptionsMemo);
27
- const [loading, setLoading] = (0, _react.useState)(false);
28
- const { getRootProps, getInputLabelProps, getInputProps, getTagProps, getListboxProps, getOptionProps, getPopupIndicatorProps, groupedOptions, value: stateValue, setAnchorEl, popupOpen, focused } = (0, _useAutocomplete.default)({
29
- id: "Autocomplete",
30
- multiple: multiple ? true : undefined,
31
- freeSolo: creatable ? true : undefined,
32
- // autoComplete: autoComplete ? true : undefined,
33
- disableCloseOnSelect: true,
34
- openOnFocus: true,
35
- blurOnSelect: autoComplete && !multiple,
36
- selectOnFocus: creatable,
37
- // TODO: passing the defaultInputValue makes the input controlled, which is
38
- // not what I want, so we probably need to handle the input default value
39
- // ourselves
40
- // inputValue: defaultInputValue,
41
- // @ts-expect-error FIXME: how?
42
- defaultValue,
43
- // @ts-expect-error FIXME: how?
44
- value: controlledValue,
45
- // defaultValue: useMemo(
46
- // () => normaliseAutocompleteValue(defaultValue, multiple),
47
- // [defaultValue]
48
- // ),
49
- options: (0, _react.useMemo)(()=>loadOptions ? options : defaultOptions, [
50
- loadOptions,
51
- options,
52
- defaultOptions
53
- ]),
54
- // update input change only if we are searching as you type, @see
55
- // https://mui.com/components/autocomplete/#search-as-you-type
56
- onInputChange: (0, _react.useCallback)(async (_event, inputValue)=>{
57
- if (!loadOptions) {
58
- return;
59
- }
60
- if (inputValue) {
61
- setLoading(true);
62
- try {
63
- const newOptions = await loadOptions(inputValue);
64
- setOptions(newOptions);
65
- } catch (e) {
66
- console.warn(e);
67
- } finally{
68
- setLoading(false);
69
- }
70
- } else {
71
- setOptions(options);
72
- // TODO: clear like behaviour?
73
- // triggerChange({ value: "", label: "" });
74
- }
75
- }, [
76
- loadOptions,
77
- options
78
- ]),
79
- // TODO: check if we need this, probably, and check how to structure the
80
- // callback, here we get the actual input event
81
- onChange: (event, newValue)=>{
82
- const value = (0, _helpers1.normaliseAutocompleteValue)(newValue, multiple);
83
- // @ts-expect-error FIXME: how?
84
- if (onChange) onChange(newValue);
85
- if (setValue) setValue(name, value, {
86
- shouldValidate: true
87
- });
88
- // triggerOnChange(onChange, name, value);
89
- },
90
- // support both freeSolo free text and full option structure
91
- isOptionEqualToValue: (option, value)=>{
92
- const optValue = (0, _isString.default)(option) ? option : option.value;
93
- const valValue = (0, _isString.default)(value) ? value : value.value;
94
- return optValue === valValue;
95
- },
96
- getOptionLabel: (option)=>{
97
- // @ts-expect-error TODO: I don't get this error
98
- return (0, _isString.default)(option) ? option : option.label || "";
99
- }
100
- });
101
- const value = typeof controlledValue !== "undefined" ? controlledValue : stateValue;
102
- const inputProps = ()=>{
103
- const autocompleteProps = getInputProps();
104
- // here we merge the mui's `useAutocomplete` props with the react-hook-form's
105
- // `register` props
106
- const registerProps = register ? register(name, {
107
- // @ts-expect-error FIXME: can't remember
108
- ref: autocompleteProps.ref.current,
109
- // this makes the validation works when a valid `defaultValue`
110
- // is provided
111
- value: (0, _helpers1.normaliseAutocompleteValue)(value, multiple)
112
- }) : {};
113
- return {
114
- ...registerProps,
115
- ...autocompleteProps
116
- };
117
- };
118
- // to focus the input on error this works too
119
- // @see https://react-hook-form.com/faqs#question12 but probably it is
120
- // better to do as now passing the input ref to the register options
121
- // useEffect(() => {
122
- // if (errors[name]) {
123
- // inputProps.ref.current.focus();
124
- // }
125
- // }, [errors, name, inputProps.ref]);
126
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.AutocompleteRoot, {
127
- children: [
128
- label && /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteLabel, {
129
- ...getInputLabelProps(),
130
- children: label
131
- }),
132
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.AutocompleteWrap, {
133
- ...getRootProps(),
134
- "data-focus": focused,
135
- children: [
136
- /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.AutocompleteInner, {
137
- ref: setAnchorEl,
138
- children: [
139
- multiple && value.map((valueItem, index)=>{
140
- const { onDelete, key, ...tagProps } = getTagProps({
141
- index
142
- });
143
- return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_components.AutocompleteItem, {
144
- ...tagProps,
145
- children: [
146
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteItemLabel, {
147
- children: (0, _isString.default)(valueItem) ? valueItem : valueItem.Label || valueItem.label
148
- }),
149
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteItemRemove, {
150
- onClick: onDelete,
151
- children: "✕"
152
- })
153
- ]
154
- }, key);
155
- }),
156
- /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteInput, {
157
- ...inputProps(),
158
- placeholder: placeholder
159
- })
160
- ]
161
- }),
162
- !!options.length && /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteInputArrow, {
163
- ...getPopupIndicatorProps(),
164
- isOpen: popupOpen
165
- }),
166
- loading && /*#__PURE__*/ (0, _jsxruntime.jsx)(_styles.InputProgress, {})
167
- ]
168
- }),
169
- groupedOptions.length ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteMenu, {
170
- ...getListboxProps(),
171
- children: groupedOptions.map((option, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_components.AutocompleteMenuItem, {
172
- ...getOptionProps({
173
- option,
174
- index
175
- }),
176
- children: (0, _isString.default)(option) ? option : option.Label || option.label
177
- }, index))
178
- }) : null,
179
- children
180
- ]
181
- });
182
- // });
183
- };
@@ -1,121 +0,0 @@
1
- // TODO: remove, just use mui version...
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Autocomplete", {
7
- enumerable: true,
8
- get: function() {
9
- return Autocomplete;
10
- }
11
- });
12
- const Autocomplete = null; // import {
13
- // forwardRef,
14
- // useCallback,
15
- // useState,
16
- // ForwardedRef,
17
- // ReactNode,
18
- // ComponentPropsWithRef,
19
- // CSSProperties,
20
- // ChangeEventHandler,
21
- // } from "react";
22
- // import {
23
- // Combobox,
24
- // ComboboxInput,
25
- // ComboboxPopover,
26
- // ComboboxList,
27
- // ComboboxOption,
28
- // ComboboxOptionText,
29
- // } from "@reach/combobox";
30
- // import {
31
- // AutocompleteRoot,
32
- // AutocompleteInput,
33
- // AutocompleteLabel,
34
- // } from "./components";
35
- // import type { Option } from "../types";
36
- // import type { SetRequired } from "@koine/utils";
37
- // export type AutocompleteOption =
38
- // | null
39
- // | (Option & {
40
- // key: string;
41
- // });
42
- // export type AutocompleteProps = SetRequired<
43
- // ComponentPropsWithRef<"input">,
44
- // "onChange" | "name"
45
- // > & {
46
- // onSelect?: (option?: AutocompleteOption) => any;
47
- // options: AutocompleteOption[];
48
- // loadOptions: (query?: string) => Promise<AutocompleteOption[]>;
49
- // label?: string | ReactNode;
50
- // className?: string;
51
- // style?: CSSProperties;
52
- // $ref: ForwardedRef<HTMLInputElement>;
53
- // };
54
- // export const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
55
- // function Autocomplete(
56
- // {
57
- // options = [],
58
- // label,
59
- // name,
60
- // value,
61
- // onChange,
62
- // loadOptions,
63
- // $ref,
64
- // className,
65
- // style,
66
- // ...props
67
- // },
68
- // ref
69
- // ) {
70
- // const [items, setItems] = useState(options);
71
- // const [loading, setLoading] = useState(false);
72
- // const handleInputValueChange: ChangeEventHandler<HTMLInputElement> =
73
- // useCallback(
74
- // async (event) => {
75
- // const inputValue = event.target.value;
76
- // if (loadOptions) {
77
- // setLoading(true);
78
- // try {
79
- // const newOptions = await loadOptions(inputValue);
80
- // setItems(newOptions);
81
- // } catch (e) {}
82
- // setLoading(false);
83
- // }
84
- // },
85
- // [loadOptions]
86
- // );
87
- // return (
88
- // <AutocompleteRoot>
89
- // {label && <AutocompleteLabel>{label}</AutocompleteLabel>}
90
- // <Combobox aria-label="choose a fruit" openOnFocus={true}>
91
- // <AutocompleteInput
92
- // forwardedAs={ComboboxInput}
93
- // ref={$ref}
94
- // onChange={handleInputValueChange}
95
- // selectOnClick={true}
96
- // autocomplete={false}
97
- // />
98
- // {(!!items.length || loading) && (
99
- // <ComboboxPopover>
100
- // <ComboboxList persistSelection>
101
- // {items
102
- // // .filter(item => !inputValue || item.includes(inputValue))
103
- // .map(
104
- // (item, index) =>
105
- // item && (
106
- // <ComboboxOption
107
- // key={`${item.value}${index}`}
108
- // value={item.label}
109
- // >
110
- // <ComboboxOptionText />
111
- // </ComboboxOption>
112
- // )
113
- // )}
114
- // </ComboboxList>
115
- // </ComboboxPopover>
116
- // )}
117
- // </Combobox>
118
- // </AutocompleteRoot>
119
- // );
120
- // }
121
- // );