@quen-ui/components 0.0.14 → 1.0.1

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 (403) hide show
  1. package/README.md +2 -2
  2. package/dist/Accordion/Accordion.cjs.js +88 -0
  3. package/dist/Accordion/Accordion.d.ts +3 -0
  4. package/dist/Accordion/Accordion.es.js +89 -0
  5. package/dist/Accordion/AccordionGroup.cjs.js +82 -0
  6. package/dist/Accordion/AccordionGroup.d.ts +12 -0
  7. package/dist/Accordion/AccordionGroup.es.js +82 -0
  8. package/dist/Accordion/AccordionItem.cjs.js +71 -0
  9. package/dist/Accordion/AccordionItem.d.ts +3 -0
  10. package/dist/Accordion/AccordionItem.es.js +72 -0
  11. package/dist/Accordion/helpers.cjs.js +24 -0
  12. package/dist/Accordion/helpers.d.ts +25 -0
  13. package/dist/Accordion/helpers.es.js +24 -0
  14. package/dist/Accordion/index.cjs.js +7 -0
  15. package/dist/Accordion/index.d.ts +8 -0
  16. package/dist/Accordion/index.es.js +7 -0
  17. package/dist/Accordion/styles.cjs.js +97 -0
  18. package/dist/Accordion/styles.d.ts +23 -0
  19. package/dist/Accordion/styles.es.js +97 -0
  20. package/dist/Accordion/types.d.ts +142 -0
  21. package/dist/Accordion/useAccordionState.cjs.js +34 -0
  22. package/dist/Accordion/useAccordionState.d.ts +12 -0
  23. package/dist/Accordion/useAccordionState.es.js +34 -0
  24. package/dist/Alert/Alert.cjs.js +1 -1
  25. package/dist/Alert/Alert.es.js +1 -1
  26. package/dist/Alert/styles.cjs.js +14 -10
  27. package/dist/Alert/styles.es.js +14 -10
  28. package/dist/Avatar/styles.cjs.js +16 -11
  29. package/dist/Avatar/styles.es.js +16 -11
  30. package/dist/Badge/styles.cjs.js +7 -7
  31. package/dist/Badge/styles.es.js +7 -7
  32. package/dist/Breadcrumbs/BreadcrumbItem.cjs.js +6 -6
  33. package/dist/Breadcrumbs/BreadcrumbItem.es.js +6 -6
  34. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +2 -3
  35. package/dist/Breadcrumbs/Breadcrumbs.es.js +2 -3
  36. package/dist/Breadcrumbs/styles.cjs.js +15 -15
  37. package/dist/Breadcrumbs/styles.es.js +15 -15
  38. package/dist/Button/Button.cjs.js +3 -3
  39. package/dist/Button/Button.es.js +6 -6
  40. package/dist/Button/index.d.ts +1 -1
  41. package/dist/Button/styles.cjs.js +49 -54
  42. package/dist/Button/styles.es.js +50 -55
  43. package/dist/Button/types.d.ts +2 -3
  44. package/dist/Calendar/Calendar.cjs.js +200 -0
  45. package/dist/Calendar/Calendar.d.ts +4 -0
  46. package/dist/Calendar/Calendar.es.js +201 -0
  47. package/dist/Calendar/DaysLevel.cjs.js +93 -0
  48. package/dist/Calendar/DaysLevel.d.ts +3 -0
  49. package/dist/Calendar/DaysLevel.es.js +94 -0
  50. package/dist/Calendar/MonthLevel.cjs.js +23 -0
  51. package/dist/Calendar/MonthLevel.d.ts +3 -0
  52. package/dist/Calendar/MonthLevel.es.js +24 -0
  53. package/dist/Calendar/YearsLevel.cjs.js +24 -0
  54. package/dist/Calendar/YearsLevel.d.ts +3 -0
  55. package/dist/Calendar/YearsLevel.es.js +25 -0
  56. package/dist/Calendar/helpers.cjs.js +60 -0
  57. package/dist/Calendar/helpers.d.ts +9 -0
  58. package/dist/Calendar/helpers.es.js +60 -0
  59. package/dist/Calendar/index.d.ts +2 -0
  60. package/dist/Calendar/styles.cjs.js +116 -0
  61. package/dist/Calendar/styles.d.ts +16 -0
  62. package/dist/Calendar/styles.es.js +116 -0
  63. package/dist/Calendar/types.d.ts +115 -0
  64. package/dist/Card/Card.cjs.js +4 -2
  65. package/dist/Card/Card.d.ts +1 -1
  66. package/dist/Card/Card.es.js +4 -2
  67. package/dist/Card/styles.cjs.js +2 -2
  68. package/dist/Card/styles.es.js +2 -2
  69. package/dist/Card/types.d.ts +2 -0
  70. package/dist/Checkbox/Checkbox.cjs.js +1 -1
  71. package/dist/Checkbox/Checkbox.es.js +1 -1
  72. package/dist/Checkbox/CheckboxGroup.cjs.js +22 -25
  73. package/dist/Checkbox/CheckboxGroup.es.js +22 -25
  74. package/dist/Checkbox/styles.cjs.js +24 -23
  75. package/dist/Checkbox/styles.es.js +24 -23
  76. package/dist/ColorPicker/ColorPicker.cjs.js +404 -0
  77. package/dist/ColorPicker/ColorPicker.d.ts +3 -0
  78. package/dist/ColorPicker/ColorPicker.es.js +405 -0
  79. package/dist/ColorPicker/InputColor.cjs.js +94 -0
  80. package/dist/ColorPicker/InputColor.d.ts +3 -0
  81. package/dist/ColorPicker/InputColor.es.js +95 -0
  82. package/dist/ColorPicker/InputsColor.cjs.js +177 -0
  83. package/dist/ColorPicker/InputsColor.d.ts +3 -0
  84. package/dist/ColorPicker/InputsColor.es.js +178 -0
  85. package/dist/ColorPicker/helpers.cjs.js +32 -0
  86. package/dist/ColorPicker/helpers.d.ts +4 -0
  87. package/dist/ColorPicker/helpers.es.js +32 -0
  88. package/dist/ColorPicker/index.cjs.js +7 -0
  89. package/dist/ColorPicker/index.d.ts +8 -0
  90. package/dist/ColorPicker/index.es.js +7 -0
  91. package/dist/ColorPicker/styles.cjs.js +234 -0
  92. package/dist/ColorPicker/styles.d.ts +43 -0
  93. package/dist/ColorPicker/styles.es.js +234 -0
  94. package/dist/ColorPicker/types.d.ts +56 -0
  95. package/dist/Divider/styles.cjs.js +12 -10
  96. package/dist/Divider/styles.es.js +12 -10
  97. package/dist/Drawer/Drawer.cjs.js +5 -1
  98. package/dist/Drawer/Drawer.es.js +5 -1
  99. package/dist/Drawer/styles.cjs.js +4 -5
  100. package/dist/Drawer/styles.es.js +4 -5
  101. package/dist/Dropdown/Dropdown.cjs.js +31 -2
  102. package/dist/Dropdown/Dropdown.d.ts +2 -2
  103. package/dist/Dropdown/Dropdown.es.js +32 -3
  104. package/dist/Dropdown/DropdownItem.cjs.js +4 -5
  105. package/dist/Dropdown/DropdownItem.es.js +4 -5
  106. package/dist/Dropdown/DropdownList.cjs.js +3 -2
  107. package/dist/Dropdown/DropdownList.es.js +6 -5
  108. package/dist/Dropdown/DropdownPortal.cjs.js +8 -5
  109. package/dist/Dropdown/DropdownPortal.d.ts +5 -3
  110. package/dist/Dropdown/DropdownPortal.es.js +9 -6
  111. package/dist/Dropdown/helpers.cjs.js +1 -1
  112. package/dist/Dropdown/helpers.es.js +1 -1
  113. package/dist/Dropdown/styles.cjs.js +28 -27
  114. package/dist/Dropdown/styles.d.ts +2 -0
  115. package/dist/Dropdown/styles.es.js +28 -27
  116. package/dist/EmptyState/EmptyState.cjs.js +51 -0
  117. package/dist/EmptyState/EmptyState.d.ts +3 -0
  118. package/dist/EmptyState/EmptyState.es.js +52 -0
  119. package/dist/EmptyState/index.d.ts +2 -0
  120. package/dist/EmptyState/types.d.ts +10 -0
  121. package/dist/Flex/Flex.d.ts +1 -1
  122. package/dist/Flex/types.d.ts +1 -0
  123. package/dist/Form/Field.cjs.js +175 -0
  124. package/dist/Form/Field.d.ts +3 -0
  125. package/dist/Form/Field.es.js +176 -0
  126. package/dist/Form/FieldArray.cjs.js +24 -0
  127. package/dist/Form/FieldArray.d.ts +3 -0
  128. package/dist/Form/FieldArray.es.js +25 -0
  129. package/dist/Form/Form.cjs.js +69 -0
  130. package/dist/Form/Form.d.ts +3 -0
  131. package/dist/Form/Form.es.js +69 -0
  132. package/dist/Form/defaultValidateMessages.cjs.js +51 -0
  133. package/dist/Form/defaultValidateMessages.d.ts +47 -0
  134. package/dist/Form/defaultValidateMessages.es.js +51 -0
  135. package/dist/Form/helpers.cjs.js +8 -0
  136. package/dist/Form/helpers.d.ts +1 -0
  137. package/dist/Form/helpers.es.js +8 -0
  138. package/dist/Form/index.cjs.js +13 -0
  139. package/dist/Form/index.d.ts +14 -0
  140. package/dist/Form/index.es.js +13 -0
  141. package/dist/Form/types.d.ts +147 -0
  142. package/dist/Form/useForm.cjs.js +230 -0
  143. package/dist/Form/useForm.d.ts +2 -0
  144. package/dist/Form/useForm.es.js +230 -0
  145. package/dist/Form/useWatch.cjs.js +14 -0
  146. package/dist/Form/useWatch.d.ts +3 -0
  147. package/dist/Form/useWatch.es.js +14 -0
  148. package/dist/Highlight/Highlight.cjs.js +113 -0
  149. package/dist/Highlight/Highlight.d.ts +3 -0
  150. package/dist/Highlight/Highlight.es.js +114 -0
  151. package/dist/Highlight/helpers.cjs.js +147 -0
  152. package/dist/Highlight/helpers.d.ts +27 -0
  153. package/dist/Highlight/helpers.es.js +147 -0
  154. package/dist/Highlight/index.d.ts +2 -0
  155. package/dist/Highlight/styles.cjs.js +11 -0
  156. package/dist/Highlight/styles.d.ts +4 -0
  157. package/dist/Highlight/styles.es.js +11 -0
  158. package/dist/Highlight/types.d.ts +53 -0
  159. package/dist/Image/styles.cjs.js +4 -5
  160. package/dist/Image/styles.es.js +4 -5
  161. package/dist/InputBase/InputBase.cjs.js +32 -0
  162. package/dist/InputBase/InputBase.d.ts +4 -0
  163. package/dist/InputBase/InputBase.es.js +33 -0
  164. package/dist/InputBase/index.d.ts +2 -0
  165. package/dist/InputBase/styles.cjs.js +61 -0
  166. package/dist/InputBase/styles.d.ts +7 -0
  167. package/dist/InputBase/styles.es.js +61 -0
  168. package/dist/InputBase/types.d.ts +25 -0
  169. package/dist/InputDate/InputDate.cjs.js +344 -0
  170. package/dist/InputDate/InputDate.d.ts +4 -0
  171. package/dist/InputDate/InputDate.es.js +345 -0
  172. package/dist/InputDate/helpers.cjs.js +78 -0
  173. package/dist/InputDate/helpers.d.ts +5 -0
  174. package/dist/InputDate/helpers.es.js +78 -0
  175. package/dist/InputDate/index.d.ts +2 -0
  176. package/dist/InputDate/styles.cjs.js +35 -0
  177. package/dist/InputDate/styles.d.ts +5 -0
  178. package/dist/InputDate/styles.es.js +35 -0
  179. package/dist/InputDate/types.d.ts +23 -0
  180. package/dist/InputNumber/InputNumber.cjs.js +70 -73
  181. package/dist/InputNumber/InputNumber.d.ts +1 -1
  182. package/dist/InputNumber/InputNumber.es.js +72 -75
  183. package/dist/InputNumber/styles.cjs.js +20 -60
  184. package/dist/InputNumber/styles.d.ts +4 -8
  185. package/dist/InputNumber/styles.es.js +21 -61
  186. package/dist/InputNumber/types.d.ts +2 -18
  187. package/dist/Layout/Header.cjs.js +27 -23
  188. package/dist/Layout/Header.d.ts +1 -1
  189. package/dist/Layout/Header.es.js +28 -24
  190. package/dist/Layout/Sidebar.cjs.js +24 -25
  191. package/dist/Layout/Sidebar.d.ts +1 -1
  192. package/dist/Layout/Sidebar.es.js +25 -26
  193. package/dist/Layout/index.d.ts +2 -2
  194. package/dist/Layout/styles.cjs.js +16 -52
  195. package/dist/Layout/styles.d.ts +2 -15
  196. package/dist/Layout/styles.es.js +16 -52
  197. package/dist/Layout/types.d.ts +7 -22
  198. package/dist/Loader/styles.cjs.js +5 -4
  199. package/dist/Loader/styles.es.js +5 -4
  200. package/dist/LoadingOverlay/LoadingOverlay.cjs.js +22 -0
  201. package/dist/LoadingOverlay/LoadingOverlay.d.ts +3 -0
  202. package/dist/LoadingOverlay/LoadingOverlay.es.js +23 -0
  203. package/dist/LoadingOverlay/index.d.ts +2 -0
  204. package/dist/LoadingOverlay/styles.cjs.js +28 -0
  205. package/dist/LoadingOverlay/styles.d.ts +5 -0
  206. package/dist/LoadingOverlay/styles.es.js +28 -0
  207. package/dist/LoadingOverlay/types.d.ts +16 -0
  208. package/dist/Menu/Menu.cjs.js +42 -0
  209. package/dist/Menu/Menu.d.ts +3 -0
  210. package/dist/Menu/Menu.es.js +43 -0
  211. package/dist/Menu/MenuItem.cjs.js +112 -0
  212. package/dist/Menu/MenuItem.d.ts +3 -0
  213. package/dist/Menu/MenuItem.es.js +113 -0
  214. package/dist/Menu/helpers.cjs.js +20 -0
  215. package/dist/Menu/helpers.d.ts +17 -0
  216. package/dist/Menu/helpers.es.js +20 -0
  217. package/dist/Menu/index.d.ts +2 -0
  218. package/dist/Menu/styles.cjs.js +98 -0
  219. package/dist/Menu/styles.d.ts +16 -0
  220. package/dist/Menu/styles.es.js +98 -0
  221. package/dist/Menu/types.d.ts +85 -0
  222. package/dist/Modal/Modal.cjs.js +15 -5
  223. package/dist/Modal/Modal.d.ts +1 -1
  224. package/dist/Modal/Modal.es.js +16 -6
  225. package/dist/Modal/styles.cjs.js +39 -9
  226. package/dist/Modal/styles.d.ts +4 -0
  227. package/dist/Modal/styles.es.js +40 -10
  228. package/dist/Modal/types.d.ts +2 -0
  229. package/dist/Notification/Notification.cjs.js +3 -3
  230. package/dist/Notification/Notification.es.js +3 -3
  231. package/dist/Notification/NotificationInstance.cjs.js +8 -15
  232. package/dist/Notification/NotificationInstance.es.js +8 -15
  233. package/dist/Notification/NotificationsStore.cjs.js +2 -7
  234. package/dist/Notification/NotificationsStore.es.js +2 -7
  235. package/dist/Notification/styles.cjs.js +6 -6
  236. package/dist/Notification/styles.es.js +6 -6
  237. package/dist/Pagination/Pagination.cjs.js +114 -0
  238. package/dist/Pagination/Pagination.d.ts +3 -0
  239. package/dist/Pagination/Pagination.es.js +115 -0
  240. package/dist/Pagination/index.d.ts +2 -0
  241. package/dist/Pagination/styles.cjs.js +54 -0
  242. package/dist/Pagination/styles.d.ts +2 -0
  243. package/dist/Pagination/styles.es.js +54 -0
  244. package/dist/Pagination/types.d.ts +49 -0
  245. package/dist/Progress/Progress.cjs.js +1 -1
  246. package/dist/Progress/Progress.es.js +1 -1
  247. package/dist/Progress/styles.cjs.js +5 -50
  248. package/dist/Progress/styles.es.js +5 -50
  249. package/dist/Progress/types.d.ts +1 -0
  250. package/dist/RadioButton/RadioButton.cjs.js +1 -1
  251. package/dist/RadioButton/RadioButton.es.js +1 -1
  252. package/dist/RadioButton/RadioButtonGroup.cjs.js +19 -22
  253. package/dist/RadioButton/RadioButtonGroup.es.js +19 -22
  254. package/dist/RadioButton/styles.cjs.js +11 -13
  255. package/dist/RadioButton/styles.es.js +11 -13
  256. package/dist/RichTextEditor/RichTextEditor.cjs.js +289 -0
  257. package/dist/RichTextEditor/RichTextEditor.d.ts +4 -0
  258. package/dist/RichTextEditor/RichTextEditor.es.js +290 -0
  259. package/dist/RichTextEditor/RichTextEditorColorControl.cjs.js +38 -0
  260. package/dist/RichTextEditor/RichTextEditorColorControl.d.ts +3 -0
  261. package/dist/RichTextEditor/RichTextEditorColorControl.es.js +39 -0
  262. package/dist/RichTextEditor/RichTextEditorTableControl.cjs.js +62 -0
  263. package/dist/RichTextEditor/RichTextEditorTableControl.d.ts +3 -0
  264. package/dist/RichTextEditor/RichTextEditorTableControl.es.js +63 -0
  265. package/dist/RichTextEditor/helpers.cjs.js +151 -0
  266. package/dist/RichTextEditor/helpers.d.ts +10 -0
  267. package/dist/RichTextEditor/helpers.es.js +151 -0
  268. package/dist/RichTextEditor/index.d.ts +2 -0
  269. package/dist/RichTextEditor/plugins.cjs.js +548 -0
  270. package/dist/RichTextEditor/plugins.d.ts +2 -0
  271. package/dist/RichTextEditor/plugins.es.js +548 -0
  272. package/dist/RichTextEditor/styles.cjs.js +60 -0
  273. package/dist/RichTextEditor/styles.d.ts +7 -0
  274. package/dist/RichTextEditor/styles.es.js +60 -0
  275. package/dist/RichTextEditor/types.d.ts +79 -0
  276. package/dist/Select/Select.cjs.js +30 -18
  277. package/dist/Select/Select.es.js +30 -18
  278. package/dist/Select/helpers.cjs.js +1 -1
  279. package/dist/Select/helpers.d.ts +24 -24
  280. package/dist/Select/helpers.es.js +1 -1
  281. package/dist/Select/styles.cjs.js +91 -118
  282. package/dist/Select/styles.d.ts +4 -5
  283. package/dist/Select/styles.es.js +91 -118
  284. package/dist/Select/types.d.ts +3 -23
  285. package/dist/Select/useSelect.cjs.js +8 -14
  286. package/dist/Select/useSelect.d.ts +20 -20
  287. package/dist/Select/useSelect.es.js +8 -14
  288. package/dist/Skeleton/Skeleton.cjs.js +35 -0
  289. package/dist/Skeleton/Skeleton.d.ts +3 -0
  290. package/dist/Skeleton/Skeleton.es.js +36 -0
  291. package/dist/Skeleton/SkeletonAvatar.cjs.js +17 -0
  292. package/dist/Skeleton/SkeletonAvatar.d.ts +3 -0
  293. package/dist/Skeleton/SkeletonAvatar.es.js +18 -0
  294. package/dist/Skeleton/SkeletonButton.cjs.js +21 -0
  295. package/dist/Skeleton/SkeletonButton.d.ts +3 -0
  296. package/dist/Skeleton/SkeletonButton.es.js +22 -0
  297. package/dist/Skeleton/SkeletonCard.cjs.js +15 -0
  298. package/dist/Skeleton/SkeletonCard.d.ts +3 -0
  299. package/dist/Skeleton/SkeletonCard.es.js +16 -0
  300. package/dist/Skeleton/SkeletonLayout.cjs.js +60 -0
  301. package/dist/Skeleton/SkeletonLayout.d.ts +3 -0
  302. package/dist/Skeleton/SkeletonLayout.es.js +61 -0
  303. package/dist/Skeleton/SkeletonList.cjs.js +39 -0
  304. package/dist/Skeleton/SkeletonList.d.ts +3 -0
  305. package/dist/Skeleton/SkeletonList.es.js +40 -0
  306. package/dist/Skeleton/SkeletonTextBlock.cjs.js +7 -0
  307. package/dist/Skeleton/SkeletonTextBlock.d.ts +5 -0
  308. package/dist/Skeleton/SkeletonTextBlock.es.js +8 -0
  309. package/dist/Skeleton/index.cjs.js +17 -0
  310. package/dist/Skeleton/index.d.ts +18 -0
  311. package/dist/Skeleton/index.es.js +17 -0
  312. package/dist/Skeleton/styles.cjs.js +59 -0
  313. package/dist/Skeleton/styles.d.ts +3 -0
  314. package/dist/Skeleton/styles.es.js +59 -0
  315. package/dist/Skeleton/types.d.ts +74 -0
  316. package/dist/Slider/Slider.cjs.js +282 -0
  317. package/dist/Slider/Slider.d.ts +3 -0
  318. package/dist/Slider/Slider.es.js +283 -0
  319. package/dist/Slider/index.d.ts +2 -0
  320. package/dist/Slider/styles.cjs.js +156 -0
  321. package/dist/Slider/styles.d.ts +35 -0
  322. package/dist/Slider/styles.es.js +156 -0
  323. package/dist/Slider/types.d.ts +53 -0
  324. package/dist/Spoiler/Spoiler.cjs.js +62 -0
  325. package/dist/Spoiler/Spoiler.d.ts +3 -0
  326. package/dist/Spoiler/Spoiler.es.js +63 -0
  327. package/dist/Spoiler/index.d.ts +2 -0
  328. package/dist/Spoiler/styles.cjs.js +15 -0
  329. package/dist/Spoiler/styles.d.ts +4 -0
  330. package/dist/Spoiler/styles.es.js +15 -0
  331. package/dist/Spoiler/types.d.ts +23 -0
  332. package/dist/Switch/Switch.cjs.js +32 -6
  333. package/dist/Switch/Switch.d.ts +2 -2
  334. package/dist/Switch/Switch.es.js +33 -7
  335. package/dist/Switch/styles.cjs.js +24 -7
  336. package/dist/Switch/styles.d.ts +4 -0
  337. package/dist/Switch/styles.es.js +24 -7
  338. package/dist/Switch/types.d.ts +3 -0
  339. package/dist/Tabs/Tab.cjs.js +8 -8
  340. package/dist/Tabs/Tab.es.js +8 -8
  341. package/dist/Tabs/TabPanel.cjs.js +3 -3
  342. package/dist/Tabs/TabPanel.es.js +3 -3
  343. package/dist/Tabs/Tabs.cjs.js +5 -4
  344. package/dist/Tabs/Tabs.d.ts +1 -1
  345. package/dist/Tabs/Tabs.es.js +5 -4
  346. package/dist/Tabs/TabsList.cjs.js +25 -1
  347. package/dist/Tabs/TabsList.d.ts +2 -2
  348. package/dist/Tabs/TabsList.es.js +25 -1
  349. package/dist/Tabs/styles.cjs.js +104 -34
  350. package/dist/Tabs/styles.d.ts +2 -0
  351. package/dist/Tabs/styles.es.js +104 -34
  352. package/dist/Tabs/types.d.ts +7 -3
  353. package/dist/Tag/Tag.cjs.js +4 -1
  354. package/dist/Tag/Tag.d.ts +1 -1
  355. package/dist/Tag/Tag.es.js +4 -1
  356. package/dist/Tag/styles.cjs.js +14 -9
  357. package/dist/Tag/styles.d.ts +2 -0
  358. package/dist/Tag/styles.es.js +14 -9
  359. package/dist/Tag/types.d.ts +6 -0
  360. package/dist/TextField/TextField.cjs.js +57 -56
  361. package/dist/TextField/TextField.d.ts +1 -1
  362. package/dist/TextField/TextField.es.js +58 -57
  363. package/dist/TextField/styles.cjs.js +9 -50
  364. package/dist/TextField/styles.d.ts +3 -8
  365. package/dist/TextField/styles.es.js +10 -51
  366. package/dist/TextField/types.d.ts +2 -20
  367. package/dist/Textarea/Textarea.cjs.js +57 -56
  368. package/dist/Textarea/Textarea.d.ts +1 -1
  369. package/dist/Textarea/Textarea.es.js +58 -57
  370. package/dist/Textarea/styles.cjs.js +10 -62
  371. package/dist/Textarea/styles.d.ts +3 -8
  372. package/dist/Textarea/styles.es.js +12 -64
  373. package/dist/Textarea/types.d.ts +2 -21
  374. package/dist/Tooltip/Tooltip.cjs.js +3 -1
  375. package/dist/Tooltip/Tooltip.d.ts +1 -1
  376. package/dist/Tooltip/Tooltip.es.js +3 -1
  377. package/dist/Tooltip/types.d.ts +3 -0
  378. package/dist/assets/box.svg.cjs.js +21 -0
  379. package/dist/assets/box.svg.es.js +5 -0
  380. package/dist/index.cjs.js +30 -0
  381. package/dist/index.d.ts +17 -2
  382. package/dist/index.es.js +30 -0
  383. package/dist/message/Message.cjs.js +42 -0
  384. package/dist/message/Message.d.ts +3 -0
  385. package/dist/message/Message.es.js +43 -0
  386. package/dist/message/MessageContext.cjs.js +101 -0
  387. package/dist/message/MessageContext.d.ts +4 -0
  388. package/dist/message/MessageContext.es.js +101 -0
  389. package/dist/message/index.cjs.js +8 -0
  390. package/dist/message/index.d.ts +6 -0
  391. package/dist/message/index.es.js +8 -0
  392. package/dist/message/styles.cjs.js +79 -0
  393. package/dist/message/styles.d.ts +11 -0
  394. package/dist/message/styles.es.js +79 -0
  395. package/dist/message/types.d.ts +42 -0
  396. package/dist/typography/Text/Text.es.js +3 -3
  397. package/dist/typography/Title/Title.cjs.js +2 -0
  398. package/dist/typography/Title/Title.d.ts +1 -1
  399. package/dist/typography/Title/Title.es.js +2 -0
  400. package/dist/typography/Title/styles.cjs.js +3 -0
  401. package/dist/typography/Title/styles.es.js +3 -0
  402. package/dist/typography/Title/types.d.ts +1 -0
  403. package/package.json +17 -13
