@onereach/idw-ui-components 0.1.2-beta.7.0 → 0.2.0-beta.28.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 (143) hide show
  1. package/README.md +360 -1
  2. package/dist/cjs/index.js +2 -18
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/esm/index.js +1499 -2
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/idw-ui-components.css +1 -0
  7. package/dist/types/components/Feeds/FeedEmbed/FeedEmbed.vue.d.ts +16 -0
  8. package/dist/types/components/Feeds/FeedEmbed/FeedEmbed.vue.d.ts.map +1 -0
  9. package/dist/types/components/Feeds/FeedFileContent/FeedFileContent.vue.d.ts +6 -0
  10. package/dist/types/components/Feeds/FeedFileContent/FeedFileContent.vue.d.ts.map +1 -0
  11. package/dist/types/components/Feeds/FeedFileContent/index.d.ts +3 -0
  12. package/dist/types/components/Feeds/FeedFileContent/index.d.ts.map +1 -0
  13. package/dist/types/components/Feeds/FeedFileContent/types.d.ts +13 -0
  14. package/dist/types/components/Feeds/FeedFileContent/types.d.ts.map +1 -0
  15. package/dist/types/components/Feeds/FeedHtmlContent/FeedHtmlContent.vue.d.ts +6 -0
  16. package/dist/types/components/Feeds/FeedHtmlContent/FeedHtmlContent.vue.d.ts.map +1 -0
  17. package/dist/types/components/Feeds/FeedHtmlContent/index.d.ts +3 -0
  18. package/dist/types/components/Feeds/FeedHtmlContent/index.d.ts.map +1 -0
  19. package/dist/types/components/Feeds/FeedHtmlContent/types.d.ts +13 -0
  20. package/dist/types/components/Feeds/FeedHtmlContent/types.d.ts.map +1 -0
  21. package/dist/types/components/Feeds/FeedItemBase/FeedItemBase.vue.d.ts +42 -0
  22. package/dist/types/components/Feeds/FeedItemBase/FeedItemBase.vue.d.ts.map +1 -0
  23. package/dist/types/components/Feeds/FeedItemBase/index.d.ts +3 -0
  24. package/dist/types/components/Feeds/FeedItemBase/index.d.ts.map +1 -0
  25. package/dist/types/components/Feeds/FeedItemBase/types.d.ts +35 -0
  26. package/dist/types/components/Feeds/FeedItemBase/types.d.ts.map +1 -0
  27. package/dist/types/components/Feeds/FeedItemMetaFooter/FeedItemMetaFooter.vue.d.ts +12 -0
  28. package/dist/types/components/Feeds/FeedItemMetaFooter/FeedItemMetaFooter.vue.d.ts.map +1 -0
  29. package/dist/types/components/Feeds/FeedItemMetaFooter/index.d.ts +3 -0
  30. package/dist/types/components/Feeds/FeedItemMetaFooter/index.d.ts.map +1 -0
  31. package/dist/types/components/Feeds/FeedItemMetaFooter/types.d.ts +27 -0
  32. package/dist/types/components/Feeds/FeedItemMetaFooter/types.d.ts.map +1 -0
  33. package/dist/types/components/Feeds/FeedList/FeedList.vue.d.ts +60 -0
  34. package/dist/types/components/Feeds/FeedList/FeedList.vue.d.ts.map +1 -0
  35. package/dist/types/components/Feeds/FeedList/FeedListItemBody.vue.d.ts +17 -0
  36. package/dist/types/components/Feeds/FeedList/FeedListItemBody.vue.d.ts.map +1 -0
  37. package/dist/types/components/Feeds/FeedList/index.d.ts +3 -0
  38. package/dist/types/components/Feeds/FeedList/index.d.ts.map +1 -0
  39. package/dist/types/components/Feeds/FeedList/types.d.ts +69 -0
  40. package/dist/types/components/Feeds/FeedList/types.d.ts.map +1 -0
  41. package/dist/types/components/Feeds/FeedMarkdownContent/FeedMarkdownContent.vue.d.ts +7 -0
  42. package/dist/types/components/Feeds/FeedMarkdownContent/FeedMarkdownContent.vue.d.ts.map +1 -0
  43. package/dist/types/components/Feeds/FeedMarkdownContent/index.d.ts +3 -0
  44. package/dist/types/components/Feeds/FeedMarkdownContent/index.d.ts.map +1 -0
  45. package/dist/types/components/Feeds/FeedMarkdownContent/types.d.ts +12 -0
  46. package/dist/types/components/Feeds/FeedMarkdownContent/types.d.ts.map +1 -0
  47. package/dist/types/components/Feeds/FeedSkillContent/FeedSkillContent.vue.d.ts +29 -0
  48. package/dist/types/components/Feeds/FeedSkillContent/FeedSkillContent.vue.d.ts.map +1 -0
  49. package/dist/types/components/Feeds/FeedSkillContent/index.d.ts +3 -0
  50. package/dist/types/components/Feeds/FeedSkillContent/index.d.ts.map +1 -0
  51. package/dist/types/components/Feeds/FeedSkillContent/types.d.ts +29 -0
  52. package/dist/types/components/Feeds/FeedSkillContent/types.d.ts.map +1 -0
  53. package/dist/types/components/Feeds/feedEmbed.d.ts +10 -0
  54. package/dist/types/components/Feeds/feedEmbed.d.ts.map +1 -0
  55. package/dist/types/components/Feeds/formatFeedReadingTime.d.ts +3 -0
  56. package/dist/types/components/Feeds/formatFeedReadingTime.d.ts.map +1 -0
  57. package/dist/types/components/Feeds/index.d.ts +10 -0
  58. package/dist/types/components/Feeds/index.d.ts.map +1 -0
  59. package/dist/types/components/SkillCard/SkillCard.vue.d.ts +20 -0
  60. package/dist/types/components/SkillCard/SkillCard.vue.d.ts.map +1 -0
  61. package/dist/types/components/SkillCard/index.d.ts +4 -0
  62. package/dist/types/components/SkillCard/index.d.ts.map +1 -0
  63. package/dist/types/components/SkillCard/types.d.ts +17 -0
  64. package/dist/types/components/SkillCard/types.d.ts.map +1 -0
  65. package/dist/types/idw-card/bind/bindIdwCard.d.ts +2 -0
  66. package/dist/types/idw-card/bind/bindIdwCard.d.ts.map +1 -0
  67. package/dist/types/idw-card/bind/index.d.ts +2 -0
  68. package/dist/types/idw-card/bind/index.d.ts.map +1 -0
  69. package/dist/types/idw-card/form/dates.d.ts +5 -0
  70. package/dist/types/idw-card/form/dates.d.ts.map +1 -0
  71. package/dist/types/idw-card/form/formContext.d.ts +10 -0
  72. package/dist/types/idw-card/form/formContext.d.ts.map +1 -0
  73. package/dist/types/idw-card/form/index.d.ts +3 -0
  74. package/dist/types/idw-card/form/index.d.ts.map +1 -0
  75. package/dist/types/idw-card/host/hostConfig.d.ts +13 -0
  76. package/dist/types/idw-card/host/hostConfig.d.ts.map +1 -0
  77. package/dist/types/idw-card/host/index.d.ts +3 -0
  78. package/dist/types/idw-card/host/index.d.ts.map +1 -0
  79. package/dist/types/idw-card/index.d.ts +10 -0
  80. package/dist/types/idw-card/index.d.ts.map +1 -0
  81. package/dist/types/idw-card/renderer/CardRenderer.vue.d.ts +18 -0
  82. package/dist/types/idw-card/renderer/CardRenderer.vue.d.ts.map +1 -0
  83. package/dist/types/idw-card/renderer/IdwCardActionBar.vue.d.ts +12 -0
  84. package/dist/types/idw-card/renderer/IdwCardActionBar.vue.d.ts.map +1 -0
  85. package/dist/types/idw-card/renderer/IdwCardElementView.vue.d.ts +16 -0
  86. package/dist/types/idw-card/renderer/IdwCardElementView.vue.d.ts.map +1 -0
  87. package/dist/types/idw-card/renderer/actionStyle.d.ts +12 -0
  88. package/dist/types/idw-card/renderer/actionStyle.d.ts.map +1 -0
  89. package/dist/types/idw-card/renderer/elements/ActionSetElement.vue.d.ts +12 -0
  90. package/dist/types/idw-card/renderer/elements/ActionSetElement.vue.d.ts.map +1 -0
  91. package/dist/types/idw-card/renderer/elements/BadgeElement.vue.d.ts +7 -0
  92. package/dist/types/idw-card/renderer/elements/BadgeElement.vue.d.ts.map +1 -0
  93. package/dist/types/idw-card/renderer/elements/ColumnSetElement.vue.d.ts +16 -0
  94. package/dist/types/idw-card/renderer/elements/ColumnSetElement.vue.d.ts.map +1 -0
  95. package/dist/types/idw-card/renderer/elements/ContainerElement.vue.d.ts +16 -0
  96. package/dist/types/idw-card/renderer/elements/ContainerElement.vue.d.ts.map +1 -0
  97. package/dist/types/idw-card/renderer/elements/FactSetElement.vue.d.ts +7 -0
  98. package/dist/types/idw-card/renderer/elements/FactSetElement.vue.d.ts.map +1 -0
  99. package/dist/types/idw-card/renderer/elements/FileElement.vue.d.ts +9 -0
  100. package/dist/types/idw-card/renderer/elements/FileElement.vue.d.ts.map +1 -0
  101. package/dist/types/idw-card/renderer/elements/HtmlElement.vue.d.ts +9 -0
  102. package/dist/types/idw-card/renderer/elements/HtmlElement.vue.d.ts.map +1 -0
  103. package/dist/types/idw-card/renderer/elements/IconElement.vue.d.ts +7 -0
  104. package/dist/types/idw-card/renderer/elements/IconElement.vue.d.ts.map +1 -0
  105. package/dist/types/idw-card/renderer/elements/ImageElement.vue.d.ts +7 -0
  106. package/dist/types/idw-card/renderer/elements/ImageElement.vue.d.ts.map +1 -0
  107. package/dist/types/idw-card/renderer/elements/ImageSetElement.vue.d.ts +7 -0
  108. package/dist/types/idw-card/renderer/elements/ImageSetElement.vue.d.ts.map +1 -0
  109. package/dist/types/idw-card/renderer/elements/InputElement.vue.d.ts +7 -0
  110. package/dist/types/idw-card/renderer/elements/InputElement.vue.d.ts.map +1 -0
  111. package/dist/types/idw-card/renderer/elements/MediaElement.vue.d.ts +7 -0
  112. package/dist/types/idw-card/renderer/elements/MediaElement.vue.d.ts.map +1 -0
  113. package/dist/types/idw-card/renderer/elements/ProgressElement.vue.d.ts +7 -0
  114. package/dist/types/idw-card/renderer/elements/ProgressElement.vue.d.ts.map +1 -0
  115. package/dist/types/idw-card/renderer/elements/SkillElement.vue.d.ts +14 -0
  116. package/dist/types/idw-card/renderer/elements/SkillElement.vue.d.ts.map +1 -0
  117. package/dist/types/idw-card/renderer/elements/TableElement.vue.d.ts +7 -0
  118. package/dist/types/idw-card/renderer/elements/TableElement.vue.d.ts.map +1 -0
  119. package/dist/types/idw-card/renderer/elements/TextElement.vue.d.ts +7 -0
  120. package/dist/types/idw-card/renderer/elements/TextElement.vue.d.ts.map +1 -0
  121. package/dist/types/idw-card/renderer/index.d.ts +3 -0
  122. package/dist/types/idw-card/renderer/index.d.ts.map +1 -0
  123. package/dist/types/idw-card/renderer/types.d.ts +12 -0
  124. package/dist/types/idw-card/renderer/types.d.ts.map +1 -0
  125. package/dist/types/idw-card/schema/index.d.ts +3 -0
  126. package/dist/types/idw-card/schema/index.d.ts.map +1 -0
  127. package/dist/types/idw-card/templates/approval.d.ts +3 -0
  128. package/dist/types/idw-card/templates/approval.d.ts.map +1 -0
  129. package/dist/types/idw-card/templates/compile.d.ts +7 -0
  130. package/dist/types/idw-card/templates/compile.d.ts.map +1 -0
  131. package/dist/types/idw-card/templates/index.d.ts +9 -0
  132. package/dist/types/idw-card/templates/index.d.ts.map +1 -0
  133. package/dist/types/idw-card/templates/registry.d.ts +3 -0
  134. package/dist/types/idw-card/templates/registry.d.ts.map +1 -0
  135. package/dist/types/idw-card/templates/types.d.ts +9 -0
  136. package/dist/types/idw-card/templates/types.d.ts.map +1 -0
  137. package/dist/types/index.d.ts +3 -0
  138. package/dist/types/index.d.ts.map +1 -1
  139. package/package.json +33 -14
  140. package/dist/cjs/format-idw-summary.js +0 -11
  141. package/dist/cjs/format-idw-summary.js.map +0 -1
  142. package/dist/esm/format-idw-summary.js +0 -8
  143. package/dist/esm/format-idw-summary.js.map +0 -1
