@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
@@ -1,229 +0,0 @@
1
- import { c as e, i as t, l as n, n as r, r as i, t as a } from "./preact.module-BBM36DnO.js";
2
- import "./hooks.module-CG3gN83z.js";
3
- //#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/compat/dist/compat.module.js
4
- function o(e, t) {
5
- for (var n in t) e[n] = t[n];
6
- return e;
7
- }
8
- function s(e, t) {
9
- for (var n in e) if (n !== "__source" && !(n in t)) return !0;
10
- for (var r in t) if (r !== "__source" && e[r] !== t[r]) return !0;
11
- return !1;
12
- }
13
- function c(e, t) {
14
- this.props = e, this.context = t;
15
- }
16
- (c.prototype = new a()).isPureReactComponent = !0, c.prototype.shouldComponentUpdate = function(e, t) {
17
- return s(this.props, e) || s(this.state, t);
18
- };
19
- var l = n.__b;
20
- n.__b = function(e) {
21
- e.type && e.type.__f && e.ref && (e.props.ref = e.ref, e.ref = null), l && l(e);
22
- };
23
- var u = typeof Symbol < "u" && Symbol.for && Symbol.for("react.forward_ref") || 3911;
24
- function d(e) {
25
- function t(t) {
26
- var n = o({}, t);
27
- return delete n.ref, e(n, t.ref || null);
28
- }
29
- return t.$$typeof = u, t.render = e, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (e.displayName || e.name) + ")", t;
30
- }
31
- var f = n.__e;
32
- n.__e = function(e, t, n, r) {
33
- if (e.then) {
34
- for (var i, a = t; a = a.__;) if ((i = a.__c) && i.__c) return t.__e ?? (t.__e = n.__e, t.__k = n.__k), i.__c(e, t);
35
- }
36
- f(e, t, n, r);
37
- };
38
- var p = n.unmount;
39
- function m(e, t, n) {
40
- return e && (e.__c && e.__c.__H && (e.__c.__H.__.forEach(function(e) {
41
- typeof e.__c == "function" && e.__c();
42
- }), e.__c.__H = null), (e = o({}, e)).__c != null && (e.__c.__P === n && (e.__c.__P = t), e.__c.__e = !0, e.__c = null), e.__k = e.__k && e.__k.map(function(e) {
43
- return m(e, t, n);
44
- })), e;
45
- }
46
- function h(e, t, n) {
47
- return e && n && (e.__v = null, e.__k = e.__k && e.__k.map(function(e) {
48
- return h(e, t, n);
49
- }), e.__c && e.__c.__P === t && (e.__e && n.appendChild(e.__e), e.__c.__e = !0, e.__c.__P = n)), e;
50
- }
51
- function g() {
52
- this.__u = 0, this.o = null, this.__b = null;
53
- }
54
- function _(e) {
55
- var t = e.__ && e.__.__c;
56
- return t && t.__a && t.__a(e);
57
- }
58
- function v() {
59
- this.i = null, this.l = null;
60
- }
61
- n.unmount = function(e) {
62
- var t = e.__c;
63
- t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & e.__u && (e.type = null), p && p(e);
64
- }, (g.prototype = new a()).__c = function(e, t) {
65
- var n = t.__c, r = this;
66
- r.o ??= [], r.o.push(n);
67
- var i = _(r.__v), a = !1, o = function() {
68
- a || r.__z || (a = !0, n.__R = null, i ? i(c) : c());
69
- };
70
- n.__R = o;
71
- var s = n.__P;
72
- n.__P = null;
73
- var c = function() {
74
- if (!--r.__u) {
75
- if (r.state.__a) {
76
- var e = r.state.__a;
77
- r.__v.__k[0] = h(e, e.__c.__P, e.__c.__O);
78
- }
79
- var t;
80
- for (r.setState({ __a: r.__b = null }); t = r.o.pop();) t.__P = s, t.forceUpdate();
81
- }
82
- };
83
- r.__u++ || 32 & t.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), e.then(o, o);
84
- }, g.prototype.componentWillUnmount = function() {
85
- this.o = [];
86
- }, g.prototype.render = function(n, r) {
87
- if (this.__b) {
88
- if (this.__v.__k) {
89
- var i = document.createElement("div"), a = this.__v.__k[0].__c;
90
- this.__v.__k[0] = m(this.__b, i, a.__O = a.__P);
91
- }
92
- this.__b = null;
93
- }
94
- var o = r.__a && e(t, null, n.fallback);
95
- return o && (o.__u &= -33), [e(t, null, r.__a ? null : n.children), o];
96
- };
97
- var y = function(e, t, n) {
98
- if (++n[1] === n[0] && e.l.delete(t), e.props.revealOrder && (e.props.revealOrder[0] !== "t" || !e.l.size)) for (n = e.i; n;) {
99
- for (; n.length > 3;) n.pop()();
100
- if (n[1] < n[0]) break;
101
- e.i = n = n[2];
102
- }
103
- };
104
- function b(e) {
105
- return this.getChildContext = function() {
106
- return e.context;
107
- }, e.children;
108
- }
109
- function x(t) {
110
- var n = this, r = t.h;
111
- if (n.componentWillUnmount = function() {
112
- i(null, n.v), n.v = null, n.h = null;
113
- }, n.h && n.h !== r && n.componentWillUnmount(), !n.v) {
114
- for (var a = n.__v; a !== null && !a.__m && a.__ !== null;) a = a.__;
115
- n.h = r, n.v = {
116
- nodeType: 1,
117
- parentNode: r,
118
- childNodes: [],
119
- __k: { __m: a.__m },
120
- contains: function() {
121
- return !0;
122
- },
123
- namespaceURI: r.namespaceURI,
124
- insertBefore: function(e, t) {
125
- this.childNodes.push(e), n.h.insertBefore(e, t);
126
- },
127
- removeChild: function(e) {
128
- this.childNodes.splice(this.childNodes.indexOf(e) >>> 1, 1), n.h.removeChild(e);
129
- }
130
- };
131
- }
132
- i(e(b, { context: n.context }, t.__v), n.v);
133
- }
134
- function S(t, n) {
135
- var r = e(x, {
136
- __v: t,
137
- h: n
138
- });
139
- return r.containerInfo = n, r;
140
- }
141
- (v.prototype = new a()).__a = function(e) {
142
- var t = this, n = _(t.__v), r = t.l.get(e);
143
- return r[0]++, function(i) {
144
- var a = function() {
145
- t.props.revealOrder ? (r.push(i), y(t, e, r)) : i();
146
- };
147
- n ? n(a) : a();
148
- };
149
- }, v.prototype.render = function(e) {
150
- this.i = null, this.l = /* @__PURE__ */ new Map();
151
- var t = r(e.children);
152
- e.revealOrder && e.revealOrder[0] === "b" && t.reverse();
153
- for (var n = t.length; n--;) this.l.set(t[n], this.i = [
154
- 1,
155
- 0,
156
- this.i
157
- ]);
158
- return e.children;
159
- }, v.prototype.componentDidUpdate = v.prototype.componentDidMount = function() {
160
- var e = this;
161
- this.l.forEach(function(t, n) {
162
- y(e, n, t);
163
- });
164
- };
165
- var C = typeof Symbol < "u" && Symbol.for && Symbol.for("react.element") || 60103, w = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, T = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, E = /[A-Z0-9]/g, D = typeof document < "u", O = function(e) {
166
- return (typeof Symbol < "u" && typeof Symbol() == "symbol" ? /fil|che|rad/ : /fil|che|ra/).test(e);
167
- };
168
- a.prototype.isReactComponent = !0, [
169
- "componentWillMount",
170
- "componentWillReceiveProps",
171
- "componentWillUpdate"
172
- ].forEach(function(e) {
173
- Object.defineProperty(a.prototype, e, {
174
- configurable: !0,
175
- get: function() {
176
- return this["UNSAFE_" + e];
177
- },
178
- set: function(t) {
179
- Object.defineProperty(this, e, {
180
- configurable: !0,
181
- writable: !0,
182
- value: t
183
- });
184
- }
185
- });
186
- });
187
- var k = n.event;
188
- n.event = function(e) {
189
- return k && (e = k(e)), e.persist = function() {}, e.isPropagationStopped = function() {
190
- return this.cancelBubble;
191
- }, e.isDefaultPrevented = function() {
192
- return this.defaultPrevented;
193
- }, e.nativeEvent = e;
194
- };
195
- var A = {
196
- configurable: !0,
197
- get: function() {
198
- return this.class;
199
- }
200
- }, j = n.vnode;
201
- n.vnode = function(e) {
202
- typeof e.type == "string" && function(e) {
203
- var t = e.props, n = e.type, i = {}, a = n.indexOf("-") == -1;
204
- for (var o in t) {
205
- var s = t[o];
206
- if (!(o === "value" && "defaultValue" in t && s == null || D && o === "children" && n === "noscript" || o === "class" || o === "className")) {
207
- var c = o.toLowerCase();
208
- o === "defaultValue" && "value" in t && t.value == null ? o = "value" : o === "download" && !0 === s ? s = "" : c === "translate" && s === "no" ? s = !1 : c[0] === "o" && c[1] === "n" ? c === "ondoubleclick" ? o = "ondblclick" : c !== "onchange" || n !== "input" && n !== "textarea" || O(t.type) ? c === "onfocus" ? o = "onfocusin" : c === "onblur" ? o = "onfocusout" : T.test(o) && (o = c) : c = o = "oninput" : a && w.test(o) ? o = o.replace(E, "-$&").toLowerCase() : s === null && (s = void 0), c === "oninput" && i[o = c] && (o = "oninputCapture"), i[o] = s;
209
- }
210
- }
211
- n == "select" && (i.multiple && Array.isArray(i.value) && (i.value = r(t.children).forEach(function(e) {
212
- e.props.selected = i.value.indexOf(e.props.value) != -1;
213
- })), i.defaultValue != null && (i.value = r(t.children).forEach(function(e) {
214
- e.props.selected = i.multiple ? i.defaultValue.indexOf(e.props.value) != -1 : i.defaultValue == e.props.value;
215
- }))), t.class && !t.className ? (i.class = t.class, Object.defineProperty(i, "className", A)) : t.className && (i.class = i.className = t.className), e.props = i;
216
- }(e), e.$$typeof = C, j && j(e);
217
- };
218
- var M = n.__r;
219
- n.__r = function(e) {
220
- M && M(e), e.__c;
221
- };
222
- var N = n.diffed;
223
- n.diffed = function(e) {
224
- N && N(e);
225
- var t = e.props, n = e.__e;
226
- n != null && e.type === "textarea" && "value" in t && t.value !== n.value && (n.value = t.value == null ? "" : t.value);
227
- };
228
- //#endregion
229
- export { d as n, S as t };
@@ -1,357 +0,0 @@
1
- import { c as e, r as t } from "./preact.module-BBM36DnO.js";
2
- import { c as n, i as r, n as i, r as a, t as o } from "./hooks.module-CG3gN83z.js";
3
- import { t as s } from "./jsxRuntime.module-F6UFnpT-.js";
4
- import { t as c } from "./chevron-down-GbplLa6s.js";
5
- import { RemoveButton as l } from "../buttons/remove-button.js";
6
- import { DropdownPopup as u } from "../dropdown/popup.js";
7
- import { DropdownPopupContent as d } from "../dropdown/content.js";
8
- //#region src/dropdown/remote.ts
9
- var f = {
10
- loading: "Loading…",
11
- empty: "No results found",
12
- error: "Unable to load options.",
13
- retry: "Retry",
14
- loadMore: "Load more",
15
- unavailable: (e) => `Unavailable (${String(e)})`
16
- }, p = class {
17
- source;
18
- context;
19
- changed;
20
- text;
21
- settings;
22
- cache = /* @__PURE__ */ new Map();
23
- ids = [];
24
- items = [];
25
- query = "";
26
- cursor;
27
- seen = /* @__PURE__ */ new Set();
28
- searchAbort;
29
- resolveAbort;
30
- timer;
31
- generation = 0;
32
- resolution = 0;
33
- disposed = !1;
34
- loading = !1;
35
- searchFailed = !1;
36
- failedCursor;
37
- resolveFailed = !1;
38
- opened = !1;
39
- constructor(e, t, n, r = f, i = {}) {
40
- this.source = e, this.context = t, this.changed = n, this.text = r, this.settings = i;
41
- }
42
- remember(e) {
43
- for (let t of e) {
44
- if (typeof t.value != "string" && (typeof t.value != "number" || !Number.isFinite(t.value))) throw TypeError("Remote dropdown values must be finite numeric or string IDs.");
45
- this.cache.set(t.value, t);
46
- }
47
- }
48
- emit() {
49
- this.disposed || this.changed({
50
- items: [...this.items],
51
- selected: this.ids.map((e) => this.cache.get(e) ?? {
52
- value: e,
53
- label: this.text.unavailable(e),
54
- unresolved: !0
55
- }),
56
- loading: this.loading,
57
- error: this.searchFailed || this.resolveFailed,
58
- hasMore: this.cursor !== void 0
59
- });
60
- }
61
- setSelected(e, t = []) {
62
- this.remember(t), this.ids = [...new Set(e)], this.resolveAbort?.abort();
63
- let n = ++this.resolution, r = this.ids.filter((e) => !this.cache.has(e));
64
- if (this.resolveFailed = !1, this.emit(), !r.length || this.disposed) return;
65
- let i = this.resolveAbort = new AbortController();
66
- Promise.resolve().then(() => this.source.resolve({
67
- ids: r,
68
- signal: i.signal,
69
- context: this.context
70
- })).then((e) => {
71
- this.disposed || i.signal.aborted || n !== this.resolution || (this.remember(e), this.emit());
72
- }).catch(() => {
73
- this.disposed || i.signal.aborted || n !== this.resolution || (this.resolveFailed = !0, this.emit());
74
- });
75
- }
76
- search(e, t = !1) {
77
- this.disposed || (this.opened = !0, this.query = e, this.searchAbort?.abort(), clearTimeout(this.timer), ++this.generation, this.items = [], this.cursor = void 0, this.seen.clear(), this.loading = !0, this.searchFailed = !1, this.emit(), t ? this.page(void 0, this.generation) : this.timer = setTimeout(() => void this.page(void 0, this.generation), this.settings.debounceMs ?? 200));
78
- }
79
- async page(e, t) {
80
- if (this.disposed || t !== this.generation || this.seen.has(e)) return;
81
- this.seen.add(e), this.loading = !0, this.searchFailed = !1, this.emit();
82
- let n = this.searchAbort = new AbortController();
83
- try {
84
- let r = await this.source.search({
85
- query: this.query,
86
- cursor: e,
87
- pageSize: this.settings.pageSize ?? 50,
88
- signal: n.signal,
89
- context: this.context
90
- });
91
- if (this.disposed || n.signal.aborted || t !== this.generation) return;
92
- this.remember(r.items);
93
- let i = new Map(this.items.map((e) => [e.value, e]));
94
- r.items.forEach((e) => i.set(e.value, e)), this.items = [...i.values()], this.cursor = r.nextCursor ?? void 0, this.seen.has(this.cursor) && (this.cursor = void 0);
95
- } catch {
96
- if (this.disposed || n.signal.aborted || t !== this.generation) return;
97
- this.seen.delete(e), this.failedCursor = e, this.searchFailed = !0;
98
- } finally {
99
- !this.disposed && !n.signal.aborted && t === this.generation && (this.loading = !1, this.emit());
100
- }
101
- }
102
- loadMore() {
103
- !this.loading && !this.searchFailed && this.cursor !== void 0 && this.page(this.cursor, this.generation);
104
- }
105
- retry() {
106
- this.resolveFailed && this.setSelected(this.ids), this.searchFailed && this.opened && this.page(this.failedCursor, this.generation);
107
- }
108
- close() {
109
- this.opened = !1, this.searchAbort?.abort(), clearTimeout(this.timer), ++this.generation, this.loading = !1, this.emit();
110
- }
111
- destroy() {
112
- this.disposed = !0, this.close(), this.resolveAbort?.abort(), ++this.resolution;
113
- }
114
- };
115
- //#endregion
116
- //#region src/dropdown/remote-hook.ts
117
- function ee(e) {
118
- let t = i(() => ({
119
- ...f,
120
- ...e.remoteText
121
- }), [e.remoteText]), [s, c] = r({
122
- items: [],
123
- selected: [],
124
- loading: !1,
125
- error: !1,
126
- hasMore: !1
127
- }), l = o(), u = e.value === null || e.value === void 0 ? [] : Array.isArray(e.value) ? e.value : [e.value], d = JSON.stringify(u);
128
- return a(() => {
129
- if (!e.dataSource || e.disabled) {
130
- c({
131
- items: [],
132
- selected: [],
133
- loading: !1,
134
- error: !1,
135
- hasMore: !1
136
- });
137
- return;
138
- }
139
- let n = new p(e.dataSource, e.dataContext, c, t);
140
- return l.current = n, () => {
141
- n.destroy(), l.current === n && (l.current = void 0);
142
- };
143
- }, [
144
- e.dataSource,
145
- e.dataContext,
146
- e.disabled,
147
- t
148
- ]), a(() => {
149
- l.current?.setSelected(u, e.source);
150
- }, [
151
- d,
152
- e.source,
153
- e.dataSource,
154
- e.dataContext,
155
- e.disabled,
156
- t
157
- ]), n(() => {
158
- e.open ? l.current?.search(e.initialQuery, !0) : l.current?.close();
159
- }, [
160
- e.open,
161
- e.dataSource,
162
- e.dataContext,
163
- e.disabled,
164
- e.initialQuery,
165
- t
166
- ]), {
167
- ...s,
168
- text: t,
169
- search: (e) => l.current?.search(e),
170
- loadMore: () => l.current?.loadMore(),
171
- retry: () => l.current?.retry()
172
- };
173
- }
174
- //#endregion
175
- //#region src/dropdown/index.tsx
176
- var m = ({ options: t, className: n, renderValue: r }) => /* @__PURE__ */ s("span", {
177
- className: `selected-value ${n}`,
178
- children: r ? r(e, t[0]) : t[0].label
179
- }), h = ({ options: t, removeOption: n, className: r, renderValue: i, disabled: a, removeLabel: o }) => /* @__PURE__ */ s("div", {
180
- className: `selected-values ${r}`,
181
- children: t.map((t, r) => /* @__PURE__ */ s("span", {
182
- className: "selected-tag",
183
- children: [i ? i(e, t) : t.label, !a && !t.disabled && /* @__PURE__ */ s(l, {
184
- compact: !0,
185
- onClick: (e) => {
186
- e.stopPropagation(), n(t);
187
- },
188
- locale: {
189
- title: o?.(t.label) ?? `Remove ${t.label}`,
190
- ariaLabel: o?.(t.label) ?? `Remove ${t.label}`
191
- }
192
- })]
193
- }, r))
194
- }), g = ({ className: e }) => /* @__PURE__ */ s("span", {
195
- className: `dropdown-arrow ${e}`,
196
- "aria-hidden": "true",
197
- dangerouslySetInnerHTML: { __html: c }
198
- }), te = ({ placeholder: e, className: t }) => [/* @__PURE__ */ s("span", {
199
- className: `placeholder px-2 ${t}`,
200
- children: e
201
- }), /* @__PURE__ */ s(g, { className: "mr-2" })];
202
- function _({ source: t, dataSource: a, dataContext: c, remoteText: l, value: f, onChange: p, placeholder: _ = "Select an option", disabled: v = !1, name: y, id: b, className: ne = "", style: re, config: x = {}, renderContent: S, renderOption: ie, renderValue: C, renderPlaceholder: w, renderSelectedValue: T, renderNoResults: ae, onClose: E, beforeOutsideClose: D, environment: O }) {
203
- let { search: k = !1, searchPlaceholder: A = "Search...", closeOnClickOutside: j = !0, autoOpen: M = !1, multiSelect: N = !1, portalTarget: P, ariaLabel: F, ariaLabelledBy: I, ariaDescribedBy: L, popupClassName: R, maxHeight: oe } = x, z = o(null), B = P ?? (x.topLayer ? z.current?.closest("revo-grid") : void 0) ?? (typeof document < "u" ? document.body : null), V = i(() => b || `dropdown-${Math.random().toString(36).substring(2, 9)}`, [b]), H = `${V}-listbox`, se = `${V}-search`, U = `${V}-menu`, [W, G] = r(M && !v), [ce, K] = r(!v && (M || !!x.autoFocus)), q = o(M), J = x.theme ?? "default";
204
- n(() => {
205
- M && !q.current && !v && (K(!0), G(!0)), q.current = M;
206
- }, [M, v]), n(() => {
207
- v && W && (G(!1), E?.(!1));
208
- }, [v, W]);
209
- let Y = ee({
210
- dataSource: a,
211
- dataContext: c,
212
- remoteText: l,
213
- value: f,
214
- disabled: v,
215
- source: t,
216
- open: W,
217
- initialQuery: x.initialSearch ?? ""
218
- }), X = a ? [...new Map([...Y.selected, ...Y.items].map((e) => [e.value, e])).values()] : t, Z = i(() => {
219
- if (f === void 0) return [];
220
- if (N && Array.isArray(f)) return X.filter((e) => f.some((t) => JSON.stringify(t) === JSON.stringify(e.value)));
221
- {
222
- let e = X.find((e) => JSON.stringify(e.value) === JSON.stringify(f));
223
- return e ? [e] : [];
224
- }
225
- }, [
226
- f,
227
- X,
228
- N
229
- ]), Q = () => {
230
- v || G((e) => {
231
- let t = !e;
232
- return t && K(!0), t;
233
- });
234
- }, $ = (e = !1) => {
235
- G((t) => (t && E?.(e), !1));
236
- };
237
- n(() => {
238
- if (!W) return;
239
- let e = z.current;
240
- if (e) return O?.onOpen?.(e, $);
241
- }, [W]);
242
- let le = (e) => {
243
- if (!(v || e.disabled)) {
244
- if (N) {
245
- let t = Z.some((t) => JSON.stringify(t.value) === JSON.stringify(e.value)), n;
246
- n = t ? Z.filter((t) => JSON.stringify(t.value) !== JSON.stringify(e.value)) : [...Z, e], p && p(n.map((e) => e.value));
247
- } else p && p(e.value), $();
248
- }
249
- };
250
- return n(() => {
251
- if (!j || !W) return;
252
- let e = B?.ownerDocument ?? z.current?.ownerDocument ?? (typeof document < "u" ? document : void 0);
253
- if (!e) return;
254
- let t = (t) => {
255
- let n = e.getElementById(U), r = t.target;
256
- if (n && r && !n.contains(r) && z.current && !z.current.contains(r)) {
257
- if (D?.() === !1) {
258
- t.preventDefault(), t.stopImmediatePropagation();
259
- return;
260
- }
261
- $();
262
- }
263
- }, n = !!D;
264
- return e.addEventListener("pointerdown", t, n), () => {
265
- e.removeEventListener("pointerdown", t, n);
266
- };
267
- }, [
268
- j,
269
- W,
270
- U,
271
- B,
272
- D
273
- ]), /* @__PURE__ */ s("div", {
274
- className: `dropdown-container ${ne} ${v ? "disabled" : ""}`,
275
- style: re,
276
- children: [
277
- /* @__PURE__ */ s("div", {
278
- ref: z,
279
- className: `dropdown-trigger ${W ? "open" : ""}`,
280
- role: "combobox",
281
- "aria-haspopup": S ? "dialog" : "listbox",
282
- "aria-expanded": W && !v,
283
- "aria-disabled": v,
284
- "aria-owns": H,
285
- "aria-controls": H,
286
- "aria-label": F,
287
- "aria-labelledby": I,
288
- "aria-describedby": L,
289
- tabIndex: v ? -1 : 0,
290
- onClick: v ? void 0 : Q,
291
- onKeyDown: (e) => {
292
- v || e.target !== e.currentTarget || (W && e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), $()) : !W && (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), e.stopPropagation(), Q()));
293
- },
294
- children: (() => {
295
- let t = [g({})];
296
- return T ? T(e, Z, t) : Z.length > 0 ? N ? [/* @__PURE__ */ s(h, {
297
- options: Z,
298
- removeOption: le,
299
- renderValue: C,
300
- disabled: v,
301
- removeLabel: x.removeLabel
302
- }), /* @__PURE__ */ s(g, { className: "mr-2" })] : [/* @__PURE__ */ s(m, {
303
- options: Z,
304
- renderValue: C
305
- }), /* @__PURE__ */ s(g, { className: "mr-2" })] : w ? w(e, _, t) : /* @__PURE__ */ s(te, { placeholder: _ });
306
- })()
307
- }),
308
- W && !v && /* @__PURE__ */ s(u, {
309
- onPointerRelease: O?.onPointerRelease,
310
- topLayer: x.topLayer,
311
- triggerRef: z,
312
- portalTarget: B,
313
- theme: J,
314
- dropdownMenuId: U,
315
- popupClassName: R,
316
- maxHeight: oe,
317
- children: S ? S({
318
- id: H,
319
- close: $
320
- }) : /* @__PURE__ */ s(d, {
321
- options: a ? Y.items : X,
322
- selectedValues: a ? Y.selected : void 0,
323
- remote: a ? Y : void 0,
324
- value: f,
325
- onChange: (e) => {
326
- v || p?.(e);
327
- },
328
- config: {
329
- ...x,
330
- autoFocus: x.autoFocus || ce
331
- },
332
- multiSelect: N,
333
- search: !!a || k,
334
- searchPlaceholder: A,
335
- listboxId: H,
336
- searchId: se,
337
- renderOption: ie,
338
- renderNoResults: ae,
339
- onClose: $,
340
- theme: J
341
- })
342
- }),
343
- y && /* @__PURE__ */ s("input", {
344
- type: "hidden",
345
- name: y,
346
- value: JSON.stringify(N ? Z.map((e) => e.value) : Z[0]?.value || "")
347
- })
348
- ]
349
- });
350
- }
351
- var v = (e, n) => {
352
- t(/* @__PURE__ */ s(_, { ...n }), e);
353
- }, y = (e) => {
354
- t(null, e);
355
- };
356
- //#endregion
357
- export { v as n, y as r, _ as t };
@@ -1,90 +0,0 @@
1
- import { a as e, i as t, l as n, n as r, o as i, r as a, t as o } from "./request-trail-IdNiFvKH.js";
2
- import { r as s } from "./preact.module-BBM36DnO.js";
3
- import { c, i as l, t as u } from "./hooks.module-CG3gN83z.js";
4
- import { t as d } from "./jsxRuntime.module-F6UFnpT-.js";
5
- import { n as f } from "./controls-DIum-E66.js";
6
- //#region src/ai/mount.tsx
7
- function p(p, m) {
8
- let h = (e) => n(e, m.translations), g = !1;
9
- function _({ state: n }) {
10
- let [s, g] = l(""), _ = u(), v = n.phase === "understanding" || n.phase === "applying", y = n.steps ?? [];
11
- c(() => {
12
- if (v || n.phase === "idle" || _.current === void 0) return;
13
- let e = _.current;
14
- _.current = void 0, n.phase === "completed" && g((t) => t.trim() === e ? "" : t);
15
- }, [n]);
16
- let b = (e) => {
17
- _.current = e.trim(), m.onSubmit(e);
18
- };
19
- return /* @__PURE__ */ d(a, {
20
- translations: m.translations,
21
- label: m.label,
22
- busy: v,
23
- footer: m.footer,
24
- children: [
25
- /* @__PURE__ */ d(i, {
26
- items: n.suggestions?.length ? n.suggestions : m.suggestions ?? [],
27
- onSelect: (e) => {
28
- v || (g(e), b(e));
29
- },
30
- disabled: v
31
- }),
32
- /* @__PURE__ */ d(t, {
33
- ...m.prompt,
34
- value: s,
35
- onValueChange: g,
36
- onSubmit: b,
37
- onStop: m.onStop,
38
- busy: v,
39
- hint: y.length ? "" : m.prompt?.hint,
40
- actions: /* @__PURE__ */ d(o, {
41
- ...m.trail,
42
- items: y,
43
- onRemove: (e) => m.onRemoveStep?.(e),
44
- onClear: m.onReset,
45
- onEmpty: () => p.querySelector("textarea")?.focus(),
46
- disabled: v,
47
- removalsDisabled: !m.onRemoveStep || n.canEditSteps === !1,
48
- clearDescription: m.trail?.clearDescription ?? "Restore the starting view",
49
- clearLabel: m.trail?.clearLabel ?? m.resetLabel ?? "Clear all",
50
- changedMessage: !v && y.length > 0 && n.canEditSteps === !1 ? m.trail?.changedMessage ?? "The view changed manually. Start a new request to continue." : void 0
51
- })
52
- }),
53
- /* @__PURE__ */ d(r, {
54
- phase: n.phase,
55
- message: n.phase === "completed" ? "" : n.message
56
- }),
57
- n.phase === "completed" && /* @__PURE__ */ d(e, {
58
- summary: n.message,
59
- matchedRows: n.matchedRows,
60
- countLabel: m.countLabel
61
- }),
62
- /* @__PURE__ */ d("div", {
63
- class: "rv-ai-result-actions",
64
- children: [/* @__PURE__ */ d(f, {
65
- disabled: v || !n.canRestore,
66
- onClick: m.onRestore,
67
- size: "compact",
68
- children: h(m.restoreLabel ?? "Restore previous view")
69
- }), !y.length && /* @__PURE__ */ d(f, {
70
- disabled: v,
71
- onClick: m.onReset,
72
- size: "compact",
73
- variant: "ghost",
74
- children: h(m.resetLabel ?? "Reset view")
75
- })]
76
- })
77
- ]
78
- });
79
- }
80
- return {
81
- update(e) {
82
- g || s(/* @__PURE__ */ d(_, { state: e }), p);
83
- },
84
- destroy() {
85
- g || (g = !0, s(null, p));
86
- }
87
- };
88
- }
89
- //#endregion
90
- export { p as t };