@revolist/ui 4.0.3-rc → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/MIGRATION.md +36 -0
  2. package/OWNERSHIP.md +32 -32
  3. package/README.md +136 -78
  4. package/_button.scss +6 -2
  5. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  6. package/_chunks/calculator-CDWOuAcp.js +4 -0
  7. package/_chunks/{calendar-xpZ0v3xf.js → calendar-CgXQgkga.js} +19 -19
  8. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  9. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  10. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  11. package/_chunks/choice-chips-SkllS5Kl.js +126 -0
  12. package/_chunks/{color-palette-D8vyPfld.js → color-palette-DMJUChWC.js} +20 -22
  13. package/_chunks/color-picker-BpCTuIdm.js +143 -0
  14. package/_chunks/{component-C_T2VN5u.js → component-CfeHXgIw.js} +279 -264
  15. package/_chunks/{component-metadata-BMOOmqx5.js → component-metadata-BKd7U8OW.js} +0 -8
  16. package/_chunks/configurator-actions-DnStE6Yl.js +155 -0
  17. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  18. package/_chunks/{control-AHKXD5Eu.js → control-Dcrjsunl.js} +42 -17
  19. package/_chunks/controls-B_6NJarZ.js +650 -0
  20. package/_chunks/{date-control-DrVFX13g.js → date-control-C4h4m75W.js} +1 -1
  21. package/_chunks/{date-time-qIhp5vaX.js → date-time-CTOSbzb0.js} +317 -278
  22. package/_chunks/dialog.parts-3w5FR06n.js +131 -0
  23. package/_chunks/{duration-CL68Em0o.js → duration-Bf2OS1V5.js} +5 -5
  24. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  25. package/_chunks/field-configurator-D5dZRhDe.js +288 -0
  26. package/_chunks/{framework-mount--RTLIqE-.js → framework-mount-Bk4O_T7T.js} +1 -1
  27. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  28. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  29. package/_chunks/minus-BOAR3A1C.js +4 -0
  30. package/_chunks/mount-BRdcG60g.js +267 -0
  31. package/_chunks/{native.view-ByyZ1CT5.js → native-Blr3byjO.js} +1 -1
  32. package/_chunks/native-control-B_fVA5bL.js +649 -0
  33. package/_chunks/{number-input-BKwA5FnM.js → number-input-CmM6_2vR.js} +7 -7
  34. package/_chunks/{picker-h1P5RUgp.js → picker-DTqET-2W.js} +2 -2
  35. package/_chunks/plus-CbGRkIGl.js +4 -0
  36. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  37. package/_chunks/{popup-CT2uD3go.js → popup-C35Isk7p.js} +115 -104
  38. package/_chunks/{rating-choice-DZgmaic0.js → rating-choice-C-6wcb9U.js} +1 -1
  39. package/_chunks/{reorder-list-CSlqAGHw.js → reorder-list-DIl1gkV6.js} +1 -1
  40. package/_chunks/request-trail-DrhdpWiH.js +762 -0
  41. package/_chunks/rich-text-BnilBbhU.js +842 -0
  42. package/_chunks/rotate-left-BF6G883o.js +4 -0
  43. package/_chunks/selection-list-tooltips-C5oMJe26.js +42 -0
  44. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  45. package/_chunks/tooltip-D4xkio5G.js +54 -0
  46. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  47. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  48. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  49. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  50. package/_dialog.scss +57 -22
  51. package/_form.scss +71 -21
  52. package/_legend.scss +25 -7
  53. package/_shared/data-query/index.d.ts +2 -2
  54. package/_shared/data-query/load-options.d.ts +2 -2
  55. package/_variables.scss +34 -32
  56. package/_view-switcher.scss +6 -0
  57. package/activity-message.d.ts +1 -1
  58. package/ai/_chat.scss +35 -3
  59. package/ai/_style.scss +76 -16
  60. package/ai/chat.d.ts +3 -1
  61. package/ai/components.d.ts +16 -3
  62. package/ai/index.d.ts +1 -0
  63. package/ai/index.js +3 -3
  64. package/ai/mount.d.ts +30 -6
  65. package/ai/request-trail.d.ts +9 -3
  66. package/ai/results/_style.scss +83 -0
  67. package/ai/results/index.d.ts +11 -0
  68. package/ai/results/metrics.d.ts +5 -0
  69. package/ai/results/table.d.ts +5 -0
  70. package/ai/results/text.d.ts +5 -0
  71. package/ai/results/types.d.ts +29 -0
  72. package/ai/transcript.d.ts +2 -0
  73. package/ai/translations.d.ts +1 -1
  74. package/angular/angular.d.ts +1 -1
  75. package/angular/angular.js +13 -7
  76. package/assignee/assignee.scss +28 -6
  77. package/assignee/index.js +2 -2
  78. package/avatar/avatar.style.scss +23 -6
  79. package/avatar/index.d.ts +25 -2
  80. package/avatar/index.js +33 -32
  81. package/badge.d.ts +1 -1
  82. package/badge.view.d.ts +8 -0
  83. package/brush-range/_brush-range.scss +55 -49
  84. package/brush-range/component.d.ts +1 -3
  85. package/brush-range/component.js +27 -27
  86. package/buttons/delete-button.style.scss +6 -2
  87. package/buttons/remove-button.d.ts +1 -1
  88. package/buttons/remove-button.style.scss +1 -1
  89. package/buttons/svg-button.d.ts +1 -1
  90. package/buttons/svg-button.js +16 -16
  91. package/calendar/_calendar.scss +21 -25
  92. package/calendar/calendar.js +1 -1
  93. package/calendar/header.js +1 -2
  94. package/calendar/index.js +2 -2
  95. package/cell-input.scss +3 -7
  96. package/cell-visuals/badge.style.scss +6 -3
  97. package/cell-visuals/bar-chart.style.scss +2 -1
  98. package/cell-visuals/column-type.style.css +12 -0
  99. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  100. package/cell-visuals/progress-line.style.scss +1 -4
  101. package/cell-visuals/sparkline.style.scss +2 -1
  102. package/cell-visuals/timeline.style.css +4 -2
  103. package/checkbox/checkbox.scss +6 -24
  104. package/choice-chips/index.d.ts +3 -1
  105. package/choice-chips/index.js +1 -1
  106. package/color-palette/color-palette.js +1 -1
  107. package/color-palette/color-palette.style.scss +88 -25
  108. package/color-palette/color-picker.js +2 -2
  109. package/color-palette/color-picker.style.scss +23 -10
  110. package/color-palette/common-palettes.d.ts +1 -1
  111. package/color-palette/common-palettes.js +1 -1
  112. package/color-palette/native.d.ts +15 -2
  113. package/component-catalog.d.ts +9 -7
  114. package/configurator-actions.d.ts +67 -0
  115. package/configurator-actions.js +1 -0
  116. package/configurator-aggregation-list.d.ts +14 -0
  117. package/configurator-aggregation-list.js +63 -0
  118. package/configurator-drop-zone.d.ts +39 -0
  119. package/configurator-drop-zone.js +66 -0
  120. package/configurator-field-icon.d.ts +10 -0
  121. package/configurator-field-icon.js +1 -0
  122. package/configurator-focus.d.ts +4 -0
  123. package/configurator-focus.js +39 -0
  124. package/configurator-sections.d.ts +42 -0
  125. package/configurator-sections.js +71 -0
  126. package/control-presentation.d.ts +8 -2
  127. package/control-presentation.js +25 -20
  128. package/controls.d.ts +12 -2
  129. package/controls.js +4 -3
  130. package/core/editor-popup-position.d.ts +6 -2
  131. package/core/editor-popup.d.ts +4 -0
  132. package/core/editor-popup.js +1 -1
  133. package/core/popover-controller.d.ts +35 -0
  134. package/core/popup-ownership.d.ts +2 -0
  135. package/core/selection-list-tooltips.d.ts +2 -0
  136. package/core/title-tooltip.d.ts +2 -0
  137. package/core/tooltip-session.d.ts +29 -0
  138. package/core/tooltip-surface.d.ts +13 -0
  139. package/core/tooltip-text.d.ts +6 -0
  140. package/core/tooltip.d.ts +35 -0
  141. package/core/top-layer-popup.d.ts +4 -0
  142. package/core/top-layer-popup.js +1 -23
  143. package/date-time/attach.d.ts +1 -1
  144. package/date-time/date-control.d.ts +1 -1
  145. package/date-time/field.d.ts +3 -2
  146. package/date-time/index.js +1 -1
  147. package/date-time/style.scss +239 -36
  148. package/date-time/time-selection.d.ts +3 -1
  149. package/date-time/types.d.ts +5 -1
  150. package/dialog/dialog-action-footer.d.ts +17 -2
  151. package/dialog/dialog.dom.d.ts +15 -2
  152. package/dialog/dialog.dom.js +9 -9
  153. package/dialog/dialog.parts.d.ts +1 -1
  154. package/dialog/dialog.parts.js +1 -1
  155. package/distribution-chart/_distribution-chart.scss +113 -77
  156. package/distribution-chart/area-chart.js +1 -1
  157. package/distribution-chart/bar-chart.js +1 -1
  158. package/distribution-chart/chart-frame.d.ts +1 -1
  159. package/distribution-chart/index.d.ts +1 -1
  160. package/distribution-chart/line-chart.js +1 -1
  161. package/dropdown/content.js +1 -1
  162. package/dropdown/control.js +1 -1
  163. package/dropdown/dropdown.types.d.ts +1 -1
  164. package/dropdown/editor-dropdown.style.scss +19 -9
  165. package/dropdown/index.js +2 -2
  166. package/dropdown/lookup-field.d.ts +5 -0
  167. package/dropdown/lookup-field.js +2 -1
  168. package/dropdown/popup.d.ts +2 -2
  169. package/dropdown/popup.js +1 -1
  170. package/duration/index.js +1 -1
  171. package/editor-actions.js +1 -1
  172. package/editor-layout/index.d.ts +4 -4
  173. package/editor-layout/index.js +39 -34
  174. package/editor-layout/style.scss +82 -18
  175. package/field-configurator.d.ts +39 -1
  176. package/field-configurator.js +4 -170
  177. package/field-expansion.d.ts +9 -0
  178. package/filter/filters/slider/_single-slider.scss +57 -38
  179. package/filter/filters/slider/_slider.scss +41 -33
  180. package/filter/filters/slider/control.js +2 -0
  181. package/filter/filters/slider/runtime.js +49 -22
  182. package/filter/filters/slider/single.js +1 -1
  183. package/filter-badge.js +1 -1
  184. package/filter-controls.d.ts +0 -1
  185. package/filter-controls.js +5 -6
  186. package/form-controls/index.d.ts +10 -2
  187. package/form-controls/index.js +7 -7
  188. package/form-controls/presentation.d.ts +1 -1
  189. package/form-controls/presentation.js +12 -12
  190. package/formatting/index.d.ts +1 -1
  191. package/formatting/index.js +22 -21
  192. package/formatting/styles.scss +14 -57
  193. package/framework.js +227 -224
  194. package/history-controls.js +27 -1
  195. package/icon-toolbar.d.ts +62 -0
  196. package/icon-toolbar.js +1 -0
  197. package/icons/icon.d.ts +1 -1
  198. package/legend.d.ts +1 -1
  199. package/masked-input/index.js +1 -1
  200. package/native-control.d.ts +1 -2
  201. package/native-control.js +1 -1
  202. package/native-controls.d.ts +54 -2
  203. package/native-styles.css +1 -1
  204. package/native-styles.scss +6 -2
  205. package/native.d.ts +3 -3
  206. package/native.js +46 -43
  207. package/number-input/index.d.ts +1 -1
  208. package/number-input/index.js +1 -1
  209. package/package.json +71 -2
  210. package/pagination.js +11 -11
  211. package/pdf-viewer/header.d.ts +1 -1
  212. package/pdf-viewer/index.d.ts +2 -2
  213. package/pdf-viewer/index.js +1 -1
  214. package/pdf-viewer/search-bar.d.ts +1 -1
  215. package/pdf-viewer/status.d.ts +1 -1
  216. package/pdf-viewer/style.scss +203 -42
  217. package/pickers.d.ts +5 -1
  218. package/preact-mount.js +1 -1
  219. package/preact.d.ts +13 -10
  220. package/preact.js +109 -64
  221. package/progress/_bar.scss +9 -3
  222. package/progress/_circular.scss +2 -1
  223. package/rating-choice.js +1 -1
  224. package/react-adapter.d.ts +4 -2
  225. package/react-control.d.ts +2 -0
  226. package/react-control.js +2 -2
  227. package/react.d.ts +7 -8
  228. package/react.js +67 -66
  229. package/reorder-list.d.ts +1 -1
  230. package/reorder-list.js +1 -1
  231. package/reorder-list.scss +59 -17
  232. package/resource-picker/resource-picker-popup.js +1 -1
  233. package/resource-picker/resource-picker.js +74 -72
  234. package/resource-picker/resource-picker.scss +62 -34
  235. package/rich-text/engine.d.ts +1 -0
  236. package/rich-text/format-html.d.ts +2 -0
  237. package/rich-text/index.d.ts +4 -0
  238. package/rich-text/index.js +1 -1
  239. package/rich-text/model.d.ts +2 -0
  240. package/rich-text/style.scss +293 -44
  241. package/rich-text/syntax.d.ts +5 -0
  242. package/rich-text/toolbar.d.ts +1 -1
  243. package/rich-text/translations.d.ts +2 -0
  244. package/search-input/index.js +1 -1
  245. package/search-input/native.d.ts +21 -2
  246. package/select.d.ts +3 -1
  247. package/select.js +1 -1
  248. package/selection-list.d.ts +1 -0
  249. package/selection-list.js +3 -1
  250. package/status-feedback/exit-snapshot.js +4 -4
  251. package/status-feedback/popover.js +4 -4
  252. package/status-feedback/status-feedback.scss +124 -35
  253. package/styles/_activity-message.scss +24 -7
  254. package/styles/_alert.scss +78 -17
  255. package/styles/_cell-editor-frame.scss +11 -0
  256. package/styles/_compositions.scss +400 -80
  257. package/styles/_control.scss +30 -8
  258. package/styles/_disclosure.scss +15 -5
  259. package/styles/_editor-counter.scss +16 -6
  260. package/styles/_editor-slider.scss +8 -4
  261. package/styles/_field-configurator.scss +321 -23
  262. package/styles/_fields-grid.scss +49 -0
  263. package/styles/_filter-controls.scss +10 -2
  264. package/styles/_icon-action.scss +48 -15
  265. package/styles/_loading.scss +12 -3
  266. package/styles/_motion.scss +32 -9
  267. package/styles/_palette.scss +0 -24
  268. package/styles/_primitives.scss +369 -110
  269. package/styles/_theme.scss +130 -86
  270. package/styles/_thresholds.scss +28 -25
  271. package/styles/_time-grid.scss +8 -3
  272. package/styles/_tokens.scss +6 -1
  273. package/styles/configurator-actions.scss +241 -0
  274. package/styles/pagination.css +213 -0
  275. package/styles/{legacy-rating.css → rating.css} +8 -3
  276. package/styles.css +1 -1
  277. package/styles.scss +3 -5
  278. package/surfaces.d.ts +38 -2
  279. package/surfaces.js +37 -134
  280. package/svelte/UiComponent.svelte +44 -11
  281. package/svelte.d.ts +1 -1
  282. package/svelte.js +3 -3
  283. package/switch/index.js +15 -14
  284. package/time-grid.d.ts +0 -1
  285. package/time-grid.js +38 -37
  286. package/timeline-track/_style.scss +96 -24
  287. package/timeline-track/index.js +2 -2
  288. package/ui.css +1 -1
  289. package/view-switcher.d.ts +23 -0
  290. package/vue.d.ts +29 -32
  291. package/vue.js +116 -121
  292. package/_chunks/chart-frame-Cmc7xU1i.js +0 -130
  293. package/_chunks/choice-chips-CHQTUdLs.js +0 -110
  294. package/_chunks/color-picker-CudqPYZo.js +0 -138
  295. package/_chunks/control-tooltip-uscKfAnV.js +0 -100
  296. package/_chunks/controls-DsNi8V8I.js +0 -630
  297. package/_chunks/dialog.parts-CKGkC5zP.js +0 -134
  298. package/_chunks/editor-popup-WDdtVDNA.js +0 -81
  299. package/_chunks/history-controls-B3u3INEK.js +0 -27
  300. package/_chunks/mount-DQ1cpppK.js +0 -257
  301. package/_chunks/native-control-C_yok8_-.js +0 -605
  302. package/_chunks/request-trail-DSlFix6i.js +0 -618
  303. package/_chunks/rich-text-CH7gIqOS.js +0 -636
  304. package/avatar/index.view.d.ts +0 -25
  305. package/color-palette/native.view.d.ts +0 -15
  306. package/control-presentation.view.d.ts +0 -8
  307. package/dialog/dialog-action-footer.view.d.ts +0 -20
  308. package/dialog/dialog.dom.view.d.ts +0 -15
  309. package/form-controls/index.view.d.ts +0 -10
  310. package/formatting/control-tooltip.d.ts +0 -27
  311. package/native-controls.view.d.ts +0 -54
  312. package/search-input/native.view.d.ts +0 -21
  313. package/styles/legacy-pagination.css +0 -112
  314. package/surfaces.view.d.ts +0 -63
