@alixpartners/ui-components 2.5.1 → 2.5.3

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.
@@ -0,0 +1,412 @@
1
+ import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
+ import { c as f } from "./clsx-OuTLNxxd.js";
3
+ import { useMemo as be, useId as De, useRef as F, useState as d, useEffect as D } from "react";
4
+ import Ae from "./components/Dialog/Dialog.js";
5
+ import A from "./components/Icon/Icon.js";
6
+ import Te from "./components/Input/Input.js";
7
+ import J from "./components/Tooltip/Tooltip.js";
8
+ import { R as Be, T as Ie, P as Pe, C as je } from "./index-DZ4Gof57.js";
9
+ import './assets/RichTextEditor.css';const Ue = "RichTextEditor-module__container___AplP0", ze = "RichTextEditor-module__label___vjzs-", qe = "RichTextEditor-module__required___7duke", $e = "RichTextEditor-module__frame___7OSyf", We = "RichTextEditor-module__frameFocused___GtJ2x", Ke = "RichTextEditor-module__frameDisabled___LubtU", Ve = "RichTextEditor-module__frameError___sPTiY", Je = "RichTextEditor-module__errorMessage___4VdKj", Ge = "RichTextEditor-module__helpers___cpuz6", Ye = "RichTextEditor-module__helperText___rFoU0", Xe = "RichTextEditor-module__helpLink___7gYcv", Ze = "RichTextEditor-module__containerDisabled___6h9dd", Qe = "RichTextEditor-module__containerFullWidth___pOoeL", et = "RichTextEditor-module__toolbarContent___YXKHD", tt = "RichTextEditor-module__toolbarPanel___OVGHO", nt = "RichTextEditor-module__toolbarRow___f0xJR", ot = "RichTextEditor-module__toolbar___m9-M-", rt = "RichTextEditor-module__toolbarStacked___6rB10", it = "RichTextEditor-module__actions___ZAK9J", at = "RichTextEditor-module__toolButton___IT2Kg", lt = "RichTextEditor-module__toolButtonActive___-HvZQ", ct = "RichTextEditor-module__toolIcon___Wndhd", st = "RichTextEditor-module__formatControl___w4WcA", dt = "RichTextEditor-module__toolbarLinkSlot___Gu-9l", ut = "RichTextEditor-module__selectTrigger___frv3x", mt = "RichTextEditor-module__selectTriggerOpen___tk2Pb", _t = "RichTextEditor-module__selectTriggerLabel___FkEv0", pt = "RichTextEditor-module__selectIcon___aJWUk", ht = "RichTextEditor-module__formatMenu___y-uBL", ft = "RichTextEditor-module__formatMenuOptions___zcdlo", gt = "RichTextEditor-module__formatMenuOption___3ppTs", bt = "RichTextEditor-module__formatMenuOptionSelected___bq9J9", Tt = "RichTextEditor-module__formatMenuOptionParagraph___4BLds", xt = "RichTextEditor-module__formatMenuOptionHeading1___H1cKX", Rt = "RichTextEditor-module__formatMenuOptionHeading2___JdixR", Et = "RichTextEditor-module__formatMenuOptionHeading3___NcwLr", Mt = "RichTextEditor-module__formatMenuOptionHeading4___4mLbG", vt = "RichTextEditor-module__formatMenuOptionPreformatted___cB0Ix", Ct = "RichTextEditor-module__editor___M32R7", kt = "RichTextEditor-module__wordCount___5SSVY", Ot = "RichTextEditor-module__wordCountExceeded___NhqBc", yt = "RichTextEditor-module__linkDialogForm___vOLO1", t = {
10
+ container: Ue,
11
+ label: ze,
12
+ required: qe,
13
+ frame: $e,
14
+ frameFocused: We,
15
+ frameDisabled: Ke,
16
+ frameError: Ve,
17
+ errorMessage: Je,
18
+ helpers: Ge,
19
+ helperText: Ye,
20
+ helpLink: Xe,
21
+ containerDisabled: Ze,
22
+ containerFullWidth: Qe,
23
+ toolbarContent: et,
24
+ toolbarPanel: tt,
25
+ toolbarRow: nt,
26
+ toolbar: ot,
27
+ toolbarStacked: rt,
28
+ actions: it,
29
+ toolButton: at,
30
+ toolButtonActive: lt,
31
+ toolIcon: ct,
32
+ formatControl: st,
33
+ toolbarLinkSlot: dt,
34
+ selectTrigger: ut,
35
+ selectTriggerOpen: mt,
36
+ selectTriggerLabel: _t,
37
+ selectIcon: pt,
38
+ formatMenu: ht,
39
+ formatMenuOptions: ft,
40
+ formatMenuOption: gt,
41
+ formatMenuOptionSelected: bt,
42
+ formatMenuOptionParagraph: Tt,
43
+ formatMenuOptionHeading1: xt,
44
+ formatMenuOptionHeading2: Rt,
45
+ formatMenuOptionHeading3: Et,
46
+ formatMenuOptionHeading4: Mt,
47
+ formatMenuOptionPreformatted: vt,
48
+ editor: Ct,
49
+ wordCount: kt,
50
+ wordCountExceeded: Ot,
51
+ linkDialogForm: yt
52
+ }, Lt = {
53
+ paragraph: "p",
54
+ heading1: "h1",
55
+ heading2: "h2",
56
+ heading3: "h3",
57
+ heading4: "h4",
58
+ preformatted: "pre",
59
+ "unordered-list": "ul",
60
+ "ordered-list": "ol"
61
+ };
62
+ function Re(r) {
63
+ return r.trim().length > 0 ? r : "<br>";
64
+ }
65
+ function Ht(r) {
66
+ switch (r.toLowerCase()) {
67
+ case "h1":
68
+ return "heading1";
69
+ case "h2":
70
+ return "heading2";
71
+ case "h3":
72
+ return "heading3";
73
+ case "h4":
74
+ return "heading4";
75
+ case "pre":
76
+ return "preformatted";
77
+ case "ul":
78
+ return "unordered-list";
79
+ case "ol":
80
+ return "ordered-list";
81
+ case "p":
82
+ default:
83
+ return "paragraph";
84
+ }
85
+ }
86
+ function G(r) {
87
+ if (!r.trim())
88
+ return {
89
+ blocks: [{
90
+ type: "paragraph",
91
+ html: "<br>"
92
+ }]
93
+ };
94
+ const m = new DOMParser().parseFromString(r, "text/html"), _ = Array.from(m.body.childNodes), g = [];
95
+ return _.forEach((i) => {
96
+ var T;
97
+ if (i.nodeType === Node.TEXT_NODE) {
98
+ const E = (T = i.textContent) == null ? void 0 : T.trim();
99
+ E && g.push({
100
+ type: "paragraph",
101
+ html: E
102
+ });
103
+ return;
104
+ }
105
+ if (i.nodeType !== Node.ELEMENT_NODE)
106
+ return;
107
+ const u = i, b = u.style.textAlign;
108
+ g.push({
109
+ type: Ht(u.tagName),
110
+ html: Re(u.innerHTML),
111
+ align: b || void 0
112
+ });
113
+ }), {
114
+ blocks: g.length > 0 ? g : [{
115
+ type: "paragraph",
116
+ html: "<br>"
117
+ }]
118
+ };
119
+ }
120
+ function xe(r) {
121
+ return r.blocks.length ? r.blocks.map((l) => {
122
+ const m = Lt[l.type], _ = l.align ? ` style="text-align:${l.align}"` : "";
123
+ return `<${m}${_}>${Re(l.html)}</${m}>`;
124
+ }).join("") : "<p><br></p>";
125
+ }
126
+ function Nt(r) {
127
+ const l = r.blocks.map((m) => m.html.replace(/<[^>]+>/g, " ")).join(" ").replace(/\s+/g, " ").trim();
128
+ return l ? l.split(" ").length : 0;
129
+ }
130
+ const wt = ["bold", "italic", "underline", "align-left", "align-center", "align-right", "bulleted", "link", "format"], St = [{
131
+ label: "Paragraph",
132
+ value: "paragraph"
133
+ }, {
134
+ label: "Heading 1",
135
+ value: "heading1"
136
+ }, {
137
+ label: "Heading 2",
138
+ value: "heading2"
139
+ }, {
140
+ label: "Heading 3",
141
+ value: "heading3"
142
+ }, {
143
+ label: "Heading 4",
144
+ value: "heading4"
145
+ }, {
146
+ label: "Preformatted",
147
+ value: "preformatted"
148
+ }], Ft = {
149
+ paragraph: "P",
150
+ heading1: "H1",
151
+ heading2: "H2",
152
+ heading3: "H3",
153
+ heading4: "H4",
154
+ preformatted: "PRE",
155
+ "unordered-list": "UL",
156
+ "ordered-list": "OL"
157
+ };
158
+ function Y() {
159
+ return "<p><br></p>";
160
+ }
161
+ function Dt(r) {
162
+ return r.trim().length > 0 ? r : Y();
163
+ }
164
+ function At() {
165
+ const r = document.queryCommandValue("formatBlock");
166
+ switch (String(r || "").replace(/[<>]/g, "").toUpperCase()) {
167
+ case "H1":
168
+ return "heading1";
169
+ case "H2":
170
+ return "heading2";
171
+ case "H3":
172
+ return "heading3";
173
+ case "H4":
174
+ return "heading4";
175
+ case "PRE":
176
+ return "preformatted";
177
+ default:
178
+ return "paragraph";
179
+ }
180
+ }
181
+ function Bt(r) {
182
+ switch (r) {
183
+ case "heading1":
184
+ return t.formatMenuOptionHeading1;
185
+ case "heading2":
186
+ return t.formatMenuOptionHeading2;
187
+ case "heading3":
188
+ return t.formatMenuOptionHeading3;
189
+ case "heading4":
190
+ return t.formatMenuOptionHeading4;
191
+ case "preformatted":
192
+ return t.formatMenuOptionPreformatted;
193
+ default:
194
+ return t.formatMenuOptionParagraph;
195
+ }
196
+ }
197
+ function Kt({
198
+ className: r,
199
+ label: l,
200
+ required: m = !1,
201
+ value: _,
202
+ placeholder: g = "Content",
203
+ disabled: i = !1,
204
+ errorMessage: u,
205
+ helpText: b,
206
+ helpLink: T,
207
+ helpLinkText: E,
208
+ toolbarLayout: B = "inline",
209
+ showToolbar: I = !0,
210
+ showWordCount: Ee = !0,
211
+ maxWords: O,
212
+ resizable: Me = !0,
213
+ rows: ve = 8,
214
+ fullWidth: P = !1,
215
+ tooltipEnabled: y = !0,
216
+ formatOptions: X = St,
217
+ toolbarOptions: Z = wt,
218
+ onChange: j,
219
+ onModelChange: U
220
+ }) {
221
+ const Ce = be(() => new Set(Z), [Z]), M = (e) => Ce.has(e), Q = De(), s = F(null), ee = F(null), te = F(null), v = F(null), [ke, ne] = d(!1), [z, oe] = d(!1), [Oe, ye] = d(0), [re, ie] = d(null), [Le, ae] = d(!1), [le, ce] = d(""), [se, de] = d(""), [L, ue] = d(() => G(_ || Y())), [me, He] = d("paragraph"), [p, Ne] = d({
222
+ bold: !1,
223
+ italic: !1,
224
+ underline: !1,
225
+ justifyLeft: !1,
226
+ justifyCenter: !1,
227
+ justifyRight: !1,
228
+ insertUnorderedList: !1
229
+ }), q = be(() => Nt(L), [L]), $ = () => {
230
+ if (!s.current) return;
231
+ const e = G(s.current.innerHTML);
232
+ ue(e), U == null || U(e), j == null || j(xe(e));
233
+ }, C = () => {
234
+ He(At()), Ne({
235
+ bold: document.queryCommandState("bold"),
236
+ italic: document.queryCommandState("italic"),
237
+ underline: document.queryCommandState("underline"),
238
+ justifyLeft: document.queryCommandState("justifyLeft"),
239
+ justifyCenter: document.queryCommandState("justifyCenter"),
240
+ justifyRight: document.queryCommandState("justifyRight"),
241
+ insertUnorderedList: document.queryCommandState("insertUnorderedList")
242
+ });
243
+ }, W = () => {
244
+ var e;
245
+ i || (e = s.current) == null || e.focus();
246
+ }, _e = (e, o) => {
247
+ i || (W(), document.execCommand(e, !1, o), $(), C());
248
+ }, we = (e) => {
249
+ _e("formatBlock", Ft[e]);
250
+ }, pe = () => {
251
+ var h, R;
252
+ if (i) return;
253
+ W();
254
+ const e = window.getSelection();
255
+ let o = "", a = "";
256
+ if (e && e.rangeCount > 0) {
257
+ const k = e.getRangeAt(0);
258
+ v.current = k.cloneRange(), o = e.toString();
259
+ const V = ((h = k.startContainer.parentElement) == null ? void 0 : h.closest("a")) ?? ((R = k.endContainer.parentElement) == null ? void 0 : R.closest("a"));
260
+ V instanceof HTMLAnchorElement && (o = V.textContent ?? o, a = V.getAttribute("href") ?? "");
261
+ } else
262
+ v.current = null;
263
+ ce(o), de(a), ae(!0);
264
+ }, H = () => {
265
+ ae(!1), v.current = null;
266
+ }, Se = () => {
267
+ const e = se.trim();
268
+ if (!e) {
269
+ H();
270
+ return;
271
+ }
272
+ const o = le.trim() || e, a = (k) => k.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;"), h = `<a href="${a(e)}" target="_blank" rel="noopener noreferrer">${a(o)}</a>`;
273
+ W();
274
+ const R = window.getSelection();
275
+ R && v.current && (R.removeAllRanges(), R.addRange(v.current)), document.execCommand("insertHTML", !1, h), $(), C(), H();
276
+ }, Fe = (e) => {
277
+ if (!e.ctrlKey && !e.metaKey) return;
278
+ const o = e.target, a = o == null ? void 0 : o.closest("a");
279
+ a instanceof HTMLAnchorElement && a.href && (e.preventDefault(), window.open(a.href, "_blank", "noopener,noreferrer"));
280
+ };
281
+ D(() => {
282
+ const e = Dt(_ || Y()), o = G(e);
283
+ ue(o), s.current && s.current.innerHTML !== e && (s.current.innerHTML = e);
284
+ }, [_]), D(() => {
285
+ s.current && (s.current.innerHTML.trim() || (s.current.innerHTML = xe(L)));
286
+ }, [L]), D(() => {
287
+ var o;
288
+ const e = (o = ee.current) == null ? void 0 : o.getBoundingClientRect().width;
289
+ e && ye(e);
290
+ }, [z]), D(() => {
291
+ if (!I || P) {
292
+ ie(null);
293
+ return;
294
+ }
295
+ const e = te.current;
296
+ if (!e) return;
297
+ const o = () => {
298
+ const h = e.getBoundingClientRect().width;
299
+ h > 0 && ie(h);
300
+ };
301
+ o();
302
+ const a = new ResizeObserver(() => {
303
+ o();
304
+ });
305
+ return a.observe(e), window.addEventListener("resize", o), () => {
306
+ a.disconnect(), window.removeEventListener("resize", o);
307
+ };
308
+ }, [I, B, i, y, P]);
309
+ const x = (e) => /* @__PURE__ */ n(J, { content: e.tooltip, size: "sm", theme: "dark", tipSide: "top", tipAlignment: "center", disabled: !y, children: /* @__PURE__ */ n("button", { type: "button", className: f(t.toolButton, e.active && t.toolButtonActive), onMouseDown: (o) => o.preventDefault(), onClick: () => _e(e.command, e.value), "aria-label": e.tooltip, disabled: i, children: /* @__PURE__ */ n(A, { icon: e.icon, className: t.toolIcon }) }) }, e.id), K = [{
310
+ id: "bold",
311
+ icon: "ap-icon-bold",
312
+ command: "bold",
313
+ tooltip: "Bold (CTRL + B)",
314
+ active: p.bold
315
+ }, {
316
+ id: "italic",
317
+ icon: "ap-icon-italic",
318
+ command: "italic",
319
+ tooltip: "Italic (CTRL + I)",
320
+ active: p.italic
321
+ }, {
322
+ id: "underline",
323
+ icon: "ap-icon-underline",
324
+ command: "underline",
325
+ tooltip: "Underline (CTRL + U)",
326
+ active: p.underline
327
+ }, {
328
+ id: "align-left",
329
+ icon: "ap-icon-left",
330
+ command: "justifyLeft",
331
+ tooltip: "Align left",
332
+ active: p.justifyLeft
333
+ }, {
334
+ id: "align-center",
335
+ icon: "ap-icon-bar",
336
+ command: "justifyCenter",
337
+ tooltip: "Align center",
338
+ active: p.justifyCenter
339
+ }, {
340
+ id: "align-right",
341
+ icon: "ap-icon-right",
342
+ command: "justifyRight",
343
+ tooltip: "Align right",
344
+ active: p.justifyRight
345
+ }, {
346
+ id: "bulleted",
347
+ icon: "ap-icon-list",
348
+ command: "insertUnorderedList",
349
+ tooltip: "Bulleted list",
350
+ active: p.insertUnorderedList
351
+ }], N = K.filter((e) => ["bold", "italic", "underline"].includes(e.id) && M(e.id)), w = K.filter((e) => ["align-left", "align-center", "align-right"].includes(e.id) && M(e.id)), S = K.filter((e) => ["bulleted"].includes(e.id) && M(e.id)), he = M("link"), fe = M("format"), ge = () => {
352
+ var e;
353
+ return /* @__PURE__ */ n("div", { className: t.formatControl, children: /* @__PURE__ */ c(Be, { open: z, onOpenChange: oe, children: [
354
+ /* @__PURE__ */ c(Ie, { ref: ee, disabled: i, className: f(t.selectTrigger, z && t.selectTriggerOpen), children: [
355
+ /* @__PURE__ */ n("span", { className: t.selectTriggerLabel, children: ((e = X.find((o) => o.value === me)) == null ? void 0 : e.label) || "Paragraph" }),
356
+ /* @__PURE__ */ n(A, { icon: "ap-icon-expand-more", className: t.selectIcon })
357
+ ] }),
358
+ /* @__PURE__ */ n(Pe, { children: /* @__PURE__ */ n(je, { align: "end", side: "bottom", sideOffset: 6, collisionPadding: 8, className: t.formatMenu, style: {
359
+ minWidth: Oe || 180,
360
+ zIndex: 9999
361
+ }, children: /* @__PURE__ */ n("div", { className: t.formatMenuOptions, children: X.map((o) => /* @__PURE__ */ n("button", { type: "button", className: f(t.formatMenuOption, Bt(o.value), o.value === me && t.formatMenuOptionSelected), onMouseDown: (a) => a.preventDefault(), onClick: () => {
362
+ we(o.value), oe(!1);
363
+ }, children: o.label }, o.value)) }) }) })
364
+ ] }) });
365
+ };
366
+ return /* @__PURE__ */ c("div", { className: f(t.container, i && t.containerDisabled, P && t.containerFullWidth, r), children: [
367
+ l && /* @__PURE__ */ c("label", { className: t.label, htmlFor: Q, children: [
368
+ l,
369
+ m && /* @__PURE__ */ n("span", { className: t.required, children: "*" })
370
+ ] }),
371
+ /* @__PURE__ */ c("div", { className: f(t.frame, ke && t.frameFocused, i && t.frameDisabled, u && t.frameError), style: {
372
+ width: re ? `${re}px` : void 0
373
+ }, children: [
374
+ I && /* @__PURE__ */ n("div", { className: f(t.toolbar, B === "stacked" && t.toolbarStacked), children: /* @__PURE__ */ n("div", { ref: te, className: t.toolbarContent, children: B === "stacked" ? /* @__PURE__ */ c("div", { className: t.toolbarPanel, children: [
375
+ /* @__PURE__ */ c("div", { className: t.toolbarRow, children: [
376
+ N.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: N.map(x) }),
377
+ w.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: w.map(x) })
378
+ ] }),
379
+ /* @__PURE__ */ c("div", { className: t.toolbarRow, children: [
380
+ S.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: S.map(x) }),
381
+ he && /* @__PURE__ */ n("div", { className: t.toolbarLinkSlot, children: /* @__PURE__ */ n(J, { content: "Insert link", size: "sm", theme: "dark", tipSide: "top", tipAlignment: "center", disabled: !y, children: /* @__PURE__ */ n("button", { type: "button", className: t.toolButton, onMouseDown: (e) => e.preventDefault(), onClick: pe, "aria-label": "Insert link", disabled: i, children: /* @__PURE__ */ n(A, { icon: "ap-icon-link", className: t.toolIcon }) }) }) }),
382
+ fe && ge()
383
+ ] })
384
+ ] }) : /* @__PURE__ */ n("div", { className: t.toolbarPanel, children: /* @__PURE__ */ c("div", { className: t.toolbarRow, children: [
385
+ N.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: N.map(x) }),
386
+ w.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: w.map(x) }),
387
+ S.length > 0 && /* @__PURE__ */ n("div", { className: t.actions, children: S.map(x) }),
388
+ he && /* @__PURE__ */ n("div", { className: t.toolbarLinkSlot, children: /* @__PURE__ */ n(J, { content: "Insert link", size: "sm", theme: "dark", tipSide: "top", tipAlignment: "center", disabled: !y, children: /* @__PURE__ */ n("button", { type: "button", className: t.toolButton, onMouseDown: (e) => e.preventDefault(), onClick: pe, "aria-label": "Insert link", disabled: i, children: /* @__PURE__ */ n(A, { icon: "ap-icon-link", className: t.toolIcon }) }) }) }),
389
+ fe && ge()
390
+ ] }) }) }) }),
391
+ /* @__PURE__ */ n("div", { id: Q, ref: s, className: t.editor, contentEditable: !i, suppressContentEditableWarning: !0, role: "textbox", "aria-multiline": "true", "aria-label": l || "Rich text editor", "data-placeholder": g, onInput: $, onFocus: () => {
392
+ ne(!0), C();
393
+ }, onBlur: () => ne(!1), onKeyUp: C, onMouseUp: C, onClick: Fe, style: {
394
+ minHeight: `${ve * 20}px`,
395
+ resize: Me ? "vertical" : "none"
396
+ } }),
397
+ Ee && /* @__PURE__ */ n("div", { className: f(t.wordCount, O && q > O && t.wordCountExceeded), children: O ? `${q}/${O}` : q })
398
+ ] }),
399
+ (u || b || T) && /* @__PURE__ */ c("div", { className: t.helpers, children: [
400
+ u ? /* @__PURE__ */ n("span", { title: u, className: t.errorMessage, children: u }) : b && /* @__PURE__ */ n("span", { title: b, className: t.helperText, children: b }),
401
+ T && E && /* @__PURE__ */ n("a", { href: T, className: t.helpLink, target: "_blank", rel: "noopener noreferrer", children: E })
402
+ ] }),
403
+ /* @__PURE__ */ n(Ae, { isOpen: Le, onClose: H, title: "Attach link", cancelButtonText: "Cancel", cancelButtonType: "secondary", cancelButtonVariant: "cancel", confirmButtonText: "Attach", confirmButtonType: "primary", onCancel: H, onConfirm: Se, description: /* @__PURE__ */ c("div", { className: t.linkDialogForm, children: [
404
+ /* @__PURE__ */ n(Te, { type: "text", label: "Displayed text", value: le, onChange: ce, autofocus: !0 }),
405
+ /* @__PURE__ */ n(Te, { type: "text", label: "Link", value: se, placeholder: "https://example.com/", onChange: de })
406
+ ] }) })
407
+ ] });
408
+ }
409
+ export {
410
+ Kt as R,
411
+ t as s
412
+ };
@@ -1 +1 @@
1
- .Datepicker-module__datepicker___SxV3q{display:flex;flex-direction:column;gap:6px;min-width:240px}.Datepicker-module__label___uPuKe{display:flex;align-items:center;gap:4px;color:#4a4a4a;font-size:14px;font-weight:500;line-height:1.2}.Datepicker-module__labelText___BAflA{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Datepicker-module__required___cAVa1{color:#cb282e}.Datepicker-module__labelTooltipIcon___n2IvH{color:#4a4a4a;font-size:16px}.Datepicker-module__inputWrapper___aKtHi{width:100%;height:32px;display:flex;align-items:center;gap:6px;border:1px solid #cccccc;border-radius:4px;background-color:#fff;padding:0 8px;text-align:left;cursor:pointer}.Datepicker-module__inputWrapper___aKtHi:focus{outline:none;border-color:#5cb335}.Datepicker-module__inputIcon___OUb8V{font-size:20px;color:#4a4a4a}.Datepicker-module__inputText___rwYA-{color:#28292c;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Datepicker-module__placeholder___UVl-W{color:#878787}.Datepicker-module__error___C5WX8{border-color:#bf494e}.Datepicker-module__calendarContainer___Bjfa8{border:1px solid #cccccc;border-radius:4px;background:#fff;box-shadow:0 0 4px #00000029;width:236px;padding:0;z-index:1000}.Datepicker-module__calendarHeader___a7I0V{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 6px}.Datepicker-module__calendarDivider___DRk4M{height:1px;margin:0;background:#ccc}.Datepicker-module__headerActions___AP324{display:flex;align-items:center}.Datepicker-module__headerAction___nyMJF{width:32px;height:32px;border:none;background:transparent;border-radius:4px;color:#4a4a4a;cursor:pointer;display:flex;align-items:center;justify-content:center}.Datepicker-module__headerActionIcon___J8RC-{font-size:16px}.Datepicker-module__headerLabel___IPAo-{border:none;background:transparent;color:#28292c;cursor:pointer;font-family:Roboto;font-size:16px;font-style:normal;font-weight:500;line-height:100%;text-align:left}.Datepicker-module__calendarBody___yaLJA{padding:6px 6px 0}.Datepicker-module__weekdays___noAbQ{display:grid;grid-template-columns:repeat(7,32px);column-gap:0;row-gap:0;margin-bottom:8px}.Datepicker-module__weekday___0hrfJ{color:#727272;font-size:12px;text-align:center;line-height:20px}.Datepicker-module__grid___lJEHW{display:grid;grid-template-columns:repeat(7,32px);column-gap:0;row-gap:8px}.Datepicker-module__gridMonths___n1wAM,.Datepicker-module__gridYears___cI0YR{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.Datepicker-module__day___3XU9S{height:32px;border:none;border-radius:4px;background:transparent;color:#4a4a4a;font-size:14px;cursor:pointer}.Datepicker-module__date___G2cRK,.Datepicker-module__month___VKvm3,.Datepicker-module__year___9OzXM{display:flex;align-items:center;justify-content:center}.Datepicker-module__month___VKvm3{height:48px;color:#4a4a4a}.Datepicker-module__month___VKvm3:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__year___9OzXM{height:48px;color:#4a4a4a}.Datepicker-module__year___9OzXM:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__date___G2cRK{position:relative;width:32px}.Datepicker-module__date___G2cRK:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__dayOutside___CXb-b{color:#b2b2b2}.Datepicker-module__daySelected___DkZ5T{background:#498e2b;color:#fff}.Datepicker-module__dayTodayCurrent___ocAqU{color:#498e2b}.Datepicker-module__dayTodayDot___ZyD-l{position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:4px;background:#5cb335;transform:translate(-50%)}.Datepicker-module__calendarFooter___sLvNP{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 6px}.Datepicker-module__calendarFooterSpacer___3IXgI{flex:1;min-height:32px}.Datepicker-module__todayButton___zl9VO{border:1px solid #498e2b;background:#fff;color:#498e2b;border-radius:2px;height:32px;padding:0 12px;font-size:14px;font-weight:500;cursor:pointer}.Datepicker-module__helperRow___IKmCq{display:flex;align-items:center;height:16px}.Datepicker-module__helpText___g7zEx{color:#727272;font-size:12px}.Datepicker-module__errorText___7o5Rs{color:#bf494e;font-size:12px}.Datepicker-module__disabled___Hlnlo .Datepicker-module__label___uPuKe{color:#b2b2b2}.Datepicker-module__disabled___Hlnlo .Datepicker-module__labelTooltipIcon___n2IvH,.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputIcon___OUb8V{color:#ccc}.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputWrapper___aKtHi{cursor:not-allowed}.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputText___rwYA-,.Datepicker-module__disabled___Hlnlo .Datepicker-module__required___cAVa1{color:#b2b2b2}
1
+ .Datepicker-module__datepicker___SxV3q{display:flex;flex-direction:column;gap:6px;min-width:240px}.Datepicker-module__label___uPuKe{display:flex;align-items:center;gap:4px;color:#4a4a4a;font-size:14px;font-weight:500;line-height:1.2}.Datepicker-module__labelText___BAflA{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Datepicker-module__required___cAVa1{color:#cb282e}.Datepicker-module__labelTooltipIcon___n2IvH{color:#4a4a4a;font-size:16px}.Datepicker-module__inputWrapper___aKtHi{width:100%;height:32px;display:flex;align-items:center;gap:6px;border:1px solid #cccccc;border-radius:4px;background-color:#fff;padding:0 8px;text-align:left;cursor:pointer}.Datepicker-module__inputWrapper___aKtHi:focus{outline:none;border-color:#5cb335}.Datepicker-module__inputIcon___OUb8V{font-size:20px;color:#4a4a4a}.Datepicker-module__inputText___rwYA-{color:#28292c;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Datepicker-module__placeholder___UVl-W{color:#878787}.Datepicker-module__error___C5WX8{border-color:#bf494e}.Datepicker-module__calendarContainer___Bjfa8{border:1px solid #cccccc;border-radius:4px;background:#fff;box-shadow:0 0 4px #00000029;width:236px;padding:0;z-index:1000}.Datepicker-module__calendarHeader___a7I0V{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 6px}.Datepicker-module__calendarDivider___DRk4M{height:1px;margin:0;background:#ccc}.Datepicker-module__headerActions___AP324{display:flex;align-items:center}.Datepicker-module__headerAction___nyMJF{width:32px;height:32px;border:none;background:transparent;border-radius:4px;color:#4a4a4a;cursor:pointer;display:flex;align-items:center;justify-content:center}.Datepicker-module__headerActionIcon___J8RC-{font-size:16px}.Datepicker-module__headerLabel___IPAo-{border:none;background:transparent;color:#28292c;cursor:pointer;font-family:Roboto;font-size:16px;font-style:normal;font-weight:500;line-height:100%;text-align:left}.Datepicker-module__calendarBody___yaLJA{padding:6px 6px 0}.Datepicker-module__weekdays___noAbQ{display:grid;grid-template-columns:repeat(7,32px);column-gap:0;row-gap:0;margin-bottom:8px}.Datepicker-module__weekday___0hrfJ{color:#727272;font-size:12px;text-align:center;line-height:20px}.Datepicker-module__grid___lJEHW{display:grid;grid-template-columns:repeat(7,32px);column-gap:0;row-gap:8px}.Datepicker-module__gridMonths___n1wAM,.Datepicker-module__gridYears___cI0YR{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.Datepicker-module__day___3XU9S{height:32px;border:none;border-radius:4px;background:transparent;color:#4a4a4a;font-size:14px;cursor:pointer}.Datepicker-module__date___G2cRK,.Datepicker-module__month___VKvm3,.Datepicker-module__year___9OzXM{display:flex;align-items:center;justify-content:center}.Datepicker-module__month___VKvm3{height:48px;color:#4a4a4a}.Datepicker-module__month___VKvm3:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__year___9OzXM{height:48px;color:#4a4a4a}.Datepicker-module__year___9OzXM:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__date___G2cRK{position:relative;width:32px}.Datepicker-module__date___G2cRK:not(.Datepicker-module__daySelected___DkZ5T):not(:disabled):hover{box-shadow:inset 0 0 0 1px #498e2b;color:#498e2b}.Datepicker-module__dayOutside___CXb-b{color:#b2b2b2}.Datepicker-module__daySelected___DkZ5T{background:#498e2b;color:#fff}.Datepicker-module__dayTodayCurrent___ocAqU{color:#498e2b}.Datepicker-module__dayTodayDot___ZyD-l{position:absolute;bottom:3px;left:50%;width:4px;height:4px;border-radius:4px;background:#5cb335;transform:translate(-50%)}.Datepicker-module__calendarFooter___sLvNP{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 6px}.Datepicker-module__calendarFooterSpacer___3IXgI{flex:1;min-height:32px}.Datepicker-module__helperRow___IKmCq{display:flex;align-items:center;height:16px}.Datepicker-module__helpText___g7zEx{color:#727272;font-size:12px}.Datepicker-module__errorText___7o5Rs{color:#bf494e;font-size:12px}.Datepicker-module__disabled___Hlnlo .Datepicker-module__label___uPuKe{color:#b2b2b2}.Datepicker-module__disabled___Hlnlo .Datepicker-module__labelTooltipIcon___n2IvH,.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputIcon___OUb8V{color:#ccc}.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputWrapper___aKtHi{cursor:not-allowed}.Datepicker-module__disabled___Hlnlo .Datepicker-module__inputText___rwYA-,.Datepicker-module__disabled___Hlnlo .Datepicker-module__required___cAVa1{color:#b2b2b2}
@@ -1 +1 @@
1
- .RadioGroup-module__root___ewZw-{display:grid;grid-template-columns:1fr;grid-gap:8px}.RadioGroup-module__disabled___n-nfI{cursor:not-allowed}.RadioGroup-module__disabled___n-nfI label{color:#b2b2b2;cursor:not-allowed}.RadioGroup-module__disabled___n-nfI [data-radio-item]{border:solid 1px #cccccc}.RadioGroup-module__disabled___n-nfI [data-radio-item] [data-radio-item-indicator]:after{background-color:#8dca7e}.RadioGroup-module__disabled___n-nfI [data-radio-item][data-state=checked]{border:solid 1px #8dca7e}
1
+ .RadioGroup-module__root___ewZw-{display:grid;grid-template-columns:1fr;grid-gap:8px}.RadioGroup-module__horizontal___QsBvv{grid-auto-flow:column;grid-template-columns:unset}.RadioGroup-module__disabled___n-nfI{cursor:not-allowed}.RadioGroup-module__disabled___n-nfI label{color:#b2b2b2;cursor:not-allowed}.RadioGroup-module__disabled___n-nfI [data-radio-item]{border:solid 1px #cccccc}.RadioGroup-module__disabled___n-nfI [data-radio-item] [data-radio-item-indicator]:after{background-color:#8dca7e}.RadioGroup-module__disabled___n-nfI [data-radio-item][data-state=checked]{border:solid 1px #8dca7e}
@@ -0,0 +1 @@
1
+ .RichTextEditor-module__container___AplP0{width:fit-content;max-width:100%;display:grid;grid-template-columns:1fr;row-gap:6px}.RichTextEditor-module__label___vjzs-{color:#4a4a4a;font-size:14px;font-weight:500;line-height:1.2;display:inline-flex;align-items:center;gap:4px}.RichTextEditor-module__required___7duke{color:#cb282e}.RichTextEditor-module__frame___7OSyf{border:1px solid #cccccc;border-radius:4px;background:#fff;overflow:hidden}.RichTextEditor-module__frameFocused___GtJ2x{border-color:#5cb335}.RichTextEditor-module__frameDisabled___LubtU{opacity:.7}.RichTextEditor-module__frameError___sPTiY{border-color:#bf494e}.RichTextEditor-module__errorMessage___4VdKj{color:#bf494e;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.RichTextEditor-module__helpers___cpuz6{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0}.RichTextEditor-module__helperText___rFoU0{color:#727272;font-size:12px;font-weight:400;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.RichTextEditor-module__helpLink___7gYcv{color:#0369a3;font-size:13px;font-weight:500;line-height:1;text-decoration:none;flex-shrink:0;margin-left:auto}.RichTextEditor-module__helpLink___7gYcv:hover{text-decoration:underline}.RichTextEditor-module__containerDisabled___6h9dd .RichTextEditor-module__helperText___rFoU0{color:#b2b2b2}.RichTextEditor-module__containerDisabled___6h9dd .RichTextEditor-module__helpLink___7gYcv{color:#878787;pointer-events:none;cursor:not-allowed}.RichTextEditor-module__containerFullWidth___pOoeL,.RichTextEditor-module__containerFullWidth___pOoeL .RichTextEditor-module__frame___7OSyf,.RichTextEditor-module__containerFullWidth___pOoeL .RichTextEditor-module__toolbarContent___YXKHD,.RichTextEditor-module__containerFullWidth___pOoeL .RichTextEditor-module__toolbarPanel___OVGHO,.RichTextEditor-module__containerFullWidth___pOoeL .RichTextEditor-module__toolbarRow___f0xJR{width:100%}.RichTextEditor-module__toolbar___m9-M-{display:block;border-bottom:1px solid #cccccc}.RichTextEditor-module__toolbarContent___YXKHD{width:fit-content;display:flex;align-items:center;gap:12px}.RichTextEditor-module__toolbarStacked___6rB10 .RichTextEditor-module__toolbarContent___YXKHD{display:block}.RichTextEditor-module__actions___ZAK9J{display:flex;align-items:center;gap:6px}.RichTextEditor-module__toolbarPanel___OVGHO{border-radius:4px;overflow:hidden;width:fit-content}.RichTextEditor-module__toolbarRow___f0xJR{display:flex;align-items:center;width:fit-content;min-height:32px;border-bottom:1px solid #cccccc;padding:2px 4px;gap:2px}.RichTextEditor-module__toolbarRow___f0xJR:last-child{border-bottom:none}.RichTextEditor-module__toolbarRow___f0xJR>*{padding-right:8px;margin-right:8px;border-right:1px solid #cccccc}.RichTextEditor-module__toolbarRow___f0xJR>*:last-child{padding-right:0;margin-right:0;border-right:none}.RichTextEditor-module__toolButton___IT2Kg{width:32px;height:32px;border:none;background:transparent;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.RichTextEditor-module__toolButton___IT2Kg:hover:not(:disabled){background:#f7f7f7}.RichTextEditor-module__toolButton___IT2Kg:active:not(:disabled),.RichTextEditor-module__toolButton___IT2Kg.RichTextEditor-module__toolButtonActive___-HvZQ{background:#e4e4e4}.RichTextEditor-module__toolIcon___Wndhd{color:#4a4a4a;font-size:20px!important}.RichTextEditor-module__formatControl___w4WcA{position:relative;flex-shrink:0}.RichTextEditor-module__toolbarLinkSlot___Gu-9l{display:inline-flex;align-items:center;flex-shrink:0}.RichTextEditor-module__selectTrigger___frv3x{height:32px;flex-shrink:0;border:none;background:transparent;color:#4a4a4a;font-size:16px;outline:none;border-radius:2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between}.RichTextEditor-module__selectTrigger___frv3x:hover:not(:disabled){background:#f7f7f7}.RichTextEditor-module__selectTrigger___frv3x:focus-visible{background:#e4e4e4}.RichTextEditor-module__selectTriggerOpen___tk2Pb{background:#e4e4e4}.RichTextEditor-module__selectTriggerLabel___FkEv0{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.RichTextEditor-module__selectIcon___aJWUk{margin-left:8px;pointer-events:none;color:#4a4a4a;font-size:16px}.RichTextEditor-module__formatMenu___y-uBL{background-color:#fff;border:1px solid #cccccc;border-radius:4px;box-shadow:0 0 4px #00000029;max-width:640px;width:fit-content;overflow:hidden}.RichTextEditor-module__formatMenuOptions___zcdlo{padding:8px;display:flex;flex-direction:column;gap:0}.RichTextEditor-module__formatMenuOption___3ppTs{width:100%;border:none;background:none;min-height:32px;padding:8px;border-radius:4px;color:#4a4a4a;text-align:left;font-size:14px;cursor:pointer}.RichTextEditor-module__formatMenuOption___3ppTs:hover,.RichTextEditor-module__formatMenuOptionSelected___bq9J9{background-color:#dff0db}.RichTextEditor-module__formatMenuOptionParagraph___4BLds{font-size:16px;font-weight:400;line-height:1.3}.RichTextEditor-module__formatMenuOptionHeading1___H1cKX{font-size:48px;font-weight:600;line-height:1.2}.RichTextEditor-module__formatMenuOptionHeading2___JdixR{font-size:40px;font-weight:600;line-height:1.2}.RichTextEditor-module__formatMenuOptionHeading3___NcwLr{font-size:32px;font-weight:600;line-height:1.25}.RichTextEditor-module__formatMenuOptionHeading4___4mLbG{font-size:24px;font-weight:600;line-height:1.3}.RichTextEditor-module__formatMenuOptionPreformatted___cB0Ix{font-family:Roboto Mono,Consolas,Monaco,Courier New,monospace;font-size:14px;letter-spacing:.08em;font-weight:400;line-height:1.3}.RichTextEditor-module__editor___M32R7{width:100%;box-sizing:border-box;min-height:160px;padding:6px 12px;color:#28292c;font-size:14px;line-height:1.4;overflow:auto;outline:none}.RichTextEditor-module__editor___M32R7:empty:before{content:attr(data-placeholder);color:#878787;pointer-events:none}.RichTextEditor-module__wordCount___5SSVY{text-align:right;color:#727272;font-size:12px;padding-right:8px;padding-bottom:4px;padding-top:4px}.RichTextEditor-module__wordCountExceeded___NhqBc{color:#bf494e}.RichTextEditor-module__linkDialogForm___vOLO1{padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.RichTextEditor-module__linkDialogForm___vOLO1>*{width:100%}a{cursor:pointer}