@revolist/ui 4.0.9 → 4.0.10

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 (129) hide show
  1. package/README.md +37 -1
  2. package/_chunks/{calendar-C4zH4Ppn.js → calendar-CQHVwHLW.js} +1 -1
  3. package/_chunks/{chart-frame-DzvJooS2.js → chart-frame-pj5EQxXr.js} +1 -1
  4. package/_chunks/{choice-chips-D2cJju-g.js → choice-chips-BIGT7gjO.js} +1 -1
  5. package/_chunks/{color-palette-D7AS20M1.js → color-palette-DL0f3igd.js} +1 -1
  6. package/_chunks/{color-picker-BanAQVfz.js → color-picker-BWBM9GE1.js} +3 -3
  7. package/_chunks/{component-B8SvtSaB.js → component-B22CtP21.js} +49 -34
  8. package/_chunks/{component-metadata-DlVkpW3h.js → component-metadata-B_hLjtM0.js} +4 -1
  9. package/_chunks/{configurator-actions-CvZf5nYp.js → configurator-actions-BhIk4oM_.js} +11 -11
  10. package/_chunks/{control-Dj7IR-i0.js → control-zCLB1tGz.js} +1 -1
  11. package/_chunks/{controls-BF6WlGT4.js → controls-Ip2E6jIu.js} +5 -4
  12. package/_chunks/{date-control-BNj2FBF2.js → date-control-UmJvxQ5C.js} +1 -1
  13. package/_chunks/{date-time-Ucx1ep76.js → date-time-B9YGqree.js} +52 -52
  14. package/_chunks/{dialog.parts-BqkmnhIL.js → dialog.parts-CpMwNhTM.js} +2 -2
  15. package/_chunks/{duration-BIESsyLI.js → duration-BrsE4QgL.js} +11 -11
  16. package/_chunks/{editor-popup-BTmjGg2_.js → editor-popup-Ds0GPAcn.js} +1 -1
  17. package/_chunks/{field-configurator-BWZnm3gE.js → field-configurator-BMQnmWNd.js} +3 -2
  18. package/_chunks/{framework-mount-DQ4opSL0.js → framework-mount-CX0oj05W.js} +1 -1
  19. package/_chunks/{mount-DTCXtKfT.js → mount-BgI_QV2H.js} +3 -3
  20. package/_chunks/native-C9tJWAXF.js +52 -0
  21. package/_chunks/{native-control-xc_B4vfn.js → native-control-DjJ8Na3T.js} +43 -38
  22. package/_chunks/{number-input-C_TPzAJq.js → number-input-Bb5guKP4.js} +2 -2
  23. package/_chunks/{picker-0h5TwXGT.js → picker-DDUmhT93.js} +2 -2
  24. package/_chunks/{popup-CISbXDnE.js → popup-HEUnOeq-.js} +1 -1
  25. package/_chunks/{rating-choice-FhWNdsiC.js → rating-choice-CtrABPp-.js} +1 -1
  26. package/_chunks/{reorder-list-CR1DO4EG.js → reorder-list-DvwZcFPH.js} +1 -1
  27. package/_chunks/{request-trail-ay92DQpo.js → request-trail-D5PKrBlC.js} +2 -2
  28. package/_chunks/{rich-text-ByjXFv1S.js → rich-text-DW1vcBAY.js} +27 -27
  29. package/_chunks/{selection-list-tooltips-DqqLeO_m.js → selection-list-tooltips-j84Wufjj.js} +7 -3
  30. package/_chunks/tooltip-BkuH0JdW.js +93 -0
  31. package/_chunks/tooltip-session-BBKkwhLZ.js +244 -0
  32. package/_chunks/top-layer-popup-DU1r_2v5.js +107 -0
  33. package/ai/index.js +2 -2
  34. package/angular/angular.d.ts +2 -0
  35. package/angular/angular.js +1 -0
  36. package/assignee/index.js +26 -26
  37. package/browser/favicon.svg +9 -0
  38. package/browser/pdf-viewer.css +2 -0
  39. package/browser/pdf.worker.min.mjs +28 -0
  40. package/browser/pdfjs-LICENSE +177 -0
  41. package/browser/revo-ui.global.js +671 -0
  42. package/browser/revo-ui.js +35538 -0
  43. package/browser/robots.txt +4 -0
  44. package/browser.d.ts +3 -0
  45. package/browser.js +34 -0
  46. package/buttons/svg-button.js +3 -3
  47. package/calendar/_calendar.scss +12 -4
  48. package/calendar/calendar.js +1 -1
  49. package/calendar/index.js +2 -2
  50. package/choice-chips/index.js +1 -1
  51. package/color-palette/color-palette.js +1 -1
  52. package/color-palette/color-picker.js +2 -2
  53. package/configurator-actions.js +1 -1
  54. package/configurator-aggregation-list.js +2 -2
  55. package/configurator-drop-zone.js +1 -1
  56. package/controls.js +2 -2
  57. package/core/editor-popup.js +1 -1
  58. package/core/popover-controller.d.ts +31 -6
  59. package/core/popover-controller.js +171 -46
  60. package/core/popup-ownership.d.ts +1 -1
  61. package/core/tooltip-options.d.ts +143 -0
  62. package/core/tooltip-options.js +20 -0
  63. package/core/tooltip-session.d.ts +32 -8
  64. package/core/tooltip-surface.d.ts +14 -3
  65. package/core/tooltip.d.ts +20 -19
  66. package/core/top-layer-popup.d.ts +2 -1
  67. package/core/top-layer-popup.js +1 -1
  68. package/date-time/index.js +1 -1
  69. package/dialog/dialog.dom.js +2 -2
  70. package/dialog/dialog.parts.js +1 -1
  71. package/distribution-chart/area-chart.js +1 -1
  72. package/distribution-chart/bar-chart.js +1 -1
  73. package/distribution-chart/line-chart.js +1 -1
  74. package/dropdown/content.d.ts +3 -1
  75. package/dropdown/content.js +1 -1
  76. package/dropdown/control.js +1 -1
  77. package/dropdown/dropdown.service.js +56 -56
  78. package/dropdown/index.js +2 -2
  79. package/dropdown/lookup-field.js +5 -5
  80. package/dropdown/popup.js +1 -1
  81. package/duration/index.js +1 -1
  82. package/editor-actions.js +1 -1
  83. package/editor-layout/index.js +1 -1
  84. package/field-configurator.js +1 -1
  85. package/filter/filters/slider/runtime.js +1 -1
  86. package/filter/filters/slider/single.js +1 -1
  87. package/filter-badge.js +1 -1
  88. package/filter-controls.js +1 -1
  89. package/form-controls/index.js +2 -2
  90. package/formatting/index.js +2 -2
  91. package/framework.js +133 -133
  92. package/masked-input/index.js +1 -1
  93. package/native-control.js +1 -1
  94. package/native.js +29 -79
  95. package/number-input/index.js +1 -1
  96. package/package.json +19 -3
  97. package/pagination.js +1 -1
  98. package/pdf-viewer/index.js +1 -1
  99. package/pickers.d.ts +11 -4
  100. package/preact.d.ts +2 -0
  101. package/preact.js +64 -63
  102. package/rating-choice.js +1 -1
  103. package/react-adapter.d.ts +1 -1
  104. package/react.d.ts +2 -0
  105. package/react.js +63 -62
  106. package/reorder-list.js +1 -1
  107. package/resource-picker/resource-picker-popup.js +1 -1
  108. package/resource-picker/resource-picker.js +1 -1
  109. package/rich-text/index.js +1 -1
  110. package/select.js +1 -1
  111. package/selection-list.js +1 -1
  112. package/status-feedback/exit-snapshot.js +1 -1
  113. package/status-feedback/popover.js +1 -1
  114. package/styles.css +1 -1
  115. package/surfaces.d.ts +1 -0
  116. package/surfaces.js +24 -23
  117. package/svelte.d.ts +2 -0
  118. package/svelte.js +30 -29
  119. package/switch/index.js +1 -1
  120. package/time-grid.js +1 -1
  121. package/timeline-track/_style.scss +33 -2
  122. package/timeline-track/component.d.ts +10 -1
  123. package/timeline-track/index.js +136 -74
  124. package/ui.css +1 -1
  125. package/vue.d.ts +11 -13
  126. package/vue.js +91 -87
  127. package/_chunks/tooltip-B5ziciEP.js +0 -54
  128. package/_chunks/tooltip-session-D74h-uqu.js +0 -110
  129. package/_chunks/top-layer-popup-BHajfliG.js +0 -59