package/dist/esm/index.js CHANGED
@@ -1,2 +1,1499 @@
1
- export * from './format-idw-summary';
2
- //# sourceMappingURL=index.js.map
1
+ import { defineComponent as p, computed as c, openBlock as t, createElementBlock as r, normalizeStyle as le, normalizeClass as E, createVNode as V, unref as f, createCommentVNode as y, createElementVNode as B, toDisplayString as C, renderSlot as P, useSlots as Z, ref as A, watch as ne, createBlock as d, withDirectives as ve, vShow as be, withCtx as R, createTextVNode as W, Fragment as z, renderList as L, inject as ge, mergeProps as xe, reactive as $, provide as he, resolveComponent as pe, createSlots as we } from "vue";
2
+ import { OrLoaderV3 as X, OrIconButtonV3 as _, OrButtonV3 as Y, OrIconV3 as Ce, OrTextareaV3 as Se, OrInputV3 as D, OrSwitchV3 as Be, OrCheckboxV3 as ee, OrSelectV3 as ze, OrRadioV3 as Ie, OrDatePickerV3 as Le, OrTimePickerV3 as Te, OrDateTimePickerV3 as Pe, OrSliderV3 as Ee, OrRangeSliderV3 as Oe, OrRatingV3 as Ve, ProgressColor as U, ProgressType as te, OrProgressV3 as je } from "@onereach/ui-components";
3
+ import Me from "@onereach/idw-markdown-renderer";
4
+ import { SKILL_TEMPLATE_ID as Re, resolveIdwCardSource as ae, MARKDOWN_TEMPLATE_ID as Ne, HTML_TEMPLATE_ID as Fe, FILE_TEMPLATE_ID as De, isIdwCardInputElement as Ue, isElementVisible as Ae, collectInitialInputValues as We, listIdwCardInputs as qe, isInputEmpty as He } from "@onereach/idw-contracts";
5
+ import { APPROVAL_TEMPLATE_ID as Xl, FILE_TEMPLATE_ID as Zl, HTML_TEMPLATE_ID as Yl, IDW_CARD_MAX_ACTIONS as Gl, IDW_CARD_MAX_BODY_ELEMENTS as Jl, IDW_CARD_MAX_COLUMNS as Kl, IDW_CARD_MAX_NESTING as $l, IDW_CARD_MIN_COLUMNS as _l, IDW_CARD_SCHEMA as en, IDW_CARD_TEMPLATES as tn, IDW_CARD_VERSION as ln, MARKDOWN_TEMPLATE_ID as nn, SKILL_TEMPLATE_ID as an, approvalDataSchema as rn, approvalTemplate as on, approvalTemplateCard as sn, bindIdwCard as dn, collectInitialInputValues as cn, getIdwCardFallbackText as un, getIdwCardJsonSchema as mn, getIdwCardTemplate as kn, getIdwCardTemplateDocument as fn, idwCardActionSchema as yn, idwCardElementSchema as vn, idwCardSchema as bn, idwCardVerbSchema as gn, isAllowedResourceUrl as xn, isIdwCardInputElement as hn, isInputEmpty as pn, listIdwCardInputs as wn, listIdwCardTemplates as Cn, listIdwSchemaCatalog as Sn, parseIdwCard as Bn, resolveIdwCardSource as zn, validateIdwCard as In } from "@onereach/idw-contracts";
6
+ function Nl(e) {
7
+ return `${e.name} (${e.id})`;
8
+ }
9
+ var M = /* @__PURE__ */ ((e) => (e.XS = "xs", e.S = "s", e.L = "l", e))(M || {});
10
+ const Qe = ["data-interactive", "data-disabled", "data-selected"], Xe = {
11
+ key: 0,
12
+ class: "absolute left-0 top-0 w-full h-full z-10 flex items-center justify-center bg-on-disabled-dark"
13
+ }, Ze = { class: "layout-column justify-between h-full w-full relative z-[2]" }, Ye = { class: "grid grid-cols-[1fr_auto] items-start gap-xs" }, Ge = { class: "idw-skill-card__actions" }, Je = /* @__PURE__ */ p({
14
+ name: "SkillCard",
15
+ __name: "SkillCard",
16
+ props: {
17
+ skill: {},
18
+ selected: { type: Boolean, default: !1 },
19
+ disabled: { type: Boolean, default: !1 },
20
+ loading: { type: Boolean, default: !1 },
21
+ size: { default: M.L },
22
+ interactive: { type: Boolean, default: !0 }
23
+ },
24
+ setup(e) {
25
+ const o = {
26
+ [M.XS]: {
27
+ container: ["w-[128px]", "h-[128px]", "p-md+", "gap-[17px]"],
28
+ domain: ["text-[12px] leading-[16px]"],
29
+ title: ["text-[16px] leading-[20px] line-clamp-3"]
30
+ },
31
+ [M.S]: {
32
+ container: ["w-[163px]", "h-[163px]", "p-md+", "gap-[17px]"],
33
+ domain: ["typography-caption-regular"],
34
+ title: ["text-[20px] leading-[24px] line-clamp-4"]
35
+ },
36
+ [M.L]: {
37
+ container: ["w-[240px]", "h-[240px]", "p-lg", "gap-md+"],
38
+ domain: ["typography-body-2-regular"],
39
+ title: ["text-[30px] leading-[36px] line-clamp-5"]
40
+ }
41
+ }, l = e, n = c(() => o[l.size] || o[M.L]), a = c(() => ({
42
+ backgroundImage: l.disabled ? void 0 : `url(${l.skill.image})`,
43
+ backgroundPosition: "15px 15px",
44
+ backgroundSize: "200%"
45
+ })), u = c(() => {
46
+ const m = [
47
+ "idw-skill-card overflow-hidden",
48
+ "bg-surface-1 dark:bg-surface-1-dark",
49
+ "shadow-card dark:shadow-card-dark",
50
+ "rounded-[24px]",
51
+ ...n.value.container
52
+ ];
53
+ return l.disabled ? m.push(
54
+ "text-outline dark:text-outline-dark",
55
+ "select-none"
56
+ ) : (m.push(
57
+ "text-black dark:text-white"
58
+ ), l.interactive && m.push("cursor-pointer")), m;
59
+ });
60
+ return (m, v) => (t(), r("div", {
61
+ class: E(u.value),
62
+ "data-interactive": l.interactive,
63
+ "data-disabled": l.disabled,
64
+ "data-selected": l.selected,
65
+ style: le(a.value)
66
+ }, [
67
+ l.loading ? (t(), r("div", Xe, [
68
+ V(f(X), { type: "circle" })
69
+ ])) : y("", !0),
70
+ B("div", Ze, [
71
+ B("div", Ye, [
72
+ B("span", {
73
+ class: E(["truncate idw-skill-card__domain", n.value.domain])
74
+ }, C(e.skill.domain), 3),
75
+ B("div", Ge, [
76
+ P(m.$slots, "actions", {}, void 0, !0)
77
+ ])
78
+ ]),
79
+ B("span", {
80
+ class: E(["idw-skill-card__title", n.value.title])
81
+ }, C(e.skill.name), 3)
82
+ ])
83
+ ], 14, Qe));
84
+ }
85
+ }), re = (e, o) => {
86
+ const l = e.__vccOpts || e;
87
+ for (const [n, a] of o)
88
+ l[n] = a;
89
+ return l;
90
+ }, Ke = /* @__PURE__ */ re(Je, [["__scopeId", "data-v-68117d86"]]), $e = "allow-scripts allow-same-origin", _e = {
91
+ /** Matches prior feed html/file iframe height in idw-ui (`h-[720px]`). */
92
+ list: "block w-full h-[720px] max-h-[720px] border-none",
93
+ fill: "block w-full h-full min-h-0 flex-1 border-none"
94
+ };
95
+ function et(e = "") {
96
+ const l = e.trim() ? e.trim().split(/\s+/).length : 0, n = Math.max(Math.round(l / 200), l > 0 ? 1 : 0);
97
+ if (n <= 0)
98
+ return "";
99
+ if (n >= 60) {
100
+ const a = Math.floor(n / 60), u = n % 60;
101
+ return u > 0 ? `~${a}h ${u} min` : `~${a}h`;
102
+ }
103
+ return `~${n} min`;
104
+ }
105
+ const tt = ["aria-labelledby"], lt = { class: "flex w-full min-w-0 flex-col gap-md" }, nt = { class: "flex w-full min-w-0 items-start gap-md" }, at = { class: "flex min-w-0 flex-1 flex-wrap content-center items-center gap-md" }, rt = ["datetime"], it = {
106
+ key: 1,
107
+ class: "shrink-0 overflow-hidden text-ellipsis whitespace-nowrap typography-caption-regular text-outline dark:text-outline-dark"
108
+ }, ot = { class: "flex shrink-0 items-center gap-md" }, st = { class: "flex w-full min-w-0 items-center gap-sm" }, dt = { class: "flex min-w-0 flex-1 flex-col items-start" }, ct = ["id"], ut = {
109
+ key: 0,
110
+ class: "m-0 w-full overflow-hidden text-ellipsis typography-body-2-regular text-on-surface-variant dark:text-on-surface-variant-dark"
111
+ }, mt = ["id", "aria-label", "aria-hidden"], kt = {
112
+ key: 1,
113
+ class: "flex w-full min-w-0 flex-wrap content-center items-center"
114
+ }, ft = {
115
+ key: 1,
116
+ class: "flex min-w-0 flex-1 flex-wrap content-center items-center gap-sm empty:hidden"
117
+ }, yt = {
118
+ key: 2,
119
+ class: "w-full min-w-0 empty:hidden"
120
+ }, vt = "Show more", bt = "Show less", gt = /* @__PURE__ */ p({
121
+ name: "FeedItemBase",
122
+ __name: "FeedItemBase",
123
+ props: {
124
+ id: {},
125
+ title: {},
126
+ shortContent: { default: void 0 },
127
+ timestamp: { default: void 0 },
128
+ timestampDatetime: { default: void 0 },
129
+ source: { default: void 0 },
130
+ expandable: { type: Boolean, default: !0 },
131
+ fullscreenControl: { type: Boolean, default: !1 },
132
+ mentionControl: { type: Boolean, default: !0 },
133
+ isNew: { type: Boolean, default: !1 },
134
+ controlLabels: { default: void 0 }
135
+ },
136
+ emits: ["update:expanded", "expand", "collapse", "control-click", "fullscreen"],
137
+ setup(e, { emit: o }) {
138
+ const l = {
139
+ mention: "Mention",
140
+ fullscreen: "Fullscreen"
141
+ }, n = e, a = o, u = Z(), m = A(!1), v = A(!1), g = c(() => !n.expandable || m.value);
142
+ ne(
143
+ g,
144
+ (T) => {
145
+ T && (v.value = !0);
146
+ },
147
+ { immediate: !0 }
148
+ );
149
+ const S = c(() => `feed-item-title-${n.id}`), b = c(() => `feed-item-body-${n.id}`), x = c(() => n.isNew ? "bg-primary-opacity-0-12 dark:bg-primary-opacity-0-12-dark" : "bg-surface-2 dark:bg-surface-2-dark"), w = c(() => ({
150
+ ...l,
151
+ ...n.controlLabels
152
+ })), h = c(() => !!u.actions), I = c(() => !!u.footer), i = c(() => !!u.body), s = c(() => n.expandable && i.value), k = c(() => h.value && g.value), O = c(
153
+ () => s.value || k.value
154
+ ), j = c(() => I.value && g.value);
155
+ function N(T) {
156
+ !n.expandable || T === m.value || (m.value = T, a("update:expanded", T), a(T ? "expand" : "collapse"));
157
+ }
158
+ function F() {
159
+ N(!m.value);
160
+ }
161
+ function fe(T) {
162
+ a("control-click", T);
163
+ }
164
+ function ye() {
165
+ a("fullscreen");
166
+ }
167
+ return (T, K) => (t(), r("article", {
168
+ class: E(["feed-item-base relative flex min-w-0 flex-col gap-md rounded-md border border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark p-md", x.value]),
169
+ "aria-labelledby": S.value
170
+ }, [
171
+ B("div", lt, [
172
+ B("header", nt, [
173
+ B("div", at, [
174
+ e.timestamp ? (t(), r("time", {
175
+ key: 0,
176
+ class: "shrink-0 overflow-hidden text-ellipsis whitespace-nowrap typography-caption-regular text-outline dark:text-outline-dark",
177
+ datetime: e.timestampDatetime || void 0
178
+ }, C(e.timestamp), 9, rt)) : y("", !0),
179
+ e.source ? (t(), r("span", it, C(e.source), 1)) : y("", !0)
180
+ ]),
181
+ B("div", ot, [
182
+ P(T.$slots, "controls", {}, () => [
183
+ e.fullscreenControl ? (t(), d(f(_), {
184
+ key: 0,
185
+ icon: "open_in_full",
186
+ tooltip: w.value.fullscreen,
187
+ onClick: ye
188
+ }, null, 8, ["tooltip"])) : y("", !0),
189
+ e.mentionControl ? (t(), d(f(_), {
190
+ key: 1,
191
+ icon: "alternate_email",
192
+ tooltip: w.value.mention,
193
+ onClick: K[0] || (K[0] = (Ol) => fe("mention"))
194
+ }, null, 8, ["tooltip"])) : y("", !0)
195
+ ])
196
+ ])
197
+ ]),
198
+ B("div", st, [
199
+ B("div", dt, [
200
+ B("h3", {
201
+ id: S.value,
202
+ class: "m-0 w-full overflow-hidden text-ellipsis typography-headline-3 text-on-background dark:text-on-background-dark"
203
+ }, C(e.title), 9, ct),
204
+ e.shortContent ? (t(), r("p", ut, C(e.shortContent), 1)) : y("", !0)
205
+ ])
206
+ ]),
207
+ v.value ? ve((t(), r("div", {
208
+ key: 0,
209
+ id: b.value,
210
+ class: "feed-item-base__body max-h-[37.875rem] w-full min-w-0 overflow-y-auto rounded-md",
211
+ role: "region",
212
+ "aria-label": e.title,
213
+ "aria-hidden": !g.value
214
+ }, [
215
+ P(T.$slots, "body")
216
+ ], 8, mt)), [
217
+ [be, g.value]
218
+ ]) : y("", !0),
219
+ O.value ? (t(), r("div", kt, [
220
+ s.value ? (t(), d(f(Y), {
221
+ key: 0,
222
+ type: "button",
223
+ variant: "link",
224
+ color: "primary",
225
+ class: "min-w-[96px] mr-md",
226
+ "aria-expanded": g.value,
227
+ "aria-controls": b.value,
228
+ onClick: F
229
+ }, {
230
+ default: R(() => [
231
+ W(C(g.value ? bt : vt), 1)
232
+ ]),
233
+ _: 1
234
+ }, 8, ["aria-expanded", "aria-controls"])) : y("", !0),
235
+ k.value ? (t(), r("div", ft, [
236
+ P(T.$slots, "actions")
237
+ ])) : y("", !0)
238
+ ])) : y("", !0),
239
+ j.value ? (t(), r("footer", yt, [
240
+ P(T.$slots, "footer")
241
+ ])) : y("", !0)
242
+ ])
243
+ ], 10, tt));
244
+ }
245
+ }), xt = {
246
+ key: 0,
247
+ class: "feed-item-meta-footer flex items-center justify-between gap-sm typography-caption-regular text-outline dark:text-outline-dark"
248
+ }, ht = { class: "flex items-center gap-xs" }, pt = {
249
+ key: 0,
250
+ class: "mr-sm inline-flex items-center gap-xs",
251
+ "aria-hidden": "true"
252
+ }, wt = {
253
+ key: 1,
254
+ class: "text-on-background dark:text-on-background-dark bg-primary-opacity-0-08 dark:bg-primary-opacity-0-08-dark px-sm rounded-md"
255
+ }, Fl = /* @__PURE__ */ p({
256
+ name: "FeedItemMetaFooter",
257
+ __name: "FeedItemMetaFooter",
258
+ props: {
259
+ engagement: {},
260
+ readingTimeSource: { default: void 0 }
261
+ },
262
+ emits: ["open-reactions", "open-comments"],
263
+ setup(e, { emit: o }) {
264
+ const l = e, n = o, a = c(() => l.engagement.reactionCount ?? 0), u = c(() => l.engagement.reactionEmojis ?? []), m = c(() => l.engagement.commentsCount ?? 0), v = c(() => l.engagement.commentsLabel), g = c(() => l.engagement.readingTime ? l.engagement.readingTime : l.readingTimeSource ? et(l.readingTimeSource) : ""), S = c(
265
+ () => a.value > 0 || !!g.value || m.value > 0 && !!v.value
266
+ );
267
+ return (b, x) => S.value ? (t(), r("span", xt, [
268
+ B("span", ht, [
269
+ a.value > 0 ? (t(), r("button", {
270
+ key: 0,
271
+ type: "button",
272
+ class: "flex cursor-pointer items-center text-on-background dark:text-on-background-dark bg-primary-opacity-0-08 dark:bg-primary-opacity-0-08-dark px-sm rounded-md border-0",
273
+ onClick: x[0] || (x[0] = (w) => n("open-reactions"))
274
+ }, [
275
+ u.value.length ? (t(), r("span", pt, [
276
+ (t(!0), r(z, null, L(u.value, (w, h) => (t(), r("span", {
277
+ key: `${w}-${h}`,
278
+ class: "inline-flex size-4 items-center justify-center text-[16px] leading-none"
279
+ }, C(w), 1))), 128))
280
+ ])) : y("", !0),
281
+ W(" " + C(a.value), 1)
282
+ ])) : y("", !0),
283
+ g.value ? (t(), r("span", wt, C(g.value), 1)) : y("", !0)
284
+ ]),
285
+ m.value > 0 && v.value ? (t(), r("button", {
286
+ key: 0,
287
+ type: "button",
288
+ class: "underline cursor-pointer bg-transparent border-0 p-0 typography-caption-regular text-outline dark:text-outline-dark",
289
+ onClick: x[1] || (x[1] = (w) => n("open-comments"))
290
+ }, C(v.value), 1)) : y("", !0)
291
+ ])) : y("", !0);
292
+ }
293
+ }), Ct = /* @__PURE__ */ p({
294
+ name: "FeedMarkdownContent",
295
+ __name: "FeedMarkdownContent",
296
+ props: {
297
+ text: {},
298
+ contentClass: { default: void 0 },
299
+ internalLinkPattern: { default: void 0 }
300
+ },
301
+ setup(e) {
302
+ return (o, l) => (t(), d(f(Me), {
303
+ class: E(["feed-markdown-content styled-content typography-body-2-regular text-on-background dark:text-on-background-dark", e.contentClass]),
304
+ text: e.text,
305
+ "internal-link-pattern": e.internalLinkPattern
306
+ }, null, 8, ["class", "text", "internal-link-pattern"]));
307
+ }
308
+ }), G = /* @__PURE__ */ re(Ct, [["__scopeId", "data-v-ad3acbfc"]]), St = "data:image/png;base64,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", Bt = { class: "feed-skill-content flex flex-col gap-md" }, ie = /* @__PURE__ */ p({
309
+ name: "FeedSkillContent",
310
+ __name: "FeedSkillContent",
311
+ props: {
312
+ text: {},
313
+ skill: { default: void 0 },
314
+ skillBackgroundUrl: { default: void 0 },
315
+ skillCardSize: { default: M.S },
316
+ showStartSkill: { type: Boolean, default: void 0 },
317
+ startSkillLabel: { default: void 0 },
318
+ contentClass: { default: void 0 },
319
+ internalLinkPattern: { default: void 0 }
320
+ },
321
+ emits: ["start-skill", "skill-click"],
322
+ setup(e, { emit: o }) {
323
+ const l = e, n = o, a = Z(), u = c(() => !!a.skill), m = c(
324
+ () => u.value || !!l.skill
325
+ ), v = c(
326
+ () => l.showStartSkill !== !1 && !!l.startSkillLabel
327
+ ), g = c(() => m.value ? {
328
+ backgroundImage: `url(${l.skillBackgroundUrl ?? St})`
329
+ } : void 0);
330
+ function S() {
331
+ n("start-skill");
332
+ }
333
+ function b() {
334
+ n("skill-click");
335
+ }
336
+ return (x, w) => (t(), r("div", Bt, [
337
+ m.value ? (t(), r("div", {
338
+ key: 0,
339
+ class: "w-full overflow-hidden rounded-lg bg-surface-1 dark:bg-surface-1-dark",
340
+ style: le(g.value)
341
+ }, [
342
+ P(x.$slots, "skill", {}, () => [
343
+ e.skill ? (t(), d(f(Ke), {
344
+ key: 0,
345
+ skill: e.skill,
346
+ size: e.skillCardSize,
347
+ onClick: b
348
+ }, null, 8, ["skill", "size"])) : y("", !0)
349
+ ])
350
+ ], 4)) : y("", !0),
351
+ V(f(G), {
352
+ text: e.text,
353
+ "content-class": e.contentClass,
354
+ "internal-link-pattern": e.internalLinkPattern
355
+ }, null, 8, ["text", "content-class", "internal-link-pattern"]),
356
+ v.value ? (t(), d(f(Y), {
357
+ key: 1,
358
+ class: "w-full md:w-auto",
359
+ variant: "outlined",
360
+ color: "primary",
361
+ onClick: S
362
+ }, {
363
+ default: R(() => [
364
+ W(C(e.startSkillLabel), 1)
365
+ ]),
366
+ _: 1
367
+ })) : y("", !0)
368
+ ]));
369
+ }
370
+ }), zt = ["title", "sandbox", "src", "srcdoc"], oe = /* @__PURE__ */ p({
371
+ name: "FeedEmbed",
372
+ __name: "FeedEmbed",
373
+ props: {
374
+ title: {},
375
+ size: { default: "list" },
376
+ src: { default: void 0 },
377
+ srcdoc: { default: void 0 }
378
+ },
379
+ setup(e) {
380
+ const o = e, l = c(() => _e[o.size]), n = c(() => !!(o.src || o.srcdoc));
381
+ return (a, u) => n.value ? (t(), r("div", {
382
+ key: 0,
383
+ class: E(["feed-embed w-full overflow-hidden rounded-lg bg-surface-1 dark:bg-surface-1-dark", e.size === "fill" ? "flex h-full min-h-0 flex-1 flex-col" : void 0])
384
+ }, [
385
+ B("iframe", {
386
+ class: E(l.value),
387
+ title: e.title,
388
+ sandbox: f($e),
389
+ src: e.src || void 0,
390
+ srcdoc: e.srcdoc || void 0
391
+ }, null, 10, zt)
392
+ ], 2)) : y("", !0);
393
+ }
394
+ }), se = /* @__PURE__ */ p({
395
+ name: "FeedHtmlContent",
396
+ __name: "FeedHtmlContent",
397
+ props: {
398
+ title: {},
399
+ content: {},
400
+ size: { default: "list" }
401
+ },
402
+ setup(e) {
403
+ return (o, l) => (t(), d(oe, {
404
+ class: "feed-html-content",
405
+ title: e.title,
406
+ size: e.size,
407
+ srcdoc: e.content
408
+ }, null, 8, ["title", "size", "srcdoc"]));
409
+ }
410
+ }), de = /* @__PURE__ */ p({
411
+ name: "FeedFileContent",
412
+ __name: "FeedFileContent",
413
+ props: {
414
+ title: {},
415
+ src: {},
416
+ size: { default: "list" }
417
+ },
418
+ setup(e) {
419
+ return (o, l) => (t(), d(oe, {
420
+ class: "feed-file-content",
421
+ title: e.title,
422
+ size: e.size,
423
+ src: e.src
424
+ }, null, 8, ["title", "size", "src"]));
425
+ }
426
+ }), It = {
427
+ theme: "dark",
428
+ embedSize: "list"
429
+ }, Lt = {
430
+ none: "",
431
+ xs: "mt-xs",
432
+ sm: "mt-sm",
433
+ md: "mt-md",
434
+ lg: "mt-lg",
435
+ xl: "mt-xl"
436
+ }, Tt = {
437
+ caption: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark",
438
+ body: "typography-body-2-regular text-on-background dark:text-on-background-dark",
439
+ headline: "typography-headline-3 text-on-background dark:text-on-background-dark"
440
+ }, ce = {
441
+ default: "",
442
+ emphasis: "bg-surface-2 dark:bg-surface-2-dark rounded-lg p-md",
443
+ success: "bg-success-container dark:bg-success-container-dark text-on-success-container dark:text-on-success-container-dark rounded-lg p-md",
444
+ warning: "bg-warning-container dark:bg-warning-container-dark text-on-warning-container dark:text-on-warning-container-dark rounded-lg p-md",
445
+ attention: "bg-primary-container dark:bg-primary-container-dark text-on-primary-container dark:text-on-primary-container-dark rounded-lg p-md"
446
+ };
447
+ function Pt(e) {
448
+ return {
449
+ ...It,
450
+ ...e
451
+ };
452
+ }
453
+ const ue = Symbol("idwCardForm");
454
+ function me() {
455
+ const e = ge(ue);
456
+ if (!e)
457
+ throw new Error("IdwCard form controls must be rendered inside CardRenderer");
458
+ return e;
459
+ }
460
+ function H(e, o) {
461
+ var n;
462
+ const l = ae({
463
+ templateId: e,
464
+ data: o
465
+ });
466
+ if (!l.success)
467
+ throw new Error(((n = l.issues[0]) == null ? void 0 : n.message) ?? `Invalid ${e} template data`);
468
+ return l.card;
469
+ }
470
+ function Dl(e) {
471
+ return H(Ne, { text: e });
472
+ }
473
+ function Ul(e, o) {
474
+ return H(Fe, {
475
+ title: e,
476
+ content: o
477
+ });
478
+ }
479
+ function Al(e, o) {
480
+ return H(De, {
481
+ title: e,
482
+ src: o
483
+ });
484
+ }
485
+ function Wl(e) {
486
+ return H(Re, {
487
+ text: e.text,
488
+ skill: e.skill,
489
+ startSkillLabel: e.startSkillLabel
490
+ });
491
+ }
492
+ function Et(e = "default") {
493
+ return e === "primary" ? {
494
+ variant: "contained",
495
+ color: "primary"
496
+ } : e === "destructive" ? {
497
+ variant: "outlined",
498
+ color: "danger"
499
+ } : {
500
+ variant: "outlined",
501
+ color: "primary"
502
+ };
503
+ }
504
+ const Ot = { class: "idw-card-action-bar mt-lg flex min-w-0 flex-wrap items-center gap-sm" }, ke = /* @__PURE__ */ p({
505
+ name: "IdwCardActionBar",
506
+ __name: "IdwCardActionBar",
507
+ props: {
508
+ actions: {}
509
+ },
510
+ emits: ["action"],
511
+ setup(e, { emit: o }) {
512
+ const l = o;
513
+ function n(a) {
514
+ l("action", {
515
+ verb: a.verb,
516
+ title: a.title,
517
+ data: a.data,
518
+ url: a.url,
519
+ skillId: a.skillId,
520
+ targetIds: a.targetIds,
521
+ card: a.card
522
+ });
523
+ }
524
+ return (a, u) => (t(), r("div", Ot, [
525
+ (t(!0), r(z, null, L(e.actions, (m, v) => (t(), d(f(Y), xe({
526
+ key: m.title + v
527
+ }, { ref_for: !0 }, f(Et)(m.style), {
528
+ type: "button",
529
+ onClick: (g) => n(m)
530
+ }), {
531
+ default: R(() => [
532
+ W(C(m.title), 1)
533
+ ]),
534
+ _: 2
535
+ }, 1040, ["onClick"]))), 128))
536
+ ]));
537
+ }
538
+ }), Vt = /* @__PURE__ */ p({
539
+ name: "IdwCardActionSetElement",
540
+ __name: "ActionSetElement",
541
+ props: {
542
+ element: {}
543
+ },
544
+ emits: ["action"],
545
+ setup(e, { emit: o }) {
546
+ const l = o;
547
+ return (n, a) => (t(), d(ke, {
548
+ actions: e.element.actions,
549
+ onAction: a[0] || (a[0] = (u) => l("action", u))
550
+ }, null, 8, ["actions"]));
551
+ }
552
+ }), jt = /* @__PURE__ */ p({
553
+ name: "IdwCardBadgeElement",
554
+ __name: "BadgeElement",
555
+ props: {
556
+ element: {}
557
+ },
558
+ setup(e) {
559
+ const o = e, l = {
560
+ default: "bg-surface-2 dark:bg-surface-2-dark text-on-surface dark:text-on-surface-dark",
561
+ emphasis: "bg-surface-2 dark:bg-surface-2-dark text-on-surface dark:text-on-surface-dark",
562
+ success: "bg-success-container dark:bg-success-container-dark text-on-success-container dark:text-on-success-container-dark",
563
+ warning: "bg-warning-container dark:bg-warning-container-dark text-on-warning-container dark:text-on-warning-container-dark",
564
+ attention: "bg-primary-container dark:bg-primary-container-dark text-on-primary-container dark:text-on-primary-container-dark"
565
+ }, n = c(() => [
566
+ "inline-flex w-fit items-center rounded-md px-sm py-xs typography-caption-semibold",
567
+ l[o.element.tone ?? "emphasis"]
568
+ ]);
569
+ return (a, u) => (t(), r("span", {
570
+ class: E(n.value)
571
+ }, C(e.element.text), 3));
572
+ }
573
+ }), Mt = { class: "idw-card-column-set flex min-w-0 flex-wrap items-center gap-sm" }, Rt = /* @__PURE__ */ p({
574
+ name: "IdwCardColumnSetElement",
575
+ __name: "ColumnSetElement",
576
+ props: {
577
+ element: {},
578
+ hostConfig: {}
579
+ },
580
+ emits: ["action", "skill-click"],
581
+ setup(e, { emit: o }) {
582
+ const l = o;
583
+ function n(a) {
584
+ return a === "auto" ? "min-w-0 shrink" : "min-w-0 flex-1";
585
+ }
586
+ return (a, u) => (t(), r("div", Mt, [
587
+ (t(!0), r(z, null, L(e.element.columns, (m, v) => (t(), r("div", {
588
+ key: v,
589
+ class: E(n(m.width))
590
+ }, [
591
+ (t(!0), r(z, null, L(m.items, (g, S) => (t(), d(J, {
592
+ key: g.id || S,
593
+ element: g,
594
+ "host-config": e.hostConfig,
595
+ onAction: u[0] || (u[0] = (b) => l("action", b)),
596
+ onSkillClick: u[1] || (u[1] = (b) => l("skill-click"))
597
+ }, null, 8, ["element", "host-config"]))), 128))
598
+ ], 2))), 128))
599
+ ]));
600
+ }
601
+ }), Nt = { class: "idw-card-container flex min-w-0 flex-col" }, Ft = /* @__PURE__ */ p({
602
+ name: "IdwCardContainerElement",
603
+ __name: "ContainerElement",
604
+ props: {
605
+ element: {},
606
+ hostConfig: {}
607
+ },
608
+ emits: ["action", "skill-click"],
609
+ setup(e, { emit: o }) {
610
+ const l = o;
611
+ return (n, a) => (t(), r("div", Nt, [
612
+ (t(!0), r(z, null, L(e.element.items, (u, m) => (t(), d(J, {
613
+ key: u.id || m,
614
+ element: u,
615
+ "host-config": e.hostConfig,
616
+ onAction: a[0] || (a[0] = (v) => l("action", v)),
617
+ onSkillClick: a[1] || (a[1] = (v) => l("skill-click"))
618
+ }, null, 8, ["element", "host-config"]))), 128))
619
+ ]));
620
+ }
621
+ }), Dt = {
622
+ key: 0,
623
+ class: "idw-card-fact-set m-0 grid grid-cols-[max-content_minmax(0,1fr)] gap-x-md gap-y-sm"
624
+ }, Ut = { class: "m-0 typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark" }, At = { class: "m-0 min-w-0 typography-body-2-regular text-on-background dark:text-on-background-dark" }, Wt = /* @__PURE__ */ p({
625
+ name: "IdwCardFactSetElement",
626
+ __name: "FactSetElement",
627
+ props: {
628
+ element: {}
629
+ },
630
+ setup(e) {
631
+ return (o, l) => e.element.facts.length ? (t(), r("dl", Dt, [
632
+ (t(!0), r(z, null, L(e.element.facts, (n, a) => (t(), r(z, {
633
+ key: `${n.title}-${a}`
634
+ }, [
635
+ B("dt", Ut, C(n.title), 1),
636
+ B("dd", At, C(n.value), 1)
637
+ ], 64))), 128))
638
+ ])) : y("", !0);
639
+ }
640
+ }), qt = /* @__PURE__ */ p({
641
+ name: "IdwCardFileElement",
642
+ __name: "FileElement",
643
+ props: {
644
+ element: {},
645
+ hostConfig: {}
646
+ },
647
+ setup(e) {
648
+ return (o, l) => (t(), d(f(de), {
649
+ title: e.element.title,
650
+ src: e.element.src,
651
+ size: e.hostConfig.embedSize
652
+ }, null, 8, ["title", "src", "size"]));
653
+ }
654
+ }), Ht = /* @__PURE__ */ p({
655
+ name: "IdwCardHtmlElement",
656
+ __name: "HtmlElement",
657
+ props: {
658
+ element: {},
659
+ hostConfig: {}
660
+ },
661
+ setup(e) {
662
+ return (o, l) => (t(), d(f(se), {
663
+ title: e.element.title,
664
+ content: e.element.content,
665
+ size: e.hostConfig.embedSize
666
+ }, null, 8, ["title", "content", "size"]));
667
+ }
668
+ }), Qt = /* @__PURE__ */ p({
669
+ name: "IdwCardIconElement",
670
+ __name: "IconElement",
671
+ props: {
672
+ element: {}
673
+ },
674
+ setup(e) {
675
+ return (o, l) => (t(), d(f(Ce), {
676
+ icon: e.element.icon,
677
+ class: "text-on-background dark:text-on-background-dark"
678
+ }, null, 8, ["icon"]));
679
+ }
680
+ }), Xt = ["src", "alt"], Zt = /* @__PURE__ */ p({
681
+ name: "IdwCardImageElement",
682
+ __name: "ImageElement",
683
+ props: {
684
+ element: {}
685
+ },
686
+ setup(e) {
687
+ return (o, l) => (t(), r("img", {
688
+ class: "idw-card-image max-w-full rounded-lg bg-surface-1 dark:bg-surface-1-dark",
689
+ src: e.element.url,
690
+ alt: e.element.alt
691
+ }, null, 8, Xt));
692
+ }
693
+ }), Yt = { class: "idw-card-image-set flex min-w-0 flex-wrap gap-sm" }, Gt = ["src", "alt"], Jt = /* @__PURE__ */ p({
694
+ name: "IdwCardImageSetElement",
695
+ __name: "ImageSetElement",
696
+ props: {
697
+ element: {}
698
+ },
699
+ setup(e) {
700
+ return (o, l) => (t(), r("div", Yt, [
701
+ (t(!0), r(z, null, L(e.element.images, (n, a) => (t(), r("img", {
702
+ key: `${n.url}-${a}`,
703
+ class: "size-16 rounded-md object-cover bg-surface-1 dark:bg-surface-1-dark",
704
+ src: n.url,
705
+ alt: n.alt
706
+ }, null, 8, Gt))), 128))
707
+ ]));
708
+ }
709
+ });
710
+ function Q(e) {
711
+ if (e instanceof Date && !Number.isNaN(e.getTime()))
712
+ return e;
713
+ if (typeof e != "string" || !e.trim())
714
+ return;
715
+ if (/^\d{2}:\d{2}$/.test(e)) {
716
+ const [l, n] = e.split(":").map(Number), a = /* @__PURE__ */ new Date();
717
+ return a.setHours(l, n, 0, 0), a;
718
+ }
719
+ const o = new Date(e);
720
+ return Number.isNaN(o.getTime()) ? void 0 : o;
721
+ }
722
+ function q(e) {
723
+ return String(e).padStart(2, "0");
724
+ }
725
+ function Kt(e) {
726
+ return !e || Number.isNaN(e.getTime()) ? "" : `${e.getFullYear()}-${q(e.getMonth() + 1)}-${q(e.getDate())}`;
727
+ }
728
+ function $t(e) {
729
+ return !e || Number.isNaN(e.getTime()) ? "" : `${q(e.getHours())}:${q(e.getMinutes())}`;
730
+ }
731
+ function _t(e) {
732
+ return !e || Number.isNaN(e.getTime()) ? "" : e.toISOString();
733
+ }
734
+ const el = { class: "idw-card-input flex min-w-0 flex-col gap-xs" }, tl = {
735
+ key: 6,
736
+ class: "flex flex-col gap-xs"
737
+ }, ll = {
738
+ key: 0,
739
+ class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
740
+ }, nl = {
741
+ key: 10,
742
+ class: "flex flex-col gap-xs"
743
+ }, al = {
744
+ key: 0,
745
+ class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
746
+ }, rl = {
747
+ key: 11,
748
+ class: "flex flex-col gap-xs"
749
+ }, il = {
750
+ key: 0,
751
+ class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
752
+ }, ol = {
753
+ key: 12,
754
+ class: "flex flex-col gap-xs"
755
+ }, sl = {
756
+ key: 0,
757
+ class: "typography-caption-regular text-on-surface-variant dark:text-on-surface-variant-dark"
758
+ }, dl = {
759
+ key: 13,
760
+ class: "flex flex-col gap-sm"
761
+ }, cl = {
762
+ key: 0,
763
+ class: "grid grid-cols-2 gap-sm"
764
+ }, ul = /* @__PURE__ */ p({
765
+ name: "IdwCardInputElement",
766
+ __name: "InputElement",
767
+ props: {
768
+ element: {}
769
+ },
770
+ setup(e) {
771
+ const o = e, l = me(), n = c(() => l.getError(o.element.name)), a = c(() => l.getValue(o.element.name)), u = c(() => o.element.type === "Input.Text" && o.element.style === "password" ? "password" : "text"), m = c(() => {
772
+ if (o.element.type === "Input.Text") {
773
+ if (o.element.style === "email")
774
+ return "email";
775
+ if (o.element.style === "url")
776
+ return "url";
777
+ if (o.element.style === "tel")
778
+ return "tel";
779
+ }
780
+ }), v = c(() => typeof a.value == "string" ? a.value : ""), g = c(() => a.value), S = c(() => typeof a.value == "string" || typeof a.value == "number" ? a.value : void 0), b = c(() => o.element.type !== "Input.ChoiceSet" ? [] : o.element.choices.map((i) => ({
781
+ label: i.title,
782
+ value: i.value,
783
+ disabled: i.disabled
784
+ }))), x = c(() => {
785
+ const i = a.value;
786
+ return i && typeof i == "object" ? i : { address: "" };
787
+ });
788
+ function w(i) {
789
+ l.setValue(o.element.name, i);
790
+ }
791
+ function h(i, s) {
792
+ const k = Array.isArray(a.value) ? [...a.value] : [], O = s ? Array.from(/* @__PURE__ */ new Set([...k, i])) : k.filter((j) => j !== i);
793
+ w(O);
794
+ }
795
+ function I(i) {
796
+ w({ ...x.value, ...i });
797
+ }
798
+ return (i, s) => (t(), r("div", el, [
799
+ e.element.type === "Input.Text" && e.element.multiline ? (t(), d(f(Se), {
800
+ key: 0,
801
+ "model-value": v.value,
802
+ label: e.element.label,
803
+ placeholder: e.element.placeholder,
804
+ hint: e.element.hint,
805
+ error: n.value,
806
+ required: e.element.required,
807
+ disabled: e.element.disabled,
808
+ rows: e.element.rows || 3,
809
+ "onUpdate:modelValue": w
810
+ }, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled", "rows"])) : e.element.type === "Input.Text" ? (t(), d(f(D), {
811
+ key: 1,
812
+ "model-value": v.value,
813
+ type: u.value,
814
+ inputmode: m.value,
815
+ label: e.element.label,
816
+ placeholder: e.element.placeholder,
817
+ hint: e.element.hint,
818
+ error: n.value,
819
+ required: e.element.required,
820
+ disabled: e.element.disabled,
821
+ "onUpdate:modelValue": w
822
+ }, null, 8, ["model-value", "type", "inputmode", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Number" ? (t(), d(f(D), {
823
+ key: 2,
824
+ "model-value": a.value,
825
+ type: "number",
826
+ label: e.element.label,
827
+ placeholder: e.element.placeholder,
828
+ hint: e.element.hint,
829
+ error: n.value,
830
+ required: e.element.required,
831
+ disabled: e.element.disabled,
832
+ "onUpdate:modelValue": s[0] || (s[0] = (k) => w(k === "" || k == null ? void 0 : Number(k)))
833
+ }, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Toggle" ? (t(), d(f(Be), {
834
+ key: 3,
835
+ "model-value": !!a.value,
836
+ label: e.element.label,
837
+ required: e.element.required,
838
+ disabled: e.element.disabled,
839
+ "onUpdate:modelValue": w
840
+ }, null, 8, ["model-value", "label", "required", "disabled"])) : e.element.type === "Input.Checkbox" ? (t(), d(f(ee), {
841
+ key: 4,
842
+ "model-value": !!a.value,
843
+ label: e.element.label,
844
+ required: e.element.required,
845
+ disabled: e.element.disabled,
846
+ "onUpdate:modelValue": w
847
+ }, null, 8, ["model-value", "label", "required", "disabled"])) : e.element.type === "Input.ChoiceSet" && e.element.style !== "expanded" ? (t(), d(f(ze), {
848
+ key: 5,
849
+ "model-value": g.value,
850
+ options: b.value,
851
+ multiple: e.element.multi,
852
+ "enable-search": e.element.style === "filtered",
853
+ label: e.element.label,
854
+ placeholder: e.element.placeholder,
855
+ hint: e.element.hint,
856
+ error: n.value,
857
+ required: e.element.required,
858
+ disabled: e.element.disabled,
859
+ "onUpdate:modelValue": w
860
+ }, null, 8, ["model-value", "options", "multiple", "enable-search", "label", "placeholder", "hint", "error", "required", "disabled"])) : e.element.type === "Input.ChoiceSet" ? (t(), r("div", tl, [
861
+ e.element.label ? (t(), r("span", ll, C(e.element.label), 1)) : y("", !0),
862
+ e.element.multi ? (t(!0), r(z, { key: 1 }, L(e.element.choices, (k) => (t(), d(f(ee), {
863
+ key: k.value,
864
+ "model-value": Array.isArray(a.value) && a.value.includes(k.value),
865
+ label: k.title,
866
+ disabled: e.element.disabled || k.disabled,
867
+ "onUpdate:modelValue": (O) => h(k.value, O)
868
+ }, null, 8, ["model-value", "label", "disabled", "onUpdate:modelValue"]))), 128)) : (t(!0), r(z, { key: 2 }, L(e.element.choices, (k) => (t(), d(f(Ie), {
869
+ key: k.value,
870
+ "model-value": S.value,
871
+ value: k.value,
872
+ label: k.title,
873
+ disabled: e.element.disabled || k.disabled,
874
+ "onUpdate:modelValue": w
875
+ }, null, 8, ["model-value", "value", "label", "disabled"]))), 128)),
876
+ n.value || e.element.hint ? (t(), r("span", {
877
+ key: 3,
878
+ class: E(["typography-caption-regular", n.value ? "text-error dark:text-error-dark" : "text-on-surface-variant dark:text-on-surface-variant-dark"])
879
+ }, C(n.value || e.element.hint), 3)) : y("", !0)
880
+ ])) : e.element.type === "Input.Date" ? (t(), d(f(Le), {
881
+ key: 7,
882
+ "model-value": f(Q)(a.value),
883
+ label: e.element.label,
884
+ hint: e.element.hint,
885
+ error: n.value,
886
+ required: e.element.required,
887
+ disabled: e.element.disabled,
888
+ "onUpdate:modelValue": s[1] || (s[1] = (k) => w(f(Kt)(k)))
889
+ }, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Time" ? (t(), d(f(Te), {
890
+ key: 8,
891
+ "model-value": f(Q)(a.value),
892
+ label: e.element.label,
893
+ hint: e.element.hint,
894
+ error: n.value,
895
+ required: e.element.required,
896
+ disabled: e.element.disabled,
897
+ "onUpdate:modelValue": s[2] || (s[2] = (k) => w(f($t)(k)))
898
+ }, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.DateTime" ? (t(), d(f(Pe), {
899
+ key: 9,
900
+ "model-value": f(Q)(a.value),
901
+ label: e.element.label,
902
+ hint: e.element.hint,
903
+ error: n.value,
904
+ required: e.element.required,
905
+ disabled: e.element.disabled,
906
+ "onUpdate:modelValue": s[3] || (s[3] = (k) => w(f(_t)(k)))
907
+ }, null, 8, ["model-value", "label", "hint", "error", "required", "disabled"])) : e.element.type === "Input.Slider" ? (t(), r("div", nl, [
908
+ e.element.label ? (t(), r("span", al, C(e.element.label), 1)) : y("", !0),
909
+ V(f(Ee), {
910
+ "model-value": Number(a.value ?? e.element.min ?? 0),
911
+ "min-value": e.element.min,
912
+ "max-value": e.element.max,
913
+ step: e.element.step,
914
+ disabled: e.element.disabled,
915
+ "onUpdate:modelValue": w
916
+ }, null, 8, ["model-value", "min-value", "max-value", "step", "disabled"])
917
+ ])) : e.element.type === "Input.Range" ? (t(), r("div", rl, [
918
+ e.element.label ? (t(), r("span", il, C(e.element.label), 1)) : y("", !0),
919
+ V(f(Oe), {
920
+ "model-value": Array.isArray(a.value) ? a.value : [e.element.min ?? 0, e.element.max ?? 100],
921
+ "min-value": e.element.min,
922
+ "max-value": e.element.max,
923
+ step: e.element.step,
924
+ disabled: e.element.disabled,
925
+ "onUpdate:modelValue": w
926
+ }, null, 8, ["model-value", "min-value", "max-value", "step", "disabled"])
927
+ ])) : e.element.type === "Input.Rating" ? (t(), r("div", ol, [
928
+ e.element.label ? (t(), r("span", sl, C(e.element.label), 1)) : y("", !0),
929
+ V(f(Ve), {
930
+ "model-value": Number(a.value ?? 0),
931
+ disabled: e.element.disabled,
932
+ "onUpdate:modelValue": w
933
+ }, null, 8, ["model-value", "disabled"])
934
+ ])) : e.element.type === "Input.Location" ? (t(), r("div", dl, [
935
+ V(f(D), {
936
+ "model-value": x.value.address || "",
937
+ label: e.element.label || "Location",
938
+ placeholder: e.element.placeholder,
939
+ hint: e.element.hint,
940
+ error: n.value,
941
+ required: e.element.required,
942
+ disabled: e.element.disabled,
943
+ "onUpdate:modelValue": s[4] || (s[4] = (k) => I({ address: String(k || "") }))
944
+ }, null, 8, ["model-value", "label", "placeholder", "hint", "error", "required", "disabled"]),
945
+ e.element.includeCoordinates ? (t(), r("div", cl, [
946
+ V(f(D), {
947
+ "model-value": x.value.lat,
948
+ type: "number",
949
+ label: "Latitude",
950
+ disabled: e.element.disabled,
951
+ "onUpdate:modelValue": s[5] || (s[5] = (k) => I({ lat: k === "" || k == null ? void 0 : Number(k) }))
952
+ }, null, 8, ["model-value", "disabled"]),
953
+ V(f(D), {
954
+ "model-value": x.value.lng,
955
+ type: "number",
956
+ label: "Longitude",
957
+ disabled: e.element.disabled,
958
+ "onUpdate:modelValue": s[6] || (s[6] = (k) => I({ lng: k === "" || k == null ? void 0 : Number(k) }))
959
+ }, null, 8, ["model-value", "disabled"])
960
+ ])) : y("", !0)
961
+ ])) : y("", !0)
962
+ ]));
963
+ }
964
+ }), ml = ["src", "poster", "title"], kl = ["src", "title"], fl = /* @__PURE__ */ p({
965
+ name: "IdwCardMediaElement",
966
+ __name: "MediaElement",
967
+ props: {
968
+ element: {}
969
+ },
970
+ setup(e) {
971
+ return (o, l) => (e.element.mediaType || "video") === "video" ? (t(), r("video", {
972
+ key: 0,
973
+ class: "idw-card-media w-full rounded-lg bg-surface-1 dark:bg-surface-1-dark",
974
+ src: e.element.url,
975
+ poster: e.element.poster,
976
+ title: e.element.title,
977
+ controls: ""
978
+ }, null, 8, ml)) : (t(), r("audio", {
979
+ key: 1,
980
+ class: "idw-card-media w-full",
981
+ src: e.element.url,
982
+ title: e.element.title,
983
+ controls: ""
984
+ }, null, 8, kl));
985
+ }
986
+ }), yl = { class: "idw-card-progress flex min-w-0 flex-col gap-sm" }, vl = {
987
+ key: 0,
988
+ class: "typography-caption-semibold text-on-surface-variant dark:text-on-surface-variant-dark"
989
+ }, bl = /* @__PURE__ */ p({
990
+ name: "IdwCardProgressElement",
991
+ __name: "ProgressElement",
992
+ props: {
993
+ element: {}
994
+ },
995
+ setup(e) {
996
+ const o = e, l = {
997
+ default: U.Primary,
998
+ emphasis: U.Primary,
999
+ success: U.Success,
1000
+ warning: U.Warning,
1001
+ attention: U.Error
1002
+ }, n = c(() => l[o.element.tone ?? "default"]), a = c(() => o.element.variant === "circle" ? te.Circle : te.Linear);
1003
+ return (u, m) => (t(), r("div", yl, [
1004
+ e.element.label ? (t(), r("span", vl, C(e.element.label), 1)) : y("", !0),
1005
+ V(f(je), {
1006
+ class: "w-full",
1007
+ value: e.element.value,
1008
+ "max-value": e.element.max ?? 100,
1009
+ type: a.value,
1010
+ color: n.value
1011
+ }, null, 8, ["value", "max-value", "type", "color"])
1012
+ ]));
1013
+ }
1014
+ }), gl = /* @__PURE__ */ p({
1015
+ name: "IdwCardSkillElement",
1016
+ __name: "SkillElement",
1017
+ props: {
1018
+ element: {}
1019
+ },
1020
+ emits: ["action", "skill-click"],
1021
+ setup(e, { emit: o }) {
1022
+ const l = e, n = o;
1023
+ function a() {
1024
+ var u;
1025
+ n("action", {
1026
+ verb: "start-skill",
1027
+ title: l.element.startSkillLabel || "Start skill",
1028
+ skillId: (u = l.element.skill) == null ? void 0 : u.id
1029
+ });
1030
+ }
1031
+ return (u, m) => (t(), d(f(ie), {
1032
+ text: e.element.text,
1033
+ skill: e.element.skill,
1034
+ "start-skill-label": e.element.startSkillLabel,
1035
+ onStartSkill: a,
1036
+ onSkillClick: m[0] || (m[0] = (v) => n("skill-click"))
1037
+ }, null, 8, ["text", "skill", "start-skill-label"]));
1038
+ }
1039
+ }), xl = { class: "idw-card-table w-full min-w-0 overflow-x-auto rounded-lg bg-surface-2 dark:bg-surface-2-dark" }, hl = { class: "w-full border-collapse" }, pl = /* @__PURE__ */ p({
1040
+ name: "IdwCardTableElement",
1041
+ __name: "TableElement",
1042
+ props: {
1043
+ element: {}
1044
+ },
1045
+ setup(e) {
1046
+ return (o, l) => (t(), r("div", xl, [
1047
+ B("table", hl, [
1048
+ B("thead", null, [
1049
+ B("tr", null, [
1050
+ (t(!0), r(z, null, L(e.element.columns, (n) => (t(), r("th", {
1051
+ key: n.title,
1052
+ class: "px-md py-sm text-left typography-caption-semibold text-on-surface-variant dark:text-on-surface-variant-dark"
1053
+ }, C(n.title), 1))), 128))
1054
+ ])
1055
+ ]),
1056
+ B("tbody", null, [
1057
+ (t(!0), r(z, null, L(e.element.rows, (n, a) => (t(), r("tr", {
1058
+ key: a,
1059
+ class: "border-t border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark"
1060
+ }, [
1061
+ (t(!0), r(z, null, L(n, (u, m) => (t(), r("td", {
1062
+ key: m,
1063
+ class: "px-md py-sm typography-body-2-regular text-on-background dark:text-on-background-dark"
1064
+ }, C(u), 1))), 128))
1065
+ ]))), 128))
1066
+ ])
1067
+ ])
1068
+ ]));
1069
+ }
1070
+ }), wl = /* @__PURE__ */ p({
1071
+ name: "IdwCardTextElement",
1072
+ __name: "TextElement",
1073
+ props: {
1074
+ element: {}
1075
+ },
1076
+ setup(e) {
1077
+ const o = e, l = c(() => {
1078
+ const n = o.element.textStyle ?? "body", a = o.element.tone ?? "default";
1079
+ return [
1080
+ Tt[n],
1081
+ ce[a],
1082
+ "[&_:where(p,ul,ol,h1,h2,h3,h4)]:m-0 [&_p+_p]:mt-sm"
1083
+ ].filter(Boolean).join(" ");
1084
+ });
1085
+ return (n, a) => (t(), d(f(G), {
1086
+ text: e.element.text,
1087
+ "content-class": l.value
1088
+ }, null, 8, ["text", "content-class"]));
1089
+ }
1090
+ }), Cl = ["data-element-type"], J = /* @__PURE__ */ p({
1091
+ name: "IdwCardElementView",
1092
+ __name: "IdwCardElementView",
1093
+ props: {
1094
+ element: {},
1095
+ hostConfig: {}
1096
+ },
1097
+ emits: ["action", "skill-click"],
1098
+ setup(e, { emit: o }) {
1099
+ const l = e, n = o, a = me(), u = c(() => a.isHidden(l.element.id, l.element.isVisible)), m = c(() => {
1100
+ const S = l.element.spacing ?? "none";
1101
+ return Lt[S];
1102
+ }), v = c(() => l.element.type !== "Container" ? "" : ce[l.element.tone ?? "default"]), g = c(() => Ue(l.element) ? l.element : void 0);
1103
+ return (S, b) => u.value ? y("", !0) : (t(), r("div", {
1104
+ key: 0,
1105
+ class: E(["idw-card-element min-w-0", [
1106
+ m.value,
1107
+ v.value,
1108
+ e.element.separator ? "border-t border-outline-opacity-0-12 dark:border-outline-opacity-0-12-dark pt-md" : "",
1109
+ (e.element.type === "Html" || e.element.type === "File") && e.hostConfig.embedSize === "fill" ? "flex-1 min-h-0 flex flex-col" : ""
1110
+ ]]),
1111
+ "data-element-type": e.element.type
1112
+ }, [
1113
+ g.value ? (t(), d(ul, {
1114
+ key: 0,
1115
+ element: g.value
1116
+ }, null, 8, ["element"])) : e.element.type === "Text" ? (t(), d(wl, {
1117
+ key: 1,
1118
+ element: e.element
1119
+ }, null, 8, ["element"])) : e.element.type === "Image" ? (t(), d(Zt, {
1120
+ key: 2,
1121
+ element: e.element
1122
+ }, null, 8, ["element"])) : e.element.type === "FactSet" ? (t(), d(Wt, {
1123
+ key: 3,
1124
+ element: e.element
1125
+ }, null, 8, ["element"])) : e.element.type === "Container" ? (t(), d(Ft, {
1126
+ key: 4,
1127
+ element: e.element,
1128
+ "host-config": e.hostConfig,
1129
+ onAction: b[0] || (b[0] = (x) => n("action", x)),
1130
+ onSkillClick: b[1] || (b[1] = (x) => n("skill-click"))
1131
+ }, null, 8, ["element", "host-config"])) : e.element.type === "ColumnSet" ? (t(), d(Rt, {
1132
+ key: 5,
1133
+ element: e.element,
1134
+ "host-config": e.hostConfig,
1135
+ onAction: b[2] || (b[2] = (x) => n("action", x)),
1136
+ onSkillClick: b[3] || (b[3] = (x) => n("skill-click"))
1137
+ }, null, 8, ["element", "host-config"])) : e.element.type === "Html" ? (t(), d(Ht, {
1138
+ key: 6,
1139
+ element: e.element,
1140
+ "host-config": e.hostConfig
1141
+ }, null, 8, ["element", "host-config"])) : e.element.type === "File" ? (t(), d(qt, {
1142
+ key: 7,
1143
+ element: e.element,
1144
+ "host-config": e.hostConfig
1145
+ }, null, 8, ["element", "host-config"])) : e.element.type === "Skill" ? (t(), d(gl, {
1146
+ key: 8,
1147
+ element: e.element,
1148
+ onAction: b[4] || (b[4] = (x) => n("action", x)),
1149
+ onSkillClick: b[5] || (b[5] = (x) => n("skill-click"))
1150
+ }, null, 8, ["element"])) : e.element.type === "ActionSet" ? (t(), d(Vt, {
1151
+ key: 9,
1152
+ element: e.element,
1153
+ onAction: b[6] || (b[6] = (x) => n("action", x))
1154
+ }, null, 8, ["element"])) : e.element.type === "Progress" ? (t(), d(bl, {
1155
+ key: 10,
1156
+ element: e.element
1157
+ }, null, 8, ["element"])) : e.element.type === "Badge" ? (t(), d(jt, {
1158
+ key: 11,
1159
+ element: e.element
1160
+ }, null, 8, ["element"])) : e.element.type === "Icon" ? (t(), d(Qt, {
1161
+ key: 12,
1162
+ element: e.element
1163
+ }, null, 8, ["element"])) : e.element.type === "ImageSet" ? (t(), d(Jt, {
1164
+ key: 13,
1165
+ element: e.element
1166
+ }, null, 8, ["element"])) : e.element.type === "Media" ? (t(), d(fl, {
1167
+ key: 14,
1168
+ element: e.element
1169
+ }, null, 8, ["element"])) : e.element.type === "Table" ? (t(), d(pl, {
1170
+ key: 15,
1171
+ element: e.element
1172
+ }, null, 8, ["element"])) : y("", !0)
1173
+ ], 10, Cl));
1174
+ }
1175
+ }), Sl = {
1176
+ key: 1,
1177
+ class: "m-0 typography-body-2-regular text-on-surface-variant dark:text-on-surface-variant-dark",
1178
+ "data-testid": "idw-card-fallback"
1179
+ }, Bl = /* @__PURE__ */ p({
1180
+ name: "CardRenderer",
1181
+ __name: "CardRenderer",
1182
+ props: {
1183
+ source: {},
1184
+ hostConfig: { default: void 0 }
1185
+ },
1186
+ emits: ["action", "skill-click"],
1187
+ setup(e, { emit: o }) {
1188
+ const l = e, n = o, a = c(() => Pt(l.hostConfig)), u = c(() => ae(l.source)), m = c(() => u.value.success ? u.value.card : void 0), v = $({}), g = $({}), S = A(/* @__PURE__ */ new Set()), b = A({});
1189
+ function x() {
1190
+ Object.keys(v).forEach((i) => {
1191
+ delete v[i];
1192
+ }), Object.keys(g).forEach((i) => {
1193
+ delete g[i];
1194
+ }), S.value = /* @__PURE__ */ new Set(), b.value = {}, m.value && Object.assign(v, We(m.value.body));
1195
+ }
1196
+ ne(m, x, { immediate: !0 }), he(ue, {
1197
+ getValue: (i) => v[i],
1198
+ setValue: (i, s) => {
1199
+ v[i] = s, delete g[i];
1200
+ },
1201
+ getError: (i) => g[i],
1202
+ isHidden: (i, s) => !Ae({ id: i, isVisible: s }, S.value)
1203
+ });
1204
+ const w = c(() => {
1205
+ if (!u.value.success)
1206
+ return u.value.fallbackText || "This card could not be displayed.";
1207
+ });
1208
+ function h() {
1209
+ if (!m.value)
1210
+ return !0;
1211
+ let i = !0;
1212
+ for (const s of qe(m.value.body, S.value))
1213
+ !s.visible || !s.required || He(v[s.name]) && (g[s.name] = s.errorMessage || "This field is required.", i = !1);
1214
+ return i;
1215
+ }
1216
+ function I(i) {
1217
+ var s;
1218
+ if (i.verb === "toggle-visibility" && ((s = i.targetIds) != null && s.length)) {
1219
+ const k = new Set(S.value);
1220
+ for (const O of i.targetIds)
1221
+ k.has(O) ? k.delete(O) : k.add(O);
1222
+ S.value = k;
1223
+ }
1224
+ if (i.verb === "show-card" && i.card) {
1225
+ const k = { ...b.value };
1226
+ k[i.title] ? delete k[i.title] : k[i.title] = i.card, b.value = k;
1227
+ }
1228
+ (i.verb === "submit" || i.verb === "approve" || i.verb === "reject") && !h() || n("action", {
1229
+ ...i,
1230
+ inputs: { ...v }
1231
+ });
1232
+ }
1233
+ return (i, s) => {
1234
+ var O;
1235
+ const k = pe("CardRenderer", !0);
1236
+ return t(), r("section", {
1237
+ class: E(["idw-card flex min-w-0 flex-col bg-surface dark:bg-surface-dark text-on-surface dark:text-on-surface-dark", [
1238
+ a.value.theme === "dark" ? "dark" : void 0,
1239
+ a.value.embedSize === "fill" ? "flex-1 min-h-0" : void 0
1240
+ ]]),
1241
+ "data-testid": "idw-card"
1242
+ }, [
1243
+ m.value ? (t(), r(z, { key: 0 }, [
1244
+ (t(!0), r(z, null, L(m.value.body, (j, N) => (t(), d(J, {
1245
+ key: j.id || N,
1246
+ element: j,
1247
+ "host-config": a.value,
1248
+ onAction: I,
1249
+ onSkillClick: s[0] || (s[0] = (F) => n("skill-click"))
1250
+ }, null, 8, ["element", "host-config"]))), 128)),
1251
+ (O = m.value.actions) != null && O.length ? (t(), d(ke, {
1252
+ key: 0,
1253
+ actions: m.value.actions,
1254
+ onAction: I
1255
+ }, null, 8, ["actions"])) : y("", !0),
1256
+ (t(!0), r(z, null, L(b.value, (j, N) => (t(), d(k, {
1257
+ key: `show-${N}`,
1258
+ source: { card: j },
1259
+ "host-config": e.hostConfig,
1260
+ onAction: s[1] || (s[1] = (F) => n("action", F)),
1261
+ onSkillClick: s[2] || (s[2] = (F) => n("skill-click"))
1262
+ }, null, 8, ["source", "host-config"]))), 128))
1263
+ ], 64)) : (t(), r("p", Sl, C(w.value), 1))
1264
+ ], 2);
1265
+ };
1266
+ }
1267
+ }), zl = /* @__PURE__ */ p({
1268
+ name: "FeedListItemBody",
1269
+ __name: "FeedListItemBody",
1270
+ props: {
1271
+ item: {},
1272
+ cardHostConfig: {}
1273
+ },
1274
+ emits: ["start-skill", "skill-click", "action"],
1275
+ setup(e, { emit: o }) {
1276
+ const l = o;
1277
+ return (n, a) => e.item.type === "card" ? (t(), d(f(Bl), {
1278
+ key: 0,
1279
+ source: e.item.source,
1280
+ "host-config": e.cardHostConfig,
1281
+ onAction: a[0] || (a[0] = (u) => l("action", u)),
1282
+ onSkillClick: a[1] || (a[1] = (u) => l("skill-click"))
1283
+ }, null, 8, ["source", "host-config"])) : e.item.type === "file" ? (t(), d(f(de), {
1284
+ key: 1,
1285
+ title: e.item.title,
1286
+ src: e.item.fileUrl
1287
+ }, null, 8, ["title", "src"])) : e.item.type === "html" ? (t(), d(f(se), {
1288
+ key: 2,
1289
+ title: e.item.title,
1290
+ content: e.item.content
1291
+ }, null, 8, ["title", "content"])) : e.item.type === "skill" ? (t(), d(f(ie), {
1292
+ key: 3,
1293
+ text: e.item.content,
1294
+ skill: e.item.skill,
1295
+ "skill-background-url": e.item.skillBackgroundUrl,
1296
+ "skill-card-size": e.item.skillCardSize,
1297
+ "start-skill-label": e.item.startSkillLabel,
1298
+ onStartSkill: a[2] || (a[2] = (u) => l("start-skill")),
1299
+ onSkillClick: a[3] || (a[3] = (u) => l("skill-click"))
1300
+ }, null, 8, ["text", "skill", "skill-background-url", "skill-card-size", "start-skill-label"])) : (t(), d(f(G), {
1301
+ key: 4,
1302
+ text: e.item.content
1303
+ }, null, 8, ["text"]));
1304
+ }
1305
+ }), Il = { class: "feed-list flex h-full min-h-0 flex-col overflow-hidden" }, Ll = {
1306
+ key: 0,
1307
+ class: "feed-list__header shrink-0"
1308
+ }, Tl = {
1309
+ key: 0,
1310
+ class: "flex flex-1 items-center justify-center py-xl"
1311
+ }, Pl = {
1312
+ key: 0,
1313
+ class: "py-xl text-center typography-headline-4 text-on-background dark:text-on-background-dark"
1314
+ }, El = {
1315
+ key: 1,
1316
+ class: "flex justify-center py-md"
1317
+ }, ql = /* @__PURE__ */ p({
1318
+ name: "FeedList",
1319
+ __name: "FeedList",
1320
+ props: {
1321
+ items: {},
1322
+ loading: { type: Boolean, default: !1 },
1323
+ loadingMore: { type: Boolean, default: !1 },
1324
+ emptyLabel: { default: "No posts yet" },
1325
+ controlLabels: { default: void 0 },
1326
+ reachBottomOffset: { default: 500 },
1327
+ itemClass: { default: void 0 },
1328
+ cardHostConfig: {}
1329
+ },
1330
+ emits: ["reach-bottom", "fullscreen", "start-skill", "skill-click", "action", "control-click", "expand", "collapse", "update:item-expanded"],
1331
+ setup(e, { emit: o }) {
1332
+ const l = e, n = o, a = Z(), u = c(() => !!a.header), m = c(() => !!a.empty), v = c(() => !l.loading && l.items.length === 0), g = A(!1);
1333
+ function S(h) {
1334
+ return h.type === "html" || h.type === "file";
1335
+ }
1336
+ function b(h) {
1337
+ return typeof h.fullscreenControl == "boolean" ? h.fullscreenControl : S(h);
1338
+ }
1339
+ function x(h) {
1340
+ const I = S(h) ? "[&_.feed-item-base__body]:!max-h-none" : void 0;
1341
+ return l.itemClass && I ? `${l.itemClass} ${I}` : l.itemClass ?? I;
1342
+ }
1343
+ function w(h) {
1344
+ const I = h.target;
1345
+ if (!I || l.loading || l.loadingMore)
1346
+ return;
1347
+ const s = I.scrollHeight - I.scrollTop - I.clientHeight <= l.reachBottomOffset;
1348
+ s && !g.value && n("reach-bottom"), g.value = s;
1349
+ }
1350
+ return (h, I) => (t(), r("section", Il, [
1351
+ u.value ? (t(), r("div", Ll, [
1352
+ P(h.$slots, "header")
1353
+ ])) : y("", !0),
1354
+ B("div", {
1355
+ class: "feed-list__scroll flex min-h-0 flex-1 flex-col gap-y-md overflow-y-auto",
1356
+ onScrollPassive: w
1357
+ }, [
1358
+ e.loading ? (t(), r("div", Tl, [
1359
+ P(h.$slots, "loading", {}, () => [
1360
+ V(f(X), {
1361
+ variant: "circular",
1362
+ color: "primary",
1363
+ size: "s"
1364
+ })
1365
+ ])
1366
+ ])) : (t(), r(z, { key: 1 }, [
1367
+ v.value ? (t(), r("div", Pl, [
1368
+ m.value ? P(h.$slots, "empty", {}, void 0, void 0, 0) : (t(), r(z, { key: 1 }, [
1369
+ W(C(e.emptyLabel), 1)
1370
+ ], 64))
1371
+ ])) : y("", !0),
1372
+ (t(!0), r(z, null, L(e.items, (i) => (t(), d(f(gt), {
1373
+ id: i.id,
1374
+ key: i.id,
1375
+ class: E(x(i)),
1376
+ title: i.title,
1377
+ "short-content": i.shortContent,
1378
+ timestamp: i.timestamp,
1379
+ "timestamp-datetime": i.timestampDatetime,
1380
+ source: i.source,
1381
+ "is-new": i.isNew,
1382
+ expandable: i.expandable !== !1,
1383
+ "fullscreen-control": b(i),
1384
+ "mention-control": i.mentionControl !== !1,
1385
+ "control-labels": e.controlLabels,
1386
+ onFullscreen: (s) => n("fullscreen", i),
1387
+ onControlClick: (s) => n("control-click", i, s),
1388
+ onExpand: (s) => n("expand", i),
1389
+ onCollapse: (s) => n("collapse", i),
1390
+ "onUpdate:expanded": (s) => n("update:item-expanded", i, s)
1391
+ }, we({
1392
+ body: R(() => [
1393
+ V(zl, {
1394
+ item: i,
1395
+ "card-host-config": e.cardHostConfig,
1396
+ onStartSkill: (s) => n("start-skill", i),
1397
+ onSkillClick: (s) => n("skill-click", i),
1398
+ onAction: (s) => n("action", i, s)
1399
+ }, null, 8, ["item", "card-host-config", "onStartSkill", "onSkillClick", "onAction"])
1400
+ ]),
1401
+ _: 2
1402
+ }, [
1403
+ h.$slots.actions ? {
1404
+ name: "actions",
1405
+ fn: R(() => [
1406
+ P(h.$slots, "actions", { item: i })
1407
+ ]),
1408
+ key: "0"
1409
+ } : void 0,
1410
+ h.$slots.controls ? {
1411
+ name: "controls",
1412
+ fn: R(() => [
1413
+ P(h.$slots, "controls", { item: i })
1414
+ ]),
1415
+ key: "1"
1416
+ } : void 0,
1417
+ h.$slots.footer ? {
1418
+ name: "footer",
1419
+ fn: R(() => [
1420
+ P(h.$slots, "footer", { item: i })
1421
+ ]),
1422
+ key: "2"
1423
+ } : void 0
1424
+ ]), 1032, ["id", "class", "title", "short-content", "timestamp", "timestamp-datetime", "source", "is-new", "expandable", "fullscreen-control", "mention-control", "control-labels", "onFullscreen", "onControlClick", "onExpand", "onCollapse", "onUpdate:expanded"]))), 128)),
1425
+ e.loadingMore ? (t(), r("div", El, [
1426
+ P(h.$slots, "loading-more", {}, () => [
1427
+ V(f(X), {
1428
+ variant: "circular",
1429
+ color: "primary",
1430
+ size: "s"
1431
+ })
1432
+ ])
1433
+ ])) : y("", !0)
1434
+ ], 64))
1435
+ ], 32)
1436
+ ]));
1437
+ }
1438
+ });
1439
+ export {
1440
+ Xl as APPROVAL_TEMPLATE_ID,
1441
+ Bl as CardRenderer,
1442
+ M as CardSize,
1443
+ It as DEFAULT_IDW_CARD_HOST_CONFIG,
1444
+ $e as FEED_EMBED_SANDBOX,
1445
+ _e as FEED_EMBED_SIZE_CLASS,
1446
+ Zl as FILE_TEMPLATE_ID,
1447
+ de as FeedFileContent,
1448
+ se as FeedHtmlContent,
1449
+ gt as FeedItemBase,
1450
+ Fl as FeedItemMetaFooter,
1451
+ ql as FeedList,
1452
+ G as FeedMarkdownContent,
1453
+ ie as FeedSkillContent,
1454
+ Yl as HTML_TEMPLATE_ID,
1455
+ Gl as IDW_CARD_MAX_ACTIONS,
1456
+ Jl as IDW_CARD_MAX_BODY_ELEMENTS,
1457
+ Kl as IDW_CARD_MAX_COLUMNS,
1458
+ $l as IDW_CARD_MAX_NESTING,
1459
+ _l as IDW_CARD_MIN_COLUMNS,
1460
+ en as IDW_CARD_SCHEMA,
1461
+ tn as IDW_CARD_TEMPLATES,
1462
+ ln as IDW_CARD_VERSION,
1463
+ Lt as IDW_SPACING_CLASS,
1464
+ Tt as IDW_TEXT_STYLE_CLASS,
1465
+ ce as IDW_TONE_SURFACE_CLASS,
1466
+ nn as MARKDOWN_TEMPLATE_ID,
1467
+ an as SKILL_TEMPLATE_ID,
1468
+ Ke as SkillCard,
1469
+ rn as approvalDataSchema,
1470
+ on as approvalTemplate,
1471
+ sn as approvalTemplateCard,
1472
+ dn as bindIdwCard,
1473
+ Al as cardFromFile,
1474
+ Ul as cardFromHtml,
1475
+ Dl as cardFromMarkdown,
1476
+ Wl as cardFromSkill,
1477
+ cn as collectInitialInputValues,
1478
+ et as formatFeedReadingTime,
1479
+ Nl as formatIdwSummary,
1480
+ un as getIdwCardFallbackText,
1481
+ mn as getIdwCardJsonSchema,
1482
+ kn as getIdwCardTemplate,
1483
+ fn as getIdwCardTemplateDocument,
1484
+ yn as idwCardActionSchema,
1485
+ vn as idwCardElementSchema,
1486
+ bn as idwCardSchema,
1487
+ gn as idwCardVerbSchema,
1488
+ xn as isAllowedResourceUrl,
1489
+ hn as isIdwCardInputElement,
1490
+ pn as isInputEmpty,
1491
+ wn as listIdwCardInputs,
1492
+ Cn as listIdwCardTemplates,
1493
+ Sn as listIdwSchemaCatalog,
1494
+ Bn as parseIdwCard,
1495
+ zn as resolveCardRendererSource,
1496
+ Pt as resolveIdwCardHostConfig,
1497
+ In as validateIdwCard
1498
+ };
1499
+ //# sourceMappingURL=index.js.map