@revolist/ui 4.0.2-rc → 4.0.2

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 (343) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION.md +36 -0
  3. package/OWNERSHIP.md +32 -32
  4. package/README.md +405 -265
  5. package/_button.scss +6 -2
  6. package/_chunks/arrow-up-Cw8hW9vp.js +4 -0
  7. package/_chunks/calculator-CDWOuAcp.js +4 -0
  8. package/_chunks/{calendar-CpaUK7w1.js → calendar-CgXQgkga.js} +28 -18
  9. package/_chunks/chart-frame-hcOlnQ1K.js +145 -0
  10. package/_chunks/{chevron-right-sxHQMSkq.js → check-BwI7iCAm.js} +2 -2
  11. package/_chunks/{chevron-left-D0nc4Z5S.js → chevron-right-CM3ljziP.js} +2 -2
  12. package/_chunks/choice-chips-SkllS5Kl.js +126 -0
  13. package/_chunks/clock-BOhPNlW3.js +4 -0
  14. package/_chunks/{color-palette-BBMFmUNA.js → color-palette-DMJUChWC.js} +20 -22
  15. package/_chunks/{color-picker-D90Jg-M8.js → color-picker-BpCTuIdm.js} +77 -72
  16. package/_chunks/{component-YDcfoOLz.js → component-CfeHXgIw.js} +301 -282
  17. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BKd7U8OW.js} +0 -12
  18. package/_chunks/configurator-actions-DnStE6Yl.js +155 -0
  19. package/_chunks/configurator-field-icon-CmcM_sPs.js +53 -0
  20. package/_chunks/control-Dcrjsunl.js +118 -0
  21. package/_chunks/{controls-DIum-E66.js → controls-B_6NJarZ.js} +217 -182
  22. package/_chunks/{date-control-BJSzu79z.js → date-control-C4h4m75W.js} +1 -1
  23. package/_chunks/{date-time-BxPJusp9.js → date-time-CTOSbzb0.js} +344 -307
  24. package/_chunks/{delete-button-Bblyah10.js → delete-button-CW9vjLnk.js} +6 -6
  25. package/_chunks/dialog.parts-3w5FR06n.js +131 -0
  26. package/_chunks/{duration-87U2EoMS.js → duration-Bf2OS1V5.js} +19 -18
  27. package/_chunks/editor-popup-ByU7qiub.js +82 -0
  28. package/_chunks/field-configurator-D5dZRhDe.js +288 -0
  29. package/_chunks/field-context-D57PnBbH.js +5 -0
  30. package/_chunks/{framework-mount-C-Zwm44H.js → framework-mount-Bk4O_T7T.js} +1 -1
  31. package/_chunks/icon-toolbar-DSjOdwM7.js +134 -0
  32. package/_chunks/magnifying-glass-CvrTDSkB.js +4 -0
  33. package/_chunks/minus-BOAR3A1C.js +4 -0
  34. package/_chunks/mount-BRdcG60g.js +267 -0
  35. package/_chunks/{native.view-ByyZ1CT5.js → native-Blr3byjO.js} +1 -1
  36. package/_chunks/native-control-B_fVA5bL.js +649 -0
  37. package/_chunks/{number-input-BeIadZuL.js → number-input-CmM6_2vR.js} +7 -7
  38. package/_chunks/{picker-DpP7iQLA.js → picker-DTqET-2W.js} +2 -2
  39. package/_chunks/plus-CbGRkIGl.js +4 -0
  40. package/_chunks/popover-controller-D-AvKQ7B.js +102 -0
  41. package/_chunks/popup-C35Isk7p.js +378 -0
  42. package/_chunks/{rating-choice-Ca8ZBty3.js → rating-choice-C-6wcb9U.js} +1 -1
  43. package/_chunks/render-m5eMMwFR.js +83 -0
  44. package/_chunks/{reorder-list-Cc3KmfAN.js → reorder-list-DIl1gkV6.js} +1 -1
  45. package/_chunks/request-trail-DrhdpWiH.js +762 -0
  46. package/_chunks/rich-text-BnilBbhU.js +842 -0
  47. package/_chunks/rotate-left-BF6G883o.js +4 -0
  48. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  49. package/_chunks/selection-list-tooltips-C5oMJe26.js +42 -0
  50. package/_chunks/title-tooltip-Cw6LOZhb.js +11 -0
  51. package/_chunks/tooltip-D4xkio5G.js +54 -0
  52. package/_chunks/tooltip-owner-DjdvqKzz.js +19 -0
  53. package/_chunks/tooltip-session-B6X6x8G_.js +110 -0
  54. package/_chunks/tooltip-text-BXsUEmBH.js +12 -0
  55. package/_chunks/top-layer-popup-CNSDdfJV.js +59 -0
  56. package/_dialog.scss +55 -21
  57. package/_form.scss +71 -21
  58. package/_legend.scss +25 -7
  59. package/_shared/data-query/index.d.ts +2 -2
  60. package/_shared/data-query/load-options.d.ts +2 -2
  61. package/_variables.scss +34 -32
  62. package/_view-switcher.scss +6 -0
  63. package/activity-message.d.ts +1 -1
  64. package/ai/_chat.scss +227 -0
  65. package/ai/_style.scss +170 -39
  66. package/ai/chat.d.ts +65 -0
  67. package/ai/components.d.ts +34 -5
  68. package/ai/index.d.ts +3 -0
  69. package/ai/index.js +3 -3
  70. package/ai/mount.d.ts +59 -6
  71. package/ai/prompt-history.d.ts +13 -0
  72. package/ai/request-trail.d.ts +9 -3
  73. package/ai/results/_style.scss +83 -0
  74. package/ai/results/index.d.ts +11 -0
  75. package/ai/results/metrics.d.ts +5 -0
  76. package/ai/results/table.d.ts +5 -0
  77. package/ai/results/text.d.ts +5 -0
  78. package/ai/results/types.d.ts +29 -0
  79. package/ai/transcript.d.ts +27 -0
  80. package/ai/translations.d.ts +1 -1
  81. package/angular/angular.d.ts +1 -1
  82. package/angular/angular.js +13 -10
  83. package/assignee/assignee.scss +28 -6
  84. package/assignee/index.js +34 -35
  85. package/avatar/avatar.style.scss +23 -6
  86. package/avatar/index.d.ts +25 -2
  87. package/avatar/index.js +33 -32
  88. package/badge.d.ts +1 -1
  89. package/badge.view.d.ts +8 -0
  90. package/brush-range/_brush-range.scss +55 -49
  91. package/brush-range/component.d.ts +1 -3
  92. package/brush-range/component.js +27 -27
  93. package/buttons/delete-button.d.ts +2 -1
  94. package/buttons/delete-button.js +1 -1
  95. package/buttons/delete-button.style.scss +6 -2
  96. package/buttons/remove-button.d.ts +1 -1
  97. package/buttons/remove-button.js +1 -1
  98. package/buttons/remove-button.style.scss +1 -1
  99. package/buttons/svg-button.d.ts +2 -1
  100. package/buttons/svg-button.js +19 -19
  101. package/calendar/_calendar.scss +27 -26
  102. package/calendar/calendar.js +1 -1
  103. package/calendar/header.js +1 -2
  104. package/calendar/index.js +2 -2
  105. package/cell-input.scss +3 -7
  106. package/cell-visuals/badge.style.scss +6 -3
  107. package/cell-visuals/bar-chart.style.scss +2 -1
  108. package/cell-visuals/column-type.style.css +12 -0
  109. package/cell-visuals/progress-line-value.renderer.style.scss +4 -2
  110. package/cell-visuals/progress-line.style.scss +1 -4
  111. package/cell-visuals/sparkline.style.scss +2 -1
  112. package/cell-visuals/timeline.style.css +4 -2
  113. package/checkbox/checkbox.scss +6 -24
  114. package/choice-chips/index.d.ts +3 -1
  115. package/choice-chips/index.js +1 -1
  116. package/color-palette/color-palette.js +1 -1
  117. package/color-palette/color-palette.style.scss +88 -25
  118. package/color-palette/color-picker.js +2 -2
  119. package/color-palette/color-picker.style.scss +23 -10
  120. package/color-palette/common-palettes.d.ts +1 -1
  121. package/color-palette/common-palettes.js +1 -1
  122. package/color-palette/native.d.ts +15 -2
  123. package/component-catalog.d.ts +24 -11
  124. package/configurator-actions.d.ts +67 -0
  125. package/configurator-actions.js +1 -0
  126. package/configurator-aggregation-list.d.ts +14 -0
  127. package/configurator-aggregation-list.js +63 -0
  128. package/configurator-drop-zone.d.ts +39 -0
  129. package/configurator-drop-zone.js +66 -0
  130. package/configurator-field-icon.d.ts +10 -0
  131. package/configurator-field-icon.js +1 -0
  132. package/configurator-focus.d.ts +4 -0
  133. package/configurator-focus.js +39 -0
  134. package/configurator-sections.d.ts +42 -0
  135. package/configurator-sections.js +71 -0
  136. package/control-attributes.js +7 -7
  137. package/control-presentation.d.ts +8 -2
  138. package/control-presentation.js +25 -20
  139. package/controls.d.ts +19 -7
  140. package/controls.js +4 -3
  141. package/core/editor-popup-position.d.ts +6 -2
  142. package/core/editor-popup.d.ts +4 -0
  143. package/core/editor-popup.js +1 -1
  144. package/core/popover-controller.d.ts +35 -0
  145. package/core/popup-ownership.d.ts +2 -0
  146. package/core/selection-list-tooltips.d.ts +2 -0
  147. package/core/title-tooltip.d.ts +2 -0
  148. package/core/tooltip-session.d.ts +29 -0
  149. package/core/tooltip-surface.d.ts +13 -0
  150. package/core/tooltip-text.d.ts +6 -0
  151. package/core/tooltip.d.ts +35 -0
  152. package/core/top-layer-popup.d.ts +4 -0
  153. package/core/top-layer-popup.js +1 -23
  154. package/date-time/attach.d.ts +1 -1
  155. package/date-time/date-control.d.ts +1 -1
  156. package/date-time/field.d.ts +3 -2
  157. package/date-time/index.js +1 -1
  158. package/date-time/style.scss +242 -39
  159. package/date-time/time-selection.d.ts +3 -1
  160. package/date-time/types.d.ts +5 -1
  161. package/dialog/dialog-action-footer.d.ts +17 -2
  162. package/dialog/dialog.dom.d.ts +15 -2
  163. package/dialog/dialog.dom.js +3 -3
  164. package/dialog/dialog.parts.d.ts +1 -1
  165. package/dialog/dialog.parts.js +1 -1
  166. package/distribution-chart/_distribution-chart.scss +113 -77
  167. package/distribution-chart/area-chart.js +1 -1
  168. package/distribution-chart/bar-chart.d.ts +5 -2
  169. package/distribution-chart/bar-chart.js +7 -3
  170. package/distribution-chart/chart-frame.d.ts +2 -1
  171. package/distribution-chart/index.d.ts +1 -1
  172. package/distribution-chart/line-chart.js +1 -1
  173. package/dropdown/content.d.ts +2 -1
  174. package/dropdown/content.js +1 -142
  175. package/dropdown/control.d.ts +14 -0
  176. package/dropdown/control.js +1 -0
  177. package/dropdown/control.view.d.ts +6 -0
  178. package/dropdown/dropdown.types.d.ts +5 -1
  179. package/dropdown/editor-dropdown.style.scss +54 -16
  180. package/dropdown/index.d.ts +1 -1
  181. package/dropdown/index.js +3 -4
  182. package/dropdown/lookup-field.d.ts +5 -0
  183. package/dropdown/lookup-field.js +2 -1
  184. package/dropdown/popup.d.ts +2 -2
  185. package/dropdown/popup.js +1 -141
  186. package/duration/index.js +1 -1
  187. package/duration/style.scss +1 -1
  188. package/editor-actions.js +1 -1
  189. package/editor-layout/index.d.ts +4 -4
  190. package/editor-layout/index.js +39 -34
  191. package/editor-layout/style.scss +82 -18
  192. package/field-configurator.d.ts +39 -1
  193. package/field-configurator.js +4 -170
  194. package/field-expansion.d.ts +9 -0
  195. package/fieldset.d.ts +3 -0
  196. package/filter/filters/slider/_single-slider.scss +57 -38
  197. package/filter/filters/slider/_slider.scss +41 -33
  198. package/filter/filters/slider/control.js +2 -0
  199. package/filter/filters/slider/runtime.js +49 -22
  200. package/filter/filters/slider/single.js +1 -1
  201. package/filter-badge.js +1 -1
  202. package/filter-controls.d.ts +0 -1
  203. package/filter-controls.js +9 -10
  204. package/form-controls/field-context.d.ts +5 -0
  205. package/form-controls/index.d.ts +10 -2
  206. package/form-controls/index.js +4 -9
  207. package/form-controls/presentation.d.ts +1 -1
  208. package/form-controls/presentation.js +53 -45
  209. package/formatting/index.d.ts +1 -1
  210. package/formatting/index.js +40 -35
  211. package/formatting/styles.scss +14 -57
  212. package/framework.js +237 -226
  213. package/history-controls.d.ts +14 -0
  214. package/history-controls.js +27 -0
  215. package/icon-toolbar.d.ts +62 -0
  216. package/icon-toolbar.js +1 -0
  217. package/icons/icon.d.ts +1 -1
  218. package/legend.d.ts +1 -1
  219. package/masked-input/index.js +1 -1
  220. package/native-control.d.ts +6 -5
  221. package/native-control.js +3 -26
  222. package/native-controls.d.ts +54 -2
  223. package/native-styles.css +1 -1
  224. package/native-styles.scss +6 -2
  225. package/native.d.ts +3 -3
  226. package/native.js +41 -37
  227. package/number-input/index.d.ts +1 -1
  228. package/number-input/index.js +1 -1
  229. package/package.json +88 -14
  230. package/pagination.d.ts +3 -0
  231. package/pagination.js +50 -40
  232. package/pdf-viewer/header.d.ts +1 -1
  233. package/pdf-viewer/index.d.ts +2 -2
  234. package/pdf-viewer/index.js +1 -1
  235. package/pdf-viewer/search-bar.d.ts +1 -1
  236. package/pdf-viewer/status.d.ts +1 -1
  237. package/pdf-viewer/style.scss +205 -45
  238. package/pickers.d.ts +5 -1
  239. package/preact-mount.js +1 -1
  240. package/preact.d.ts +15 -10
  241. package/preact.js +109 -64
  242. package/progress/_bar.scss +9 -3
  243. package/progress/_circular.scss +2 -1
  244. package/rating-choice.js +1 -1
  245. package/react-adapter.d.ts +4 -2
  246. package/react-control.d.ts +1 -0
  247. package/react.d.ts +20 -11
  248. package/react.js +72 -88
  249. package/reorder-list.d.ts +1 -1
  250. package/reorder-list.js +1 -1
  251. package/reorder-list.scss +59 -17
  252. package/resource-picker/resource-picker-popup.js +1 -1
  253. package/resource-picker/resource-picker.js +73 -71
  254. package/resource-picker/resource-picker.scss +66 -35
  255. package/rich-text/engine.d.ts +17 -19
  256. package/rich-text/format-html.d.ts +2 -0
  257. package/rich-text/index.d.ts +11 -7
  258. package/rich-text/index.js +1 -1
  259. package/rich-text/model.d.ts +6 -3
  260. package/rich-text/render-model.d.ts +4 -5
  261. package/rich-text/style.scss +295 -55
  262. package/rich-text/syntax.d.ts +5 -2
  263. package/rich-text/toolbar.d.ts +6 -6
  264. package/rich-text/translations.d.ts +5 -15
  265. package/search-input/index.js +1 -1
  266. package/search-input/native.d.ts +21 -2
  267. package/select.d.ts +22 -0
  268. package/select.js +1 -0
  269. package/selection-list.d.ts +1 -0
  270. package/selection-list.js +3 -1
  271. package/status-feedback/exit-snapshot.js +1 -1
  272. package/status-feedback/index.js +2 -2
  273. package/status-feedback/popover.js +9 -9
  274. package/status-feedback/render.js +3 -44
  275. package/status-feedback/status-feedback.scss +130 -34
  276. package/status-feedback/types.d.ts +4 -0
  277. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  278. package/styles/_activity-message.scss +24 -7
  279. package/styles/_alert.scss +78 -17
  280. package/styles/_cell-editor-frame.scss +11 -0
  281. package/styles/_compositions.scss +404 -82
  282. package/styles/_control.scss +42 -12
  283. package/styles/_disclosure.scss +15 -5
  284. package/styles/_editor-counter.scss +16 -6
  285. package/styles/_editor-slider.scss +8 -4
  286. package/styles/_field-configurator.scss +321 -23
  287. package/styles/_fields-grid.scss +49 -0
  288. package/styles/_filter-controls.scss +10 -2
  289. package/styles/_icon-action.scss +48 -15
  290. package/styles/_loading.scss +12 -3
  291. package/styles/_motion.scss +32 -9
  292. package/styles/_palette.scss +0 -24
  293. package/styles/_primitives.scss +376 -116
  294. package/styles/_theme.scss +130 -86
  295. package/styles/_thresholds.scss +28 -25
  296. package/styles/_time-grid.scss +8 -3
  297. package/styles/_tokens.scss +6 -1
  298. package/styles/configurator-actions.scss +241 -0
  299. package/styles/pagination.css +213 -0
  300. package/styles/{legacy-rating.css → rating.css} +8 -3
  301. package/styles.css +1 -1
  302. package/styles.scss +3 -5
  303. package/surfaces.d.ts +38 -2
  304. package/surfaces.js +37 -134
  305. package/svelte/UiComponent.server.js +1 -48
  306. package/svelte/UiComponent.svelte +44 -32
  307. package/svelte.d.ts +1 -1
  308. package/svelte.js +33 -68
  309. package/switch/index.js +15 -14
  310. package/time-grid.d.ts +0 -1
  311. package/time-grid.js +38 -37
  312. package/timeline-track/_style.scss +96 -24
  313. package/timeline-track/component.d.ts +5 -1
  314. package/timeline-track/index.js +71 -54
  315. package/timeline-track/model.d.ts +9 -0
  316. package/timeline-track/model.js +10 -1
  317. package/ui.css +1 -1
  318. package/view-switcher.d.ts +23 -0
  319. package/vue.d.ts +51 -35
  320. package/vue.js +149 -178
  321. package/_chunks/chart-frame-BC99KjGa.js +0 -127
  322. package/_chunks/choice-chips-Cs4D-3nH.js +0 -110
  323. package/_chunks/compat.module-DDB2pm9O.js +0 -229
  324. package/_chunks/control-tooltip-ztgmsG7H.js +0 -100
  325. package/_chunks/dialog.parts-DBqo3Qwb.js +0 -134
  326. package/_chunks/dropdown-voWqmwAe.js +0 -357
  327. package/_chunks/editor-popup-D3JdS8l3.js +0 -81
  328. package/_chunks/mount-DZe_6VtR.js +0 -90
  329. package/_chunks/request-trail-IdNiFvKH.js +0 -347
  330. package/_chunks/rich-text-BzI1DyfF.js +0 -477
  331. package/avatar/index.view.d.ts +0 -25
  332. package/color-palette/native.view.d.ts +0 -15
  333. package/control-presentation.view.d.ts +0 -8
  334. package/dialog/dialog-action-footer.view.d.ts +0 -20
  335. package/dialog/dialog.dom.view.d.ts +0 -15
  336. package/form-controls/index.view.d.ts +0 -12
  337. package/formatting/control-tooltip.d.ts +0 -27
  338. package/native-controls.view.d.ts +0 -54
  339. package/react-native-select.d.ts +0 -6
  340. package/search-input/native.view.d.ts +0 -21
  341. package/styles/legacy-pagination.css +0 -112
  342. package/surfaces.view.d.ts +0 -63
  343. package/vue-native-select.d.ts +0 -9