@@ -2,11 +2,11 @@ import { c as e, i as t, u as n } from "./preact.module-DzTStiZX.js";
2
2
  import { c as r, i, n as a, o, r as s, s as c, t as l } from "./hooks.module-CXpO2xq6.js";
3
3
  import { t as u } from "./jsxRuntime.module-ksX_VSbv.js";
4
4
  import { renderPreactInto as d } from "../preact-mount.js";
5
- import { i as f } from "./top-layer-popup-BHajfliG.js";
5
+ import { i as f } from "./top-layer-popup-DU1r_2v5.js";
6
6
  import { t as p } from "./title-tooltip-DKiWhsL7.js";
7
7
  import { t as m } from "./field-context-0oUi-w-G.js";
8
- import { r as h, t as g } from "./popup-CISbXDnE.js";
9
- import { t as _ } from "./selection-list-tooltips-DqqLeO_m.js";
8
+ import { r as h, t as g } from "./popup-HEUnOeq-.js";
9
+ import { t as _ } from "./selection-list-tooltips-j84Wufjj.js";
10
10
  import { useDropdownService as v } from "../dropdown/dropdown.service.js";
11
11
  import { RemoveButton as y } from "../buttons/remove-button.js";
12
12
  import { t as b } from "./chevron-down-BkrpxJYD.js";
