@sps-woodland/core 8.56.2 → 8.56.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 (262) hide show
  1. package/lib/action-bar/action-bar/ActionBar.js +44 -59
  2. package/lib/action-bar/action-bar/ActionBar.ve.js +4 -11
  3. package/lib/action-bar/action-bar-additional-content/ActionBarAdditionalContent.js +14 -22
  4. package/lib/action-bar/index.js +54 -74
  5. package/lib/action-bar/index.umd.cjs +1 -1
  6. package/lib/action-bar/style.css +2 -1
  7. package/lib/add-to-list/add-to-list/AddToList.js +220 -302
  8. package/lib/add-to-list/add-to-list/AddToList.ve.js +79 -24
  9. package/lib/add-to-list/add-to-list/ItemsList.js +42 -67
  10. package/lib/add-to-list/add-to-list/ListItem.js +24 -50
  11. package/lib/add-to-list/index.js +393 -453
  12. package/lib/add-to-list/index.umd.cjs +1 -1
  13. package/lib/add-to-list/style.css +2 -1
  14. package/lib/buttons/button/Button.js +95 -121
  15. package/lib/buttons/button/Button.ve.js +150 -9
  16. package/lib/buttons/index.js +281 -171
  17. package/lib/buttons/index.umd.cjs +1 -1
  18. package/lib/buttons/style.css +2 -1
  19. package/lib/cards/card/Card.js +19 -27
  20. package/lib/cards/card/Card.ve.js +4 -4
  21. package/lib/cards/card-footer/CardFooter.js +12 -13
  22. package/lib/cards/card-footer/CardFooter.ve.js +4 -4
  23. package/lib/cards/card-header/CardHeader.js +12 -13
  24. package/lib/cards/card-header/CardHeader.ve.js +4 -4
  25. package/lib/cards/card-title/CardTitle.js +11 -12
  26. package/lib/cards/card-title/CardTitle.ve.js +4 -4
  27. package/lib/cards/index.js +52 -52
  28. package/lib/cards/index.umd.cjs +1 -1
  29. package/lib/cards/style.css +2 -1
  30. package/lib/column-manager/column-manager/ColumnManager.js +95 -112
  31. package/lib/column-manager/column-manager/useColumnManager.js +59 -48
  32. package/lib/column-manager/index.js +2 -5
  33. package/lib/components/icon/Icon.ve.js +15 -5
  34. package/lib/components/icon/icons/sprite.svg.js +4 -4
  35. package/lib/content-row/content-row/ContentRow.js +146 -173
  36. package/lib/content-row/content-row/ContentRow.ve.js +105 -18
  37. package/lib/content-row/content-row-col/ContentRowCol.js +37 -48
  38. package/lib/content-row/content-row-col/ContentRowCol.ve.js +49 -6
  39. package/lib/content-row/content-row-expansion/ContentRowExpansion.js +16 -24
  40. package/lib/content-row/index.js +407 -318
  41. package/lib/content-row/index.umd.cjs +1 -1
  42. package/lib/content-row/row-list-auto-layout/RowListAutoLayout.js +24 -39
  43. package/lib/content-row/row-list-auto-layout/RowListAutoLayout.ve.js +13 -5
  44. package/lib/content-row/style.css +2 -1
  45. package/lib/content-tiles/content-tile/ContentTile.js +71 -60
  46. package/lib/content-tiles/content-tile/ContentTile.ve.js +36 -14
  47. package/lib/content-tiles/content-tile-list/ContentTileList.js +12 -13
  48. package/lib/content-tiles/content-tile-list/ContentTileList.ve.js +4 -5
  49. package/lib/content-tiles/index.js +156 -118
  50. package/lib/content-tiles/index.umd.cjs +1 -1
  51. package/lib/content-tiles/style.css +2 -1
  52. package/lib/core.css +2 -1
  53. package/lib/dropdowns/dropdown/Dropdown.js +56 -68
  54. package/lib/dropdowns/dropdown/Dropdown.ve.js +37 -8
  55. package/lib/dropdowns/index.js +171 -171
  56. package/lib/dropdowns/index.umd.cjs +1 -1
  57. package/lib/dropdowns/option-list/Option.js +14 -18
  58. package/lib/dropdowns/option-list/Option.ve.js +4 -5
  59. package/lib/dropdowns/option-list/OptionList.js +28 -44
  60. package/lib/dropdowns/option-list/OptionList.ve.js +4 -5
  61. package/lib/dropdowns/style.css +2 -1
  62. package/lib/editable-table/EditableTable.js +68 -85
  63. package/lib/editable-table/index.js +1 -4
  64. package/lib/feedback-block/FeedbackBlock.js +40 -35
  65. package/lib/feedback-block/FeedbackBlock.ve.js +56 -7
  66. package/lib/feedback-block/index.js +132 -85
  67. package/lib/feedback-block/index.umd.cjs +1 -1
  68. package/lib/feedback-block/style.css +2 -1
  69. package/lib/file-upload/file-upload/FileUpload.js +164 -202
  70. package/lib/file-upload/file-upload/FileUpload.ve.js +84 -18
  71. package/lib/file-upload/file-upload/mime-type.enum.js +106 -106
  72. package/lib/file-upload/index.js +390 -353
  73. package/lib/file-upload/index.umd.cjs +1 -1
  74. package/lib/file-upload/style.css +2 -1
  75. package/lib/filter-tiles/filter-tile/FilterTile.js +41 -46
  76. package/lib/filter-tiles/filter-tile/FilterTile.ve.js +51 -9
  77. package/lib/filter-tiles/filter-tile-set/FilterTileSet.js +12 -15
  78. package/lib/filter-tiles/filter-tile-set/FilterTileSet.ve.js +4 -4
  79. package/lib/filter-tiles/index.js +142 -107
  80. package/lib/filter-tiles/index.umd.cjs +1 -1
  81. package/lib/filter-tiles/style.css +2 -1
  82. package/lib/focused-task/focused-task/FocusedTask.js +52 -74
  83. package/lib/focused-task/focused-task/FocusedTask.ve.js +13 -12
  84. package/lib/focused-task/focused-task/useFocusedTask.js +20 -18
  85. package/lib/focused-task/focused-task-actions/FocusedTaskActions.js +12 -13
  86. package/lib/focused-task/index.js +127 -144
  87. package/lib/focused-task/index.umd.cjs +1 -1
  88. package/lib/focused-task/style.css +2 -1
  89. package/lib/growler/Growler.js +78 -90
  90. package/lib/growler/Growler.ve.js +23 -12
  91. package/lib/growler/GrowlerListProvider.js +38 -39
  92. package/lib/growler/Sonner.ve.js +17 -12
  93. package/lib/growler/index.js +249 -274
  94. package/lib/growler/index.umd.cjs +1 -1
  95. package/lib/growler/sonner.js +73 -102
  96. package/lib/growler/style.css +2 -1
  97. package/lib/index.js +520 -501
  98. package/lib/index.umd.cjs +4 -4
  99. package/lib/insight-card/InsightCard.js +90 -84
  100. package/lib/insight-card/InsightCard.ve.js +148 -15
  101. package/lib/insight-card/InsightCardSet.js +12 -12
  102. package/lib/insight-card/index.js +269 -141
  103. package/lib/insight-card/index.umd.cjs +1 -1
  104. package/lib/insight-card/style.css +2 -1
  105. package/lib/key-value-set/index.js +97 -87
  106. package/lib/key-value-set/index.umd.cjs +1 -1
  107. package/lib/key-value-set/key-value-set/KeyValueSet.js +17 -21
  108. package/lib/key-value-set/key-value-set/KeyValueSet.ve.js +10 -5
  109. package/lib/key-value-set/key-value-set-item/KeyValueSetItem.js +25 -21
  110. package/lib/key-value-set/key-value-set-item/KeyValueSetItem.ve.js +13 -6
  111. package/lib/key-value-set/style.css +2 -1
  112. package/lib/list-bar/advanced-search/AdvancedSearch.js +51 -54
  113. package/lib/list-bar/advanced-search/AdvancedSearch.ve.js +30 -8
  114. package/lib/list-bar/index.js +305 -301
  115. package/lib/list-bar/index.umd.cjs +1 -1
  116. package/lib/list-bar/list-bar/InputGroupWrapper.js +10 -19
  117. package/lib/list-bar/list-bar/ListBar.js +105 -121
  118. package/lib/list-bar/list-bar/ListBar.ve.js +13 -17
  119. package/lib/list-bar/list-bar/ListBarSearch.js +20 -21
  120. package/lib/list-bar/list-bar/ListBarSearchInfo.js +8 -12
  121. package/lib/list-bar/list-bar/ListBarSortBy.js +28 -38
  122. package/lib/list-bar/search-results-bar/SearchResultsBar.js +38 -28
  123. package/lib/list-bar/search-results-bar/SearchResultsBar.ve.js +4 -11
  124. package/lib/list-bar/style.css +2 -1
  125. package/lib/matrix/index.js +79 -87
  126. package/lib/matrix/index.umd.cjs +1 -1
  127. package/lib/matrix/matrix/Matrix.js +18 -26
  128. package/lib/matrix/matrix/Matrix.ve.js +4 -7
  129. package/lib/matrix/matrix-body/MatrixBody.js +10 -13
  130. package/lib/matrix/matrix-cell/MatrixCell.js +23 -18
  131. package/lib/matrix/matrix-head/MatrixHead.js +10 -13
  132. package/lib/matrix/matrix-header/MatrixHeader.js +20 -23
  133. package/lib/matrix/matrix-row/MatrixRow.js +10 -13
  134. package/lib/matrix/style.css +2 -1
  135. package/lib/modal/index.js +197 -187
  136. package/lib/modal/index.umd.cjs +1 -1
  137. package/lib/modal/modal/Modal.js +90 -108
  138. package/lib/modal/modal/Modal.ve.js +43 -13
  139. package/lib/modal/modal/useModal.js +19 -24
  140. package/lib/modal/modal-footer/ModalFooter.js +11 -12
  141. package/lib/modal/style.css +2 -1
  142. package/lib/node_modules/.pnpm/@vanilla-extract_recipes@0.2.5_@vanilla-extract_css@1.21.2/node_modules/@vanilla-extract/recipes/createRuntimeFn/dist/vanilla-extract-recipes-createRuntimeFn.esm.js +49 -0
  143. package/lib/node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/index.browser.js +8 -10
  144. package/lib/node_modules/.pnpm/nanoid@5.1.16/node_modules/nanoid/url-alphabet/index.js +4 -4
  145. package/lib/page-title/heading-level/HeadingLevel.js +8 -12
  146. package/lib/page-title/index.js +33 -40
  147. package/lib/page-title/index.umd.cjs +1 -1
  148. package/lib/page-title/page-subtitle/PageSubtitle.js +13 -18
  149. package/lib/page-title/page-subtitle/PageSubtitle.ve.js +4 -5
  150. package/lib/page-title/page-title/PageTitle.js +15 -19
  151. package/lib/page-title/page-title/PageTitle.ve.js +4 -7
  152. package/lib/page-title/style.css +2 -1
  153. package/lib/photo/index.js +174 -177
  154. package/lib/photo/index.umd.cjs +1 -1
  155. package/lib/photo/photo/Photo.js +72 -81
  156. package/lib/photo/photo/Photo.ve.js +21 -7
  157. package/lib/photo/photo-carousel/PhotoCarousel.js +36 -51
  158. package/lib/photo/photo-carousel/PhotoCarousel.ve.js +13 -9
  159. package/lib/photo/style.css +2 -1
  160. package/lib/product-bar/hooks/usePriorityPlus.js +88 -104
  161. package/lib/product-bar/index.js +372 -395
  162. package/lib/product-bar/index.umd.cjs +1 -1
  163. package/lib/product-bar/product-bar/ProductBar.js +77 -103
  164. package/lib/product-bar/product-bar/ProductBar.ve.js +46 -15
  165. package/lib/product-bar/product-bar-name/ProductBarName.js +37 -40
  166. package/lib/product-bar/product-bar-overflow-menu/ProductBarOverflowMenu.js +48 -70
  167. package/lib/product-bar/product-bar-overflow-menu/ProductBarOverflowMenu.ve.js +4 -8
  168. package/lib/product-bar/product-bar-tab/ProductBarTab.js +28 -26
  169. package/lib/product-bar/slack-link/SlackLink.js +26 -30
  170. package/lib/product-bar/slack-link/SlackLink.ve.js +4 -5
  171. package/lib/product-bar/style.css +2 -1
  172. package/lib/product-bar-vertical/index.js +240 -251
  173. package/lib/product-bar-vertical/index.umd.cjs +1 -1
  174. package/lib/product-bar-vertical/product-bar-vertical/ProductBarVertical.js +42 -61
  175. package/lib/product-bar-vertical/product-bar-vertical/ProductBarVertical.ve.js +53 -23
  176. package/lib/product-bar-vertical/product-bar-vertical-header/ProductBarVerticalHeader.js +30 -42
  177. package/lib/product-bar-vertical/product-bar-vertical-item/ProductBarVerticalItem.js +71 -89
  178. package/lib/product-bar-vertical/product-bar-vertical-section/ProductBarVerticalSection.js +22 -29
  179. package/lib/product-bar-vertical/style.css +2 -1
  180. package/lib/progress-indicators/index.js +372 -255
  181. package/lib/progress-indicators/index.umd.cjs +1 -1
  182. package/lib/progress-indicators/progress-bar/ProgressBar.js +66 -110
  183. package/lib/progress-indicators/progress-bar/ProgressBar.ve.js +66 -13
  184. package/lib/progress-indicators/progress-bar/progress-bar-step/ProgressBarStep.js +34 -54
  185. package/lib/progress-indicators/progress-bar/progress-bar-step/ProgressBarStep.ve.js +136 -8
  186. package/lib/progress-indicators/progress-ring/ProgressRing.js +45 -52
  187. package/lib/progress-indicators/style.css +2 -1
  188. package/lib/rich-text-editor/index.js +556 -582
  189. package/lib/rich-text-editor/index.umd.cjs +11 -11
  190. package/lib/rich-text-editor/rich-text-editor/RTELinkModal.js +29 -33
  191. package/lib/rich-text-editor/rich-text-editor/RTEToolbarButton.js +23 -37
  192. package/lib/rich-text-editor/rich-text-editor/RTEToolbarButton.ve.js +13 -6
  193. package/lib/rich-text-editor/rich-text-editor/RichTextEditor.js +68 -77
  194. package/lib/rich-text-editor/rich-text-editor/RichTextEditor.ve.js +21 -8
  195. package/lib/rich-text-editor/rich-text-editor/hooks/useHtmlToMd.js +14 -20
  196. package/lib/rich-text-editor/rich-text-editor/hooks/useMdToHtml.js +14 -20
  197. package/lib/rich-text-editor/rich-text-editor/hooks/useRTEContent.js +33 -27
  198. package/lib/rich-text-editor/rich-text-editor/hooks/useRTEObserver.js +79 -88
  199. package/lib/rich-text-editor/rich-text-editor/hooks/useRTESelectionListener.js +28 -36
  200. package/lib/rich-text-editor/rich-text-editor/hooks/useRTEToolbarButtons.js +195 -211
  201. package/lib/rich-text-editor/rich-text-editor/icons/BOLD.svg.js +4 -4
  202. package/lib/rich-text-editor/rich-text-editor/icons/INDENT.svg.js +4 -4
  203. package/lib/rich-text-editor/rich-text-editor/icons/ITALICS.svg.js +4 -4
  204. package/lib/rich-text-editor/rich-text-editor/icons/LINK.svg.js +4 -4
  205. package/lib/rich-text-editor/rich-text-editor/icons/ORDERED_LIST.svg.js +4 -4
  206. package/lib/rich-text-editor/rich-text-editor/icons/OUTDENT.svg.js +4 -4
  207. package/lib/rich-text-editor/rich-text-editor/icons/REDO.svg.js +4 -4
  208. package/lib/rich-text-editor/rich-text-editor/icons/UNDO.svg.js +4 -4
  209. package/lib/rich-text-editor/rich-text-editor/icons/UNLINK.svg.js +4 -4
  210. package/lib/rich-text-editor/rich-text-editor/icons/UNORDERED_LIST.svg.js +4 -4
  211. package/lib/rich-text-editor/rich-text-editor/utils/flattenListItemParagraphs.js +12 -12
  212. package/lib/rich-text-editor/rich-text-editor/utils/removeUnrepresentableBreaks.js +20 -19
  213. package/lib/rich-text-editor/rich-text-editor/utils/utils.js +11 -15
  214. package/lib/rich-text-editor/style.css +2 -1
  215. package/lib/scrollable-container/ScrollableContainer.js +18 -27
  216. package/lib/scrollable-container/ScrollableContainer.ve.js +4 -4
  217. package/lib/scrollable-container/index.js +20 -27
  218. package/lib/scrollable-container/index.umd.cjs +1 -1
  219. package/lib/scrollable-container/style.css +2 -1
  220. package/lib/side-nav/index.js +190 -228
  221. package/lib/side-nav/index.umd.cjs +1 -1
  222. package/lib/side-nav/side-nav/SideNav.js +43 -60
  223. package/lib/side-nav/side-nav/SideNav.ve.js +22 -16
  224. package/lib/side-nav/side-nav/navContext.js +7 -7
  225. package/lib/side-nav/side-nav-header/SideNavHeader.js +14 -15
  226. package/lib/side-nav/side-nav-item/SideNavItem.js +68 -94
  227. package/lib/side-nav/side-nav-section/SideNavSection.js +16 -26
  228. package/lib/side-nav/style.css +2 -1
  229. package/lib/sorting-header/caret/caret.ve.js +13 -5
  230. package/lib/sorting-header/index.js +269 -251
  231. package/lib/sorting-header/index.umd.cjs +1 -1
  232. package/lib/sorting-header/sorting-header/SortingHeader.js +110 -124
  233. package/lib/sorting-header/sorting-header/SortingHeader.ve.js +30 -6
  234. package/lib/sorting-header/sorting-header-cell/SortingHeaderCell.js +69 -83
  235. package/lib/sorting-header/sorting-header-cell/SortingHeaderCell.ve.js +21 -7
  236. package/lib/sorting-header/style.css +2 -1
  237. package/lib/style.css +2 -1
  238. package/lib/tabs/index.js +255 -201
  239. package/lib/tabs/index.umd.cjs +1 -1
  240. package/lib/tabs/style.css +2 -1
  241. package/lib/tabs/tab/Tab.js +24 -27
  242. package/lib/tabs/tab/Tab.ve.js +76 -6
  243. package/lib/tabs/tab-panel/TabPanel.js +16 -25
  244. package/lib/tabs/tabs/Tabs.js +101 -112
  245. package/lib/tabs/tabs/Tabs.ve.js +13 -11
  246. package/lib/tags/clickable-tag/ClickableTag.js +86 -90
  247. package/lib/tags/clickable-tag/ClickableTag.ve.js +66 -9
  248. package/lib/tags/index.js +342 -199
  249. package/lib/tags/index.umd.cjs +1 -1
  250. package/lib/tags/split-tag/SplitTag.js +49 -30
  251. package/lib/tags/split-tag/SplitTag.ve.js +35 -9
  252. package/lib/tags/style.css +2 -1
  253. package/lib/tags/tag/Tag.js +42 -38
  254. package/lib/tags/tag/Tag.ve.js +41 -6
  255. package/lib/utils/cl.js +5 -5
  256. package/lib/zero-state/ZeroState.js +36 -29
  257. package/lib/zero-state/ZeroState.ve.js +29 -11
  258. package/lib/zero-state/index.js +103 -78
  259. package/lib/zero-state/index.umd.cjs +1 -1
  260. package/lib/zero-state/style.css +2 -1
  261. package/package.json +12 -12
  262. package/lib/node_modules/.pnpm/@vanilla-extract_recipes@0.2.5_@vanilla-extract_css@1.17.4/node_modules/@vanilla-extract/recipes/createRuntimeFn/dist/vanilla-extract-recipes-createRuntimeFn.esm.js +0 -57
