@revolist/ui 4.0.1-rc → 4.0.3-rc

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 (288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +345 -262
  3. package/_chunks/calendar-xpZ0v3xf.js +258 -0
  4. package/_chunks/chart-frame-Cmc7xU1i.js +130 -0
  5. package/_chunks/choice-chips-CHQTUdLs.js +110 -0
  6. package/_chunks/clock-BOhPNlW3.js +4 -0
  7. package/_chunks/{color-palette-BmZ7kH9R.js → color-palette-D8vyPfld.js} +41 -41
  8. package/_chunks/color-picker-CudqPYZo.js +138 -0
  9. package/_chunks/component-C_T2VN5u.js +863 -0
  10. package/_chunks/{component-metadata-BENbgTjU.js → component-metadata-BMOOmqx5.js} +0 -4
  11. package/_chunks/control-AHKXD5Eu.js +93 -0
  12. package/_chunks/{control-tooltip-BCNzQCXE.js → control-tooltip-uscKfAnV.js} +29 -29
  13. package/_chunks/{controller-CmLo-Ajc.js → controller-hRBm_Lfz.js} +15 -15
  14. package/_chunks/{controls-NEL5tDaz.js → controls-DsNi8V8I.js} +229 -214
  15. package/_chunks/{date-control-CYCkb1aQ.js → date-control-DrVFX13g.js} +21 -21
  16. package/_chunks/date-time-qIhp5vaX.js +768 -0
  17. package/_chunks/{delete-button-DnpmDNEJ.js → delete-button-CW9vjLnk.js} +7 -7
  18. package/_chunks/dialog.parts-CKGkC5zP.js +134 -0
  19. package/_chunks/duration-CL68Em0o.js +272 -0
  20. package/_chunks/editor-commit-Bq3wSgvr.js +12 -0
  21. package/_chunks/{editor-popup-B7fu_A_T.js → editor-popup-WDdtVDNA.js} +8 -8
  22. package/_chunks/field-context-D57PnBbH.js +5 -0
  23. package/_chunks/framework-mount--RTLIqE-.js +54 -0
  24. package/_chunks/history-controls-B3u3INEK.js +27 -0
  25. package/_chunks/hooks.module-CG3gN83z.js +157 -0
  26. package/_chunks/jsxRuntime.module-F6UFnpT-.js +30 -0
  27. package/_chunks/mount-DQ1cpppK.js +257 -0
  28. package/_chunks/native-control-C_yok8_-.js +605 -0
  29. package/_chunks/native.view-ByyZ1CT5.js +32 -0
  30. package/_chunks/{number-input-NnH57J4j.js → number-input-BKwA5FnM.js} +89 -89
  31. package/_chunks/picker-h1P5RUgp.js +122 -0
  32. package/_chunks/popup-CT2uD3go.js +367 -0
  33. package/_chunks/preact.module-BBM36DnO.js +290 -0
  34. package/_chunks/{rating-choice-CWAsNQNS.js → rating-choice-DZgmaic0.js} +10 -10
  35. package/_chunks/render-m5eMMwFR.js +83 -0
  36. package/_chunks/reorder-list-CSlqAGHw.js +59 -0
  37. package/_chunks/request-trail-DSlFix6i.js +618 -0
  38. package/_chunks/rich-text-CH7gIqOS.js +636 -0
  39. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  40. package/_form.scss +1 -1
  41. package/_vendor/preact/LICENSE +21 -0
  42. package/_vendor/preact/compat/src/index.d.ts +353 -0
  43. package/_vendor/preact/compat/src/suspense-list.d.ts +16 -0
  44. package/_vendor/preact/compat/src/suspense.d.ts +19 -0
  45. package/_vendor/preact/hooks/src/index.d.ts +145 -0
  46. package/_vendor/preact/src/dom.d.ts +2548 -0
  47. package/_vendor/preact/src/index.d.ts +373 -0
  48. package/_vendor/preact/src/jsx.d.ts +2958 -0
  49. package/activity-message.d.ts +1 -1
  50. package/activity-message.js +16 -16
  51. package/ai/_chat.scss +195 -0
  52. package/ai/_style.scss +105 -34
  53. package/ai/chat.d.ts +63 -0
  54. package/ai/components.d.ts +20 -4
  55. package/ai/index.d.ts +2 -0
  56. package/ai/index.js +3 -3
  57. package/ai/mount.d.ts +30 -1
  58. package/ai/prompt-history.d.ts +13 -0
  59. package/ai/request-trail.d.ts +1 -1
  60. package/ai/transcript.d.ts +25 -0
  61. package/ai/translation-context.d.ts +1 -1
  62. package/ai/translations.d.ts +1 -1
  63. package/alert.d.ts +2 -2
  64. package/angular/angular.js +0 -3
  65. package/assignee/field.d.ts +2 -2
  66. package/assignee/index.js +86 -87
  67. package/assignee/layout.d.ts +2 -2
  68. package/assignee/picker.d.ts +1 -1
  69. package/avatar/index.js +25 -25
  70. package/avatar/index.view.d.ts +1 -1
  71. package/brush-range/component.d.ts +1 -1
  72. package/brush-range/component.js +30 -30
  73. package/buttons/delete-button.d.ts +2 -1
  74. package/buttons/delete-button.js +1 -1
  75. package/buttons/remove-button.d.ts +1 -1
  76. package/buttons/remove-button.js +3 -3
  77. package/buttons/svg-button.d.ts +2 -1
  78. package/buttons/svg-button.js +35 -35
  79. package/calendar/_calendar.scss +7 -2
  80. package/calendar/calendar.d.ts +1 -1
  81. package/calendar/calendar.js +1 -1
  82. package/calendar/caption.d.ts +1 -1
  83. package/calendar/day.d.ts +1 -1
  84. package/calendar/day.js +4 -4
  85. package/calendar/header.d.ts +1 -1
  86. package/calendar/header.js +35 -35
  87. package/calendar/index.js +2 -2
  88. package/calendar/month-grid.d.ts +1 -1
  89. package/calendar/month-grid.js +37 -37
  90. package/calendar/picker.d.ts +1 -1
  91. package/calendar/types.d.ts +1 -1
  92. package/calendar/year-grid.d.ts +1 -1
  93. package/calendar/year-grid.js +12 -12
  94. package/checkbox/index.d.ts +2 -2
  95. package/checkbox/index.js +9 -9
  96. package/choice-chips/index.d.ts +1 -1
  97. package/choice-chips/index.js +1 -1
  98. package/color-palette/color-palette.d.ts +1 -1
  99. package/color-palette/color-palette.js +1 -1
  100. package/color-palette/color-picker.d.ts +1 -1
  101. package/color-palette/color-picker.js +2 -2
  102. package/component-catalog.d.ts +34 -23
  103. package/control-attributes.js +7 -7
  104. package/control-presentation.js +18 -18
  105. package/controls.d.ts +12 -10
  106. package/controls.js +3 -3
  107. package/core/editor-commit.d.ts +1 -1
  108. package/core/editor-popup.d.ts +1 -1
  109. package/core/editor-popup.js +1 -1
  110. package/date-time/date-control.d.ts +1 -1
  111. package/date-time/field.d.ts +2 -2
  112. package/date-time/index.js +1 -1
  113. package/date-time/picker.d.ts +1 -1
  114. package/date-time/style.scss +4 -4
  115. package/date-time/time-control.d.ts +1 -1
  116. package/date-time/time-selection.d.ts +1 -1
  117. package/date-time/types.d.ts +1 -1
  118. package/dialog/dialog-action-footer.view.d.ts +1 -1
  119. package/dialog/dialog.dom.js +52 -52
  120. package/dialog/dialog.parts.d.ts +18 -18
  121. package/dialog/dialog.parts.js +1 -1
  122. package/dialog/dialog.preact.d.ts +1 -1
  123. package/dialog/dialog.preact.js +6 -6
  124. package/distribution-chart/area-chart.d.ts +1 -1
  125. package/distribution-chart/area-chart.js +25 -25
  126. package/distribution-chart/bar-chart.d.ts +6 -3
  127. package/distribution-chart/bar-chart.js +10 -6
  128. package/distribution-chart/chart-frame.d.ts +3 -2
  129. package/distribution-chart/index.d.ts +1 -1
  130. package/distribution-chart/index.js +6 -6
  131. package/distribution-chart/line-chart.d.ts +1 -1
  132. package/distribution-chart/line-chart.js +9 -9
  133. package/distribution-chart/types.d.ts +1 -1
  134. package/dropdown/content.d.ts +3 -2
  135. package/dropdown/content.js +1 -141
  136. package/dropdown/control.d.ts +14 -0
  137. package/dropdown/control.js +1 -0
  138. package/dropdown/control.view.d.ts +6 -0
  139. package/dropdown/dropdown.service.d.ts +1 -1
  140. package/dropdown/dropdown.service.js +9 -9
  141. package/dropdown/dropdown.types.d.ts +4 -0
  142. package/dropdown/editor-dropdown.style.scss +37 -9
  143. package/dropdown/index.d.ts +1 -1
  144. package/dropdown/index.js +3 -4
  145. package/dropdown/lookup-field.d.ts +1 -1
  146. package/dropdown/lookup-field.js +41 -41
  147. package/dropdown/popup.d.ts +1 -1
  148. package/dropdown/popup.js +1 -140
  149. package/duration/controls.d.ts +1 -1
  150. package/duration/index.d.ts +2 -2
  151. package/duration/index.js +1 -1
  152. package/duration/style.scss +1 -1
  153. package/editor-actions.d.ts +1 -1
  154. package/editor-actions.js +21 -20
  155. package/editor-layout/index.d.ts +1 -1
  156. package/editor-layout/index.js +27 -27
  157. package/field-configurator.d.ts +1 -1
  158. package/field-configurator.js +93 -93
  159. package/field-reorder.hook.js +32 -32
  160. package/fieldset.d.ts +3 -0
  161. package/filter/filters/slider/preact.js +3 -3
  162. package/filter/filters/slider/single.d.ts +1 -1
  163. package/filter/filters/slider/single.js +23 -23
  164. package/filter-badge.d.ts +1 -1
  165. package/filter-badge.js +23 -22
  166. package/filter-controls.d.ts +1 -1
  167. package/filter-controls.js +30 -30
  168. package/form-controls/field-context.d.ts +5 -0
  169. package/form-controls/index.js +16 -21
  170. package/form-controls/index.view.d.ts +2 -4
  171. package/form-controls/presentation.d.ts +1 -1
  172. package/form-controls/presentation.js +59 -51
  173. package/formatting/comparison-preview.d.ts +1 -1
  174. package/formatting/control-tooltip.d.ts +1 -1
  175. package/formatting/icon-controls.d.ts +1 -1
  176. package/formatting/index.js +105 -100
  177. package/formatting/inspector-section.d.ts +1 -1
  178. package/formatting/typography-controls.d.ts +1 -1
  179. package/framework-mount.d.ts +1 -1
  180. package/framework.js +215 -207
  181. package/history-controls.d.ts +14 -0
  182. package/history-controls.js +1 -0
  183. package/icons/icon.d.ts +1 -1
  184. package/icons/icon.js +1 -1
  185. package/legend.d.ts +1 -1
  186. package/legend.js +12 -12
  187. package/masked-input/index.d.ts +1 -1
  188. package/masked-input/index.js +109 -109
  189. package/native-control.d.ts +14 -12
  190. package/native-control.js +3 -26
  191. package/native-styles.css +1 -1
  192. package/native.js +40 -39
  193. package/number-input/index.d.ts +1 -1
  194. package/number-input/index.js +1 -1
  195. package/package.json +18 -14
  196. package/pagination.d.ts +3 -0
  197. package/pagination.js +43 -33
  198. package/pdf-viewer/component.d.ts +1 -1
  199. package/pdf-viewer/controller.js +1 -1
  200. package/pdf-viewer/header.d.ts +1 -1
  201. package/pdf-viewer/index.js +13 -13
  202. package/pdf-viewer/search-bar.d.ts +1 -1
  203. package/pdf-viewer/status.d.ts +1 -1
  204. package/pdf-viewer/style.scss +3 -4
  205. package/pdf-viewer/toolbar.d.ts +1 -1
  206. package/pickers.d.ts +1 -1
  207. package/preact-mount.d.ts +1 -1
  208. package/preact-mount.js +1 -1
  209. package/preact.d.ts +2 -0
  210. package/preact.js +62 -62
  211. package/rating-choice.d.ts +1 -1
  212. package/rating-choice.js +1 -1
  213. package/react-adapter.d.ts +1 -1
  214. package/react-control.d.ts +0 -1
  215. package/react-control.js +2 -2
  216. package/react.d.ts +13 -3
  217. package/react.js +71 -88
  218. package/reorder-list.d.ts +1 -1
  219. package/reorder-list.js +1 -1
  220. package/resource-picker/resource-picker-avatar.d.ts +1 -1
  221. package/resource-picker/resource-picker-avatar.js +14 -14
  222. package/resource-picker/resource-picker-option.d.ts +1 -1
  223. package/resource-picker/resource-picker-option.js +28 -28
  224. package/resource-picker/resource-picker-popup.d.ts +1 -1
  225. package/resource-picker/resource-picker-popup.js +3 -3
  226. package/resource-picker/resource-picker.d.ts +1 -1
  227. package/resource-picker/resource-picker.js +88 -88
  228. package/resource-picker/resource-picker.scss +6 -3
  229. package/rich-text/engine.d.ts +16 -19
  230. package/rich-text/index.d.ts +7 -7
  231. package/rich-text/index.js +1 -1
  232. package/rich-text/model.d.ts +4 -3
  233. package/rich-text/render-model.d.ts +4 -5
  234. package/rich-text/style.scss +3 -12
  235. package/rich-text/toolbar.d.ts +7 -7
  236. package/rich-text/translations.d.ts +3 -15
  237. package/search-input/index.js +12 -12
  238. package/segmented-switch/index.d.ts +1 -1
  239. package/segmented-switch/index.js +1 -1
  240. package/select.d.ts +20 -0
  241. package/select.js +1 -0
  242. package/status-feedback/exit-snapshot.js +4 -4
  243. package/status-feedback/index.js +2 -2
  244. package/status-feedback/popover.js +10 -10
  245. package/status-feedback/render.d.ts +2 -2
  246. package/status-feedback/render.js +3 -44
  247. package/status-feedback/status-feedback.scss +7 -0
  248. package/status-feedback/types.d.ts +4 -0
  249. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  250. package/styles/_compositions.scss +3 -1
  251. package/styles/_control.scss +12 -4
  252. package/styles/_primitives.scss +9 -8
  253. package/styles.css +1 -1
  254. package/surfaces.js +49 -49
  255. package/svelte/UiComponent.server.js +1 -48
  256. package/svelte/UiComponent.svelte +0 -21
  257. package/svelte.js +33 -68
  258. package/switch/index.js +15 -15
  259. package/time-grid.d.ts +1 -1
  260. package/time-grid.js +58 -58
  261. package/timeline-track/component.d.ts +5 -1
  262. package/timeline-track/index.js +91 -74
  263. package/timeline-track/model.d.ts +9 -0
  264. package/timeline-track/model.js +10 -1
  265. package/ui.css +1 -1
  266. package/vue-adapter.d.ts +1 -1
  267. package/vue.d.ts +138 -119
  268. package/vue.js +150 -174
  269. package/_chunks/calendar-BsDxCYhI.js +0 -248
  270. package/_chunks/chart-frame-BvxbmEU9.js +0 -126
  271. package/_chunks/choice-chips-0HfOnK_4.js +0 -110
  272. package/_chunks/color-picker-BRv-__AM.js +0 -138
  273. package/_chunks/component-D4PH5UZT.js +0 -859
  274. package/_chunks/date-time-DjucJmbc.js +0 -769
  275. package/_chunks/dialog.parts-Dt3KinUz.js +0 -134
  276. package/_chunks/dropdown-CkGQBm1Q.js +0 -357
  277. package/_chunks/duration-BCaktcvz.js +0 -270
  278. package/_chunks/editor-commit-D6Rf5rGz.js +0 -12
  279. package/_chunks/framework-mount-BKIOsvY-.js +0 -54
  280. package/_chunks/mount-0-8opf1j.js +0 -90
  281. package/_chunks/native.view-8q_nwQ7x.js +0 -32
  282. package/_chunks/picker-oazJ7sO_.js +0 -121
  283. package/_chunks/reorder-list-BV3kZXso.js +0 -59
  284. package/_chunks/request-trail-D0oVzdRd.js +0 -347
  285. package/_chunks/rich-text-2Rla349o.js +0 -477
  286. package/react-native-select.d.ts +0 -6
  287. package/rich-text/syntax.d.ts +0 -2
  288. package/vue-native-select.d.ts +0 -9
@@ -1,11 +1,11 @@
1
- import { attachDialogDrag as e } from "./dialog.drag.js";
2
- import { useEffect as t } from "preact/hooks";
1
+ import { c as e } from "../_chunks/hooks.module-CG3gN83z.js";
2
+ import { attachDialogDrag as t } from "./dialog.drag.js";
3
3
  //#region src/dialog/dialog.preact.ts
4
4
  function n({ targetRef: n, handleRef: r, enabled: i = !0 }) {
5
- t(() => {
6
- let t = n.current, a = r.current;
7
- if (i && t && a) return e({
8
- target: t,
5
+ e(() => {
6
+ let e = n.current, a = r.current;
7
+ if (i && e && a) return t({
8
+ target: e,
9
9
  handle: a
10
10
  });
11
11
  }, [
@@ -1,4 +1,4 @@
1
- import { h } from 'preact';
1
+ import { h } from '../_vendor/preact/src/index';
2
2
  import { StandaloneChartProps } from './types';
3
3
  export type AreaChartProps = StandaloneChartProps;
4
4
  export declare function AreaChart(props: AreaChartProps): h.JSX.Element;
@@ -1,49 +1,49 @@
1
- import { i as e, n as t, r as n, t as r } from "../_chunks/chart-frame-BvxbmEU9.js";
2
- import { useId as i } from "preact/hooks";
3
- import { jsx as a, jsxs as o } from "preact/jsx-runtime";
1
+ import { a as e } from "../_chunks/hooks.module-CG3gN83z.js";
2
+ import { t } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
3
+ import { i as n, n as r, r as i, t as a } from "../_chunks/chart-frame-Cmc7xU1i.js";
4
4
  //#region src/distribution-chart/area-chart.tsx
5
- function s(s) {
6
- let c = `rv-area-${i().replace(/[^a-zA-Z0-9_-]/g, "")}`, { points: l } = n(s.data), u = s.data.some((e) => e.selected !== void 0), d = l.slice(1).map((t, n) => {
7
- let r = l[n], i = e(r, t, s.interpolation);
5
+ function o(o) {
6
+ let s = `rv-area-${e().replace(/[^a-zA-Z0-9_-]/g, "")}`, { points: c } = i(o.data), l = o.data.some((e) => e.selected !== void 0), u = c.slice(1).map((e, t) => {
7
+ let r = c[t], i = n(r, e, o.interpolation);
8
8
  return {
9
- key: s.data[n].key,
10
- selected: !u || !!(s.data[n].selected && s.data[n + 1].selected),
9
+ key: o.data[t].key,
10
+ selected: !l || !!(o.data[t].selected && o.data[t + 1].selected),
11
11
  line: i,
12
- area: `${i} L ${t.x} 100 L ${r.x} 100 Z`
12
+ area: `${i} L ${e.x} 100 L ${r.x} 100 Z`
13
13
  };
14
14
  });
15
- return /* @__PURE__ */ a(r, {
16
- ...s,
15
+ return /* @__PURE__ */ t(a, {
16
+ ...o,
17
17
  variant: "area",
18
- positions: l,
19
- renderDatum: () => s.showPoints === !1 ? null : /* @__PURE__ */ a("span", {
18
+ positions: c,
19
+ renderDatum: () => o.showPoints === !1 ? null : /* @__PURE__ */ t("span", {
20
20
  class: "rv-distribution-chart__point",
21
21
  "aria-hidden": "true"
22
22
  }),
23
- children: l.length > 0 && /* @__PURE__ */ o(t, { children: [s.areaFill === "gradient" && /* @__PURE__ */ a("defs", { children: [!0, !1].map((e) => {
24
- let t = e ? "var(--rv-distribution-accent, var(--rv-ui-accent))" : "var(--rv-distribution-muted, var(--rv-ui-border))";
25
- return /* @__PURE__ */ o("linearGradient", {
26
- id: `${c}${e ? "" : "-muted"}`,
23
+ children: c.length > 0 && /* @__PURE__ */ t(r, { children: [o.areaFill === "gradient" && /* @__PURE__ */ t("defs", { children: [!0, !1].map((e) => {
24
+ let n = e ? "var(--rv-distribution-accent, var(--rv-ui-accent))" : "var(--rv-distribution-muted, var(--rv-ui-border))";
25
+ return /* @__PURE__ */ t("linearGradient", {
26
+ id: `${s}${e ? "" : "-muted"}`,
27
27
  gradientUnits: "userSpaceOnUse",
28
28
  x1: "0",
29
29
  y1: "8",
30
30
  x2: "0",
31
31
  y2: "100",
32
- children: [/* @__PURE__ */ a("stop", {
32
+ children: [/* @__PURE__ */ t("stop", {
33
33
  offset: "0%",
34
- "stop-color": t,
34
+ "stop-color": n,
35
35
  "stop-opacity": "0.4"
36
- }), /* @__PURE__ */ a("stop", {
36
+ }), /* @__PURE__ */ t("stop", {
37
37
  offset: "100%",
38
- "stop-color": t,
38
+ "stop-color": n,
39
39
  "stop-opacity": "0.02"
40
40
  })]
41
41
  }, String(e));
42
- }) }), d.map((e) => /* @__PURE__ */ o("g", { children: [/* @__PURE__ */ a("path", {
42
+ }) }), u.map((e) => /* @__PURE__ */ t("g", { children: [/* @__PURE__ */ t("path", {
43
43
  class: `rv-distribution-chart__area${e.selected ? " is-selected" : ""}`,
44
44
  d: e.area,
45
- style: s.areaFill === "gradient" ? { fill: `url(#${c}${e.selected ? "" : "-muted"})` } : void 0
46
- }), /* @__PURE__ */ a("path", {
45
+ style: o.areaFill === "gradient" ? { fill: `url(#${s}${e.selected ? "" : "-muted"})` } : void 0
46
+ }), /* @__PURE__ */ t("path", {
47
47
  class: `rv-distribution-chart__series rv-distribution-chart__segment${e.selected ? " is-selected" : ""}`,
48
48
  d: e.line,
49
49
  "vector-effect": "non-scaling-stroke"
@@ -51,4 +51,4 @@ function s(s) {
51
51
  });
52
52
  }
53
53
  //#endregion
54
- export { s as AreaChart };
54
+ export { o as AreaChart };
@@ -1,5 +1,8 @@
1
- import { h } from 'preact';
2
- import { StandaloneChartProps } from './types';
3
- export type BarChartProps = StandaloneChartProps;
1
+ import { h } from '../_vendor/preact/src/index';
2
+ import { DistributionChartDatum, StandaloneChartProps } from './types';
3
+ export interface BarChartProps extends StandaloneChartProps {
4
+ /** CSS color or per-bar rule. Return undefined to retain the theme color. */
5
+ readonly barColor?: string | ((datum: DistributionChartDatum, index: number) => string | undefined);
6
+ }
4
7
  /** Compact bar chart, independent of sliders, filters and grid instances. */
5
8
  export declare function BarChart(props: BarChartProps): h.JSX.Element;
@@ -1,14 +1,18 @@
1
- import { r as e, t } from "../_chunks/chart-frame-BvxbmEU9.js";
2
- import { jsx as n } from "preact/jsx-runtime";
1
+ import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
+ import { r as t, t as n } from "../_chunks/chart-frame-Cmc7xU1i.js";
3
3
  //#region src/distribution-chart/bar-chart.tsx
4
4
  function r(r) {
5
- let { values: i, max: a } = e(r.data);
6
- return /* @__PURE__ */ n(t, {
5
+ let { values: i, max: a } = t(r.data), o = r.data.map((e, t) => typeof r.barColor == "function" ? r.barColor(e, t) : r.barColor);
6
+ return /* @__PURE__ */ e(n, {
7
7
  ...r,
8
+ datumColors: o,
8
9
  variant: "bar",
9
- renderDatum: (e, t) => /* @__PURE__ */ n("span", {
10
+ renderDatum: (t, n) => /* @__PURE__ */ e("span", {
10
11
  class: "rv-distribution-chart__bar",
11
- style: { height: `${Math.max(3, i[t] / a * 100)}%` },
12
+ style: {
13
+ backgroundColor: o[n],
14
+ height: `${Math.max(3, i[n] / a * 100)}%`
15
+ },
12
16
  "aria-hidden": "true"
13
17
  })
14
18
  });
@@ -1,13 +1,14 @@
1
- import { h, ComponentChildren } from 'preact';
1
+ import { h, ComponentChildren } from '../_vendor/preact/src/index';
2
2
  import { DistributionChartDatum, DistributionChartType, StandaloneChartProps } from './types';
3
3
  export interface ChartPoint {
4
4
  readonly x: number;
5
5
  readonly y: number;
6
6
  }
7
7
  /** Shared accessibility, focus and tooltip lifecycle for the chart primitives. */
8
- export declare function ChartFrame({ data, ariaLabel, variant, height, className, showGrid, showLabels, showValues, legend, formatValue, tooltip, tooltipIndicator, renderTooltip, positions, renderDatum, children }: StandaloneChartProps & {
8
+ export declare function ChartFrame({ data, ariaLabel, variant, height, className, showGrid, showLabels, showValues, legend, formatValue, tooltip, tooltipIndicator, renderTooltip, positions, datumColors, renderDatum, children }: StandaloneChartProps & {
9
9
  variant: DistributionChartType;
10
10
  positions?: readonly ChartPoint[];
11
+ datumColors?: readonly (string | undefined)[];
11
12
  renderDatum: (datum: DistributionChartDatum, index: number) => ComponentChildren;
12
13
  children?: ComponentChildren;
13
14
  }): h.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { h } from 'preact';
1
+ import { h } from '../_vendor/preact/src/index';
2
2
  import { DistributionChartProps } from './types';
3
3
  export * from './types';
4
4
  export { BarChart, type BarChartProps } from './bar-chart';
@@ -1,10 +1,10 @@
1
- import { BarChart as e } from "./bar-chart.js";
2
- import { LineChart as t } from "./line-chart.js";
3
- import { AreaChart as n } from "./area-chart.js";
4
- import { jsx as r } from "preact/jsx-runtime";
1
+ import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
+ import { BarChart as t } from "./bar-chart.js";
3
+ import { LineChart as n } from "./line-chart.js";
4
+ import { AreaChart as r } from "./area-chart.js";
5
5
  //#region src/distribution-chart/index.tsx
6
6
  function i({ type: i = "bar", ...a }) {
7
- return r(i === "line" ? t : i === "area" ? n : e, { ...a });
7
+ return e(i === "line" ? n : i === "area" ? r : t, { ...a });
8
8
  }
9
9
  //#endregion
10
- export { n as AreaChart, e as BarChart, i as DistributionChart, t as LineChart };
10
+ export { r as AreaChart, t as BarChart, i as DistributionChart, n as LineChart };
@@ -1,4 +1,4 @@
1
- import { h } from 'preact';
1
+ import { h } from '../_vendor/preact/src/index';
2
2
  import { StandaloneChartProps } from './types';
3
3
  export type LineChartProps = StandaloneChartProps;
4
4
  /** Compact line chart with independently selected intervals and optional points. */
@@ -1,21 +1,21 @@
1
- import { i as e, n as t, r as n, t as r } from "../_chunks/chart-frame-BvxbmEU9.js";
2
- import { jsx as i } from "preact/jsx-runtime";
1
+ import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
+ import { i as t, n, r, t as i } from "../_chunks/chart-frame-Cmc7xU1i.js";
3
3
  //#region src/distribution-chart/line-chart.tsx
4
4
  function a(a) {
5
- let { points: o } = n(a.data);
6
- return /* @__PURE__ */ i(r, {
5
+ let { points: o } = r(a.data);
6
+ return /* @__PURE__ */ e(i, {
7
7
  ...a,
8
8
  variant: "line",
9
9
  positions: o,
10
- renderDatum: () => a.showPoints === !1 ? null : /* @__PURE__ */ i("span", {
10
+ renderDatum: () => a.showPoints === !1 ? null : /* @__PURE__ */ e("span", {
11
11
  class: "rv-distribution-chart__point",
12
12
  "aria-hidden": "true"
13
13
  }),
14
- children: o.length > 0 && /* @__PURE__ */ i(t, { children: o.slice(1).map((t, n) => /* @__PURE__ */ i("path", {
15
- class: `rv-distribution-chart__series rv-distribution-chart__segment${a.data[n].selected && a.data[n + 1].selected ? " is-selected" : ""}`,
16
- d: e(o[n], t, a.interpolation),
14
+ children: o.length > 0 && /* @__PURE__ */ e(n, { children: o.slice(1).map((n, r) => /* @__PURE__ */ e("path", {
15
+ class: `rv-distribution-chart__series rv-distribution-chart__segment${a.data[r].selected && a.data[r + 1].selected ? " is-selected" : ""}`,
16
+ d: t(o[r], n, a.interpolation),
17
17
  "vector-effect": "non-scaling-stroke"
18
- }, a.data[n].key)) })
18
+ }, a.data[r].key)) })
19
19
  });
20
20
  }
21
21
  //#endregion
@@ -1,4 +1,4 @@
1
- import { ComponentChildren } from 'preact';
1
+ import { ComponentChildren } from '../_vendor/preact/src/index';
2
2
  export type DistributionChartType = 'bar' | 'line' | 'area';
3
3
  export interface DistributionChartTooltip {
4
4
  readonly title: string;
@@ -1,4 +1,4 @@
1
- import { h, ComponentChildren, RefObject } from 'preact';
1
+ import { h, ComponentChildren, RefObject } from '../_vendor/preact/src/index';
2
2
  import { DropdownConfig, DropdownOption } from './dropdown.types';
3
3
  import { RemoteDropdownState, DropdownRemoteText } from './remote';
4
4
  type DropdownContentProps<T = any> = {
@@ -16,7 +16,7 @@ type DropdownContentProps<T = any> = {
16
16
  theme?: string | null;
17
17
  optionIdPrefix: string;
18
18
  };
19
- export declare function DropdownPopupContent<T = any>({ options, selectedValues, remote, value, onChange, config, multiSelect, search, searchPlaceholder, listboxId, searchId, renderOption, renderNoResults, onClose, theme, }: {
19
+ export declare function DropdownPopupContent<T = any>({ options, selectedValues, remote, value, onChange, config, multiSelect, search, searchPlaceholder, listboxId, searchId, renderOption, renderNoResults, onClose, onTabNavigation, theme, }: {
20
20
  options: DropdownOption<T>[];
21
21
  selectedValues?: DropdownOption<T>[];
22
22
  remote?: RemoteDropdownState<T> & {
@@ -36,6 +36,7 @@ export declare function DropdownPopupContent<T = any>({ options, selectedValues,
36
36
  renderOption?: (h: any, option: DropdownOption<T>, isSelected: boolean) => ComponentChildren;
37
37
  renderNoResults?: (h: any) => ComponentChildren;
38
38
  onClose: (focusNext?: boolean) => void;
39
+ onTabNavigation?: () => void;
39
40
  theme?: string | null;
40
41
  }): h.JSX.Element;
41
42
  export declare function DropdownContent<T = any>({ options, filteredOptions, multiSelect, focusedIndex, selectedOptions, onKeyDown, onSelect, onFocusChange, renderOption, renderNoResults, dropdownListRef, theme, optionIdPrefix, }: DropdownContentProps<T>): h.JSX.Element;
@@ -1,141 +1 @@
1
- import { ButtonControl as e } from "../native-control.js";
2
- import { useDropdownService as t } from "./dropdown.service.js";
3
- import { h as n } from "preact";
4
- import { Fragment as r, jsx as i, jsxs as a } from "preact/jsx-runtime";
5
- import { useCallback as o, useEffect as s, useRef as c } from "preact/compat";
6
- //#region src/dropdown/content.tsx
7
- function l({ options: n, selectedValues: r, remote: o, value: l, onChange: d, config: f, multiSelect: p, search: m, searchPlaceholder: h, listboxId: g, searchId: _, renderOption: v, renderNoResults: y, onClose: b, theme: x }) {
8
- let S = c(null), C = c(null), w = c(null), { searchValue: T, focusedIndex: E, selectedOptions: D, filteredOptions: O, handleSelect: k, handleKeyDown: A, handleSearchChange: j, setFocusedIndex: M } = t(n, l, d, f, b, o && {
9
- selected: r ?? [],
10
- search: o.search
11
- }), N = E >= 0 && E < O.length && !O[E].disabled ? `${g}-option-${E}` : void 0;
12
- return s(() => {
13
- if (!f.autoFocus) return;
14
- let e = () => {
15
- m && S.current ? S.current.focus({ preventScroll: !0 }) : C.current?.focus({ preventScroll: !0 });
16
- }, t = C.current?.ownerDocument.defaultView ?? (typeof window < "u" ? window : void 0);
17
- if (!t) return;
18
- e();
19
- let n = t.setTimeout(e, 0), r = t.requestAnimationFrame(e), i = t.setTimeout(e, 16);
20
- return () => {
21
- t.clearTimeout(n), t.cancelAnimationFrame(r), t.clearTimeout(i);
22
- };
23
- }, [f.autoFocus, m]), /* @__PURE__ */ a("div", {
24
- ref: C,
25
- className: "dropdown-listbox",
26
- "data-theme": x ?? "default",
27
- role: "listbox",
28
- id: g,
29
- "aria-multiselectable": p,
30
- "aria-activedescendant": N,
31
- tabIndex: -1,
32
- "aria-busy": o?.loading,
33
- onScrollCapture: (e) => {
34
- let t = e.target;
35
- o && t.scrollHeight - t.scrollTop - t.clientHeight < 48 && o.loadMore();
36
- },
37
- onKeyUp: (e) => e.stopPropagation(),
38
- onKeyDown: (e) => {
39
- e.stopPropagation(), e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), b(!1)) : e.key === "Tab" ? (e.preventDefault(), e.stopPropagation(), f.closeOnTab && b(!0)) : (e.key !== " " || e.target !== S.current) && A(e);
40
- },
41
- children: [
42
- m && /* @__PURE__ */ i("div", {
43
- className: "dropdown-search",
44
- children: /* @__PURE__ */ i("input", {
45
- ref: S,
46
- type: "text",
47
- id: _,
48
- className: `dropdown-search-input ${x ? `theme-${x}` : ""}`,
49
- placeholder: h,
50
- value: T,
51
- onChange: j,
52
- onInput: j,
53
- "aria-label": f.searchAriaLabel ?? "Search options"
54
- })
55
- }),
56
- o?.loading && /* @__PURE__ */ i("div", {
57
- role: "status",
58
- children: o.text.loading
59
- }),
60
- o?.error && /* @__PURE__ */ a("div", {
61
- role: "alert",
62
- children: [
63
- o.text.error,
64
- " ",
65
- /* @__PURE__ */ i(e, {
66
- onClick: o.retry,
67
- children: o.text.retry
68
- })
69
- ]
70
- }),
71
- /* @__PURE__ */ i(u, {
72
- options: n,
73
- filteredOptions: O,
74
- multiSelect: p,
75
- focusedIndex: E,
76
- selectedOptions: D,
77
- onKeyDown: A,
78
- onSelect: k,
79
- onFocusChange: M,
80
- renderOption: v,
81
- renderNoResults: o ? () => o.loading || o.error ? null : o.text.empty : y,
82
- dropdownListRef: w,
83
- theme: x,
84
- optionIdPrefix: g
85
- }),
86
- o?.hasMore && /* @__PURE__ */ i(e, {
87
- disabled: o.loading,
88
- onClick: o.loadMore,
89
- children: o.text.loadMore
90
- })
91
- ]
92
- });
93
- }
94
- function u({ options: e, filteredOptions: t, multiSelect: s, focusedIndex: c, selectedOptions: l, onKeyDown: u, onSelect: d, onFocusChange: f, renderOption: p, renderNoResults: m, dropdownListRef: h, theme: g, optionIdPrefix: _ }) {
95
- let v = o((e) => l.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [l]), y = o((e, t) => {
96
- let r = v(e), o = c === t;
97
- return /* @__PURE__ */ i("li", {
98
- id: `${_}-option-${t}`,
99
- role: "option",
100
- "aria-selected": r,
101
- "aria-disabled": e.disabled,
102
- tabIndex: -1,
103
- className: `dropdown-option ${r ? "selected" : ""} ${o ? "focused" : ""} ${e.disabled ? "disabled" : ""} ${g ? `theme-${g}` : ""}`,
104
- onClick: () => d(e),
105
- onMouseEnter: () => {
106
- e.disabled || f(t);
107
- },
108
- children: p ? p(n, e, r) : /* @__PURE__ */ a("div", {
109
- className: "option-content",
110
- children: [s && /* @__PURE__ */ i("input", {
111
- type: "checkbox",
112
- checked: r,
113
- readOnly: !0,
114
- disabled: e.disabled,
115
- tabIndex: -1,
116
- "aria-hidden": "true"
117
- }), /* @__PURE__ */ i("span", { children: e.label })]
118
- })
119
- }, `${e.label}-${t}`);
120
- }, [
121
- c,
122
- d,
123
- v,
124
- s,
125
- p,
126
- f,
127
- g
128
- ]);
129
- return /* @__PURE__ */ i(r, { children: /* @__PURE__ */ i("ul", {
130
- ref: h,
131
- className: "dropdown-options",
132
- role: "presentation",
133
- tabIndex: -1,
134
- children: t.length > 0 ? t.map(y) : /* @__PURE__ */ i("li", {
135
- className: "no-results",
136
- children: m ? m(n) : /* @__PURE__ */ i("span", { children: "No results found" })
137
- })
138
- }) });
139
- }
140
- //#endregion
141
- export { u as DropdownContent, l as DropdownPopupContent };
1
+ export { f as DropdownContent, p as DropdownPopupContent } from "../_chunks/native-control-C_yok8_-.js";
@@ -0,0 +1,14 @@
1
+ import { DropdownOption, DropdownProps } from './dropdown.types';
2
+ /** Application-owned state for DOM consumers of the shared Dropdown. */
3
+ export interface DropdownControl<T = string> {
4
+ readonly element: HTMLDivElement;
5
+ value: T;
6
+ source: DropdownOption<T>[];
7
+ disabled: boolean;
8
+ onChange?: (value: T) => void;
9
+ update(props: Partial<DropdownProps<T>>): void;
10
+ destroy(): void;
11
+ }
12
+ export declare function createDropdownControl<T = string>(document: Document, initial: DropdownProps<T>): DropdownControl<T>;
13
+ /** Lifecycle boundary for Stencil/other VNode factories that cannot render Preact components. */
14
+ export declare function renderDropdownControl<T>(h: (tag: any, props: any, ...children: any[]) => T, props: DropdownProps): T;
@@ -0,0 +1 @@
1
+ export { t as createDropdownControl, n as renderDropdownControl } from "../_chunks/control-AHKXD5Eu.js";
@@ -0,0 +1,6 @@
1
+ export declare function createDropdownHost(document: Document): {
2
+ element: HTMLDivElement;
3
+ mount: HTMLDivElement;
4
+ input: HTMLInputElement;
5
+ release: () => void;
6
+ };
@@ -14,6 +14,6 @@ export declare function useDropdownService<T = any>(options: DropdownOption<T>[]
14
14
  handleKeyDown: (e: KeyboardEvent) => void;
15
15
  handleSearchChange: (e: DropdownInputEvent) => void;
16
16
  isOptionSelected: (option: DropdownOption<T>) => boolean;
17
- setFocusedIndex: import('preact/hooks').Dispatch<import('preact/hooks').StateUpdater<number>>;
17
+ setFocusedIndex: import('../_vendor/preact/hooks/src/index').Dispatch<import('../_vendor/preact/hooks/src/index').StateUpdater<number>>;
18
18
  };
19
19
  export {};
@@ -1,4 +1,4 @@
1
- import { useCallback as e, useEffect as t, useMemo as n, useRef as r, useState as i } from "preact/hooks";
1
+ import { c as e, i as t, n, o as r, t as i } from "../_chunks/hooks.module-CG3gN83z.js";
2
2
  //#region src/dropdown/dropdown.service.ts
3
3
  var a = (e, t) => e.label.toLowerCase().includes(t.toLowerCase()), o = (e, t, n) => {
4
4
  if (n === "none") return 0;
@@ -12,8 +12,8 @@ function s(e, t, n) {
12
12
  return r ? [r] : [];
13
13
  }
14
14
  function c(c, l, u, d = {}, f, p) {
15
- let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] = i(b), [C, w] = i(-1), [T, E] = i(() => s(c, l, v)), D = r(!1);
16
- t(() => {
15
+ let { search: m = !1, filterFunction: h = a, sortDirection: g = "none", sortFunction: _ = o, multiSelect: v = !1, autocomplete: y = !1, initialSearch: b = "" } = d, [x, S] = t(b), [C, w] = t(-1), [T, E] = t(() => s(c, l, v)), D = i(!1);
16
+ e(() => {
17
17
  E(p?.selected ?? s(c, l, v));
18
18
  }, [
19
19
  l,
@@ -34,9 +34,9 @@ function c(c, l, u, d = {}, f, p) {
34
34
  _,
35
35
  !!p
36
36
  ]);
37
- t(() => {
37
+ e(() => {
38
38
  D.current = !1, S(b);
39
- }, [b]), t(() => {
39
+ }, [b]), e(() => {
40
40
  O.length ? w((e) => {
41
41
  if (D.current && e >= 0 && e < O.length && !O[e].disabled) return e;
42
42
  let t = O.findIndex((e) => !e.disabled && T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)));
@@ -47,7 +47,7 @@ function c(c, l, u, d = {}, f, p) {
47
47
  return e >= 0 && e < O.length && !O[e].disabled ? e : t >= 0 ? t : O.findIndex((e) => !e.disabled);
48
48
  }) : w(-1);
49
49
  }, [O, T]);
50
- let k = e((e) => {
50
+ let k = r((e) => {
51
51
  if (!e.disabled) {
52
52
  if (v) {
53
53
  let t = T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), n;
@@ -74,7 +74,7 @@ function c(c, l, u, d = {}, f, p) {
74
74
  selectedOptions: T,
75
75
  filteredOptions: O,
76
76
  handleSelect: k,
77
- handleKeyDown: e((e) => {
77
+ handleKeyDown: r((e) => {
78
78
  switch (e.key) {
79
79
  case "Escape":
80
80
  e.preventDefault(), e.stopPropagation();
@@ -93,11 +93,11 @@ function c(c, l, u, d = {}, f, p) {
93
93
  C,
94
94
  k
95
95
  ]),
96
- handleSearchChange: e((e) => {
96
+ handleSearchChange: r((e) => {
97
97
  let t = e.currentTarget.value;
98
98
  t !== x && (D.current = !1, S(t), p?.search(t), w(-1));
99
99
  }, [p, x]),
100
- isOptionSelected: e((e) => T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [T]),
100
+ isOptionSelected: r((e) => T.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), [T]),
101
101
  setFocusedIndex: w
102
102
  };
103
103
  }
@@ -1,3 +1,4 @@
1
+ import { JSX } from '../_vendor/preact/src/index';
1
2
  import { DropdownDataSource, DropdownRemoteText } from './remote';
2
3
  export type { DropdownDataSource, DropdownRemoteText, LookupId, LookupCursor } from './remote';
3
4
  export type DropdownRenderable = any;
@@ -43,6 +44,8 @@ export type DropdownConfig<T = any> = {
43
44
  initialSearch?: string;
44
45
  /** Close the dropdown when Tab is pressed inside the open popup. */
45
46
  closeOnTab?: boolean;
47
+ /** Dismiss then let the browser Tab from the trigger (standalone fields). */
48
+ nativeTabNavigation?: boolean;
46
49
  portalTarget?: HTMLElement | null;
47
50
  topLayer?: boolean;
48
51
  ariaLabel?: string;
@@ -66,6 +69,7 @@ export interface DropdownEnvironment {
66
69
  }
67
70
  export type DropdownProps<T = any> = {
68
71
  environment?: DropdownEnvironment;
72
+ triggerAttributes?: JSX.HTMLAttributes<HTMLDivElement>;
69
73
  source: DropdownOption<T>[];
70
74
  /** Optional application-owned remote search and ID resolver. Values must be string/number IDs. */
71
75
  dataSource?: DropdownDataSource<T>;
@@ -1,5 +1,6 @@
1
1
  @use '../styles/motion';
2
2
  @use '../styles/palette';
3
+ @use '../styles/control';
3
4
 
4
5
 
5
6
  // Mixins
@@ -86,7 +87,7 @@ revo-grid,
86
87
  justify-content: center;
87
88
  margin: 0;
88
89
  position: absolute;
89
- right: var(--rv-dropdown-arrow-right);
90
+ inset-inline-end: var(--rv-dropdown-arrow-right);
90
91
  top: 50%;
91
92
  transform: translateY(-50%);
92
93
  transition: transform var(--rv-ui-motion-normal, 160ms) var(--rv-ui-motion-ease, ease-out);
@@ -112,8 +113,8 @@ revo-grid,
112
113
  align-items: center;
113
114
  min-width: 0;
114
115
  overflow: hidden;
115
- padding-left: 5px;
116
- padding-right: var(--rv-dropdown-value-right-space);
116
+ padding-inline-start: 5px;
117
+ padding-inline-end: var(--rv-dropdown-value-right-space);
117
118
  }
118
119
 
119
120
  .selected-value {
@@ -125,8 +126,8 @@ revo-grid,
125
126
  max-width: 100%;
126
127
  min-width: 0;
127
128
  overflow: hidden;
128
- padding-left: 5px;
129
- padding-right: var(--rv-dropdown-value-right-space);
129
+ padding-inline-start: 5px;
130
+ padding-inline-end: var(--rv-dropdown-value-right-space);
130
131
  text-overflow: ellipsis;
131
132
  white-space: nowrap;
132
133
  width: 100%;
@@ -146,7 +147,7 @@ revo-grid,
146
147
  background-color: var(--rv-dropdown-container-tag-background);
147
148
  border-radius: 3px;
148
149
  padding: 2px 6px;
149
- padding-right: 0;
150
+ padding-inline-end: 0;
150
151
  font-size: 14px;
151
152
 
152
153
  }
@@ -158,7 +159,7 @@ revo-grid,
158
159
  max-width: 100%;
159
160
  min-width: 0;
160
161
  overflow: hidden;
161
- padding-right: var(--rv-dropdown-value-right-space);
162
+ padding-inline-end: var(--rv-dropdown-value-right-space);
162
163
  text-overflow: ellipsis;
163
164
  white-space: nowrap;
164
165
  width: 100%;
@@ -247,6 +248,7 @@ revo-grid,
247
248
  background-color: var(--rv-dropdown-menu-background);
248
249
 
249
250
  .dropdown-option {
251
+ box-sizing: border-box;
250
252
  display: flex;
251
253
  min-height: 38px;
252
254
  align-items: center;
@@ -255,7 +257,7 @@ revo-grid,
255
257
  font-size: 14px;
256
258
  font-weight: 400;
257
259
  list-style: none;
258
- padding: 0;
260
+ padding: 8px 10px;
259
261
  cursor: pointer;
260
262
  user-select: none;
261
263
  margin: 1px 0;
@@ -289,7 +291,7 @@ revo-grid,
289
291
  @include flex-center;
290
292
  gap: 8px;
291
293
  width: 100%;
292
- padding: 8px 10px;
294
+ min-width: 0;
293
295
  }
294
296
  .no-results {
295
297
  padding: 12px;
@@ -306,3 +308,29 @@ revo-grid,
306
308
  opacity: 1;
307
309
  }
308
310
  }
311
+
312
+ // Standalone controls share Dropdown behavior with grid editors and have form chrome.
313
+ .dropdown-container.rv-select {
314
+ height: auto;
315
+ min-width: 0;
316
+ .dropdown-trigger {
317
+ @include control.action-size;
318
+ padding-inline-end: 24px;
319
+ border: 1px solid var(--rv-ui-border);
320
+ border-radius: var(--rv-control-radius, 8px);
321
+ background: var(--rv-ui-surface-sunken);
322
+ color: var(--rv-ui-text);
323
+ &:focus-visible { outline: 2px solid var(--rv-ui-accent); outline-offset: 1px; }
324
+ }
325
+ }
326
+
327
+ // Standalone controls own the padding once; grid editors retain their compact insets.
328
+ .dropdown-container:is(.rv-select, .rv-combobox, .rv-multi-select) .dropdown-trigger {
329
+ --rv-dropdown-arrow-size: 9px;
330
+ --rv-dropdown-arrow-right: 12px;
331
+ padding-inline-end: 32px;
332
+ > .selected-value,
333
+ > .selected-values {
334
+ padding-inline: 0;
335
+ }
336
+ }
@@ -6,7 +6,7 @@ export type { DropdownPopupProps } from './popup';
6
6
  /**
7
7
  * Dropdown component
8
8
  */
9
- export declare function Dropdown<T = any>({ source: localSource, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
9
+ export declare function Dropdown<T = any>({ source: localSource, triggerAttributes, dataSource, dataContext, remoteText, value, onChange, placeholder, disabled, name, id, className, style, config, renderContent, renderOption, renderValue, renderPlaceholder, renderSelectedValue, renderNoResults, onClose, beforeOutsideClose, environment, }: DropdownProps<T>): any;
10
10
  /**
11
11
  * Define the dropdown component
12
12
  * @param el - The element to render the dropdown
package/dropdown/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import { DropdownPopup as e } from "./popup.js";
2
- import { n as t, r as n, t as r } from "../_chunks/dropdown-CkGQBm1Q.js";
3
- import { DropdownPopupContent as i } from "./content.js";
4
- export { r as Dropdown, e as DropdownPopup, i as DropdownPopupContent, t as defineDropdown, n as destroyDropdown };
1
+ import { d as e, l as t, p as n, u as r } from "../_chunks/native-control-C_yok8_-.js";
2
+ import { t as i } from "../_chunks/popup-CT2uD3go.js";
3
+ export { t as Dropdown, i as DropdownPopup, n as DropdownPopupContent, r as defineDropdown, e as destroyDropdown };