@@ -124,16 +124,16 @@ function T(e) {
124
124
  let t = a(() => ({
125
125
  ...C,
126
126
  ...e.remoteText
127
- }), [e.remoteText]), [n, o] = i({
127
+ }), [e.remoteText]), [n, r] = i({
128
128
  items: [],
129
129
  selected: [],
130
130
  loading: !1,
131
131
  error: !1,
132
132
  hasMore: !1
133
- }), c = l(), u = e.value === null || e.value === void 0 ? [] : Array.isArray(e.value) ? e.value : [e.value], d = JSON.stringify(u);
133
+ }), o = l(), c = e.value === null || e.value === void 0 ? [] : Array.isArray(e.value) ? e.value : [e.value], u = JSON.stringify(c);
134
134
  return s(() => {
135
135
  if (!e.dataSource || e.disabled) {
136
- o({
136
+ r({
137
137
  items: [],
138
138
  selected: [],
139
139
  loading: !1,
@@ -142,9 +142,9 @@ function T(e) {
142
142
  });
143
143
  return;
144
144
  }
145
- let n = new w(e.dataSource, e.dataContext, o, t);
146
- return c.current = n, () => {
147
- n.destroy(), c.current === n && (c.current = void 0);
145
+ let n = new w(e.dataSource, e.dataContext, r, t);
146
+ return o.current = n, () => {
147
+ n.destroy(), o.current === n && (o.current = void 0);
148
148
  };
149
149
  }, [
150
150
  e.dataSource,
@@ -152,16 +152,16 @@ function T(e) {
152
152
  e.disabled,
153
153
  t
154
154
  ]), s(() => {
155
- c.current?.setSelected(u, e.source);
155
+ o.current?.setSelected(c, e.source);
156
156
  }, [
157
- d,
157
+ u,
158
158
  e.source,
159
159
  e.dataSource,
160
160
  e.dataContext,
161
161
  e.disabled,
162
162
  t
163
- ]), r(() => {
164
- e.open ? c.current?.search(e.initialQuery, !0) : c.current?.close();
163
+ ]), s(() => {
164
+ e.open ? o.current?.search(e.initialQuery, !0) : o.current?.close();
165
165
  }, [
166
166
  e.open,
167
167
  e.dataSource,
@@ -172,9 +172,9 @@ function T(e) {
172
172
  ]), {
173
173
  ...n,
174
174
  text: t,
175
- search: (e) => c.current?.search(e),
176
- loadMore: () => c.current?.loadMore(),
177
- retry: () => c.current?.retry()
175
+ search: (e) => o.current?.search(e),
176
+ loadMore: () => o.current?.loadMore(),
177
+ retry: () => o.current?.retry()
178
178
  };
179
179
  }
180
180
  //#endregion
@@ -199,7 +199,7 @@ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, co
199
199
  return r(() => {
200
200
  if (!c.autoFocus) return;
201
201
  let e = () => {
202
- f && C.current ? C.current.focus({ preventScroll: !0 }) : w.current?.focus({ preventScroll: !0 });
202
+ f && C.current ? C.current.focus({ preventScroll: !0 }) : T.current?.focus({ preventScroll: !0 });
203
203
  }, t = w.current?.ownerDocument.defaultView ?? (typeof window < "u" ? window : void 0);
204
204
  if (!t) return;
205
205
  e();
@@ -211,12 +211,6 @@ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, co
211
211
  ref: L,
212
212
  className: "dropdown-listbox",
213
213
  "data-theme": S ?? "default",
214
- role: "listbox",
215
- id: m,
216
- "aria-multiselectable": d,
217
- "aria-activedescendant": F,
218
- tabIndex: -1,
219
- "aria-busy": n?.loading,
220
214
  onScrollCapture: (e) => {
221
215
  let t = e.target;
222
216
  n && t.scrollHeight - t.scrollTop - t.clientHeight < 48 && n.loadMore();
@@ -244,7 +238,9 @@ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, co
244
238
  value: ee,
245
239
  onChange: N,
246
240
  onInput: N,
247
- "aria-label": c.searchAriaLabel ?? "Search options"
241
+ "aria-label": c.searchAriaLabel ?? "Search options",
242
+ "aria-controls": m,
243
+ "aria-activedescendant": F
248
244
  })
249
245
  }),
250
246
  n?.loading && /* @__PURE__ */ u("div", {
@@ -275,7 +271,9 @@ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, co
275
271
  renderNoResults: n ? () => n.loading || n.error ? null : n.text.empty : y,
276
272
  dropdownListRef: T,
277
273
  theme: S,
278
- optionIdPrefix: m
274
+ optionIdPrefix: m,
275
+ listboxLabel: c.ariaLabel ?? c.searchAriaLabel ?? "Options",
276
+ loading: n?.loading
279
277
  }),
280
278
  n?.hasMore && /* @__PURE__ */ u(H, {
281
279
  disabled: n.loading,
@@ -285,9 +283,9 @@ function E({ options: e, selectedValues: t, remote: n, value: i, onChange: a, co
285
283
  ]
286
284
  });
287
285
  }
288
- function D({ options: n, filteredOptions: r, multiSelect: i, focusedIndex: a, selectedOptions: s, onKeyDown: c, onSelect: l, onFocusChange: d, renderOption: f, renderNoResults: p, dropdownListRef: m, theme: h, optionIdPrefix: g }) {
289
- let _ = o((e) => s.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [s]), v = o((t, n) => {
290
- let r = _(t), o = a === n;
286
+ function D({ options: n, filteredOptions: r, multiSelect: i, focusedIndex: a, selectedOptions: s, onKeyDown: c, onSelect: l, onFocusChange: d, renderOption: f, renderNoResults: p, dropdownListRef: m, theme: h, optionIdPrefix: g, listboxLabel: _, loading: v }) {
287
+ let y = o((e) => s.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [s]), b = o((t, n) => {
288
+ let r = y(t), o = a === n;
291
289
  return /* @__PURE__ */ u("li", {
292
290
  id: `${g}-option-${n}`,
293
291
  role: "option",
@@ -315,22 +313,28 @@ function D({ options: n, filteredOptions: r, multiSelect: i, focusedIndex: a, se
315
313
  }, [
316
314
  a,
317
315
  l,
318
- _,
316
+ y,
319
317
  i,
320
318
  f,
321
319
  d,
322
320
  h
323
321
  ]);
324
- return /* @__PURE__ */ u(t, { children: /* @__PURE__ */ u("ul", {
322
+ return /* @__PURE__ */ u(t, { children: [/* @__PURE__ */ u("ul", {
325
323
  ref: m,
326
324
  className: "dropdown-options",
327
- role: "presentation",
325
+ role: "listbox",
326
+ id: g,
327
+ "aria-label": _,
328
+ "aria-multiselectable": i,
329
+ "aria-activedescendant": a >= 0 ? `${g}-option-${a}` : void 0,
330
+ "aria-busy": v,
328
331
  tabIndex: -1,
329
- children: r.length > 0 ? r.map(v) : /* @__PURE__ */ u("li", {
330
- className: "no-results",
331
- children: p ? p(e) : /* @__PURE__ */ u("span", { children: "No results found" })
332
- })
333
- }) });
332
+ children: r.map(b)
333
+ }), !r.length && /* @__PURE__ */ u("div", {
334
+ className: "no-results",
335
+ role: "status",
336
+ children: p ? p(e) : /* @__PURE__ */ u("span", { children: "No results found" })
337
+ })] });
334
338
  }
335
339
  //#endregion
336
340
  //#region package/dropdown/index.tsx
@@ -501,8 +505,9 @@ function j({ source: t, triggerAttributes: n, dataSource: o, dataContext: s, rem
501
505
  "aria-haspopup": C ? "dialog" : "listbox",
502
506
  "aria-expanded": J && !_,
503
507
  "aria-disabled": _,
504
- "aria-owns": K,
505
- "aria-controls": K,
508
+ "aria-owns": J && !_ ? K : void 0,
509
+ "aria-controls": J && !_ ? K : void 0,
510
+ "data-rv-popup-controls": q,
506
511
  "aria-label": te,
507
512
  "aria-labelledby": ne,
508
513
  "aria-describedby": re,
@@ -1,8 +1,8 @@
1
1
  import { c as e, i as t, t as n } from "./hooks.module-CXpO2xq6.js";
2
2
  import { t as r } from "./jsxRuntime.module-ksX_VSbv.js";
3
3
  import { createControlId as i } from "../core/control-id.js";
4
- import { n as a } from "./native-control-xc_B4vfn.js";
5
- import { t as o } from "./controls-BF6WlGT4.js";
4
+ import { n as a } from "./native-control-DjJ8Na3T.js";
5
+ import { t as o } from "./controls-Ip2E6jIu.js";
6
6
  import { EditorActions as s } from "../editor-actions.js";
7
7
  //#region package/number-input/model.ts
8
8
  var c = {
@@ -1,11 +1,11 @@
1
1
  import { i as e } from "./preact.module-DzTStiZX.js";
2
2
  import { i as t } from "./hooks.module-CXpO2xq6.js";
3
3
  import { t as n } from "./jsxRuntime.module-ksX_VSbv.js";
4
- import { t as r } from "./native-control-xc_B4vfn.js";
4
+ import { t as r } from "./native-control-DjJ8Na3T.js";
5
5
  import { DEFAULT_CALENDAR_TRANSLATIONS as i } from "../calendar/translations.js";
6
6
  import { n as a } from "./iso-CJQl2kmq.js";
7
7
  import { f as o, h as s, m as c, o as l, p as u } from "./model-CFrBgRHm.js";
8
- import { t as d } from "./calendar-C4zH4Ppn.js";
8
+ import { t as d } from "./calendar-CQHVwHLW.js";
9
9
  //#region package/calendar/picker.tsx
10
10
  function f(f) {
11
11
  let { selected: p, onSelectionChange: ee, presets: m, mode: h = "single", min: g = 0, max: _ = Infinity, required: v = !1, excludeDisabled: y = !1, month: b, defaultMonth: x, onMonthChange: S, ...C } = f, w = typeof p == "string" ? p : Array.isArray(p) ? p[0] : p?.from, [T, E] = t(x ?? w ?? f.referenceDate ?? s()), [D, O] = t(w ?? T), [k, A] = t(), [j, M] = t(), N = (e) => {
@@ -1,7 +1,7 @@
1
1
  import { c as e, i as t, l as n, n as r, r as i, t as a } from "./preact.module-DzTStiZX.js";
2
2
  import { c as o, i as s, r as c, t as l } from "./hooks.module-CXpO2xq6.js";
3
3
  import { t as u } from "./jsxRuntime.module-ksX_VSbv.js";
4
- import { i as d, r as f, t as p } from "./top-layer-popup-BHajfliG.js";
4
+ import { i as d, r as f, t as p } from "./top-layer-popup-DU1r_2v5.js";
5
5
  import { inheritUiMotion as m } from "../core/motion.js";
6
6
  //#region node_modules/.pnpm/preact@10.29.1/node_modules/preact/compat/dist/compat.module.js
7
7
  function h(e, t) {
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./jsxRuntime.module-ksX_VSbv.js";
2
2
  import { SvgIcon as t } from "../icons/icon.js";
3
- import { t as n } from "./native-control-xc_B4vfn.js";
3
+ import { t as n } from "./native-control-DjJ8Na3T.js";
4
4
  //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/star.svg?raw
5
5
  var r = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 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=\"M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z\"/></svg>", i = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 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=\"M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z\"/></svg>";
6
6
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { c as e } from "./preact.module-DzTStiZX.js";
2
2
  import { t } from "./jsxRuntime.module-ksX_VSbv.js";
3
- import { t as n } from "./native-control-xc_B4vfn.js";
3
+ import { t as n } from "./native-control-DjJ8Na3T.js";
4
4
  import { fieldDropIndex as r, fieldListDropIndex as i } from "../field-reorder.js";
5
5
  //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/grip-vertical.svg?raw
6
6
  var a = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 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=\"M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z\"/></svg>";
@@ -4,10 +4,10 @@ import { t as c } from "./jsxRuntime.module-ksX_VSbv.js";
4
4
  import { createControlId as l } from "../core/control-id.js";
5
5
  import { PopoverController as u } from "../core/popover-controller.js";
6
6
  import { SvgIcon as d } from "../icons/icon.js";
7
- import { l as f } from "./native-control-xc_B4vfn.js";
7
+ import { l as f } from "./native-control-DjJ8Na3T.js";
8
8
  import { RemoveButton as p } from "../buttons/remove-button.js";
9
9
  import "./chevron-down-BkrpxJYD.js";
10
- import { D as m, M as h, c as g, p as _, t as v } from "./controls-BF6WlGT4.js";
10
+ import { D as m, M as h, c as g, p as _, t as v } from "./controls-Ip2E6jIu.js";
11
11
  import { t as y } from "./tooltip-text-CH_c2J-J.js";
12
12
  import { t as b } from "./clock-DTfr4p2S.js";
13
13
  import { t as x } from "./arrow-up-BSYhTAus.js";
@@ -2,13 +2,13 @@ import { i as e } from "./preact.module-DzTStiZX.js";
2
2
  import { c as t, i as n, n as r, r as i, t as a } from "./hooks.module-CXpO2xq6.js";
3
3
  import { t as o } from "./jsxRuntime.module-ksX_VSbv.js";
4
4
  import { createControlId as s } from "../core/control-id.js";
5
- import { n as c } from "./native-control-xc_B4vfn.js";
6
- import { t as l } from "./controls-BF6WlGT4.js";
5
+ import { n as c } from "./native-control-DjJ8Na3T.js";
6
+ import { t as l } from "./controls-Ip2E6jIu.js";
7
7
  import { SegmentedSwitch as u } from "../segmented-switch/index.js";
8
- import { n as d } from "./icon-toolbar-C4J_Wqph.js";
9
- import { HighlightedTextInput as f } from "../filter-controls.js";
10
- import { n as p } from "./editor-commit-BXIUX0As.js";
11
- import { EditorActions as m } from "../editor-actions.js";
8
+ import { EditorActions as d } from "../editor-actions.js";
9
+ import { n as f } from "./editor-commit-BXIUX0As.js";
10
+ import { HighlightedTextInput as p } from "../filter-controls.js";
11
+ import { n as m } from "./icon-toolbar-C4J_Wqph.js";
12
12
  //#region package/rich-text/syntax.tsx
13
13
  function h({ code: e }) {
14
14
  let t = [], n = /<!--[\s\S]*?(?:-->|$)|<\/?[A-Za-z][\w:-]*(?:[^"'<>]|"[^"]*"|'[^']*')*>?/g, r = 0;
@@ -542,22 +542,22 @@ var O = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--!
542
542
  //#endregion
543
543
  //#region package/rich-text/toolbar.tsx
544
544
  function B({ engine: e, selection: t, text: n, showLink: r, onLink: s }) {
545
- let c = a(null), l = a(null), u = () => [...c.current?.querySelectorAll("[role=\"button\"]:not([aria-disabled=\"true\"])") ?? []], f = (e) => {
545
+ let c = a(null), l = a(null), u = () => [...c.current?.querySelectorAll("[role=\"button\"]:not([aria-disabled=\"true\"])") ?? []], d = (e) => {
546
546
  l.current = e.getAttribute("aria-label");
547
547
  for (let t of u()) t.setAttribute("tabindex", t === e ? "0" : "-1");
548
548
  };
549
549
  i(() => {
550
550
  let e = u(), t = e.find((e) => e.getAttribute("aria-label") === l.current) ?? e[0];
551
- t && f(t);
551
+ t && d(t);
552
552
  });
553
- let p = (n, r, i) => ({
553
+ let f = (n, r, i) => ({
554
554
  id: n,
555
555
  label: r,
556
556
  icon: i,
557
557
  pressed: t.formats.includes(n),
558
558
  disabled: t.block === "code",
559
559
  run: () => e()?.format(n)
560
- }), m = (n, r, i, a) => ({
560
+ }), p = (n, r, i, a) => ({
561
561
  id: n,
562
562
  label: r,
563
563
  icon: i,
@@ -568,23 +568,23 @@ function B({ engine: e, selection: t, text: n, showLink: r, onLink: s }) {
568
568
  {
569
569
  label: n.inlineFormatting,
570
570
  actions: [
571
- p("bold", n.bold, O),
572
- p("italic", n.italic, k),
573
- p("strikethrough", n.strike, A),
574
- p("code", n.code, j)
571
+ f("bold", n.bold, O),
572
+ f("italic", n.italic, k),
573
+ f("strikethrough", n.strike, A),
574
+ f("code", n.code, j)
575
575
  ]
576
576
  },
577
577
  {
578
578
  label: n.headings,
579
- actions: [m("h1", n.heading1, M, N), m("h2", n.heading2, M, P)]
579
+ actions: [p("h1", n.heading1, M, N), p("h2", n.heading2, M, P)]
580
580
  },
581
581
  {
582
582
  label: n.structure,
583
583
  actions: [
584
- m("bullet", n.bullets, F),
585
- m("ordered", n.numberedList, I),
586
- m("quote", n.quote, L),
587
- m("code", n.codeBlock, R)
584
+ p("bullet", n.bullets, F),
585
+ p("ordered", n.numberedList, I),
586
+ p("quote", n.quote, L),
587
+ p("code", n.codeBlock, R)
588
588
  ]
589
589
  },
590
590
  {
@@ -608,7 +608,7 @@ function B({ engine: e, selection: t, text: n, showLink: r, onLink: s }) {
608
608
  e.target.closest("[role=\"button\"]") && e.preventDefault();
609
609
  },
610
610
  onFocusCapture: (e) => {
611
- e.target instanceof SVGElement && e.target.matches("[role=\"button\"]") && f(e.target);
611
+ e.target instanceof SVGElement && e.target.matches("[role=\"button\"]") && d(e.target);
612
612
  },
613
613
  onKeyDown: (t) => {
614
614
  if (t.key === "Escape") {
@@ -627,7 +627,7 @@ function B({ engine: e, selection: t, text: n, showLink: r, onLink: s }) {
627
627
  let i = getComputedStyle(c.current).direction === "rtl", a = t.key === "ArrowRight" === i ? -1 : 1;
628
628
  (t.key === "Home" ? n[0] : t.key === "End" ? n.at(-1) : n[(r + a + n.length) % n.length]).focus();
629
629
  },
630
- children: h.map((t) => /* @__PURE__ */ o(d, {
630
+ children: h.map((t) => /* @__PURE__ */ o(m, {
631
631
  label: t.label,
632
632
  actions: t.actions,
633
633
  onEscape: () => e()?.focus(),
@@ -720,7 +720,7 @@ function W(e) {
720
720
  //#endregion
721
721
  //#region package/rich-text/index.tsx
722
722
  function G(i) {
723
- let [d] = n(() => s("rv-rich-text-help")), g = a(i.value), _ = {
723
+ let [m] = n(() => s("rv-rich-text-help")), g = a(i.value), _ = {
724
724
  ...H,
725
725
  ...i.text
726
726
  }, v = r(() => C(i.value), [i.value]), [y, b] = n(v), x = r(() => C(y), [y]), [S, T] = n("visual"), [E, O] = n(""), [k, A] = n(w), [j, M] = n(""), [N, P] = n(!1), F = a(!1), I = a(null), L = a(), R = a(y);
@@ -737,7 +737,7 @@ function G(i) {
737
737
  let e = C(R.current), t = z(e);
738
738
  return t ? (O(_[t]), !1) : (i.onApply(e), !0);
739
739
  };
740
- p(() => !F.current || R.current === v || U(), i.autoApply !== !1);
740
+ f(() => !F.current || R.current === v || U(), i.autoApply !== !1);
741
741
  let W = !!z(x);
742
742
  return /* @__PURE__ */ o("div", {
743
743
  class: "rv-rich-text-editor",
@@ -797,7 +797,7 @@ function G(i) {
797
797
  role: "textbox",
798
798
  "aria-label": _.label,
799
799
  "aria-multiline": "true",
800
- "aria-describedby": d,
800
+ "aria-describedby": m,
801
801
  "aria-invalid": W || void 0,
802
802
  contentEditable: !0,
803
803
  onClick: (e) => {
@@ -805,11 +805,11 @@ function G(i) {
805
805
  }
806
806
  }),
807
807
  S === "visual" && /* @__PURE__ */ o("p", {
808
- id: d,
808
+ id: m,
809
809
  class: "rv-rich-text-editor__help",
810
810
  children: k.block === "code" ? _.codeHelp : _.keyboardHelp
811
811
  }),
812
- S === "source" && /* @__PURE__ */ o(f, {
812
+ S === "source" && /* @__PURE__ */ o(p, {
813
813
  className: "rv-rich-text-editor__source",
814
814
  "aria-label": _.source,
815
815
  "aria-invalid": W || void 0,
@@ -825,7 +825,7 @@ function G(i) {
825
825
  role: "alert",
826
826
  children: E
827
827
  }),
828
- /* @__PURE__ */ o(m, {
828
+ /* @__PURE__ */ o(d, {
829
829
  showConfirm: i.showActions ?? i.autoApply === !1,
830
830
  text: i.actions,
831
831
  disabled: W,
@@ -1,6 +1,6 @@
1
1
  import { o as e, t } from "./hooks.module-CXpO2xq6.js";
2
2
  import { releasePreactElement as n } from "../preact-mount.js";
3
- import { t as r } from "./tooltip-session-D74h-uqu.js";
3
+ import { t as r } from "./tooltip-session-BBKkwhLZ.js";
4
4
  import { createTooltipElement as i } from "../core/popover-controller.js";
5
5
  //#region package/core/selection-list-tooltips.ts
6
6
  function a(a = "[role=\"option\"]") {
@@ -9,7 +9,11 @@ function a(a = "[role=\"option\"]") {
9
9
  if (o.current?.(), o.current = void 0, !e) return;
10
10
  let t = new r(), s = i(e.ownerDocument, "rv-tooltip");
11
11
  t.setSurface(s);
12
- let c, l = (t) => {
12
+ let c;
13
+ t.onHide = () => {
14
+ c = void 0;
15
+ };
16
+ let l = (t) => {
13
17
  let n = t?.closest?.(a);
14
18
  return n && e.contains(n) ? n : void 0;
15
19
  }, u = () => {
@@ -22,7 +26,7 @@ function a(a = "[role=\"option\"]") {
22
26
  let n = [e, ...e.querySelectorAll("*")].filter((e) => e.textContent?.trim() && e.scrollWidth > e.clientWidth), r = n.filter((e) => !n.some((t) => t !== e && e.contains(t))).map((e) => e.textContent.trim()).join("\n");
23
27
  r ? c === e && s.textContent === r && t.isOpen || (u(), c = e, s.textContent = r, t.show(e)) : u();
24
28
  }, f = (e) => d(l(e.target)), p = (e) => {
25
- l(e.relatedTarget) !== c && u();
29
+ l(e.relatedTarget) !== c && (e.type === "pointerout" ? t.leave(c, e) : u());
26
30
  }, m = (t) => {
27
31
  if (![
28
32
  "ArrowUp",
@@ -0,0 +1,93 @@
1
+ import { i as e, o as t, r as n, t as r } from "./hooks.module-CXpO2xq6.js";
2
+ import { t as i } from "./jsxRuntime.module-ksX_VSbv.js";
3
+ import { t as a } from "./tooltip-session-BBKkwhLZ.js";
4
+ import { createControlId as o } from "../core/control-id.js";
5
+ //#region package/core/tooltip.tsx
6
+ function s(s, c = !0, l) {
7
+ let [u] = e(() => o("rv-format-control-tooltip")), d = l?.id ?? u, [f] = e(() => new a()), p = r(null), m = r(!1), h = t(() => f.hide(), [f]), g = t((e) => {
8
+ e || f.hide("destroy", void 0, !0), f.setSurface(e);
9
+ }, [f]), _ = () => {
10
+ if (l?.anchor && (p.current = l.anchor), !p.current?.isConnected) {
11
+ let e = f.element?.getRootNode();
12
+ p.current = [...e?.querySelectorAll("[aria-describedby]") ?? []].find((e) => e.getAttribute("aria-describedby")?.split(/\s+/).includes(d)) ?? null;
13
+ }
14
+ return p.current;
15
+ };
16
+ n(() => {
17
+ f.hide();
18
+ }, [s, l?.delay]), n(() => {
19
+ f.configure(l ?? {}), (l?.open || l?.defaultOpen) && _(), l?.open === void 0 ? m.current || (m.current = !0, l?.defaultOpen && p.current && f.show(p.current, "controlled")) : l.open && p.current ? f.show(p.current, "controlled") : f.hide("controlled");
20
+ }), n(() => () => f.destroy(), [f]);
21
+ let v = Array.isArray(l?.trigger) ? l.trigger : l?.trigger === "manual" ? [] : l?.trigger === "click" ? ["click"] : l?.trigger === "focus" ? ["focus"] : ["hover", "focus"];
22
+ return {
23
+ id: d,
24
+ hide: h,
25
+ show: () => {
26
+ let e = _();
27
+ e && f.show(e);
28
+ },
29
+ refresh: () => f.refresh(),
30
+ triggerProps: {
31
+ "aria-describedby": d,
32
+ onFocus: (e) => {
33
+ p.current = e.currentTarget, v.includes("focus") && f.focus(e.currentTarget, e);
34
+ },
35
+ onBlur: (e) => f.blur(e),
36
+ onMouseEnter: (e) => {
37
+ p.current = e.currentTarget, v.includes("hover") && f.show(e.currentTarget, "hover", e);
38
+ },
39
+ onMouseLeave: (e) => f.leave(e?.currentTarget, e),
40
+ onPointerDown: (e) => f.pointerDown(),
41
+ onPointerCancel: () => f.hide(),
42
+ onClickCapture: (e) => {
43
+ p.current = e.currentTarget, v.includes("click") ? f.isOpen ? f.hide("click", e) : f.show(e.currentTarget, "click", e) : l?.hideOnClick !== !1 && f.hide("press", e);
44
+ },
45
+ onKeyDown: (e) => {
46
+ (!v.includes("click") || e.key === "Escape") && f.keyDown(e);
47
+ }
48
+ },
49
+ tooltip: /* @__PURE__ */ i("span", {
50
+ ref: g,
51
+ id: d,
52
+ class: `rv-tooltip ${l?.className ?? "rv-format-control-tooltip"}`,
53
+ role: "tooltip",
54
+ "data-visible": "false",
55
+ hidden: !0,
56
+ children: /* @__PURE__ */ i("span", {
57
+ class: "rv-tooltip__content",
58
+ children: l?.content ?? s
59
+ })
60
+ })
61
+ };
62
+ }
63
+ function c({ id: r, text: o, content: s, visible: c, anchor: l = null, className: u = "rv-format-control-tooltip", ...d }) {
64
+ let [f] = e(() => new a()), p = t((e) => {
65
+ e || f.hide("destroy", void 0, !0), f.setSurface(e);
66
+ }, [f]);
67
+ return n(() => {
68
+ f.configure({
69
+ ...d,
70
+ className: u
71
+ });
72
+ }), n(() => {
73
+ c && l ? f.show(l, "controlled") : f.hide("controlled");
74
+ }, [
75
+ c,
76
+ l,
77
+ d.disabled
78
+ ]), n(() => () => f.destroy(), [f]), /* @__PURE__ */ i("span", {
79
+ ref: p,
80
+ id: r,
81
+ class: `rv-tooltip ${u}`,
82
+ role: "tooltip",
83
+ "data-visible": "false",
84
+ hidden: !0,
85
+ children: /* @__PURE__ */ i("span", {
86
+ class: "rv-tooltip__content",
87
+ children: s ?? o
88
+ })
89
+ });
90
+ }
91
+ var l = s;
92
+ //#endregion
93
+ export { s as n, l as r, c as t };