@revolist/ui 4.0.6-rc → 4.0.9

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 (339) hide show
  1. package/MIGRATION.md +7 -7
  2. package/OWNERSHIP.md +33 -33
  3. package/README.md +65 -410
  4. package/_button.scss +6 -2
  5. package/_chunks/{arrow-up-Cw8hW9vp.js → arrow-up-BSYhTAus.js} +1 -1
  6. package/_chunks/{calculator-CDWOuAcp.js → calculator-BG0Xd_Uw.js} +1 -1
  7. package/_chunks/{calendar-QWDyYzdo.js → calendar-C4zH4Ppn.js} +7 -7
  8. package/_chunks/{cell-visuals-E-2oEKHg.js → cell-visuals-r6DOOhGh.js} +7 -7
  9. package/_chunks/{chart-frame-hcOlnQ1K.js → chart-frame-DzvJooS2.js} +7 -7
  10. package/_chunks/{check-BwI7iCAm.js → check-BFIC9pge.js} +1 -1
  11. package/_chunks/{chevron-down-GbplLa6s.js → chevron-down-BkrpxJYD.js} +1 -1
  12. package/_chunks/chevron-right-DZ79RmYV.js +4 -0
  13. package/_chunks/{chevron-up-BLuNMPDn.js → chevron-up-Dt846uIR.js} +1 -1
  14. package/_chunks/{choice-chips-A6WR-WJe.js → choice-chips-D2cJju-g.js} +6 -6
  15. package/_chunks/{clock-BOhPNlW3.js → clock-DTfr4p2S.js} +1 -1
  16. package/_chunks/{color-palette-DMJUChWC.js → color-palette-D7AS20M1.js} +5 -5
  17. package/_chunks/{color-picker-BK4W1nd6.js → color-picker-BanAQVfz.js} +8 -8
  18. package/_chunks/{component-CMkF17YZ.js → component-B8SvtSaB.js} +54 -55
  19. package/_chunks/{component-metadata-BKd7U8OW.js → component-metadata-DlVkpW3h.js} +1 -1
  20. package/_chunks/{configurator-actions-By8WSL2m.js → configurator-actions-CvZf5nYp.js} +11 -11
  21. package/_chunks/{configurator-field-icon-CmcM_sPs.js → configurator-field-icon-B0S_208W.js} +2 -2
  22. package/_chunks/{control-mlH7l0Uq.js → control-Dj7IR-i0.js} +4 -4
  23. package/_chunks/{controller-hRBm_Lfz.js → controller-ChkqiANQ.js} +6 -6
  24. package/_chunks/{controls-FUU-MUKC.js → controls-BF6WlGT4.js} +140 -105
  25. package/_chunks/{date-control-Dup_P3w5.js → date-control-BNj2FBF2.js} +8 -8
  26. package/_chunks/{date-time-9z6pAG5T.js → date-time-Ucx1ep76.js} +25 -25
  27. package/_chunks/{delete-button-CW9vjLnk.js → delete-button-DQSK6G-4.js} +2 -2
  28. package/_chunks/{dialog.parts-Bi7YbXqS.js → dialog.parts-BqkmnhIL.js} +7 -7
  29. package/_chunks/{duration-D7oRjsmP.js → duration-BIESsyLI.js} +9 -9
  30. package/_chunks/{editor-commit-Bq3wSgvr.js → editor-commit-BXIUX0As.js} +3 -3
  31. package/_chunks/{editor-popup-ByU7qiub.js → editor-popup-BTmjGg2_.js} +5 -5
  32. package/_chunks/field-configurator-BWZnm3gE.js +288 -0
  33. package/_chunks/field-context-0oUi-w-G.js +5 -0
  34. package/_chunks/{framework-mount-Bk4O_T7T.js → framework-mount-DQ4opSL0.js} +4 -4
  35. package/_chunks/{hooks.module-CG3gN83z.js → hooks.module-CXpO2xq6.js} +2 -2
  36. package/_chunks/{icon-toolbar-DSjOdwM7.js → icon-toolbar-C4J_Wqph.js} +7 -7
  37. package/_chunks/{icons-Ci5mADVc.js → icons-B4qN13Yj.js} +1 -1
  38. package/_chunks/{iso-B0YHBK7m.js → iso-CJQl2kmq.js} +1 -1
  39. package/_chunks/{jsxRuntime.module-F6UFnpT-.js → jsxRuntime.module-ksX_VSbv.js} +2 -2
  40. package/_chunks/{magnifying-glass-CvrTDSkB.js → magnifying-glass-BFZrFs8M.js} +1 -1
  41. package/_chunks/{minus-BOAR3A1C.js → minus-DE8NPK_D.js} +1 -1
  42. package/_chunks/{model-mPO2tG2f.js → model-CFrBgRHm.js} +3 -3
  43. package/_chunks/mount-DTCXtKfT.js +267 -0
  44. package/_chunks/{native-Blr3byjO.js → native-RudS9C_q.js} +3 -3
  45. package/_chunks/{native-control-pFMuHf3G.js → native-control-xc_B4vfn.js} +146 -141
  46. package/_chunks/{number-input-DqXV6vgP.js → number-input-C_TPzAJq.js} +6 -6
  47. package/_chunks/{picker-gEGTu1Ki.js → picker-0h5TwXGT.js} +8 -8
  48. package/_chunks/{plus-CbGRkIGl.js → plus-BaXticu7.js} +1 -1
  49. package/_chunks/{popup-C35Isk7p.js → popup-CISbXDnE.js} +6 -6
  50. package/_chunks/{preact.module-BBM36DnO.js → preact.module-DzTStiZX.js} +1 -1
  51. package/_chunks/{rating-choice-DbxdUJr-.js → rating-choice-FhWNdsiC.js} +4 -4
  52. package/_chunks/{render-m5eMMwFR.js → render-C6PFWlqh.js} +4 -4
  53. package/_chunks/{reorder-list-B0_13Sja.js → reorder-list-CR1DO4EG.js} +5 -5
  54. package/_chunks/{request-trail-CCSK6TJA.js → request-trail-ay92DQpo.js} +155 -146
  55. package/_chunks/{rich-text-5rnc8lpI.js → rich-text-ByjXFv1S.js} +15 -15
  56. package/_chunks/{rotate-left-BF6G883o.js → rotate-left-CTHmcGBP.js} +1 -1
  57. package/_chunks/{rotate-right-Iha5ScJ1.js → rotate-right-BIfKgVun.js} +1 -1
  58. package/_chunks/selection-list-tooltips-DqqLeO_m.js +42 -0
  59. package/_chunks/{title-tooltip-Cw6LOZhb.js → title-tooltip-DKiWhsL7.js} +3 -3
  60. package/_chunks/{tooltip-D4xkio5G.js → tooltip-B5ziciEP.js} +4 -4
  61. package/_chunks/{tooltip-owner-DjdvqKzz.js → tooltip-owner-BYho-vJl.js} +1 -1
  62. package/_chunks/{tooltip-session-B6X6x8G_.js → tooltip-session-D74h-uqu.js} +3 -3
  63. package/_chunks/{tooltip-text-BXsUEmBH.js → tooltip-text-CH_c2J-J.js} +3 -3
  64. package/_chunks/{top-layer-popup-CNSDdfJV.js → top-layer-popup-BHajfliG.js} +4 -4
  65. package/_chunks/{xmark-DD_PBvZI.js → xmark-DQRQfXZI.js} +1 -1
  66. package/_dialog.scss +57 -22
  67. package/_form.scss +71 -21
  68. package/_legend.scss +25 -7
  69. package/_variables.scss +2 -1
  70. package/_view-switcher.scss +6 -0
  71. package/activity-message.d.ts +1 -1
  72. package/activity-message.js +2 -2
  73. package/ai/_chat.scss +7 -0
  74. package/ai/_style.scss +27 -20
  75. package/ai/components.d.ts +3 -1
  76. package/ai/index.js +2 -2
  77. package/ai/mount.d.ts +15 -7
  78. package/ai/request-trail.d.ts +9 -3
  79. package/ai/results/index.d.ts +1 -1
  80. package/ai/translations.d.ts +1 -1
  81. package/angular/angular.d.ts +1 -1
  82. package/angular/angular.js +13 -7
  83. package/assignee/assignee.scss +24 -6
  84. package/assignee/index.js +8 -8
  85. package/avatar/avatar.style.scss +23 -6
  86. package/avatar/index.d.ts +1 -1
  87. package/avatar/index.js +4 -4
  88. package/badge.d.ts +1 -1
  89. package/badge.js +1 -1
  90. package/badge.view.d.ts +1 -1
  91. package/brush-range/_brush-range.scss +55 -49
  92. package/brush-range/component.js +3 -3
  93. package/buttons/delete-button.js +1 -1
  94. package/buttons/delete-button.style.scss +6 -2
  95. package/buttons/remove-button.js +3 -3
  96. package/buttons/svg-button.js +4 -4
  97. package/calendar/_calendar.scss +19 -23
  98. package/calendar/calendar.js +1 -1
  99. package/calendar/day.js +3 -3
  100. package/calendar/header.js +3 -4
  101. package/calendar/index.js +3 -3
  102. package/calendar/model.js +1 -1
  103. package/calendar/month-grid.js +3 -3
  104. package/calendar/translations.js +1 -1
  105. package/calendar/year-grid.js +3 -3
  106. package/cell-input.js +1 -1
  107. package/cell-input.scss +3 -7
  108. package/cell-visuals/badge.style.scss +6 -3
  109. package/cell-visuals/bar-chart.style.scss +2 -1
  110. package/cell-visuals/column-type.style.css +12 -0
  111. package/cell-visuals/index.js +1 -1
  112. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  113. package/cell-visuals/progress-line.style.scss +1 -4
  114. package/cell-visuals/sparkline.style.scss +2 -1
  115. package/cell-visuals/timeline.style.css +4 -2
  116. package/checkbox/checkbox.scss +5 -2
  117. package/checkbox/index.js +2 -2
  118. package/choice-chips/index.js +1 -1
  119. package/color-palette/built-in-palettes.js +1 -1
  120. package/color-palette/chart-palettes.js +1 -1
  121. package/color-palette/color-palette.js +1 -1
  122. package/color-palette/color-palette.style.scss +88 -25
  123. package/color-palette/color-picker.constants.js +1 -1
  124. package/color-palette/color-picker.js +2 -2
  125. package/color-palette/color-picker.style.scss +23 -10
  126. package/color-palette/common-palettes.d.ts +1 -1
  127. package/color-palette/common-palettes.js +2 -2
  128. package/color-palette/gantt-palettes.js +1 -1
  129. package/color-palette/palette.js +1 -1
  130. package/color-palette/pivot-palettes.js +1 -1
  131. package/color-palette/platform-palettes.js +1 -1
  132. package/color-palette/pro-palettes.js +1 -1
  133. package/color-palette/scheduler-palettes.js +1 -1
  134. package/configurator-actions.d.ts +6 -6
  135. package/configurator-actions.js +1 -1
  136. package/configurator-aggregation-list.d.ts +1 -1
  137. package/configurator-aggregation-list.js +22 -20
  138. package/configurator-drop-zone.d.ts +2 -1
  139. package/configurator-drop-zone.js +36 -34
  140. package/configurator-field-icon.js +1 -1
  141. package/configurator-focus.js +2 -2
  142. package/configurator-sections.d.ts +3 -3
  143. package/configurator-sections.js +4 -4
  144. package/control-attributes.js +1 -1
  145. package/control-presentation.js +4 -4
  146. package/controls.d.ts +11 -0
  147. package/controls.js +4 -4
  148. package/core/anchored-popover.js +1 -1
  149. package/core/control-id.js +1 -1
  150. package/core/editor-popup.js +1 -1
  151. package/core/motion.js +1 -1
  152. package/{_chunks/popover-controller-D-AvKQ7B.js → core/popover-controller.js} +8 -8
  153. package/core/selection-list-tooltips.d.ts +2 -0
  154. package/core/tooltip.d.ts +1 -1
  155. package/core/top-layer-popup.d.ts +1 -1
  156. package/core/top-layer-popup.js +1 -1
  157. package/date-time/date-control.d.ts +1 -1
  158. package/date-time/field.d.ts +1 -0
  159. package/date-time/index.js +1 -1
  160. package/date-time/style.scss +192 -46
  161. package/date-time/time-selection.d.ts +1 -1
  162. package/dialog/dialog.dom.js +4 -4
  163. package/dialog/dialog.drag.js +1 -1
  164. package/dialog/dialog.parts.js +1 -1
  165. package/dialog/dialog.preact.js +2 -2
  166. package/distribution-chart/_distribution-chart.scss +106 -28
  167. package/distribution-chart/area-chart.js +4 -4
  168. package/distribution-chart/bar-chart.js +3 -3
  169. package/distribution-chart/chart-frame.d.ts +1 -1
  170. package/distribution-chart/index.js +2 -2
  171. package/distribution-chart/line-chart.js +3 -3
  172. package/dropdown/content.js +1 -1
  173. package/dropdown/control.js +1 -1
  174. package/dropdown/dropdown.service.js +2 -2
  175. package/dropdown/dropdown.types.d.ts +1 -1
  176. package/dropdown/editor-dropdown.style.scss +14 -9
  177. package/dropdown/index.js +2 -2
  178. package/dropdown/lookup-field.js +5 -5
  179. package/dropdown/popup.js +1 -1
  180. package/duration/index.js +1 -1
  181. package/editor-actions.js +4 -4
  182. package/editor-layout/index.d.ts +4 -4
  183. package/editor-layout/index.js +40 -35
  184. package/editor-layout/style.scss +82 -18
  185. package/favicon.svg +9 -0
  186. package/field-configurator.d.ts +14 -3
  187. package/field-configurator.js +1 -1
  188. package/field-reorder.hook.js +2 -2
  189. package/field-reorder.js +1 -1
  190. package/filter/filters/slider/_single-slider.scss +57 -38
  191. package/filter/filters/slider/_slider.scss +35 -10
  192. package/filter/filters/slider/component.js +1 -1
  193. package/filter/filters/slider/control.js +1 -1
  194. package/filter/filters/slider/inputs.js +1 -1
  195. package/filter/filters/slider/logic.js +1 -1
  196. package/filter/filters/slider/preact.js +2 -2
  197. package/filter/filters/slider/runtime.js +3 -3
  198. package/filter/filters/slider/single.js +3 -3
  199. package/filter-badge.js +5 -5
  200. package/filter-controls.js +4 -4
  201. package/form-controls/index.js +4 -4
  202. package/form-controls/presentation.d.ts +1 -1
  203. package/form-controls/presentation.js +5 -5
  204. package/formatting/index.js +11 -11
  205. package/formatting/styles.scss +13 -11
  206. package/framework.js +76 -77
  207. package/history-controls.js +4 -4
  208. package/html-controls.js +1 -1
  209. package/icon-toolbar.d.ts +1 -1
  210. package/icon-toolbar.js +1 -1
  211. package/icons/icon.d.ts +1 -1
  212. package/icons/icon.js +2 -2
  213. package/legend.d.ts +1 -1
  214. package/legend.js +2 -2
  215. package/masked-input/index.js +6 -6
  216. package/native-control.js +1 -1
  217. package/native-styles.css +1 -1
  218. package/native-styles.scss +6 -2
  219. package/native.d.ts +3 -3
  220. package/native.js +18 -18
  221. package/number-input/index.d.ts +1 -1
  222. package/number-input/index.js +1 -1
  223. package/package.json +53 -1
  224. package/pagination.js +2 -2
  225. package/pdf-viewer/controller.js +1 -1
  226. package/pdf-viewer/header.d.ts +1 -1
  227. package/pdf-viewer/index.d.ts +2 -2
  228. package/pdf-viewer/index.js +4 -4
  229. package/pdf-viewer/search-bar.d.ts +1 -1
  230. package/pdf-viewer/status.d.ts +1 -1
  231. package/pdf-viewer/style.scss +203 -42
  232. package/preact-mount.js +2 -2
  233. package/preact.d.ts +5 -4
  234. package/preact.js +105 -67
  235. package/progress/_bar.scss +9 -3
  236. package/progress/_circular.scss +2 -1
  237. package/progress/bar.js +1 -1
  238. package/progress/circular.js +1 -1
  239. package/progress/range.js +1 -1
  240. package/rating-choice.js +1 -1
  241. package/react-adapter.d.ts +4 -2
  242. package/react-control.js +1 -1
  243. package/react.d.ts +2 -2
  244. package/react.js +30 -31
  245. package/reorder-list.d.ts +1 -1
  246. package/reorder-list.js +1 -1
  247. package/reorder-list.scss +59 -17
  248. package/resource-picker/resource-picker-avatar.js +3 -3
  249. package/resource-picker/resource-picker-option.js +2 -2
  250. package/resource-picker/resource-picker-popup.js +3 -3
  251. package/resource-picker/resource-picker.js +76 -74
  252. package/resource-picker/resource-picker.scss +62 -34
  253. package/resource-picker/resource-picker.utils.js +1 -1
  254. package/rich-text/index.js +1 -1
  255. package/rich-text/style.scss +203 -49
  256. package/rich-text/toolbar.d.ts +1 -1
  257. package/robots.txt +4 -0
  258. package/search-input/index.js +4 -4
  259. package/segmented-switch/index.js +2 -2
  260. package/select.js +1 -1
  261. package/selection-list.d.ts +1 -0
  262. package/selection-list.js +3 -1
  263. package/status-feedback/badge.js +2 -2
  264. package/status-feedback/exit-snapshot.js +2 -2
  265. package/status-feedback/header.js +5 -5
  266. package/status-feedback/icons.js +1 -1
  267. package/status-feedback/index.js +1 -1
  268. package/status-feedback/item.js +2 -2
  269. package/status-feedback/motion.js +1 -1
  270. package/status-feedback/placement.js +1 -1
  271. package/status-feedback/popover.js +2 -2
  272. package/status-feedback/render.js +1 -1
  273. package/status-feedback/status-feedback.scss +124 -35
  274. package/styles/_activity-message.scss +24 -7
  275. package/styles/_alert.scss +61 -14
  276. package/styles/_cell-editor-frame.scss +11 -0
  277. package/styles/_compositions.scss +399 -79
  278. package/styles/_control.scss +30 -8
  279. package/styles/_disclosure.scss +15 -5
  280. package/styles/_editor-counter.scss +16 -6
  281. package/styles/_editor-slider.scss +8 -2
  282. package/styles/_field-configurator.scss +192 -41
  283. package/styles/_fields-grid.scss +16 -4
  284. package/styles/_filter-controls.scss +10 -2
  285. package/styles/_icon-action.scss +48 -15
  286. package/styles/_loading.scss +12 -3
  287. package/styles/_motion.scss +32 -9
  288. package/styles/_primitives.scss +346 -96
  289. package/styles/_theme.scss +130 -86
  290. package/styles/_thresholds.scss +28 -25
  291. package/styles/_time-grid.scss +8 -3
  292. package/styles/_tokens.scss +6 -1
  293. package/styles/color-roles.js +1 -1
  294. package/styles/configurator-actions.scss +126 -26
  295. package/styles/pagination.css +114 -30
  296. package/styles/rating.css +8 -3
  297. package/styles.css +1 -1
  298. package/styles.scss +1 -3
  299. package/surfaces.d.ts +4 -2
  300. package/surfaces.js +8 -8
  301. package/svelte/UiComponent.svelte +44 -11
  302. package/svelte-control.js +1 -1
  303. package/svelte.d.ts +1 -1
  304. package/svelte.js +5 -5
  305. package/switch/index.js +3 -3
  306. package/time-grid.js +5 -5
  307. package/timeline-track/_style.scss +96 -24
  308. package/timeline-track/index.js +5 -5
  309. package/timeline-track/model.js +1 -1
  310. package/ui.css +1 -1
  311. package/view-switcher.d.ts +23 -0
  312. package/vue-badge.js +1 -1
  313. package/vue-control.js +1 -1
  314. package/vue-segmented-switch.js +1 -1
  315. package/vue.d.ts +3 -2
  316. package/vue.js +45 -46
  317. package/_chunks/badge.view-D30pMUfi.js +0 -14
  318. package/_chunks/chevron-left-D0nc4Z5S.js +0 -4
  319. package/_chunks/chevron-right-sxHQMSkq.js +0 -4
  320. package/_chunks/field-configurator-BCINdXpU.js +0 -223
  321. package/_chunks/field-context-D57PnBbH.js +0 -5
  322. package/_chunks/mount-Cw2zk58T.js +0 -266
  323. package/_shared/data-query/binding.d.ts +0 -30
  324. package/_shared/data-query/blocks.d.ts +0 -30
  325. package/_shared/data-query/commands.d.ts +0 -47
  326. package/_shared/data-query/contracts.d.ts +0 -106
  327. package/_shared/data-query/cursor-reader.d.ts +0 -25
  328. package/_shared/data-query/direct-binding.d.ts +0 -3
  329. package/_shared/data-query/index.d.ts +0 -23
  330. package/_shared/data-query/infinite-binding.d.ts +0 -18
  331. package/_shared/data-query/keys.d.ts +0 -9
  332. package/_shared/data-query/limiter.d.ts +0 -12
  333. package/_shared/data-query/load-options.d.ts +0 -25
  334. package/_shared/data-query/materialize.d.ts +0 -2
  335. package/_shared/data-query/policy.d.ts +0 -14
  336. package/_shared/data-query/provider-queries.d.ts +0 -22
  337. package/_shared/data-query/reader.d.ts +0 -23
  338. package/_shared/data-query/remote-load.d.ts +0 -7
  339. package/_shared/data-query/source.d.ts +0 -40
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/minus.svg?raw
1
+ //#region node_modules/.pnpm/@fortawesome+fontawesome-free@7.3.1/node_modules/@fortawesome/fontawesome-free/svgs/solid/minus.svg?raw
2
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=\"M0 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-32z\"/></svg>";
3
3
  //#endregion
