@qoretechnologies/reqore 0.68.1 → 0.68.3

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 (287) hide show
  1. package/dist/components/Bubble/index.d.ts +57 -0
  2. package/dist/components/Bubble/index.d.ts.map +1 -0
  3. package/dist/components/Bubble/index.js +184 -0
  4. package/dist/components/Bubble/index.js.map +1 -0
  5. package/dist/components/DatePicker/index.d.ts.map +1 -1
  6. package/dist/components/DatePicker/index.js +3 -3
  7. package/dist/components/DatePicker/index.js.map +1 -1
  8. package/dist/components/DescriptionList/index.d.ts.map +1 -1
  9. package/dist/components/DescriptionList/index.js +3 -3
  10. package/dist/components/DescriptionList/index.js.map +1 -1
  11. package/dist/components/Drawer/index.js.map +1 -1
  12. package/dist/components/IconPicker/index.d.ts +114 -0
  13. package/dist/components/IconPicker/index.d.ts.map +1 -0
  14. package/dist/components/IconPicker/index.js +223 -0
  15. package/dist/components/IconPicker/index.js.map +1 -0
  16. package/dist/components/Panel/index.d.ts.map +1 -1
  17. package/dist/components/Panel/index.js +10 -2
  18. package/dist/components/Panel/index.js.map +1 -1
  19. package/dist/components/RichTextEditor/index.d.ts +9 -0
  20. package/dist/components/RichTextEditor/index.d.ts.map +1 -1
  21. package/dist/components/RichTextEditor/index.js +2 -2
  22. package/dist/components/RichTextEditor/index.js.map +1 -1
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +8 -3
  26. package/dist/index.js.map +1 -1
  27. package/package.json +2 -6
  28. package/tests.json +1 -1
  29. package/dist/esm/components/Accordion/index.js +0 -142
  30. package/dist/esm/components/Accordion/index.js.map +0 -1
  31. package/dist/esm/components/Breadcrumbs/index.js +0 -122
  32. package/dist/esm/components/Breadcrumbs/index.js.map +0 -1
  33. package/dist/esm/components/Breadcrumbs/item.js +0 -14
  34. package/dist/esm/components/Breadcrumbs/item.js.map +0 -1
  35. package/dist/esm/components/Button/index.js +0 -315
  36. package/dist/esm/components/Button/index.js.map +0 -1
  37. package/dist/esm/components/Callout/index.js +0 -142
  38. package/dist/esm/components/Callout/index.js.map +0 -1
  39. package/dist/esm/components/Checkbox/index.js +0 -217
  40. package/dist/esm/components/Checkbox/index.js.map +0 -1
  41. package/dist/esm/components/Collection/index.js +0 -298
  42. package/dist/esm/components/Collection/index.js.map +0 -1
  43. package/dist/esm/components/Collection/item.js +0 -157
  44. package/dist/esm/components/Collection/item.js.map +0 -1
  45. package/dist/esm/components/Columns/column.js +0 -14
  46. package/dist/esm/components/Columns/column.js.map +0 -1
  47. package/dist/esm/components/Columns/index.js +0 -17
  48. package/dist/esm/components/Columns/index.js.map +0 -1
  49. package/dist/esm/components/Comment/index.js +0 -63
  50. package/dist/esm/components/Comment/index.js.map +0 -1
  51. package/dist/esm/components/CommentFeed/index.js +0 -17
  52. package/dist/esm/components/CommentFeed/index.js.map +0 -1
  53. package/dist/esm/components/Content/index.js +0 -16
  54. package/dist/esm/components/Content/index.js.map +0 -1
  55. package/dist/esm/components/Content/wrapper.js +0 -14
  56. package/dist/esm/components/Content/wrapper.js.map +0 -1
  57. package/dist/esm/components/ControlGroup/index.js +0 -351
  58. package/dist/esm/components/ControlGroup/index.js.map +0 -1
  59. package/dist/esm/components/DatePicker/MonthYearDropdowns.js +0 -30
  60. package/dist/esm/components/DatePicker/MonthYearDropdowns.js.map +0 -1
  61. package/dist/esm/components/DatePicker/index.js +0 -244
  62. package/dist/esm/components/DatePicker/index.js.map +0 -1
  63. package/dist/esm/components/DescriptionList/index.js +0 -132
  64. package/dist/esm/components/DescriptionList/index.js.map +0 -1
  65. package/dist/esm/components/Drawer/backdrop.js +0 -34
  66. package/dist/esm/components/Drawer/backdrop.js.map +0 -1
  67. package/dist/esm/components/Drawer/index.js +0 -286
  68. package/dist/esm/components/Drawer/index.js.map +0 -1
  69. package/dist/esm/components/Dropdown/index.js +0 -49
  70. package/dist/esm/components/Dropdown/index.js.map +0 -1
  71. package/dist/esm/components/Dropdown/item.js +0 -12
  72. package/dist/esm/components/Dropdown/item.js.map +0 -1
  73. package/dist/esm/components/Dropdown/list.js +0 -320
  74. package/dist/esm/components/Dropdown/list.js.map +0 -1
  75. package/dist/esm/components/Effect/index.js +0 -349
  76. package/dist/esm/components/Effect/index.js.map +0 -1
  77. package/dist/esm/components/EmptyState/index.js +0 -31
  78. package/dist/esm/components/EmptyState/index.js.map +0 -1
  79. package/dist/esm/components/EntityRow/index.js +0 -134
  80. package/dist/esm/components/EntityRow/index.js.map +0 -1
  81. package/dist/esm/components/ErrorBoundary/index.js +0 -57
  82. package/dist/esm/components/ErrorBoundary/index.js.map +0 -1
  83. package/dist/esm/components/ExportModal/index.js +0 -60
  84. package/dist/esm/components/ExportModal/index.js.map +0 -1
  85. package/dist/esm/components/FeatureCard/index.js +0 -139
  86. package/dist/esm/components/FeatureCard/index.js.map +0 -1
  87. package/dist/esm/components/GlobalModalsWrapper/index.js +0 -27
  88. package/dist/esm/components/GlobalModalsWrapper/index.js.map +0 -1
  89. package/dist/esm/components/Header/index.js +0 -55
  90. package/dist/esm/components/Header/index.js.map +0 -1
  91. package/dist/esm/components/Icon/index.js +0 -130
  92. package/dist/esm/components/Icon/index.js.map +0 -1
  93. package/dist/esm/components/Input/index.js +0 -136
  94. package/dist/esm/components/Input/index.js.map +0 -1
  95. package/dist/esm/components/InputClearButton/index.js +0 -32
  96. package/dist/esm/components/InputClearButton/index.js.map +0 -1
  97. package/dist/esm/components/InternalPopover/index.js +0 -244
  98. package/dist/esm/components/InternalPopover/index.js.map +0 -1
  99. package/dist/esm/components/KeyValueTable/index.js +0 -81
  100. package/dist/esm/components/KeyValueTable/index.js.map +0 -1
  101. package/dist/esm/components/Label/index.js +0 -7
  102. package/dist/esm/components/Label/index.js.map +0 -1
  103. package/dist/esm/components/Layout/content.js +0 -12
  104. package/dist/esm/components/Layout/content.js.map +0 -1
  105. package/dist/esm/components/Layout/index.js +0 -28
  106. package/dist/esm/components/Layout/index.js.map +0 -1
  107. package/dist/esm/components/Menu/divider.js +0 -41
  108. package/dist/esm/components/Menu/divider.js.map +0 -1
  109. package/dist/esm/components/Menu/index.js +0 -67
  110. package/dist/esm/components/Menu/index.js.map +0 -1
  111. package/dist/esm/components/Menu/item.js +0 -33
  112. package/dist/esm/components/Menu/item.js.map +0 -1
  113. package/dist/esm/components/Menu/section.js +0 -28
  114. package/dist/esm/components/Menu/section.js.map +0 -1
  115. package/dist/esm/components/Message/index.js +0 -52
  116. package/dist/esm/components/Message/index.js.map +0 -1
  117. package/dist/esm/components/Modal/index.js +0 -40
  118. package/dist/esm/components/Modal/index.js.map +0 -1
  119. package/dist/esm/components/MultiSelect/index.js +0 -146
  120. package/dist/esm/components/MultiSelect/index.js.map +0 -1
  121. package/dist/esm/components/Navbar/divider.js +0 -24
  122. package/dist/esm/components/Navbar/divider.js.map +0 -1
  123. package/dist/esm/components/Navbar/group.js +0 -27
  124. package/dist/esm/components/Navbar/group.js.map +0 -1
  125. package/dist/esm/components/Navbar/index.js +0 -39
  126. package/dist/esm/components/Navbar/index.js.map +0 -1
  127. package/dist/esm/components/Navbar/item.js +0 -51
  128. package/dist/esm/components/Navbar/item.js.map +0 -1
  129. package/dist/esm/components/Notifications/index.js +0 -28
  130. package/dist/esm/components/Notifications/index.js.map +0 -1
  131. package/dist/esm/components/Notifications/notification.js +0 -225
  132. package/dist/esm/components/Notifications/notification.js.map +0 -1
  133. package/dist/esm/components/Paging/index.js +0 -116
  134. package/dist/esm/components/Paging/index.js.map +0 -1
  135. package/dist/esm/components/Panel/LabelEditor.js +0 -33
  136. package/dist/esm/components/Panel/LabelEditor.js.map +0 -1
  137. package/dist/esm/components/Panel/NonResponsiveActions.js +0 -18
  138. package/dist/esm/components/Panel/NonResponsiveActions.js.map +0 -1
  139. package/dist/esm/components/Panel/index.js +0 -564
  140. package/dist/esm/components/Panel/index.js.map +0 -1
  141. package/dist/esm/components/Panel/panel.screenshot.js +0 -15
  142. package/dist/esm/components/Panel/panel.screenshot.js.map +0 -1
  143. package/dist/esm/components/Paragraph/index.js +0 -19
  144. package/dist/esm/components/Paragraph/index.js.map +0 -1
  145. package/dist/esm/components/Popover/index.js +0 -267
  146. package/dist/esm/components/Popover/index.js.map +0 -1
  147. package/dist/esm/components/Progress/index.js +0 -188
  148. package/dist/esm/components/Progress/index.js.map +0 -1
  149. package/dist/esm/components/RadioGroup/index.js +0 -9
  150. package/dist/esm/components/RadioGroup/index.js.map +0 -1
  151. package/dist/esm/components/Rating/index.js +0 -165
  152. package/dist/esm/components/Rating/index.js.map +0 -1
  153. package/dist/esm/components/RichTextEditor/index.js +0 -299
  154. package/dist/esm/components/RichTextEditor/index.js.map +0 -1
  155. package/dist/esm/components/SegmentedControl/index.js +0 -291
  156. package/dist/esm/components/SegmentedControl/index.js.map +0 -1
  157. package/dist/esm/components/SeverityRow/index.js +0 -106
  158. package/dist/esm/components/SeverityRow/index.js.map +0 -1
  159. package/dist/esm/components/Skeleton/index.js +0 -28
  160. package/dist/esm/components/Skeleton/index.js.map +0 -1
  161. package/dist/esm/components/Slider/index.js +0 -176
  162. package/dist/esm/components/Slider/index.js.map +0 -1
  163. package/dist/esm/components/Spacer/index.js +0 -96
  164. package/dist/esm/components/Spacer/index.js.map +0 -1
  165. package/dist/esm/components/Span/index.js +0 -18
  166. package/dist/esm/components/Span/index.js.map +0 -1
  167. package/dist/esm/components/Spinner/index.js +0 -14
  168. package/dist/esm/components/Spinner/index.js.map +0 -1
  169. package/dist/esm/components/Statistic/index.js +0 -166
  170. package/dist/esm/components/Statistic/index.js.map +0 -1
  171. package/dist/esm/components/Table/body.js +0 -72
  172. package/dist/esm/components/Table/body.js.map +0 -1
  173. package/dist/esm/components/Table/cell.js +0 -214
  174. package/dist/esm/components/Table/cell.js.map +0 -1
  175. package/dist/esm/components/Table/header.js +0 -158
  176. package/dist/esm/components/Table/header.js.map +0 -1
  177. package/dist/esm/components/Table/headerCell.js +0 -233
  178. package/dist/esm/components/Table/headerCell.js.map +0 -1
  179. package/dist/esm/components/Table/helpers.js +0 -285
  180. package/dist/esm/components/Table/helpers.js.map +0 -1
  181. package/dist/esm/components/Table/index.js +0 -472
  182. package/dist/esm/components/Table/index.js.map +0 -1
  183. package/dist/esm/components/Table/row.js +0 -176
  184. package/dist/esm/components/Table/row.js.map +0 -1
  185. package/dist/esm/components/Table/value.js +0 -19
  186. package/dist/esm/components/Table/value.js.map +0 -1
  187. package/dist/esm/components/Tabs/content.js +0 -23
  188. package/dist/esm/components/Tabs/content.js.map +0 -1
  189. package/dist/esm/components/Tabs/index.js +0 -44
  190. package/dist/esm/components/Tabs/index.js.map +0 -1
  191. package/dist/esm/components/Tabs/item.js +0 -122
  192. package/dist/esm/components/Tabs/item.js.map +0 -1
  193. package/dist/esm/components/Tabs/list.js +0 -208
  194. package/dist/esm/components/Tabs/list.js.map +0 -1
  195. package/dist/esm/components/Tag/group.js +0 -38
  196. package/dist/esm/components/Tag/group.js.map +0 -1
  197. package/dist/esm/components/Tag/index.js +0 -267
  198. package/dist/esm/components/Tag/index.js.map +0 -1
  199. package/dist/esm/components/Testimonial/index.js +0 -108
  200. package/dist/esm/components/Testimonial/index.js.map +0 -1
  201. package/dist/esm/components/Textarea/index.js +0 -135
  202. package/dist/esm/components/Textarea/index.js.map +0 -1
  203. package/dist/esm/components/Tier/index.js +0 -48
  204. package/dist/esm/components/Tier/index.js.map +0 -1
  205. package/dist/esm/components/TimeAgo/index.js +0 -19
  206. package/dist/esm/components/TimeAgo/index.js.map +0 -1
  207. package/dist/esm/components/Timeline/index.js +0 -271
  208. package/dist/esm/components/Timeline/index.js.map +0 -1
  209. package/dist/esm/components/TooltipComponent/index.js +0 -11
  210. package/dist/esm/components/TooltipComponent/index.js.map +0 -1
  211. package/dist/esm/components/Tree/index.js +0 -266
  212. package/dist/esm/components/Tree/index.js.map +0 -1
  213. package/dist/esm/components/Tree/modal.js +0 -30
  214. package/dist/esm/components/Tree/modal.js.map +0 -1
  215. package/dist/esm/constants/animations.js +0 -9
  216. package/dist/esm/constants/animations.js.map +0 -1
  217. package/dist/esm/constants/colors.js +0 -13
  218. package/dist/esm/constants/colors.js.map +0 -1
  219. package/dist/esm/constants/paging.js +0 -48
  220. package/dist/esm/constants/paging.js.map +0 -1
  221. package/dist/esm/constants/sizes.js +0 -363
  222. package/dist/esm/constants/sizes.js.map +0 -1
  223. package/dist/esm/constants/theme.js +0 -40
  224. package/dist/esm/constants/theme.js.map +0 -1
  225. package/dist/esm/containers/Paging.js +0 -29
  226. package/dist/esm/containers/Paging.js.map +0 -1
  227. package/dist/esm/containers/ReqoreProvider.js +0 -239
  228. package/dist/esm/containers/ReqoreProvider.js.map +0 -1
  229. package/dist/esm/containers/ThemeProvider.js +0 -11
  230. package/dist/esm/containers/ThemeProvider.js.map +0 -1
  231. package/dist/esm/containers/UIProvider.js +0 -53
  232. package/dist/esm/containers/UIProvider.js.map +0 -1
  233. package/dist/esm/context/CustomThemeContext.js +0 -4
  234. package/dist/esm/context/CustomThemeContext.js.map +0 -1
  235. package/dist/esm/context/ReqoreContext.js +0 -22
  236. package/dist/esm/context/ReqoreContext.js.map +0 -1
  237. package/dist/esm/context/ThemeContext.js +0 -4
  238. package/dist/esm/context/ThemeContext.js.map +0 -1
  239. package/dist/esm/helpers/animations.js +0 -13
  240. package/dist/esm/helpers/animations.js.map +0 -1
  241. package/dist/esm/helpers/colors.js +0 -240
  242. package/dist/esm/helpers/colors.js.map +0 -1
  243. package/dist/esm/helpers/dates.js +0 -52
  244. package/dist/esm/helpers/dates.js.map +0 -1
  245. package/dist/esm/helpers/time.js +0 -21
  246. package/dist/esm/helpers/time.js.map +0 -1
  247. package/dist/esm/helpers/utils.js +0 -174
  248. package/dist/esm/helpers/utils.js.map +0 -1
  249. package/dist/esm/hooks/useAutoFocus.js +0 -76
  250. package/dist/esm/hooks/useAutoFocus.js.map +0 -1
  251. package/dist/esm/hooks/useCloneThroughFragments.js +0 -26
  252. package/dist/esm/hooks/useCloneThroughFragments.js.map +0 -1
  253. package/dist/esm/hooks/useCombinedRefs.js +0 -25
  254. package/dist/esm/hooks/useCombinedRefs.js.map +0 -1
  255. package/dist/esm/hooks/useComponentTooltip.js +0 -28
  256. package/dist/esm/hooks/useComponentTooltip.js.map +0 -1
  257. package/dist/esm/hooks/useFocusTrap.js +0 -115
  258. package/dist/esm/hooks/useFocusTrap.js.map +0 -1
  259. package/dist/esm/hooks/useLatestZIndex.js +0 -10
  260. package/dist/esm/hooks/useLatestZIndex.js.map +0 -1
  261. package/dist/esm/hooks/useOutsideClick.js +0 -17
  262. package/dist/esm/hooks/useOutsideClick.js.map +0 -1
  263. package/dist/esm/hooks/usePaging.js +0 -92
  264. package/dist/esm/hooks/usePaging.js.map +0 -1
  265. package/dist/esm/hooks/useQueryWithDelay.js +0 -19
  266. package/dist/esm/hooks/useQueryWithDelay.js.map +0 -1
  267. package/dist/esm/hooks/useReqore.js +0 -10
  268. package/dist/esm/hooks/useReqore.js.map +0 -1
  269. package/dist/esm/hooks/useReqoreContext.js +0 -12
  270. package/dist/esm/hooks/useReqoreContext.js.map +0 -1
  271. package/dist/esm/hooks/useReqoreEffect.js +0 -21
  272. package/dist/esm/hooks/useReqoreEffect.js.map +0 -1
  273. package/dist/esm/hooks/useTextareaAutoSize.js +0 -16
  274. package/dist/esm/hooks/useTextareaAutoSize.js.map +0 -1
  275. package/dist/esm/hooks/useTheme.js +0 -39
  276. package/dist/esm/hooks/useTheme.js.map +0 -1
  277. package/dist/esm/hooks/useWhyDidYouUpdate.js +0 -32
  278. package/dist/esm/hooks/useWhyDidYouUpdate.js.map +0 -1
  279. package/dist/esm/index.js +0 -92
  280. package/dist/esm/index.js.map +0 -1
  281. package/dist/esm/styles.js +0 -122
  282. package/dist/esm/styles.js.map +0 -1
  283. package/dist/esm/types/global.js +0 -2
  284. package/dist/esm/types/global.js.map +0 -1
  285. package/dist/esm/types/icons.js +0 -2
  286. package/dist/esm/types/icons.js.map +0 -1
  287. package/tsconfig.esm.json +0 -11
