@webiny/admin-ui 6.0.0-alpha.0 → 6.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/Accordion/Accordion.d.ts +1 -20
  2. package/Accordion/Accordion.js.map +1 -1
  3. package/Accordion/Accordion.mdx +11 -4
  4. package/Accordion/Accordion.stories.d.ts +1 -1
  5. package/Accordion/Accordion.stories.js +15 -9
  6. package/Accordion/Accordion.stories.js.map +1 -1
  7. package/Accordion/components/AccordionContent.js +1 -1
  8. package/Accordion/components/AccordionContent.js.map +1 -1
  9. package/Accordion/components/AccordionItem.d.ts +1 -19
  10. package/Accordion/components/AccordionItem.js +3 -7
  11. package/Accordion/components/AccordionItem.js.map +1 -1
  12. package/Accordion/components/AccordionItemAction.d.ts +1 -1
  13. package/Accordion/components/AccordionItemAction.js.map +1 -1
  14. package/Accordion/components/AccordionItemDragHandle.d.ts +8 -0
  15. package/Accordion/components/AccordionItemDragHandle.js +36 -0
  16. package/Accordion/components/AccordionItemDragHandle.js.map +1 -0
  17. package/Accordion/components/AccordionItemIcon.d.ts +1 -1
  18. package/Accordion/components/AccordionItemIcon.js.map +1 -1
  19. package/Accordion/components/AccordionTrigger.d.ts +2 -2
  20. package/Accordion/components/AccordionTrigger.js +5 -4
  21. package/Accordion/components/AccordionTrigger.js.map +1 -1
  22. package/Alert/Alert.d.ts +1 -1
  23. package/AutoComplete/AutoComplete.d.ts +2 -2
  24. package/AutoComplete/AutoComplete.js.map +1 -1
  25. package/AutoComplete/domains/AutoCompleteOption.d.ts +1 -1
  26. package/AutoComplete/domains/AutoCompleteOption.js.map +1 -1
  27. package/AutoComplete/domains/AutoCompleteOptionDto.d.ts +1 -1
  28. package/AutoComplete/domains/AutoCompleteOptionDto.js.map +1 -1
  29. package/AutoComplete/primitives/AutoCompletePrimitive.d.ts +3 -6
  30. package/AutoComplete/primitives/AutoCompletePrimitive.js +1 -0
  31. package/AutoComplete/primitives/AutoCompletePrimitive.js.map +1 -1
  32. package/AutoComplete/primitives/AutoCompletePrimitive.stories.d.ts +3 -0
  33. package/AutoComplete/primitives/AutoCompletePrimitive.stories.js +30 -0
  34. package/AutoComplete/primitives/AutoCompletePrimitive.stories.js.map +1 -1
  35. package/AutoComplete/primitives/components/AutoCompleteInputIcons.d.ts +1 -0
  36. package/AutoComplete/primitives/components/AutoCompleteInputIcons.js +3 -2
  37. package/AutoComplete/primitives/components/AutoCompleteInputIcons.js.map +1 -1
  38. package/AutoComplete/primitives/components/AutoCompleteList.d.ts +1 -1
  39. package/AutoComplete/primitives/components/AutoCompleteList.js.map +1 -1
  40. package/AutoComplete/primitives/presenters/AutoCompleteListOptionsPresenter.d.ts +2 -2
  41. package/AutoComplete/primitives/presenters/AutoCompleteListOptionsPresenter.js.map +1 -1
  42. package/AutoComplete/primitives/presenters/AutoCompletePresenter.d.ts +3 -3
  43. package/AutoComplete/primitives/presenters/AutoCompletePresenter.js.map +1 -1
  44. package/AutoComplete/primitives/useAutoComplete.d.ts +1 -1
  45. package/AutoComplete/primitives/useAutoComplete.js.map +1 -1
  46. package/Button/Button.js +2 -2
  47. package/Button/Button.js.map +1 -1
  48. package/Button/CopyButton.d.ts +2 -3
  49. package/Button/CopyButton.js.map +1 -1
  50. package/Button/IconButton.d.ts +1 -1
  51. package/Button/IconButton.js +2 -2
  52. package/Button/IconButton.js.map +1 -1
  53. package/Card/Card.d.ts +2 -1
  54. package/Card/Card.js.map +1 -1
  55. package/Card/components/CardFooter.d.ts +1 -1
  56. package/Card/components/CardFooter.js.map +1 -1
  57. package/Card/components/CardHeader.d.ts +1 -1
  58. package/Card/components/CardHeader.js.map +1 -1
  59. package/Card/components/CardRoot.d.ts +4 -4
  60. package/Card/components/CardRoot.js.map +1 -1
  61. package/Checkbox/Checkbox.d.ts +2 -2
  62. package/Checkbox/Checkbox.js.map +1 -1
  63. package/Checkbox/domains/CheckboxItem.d.ts +1 -1
  64. package/Checkbox/domains/CheckboxItem.js.map +1 -1
  65. package/Checkbox/domains/CheckboxItemDto.d.ts +1 -1
  66. package/Checkbox/domains/CheckboxItemDto.js.map +1 -1
  67. package/Checkbox/domains/CheckboxItemFormatted.d.ts +1 -1
  68. package/Checkbox/domains/CheckboxItemFormatted.js.map +1 -1
  69. package/Checkbox/domains/CheckboxItemMapper.d.ts +2 -2
  70. package/Checkbox/domains/CheckboxItemMapper.js.map +1 -1
  71. package/Checkbox/primitives/CheckboxPrimitive.d.ts +6 -0
  72. package/Checkbox/primitives/presenters/CheckboxPresenter.d.ts +1 -1
  73. package/Checkbox/primitives/presenters/CheckboxPresenter.js.map +1 -1
  74. package/Checkbox/primitives/useCheckbox.d.ts +1 -1
  75. package/Checkbox/primitives/useCheckbox.js.map +1 -1
  76. package/CheckboxGroup/CheckboxGroup.d.ts +2 -2
  77. package/CheckboxGroup/CheckboxGroup.js.map +1 -1
  78. package/CheckboxGroup/primitives/CheckboxGroupPrimitive.d.ts +1 -1
  79. package/CheckboxGroup/primitives/CheckboxGroupPrimitive.js.map +1 -1
  80. package/CheckboxGroup/primitives/presenters/CheckboxGroupPresenter.d.ts +1 -1
  81. package/CheckboxGroup/primitives/presenters/CheckboxGroupPresenter.js.map +1 -1
  82. package/CheckboxGroup/primitives/useCheckboxGroup.d.ts +1 -1
  83. package/CheckboxGroup/primitives/useCheckboxGroup.js.map +1 -1
  84. package/CodeEditor/CodeEditor.d.ts +2 -2
  85. package/CodeEditor/CodeEditor.js.map +1 -1
  86. package/CodeEditor/CodeEditorPrimitive.d.ts +1 -3
  87. package/CodeEditor/CodeEditorPrimitive.js +1 -2
  88. package/CodeEditor/CodeEditorPrimitive.js.map +1 -1
  89. package/ColorPicker/ColorPicker.d.ts +2 -2
  90. package/ColorPicker/ColorPicker.js.map +1 -1
  91. package/ColorPicker/primitives/presenters/ColorPickerPresenter.d.ts +1 -1
  92. package/ColorPicker/primitives/presenters/ColorPickerPresenter.js.map +1 -1
  93. package/ColorPicker/primitives/presenters/ColorPickerPresenter.test.js.map +1 -1
  94. package/ColorPicker/primitives/useColorPicker.d.ts +1 -1
  95. package/ColorPicker/primitives/useColorPicker.js.map +1 -1
  96. package/Command/Command.d.ts +5 -5
  97. package/Command/components/Input.d.ts +1 -1
  98. package/Command/components/Input.js.map +1 -1
  99. package/Command/domain/CommandOption.d.ts +1 -1
  100. package/Command/domain/CommandOption.js.map +1 -1
  101. package/Command/domain/CommandOptionFormatter.d.ts +2 -2
  102. package/Command/domain/CommandOptionFormatter.js.map +1 -1
  103. package/DataList/DataList.d.ts +1 -1
  104. package/DataList/DataList.js.map +1 -1
  105. package/DataList/DataListIcons.d.ts +1 -1
  106. package/DataList/DataListIcons.js.map +1 -1
  107. package/DataList/DataListWithSections.d.ts +1 -1
  108. package/DataList/DataListWithSections.js.map +1 -1
  109. package/DataList/components/Filters.d.ts +1 -1
  110. package/DataList/components/Filters.js.map +1 -1
  111. package/DataList/components/Loader.d.ts +1 -1
  112. package/DataList/components/Loader.js.map +1 -1
  113. package/DataList/components/MultiSelectActions.d.ts +1 -1
  114. package/DataList/components/MultiSelectActions.js.map +1 -1
  115. package/DataList/components/MultiSelectAll.d.ts +1 -1
  116. package/DataList/components/MultiSelectAll.js.map +1 -1
  117. package/DataList/components/Pagination.d.ts +1 -1
  118. package/DataList/components/Pagination.js.map +1 -1
  119. package/DataList/components/RefreshButton.d.ts +1 -1
  120. package/DataList/components/RefreshButton.js.map +1 -1
  121. package/DataList/components/Sorters.d.ts +1 -1
  122. package/DataList/components/Sorters.js.map +1 -1
  123. package/DataTable/DataTable.d.ts +1 -1
  124. package/DataTable/DataTable.js.map +1 -1
  125. package/DataTable/DataTable.stories.d.ts +2 -1
  126. package/DataTable/DataTable.stories.js.map +1 -1
  127. package/DataTable/components/ColumnsVisibility.d.ts +1 -1
  128. package/DataTable/components/ColumnsVisibility.js.map +1 -1
  129. package/Dialog/components/CancelButton.d.ts +1 -1
  130. package/Dialog/components/CancelButton.js.map +1 -1
  131. package/Dialog/components/ConfirmButton.d.ts +1 -1
  132. package/Dialog/components/ConfirmButton.js.map +1 -1
  133. package/Dialog/components/DialogContent.d.ts +1 -1
  134. package/Dialog/components/DialogFooter.d.ts +1 -1
  135. package/Dialog/components/DialogTitle.d.ts +1 -1
  136. package/Dialog/components/Icon.d.ts +1 -1
  137. package/Dialog/components/Icon.js.map +1 -1
  138. package/Drawer/components/CancelButton.d.ts +1 -1
  139. package/Drawer/components/CancelButton.js.map +1 -1
  140. package/Drawer/components/ConfirmButton.d.ts +1 -1
  141. package/Drawer/components/ConfirmButton.js.map +1 -1
  142. package/Drawer/components/Icon.d.ts +1 -1
  143. package/Drawer/components/Icon.js.map +1 -1
  144. package/DropdownMenu/components/DropdownMenuItem.d.ts +1 -1
  145. package/DropdownMenu/components/DropdownMenuItem.js.map +1 -1
  146. package/FilePicker/FilePicker.js +9 -13
  147. package/FilePicker/FilePicker.js.map +1 -1
  148. package/FilePicker/domains/FileItemFormatter.d.ts +1 -1
  149. package/FilePicker/domains/FileItemFormatter.js.map +1 -1
  150. package/FilePicker/primitives/FilePickerPrimitive.d.ts +12 -8
  151. package/FilePicker/primitives/FilePickerPrimitive.js +15 -5
  152. package/FilePicker/primitives/FilePickerPrimitive.js.map +1 -1
  153. package/FilePicker/primitives/components/Description.d.ts +8 -0
  154. package/FilePicker/primitives/components/Description.js +19 -0
  155. package/FilePicker/primitives/components/Description.js.map +1 -0
  156. package/FilePicker/primitives/components/Label.d.ts +3 -3
  157. package/FilePicker/primitives/components/Label.js +8 -9
  158. package/FilePicker/primitives/components/Label.js.map +1 -1
  159. package/FilePicker/primitives/components/Trigger.js +22 -16
  160. package/FilePicker/primitives/components/Trigger.js.map +1 -1
  161. package/FilePicker/primitives/components/index.d.ts +1 -0
  162. package/FilePicker/primitives/components/index.js +1 -0
  163. package/FilePicker/primitives/components/index.js.map +1 -1
  164. package/FilePicker/primitives/components/previews/FilePreview.d.ts +2 -2
  165. package/FilePicker/primitives/components/previews/FilePreview.js.map +1 -1
  166. package/FilePicker/primitives/components/types.d.ts +2 -2
  167. package/FilePicker/primitives/components/types.js.map +1 -1
  168. package/FormComponent/FormComponent.d.ts +2 -2
  169. package/FormComponent/FormComponent.js.map +1 -1
  170. package/FormComponent/Label.js.map +1 -1
  171. package/Grid/Grid.d.ts +4 -4
  172. package/Heading/Heading.d.ts +1 -1
  173. package/IconPicker/IconPicker.d.ts +2 -2
  174. package/IconPicker/IconPicker.js.map +1 -1
  175. package/IconPicker/domains/IconPickerFontAwesome.d.ts +1 -1
  176. package/IconPicker/domains/IconPickerFontAwesome.js.map +1 -1
  177. package/IconPicker/domains/IconPickerIcon.d.ts +1 -1
  178. package/IconPicker/domains/IconPickerIcon.js.map +1 -1
  179. package/IconPicker/domains/IconPickerIconFormatter.d.ts +2 -2
  180. package/IconPicker/domains/IconPickerIconFormatter.js.map +1 -1
  181. package/IconPicker/primitives/IconPickerPrimitive.d.ts +2 -2
  182. package/IconPicker/primitives/IconPickerPrimitive.js.map +1 -1
  183. package/IconPicker/primitives/components/IconPickerGrid.d.ts +1 -1
  184. package/IconPicker/primitives/components/IconPickerGrid.js.map +1 -1
  185. package/IconPicker/primitives/components/IconPickerIcon.d.ts +1 -1
  186. package/IconPicker/primitives/components/IconPickerIcon.js.map +1 -1
  187. package/IconPicker/primitives/components/IconPickerInput.js.map +1 -1
  188. package/IconPicker/primitives/presenters/IconPickerPresenter.d.ts +1 -1
  189. package/IconPicker/primitives/presenters/IconPickerPresenter.js.map +1 -1
  190. package/IconPicker/primitives/useIconPicker.d.ts +1 -1
  191. package/IconPicker/primitives/useIconPicker.js.map +1 -1
  192. package/Input/InputPrimitive.d.ts +5 -14
  193. package/Input/InputPrimitive.js +15 -124
  194. package/Input/InputPrimitive.js.map +1 -1
  195. package/Input/InputPrimitive.stories.js +19 -4
  196. package/Input/InputPrimitive.stories.js.map +1 -1
  197. package/Link/Link.d.ts +1 -1
  198. package/List/components/ListItemAction.d.ts +1 -1
  199. package/List/components/ListItemAction.js.map +1 -1
  200. package/List/components/ListItemHandle.d.ts +1 -1
  201. package/List/components/ListItemHandle.js.map +1 -1
  202. package/List/components/ListItemIcon.d.ts +1 -1
  203. package/List/components/ListItemIcon.js.map +1 -1
  204. package/Loader/OverlayLoader.d.ts +1 -1
  205. package/Loader/OverlayLoader.js.map +1 -1
  206. package/MultiAutoComplete/MultiAutoComplete.d.ts +2 -2
  207. package/MultiAutoComplete/MultiAutoComplete.js.map +1 -1
  208. package/MultiAutoComplete/domains/MultiAutoCompleteOption.d.ts +1 -1
  209. package/MultiAutoComplete/domains/MultiAutoCompleteOption.js.map +1 -1
  210. package/MultiAutoComplete/domains/MultiAutoCompleteOptionDto.d.ts +1 -1
  211. package/MultiAutoComplete/domains/MultiAutoCompleteOptionDto.js.map +1 -1
  212. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.d.ts +3 -3
  213. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js +1 -0
  214. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.js.map +1 -1
  215. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.d.ts +3 -0
  216. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.js +78 -4
  217. package/MultiAutoComplete/primitives/MultiAutoCompletePrimitive.stories.js.map +1 -1
  218. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.d.ts +2 -2
  219. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.js +7 -13
  220. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.js.map +1 -1
  221. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.d.ts +1 -0
  222. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.js +3 -2
  223. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInputIcons.js.map +1 -1
  224. package/MultiAutoComplete/primitives/components/MultiAutoCompleteList.d.ts +1 -1
  225. package/MultiAutoComplete/primitives/components/MultiAutoCompleteList.js.map +1 -1
  226. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.d.ts +2 -2
  227. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.js.map +1 -1
  228. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.d.ts +2 -2
  229. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.js.map +1 -1
  230. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.d.ts +5 -5
  231. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.js +4 -1
  232. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.js.map +1 -1
  233. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenter.test.js.map +1 -1
  234. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.d.ts +2 -2
  235. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.js.map +1 -1
  236. package/MultiAutoComplete/primitives/presenters/MultiAutoCompletePresenterWithFreeInput.test.js.map +1 -1
  237. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.d.ts +2 -2
  238. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js +4 -1
  239. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js.map +1 -1
  240. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.d.ts +1 -1
  241. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.js.map +1 -1
  242. package/MultiAutoComplete/primitives/useMultiAutoComplete.d.ts +1 -1
  243. package/MultiAutoComplete/primitives/useMultiAutoComplete.js.map +1 -1
  244. package/MultiFilePicker/MultiFilePicker.js +8 -12
  245. package/MultiFilePicker/MultiFilePicker.js.map +1 -1
  246. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.d.ts +18 -10
  247. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js +16 -6
  248. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js.map +1 -1
  249. package/RadioGroup/RadioGroup.d.ts +2 -2
  250. package/RadioGroup/RadioGroup.js.map +1 -1
  251. package/RadioGroup/domains/RadioItem.d.ts +1 -1
  252. package/RadioGroup/domains/RadioItem.js.map +1 -1
  253. package/RadioGroup/domains/RadioItemFormatted.d.ts +1 -1
  254. package/RadioGroup/domains/RadioItemFormatted.js.map +1 -1
  255. package/RadioGroup/domains/RadioItemFormatter.d.ts +2 -2
  256. package/RadioGroup/domains/RadioItemFormatter.js.map +1 -1
  257. package/RadioGroup/domains/RadioItemParams.d.ts +1 -1
  258. package/RadioGroup/domains/RadioItemParams.js.map +1 -1
  259. package/RadioGroup/primitives/RadioGroupPrimitive.d.ts +1 -1
  260. package/RadioGroup/primitives/RadioGroupPrimitive.js +1 -1
  261. package/RadioGroup/primitives/RadioGroupPrimitive.js.map +1 -1
  262. package/RadioGroup/primitives/presenters/RadioGroupPresenter.d.ts +2 -2
  263. package/RadioGroup/primitives/presenters/RadioGroupPresenter.js.map +1 -1
  264. package/RadioGroup/primitives/useRadioGroup.d.ts +1 -1
  265. package/RadioGroup/primitives/useRadioGroup.js.map +1 -1
  266. package/RangeSlider/RangeSlider.d.ts +2 -2
  267. package/RangeSlider/RangeSlider.js.map +1 -1
  268. package/RangeSlider/primitives/RangeSliderPrimitive.d.ts +1 -1
  269. package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
  270. package/RangeSlider/primitives/presenters/RangeSliderPresenter.d.ts +1 -1
  271. package/RangeSlider/primitives/presenters/RangeSliderPresenter.js.map +1 -1
  272. package/RangeSlider/primitives/useRangeSlider.d.ts +1 -1
  273. package/RangeSlider/primitives/useRangeSlider.js.map +1 -1
  274. package/RichTextEditor/RichTextEditor.d.ts +2 -2
  275. package/RichTextEditor/RichTextEditor.js.map +1 -1
  276. package/RichTextEditor/RichTextEditorPrimitive.d.ts +1 -1
  277. package/RichTextEditor/RichTextEditorPrimitive.js.map +1 -1
  278. package/RichTextEditor/createPropsFromConfig.d.ts +1 -1
  279. package/RichTextEditor/createPropsFromConfig.js.map +1 -1
  280. package/Select/Select.d.ts +2 -2
  281. package/Select/Select.js.map +1 -1
  282. package/Select/domains/SelectOption.d.ts +1 -1
  283. package/Select/domains/SelectOption.js.map +1 -1
  284. package/Select/domains/SelectOptionMapper.d.ts +2 -2
  285. package/Select/domains/SelectOptionMapper.js.map +1 -1
  286. package/Select/primitives/SelectPrimitive.d.ts +2 -2
  287. package/Select/primitives/SelectPrimitive.js +4 -3
  288. package/Select/primitives/SelectPrimitive.js.map +1 -1
  289. package/Select/primitives/SelectPrimitive.stories.d.ts +3 -0
  290. package/Select/primitives/SelectPrimitive.stories.js +28 -0
  291. package/Select/primitives/SelectPrimitive.stories.js.map +1 -1
  292. package/Select/primitives/components/SelectTrigger.d.ts +1 -1
  293. package/Select/primitives/components/SelectTrigger.js +6 -1
  294. package/Select/primitives/components/SelectTrigger.js.map +1 -1
  295. package/Select/primitives/presenters/SelectPresenter.d.ts +2 -1
  296. package/Select/primitives/presenters/SelectPresenter.js.map +1 -1
  297. package/Select/primitives/useSelect.d.ts +1 -1
  298. package/Select/primitives/useSelect.js.map +1 -1
  299. package/Separator/Separator.d.ts +2 -2
  300. package/Sidebar/components/SidebarRoot.js +1 -4
  301. package/Sidebar/components/SidebarRoot.js.map +1 -1
  302. package/Sidebar/components/items/SidebarMenuItem.d.ts +1 -1
  303. package/Sidebar/components/items/SidebarMenuItem.js.map +1 -1
  304. package/Skeleton/Skeleton.d.ts +1 -1
  305. package/Slider/Slider.d.ts +2 -2
  306. package/Slider/Slider.js.map +1 -1
  307. package/Slider/primitives/SliderPrimitive.d.ts +1 -1
  308. package/Slider/primitives/SliderPrimitive.js.map +1 -1
  309. package/Slider/primitives/components/SliderThumb.d.ts +1 -1
  310. package/Slider/primitives/components/SliderThumb.js.map +1 -1
  311. package/Slider/primitives/components/SliderTooltip.d.ts +1 -1
  312. package/Slider/primitives/presenters/SliderPresenter.d.ts +1 -1
  313. package/Slider/primitives/presenters/SliderPresenter.js.map +1 -1
  314. package/Slider/primitives/useSlider.d.ts +1 -1
  315. package/Slider/primitives/useSlider.js.map +1 -1
  316. package/Switch/Switch.d.ts +2 -2
  317. package/Switch/Switch.js.map +1 -1
  318. package/Switch/domains/SwitchItem.d.ts +1 -1
  319. package/Switch/domains/SwitchItem.js.map +1 -1
  320. package/Switch/domains/SwitchItemDto.d.ts +1 -1
  321. package/Switch/domains/SwitchItemDto.js.map +1 -1
  322. package/Switch/domains/SwitchItemFormatted.d.ts +1 -1
  323. package/Switch/domains/SwitchItemFormatted.js.map +1 -1
  324. package/Switch/domains/SwitchItemMapper.d.ts +2 -2
  325. package/Switch/domains/SwitchItemMapper.js.map +1 -1
  326. package/Switch/primitives/SwitchPrimitive.d.ts +1 -1
  327. package/Switch/primitives/SwitchPrimitive.js.map +1 -1
  328. package/Switch/primitives/presenters/SwitchPresenter.d.ts +2 -2
  329. package/Switch/primitives/presenters/SwitchPresenter.js.map +1 -1
  330. package/Switch/primitives/useSwitch.d.ts +1 -1
  331. package/Switch/primitives/useSwitch.js.map +1 -1
  332. package/Tabs/Tabs.d.ts +1 -1
  333. package/Tabs/Tabs.js.map +1 -1
  334. package/Tabs/components/Context.d.ts +1 -1
  335. package/Tabs/components/Context.js.map +1 -1
  336. package/Tabs/components/Tab.d.ts +2 -2
  337. package/Tabs/components/Tab.js.map +1 -1
  338. package/Tag/Tag.d.ts +1 -1
  339. package/Tag/Tag.js.map +1 -1
  340. package/Tags/Tags.d.ts +24 -0
  341. package/Tags/Tags.js +59 -0
  342. package/Tags/Tags.js.map +1 -0
  343. package/Tags/Tags.stories.d.ts +13 -0
  344. package/Tags/Tags.stories.js +92 -0
  345. package/Tags/Tags.stories.js.map +1 -0
  346. package/Tags/domain/TagItem.d.ts +18 -0
  347. package/Tags/domain/TagItem.js +26 -0
  348. package/Tags/domain/TagItem.js.map +1 -0
  349. package/Tags/domain/TagItemDto.d.ts +5 -0
  350. package/Tags/domain/TagItemDto.js +3 -0
  351. package/Tags/domain/TagItemDto.js.map +1 -0
  352. package/Tags/domain/TagItemFormatted.d.ts +5 -0
  353. package/Tags/domain/TagItemFormatted.js +3 -0
  354. package/Tags/domain/TagItemFormatted.js.map +1 -0
  355. package/Tags/domain/TagItemMapper.d.ts +5 -0
  356. package/Tags/domain/TagItemMapper.js +11 -0
  357. package/Tags/domain/TagItemMapper.js.map +1 -0
  358. package/Tags/domain/index.d.ts +4 -0
  359. package/Tags/domain/index.js +6 -0
  360. package/Tags/domain/index.js.map +1 -0
  361. package/Tags/index.d.ts +1 -0
  362. package/Tags/index.js +3 -0
  363. package/Tags/index.js.map +1 -0
  364. package/Tags/primitives/TagsPrimitive.d.ts +81 -0
  365. package/Tags/primitives/TagsPrimitive.js +54 -0
  366. package/Tags/primitives/TagsPrimitive.js.map +1 -0
  367. package/Tags/primitives/TagsPrimitive.stories.d.ts +26 -0
  368. package/Tags/primitives/TagsPrimitive.stories.js +185 -0
  369. package/Tags/primitives/TagsPrimitive.stories.js.map +1 -0
  370. package/Tags/primitives/index.d.ts +1 -0
  371. package/Tags/primitives/index.js +3 -0
  372. package/Tags/primitives/index.js.map +1 -0
  373. package/Tags/primitives/presenters/TagsInputPresenter.d.ts +22 -0
  374. package/Tags/primitives/presenters/TagsInputPresenter.js +22 -0
  375. package/Tags/primitives/presenters/TagsInputPresenter.js.map +1 -0
  376. package/Tags/primitives/presenters/TagsPresenter.d.ts +42 -0
  377. package/Tags/primitives/presenters/TagsPresenter.js +68 -0
  378. package/Tags/primitives/presenters/TagsPresenter.js.map +1 -0
  379. package/Tags/primitives/presenters/TagsPresenter.test.d.ts +1 -0
  380. package/Tags/primitives/presenters/TagsPresenter.test.js +220 -0
  381. package/Tags/primitives/presenters/TagsPresenter.test.js.map +1 -0
  382. package/Tags/primitives/presenters/TagsValuesPresenter.d.ts +28 -0
  383. package/Tags/primitives/presenters/TagsValuesPresenter.js +41 -0
  384. package/Tags/primitives/presenters/TagsValuesPresenter.js.map +1 -0
  385. package/Tags/primitives/presenters/index.d.ts +3 -0
  386. package/Tags/primitives/presenters/index.js +5 -0
  387. package/Tags/primitives/presenters/index.js.map +1 -0
  388. package/Tags/primitives/useTags.d.ts +15 -0
  389. package/Tags/primitives/useTags.js +36 -0
  390. package/Tags/primitives/useTags.js.map +1 -0
  391. package/Textarea/Textarea.d.ts +3 -3
  392. package/Textarea/Textarea.js.map +1 -1
  393. package/Toast/Toast.d.ts +1 -1
  394. package/Toast/Toast.js.map +1 -1
  395. package/Toast/useToast.js +8 -2
  396. package/Toast/useToast.js.map +1 -1
  397. package/Tooltip/Tooltip.d.ts +1 -1
  398. package/Tooltip/Tooltip.js.map +1 -1
  399. package/Tree/components/ItemDragHandle.d.ts +2 -1
  400. package/Tree/components/ItemDragHandle.js.map +1 -1
  401. package/Tree/domains/NodeFormatter.d.ts +1 -1
  402. package/Tree/domains/NodeFormatter.js.map +1 -1
  403. package/Tree/useTree.d.ts +1 -1
  404. package/Tree/useTree.js.map +1 -1
  405. package/index.d.ts +1 -0
  406. package/index.js +1 -0
  407. package/index.js.map +1 -1
  408. package/package.json +9 -8
  409. package/utils.d.ts +1 -1
  410. package/utils.js.map +1 -1
  411. package/Accordion/components/AccordionItemHandle.d.ts +0 -26
  412. package/Accordion/components/AccordionItemHandle.js +0 -29
  413. package/Accordion/components/AccordionItemHandle.js.map +0 -1
