@revolist/ui 4.0.2-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 (161) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +345 -263
  3. package/_chunks/{calendar-CpaUK7w1.js → calendar-xpZ0v3xf.js} +39 -29
  4. package/_chunks/{chart-frame-BC99KjGa.js → chart-frame-Cmc7xU1i.js} +16 -13
  5. package/_chunks/{choice-chips-Cs4D-3nH.js → choice-chips-CHQTUdLs.js} +10 -10
  6. package/_chunks/clock-BOhPNlW3.js +4 -0
  7. package/_chunks/{color-palette-BBMFmUNA.js → color-palette-D8vyPfld.js} +1 -1
  8. package/_chunks/{color-picker-D90Jg-M8.js → color-picker-CudqPYZo.js} +10 -10
  9. package/_chunks/{component-YDcfoOLz.js → component-C_T2VN5u.js} +182 -178
  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-ztgmsG7H.js → control-tooltip-uscKfAnV.js} +15 -15
  13. package/_chunks/{controls-DIum-E66.js → controls-DsNi8V8I.js} +144 -129
  14. package/_chunks/{date-control-BJSzu79z.js → date-control-DrVFX13g.js} +1 -1
  15. package/_chunks/{date-time-BxPJusp9.js → date-time-qIhp5vaX.js} +143 -145
  16. package/_chunks/{delete-button-Bblyah10.js → delete-button-CW9vjLnk.js} +6 -6
  17. package/_chunks/{dialog.parts-DBqo3Qwb.js → dialog.parts-CKGkC5zP.js} +20 -20
  18. package/_chunks/{duration-87U2EoMS.js → duration-CL68Em0o.js} +16 -15
  19. package/_chunks/{editor-popup-D3JdS8l3.js → editor-popup-WDdtVDNA.js} +5 -5
  20. package/_chunks/field-context-D57PnBbH.js +5 -0
  21. package/_chunks/{framework-mount-C-Zwm44H.js → framework-mount--RTLIqE-.js} +1 -1
  22. package/_chunks/history-controls-B3u3INEK.js +27 -0
  23. package/_chunks/mount-DQ1cpppK.js +257 -0
  24. package/_chunks/native-control-C_yok8_-.js +605 -0
  25. package/_chunks/{number-input-BeIadZuL.js → number-input-BKwA5FnM.js} +2 -2
  26. package/_chunks/{picker-DpP7iQLA.js → picker-h1P5RUgp.js} +2 -2
  27. package/_chunks/popup-CT2uD3go.js +367 -0
  28. package/_chunks/{rating-choice-Ca8ZBty3.js → rating-choice-DZgmaic0.js} +1 -1
  29. package/_chunks/render-m5eMMwFR.js +83 -0
  30. package/_chunks/{reorder-list-Cc3KmfAN.js → reorder-list-CSlqAGHw.js} +1 -1
  31. package/_chunks/request-trail-DSlFix6i.js +618 -0
  32. package/_chunks/rich-text-CH7gIqOS.js +636 -0
  33. package/_chunks/rotate-right-Iha5ScJ1.js +4 -0
  34. package/_form.scss +1 -1
  35. package/ai/_chat.scss +195 -0
  36. package/ai/_style.scss +105 -34
  37. package/ai/chat.d.ts +63 -0
  38. package/ai/components.d.ts +19 -3
  39. package/ai/index.d.ts +2 -0
  40. package/ai/index.js +3 -3
  41. package/ai/mount.d.ts +30 -1
  42. package/ai/prompt-history.d.ts +13 -0
  43. package/ai/transcript.d.ts +25 -0
  44. package/ai/translations.d.ts +1 -1
  45. package/angular/angular.js +0 -3
  46. package/assignee/index.js +34 -35
  47. package/buttons/delete-button.d.ts +2 -1
  48. package/buttons/delete-button.js +1 -1
  49. package/buttons/remove-button.js +1 -1
  50. package/buttons/svg-button.d.ts +1 -0
  51. package/buttons/svg-button.js +5 -5
  52. package/calendar/_calendar.scss +7 -2
  53. package/calendar/calendar.js +1 -1
  54. package/calendar/index.js +2 -2
  55. package/choice-chips/index.js +1 -1
  56. package/color-palette/color-palette.js +1 -1
  57. package/color-palette/color-picker.js +2 -2
  58. package/component-catalog.d.ts +16 -5
  59. package/control-attributes.js +7 -7
  60. package/controls.d.ts +8 -6
  61. package/controls.js +3 -3
  62. package/core/editor-popup.js +1 -1
  63. package/date-time/index.js +1 -1
  64. package/date-time/style.scss +4 -4
  65. package/dialog/dialog.dom.js +8 -8
  66. package/dialog/dialog.parts.js +1 -1
  67. package/distribution-chart/area-chart.js +1 -1
  68. package/distribution-chart/bar-chart.d.ts +5 -2
  69. package/distribution-chart/bar-chart.js +7 -3
  70. package/distribution-chart/chart-frame.d.ts +2 -1
  71. package/distribution-chart/line-chart.js +1 -1
  72. package/dropdown/content.d.ts +2 -1
  73. package/dropdown/content.js +1 -142
  74. package/dropdown/control.d.ts +14 -0
  75. package/dropdown/control.js +1 -0
  76. package/dropdown/control.view.d.ts +6 -0
  77. package/dropdown/dropdown.types.d.ts +4 -0
  78. package/dropdown/editor-dropdown.style.scss +37 -9
  79. package/dropdown/index.d.ts +1 -1
  80. package/dropdown/index.js +3 -4
  81. package/dropdown/lookup-field.js +1 -1
  82. package/dropdown/popup.js +1 -141
  83. package/duration/index.js +1 -1
  84. package/duration/style.scss +1 -1
  85. package/editor-actions.js +1 -1
  86. package/field-configurator.js +6 -6
  87. package/fieldset.d.ts +3 -0
  88. package/filter/filters/slider/single.js +1 -1
  89. package/filter-badge.js +1 -1
  90. package/filter-controls.js +7 -7
  91. package/form-controls/field-context.d.ts +5 -0
  92. package/form-controls/index.js +7 -12
  93. package/form-controls/index.view.d.ts +2 -4
  94. package/form-controls/presentation.js +51 -43
  95. package/formatting/index.js +25 -21
  96. package/framework.js +215 -207
  97. package/history-controls.d.ts +14 -0
  98. package/history-controls.js +1 -0
  99. package/masked-input/index.js +1 -1
  100. package/native-control.d.ts +6 -4
  101. package/native-control.js +3 -26
  102. package/native-styles.css +1 -1
  103. package/native.js +31 -30
  104. package/number-input/index.js +1 -1
  105. package/package.json +18 -13
  106. package/pagination.d.ts +3 -0
  107. package/pagination.js +43 -33
  108. package/pdf-viewer/index.js +1 -1
  109. package/pdf-viewer/style.scss +3 -4
  110. package/preact.d.ts +2 -0
  111. package/preact.js +62 -62
  112. package/rating-choice.js +1 -1
  113. package/react-control.d.ts +0 -1
  114. package/react-control.js +2 -2
  115. package/react.d.ts +13 -3
  116. package/react.js +71 -88
  117. package/reorder-list.js +1 -1
  118. package/resource-picker/resource-picker-popup.js +1 -1
  119. package/resource-picker/resource-picker.js +4 -4
  120. package/resource-picker/resource-picker.scss +6 -3
  121. package/rich-text/engine.d.ts +16 -19
  122. package/rich-text/index.d.ts +7 -7
  123. package/rich-text/index.js +1 -1
  124. package/rich-text/model.d.ts +4 -3
  125. package/rich-text/render-model.d.ts +4 -5
  126. package/rich-text/style.scss +3 -12
  127. package/rich-text/toolbar.d.ts +6 -6
  128. package/rich-text/translations.d.ts +3 -15
  129. package/select.d.ts +20 -0
  130. package/select.js +1 -0
  131. package/status-feedback/exit-snapshot.js +4 -4
  132. package/status-feedback/index.js +2 -2
  133. package/status-feedback/popover.js +10 -10
  134. package/status-feedback/render.js +3 -44
  135. package/status-feedback/status-feedback.scss +7 -0
  136. package/status-feedback/types.d.ts +4 -0
  137. package/status-feedback/use-auto-dismiss.d.ts +3 -0
  138. package/styles/_compositions.scss +3 -1
  139. package/styles/_control.scss +12 -4
  140. package/styles/_primitives.scss +9 -8
  141. package/styles.css +1 -1
  142. package/surfaces.js +45 -45
  143. package/svelte/UiComponent.server.js +1 -48
  144. package/svelte/UiComponent.svelte +0 -21
  145. package/svelte.js +33 -68
  146. package/time-grid.js +1 -1
  147. package/timeline-track/component.d.ts +5 -1
  148. package/timeline-track/index.js +71 -54
  149. package/timeline-track/model.d.ts +9 -0
  150. package/timeline-track/model.js +10 -1
  151. package/ui.css +1 -1
  152. package/vue.d.ts +24 -5
  153. package/vue.js +140 -164
  154. package/_chunks/compat.module-DDB2pm9O.js +0 -229
  155. package/_chunks/dropdown-voWqmwAe.js +0 -357
  156. package/_chunks/mount-DZe_6VtR.js +0 -90
  157. package/_chunks/request-trail-IdNiFvKH.js +0 -347
  158. package/_chunks/rich-text-BzI1DyfF.js +0 -477
  159. package/react-native-select.d.ts +0 -6
  160. package/rich-text/syntax.d.ts +0 -2
  161. 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-C_yok8_-.js";