@@ -1,165 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { rgba } from 'polished';
3
- import { forwardRef, memo, useCallback, useMemo, useState } from 'react';
4
- import styled, { css } from 'styled-components';
5
- import { RADIUS_FROM_SIZE, RATING_GAP_FROM_SIZE } from '../../constants/sizes';
6
- import { changeLightness, getColorFromMaybeString, getReadableColor } from '../../helpers/colors';
7
- import { getOneLessSize } from '../../helpers/utils';
8
- import { useComponentTooltip } from '../../hooks/useComponentTooltip';
9
- import { useReqoreTheme } from '../../hooks/useTheme';
10
- import { DisabledElement, ReadOnlyElement } from '../../styles';
11
- import ReqoreControlGroup from '../ControlGroup';
12
- import ReqoreIcon from '../Icon';
13
- import { ReqoreP } from '../Paragraph';
14
- import { ReqoreSpan } from '../Span';
15
- const StyledRating = styled.div `
16
- display: inline-flex;
17
- align-items: center;
18
- gap: ${({ size }) => RATING_GAP_FROM_SIZE[size]}px;
19
-
20
- ${({ disabled }) => disabled &&
21
- css `
22
- ${DisabledElement};
23
- `}
24
-
25
- ${({ readOnly }) => readOnly &&
26
- css `
27
- ${ReadOnlyElement};
28
- `}
29
-
30
- &:focus-visible {
31
- outline: 2px solid ${({ theme }) => changeLightness(theme.main, 0.25)};
32
- outline-offset: 2px;
33
- border-radius: ${({ size }) => RADIUS_FROM_SIZE[size]}px;
34
- }
35
- `;
36
- const StyledRatingItem = styled.span `
37
- display: inline-flex;
38
- cursor: ${({ isInteractive }) => (isInteractive ? 'pointer' : 'default')};
39
- transition: transform 0.15s ease-out;
40
-
41
- ${({ isInteractive }) => isInteractive &&
42
- css `
43
- &:hover {
44
- transform: scale(1.2);
45
- }
46
-
47
- &:active {
48
- transform: scale(0.85);
49
- transition: transform 0.05s ease-out;
50
- }
51
- `}
52
- `;
53
- const ReqoreRating = memo(forwardRef(({ value = 0, label, onChange, max = 5, allowHalf = false, allowClear = true, filledIcon = 'StarFill', emptyIcon = 'StarLine', halfIcon = 'StarHalfFill', filledColor, emptyColor, size = 'normal', disabled, readOnly, intent, customTheme, inheritCustomTheme, tooltip, className, labelProps, showRatingValue, iconProps, ...rest }, ref) => {
54
- const theme = useReqoreTheme('main', customTheme, intent, undefined, inheritCustomTheme);
55
- const [hoverValue, setHoverValue] = useState(null);
56
- const isInteractive = !disabled && !readOnly && !!onChange;
57
- const displayValue = useMemo(() => (hoverValue !== null ? hoverValue : value), [hoverValue, value]);
58
- const resolvedFilledColor = useMemo(() => {
59
- if (filledColor)
60
- return getColorFromMaybeString(theme, filledColor);
61
- const hasIntent = theme.main !== theme.originalMain;
62
- return hasIntent ? theme.main : getReadableColor(theme, undefined, undefined, true);
63
- }, [filledColor, theme]);
64
- const resolvedEmptyColor = useMemo(() => {
65
- if (emptyColor)
66
- return getColorFromMaybeString(theme, emptyColor);
67
- return rgba(changeLightness(theme.main, 0.15), 0.4);
68
- }, [emptyColor, theme]);
69
- const handleMouseMove = useCallback((index, event) => {
70
- if (!isInteractive)
71
- return;
72
- if (allowHalf) {
73
- const rect = event.currentTarget.getBoundingClientRect();
74
- const isLeftHalf = event.clientX - rect.left < rect.width / 2;
75
- setHoverValue(isLeftHalf ? index + 0.5 : index + 1);
76
- }
77
- else {
78
- setHoverValue(index + 1);
79
- }
80
- }, [isInteractive, allowHalf]);
81
- const handleMouseLeave = useCallback(() => {
82
- if (!isInteractive)
83
- return;
84
- setHoverValue(null);
85
- }, [isInteractive]);
86
- const handleClick = useCallback((index, event) => {
87
- if (!isInteractive || !onChange)
88
- return;
89
- let clickedValue;
90
- if (allowHalf) {
91
- const rect = event.currentTarget.getBoundingClientRect();
92
- const isLeftHalf = event.clientX - rect.left < rect.width / 2;
93
- clickedValue = isLeftHalf ? index + 0.5 : index + 1;
94
- }
95
- else {
96
- clickedValue = index + 1;
97
- }
98
- if (allowClear && clickedValue === value) {
99
- onChange(0);
100
- }
101
- else {
102
- onChange(clickedValue);
103
- }
104
- }, [isInteractive, onChange, allowHalf, allowClear, value]);
105
- const handleKeyDown = useCallback((event) => {
106
- if (!isInteractive || !onChange)
107
- return;
108
- const step = allowHalf ? 0.5 : 1;
109
- switch (event.key) {
110
- case 'ArrowRight':
111
- case 'ArrowUp':
112
- event.preventDefault();
113
- onChange(Math.min(value + step, max));
114
- break;
115
- case 'ArrowLeft':
116
- case 'ArrowDown':
117
- event.preventDefault();
118
- onChange(Math.max(value - step, 0));
119
- break;
120
- case 'Home':
121
- event.preventDefault();
122
- onChange(0);
123
- break;
124
- case 'End':
125
- event.preventDefault();
126
- onChange(max);
127
- break;
128
- }
129
- }, [isInteractive, onChange, value, max, allowHalf]);
130
- const getIconForIndex = useCallback((index) => {
131
- const starValue = index + 1;
132
- if (displayValue >= starValue) {
133
- return { icon: filledIcon, color: resolvedFilledColor };
134
- }
135
- if (allowHalf && displayValue >= starValue - 0.5) {
136
- return { icon: halfIcon, color: resolvedFilledColor };
137
- }
138
- return { icon: emptyIcon, color: resolvedEmptyColor };
139
- }, [
140
- displayValue,
141
- filledIcon,
142
- emptyIcon,
143
- halfIcon,
144
- resolvedFilledColor,
145
- resolvedEmptyColor,
146
- allowHalf,
147
- ]);
148
- const stars = useMemo(() => Array.from({ length: max }, (_, i) => i), [max]);
149
- const { Component, props: componentProps } = useComponentTooltip({
150
- ...rest,
151
- theme,
152
- size,
153
- tooltip,
154
- disabled,
155
- readOnly,
156
- isInteractive,
157
- className: `${className || ''} reqore-rating`,
158
- }, StyledRating, ref);
159
- return (_jsxs(ReqoreControlGroup, { vertical: true, children: [label && _jsx(ReqoreP, { size: size, ...labelProps, children: label }), _jsxs(Component, { ...componentProps, onMouseLeave: handleMouseLeave, onKeyDown: handleKeyDown, tabIndex: isInteractive ? 0 : undefined, role: 'slider', "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": max, "aria-disabled": disabled || undefined, "aria-readonly": readOnly || undefined, "aria-label": label || rest['aria-label'] || 'Rating', children: [stars.map((index) => {
160
- const { icon, color } = getIconForIndex(index);
161
- return (_jsx(StyledRatingItem, { className: 'reqore-rating-item', onMouseMove: (e) => handleMouseMove(index, e), onClick: (e) => handleClick(index, e), isInteractive: isInteractive, size: size, children: _jsx(ReqoreIcon, { ...iconProps, icon: icon, size: size, color: color }) }, index));
162
- }), showRatingValue && (_jsx(ReqoreSpan, { intent: 'muted', size: getOneLessSize(size), children: `${displayValue} / ${max}` }))] })] }));
163
- }));
164
- export default ReqoreRating;
165
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Rating/index.tsx"],"names":[],"mappings":"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"}
@@ -1,299 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { map, size } from 'lodash';
3
- import { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useState } from 'react';
4
- import { useUpdateEffect } from 'react-use';
5
- import { createEditor, Editor, Transforms } from 'slate';
6
- import { withHistory } from 'slate-history';
7
- import { Editable, ReactEditor, Slate, useSelected, withReact } from 'slate-react';
8
- import { ReqoreButton, ReqoreControlGroup, ReqorePanel, ReqoreTextarea } from '../..';
9
- import { getOneLessSize } from '../../helpers/utils';
10
- import { ReqoreP } from '../Paragraph';
11
- import { ReqoreSpan } from '../Span';
12
- import ReqoreTag from '../Tag';
13
- export const TemplateElement = memo((props) => {
14
- const selected = useSelected();
15
- const handleClick = useCallback((e) => {
16
- e.preventDefault();
17
- e.stopPropagation();
18
- }, []);
19
- return (_jsxs(_Fragment, { children: [_jsx(ReqoreTag, { ...props.attributes, compact: true, flat: false, asBadge: true, fixed: 'key', onClick: handleClick, tooltip: props.element.value?.toString(), label: props.element.label, ...props.tagProps, contentEditable: false, intent: selected ? 'info' : props.tagProps?.intent }), props.children] }));
20
- });
21
- export const withTemplates = (editor) => {
22
- const { isInline, isVoid, markableVoid } = editor;
23
- editor.isInline = (element) => {
24
- return element.type === 'tag' ? true : isInline(element);
25
- };
26
- editor.isVoid = (element) => {
27
- return element.type === 'tag' ? true : isVoid(element);
28
- };
29
- editor.markableVoid = (element) => {
30
- return element.type === 'tag' || markableVoid(element);
31
- };
32
- return editor;
33
- };
34
- const Leaf = ({ attributes, children, leaf }) => {
35
- if (leaf.bold) {
36
- children = _jsx("strong", { children: children });
37
- }
38
- if (leaf.code) {
39
- children = _jsx("code", { children: children });
40
- }
41
- if (leaf.italic) {
42
- children = _jsx("em", { children: children });
43
- }
44
- if (leaf.underline) {
45
- children = _jsx("u", { children: children });
46
- }
47
- return (_jsx(ReqoreSpan, { inline: true, ...attributes, effect: {
48
- weight: leaf.bold ? 'bold' : 'normal',
49
- italic: leaf.italic,
50
- underline: leaf.underline,
51
- }, children: children }));
52
- };
53
- export const DefaultElement = (props) => (_jsxs(ReqoreP, { ...props.attributes, style: { position: 'relative' }, children: [props.placeholder && (_jsx(ReqoreSpan, { inline: true, effect: { opacity: 0.3 }, ...props.placeholderProps, contentEditable: false, style: {
54
- position: 'absolute',
55
- top: 0,
56
- left: 0,
57
- right: 0,
58
- pointerEvents: 'none',
59
- userSelect: 'none',
60
- ...props.placeholderProps?.style,
61
- }, children: props.placeholder })), props.children] }));
62
- const insertTag = (editor, value, label, metadata) => {
63
- const mention = {
64
- type: 'tag',
65
- value,
66
- label,
67
- metadata,
68
- children: [{ text: '' }],
69
- };
70
- Transforms.insertNodes(editor, mention);
71
- Transforms.move(editor);
72
- };
73
- export const ReqoreRichTextEditor = forwardRef(({ value = [
74
- {
75
- type: 'paragraph',
76
- children: [{ text: '' }],
77
- },
78
- ], onChange, tags, getTagProps = () => ({}), tagsProps = {}, onTagClick, tagsListProps = {}, panelProps, actions, customRenderLeaf, placeholder, placeholderProps, ...rest }, ref) => {
79
- // Create a Slate editor object that won't change across renders.
80
- const [editor] = useState(() => withTemplates(withReact(withHistory(createEditor()))));
81
- useImperativeHandle(ref, () => editor, [editor]);
82
- const [target, setTarget] = useState();
83
- useUpdateEffect(() => {
84
- // Only update the editor's children if the value has changed
85
- if (JSON.stringify(value) === JSON.stringify(editor.children)) {
86
- return;
87
- }
88
- // Use Slate transforms instead of direct mutation
89
- try {
90
- Editor.withoutNormalizing(editor, () => {
91
- // Deselect before replacing content
92
- Transforms.deselect(editor);
93
- // Remove all existing top-level nodes
94
- while (editor.children.length) {
95
- Transforms.removeNodes(editor, { at: [0] });
96
- }
97
- // Insert new content
98
- Transforms.insertNodes(editor, value, { at: [0] });
99
- // Move selection to end
100
- Transforms.select(editor, Editor.end(editor, []));
101
- });
102
- }
103
- catch (error) {
104
- // Fallback to direct mutation if transforms fail
105
- editor.selection = null;
106
- editor.children = value;
107
- }
108
- }, [JSON.stringify(value)]);
109
- const isEmpty = useMemo(() => {
110
- return size(value) === 1 && size(value[0].children) === 1 && value[0].children[0].text === '';
111
- }, [value]);
112
- const renderElement = useCallback((props) => {
113
- switch (props.element.type) {
114
- case 'tag': {
115
- const tagProps = getTagProps(props.element);
116
- const finalProps = {
117
- ...tagsProps,
118
- ...tagProps,
119
- };
120
- return (_jsx(TemplateElement, { ...props, tagProps: {
121
- ...finalProps,
122
- size: rest.size ? getOneLessSize(rest.size) : finalProps.size || 'small',
123
- onClick: !rest.readOnly && !rest.disabled
124
- ? (event) => {
125
- onTagClick?.(props.element);
126
- finalProps.onClick?.(event);
127
- }
128
- : undefined,
129
- onRemoveClick: !rest.readOnly && !rest.disabled
130
- ? () => {
131
- try {
132
- const path = ReactEditor.findPath(editor, props.element);
133
- Transforms.removeNodes(editor, { at: path });
134
- }
135
- catch (error) {
136
- // Element may no longer be in the editor
137
- console.warn('Failed to remove tag:', error);
138
- }
139
- }
140
- : undefined,
141
- } }));
142
- }
143
- default:
144
- return (_jsx(DefaultElement, { ...props, placeholder: isEmpty ? placeholder : undefined, placeholderProps: isEmpty ? placeholderProps : undefined }));
145
- }
146
- }, [isEmpty, placeholder, placeholderProps]);
147
- const renderLeaf = useCallback((props) => customRenderLeaf ? customRenderLeaf(props) : _jsx(Leaf, { ...props }), [customRenderLeaf]);
148
- const isMarkActive = useCallback((editor, format) => {
149
- const marks = Editor.marks(editor);
150
- return marks ? marks[format] === true : false;
151
- }, []);
152
- const toggleMark = useCallback((editor, format) => {
153
- const isActive = isMarkActive(editor, format);
154
- if (isActive) {
155
- Editor.removeMark(editor, format);
156
- }
157
- else {
158
- Editor.addMark(editor, format, true);
159
- }
160
- }, [isMarkActive]);
161
- const panelActions = useMemo(() => {
162
- const _actions = [...(panelProps?.actions || [])];
163
- if (!actions) {
164
- return _actions;
165
- }
166
- if (actions.styling) {
167
- _actions.push({
168
- group: [
169
- {
170
- icon: 'Bold',
171
- compact: true,
172
- active: isMarkActive(editor, 'bold') ? true : undefined,
173
- onMouseDown: () => {
174
- toggleMark(editor, 'bold');
175
- },
176
- },
177
- {
178
- icon: 'Italic',
179
- compact: true,
180
- active: isMarkActive(editor, 'italic') ? true : undefined,
181
- onMouseDown: () => {
182
- toggleMark(editor, 'italic');
183
- },
184
- },
185
- {
186
- icon: 'Underline',
187
- compact: true,
188
- active: isMarkActive(editor, 'underline') ? true : undefined,
189
- onMouseDown: () => {
190
- toggleMark(editor, 'underline');
191
- },
192
- },
193
- ],
194
- });
195
- }
196
- if (actions.undo || actions.redo) {
197
- const undoRedoActions = {
198
- fixed: true,
199
- group: [],
200
- };
201
- if (actions.undo) {
202
- undoRedoActions.group.push({
203
- disabled: editor.history.undos.length === 0,
204
- compact: true,
205
- fixed: true,
206
- icon: 'ArrowGoBackLine',
207
- onClick: () => {
208
- editor.undo();
209
- },
210
- });
211
- }
212
- if (actions.redo) {
213
- undoRedoActions.group.push({
214
- disabled: editor.history.redos.length === 0,
215
- compact: true,
216
- fixed: true,
217
- icon: 'ArrowGoForwardLine',
218
- onClick: () => {
219
- editor.redo();
220
- },
221
- });
222
- }
223
- _actions.push(undoRedoActions);
224
- }
225
- return _actions;
226
- }, [actions, value, target, Editor.marks(editor), editor]);
227
- const items = useMemo(() => {
228
- if (size(tags)) {
229
- return map(tags, ({ items, ...tag }, key) => ({
230
- label: tag.label || key,
231
- ...tag,
232
- items,
233
- }));
234
- }
235
- return undefined;
236
- }, [tags]);
237
- return (_jsx(ReqorePanel, { flat: true, padded: false, minimal: true, transparent: true, size: 'small', ...panelProps, children: _jsx(Slate, { editor: editor, initialValue: value, onChange: (data) => {
238
- const { selection } = editor;
239
- setTarget(selection);
240
- onChange?.(data);
241
- }, children: _jsx(ReqoreTextarea, { ...rest, renderElement: renderElement, renderLeaf: renderLeaf, as: Editable, style: {
242
- lineHeight: 1.5,
243
- outline: 'none',
244
- }, onClearClick: isEmpty
245
- ? undefined
246
- : () => {
247
- Transforms.delete(editor, {
248
- at: {
249
- anchor: Editor.start(editor, []),
250
- focus: Editor.end(editor, []),
251
- },
252
- });
253
- // Focus the editor
254
- try {
255
- ReactEditor.focus(editor);
256
- }
257
- catch (error) {
258
- // Editor may not be mounted
259
- }
260
- }, value: JSON.stringify(value || []), onChange: useCallback(() => { }, []), templates: {
261
- customElements: size(panelActions)
262
- ? [
263
- _jsx(ReqoreControlGroup, { spaceBetween: true, size: 'small', fixed: true, children: panelActions.map((action, index) => {
264
- if (action.group) {
265
- return (_jsx(ReqoreControlGroup, { stack: true, children: action.group?.map((action, index) => (_jsx(ReqoreButton, { customTheme: tagsListProps?.listCustomTheme, intent: tagsListProps?.listIntent, ...action }, index))) }, index));
266
- }
267
- return (_jsx(ReqoreButton, { customTheme: tagsListProps?.listCustomTheme, intent: tagsListProps?.listIntent, ...action }, index));
268
- }) }, 0),
269
- ]
270
- : undefined,
271
- ...tagsListProps,
272
- items,
273
- closeOnInsideClick: false,
274
- onItemSelect: (item) => {
275
- if (item.value) {
276
- try {
277
- // Use current selection or fallback to end of document
278
- const selection = editor.selection || {
279
- anchor: Editor.end(editor, []),
280
- focus: Editor.end(editor, []),
281
- };
282
- Transforms.select(editor, selection);
283
- insertTag(editor, item.value, item.label, item.metadata);
284
- ReactEditor.focus(editor);
285
- }
286
- catch (error) {
287
- // Fallback: just insert at current position
288
- try {
289
- insertTag(editor, item.value, item.label, item.metadata);
290
- }
291
- catch (e) {
292
- console.warn('Failed to insert tag:', e);
293
- }
294
- }
295
- }
296
- },
297
- } }) }) }));
298
- });
299
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/RichTextEditor/index.tsx"],"names":[],"mappings":"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"}