@@ -0,0 +1,230 @@
1
+ import { useState, useCallback } from "react";
2
+ import { getValueObject, setValueObject, deleteValueObject } from "@quen-ui/helpers";
3
+ const useForm = (options) => {
4
+ const [values, setValues] = useState(options?.initialValues ?? {});
5
+ const [fields, setFields] = useState({});
6
+ const [errors, setErrors] = useState([]);
7
+ const [subscribes, setSubscribes] = useState([]);
8
+ const [submitCallback, setSubmitCallback] = useState();
9
+ const registerField = useCallback(
10
+ (name, { defaultValue, rules, validate, dependencies }) => {
11
+ const value = defaultValue ?? getValueObject(options?.initialValues ?? {}, name);
12
+ setValues((prev) => setValueObject(prev, name, value));
13
+ setFields((prev) => ({
14
+ ...prev,
15
+ [name]: { validate, rules, defaultValue, dependencies }
16
+ }));
17
+ },
18
+ []
19
+ );
20
+ const unregisterField = useCallback((name) => {
21
+ setValues((prevState) => {
22
+ return deleteValueObject(prevState, name);
23
+ });
24
+ setErrors((prevState) => {
25
+ return prevState.filter((error) => error.name !== name);
26
+ });
27
+ setFields((prevState) => {
28
+ const copy = { ...prevState };
29
+ delete copy[name];
30
+ return copy;
31
+ });
32
+ }, []);
33
+ const registerSubscribe = useCallback(
34
+ (name, callback) => {
35
+ setSubscribes((prev) => [...prev, { name, func: callback }]);
36
+ },
37
+ []
38
+ );
39
+ const unregisterSubscribe = useCallback((name) => {
40
+ setSubscribes((prev) => prev.filter((s) => s.name !== name));
41
+ }, []);
42
+ const triggerValidation = useCallback(
43
+ (name, value, _values) => {
44
+ const field = fields[name];
45
+ if (field?.validate) {
46
+ field.validate(value, _values);
47
+ }
48
+ },
49
+ [fields]
50
+ );
51
+ const notifyWatchValueField = useCallback(
52
+ (updates) => {
53
+ subscribes.forEach((subscribe) => {
54
+ if (Object.keys(updates).includes(subscribe.name)) {
55
+ subscribe.func(updates[subscribe.name]);
56
+ }
57
+ });
58
+ },
59
+ [subscribes, values]
60
+ );
61
+ const updateValues = useCallback(
62
+ (updates) => {
63
+ let changedValues = {};
64
+ let nextValues = {};
65
+ setValues((prev) => {
66
+ nextValues = { ...prev };
67
+ for (const [name, value] of Object.entries(updates)) {
68
+ nextValues = setValueObject(
69
+ nextValues,
70
+ name,
71
+ value
72
+ );
73
+ changedValues = setValueObject(
74
+ changedValues,
75
+ name,
76
+ value
77
+ );
78
+ }
79
+ return nextValues;
80
+ });
81
+ setErrors((prev) => {
82
+ return prev.filter(
83
+ (error) => !Object.keys(updates).includes(error.name)
84
+ );
85
+ });
86
+ Object.entries(fields).forEach(([fieldName, field]) => {
87
+ const deps = field.dependencies ?? [];
88
+ if (deps.some((dep) => dep in updates)) {
89
+ const depValue = getValueObject(
90
+ nextValues,
91
+ fieldName,
92
+ ""
93
+ );
94
+ triggerValidation(
95
+ fieldName,
96
+ depValue,
97
+ nextValues
98
+ );
99
+ }
100
+ });
101
+ notifyWatchValueField(updates);
102
+ options?.onValueChange?.(changedValues, nextValues);
103
+ },
104
+ [fields, triggerValidation, options, notifyWatchValueField]
105
+ );
106
+ const setFieldValue = useCallback(
107
+ (name, value) => {
108
+ updateValues({ [name]: value });
109
+ },
110
+ [updateValues]
111
+ );
112
+ const arrayHelpers = (name) => ({
113
+ add: (value) => {
114
+ setValues((prev) => {
115
+ const currentValue = getValueObject(prev, name, []);
116
+ return setValueObject(
117
+ prev,
118
+ `${name}[${currentValue.length}]`,
119
+ value
120
+ );
121
+ });
122
+ },
123
+ remove: (index) => {
124
+ setValues((prev) => {
125
+ const current = getValueObject(prev, name, []);
126
+ const newArr = current.filter((_, i) => i !== index);
127
+ return setValueObject(prev, name, newArr);
128
+ });
129
+ },
130
+ insert: (index, value) => {
131
+ setValues((prev) => {
132
+ const current = getValueObject(prev, name, []);
133
+ const newArr = [
134
+ ...current.slice(0, index),
135
+ value,
136
+ ...current.slice(index)
137
+ ];
138
+ return setValueObject(prev, name, newArr);
139
+ });
140
+ }
141
+ });
142
+ const onValidateFields = useCallback(async () => {
143
+ const results = await Promise.all(
144
+ Object.entries(fields).map(async ([fieldName, config]) => {
145
+ const { validate } = config;
146
+ if (!validate) return null;
147
+ return validate(getFieldValue(fieldName), values);
148
+ })
149
+ );
150
+ return results.flat().filter(Boolean).length === 0;
151
+ }, [fields, values]);
152
+ const resetFields = useCallback(() => {
153
+ setValues(options?.initialValues ?? {});
154
+ setErrors([]);
155
+ }, [options?.initialValues]);
156
+ const setFieldsValue = useCallback(
157
+ (_values) => {
158
+ updateValues(_values);
159
+ },
160
+ [updateValues]
161
+ );
162
+ const getFieldError = useCallback(
163
+ (name) => {
164
+ return errors.filter((error) => error.name === name)?.[0]?.errors ?? [];
165
+ },
166
+ [errors]
167
+ );
168
+ const getFieldsError = useCallback(
169
+ (names) => {
170
+ if (!names) {
171
+ return errors;
172
+ }
173
+ return errors.filter((error) => names.includes(error.name));
174
+ },
175
+ [errors]
176
+ );
177
+ const getFieldValue = useCallback(
178
+ (name) => {
179
+ return getValueObject(values, name);
180
+ },
181
+ [values]
182
+ );
183
+ const getFieldsValue = useCallback(
184
+ (names) => {
185
+ if (names) {
186
+ let fieldsValue = {};
187
+ names.forEach((name) => {
188
+ const value = getValueObject(values, name);
189
+ fieldsValue = {
190
+ fieldsValue,
191
+ ...setValueObject(
192
+ fieldsValue,
193
+ name,
194
+ value
195
+ )
196
+ };
197
+ });
198
+ return fieldsValue;
199
+ }
200
+ return values;
201
+ },
202
+ [values]
203
+ );
204
+ const submit = () => {
205
+ submitCallback?.();
206
+ };
207
+ return {
208
+ getFieldValue,
209
+ getFieldsValue,
210
+ registerField,
211
+ resetFields,
212
+ setFieldValue,
213
+ setErrors,
214
+ fields,
215
+ unregisterField,
216
+ arrayHelpers,
217
+ registerSubscribe,
218
+ unregisterSubscribe,
219
+ triggerValidation,
220
+ setFieldsValue,
221
+ onValidateFields,
222
+ getFieldError,
223
+ getFieldsError,
224
+ submit,
225
+ setSubmitCallback
226
+ };
227
+ };
228
+ export {
229
+ useForm
230
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const useWatch = (name, form) => {
5
+ const [value, setValue] = React.useState(form.getFieldValue(name));
6
+ React.useEffect(() => {
7
+ form.registerSubscribe(name, setValue);
8
+ return () => {
9
+ form.unregisterSubscribe(name);
10
+ };
11
+ }, []);
12
+ return value;
13
+ };
14
+ exports.useWatch = useWatch;
@@ -0,0 +1,3 @@
1
+ import { TKeyObjectType, TValueObjectType } from '../../../helpers/src';
2
+ import { IFormInstance } from './types';
3
+ export declare const useWatch: <T extends Record<string, any>, P extends TKeyObjectType<T>>(name: P, form: IFormInstance<T>) => TValueObjectType<T, P>;
@@ -0,0 +1,14 @@
1
+ import { useState, useEffect } from "react";
2
+ const useWatch = (name, form) => {
3
+ const [value, setValue] = useState(form.getFieldValue(name));
4
+ useEffect(() => {
5
+ form.registerSubscribe(name, setValue);
6
+ return () => {
7
+ form.unregisterSubscribe(name);
8
+ };
9
+ }, []);
10
+ return value;
11
+ };
12
+ export {
13
+ useWatch
14
+ };
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const React = require("react");
4
+ const helpers = require("./helpers.cjs.js");
5
+ const styles = require("./styles.cjs.js");
6
+ const Text = require("../typography/Text/Text.cjs.js");
7
+ const Highlight = ({
8
+ children,
9
+ highlightComponent,
10
+ highlightStyle,
11
+ highlightTag = "mark",
12
+ highlightClassName,
13
+ escapeQuery = true,
14
+ query,
15
+ maxChunks = Infinity,
16
+ rootProps,
17
+ color = "yellow",
18
+ splitByWords = false,
19
+ caseSensitive = false,
20
+ ranges
21
+ }) => {
22
+ if (children === null) {
23
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...rootProps, children });
24
+ }
25
+ const text = typeof children === "string" ? children : children?.props?.children;
26
+ const chunksFromRanges = React.useMemo(() => {
27
+ if (ranges && ranges.length && text) {
28
+ const normalized = helpers.normalizeRanges(ranges, text.length);
29
+ if (normalized.length === 0) return null;
30
+ return helpers.buildChunksFromRanges(text, normalized, maxChunks);
31
+ }
32
+ return null;
33
+ }, [ranges, text, maxChunks]);
34
+ if (chunksFromRanges) {
35
+ return /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "m", ...rootProps, children: renderChunks(
36
+ chunksFromRanges,
37
+ highlightTag,
38
+ highlightComponent,
39
+ highlightClassName,
40
+ highlightStyle,
41
+ color
42
+ ) });
43
+ }
44
+ const regex = React.useMemo(
45
+ () => helpers.buildRegexFromQuery(query ?? null, {
46
+ caseSensitive,
47
+ escapeQuery,
48
+ splitByWords
49
+ }),
50
+ [query, caseSensitive, escapeQuery, splitByWords]
51
+ );
52
+ const chunks = React.useMemo(() => {
53
+ if (!text) return null;
54
+ if (!regex) return [{ type: "text", text }];
55
+ const matches = helpers.collectMatches(text, regex);
56
+ if (!matches || matches.length === 0)
57
+ return [{ type: "text", text }];
58
+ return helpers.buildChunks(text, matches, maxChunks);
59
+ }, [text, regex, maxChunks]);
60
+ if (!chunks || chunks.length === 0 || !regex) {
61
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { ...rootProps, children: text });
62
+ }
63
+ return /* @__PURE__ */ jsxRuntime.jsx(Text, { size: "m", ...rootProps, children: renderChunks(
64
+ chunks,
65
+ highlightTag,
66
+ highlightComponent,
67
+ highlightClassName,
68
+ highlightStyle,
69
+ color
70
+ ) });
71
+ };
72
+ function renderChunks(matchChunks, highlightTag, highlightComponent, highlightClassName, highlightStyle, color) {
73
+ return matchChunks.map((c, i) => {
74
+ if (c.type === "text") {
75
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: c.text }, `t-${i}`);
76
+ }
77
+ if (highlightComponent) {
78
+ const Comp = highlightComponent;
79
+ return /* @__PURE__ */ jsxRuntime.jsx(
80
+ Comp,
81
+ {
82
+ className: highlightClassName,
83
+ style: highlightStyle,
84
+ children: c.text
85
+ },
86
+ `m-${i}`
87
+ );
88
+ }
89
+ if (highlightTag === "mark") {
90
+ return /* @__PURE__ */ jsxRuntime.jsx(
91
+ styles.HighlightStyled,
92
+ {
93
+ "data-testid": "highlight-mark",
94
+ color,
95
+ className: highlightClassName,
96
+ style: highlightStyle,
97
+ children: c.text
98
+ },
99
+ `m-${i}`
100
+ );
101
+ }
102
+ return React.createElement(
103
+ highlightTag,
104
+ {
105
+ key: `m-${i}`,
106
+ className: highlightClassName,
107
+ style: highlightStyle
108
+ },
109
+ c.text
110
+ );
111
+ });
112
+ }
113
+ module.exports = Highlight;
@@ -0,0 +1,3 @@
1
+ import { IHighlightProps } from './types';
2
+ declare const Highlight: ({ children, highlightComponent, highlightStyle, highlightTag, highlightClassName, escapeQuery, query, maxChunks, rootProps, color, splitByWords, caseSensitive, ranges }: IHighlightProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default Highlight;
@@ -0,0 +1,114 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo, Fragment, createElement } from "react";
3
+ import { normalizeRanges, buildChunksFromRanges, buildRegexFromQuery, collectMatches, buildChunks } from "./helpers.es.js";
4
+ import { HighlightStyled } from "./styles.es.js";
5
+ import Text from "../typography/Text/Text.es.js";
6
+ const Highlight = ({
7
+ children,
8
+ highlightComponent,
9
+ highlightStyle,
10
+ highlightTag = "mark",
11
+ highlightClassName,
12
+ escapeQuery = true,
13
+ query,
14
+ maxChunks = Infinity,
15
+ rootProps,
16
+ color = "yellow",
17
+ splitByWords = false,
18
+ caseSensitive = false,
19
+ ranges
20
+ }) => {
21
+ if (children === null) {
22
+ return /* @__PURE__ */ jsx("span", { ...rootProps, children });
23
+ }
24
+ const text = typeof children === "string" ? children : children?.props?.children;
25
+ const chunksFromRanges = useMemo(() => {
26
+ if (ranges && ranges.length && text) {
27
+ const normalized = normalizeRanges(ranges, text.length);
28
+ if (normalized.length === 0) return null;
29
+ return buildChunksFromRanges(text, normalized, maxChunks);
30
+ }
31
+ return null;
32
+ }, [ranges, text, maxChunks]);
33
+ if (chunksFromRanges) {
34
+ return /* @__PURE__ */ jsx(Text, { size: "m", ...rootProps, children: renderChunks(
35
+ chunksFromRanges,
36
+ highlightTag,
37
+ highlightComponent,
38
+ highlightClassName,
39
+ highlightStyle,
40
+ color
41
+ ) });
42
+ }
43
+ const regex = useMemo(
44
+ () => buildRegexFromQuery(query ?? null, {
45
+ caseSensitive,
46
+ escapeQuery,
47
+ splitByWords
48
+ }),
49
+ [query, caseSensitive, escapeQuery, splitByWords]
50
+ );
51
+ const chunks = useMemo(() => {
52
+ if (!text) return null;
53
+ if (!regex) return [{ type: "text", text }];
54
+ const matches = collectMatches(text, regex);
55
+ if (!matches || matches.length === 0)
56
+ return [{ type: "text", text }];
57
+ return buildChunks(text, matches, maxChunks);
58
+ }, [text, regex, maxChunks]);
59
+ if (!chunks || chunks.length === 0 || !regex) {
60
+ return /* @__PURE__ */ jsx("span", { ...rootProps, children: text });
61
+ }
62
+ return /* @__PURE__ */ jsx(Text, { size: "m", ...rootProps, children: renderChunks(
63
+ chunks,
64
+ highlightTag,
65
+ highlightComponent,
66
+ highlightClassName,
67
+ highlightStyle,
68
+ color
69
+ ) });
70
+ };
71
+ function renderChunks(matchChunks, highlightTag, highlightComponent, highlightClassName, highlightStyle, color) {
72
+ return matchChunks.map((c, i) => {
73
+ if (c.type === "text") {
74
+ return /* @__PURE__ */ jsx(Fragment, { children: c.text }, `t-${i}`);
75
+ }
76
+ if (highlightComponent) {
77
+ const Comp = highlightComponent;
78
+ return /* @__PURE__ */ jsx(
79
+ Comp,
80
+ {
81
+ className: highlightClassName,
82
+ style: highlightStyle,
83
+ children: c.text
84
+ },
85
+ `m-${i}`
86
+ );
87
+ }
88
+ if (highlightTag === "mark") {
89
+ return /* @__PURE__ */ jsx(
90
+ HighlightStyled,
91
+ {
92
+ "data-testid": "highlight-mark",
93
+ color,
94
+ className: highlightClassName,
95
+ style: highlightStyle,
96
+ children: c.text
97
+ },
98
+ `m-${i}`
99
+ );
100
+ }
101
+ return createElement(
102
+ highlightTag,
103
+ {
104
+ key: `m-${i}`,
105
+ className: highlightClassName,
106
+ style: highlightStyle
107
+ },
108
+ c.text
109
+ );
110
+ });
111
+ }
112
+ export {
113
+ Highlight as default
114
+ };
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function escapeRegExp(s) {
4
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5
+ }
6
+ function normalizeRanges(ranges, textLength) {
7
+ const cleaned = ranges.map((r) => ({
8
+ start: Math.max(0, Math.min(textLength, r.start)),
9
+ end: Math.max(0, Math.min(textLength, r.end))
10
+ })).filter((r) => r.end > r.start).sort((a, b) => a.start - b.start);
11
+ if (cleaned.length === 0) return [];
12
+ const merged = [];
13
+ let prev = cleaned[0];
14
+ for (let i = 1; i < cleaned.length; i++) {
15
+ const cur = cleaned[i];
16
+ if (cur.start <= prev.end) {
17
+ prev.end = Math.max(prev.end, cur.end);
18
+ } else {
19
+ merged.push({ ...prev, text: "" });
20
+ prev = cur;
21
+ }
22
+ }
23
+ merged.push({ ...prev, text: "" });
24
+ return merged;
25
+ }
26
+ function buildChunksFromRanges(text, ranges, maxChunks) {
27
+ const chunks = [];
28
+ let cursor = 0;
29
+ let matchesUsed = 0;
30
+ for (const r of ranges) {
31
+ if (cursor < r.start) {
32
+ chunks.push({ type: "text", text: text.slice(cursor, r.start) });
33
+ }
34
+ if (matchesUsed < maxChunks) {
35
+ chunks.push({
36
+ type: "match",
37
+ text: text.slice(r.start, r.end),
38
+ start: r.start,
39
+ end: r.end
40
+ });
41
+ matchesUsed++;
42
+ } else {
43
+ chunks.push({ type: "text", text: text.slice(r.start, text.length) });
44
+ cursor = text.length;
45
+ break;
46
+ }
47
+ cursor = r.end;
48
+ }
49
+ if (cursor < text.length) {
50
+ chunks.push({ type: "text", text: text.slice(cursor) });
51
+ }
52
+ return chunks;
53
+ }
54
+ function buildRegexFromQuery(query, {
55
+ caseSensitive = false,
56
+ escapeQuery = true,
57
+ splitByWords = false
58
+ }) {
59
+ if (!query) return null;
60
+ if (query instanceof RegExp) {
61
+ const flags = query.flags || "";
62
+ const finalFlags = caseSensitive ? flags.replace("i", "") : flags.includes("i") ? flags : flags + "i";
63
+ try {
64
+ return new RegExp(query.source, finalFlags);
65
+ } catch {
66
+ return null;
67
+ }
68
+ }
69
+ const arr = Array.isArray(query) ? query.filter(Boolean) : [query];
70
+ const tokens = arr.map((t) => escapeQuery ? escapeRegExp(t) : t).filter((t) => t.length > 0).map((t) => splitByWords ? `\\b${t}\\b` : t);
71
+ if (tokens.length === 0) return null;
72
+ const pattern = tokens.join("|");
73
+ try {
74
+ return new RegExp(pattern, caseSensitive ? "g" : "gi");
75
+ } catch {
76
+ return null;
77
+ }
78
+ }
79
+ function resolveOverlaps(matches) {
80
+ const sorted = matches.slice().sort((a, b) => a.start - b.start || b.end - b.end);
81
+ sorted.sort((a, b) => a.start - b.start || b.end - b.start - (a.end - a.start));
82
+ const kept = [];
83
+ for (const m of sorted) {
84
+ if (kept.length === 0) {
85
+ kept.push(m);
86
+ continue;
87
+ }
88
+ const last = kept[kept.length - 1];
89
+ if (m.start >= last.end) {
90
+ kept.push(m);
91
+ } else {
92
+ if (m.end > last.end) {
93
+ continue;
94
+ }
95
+ }
96
+ }
97
+ kept.sort((a, b) => a.start - b.start);
98
+ return kept;
99
+ }
100
+ function collectMatches(subject, regex) {
101
+ if (!regex.global) {
102
+ const flags = regex.flags.includes("g") ? regex.flags : regex.flags + "g";
103
+ regex = new RegExp(regex.source, flags);
104
+ }
105
+ const matches = [];
106
+ let m;
107
+ regex.lastIndex = 0;
108
+ while ((m = regex.exec(subject)) !== null) {
109
+ const text = m[0];
110
+ if (!text) {
111
+ regex.lastIndex++;
112
+ continue;
113
+ }
114
+ const start = m.index;
115
+ const end = start + text.length;
116
+ matches.push({ start, end, text });
117
+ }
118
+ return resolveOverlaps(matches);
119
+ }
120
+ function buildChunks(subject, matches, maxChunks = Infinity) {
121
+ const chunks = [];
122
+ let cursor = 0;
123
+ let countMatches = 0;
124
+ for (const m of matches) {
125
+ if (m.start > cursor) {
126
+ chunks.push({ type: "text", text: subject.slice(cursor, m.start) });
127
+ }
128
+ if (countMatches < maxChunks) {
129
+ chunks.push({ type: "match", text: subject.slice(m.start, m.end), start: m.start, end: m.end });
130
+ countMatches++;
131
+ } else {
132
+ chunks.push({ type: "text", text: subject.slice(m.start, subject.length) });
133
+ cursor = subject.length;
134
+ break;
135
+ }
136
+ cursor = m.end;
137
+ }
138
+ if (cursor < subject.length) {
139
+ chunks.push({ type: "text", text: subject.slice(cursor) });
140
+ }
141
+ return chunks;
142
+ }
143
+ exports.buildChunks = buildChunks;
144
+ exports.buildChunksFromRanges = buildChunksFromRanges;
145
+ exports.buildRegexFromQuery = buildRegexFromQuery;
146
+ exports.collectMatches = collectMatches;
147
+ exports.normalizeRanges = normalizeRanges;
@@ -0,0 +1,27 @@
1
+ import { IHighlightProps, TMatchChunk, TMatch } from './types';
2
+ export declare function normalizeRanges(ranges: Array<{
3
+ start: number;
4
+ end: number;
5
+ }>, textLength: number): TMatch[];
6
+ export declare function buildChunksFromRanges(text: string, ranges: TMatch[], maxChunks: number): TMatchChunk[];
7
+ /**
8
+ * Build regex from query prop.
9
+ * Returns a RegExp or null (if no queries).
10
+ */
11
+ export declare function buildRegexFromQuery(query: string | string[] | RegExp | null | undefined, { caseSensitive, escapeQuery, splitByWords }: Pick<IHighlightProps, "caseSensitive" | "escapeQuery" | "splitByWords">): RegExp | null;
12
+ /**
13
+ * Given a subject string and a regex with 'g', produce non-overlapping matches sorted by index.
14
+ */
15
+ export declare function collectMatches(subject: string, regex: RegExp): Array<{
16
+ start: number;
17
+ end: number;
18
+ text: string;
19
+ }>;
20
+ /**
21
+ * Turn subject + matches into chunks (text and match chunks)
22
+ */
23
+ export declare function buildChunks(subject: string, matches: Array<{
24
+ start: number;
25
+ end: number;
26
+ text: string;
27
+ }>, maxChunks?: number): TMatchChunk[];