@@ -1,7 +1,7 @@
1
1
  import { i as e, n as t, t as n } from "./hooks.module-CG3gN83z.js";
2
2
  import { t as r } from "./jsxRuntime.module-F6UFnpT-.js";
3
- import { l as i, t as a } from "./native-control-C_yok8_-.js";
4
- import { createControlId as o } from "../core/control-id.js";
3
+ import { createControlId as i } from "../core/control-id.js";
4
+ import { l as a, t as o } from "./native-control-B_fVA5bL.js";
5
5
  import { DEFAULT_CALENDAR_TRANSLATIONS as s } from "../calendar/translations.js";
6
6
  import { a as c, n as l } from "./iso-B0YHBK7m.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-mPO2tG2f.js";
@@ -9,7 +9,7 @@ import { CalendarHeader as ee, CalendarWeekdays as te } from "../calendar/header
9
9
  import { CalendarMonthGrid as x } from "../calendar/month-grid.js";
10
10
  import { CalendarYearGrid as ne } from "../calendar/year-grid.js";
11
11
  //#region src/calendar/caption.tsx
12
- function re({ month: e, system: n, locale: a, layout: o, start: s, end: c, disabled: l, labels: u, onChange: d }) {
12
+ function re({ month: e, system: n, locale: i, layout: o, start: s, end: c, disabled: l, labels: u, onChange: d }) {
13
13
  let h = m(e, n), g = f(e, n), _ = t(() => {
14
14
  let t = m(e, n)[0], r = s ? m(s, n)[0] : v(t, -600, n), i = c ? m(c, n)[0] : v(t, 120, n), a = [];
15
15
  for (let e = r; e <= i; e = v(e, 12, n)) a.push(e);
@@ -22,7 +22,7 @@ function re({ month: e, system: n, locale: a, layout: o, start: s, end: c, disab
22
22
  ]);
23
23
  return /* @__PURE__ */ r("div", {
24
24
  class: "revo-calendar__caption",
25
- children: [o === "dropdown-years" ? /* @__PURE__ */ r("span", { children: b(e, a, { month: "long" }, n) }) : /* @__PURE__ */ r(i, {
25
+ children: [o === "dropdown-years" ? /* @__PURE__ */ r("span", { children: b(e, i, { month: "long" }, n) }) : /* @__PURE__ */ r(a, {
26
26
  className: "rv-select",
27
27
  config: {
28
28
  ariaLabel: u.chooseMonth,
@@ -33,11 +33,11 @@ function re({ month: e, system: n, locale: a, layout: o, start: s, end: c, disab
33
33
  value: String(g.month),
34
34
  source: h.map((e, t) => ({
35
35
  value: String(t + 1),
36
- label: b(e, a, { month: "short" }, n),
36
+ label: b(e, i, { month: "short" }, n),
37
37
  disabled: !!(s && e < p(s, n) || c && e > p(c, n))
38
38
  })),
39
39
  onChange: (e) => d(h[Number(e) - 1])
40
- }), o === "dropdown-months" ? /* @__PURE__ */ r("span", { children: b(e, a, { year: "numeric" }, n) }) : /* @__PURE__ */ r(i, {
40
+ }), o === "dropdown-months" ? /* @__PURE__ */ r("span", { children: b(e, i, { year: "numeric" }, n) }) : /* @__PURE__ */ r(a, {
41
41
  className: "rv-select",
42
42
  config: {
43
43
  ariaLabel: u.chooseYear,
@@ -48,7 +48,7 @@ function re({ month: e, system: n, locale: a, layout: o, start: s, end: c, disab
48
48
  value: h[0],
49
49
  source: _.map((e) => ({
50
50
  value: e,
51
- label: b(e, a, { year: "numeric" }, n)
51
+ label: b(e, i, { year: "numeric" }, n)
52
52
  })),
53
53
  onChange: (e) => {
54
54
  let t = v(e, g.month - 1, n);
@@ -60,8 +60,8 @@ function re({ month: e, system: n, locale: a, layout: o, start: s, end: c, disab
60
60
  //#endregion
61
61
  //#region src/calendar/calendar.tsx
62
62
  var ie = "2026-08-02";
63
- function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1, allowOutsideMonthSelection: S = !1, fixedWeeks: ae = !0, showTodayButton: oe = !1, showHeader: se = !0, showNavigation: C = !0, showPreviousButton: ce = C, showNextButton: le = C, showMonthLabel: ue = !0, showWeekdays: de = !0, enableYearView: w = !0, translations: fe = {}, ...T }) {
64
- let [E] = e(() => o("rv-calendar-feedback")), D = T.calendarSystem ?? "gregory", O = Math.max(1, Math.min(12, Math.trunc(T.numberOfMonths || 1))), k = t(() => {
63
+ function S({ locale: a = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1, allowOutsideMonthSelection: S = !1, fixedWeeks: ae = !0, showTodayButton: oe = !1, showHeader: se = !0, showNavigation: C = !0, showPreviousButton: ce = C, showNextButton: le = C, showMonthLabel: ue = !0, showWeekdays: de = !0, enableYearView: w = !0, translations: fe = {}, ...T }) {
64
+ let [E] = e(() => i("rv-calendar-feedback")), D = T.calendarSystem ?? "gregory", O = Math.max(1, Math.min(12, Math.trunc(T.numberOfMonths || 1))), k = t(() => {
65
65
  let e = T.views ? [...new Set(T.views.filter((e) => e === "month" || e === "year"))] : w ? ["month", "year"] : ["month"];
66
66
  return e.length ? e : ["month"];
67
67
  }, [T.views, w]), [A, pe] = e(T.defaultView && k.includes(T.defaultView) ? T.defaultView : k[0]), j = k.includes(A) ? A : k[0], M = p(T.month, D), N = t(() => Array.from({ length: O }, (e, t) => v(M, t, D)), [
@@ -121,7 +121,7 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
121
121
  let e = F.current.get(r);
122
122
  e && (I.current = !1, e.focus());
123
123
  }));
124
- }, q = (e) => T.formatMonth?.(e, i) ?? b(e, i, {
124
+ }, q = (e) => T.formatMonth?.(e, a) ?? b(e, a, {
125
125
  month: "long",
126
126
  year: "numeric"
127
127
  }, D), J = j === "year", Y = J ? 12 : T.pagedNavigation ? O : 1, X = H(v(M, -Y, D), J ? 1 : O), Z = H(v(M, Y, D), J ? 1 : O), Q = (e, t = J ? 1 : O) => {
@@ -140,13 +140,13 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
140
140
  children: (J ? [M] : me).map((e, t) => /* @__PURE__ */ r("section", {
141
141
  class: "revo-calendar__month-panel",
142
142
  children: [se && /* @__PURE__ */ r(ee, {
143
- label: J ? b(e, i, { year: "numeric" }, D) : q(e),
143
+ label: J ? b(e, a, { year: "numeric" }, D) : q(e),
144
144
  previousLabel: J ? L.previousYear : L.previousMonth,
145
145
  nextLabel: J ? L.nextYear : L.nextMonth,
146
146
  caption: !J && T.captionLayout && T.captionLayout !== "label" ? /* @__PURE__ */ r(re, {
147
147
  month: e,
148
148
  system: D,
149
- locale: i,
149
+ locale: a,
150
150
  layout: T.captionLayout,
151
151
  start: z,
152
152
  end: B,
@@ -172,8 +172,8 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
172
172
  minDate: T.minDate,
173
173
  maxDate: T.maxDate,
174
174
  isMonthDisabled: T.isMonthDisabled,
175
- locale: i,
176
- ariaLabel: `${L.chooseMonth} ${b(M, i, { year: "numeric" }, D)}`,
175
+ locale: a,
176
+ ariaLabel: `${L.chooseMonth} ${b(M, a, { year: "numeric" }, D)}`,
177
177
  onEscape: () => G("month"),
178
178
  onSelect: (e) => {
179
179
  Q(e, O), G("month");
@@ -184,7 +184,7 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
184
184
  "aria-label": `${q(e)} ${L.calendar}`,
185
185
  children: [de && /* @__PURE__ */ r(te, {
186
186
  dates: he,
187
- locale: i,
187
+ locale: a,
188
188
  format: T.formatWeekday ?? ((e, t) => b(e, t, { weekday: /^(fa|ar)(-|$)/.test(t) ? "narrow" : "short" }, D)),
189
189
  weekNumberLabel: T.showWeekNumber ? L.weekNumber : void 0
190
190
  }), /* @__PURE__ */ r(x, {
@@ -202,9 +202,9 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
202
202
  showOutsideDays: m,
203
203
  allowOutsideMonthSelection: S,
204
204
  dayClassName: T.dayClassName,
205
- renderDay: T.renderDay ?? ((e) => b(e, i, { day: "numeric" }, D)),
205
+ renderDay: T.renderDay ?? ((e) => b(e, a, { day: "numeric" }, D)),
206
206
  isDisabled: W,
207
- formatDayLabel: (e) => T.formatDayLabel?.(e, i) ?? b(e, i, {
207
+ formatDayLabel: (e) => T.formatDayLabel?.(e, a) ?? b(e, a, {
208
208
  weekday: "long",
209
209
  month: "long",
210
210
  day: "numeric",
@@ -212,7 +212,7 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
212
212
  }, D),
213
213
  weekNumber: T.showWeekNumber ? (e) => {
214
214
  let t = d(T.weekNumbering === "local" ? e : g(e, (4 - c(e) + 7) % 7), T.weekNumbering === "local" ? f : 1, T.weekNumbering === "local" ? 1 : 4, T.weekNumbering === "local" ? D : "gregory");
215
- return T.formatWeekNumber?.(t) ?? new Intl.NumberFormat(i).format(t);
215
+ return T.formatWeekNumber?.(t) ?? new Intl.NumberFormat(a).format(t);
216
216
  } : void 0,
217
217
  weekNumberLabel: L.weekNumber,
218
218
  setDayRef: _e,
@@ -226,7 +226,7 @@ function S({ locale: i = "en-US", weekStartsOn: f = 1, showOutsideDays: m = !1,
226
226
  }),
227
227
  T.presets?.length ? /* @__PURE__ */ r("div", {
228
228
  class: "revo-calendar__presets",
229
- children: T.presets.map((e) => /* @__PURE__ */ r(a, {
229
+ children: T.presets.map((e) => /* @__PURE__ */ r(o, {
230
230
  disabled: W(e.date),
231
231
  onClick: () => $(e.date),
232
232
  children: e.label
@@ -0,0 +1,145 @@
1
+ import { i as e } from "./preact.module-BBM36DnO.js";
2
+ import { i as t, t as n } from "./hooks.module-CG3gN83z.js";
3
+ import { t as r } from "./jsxRuntime.module-F6UFnpT-.js";
4
+ import { r as i } from "./tooltip-D4xkio5G.js";
5
+ import { t as a } from "./tooltip-text-BXsUEmBH.js";
6
+ //#region src/distribution-chart/geometry.ts
7
+ function o(e) {
8
+ let t = e.map(({ value: e }) => Number.isFinite(e) ? Math.max(0, e) : 0), n = Math.max(1, ...t);
9
+ return {
10
+ values: t,
11
+ max: n,
12
+ points: t.map((t, r) => ({
13
+ x: e.length <= 1 ? 50 : r / (e.length - 1) * 100,
14
+ y: 96 - t / n * 88
15
+ }))
16
+ };
17
+ }
18
+ function s(e, t) {
19
+ return t === "step" ? `H ${e.x} V ${e.y}` : `L ${e.x} ${e.y}`;
20
+ }
21
+ function c(e, t, n = "linear") {
22
+ return `M ${e.x} ${e.y} ${s(t, n)}`;
23
+ }
24
+ //#endregion
25
+ //#region src/distribution-chart/chart-frame.tsx
26
+ function l({ title: e, details: t = [] }) {
27
+ return [e, ...t].filter(Boolean).join(". ");
28
+ }
29
+ function u({ title: t, details: n = [] }) {
30
+ return /* @__PURE__ */ r(e, { children: [/* @__PURE__ */ r("strong", { children: t }), n.map((e) => /* @__PURE__ */ r("span", { children: e }, e))] });
31
+ }
32
+ function d({ data: e, ariaLabel: i, variant: s, height: c = 72, className: d = "", showGrid: f = !1, showLabels: m = !1, showValues: h = !1, legend: g, formatValue: _ = String, tooltip: v = !0, tooltipIndicator: y = "none", renderTooltip: b, positions: x, datumColors: S, renderDatum: C, children: w }) {
33
+ let { values: T, max: E } = o(e), [D, O] = t(0), k = n([]), A = Math.min(D, Math.max(0, e.length - 1)), j = (t) => {
34
+ if (!e.length) return;
35
+ let n = Math.max(0, Math.min(t, e.length - 1));
36
+ O(n), k.current[n]?.focus();
37
+ };
38
+ return /* @__PURE__ */ r("div", {
39
+ class: `rv-distribution-chart rv-distribution-chart--${s} ${d}`.trim(),
40
+ role: "group",
41
+ "aria-label": i,
42
+ "data-empty": e.length ? void 0 : "true",
43
+ children: [
44
+ /* @__PURE__ */ r("div", {
45
+ class: "rv-distribution-chart__region",
46
+ style: { height: `${Math.max(40, Math.min(240, c))}px` },
47
+ children: [
48
+ f && /* @__PURE__ */ r("div", {
49
+ class: "rv-distribution-chart__grid",
50
+ "aria-hidden": "true",
51
+ children: [
52
+ 0,
53
+ 1,
54
+ 2,
55
+ 3,
56
+ 4
57
+ ].map((e) => /* @__PURE__ */ r("span", {}, e))
58
+ }),
59
+ w,
60
+ /* @__PURE__ */ r("div", {
61
+ class: "rv-distribution-chart__data",
62
+ role: "list",
63
+ children: e.map((t, n) => {
64
+ let i = x?.[n], a = !i;
65
+ return /* @__PURE__ */ r(p, {
66
+ indicator: y,
67
+ tooltipText: v ? l(t.tooltip) : void 0,
68
+ tooltipContent: b ? b(t, n) : u(t.tooltip),
69
+ datumRef: (e) => {
70
+ k.current[n] = e;
71
+ },
72
+ class: `rv-distribution-chart__datum${t.selected ? " is-selected" : ""}${a ? " is-bar" : " is-point"}`,
73
+ role: "listitem",
74
+ tabIndex: n === A ? 0 : -1,
75
+ "aria-label": l(t.tooltip),
76
+ style: {
77
+ "--rv-distribution-accent": S?.[n],
78
+ ...a ? {} : {
79
+ left: `${i.x}%`,
80
+ top: `${i.y}%`
81
+ }
82
+ },
83
+ onFocus: () => O(n),
84
+ onKeyDown: (t) => {
85
+ t.key === "ArrowRight" || t.key === "ArrowDown" ? (t.preventDefault(), j(n + 1)) : t.key === "ArrowLeft" || t.key === "ArrowUp" ? (t.preventDefault(), j(n - 1)) : t.key === "Home" ? (t.preventDefault(), j(0)) : t.key === "End" && (t.preventDefault(), j(e.length - 1));
86
+ },
87
+ children: [C(t, n), h && /* @__PURE__ */ r("span", {
88
+ class: "rv-distribution-chart__value",
89
+ style: a ? {
90
+ top: `${100 - Math.max(3, T[n] / E * 100)}%`,
91
+ transform: "translate(-50%, -100%)"
92
+ } : void 0,
93
+ "aria-hidden": "true",
94
+ children: _(t.value)
95
+ })]
96
+ }, t.key);
97
+ })
98
+ })
99
+ ]
100
+ }),
101
+ m && /* @__PURE__ */ r("div", {
102
+ class: `rv-distribution-chart__labels${s === "bar" ? " is-bar" : ""}`,
103
+ "aria-hidden": "true",
104
+ children: e.map((e) => /* @__PURE__ */ r(a, {
105
+ title: e.tooltip.title,
106
+ children: e.tooltip.title
107
+ }, e.key))
108
+ }),
109
+ g && /* @__PURE__ */ r("div", {
110
+ class: "rv-distribution-chart__legend",
111
+ children: [/* @__PURE__ */ r("i", { "aria-hidden": "true" }), g]
112
+ })
113
+ ]
114
+ });
115
+ }
116
+ function f({ children: e }) {
117
+ return /* @__PURE__ */ r("svg", {
118
+ class: "rv-distribution-chart__plot",
119
+ viewBox: "0 0 100 100",
120
+ preserveAspectRatio: "none",
121
+ "aria-hidden": "true",
122
+ focusable: "false",
123
+ children: e
124
+ });
125
+ }
126
+ function p({ tooltipText: t, tooltipContent: n, indicator: a, children: o, onFocus: s, onKeyDown: c, datumRef: l, ...u }) {
127
+ let d = i(t ?? "", !0, {
128
+ className: `rv-distribution-chart__tooltip rv-distribution-chart__tooltip--${a}`,
129
+ content: /* @__PURE__ */ r(e, { children: [a !== "none" && /* @__PURE__ */ r("i", { "aria-hidden": "true" }), n] })
130
+ });
131
+ return /* @__PURE__ */ r("span", {
132
+ ref: l,
133
+ ...u,
134
+ ...t ? d.triggerProps : {},
135
+ onKeyDown: (e) => {
136
+ d.triggerProps.onKeyDown(e), e.defaultPrevented || c?.(e);
137
+ },
138
+ onFocus: (e) => {
139
+ s?.(e), t && d.triggerProps.onFocus(e);
140
+ },
141
+ children: [o, t && d.tooltip]
142
+ });
143
+ }
144
+ //#endregion
145
+ export { c as i, f as n, o as r, d as t };
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/chevron-right.svg?raw
2
- var e = "<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=\"M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/></svg>";
1
+ //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/check.svg?raw
2
+ var e = "<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=\"M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z\"/></svg>";
3
3
  //#endregion
4
4
  export { e as t };
@@ -1,4 +1,4 @@
1
1
  //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/chevron-left.svg?raw
2
- var e = "<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=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/></svg>";
2
+ var e = "<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=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/></svg>", t = "<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=\"M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/></svg>";
3
3
  //#endregion
4
- export { e as t };
4
+ export { e as n, t };
@@ -0,0 +1,126 @@
1
+ import { i as e, r 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 } from "./popover-controller-D-AvKQ7B.js";
4
+ import { SvgIcon as a } from "../icons/icon.js";
5
+ import { t as o } from "./native-control-B_fVA5bL.js";
6
+ import { RemoveButton as s } from "../buttons/remove-button.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 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>";
9
+ //#endregion
10
+ //#region src/choice-chips/index.tsx
11
+ function l({ value: i, options: a, onChange: o, ariaLabel: s, appearance: c = "soft", scrollable: l = !1, size: u = "medium", className: f = "", itemClassName: p = "", disabled: m = !1, testId: h }) {
12
+ let g = n(null), [_, v] = e(""), y = () => {
13
+ let e = g.current;
14
+ if (!l || !e) return;
15
+ let t = e.scrollLeft > 1, n = e.scrollWidth - e.clientWidth - e.scrollLeft > 1;
16
+ v(`${t ? "left" : ""} ${n ? "right" : ""}`.trim());
17
+ };
18
+ t(() => {
19
+ if (!l || !g.current || (y(), typeof ResizeObserver > "u")) return;
20
+ let e = new ResizeObserver(y);
21
+ e.observe(g.current);
22
+ for (let t of g.current.children) e.observe(t);
23
+ return () => e.disconnect();
24
+ }, [l, a]);
25
+ let b = Array.isArray(i) ? i : i === void 0 ? [] : [i];
26
+ return /* @__PURE__ */ r("div", {
27
+ ref: g,
28
+ onScroll: l ? y : void 0,
29
+ "data-scroll-edges": l ? _ : void 0,
30
+ class: `rv-choice-chips rv-choice-chips--${c} rv-choice-chips--${u}${l ? " rv-choice-chips--scrollable" : ""} ${f}`.trim(),
31
+ role: "group",
32
+ "aria-label": s,
33
+ "data-testid": h,
34
+ children: a.map((e) => {
35
+ let t = b.includes(e.value), n = m || !!e.disabled;
36
+ return /* @__PURE__ */ r(d, {
37
+ className: `${p} ${e.className ?? ""}`.trim(),
38
+ style: e.style,
39
+ color: e.color,
40
+ selected: t,
41
+ "aria-label": e.ariaLabel,
42
+ title: e.title,
43
+ disabled: n,
44
+ "data-value": String(e.value),
45
+ "data-testid": e.testId,
46
+ onSelect: () => {
47
+ n || o(e.value, e);
48
+ },
49
+ info: e.info,
50
+ onRemove: e.onRemove,
51
+ removeLabel: e.removeLabel,
52
+ children: e.label
53
+ }, String(e.value));
54
+ })
55
+ });
56
+ }
57
+ function u({ "data-tooltip": e, title: s, ref: l, ...u }) {
58
+ let d = n(null), f = e ?? (typeof s == "object" ? s.value : s);
59
+ return t(() => {
60
+ if (!d.current || !f) return;
61
+ let e = new i();
62
+ return e.bind(d.current, f, { trigger: "click" }), () => e.destroy();
63
+ }, [f]), /* @__PURE__ */ r(o, {
64
+ ...u,
65
+ type: "button",
66
+ ref: (e) => {
67
+ d.current = e, typeof l == "function" ? l(e) : l && (l.current = e);
68
+ },
69
+ class: `rv-choice-chip-info ${u.className ?? u.class ?? ""}`.trim(),
70
+ children: /* @__PURE__ */ r(a, {
71
+ svg: c,
72
+ size: 12
73
+ })
74
+ });
75
+ }
76
+ function d({ children: e, color: t, selected: n, onSelect: i, info: a, onRemove: o, removeLabel: c, removeClassName: l = "", className: u = "", disabled: d, ...f }) {
77
+ let p = t ? typeof f.style == "string" ? `${f.style};--rv-choice-chip-color:${t}` : {
78
+ ...f.style,
79
+ "--rv-choice-chip-color": t
80
+ } : f.style;
81
+ return !a && !o && i ? /* @__PURE__ */ r("button", {
82
+ ...f,
83
+ style: p,
84
+ "data-color": t ? "true" : void 0,
85
+ type: "button",
86
+ class: `rv-choice-chip ${u}`.trim(),
87
+ "aria-pressed": n,
88
+ disabled: d,
89
+ onClick: i,
90
+ children: e
91
+ }) : /* @__PURE__ */ r("span", {
92
+ class: `rv-choice-chip rv-choice-chip--composite ${u}`.trim(),
93
+ role: f.role,
94
+ style: p,
95
+ "data-color": t ? "true" : void 0,
96
+ "data-selected": n ? "true" : void 0,
97
+ "aria-disabled": d || void 0,
98
+ children: [
99
+ i ? /* @__PURE__ */ r("button", {
100
+ ...f,
101
+ type: "button",
102
+ class: "rv-choice-chip-label",
103
+ "aria-pressed": n,
104
+ disabled: d,
105
+ onClick: i,
106
+ children: e
107
+ }) : /* @__PURE__ */ r("span", {
108
+ class: "rv-choice-chip-label",
109
+ children: e
110
+ }),
111
+ a,
112
+ o && /* @__PURE__ */ r(s, {
113
+ compact: !0,
114
+ className: l,
115
+ disabled: typeof d == "object" ? d.value : d,
116
+ locale: {
117
+ title: c ?? "Remove",
118
+ ariaLabel: c ?? "Remove"
119
+ },
120
+ onClick: o
121
+ })
122
+ ]
123
+ });
124
+ }
125
+ //#endregion
126
+ export { u as n, l as r, d as t };
@@ -1,13 +1,14 @@
1
1
  import { t as e } from "./jsxRuntime.module-F6UFnpT-.js";
2
- import { n as t } from "./control-tooltip-uscKfAnV.js";
3
- import { DEFAULT_COLOR_PALETTE_OPTIONS as n } from "../color-palette/palette.js";
2
+ import { n as t } from "./tooltip-D4xkio5G.js";
3
+ import { t as n } from "./check-BwI7iCAm.js";
4
+ import { DEFAULT_COLOR_PALETTE_OPTIONS as r } from "../color-palette/palette.js";
4
5
  //#region src/color-palette/color-model.ts
5
- function r(e) {
6
+ function i(e) {
6
7
  if (!e) return;
7
8
  let t = e.trim().toLowerCase(), n = /^#([\da-f])([\da-f])([\da-f])$/i.exec(t);
8
9
  return n ? `#${n[1]}${n[1]}${n[2]}${n[2]}${n[3]}${n[3]}` : /^#[\da-f]{6}$/i.test(t) ? t : void 0;
9
10
  }
10
- function i(e) {
11
+ function a(e) {
11
12
  if (![
12
13
  "ArrowRight",
13
14
  "ArrowDown",
@@ -22,38 +23,35 @@ function i(e) {
22
23
  e.preventDefault(), r[a]?.focus();
23
24
  }
24
25
  //#endregion
25
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/check.svg?raw
26
- var a = "<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=\"M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z\"/></svg>";
27
- //#endregion
28
26
  //#region src/color-palette/color-palette.tsx
29
- function o({ value: t, options: r = n, ariaLabel: o, defaultLabel: c, colorAriaLabel: l, disabled: u = !1, includeDefault: d = !0, defaultDisabled: f = !1, onChange: p }) {
30
- let m = r.findIndex((e) => e.value === t && !e.disabled), h = r.findIndex((e) => !e.disabled), g = d && !f, _ = i;
27
+ function o({ value: t, options: i = r, ariaLabel: o, defaultLabel: c, colorAriaLabel: l, disabled: u = !1, includeDefault: d = !0, defaultDisabled: f = !1, onChange: p }) {
28
+ let m = i.findIndex((e) => e.value === t && !e.disabled), h = i.findIndex((e) => !e.disabled), g = d && !f, _ = a;
31
29
  return /* @__PURE__ */ e("div", {
32
30
  class: "rv-color-palette",
33
31
  role: "radiogroup",
34
32
  "aria-label": o,
35
33
  children: [/* @__PURE__ */ e("div", {
36
34
  class: "rv-color-palette__swatches",
37
- children: r.map((n, r) => {
38
- let i = n.value === t, o = l(n);
35
+ children: i.map((r, i) => {
36
+ let a = r.value === t, o = l(r);
39
37
  return /* @__PURE__ */ e(s, {
40
38
  type: "button",
41
39
  role: "radio",
42
40
  class: "rv-color-palette__swatch",
43
- "data-rv-color-palette-value": n.value,
41
+ "data-rv-color-palette-value": r.value,
44
42
  label: o,
45
- "aria-checked": i ? "true" : "false",
46
- disabled: u || n.disabled,
47
- tabIndex: !u && (r === m || m < 0 && (!g || t !== null) && r === h) ? 0 : -1,
48
- style: { "--rv-color-palette-color": n.value },
43
+ "aria-checked": a ? "true" : "false",
44
+ disabled: u || r.disabled,
45
+ tabIndex: !u && (i === m || m < 0 && (!g || t !== null) && i === h) ? 0 : -1,
46
+ style: { "--rv-color-palette-color": r.value },
49
47
  onKeyDown: _,
50
- onClick: () => p(n.value),
51
- children: i ? /* @__PURE__ */ e("span", {
48
+ onClick: () => p(r.value),
49
+ children: a ? /* @__PURE__ */ e("span", {
52
50
  class: "rv-color-palette__check",
53
51
  "aria-hidden": "true",
54
- dangerouslySetInnerHTML: { __html: a }
52
+ dangerouslySetInnerHTML: { __html: n }
55
53
  }) : null
56
- }, n.value);
54
+ }, r.value);
57
55
  })
58
56
  }), d ? /* @__PURE__ */ e(s, {
59
57
  type: "button",
@@ -69,7 +67,7 @@ function o({ value: t, options: r = n, ariaLabel: o, defaultLabel: c, colorAriaL
69
67
  children: [t === null ? /* @__PURE__ */ e("span", {
70
68
  class: "rv-color-palette__default-check",
71
69
  "aria-hidden": "true",
72
- dangerouslySetInnerHTML: { __html: a }
70
+ dangerouslySetInnerHTML: { __html: n }
73
71
  }) : null, /* @__PURE__ */ e("span", {
74
72
  class: "rv-color-palette__default-label",
75
73
  children: c
@@ -91,4 +89,4 @@ function s({ label: n, children: r, onKeyDown: i, disabled: a, ...o }) {
91
89
  });
92
90
  }
93
91
  //#endregion
94
- export { r as n, o as t };
92
+ export { i as n, o as t };
@@ -0,0 +1,143 @@
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 { createControlId as i } from "../core/control-id.js";
4
+ import { n as a, t as o } from "./native-control-B_fVA5bL.js";
5
+ import { t as s } from "./chevron-down-GbplLa6s.js";
6
+ import { n as c } from "./tooltip-D4xkio5G.js";
7
+ import { n as l, t as u } from "./color-palette-DMJUChWC.js";
8
+ import { COLOR_PICKER_DEFAULT_COLOR as d } from "../color-palette/color-picker.constants.js";
9
+ //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/ban.svg?raw
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>";
11
+ //#endregion
12
+ //#region src/color-palette/color-picker.tsx
13
+ function m({ icon: e, className: t = "rv-format-icon rv-format-color-picker__icon" }) {
14
+ return /* @__PURE__ */ r("span", {
15
+ class: t,
16
+ "aria-hidden": "true",
17
+ dangerouslySetInnerHTML: { __html: e }
18
+ });
19
+ }
20
+ function h({ label: h, value: g, defaultLabel: _, customLabel: v, customHexLabel: y, invalidColor: b, colorLabels: x, optional: S = !0, allowHexInput: C = !0, disabled: w = !1, onChange: T }) {
21
+ let [E] = t(i), D = c(h, !0, {
22
+ className: "rv-control-tooltip",
23
+ placement: "above"
24
+ }), O = `rv-format-color-popover-${E}`, k = `rv-format-color-custom-${E}`, A = `rv-format-color-error-${E}`, j = `--rv-format-color-anchor-${E}`, M = n(null), [N, P] = t(!1), [F, I] = t(!1), [L, R] = t(g ?? d), [z, B] = t(!1);
25
+ e(() => {
26
+ R(g ?? d), B(!1);
27
+ }, [g]);
28
+ let V = (e) => {
29
+ let t = l(e);
30
+ t ? (B(!1), R(t), w || T(t)) : B(!0);
31
+ }, H = () => M.current?.hidePopover?.();
32
+ return e(() => {
33
+ w && (H(), P(!1));
34
+ }, [w]), /* @__PURE__ */ r("div", {
35
+ class: "rv-format-color-picker",
36
+ onKeyDownCapture: (e) => {
37
+ e.key === "Escape" && M.current?.matches(":popover-open") && (e.preventDefault(), e.stopPropagation(), H());
38
+ },
39
+ children: [/* @__PURE__ */ r(o, {
40
+ unstyled: !0,
41
+ type: "button",
42
+ class: "rv-format-color-picker__trigger",
43
+ "aria-label": `${h}: ${g?.toUpperCase() ?? _}`,
44
+ "aria-haspopup": "dialog",
45
+ "aria-expanded": N,
46
+ "aria-controls": O,
47
+ ...D.triggerProps,
48
+ disabled: w,
49
+ popovertarget: O,
50
+ style: `anchor-name: ${j}`,
51
+ children: [
52
+ /* @__PURE__ */ r("span", {
53
+ class: `rv-format-color-picker__trigger-swatch${g ? "" : " rv-format-color-picker__trigger-swatch--empty"}`,
54
+ style: g ? { backgroundColor: g } : void 0,
55
+ children: g ? null : /* @__PURE__ */ r(m, {
56
+ icon: f,
57
+ className: "rv-format-color-picker__empty-icon"
58
+ })
59
+ }),
60
+ /* @__PURE__ */ r("span", {
61
+ class: "rv-format-color-picker__trigger-value",
62
+ children: g?.toUpperCase() ?? _
63
+ }),
64
+ /* @__PURE__ */ r(m, { icon: s }),
65
+ D.tooltip
66
+ ]
67
+ }), /* @__PURE__ */ r("div", {
68
+ id: O,
69
+ ref: M,
70
+ class: "rv-format-color-picker__popover",
71
+ role: "dialog",
72
+ "aria-label": h,
73
+ popover: "auto",
74
+ style: `position-anchor: ${j}`,
75
+ onToggle: (e) => P(e.currentTarget.matches(":popover-open")),
76
+ children: [
77
+ /* @__PURE__ */ r(u, {
78
+ value: l(g) ?? g ?? null,
79
+ ariaLabel: h,
80
+ defaultLabel: _,
81
+ colorAriaLabel: (e) => x[e.value] ?? e.label,
82
+ includeDefault: S,
83
+ disabled: w,
84
+ onChange: (e) => {
85
+ w || (T(e ?? void 0), H());
86
+ }
87
+ }),
88
+ /* @__PURE__ */ r("div", {
89
+ id: k,
90
+ class: "rv-format-color-picker__custom-controls",
91
+ "data-selection-only": !C || void 0,
92
+ hidden: !F,
93
+ children: [
94
+ /* @__PURE__ */ r(a, {
95
+ type: "color",
96
+ disabled: w,
97
+ class: "rv-format-color-picker__native",
98
+ "aria-label": v,
99
+ title: v,
100
+ value: l(L) ?? d,
101
+ onInput: (e) => V(e.currentTarget.value)
102
+ }),
103
+ C ? /* @__PURE__ */ r(a, {
104
+ type: "text",
105
+ disabled: w,
106
+ class: "rv-control rv-format-color-picker__hex",
107
+ inputMode: "text",
108
+ maxLength: 7,
109
+ "aria-label": y,
110
+ "aria-invalid": z,
111
+ "aria-describedby": z ? A : void 0,
112
+ title: y,
113
+ value: L.toUpperCase(),
114
+ onInput: (e) => {
115
+ R(e.currentTarget.value), z && B(!1);
116
+ },
117
+ onChange: (e) => V(e.currentTarget.value)
118
+ }) : null,
119
+ C && z ? /* @__PURE__ */ r("span", {
120
+ id: A,
121
+ class: "rv-format-color-picker__error",
122
+ role: "alert",
123
+ children: b
124
+ }) : null
125
+ ]
126
+ }),
127
+ /* @__PURE__ */ r(o, {
128
+ unstyled: !0,
129
+ type: "button",
130
+ class: "rv-format-color-picker__custom-action",
131
+ disabled: w,
132
+ "aria-expanded": F,
133
+ "aria-controls": k,
134
+ title: v,
135
+ onClick: () => I((e) => !e),
136
+ children: [/* @__PURE__ */ r(m, { icon: p }), v]
137
+ })
138
+ ]
139
+ })]
140
+ });
141
+ }
142
+ //#endregion
143
+ export { h as t };