@revolist/ui 4.0.4-rc → 4.0.6-rc

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 (240) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +10 -10
  3. package/README.md +22 -4
  4. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  5. package/_chunks/badge.view-D30pMUfi.js +14 -0
  6. package/_chunks/calculator-CDWOuAcp.js +4 -0
  7. package/_chunks/{calendar-xpZ0v3xf.js → calendar-QWDyYzdo.js} +19 -19
  8. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  9. package/_chunks/check-BwI7iCAm.js +4 -0
  10. package/_chunks/choice-chips-A6WR-WJe.js +126 -0
  11. package/_chunks/{color-palette-D8vyPfld.js → color-palette-DMJUChWC.js} +20 -22
  12. package/_chunks/color-picker-BK4W1nd6.js +143 -0
  13. package/_chunks/{component-C_T2VN5u.js → component-CMkF17YZ.js} +281 -265
  14. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-BKd7U8OW.js} +0 -8
  15. package/_chunks/configurator-actions-By8WSL2m.js +155 -0
  16. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  17. package/_chunks/{control-AHKXD5Eu.js → control-mlH7l0Uq.js} +42 -17
  18. package/_chunks/{controls-DsNi8V8I.js → controls-FUU-MUKC.js} +171 -186
  19. package/_chunks/{date-control-DrVFX13g.js → date-control-Dup_P3w5.js} +1 -1
  20. package/_chunks/{date-time-qIhp5vaX.js → date-time-9z6pAG5T.js} +317 -278
  21. package/_chunks/dialog.parts-Bi7YbXqS.js +131 -0
  22. package/_chunks/{duration-CL68Em0o.js → duration-D7oRjsmP.js} +5 -5
  23. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  24. package/_chunks/field-configurator-BCINdXpU.js +223 -0
  25. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-Bk4O_T7T.js} +1 -1
  26. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  27. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  28. package/_chunks/minus-BOAR3A1C.js +4 -0
  29. package/_chunks/mount-Cw2zk58T.js +266 -0
  30. package/_chunks/{native.view-ByyZ1CT5.js → native-Blr3byjO.js} +1 -1
  31. package/_chunks/native-control-pFMuHf3G.js +644 -0
  32. package/_chunks/{number-input-BKwA5FnM.js → number-input-DqXV6vgP.js} +7 -7
  33. package/_chunks/{picker-h1P5RUgp.js → picker-gEGTu1Ki.js} +2 -2
  34. package/_chunks/plus-CbGRkIGl.js +4 -0
  35. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  36. package/_chunks/{popup-CT2uD3go.js → popup-C35Isk7p.js} +115 -104
  37. package/_chunks/{rating-choice-DZgmaic0.js → rating-choice-DbxdUJr-.js} +1 -1
  38. package/_chunks/{reorder-list-CSlqAGHw.js → reorder-list-B0_13Sja.js} +1 -1
  39. package/_chunks/request-trail-CCSK6TJA.js +753 -0
  40. package/_chunks/rich-text-5rnc8lpI.js +842 -0
  41. package/_chunks/rotate-left-BF6G883o.js +4 -0
  42. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  43. package/_chunks/tooltip-D4xkio5G.js +54 -0
  44. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  45. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  46. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  47. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  48. package/_variables.scss +33 -32
  49. package/ai/_chat.scss +28 -3
  50. package/ai/_style.scss +55 -2
  51. package/ai/chat.d.ts +3 -1
  52. package/ai/components.d.ts +13 -2
  53. package/ai/index.d.ts +1 -0
  54. package/ai/index.js +3 -3
  55. package/ai/mount.d.ts +17 -1
  56. package/ai/results/_style.scss +83 -0
  57. package/ai/results/index.d.ts +11 -0
  58. package/ai/results/metrics.d.ts +5 -0
  59. package/ai/results/table.d.ts +5 -0
  60. package/ai/results/text.d.ts +5 -0
  61. package/ai/results/types.d.ts +29 -0
  62. package/ai/transcript.d.ts +2 -0
  63. package/ai/translations.d.ts +1 -1
  64. package/assignee/assignee.scss +5 -1
  65. package/assignee/index.js +2 -2
  66. package/avatar/index.d.ts +25 -2
  67. package/avatar/index.js +33 -32
  68. package/badge.view.d.ts +8 -0
  69. package/brush-range/component.d.ts +1 -3
  70. package/brush-range/component.js +27 -27
  71. package/buttons/remove-button.d.ts +1 -1
  72. package/buttons/remove-button.style.scss +1 -1
  73. package/buttons/svg-button.d.ts +1 -1
  74. package/buttons/svg-button.js +16 -16
  75. package/calendar/_calendar.scss +2 -2
  76. package/calendar/calendar.js +1 -1
  77. package/calendar/index.js +2 -2
  78. package/checkbox/checkbox.scss +1 -22
  79. package/choice-chips/index.d.ts +3 -1
  80. package/choice-chips/index.js +1 -1
  81. package/color-palette/color-palette.js +1 -1
  82. package/color-palette/color-palette.style.scss +1 -1
  83. package/color-palette/color-picker.js +2 -2
  84. package/color-palette/common-palettes.d.ts +1 -1
  85. package/color-palette/common-palettes.js +1 -1
  86. package/color-palette/native.d.ts +15 -2
  87. package/component-catalog.d.ts +9 -7
  88. package/configurator-actions.d.ts +67 -0
  89. package/configurator-actions.js +1 -0
  90. package/configurator-aggregation-list.d.ts +14 -0
  91. package/configurator-aggregation-list.js +61 -0
  92. package/configurator-drop-zone.d.ts +38 -0
  93. package/configurator-drop-zone.js +64 -0
  94. package/configurator-field-icon.d.ts +10 -0
  95. package/configurator-field-icon.js +1 -0
  96. package/configurator-focus.d.ts +4 -0
  97. package/configurator-focus.js +39 -0
  98. package/configurator-sections.d.ts +42 -0
  99. package/configurator-sections.js +71 -0
  100. package/control-presentation.d.ts +8 -2
  101. package/control-presentation.js +25 -20
  102. package/controls.d.ts +1 -2
  103. package/controls.js +4 -3
  104. package/core/editor-popup-position.d.ts +6 -2
  105. package/core/editor-popup.d.ts +4 -0
  106. package/core/editor-popup.js +1 -1
  107. package/core/popover-controller.d.ts +35 -0
  108. package/core/popup-ownership.d.ts +2 -0
  109. package/core/title-tooltip.d.ts +2 -0
  110. package/core/tooltip-session.d.ts +29 -0
  111. package/core/tooltip-surface.d.ts +13 -0
  112. package/core/tooltip-text.d.ts +6 -0
  113. package/core/tooltip.d.ts +35 -0
  114. package/core/top-layer-popup.d.ts +4 -0
  115. package/core/top-layer-popup.js +1 -23
  116. package/date-time/attach.d.ts +1 -1
  117. package/date-time/field.d.ts +3 -2
  118. package/date-time/index.js +1 -1
  119. package/date-time/style.scss +64 -7
  120. package/date-time/time-selection.d.ts +3 -1
  121. package/date-time/types.d.ts +5 -1
  122. package/dialog/dialog-action-footer.d.ts +17 -2
  123. package/dialog/dialog.dom.d.ts +15 -2
  124. package/dialog/dialog.dom.js +9 -9
  125. package/dialog/dialog.parts.d.ts +1 -1
  126. package/dialog/dialog.parts.js +1 -1
  127. package/distribution-chart/_distribution-chart.scss +12 -54
  128. package/distribution-chart/area-chart.js +1 -1
  129. package/distribution-chart/bar-chart.js +1 -1
  130. package/distribution-chart/index.d.ts +1 -1
  131. package/distribution-chart/line-chart.js +1 -1
  132. package/dropdown/content.js +1 -1
  133. package/dropdown/control.js +1 -1
  134. package/dropdown/editor-dropdown.style.scss +5 -0
  135. package/dropdown/index.js +2 -2
  136. package/dropdown/lookup-field.d.ts +5 -0
  137. package/dropdown/lookup-field.js +2 -1
  138. package/dropdown/popup.d.ts +2 -2
  139. package/dropdown/popup.js +1 -1
  140. package/duration/index.js +1 -1
  141. package/editor-actions.js +1 -1
  142. package/field-configurator.d.ts +27 -0
  143. package/field-configurator.js +4 -170
  144. package/field-expansion.d.ts +9 -0
  145. package/filter/filters/slider/_slider.scss +8 -25
  146. package/filter/filters/slider/control.js +2 -0
  147. package/filter/filters/slider/runtime.js +49 -22
  148. package/filter/filters/slider/single.js +1 -1
  149. package/filter-badge.js +1 -1
  150. package/filter-controls.d.ts +0 -1
  151. package/filter-controls.js +5 -6
  152. package/form-controls/index.d.ts +10 -2
  153. package/form-controls/index.js +7 -7
  154. package/form-controls/presentation.js +12 -12
  155. package/formatting/index.d.ts +1 -1
  156. package/formatting/index.js +22 -21
  157. package/formatting/styles.scss +2 -47
  158. package/framework.js +226 -222
  159. package/history-controls.js +27 -1
  160. package/icon-toolbar.d.ts +62 -0
  161. package/icon-toolbar.js +1 -0
  162. package/masked-input/index.js +1 -1
  163. package/native-control.d.ts +1 -2
  164. package/native-control.js +1 -1
  165. package/native-controls.d.ts +54 -2
  166. package/native-styles.css +1 -1
  167. package/native.js +46 -43
  168. package/number-input/index.js +1 -1
  169. package/package.json +36 -1
  170. package/pagination.js +11 -11
  171. package/pdf-viewer/index.js +1 -1
  172. package/pickers.d.ts +5 -1
  173. package/preact-mount.js +1 -1
  174. package/preact.d.ts +8 -6
  175. package/preact.js +71 -64
  176. package/rating-choice.js +1 -1
  177. package/react-control.d.ts +2 -0
  178. package/react-control.js +2 -2
  179. package/react.d.ts +5 -6
  180. package/react.js +68 -66
  181. package/reorder-list.js +1 -1
  182. package/resource-picker/resource-picker-popup.js +1 -1
  183. package/resource-picker/resource-picker.js +4 -4
  184. package/rich-text/engine.d.ts +1 -0
  185. package/rich-text/format-html.d.ts +2 -0
  186. package/rich-text/index.d.ts +4 -0
  187. package/rich-text/index.js +1 -1
  188. package/rich-text/model.d.ts +2 -0
  189. package/rich-text/style.scss +165 -70
  190. package/rich-text/syntax.d.ts +5 -0
  191. package/rich-text/translations.d.ts +2 -0
  192. package/search-input/index.js +1 -1
  193. package/search-input/native.d.ts +21 -2
  194. package/select.d.ts +3 -1
  195. package/select.js +1 -1
  196. package/status-feedback/exit-snapshot.js +4 -4
  197. package/status-feedback/popover.js +4 -4
  198. package/styles/_alert.scss +18 -4
  199. package/styles/_compositions.scss +3 -3
  200. package/styles/_editor-slider.scss +0 -2
  201. package/styles/_field-configurator.scss +147 -0
  202. package/styles/_fields-grid.scss +37 -0
  203. package/styles/_palette.scss +0 -24
  204. package/styles/_primitives.scss +28 -19
  205. package/styles/configurator-actions.scss +141 -0
  206. package/styles/{legacy-pagination.css → pagination.css} +19 -2
  207. package/styles.css +1 -1
  208. package/styles.scss +2 -2
  209. package/surfaces.d.ts +36 -2
  210. package/surfaces.js +35 -132
  211. package/svelte.js +3 -3
  212. package/switch/index.js +15 -14
  213. package/time-grid.d.ts +0 -1
  214. package/time-grid.js +38 -37
  215. package/timeline-track/index.js +2 -2
  216. package/ui.css +1 -1
  217. package/vue.d.ts +26 -30
  218. package/vue.js +117 -121
  219. package/_chunks/chart-frame-Cmc7xU1i.js +0 -130
  220. package/_chunks/choice-chips-CHQTUdLs.js +0 -110
  221. package/_chunks/color-picker-CudqPYZo.js +0 -138
  222. package/_chunks/control-tooltip-uscKfAnV.js +0 -100
  223. package/_chunks/dialog.parts-CKGkC5zP.js +0 -134
  224. package/_chunks/editor-popup-WDdtVDNA.js +0 -81
  225. package/_chunks/history-controls-B3u3INEK.js +0 -27
  226. package/_chunks/mount-DQ1cpppK.js +0 -257
  227. package/_chunks/native-control-C_yok8_-.js +0 -605
  228. package/_chunks/request-trail-DSlFix6i.js +0 -618
  229. package/_chunks/rich-text-CH7gIqOS.js +0 -636
  230. package/avatar/index.view.d.ts +0 -25
  231. package/color-palette/native.view.d.ts +0 -15
  232. package/control-presentation.view.d.ts +0 -8
  233. package/dialog/dialog-action-footer.view.d.ts +0 -20
  234. package/dialog/dialog.dom.view.d.ts +0 -15
  235. package/form-controls/index.view.d.ts +0 -10
  236. package/formatting/control-tooltip.d.ts +0 -27
  237. package/native-controls.view.d.ts +0 -54
  238. package/search-input/native.view.d.ts +0 -21
  239. package/surfaces.view.d.ts +0 -63
  240. /package/styles/{legacy-rating.css → rating.css} +0 -0
