@revolist/ui 4.0.1-rc → 4.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 (427) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -264
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/calendar-DJqiFwFT.js +258 -0
  9. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-yr6Uzmof.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/color-palette-DMJUChWC.js +92 -0
  15. package/_chunks/{color-picker-BRv-__AM.js → color-picker-CMWxQlWt.js} +61 -56
  16. package/_chunks/component-DyWiItBR.js +878 -0
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DCodxcUw.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-CbOYUakE.js +118 -0
  21. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  22. package/_chunks/controls-DD1qvPfE.js +650 -0
  23. package/_chunks/{date-control-CYCkb1aQ.js → date-control-XI2cpKI_.js} +21 -21
  24. package/_chunks/date-time-CGJdC1Qa.js +807 -0
  25. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  26. package/_chunks/dialog.parts-CJ3FVxC9.js +131 -0
  27. package/_chunks/duration-CBJWK82T.js +272 -0
  28. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  29. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  30. package/_chunks/field-configurator-B-qtIwx1.js +288 -0
  31. package/_chunks/field-context-D57PnBbH.js +5 -0
  32. package/_chunks/framework-mount-Bk4O_T7T.js +54 -0
  33. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  34. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  35. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  36. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  37. package/_chunks/minus-BOAR3A1C.js +4 -0
  38. package/_chunks/mount-C7i5gsKI.js +267 -0
  39. package/_chunks/native-Blr3byjO.js +32 -0
  40. package/_chunks/native-control-B9MNibfa.js +649 -0
  41. package/_chunks/{number-input-NnH57J4j.js → number-input-CgbZes5B.js} +89 -89
  42. package/_chunks/picker-DqpjDC90.js +122 -0
  43. package/_chunks/plus-CbGRkIGl.js +4 -0
  44. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  45. package/_chunks/popup-C35Isk7p.js +378 -0
  46. package/_chunks/preact.module-BBM36DnO.js +290 -0
  47. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-WDrfiluf.js} +10 -10
  48. package/_chunks/render-m5eMMwFR.js +83 -0
  49. package/_chunks/reorder-list-C4HSda4n.js +59 -0
  50. package/_chunks/request-trail-SHynDFdM.js +762 -0
  51. package/_chunks/rich-text-CtjqRvv8.js +842 -0
  52. package/_chunks/rotate-left-BF6G883o.js +4 -0
  53. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  54. package/_chunks/selection-list-tooltips-BtWjpP6M.js +41 -0
  55. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  56. package/_chunks/tooltip-D4xkio5G.js +54 -0
  57. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  58. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  59. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  60. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  61. package/_dialog.scss +55 -21
  62. package/_form.scss +71 -21
  63. package/_legend.scss +25 -7
  64. package/_shared/data-query/index.d.ts +2 -2
  65. package/_shared/data-query/load-options.d.ts +2 -2
  66. package/_variables.scss +34 -32
  67. package/_vendor/preact/LICENSE +21 -0
  68. package/_vendor/preact/compat/src/index.d.ts +353 -0
  69. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  70. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  71. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  72. package/_vendor/preact/src/dom.d.ts +2548 -0
  73. package/_vendor/preact/src/index.d.ts +373 -0
  74. package/_vendor/preact/src/jsx.d.ts +2958 -0
  75. package/_view-switcher.scss +6 -0
  76. package/activity-message.d.ts +2 -2
  77. package/activity-message.js +16 -16
  78. package/ai/_chat.scss +227 -0
  79. package/ai/_style.scss +170 -39
  80. package/ai/chat.d.ts +65 -0
  81. package/ai/components.d.ts +35 -6
  82. package/ai/index.d.ts +3 -0
  83. package/ai/index.js +3 -3
  84. package/ai/mount.d.ts +59 -6
  85. package/ai/prompt-history.d.ts +13 -0
  86. package/ai/request-trail.d.ts +9 -3
  87. package/ai/results/_style.scss +83 -0
  88. package/ai/results/index.d.ts +11 -0
  89. package/ai/results/metrics.d.ts +5 -0
  90. package/ai/results/table.d.ts +5 -0
  91. package/ai/results/text.d.ts +5 -0
  92. package/ai/results/types.d.ts +29 -0
  93. package/ai/transcript.d.ts +27 -0
  94. package/ai/translation-context.d.ts +1 -1
  95. package/ai/translations.d.ts +1 -1
  96. package/alert.d.ts +2 -2
  97. package/angular/angular.d.ts +1 -1
  98. package/angular/angular.js +13 -10
  99. package/assignee/assignee.scss +28 -6
  100. package/assignee/field.d.ts +2 -2
  101. package/assignee/index.js +86 -87
  102. package/assignee/layout.d.ts +2 -2
  103. package/assignee/picker.d.ts +1 -1
  104. package/avatar/avatar.style.scss +23 -6
  105. package/avatar/index.d.ts +25 -2
  106. package/avatar/index.js +42 -41
  107. package/badge.d.ts +1 -1
  108. package/badge.view.d.ts +8 -0
  109. package/brush-range/_brush-range.scss +55 -49
  110. package/brush-range/component.d.ts +2 -4
  111. package/brush-range/component.js +19 -19
  112. package/buttons/delete-button.d.ts +2 -1
  113. package/buttons/delete-button.js +1 -1
  114. package/buttons/delete-button.style.scss +6 -2
  115. package/buttons/remove-button.d.ts +2 -2
  116. package/buttons/remove-button.js +3 -3
  117. package/buttons/remove-button.style.scss +1 -1
  118. package/buttons/svg-button.d.ts +3 -2
  119. package/buttons/svg-button.js +23 -23
  120. package/calendar/_calendar.scss +27 -26
  121. package/calendar/calendar.d.ts +1 -1
  122. package/calendar/calendar.js +1 -1
  123. package/calendar/caption.d.ts +1 -1
  124. package/calendar/day.d.ts +1 -1
  125. package/calendar/day.js +4 -4
  126. package/calendar/header.d.ts +1 -1
  127. package/calendar/header.js +34 -35
  128. package/calendar/index.js +2 -2
  129. package/calendar/month-grid.d.ts +1 -1
  130. package/calendar/month-grid.js +37 -37
  131. package/calendar/picker.d.ts +1 -1
  132. package/calendar/types.d.ts +1 -1
  133. package/calendar/year-grid.d.ts +1 -1
  134. package/calendar/year-grid.js +12 -12
  135. package/cell-input.scss +3 -7
  136. package/cell-visuals/badge.style.scss +6 -3
  137. package/cell-visuals/bar-chart.style.scss +2 -1
  138. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  139. package/cell-visuals/progress-line.style.scss +1 -4
  140. package/cell-visuals/sparkline.style.scss +2 -1
  141. package/cell-visuals/timeline.style.css +4 -2
  142. package/checkbox/checkbox.scss +6 -24
  143. package/checkbox/index.d.ts +2 -2
  144. package/checkbox/index.js +9 -9
  145. package/choice-chips/index.d.ts +4 -2
  146. package/choice-chips/index.js +1 -1
  147. package/color-palette/color-palette.d.ts +1 -1
  148. package/color-palette/color-palette.js +1 -1
  149. package/color-palette/color-palette.style.scss +88 -25
  150. package/color-palette/color-picker.d.ts +1 -1
  151. package/color-palette/color-picker.js +2 -2
  152. package/color-palette/color-picker.style.scss +23 -10
  153. package/color-palette/common-palettes.d.ts +1 -1
  154. package/color-palette/common-palettes.js +1 -1
  155. package/color-palette/native.d.ts +15 -2
  156. package/component-catalog.d.ts +42 -29
  157. package/configurator-actions.d.ts +67 -0
  158. package/configurator-actions.js +1 -0
  159. package/configurator-aggregation-list.d.ts +14 -0
  160. package/configurator-aggregation-list.js +63 -0
  161. package/configurator-drop-zone.d.ts +39 -0
  162. package/configurator-drop-zone.js +66 -0
  163. package/configurator-field-icon.d.ts +10 -0
  164. package/configurator-field-icon.js +1 -0
  165. package/configurator-focus.d.ts +4 -0
  166. package/configurator-focus.js +39 -0
  167. package/configurator-sections.d.ts +42 -0
  168. package/configurator-sections.js +71 -0
  169. package/control-attributes.js +7 -7
  170. package/control-presentation.d.ts +8 -2
  171. package/control-presentation.js +31 -26
  172. package/controls.d.ts +23 -11
  173. package/controls.js +4 -3
  174. package/core/editor-commit.d.ts +1 -1
  175. package/core/editor-popup-position.d.ts +6 -2
  176. package/core/editor-popup.d.ts +5 -1
  177. package/core/editor-popup.js +1 -1
  178. package/core/popover-controller.d.ts +35 -0
  179. package/core/popup-ownership.d.ts +2 -0
  180. package/core/selection-list-tooltips.d.ts +2 -0
  181. package/core/title-tooltip.d.ts +2 -0
  182. package/core/tooltip-session.d.ts +29 -0
  183. package/core/tooltip-surface.d.ts +13 -0
  184. package/core/tooltip-text.d.ts +6 -0
  185. package/core/tooltip.d.ts +35 -0
  186. package/core/top-layer-popup.d.ts +4 -0
  187. package/core/top-layer-popup.js +1 -23
  188. package/date-time/attach.d.ts +1 -1
  189. package/date-time/date-control.d.ts +2 -2
  190. package/date-time/field.d.ts +4 -3
  191. package/date-time/index.js +1 -1
  192. package/date-time/picker.d.ts +1 -1
  193. package/date-time/style.scss +242 -39
  194. package/date-time/time-control.d.ts +1 -1
  195. package/date-time/time-selection.d.ts +3 -1
  196. package/date-time/types.d.ts +6 -2
  197. package/dialog/dialog-action-footer.d.ts +17 -2
  198. package/dialog/dialog.dom.d.ts +15 -2
  199. package/dialog/dialog.dom.js +53 -53
  200. package/dialog/dialog.parts.d.ts +18 -18
  201. package/dialog/dialog.parts.js +1 -1
  202. package/dialog/dialog.preact.d.ts +1 -1
  203. package/dialog/dialog.preact.js +6 -6
  204. package/distribution-chart/_distribution-chart.scss +113 -77
  205. package/distribution-chart/area-chart.d.ts +1 -1
  206. package/distribution-chart/area-chart.js +25 -25
  207. package/distribution-chart/bar-chart.d.ts +6 -3
  208. package/distribution-chart/bar-chart.js +10 -6
  209. package/distribution-chart/chart-frame.d.ts +3 -2
  210. package/distribution-chart/index.d.ts +2 -2
  211. package/distribution-chart/index.js +6 -6
  212. package/distribution-chart/line-chart.d.ts +1 -1
  213. package/distribution-chart/line-chart.js +9 -9
  214. package/distribution-chart/types.d.ts +1 -1
  215. package/dropdown/content.d.ts +3 -2
  216. package/dropdown/content.js +1 -141
  217. package/dropdown/control.d.ts +14 -0
  218. package/dropdown/control.js +1 -0
  219. package/dropdown/control.view.d.ts +6 -0
  220. package/dropdown/dropdown.service.d.ts +1 -1
  221. package/dropdown/dropdown.service.js +9 -9
  222. package/dropdown/dropdown.types.d.ts +5 -1
  223. package/dropdown/editor-dropdown.style.scss +54 -16
  224. package/dropdown/index.d.ts +1 -1
  225. package/dropdown/index.js +3 -4
  226. package/dropdown/lookup-field.d.ts +6 -1
  227. package/dropdown/lookup-field.js +42 -41
  228. package/dropdown/popup.d.ts +2 -2
  229. package/dropdown/popup.js +1 -140
  230. package/duration/controls.d.ts +1 -1
  231. package/duration/index.d.ts +2 -2
  232. package/duration/index.js +1 -1
  233. package/duration/style.scss +1 -1
  234. package/editor-actions.d.ts +1 -1
  235. package/editor-actions.js +21 -20
  236. package/editor-layout/index.d.ts +5 -5
  237. package/editor-layout/index.js +43 -38
  238. package/editor-layout/style.scss +82 -18
  239. package/field-configurator.d.ts +40 -2
  240. package/field-configurator.js +4 -170
  241. package/field-expansion.d.ts +9 -0
  242. package/field-reorder.hook.js +32 -32
  243. package/fieldset.d.ts +3 -0
  244. package/filter/filters/slider/_single-slider.scss +57 -38
  245. package/filter/filters/slider/_slider.scss +41 -33
  246. package/filter/filters/slider/control.js +2 -0
  247. package/filter/filters/slider/preact.js +3 -3
  248. package/filter/filters/slider/runtime.js +49 -22
  249. package/filter/filters/slider/single.d.ts +1 -1
  250. package/filter/filters/slider/single.js +23 -23
  251. package/filter-badge.d.ts +1 -1
  252. package/filter-badge.js +23 -22
  253. package/filter-controls.d.ts +1 -2
  254. package/filter-controls.js +29 -30
  255. package/form-controls/field-context.d.ts +5 -0
  256. package/form-controls/index.d.ts +10 -2
  257. package/form-controls/index.js +17 -22
  258. package/form-controls/presentation.d.ts +2 -2
  259. package/form-controls/presentation.js +59 -51
  260. package/formatting/comparison-preview.d.ts +1 -1
  261. package/formatting/icon-controls.d.ts +1 -1
  262. package/formatting/index.d.ts +1 -1
  263. package/formatting/index.js +106 -100
  264. package/formatting/inspector-section.d.ts +1 -1
  265. package/formatting/styles.scss +14 -57
  266. package/formatting/typography-controls.d.ts +1 -1
  267. package/framework-mount.d.ts +1 -1
  268. package/framework.js +237 -226
  269. package/history-controls.d.ts +14 -0
  270. package/history-controls.js +27 -0
  271. package/icon-toolbar.d.ts +62 -0
  272. package/icon-toolbar.js +1 -0
  273. package/icons/icon.d.ts +2 -2
  274. package/icons/icon.js +1 -1
  275. package/legend.d.ts +2 -2
  276. package/legend.js +12 -12
  277. package/masked-input/index.d.ts +1 -1
  278. package/masked-input/index.js +109 -109
  279. package/native-control.d.ts +14 -13
  280. package/native-control.js +3 -26
  281. package/native-controls.d.ts +54 -2
  282. package/native-styles.css +1 -1
  283. package/native-styles.scss +6 -2
  284. package/native.d.ts +3 -3
  285. package/native.js +49 -45
  286. package/number-input/index.d.ts +2 -2
  287. package/number-input/index.js +1 -1
  288. package/package.json +88 -15
  289. package/pagination.d.ts +3 -0
  290. package/pagination.js +50 -40
  291. package/pdf-viewer/component.d.ts +1 -1
  292. package/pdf-viewer/controller.js +1 -1
  293. package/pdf-viewer/header.d.ts +2 -2
  294. package/pdf-viewer/index.d.ts +2 -2
  295. package/pdf-viewer/index.js +13 -13
  296. package/pdf-viewer/search-bar.d.ts +2 -2
  297. package/pdf-viewer/status.d.ts +2 -2
  298. package/pdf-viewer/style.scss +205 -45
  299. package/pdf-viewer/toolbar.d.ts +1 -1
  300. package/pickers.d.ts +6 -2
  301. package/preact-mount.d.ts +1 -1
  302. package/preact-mount.js +2 -2
  303. package/preact.d.ts +15 -10
  304. package/preact.js +109 -64
  305. package/progress/_bar.scss +9 -3
  306. package/progress/_circular.scss +2 -1
  307. package/rating-choice.d.ts +1 -1
  308. package/rating-choice.js +1 -1
  309. package/react-adapter.d.ts +5 -3
  310. package/react-control.d.ts +1 -0
  311. package/react.d.ts +20 -11
  312. package/react.js +72 -88
  313. package/reorder-list.d.ts +2 -2
  314. package/reorder-list.js +1 -1
  315. package/reorder-list.scss +59 -17
  316. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  317. package/resource-picker/resource-picker-avatar.js +14 -14
  318. package/resource-picker/resource-picker-option.d.ts +1 -1
  319. package/resource-picker/resource-picker-option.js +28 -28
  320. package/resource-picker/resource-picker-popup.d.ts +1 -1
  321. package/resource-picker/resource-picker-popup.js +3 -3
  322. package/resource-picker/resource-picker.d.ts +1 -1
  323. package/resource-picker/resource-picker.js +68 -66
  324. package/resource-picker/resource-picker.scss +66 -35
  325. package/rich-text/engine.d.ts +17 -19
  326. package/rich-text/format-html.d.ts +2 -0
  327. package/rich-text/index.d.ts +11 -7
  328. package/rich-text/index.js +1 -1
  329. package/rich-text/model.d.ts +6 -3
  330. package/rich-text/render-model.d.ts +4 -5
  331. package/rich-text/style.scss +295 -55
  332. package/rich-text/syntax.d.ts +5 -2
  333. package/rich-text/toolbar.d.ts +7 -7
  334. package/rich-text/translations.d.ts +5 -15
  335. package/search-input/index.js +12 -12
  336. package/search-input/native.d.ts +21 -2
  337. package/segmented-switch/index.d.ts +1 -1
  338. package/segmented-switch/index.js +1 -1
  339. package/select.d.ts +22 -0
  340. package/select.js +1 -0
  341. package/selection-list.d.ts +1 -0
  342. package/selection-list.js +3 -1
  343. package/status-feedback/exit-snapshot.js +1 -1
  344. package/status-feedback/index.js +2 -2
  345. package/status-feedback/popover.js +9 -9
  346. package/status-feedback/render.d.ts +2 -2
  347. package/status-feedback/render.js +3 -44
  348. package/status-feedback/status-feedback.scss +130 -34
  349. package/status-feedback/types.d.ts +4 -0
  350. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  351. package/styles/_activity-message.scss +24 -7
  352. package/styles/_alert.scss +78 -17
  353. package/styles/_cell-editor-frame.scss +11 -0
  354. package/styles/_compositions.scss +404 -82
  355. package/styles/_control.scss +42 -12
  356. package/styles/_disclosure.scss +15 -5
  357. package/styles/_editor-counter.scss +16 -6
  358. package/styles/_editor-slider.scss +8 -4
  359. package/styles/_field-configurator.scss +321 -23
  360. package/styles/_fields-grid.scss +49 -0
  361. package/styles/_filter-controls.scss +10 -2
  362. package/styles/_icon-action.scss +48 -15
  363. package/styles/_loading.scss +12 -3
  364. package/styles/_motion.scss +32 -9
  365. package/styles/_palette.scss +0 -24
  366. package/styles/_primitives.scss +376 -116
  367. package/styles/_theme.scss +130 -86
  368. package/styles/_thresholds.scss +28 -25
  369. package/styles/_time-grid.scss +8 -3
  370. package/styles/_tokens.scss +6 -1
  371. package/styles/configurator-actions.scss +241 -0
  372. package/styles/pagination.css +213 -0
  373. package/styles/{legacy-rating.css → rating.css} +8 -3
  374. package/styles.css +1 -1
  375. package/styles.scss +3 -5
  376. package/surfaces.d.ts +38 -2
  377. package/surfaces.js +37 -134
  378. package/svelte/UiComponent.server.js +1 -48
  379. package/svelte/UiComponent.svelte +44 -32
  380. package/svelte.d.ts +1 -1
  381. package/svelte.js +33 -68
  382. package/switch/index.js +3 -2
  383. package/time-grid.d.ts +1 -2
  384. package/time-grid.js +43 -42
  385. package/timeline-track/_style.scss +96 -24
  386. package/timeline-track/component.d.ts +5 -1
  387. package/timeline-track/index.js +91 -74
  388. package/timeline-track/model.d.ts +9 -0
  389. package/timeline-track/model.js +10 -1
  390. package/ui.css +1 -1
  391. package/view-switcher.d.ts +23 -0
  392. package/vue-adapter.d.ts +1 -1
  393. package/vue.d.ts +160 -144
  394. package/vue.js +149 -178
  395. package/_chunks/calendar-BsDxCYhI.js +0 -248
  396. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  397. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  398. package/_chunks/color-palette-BmZ7kH9R.js +0 -94
  399. package/_chunks/component-D4PH5UZT.js +0 -859
  400. package/_chunks/control-tooltip-BCNzQCXE.js +0 -100
  401. package/_chunks/controls-NEL5tDaz.js +0 -615
  402. package/_chunks/date-time-DjucJmbc.js +0 -769
  403. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  404. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  405. package/_chunks/duration-BCaktcvz.js +0 -270
  406. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  407. package/_chunks/editor-popup-B7fu_A_T.js +0 -81
  408. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  409. package/_chunks/mount-0-8opf1j.js +0 -90
  410. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  411. package/_chunks/picker-oazJ7sO_.js +0 -121
  412. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  413. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  414. package/_chunks/rich-text-2Rla349o.js +0 -477
  415. package/avatar/index.view.d.ts +0 -25
  416. package/color-palette/native.view.d.ts +0 -15
  417. package/control-presentation.view.d.ts +0 -8
  418. package/dialog/dialog-action-footer.view.d.ts +0 -20
  419. package/dialog/dialog.dom.view.d.ts +0 -15
  420. package/form-controls/index.view.d.ts +0 -12
  421. package/formatting/control-tooltip.d.ts +0 -27
  422. package/native-controls.view.d.ts +0 -54
  423. package/react-native-select.d.ts +0 -6
  424. package/search-input/native.view.d.ts +0 -21
  425. package/styles/legacy-pagination.css +0 -112
  426. package/surfaces.view.d.ts +0 -63
  427. package/vue-native-select.d.ts +0 -9