@@ -0,0 +1,22 @@
1
+ export interface TagsInputPresenterParams {
2
+ placeholder?: string;
3
+ }
4
+ export interface ITagsInputPresenter {
5
+ vm: {
6
+ placeholder: string;
7
+ value: string;
8
+ };
9
+ init: (params: TagsInputPresenterParams) => void;
10
+ setValue: (query: string) => void;
11
+ }
12
+ export declare class TagsInputPresenter implements ITagsInputPresenter {
13
+ private value?;
14
+ private placeholder?;
15
+ constructor();
16
+ init(params?: TagsInputPresenterParams): void;
17
+ get vm(): {
18
+ placeholder: string;
19
+ value: string;
20
+ };
21
+ setValue: (value: string) => void;
22
+ }
@@ -0,0 +1,22 @@
1
+ import { makeAutoObservable } from "mobx";
2
+ export class TagsInputPresenter {
3
+ value = undefined;
4
+ placeholder = undefined;
5
+ constructor() {
6
+ makeAutoObservable(this);
7
+ }
8
+ init(params) {
9
+ this.placeholder = params?.placeholder;
10
+ }
11
+ get vm() {
12
+ return {
13
+ placeholder: this.placeholder || "",
14
+ value: this.value || ""
15
+ };
16
+ }
17
+ setValue = value => {
18
+ this.value = value;
19
+ };
20
+ }
21
+
22
+ //# sourceMappingURL=TagsInputPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["makeAutoObservable","TagsInputPresenter","value","undefined","placeholder","constructor","init","params","vm","setValue"],"sources":["TagsInputPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\n\nexport interface TagsInputPresenterParams {\n placeholder?: string;\n}\n\nexport interface ITagsInputPresenter {\n vm: {\n placeholder: string;\n value: string;\n };\n init: (params: TagsInputPresenterParams) => void;\n setValue: (query: string) => void;\n}\n\nexport class TagsInputPresenter implements ITagsInputPresenter {\n private value?: string = undefined;\n private placeholder?: string = undefined;\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params?: TagsInputPresenterParams) {\n this.placeholder = params?.placeholder;\n }\n\n get vm() {\n return {\n placeholder: this.placeholder || \"\",\n value: this.value || \"\"\n };\n }\n\n public setValue = (value: string) => {\n this.value = value;\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAezC,OAAO,MAAMC,kBAAkB,CAAgC;EACnDC,KAAK,GAAYC,SAAS;EAC1BC,WAAW,GAAYD,SAAS;EAExCE,WAAWA,CAAA,EAAG;IACVL,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAM,IAAIA,CAACC,MAAiC,EAAE;IACpC,IAAI,CAACH,WAAW,GAAGG,MAAM,EAAEH,WAAW;EAC1C;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO;MACHJ,WAAW,EAAE,IAAI,CAACA,WAAW,IAAI,EAAE;MACnCF,KAAK,EAAE,IAAI,CAACA,KAAK,IAAI;IACzB,CAAC;EACL;EAEOO,QAAQ,GAAIP,KAAa,IAAK;IACjC,IAAI,CAACA,KAAK,GAAGA,KAAK;EACtB,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import { type ITagsInputPresenter } from "./TagsInputPresenter";
2
+ import { type ITagsValuesPresenter } from "./TagsValuesPresenter";
3
+ interface TagsPresenterParams {
4
+ values?: string[];
5
+ protectedValues?: string[];
6
+ onValueChange?: (values: string[]) => void;
7
+ onValueInput?: (value: string) => void;
8
+ onValueAdd?: (value: string) => void;
9
+ onValueRemove?: (value: string) => void;
10
+ placeholder?: string;
11
+ }
12
+ interface ITagsPresenter {
13
+ vm: {
14
+ inputVm: ITagsInputPresenter["vm"];
15
+ valuesVm: ITagsValuesPresenter["vm"];
16
+ };
17
+ init: (params: TagsPresenterParams) => void;
18
+ inputValue: (value: string) => void;
19
+ addValue: (value: string) => void;
20
+ removeValue: (value: string) => void;
21
+ }
22
+ declare class TagsPresenter implements ITagsPresenter {
23
+ private params?;
24
+ private inputPresenter;
25
+ private valuesPresenter;
26
+ constructor(inputPresenter: ITagsInputPresenter, valuesPresenter: ITagsValuesPresenter);
27
+ init(params: TagsPresenterParams): void;
28
+ get vm(): {
29
+ inputVm: {
30
+ placeholder: string;
31
+ value: string;
32
+ };
33
+ valuesVm: {
34
+ values: import("../../domain").TagItemFormatted[];
35
+ };
36
+ };
37
+ inputValue: (value: string) => void;
38
+ addValue: () => void;
39
+ removeValue: (value: string) => void;
40
+ private getValues;
41
+ }
42
+ export { TagsPresenter, type ITagsPresenter, type TagsPresenterParams };
@@ -0,0 +1,68 @@
1
+ import { makeAutoObservable } from "mobx";
2
+ class TagsPresenter {
3
+ params = undefined;
4
+ constructor(inputPresenter, valuesPresenter) {
5
+ this.inputPresenter = inputPresenter;
6
+ this.valuesPresenter = valuesPresenter;
7
+ makeAutoObservable(this);
8
+ }
9
+ init(params) {
10
+ this.params = params;
11
+ this.inputPresenter.init({
12
+ placeholder: params.placeholder
13
+ });
14
+ this.valuesPresenter.init({
15
+ values: params.values,
16
+ protectedValues: params.protectedValues
17
+ });
18
+ }
19
+ get vm() {
20
+ return {
21
+ inputVm: this.inputPresenter.vm,
22
+ valuesVm: this.valuesPresenter.vm
23
+ };
24
+ }
25
+ inputValue = value => {
26
+ this.inputPresenter.setValue(value);
27
+ if (this.params?.onValueInput) {
28
+ this.params.onValueInput(value);
29
+ }
30
+ };
31
+ addValue = () => {
32
+ const value = this.vm.inputVm.value.trim();
33
+ if (!value) {
34
+ return;
35
+ }
36
+ this.inputPresenter.setValue("");
37
+ if (this.valuesPresenter.hasValue(value)) {
38
+ // If the value already exists, do not add it again
39
+ return;
40
+ }
41
+ this.valuesPresenter.addValue(value);
42
+ if (this.params?.onValueAdd) {
43
+ this.params.onValueAdd(value);
44
+ }
45
+ if (this.params?.onValueChange) {
46
+ this.params.onValueChange(this.getValues());
47
+ }
48
+ };
49
+ removeValue = value => {
50
+ this.valuesPresenter.removeValue(value);
51
+ if (this.valuesPresenter.isValueProtected(value)) {
52
+ // If the value is protected, do not remove it
53
+ return;
54
+ }
55
+ if (this.params?.onValueRemove) {
56
+ this.params.onValueRemove(value);
57
+ }
58
+ if (this.params?.onValueChange) {
59
+ this.params.onValueChange(this.getValues());
60
+ }
61
+ };
62
+ getValues = () => {
63
+ return this.valuesPresenter.vm.values.map(tag => tag.label);
64
+ };
65
+ }
66
+ export { TagsPresenter };
67
+
68
+ //# sourceMappingURL=TagsPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["makeAutoObservable","TagsPresenter","params","undefined","constructor","inputPresenter","valuesPresenter","init","placeholder","values","protectedValues","vm","inputVm","valuesVm","inputValue","value","setValue","onValueInput","addValue","trim","hasValue","onValueAdd","onValueChange","getValues","removeValue","isValueProtected","onValueRemove","map","tag","label"],"sources":["TagsPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { type ITagsInputPresenter } from \"./TagsInputPresenter\";\nimport { type ITagsValuesPresenter } from \"./TagsValuesPresenter\";\n\ninterface TagsPresenterParams {\n values?: string[];\n protectedValues?: string[];\n onValueChange?: (values: string[]) => void;\n onValueInput?: (value: string) => void;\n onValueAdd?: (value: string) => void;\n onValueRemove?: (value: string) => void;\n placeholder?: string;\n}\n\ninterface ITagsPresenter {\n vm: {\n inputVm: ITagsInputPresenter[\"vm\"];\n valuesVm: ITagsValuesPresenter[\"vm\"];\n };\n init: (params: TagsPresenterParams) => void;\n inputValue: (value: string) => void;\n addValue: (value: string) => void;\n removeValue: (value: string) => void;\n}\n\nclass TagsPresenter implements ITagsPresenter {\n private params?: TagsPresenterParams = undefined;\n private inputPresenter: ITagsInputPresenter;\n private valuesPresenter: ITagsValuesPresenter;\n\n constructor(inputPresenter: ITagsInputPresenter, valuesPresenter: ITagsValuesPresenter) {\n this.inputPresenter = inputPresenter;\n this.valuesPresenter = valuesPresenter;\n makeAutoObservable(this);\n }\n\n init(params: TagsPresenterParams) {\n this.params = params;\n this.inputPresenter.init({ placeholder: params.placeholder });\n this.valuesPresenter.init({\n values: params.values,\n protectedValues: params.protectedValues\n });\n }\n\n get vm() {\n return {\n inputVm: this.inputPresenter.vm,\n valuesVm: this.valuesPresenter.vm\n };\n }\n\n public inputValue = (value: string) => {\n this.inputPresenter.setValue(value);\n if (this.params?.onValueInput) {\n this.params.onValueInput(value);\n }\n };\n\n public addValue = () => {\n const value = this.vm.inputVm.value.trim();\n\n if (!value) {\n return;\n }\n\n this.inputPresenter.setValue(\"\");\n\n if (this.valuesPresenter.hasValue(value)) {\n // If the value already exists, do not add it again\n return;\n }\n\n this.valuesPresenter.addValue(value);\n\n if (this.params?.onValueAdd) {\n this.params.onValueAdd(value);\n }\n\n if (this.params?.onValueChange) {\n this.params.onValueChange(this.getValues());\n }\n };\n\n public removeValue = (value: string) => {\n this.valuesPresenter.removeValue(value);\n\n if (this.valuesPresenter.isValueProtected(value)) {\n // If the value is protected, do not remove it\n return;\n }\n\n if (this.params?.onValueRemove) {\n this.params.onValueRemove(value);\n }\n\n if (this.params?.onValueChange) {\n this.params.onValueChange(this.getValues());\n }\n };\n\n private getValues = () => {\n return this.valuesPresenter.vm.values.map(tag => tag.label);\n };\n}\n\nexport { TagsPresenter, type ITagsPresenter, type TagsPresenterParams };\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAyBzC,MAAMC,aAAa,CAA2B;EAClCC,MAAM,GAAyBC,SAAS;EAIhDC,WAAWA,CAACC,cAAmC,EAAEC,eAAqC,EAAE;IACpF,IAAI,CAACD,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtCN,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAO,IAAIA,CAACL,MAA2B,EAAE;IAC9B,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACG,cAAc,CAACE,IAAI,CAAC;MAAEC,WAAW,EAAEN,MAAM,CAACM;IAAY,CAAC,CAAC;IAC7D,IAAI,CAACF,eAAe,CAACC,IAAI,CAAC;MACtBE,MAAM,EAAEP,MAAM,CAACO,MAAM;MACrBC,eAAe,EAAER,MAAM,CAACQ;IAC5B,CAAC,CAAC;EACN;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACL,OAAO;MACHC,OAAO,EAAE,IAAI,CAACP,cAAc,CAACM,EAAE;MAC/BE,QAAQ,EAAE,IAAI,CAACP,eAAe,CAACK;IACnC,CAAC;EACL;EAEOG,UAAU,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACV,cAAc,CAACW,QAAQ,CAACD,KAAK,CAAC;IACnC,IAAI,IAAI,CAACb,MAAM,EAAEe,YAAY,EAAE;MAC3B,IAAI,CAACf,MAAM,CAACe,YAAY,CAACF,KAAK,CAAC;IACnC;EACJ,CAAC;EAEMG,QAAQ,GAAGA,CAAA,KAAM;IACpB,MAAMH,KAAK,GAAG,IAAI,CAACJ,EAAE,CAACC,OAAO,CAACG,KAAK,CAACI,IAAI,CAAC,CAAC;IAE1C,IAAI,CAACJ,KAAK,EAAE;MACR;IACJ;IAEA,IAAI,CAACV,cAAc,CAACW,QAAQ,CAAC,EAAE,CAAC;IAEhC,IAAI,IAAI,CAACV,eAAe,CAACc,QAAQ,CAACL,KAAK,CAAC,EAAE;MACtC;MACA;IACJ;IAEA,IAAI,CAACT,eAAe,CAACY,QAAQ,CAACH,KAAK,CAAC;IAEpC,IAAI,IAAI,CAACb,MAAM,EAAEmB,UAAU,EAAE;MACzB,IAAI,CAACnB,MAAM,CAACmB,UAAU,CAACN,KAAK,CAAC;IACjC;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEoB,aAAa,EAAE;MAC5B,IAAI,CAACpB,MAAM,CAACoB,aAAa,CAAC,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;IAC/C;EACJ,CAAC;EAEMC,WAAW,GAAIT,KAAa,IAAK;IACpC,IAAI,CAACT,eAAe,CAACkB,WAAW,CAACT,KAAK,CAAC;IAEvC,IAAI,IAAI,CAACT,eAAe,CAACmB,gBAAgB,CAACV,KAAK,CAAC,EAAE;MAC9C;MACA;IACJ;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEwB,aAAa,EAAE;MAC5B,IAAI,CAACxB,MAAM,CAACwB,aAAa,CAACX,KAAK,CAAC;IACpC;IAEA,IAAI,IAAI,CAACb,MAAM,EAAEoB,aAAa,EAAE;MAC5B,IAAI,CAACpB,MAAM,CAACoB,aAAa,CAAC,IAAI,CAACC,SAAS,CAAC,CAAC,CAAC;IAC/C;EACJ,CAAC;EAEOA,SAAS,GAAGA,CAAA,KAAM;IACtB,OAAO,IAAI,CAACjB,eAAe,CAACK,EAAE,CAACF,MAAM,CAACkB,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,KAAK,CAAC;EAC/D,CAAC;AACL;AAEA,SAAS5B,aAAa","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,220 @@
1
+ import { TagsPresenter } from "./TagsPresenter";
2
+ import { TagsValuesPresenter } from "./TagsValuesPresenter";
3
+ import { TagsInputPresenter } from "./TagsInputPresenter";
4
+ describe("TagsPresenter", () => {
5
+ let presenter;
6
+ const onValueChange = jest.fn();
7
+ const onValueInput = jest.fn();
8
+ const onValueAdd = jest.fn();
9
+ const onValueRemove = jest.fn();
10
+ beforeEach(() => {
11
+ const tagsInputPresenter = new TagsInputPresenter();
12
+ const tagsValuesPresenter = new TagsValuesPresenter();
13
+ presenter = new TagsPresenter(tagsInputPresenter, tagsValuesPresenter);
14
+ });
15
+ it("should return the compatible `vm.inputVm` based on", () => {
16
+ presenter.init({
17
+ placeholder: "Custom placeholder"
18
+ });
19
+ expect(presenter.vm.inputVm.placeholder).toBe("Custom placeholder");
20
+ });
21
+ it("should return the compatible `vm.valuesVm` based on", () => {
22
+ presenter.init({
23
+ values: ["tag1", "tag2"]
24
+ });
25
+ expect(presenter.vm.valuesVm.values).toEqual([{
26
+ id: expect.any(String),
27
+ label: "tag1",
28
+ protected: false
29
+ }, {
30
+ id: expect.any(String),
31
+ label: "tag2",
32
+ protected: false
33
+ }]);
34
+ });
35
+ it("should call `onValueInput` and add the new value when input a value", () => {
36
+ presenter.init({
37
+ onValueInput
38
+ });
39
+ const value1 = "value 1";
40
+ presenter.inputValue(value1);
41
+ expect(onValueInput).toHaveBeenCalledWith(value1);
42
+ expect(presenter.vm.inputVm.value).toBe(value1);
43
+ const value2 = "value 2";
44
+ presenter.inputValue(value2);
45
+ expect(onValueInput).toHaveBeenCalledWith(value2);
46
+ expect(presenter.vm.inputVm.value).toBe(value2);
47
+ });
48
+ it("should call `onValueAdd` and add the new value when adding a value", () => {
49
+ presenter.init({
50
+ onValueAdd,
51
+ onValueChange
52
+ });
53
+
54
+ // It should add a value and call `onValueAdd` and `onValueChange`
55
+ const value1 = "value 1";
56
+ presenter.inputValue(value1);
57
+ presenter.addValue(value1);
58
+ expect(onValueAdd).toHaveBeenCalledWith(value1);
59
+ expect(presenter.vm.valuesVm.values).toEqual([{
60
+ id: expect.any(String),
61
+ label: value1,
62
+ protected: false
63
+ }]);
64
+ expect(onValueChange).toHaveBeenCalledWith([value1]);
65
+
66
+ // It should add another value and call `onValueAdd` and `onValueChange`
67
+ const value2 = "value 2";
68
+ presenter.inputValue(value2);
69
+ presenter.addValue(value2);
70
+ expect(onValueAdd).toHaveBeenCalledWith(value2);
71
+ expect(presenter.vm.valuesVm.values).toEqual([{
72
+ id: expect.any(String),
73
+ label: value1,
74
+ protected: false
75
+ }, {
76
+ id: expect.any(String),
77
+ label: value2,
78
+ protected: false
79
+ }]);
80
+ expect(onValueChange).toHaveBeenCalledWith([value1, value2]);
81
+
82
+ // It should not add an empty value
83
+ const emptyValue = " ";
84
+ presenter.inputValue(emptyValue);
85
+ presenter.addValue(emptyValue);
86
+ expect(onValueAdd).not.toHaveBeenCalledWith(emptyValue);
87
+ expect(presenter.vm.valuesVm.values).toEqual([{
88
+ id: expect.any(String),
89
+ label: value1,
90
+ protected: false
91
+ }, {
92
+ id: expect.any(String),
93
+ label: value2,
94
+ protected: false
95
+ }]);
96
+ expect(onValueChange).toHaveBeenCalledWith([value1, value2]);
97
+
98
+ // It should not add a duplicate value
99
+ presenter.inputValue(value1);
100
+ presenter.addValue(value1);
101
+ expect(onValueAdd).not.toHaveBeenLastCalledWith(value1);
102
+ expect(presenter.vm.valuesVm.values).toEqual([{
103
+ id: expect.any(String),
104
+ label: value1,
105
+ protected: false
106
+ }, {
107
+ id: expect.any(String),
108
+ label: value2,
109
+ protected: false
110
+ }]);
111
+ });
112
+ it("should call `onValueRemove` and remove the value when removing a value", () => {
113
+ const initialValues = ["tag1", "tag2"];
114
+ presenter.init({
115
+ values: initialValues,
116
+ onValueRemove,
117
+ onValueChange
118
+ });
119
+ const valueToRemove = "tag1";
120
+ presenter.removeValue(valueToRemove);
121
+ expect(onValueRemove).toHaveBeenCalledWith(valueToRemove);
122
+ expect(presenter.vm.valuesVm.values).toEqual([{
123
+ id: expect.any(String),
124
+ label: "tag2",
125
+ protected: false
126
+ }]);
127
+ expect(onValueChange).toHaveBeenCalledWith(["tag2"]);
128
+ });
129
+ it("should not remove a protected value", () => {
130
+ const initialValues = ["tag1", "tag2"];
131
+ const protectedValues = ["tag1"];
132
+ presenter.init({
133
+ values: initialValues,
134
+ protectedValues,
135
+ onValueRemove,
136
+ onValueChange
137
+ });
138
+ expect(presenter.vm.valuesVm.values).toEqual([{
139
+ id: expect.any(String),
140
+ label: "tag1",
141
+ protected: true
142
+ }, {
143
+ id: expect.any(String),
144
+ label: "tag2",
145
+ protected: false
146
+ }]);
147
+ const valueToRemove = "tag1";
148
+ presenter.removeValue(valueToRemove);
149
+ expect(onValueRemove).not.toHaveBeenCalled();
150
+ expect(onValueChange).not.toHaveBeenCalled();
151
+ expect(presenter.vm.valuesVm.values).toEqual([{
152
+ id: expect.any(String),
153
+ label: "tag1",
154
+ protected: true
155
+ }, {
156
+ id: expect.any(String),
157
+ label: "tag2",
158
+ protected: false
159
+ }]);
160
+ });
161
+ it("should not remove a value based on a pattern", () => {
162
+ const initialValues = ["tag1", "tag2", "another-tag"];
163
+ const protectedValues = ["tag*"];
164
+ presenter.init({
165
+ values: initialValues,
166
+ protectedValues,
167
+ onValueRemove,
168
+ onValueChange
169
+ });
170
+ expect(presenter.vm.valuesVm.values).toEqual([{
171
+ id: expect.any(String),
172
+ label: "tag1",
173
+ protected: true
174
+ }, {
175
+ id: expect.any(String),
176
+ label: "tag2",
177
+ protected: true
178
+ }, {
179
+ id: expect.any(String),
180
+ label: "another-tag",
181
+ protected: false
182
+ }]);
183
+
184
+ // Try to remove a protected value
185
+ const valueToRemove = "tag1";
186
+ presenter.removeValue(valueToRemove);
187
+ expect(onValueRemove).not.toHaveBeenCalled();
188
+ expect(onValueChange).not.toHaveBeenCalled();
189
+ expect(presenter.vm.valuesVm.values).toEqual([{
190
+ id: expect.any(String),
191
+ label: "tag1",
192
+ protected: true
193
+ }, {
194
+ id: expect.any(String),
195
+ label: "tag2",
196
+ protected: true
197
+ }, {
198
+ id: expect.any(String),
199
+ label: "another-tag",
200
+ protected: false
201
+ }]);
202
+
203
+ // Try to remove a non-protected value
204
+ const anotherValueToRemove = "another-tag";
205
+ presenter.removeValue(anotherValueToRemove);
206
+ expect(onValueRemove).toHaveBeenCalledWith(anotherValueToRemove);
207
+ expect(onValueChange).toHaveBeenCalledWith(["tag1", "tag2"]);
208
+ expect(presenter.vm.valuesVm.values).toEqual([{
209
+ id: expect.any(String),
210
+ label: "tag1",
211
+ protected: true
212
+ }, {
213
+ id: expect.any(String),
214
+ label: "tag2",
215
+ protected: true
216
+ }]);
217
+ });
218
+ });
219
+
220
+ //# sourceMappingURL=TagsPresenter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TagsPresenter","TagsValuesPresenter","TagsInputPresenter","describe","presenter","onValueChange","jest","fn","onValueInput","onValueAdd","onValueRemove","beforeEach","tagsInputPresenter","tagsValuesPresenter","it","init","placeholder","expect","vm","inputVm","toBe","values","valuesVm","toEqual","id","any","String","label","protected","value1","inputValue","toHaveBeenCalledWith","value","value2","addValue","emptyValue","not","toHaveBeenLastCalledWith","initialValues","valueToRemove","removeValue","protectedValues","toHaveBeenCalled","anotherValueToRemove"],"sources":["TagsPresenter.test.ts"],"sourcesContent":["import { type ITagsPresenter, TagsPresenter } from \"./TagsPresenter\";\nimport { TagsValuesPresenter } from \"./TagsValuesPresenter\";\nimport { TagsInputPresenter } from \"./TagsInputPresenter\";\n\ndescribe(\"TagsPresenter\", () => {\n let presenter: ITagsPresenter;\n const onValueChange = jest.fn();\n const onValueInput = jest.fn();\n const onValueAdd = jest.fn();\n const onValueRemove = jest.fn();\n\n beforeEach(() => {\n const tagsInputPresenter = new TagsInputPresenter();\n const tagsValuesPresenter = new TagsValuesPresenter();\n presenter = new TagsPresenter(tagsInputPresenter, tagsValuesPresenter);\n });\n\n it(\"should return the compatible `vm.inputVm` based on\", () => {\n presenter.init({\n placeholder: \"Custom placeholder\"\n });\n\n expect(presenter.vm.inputVm.placeholder).toBe(\"Custom placeholder\");\n });\n\n it(\"should return the compatible `vm.valuesVm` based on\", () => {\n presenter.init({\n values: [\"tag1\", \"tag2\"]\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: false\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n });\n\n it(\"should call `onValueInput` and add the new value when input a value\", () => {\n presenter.init({\n onValueInput\n });\n\n const value1 = \"value 1\";\n presenter.inputValue(value1);\n\n expect(onValueInput).toHaveBeenCalledWith(value1);\n expect(presenter.vm.inputVm.value).toBe(value1);\n\n const value2 = \"value 2\";\n presenter.inputValue(value2);\n expect(onValueInput).toHaveBeenCalledWith(value2);\n expect(presenter.vm.inputVm.value).toBe(value2);\n });\n\n it(\"should call `onValueAdd` and add the new value when adding a value\", () => {\n presenter.init({\n onValueAdd,\n onValueChange\n });\n\n // It should add a value and call `onValueAdd` and `onValueChange`\n const value1 = \"value 1\";\n presenter.inputValue(value1);\n presenter.addValue(value1);\n\n expect(onValueAdd).toHaveBeenCalledWith(value1);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1]);\n\n // It should add another value and call `onValueAdd` and `onValueChange`\n const value2 = \"value 2\";\n presenter.inputValue(value2);\n presenter.addValue(value2);\n\n expect(onValueAdd).toHaveBeenCalledWith(value2);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1, value2]);\n\n // It should not add an empty value\n const emptyValue = \" \";\n presenter.inputValue(emptyValue);\n presenter.addValue(emptyValue);\n\n expect(onValueAdd).not.toHaveBeenCalledWith(emptyValue);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([value1, value2]);\n\n // It should not add a duplicate value\n presenter.inputValue(value1);\n presenter.addValue(value1);\n\n expect(onValueAdd).not.toHaveBeenLastCalledWith(value1);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: value1,\n protected: false\n },\n {\n id: expect.any(String),\n label: value2,\n protected: false\n }\n ]);\n });\n\n it(\"should call `onValueRemove` and remove the value when removing a value\", () => {\n const initialValues = [\"tag1\", \"tag2\"];\n presenter.init({\n values: initialValues,\n onValueRemove,\n onValueChange\n });\n\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).toHaveBeenCalledWith(valueToRemove);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n expect(onValueChange).toHaveBeenCalledWith([\"tag2\"]);\n });\n\n it(\"should not remove a protected value\", () => {\n const initialValues = [\"tag1\", \"tag2\"];\n const protectedValues = [\"tag1\"];\n presenter.init({\n values: initialValues,\n protectedValues,\n onValueRemove,\n onValueChange\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).not.toHaveBeenCalled();\n expect(onValueChange).not.toHaveBeenCalled();\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: false\n }\n ]);\n });\n\n it(\"should not remove a value based on a pattern\", () => {\n const initialValues = [\"tag1\", \"tag2\", \"another-tag\"];\n const protectedValues = [\"tag*\"];\n presenter.init({\n values: initialValues,\n protectedValues,\n onValueRemove,\n onValueChange\n });\n\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"another-tag\",\n protected: false\n }\n ]);\n\n // Try to remove a protected value\n const valueToRemove = \"tag1\";\n presenter.removeValue(valueToRemove);\n\n expect(onValueRemove).not.toHaveBeenCalled();\n expect(onValueChange).not.toHaveBeenCalled();\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"another-tag\",\n protected: false\n }\n ]);\n\n // Try to remove a non-protected value\n const anotherValueToRemove = \"another-tag\";\n presenter.removeValue(anotherValueToRemove);\n\n expect(onValueRemove).toHaveBeenCalledWith(anotherValueToRemove);\n expect(onValueChange).toHaveBeenCalledWith([\"tag1\", \"tag2\"]);\n expect(presenter.vm.valuesVm.values).toEqual([\n {\n id: expect.any(String),\n label: \"tag1\",\n protected: true\n },\n {\n id: expect.any(String),\n label: \"tag2\",\n protected: true\n }\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { type TagItemFormatted } from "../../domain";
2
+ interface TagsValuesPresenterParams {
3
+ values?: string[];
4
+ protectedValues?: string[];
5
+ }
6
+ interface ITagsValuesPresenter {
7
+ vm: {
8
+ values: TagItemFormatted[];
9
+ };
10
+ init: (params: TagsValuesPresenterParams) => void;
11
+ addValue: (value: string) => void;
12
+ removeValue: (value: string) => void;
13
+ hasValue: (value: string) => boolean;
14
+ isValueProtected: (value: string) => boolean;
15
+ }
16
+ declare class TagsValuesPresenter implements ITagsValuesPresenter {
17
+ private values;
18
+ constructor();
19
+ init(params: TagsValuesPresenterParams): void;
20
+ get vm(): {
21
+ values: TagItemFormatted[];
22
+ };
23
+ addValue: (value: string) => void;
24
+ removeValue: (value: string) => void;
25
+ hasValue: (value: string) => boolean;
26
+ isValueProtected: (value: string) => boolean;
27
+ }
28
+ export { TagsValuesPresenter, type ITagsValuesPresenter, type TagsValuesPresenterParams };
@@ -0,0 +1,41 @@
1
+ import { makeAutoObservable } from "mobx";
2
+ import minimatch from "minimatch";
3
+ import { TagItem, TagItemMapper } from "../../domain";
4
+ class TagsValuesPresenter {
5
+ values = [];
6
+ constructor() {
7
+ makeAutoObservable(this);
8
+ }
9
+ init(params) {
10
+ this.values = params.values?.map(value => TagItem.create({
11
+ label: value,
12
+ protected: params.protectedValues ? params.protectedValues.some(pattern => minimatch(value, pattern)) : false
13
+ })) ?? [];
14
+ }
15
+ get vm() {
16
+ return {
17
+ values: this.values.map(value => TagItemMapper.toFormatted(value))
18
+ };
19
+ }
20
+ addValue = value => {
21
+ if (!value || this.values.find(tag => tag.label === value)) {
22
+ return;
23
+ }
24
+ const tagItem = TagItem.create({
25
+ label: value
26
+ });
27
+ this.values.push(tagItem);
28
+ };
29
+ removeValue = value => {
30
+ this.values = this.values.filter(tagItem => tagItem.label !== value || this.isValueProtected(tagItem.label));
31
+ };
32
+ hasValue = value => {
33
+ return !!this.values.find(tag => tag.label === value);
34
+ };
35
+ isValueProtected = value => {
36
+ return !!this.values.find(tag => tag.label === value && tag.protected);
37
+ };
38
+ }
39
+ export { TagsValuesPresenter };
40
+
41
+ //# sourceMappingURL=TagsValuesPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["makeAutoObservable","minimatch","TagItem","TagItemMapper","TagsValuesPresenter","values","constructor","init","params","map","value","create","label","protected","protectedValues","some","pattern","vm","toFormatted","addValue","find","tag","tagItem","push","removeValue","filter","isValueProtected","hasValue"],"sources":["TagsValuesPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport minimatch from \"minimatch\";\nimport { TagItem, type TagItemFormatted, TagItemMapper } from \"~/Tags/domain\";\n\ninterface TagsValuesPresenterParams {\n values?: string[];\n protectedValues?: string[];\n}\n\ninterface ITagsValuesPresenter {\n vm: {\n values: TagItemFormatted[];\n };\n init: (params: TagsValuesPresenterParams) => void;\n addValue: (value: string) => void;\n removeValue: (value: string) => void;\n hasValue: (value: string) => boolean;\n isValueProtected: (value: string) => boolean;\n}\n\nclass TagsValuesPresenter implements ITagsValuesPresenter {\n private values: TagItem[] = [];\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params: TagsValuesPresenterParams) {\n this.values =\n params.values?.map(value =>\n TagItem.create({\n label: value,\n protected: params.protectedValues\n ? params.protectedValues.some(pattern => minimatch(value, pattern))\n : false\n })\n ) ?? [];\n }\n\n get vm() {\n return {\n values: this.values.map(value => TagItemMapper.toFormatted(value))\n };\n }\n\n public addValue = (value: string) => {\n if (!value || this.values.find(tag => tag.label === value)) {\n return;\n }\n const tagItem = TagItem.create({ label: value });\n this.values.push(tagItem);\n };\n\n public removeValue = (value: string) => {\n this.values = this.values.filter(\n tagItem => tagItem.label !== value || this.isValueProtected(tagItem.label)\n );\n };\n\n public hasValue = (value: string) => {\n return !!this.values.find(tag => tag.label === value);\n };\n\n public isValueProtected = (value: string) => {\n return !!this.values.find(tag => tag.label === value && tag.protected);\n };\n}\n\nexport { TagsValuesPresenter, type ITagsValuesPresenter, type TagsValuesPresenterParams };\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AACzC,OAAOC,SAAS,MAAM,WAAW;AACjC,SAASC,OAAO,EAAyBC,aAAa;AAkBtD,MAAMC,mBAAmB,CAAiC;EAC9CC,MAAM,GAAc,EAAE;EAE9BC,WAAWA,CAAA,EAAG;IACVN,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAO,IAAIA,CAACC,MAAiC,EAAE;IACpC,IAAI,CAACH,MAAM,GACPG,MAAM,CAACH,MAAM,EAAEI,GAAG,CAACC,KAAK,IACpBR,OAAO,CAACS,MAAM,CAAC;MACXC,KAAK,EAAEF,KAAK;MACZG,SAAS,EAAEL,MAAM,CAACM,eAAe,GAC3BN,MAAM,CAACM,eAAe,CAACC,IAAI,CAACC,OAAO,IAAIf,SAAS,CAACS,KAAK,EAAEM,OAAO,CAAC,CAAC,GACjE;IACV,CAAC,CACL,CAAC,IAAI,EAAE;EACf;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACL,OAAO;MACHZ,MAAM,EAAE,IAAI,CAACA,MAAM,CAACI,GAAG,CAACC,KAAK,IAAIP,aAAa,CAACe,WAAW,CAACR,KAAK,CAAC;IACrE,CAAC;EACL;EAEOS,QAAQ,GAAIT,KAAa,IAAK;IACjC,IAAI,CAACA,KAAK,IAAI,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,CAAC,EAAE;MACxD;IACJ;IACA,MAAMY,OAAO,GAAGpB,OAAO,CAACS,MAAM,CAAC;MAAEC,KAAK,EAAEF;IAAM,CAAC,CAAC;IAChD,IAAI,CAACL,MAAM,CAACkB,IAAI,CAACD,OAAO,CAAC;EAC7B,CAAC;EAEME,WAAW,GAAId,KAAa,IAAK;IACpC,IAAI,CAACL,MAAM,GAAG,IAAI,CAACA,MAAM,CAACoB,MAAM,CAC5BH,OAAO,IAAIA,OAAO,CAACV,KAAK,KAAKF,KAAK,IAAI,IAAI,CAACgB,gBAAgB,CAACJ,OAAO,CAACV,KAAK,CAC7E,CAAC;EACL,CAAC;EAEMe,QAAQ,GAAIjB,KAAa,IAAK;IACjC,OAAO,CAAC,CAAC,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,CAAC;EACzD,CAAC;EAEMgB,gBAAgB,GAAIhB,KAAa,IAAK;IACzC,OAAO,CAAC,CAAC,IAAI,CAACL,MAAM,CAACe,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACT,KAAK,KAAKF,KAAK,IAAIW,GAAG,CAACR,SAAS,CAAC;EAC1E,CAAC;AACL;AAEA,SAAST,mBAAmB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./TagsPresenter";
2
+ export * from "./TagsInputPresenter";
3
+ export * from "./TagsValuesPresenter";
@@ -0,0 +1,5 @@
1
+ export * from "./TagsPresenter";
2
+ export * from "./TagsInputPresenter";
3
+ export * from "./TagsValuesPresenter";
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./TagsPresenter\";\nexport * from \"./TagsInputPresenter\";\nexport * from \"./TagsValuesPresenter\";\n"],"mappings":"AAAA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { TagsPrimitiveProps } from "./TagsPrimitive";
2
+ export declare const useTags: (props: TagsPrimitiveProps) => {
3
+ vm: {
4
+ inputVm: {
5
+ placeholder: string;
6
+ value: string;
7
+ };
8
+ valuesVm: {
9
+ values: import("../domain").TagItemFormatted[];
10
+ };
11
+ };
12
+ inputValue: (value: string) => void;
13
+ addValue: () => void;
14
+ removeValue: (value: string) => void;
15
+ };
@@ -0,0 +1,36 @@
1
+ import { useEffect, useMemo, useState } from "react";
2
+ import { autorun } from "mobx";
3
+ import { TagsInputPresenter, TagsPresenter, TagsValuesPresenter } from "./presenters";
4
+ export const useTags = props => {
5
+ const params = useMemo(() => ({
6
+ values: props.value,
7
+ protectedValues: props.protectedValues,
8
+ placeholder: props.placeholder,
9
+ onValueChange: props.onChange,
10
+ onValueInput: props.onValueInput,
11
+ onValueAdd: props.onValueAdd,
12
+ onValueRemove: props.onValueRemove
13
+ }), [props.value, props.protectedValues, props.placeholder, props.onChange, props.onValueInput, props.onValueAdd, props.onValueRemove]);
14
+ const presenter = useMemo(() => {
15
+ const inputPresenter = new TagsInputPresenter();
16
+ const valuesPresenter = new TagsValuesPresenter();
17
+ return new TagsPresenter(inputPresenter, valuesPresenter);
18
+ }, []);
19
+ const [vm, setVm] = useState(presenter.vm);
20
+ useEffect(() => {
21
+ presenter.init(params);
22
+ }, [params, presenter]);
23
+ useEffect(() => {
24
+ return autorun(() => {
25
+ setVm(presenter.vm);
26
+ });
27
+ }, [presenter]);
28
+ return {
29
+ vm,
30
+ inputValue: presenter.inputValue,
31
+ addValue: presenter.addValue,
32
+ removeValue: presenter.removeValue
33
+ };
34
+ };
35
+
36
+ //# sourceMappingURL=useTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useMemo","useState","autorun","TagsInputPresenter","TagsPresenter","TagsValuesPresenter","useTags","props","params","values","value","protectedValues","placeholder","onValueChange","onChange","onValueInput","onValueAdd","onValueRemove","presenter","inputPresenter","valuesPresenter","vm","setVm","init","inputValue","addValue","removeValue"],"sources":["useTags.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport {\n TagsInputPresenter,\n TagsPresenter,\n type TagsPresenterParams,\n TagsValuesPresenter\n} from \"./presenters\";\nimport type { TagsPrimitiveProps } from \"./TagsPrimitive\";\n\nexport const useTags = (props: TagsPrimitiveProps) => {\n const params: TagsPresenterParams = useMemo(\n () => ({\n values: props.value,\n protectedValues: props.protectedValues,\n placeholder: props.placeholder,\n onValueChange: props.onChange,\n onValueInput: props.onValueInput,\n onValueAdd: props.onValueAdd,\n onValueRemove: props.onValueRemove\n }),\n [\n props.value,\n props.protectedValues,\n props.placeholder,\n props.onChange,\n props.onValueInput,\n props.onValueAdd,\n props.onValueRemove\n ]\n );\n\n const presenter = useMemo(() => {\n const inputPresenter = new TagsInputPresenter();\n const valuesPresenter = new TagsValuesPresenter();\n\n return new TagsPresenter(inputPresenter, valuesPresenter);\n }, []);\n\n const [vm, setVm] = useState(presenter.vm);\n\n useEffect(() => {\n presenter.init(params);\n }, [params, presenter]);\n\n useEffect(() => {\n return autorun(() => {\n setVm(presenter.vm);\n });\n }, [presenter]);\n\n return {\n vm,\n inputValue: presenter.inputValue,\n addValue: presenter.addValue,\n removeValue: presenter.removeValue\n };\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACpD,SAASC,OAAO,QAAQ,MAAM;AAC9B,SACIC,kBAAkB,EAClBC,aAAa,EAEbC,mBAAmB;AAIvB,OAAO,MAAMC,OAAO,GAAIC,KAAyB,IAAK;EAClD,MAAMC,MAA2B,GAAGR,OAAO,CACvC,OAAO;IACHS,MAAM,EAAEF,KAAK,CAACG,KAAK;IACnBC,eAAe,EAAEJ,KAAK,CAACI,eAAe;IACtCC,WAAW,EAAEL,KAAK,CAACK,WAAW;IAC9BC,aAAa,EAAEN,KAAK,CAACO,QAAQ;IAC7BC,YAAY,EAAER,KAAK,CAACQ,YAAY;IAChCC,UAAU,EAAET,KAAK,CAACS,UAAU;IAC5BC,aAAa,EAAEV,KAAK,CAACU;EACzB,CAAC,CAAC,EACF,CACIV,KAAK,CAACG,KAAK,EACXH,KAAK,CAACI,eAAe,EACrBJ,KAAK,CAACK,WAAW,EACjBL,KAAK,CAACO,QAAQ,EACdP,KAAK,CAACQ,YAAY,EAClBR,KAAK,CAACS,UAAU,EAChBT,KAAK,CAACU,aAAa,CAE3B,CAAC;EAED,MAAMC,SAAS,GAAGlB,OAAO,CAAC,MAAM;IAC5B,MAAMmB,cAAc,GAAG,IAAIhB,kBAAkB,CAAC,CAAC;IAC/C,MAAMiB,eAAe,GAAG,IAAIf,mBAAmB,CAAC,CAAC;IAEjD,OAAO,IAAID,aAAa,CAACe,cAAc,EAAEC,eAAe,CAAC;EAC7D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM,CAACC,EAAE,EAAEC,KAAK,CAAC,GAAGrB,QAAQ,CAACiB,SAAS,CAACG,EAAE,CAAC;EAE1CtB,SAAS,CAAC,MAAM;IACZmB,SAAS,CAACK,IAAI,CAACf,MAAM,CAAC;EAC1B,CAAC,EAAE,CAACA,MAAM,EAAEU,SAAS,CAAC,CAAC;EAEvBnB,SAAS,CAAC,MAAM;IACZ,OAAOG,OAAO,CAAC,MAAM;MACjBoB,KAAK,CAACJ,SAAS,CAACG,EAAE,CAAC;IACvB,CAAC,CAAC;EACN,CAAC,EAAE,CAACH,SAAS,CAAC,CAAC;EAEf,OAAO;IACHG,EAAE;IACFG,UAAU,EAAEN,SAAS,CAACM,UAAU;IAChCC,QAAQ,EAAEP,SAAS,CAACO,QAAQ;IAC5BC,WAAW,EAAER,SAAS,CAACQ;EAC3B,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { TextareaPrimitiveProps } from "./TextareaPrimitive";
3
- import { FormComponentProps } from "../FormComponent";
4
- type TextareaGroupProps = TextareaPrimitiveProps & FormComponentProps;
2
+ import type { TextareaPrimitiveProps } from "./TextareaPrimitive";
3
+ import type { FormComponentProps } from "../FormComponent";
4
+ type TextareaGroupProps = Omit<TextareaPrimitiveProps, "onChange"> & FormComponentProps;
5
5
  declare const Textarea: (({ label, description, note, required, disabled, validation, validate, onBlur: originalOnBlur, ...props }: TextareaGroupProps) => React.JSX.Element) & {
6
6
  original: ({ label, description, note, required, disabled, validation, validate, onBlur: originalOnBlur, ...props }: TextareaGroupProps) => React.JSX.Element;
7
7
  originalName: string;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","generateId","makeDecoratable","TextareaPrimitive","FormComponentDescription","FormComponentErrorMessage","FormComponentLabel","FormComponentNote","DecoratableTextarea","label","description","note","required","disabled","validation","validate","onBlur","originalOnBlur","props","isValid","validationIsValid","message","validationMessage","id","invalid","e","persist","createElement","className","htmlFor","text","Object","assign","Textarea"],"sources":["Textarea.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { generateId, makeDecoratable } from \"~/utils\";\nimport { TextareaPrimitive, TextareaPrimitiveProps } from \"./TextareaPrimitive\";\nimport {\n FormComponentDescription,\n FormComponentErrorMessage,\n FormComponentLabel,\n FormComponentNote,\n FormComponentProps\n} from \"~/FormComponent\";\n\ntype TextareaGroupProps = TextareaPrimitiveProps & FormComponentProps;\n\nconst DecoratableTextarea = ({\n label,\n description,\n note,\n required,\n disabled,\n validation,\n validate,\n onBlur: originalOnBlur,\n ...props\n}: TextareaGroupProps) => {\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n const id = useMemo(() => generateId(props.id), [props.id]);\n const invalid = useMemo(() => validationIsValid === false, [validationIsValid]);\n\n const onBlur = useCallback(\n async (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (validate) {\n // Since we are accessing event in an async operation, we need to persist it.\n // See https://reactjs.org/docs/events.html#event-pooling.\n e.persist();\n await validate();\n }\n originalOnBlur && originalOnBlur(e);\n },\n [validate, originalOnBlur]\n );\n\n return (\n <div className={\"wby-w-full\"}>\n <FormComponentLabel\n htmlFor={id}\n text={label}\n required={required}\n disabled={disabled}\n invalid={invalid}\n />\n <FormComponentDescription text={description} disabled={disabled} />\n <TextareaPrimitive\n {...props}\n id={id}\n disabled={disabled}\n invalid={invalid}\n onBlur={onBlur}\n />\n <FormComponentErrorMessage\n text={validationMessage}\n invalid={invalid}\n disabled={disabled}\n />\n <FormComponentNote text={note} disabled={disabled} />\n </div>\n );\n};\nconst Textarea = makeDecoratable(\"Textarea\", DecoratableTextarea);\n\nexport { Textarea };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,UAAU,EAAEC,eAAe;AACpC,SAASC,iBAAiB;AAC1B,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,kBAAkB,EAClBC,iBAAiB;AAMrB,MAAMC,mBAAmB,GAAGA,CAAC;EACzBC,KAAK;EACLC,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,QAAQ;EACRC,MAAM,EAAEC,cAAc;EACtB,GAAGC;AACa,CAAC,KAAK;EACtB,MAAM;IAAEC,OAAO,EAAEC,iBAAiB;IAAEC,OAAO,EAAEC;EAAkB,CAAC,GAAGR,UAAU,IAAI,CAAC,CAAC;EACnF,MAAMS,EAAE,GAAGvB,OAAO,CAAC,MAAMC,UAAU,CAACiB,KAAK,CAACK,EAAE,CAAC,EAAE,CAACL,KAAK,CAACK,EAAE,CAAC,CAAC;EAC1D,MAAMC,OAAO,GAAGxB,OAAO,CAAC,MAAMoB,iBAAiB,KAAK,KAAK,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAE/E,MAAMJ,MAAM,GAAGjB,WAAW,CACtB,MAAO0B,CAAwC,IAAK;IAChD,IAAIV,QAAQ,EAAE;MACV;MACA;MACAU,CAAC,CAACC,OAAO,CAAC,CAAC;MACX,MAAMX,QAAQ,CAAC,CAAC;IACpB;IACAE,cAAc,IAAIA,cAAc,CAACQ,CAAC,CAAC;EACvC,CAAC,EACD,CAACV,QAAQ,EAAEE,cAAc,CAC7B,CAAC;EAED,oBACInB,KAAA,CAAA6B,aAAA;IAAKC,SAAS,EAAE;EAAa,gBACzB9B,KAAA,CAAA6B,aAAA,CAACrB,kBAAkB;IACfuB,OAAO,EAAEN,EAAG;IACZO,IAAI,EAAErB,KAAM;IACZG,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA;EAAQ,CACpB,CAAC,eACF1B,KAAA,CAAA6B,aAAA,CAACvB,wBAAwB;IAAC0B,IAAI,EAAEpB,WAAY;IAACG,QAAQ,EAAEA;EAAS,CAAE,CAAC,eACnEf,KAAA,CAAA6B,aAAA,CAACxB,iBAAiB,EAAA4B,MAAA,CAAAC,MAAA,KACVd,KAAK;IACTK,EAAE,EAAEA,EAAG;IACPV,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA,OAAQ;IACjBR,MAAM,EAAEA;EAAO,EAClB,CAAC,eACFlB,KAAA,CAAA6B,aAAA,CAACtB,yBAAyB;IACtByB,IAAI,EAAER,iBAAkB;IACxBE,OAAO,EAAEA,OAAQ;IACjBX,QAAQ,EAAEA;EAAS,CACtB,CAAC,eACFf,KAAA,CAAA6B,aAAA,CAACpB,iBAAiB;IAACuB,IAAI,EAAEnB,IAAK;IAACE,QAAQ,EAAEA;EAAS,CAAE,CACnD,CAAC;AAEd,CAAC;AACD,MAAMoB,QAAQ,GAAG/B,eAAe,CAAC,UAAU,EAAEM,mBAAmB,CAAC;AAEjE,SAASyB,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","generateId","makeDecoratable","TextareaPrimitive","FormComponentDescription","FormComponentErrorMessage","FormComponentLabel","FormComponentNote","DecoratableTextarea","label","description","note","required","disabled","validation","validate","onBlur","originalOnBlur","props","isValid","validationIsValid","message","validationMessage","id","invalid","e","persist","createElement","className","htmlFor","text","Object","assign","Textarea"],"sources":["Textarea.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { generateId, makeDecoratable } from \"~/utils\";\nimport type { TextareaPrimitiveProps } from \"./TextareaPrimitive\";\nimport { TextareaPrimitive } from \"./TextareaPrimitive\";\nimport type { FormComponentProps } from \"~/FormComponent\";\nimport {\n FormComponentDescription,\n FormComponentErrorMessage,\n FormComponentLabel,\n FormComponentNote\n} from \"~/FormComponent\";\n\ntype TextareaGroupProps = Omit<TextareaPrimitiveProps, \"onChange\"> & FormComponentProps;\n\nconst DecoratableTextarea = ({\n label,\n description,\n note,\n required,\n disabled,\n validation,\n validate,\n onBlur: originalOnBlur,\n ...props\n}: TextareaGroupProps) => {\n const { isValid: validationIsValid, message: validationMessage } = validation || {};\n const id = useMemo(() => generateId(props.id), [props.id]);\n const invalid = useMemo(() => validationIsValid === false, [validationIsValid]);\n\n const onBlur = useCallback(\n async (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (validate) {\n // Since we are accessing event in an async operation, we need to persist it.\n // See https://reactjs.org/docs/events.html#event-pooling.\n e.persist();\n await validate();\n }\n originalOnBlur && originalOnBlur(e);\n },\n [validate, originalOnBlur]\n );\n\n return (\n <div className={\"wby-w-full\"}>\n <FormComponentLabel\n htmlFor={id}\n text={label}\n required={required}\n disabled={disabled}\n invalid={invalid}\n />\n <FormComponentDescription text={description} disabled={disabled} />\n <TextareaPrimitive\n {...props}\n id={id}\n disabled={disabled}\n invalid={invalid}\n onBlur={onBlur}\n />\n <FormComponentErrorMessage\n text={validationMessage}\n invalid={invalid}\n disabled={disabled}\n />\n <FormComponentNote text={note} disabled={disabled} />\n </div>\n );\n};\nconst Textarea = makeDecoratable(\"Textarea\", DecoratableTextarea);\n\nexport { Textarea };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACnD,SAASC,UAAU,EAAEC,eAAe;AAEpC,SAASC,iBAAiB;AAE1B,SACIC,wBAAwB,EACxBC,yBAAyB,EACzBC,kBAAkB,EAClBC,iBAAiB;AAKrB,MAAMC,mBAAmB,GAAGA,CAAC;EACzBC,KAAK;EACLC,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,QAAQ;EACRC,UAAU;EACVC,QAAQ;EACRC,MAAM,EAAEC,cAAc;EACtB,GAAGC;AACa,CAAC,KAAK;EACtB,MAAM;IAAEC,OAAO,EAAEC,iBAAiB;IAAEC,OAAO,EAAEC;EAAkB,CAAC,GAAGR,UAAU,IAAI,CAAC,CAAC;EACnF,MAAMS,EAAE,GAAGvB,OAAO,CAAC,MAAMC,UAAU,CAACiB,KAAK,CAACK,EAAE,CAAC,EAAE,CAACL,KAAK,CAACK,EAAE,CAAC,CAAC;EAC1D,MAAMC,OAAO,GAAGxB,OAAO,CAAC,MAAMoB,iBAAiB,KAAK,KAAK,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAE/E,MAAMJ,MAAM,GAAGjB,WAAW,CACtB,MAAO0B,CAAwC,IAAK;IAChD,IAAIV,QAAQ,EAAE;MACV;MACA;MACAU,CAAC,CAACC,OAAO,CAAC,CAAC;MACX,MAAMX,QAAQ,CAAC,CAAC;IACpB;IACAE,cAAc,IAAIA,cAAc,CAACQ,CAAC,CAAC;EACvC,CAAC,EACD,CAACV,QAAQ,EAAEE,cAAc,CAC7B,CAAC;EAED,oBACInB,KAAA,CAAA6B,aAAA;IAAKC,SAAS,EAAE;EAAa,gBACzB9B,KAAA,CAAA6B,aAAA,CAACrB,kBAAkB;IACfuB,OAAO,EAAEN,EAAG;IACZO,IAAI,EAAErB,KAAM;IACZG,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA;EAAQ,CACpB,CAAC,eACF1B,KAAA,CAAA6B,aAAA,CAACvB,wBAAwB;IAAC0B,IAAI,EAAEpB,WAAY;IAACG,QAAQ,EAAEA;EAAS,CAAE,CAAC,eACnEf,KAAA,CAAA6B,aAAA,CAACxB,iBAAiB,EAAA4B,MAAA,CAAAC,MAAA,KACVd,KAAK;IACTK,EAAE,EAAEA,EAAG;IACPV,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA,OAAQ;IACjBR,MAAM,EAAEA;EAAO,EAClB,CAAC,eACFlB,KAAA,CAAA6B,aAAA,CAACtB,yBAAyB;IACtByB,IAAI,EAAER,iBAAkB;IACxBE,OAAO,EAAEA,OAAQ;IACjBX,QAAQ,EAAEA;EAAS,CACtB,CAAC,eACFf,KAAA,CAAA6B,aAAA,CAACpB,iBAAiB;IAACuB,IAAI,EAAEnB,IAAK;IAACE,QAAQ,EAAEA;EAAS,CAAE,CACnD,CAAC;AAEd,CAAC;AACD,MAAMoB,QAAQ,GAAG/B,eAAe,CAAC,UAAU,EAAEM,mBAAmB,CAAC;AAEjE,SAASyB,QAAQ","ignoreList":[]}
package/Toast/Toast.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { type ToasterProps } from "sonner";
3
- import { Icon as BaseIcon } from "../Icon";
3
+ import type { Icon as BaseIcon } from "../Icon";
4
4
  import { ToastActions, ToastDescription, ToastTitle, type ToastRootProps } from "./components";
5
5
  interface ToastProps extends Omit<ToastRootProps, "title" | "content" | "children"> {
6
6
  title: React.ReactElement<typeof ToastTitle>;