@alfadocs/ui-kit-debug 1.40.0 → 1.41.0

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 (173) hide show
  1. package/dist/_chunks/arrow-left-BfaGqVam.js +15 -0
  2. package/dist/_chunks/arrow-left-BfaGqVam.js.map +1 -0
  3. package/dist/_chunks/{calendar-workspace-SN23GsXX.js → calendar-workspace-UllCER2k.js} +18 -17
  4. package/dist/_chunks/{calendar-workspace-SN23GsXX.js.map → calendar-workspace-UllCER2k.js.map} +1 -1
  5. package/dist/_chunks/{contact-profile-card-Zt6WNg1u.js → contact-profile-card-C0WpwpVV.js} +38 -33
  6. package/dist/_chunks/contact-profile-card-C0WpwpVV.js.map +1 -0
  7. package/dist/_chunks/editor-overlay-DwNKaI22.js +93 -0
  8. package/dist/_chunks/editor-overlay-DwNKaI22.js.map +1 -0
  9. package/dist/_chunks/format-price-DAbh61Lz.js +51 -0
  10. package/dist/_chunks/format-price-DAbh61Lz.js.map +1 -0
  11. package/dist/_chunks/help-me-write-templates-GB70jnV9.js +764 -0
  12. package/dist/_chunks/help-me-write-templates-GB70jnV9.js.map +1 -0
  13. package/dist/_chunks/{marketplace-app-shell-d2EtcUbe.js → marketplace-app-shell-D_g9BaDI.js} +2 -2
  14. package/dist/_chunks/{marketplace-app-shell-d2EtcUbe.js.map → marketplace-app-shell-D_g9BaDI.js.map} +1 -1
  15. package/dist/_chunks/{money-BY-HmKhZ.js → money-BXLBIRVO.js} +2 -2
  16. package/dist/_chunks/{money-BY-HmKhZ.js.map → money-BXLBIRVO.js.map} +1 -1
  17. package/dist/_chunks/{notes-panel-CmTqIWlS.js → notes-panel-_diLt8Cj.js} +2 -2
  18. package/dist/_chunks/{notes-panel-CmTqIWlS.js.map → notes-panel-_diLt8Cj.js.map} +1 -1
  19. package/dist/_chunks/{panel-subview-Cc2Wtt7D.js → panel-subview-PMBRPFOa.js} +49 -59
  20. package/dist/_chunks/panel-subview-PMBRPFOa.js.map +1 -0
  21. package/dist/_chunks/{practice-results-D_jjzwgf.js → practice-results-D11Zpt27.js} +50 -45
  22. package/dist/_chunks/practice-results-D11Zpt27.js.map +1 -0
  23. package/dist/_chunks/rich-text-editor-D7AKKAQ2.js +3119 -0
  24. package/dist/_chunks/rich-text-editor-D7AKKAQ2.js.map +1 -0
  25. package/dist/_chunks/{sidebar-C-Gr2LL-.js → sidebar-ClTY9lLI.js} +160 -169
  26. package/dist/_chunks/sidebar-ClTY9lLI.js.map +1 -0
  27. package/dist/_chunks/{treatment-receipt-dUm99mdn.js → treatment-receipt-DU0OewqH.js} +2 -2
  28. package/dist/_chunks/{treatment-receipt-dUm99mdn.js.map → treatment-receipt-DU0OewqH.js.map} +1 -1
  29. package/dist/_chunks/trending-up-C_luYBzS.js +15 -0
  30. package/dist/_chunks/trending-up-C_luYBzS.js.map +1 -0
  31. package/dist/_chunks/wand-sparkles-DAjKyhz7.js +27 -0
  32. package/dist/_chunks/wand-sparkles-DAjKyhz7.js.map +1 -0
  33. package/dist/agent-catalog.json +87 -1
  34. package/dist/agent-i18n/en.json +7 -0
  35. package/dist/components/_shared/format-price.d.ts +6 -0
  36. package/dist/components/_shared/format-price.d.ts.map +1 -1
  37. package/dist/components/_shared/index.d.ts +1 -1
  38. package/dist/components/_shared/index.d.ts.map +1 -1
  39. package/dist/components/contact-profile-card/contact-profile-card.d.ts +2 -2
  40. package/dist/components/contact-profile-card/contact-profile-card.d.ts.map +1 -1
  41. package/dist/components/contact-profile-card/index.js +1 -1
  42. package/dist/components/editor-overlay/editor-overlay.d.ts.map +1 -1
  43. package/dist/components/editor-overlay/index.js +1 -1
  44. package/dist/components/index.d.ts +1 -0
  45. package/dist/components/index.d.ts.map +1 -1
  46. package/dist/components/money/index.js +1 -1
  47. package/dist/components/notes-panel/index.js +1 -1
  48. package/dist/components/panel-subview/index.js +1 -1
  49. package/dist/components/practice-results/index.js +1 -1
  50. package/dist/components/practice-results/practice-results.d.ts +2 -1
  51. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  52. package/dist/components/rich-text-editor/editor-toolbar.d.ts +6 -1
  53. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
  54. package/dist/components/rich-text-editor/index.d.ts +1 -1
  55. package/dist/components/rich-text-editor/index.d.ts.map +1 -1
  56. package/dist/components/rich-text-editor/index.js +1 -1
  57. package/dist/components/rich-text-editor/rich-text-editor.d.ts +74 -0
  58. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  59. package/dist/components/sidebar/index.js +1 -1
  60. package/dist/components/treatment-receipt/index.js +1 -1
  61. package/dist/host-compat.css +13 -1
  62. package/dist/i18n/locales/ar.d.ts +79 -0
  63. package/dist/i18n/locales/ar.d.ts.map +1 -1
  64. package/dist/i18n/locales/ar.js +80 -1
  65. package/dist/i18n/locales/ar.js.map +1 -1
  66. package/dist/i18n/locales/de.d.ts +79 -0
  67. package/dist/i18n/locales/de.d.ts.map +1 -1
  68. package/dist/i18n/locales/de.js +80 -1
  69. package/dist/i18n/locales/de.js.map +1 -1
  70. package/dist/i18n/locales/el.d.ts +79 -0
  71. package/dist/i18n/locales/el.d.ts.map +1 -1
  72. package/dist/i18n/locales/el.js +80 -1
  73. package/dist/i18n/locales/el.js.map +1 -1
  74. package/dist/i18n/locales/en.d.ts +79 -0
  75. package/dist/i18n/locales/en.d.ts.map +1 -1
  76. package/dist/i18n/locales/en.js +80 -1
  77. package/dist/i18n/locales/en.js.map +1 -1
  78. package/dist/i18n/locales/es.d.ts +79 -0
  79. package/dist/i18n/locales/es.d.ts.map +1 -1
  80. package/dist/i18n/locales/es.js +80 -1
  81. package/dist/i18n/locales/es.js.map +1 -1
  82. package/dist/i18n/locales/fr.d.ts +79 -0
  83. package/dist/i18n/locales/fr.d.ts.map +1 -1
  84. package/dist/i18n/locales/fr.js +80 -1
  85. package/dist/i18n/locales/fr.js.map +1 -1
  86. package/dist/i18n/locales/hi.d.ts +79 -0
  87. package/dist/i18n/locales/hi.d.ts.map +1 -1
  88. package/dist/i18n/locales/hi.js +80 -1
  89. package/dist/i18n/locales/hi.js.map +1 -1
  90. package/dist/i18n/locales/it.d.ts +79 -0
  91. package/dist/i18n/locales/it.d.ts.map +1 -1
  92. package/dist/i18n/locales/it.js +80 -1
  93. package/dist/i18n/locales/it.js.map +1 -1
  94. package/dist/i18n/locales/ja.d.ts +79 -0
  95. package/dist/i18n/locales/ja.d.ts.map +1 -1
  96. package/dist/i18n/locales/ja.js +80 -1
  97. package/dist/i18n/locales/ja.js.map +1 -1
  98. package/dist/i18n/locales/nl.d.ts +79 -0
  99. package/dist/i18n/locales/nl.d.ts.map +1 -1
  100. package/dist/i18n/locales/nl.js +80 -1
  101. package/dist/i18n/locales/nl.js.map +1 -1
  102. package/dist/i18n/locales/pl.d.ts +79 -0
  103. package/dist/i18n/locales/pl.d.ts.map +1 -1
  104. package/dist/i18n/locales/pl.js +80 -1
  105. package/dist/i18n/locales/pl.js.map +1 -1
  106. package/dist/i18n/locales/pt.d.ts +79 -0
  107. package/dist/i18n/locales/pt.d.ts.map +1 -1
  108. package/dist/i18n/locales/pt.js +80 -1
  109. package/dist/i18n/locales/pt.js.map +1 -1
  110. package/dist/i18n/locales/ro.d.ts +79 -0
  111. package/dist/i18n/locales/ro.d.ts.map +1 -1
  112. package/dist/i18n/locales/ro.js +80 -1
  113. package/dist/i18n/locales/ro.js.map +1 -1
  114. package/dist/i18n/locales/ru.d.ts +79 -0
  115. package/dist/i18n/locales/ru.d.ts.map +1 -1
  116. package/dist/i18n/locales/ru.js +80 -1
  117. package/dist/i18n/locales/ru.js.map +1 -1
  118. package/dist/i18n/locales/sq.d.ts +79 -0
  119. package/dist/i18n/locales/sq.d.ts.map +1 -1
  120. package/dist/i18n/locales/sq.js +80 -1
  121. package/dist/i18n/locales/sq.js.map +1 -1
  122. package/dist/i18n/locales/sv.d.ts +79 -0
  123. package/dist/i18n/locales/sv.d.ts.map +1 -1
  124. package/dist/i18n/locales/sv.js +80 -1
  125. package/dist/i18n/locales/sv.js.map +1 -1
  126. package/dist/i18n/locales/tr.d.ts +79 -0
  127. package/dist/i18n/locales/tr.d.ts.map +1 -1
  128. package/dist/i18n/locales/tr.js +80 -1
  129. package/dist/i18n/locales/tr.js.map +1 -1
  130. package/dist/i18n/locales/zh.d.ts +79 -0
  131. package/dist/i18n/locales/zh.d.ts.map +1 -1
  132. package/dist/i18n/locales/zh.js +80 -1
  133. package/dist/i18n/locales/zh.js.map +1 -1
  134. package/dist/index.js +141 -134
  135. package/dist/index.js.map +1 -1
  136. package/dist/locales/ar.json +80 -1
  137. package/dist/locales/de.json +80 -1
  138. package/dist/locales/el.json +80 -1
  139. package/dist/locales/en.json +80 -1
  140. package/dist/locales/es.json +80 -1
  141. package/dist/locales/fr.json +80 -1
  142. package/dist/locales/hi.json +80 -1
  143. package/dist/locales/it.json +80 -1
  144. package/dist/locales/ja.json +80 -1
  145. package/dist/locales/nl.json +80 -1
  146. package/dist/locales/pl.json +80 -1
  147. package/dist/locales/pt.json +80 -1
  148. package/dist/locales/ro.json +80 -1
  149. package/dist/locales/ru.json +80 -1
  150. package/dist/locales/sq.json +80 -1
  151. package/dist/locales/sv.json +80 -1
  152. package/dist/locales/tr.json +80 -1
  153. package/dist/locales/zh.json +80 -1
  154. package/dist/patterns/calendar/index.js +1 -1
  155. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +164 -0
  156. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts.map +1 -0
  157. package/dist/patterns/help-me-write-templates/index.d.ts +3 -0
  158. package/dist/patterns/help-me-write-templates/index.d.ts.map +1 -0
  159. package/dist/patterns/help-me-write-templates/index.js +10 -0
  160. package/dist/patterns/help-me-write-templates/index.js.map +1 -0
  161. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  162. package/dist/tokens.css +51 -42
  163. package/package.json +5 -1
  164. package/dist/_chunks/contact-profile-card-Zt6WNg1u.js.map +0 -1
  165. package/dist/_chunks/editor-overlay-9tcPXNWt.js +0 -89
  166. package/dist/_chunks/editor-overlay-9tcPXNWt.js.map +0 -1
  167. package/dist/_chunks/format-price-BkMEbeW3.js +0 -47
  168. package/dist/_chunks/format-price-BkMEbeW3.js.map +0 -1
  169. package/dist/_chunks/panel-subview-Cc2Wtt7D.js.map +0 -1
  170. package/dist/_chunks/practice-results-D_jjzwgf.js.map +0 -1
  171. package/dist/_chunks/rich-text-editor-BJ1-Lkao.js +0 -2719
  172. package/dist/_chunks/rich-text-editor-BJ1-Lkao.js.map +0 -1
  173. package/dist/_chunks/sidebar-C-Gr2LL-.js.map +0 -1