@@ -1,28 +1,29 @@
1
- import { createControlId as e } from "../core/control-id.js";
2
- import { t } from "../_chunks/chevron-down-GbplLa6s.js";
3
- import { t as n } from "../_chunks/xmark-DD_PBvZI.js";
4
- import { SearchInput as r } from "../search-input/index.js";
5
- import { resourcePickerClasses as i, resourcePickerDataAttribute as ee, resourcePickerIdKey as a } from "./resource-picker.utils.js";
6
- import { ResourcePickerAvatar as o } from "./resource-picker-avatar.js";
7
- import { ResourcePickerOption as s } from "./resource-picker-option.js";
8
- import { ResourcePickerPopup as c } from "./resource-picker-popup.js";
9
- import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "preact/hooks";
10
- import { jsx as m, jsxs as h } from "preact/jsx-runtime";
1
+ import { c as e, i as t, n, o as r, t as i } from "../_chunks/hooks.module-CG3gN83z.js";
2
+ import { t as a } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
3
+ import { createControlId as o } from "../core/control-id.js";
4
+ import { t as s } from "../_chunks/selection-list-tooltips-BtWjpP6M.js";
5
+ import { t as c } from "../_chunks/chevron-down-GbplLa6s.js";
6
+ import { t as l } from "../_chunks/xmark-DD_PBvZI.js";
7
+ import { SearchInput as u } from "../search-input/index.js";
8
+ import { resourcePickerClasses as d, resourcePickerDataAttribute as f, resourcePickerIdKey as p } from "./resource-picker.utils.js";
9
+ import { ResourcePickerAvatar as m } from "./resource-picker-avatar.js";
10
+ import { ResourcePickerOption as ee } from "./resource-picker-option.js";
11
+ import { ResourcePickerPopup as h } from "./resource-picker-popup.js";
11
12
  //#region src/resource-picker/resource-picker.tsx