@@ -1,22 +1,16 @@
1
- import { useMemo as e } from "react";
2
- import t from "remark-parse";
3
- import m from "remark-rehype";
1
+ import { flattenListItemParagraphs as e } from "../utils/flattenListItemParagraphs.js";
2
+ import { useMemo as t } from "react";
3
+ import n from "remark-parse";
4
+ import r from "remark-rehype";
4
5
  import i from "rehype-sanitize";
5
- import s from "rehype-stringify";
6
- import { unified as p } from "unified";
7
- import { flattenListItemParagraphs as n } from "../utils/flattenListItemParagraphs.js";
8
- function l() {
9
- const r = e(
10
- () => p().use(t).use(n).use(m).use(i).use(s),
11
- []
12
- );
13
- return e(
14
- () => function(o) {
15
- return r.process(o).then(String);
16
- },
17
- [r]
18
- );
6
+ import a from "rehype-stringify";
7
+ import { unified as o } from "unified";
8
+ //#region src/rich-text-editor/rich-text-editor/hooks/useMdToHtml.ts
9
+ function s() {
10
+ let s = t(() => o().use(n).use(e).use(r).use(i).use(a), []);
11
+ return t(() => function(e) {
12
+ return s.process(e).then(String);
13
+ }, [s]);
19
14
  }
20
- export {
21
- l as useMdToHtml
22
- };
15
+ //#endregion
16
+ export { s as useMdToHtml };
@@ -1,28 +1,34 @@
1
- import { useState as l, useCallback as d, useEffect as p } from "react";
2
- import { useMdToHtml as v } from "./useMdToHtml.js";
3
- import { useHtmlToMd as w } from "./useHtmlToMd.js";
4
- function E(n = "", t = "") {
5
- const [s, r] = l(), [f, g] = l({ html: t }), c = w(), u = v(), T = d(async (e) => {
6
- const m = await u(e), o = { md: e, html: m };
7
- return r(o), o;
8
- }, [u]), a = d(async (e) => {
9
- const o = { md: await c(e), html: e };
10
- return r(o), o;
11
- }, [c]);
12
- p(() => {
13
- !t && n !== s?.md ? T(n).then(({ html: e }) => {
14
- g({ html: e });
15
- }) : !n && t && t !== s?.html && a(t);
16
- }, [n, t]);
17
- function h(e) {
18
- e.current && a(e.current.innerHTML);
19
- }
20
- return {
21
- aggValue: s,
22
- editableDivInnerHtml: f,
23
- updateStateFromDiv: h
24
- };
1
+ import { useMdToHtml as e } from "./useMdToHtml.js";
2
+ import { useHtmlToMd as t } from "./useHtmlToMd.js";
3
+ import { useCallback as n, useEffect as r, useState as i } from "react";
4
+ //#region src/rich-text-editor/rich-text-editor/hooks/useRTEContent.ts
5
+ function a(a = "", o = "") {
6
+ let [s, c] = i(), [l, u] = i({ html: o }), d = t(), f = e(), p = n(async (e) => {
7
+ let t = {
8
+ md: e,
9
+ html: await f(e)
10
+ };
11
+ return c(t), t;
12
+ }, [f]), m = n(async (e) => {
13
+ let t = {
14
+ md: await d(e),
15
+ html: e
16
+ };
17
+ return c(t), t;
18
+ }, [d]);
19
+ r(() => {
20
+ !o && a !== s?.md ? p(a).then(({ html: e }) => {
21
+ u({ html: e });
22
+ }) : !a && o && o !== s?.html && m(o);
23
+ }, [a, o]);
24
+ function h(e) {
25
+ e.current && m(e.current.innerHTML);
26
+ }
27
+ return {
28
+ aggValue: s,
29
+ editableDivInnerHtml: l,
30
+ updateStateFromDiv: h
31
+ };
25
32
  }
26
- export {
27
- E as useRTEContent
28
- };
33
+ //#endregion
34
+ export { a as useRTEContent };
@@ -1,94 +1,85 @@
1
- import { useRef as g, useMemo as f, useEffect as i } from "react";
2
- function x(e) {
3
- if (e instanceof HTMLElement) {
4
- for (const t of Array.from(e.attributes))
5
- /(style|class|data-[^=]+)/.test(t.name) && e.removeAttribute(t.name);
6
- e.innerHTML = e.innerHTML.replace(/(style|class|data-[^=]+)="[^"]+"/g, "");
7
- }
1
+ import { useEffect as e, useMemo as t, useRef as n } from "react";
2
+ //#region src/rich-text-editor/rich-text-editor/hooks/useRTEObserver.ts
3
+ function r(e) {
4
+ if (e instanceof HTMLElement) {
5
+ for (let t of Array.from(e.attributes)) /(style|class|data-[^=]+)/.test(t.name) && e.removeAttribute(t.name);
6
+ e.innerHTML = e.innerHTML.replace(/(style|class|data-[^=]+)="[^"]+"/g, "");
7
+ }
8
8
  }
9
- const u = [
10
- // Bold
11
- {
12
- regex: /\*\*([^*]+)\*\*/,
13
- command: "bold"
14
- },
15
- // Italic
16
- {
17
- regex: new RegExp("(?<!\\*)\\*([^*]+)\\*"),
18
- command: "italic"
19
- },
20
- // Bulleted list
21
- {
22
- regex: /^\*[ \u00a0]/,
23
- command: "insertUnorderedList"
24
- },
25
- // Numbered list
26
- {
27
- regex: /^1\.[ \u00a0]/,
28
- command: "insertOrderedList"
29
- },
30
- // Link
31
- {
32
- regex: /\[([^\]]+)\]\(([^)]+)\)/,
33
- command: "createLink",
34
- getCommandArg: ([, , e]) => /^https?:\/\//.test(e) ? e : `https://${e}`
35
- }
9
+ var i = [
10
+ {
11
+ regex: /\*\*([^*]+)\*\*/,
12
+ command: "bold"
13
+ },
14
+ {
15
+ regex: /(?<!\*)\*([^*]+)\*/,
16
+ command: "italic"
17
+ },
18
+ {
19
+ regex: /^\*[ \u00a0]/,
20
+ command: "insertUnorderedList"
21
+ },
22
+ {
23
+ regex: /^1\.[ \u00a0]/,
24
+ command: "insertOrderedList"
25
+ },
26
+ {
27
+ regex: /\[([^\]]+)\]\(([^)]+)\)/,
28
+ command: "createLink",
29
+ getCommandArg: ([, , e]) => /^https?:\/\//.test(e) ? e : `https://${e}`
30
+ }
36
31
  ];
