@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
package/README.md CHANGED
@@ -12,7 +12,7 @@ Compose data-rich workspaces with shared controls, pickers, charts, timelines, d
12
12
 
13
13
  [Live components](https://ui.rv-grid.com/components/buttons/) · [Interactive overview](https://ui.rv-grid.com/) · [Framework guides](https://ui.rv-grid.com/frameworks/) · [RevoGrid](https://rv-grid.com/) · [Pro documentation](https://pro.rv-grid.com/)
14
14
 
15
- [![Revo UI components for financial dashboards and project management](docs/assets/components-preview.jpg)](https://ui.rv-grid.com/)
15
+ [![Revo UI components in light and dark themes, with keyboard navigation, visible focus and WCAG accessibility checks](docs/assets/components-preview.jpg)](https://ui.rv-grid.com/)
16
16
 
17
17
  ## Get started
18
18
 
@@ -30,6 +30,39 @@ Choose your framework for setup instructions and usage examples:
30
30
 
31
31
  [React](https://ui.rv-grid.com/frameworks/react/) · [Vue](https://ui.rv-grid.com/frameworks/vue/) · [Angular](https://ui.rv-grid.com/frameworks/angular/) · [Svelte](https://ui.rv-grid.com/frameworks/svelte/) · [Preact](https://ui.rv-grid.com/frameworks/preact/) · [Vanilla TypeScript](https://ui.rv-grid.com/frameworks/vanilla-typescript/)
32
32
 
33
+ ## Browser JavaScript / CDN (no build step)
34
+
35
+ The standalone browser builds are prepared for **4.0.7**. The URLs below become available after that npm version is published. Pin CSS and JavaScript to the same released version.
36
+
37
+ ```html
38
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@revolist/ui@4.0.7/styles.css">
39
+ <div id="report-action" class="rv-ui"></div>
40
+ <script type="module">
41
+ import { createFrameworkMount, uiComponents } from
42
+ 'https://cdn.jsdelivr.net/npm/@revolist/ui@4.0.7/browser/revo-ui.js';
43
+
44
+ const mount = createFrameworkMount(document.querySelector('#report-action'), () => {});
45
+ let count = 0;
46
+ function update() {
47
+ mount.render(uiComponents.Button, {
48
+ variant: 'primary',
49
+ children: 'Create report · ' + count,
50
+ onClick: () => { count++; update(); },
51
+ });
52
+ }
53
+ update();
54
+ // Call mount.destroy() before removing the host view.
55
+ </script>
56
+ ```
57
+
58
+ For a classic script, load `https://cdn.jsdelivr.net/npm/@revolist/ui@4.0.7/browser/revo-ui.global.js` and use `const { createFrameworkMount, uiComponents } = RevoUI` instead of the import. Both builds bundle their renderer and shared utilities; no import map or framework runtime is needed. Serve your HTML over HTTP(S) in a modern browser.
59
+
60
+ You can replace the CDN prefix with `https://unpkg.com/@revolist/ui@4.0.7`, or self-host the package files. The `unpkg` and `jsdelivr` package defaults point to the classic script. The `@revolist/ui/browser` export points to the standalone ES module. Existing npm/framework ESM entries remain available for tree-shaking; host-framework adapters still require their respective frameworks.
61
+
62
+ The complete browser bundles include the component catalog and PDF engine. PDF viewers also need `browser/pdf-viewer.css` and the matching `browser/pdf.worker.min.mjs` served from **your own origin**, with its URL supplied as `workerSrc`. Direct cross-origin CDN Worker URLs are not supported by the browser Worker constructor. Configure PDF document/asset access for your application.
63
+
64
+ See the [CDN examples in Docs](https://ui.rv-grid.com/frameworks/#browser-cdn) for complete module and classic-script HTML and lifecycle guidance.
65
+
33
66
  ## Framework support
34
67
 
35
68
  Use the same component library and shared styles across frameworks, while keeping application state in your chosen stack.
@@ -56,6 +89,7 @@ Explore live previews, variants, and expandable code examples on the website.
56
89
  - [Timeline](https://ui.rv-grid.com/components/timeline-track/) — Draggable, resizable events with colors and tooltips.
57
90
  - [Calendars and dates](https://ui.rv-grid.com/components/calendar-and-dates/) — Date and time pickers, ranges, and weekly planning.
58
91
  - [Charts](https://ui.rv-grid.com/components/charts-and-range-selection/) — Bar, line, and area charts with tooltips and range selection.
92
+ - [Tooltip API and behavior](docs/tooltip.md) — Placement, timing groups, controlled state, rich/async content, delegation, events, and imperative methods.
59
93
  - [Dialogs and tooltips](https://ui.rv-grid.com/components/dialogs-and-floating-surfaces/) — Dialogs, confirmations, popovers, and tooltips.
60
94
  - [Menus and toolbars](https://ui.rv-grid.com/components/menus-and-toolbars/) — Dropdown menus, nested commands, and toolbar actions.
61
95
  - [Status and feedback](https://ui.rv-grid.com/components/status-and-feedback/) — Badges, alerts, loading indicators, and empty states.
@@ -99,3 +133,5 @@ pnpm build:demo
99
133
  Library source lives directly in `package/`; the root manifest owns its public exports. The internal workspace packages in `internal/` provide date and chart utilities that are bundled into the public distribution. Gallery source lives in `src/`.
100
134
 
101
135
  Gallery and package builds share `vite.config.ts`; library builds select `--mode library`. The npm archive uses this README. The `package/` folder contains source only. All manifests, scripts, configuration and project documentation live at the repository root. The gallery in `src/` is the demo.
136
+
137
+ Package maintainers: [UI publication and synchronized Pro releases](docs/releases.md).
@@ -1,7 +1,7 @@
1
1
  import { i as e, n 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 { l as a, t as o } from "./native-control-xc_B4vfn.js";
4
+ import { l as a, t as o } from "./native-control-DjJ8Na3T.js";
5
5
  import { DEFAULT_CALENDAR_TRANSLATIONS as s } from "../calendar/translations.js";
6
6
  import { a as c, n as l } from "./iso-CJQl2kmq.js";
7
7
  import { a as u, c as d, d as f, f as p, l as m, n as h, p as g, r as _, s as v, t as y, u as b } from "./model-CFrBgRHm.js";
@@ -1,7 +1,7 @@
1
1
  import { i as e } from "./preact.module-DzTStiZX.js";
2
2
  import { i as t, t as n } from "./hooks.module-CXpO2xq6.js";
3
3
  import { t as r } from "./jsxRuntime.module-ksX_VSbv.js";
4
- import { r as i } from "./tooltip-B5ziciEP.js";
4
+ import { r as i } from "./tooltip-BkuH0JdW.js";
5
5
  import { t as a } from "./tooltip-text-CH_c2J-J.js";
6
6
  //#region package/distribution-chart/geometry.ts
7
7
  function o(e) {
@@ -2,7 +2,7 @@ import { i as e, r 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 { TooltipController as i } from "../core/popover-controller.js";
4
4
  import { SvgIcon as a } from "../icons/icon.js";
5
- import { t as o } from "./native-control-xc_B4vfn.js";
5
+ import { t as o } from "./native-control-DjJ8Na3T.js";
6
6
  import { RemoveButton as s } from "../buttons/remove-button.js";
7
7
  //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/circle-info.svg?raw
8
8
  var c = "<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>";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./jsxRuntime.module-ksX_VSbv.js";
2
- import { n as t } from "./tooltip-B5ziciEP.js";
2
+ import { n as t } from "./tooltip-BkuH0JdW.js";
3
3
  import { t as n } from "./check-BFIC9pge.js";
4
4
  import { DEFAULT_COLOR_PALETTE_OPTIONS as r } from "../color-palette/palette.js";
5
5
  //#region package/color-palette/color-model.ts
@@ -1,10 +1,10 @@
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, t as o } from "./native-control-xc_B4vfn.js";
4
+ import { n as a, t as o } from "./native-control-DjJ8Na3T.js";
5
5
  import { t as s } from "./chevron-down-BkrpxJYD.js";
6
- import { n as c } from "./tooltip-B5ziciEP.js";
7
- import { n as l, t as u } from "./color-palette-D7AS20M1.js";
6
+ import { n as c } from "./tooltip-BkuH0JdW.js";
7
+ import { n as l, t as u } from "./color-palette-DL0f3igd.js";
8
8
  import { COLOR_PICKER_DEFAULT_COLOR as d } from "../color-palette/color-picker.constants.js";
9
9
  //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/ban.svg?raw
10
10
  var 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=\"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>", p = "<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>";
@@ -4,10 +4,10 @@ import { t as o } from "./jsxRuntime.module-ksX_VSbv.js";
4
4
  import { createControlId as s } from "../core/control-id.js";
5
5
  import { PopoverController as c, TooltipController as l } from "../core/popover-controller.js";
6
6
  import { SvgIcon as u } from "../icons/icon.js";
7
- import { l as d, n as f } from "./native-control-xc_B4vfn.js";
8
- import { n as p } from "./popup-CISbXDnE.js";
7
+ import { l as d, n as f } from "./native-control-DjJ8Na3T.js";
8
+ import { n as p } from "./popup-HEUnOeq-.js";
9
9
  import { t as m } from "./chevron-down-BkrpxJYD.js";
10
- import { D as h, F as g, I as _, R as v, b as y, g as b, l as x, p as S, t as C } from "./controls-BF6WlGT4.js";
10
+ import { D as h, F as g, I as _, R as v, b as y, g as b, l as x, p as S, t as C } from "./controls-Ip2E6jIu.js";
11
11
  import { n as w, t as T } from "./chevron-right-DZ79RmYV.js";
12
12
  import { t as E } from "./xmark-DQRQfXZI.js";
13
13
  import { t as D } from "./tooltip-text-CH_c2J-J.js";
@@ -16,17 +16,17 @@ import { t as A } from "./rotate-right-BIfKgVun.js";
16
16
  import { t as j } from "./chevron-up-Dt846uIR.js";
17
17
  import { avatarTemplate as M } from "../avatar/index.js";
18
18
  import { renderProgressBar as ee } from "../progress/bar.js";
19
- import { t as te } from "./plus-BaXticu7.js";
20
- import { t as ne } from "./minus-DE8NPK_D.js";
21
- import { SearchInput as re } from "../search-input/index.js";
19
+ import { SearchInput as te } from "../search-input/index.js";
22
20
  import { s as N } from "./iso-CJQl2kmq.js";
23
21
  import { f as P, h as F, o as I } from "./model-CFrBgRHm.js";
24
- import { n as L, t as R } from "./date-control-BNj2FBF2.js";
25
- import { t as z } from "./calendar-C4zH4Ppn.js";
26
- import { t as B } from "./magnifying-glass-BFZrFs8M.js";
27
- import { t as V } from "./controller-ChkqiANQ.js";
22
+ import { n as L, t as R } from "./date-control-UmJvxQ5C.js";
23
+ import { t as z } from "./calendar-CQHVwHLW.js";
24
+ import { t as B } from "./plus-BaXticu7.js";
25
+ import { t as V } from "./magnifying-glass-BFZrFs8M.js";
26
+ import { t as H } from "./controller-ChkqiANQ.js";
27
+ import { t as U } from "./minus-DE8NPK_D.js";
28
28
  //#region package/pickers.tsx
29
- function H(e) {
29
+ function ne(e) {
30
30
  return /* @__PURE__ */ o(d, {
31
31
  ...e,
32
32
  className: `rv-combobox ${e.className ?? ""}`,
@@ -37,7 +37,7 @@ function H(e) {
37
37
  }
38
38
  });
39
39
  }
40
- function U(e) {
40
+ function re(e) {
41
41
  return /* @__PURE__ */ o(d, {
42
42
  ...e,
43
43
  className: `rv-multi-select ${e.className ?? ""}`,
@@ -96,29 +96,44 @@ function W({ open: e, anchor: t, appendTo: n, closeOnOutside: r, closeOnEscape:
96
96
  children: e ? u : null
97
97
  });
98
98
  }
99
- function oe({ text: e, children: t }) {
100
- let n = a(null);
99
+ function oe(e) {
100
+ let t = a(null), r = a(e);
101
+ r.current = e;
102
+ let [s] = n(() => new l()), c = a(!1), u = a(!1), d = () => {
103
+ let e = r.current;
104
+ s.update(e), s.setContent(e.content ?? e.text ?? ""), e.open === void 0 ? c.current || (c.current = !0, e.defaultOpen && s.setOpen(!0)) : s.setOpen(e.open);
105
+ };
101
106
  return i(() => {
102
- let t = n.current;
103
- if (!t) return;
104
- let r = new l(), i, a = () => {
105
- let n = t.querySelector("button, input, a[href], [tabindex]") ?? t;
106
- n !== i && (r.bind(n, e), i = n);
107
+ let e = t.current;
108
+ if (!e) return;
109
+ let n, i = () => {
110
+ let t = r.current, i = t.anchor ?? (t.filter ? e : e.querySelector("button, input, textarea, select, a[href], summary, [contenteditable]:not([contenteditable=\"false\"]), [tabindex]") ?? e);
111
+ if (i === n) return;
112
+ let a = s.isOpen || u.current;
113
+ u.current = !1, s.bind(i, t.content ?? t.text ?? "", t), n = i, d(), a && t.open === void 0 && s.setOpen(!0);
107
114
  };
108
- a();
109
- let o = new t.ownerDocument.defaultView.MutationObserver(a);
110
- return o.observe(t, {
115
+ i();
116
+ let a = new e.ownerDocument.defaultView.MutationObserver(i);
117
+ return a.observe(e, {
111
118
  childList: !0,
112
119
  subtree: !0,
113
120
  attributes: !0,
114
- attributeFilter: ["href", "tabindex"]
115
- }), t.addEventListener("focus", a, !0), t.addEventListener("pointerenter", a, !0), () => {
116
- o.disconnect(), t.removeEventListener("focus", a, !0), t.removeEventListener("pointerenter", a, !0), r.destroy();
121
+ attributeFilter: [
122
+ "href",
123
+ "tabindex",
124
+ "contenteditable"
125
+ ]
126
+ }), e.addEventListener("focus", i, !0), e.addEventListener("pointerenter", i, !0), () => {
127
+ a.disconnect(), e.removeEventListener("focus", i, !0), e.removeEventListener("pointerenter", i, !0), u.current = s.isOpen, s.destroy();
117
128
  };
118
- }, [e]), /* @__PURE__ */ o("span", {
119
- ref: n,
129
+ }, [
130
+ s,
131
+ e.anchor,
132
+ e.filter
133
+ ]), i(d), /* @__PURE__ */ o("span", {
134
+ ref: t,
120
135
  class: "rv-tooltip-anchor",
121
- children: t
136
+ children: e.children
122
137
  });
123
138
  }
124
139
  function G({ open: e, title: r, closeLabel: s, onClose: c, children: l, footer: u, draggable: d, returnFocus: f }) {
@@ -381,9 +396,9 @@ var Z = {
381
396
  next: T,
382
397
  document: "<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=\"M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z\"/></svg>",
383
398
  open: "<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=\"M56 225.6L32.4 296.2 32.4 96c0-35.3 28.7-64 64-64l138.7 0c13.8 0 27.3 4.5 38.4 12.8l38.4 28.8c5.5 4.2 12.3 6.4 19.2 6.4l117.3 0c35.3 0 64 28.7 64 64l0 16-365.4 0c-41.3 0-78 26.4-91.1 65.6zM477.8 448L99 448c-32.8 0-55.9-32.1-45.5-63.2l48-144C108 221.2 126.4 208 147 208l378.8 0c32.8 0 55.9 32.1 45.5 63.2l-48 144c-6.5 19.6-24.9 32.8-45.5 32.8z\"/></svg>",
384
- search: B,
385
- minus: ne,
386
- plus: te,
399
+ search: V,
400
+ minus: U,
401
+ plus: B,
387
402
  rotate: A,
388
403
  download: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 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 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 210.7-41.4-41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 242.7 256 32zM64 320c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-46.9 0-56.6 56.6c-31.2 31.2-81.9 31.2-113.1 0L110.9 320 64 320zm304 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"/></svg>",
389
404
  print: "<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=\"M64 64C64 28.7 92.7 0 128 0L341.5 0c17 0 33.3 6.7 45.3 18.7l42.5 42.5c12 12 18.7 28.3 18.7 45.3l0 37.5-384 0 0-80zM0 256c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 96c0 17.7-14.3 32-32 32l-32 0 0 64c0 35.3-28.7 64-64 64l-256 0c-35.3 0-64-28.7-64-64l0-64-32 0c-17.7 0-32-14.3-32-32l0-96zM128 416l0 32 256 0 0-96-256 0 0 64zM456 272a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"/></svg>",
@@ -652,7 +667,7 @@ function ue({ id: e, controller: t, state: n, text: r, onClose: a, inputRef: s }
652
667
  onKeyDown: (e) => {
653
668
  e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), a());
654
669
  },
655
- children: [/* @__PURE__ */ o(re, {
670
+ children: [/* @__PURE__ */ o(te, {
656
671
  icon: /* @__PURE__ */ o(u, { svg: Z.search }),
657
672
  inputRef: s,
658
673
  "aria-label": r.search,
@@ -761,7 +776,7 @@ function fe({ state: e, text: n, controller: r, canOpen: i, onOpen: a }) {
761
776
  //#endregion
762
777
  //#region package/pdf-viewer/component.tsx
763
778
  function pe(e) {
764
- let t = r(() => new V(e), [
779
+ let t = r(() => new H(e), [
765
780
  e.workerSrc,
766
781
  e.documentOptions,
767
782
  e.initialPage,
@@ -875,4 +890,4 @@ function $(e) {
875
890
  });
876
891
  }
877
892
  //#endregion
878
- export { ie as a, ce as c, U as d, W as f, K as i, le as l, oe as m, $ as n, H as o, ae as p, Q as r, se as s, pe as t, G as u };
893
+ export { ie as a, ce as c, re as d, W as f, K as i, le as l, oe as m, $ as n, ne as o, ae as p, Q as r, se as s, pe as t, G as u };
@@ -49,7 +49,10 @@ function n(n) {
49
49
  "Combobox",
50
50
  "MultiSelect",
51
51
  "DropdownPopupContent"
52
- ].includes(n) ? e : n === "PdfViewer" ? t : n === "ReorderList" ? {
52
+ ].includes(n) ? e : n === "PdfViewer" ? t : n === "Tooltip" ? { content: {
53
+ prop: "renderContent",
54
+ args: ["context"]
55
+ } } : n === "ReorderList" ? {
53
56
  item: {
54
57
  prop: "renderItem",
55
58
  args: ["item", "index"]
@@ -1,25 +1,25 @@
1
1
  import { c as e, i as t, n } from "./preact.module-DzTStiZX.js";
2
2
  import { t as r } from "./jsxRuntime.module-ksX_VSbv.js";
3
3
  import { SvgIcon as i } from "../icons/icon.js";
4
- import { t as a } from "./native-control-xc_B4vfn.js";
5
- import { t as o } from "./popup-CISbXDnE.js";
4
+ import { t as a } from "./native-control-DjJ8Na3T.js";
5
+ import { t as o } from "./popup-HEUnOeq-.js";
6
6
  import { renderControl as s } from "../control-presentation.js";
7
7
  import "./check-BFIC9pge.js";
8
- import { t as c } from "./plus-BaXticu7.js";
9
- import { SearchInput as l } from "../search-input/index.js";
10
- import { S as u, c as d, p as f, r as p } from "./field-configurator-BWZnm3gE.js";
8
+ import { SearchInput as c } from "../search-input/index.js";
9
+ import { S as l, c as u, p as d, r as f } from "./field-configurator-BMQnmWNd.js";
10
+ import { t as p } from "./plus-BaXticu7.js";
11
11
  import { t as m } from "./calculator-BG0Xd_Uw.js";
12
12
  import "./magnifying-glass-BFZrFs8M.js";
13
13
  import { t as h } from "./configurator-field-icon-B0S_208W.js";
14
14
  //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/gear.svg?raw
15
15
  var g = "<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=\"M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z\"/></svg>", _ = {
16
16
  rows: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 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=\"M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z\"/></svg>",
17
- columns: u,
17
+ columns: l,
18
18
  values: m,
19
19
  filters: "<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=\"M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z\"/></svg>"
20
20
  };
21
21
  function v(t, { icon: n, buttonRef: r, ...i }) {
22
- let a = t, o = n === "plus" ? c : g;
22
+ let a = t, o = n === "plus" ? p : g;
23
23
  return a("div", { class: "pivot-field-action-trigger rv-configurator-action-trigger" }, s(a, "button", {
24
24
  ...i,
25
25
  ref: r,
@@ -36,7 +36,7 @@ function y(t) {
36
36
  return v(e, t);
37
37
  }
38
38
  function b(e) {
39
- return /* @__PURE__ */ r(f, {
39
+ return /* @__PURE__ */ r(d, {
40
40
  ...e,
41
41
  className: `pivot-remove-button ${e.className ?? ""}`
42
42
  });
@@ -69,7 +69,7 @@ function S({ svg: e }) {
69
69
  });
70
70
  }
71
71
  function C({ add: e, clear: t, children: n }) {
72
- return /* @__PURE__ */ r(p, {
72
+ return /* @__PURE__ */ r(f, {
73
73
  className: "pivot-zone-actions",
74
74
  children: [
75
75
  /* @__PURE__ */ r(y, { ...e }),
@@ -97,10 +97,10 @@ function E({ children: e }) {
97
97
  });
98
98
  }
99
99
  function D(e) {
100
- return /* @__PURE__ */ r(l, {
100
+ return /* @__PURE__ */ r(c, {
101
101
  ...e,
102
102
  rootClassName: `rv-configurator-field-search ${e.rootClassName ?? ""}`,
103
- icon: e.icon ?? /* @__PURE__ */ r(d, { svg: "<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=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>" })
103
+ icon: e.icon ?? /* @__PURE__ */ r(u, { svg: "<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=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>" })
104
104
  });
105
105
  }
106
106
  function O({ children: e, emptyText: t }) {
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./jsxRuntime.module-ksX_VSbv.js";
2
2
  import { createPreactElement as t, releasePreactElement as n } from "../preact-mount.js";
3
- import { d as r, u as i } from "./native-control-xc_B4vfn.js";
3
+ import { d as r, u as i } from "./native-control-DjJ8Na3T.js";
4
4
  //#region package/dropdown/control.view.tsx
5
5
  function a(r) {
6
6
  let i, a, o = t(r, /* @__PURE__ */ e("div", { children: [/* @__PURE__ */ e("div", {
@@ -4,9 +4,9 @@ import { t as a } from "./jsxRuntime.module-ksX_VSbv.js";
4
4
  import { createPreactElement as o } from "../preact-mount.js";
5
5
  import { createControlId as s } from "../core/control-id.js";
6
6
  import { t as c } from "./title-tooltip-DKiWhsL7.js";
7
- import { n as l } from "./rating-choice-FhWNdsiC.js";
8
- import { a as u, n as d, t as f } from "./native-control-xc_B4vfn.js";
9
- import { r as p } from "./popup-CISbXDnE.js";
7
+ import { n as l } from "./rating-choice-CtrABPp-.js";
8
+ import { a as u, n as d, t as f } from "./native-control-DjJ8Na3T.js";
9
+ import { r as p } from "./popup-HEUnOeq-.js";
10
10
  import { registerControl as m, renderControl as h } from "../control-presentation.js";
11
11
  import { paginationItems as g, renderPaginationButton as _ } from "../pagination.js";
12
12
  import { n as v, t as y } from "./chevron-right-DZ79RmYV.js";
@@ -405,6 +405,7 @@ function ce() {
405
405
  function le({ count: e, label: t }) {
406
406
  return /* @__PURE__ */ a("span", {
407
407
  class: "rv-count",
408
+ role: "img",
408
409
  "aria-label": t,
409
410
  children: e
410
411
  });
@@ -561,7 +562,7 @@ function ge({ page: n, pageCount: r, onChange: i, label: o, previousLabel: s, ne
561
562
  class: `rv-pagination-pages ${b <= 5 ? "rv-pagination-pages--compact" : ""}`,
562
563
  children: g(x, b, 3).map((t, n) => t === "ellipsis" ? /* @__PURE__ */ a("span", {
563
564
  class: "rv-pagination-ellipsis",
564
- "aria-label": "More pages",
565
+ "aria-hidden": "true",
565
566
  children: "…"
566
567
  }, `gap-${n}`) : _(e, {
567
568
  text: String(t + 1),
@@ -1,6 +1,6 @@
1
1
  import { i as e } from "./hooks.module-CXpO2xq6.js";
2
2
  import { t } from "./jsxRuntime.module-ksX_VSbv.js";
3
- import { n } from "./native-control-xc_B4vfn.js";
3
+ import { n } from "./native-control-DjJ8Na3T.js";
4
4
  import { s as r } from "./iso-CJQl2kmq.js";
5
5
  import { u as i } from "./model-CFrBgRHm.js";
6
6
  //#region internal/dates/src/date-entry.ts