package/assignee/index.js CHANGED
@@ -1,10 +1,9 @@
1
1
  import { i as e, t } from "../_chunks/hooks.module-CG3gN83z.js";
2
2
  import { t as n } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
3
- import { Input as r } from "../native-control.js";
4
- import { z as i } from "../_chunks/controls-DIum-E66.js";
5
- import { SearchInput as a } from "../search-input/index.js";
6
- import { SharedResourcePicker as o } from "../resource-picker/resource-picker.js";
7
- import { t as s } from "../_chunks/dropdown-voWqmwAe.js";
3
+ import { l as r, n as i } from "../_chunks/native-control-B_fVA5bL.js";
4
+ import { R as a } from "../_chunks/controls-B_6NJarZ.js";
5
+ import { SearchInput as o } from "../search-input/index.js";
6
+ import { SharedResourcePicker as s } from "../resource-picker/resource-picker.js";
8
7
  import { EditorActions as c } from "../editor-actions.js";
9
8
  //#region src/assignee/model.ts
10
9
  function l(e) {
@@ -32,7 +31,7 @@ function f(e, t) {
32
31
  //#endregion
33
32
  //#region src/assignee/picker.tsx
34
33
  function p(e) {
35
- let t = e.text, i = e.value.every((e) => u(e.units));
34
+ let t = e.text, r = e.value.every((e) => u(e.units));
36
35
  return /* @__PURE__ */ n("div", {
37
36
  id: e.id,
38
37
  class: "rv-assignee-picker",
@@ -42,7 +41,7 @@ function p(e) {
42
41
  (t.ctrlKey || t.metaKey) && t.key === "Enter" && (t.preventDefault(), t.stopPropagation(), e.value.every((e) => u(e.units)) && e.apply()), t.key === "Escape" && (t.preventDefault(), t.stopPropagation(), e.cancel());
43
42
  },
44
43
  children: [
45
- /* @__PURE__ */ n(o, {
44
+ /* @__PURE__ */ n(s, {
46
45
  resources: e.options.map((e) => ({
47
46
  ...e,
48
47
  id: e.value,
@@ -63,20 +62,20 @@ function p(e) {
63
62
  }),
64
63
  /* @__PURE__ */ n("div", {
65
64
  class: "rv-assignee-picker__allocations",
66
- children: e.value.map((i) => {
67
- let a = e.options.find((e) => e.value === i.value), o = a?.name ?? a?.label ?? String(i.value);
68
- return /* @__PURE__ */ n("label", { children: [/* @__PURE__ */ n("span", { children: o }), /* @__PURE__ */ n(r, {
65
+ children: e.value.map((r) => {
66
+ let a = e.options.find((e) => e.value === r.value), o = a?.name ?? a?.label ?? String(r.value);
67
+ return /* @__PURE__ */ n("label", { children: [/* @__PURE__ */ n("span", { children: o }), /* @__PURE__ */ n(i, {
69
68
  type: "number",
70
69
  min: 0,
71
70
  step: "any",
72
71
  disabled: a?.disabled,
73
72
  "aria-label": t?.unitsLabel?.(o) ?? `Units for ${o}`,
74
- value: Number.isFinite(i.units) ? String(i.units) : "",
75
- onInput: (t) => e.change(e.value.map((e) => e.value === i.value ? {
73
+ value: Number.isFinite(r.units) ? String(r.units) : "",
74
+ onInput: (t) => e.change(e.value.map((e) => e.value === r.value ? {
76
75
  ...e,
77
76
  units: t.currentTarget.valueAsNumber
78
77
  } : e))
79
- })] }, `${typeof i.value}:${i.value}`);
78
+ })] }, `${typeof r.value}:${r.value}`);
80
79
  })
81
80
  }),
82
81
  /* @__PURE__ */ n("div", {
@@ -88,14 +87,14 @@ function p(e) {
88
87
  showConfirm: e.showActions ?? e.autoApply === !1,
89
88
  apply: e.apply,
90
89
  cancel: e.cancel,
91
- disabled: !i,
90
+ disabled: !r,
92
91
  text: {
93
92
  apply: t?.apply ?? "Save",
94
93
  cancel: t?.cancel ?? "Cancel"
95
94
  }
96
95
  })]
97
96
  }),
98
- !i && /* @__PURE__ */ n("p", {
97
+ !r && /* @__PURE__ */ n("p", {
99
98
  role: "alert",
100
99
  children: t?.invalidUnits ?? "Units must be a non-negative number."
101
100
  })
@@ -104,27 +103,27 @@ function p(e) {
104
103
  }
105
104
  //#endregion
106
105
  //#region src/assignee/field.tsx
107
- function m({ value: r, options: i, theme: a, renderPicker: o, renderValue: c, save: d, cancel: m }) {
108
- let [h, g] = e(() => l(r)), _ = t(h), v = t(!1), y = (e) => {
106
+ function m({ value: i, options: a, theme: o, renderPicker: s, renderValue: c, save: d, cancel: m }) {
107
+ let [h, g] = e(() => l(i)), _ = t(h), v = t(!1), y = (e) => {
109
108
  _.current = e, g(e);
110
- }, b = () => _.current.every((e) => u(e.units)) ? (v.current = !0, d(_.current), !0) : !1, x = i.autoApply !== !1, S = new Map(i.source.map((e) => [e.value, e])), C = [...i.source, ...h.filter((e) => !S.has(e.value)).map((e) => ({
109
+ }, b = () => _.current.every((e) => u(e.units)) ? (v.current = !0, d(_.current), !0) : !1, x = a.autoApply !== !1, S = new Map(a.source.map((e) => [e.value, e])), C = [...a.source, ...h.filter((e) => !S.has(e.value)).map((e) => ({
111
110
  value: e.value,
112
111
  label: String(e.value)
113
- }))], w = u(i.defaultUnits ?? 100) ? i.defaultUnits ?? 100 : 100;
114
- return /* @__PURE__ */ n(s, {
112
+ }))], w = u(a.defaultUnits ?? 100) ? a.defaultUnits ?? 100 : 100;
113
+ return /* @__PURE__ */ n(r, {
115
114
  source: C,
116
115
  value: h.map((e) => e.value),
117
116
  className: "rv-assignee-editor",
118
- placeholder: i.text?.placeholder ?? "Assign people…",
117
+ placeholder: a.text?.placeholder ?? "Assign people…",
119
118
  config: {
120
119
  multiSelect: !0,
121
120
  autoOpen: !0,
122
121
  autoFocus: !0,
123
122
  topLayer: !0,
124
- ariaLabel: i.text?.label ?? "Assignees",
125
- removeLabel: i.text?.removeLabel,
123
+ ariaLabel: a.text?.label ?? "Assignees",
124
+ removeLabel: a.text?.removeLabel,
126
125
  popupClassName: "rv-assignee-picker-menu edit-input-wrapper",
127
- theme: a
126
+ theme: o
128
127
  },
129
128
  renderValue: (e, t) => {
130
129
  let n = h.find((e) => e.value === t.value)?.units ?? 0;
@@ -134,32 +133,32 @@ function m({ value: r, options: i, theme: a, renderPicker: o, renderValue: c, sa
134
133
  let t = new Set(Array.isArray(e) ? e : [e]);
135
134
  y(_.current.filter((e) => t.has(e.value)));
136
135
  },
137
- beforeOutsideClose: x ? () => _.current.every((e) => u(e.units)) ? JSON.stringify(_.current) === JSON.stringify(l(r)) || b() : !1 : void 0,
136
+ beforeOutsideClose: x ? () => _.current.every((e) => u(e.units)) ? JSON.stringify(_.current) === JSON.stringify(l(i)) || b() : !1 : void 0,
138
137
  onClose: () => {
139
138
  v.current || m();
140
139
  },
141
140
  renderContent: ({ id: e, close: t }) => {
142
141
  let r = {
143
142
  id: e,
144
- options: i.source,
143
+ options: a.source,
145
144
  value: h,
146
145
  change: y,
147
146
  autoApply: x,
148
- showActions: i.showActions,
149
- theme: a,
147
+ showActions: a.showActions,
148
+ theme: o,
150
149
  defaultUnits: w,
151
- showAvatars: i.showAvatars,
152
- text: i.text,
150
+ showAvatars: a.showAvatars,
151
+ text: a.text,
153
152
  apply: b,
154
153
  cancel: () => t(!1)
155
154
  };
156
- return o ? o(r) : /* @__PURE__ */ n(p, { ...r });
155
+ return s ? s(r) : /* @__PURE__ */ n(p, { ...r });
157
156
  }
158
157
  });
159
158
  }
160
159
  //#endregion
161
160
  //#region src/assignee/layout.tsx
162
- function h({ query: e, onQueryChange: t, searchRef: r, children: o, ...s }) {
161
+ function h({ query: e, onQueryChange: t, searchRef: r, children: i, ...s }) {
163
162
  return /* @__PURE__ */ n("div", {
164
163
  id: s.id,
165
164
  class: "rv-assignee-picker",
@@ -171,7 +170,7 @@ function h({ query: e, onQueryChange: t, searchRef: r, children: o, ...s }) {
171
170
  children: [
172
171
  /* @__PURE__ */ n("div", {
173
172
  class: "rv-assignee-picker__search",
174
- children: /* @__PURE__ */ n(a, {
173
+ children: /* @__PURE__ */ n(o, {
175
174
  inputRef: r,
176
175
  autoFocus: !0,
177
176
  "aria-label": s.text?.searchLabel ?? "Search assignees",
@@ -180,7 +179,7 @@ function h({ query: e, onQueryChange: t, searchRef: r, children: o, ...s }) {
180
179
  onValueChange: t
181
180
  })
182
181
  }),
183
- o,
182
+ i,
184
183
  !s.options.some((t) => `${t.name ?? ""} ${t.label} ${t.role ?? ""}`.toLocaleLowerCase().includes(e.trim().toLocaleLowerCase())) && /* @__PURE__ */ n("p", {
185
184
  role: "status",
186
185
  children: s.text?.empty ?? "No assignees found"
@@ -201,7 +200,7 @@ function h({ query: e, onQueryChange: t, searchRef: r, children: o, ...s }) {
201
200
  }
202
201
  })]
203
202
  }),
204
- s.value.some((e) => !u(e.units)) && /* @__PURE__ */ n(i, {
203
+ s.value.some((e) => !u(e.units)) && /* @__PURE__ */ n(a, {
205
204
  tone: "danger",
206
205
  children: s.text?.invalidUnits ?? "Units must be a non-negative number."
207
206
  })
@@ -26,14 +26,31 @@
26
26
  border-radius: 8px;
27
27
  }
28
28
 
29
- .avatar-cell--size-16 { --avatar-cell-size: 16px; font-size: 8px; }
30
- .avatar-cell--size-20 { --avatar-cell-size: 20px; font-size: 9px; }
31
- .avatar-cell--size-32 { --avatar-cell-size: 32px; font-size: 12px; }
32
- .avatar-cell--size-40 { --avatar-cell-size: 40px; font-size: 14px; }
33
- .avatar-cell--size-48 { --avatar-cell-size: 48px; font-size: 16px; }
29
+ .avatar-cell--size-16 {
30
+ --avatar-cell-size: 16px;
31
+ font-size: 8px;
32
+ }
33
+ .avatar-cell--size-20 {
34
+ --avatar-cell-size: 20px;
35
+ font-size: 9px;
36
+ }
37
+ .avatar-cell--size-32 {
38
+ --avatar-cell-size: 32px;
39
+ font-size: 12px;
40
+ }
41
+ .avatar-cell--size-40 {
42
+ --avatar-cell-size: 40px;
43
+ font-size: 14px;
44
+ }
45
+ .avatar-cell--size-48 {
46
+ --avatar-cell-size: 48px;
47
+ font-size: 16px;
48
+ }
34
49
 
35
50
  @each $index, $background in map.get(palettes.$palettes, 'avatar-cell') {
36
- .avatar-cell--#{$index} { --avatar-cell-background: #{$background}; }
51
+ .avatar-cell--#{$index} {
52
+ --avatar-cell-background: #{$background};
53
+ }
37
54
  }
38
55
 
39
56
  // Keep host responsive-image and content-spacing rules out of the avatar.
package/avatar/index.d.ts CHANGED
@@ -1,2 +1,25 @@
1
- /** Compatibility entry; markup is owned by the Preact TSX implementation. */
2
- export * from './index.view';
1
+ import { h } from '../_vendor/preact/src/index';
2
+ export { AVATAR_CELL_BACKGROUNDS } from '../color-palette/common-palettes';
3
+ export type AvatarTemplateOptions = {
4
+ ariaLabel?: string;
5
+ className?: string;
6
+ index?: number;
7
+ initials?: string;
8
+ key?: string | number;
9
+ label?: string;
10
+ rectangular?: boolean;
11
+ size?: number;
12
+ style?: Record<string, string | number | null | undefined>;
13
+ value?: unknown;
14
+ };
15
+ /** Shared Preact avatar, including image-error fallback. */
16
+ export declare function AvatarElement({ options, }: {
17
+ options?: AvatarTemplateOptions;
18
+ }): h.JSX.Element;
19
+ export declare function createAvatarElement(document: Document, options?: AvatarTemplateOptions): HTMLSpanElement;
20
+ export declare function getAvatarCellBackground(index?: number): "linear-gradient(135deg, #7dd3fc, #2563eb)" | "linear-gradient(135deg, #facc15, #b45309)" | "linear-gradient(135deg, #f9a8d4, #be185d)" | "linear-gradient(135deg, #a5b4fc, #4f46e5)" | "linear-gradient(135deg, #86efac, #15803d)" | "linear-gradient(135deg, #fda4af, #be123c)" | "linear-gradient(135deg, #c4b5fd, #7c3aed)" | "linear-gradient(135deg, #fdba74, #c2410c)";
21
+ export declare function getAvatarInitials(value: unknown): string;
22
+ export declare function getAvatarIndex(value: unknown): number;
23
+ export declare function avatarTemplate(h: any, options?: AvatarTemplateOptions): any;
24
+ /** Shared avatar-and-label presentation; resource/row lookup stays with consumers. */
25
+ export declare function avatarWithTextTemplate(h: any, options?: AvatarTemplateOptions): any;
package/avatar/index.js CHANGED
@@ -1,68 +1,69 @@
1
1
  import { i as e } from "../_chunks/hooks.module-CG3gN83z.js";
2
2
  import { t } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
3
3
  import { createPreactElement as n } from "../preact-mount.js";
4
- import { AVATAR_CELL_BACKGROUNDS as r } from "../color-palette/common-palettes.js";
5
- //#region src/avatar/index.view.tsx
6
- function i({ options: n = {} }) {
7
- let [i, a] = e(!1), { index: o = 0, initials: l, rectangular: d = !1, size: f, value: p } = n, m = [
4
+ import { t as r } from "../_chunks/tooltip-text-BXsUEmBH.js";
5
+ import { AVATAR_CELL_BACKGROUNDS as i } from "../color-palette/common-palettes.js";
6
+ //#region src/avatar/index.tsx
7
+ function a({ options: n = {} }) {
8
+ let [a, o] = e(!1), { index: s = 0, initials: u, rectangular: f = !1, size: p, value: m } = n, h = [
8
9
  "avatar-cell",
9
- `avatar-cell--${Math.max(o, 0) % r.length}`,
10
- d ? "avatar-cell--rectangular rectangular" : "",
11
- u(f),
10
+ `avatar-cell--${Math.max(s, 0) % i.length}`,
11
+ f ? "avatar-cell--rectangular rectangular" : "",
12
+ d(p),
12
13
  n.className
13
14
  ].filter(Boolean).join(" ");
14
- return /* @__PURE__ */ t("span", {
15
- class: m,
16
- title: n.label || String(p ?? ""),
15
+ return /* @__PURE__ */ t(r, {
16
+ class: h,
17
+ title: n.label || String(m ?? ""),
17
18
  role: "img",
18
19
  "aria-label": n.ariaLabel || n.label || void 0,
19
20
  style: n.style,
20
- children: c(p) && !i ? /* @__PURE__ */ t("img", {
21
+ children: l(m) && !a ? /* @__PURE__ */ t("img", {
21
22
  class: "avatar-cell__image",
22
- src: String(p),
23
+ src: String(m),
23
24
  alt: n.label || "",
24
- onError: () => a(!0)
25
- }) : l ?? s(p)
25
+ onError: () => o(!0)
26
+ }) : u ?? c(m)
26
27
  });
27
28
  }
28
- function a(e, r = {}) {
29
- return n(e, /* @__PURE__ */ t(i, { options: r }));
29
+ function o(e, r = {}) {
30
+ return n(e, /* @__PURE__ */ t(a, { options: r }));
30
31
  }
31
- function o(e = 0) {
32
- return r[Math.max(e, 0) % r.length];
32
+ function s(e = 0) {
33
+ return i[Math.max(e, 0) % i.length];
33
34
  }
34
- function s(e) {
35
+ function c(e) {
35
36
  return String(e ?? "").split(/\s+/).filter(Boolean).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("");
36
37
  }
37
- function c(e) {
38
+ function l(e) {
38
39
  return typeof e == "string" && /^(https?:|data:image\/|blob:|\/|\.\.?\/)/.test(e);
39
40
  }
40
- function l(e) {
41
+ function u(e) {
41
42
  let t = Number(e);
42
43
  return Number.isFinite(t) ? Math.max(t - 1, 0) : 0;
43
44
  }
44
- function u(e) {
45
+ function d(e) {
45
46
  if (e) return e <= 16 ? "avatar-cell--size-16" : e <= 20 ? "avatar-cell--size-20" : e <= 32 ? "avatar-cell--size-32" : e <= 40 ? "avatar-cell--size-40" : "avatar-cell--size-48";
46
47
  }
47
- function d(e, t = {}) {
48
- let { index: n = 0, initials: i, rectangular: a = !1, size: o, value: l } = t, d = c(l), f = u(o), p = {
48
+ function f(e, t = {}) {
49
+ let { index: n = 0, initials: r, rectangular: a = !1, size: o, value: s } = t, u = l(s), f = d(o), p = {
49
50
  class: [
50
51
  "avatar-cell",
51
- `avatar-cell--${Math.max(n, 0) % r.length}`,
52
+ `avatar-cell--${Math.max(n, 0) % i.length}`,
52
53
  a ? "avatar-cell--rectangular rectangular" : "",
53
54
  f,
54
55
  t.className
55
56
  ].filter(Boolean).join(" "),
56
- title: t.label || String(l ?? "")
57
+ title: t.label || String(s ?? "")
57
58
  };
58
- return t.key !== void 0 && (p.key = t.key), t.style !== void 0 && (p.style = t.style), t.ariaLabel !== void 0 && (p["aria-label"] = t.ariaLabel), d ? e("span", p, [e("img", {
59
+ return t.key !== void 0 && (p.key = t.key), t.style !== void 0 && (p.style = t.style), t.ariaLabel !== void 0 && (p["aria-label"] = t.ariaLabel), u ? e("span", p, [e("img", {
59
60
  class: "avatar-cell__image",
60
- src: String(l),
61
+ src: String(s),
61
62
  alt: t.label || ""
62
- })]) : e("span", p, i ?? s(l));
63
+ })]) : e("span", p, r ?? c(s));
63
64
  }
64
- function f(e, t = {}) {
65
- return e("span", { class: "avatar-cell-with-text" }, [d(e, t), e("span", { class: "avatar-cell-with-text__label" }, String(t.label ?? t.value ?? ""))]);
65
+ function p(e, t = {}) {
66
+ return e("span", { class: "avatar-cell-with-text" }, [f(e, t), e("span", { class: "avatar-cell-with-text__label" }, String(t.label ?? t.value ?? ""))]);
66
67
  }
67
68
  //#endregion
68
- export { r as AVATAR_CELL_BACKGROUNDS, i as AvatarElement, d as avatarTemplate, f as avatarWithTextTemplate, a as createAvatarElement, o as getAvatarCellBackground, l as getAvatarIndex, s as getAvatarInitials };
69
+ export { i as AVATAR_CELL_BACKGROUNDS, a as AvatarElement, f as avatarTemplate, p as avatarWithTextTemplate, o as createAvatarElement, s as getAvatarCellBackground, u as getAvatarIndex, c as getAvatarInitials };
package/badge.d.ts CHANGED
@@ -4,4 +4,4 @@ export interface BadgeOptions {
4
4
  shape?: 'pill' | 'rounded';
5
5
  }
6
6
  /** Shared presentation for inline badges across framework adapters. */
7
- export declare function badgeClassName({ variant, shape }?: BadgeOptions): string;
7
+ export declare function badgeClassName({ variant, shape, }?: BadgeOptions): string;
@@ -0,0 +1,8 @@
1
+ import { h, ComponentChildren } from './_vendor/preact/src/index';
2
+ import { BadgeOptions } from './badge';
3
+ /** Shared badge presentation, independent of toolbar and form controls. */
4
+ export declare function Badge({ children, className, variant, shape, }: BadgeOptions & {
5
+ children?: ComponentChildren;
6
+ className?: string;
7
+ label?: string;
8
+ }): h.JSX.Element;
@@ -1,49 +1,55 @@
1
- .brush-range {
2
- display: flex;
3
- flex-direction: column;
4
- width: 100%;
5
- min-width: 0;
6
- }
7
-
8
- .brush-range__range {
9
- margin: 0;
10
- gap: 0;
11
- }
12
-
13
- // Keep chart tooltips above the interactive range-control layer when they
14
- // overflow below a line or area chart.
15
- .brush-range__chart { z-index: 2; }
16
-
17
- .brush-range__controls {
18
- margin-top: 12px;
19
- }
20
-
21
- .brush-range__labels {
22
- display: grid;
23
- grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
24
- align-items: center;
25
- gap: 12px;
26
- margin-top: 11px;
27
- color: var(--rv-brush-muted, var(--rv-ui-text-muted));
28
- font: 12px/18px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
29
-
30
- }
31
-
32
- .brush-range__label {
33
- min-width: 0;
34
- overflow: hidden;
35
- text-overflow: ellipsis;
36
- white-space: nowrap;
37
- }
38
-
39
- .brush-range__label--end {
40
- text-align: end;
41
- }
42
-
43
- .brush-range__selection {
44
- color: var(--rv-brush-accent, var(--rv-ui-accent-text, var(--rv-ui-accent)));
45
- font-weight: 500;
46
- text-align: center;
47
- white-space: normal;
48
- overflow-wrap: anywhere;
49
- }
1
+ .brush-range {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ min-width: 0;
6
+ }
7
+
8
+ .brush-range__range {
9
+ margin: 0;
10
+ gap: 0;
11
+ }
12
+
13
+ // Keep chart tooltips above the interactive range-control layer when they
14
+ // overflow below a line or area chart.
15
+ .brush-range__chart {
16
+ z-index: 2;
17
+ }
18
+
19
+ .brush-range__controls {
20
+ margin-top: 12px;
21
+ }
22
+
23
+ .brush-range__labels {
24
+ display: grid;
25
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
26
+ align-items: center;
27
+ gap: 12px;
28
+ margin-top: 11px;
29
+ color: var(--rv-brush-muted, var(--rv-ui-text-muted));
30
+ font:
31
+ 12px/18px ui-monospace,
32
+ SFMono-Regular,
33
+ Menlo,
34
+ Consolas,
35
+ monospace;
36
+ }
37
+
38
+ .brush-range__label {
39
+ min-width: 0;
40
+ overflow: hidden;
41
+ text-overflow: ellipsis;
42
+ white-space: nowrap;
43
+ }
44
+
45
+ .brush-range__label--end {
46
+ text-align: end;
47
+ }
48
+
49
+ .brush-range__selection {
50
+ color: var(--rv-brush-accent, var(--rv-ui-accent-text, var(--rv-ui-accent)));
51
+ font-weight: 500;
52
+ text-align: center;
53
+ white-space: normal;
54
+ overflow-wrap: anywhere;
55
+ }
@@ -7,11 +7,9 @@ export interface BrushRangeProps {
7
7
  readonly startLabel: ComponentChildren;
8
8
  readonly selectionLabel: ComponentChildren;
9
9
  readonly endLabel: ComponentChildren;
10
- /** Retains the established filter-specific selectors while sharing the markup owner. */
11
- readonly legacyClassPrefix?: string;
12
10
  }
13
11
  /**
14
12
  * Shared presentation for distribution-backed brush filters. Domain editors own
15
13
  * the chart data and translate slider positions to their filter conditions.
16
14
  */
17
- export declare function BrushRange({ chart, slider, startLabel, selectionLabel, endLabel, legacyClassPrefix, }: BrushRangeProps): h.JSX.Element;
15
+ export declare function BrushRange({ chart, slider, startLabel, selectionLabel, endLabel, }: BrushRangeProps): h.JSX.Element;
@@ -1,47 +1,47 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { PreactRangeSlider as t } from "../filter/filters/slider/preact.js";
3
- import { DistributionChart as n } from "../distribution-chart/index.js";
2
+ import { t } from "../_chunks/tooltip-text-BXsUEmBH.js";
3
+ import { PreactRangeSlider as n } from "../filter/filters/slider/preact.js";
4
+ import { DistributionChart as r } from "../distribution-chart/index.js";
4
5
  //#region src/brush-range/component.tsx
5
- function r(...e) {
6
+ function i(...e) {
6
7
  return e.filter(Boolean).join(" ");
7
8
  }
8
- function i(e) {
9
+ function a(e) {
9
10
  return typeof e == "string" || typeof e == "number" ? String(e) : void 0;
10
11
  }
11
- function a({ chart: a, slider: o, startLabel: s, selectionLabel: c, endLabel: l, legacyClassPrefix: u }) {
12
- let d = (e) => u ? `${u}__${e}` : void 0;
12
+ function o({ chart: o, slider: s, startLabel: c, selectionLabel: l, endLabel: u }) {
13
13
  return /* @__PURE__ */ e("div", {
14
14
  class: "brush-range",
15
15
  children: [
16
- a ? /* @__PURE__ */ e(n, {
17
- ...a,
18
- className: r("brush-range__chart", d("chart"), a.className)
19
- }) : null,
20
- /* @__PURE__ */ e(t, {
16
+ o ? /* @__PURE__ */ e(r, {
21
17
  ...o,
22
- className: r("brush-range__range", d("range"), o.className),
23
- controlClassName: r("brush-range__controls", d("controls"), o.controlClassName),
24
- fromClassName: r(d("lower"), o.fromClassName),
25
- toClassName: r(d("upper"), o.toClassName)
18
+ className: i("brush-range__chart", o.className)
19
+ }) : null,
20
+ /* @__PURE__ */ e(n, {
21
+ ...s,
22
+ className: i("brush-range__range", s.className),
23
+ controlClassName: i("brush-range__controls", s.controlClassName),
24
+ fromClassName: s.fromClassName,
25
+ toClassName: s.toClassName
26
26
  }),
27
27
  /* @__PURE__ */ e("div", {
28
- class: r("brush-range__labels", d("labels")),
28
+ class: "brush-range__labels",
29
29
  children: [
30
- /* @__PURE__ */ e("span", {
30
+ /* @__PURE__ */ e(t, {
31
31
  class: "brush-range__label brush-range__label--start",
32
- title: i(s),
33
- children: s
32
+ title: a(c),
33
+ children: c
34
34
  }),
35
- /* @__PURE__ */ e("span", {
36
- class: r("brush-range__label", "brush-range__selection", d("selection")),
35
+ /* @__PURE__ */ e(t, {
36
+ class: i("brush-range__label", "brush-range__selection"),
37
37
  role: "status",
38
- title: i(c),
39
- children: c
38
+ title: a(l),
39
+ children: l
40
40
  }),
41
- /* @__PURE__ */ e("span", {
41
+ /* @__PURE__ */ e(t, {
42
42
  class: "brush-range__label brush-range__label--end",
43
- title: i(l),
44
- children: l
43
+ title: a(u),
44
+ children: u
45
45
  })
46
46
  ]
47
47
  })
@@ -49,4 +49,4 @@ function a({ chart: a, slider: o, startLabel: s, selectionLabel: c, endLabel: l,
49
49
  });
50
50
  }
51
51
  //#endregion
52
- export { a as BrushRange };
52
+ export { o as BrushRange };
@@ -1,6 +1,7 @@
1
- export declare const DeleteButton: ({ onClick, disabled, className, onMouseDown, onDblClick, locale, }: {
1
+ export declare const DeleteButton: ({ onClick, disabled, rounded, className, onMouseDown, onDblClick, locale, }: {
2
2
  onClick: (e: MouseEvent) => void;
3
3
  disabled?: boolean;
4
+ rounded?: boolean;
4
5
  onMouseDown?: (event: MouseEvent) => void;
5
6
  onDblClick?: (event: MouseEvent) => void;
6
7
  className?: string;
@@ -1 +1 @@
1
- export { t as DeleteButton } from "../_chunks/delete-button-Bblyah10.js";
1
+ export { t as DeleteButton } from "../_chunks/delete-button-CW9vjLnk.js";
@@ -9,6 +9,10 @@
9
9
  color: var(--rv-ui-btn-danger-outline);
10
10
  background: transparent;
11
11
  border-radius: var(--rv-ui-radius, 6px);
12
- &:hover:not(:disabled) { background: var(--rv-ui-btn-danger-outline-hover); }
13
- svg { fill: currentColor; }
12
+ &:hover:not(:disabled) {
13
+ background: var(--rv-ui-btn-danger-outline-hover);
14
+ }
15
+ svg {
16
+ fill: currentColor;
17
+ }
14
18
  }
@@ -4,5 +4,5 @@ export type RemoveButtonProps = Parameters<typeof DeleteButton>[0] & {
4
4
  /** Compact hit area for an action embedded inside a selected-value chip. */
5
5
  compact?: boolean;
6
6
  };
7
- /** Neutral close/remove action; DeleteButton keeps its legacy danger variant. */
7
+ /** Neutral close/remove action; DeleteButton uses destructive action styling. */
8
8
  export declare function RemoveButton({ compact, className, ...props }: RemoveButtonProps): h.JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { t } from "../_chunks/delete-button-Bblyah10.js";
2
+ import { t } from "../_chunks/delete-button-CW9vjLnk.js";
3
3
  //#region src/buttons/remove-button.tsx
4
4
  function n({ compact: n = !1, className: r = "", ...i }) {
5
5
  return /* @__PURE__ */ e(t, {
@@ -1,6 +1,6 @@
1
1
  @use '../styles/icon-action';
2
2
 
3
- // Specificity retains legacy DeleteButton classes without inheriting danger styling.
3
+ // Neutral remove actions override destructive button styling.
4
4
  button.remove-btn.rv-remove-button {
5
5
  @include icon-action.neutral;
6
6
  &.rv-remove-button--compact {
@@ -1,6 +1,7 @@
1
1
  import { h, ComponentChildren, JSX } from '../_vendor/preact/src/index';
2
2
  export interface SvgButtonProps extends Omit<JSX.IntrinsicElements['button'], 'className' | 'children'> {
3
3
  readonly label: string;
4
+ readonly rounded?: boolean;
4
5
  readonly busy?: boolean;
5
6
  /** Explicit variants retain shared appearance when consumer classes are supplied. */
6
7
  readonly variant?: 'link' | 'ghost' | 'solid';
@@ -15,4 +16,4 @@ export interface SvgButtonProps extends Omit<JSX.IntrinsicElements['button'], 'c
15
16
  readonly children?: ComponentChildren;
16
17
  }
17
18
  /** Shared native button presentation for trusted bundled SVG controls. */
18
- export declare function SvgButton({ label, variant, icon, visibleLabel, className, iconClassName, labelClassName, children, iconContent, badge, badgeClassName, class: nativeClass, disabled, ...attributes }: SvgButtonProps): h.JSX.Element;
19
+ export declare function SvgButton({ label, variant, icon, visibleLabel, className, iconClassName, labelClassName, children, iconContent, badge, badgeClassName, class: nativeClass, disabled, title, ...attributes }: SvgButtonProps): h.JSX.Element;