4
+ import { R as a } from "../_chunks/controls-DsNi8V8I.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
  })
@@ -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";
@@ -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,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';
@@ -1,15 +1,15 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
2
  import { SvgIcon as t } from "../icons/icon.js";
3
- import { controlClassName as n } from "../control-attributes.js";
4
- import { ButtonControl as r } from "../native-control.js";
5
- import { n as i } from "../_chunks/control-tooltip-ztgmsG7H.js";
3
+ import { t as n } from "../_chunks/native-control-C_yok8_-.js";
4
+ import { controlClassName as r } from "../control-attributes.js";
5
+ import { n as i } from "../_chunks/control-tooltip-uscKfAnV.js";
6
6
  //#region src/buttons/svg-button.tsx
7
7
  function a({ label: a, variant: o, icon: s, visibleLabel: c, className: l, iconClassName: u, labelClassName: d, children: f, iconContent: p, badge: m, badgeClassName: h = "", class: g, disabled: _, ...v }) {
8
8
  let y = i(a, !0, {
9
9
  className: "rv-control-tooltip",
10
10
  placement: "above"
11
11
  });
12
- return /* @__PURE__ */ e(r, {
12
+ return /* @__PURE__ */ e(n, {
13
13
  type: "button",
14
14
  "aria-label": m === void 0 ? a : `${a} ${m}`,
15
15
  ...v,
@@ -40,7 +40,7 @@ function a({ label: a, variant: o, icon: s, visibleLabel: c, className: l, iconC
40
40
  onClick: (e) => {
41
41
  y.hide(), v.onClick?.(e);
42
42
  },
43
- class: n(l ?? (o ? "" : "rv-btn-ghost"), o && `rv-btn-${o}`, g, "rv-icon-action", !c && "rv-btn-icon"),
43
+ class: r(l ?? (o ? "" : "rv-btn-ghost"), o && `rv-btn-${o}`, g, "rv-icon-action", !c && "rv-btn-icon"),
44
44
  children: [
45
45
  s ? /* @__PURE__ */ e(t, {
46
46
  svg: s,
@@ -292,7 +292,12 @@
292
292
  gap: 2px;
293
293
  min-width: 0;
294
294
  }
295
- .revo-calendar__caption .rv-control {
295
+ .revo-calendar__caption .dropdown-container {
296
+ flex: 1 1 0;
297
+ min-width: 0;
298
+ max-width: 58%;
299
+ }
300
+ .revo-calendar__caption .rv-select .dropdown-trigger {
296
301
  min-width: 0;
297
302
  width: auto;
298
303
  max-width: 58%;
@@ -300,7 +305,7 @@
300
305
  height: var(--calendar-cell-size);
301
306
  padding-block: 2px;
302
307
  padding-inline-start: 4px;
303
- font-size: 12px;
308
+ font-size: var(--rv-control-font-size, 0.875rem);
304
309
  background-color: transparent;
305
310
  border-color: transparent;
306
311
  }
@@ -1 +1 @@
1
- export { t as Calendar } from "../_chunks/calendar-CpaUK7w1.js";
1
+ export { t as Calendar } from "../_chunks/calendar-xpZ0v3xf.js";
package/calendar/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { DEFAULT_CALENDAR_TRANSLATIONS as e } from "./translations.js";
2
2
  import { a as t, i as n, n as r, o as i, r as a, t as o } from "../_chunks/model-mPO2tG2f.js";
3
3
  import { CalendarHeader as s, CalendarWeekdays as c } from "./header.js";
4
- import { t as l } from "../_chunks/calendar-CpaUK7w1.js";
4
+ import { t as l } from "../_chunks/calendar-xpZ0v3xf.js";
5
5
  import { CalendarDay as u } from "./day.js";
6
6
  import { CalendarMonthGrid as d } from "./month-grid.js";
7
7
  import { CalendarYearGrid as f } from "./year-grid.js";
8
- import { t as p } from "../_chunks/picker-DpP7iQLA.js";
8
+ import { t as p } from "../_chunks/picker-h1P5RUgp.js";
9
9
  export { l as Calendar, u as CalendarDay, s as CalendarHeader, d as CalendarMonthGrid, p as CalendarPicker, c as CalendarWeekdays, f as CalendarYearGrid, e as DEFAULT_CALENDAR_TRANSLATIONS, o as createCalendarMonth, r as isCalendarDateDisabled, a as isCalendarMonthDisabled, n as isDateInCalendarRange, t as moveCalendarFocus, i as orderCalendarRange };
@@ -1 +1 @@
1
- export { t as ChoiceChip, n as ChoiceChipInfoButton, r as ChoiceChips } from "../_chunks/choice-chips-Cs4D-3nH.js";
1
+ export { t as ChoiceChip, n as ChoiceChipInfoButton, r as ChoiceChips } from "../_chunks/choice-chips-CHQTUdLs.js";
@@ -1,3 +1,3 @@
1
- import { t as e } from "../_chunks/color-palette-BBMFmUNA.js";
1
+ import { t as e } from "../_chunks/color-palette-D8vyPfld.js";
2
2
  import { DEFAULT_COLOR_PALETTE_OPTIONS as t } from "./palette.js";
3
3
  export { e as ColorPalette, t as DEFAULT_COLOR_PALETTE_OPTIONS };
@@ -1,3 +1,3 @@
1
- import { n as e } from "../_chunks/color-palette-BBMFmUNA.js";
2
- import { t } from "../_chunks/color-picker-D90Jg-M8.js";
1
+ import { n as e } from "../_chunks/color-palette-D8vyPfld.js";
2
+ import { t } from "../_chunks/color-picker-CudqPYZo.js";
3
3
  export { t as ColorPicker, e as normalizeHexColor };
@@ -1,15 +1,26 @@
1
1
  import { NumberDraft as PreactNumberDraft } from './number-input/index';
2
2
  import { MaskedDraft as PreactMaskedDraft } from './masked-input/index';
3
3
  import { DurationField as PreactDurationField, DurationDraft as PreactDurationDraft } from './duration/index';
4
- import { MarkdownEditor as PreactMarkdownEditor } from './rich-text/index';
4
+ import { HtmlEditor as PreactHtmlEditor } from './rich-text/index';
5
5
  import { TemporalPicker as PreactTemporalPicker, TemporalDraft as PreactTemporalDraft, DateTimeField as PreactDateTimeField } from './date-time/index';
6
6
  import { AssigneePicker as PreactAssigneePicker, AssigneeField as PreactAssigneeField, AssigneePickerLayout as PreactAssigneePickerLayout } from './assignee/index';
7
7
  import * as ui from './preact';
8
8
  export declare const uiComponents: {
9
+ readonly AiChat: typeof ui.AiChat;
10
+ readonly AiChatContent: typeof ui.AiChatContent;
11
+ readonly AiChatComposer: typeof ui.AiChatComposer;
12
+ readonly AiChatEmptyState: typeof ui.AiChatEmptyState;
13
+ readonly AiMessage: typeof ui.AiMessage;
14
+ readonly AiMessageContent: typeof ui.AiMessageContent;
15
+ readonly AiMessageActions: typeof ui.AiMessageActions;
16
+ readonly AiReasoning: typeof ui.AiReasoning;
17
+ readonly AiTask: typeof ui.AiTask;
18
+ readonly AiTaskItem: typeof ui.AiTaskItem;
9
19
  readonly AiPromptInput: typeof ui.AiPromptInput;
10
20
  readonly AiSuggestions: typeof ui.AiSuggestions;
11
21
  readonly AiActionStatus: typeof ui.AiActionStatus;
12
22
  readonly AiResult: typeof ui.AiResult;
23
+ readonly AiChangePreview: typeof ui.AiChangePreview;
13
24
  readonly AiAssistant: typeof ui.AiAssistant;
14
25
  readonly AiRequestTrail: typeof ui.AiRequestTrail;
15
26
  readonly Icon: typeof ui.SvgIcon;
@@ -18,7 +29,7 @@ export declare const uiComponents: {
18
29
  readonly RangeSlider: typeof ui.PreactRangeSlider;
19
30
  readonly ResourcePicker: typeof ui.SharedResourcePicker;
20
31
  readonly FeedbackPanel: typeof ui.StatusFeedbackPanel;
21
- readonly Input: import('./_vendor/preact/src/index').FunctionalComponent<import('./_vendor/preact/compat/src/index').PropsWithoutRef<Omit<import("./_vendor/preact/src/index").JSX.InputHTMLAttributes<HTMLInputElement>, "className" | "class" | "ref"> & {
32
+ readonly Input: import('./_vendor/preact/src/index').FunctionalComponent<import('./_vendor/preact/compat/src/index').PropsWithoutRef<Omit<import("./_vendor/preact/src/index").JSX.InputHTMLAttributes<HTMLInputElement>, "className" | "ref" | "class"> & {
22
33
  class?: import("./_vendor/preact/src/index").JSX.Signalish<string | undefined> | Record<string, boolean | undefined>;
23
34
  className?: import("./_vendor/preact/src/index").JSX.Signalish<string | undefined>;
24
35
  }> & {
@@ -26,9 +37,10 @@ export declare const uiComponents: {
26
37
  }>;
27
38
  readonly SvgIcon: typeof ui.SvgIcon;
28
39
  readonly SvgButton: typeof ui.SvgButton;
29
- readonly DeleteButton: ({ onClick, disabled, className, onMouseDown, onDblClick, locale, }: {
40
+ readonly DeleteButton: ({ onClick, disabled, rounded, className, onMouseDown, onDblClick, locale, }: {
30
41
  onClick: (e: MouseEvent) => void;
31
42
  disabled?: boolean;
43
+ rounded?: boolean;
32
44
  onMouseDown?: (event: MouseEvent) => void;
33
45
  onDblClick?: (event: MouseEvent) => void;
34
46
  className?: string;
@@ -196,14 +208,13 @@ export declare const uiComponents: {
196
208
  readonly MaskedDraft: typeof PreactMaskedDraft;
197
209
  readonly DurationField: typeof PreactDurationField;
198
210
  readonly DurationDraft: typeof PreactDurationDraft;
199
- readonly MarkdownEditor: typeof PreactMarkdownEditor;
211
+ readonly HtmlEditor: typeof PreactHtmlEditor;
200
212
  readonly TemporalPicker: typeof PreactTemporalPicker;
201
213
  readonly TemporalDraft: typeof PreactTemporalDraft;
202
214
  readonly DateTimeField: typeof PreactDateTimeField;
203
215
  readonly AssigneePicker: typeof PreactAssigneePicker;
204
216
  readonly AssigneeField: typeof PreactAssigneeField;
205
217
  readonly AssigneePickerLayout: typeof PreactAssigneePickerLayout;
206
- readonly NativeSelect: typeof ui.NativeSelect;
207
218
  };
208
219
  export type UiComponentName = keyof typeof uiComponents;
209
220
  export type UiComponentProps<K extends UiComponentName> = import('./_vendor/preact/src/index').ComponentProps<(typeof uiComponents)[K]>;
@@ -5,18 +5,18 @@ function e(...e) {
5
5
  return [...new Set(t.filter(Boolean))].join(" ");
6
6
  }
7
7
  function t(t, n = {}) {
8
- let { class: r, className: i, unstyled: a, busy: o, ...s } = n, c = t === "button" && o === !0;
9
- if (c) {
10
- for (let e of Object.keys(s)) /^on/i.test(e) && delete s[e];
11
- s.disabled = !0, s["aria-busy"] = !0, s.onClickCapture = (e) => {
8
+ let { class: r, className: i, unstyled: a, busy: o, rounded: s, ...c } = n, l = t === "button" && o === !0;
9
+ if (l) {
10
+ for (let e of Object.keys(c)) /^on/i.test(e) && delete c[e];
11
+ c.disabled = !0, c["aria-busy"] = !0, c.onClickCapture = (e) => {
12
12
  e.preventDefault(), e.stopPropagation();
13
13
  };
14
14
  }
15
- let l = t === "input" ? n.type ?? "text" : void 0, u = t === "button" ? a ? "" : "rv-btn" : t === "summary" ? "rv-disclosure-summary" : l === "checkbox" ? "rv-checkbox" : l === "radio" ? "rv-radio" : l === "range" ? "rv-native-slider" : l === "hidden" ? "" : "rv-control";
15
+ let u = t === "input" ? n.type ?? "text" : void 0, d = t === "button" ? a ? "" : "rv-btn" : t === "summary" ? "rv-disclosure-summary" : u === "checkbox" ? "rv-checkbox" : u === "radio" ? "rv-radio" : u === "range" ? "rv-native-slider" : u === "hidden" ? "" : "rv-control";
16
16
  return {
17
17
  ...t === "button" ? { type: "button" } : {},
18
- ...s,
19
- class: e(u, r, i, c && "rv-btn-busy", c && n.disabled && "rv-btn-busy-disabled")
18
+ ...c,
19
+ class: e(d, r, i, t === "button" && s && "rv-btn-rounded", l && "rv-btn-busy", l && n.disabled && "rv-btn-busy-disabled")
20
20
  };
21
21
  }
22
22
  //#endregion
package/controls.d.ts CHANGED
@@ -5,6 +5,12 @@ import { EditorPane, EditorSplitLayout } from './editor-layout';
5
5
  import { ResizeOptions } from './surfaces';
6
6
  type ButtonAttributes = Omit<JSX.IntrinsicElements['button'], 'className'>;
7
7
  export type ButtonProps = ButtonAttributes & {
8
+ /** Pill-shaped corners for any button variant. */
9
+ rounded?: boolean;
10
+ /** Render navigation with native anchor semantics. */
11
+ href?: string;
12
+ target?: JSX.IntrinsicElements['a']['target'];
13
+ rel?: string;
8
14
  /** Show progress and block activation until cleared, preserving variant colors. */
9
15
  busy?: boolean;
10
16
  className?: string;
@@ -79,10 +85,6 @@ export declare function NumberStepper({ value, min, max, step, onChange, label,
79
85
  export declare function DateInput(props: Omit<TextInputProps, 'type'>): h.JSX.Element;
80
86
  export declare function TimeInput(props: Omit<TextInputProps, 'type'>): h.JSX.Element;
81
87
  export declare function DateTimeInput(props: Omit<TextInputProps, 'type'>): h.JSX.Element;
82
- export declare function NativeSelect({ className, class: nativeClass, onValueChange, onChange, ...props }: Omit<JSX.IntrinsicElements['select'], 'className'> & {
83
- className?: string;
84
- onValueChange?: (value: string) => void;
85
- }): h.JSX.Element;
86
88
  export declare function Chip({ children, className }: ShellProps): h.JSX.Element;
87
89
  export declare function FieldHint({ children, id }: ShellProps & {
88
90
  id?: string;
@@ -99,12 +101,12 @@ export declare function Disclosure({ children, className, summary, open, onToggl
99
101
  open?: boolean;
100
102
  onToggle?: JSX.GenericEventHandler<HTMLDetailsElement>;
101
103
  }): h.JSX.Element;
102
- export { EditorPane as Pane, EditorSplitLayout as SplitLayout, };
104
+ export { EditorPane as Pane, EditorSplitLayout as SplitLayout };
103
105
  export declare function Panel({ children, className, label }: ShellProps): h.JSX.Element;
104
106
  export declare function Toolbar({ children, className, label }: ShellProps): h.JSX.Element;
105
107
  export declare function ToolbarGroup({ children, className, label }: ShellProps): h.JSX.Element;
106
108
  export declare function ToolbarSeparator(): h.JSX.Element;
107
- export declare function Badge({ children, className, variant, shape }: ShellProps & BadgeOptions): h.JSX.Element;
109
+ export declare function Badge({ children, className, variant, shape, }: ShellProps & BadgeOptions): h.JSX.Element;
108
110
  export declare function CountBadge({ count, label }: {
109
111
  count: number;
110
112
  label: string;
package/controls.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as e, C as t, D as n, E as r, F as i, I as a, L as o, M as s, N as c, O as l, P as u, R as d, S as f, T as p, _ as m, a as h, b as g, c as _, d as v, f as y, g as b, h as x, i as S, j as C, k as w, l as T, m as E, n as D, o as O, p as k, r as A, s as j, t as M, u as N, v as P, w as F, x as I, y as L, z as R } from "./_chunks/controls-DIum-E66.js";
2
- import { EditorList as z, EditorListGroup as B, EditorListItem as V, EditorListItemContent as H, EditorPane as U, EditorSplitLayout as W } from "./editor-layout/index.js";
3
- export { R as Alert, M as Badge, D as Button, A as ButtonGroup, S as Chip, h as CircularProgress, O as CountBadge, j as DateInput, _ as DateTimeInput, T as Disclosure, N as EmptyState, v as FieldError, y as FieldHint, k as FormSection, E as IconButton, z as Listbox, B as ListboxGroup, V as ListboxOption, H as ListboxOptionContent, x as LoadingOverlay, b as Menu, m as MenuItem, P as MenuSeparator, L as NativeSelect, g as NumberInput, I as NumberStepper, f as Pagination, U as Pane, t as Panel, F as RadioGroup, p as Rating, r as ResizeHandle, n as SegmentedControl, l as Spinner, W as SplitLayout, w as Submenu, e as TabPanel, C as Tabs, s as TextInput, c as Textarea, u as TimeInput, i as ToggleButton, a as Toolbar, o as ToolbarGroup, d as ToolbarSeparator };
1
+ import { A as e, C as t, D as n, E as r, F as i, I as a, L as o, M as s, N as c, O as l, P as u, R as d, S as f, T as p, _ as m, a as h, b as g, c as _, d as v, f as y, g as b, h as x, i as S, j as C, k as w, l as T, m as E, n as D, o as O, p as k, r as A, s as j, t as M, u as N, v as P, w as F, x as I, y as L } from "./_chunks/controls-DsNi8V8I.js";
2
+ import { EditorList as R, EditorListGroup as z, EditorListItem as B, EditorListItemContent as V, EditorPane as H, EditorSplitLayout as U } from "./editor-layout/index.js";
3
+ export { d as Alert, M as Badge, D as Button, A as ButtonGroup, S as Chip, h as CircularProgress, O as CountBadge, j as DateInput, _ as DateTimeInput, T as Disclosure, N as EmptyState, v as FieldError, y as FieldHint, k as FormSection, E as IconButton, R as Listbox, z as ListboxGroup, B as ListboxOption, V as ListboxOptionContent, x as LoadingOverlay, b as Menu, m as MenuItem, P as MenuSeparator, L as NumberInput, g as NumberStepper, I as Pagination, H as Pane, f as Panel, t as RadioGroup, F as Rating, p as ResizeHandle, r as SegmentedControl, n as Spinner, U as SplitLayout, l as Submenu, w as TabPanel, e as Tabs, C as TextInput, s as Textarea, c as TimeInput, u as ToggleButton, i as Toolbar, a as ToolbarGroup, o as ToolbarSeparator };
@@ -1 +1 @@
1
- export { t as mountEditorPopup } from "../_chunks/editor-popup-D3JdS8l3.js";
1
+ export { t as mountEditorPopup } from "../_chunks/editor-popup-WDdtVDNA.js";
@@ -1 +1 @@
1
- export { r as DateTimeField, i as TemporalDraft, a as TemporalPicker, n as attachTemporalPicker, o as defaultTemporalPickerText, t as renderTemporalValue, s as temporalPickerLabel } from "../_chunks/date-time-BxPJusp9.js";
1
+ export { r as DateTimeField, i as TemporalDraft, a as TemporalPicker, n as attachTemporalPicker, o as defaultTemporalPickerText, t as renderTemporalValue, s as temporalPickerLabel } from "../_chunks/date-time-qIhp5vaX.js";
@@ -57,9 +57,9 @@
57
57
 
58
58
  .rv-temporal-picker__header .rv-control,
59
59
  .rv-temporal-picker__times .rv-control {
60
- font-size: 12px;
61
- min-height: 32px;
62
- padding: 6px 8px;
60
+ font-size: var(--rv-control-font-size, 0.875rem);
61
+ min-height: var(--rv-control-height, 32px);
62
+ padding: var(--rv-control-padding, 6px 12px);
63
63
  }
64
64
  .rv-temporal-picker__dates { flex-wrap: wrap; }
65
65
  .rv-temporal-picker__endpoint {
@@ -94,7 +94,7 @@
94
94
  width: 100%;
95
95
  font-variant-numeric: tabular-nums;
96
96
  &__entry { display: grid; gap: 6px; min-width: 0; font-size: 12px; font-weight: 500; }
97
- &__entry > .rv-control { width: 100%; min-width: 0; height: 34px; font: inherit; font-size: 14px; font-weight: 400; }
97
+ &__entry > .rv-control { width: 100%; min-width: 0; height: var(--rv-control-height, 32px); font: inherit; font-size: var(--rv-control-font-size, 0.875rem); font-weight: 400; }
98
98
  &__entry input[type='time']::-webkit-calendar-picker-indicator { display: none; }
99
99
  &__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
100
100
  &__columns--seconds { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@@ -1,12 +1,12 @@
1
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { createPreactElement as t } from "../preact-mount.js";
3
- import { ButtonControl as n } from "../native-control.js";
4
- import { a as r, i, n as a, r as o, s } from "../_chunks/dialog.parts-DBqo3Qwb.js";
2
+ import { t } from "../_chunks/native-control-C_yok8_-.js";
3
+ import { createPreactElement as n } from "../preact-mount.js";
4
+ import { a as r, i, n as a, r as o, s } from "../_chunks/dialog.parts-CKGkC5zP.js";
5
5
  //#region src/dialog/dialog.dom.view.tsx
6
- function c(n, c, l) {
6
+ function c(t, c, l) {
7
7
  let u = f(), d, p, m, h, g;
8
8
  return {
9
- root: t(n, /* @__PURE__ */ e("div", {
9
+ root: n(t, /* @__PURE__ */ e("div", {
10
10
  class: ["rv-dialog-overlay", c.overlayClass].filter(Boolean).join(" "),
11
11
  role: "dialog",
12
12
  "aria-modal": "true",
@@ -57,15 +57,15 @@ function c(n, c, l) {
57
57
  actions: g
58
58
  };
59
59
  }
60
- function l(n, r, a) {
61
- return t(n, /* @__PURE__ */ e(i, {
60
+ function l(t, r, a) {
61
+ return n(t, /* @__PURE__ */ e(i, {
62
62
  "aria-label": r,
63
63
  title: r,
64
64
  onClick: a
65
65
  }));
66
66
  }
67
67
  function u(r, i, a, o = "default") {
68
- return t(r, /* @__PURE__ */ e(n, {
68
+ return n(r, /* @__PURE__ */ e(t, {
69
69
  title: i || void 0,
70
70
  class: o === "default" ? "rv-btn" : `rv-btn-${o}`,
71
71
  onClick: a,
@@ -1 +1 @@
1
- export { t as DialogActionFooter, n as DialogActions, r as DialogBody, i as DialogCloseButton, a as DialogFooter, o as DialogForm, s as DialogHeader, c as DialogTitleInput, l as EditableDialogHeader } from "../_chunks/dialog.parts-DBqo3Qwb.js";
1
+ export { t as DialogActionFooter, n as DialogActions, r as DialogBody, i as DialogCloseButton, a as DialogFooter, o as DialogForm, s as DialogHeader, c as DialogTitleInput, l as EditableDialogHeader } from "../_chunks/dialog.parts-CKGkC5zP.js";
@@ -1,6 +1,6 @@
1
1
  import { a as e } from "../_chunks/hooks.module-CG3gN83z.js";
2
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-BC99KjGa.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
5
  function o(o) {
6
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) => {
@@ -1,5 +1,8 @@
1
1
  import { h } from '../_vendor/preact/src/index';
2
- import { StandaloneChartProps } from './types';
3
- export type BarChartProps = StandaloneChartProps;
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
1
  import { t as e } from "../_chunks/jsxRuntime.module-F6UFnpT-.js";
2
- import { r as t, t as n } from "../_chunks/chart-frame-BC99KjGa.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 } = t(r.data);
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
6
  return /* @__PURE__ */ e(n, {
7
7
  ...r,
8
+ datumColors: o,
8
9
  variant: "bar",
9
10
  renderDatum: (t, n) => /* @__PURE__ */ e("span", {
10
11
  class: "rv-distribution-chart__bar",
11
- style: { height: `${Math.max(3, i[n] / 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
  });
@@ -5,9 +5,10 @@ export interface ChartPoint {
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,5 +1,5 @@
1
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-BC99KjGa.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
5
  let { points: o } = r(a.data);
@@ -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;