4
4
  export { e as t };
@@ -1,4 +1,4 @@
1
- import { a as e, c as t, o as n, r, t as i } from "./iso-B0YHBK7m.js";
1
+ import { a as e, c as t, o as n, r, t as i } from "./iso-CJQl2kmq.js";
2
2
  var a = 864e5;
3
3
  function o(e, o) {
4
4
  let s = t(e);
@@ -14,7 +14,7 @@ function l() {
14
14
  return i(/* @__PURE__ */ new Date());
15
15
  }
16
16
  //#endregion
17
- //#region ../dates/src/display-calendar.ts
17
+ //#region internal/dates/src/display-calendar.ts
18
18
  var u = /* @__PURE__ */ new Map();
19
19
  function d(e, t, n) {
20
20
  let r = JSON.stringify([
@@ -81,7 +81,7 @@ function v(t, n = 1, r = 4, i = "gregory") {
81
81
  return t < a(c) ? c = h(c, -12, i) : t >= a(h(c, 12, i)) && (c = h(c, 12, i)), Math.floor(s(a(c), t) / 7) + 1;
82
82
  }
83
83
  //#endregion
84
- //#region src/calendar/model.ts
84
+ //#region package/calendar/model.ts
85
85
  function y(t, n, r = !0, i = "gregory") {
86
86
  let a = m(t, i), s = o(a, -((e(a) - n + 7) % 7)), c = g(a, i), l = [];
87
87
  for (let e = s; e <= c || l.length % 7; e = o(e, 1)) l.push(e);
@@ -0,0 +1,267 @@
1
+ import { i as e, r as t } from "./preact.module-DzTStiZX.js";
2
+ import { c as n, i as r, r as i, t as a } from "./hooks.module-CXpO2xq6.js";
3
+ import { E as o, _ as s, a as c, c as l, i as u, m as d, n as f, o as p, p as m, r as h, t as g, u as _, v, y } from "./request-trail-ay92DQpo.js";
4
+ import { t as b } from "./jsxRuntime.module-ksX_VSbv.js";
5
+ import { n as x } from "./popup-CISbXDnE.js";
6
+ import { p as S, t as C } from "./controls-BF6WlGT4.js";
7
+ import { HistoryControls as w } from "../history-controls.js";
8
+ import { n as T } from "./render-C6PFWlqh.js";
9
+ //#region package/ai/transcript.ts
10
+ var E = (e) => new TextEncoder().encode(JSON.stringify(e)).byteLength, D = (e) => {
11
+ if (!e) return "";
12
+ if (E(e) <= 16384) return e;
13
+ let t = 0, n = Math.min(e.length, 16384);
14
+ for (; t < n;) {
15
+ let r = Math.ceil((t + n) / 2);
16
+ E(e.slice(0, r) + "…") <= 16384 ? t = r : n = r - 1;
17
+ }
18
+ return /[\uD800-\uDBFF]/.test(e.charAt(t - 1)) && t--, e.slice(0, t) + "…";
19
+ }, O = class {
20
+ messages = [];
21
+ epoch = 0;
22
+ initialized = !1;
23
+ requestId;
24
+ ignoredRequest;
25
+ currentId;
26
+ active = !1;
27
+ lastPhase;
28
+ key = "";
29
+ sequence = 0;
30
+ update(e) {
31
+ if (this.initialized ||= (this.epoch = e.chatKey ?? 0, !0), (e.chatKey ?? 0) !== this.epoch) {
32
+ this.epoch = e.chatKey ?? 0, this.messages = [], this.requestId = void 0, this.ignoredRequest = e.request?.id, this.currentId = void 0, this.active = !1, this.key = "", this.lastPhase = void 0;
33
+ return;
34
+ }
35
+ if (e.phase === "idle" || e.request?.id === this.ignoredRequest && this.ignoredRequest !== void 0) return;
36
+ let t = e.request, n = !!t && t.id !== this.requestId, r = e.phase === "completed" && e.result && E(e.result) <= 16384 ? structuredClone(e.result) : void 0, i = {
37
+ text: D(e.message),
38
+ phase: e.phase,
39
+ details: e.phase === "completed" && !r && e.resultDetails ? D(e.resultDetails) : void 0,
40
+ pending: !!e.pendingAction,
41
+ result: r
42
+ }, a = JSON.stringify([t?.id, i]);
43
+ if (!n && a === this.key || !n && !i.text && !i.pending) return;
44
+ let o = this.messages.find((e) => e.id === this.currentId), s = this.lastPhase === "completed" && e.phase === "understanding" && o?.from === "assistant", c = o?.from === "system" && o.phase === "completed" && (e.phase === "applying" || e.phase === "completed");
45
+ if (n) {
46
+ this.requestId = t.id, this.ignoredRequest = void 0;
47
+ let e = "turn:" + ++this.sequence;
48
+ this.currentId = e + ":assistant", this.messages = [
49
+ ...this.messages,
50
+ {
51
+ id: e + ":user",
52
+ group: e,
53
+ from: "user",
54
+ text: D(t.prompt)
55
+ },
56
+ {
57
+ id: this.currentId,
58
+ group: e,
59
+ from: "assistant",
60
+ ...i
61
+ }
62
+ ];
63
+ } else if ((this.active || s || c) && o) this.messages = this.messages.map((e) => e.id === this.currentId ? {
64
+ ...e,
65
+ ...i
66
+ } : e);
67
+ else {
68
+ let e = "system:" + ++this.sequence;
69
+ this.currentId = e, this.messages = [...this.messages, {
70
+ id: e,
71
+ group: e,
72
+ from: "system",
73
+ ...i
74
+ }];
75
+ }
76
+ for (this.active = e.phase === "understanding" || e.phase === "applying" || !!e.pendingAction, this.lastPhase = e.phase, this.key = a; this.messages.length > 50 || E(this.messages) > 65536;) {
77
+ let e = this.messages[0].group;
78
+ this.messages = this.messages.filter((t) => t.group !== e);
79
+ }
80
+ }
81
+ clear() {
82
+ this.messages = [], this.requestId = void 0, this.currentId = void 0, this.active = !1, this.key = "";
83
+ }
84
+ };
85
+ //#endregion
86
+ //#region package/ai/mount.tsx
87
+ function k(E, D) {
88
+ let k = (e) => o(e, D.translations), A = !1, j = D.suggestions ?? [], M, N = v(D.promptHistory?.items ?? []), P = new O(), F = D.mode === "chat", I = [], L = 0, R = !1, z = "";
89
+ function B(e) {
90
+ if (e.phase === "idle" || !e.message || e.pendingAction) return;
91
+ let t = e.phase === "understanding" || e.phase === "applying", n = JSON.stringify([
92
+ e.phase,
93
+ e.message,
94
+ e.matchedRows,
95
+ e.resultDetails
96
+ ]);
97
+ if (n === z) return;
98
+ let r = I.at(-1), i = {
99
+ id: R && r ? r.id : String(++L),
100
+ title: e.message,
101
+ busy: t,
102
+ tone: e.phase === "error" ? "danger" : e.phase === "completed" ? "success" : "neutral",
103
+ description: e.phase === "completed" && e.matchedRows !== void 0 ? D.countLabel?.(e.matchedRows) ?? k("{count} matching rows").replace("{count}", e.matchedRows.toLocaleString()) : void 0,
104
+ detail: e.phase === "completed" && !e.result ? e.resultDetails : void 0
105
+ };
106
+ I = [...R && r ? I.slice(0, -1) : I, i].slice(-50), R = t, z = n;
107
+ }
108
+ function V({ state: t }) {
109
+ let [o, O] = r(""), [A, M] = r(N), [L, R] = r(!1), z = a();
110
+ i(() => {
111
+ O(""), z.current = void 0;
112
+ }, [t.chatKey]);
113
+ let B = t.phase === "understanding" || t.phase === "applying", V = !!t.pendingAction, U = t.steps ?? [], W = D.showRequestHistory ?? !F, G = a(!1);
114
+ n(() => {
115
+ G.current && !V && !B && E.querySelector("textarea")?.focus(), G.current = V || B && G.current;
116
+ }, [V, B]), n(() => {
117
+ if (B || V || t.phase === "idle" || z.current === void 0) return;
118
+ let e = z.current;
119
+ z.current = void 0, t.phase === "completed" && O((t) => t.trim() === e ? "" : t);
120
+ }, [t]);
121
+ let K = (e) => {
122
+ z.current = e.trim(), D.promptHistory && (N = v([...N, e]), M(N), D.promptHistory.onChange?.([...N])), D.onSubmit(e);
123
+ }, ee = /* @__PURE__ */ b(s, {
124
+ maxVisible: D.maxVisibleSuggestions,
125
+ items: t.choices?.length ? t.choices : t.suggestions?.length ? t.suggestions : j,
126
+ onSelect: (e) => {
127
+ B || V || (O(e), K(e));
128
+ },
129
+ disabled: B || V
130
+ }), q = (!!o || !!t.request || !!t.message || U.length > 0 || P.messages.length > 0 || I.length > 0) && (D.showNewConversation ?? D.showClearChat ?? !0) && D.onClearChat && /* @__PURE__ */ b(S, {
131
+ label: k("New conversation"),
132
+ icon: "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.3.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2026 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L368 46.1 465.9 144 490.3 119.6c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L432 177.9 334.1 80 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z\"/></svg>",
133
+ size: "compact",
134
+ disabled: B || V,
135
+ onClick: () => {
136
+ D.onClearChat?.(), E.querySelector("textarea")?.focus();
137
+ }
138
+ }), J = F && t.canClearChart && D.onClearChart && /* @__PURE__ */ b(C, {
139
+ size: "compact",
140
+ variant: "ghost",
141
+ disabled: B || V || t.viewSwitching,
142
+ onClick: () => {
143
+ D.onClearChart?.(), E.querySelector("textarea")?.focus();
144
+ },
145
+ children: k("Clear chart")
146
+ }), Y = /* @__PURE__ */ b(e, { children: [J, q] }), X = /* @__PURE__ */ b(h, {
147
+ label: D.prompt?.label ?? "Ask AI to change this view",
148
+ ...D.prompt,
149
+ value: o,
150
+ onValueChange: O,
151
+ onSubmit: K,
152
+ onStop: D.onStop,
153
+ busy: B,
154
+ promptHistory: D.promptHistory ? A : void 0,
155
+ disabled: V,
156
+ hint: W && U.length ? "" : D.prompt?.hint,
157
+ footer: ee,
158
+ actions: W ? /* @__PURE__ */ b(g, {
159
+ ...D.trail,
160
+ items: U,
161
+ showClear: !1,
162
+ onRemove: (e) => D.onRemoveStep?.(e),
163
+ onEmpty: () => E.querySelector("textarea")?.focus(),
164
+ disabled: B || V,
165
+ removalsDisabled: !D.onRemoveStep || t.canEditSteps === !1,
166
+ changedMessage: !B && U.some((e) => e.removable !== !1) && t.canEditSteps === !1 ? D.trail?.changedMessage ?? "The view changed manually. Start a new request to continue." : void 0
167
+ }) : void 0
168
+ }), Z = t.pendingAction && /* @__PURE__ */ b(d, {
169
+ ...t.pendingAction,
170
+ disabled: B || !D.onApplyAction,
171
+ onApply: () => D.onApplyAction?.(),
172
+ onCancel: () => D.onCancelAction?.()
173
+ }), Q = /* @__PURE__ */ b("div", {
174
+ class: "rv-ai-result-actions",
175
+ children: (D.onUndoData || D.onRedoData) && /* @__PURE__ */ b(w, {
176
+ onUndo: D.onUndoData,
177
+ onRedo: D.onRedoData,
178
+ canUndo: !B && !V && !!t.canUndoData,
179
+ canRedo: !B && !V && !!t.canRedoData,
180
+ undoLabel: k("Undo data change"),
181
+ redoLabel: k("Redo data change"),
182
+ label: k("Data history")
183
+ })
184
+ }), $ = D.showHistoryControls === !1 || !D.onUndoData && !D.onRedoData ? null : D.controlsMountTo ? x(Q, D.controlsMountTo) : Q;
185
+ return /* @__PURE__ */ b(m, {
186
+ layout: D.layout,
187
+ translations: D.translations,
188
+ label: D.label,
189
+ busy: B,
190
+ footer: D.footer,
191
+ children: F ? /* @__PURE__ */ b(f, {
192
+ className: "rv-ai-mounted-chat",
193
+ children: [
194
+ (J || q) && /* @__PURE__ */ b("div", {
195
+ class: "rv-ai-chat-actions",
196
+ children: Y
197
+ }),
198
+ /* @__PURE__ */ b(u, {
199
+ busy: B,
200
+ children: [!P.messages.length && D.emptyState && /* @__PURE__ */ b(c, { ...D.emptyState }), P.messages.map((e) => /* @__PURE__ */ b(p, {
201
+ from: e.from,
202
+ isStreaming: e.phase === "understanding" || e.phase === "applying",
203
+ children: [
204
+ e.from === "user" ? /* @__PURE__ */ b(l, { children: e.text }) : e.phase === "preview" && e.pending && e.id === P.messages.at(-1)?.id && t.pendingAction ? null : /* @__PURE__ */ b(l, { children: e.phase === "understanding" || e.phase === "applying" || e.phase === "error" || e.phase === "cancelled" ? /* @__PURE__ */ b(_, {
205
+ title: e.text,
206
+ status: e.phase === "understanding" || e.phase === "applying" ? "running" : e.phase === "error" ? "error" : "cancelled"
207
+ }) : e.text }),
208
+ e.result ? /* @__PURE__ */ b(y, {
209
+ result: e.result,
210
+ renderTable: D.renderTable
211
+ }) : e.details && /* @__PURE__ */ b("pre", {
212
+ class: "rv-ai-chat-result",
213
+ children: e.details
214
+ }),
215
+ e.id === P.messages.at(-1)?.id && e.pending && Z
216
+ ]
217
+ }, e.id))]
218
+ }),
219
+ X,
220
+ $
221
+ ]
222
+ }) : /* @__PURE__ */ b(e, { children: [
223
+ (J || q) && /* @__PURE__ */ b("div", {
224
+ class: "rv-ai-chat-actions",
225
+ children: Y
226
+ }),
227
+ X,
228
+ Z,
229
+ t.phase === "completed" && t.result && /* @__PURE__ */ b(y, {
230
+ result: t.result,
231
+ renderTable: D.renderTable
232
+ }),
233
+ !!I.length && /* @__PURE__ */ b(T, {
234
+ className: "rv-ai-activity",
235
+ title: k("Activity"),
236
+ compact: !0,
237
+ autoDismissMs: D.activityDurationMs,
238
+ onDismissItem: (e) => {
239
+ I = I.filter((t) => t.id !== e), H();
240
+ },
241
+ collapsed: L,
242
+ onCollapsedChange: R,
243
+ collapseLabel: k("Collapse activity"),
244
+ expandLabel: k("Expand activity"),
245
+ items: I
246
+ }),
247
+ $
248
+ ] })
249
+ });
250
+ }
251
+ let H = () => {
252
+ !A && M && t(/* @__PURE__ */ b(V, { state: M }), E);
253
+ };
254
+ return {
255
+ update(e) {
256
+ M && M.chatKey !== e.chatKey && (I = [], z = "", R = !1), F ? P.update(e) : B(e), M = e, H();
257
+ },
258
+ setSuggestions(e) {
259
+ j = [...e], H();
260
+ },
261
+ destroy() {
262
+ A || (A = !0, N = [], P.clear(), t(null, E));
263
+ }
264
+ };
265
+ }
266
+ //#endregion
267
+ export { k as t };
@@ -1,9 +1,9 @@
1
- import { c as e } from "./preact.module-BBM36DnO.js";
2
- import { t } from "./jsxRuntime.module-F6UFnpT-.js";
1
+ import { c as e } from "./preact.module-DzTStiZX.js";
2
+ import { t } from "./jsxRuntime.module-ksX_VSbv.js";
3
3
  import { createPreactElement as n } from "../preact-mount.js";
4
4
  import { controlClassName as r } from "../control-attributes.js";
5
5
  import { renderControl as i } from "../control-presentation.js";
6
- //#region src/search-input/native.tsx
6
+ //#region package/search-input/native.tsx
7
7
  function a(e, t) {
8
8
  let { shortcut: n, hideIcon: a, inputAttributes: o = {} } = t;
9
9
  return e("div", {