12
- function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNames: S, disabled: C = !1, readOnly: w = !1, presentation: te = "inline", multiple: T = !0, preserveOrder: E = !1, unassigned: D, resourceDataAttribute: O, isResourceDisabled: k, getAvatarColor: A }) {
13
- let j = f(null), M = f(null), N = f(null), P = f(null), F = f(!1), [I] = p(() => e("rv-resource-list")), L = `${I}-popup`, R = te === "dropdown", [z, B] = p(!1), [V, H] = p(""), [U, W] = p(0), G = l(() => {
13
+ function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNames: S, disabled: C = !1, readOnly: w = !1, presentation: T = "inline", multiple: E = !0, preserveOrder: D = !1, unassigned: O, resourceDataAttribute: te, isResourceDisabled: k, getAvatarColor: A }) {
14
+ let j = i(null), M = i(null), N = i(null), P = i(null), ne = s(".rv-resource-picker__option"), F = i(!1), [I] = t(() => o("rv-resource-list")), L = `${I}-popup`, R = T === "dropdown", [z, B] = t(!1), [V, H] = t(""), [U, W] = t(0), G = r(() => {
14
15
  B(!1), H("");
15
- }, []), K = new Set(y.map(a)), q = d(() => E ? [...g] : [...g].sort((e, t) => e.name.localeCompare(t.name, void 0, {
16
+ }, []), K = new Set(y.map(p)), q = n(() => D ? [...g] : [...g].sort((e, t) => e.name.localeCompare(t.name, void 0, {
16
17
  numeric: !0,
17
18
  sensitivity: "base"
18
- })), [E, g]), J = d(() => {
19
+ })), [D, g]), J = n(() => {
19
20
  let e = V.trim().toLocaleLowerCase();
20
21
  return e ? q.filter((t) => `${t.name} ${t.role ?? ""}`.toLocaleLowerCase().includes(e)) : q;
21
- }, [V, q]), Y = d(() => {
22
- let e = new Map(g.map((e) => [a(e.id), e]));
23
- return y.map((t) => e.get(a(t))).filter((e) => !!e);
22
+ }, [V, q]), Y = n(() => {
23
+ let e = new Map(g.map((e) => [p(e.id), e]));
24
+ return y.map((t) => e.get(p(t))).filter((e) => !!e);
24
25
  }, [g, y]), X = R && U >= 0 && U < J.length ? `${I}-option-${U}` : void 0;
25
- u(() => {
26
+ e(() => {
26
27
  if (!R || !z) return;
27
28
  let e = (e) => {
28
29
  let t = e.target, n = j.current?.ownerDocument.getElementById(L);
@@ -41,79 +42,80 @@ function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNa
41
42
  R,
42
43
  z,
43
44
  L
44
- ]), u(() => {
45
+ ]), e(() => {
45
46
  W(J.length > 0 ? 0 : -1);
46
- }, [J]), u(() => {
47
+ }, [J]), e(() => {
47
48
  if (!z || !X || !P.current || !F.current) return;
48
49
  let e = P.current.ownerDocument.getElementById(X);
49
50
  e && P.current.contains(e) && e.closest(".rv-resource-picker__option")?.scrollIntoView?.({ block: "nearest" });
50
51
  }, [X, z]);
51
52
  let Z = (e) => {
52
- w || (x(e), !T && R && G());
53
- }, ne = () => {
53
+ w || (x(e), !E && R && G());
54
+ }, re = () => {
54
55
  let e = J[U];
55
56
  if (!e) return;
56
- let t = a(e.id);
57
- (!k?.(e) || K.has(t)) && Z(K.has(t) ? y.filter((e) => a(e) !== t) : T ? _([...y, e.id]) : [e.id]);
58
- }, re = (e) => {
57
+ let t = p(e.id);
58
+ (!k?.(e) || K.has(t)) && Z(K.has(t) ? y.filter((e) => p(e) !== t) : E ? _([...y, e.id]) : [e.id]);
59
+ }, ie = (e) => {
59
60
  if (e.key === "Escape") e.preventDefault(), e.stopPropagation(), G(), M.current?.focus();
60
61
  else if (e.key === "ArrowDown" || e.key === "ArrowUp") {
61
62
  if (e.preventDefault(), e.stopPropagation(), !J.length) return;
62
63
  F.current = !0, W((t) => e.key === "ArrowDown" ? t >= J.length - 1 ? 0 : t + 1 : t <= 0 ? J.length - 1 : t - 1);
63
- } else e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), ne());
64
- }, Q = typeof document > "u" ? null : j.current?.closest("dialog, .rv-dialog-overlay") ?? document.body, $ = /* @__PURE__ */ h("div", {
64
+ } else e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), re());
65
+ }, Q = typeof document > "u" ? null : j.current?.closest("dialog, .rv-dialog-overlay") ?? document.body, $ = /* @__PURE__ */ a("div", {
66
+ ref: ne,
65
67
  class: "rv-resource-picker__popover",
66
- onKeyDown: R ? re : void 0,
67
- children: [/* @__PURE__ */ m(r, {
68
+ onKeyDown: R ? ie : void 0,
69
+ children: [/* @__PURE__ */ a(u, {
68
70
  inputRef: N,
69
71
  rootClassName: "rv-resource-picker__search-control",
70
- inputClassName: i("rv-resource-picker__search", S?.search),
72
+ inputClassName: d("rv-resource-picker__search", S?.search),
71
73
  value: V,
72
74
  disabled: C,
73
75
  placeholder: b.searchPlaceholder,
74
76
  "aria-label": b.searchAriaLabel,
75
77
  onValueChange: H
76
- }), /* @__PURE__ */ h("div", {
78
+ }), /* @__PURE__ */ a("div", {
77
79
  ref: P,
78
- class: i("rv-resource-picker__list", S?.list),
80
+ class: d("rv-resource-picker__list", S?.list),
79
81
  role: R ? "listbox" : "group",
80
82
  id: R ? I : void 0,
81
- "aria-multiselectable": R ? T : void 0,
83
+ "aria-multiselectable": R ? E : void 0,
82
84
  "aria-activedescendant": X,
83
85
  "aria-label": b.groupAriaLabel,
84
- children: [D && !w ? /* @__PURE__ */ h("label", {
85
- class: i("rv-resource-picker__option rv-resource-picker__option--unassigned", S?.option),
86
+ children: [O && !w ? /* @__PURE__ */ a("label", {
87
+ class: d("rv-resource-picker__option rv-resource-picker__option--unassigned", S?.option),
86
88
  children: [
87
- /* @__PURE__ */ m("input", {
89
+ /* @__PURE__ */ a("input", {
88
90
  type: "checkbox",
89
91
  checked: y.length === 0,
90
92
  disabled: C,
91
- ...ee(D.dataAttribute, ""),
93
+ ...f(O.dataAttribute, ""),
92
94
  onChange: () => x([])
93
95
  }),
94
- /* @__PURE__ */ m("span", {
96
+ /* @__PURE__ */ a("span", {
95
97
  class: "rv-resource-picker__avatar-spacer",
96
98
  "aria-hidden": "true"
97
99
  }),
98
- /* @__PURE__ */ m("span", {
99
- class: i("rv-resource-picker__details", S?.details),
100
- children: /* @__PURE__ */ m("strong", { children: D.label })
100
+ /* @__PURE__ */ a("span", {
101
+ class: d("rv-resource-picker__details", S?.details),
102
+ children: /* @__PURE__ */ a("strong", { children: O.label })
101
103
  })
102
104
  ]
103
- }) : null, g.length === 0 ? /* @__PURE__ */ m(v, {
105
+ }) : null, g.length === 0 ? /* @__PURE__ */ a(v, {
104
106
  className: S?.muted,
105
107
  text: b.emptyResources
106
- }) : J.length === 0 ? /* @__PURE__ */ m(v, {
108
+ }) : J.length === 0 ? /* @__PURE__ */ a(v, {
107
109
  className: S?.muted,
108
110
  text: b.emptySearch
109
- }) : J.map((e, t) => /* @__PURE__ */ m(s, {
111
+ }) : J.map((e, t) => /* @__PURE__ */ a(ee, {
110
112
  resource: e,
111
- selected: K.has(a(e.id)),
113
+ selected: K.has(p(e.id)),
112
114
  selectedResourceIds: y,
113
115
  disabled: C,
114
116
  readOnly: w,
115
- multiple: T,
116
- resourceDataAttribute: O,
117
+ multiple: E,
118
+ resourceDataAttribute: te,
117
119
  classNames: S,
118
120
  isResourceDisabled: k,
119
121
  getAvatarColor: A,
@@ -123,13 +125,13 @@ function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNa
123
125
  F.current = !1, W(t);
124
126
  },
125
127
  onChange: Z
126
- }, a(e.id)))]
128
+ }, p(e.id)))]
127
129
  })]
128
130
  });
129
- return /* @__PURE__ */ h("div", {
131
+ return /* @__PURE__ */ a("div", {
130
132
  ref: j,
131
- class: i("rv-resource-picker", R ? "rv-resource-picker--dropdown" : void 0, z ? "rv-resource-picker--open" : void 0, S?.root),
132
- children: [R ? /* @__PURE__ */ h("div", {
133
+ class: d("rv-resource-picker", R ? "rv-resource-picker--dropdown" : void 0, z ? "rv-resource-picker--open" : void 0, S?.root),
134
+ children: [R ? /* @__PURE__ */ a("div", {
133
135
  ref: M,
134
136
  class: "rv-resource-picker__control",
135
137
  role: "combobox",
@@ -144,43 +146,43 @@ function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNa
144
146
  onKeyDown: (e) => {
145
147
  C || e.target !== e.currentTarget || (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), B(!0));
146
148
  },
147
- children: [/* @__PURE__ */ m("div", {
149
+ children: [/* @__PURE__ */ a("div", {
148
150
  class: "rv-resource-picker__chips",
149
- children: Y.length ? Y.map((e) => /* @__PURE__ */ h("span", {
151
+ children: Y.length ? Y.map((e) => /* @__PURE__ */ a("span", {
150
152
  class: "rv-resource-picker__chip",
151
153
  children: [
152
- /* @__PURE__ */ m(o, {
154
+ /* @__PURE__ */ a(m, {
153
155
  resource: e,
154
156
  className: S?.avatar,
155
157
  color: A?.(e)
156
158
  }),
157
- /* @__PURE__ */ m("span", {
159
+ /* @__PURE__ */ a("span", {
158
160
  class: "rv-resource-picker__chip-label",
159
161
  children: e.name
160
162
  }),
161
- !C && !w ? /* @__PURE__ */ m("button", {
163
+ !C && !w ? /* @__PURE__ */ a("button", {
162
164
  type: "button",
163
165
  class: "rv-resource-picker__chip-remove",
164
166
  "aria-label": `Remove ${e.name}`,
165
167
  onClick: (t) => {
166
- t.stopPropagation(), x(y.filter((t) => a(t) !== a(e.id)));
168
+ t.stopPropagation(), x(y.filter((t) => p(t) !== p(e.id)));
167
169
  },
168
- children: /* @__PURE__ */ m("span", {
170
+ children: /* @__PURE__ */ a("span", {
169
171
  "aria-hidden": "true",
170
- dangerouslySetInnerHTML: { __html: n }
172
+ dangerouslySetInnerHTML: { __html: l }
171
173
  })
172
174
  }) : null
173
175
  ]
174
- }, a(e.id))) : /* @__PURE__ */ m("span", {
176
+ }, p(e.id))) : /* @__PURE__ */ a("span", {
175
177
  class: "rv-resource-picker__placeholder",
176
178
  children: b.searchPlaceholder
177
179
  })
178
- }), /* @__PURE__ */ m("span", {
180
+ }), /* @__PURE__ */ a("span", {
179
181
  class: "rv-resource-picker__chevron",
180
182
  "aria-hidden": "true",
181
- dangerouslySetInnerHTML: { __html: t }
183
+ dangerouslySetInnerHTML: { __html: c }
182
184
  })]
183
- }) : null, R ? z && Q ? /* @__PURE__ */ m(c, {
185
+ }) : null, R ? z && Q ? /* @__PURE__ */ a(h, {
184
186
  triggerRef: M,
185
187
  portalTarget: Q,
186
188
  popupId: L,
@@ -189,11 +191,11 @@ function g({ resources: g, selectedResourceIds: y, text: b, onChange: x, classNa
189
191
  });
190
192
  }
191
193
  function _(e) {
192
- return [...new Map(e.map((e) => [a(e), e])).values()];
194
+ return [...new Map(e.map((e) => [p(e), e])).values()];
193
195
  }
194
196
  function v({ className: e, text: t }) {
195
- return /* @__PURE__ */ m("span", {
196
- class: i("rv-resource-picker__empty", e),
197
+ return /* @__PURE__ */ a("span", {
198
+ class: d("rv-resource-picker__empty", e),
197
199
  children: t
198
200
  });
199
201
  }
@@ -18,7 +18,10 @@
18
18
  --rv-control-border: var(--rv-resource-picker-border, var(--rv-ui-border));
19
19
  }
20
20
  .rv-resource-picker__search-control input {
21
- min-height: var(--rv-resource-picker-search-height, 36px);
21
+ min-height: var(
22
+ --rv-resource-picker-search-height,
23
+ var(--rv-control-height, 32px)
24
+ );
22
25
  }
23
26
 
24
27
  .rv-resource-picker__list {
@@ -31,10 +34,11 @@
31
34
  max-height: var(--rv-resource-picker-max-height, 184px);
32
35
  overflow: auto;
33
36
  padding: var(--rv-resource-picker-list-padding, 6px);
34
- border: 1px solid var(
35
- --rv-resource-picker-border,
36
- color-mix(in srgb, currentColor 14%, transparent)
37
- );
37
+ border: 1px solid
38
+ var(
39
+ --rv-resource-picker-border,
40
+ color-mix(in srgb, currentColor 14%, transparent)
41
+ );
38
42
  border-radius: var(--rv-resource-picker-radius, 6px);
39
43
  background: var(--rv-resource-picker-background, Canvas);
40
44
  }
@@ -133,17 +137,24 @@
133
137
  }
134
138
 
135
139
  .rv-resource-picker__control {
140
+ font-family: inherit;
141
+ font-size: var(--rv-control-font-size, 0.875rem);
142
+ line-height: 1;
136
143
  display: flex;
137
144
  box-sizing: border-box;
138
145
  width: 100%;
139
- min-height: var(--rv-resource-picker-control-height, 42px);
146
+ min-height: var(
147
+ --rv-resource-picker-control-height,
148
+ var(--rv-control-height, 32px)
149
+ );
140
150
  align-items: center;
141
151
  gap: 8px;
142
- padding: var(--rv-resource-picker-control-padding, 5px 10px);
143
- border: 1px solid var(
144
- --rv-resource-picker-border,
145
- color-mix(in srgb, currentColor 14%, transparent)
146
- );
152
+ padding: var(--rv-resource-picker-control-padding, 1px 10px);
153
+ border: 1px solid
154
+ var(
155
+ --rv-resource-picker-border,
156
+ color-mix(in srgb, currentColor 14%, transparent)
157
+ );
147
158
  border-radius: var(--rv-resource-picker-radius, 8px);
148
159
  outline: none;
149
160
  background: var(--rv-resource-picker-background, Canvas);
@@ -162,11 +173,12 @@
162
173
  .rv-resource-picker__control:focus-visible,
163
174
  .rv-resource-picker--open .rv-resource-picker__control {
164
175
  border-color: var(--rv-resource-picker-accent, var(--rv-ui-accent));
165
- box-shadow: 0 0 0 3px color-mix(
166
- in srgb,
167
- var(--rv-resource-picker-accent, var(--rv-ui-shadow)) 16%,
168
- transparent
169
- );
176
+ box-shadow: 0 0 0 3px
177
+ color-mix(
178
+ in srgb,
179
+ var(--rv-resource-picker-accent, var(--rv-ui-shadow)) 16%,
180
+ transparent
181
+ );
170
182
  }
171
183
 
172
184
  .rv-resource-picker__chips {
@@ -185,11 +197,12 @@
185
197
  align-items: center;
186
198
  gap: 5px;
187
199
  padding: 3px 5px 3px 3px;
188
- border: 1px solid color-mix(
189
- in srgb,
190
- var(--rv-resource-picker-accent, var(--rv-ui-accent)) 18%,
191
- transparent
192
- );
200
+ border: 1px solid
201
+ color-mix(
202
+ in srgb,
203
+ var(--rv-resource-picker-accent, var(--rv-ui-accent)) 18%,
204
+ transparent
205
+ );
193
206
  border-radius: 999px;
194
207
  background: color-mix(
195
208
  in srgb,
@@ -264,7 +277,8 @@
264
277
 
265
278
  .rv-resource-picker__chevron {
266
279
  flex: 0 0 auto;
267
- transition: transform var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out);
280
+ transition: transform var(--rv-ui-motion-normal, 160ms)
281
+ var(--rv-ui-motion-ease, ease-out);
268
282
  }
269
283
 
270
284
  .rv-resource-picker__chevron svg,
@@ -287,17 +301,19 @@
287
301
  gap: 6px;
288
302
  box-sizing: border-box;
289
303
  padding: 7px;
290
- border: 1px solid var(
291
- --rv-resource-picker-border,
292
- color-mix(in srgb, currentColor 14%, transparent)
293
- );
304
+ border: 1px solid
305
+ var(
306
+ --rv-resource-picker-border,
307
+ color-mix(in srgb, currentColor 14%, transparent)
308
+ );
294
309
  border-radius: calc(var(--rv-resource-picker-radius, 8px) + 2px);
295
310
  background: var(--rv-resource-picker-popover-background, Canvas);
296
311
  box-shadow: var(
297
312
  --rv-resource-picker-popover-shadow,
298
313
  0 14px 36px var(--rv-ui-shadow)
299
314
  );
300
- animation: rv-resource-picker-popover-in var(--rv-ui-motion-enter, 180ms) var(--rv-ui-motion-ease, ease-out);
315
+ animation: rv-resource-picker-popover-in var(--rv-ui-motion-enter, 180ms)
316
+ var(--rv-ui-motion-ease, ease-out);
301
317
  }
302
318
 
303
319
  .rv-resource-picker__portal.revo-dropdown-menu {
@@ -346,23 +362,38 @@
346
362
  outline: 2px solid var(--rv-resource-picker-accent, var(--rv-ui-accent));
347
363
  outline-offset: -2px;
348
364
  }
349
- .rv-resource-picker__option .avatar-cell.rv-resource-picker__avatar { box-shadow: none; }
350
- .rv-resource-picker__details strong { font-weight: 500; line-height: 1.4; }
351
- .rv-resource-picker__details em { font-size: 12px; line-height: 1.4; }
352
- .rv-resource-picker__list { gap: 4px; }
365
+ .rv-resource-picker__option .avatar-cell.rv-resource-picker__avatar {
366
+ box-shadow: none;
367
+ }
368
+ .rv-resource-picker__details strong {
369
+ font-weight: 500;
370
+ line-height: 1.4;
371
+ }
372
+ .rv-resource-picker__details em {
373
+ font-size: 12px;
374
+ line-height: 1.4;
375
+ }
376
+ .rv-resource-picker__list {
377
+ gap: 4px;
378
+ }
353
379
 
354
380
  // The portal wrapper already owns its entrance; avoid fading nested surfaces twice.
355
- .rv-resource-picker__portal .rv-resource-picker__popover { animation: none; }
381
+ .rv-resource-picker__portal .rv-resource-picker__popover {
382
+ animation: none;
383
+ }
356
384
 
357
385
  .rv-resource-picker__option,
358
386
  .rv-resource-picker__control {
359
387
  transition:
360
- background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out),
361
- border-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out),
388
+ background-color var(--rv-ui-motion-fast, 120ms)
389
+ var(--rv-ui-motion-ease, ease-out),
390
+ border-color var(--rv-ui-motion-fast, 120ms)
391
+ var(--rv-ui-motion-ease, ease-out),
362
392
  opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out);
363
393
  }
364
394
  .rv-resource-picker__chip-remove {
365
395
  transition:
366
- background-color var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out),
396
+ background-color var(--rv-ui-motion-fast, 120ms)
397
+ var(--rv-ui-motion-ease, ease-out),
367
398
  opacity var(--rv-ui-motion-fast, 120ms) var(--rv-ui-motion-ease, ease-out);
368
399
  }
@@ -1,21 +1,19 @@
1
- import { LexicalEditor, TextFormatType } from 'lexical';
2
- export type MarkdownBlock = 'paragraph' | 'h1' | 'h2' | 'quote' | 'code' | 'bullet' | 'ordered';
3
- export interface MarkdownSelection {
4
- formats: TextFormatType[];
5
- block: MarkdownBlock | null;
1
+ export type HtmlFormat = 'bold' | 'italic' | 'strikethrough' | 'code';
2
+ export type HtmlBlock = 'paragraph' | 'h1' | 'h2' | 'quote' | 'code' | 'bullet' | 'ordered';
3
+ export interface HtmlSelection {
4
+ formats: HtmlFormat[];
5
+ block: HtmlBlock | null;
6
6
  link: boolean;
7
7
  }
8
- export declare const emptyMarkdownSelection: MarkdownSelection;
9
- export interface MarkdownEngine {
10
- editor: LexicalEditor;
11
- setMarkdown(value: string): void;
12
- format(mark: TextFormatType): void;
13
- block(value: MarkdownBlock): void;
14
- captureSelection(): void;
15
- link(value: string): boolean;
16
- destroy(): void;
17
- }
18
- /** Framework-independent Lexical adapter; consumers own toolbar and mode presentation. */
19
- export declare function createMarkdownEngine(root: HTMLElement, markdown: string, onChange: (value: string, unsafe: boolean) => void, onSelectionChange?: (selection: MarkdownSelection) => void): MarkdownEngine;
20
- /** Parse through Lexical so escaped/entity-encoded Markdown link URLs are checked after decoding. */
21
- export declare function hasUnsafeMarkdownLinks(markdown: string): boolean;
8
+ export declare const emptyHtmlSelection: HtmlSelection;
9
+ /** Native Range editing and bounded local history. No browser execCommand or editor library. */
10
+ export declare function createHtmlEngine(root: HTMLElement, html: string, onChange: (html: string) => void, onSelectionChange?: (selection: HtmlSelection) => void): {
11
+ setHtml: (value: string) => void;
12
+ format: (mark: HtmlFormat) => void;
13
+ block: (value: HtmlBlock) => void;
14
+ focus: () => void;
15
+ captureSelection: () => void;
16
+ link: (value: string) => boolean;
17
+ destroy: () => void;
18
+ };
19
+ export type HtmlEngine = ReturnType<typeof createHtmlEngine>;
@@ -0,0 +1,2 @@
1
+ /** Display-only indentation: keep inline phrases and preformatted content intact. */
2
+ export declare function formatRichTextHtml(html: string, doc?: Document): string;
@@ -1,15 +1,19 @@
1
1
  import { EditorActionText, EditorCommitOptions } from '../editor-actions';
2
- import { MarkdownEditorText } from './translations';
3
- export { defaultMarkdownEditorText, type MarkdownEditorText, } from './translations';
4
- export interface MarkdownEditorProps extends EditorCommitOptions {
2
+ import { HtmlEditorText } from './translations';
3
+ export { defaultHtmlEditorText, type HtmlEditorText } from './translations';
4
+ export interface HtmlEditorProps extends EditorCommitOptions {
5
+ /** Override formatRichTextHtml for source presentation on entry, never while typing. */
6
+ formatSource?: (html: string) => string;
5
7
  value: string;
6
8
  onApply: (value: string) => void;
7
9
  onCancel: () => void;
8
10
  required?: boolean;
9
11
  maxLength?: number;
10
- text?: Partial<MarkdownEditorText>;
12
+ text?: Partial<HtmlEditorText>;
11
13
  actions?: Partial<EditorActionText>;
12
14
  }
13
- export declare function MarkdownEditor(props: MarkdownEditorProps): import("preact").JSX.Element;
14
- export { markdownVisualIssues, isSafeMarkdownLink } from './model';
15
- export { markdownRenderNodes, type MarkdownRenderNode } from './render-model';
15
+ export declare function HtmlEditor(props: HtmlEditorProps): import("../_vendor/preact/src/index").JSX.Element;
16
+ export { sanitizeRichTextHtml, isSafeRichTextLink } from './model';
17
+ export { htmlRenderNodes, type HtmlRenderNode } from './render-model';
18
+ export { formatRichTextHtml } from './format-html';
19
+ export { HtmlSyntax } from './syntax';
@@ -1 +1 @@
1
- export { t as MarkdownEditor, r as defaultMarkdownEditorText, i as isSafeMarkdownLink, n as markdownRenderNodes, a as markdownVisualIssues } from "../_chunks/rich-text-2Rla349o.js";
1
+ export { t as HtmlEditor, s as HtmlSyntax, r as defaultHtmlEditorText, i as formatRichTextHtml, n as htmlRenderNodes, a as isSafeRichTextLink, o as sanitizeRichTextHtml } from "../_chunks/rich-text-CtjqRvv8.js";
@@ -1,3 +1,6 @@
1
- /** Supported Markdown boundaries: unsupported syntax remains editable as lossless source. */
2
- export declare function markdownVisualIssues(markdown: string): string[];
3
- export declare function isSafeMarkdownLink(value: string): boolean;
1
+ export declare function isSafeRichTextLink(value: string): boolean;
2
+ /** Remove rich marks inside code while preserving line breaks and selection markers. */
3
+ export declare function flattenCode(element: Element): void;
4
+ /** Parse inertly, then rebuild nodes; never mount user-provided HTML or attributes. */
5
+ export declare function richTextFragment(html: string, doc?: Document): DocumentFragment;
6
+ export declare function sanitizeRichTextHtml(html: string, doc?: Document): string;
@@ -1,9 +1,8 @@
1
- /** Framework-neutral, allowlisted content. Text is always rendered as text, never HTML. */
2
- export interface MarkdownRenderNode {
1
+ export interface HtmlRenderNode {
3
2
  tag?: string;
4
3
  text?: string;
5
4
  attrs?: Record<string, string | number>;
6
- children?: readonly MarkdownRenderNode[];
5
+ children?: readonly HtmlRenderNode[];
7
6
  }
8
- /** The renderer accepts exactly the same Markdown subset as the Visual editor. */
9
- export declare function markdownRenderNodes(markdown: string): readonly MarkdownRenderNode[];
7
+ /** Only allowlisted nodes reach a framework renderer; fresh VNodes are created per cell. */
8
+ export declare function htmlRenderNodes(html: string): readonly HtmlRenderNode[];