@@ -0,0 +1,764 @@
1
+ import { jsxs as i, jsx as e, Fragment as R } from "react/jsx-runtime";
2
+ import { useState as v, useEffect as q, useId as ne, useRef as re, useCallback as A, useMemo as ye } from "react";
3
+ import { useTranslation as G } from "react-i18next";
4
+ import { A as B } from "./alert-CiQ5Pa3Q.js";
5
+ import { B as he } from "./badge-BudgzTe_.js";
6
+ import { B as h } from "./button-CaUe1uyd.js";
7
+ import { I as F } from "./icon-button-CehAeZoP.js";
8
+ import { D as b } from "./dialog-BJiLqhx6.js";
9
+ import { D as S } from "./dropdown-menu-DU-Hrf33.js";
10
+ import { E as we } from "./editor-overlay-DwNKaI22.js";
11
+ import { E as ke } from "./empty-state-BUN_UAWf.js";
12
+ import { F as K } from "./form-field-CahJzTxp.js";
13
+ import { P as Ie } from "./progress-CK8otcQ-.js";
14
+ import { S as ie } from "./spinner-hbwuKwMf.js";
15
+ import { S as De } from "./switch-OILsBLWo.js";
16
+ import { T as fe } from "./text-area-Bt3p7Pt0.js";
17
+ import { T as le } from "./text-input-CUvCb6ST.js";
18
+ import { SafeHtml as Se } from "../safe-html/index.js";
19
+ import { T as ze } from "./trending-up-C_luYBzS.js";
20
+ import { A as Re } from "./astroid-BN4f5VXU.js";
21
+ import { A as Ee } from "./arrow-left-BfaGqVam.js";
22
+ import { P as $e } from "./pencil-B1sKKyuT.js";
23
+ import { T as Ae } from "./trash-2-uumy3fy1.js";
24
+ import { P as ge } from "./plus-DzMQ_c6b.js";
25
+ import { X as oe } from "./x-B5YnXwCz.js";
26
+ import { R as Be } from "./rotate-ccw-BBQnIVTr.js";
27
+ import { S as Oe } from "./square-DASBRZ0U.js";
28
+ import { M as Le } from "./mic-CUklMZGF.js";
29
+ import { C as Fe } from "./chevron-down-DWE7GSq9.js";
30
+ import { W as de } from "./wand-sparkles-DAjKyhz7.js";
31
+ import { S as _e } from "./settings-d25ju_6L.js";
32
+ import { S as He } from "./send-C5kDJ-Mz.js";
33
+ class ce extends Error {
34
+ constructor(c = "AI credits exhausted") {
35
+ super(c), this.name = "AiCreditsExhaustedError";
36
+ }
37
+ }
38
+ const j = "ds:!size-[var(--min-target-size)]", Pe = "ds:!h-[var(--min-target-size)] ds:shrink-0", je = `${j} ds:bg-[image:var(--gradient-brand)] ds:rounded-full`, qe = "ds:aria-pressed:!bg-[var(--destructive)] ds:aria-pressed:!text-[var(--destructive-foreground)]", U = "ds:m-0 ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--muted-foreground)]", me = "type-eyebrow ds:m-0 ds:text-[color:var(--muted-foreground)]", Q = [
39
+ "ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)]",
40
+ "ds:bg-[color-mix(in_srgb,var(--background)_70%,transparent)]",
41
+ "ds:p-[var(--spacing-sm)] ds:[max-block-size:14rem] ds:overflow-y-auto",
42
+ "ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--foreground)]",
43
+ "ds:[&_ul]:list-disc ds:[&_ul]:ps-[var(--spacing-md)]",
44
+ "ds:[&_h3]:font-medium ds:[&_h3]:[margin-block-start:var(--spacing-xs)]",
45
+ "ds:[&_p]:[margin-block-end:var(--spacing-xs)]",
46
+ "ds:[&>:first-child]:[margin-block-start:0]"
47
+ ].join(" "), pe = "ds:[block-size:14rem]";
48
+ function be(r) {
49
+ return [...r].sort(
50
+ (c, o) => Number(o.isDefault) - Number(c.isDefault)
51
+ );
52
+ }
53
+ function ue(r, c) {
54
+ return c ? r ? /\s$/.test(r) ? `${r}${c}` : `${r} ${c}` : c : r;
55
+ }
56
+ function Ue(r) {
57
+ return typeof r == "object" && r !== null && "name" in r && r.name === "AbortError";
58
+ }
59
+ function Ge({
60
+ credits: r,
61
+ onBack: c
62
+ }) {
63
+ const { t: o, i18n: p } = G(), u = r == null ? void 0 : r.limit, f = (r == null ? void 0 : r.remaining) ?? 0, t = u !== void 0 ? o("helpMeWriteTemplates.credits.remaining", { remaining: f, limit: u }) : void 0, n = r != null && r.resetsOn ? new Intl.DateTimeFormat(p.language, {
64
+ day: "numeric",
65
+ month: "long"
66
+ }).format(r.resetsOn) : void 0;
67
+ return /* @__PURE__ */ i(
68
+ "div",
69
+ {
70
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
71
+ "data-component": "ai-credits-exhausted-notice",
72
+ children: [
73
+ /* @__PURE__ */ i(B, { variant: "promo", icon: /* @__PURE__ */ e(Re, { "aria-hidden": "true" }), children: [
74
+ /* @__PURE__ */ e(B.Title, { as: "h2", children: o("helpMeWriteTemplates.credits.title") }),
75
+ /* @__PURE__ */ e(B.Description, { children: r != null && r.onBuyCredits ? n ? o("helpMeWriteTemplates.credits.bodyResets", { date: n }) : o("helpMeWriteTemplates.credits.body") : n ? o("helpMeWriteTemplates.credits.bodyWaitResets", {
76
+ date: n
77
+ }) : o("helpMeWriteTemplates.credits.bodyWait") }),
78
+ u !== void 0 && t ? /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)] ds:[margin-block-start:var(--spacing-sm)]", children: [
79
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
80
+ /* @__PURE__ */ e("span", { className: "type-label", children: o("helpMeWriteTemplates.credits.meterLabel") }),
81
+ /* @__PURE__ */ e("span", { className: "type-label ds:ms-auto ds:tabular-nums", children: t })
82
+ ] }),
83
+ /* @__PURE__ */ e(
84
+ Ie,
85
+ {
86
+ value: Math.max(0, u - f),
87
+ max: u,
88
+ size: "sm",
89
+ ariaLabel: o("helpMeWriteTemplates.credits.meterLabel"),
90
+ ariaValueText: t
91
+ }
92
+ )
93
+ ] }) : null,
94
+ r != null && r.onBuyCredits || r != null && r.onSeeCosts ? /* @__PURE__ */ i(B.Action, { children: [
95
+ r.onBuyCredits ? /* @__PURE__ */ e(
96
+ h,
97
+ {
98
+ intent: "tonal",
99
+ size: "sm",
100
+ startIcon: /* @__PURE__ */ e(ze, { "aria-hidden": "true" }),
101
+ onClick: r.onBuyCredits,
102
+ children: o("helpMeWriteTemplates.credits.cta")
103
+ }
104
+ ) : null,
105
+ r.onSeeCosts ? /* @__PURE__ */ e(h, { intent: "link", size: "sm", onClick: r.onSeeCosts, children: o("helpMeWriteTemplates.credits.secondary") }) : null
106
+ ] }) : null
107
+ ] }),
108
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]", children: [
109
+ c ? /* @__PURE__ */ e(h, { intent: "ghost", startIcon: /* @__PURE__ */ e(Ee, {}), onClick: c, children: o("helpMeWriteTemplates.credits.back") }) : null,
110
+ /* @__PURE__ */ e("p", { className: U, children: o("helpMeWriteTemplates.credits.kept") })
111
+ ] })
112
+ ]
113
+ }
114
+ );
115
+ }
116
+ function Ve({
117
+ context: r,
118
+ templates: c,
119
+ onGenerate: o,
120
+ onManageTemplates: p,
121
+ onApplied: u,
122
+ credits: f,
123
+ enableDictation: t = !0,
124
+ suspendClose: n = !1
125
+ }) {
126
+ const { t: a } = G(), { open: N } = r, T = ne(), I = ne(), [C, x] = v(""), [w, M] = v(null), [y, O] = v(!1), [V, E] = v(!1), [s, k] = v(null), [g, ve] = v({
127
+ kind: "document",
128
+ words: 0,
129
+ text: ""
130
+ }), _ = re(null), z = w !== null, L = t ? r.onDictate : void 0, [D, te] = v(!1), [Te, X] = v(""), [Me, Y] = v(""), $ = re(null), H = A(() => {
131
+ var l;
132
+ return (l = $.current) == null ? void 0 : l.abort();
133
+ }, []), We = A(() => {
134
+ if (D) {
135
+ H();
136
+ return;
137
+ }
138
+ if (!L) return;
139
+ const l = new AbortController();
140
+ $.current = l, te(!0), Y(a("helpMeWriteTemplates.bar.listening")), L({
141
+ signal: l.signal,
142
+ onPartialTranscript: (d) => {
143
+ l.signal.aborted || X(d);
144
+ },
145
+ onFinalTranscript: (d) => {
146
+ if (l.signal.aborted) return;
147
+ X("");
148
+ const W = d.trim();
149
+ W && (x((m) => ue(m, W)), Y(W));
150
+ }
151
+ }).catch((d) => {
152
+ d instanceof ce && E(!0);
153
+ }).finally(() => {
154
+ X(""), $.current === l && ($.current = null, te(!1), Y(""));
155
+ });
156
+ }, [D, L, H, a]);
157
+ q(() => {
158
+ var l, d;
159
+ if (N) {
160
+ x(""), M(null), O(!1), E(r.creditsExhausted), k(null);
161
+ const W = r.selectionText.trim(), m = W || r.getText();
162
+ ve({
163
+ kind: W ? "selection" : "document",
164
+ words: m.split(/\s+/).filter(Boolean).length,
165
+ text: m
166
+ });
167
+ } else
168
+ (l = _.current) == null || l.abort(), (d = $.current) == null || d.abort();
169
+ }, [N]), q(
170
+ () => () => {
171
+ var l, d;
172
+ (l = _.current) == null || l.abort(), (d = $.current) == null || d.abort();
173
+ },
174
+ []
175
+ );
176
+ const Z = A(
177
+ (l) => {
178
+ var W;
179
+ if (z || (l ? g.words === 0 : !C.trim())) return;
180
+ H(), (W = _.current) == null || W.abort();
181
+ const d = new AbortController();
182
+ _.current = d, O(!1), M(l), o({
183
+ template: l,
184
+ prompt: C.trim(),
185
+ sourceText: l ? g.text : "",
186
+ signal: d.signal
187
+ }).then((m) => {
188
+ d.signal.aborted || (k({ draft: m, template: l }), M(null));
189
+ }).catch((m) => {
190
+ d.signal.aborted || Ue(m) || (m instanceof ce ? E(!0) : O(!0), M(null));
191
+ });
192
+ },
193
+ [z, g, C, o, H]
194
+ ), { onClose: se } = r, Ce = A(() => {
195
+ n || se();
196
+ }, [n, se]), J = (l) => {
197
+ if (!s) return;
198
+ const { draft: d, template: W } = s, m = r.getHTML(), ae = g.kind === "selection";
199
+ l === "insert" ? r.insertAtSelection(d) : l === "replace" ? ae ? r.insertAtSelection(d) : r.setContent(d) : ae ? r.insertAfterSelection(d) : r.setContent(`${m}${d}`), r.onClose();
200
+ const { setContent: Ne } = r;
201
+ u == null || u({
202
+ mode: l,
203
+ template: W,
204
+ previousHtml: m,
205
+ undo: () => Ne(m)
206
+ });
207
+ }, xe = g.words === 0 ? a("helpMeWriteTemplates.bar.sourceEmpty") : g.kind === "selection" ? a("helpMeWriteTemplates.bar.sourceSelection") : a("helpMeWriteTemplates.bar.sourceDocument");
208
+ let P;
209
+ if (V)
210
+ P = /* @__PURE__ */ e(
211
+ Ge,
212
+ {
213
+ credits: f,
214
+ onBack: () => E(!1)
215
+ }
216
+ );
217
+ else if (s) {
218
+ const l = !!s.template;
219
+ P = /* @__PURE__ */ i(R, { children: [
220
+ /* @__PURE__ */ i(
221
+ "div",
222
+ {
223
+ className: l ? "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-sm)] ds:lg:grid-cols-2" : "ds:grid ds:grid-cols-1",
224
+ children: [
225
+ l ? /* @__PURE__ */ i(
226
+ "section",
227
+ {
228
+ "aria-labelledby": `${T}-before`,
229
+ className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]",
230
+ children: [
231
+ /* @__PURE__ */ e("h2", { id: `${T}-before`, className: me, children: g.kind === "selection" ? a("helpMeWriteTemplates.bar.beforeSelection") : a("helpMeWriteTemplates.bar.beforeDocument") }),
232
+ /* @__PURE__ */ e(
233
+ "p",
234
+ {
235
+ className: `${Q} ${pe} ds:text-[color:var(--muted-foreground)]`,
236
+ tabIndex: 0,
237
+ children: g.text
238
+ }
239
+ )
240
+ ]
241
+ }
242
+ ) : null,
243
+ /* @__PURE__ */ i(
244
+ "section",
245
+ {
246
+ "aria-labelledby": `${T}-after`,
247
+ className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]",
248
+ children: [
249
+ /* @__PURE__ */ e("h2", { id: `${T}-after`, className: me, children: s.template ? `${a("helpMeWriteTemplates.bar.after")} · ${s.template.name}` : a("helpMeWriteTemplates.bar.after") }),
250
+ /* @__PURE__ */ e(
251
+ Se,
252
+ {
253
+ html: s.draft,
254
+ profile: "rich-text",
255
+ className: l ? `${Q} ${pe}` : Q,
256
+ tabIndex: 0
257
+ }
258
+ )
259
+ ]
260
+ }
261
+ )
262
+ ]
263
+ }
264
+ ),
265
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]", children: [
266
+ /* @__PURE__ */ e(h, { intent: "ghost", startIcon: /* @__PURE__ */ e(oe, {}), onClick: r.onClose, children: a("helpMeWriteTemplates.bar.discard") }),
267
+ /* @__PURE__ */ e(
268
+ h,
269
+ {
270
+ intent: "ghost",
271
+ startIcon: /* @__PURE__ */ e(Be, {}),
272
+ onClick: () => {
273
+ k(null), Z(s.template);
274
+ },
275
+ children: a("helpMeWriteTemplates.bar.retry")
276
+ }
277
+ ),
278
+ /* @__PURE__ */ e("span", { className: "ds:flex-1", "aria-hidden": "true" }),
279
+ l ? /* @__PURE__ */ i(R, { children: [
280
+ /* @__PURE__ */ e(h, { intent: "outline", onClick: () => J("below"), children: a("helpMeWriteTemplates.bar.insertBelow") }),
281
+ /* @__PURE__ */ e(h, { intent: "primary", onClick: () => J("replace"), children: a("helpMeWriteTemplates.bar.replace") })
282
+ ] }) : /* @__PURE__ */ e(h, { intent: "primary", onClick: () => J("insert"), children: a("helpMeWriteTemplates.bar.insert") })
283
+ ] })
284
+ ] });
285
+ } else {
286
+ const l = be(c), d = D ? ue(C, Te) : C, W = c.length > 0 || p;
287
+ P = /* @__PURE__ */ i(R, { children: [
288
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
289
+ /* @__PURE__ */ e(
290
+ F,
291
+ {
292
+ size: "md",
293
+ intent: "outline",
294
+ className: j,
295
+ icon: /* @__PURE__ */ e(oe, {}),
296
+ "aria-label": a("helpMeWriteTemplates.bar.close"),
297
+ onClick: r.onClose
298
+ }
299
+ ),
300
+ /* @__PURE__ */ e("div", { className: "ds:min-w-0 ds:flex-1", children: /* @__PURE__ */ e(
301
+ fe,
302
+ {
303
+ size: "md",
304
+ value: d,
305
+ onChange: (m) => x(m.target.value),
306
+ placeholder: a("helpMeWriteTemplates.bar.prompt"),
307
+ "aria-label": a("helpMeWriteTemplates.bar.prompt"),
308
+ autoResize: !0,
309
+ minRows: 1,
310
+ maxRows: 3,
311
+ readOnly: z || D,
312
+ tone: y ? "error" : "default",
313
+ "aria-describedby": y ? I : void 0
314
+ }
315
+ ) }),
316
+ L ? /* @__PURE__ */ e(
317
+ F,
318
+ {
319
+ size: "md",
320
+ intent: "outline",
321
+ className: D ? `${j} ${qe}` : j,
322
+ icon: D ? /* @__PURE__ */ e(Oe, { className: "ds:fill-current" }) : /* @__PURE__ */ e(Le, {}),
323
+ "aria-pressed": D,
324
+ "aria-label": a(D ? "helpMeWriteTemplates.bar.dictateStop" : "helpMeWriteTemplates.bar.dictateStart"),
325
+ disabled: z,
326
+ onClick: We
327
+ }
328
+ ) : null,
329
+ W ? /* @__PURE__ */ i(S.Root, { children: [
330
+ /* @__PURE__ */ e(S.Trigger, { asChild: !0, children: /* @__PURE__ */ e(
331
+ h,
332
+ {
333
+ intent: "outline",
334
+ size: "md",
335
+ className: Pe,
336
+ startIcon: w ? /* @__PURE__ */ e(ie, { size: "sm", variant: "pulse" }) : /* @__PURE__ */ e(de, { "aria-hidden": "true" }),
337
+ endIcon: /* @__PURE__ */ e(Fe, { "aria-hidden": "true" }),
338
+ "aria-haspopup": "menu",
339
+ "aria-busy": w ? !0 : void 0,
340
+ disabled: z,
341
+ "aria-describedby": T,
342
+ children: a("helpMeWriteTemplates.bar.templatesMenu")
343
+ }
344
+ ) }),
345
+ /* @__PURE__ */ i(S.Content, { side: "top", align: "end", sideOffset: 8, children: [
346
+ /* @__PURE__ */ e(S.Label, { children: a("helpMeWriteTemplates.bar.templatesGroup") }),
347
+ l.map((m) => /* @__PURE__ */ e(
348
+ S.Item,
349
+ {
350
+ startIcon: /* @__PURE__ */ e(de, {}),
351
+ description: m.description || void 0,
352
+ disabled: z || g.words === 0,
353
+ onSelect: () => Z(m),
354
+ children: /* @__PURE__ */ i("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
355
+ m.name,
356
+ m.isDefault ? /* @__PURE__ */ e(he, { variant: "brand", size: "sm", children: a("helpMeWriteTemplates.bar.defaultBadge") }) : null
357
+ ] })
358
+ },
359
+ m.id
360
+ )),
361
+ p && c.length === 0 ? /* @__PURE__ */ e(
362
+ S.Item,
363
+ {
364
+ startIcon: /* @__PURE__ */ e(ge, {}),
365
+ onSelect: () => p("create"),
366
+ children: a("helpMeWriteTemplates.bar.createFirst")
367
+ }
368
+ ) : null,
369
+ p && c.length > 0 ? /* @__PURE__ */ i(R, { children: [
370
+ /* @__PURE__ */ e(S.Separator, {}),
371
+ /* @__PURE__ */ e(
372
+ S.Item,
373
+ {
374
+ startIcon: /* @__PURE__ */ e(_e, {}),
375
+ onSelect: () => p("list"),
376
+ children: a("helpMeWriteTemplates.bar.manage")
377
+ }
378
+ )
379
+ ] }) : null
380
+ ] })
381
+ ] }) : null,
382
+ /* @__PURE__ */ e(
383
+ F,
384
+ {
385
+ size: "md",
386
+ intent: "primary",
387
+ className: je,
388
+ icon: w === void 0 ? /* @__PURE__ */ e(ie, { size: "sm", variant: "pulse" }) : /* @__PURE__ */ e(He, {}),
389
+ disabled: z || !C.trim(),
390
+ "aria-busy": w === void 0 || void 0,
391
+ "aria-label": a("helpMeWriteTemplates.bar.write"),
392
+ onClick: () => Z(void 0)
393
+ }
394
+ )
395
+ ] }),
396
+ L ? /* @__PURE__ */ e("p", { className: "ds:sr-only", role: "status", "aria-live": "polite", children: Me }) : null,
397
+ y ? /* @__PURE__ */ e("p", { id: I, role: "alert", className: U, children: a("helpMeWriteTemplates.bar.error") }) : null,
398
+ /* @__PURE__ */ i("p", { id: T, className: U, children: [
399
+ xe,
400
+ " ",
401
+ r.privacyNotice
402
+ ] })
403
+ ] });
404
+ }
405
+ return /* @__PURE__ */ e(
406
+ we,
407
+ {
408
+ open: N,
409
+ onClose: Ce,
410
+ ariaLabel: a("editor.ai.helpMeWrite"),
411
+ children: /* @__PURE__ */ e("div", { className: "ds:contents", "data-component": "help-me-write-templates-bar", children: P })
412
+ }
413
+ );
414
+ }
415
+ const ee = {
416
+ name: "",
417
+ description: "",
418
+ prompt: "",
419
+ isDefault: !1,
420
+ submitted: !1
421
+ };
422
+ function Xe({
423
+ open: r,
424
+ onOpenChange: c,
425
+ initialMode: o = "list",
426
+ templates: p,
427
+ onSaveTemplate: u,
428
+ onDeleteTemplate: f
429
+ }) {
430
+ const { t } = G(), [n, a] = v(null), [N, T] = v(!1), [I, C] = v(!1), [x, w] = v(null);
431
+ q(() => {
432
+ r && (C(!1), a(
433
+ o === "create" ? { ...ee, isDefault: p.length === 0 } : null
434
+ ));
435
+ }, [r]);
436
+ const M = (s, k) => p.some(
437
+ (g) => g.id !== k && g.name.toLowerCase() === s.toLowerCase()
438
+ ), y = (() => {
439
+ if (!(n != null && n.submitted)) return;
440
+ const s = n.name.trim();
441
+ return s ? M(s, n.id) ? t("helpMeWriteTemplates.manager.nameTaken") : void 0 : t("helpMeWriteTemplates.manager.nameRequired");
442
+ })(), O = n != null && n.submitted && !n.prompt.trim() ? t("helpMeWriteTemplates.manager.promptRequired") : void 0, V = async () => {
443
+ if (!n || N) return;
444
+ const s = { ...n, submitted: !0 };
445
+ a(s);
446
+ const k = s.name.trim(), g = s.prompt.trim();
447
+ if (!(!k || !g || M(k, s.id))) {
448
+ T(!0), C(!1);
449
+ try {
450
+ await u({
451
+ id: s.id,
452
+ name: k,
453
+ description: s.description.trim() || void 0,
454
+ prompt: g,
455
+ isDefault: s.isDefault
456
+ }), a(null);
457
+ } catch {
458
+ C(!0);
459
+ } finally {
460
+ T(!1);
461
+ }
462
+ }
463
+ }, E = n ? n.id ? t("helpMeWriteTemplates.manager.formEdit") : t("helpMeWriteTemplates.manager.formNew") : t("helpMeWriteTemplates.manager.title");
464
+ return /* @__PURE__ */ i(R, { children: [
465
+ /* @__PURE__ */ e(b, { open: r, onOpenChange: c, children: /* @__PURE__ */ e(b.Content, { size: "lg", children: /* @__PURE__ */ i("div", { className: "ds:contents", "data-component": "ai-template-manager", children: [
466
+ /* @__PURE__ */ i(b.Header, { children: [
467
+ /* @__PURE__ */ e(b.Title, { children: E }),
468
+ /* @__PURE__ */ e(b.Description, { children: t("helpMeWriteTemplates.manager.description") })
469
+ ] }),
470
+ /* @__PURE__ */ e(b.Body, { children: n ? /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
471
+ I ? /* @__PURE__ */ e(B, { variant: "error", children: t("helpMeWriteTemplates.manager.saveError") }) : null,
472
+ /* @__PURE__ */ e(
473
+ K,
474
+ {
475
+ label: t("helpMeWriteTemplates.manager.name"),
476
+ error: y,
477
+ required: !0,
478
+ children: /* @__PURE__ */ e(
479
+ le,
480
+ {
481
+ value: n.name,
482
+ maxLength: 100,
483
+ placeholder: t(
484
+ "helpMeWriteTemplates.manager.namePlaceholder"
485
+ ),
486
+ onChange: (s) => a({ ...n, name: s.target.value })
487
+ }
488
+ )
489
+ }
490
+ ),
491
+ /* @__PURE__ */ e(
492
+ K,
493
+ {
494
+ label: t("helpMeWriteTemplates.manager.descLabel"),
495
+ description: t("helpMeWriteTemplates.manager.descHint"),
496
+ optional: !0,
497
+ children: /* @__PURE__ */ e(
498
+ le,
499
+ {
500
+ value: n.description,
501
+ maxLength: 120,
502
+ onChange: (s) => a({ ...n, description: s.target.value })
503
+ }
504
+ )
505
+ }
506
+ ),
507
+ /* @__PURE__ */ e(
508
+ K,
509
+ {
510
+ label: t("helpMeWriteTemplates.manager.prompt"),
511
+ description: t(
512
+ "helpMeWriteTemplates.manager.promptDescription"
513
+ ),
514
+ error: O,
515
+ required: !0,
516
+ children: /* @__PURE__ */ e(
517
+ fe,
518
+ {
519
+ value: n.prompt,
520
+ maxLength: 4e3,
521
+ autoResize: !0,
522
+ minRows: 4,
523
+ maxRows: 10,
524
+ onChange: (s) => a({ ...n, prompt: s.target.value })
525
+ }
526
+ )
527
+ }
528
+ ),
529
+ /* @__PURE__ */ e(
530
+ De,
531
+ {
532
+ label: t("helpMeWriteTemplates.manager.isDefault"),
533
+ checked: n.isDefault,
534
+ onCheckedChange: (s) => a({ ...n, isDefault: s })
535
+ }
536
+ )
537
+ ] }) : p.length === 0 ? /* @__PURE__ */ e(
538
+ ke,
539
+ {
540
+ variant: "first-use",
541
+ size: "sm",
542
+ title: t("helpMeWriteTemplates.manager.emptyTitle"),
543
+ description: t(
544
+ "helpMeWriteTemplates.manager.emptyDescription"
545
+ ),
546
+ primaryAction: {
547
+ label: t("helpMeWriteTemplates.manager.new"),
548
+ onClick: () => a({ ...ee, isDefault: !0 })
549
+ }
550
+ }
551
+ ) : /* @__PURE__ */ e(
552
+ "ul",
553
+ {
554
+ "aria-label": t("helpMeWriteTemplates.manager.listLabel"),
555
+ className: "ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-0",
556
+ children: be(p).map((s) => /* @__PURE__ */ i(
557
+ "li",
558
+ {
559
+ className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)] ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--border)] ds:p-[var(--spacing-sm)]",
560
+ children: [
561
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
562
+ /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
563
+ /* @__PURE__ */ e("span", { className: "type-title-item ds:text-[color:var(--foreground)]", children: s.name }),
564
+ s.isDefault ? /* @__PURE__ */ e(he, { variant: "brand", size: "sm", children: t("helpMeWriteTemplates.bar.defaultBadge") }) : null
565
+ ] }),
566
+ /* @__PURE__ */ e("p", { className: `${U} ds:line-clamp-2`, children: s.description || s.prompt })
567
+ ] }),
568
+ /* @__PURE__ */ e(
569
+ F,
570
+ {
571
+ size: "sm",
572
+ intent: "ghost",
573
+ icon: /* @__PURE__ */ e($e, {}),
574
+ "aria-label": t("helpMeWriteTemplates.manager.edit", {
575
+ name: s.name
576
+ }),
577
+ onClick: () => a({
578
+ id: s.id,
579
+ name: s.name,
580
+ description: s.description ?? "",
581
+ prompt: s.prompt,
582
+ isDefault: s.isDefault,
583
+ submitted: !1
584
+ })
585
+ }
586
+ ),
587
+ f ? /* @__PURE__ */ e(
588
+ F,
589
+ {
590
+ size: "sm",
591
+ intent: "ghost",
592
+ icon: /* @__PURE__ */ e(Ae, {}),
593
+ "aria-label": t("helpMeWriteTemplates.manager.delete", {
594
+ name: s.name
595
+ }),
596
+ onClick: () => w(s)
597
+ }
598
+ ) : null
599
+ ]
600
+ },
601
+ s.id
602
+ ))
603
+ }
604
+ ) }),
605
+ /* @__PURE__ */ e(b.Footer, { children: n ? /* @__PURE__ */ i(R, { children: [
606
+ /* @__PURE__ */ e(h, { intent: "secondary", onClick: () => a(null), children: t("helpMeWriteTemplates.manager.cancel") }),
607
+ /* @__PURE__ */ e(
608
+ h,
609
+ {
610
+ intent: "primary",
611
+ loading: N,
612
+ onClick: () => void V(),
613
+ children: t("helpMeWriteTemplates.manager.save")
614
+ }
615
+ )
616
+ ] }) : /* @__PURE__ */ i(R, { children: [
617
+ p.length > 0 ? /* @__PURE__ */ e(
618
+ h,
619
+ {
620
+ intent: "outline",
621
+ startIcon: /* @__PURE__ */ e(ge, {}),
622
+ onClick: () => a({ ...ee }),
623
+ children: t("helpMeWriteTemplates.manager.new")
624
+ }
625
+ ) : null,
626
+ /* @__PURE__ */ e(b.Close, { asChild: !0, children: /* @__PURE__ */ e(h, { intent: "primary", children: t("helpMeWriteTemplates.manager.done") }) })
627
+ ] }) })
628
+ ] }) }) }),
629
+ /* @__PURE__ */ e(
630
+ b,
631
+ {
632
+ open: x != null,
633
+ onOpenChange: (s) => {
634
+ s || w(null);
635
+ },
636
+ children: /* @__PURE__ */ i(b.Content, { size: "sm", variant: "alert", children: [
637
+ /* @__PURE__ */ i(b.Header, { children: [
638
+ /* @__PURE__ */ e(b.Title, { children: t("helpMeWriteTemplates.manager.deleteTitle", {
639
+ name: (x == null ? void 0 : x.name) ?? ""
640
+ }) }),
641
+ /* @__PURE__ */ e(b.Description, { children: t("helpMeWriteTemplates.manager.deleteDescription") })
642
+ ] }),
643
+ /* @__PURE__ */ i(b.Footer, { children: [
644
+ /* @__PURE__ */ e(b.Close, { asChild: !0, children: /* @__PURE__ */ e(h, { intent: "secondary", children: t("helpMeWriteTemplates.manager.cancel") }) }),
645
+ /* @__PURE__ */ e(
646
+ h,
647
+ {
648
+ intent: "destructive",
649
+ onClick: () => {
650
+ x && (f == null || f(x.id)), w(null);
651
+ },
652
+ children: t("helpMeWriteTemplates.manager.deleteConfirm")
653
+ }
654
+ )
655
+ ] })
656
+ ] })
657
+ }
658
+ )
659
+ ] });
660
+ }
661
+ function Ye({
662
+ applied: r,
663
+ onUndo: c,
664
+ onDismiss: o
665
+ }) {
666
+ const { t: p } = G(), u = re(null);
667
+ if (q(() => {
668
+ var t;
669
+ r && ((t = u.current) == null || t.focus());
670
+ }, [r]), !(r != null && r.template)) return null;
671
+ const f = r.template.name;
672
+ return /* @__PURE__ */ e(
673
+ B,
674
+ {
675
+ variant: "success",
676
+ dismissible: !0,
677
+ onOpenChange: (t) => {
678
+ t || o();
679
+ },
680
+ "data-component": "help-me-write-undo-notice",
681
+ children: /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]", children: [
682
+ /* @__PURE__ */ e("span", { children: r.mode === "below" ? p("helpMeWriteTemplates.undo.addedBelow", { name: f }) : p("helpMeWriteTemplates.undo.replaced", { name: f }) }),
683
+ /* @__PURE__ */ e(h, { ref: u, intent: "outline", size: "sm", onClick: c, children: p("helpMeWriteTemplates.undo.undo") })
684
+ ] })
685
+ }
686
+ );
687
+ }
688
+ function Ir({
689
+ templates: r,
690
+ onGenerate: c,
691
+ onSaveTemplate: o,
692
+ onDeleteTemplate: p,
693
+ credits: u,
694
+ enableDictation: f,
695
+ onApplied: t
696
+ }) {
697
+ const [n, a] = v({ open: !1, mode: "list" }), [N, T] = v(null), I = A(
698
+ (M = "list") => a({ open: !0, mode: M }),
699
+ []
700
+ ), C = A(
701
+ (M) => /* @__PURE__ */ e(
702
+ Ve,
703
+ {
704
+ context: M,
705
+ templates: r,
706
+ onGenerate: c,
707
+ onManageTemplates: o ? I : void 0,
708
+ credits: u,
709
+ enableDictation: f,
710
+ suspendClose: n.open,
711
+ onApplied: (y) => {
712
+ T(y.template ? y : null), t == null || t(y);
713
+ }
714
+ }
715
+ ),
716
+ [
717
+ r,
718
+ c,
719
+ o,
720
+ I,
721
+ u,
722
+ f,
723
+ n.open,
724
+ t
725
+ ]
726
+ ), x = ye(
727
+ () => o ? /* @__PURE__ */ e(
728
+ Xe,
729
+ {
730
+ open: n.open,
731
+ initialMode: n.mode,
732
+ onOpenChange: (M) => a((y) => ({ ...y, open: M })),
733
+ templates: r,
734
+ onSaveTemplate: o,
735
+ onDeleteTemplate: p
736
+ }
737
+ ) : null,
738
+ [n, r, o, p]
739
+ );
740
+ return {
741
+ renderHelpMeWrite: C,
742
+ manager: x,
743
+ undoNotice: /* @__PURE__ */ e(
744
+ Ye,
745
+ {
746
+ applied: N,
747
+ onUndo: () => {
748
+ N == null || N.undo(), T(null);
749
+ },
750
+ onDismiss: () => T(null)
751
+ }
752
+ ),
753
+ openManager: I
754
+ };
755
+ }
756
+ export {
757
+ ce as A,
758
+ Ve as H,
759
+ Ge as a,
760
+ Xe as b,
761
+ Ye as c,
762
+ Ir as u
763
+ };
764
+ //# sourceMappingURL=help-me-write-templates-GB70jnV9.js.map