37
- function E(e, t, a) {
38
- const n = document.createRange();
39
- n.setStart(e, t), n.setEnd(e, a);
40
- const r = window.getSelection();
41
- r?.removeAllRanges(), r?.addRange(n);
32
+ function a(e, t, n) {
33
+ let r = document.createRange();
34
+ r.setStart(e, t), r.setEnd(e, n);
35
+ let i = window.getSelection();
36
+ i?.removeAllRanges(), i?.addRange(r);
42
37
  }
43
- function L(e) {
44
- const t = document.createRange();
45
- t.setStartAfter(e), t.setEndAfter(e);
46
- const a = window.getSelection();
47
- a?.removeAllRanges(), a?.addRange(t);
38
+ function o(e) {
39
+ let t = document.createRange();
40
+ t.setStartAfter(e), t.setEndAfter(e);
41
+ let n = window.getSelection();
42
+ n?.removeAllRanges(), n?.addRange(t);
48
43
  }
49
- function C(e) {
50
- const t = document.createRange();
51
- t.setStartBefore(e), t.setEndBefore(e);
52
- const a = window.getSelection();
53
- a?.removeAllRanges(), a?.addRange(t);
44
+ function s(e) {
45
+ let t = document.createRange();
46
+ t.setStartBefore(e), t.setEndBefore(e);
47
+ let n = window.getSelection();
48
+ n?.removeAllRanges(), n?.addRange(t);
54
49
  }
55
- function v(e) {
56
- const t = g(null), a = f(() => new MutationObserver(([n]) => {
57
- if (n.type === "characterData" && n.oldValue && n.target.textContent) {
58
- for (const r of u)
59
- if (!r.regex.test(n.oldValue) && r.regex.test(n.target.textContent)) {
60
- const s = r.regex.exec(n.target.textContent), [o, c = ""] = s, d = n.target.textContent.indexOf(o);
61
- n.target.textContent = n.target.textContent.replace(o, c);
62
- const l = d + c.length;
63
- E(n.target, d, l);
64
- const m = r.getCommandArg ? r.getCommandArg(s) : void 0;
65
- document.execCommand(r.command, void 0, m), c && (L(n.target.parentNode), document.execCommand(r.command));
66
- }
67
- } else n.type === "childList" && Array.from(n.addedNodes).forEach((r) => {
68
- let s;
69
- if (r instanceof HTMLElement && r.tagName === "LI" ? s = r : r?.parentElement?.tagName === "LI" && (s = r?.parentElement), s) {
70
- const o = s.nextElementSibling, c = o?.childNodes?.[0];
71
- if (c instanceof HTMLElement && ["UL", "OL"].includes(c.tagName)) {
72
- const l = document.createElement("br");
73
- o.insertBefore(l, c), C(l);
74
- }
75
- }
76
- x(r);
77
- });
78
- e(t);
79
- }), []);
80
- return i(() => () => {
81
- a && a.disconnect();
82
- }, []), i(() => {
83
- t.current !== null && a.observe(t.current, {
84
- childList: !0,
85
- subtree: !0,
86
- characterDataOldValue: !0
87
- });
88
- }, [a, t]), t;
50
+ function c(c) {
51
+ let l = n(null), u = t(() => new MutationObserver(([e]) => {
52
+ if (e.type === "characterData" && e.oldValue && e.target.textContent) {
53
+ for (let t of i) if (!t.regex.test(e.oldValue) && t.regex.test(e.target.textContent)) {
54
+ let n = t.regex.exec(e.target.textContent), [r, i = ""] = n, s = e.target.textContent.indexOf(r);
55
+ e.target.textContent = e.target.textContent.replace(r, i);
56
+ let c = s + i.length;
57
+ a(e.target, s, c);
58
+ let l = t.getCommandArg ? t.getCommandArg(n) : void 0;
59
+ document.execCommand(t.command, void 0, l), i && (o(e.target.parentNode), document.execCommand(t.command));
60
+ }
61
+ } else e.type === "childList" && Array.from(e.addedNodes).forEach((e) => {
62
+ let t;
63
+ if (e instanceof HTMLElement && e.tagName === "LI" ? t = e : e?.parentElement?.tagName === "LI" && (t = e?.parentElement), t) {
64
+ let e = t.nextElementSibling, n = e?.childNodes?.[0];
65
+ if (n instanceof HTMLElement && ["UL", "OL"].includes(n.tagName)) {
66
+ let t = document.createElement("br");
67
+ e.insertBefore(t, n), s(t);
68
+ }
69
+ }
70
+ r(e);
71
+ });
72
+ c(l);
73
+ }), []);
74
+ return e(() => () => {
75
+ u && u.disconnect();
76
+ }, []), e(() => {
77
+ l.current !== null && u.observe(l.current, {
78
+ childList: !0,
79
+ subtree: !0,
80
+ characterDataOldValue: !0
81
+ });
82
+ }, [u, l]), l;
89
83
  }
90
- export {
91
- L as moveCaretAfter,
92
- C as moveCaretBefore,
93
- v as useRTEObserver
94
- };
84
+ //#endregion
85
+ export { o as moveCaretAfter, s as moveCaretBefore, c as useRTEObserver };
@@ -1,37 +1,29 @@
1
- import { useState as l, useEffect as s, useCallback as i } from "react";
2
- function m(o) {
3
- const [t, c] = l();
4
- s(() => {
5
- function r() {
6
- const e = window.getSelection();
7
- Number(e?.rangeCount) > 0 && c(e?.getRangeAt(0));
8
- }
9
- return document.addEventListener("selectionchange", r), () => {
10
- document.removeEventListener("selectionchange", r);
11
- };
12
- }, []);
13
- const u = i(
14
- (r) => {
15
- if (!t)
16
- return null;
17
- const e = t.commonAncestorContainer;
18
- if (!o.current || !o.current.contains(e))
19
- return null;
20
- let n = e instanceof HTMLElement ? e : e.parentElement;
21
- for (; n && n !== o.current; ) {
22
- if (r(n))
23
- return n;
24
- n = n.parentElement;
25
- }
26
- return null;
27
- },
28
- [t]
29
- );
30
- return {
31
- selectionRange: t,
32
- selectionDOMContextFind: u
33
- };
1
+ import { useCallback as e, useEffect as t, useState as n } from "react";
2
+ //#region src/rich-text-editor/rich-text-editor/hooks/useRTESelectionListener.ts
3
+ function r(r) {
4
+ let [i, a] = n();
5
+ return t(() => {
6
+ function e() {
7
+ let e = window.getSelection();
8
+ Number(e?.rangeCount) > 0 && a(e?.getRangeAt(0));
9
+ }
10
+ return document.addEventListener("selectionchange", e), () => {
11
+ document.removeEventListener("selectionchange", e);
12
+ };
13
+ }, []), {
14
+ selectionRange: i,
15
+ selectionDOMContextFind: e((e) => {
16
+ if (!i) return null;
17
+ let t = i.commonAncestorContainer;
18
+ if (!r.current || !r.current.contains(t)) return null;
19
+ let n = t instanceof HTMLElement ? t : t.parentElement;
20
+ for (; n && n !== r.current;) {
21
+ if (e(n)) return n;
22
+ n = n.parentElement;
23
+ }
24
+ return null;
25
+ }, [i])
26
+ };
34
27
  }
35
- export {
36
- m as useRTESelectionListener
37
- };
28
+ //#endregion
29
+ export { r as useRTESelectionListener };