@@ -1,110 +0,0 @@
1
- import { r as e, t } from "./hooks.module-CG3gN83z.js";
2
- import { t as n } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { SvgIcon as r } from "../icons/icon.js";
4
- import { t as i } from "./native-control-C_yok8_-.js";
5
- import { RemoveButton as a } from "../buttons/remove-button.js";
6
- import { TooltipController as o } from "../surfaces.js";
7
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/circle-info.svg?raw
8
- var s = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM224 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-8 64l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"/></svg>";
9
- //#endregion
10
- //#region src/choice-chips/index.tsx
11
- function c({ value: e, options: t, onChange: r, ariaLabel: i, appearance: a = "soft", size: o = "medium", className: s = "", itemClassName: c = "", disabled: l = !1, testId: d }) {
12
- let f = Array.isArray(e) ? e : e === void 0 ? [] : [e];
13
- return /* @__PURE__ */ n("div", {
14
- class: `rv-choice-chips rv-choice-chips--${a} rv-choice-chips--${o} ${s}`.trim(),
15
- role: "group",
16
- "aria-label": i,
17
- "data-testid": d,
18
- children: t.map((e) => {
19
- let t = f.includes(e.value), i = l || !!e.disabled;
20
- return /* @__PURE__ */ n(u, {
21
- className: `${c} ${e.className ?? ""}`.trim(),
22
- style: e.style,
23
- color: e.color,
24
- selected: t,
25
- "aria-label": e.ariaLabel,
26
- title: e.title,
27
- disabled: i,
28
- "data-value": String(e.value),
29
- "data-testid": e.testId,
30
- onSelect: () => {
31
- i || r(e.value, e);
32
- },
33
- info: e.info,
34
- onRemove: e.onRemove,
35
- removeLabel: e.removeLabel,
36
- children: e.label
37
- }, String(e.value));
38
- })
39
- });
40
- }
41
- function l({ "data-tooltip": a, title: c, ref: l, ...u }) {
42
- let d = t(null), f = a ?? (typeof c == "object" ? c.value : c);
43
- return e(() => {
44
- if (!d.current || !f) return;
45
- let e = new o();
46
- return e.bind(d.current, f, { trigger: "click" }), () => e.destroy();
47
- }, [f]), /* @__PURE__ */ n(i, {
48
- ...u,
49
- type: "button",
50
- ref: (e) => {
51
- d.current = e, typeof l == "function" ? l(e) : l && (l.current = e);
52
- },
53
- class: `rv-choice-chip-info ${u.className ?? u.class ?? ""}`.trim(),
54
- children: /* @__PURE__ */ n(r, {
55
- svg: s,
56
- size: 12
57
- })
58
- });
59
- }
60
- function u({ children: e, color: t, selected: r, onSelect: i, info: o, onRemove: s, removeLabel: c, removeClassName: l = "", className: u = "", disabled: d, ...f }) {
61
- let p = t ? typeof f.style == "string" ? `${f.style};--rv-choice-chip-color:${t}` : {
62
- ...f.style,
63
- "--rv-choice-chip-color": t
64
- } : f.style;
65
- return !o && !s && i ? /* @__PURE__ */ n("button", {
66
- ...f,
67
- style: p,
68
- "data-color": t ? "true" : void 0,
69
- type: "button",
70
- class: `rv-choice-chip ${u}`.trim(),
71
- "aria-pressed": r,
72
- disabled: d,
73
- onClick: i,
74
- children: e
75
- }) : /* @__PURE__ */ n("span", {
76
- class: `rv-choice-chip rv-choice-chip--composite ${u}`.trim(),
77
- role: f.role,
78
- style: p,
79
- "data-color": t ? "true" : void 0,
80
- "data-selected": r ? "true" : void 0,
81
- "aria-disabled": d || void 0,
82
- children: [
83
- i ? /* @__PURE__ */ n("button", {
84
- ...f,
85
- type: "button",
86
- class: "rv-choice-chip-label",
87
- "aria-pressed": r,
88
- disabled: d,
89
- onClick: i,
90
- children: e
91
- }) : /* @__PURE__ */ n("span", {
92
- class: "rv-choice-chip-label",
93
- children: e
94
- }),
95
- o,
96
- s && /* @__PURE__ */ n(a, {
97
- compact: !0,
98
- className: l,
99
- disabled: typeof d == "object" ? d.value : d,
100
- locale: {
101
- title: c ?? "Remove",
102
- ariaLabel: c ?? "Remove"
103
- },
104
- onClick: s
105
- })
106
- ]
107
- });
108
- }
109
- //#endregion
110
- export { l as n, c as r, u as t };
@@ -1,138 +0,0 @@
1
- import { c as e, i as t, t as n } from "./hooks.module-CG3gN83z.js";
2
- import { t as r } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { n as i, t as a } from "./native-control-C_yok8_-.js";
4
- import { t as o } from "./chevron-down-GbplLa6s.js";
5
- import { createControlId as s } from "../core/control-id.js";
6
- import { n as c, t as l } from "./color-palette-D8vyPfld.js";
7
- import { COLOR_PICKER_DEFAULT_COLOR as u } from "../color-palette/color-picker.constants.js";
8
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/ban.svg?raw
9
- var d = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M367.2 412.5L99.5 144.8c-22.4 31.4-35.5 69.8-35.5 111.2 0 106 86 192 192 192 41.5 0 79.9-13.1 111.2-35.5zm45.3-45.3c22.4-31.4 35.5-69.8 35.5-111.2 0-106-86-192-192-192-41.5 0-79.9 13.1-111.2 35.5L412.5 367.2zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z\"/></svg>", f = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>";
10
- //#endregion
11
- //#region src/color-palette/color-picker.tsx
12
- function p({ icon: e, className: t = "rv-format-icon rv-format-color-picker__icon" }) {
13
- return /* @__PURE__ */ r("span", {
14
- class: t,
15
- "aria-hidden": "true",
16
- dangerouslySetInnerHTML: { __html: e }
17
- });
18
- }
19
- function m({ label: m, value: h, defaultLabel: g, customLabel: _, customHexLabel: v, invalidColor: y, colorLabels: b, optional: x = !0, allowHexInput: S = !0, disabled: C = !1, onChange: w }) {
20
- let [T] = t(s), E = `rv-format-color-popover-${T}`, D = `rv-format-color-custom-${T}`, O = `rv-format-color-error-${T}`, k = `--rv-format-color-anchor-${T}`, A = n(null), [j, M] = t(!1), [N, P] = t(!1), [F, I] = t(h ?? u), [L, R] = t(!1);
21
- e(() => {
22
- I(h ?? u), R(!1);
23
- }, [h]);
24
- let z = (e) => {
25
- let t = c(e);
26
- t ? (R(!1), I(t), C || w(t)) : R(!0);
27
- }, B = () => A.current?.hidePopover?.();
28
- return e(() => {
29
- C && (B(), M(!1));
30
- }, [C]), /* @__PURE__ */ r("div", {
31
- class: "rv-format-color-picker",
32
- onKeyDownCapture: (e) => {
33
- e.key === "Escape" && A.current?.matches(":popover-open") && (e.preventDefault(), e.stopPropagation(), B());
34
- },
35
- children: [/* @__PURE__ */ r(a, {
36
- unstyled: !0,
37
- type: "button",
38
- class: "rv-format-color-picker__trigger",
39
- "aria-label": `${m}: ${h?.toUpperCase() ?? g}`,
40
- "aria-haspopup": "dialog",
41
- "aria-expanded": j,
42
- "aria-controls": E,
43
- title: m,
44
- disabled: C,
45
- popovertarget: E,
46
- style: `anchor-name: ${k}`,
47
- children: [
48
- /* @__PURE__ */ r("span", {
49
- class: `rv-format-color-picker__trigger-swatch${h ? "" : " rv-format-color-picker__trigger-swatch--empty"}`,
50
- style: h ? { backgroundColor: h } : void 0,
51
- children: h ? null : /* @__PURE__ */ r(p, {
52
- icon: d,
53
- className: "rv-format-color-picker__empty-icon"
54
- })
55
- }),
56
- /* @__PURE__ */ r("span", {
57
- class: "rv-format-color-picker__trigger-value",
58
- children: h?.toUpperCase() ?? g
59
- }),
60
- /* @__PURE__ */ r(p, { icon: o })
61
- ]
62
- }), /* @__PURE__ */ r("div", {
63
- id: E,
64
- ref: A,
65
- class: "rv-format-color-picker__popover",
66
- role: "dialog",
67
- "aria-label": m,
68
- popover: "auto",
69
- style: `position-anchor: ${k}`,
70
- onToggle: (e) => M(e.currentTarget.matches(":popover-open")),
71
- children: [
72
- /* @__PURE__ */ r(l, {
73
- value: c(h) ?? h ?? null,
74
- ariaLabel: m,
75
- defaultLabel: g,
76
- colorAriaLabel: (e) => b[e.value] ?? e.label,
77
- includeDefault: x,
78
- disabled: C,
79
- onChange: (e) => {
80
- C || (w(e ?? void 0), B());
81
- }
82
- }),
83
- /* @__PURE__ */ r("div", {
84
- id: D,
85
- class: "rv-format-color-picker__custom-controls",
86
- "data-selection-only": !S || void 0,
87
- hidden: !N,
88
- children: [
89
- /* @__PURE__ */ r(i, {
90
- type: "color",
91
- disabled: C,
92
- class: "rv-format-color-picker__native",
93
- "aria-label": _,
94
- title: _,
95
- value: c(F) ?? u,
96
- onInput: (e) => z(e.currentTarget.value)
97
- }),
98
- S ? /* @__PURE__ */ r(i, {
99
- type: "text",
100
- disabled: C,
101
- class: "rv-control rv-format-color-picker__hex",
102
- inputMode: "text",
103
- maxLength: 7,
104
- "aria-label": v,
105
- "aria-invalid": L,
106
- "aria-describedby": L ? O : void 0,
107
- title: v,
108
- value: F.toUpperCase(),
109
- onInput: (e) => {
110
- I(e.currentTarget.value), L && R(!1);
111
- },
112
- onChange: (e) => z(e.currentTarget.value)
113
- }) : null,
114
- S && L ? /* @__PURE__ */ r("span", {
115
- id: O,
116
- class: "rv-format-color-picker__error",
117
- role: "alert",
118
- children: y
119
- }) : null
120
- ]
121
- }),
122
- /* @__PURE__ */ r(a, {
123
- unstyled: !0,
124
- type: "button",
125
- class: "rv-format-color-picker__custom-action",
126
- disabled: C,
127
- "aria-expanded": N,
128
- "aria-controls": D,
129
- title: _,
130
- onClick: () => P((e) => !e),
131
- children: [/* @__PURE__ */ r(p, { icon: f }), _]
132
- })
133
- ]
134
- })]
135
- });
136
- }
137
- //#endregion
138
- export { m as t };
@@ -1,100 +0,0 @@
1
- import { calculateAnchoredPopoverPosition as e } from "../core/anchored-popover.js";
2
- import { i as t, o as n, r, t as i } from "./hooks.module-CG3gN83z.js";
3
- import { t as a } from "./jsxRuntime.module-F6UFnpT-.js";
4
- import { hideTopLayerPopup as o, showTopLayerPopup as s } from "../core/top-layer-popup.js";
5
- import { createControlId as c } from "../core/control-id.js";
6
- //#region src/formatting/control-tooltip.tsx
7
- var l = /* @__PURE__ */ new WeakMap();
8
- function u(e, o = !1, s) {
9
- let [u] = t(() => c("rv-format-control-tooltip")), [f, p] = t(!1), m = i(null), h = i(!1), g = n(() => {
10
- let e = m.current?.ownerDocument;
11
- e && l.get(e) === g && l.delete(e), p(!1);
12
- }, []), _ = (e) => {
13
- m.current = e;
14
- let t = e.ownerDocument, n = l.get(t);
15
- n !== g && n?.(), l.set(t, g), p(!0);
16
- };
17
- return r(() => {
18
- if (!f) return;
19
- let e = m.current?.ownerDocument;
20
- if (!e) return;
21
- let t = e.defaultView, n = m.current?.closest("[popover]"), r = () => {
22
- n?.matches(":popover-open") || g();
23
- }, i = (e) => {
24
- m.current?.contains(e.target) || g();
25
- };
26
- return e.addEventListener("pointerdown", i, !0), e.addEventListener("scroll", g, !0), e.addEventListener("visibilitychange", g), t?.addEventListener("resize", g), t?.addEventListener("blur", g), n?.addEventListener("toggle", r), () => {
27
- e.removeEventListener("pointerdown", i, !0), e.removeEventListener("scroll", g, !0), e.removeEventListener("visibilitychange", g), t?.removeEventListener("resize", g), t?.removeEventListener("blur", g), n?.removeEventListener("toggle", r);
28
- };
29
- }, [f, g]), r(() => () => {
30
- let e = m.current?.ownerDocument;
31
- e && l.get(e) === g && l.delete(e);
32
- }, [g]), {
33
- id: u,
34
- hide: g,
35
- triggerProps: {
36
- "aria-describedby": u,
37
- onFocus: (e) => {
38
- m.current = e.currentTarget, h.current || _(e.currentTarget);
39
- },
40
- onBlur: () => {
41
- h.current = !1, g();
42
- },
43
- onMouseEnter: (e) => _(e.currentTarget),
44
- onMouseLeave: g,
45
- onPointerDown: (e) => {
46
- m.current = e.currentTarget, h.current = !0, g();
47
- },
48
- onPointerCancel: g,
49
- onKeyDown: (e) => {
50
- e.key === "Escape" && f ? (e.preventDefault(), e.stopPropagation(), g()) : (e.key === "Enter" || e.key === " ") && g();
51
- }
52
- },
53
- tooltip: /* @__PURE__ */ a(d, {
54
- id: u,
55
- text: e,
56
- visible: f,
57
- anchor: o ? m.current : null,
58
- className: s?.className,
59
- placement: s?.placement
60
- })
61
- };
62
- }
63
- function d({ id: t, text: n, visible: c, anchor: l = null, className: u = "rv-format-control-tooltip", placement: d }) {
64
- let f = i(null);
65
- return r(() => {
66
- let t = f.current;
67
- if (!c || !l || !t) return;
68
- let n = s(t, "block"), r = l.ownerDocument.defaultView, i = e(l.getBoundingClientRect(), t.getBoundingClientRect(), {
69
- width: r?.innerWidth ?? 0,
70
- height: r?.innerHeight ?? 0
71
- }), a = l.getBoundingClientRect(), u = t.getBoundingClientRect(), p = a.top - u.height - 8;
72
- return Object.assign(t.style, {
73
- left: `${d === "above" ? Math.max(8, Math.min(a.left + (a.width - u.width) / 2, (r?.innerWidth ?? 0) - u.width - 8)) : i.left}px`,
74
- top: `${d === "above" && p >= 8 ? p : i.top}px`
75
- }), () => o(t, n);
76
- }, [
77
- c,
78
- l,
79
- d
80
- ]), /* @__PURE__ */ a("span", {
81
- ref: f,
82
- id: t,
83
- class: u,
84
- role: "tooltip",
85
- "data-visible": c,
86
- style: l ? {
87
- position: "fixed",
88
- inset: "auto",
89
- margin: 0,
90
- transform: "none",
91
- positionAnchor: "auto",
92
- positionArea: "none",
93
- display: c ? "block" : "none",
94
- visibility: c ? "visible" : "hidden"
95
- } : void 0,
96
- children: n
97
- });
98
- }
99
- //#endregion
100
- export { u as n, d as t };
@@ -1,134 +0,0 @@
1
- import { c as e, i as t } from "./preact.module-BBM36DnO.js";
2
- import { t as n } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { n as r, t as i } from "./native-control-C_yok8_-.js";
4
- import { r as a } from "./popup-CT2uD3go.js";
5
- import { createPreactElement as o, releasePreactElement as s } from "../preact-mount.js";
6
- import { t as c } from "./xmark-DD_PBvZI.js";
7
- //#region src/dialog/dialog-action-footer.view.tsx
8
- function l({ cancel: e = {}, save: t = {}, deleteAction: r = !1, reset: a = !1, start: o, end: s, children: c, actionsClass: l = "", class: u = "", ...d }) {
9
- let f = (e, t, r, a = "", o = "button") => {
10
- if (t === !1) return null;
11
- let { label: s = r, class: c = "", ...l } = t;
12
- return /* @__PURE__ */ n(i, {
13
- type: o,
14
- ...l,
15
- class: `rv-btn ${a} ${c}`,
16
- "data-dialog-action": e,
17
- children: s
18
- });
19
- };
20
- return /* @__PURE__ */ n("footer", {
21
- ...d,
22
- class: `rv-dialog__footer rv-dialog__action-footer ${u}`,
23
- children: [c, /* @__PURE__ */ n("div", {
24
- class: "rv-dialog__action-panel",
25
- children: [/* @__PURE__ */ n("div", {
26
- class: "rv-dialog__action-start",
27
- children: [
28
- o,
29
- f("delete", r, "Delete", "rv-btn-danger-outline"),
30
- f("reset", a, "Reset")
31
- ]
32
- }), /* @__PURE__ */ n("div", {
33
- class: `rv-dialog__actions ${l}`,
34
- children: [
35
- s,
36
- f("cancel", e, "Cancel"),
37
- f("save", t, "Save", "rv-btn-primary", "submit")
38
- ]
39
- })]
40
- })]
41
- });
42
- }
43
- function u(e, t) {
44
- return /* @__PURE__ */ n(l, { ...t });
45
- }
46
- function d(e, t) {
47
- let r = o(e.ownerDocument, /* @__PURE__ */ n(l, { ...t }));
48
- return e.append(r), { destroy() {
49
- s(r);
50
- } };
51
- }
52
- //#endregion
53
- //#region src/dialog/dialog.parts.tsx
54
- var f = a(({ class: e = "", ...t }, r) => /* @__PURE__ */ n("header", {
55
- ...t,
56
- ref: r,
57
- class: `rv-dialog__header ${e}`
58
- }));
59
- function p({ class: e = "", ...t }) {
60
- return /* @__PURE__ */ n("form", {
61
- ...t,
62
- class: `rv-dialog__surface ${e}`
63
- });
64
- }
65
- var m = a(({ class: e = "", ...t }, r) => /* @__PURE__ */ n("div", {
66
- ...t,
67
- ref: r,
68
- class: `rv-dialog__body ${e}`
69
- })), h = a(({ class: e = "", ...t }, r) => /* @__PURE__ */ n("footer", {
70
- ...t,
71
- ref: r,
72
- class: `rv-dialog__footer ${e}`
73
- })), g = a(({ class: e = "", ...t }, r) => /* @__PURE__ */ n("div", {
74
- ...t,
75
- ref: r,
76
- class: `rv-dialog__actions ${e}`
77
- }));
78
- function _({ class: e = "", iconClass: t = "", ...r }) {
79
- return /* @__PURE__ */ n(i, {
80
- ...r,
81
- unstyled: !0,
82
- type: "button",
83
- class: `rv-dialog__close ${e}`,
84
- children: /* @__PURE__ */ n("span", {
85
- class: `rv-dialog__close-icon ${t}`,
86
- "aria-hidden": "true",
87
- dangerouslySetInnerHTML: { __html: c }
88
- })
89
- });
90
- }
91
- var v = a(({ class: e = "", ...t }, i) => /* @__PURE__ */ n(r, {
92
- ...t,
93
- ref: i,
94
- class: `rv-dialog__title-input ${e}`
95
- })), y = a(({ titleId: e, title: r, name: i, description: a, inputLabel: o, titleHidden: s, headingClass: c = "", kickerClass: l = "", titleClass: u = "", inputProps: d, closeLabel: p, closeProps: m, onClose: h, class: g = "", ...y }, b) => /* @__PURE__ */ n(f, {
96
- ...y,
97
- ref: b,
98
- class: `rv-dialog__header--editable ${g}`,
99
- children: [/* @__PURE__ */ n("div", {
100
- class: `rv-dialog__heading ${c}`,
101
- children: [
102
- !s && i && /* @__PURE__ */ n("span", {
103
- class: `rv-dialog__kicker ${l}`,
104
- children: i
105
- }),
106
- !s && (d === !1 ? /* @__PURE__ */ n("h3", {
107
- id: e,
108
- class: `rv-dialog__title ${u}`,
109
- children: r
110
- }) : /* @__PURE__ */ n(t, { children: [/* @__PURE__ */ n("h3", {
111
- id: e,
112
- class: `rv-dialog__sr-only ${u}`,
113
- children: r
114
- }), /* @__PURE__ */ n(v, {
115
- "aria-label": o,
116
- value: r,
117
- ...d
118
- })] })),
119
- a && /* @__PURE__ */ n("div", {
120
- class: "rv-dialog__description",
121
- children: a
122
- })
123
- ]
124
- }), h && /* @__PURE__ */ n(_, {
125
- ...m,
126
- "aria-label": p,
127
- onClick: h
128
- })]
129
- }));
130
- function b(t) {
131
- return u(e, t);
132
- }
133
- //#endregion
134
- export { h as a, v as c, d, u as f, _ as i, y as l, g as n, p as o, m as r, f as s, b as t, l as u };
@@ -1,81 +0,0 @@
1
- import { calculateAnchoredPopoverPosition as e } from "../core/anchored-popover.js";
2
- import { t } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { hideTopLayerPopup as n, showTopLayerPopup as r } from "../core/top-layer-popup.js";
4
- import { createPreactElement as i, releasePreactElement as a } from "../preact-mount.js";
5
- import { t as o } from "./editor-commit-Bq3wSgvr.js";
6
- //#region src/core/editor-popup-position.ts
7
- function s(t, n, r, i = 4, a = 8) {
8
- let o = Math.max(0, r.height - a - t.bottom - i), s = Math.max(0, t.top - a - i), c = n.height <= o || o >= s ? "below" : "above", l = c === "below" ? o : s, u = Math.min(n.height, l);
9
- return {
10
- ...e(t, n, r, i, a),
11
- placementY: c,
12
- maxHeight: l,
13
- top: c === "below" ? t.bottom + i : t.top - u - i
14
- };
15
- }
16
- //#endregion
17
- //#region src/core/editor-popup.tsx
18
- var c = /* @__PURE__ */ new WeakMap();
19
- function l(e, l, u) {
20
- let d = e.ownerDocument, f = d.defaultView;
21
- c.get(d)?.close();
22
- let p = !1, m, h = (e) => (m = e, () => {
23
- m === e && (m = void 0);
24
- }), g = () => {
25
- p || (p = !0, T.disconnect(), w?.disconnect(), d.removeEventListener("pointerdown", v, !0), d.removeEventListener("keydown", y, !0), d.removeEventListener("scroll", b, !0), f.removeEventListener("resize", g), n(x, S), a(x), x.remove(), c.get(d)?.element === x && c.delete(d), u.onClose?.(), e.isConnected && e.focus({ preventScroll: !0 }));
26
- }, _ = (e) => e ? x.contains(e) ? !0 : [...x.querySelectorAll("[aria-controls]")].some((t) => t.getAttribute("aria-controls")?.split(" ").some((t) => d.getElementById(t)?.contains(e))) : !1, v = (t) => {
27
- _(t.target) || e.contains(t.target) || (u.isAvailable && !u.isAvailable() ? g() : m?.() === !1 ? (t.preventDefault(), t.stopPropagation()) : g());
28
- }, y = (e) => {
29
- if (e.key === "Escape") {
30
- if (x.querySelector("[aria-expanded=\"true\"]")) return;
31
- e.preventDefault(), e.stopPropagation(), g();
32
- }
33
- if (e.key === "Tab" && x.contains(e.target)) {
34
- let t = [...x.querySelectorAll("button:not(:disabled),input:not(:disabled),textarea:not(:disabled),select:not(:disabled),[contenteditable=\"true\"],[tabindex=\"0\"]")].filter((e) => e.tabIndex >= 0 && e.getClientRects().length), n = t[0], r = t.at(-1);
35
- e.shiftKey && d.activeElement === n ? (e.preventDefault(), r?.focus()) : !e.shiftKey && d.activeElement === r && (e.preventDefault(), n?.focus());
36
- }
37
- }, b = (t) => {
38
- let n = t.target;
39
- _(n) || n && (n.contains(e) || E?.contains(n)) && C();
40
- }, x = i(d, /* @__PURE__ */ t("div", {
41
- class: `rv-editor-popup ${u.className ?? ""}`,
42
- role: "dialog",
43
- "aria-label": u.label,
44
- onKeyDown: (e) => e.stopPropagation(),
45
- onKeyUp: (e) => e.stopPropagation(),
46
- onMouseDown: (e) => e.stopPropagation(),
47
- onClick: (e) => e.stopPropagation(),
48
- children: /* @__PURE__ */ t(o.Provider, {
49
- value: h,
50
- children: l(g)
51
- })
52
- }));
53
- x.style.direction = f.getComputedStyle(e).direction, (e.closest("dialog, [role=\"dialog\"], [role=\"menu\"]") ?? e.closest("revo-grid") ?? d.body).append(x);
54
- let S = r(x, "block"), C = () => {
55
- x.style.maxHeight = "";
56
- let t = s(e.getBoundingClientRect(), x.getBoundingClientRect(), {
57
- width: f.innerWidth,
58
- height: f.innerHeight
59
- });
60
- x.style.maxHeight = `${t.maxHeight}px`, x.style.left = `${t.left}px`, x.style.top = `${t.top}px`, x.dataset.placement = t.placementY;
61
- };
62
- C();
63
- let w = typeof f.ResizeObserver == "function" ? new f.ResizeObserver(C) : void 0;
64
- w?.observe(x), w?.observe(e);
65
- let T = new MutationObserver(() => {
66
- (!e.isConnected || !x.isConnected || u.isAvailable && !u.isAvailable()) && g();
67
- });
68
- T.observe(d.body, {
69
- childList: !0,
70
- subtree: !0
71
- });
72
- let E = e.closest("revo-grid");
73
- E && u.isAvailable && T.observe(E, { attributes: !0 }), d.addEventListener("pointerdown", v, !0), d.addEventListener("keydown", y, !0), d.addEventListener("scroll", b, !0), f.addEventListener("resize", g);
74
- let D = {
75
- element: x,
76
- close: g
77
- };
78
- return c.set(d, D), x.querySelector("[autofocus],input,textarea,button,[tabindex=\"0\"]")?.focus({ preventScroll: !0 }), D;
79
- }
80
- //#endregion
81
- export { l as t };
@@ -1,27 +0,0 @@
1
- import { t as e } from "./jsxRuntime.module-F6UFnpT-.js";
2
- import { SvgButton as t } from "../buttons/svg-button.js";
3
- import "./rotate-right-Iha5ScJ1.js";
4
- //#endregion
5
- //#region src/history-controls.tsx
6
- function n({ onUndo: n, onRedo: r, canUndo: i, canRedo: a, undoLabel: o = "Undo", redoLabel: s = "Redo", label: c = "History", undoCount: l, redoCount: u }) {
7
- return /* @__PURE__ */ e("div", {
8
- class: "rv-history-controls",
9
- role: "group",
10
- "aria-label": c,
11
- children: [n && /* @__PURE__ */ e(t, {
12
- icon: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M24 192l144 0c9.7 0 18.5-5.8 22.2-14.8s1.7-19.3-5.2-26.2l-46.7-46.7c75.3-58.6 184.3-53.3 253.5 15.9 75 75 75 196.5 0 271.5s-196.5 75-271.5 0c-10.2-10.2-19-21.3-26.4-33-9.5-14.9-29.3-19.3-44.2-9.8s-19.3 29.3-9.8 44.2C49.7 408.7 61.4 423.5 75 437 175 537 337 537 437 437S537 175 437 75C342.8-19.3 193.3-24.7 92.7 58.8L41 7C34.1 .2 23.8-1.9 14.8 1.8S0 14.3 0 24L0 168c0 13.3 10.7 24 24 24z\"/></svg>",
13
- label: o,
14
- badge: l,
15
- disabled: !i,
16
- onClick: n
17
- }), r && /* @__PURE__ */ e(t, {
18
- icon: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M488 192l-144 0c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l46.7-46.7c-75.3-58.6-184.3-53.3-253.5 15.9-75 75-75 196.5 0 271.5s196.5 75 271.5 0c8.2-8.2 15.5-16.9 21.9-26.1 10.1-14.5 30.1-18 44.6-7.9s18 30.1 7.9 44.6c-8.5 12.2-18.2 23.8-29.1 34.7-100 100-262.1 100-362 0S-25 175 75 75c94.3-94.3 243.7-99.6 344.3-16.2L471 7c6.9-6.9 17.2-8.9 26.2-5.2S512 14.3 512 24l0 144c0 13.3-10.7 24-24 24z\"/></svg>",
19
- label: s,
20
- badge: u,
21
- disabled: !a,
22
- onClick: r
23
- })]
24
- });
25
- }
26
- //#endregion
27
- export { n as t };