@trebired/frontend 1.5.0 → 1.7.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 (159) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/actions/buttons.d.ts.map +1 -1
  3. package/dist/actions/buttons.js +43 -5
  4. package/dist/actions/buttons.js.map +1 -1
  5. package/dist/actions/components/index.d.ts +9 -0
  6. package/dist/actions/components/index.d.ts.map +1 -1
  7. package/dist/actions/components/index.js +10 -5
  8. package/dist/actions/components/index.js.map +1 -1
  9. package/dist/actions/forms.d.ts.map +1 -1
  10. package/dist/actions/forms.js +22 -4
  11. package/dist/actions/forms.js.map +1 -1
  12. package/dist/actions/index.d.ts +1 -1
  13. package/dist/actions/index.d.ts.map +1 -1
  14. package/dist/actions/index.js +1 -1
  15. package/dist/actions/index.js.map +1 -1
  16. package/dist/actions/response.d.ts +14 -1
  17. package/dist/actions/response.d.ts.map +1 -1
  18. package/dist/actions/response.js +76 -3
  19. package/dist/actions/response.js.map +1 -1
  20. package/dist/actions/triggers.d.ts +1 -0
  21. package/dist/actions/triggers.d.ts.map +1 -1
  22. package/dist/actions/triggers.js +11 -2
  23. package/dist/actions/triggers.js.map +1 -1
  24. package/dist/actions/types.d.ts +7 -0
  25. package/dist/actions/types.d.ts.map +1 -1
  26. package/dist/config/normalize.d.ts.map +1 -1
  27. package/dist/config/normalize.js +1 -0
  28. package/dist/config/normalize.js.map +1 -1
  29. package/dist/config/scss.d.ts.map +1 -1
  30. package/dist/config/scss.js +1 -0
  31. package/dist/config/scss.js.map +1 -1
  32. package/dist/config/types.d.ts +1 -1
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +3 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/primitives/components/card/body.d.ts +11 -0
  39. package/dist/primitives/components/card/body.d.ts.map +1 -0
  40. package/dist/primitives/components/card/body.js +138 -0
  41. package/dist/primitives/components/card/body.js.map +1 -0
  42. package/dist/primitives/components/card/parts.d.ts +10 -0
  43. package/dist/primitives/components/card/parts.d.ts.map +1 -0
  44. package/dist/primitives/components/card/parts.js +46 -0
  45. package/dist/primitives/components/card/parts.js.map +1 -0
  46. package/dist/primitives/components/controls.d.ts +15 -0
  47. package/dist/primitives/components/controls.d.ts.map +1 -0
  48. package/dist/primitives/components/controls.js +86 -0
  49. package/dist/primitives/components/controls.js.map +1 -0
  50. package/dist/primitives/components/index.d.ts +8 -0
  51. package/dist/primitives/components/index.d.ts.map +1 -0
  52. package/dist/primitives/components/index.js +7 -0
  53. package/dist/primitives/components/index.js.map +1 -0
  54. package/dist/primitives/components/key_value.d.ts +10 -0
  55. package/dist/primitives/components/key_value.d.ts.map +1 -0
  56. package/dist/primitives/components/key_value.js +115 -0
  57. package/dist/primitives/components/key_value.js.map +1 -0
  58. package/dist/primitives/components/shared.d.ts +44 -0
  59. package/dist/primitives/components/shared.d.ts.map +1 -0
  60. package/dist/primitives/components/shared.js +56 -0
  61. package/dist/primitives/components/shared.js.map +1 -0
  62. package/dist/primitives/components/time_counter.d.ts +7 -0
  63. package/dist/primitives/components/time_counter.d.ts.map +1 -0
  64. package/dist/primitives/components/time_counter.js +103 -0
  65. package/dist/primitives/components/time_counter.js.map +1 -0
  66. package/dist/primitives/components/types.d.ts +203 -0
  67. package/dist/primitives/components/types.d.ts.map +1 -0
  68. package/dist/primitives/components/types.js +2 -0
  69. package/dist/primitives/components/types.js.map +1 -0
  70. package/dist/primitives/index.d.ts +21 -0
  71. package/dist/primitives/index.d.ts.map +1 -0
  72. package/dist/primitives/index.js +127 -0
  73. package/dist/primitives/index.js.map +1 -0
  74. package/dist/primitives/styles/_card.scss +106 -0
  75. package/dist/primitives/styles/_controls.scss +195 -0
  76. package/dist/primitives/styles/_indicators.scss +165 -0
  77. package/dist/primitives/styles/_variables.scss +68 -0
  78. package/dist/primitives/styles/index.scss +3 -0
  79. package/dist/react/index.d.ts +2 -1
  80. package/dist/react/index.d.ts.map +1 -1
  81. package/dist/react/index.js +2 -1
  82. package/dist/react/index.js.map +1 -1
  83. package/dist/src/actions/buttons.d.ts.map +1 -1
  84. package/dist/src/actions/buttons.js +43 -5
  85. package/dist/src/actions/buttons.js.map +1 -1
  86. package/dist/src/actions/components/index.d.ts +9 -0
  87. package/dist/src/actions/components/index.d.ts.map +1 -1
  88. package/dist/src/actions/components/index.js +10 -5
  89. package/dist/src/actions/components/index.js.map +1 -1
  90. package/dist/src/actions/forms.d.ts.map +1 -1
  91. package/dist/src/actions/forms.js +22 -4
  92. package/dist/src/actions/forms.js.map +1 -1
  93. package/dist/src/actions/index.d.ts +1 -1
  94. package/dist/src/actions/index.d.ts.map +1 -1
  95. package/dist/src/actions/index.js +1 -1
  96. package/dist/src/actions/index.js.map +1 -1
  97. package/dist/src/actions/response.d.ts +14 -1
  98. package/dist/src/actions/response.d.ts.map +1 -1
  99. package/dist/src/actions/response.js +76 -3
  100. package/dist/src/actions/response.js.map +1 -1
  101. package/dist/src/actions/triggers.d.ts +1 -0
  102. package/dist/src/actions/triggers.d.ts.map +1 -1
  103. package/dist/src/actions/triggers.js +11 -2
  104. package/dist/src/actions/triggers.js.map +1 -1
  105. package/dist/src/actions/types.d.ts +7 -0
  106. package/dist/src/actions/types.d.ts.map +1 -1
  107. package/dist/src/config/normalize.d.ts.map +1 -1
  108. package/dist/src/config/normalize.js +1 -0
  109. package/dist/src/config/normalize.js.map +1 -1
  110. package/dist/src/config/scss.d.ts.map +1 -1
  111. package/dist/src/config/scss.js +1 -0
  112. package/dist/src/config/scss.js.map +1 -1
  113. package/dist/src/config/types.d.ts +1 -1
  114. package/dist/src/config/types.d.ts.map +1 -1
  115. package/dist/src/index.d.ts +1 -0
  116. package/dist/src/index.d.ts.map +1 -1
  117. package/dist/src/index.js +3 -0
  118. package/dist/src/index.js.map +1 -1
  119. package/dist/src/primitives/components/card/body.d.ts +11 -0
  120. package/dist/src/primitives/components/card/body.d.ts.map +1 -0
  121. package/dist/src/primitives/components/card/body.js +138 -0
  122. package/dist/src/primitives/components/card/body.js.map +1 -0
  123. package/dist/src/primitives/components/card/parts.d.ts +10 -0
  124. package/dist/src/primitives/components/card/parts.d.ts.map +1 -0
  125. package/dist/src/primitives/components/card/parts.js +46 -0
  126. package/dist/src/primitives/components/card/parts.js.map +1 -0
  127. package/dist/src/primitives/components/controls.d.ts +15 -0
  128. package/dist/src/primitives/components/controls.d.ts.map +1 -0
  129. package/dist/src/primitives/components/controls.js +86 -0
  130. package/dist/src/primitives/components/controls.js.map +1 -0
  131. package/dist/src/primitives/components/index.d.ts +8 -0
  132. package/dist/src/primitives/components/index.d.ts.map +1 -0
  133. package/dist/src/primitives/components/index.js +7 -0
  134. package/dist/src/primitives/components/index.js.map +1 -0
  135. package/dist/src/primitives/components/key_value.d.ts +10 -0
  136. package/dist/src/primitives/components/key_value.d.ts.map +1 -0
  137. package/dist/src/primitives/components/key_value.js +115 -0
  138. package/dist/src/primitives/components/key_value.js.map +1 -0
  139. package/dist/src/primitives/components/shared.d.ts +44 -0
  140. package/dist/src/primitives/components/shared.d.ts.map +1 -0
  141. package/dist/src/primitives/components/shared.js +56 -0
  142. package/dist/src/primitives/components/shared.js.map +1 -0
  143. package/dist/src/primitives/components/time_counter.d.ts +7 -0
  144. package/dist/src/primitives/components/time_counter.d.ts.map +1 -0
  145. package/dist/src/primitives/components/time_counter.js +103 -0
  146. package/dist/src/primitives/components/time_counter.js.map +1 -0
  147. package/dist/src/primitives/components/types.d.ts +203 -0
  148. package/dist/src/primitives/components/types.d.ts.map +1 -0
  149. package/dist/src/primitives/components/types.js +2 -0
  150. package/dist/src/primitives/components/types.js.map +1 -0
  151. package/dist/src/primitives/index.d.ts +21 -0
  152. package/dist/src/primitives/index.d.ts.map +1 -0
  153. package/dist/src/primitives/index.js +127 -0
  154. package/dist/src/primitives/index.js.map +1 -0
  155. package/dist/src/react/index.d.ts +2 -1
  156. package/dist/src/react/index.d.ts.map +1 -1
  157. package/dist/src/react/index.js +2 -1
  158. package/dist/src/react/index.js.map +1 -1
  159. package/package.json +1 -1
@@ -0,0 +1,138 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "../../../../icons/react/index.js";
3
+ import { search_config_script } from "../../../../inputs/advanced/search.js";
4
+ import { joinClassNames, toText, wrapTriggerHostNode } from "../../../../primitives/components/shared.js";
5
+ function stripGapClasses(value) {
6
+ return value
7
+ .split(/\s+/)
8
+ .filter(Boolean)
9
+ .filter((token) => !/^gap(?:-[a-z0-9]+)?$/iu.test(token))
10
+ .join(" ");
11
+ }
12
+ function liveCardNode(props, node) {
13
+ const kind = toText(props.live?.kind);
14
+ const id = toText(props.live?.id);
15
+ if (!kind || !id)
16
+ return node;
17
+ return (_jsx("span", { "data-tbf-live-card": "", "data-tbf-live-id": id, "data-tbf-live-kind": kind, style: { display: "contents" }, children: node }));
18
+ }
19
+ function resolveWidth(props) {
20
+ if (props.width === "full")
21
+ return "full";
22
+ if (props.width === "fit")
23
+ return "fit";
24
+ return props.titleWidthFit !== false ? "fit" : "full";
25
+ }
26
+ function resolvedTitleClassName(props) {
27
+ return joinClassNames("text-break", resolveWidth(props) === "fit" ? "width-fit" : "", props.titleClassName);
28
+ }
29
+ function resolvedSubtitleClassName(props) {
30
+ return joinClassNames("text-muted", "text-sm", "text-break", props.subtitleClassName);
31
+ }
32
+ function titleStyle(titleClassName) {
33
+ const usesWidthFit = titleClassName.split(/\s+/).includes("width-fit");
34
+ return { flex: usesWidthFit ? "0 1 auto" : "1 1 auto" };
35
+ }
36
+ function card_icon(props) {
37
+ if (!props.children)
38
+ return null;
39
+ return (_jsx("div", { "aria-hidden": "true", className: joinClassNames("inline-row", "gap-xs", "no-stretch", "ver-center", "card-icon", props.className), children: props.children }));
40
+ }
41
+ function iconBlock(props, showDivider) {
42
+ if (!props.icon)
43
+ return null;
44
+ return (_jsxs(_Fragment, { children: [card_icon({ children: props.icon }), showDivider ? _jsx("span", { "aria-hidden": "true", className: "card-body-divider" }) : null] }));
45
+ }
46
+ function titleSpan(props, titleClassName) {
47
+ return (_jsx("span", { className: titleClassName, style: titleStyle(titleClassName), ...(props.titleAttrs || {}), children: props.title }));
48
+ }
49
+ function titleRow(props, titleClassName, showTitleMeta, showActions) {
50
+ const hasAside = Boolean((showTitleMeta && props.meta) || (showActions && props.actions));
51
+ if (!props.title && !hasAside)
52
+ return null;
53
+ if (!hasAside)
54
+ return titleSpan(props, titleClassName);
55
+ const actionsClassName = toText(props.actionsClassName, "inline-row fit-content gap-xs2");
56
+ return (_jsxs("div", { className: "inline-row gap-xs", children: [titleSpan(props, titleClassName), showTitleMeta && props.meta ? props.meta : null, showActions && props.actions ? (_jsx("div", { className: "right", children: _jsx("div", { className: actionsClassName, children: props.actions }) })) : null] }));
57
+ }
58
+ function contentColumn(props, showTitleMeta, showActions, showSegments) {
59
+ const titleClassName = resolvedTitleClassName(props);
60
+ return (_jsxs("div", { className: "column gap-xs", children: [titleRow(props, titleClassName, showTitleMeta, showActions), props.subtitle ? _jsx("div", { className: resolvedSubtitleClassName(props), children: props.subtitle }) : null, showSegments ? props.segments : null, props.extra] }));
61
+ }
62
+ function contentBlock(props, bodyClassName, options) {
63
+ return (_jsxs("div", { className: `inline-row gap-xs card-body ${bodyClassName}`.trim(), children: [options.hasIcon ? iconBlock(props, options.showDivider) : null, contentColumn(props, options.showTitleMeta, options.showActions, options.showSegments)] }));
64
+ }
65
+ function selectButton(props, className, content, selected, disabled) {
66
+ return (_jsx("button", { ...(props.dataAttrs || {}), "aria-disabled": disabled ? "true" : undefined, "aria-selected": selected ? "true" : "false", className: className, "data-card-excluded": props.select && !selected ? "true" : undefined, "data-card-row": "", "data-card-selected": selected ? "true" : undefined, "data-select-card": "", "data-value": toText(props.select?.value) || undefined, disabled: disabled, style: { textAlign: "left", width: "100%" }, type: props.select?.buttonType || "button", value: toText(props.select?.value) || undefined, children: content }));
67
+ }
68
+ function searchableBodyNode(props, node) {
69
+ return props.search ? (_jsxs("span", { "data-search-item": "", style: { display: "contents" }, children: [search_config_script({ config: props.search, kind: "item" }), node] })) : node;
70
+ }
71
+ function bodyState(props) {
72
+ const typeConfig = props.type && typeof props.type === "object" ? props.type : {};
73
+ const showIcon = typeConfig.icon !== false;
74
+ const selected = props.select && props.select.selected === true;
75
+ return {
76
+ baseClassName: joinClassNames("card-row", selected ? "selected" : "", props.select && !selected ? "excluded" : "", props.className),
77
+ bodyClassName: stripGapClasses(toText(props.bodyClassName)),
78
+ disabled: props.select && props.select.disabled === true,
79
+ options: {
80
+ hasIcon: Boolean(showIcon && props.icon),
81
+ showActions: typeConfig.actions !== false,
82
+ showDivider: props.showDivider !== false && typeConfig.divider !== false,
83
+ showSegments: typeConfig.segments !== false,
84
+ showTitleMeta: typeConfig.titleMeta !== false,
85
+ },
86
+ selected,
87
+ };
88
+ }
89
+ function plainBodyNode(props, baseClassName, content) {
90
+ const rendered = (_jsx("div", { ...(props.dataAttrs || {}), className: baseClassName, "data-card-row": "", children: content }));
91
+ return liveCardNode(props, wrapTriggerHostNode(rendered, { action: props.actionTrigger }));
92
+ }
93
+ function card_body(props) {
94
+ const state = bodyState(props);
95
+ const content = contentBlock(props, state.bodyClassName, state.options);
96
+ if (props.select) {
97
+ return searchableBodyNode(props, wrapTriggerHostNode(selectButton(props, state.baseClassName, content, state.selected, Boolean(state.disabled)), { action: props.actionTrigger }));
98
+ }
99
+ return searchableBodyNode(props, plainBodyNode(props, state.baseClassName, content));
100
+ }
101
+ function selectLayoutClassName(props) {
102
+ return joinClassNames(props.layout === "column" ? "column" : "grid auto-md", "gap-sm", props.className);
103
+ }
104
+ function selectExtra(item) {
105
+ if (!item.details && !item.content)
106
+ return null;
107
+ return (_jsxs(_Fragment, { children: [item.details ? _jsx("div", { className: "text-muted text-sm", children: item.details }) : null, item.content ? _jsx("div", { children: item.content }) : null] }));
108
+ }
109
+ function select(props) {
110
+ const items = Array.isArray(props.items) ? props.items.filter(Boolean) : [];
111
+ const showIcon = props.icon === true;
112
+ return (_jsx("div", { className: selectLayoutClassName(props), ...(props.attrs || {}), children: items.map((item, index) => {
113
+ const value = toText(item.value);
114
+ const key = toText(item.id, value || `select-card-${index}`);
115
+ const selected = item.selected === true;
116
+ const disabled = item.disabled === true;
117
+ return (_jsx("span", { style: { display: "contents" }, children: card_body({
118
+ className: joinClassNames("height-max", item.className),
119
+ dataAttrs: item.attrs,
120
+ extra: selectExtra(item),
121
+ icon: showIcon && item.iconSpec ? _jsx(Icon, { spec: item.iconSpec }) : null,
122
+ meta: item.titleMeta,
123
+ select: {
124
+ buttonType: item.buttonType,
125
+ disabled,
126
+ selected,
127
+ value,
128
+ },
129
+ showDivider: showIcon,
130
+ subtitle: item.description,
131
+ title: item.title || "",
132
+ titleWidthFit: false,
133
+ width: "full",
134
+ }) }, key));
135
+ }) }));
136
+ }
137
+ export { card_body, card_icon, select, selectExtra };
138
+ //# sourceMappingURL=body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../src/primitives/components/card/body.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ import type { CardItemProps, CardSegmentsProps } from "../../../../primitives/components/types.d.ts";
3
+ declare function card_segments(props: CardSegmentsProps): import("react").JSX.Element;
4
+ declare function card_item(props: CardItemProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
5
+ declare function titleDescriptionCard(props: {
6
+ description: ReactNode;
7
+ title: ReactNode;
8
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
9
+ export { card_item, card_segments, titleDescriptionCard };
10
+ //# sourceMappingURL=parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/components/card/parts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,aAAa,EAGb,iBAAiB,EAElB,MAAM,eAAe,CAAC;AAsCvB,iBAAS,aAAa,CAAC,KAAK,EAAE,iBAAiB,+BAQ9C;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,aAAa,yRAoBtC;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,yRAYhF;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { card } from "../../../../primitives/components/controls.js";
3
+ import { card_body } from "./body.js";
4
+ import { toText } from "../../../../primitives/components/shared.js";
5
+ function segmentSpan(entry, rowIndex, segmentIndex) {
6
+ const className = toText(entry?.className, "text-muted");
7
+ const text = entry?.value != null ? String(entry.value) : "";
8
+ if (entry?.kind === "html") {
9
+ return (_jsx("span", { className: className, dangerouslySetInnerHTML: { __html: segmentIndex > 0 ? `• ${text}` : text } }, `segment_${rowIndex}_${segmentIndex}`));
10
+ }
11
+ return (_jsxs("span", { className: className, children: [segmentIndex > 0 ? "• " : "", entry?.value != null ? entry.value : ""] }, `segment_${rowIndex}_${segmentIndex}`));
12
+ }
13
+ function segmentRow(row, rowIndex) {
14
+ const segments = Array.isArray(row?.segments) ? row.segments.filter(Boolean) : [];
15
+ return (_jsx("div", { className: `inline-row gap-xs2 wrap text-muted ${toText(row?.className)}`.trim(), ...(row?.dataAttrs || {}), children: segments.map((entry, segmentIndex) => segmentSpan(entry, rowIndex, segmentIndex)) }, `segments_${rowIndex}`));
16
+ }
17
+ function card_segments(props) {
18
+ const rows = Array.isArray(props.rows) ? props.rows : [];
19
+ if (!rows.length)
20
+ return null;
21
+ return (_jsx("div", { className: "column gap-xs2 text-sm card-segments text-muted", children: rows.map(segmentRow) }));
22
+ }
23
+ function card_item(props) {
24
+ const metaParts = [props.statusHtml, props.titleMetaHtml].filter((part) => typeof part === "string" && part.trim());
25
+ const meta = metaParts.length ? (_jsx("span", { dangerouslySetInnerHTML: { __html: metaParts.join("") } })) : null;
26
+ return card_body({
27
+ actionTrigger: props.actionTrigger,
28
+ className: props.className,
29
+ dataAttrs: props.dataAttrs,
30
+ extra: props.extraHtml ? _jsx("div", { dangerouslySetInnerHTML: { __html: props.extraHtml } }) : null,
31
+ meta,
32
+ search: props.search,
33
+ segments: Array.isArray(props.segmentRows) && props.segmentRows.length
34
+ ? card_segments({ rows: props.segmentRows })
35
+ : null,
36
+ title: props.title || "",
37
+ });
38
+ }
39
+ function titleDescriptionCard(props) {
40
+ return card({
41
+ children: (_jsx(_Fragment, { children: _jsxs("div", { className: "title-desc column gap-sm", children: [_jsx("h3", { children: props.title }), _jsx("p", { className: "text-muted", children: props.description })] }) })),
42
+ className: "column gap-sm",
43
+ });
44
+ }
45
+ export { card_item, card_segments, titleDescriptionCard };
46
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.js","sourceRoot":"","sources":["../../../../../src/primitives/components/card/parts.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ActionFormProps, AvatarProps, ButtonProps, CardProps, CsrfInputProps, PillProps, SeparatorProps, StatusDotProps, bar_props, circle_props, list_props, masonry_props } from "./types.js";
2
+ declare function button(props: ButtonProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode>> | import("react").JSX.Element;
3
+ declare function card(props: CardProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode>> | import("react").JSX.Element;
4
+ declare function action_form(props: ActionFormProps): import("react").JSX.Element;
5
+ declare function csrfInput(props: CsrfInputProps): import("react").JSX.Element;
6
+ declare function avatar(props: AvatarProps): import("react").JSX.Element;
7
+ declare function pill(props: PillProps): import("react").JSX.Element;
8
+ declare function separator(props?: SeparatorProps): import("react").JSX.Element;
9
+ declare function list<T = unknown>(props: list_props<T>): import("react").JSX.Element;
10
+ declare function masonry(props: masonry_props): import("react").JSX.Element;
11
+ declare function bar(props: bar_props): import("react").JSX.Element;
12
+ declare function circle(props: circle_props): import("react").JSX.Element;
13
+ declare function status_dot(props: StatusDotProps): import("react").JSX.Element;
14
+ export { action_form, avatar, bar, button, card, circle, csrfInput, list, masonry, pill, separator, status_dot, };
15
+ //# sourceMappingURL=controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/controls.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,SAAS,EACT,cAAc,EACd,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAOpB,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,yTAQjC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,yTAQ7B;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,eAAe,+BA0B1C;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,cAAc,+BAIvC;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,WAAW,+BAsBjC;AAED,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,+BAO7B;AAED,iBAAS,SAAS,CAAC,KAAK,GAAE,cAAmB,+BAmB5C;AAED,iBAAS,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,+BAiB9C;AAED,iBAAS,OAAO,CAAC,KAAK,EAAE,aAAa,+BAcpC;AAWD,iBAAS,GAAG,CAAC,KAAK,EAAE,SAAS,+BA0B5B;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,YAAY,+BAOlC;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,cAAc,+BAUxC;AAED,OAAO,EACL,WAAW,EACX,MAAM,EACN,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,SAAS,EACT,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,GACX,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ActionForm } from "../../../actions/components/index.js";
4
+ import { Button as FrontendButton, Card as FrontendCard } from "../../../surface/components/index.js";
5
+ import { actionButtonAttrs, appendClassName, joinClassNames, toText, wrapTriggerHostNode } from "./shared.js";
6
+ function buttonClassName(className, variant) {
7
+ return appendClassName("btn", variant === "solid" ? "solid" : "", className);
8
+ }
9
+ function button(props) {
10
+ const { actionButton, actionTrigger, children, className, variant, ...rest } = props;
11
+ return wrapTriggerHostNode(_jsx(FrontendButton, { className: buttonClassName(className, variant), ...actionButtonAttrs(actionButton), ...rest, children: children }), { action: actionTrigger });
12
+ }
13
+ function card(props) {
14
+ const { actionTrigger, children, className, ...rest } = props;
15
+ return wrapTriggerHostNode(_jsx(FrontendCard, { className: className, ...rest, children: children }), { action: actionTrigger });
16
+ }
17
+ function action_form(props) {
18
+ const { action, body, children, ignoreResponseAction, lifecycle, method = "post", success, successTab, ...rest } = props;
19
+ return (_jsx(ActionForm, { ...rest, action: action, body: body, ignoreResponseAction: ignoreResponseAction, lifecycle: lifecycle, method: method, success: success, successTab: successTab, children: children }));
20
+ }
21
+ function csrfInput(props) {
22
+ const value = toText(props.token);
23
+ if (props.optional === true && !value)
24
+ return null;
25
+ return _jsx("input", { type: "hidden", name: "_csrf", value: value });
26
+ }
27
+ function avatar(props) {
28
+ const sizeClass = props.size ? ` ${props.size}` : "";
29
+ if (props.src) {
30
+ return (_jsx("img", { alt: props.alt, className: joinClassNames(`avatar${sizeClass}`, props.className), height: props.height, referrerPolicy: "no-referrer", src: props.src, style: props.style, width: props.width }));
31
+ }
32
+ return (_jsx("div", { "aria-hidden": "true", className: joinClassNames(`avatar${sizeClass} unknown`, props.className), style: props.style }));
33
+ }
34
+ function pill(props) {
35
+ const { children, className, ...rest } = props;
36
+ return (_jsx("span", { className: joinClassNames("pill", className), ...rest, children: children }));
37
+ }
38
+ function separator(props = {}) {
39
+ const orientation = props.orientation === "vertical" ? "vertical" : "horizontal";
40
+ const classNameText = toText(props.className);
41
+ const visible = orientation === "vertical" ||
42
+ props.visible === true ||
43
+ /\bui-separator-visible\b/u.test(classNameText);
44
+ if (!visible)
45
+ return null;
46
+ return (_jsx("div", { "aria-orientation": orientation, className: joinClassNames("ui-separator", orientation === "vertical" ? "ui-separator-vertical" : "ui-separator-horizontal", classNameText), role: "separator" }));
47
+ }
48
+ function list(props) {
49
+ const items = Array.isArray(props.items) ? props.items : [];
50
+ const className = toText(props.className, "list column gap-xs");
51
+ const itemClassName = toText(props.itemClassName);
52
+ return (_jsx("div", { className: className, style: props.style, children: items.map((item, index) => (_createElement("div", { ...(props.getItemProps ? props.getItemProps(item, index) : {}), className: itemClassName || undefined, key: props.getKey ? props.getKey(item, index) : `list_item_${index}` }, props.renderItem(item, index)))) }));
53
+ }
54
+ function masonry(props) {
55
+ const { columns, ...attrs } = props;
56
+ const safeColumns = Array.isArray(columns)
57
+ ? columns.filter((column) => column != null && column !== false)
58
+ : [];
59
+ return (_jsx("div", { ...attrs, className: "grid gap-sm auto-lg", children: safeColumns.map((column, index) => (_jsx("div", { className: "column gap-sm", children: column }, `masonry_column_${index}`))) }));
60
+ }
61
+ function parse_wrapper_attributes(value) {
62
+ const raw = toText(value);
63
+ if (!raw)
64
+ return {};
65
+ return raw.split(/\s+/).filter(Boolean).reduce((attrs, key) => {
66
+ attrs[key] = "";
67
+ return attrs;
68
+ }, {});
69
+ }
70
+ function bar(props) {
71
+ const percent = Number.isFinite(Number(props.percent))
72
+ ? Math.max(0, Math.min(100, Number(props.percent)))
73
+ : 0;
74
+ const className = props.card === true ? "card column gap-xs" : "column gap-xs";
75
+ return (_jsxs("div", { className: className, hidden: props.hidden === true, ...parse_wrapper_attributes(props.wrapperAttributes), children: [_jsxs("div", { className: "inline-row gap-xs", children: [_jsx("span", { className: "text-sm", "data-progress-meta": "", children: String(props.meta || "") }), _jsx("span", { className: "text-sm text-muted right", "data-progress-label": "", children: String(props.label || "") })] }), _jsx("div", { className: "progress", "data-progress": "", style: { ["--progress-percent"]: `${percent}%` }, children: _jsx("div", { "data-progress-mount": "", children: _jsx("span", { "data-progress-fill": "", style: { width: `${percent}%` } }) }) })] }));
76
+ }
77
+ function circle(props) {
78
+ return (_jsx("div", { "aria-hidden": "true", className: `loader-circle ${String(props.size || "md")}` }));
79
+ }
80
+ function status_dot(props) {
81
+ const tone = toText(props.tone, "gray").toLowerCase() || "gray";
82
+ const size = toText(props.size, "md").toLowerCase() || "md";
83
+ return (_jsx("span", { className: joinClassNames("dot", `dot-${size}`, tone, props.className), ...(props.ariaHidden !== false ? { "aria-hidden": "true" } : {}), ...(props.title ? { title: props.title } : {}) }));
84
+ }
85
+ export { action_form, avatar, bar, button, card, circle, csrfInput, list, masonry, pill, separator, status_dot, };
86
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../../src/primitives/components/controls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./card/body.js";
2
+ export * from "./card/parts.js";
3
+ export * from "./controls.js";
4
+ export * from "./key_value.js";
5
+ export * from "./shared.js";
6
+ export * from "./time_counter.js";
7
+ export type { AvatarProps, BodyProps, CardItemProps, CardSegment, CardSegmentRow, CardSegmentsProps, CsrfInputProps, PillProps, SelectCardItem, SelectCardsProps, SeparatorProps, StatusDotProps, StatusDotSize, StatusDotTone, TimeCounterProps, bar_props, circle_props, key_value_group, key_value_props, key_value_row, list_props, masonry_props, primitive_action_form_props, primitive_button_props, primitive_card_props, } from "./types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,YAAY,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./card/body.js";
2
+ export * from "./card/parts.js";
3
+ export * from "./controls.js";
4
+ export * from "./key_value.js";
5
+ export * from "./shared.js";
6
+ export * from "./time_counter.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/primitives/components/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { key_value_props, key_value_row } from "./types.js";
2
+ declare function keyValueRow(label: string, value: unknown, id?: string): key_value_row;
3
+ declare function keyValueTimeRow(label: string, value: unknown, id?: string): key_value_row;
4
+ declare function key_value_rows(rows: key_value_row[], props?: {
5
+ layout?: "column" | "inline";
6
+ rowClassName?: string;
7
+ }): import("react").JSX.Element[];
8
+ declare function key_value(props: key_value_props): import("react").JSX.Element;
9
+ export { keyValueRow, keyValueTimeRow, key_value, key_value_rows };
10
+ //# sourceMappingURL=key_value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key_value.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/key_value.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAiBjE,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAK,GAAG,aAAa,CAO1E;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAK,GAAG,aAAa,CAS9E;AAsED,iBAAS,cAAc,CACrB,IAAI,EAAE,aAAa,EAAE,EACrB,KAAK,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,iCAQhE;AA+BD,iBAAS,SAAS,CAAC,KAAK,EAAE,eAAe,+BA+BxC;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { toText } from "./shared.js";
3
+ import { separator } from "./controls.js";
4
+ function formatAbsoluteDateTimeLabel(value) {
5
+ const raw = toText(value);
6
+ if (!raw)
7
+ return "";
8
+ const date = new Date(raw);
9
+ if (!Number.isFinite(date.getTime()))
10
+ return raw;
11
+ return date.toLocaleString();
12
+ }
13
+ function formatKeyValueRowValue(row) {
14
+ if (row.format === "time")
15
+ return formatAbsoluteDateTimeLabel(row.value);
16
+ return row.value == null ? "" : String(row.value);
17
+ }
18
+ function keyValueRow(label, value, id = "") {
19
+ const text = toText(value);
20
+ return {
21
+ ...(id ? { id } : {}),
22
+ label,
23
+ value: text || "Unavailable",
24
+ };
25
+ }
26
+ function keyValueTimeRow(label, value, id = "") {
27
+ const text = toText(value);
28
+ if (!text)
29
+ return keyValueRow(label, "Unavailable", id);
30
+ return {
31
+ ...(id ? { id } : {}),
32
+ format: "time",
33
+ label,
34
+ value: text,
35
+ };
36
+ }
37
+ function isRenderableValueNode(value) {
38
+ if (Array.isArray(value))
39
+ return true;
40
+ if (!value || typeof value !== "object")
41
+ return false;
42
+ return Object.prototype.hasOwnProperty.call(value, "$$typeof");
43
+ }
44
+ function keyValueRowValueProps(row) {
45
+ return {
46
+ ...(row.id ? { id: String(row.id) } : {}),
47
+ ...(row.attributes ? { "data-attrs-html": row.attributes } : {}),
48
+ ...(row.value_attributes ? { "data-value-attrs-html": row.value_attributes } : {}),
49
+ };
50
+ }
51
+ function row_value_content(row, valueClassName) {
52
+ const valueHtml = typeof row.value_html === "string" ? row.value_html : "";
53
+ const valueNode = row.value_node != null ? row.value_node : isRenderableValueNode(row.value) ? row.value : null;
54
+ const sharedProps = keyValueRowValueProps(row);
55
+ if (valueHtml) {
56
+ return (_jsx("div", { className: valueClassName, ...sharedProps, dangerouslySetInnerHTML: { __html: valueHtml } }));
57
+ }
58
+ if (valueNode != null) {
59
+ return (_jsx("div", { className: valueClassName, ...sharedProps, children: valueNode }));
60
+ }
61
+ return (_jsx("span", { className: valueClassName, ...sharedProps, children: formatKeyValueRowValue(row) }));
62
+ }
63
+ function key_value_row_item(row, index, layout, rowClassName, valueClassName) {
64
+ return (_jsxs("div", { className: `${layout === "inline" ? "inline-row gap-xs2 lh-xs fit-content" : "inline-row gap-xs2 lh-xs"} ${rowClassName}`.trim(), children: [layout === "inline" && index > 0 ? (_jsx("span", { className: "text-muted lh-xs", children: "\u2022" })) : null, _jsxs("span", { className: "text-muted lh-xs", ...(row.label_attributes ? { "data-label-attrs-html": row.label_attributes } : {}), children: [String(row.label || ""), ":"] }), row_value_content(row, valueClassName)] }, `${String(row.label || "row")}_${index}`));
65
+ }
66
+ function key_value_rows(rows, props) {
67
+ const layout = props?.layout === "inline" ? "inline" : "column";
68
+ const rowClassName = toText(props?.rowClassName);
69
+ const valueClassName = layout === "inline" ? "text-muted text-break lh-xs" : "text-break lh-xs";
70
+ return rows
71
+ .filter((row) => row && typeof row === "object" && row.label)
72
+ .map((row, index) => key_value_row_item(row, index, layout, rowClassName, valueClassName));
73
+ }
74
+ function keyValueModel(props) {
75
+ const groups = Array.isArray(props.groups) ? props.groups.filter(Boolean) : [];
76
+ const rows = Array.isArray(props.rows) ? props.rows.filter(Boolean) : [];
77
+ const layout = props.layout === "inline" ? "inline" : "column";
78
+ const separated = props.separated === true || groups.length > 0;
79
+ const wrapInCard = props.card === true || (props.card !== false && separated);
80
+ const className = toText(props.className);
81
+ const rowsClassName = toText(props.rowsClassName);
82
+ const isInlineList = layout === "inline" && !wrapInCard;
83
+ return {
84
+ bodyClassName: isInlineList
85
+ ? `inline-row gap-xs2 wrap text-muted ${rowsClassName}`.trim()
86
+ : layout === "inline"
87
+ ? `inline-row gap-xs2 wrap ${rowsClassName}`.trim()
88
+ : `column gap-xs ${rowsClassName}`.trim(),
89
+ groups,
90
+ layout,
91
+ rowClassName: toText(props.rowClassName),
92
+ rows,
93
+ separated,
94
+ wrapperClassName: isInlineList
95
+ ? `text-sm card-segments ${className}`.trim()
96
+ : wrapInCard
97
+ ? "card column gap-xs"
98
+ : `column gap-xs ${className}`.trim(),
99
+ };
100
+ }
101
+ function key_value(props) {
102
+ const model = keyValueModel(props);
103
+ if (model.groups.length) {
104
+ return (_jsx("div", { className: "grid gap-sm", children: model.groups.map((group, index) => (_jsxs("div", { className: model.wrapperClassName, children: [group.title ? _jsx("div", { className: "label lh-xs", children: String(group.title) }) : null, model.separated ? separator({}) : null, _jsx("div", { className: model.bodyClassName, children: key_value_rows(Array.isArray(group.rows) ? group.rows : [], {
105
+ layout: model.layout,
106
+ rowClassName: model.rowClassName,
107
+ }) })] }, `${String(group.title || "group")}_${index}`))) }));
108
+ }
109
+ return (_jsxs("div", { className: model.wrapperClassName, children: [model.separated ? separator({}) : null, _jsx("div", { className: model.bodyClassName, children: key_value_rows(model.rows, {
110
+ layout: model.layout,
111
+ rowClassName: model.rowClassName,
112
+ }) })] }));
113
+ }
114
+ export { keyValueRow, keyValueTimeRow, key_value, key_value_rows };
115
+ //# sourceMappingURL=key_value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key_value.js","sourceRoot":"","sources":["../../../../src/primitives/components/key_value.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { ReactNode } from "react";
2
+ import type { BindActionTriggerOptions } from "../../../actions/triggers.d.ts";
3
+ import type { SubmitActionButtonOptions } from "../../../actions/types.d.ts";
4
+ declare function joinClassNames(...values: unknown[]): string;
5
+ declare function appendClassName(input: unknown, ...values: unknown[]): string;
6
+ declare function toText(value: unknown, fallback?: string): string;
7
+ declare function jsonAttr(value: unknown): string;
8
+ declare function actionButtonAttrs(options?: SubmitActionButtonOptions): {
9
+ "data-tbf-action-body"?: undefined;
10
+ "data-tbf-action-method"?: undefined;
11
+ "data-tbf-action-ui"?: undefined;
12
+ "data-tbf-action-url"?: undefined;
13
+ "data-tbf-confetti"?: undefined;
14
+ "data-tbf-confirm"?: undefined;
15
+ "data-tbf-ignore-response-action"?: undefined;
16
+ "data-tbf-submit"?: undefined;
17
+ "data-tbf-success"?: undefined;
18
+ "data-tbf-success-tab"?: undefined;
19
+ } | {
20
+ "data-tbf-action-body": string;
21
+ "data-tbf-action-method": string;
22
+ "data-tbf-action-ui": string;
23
+ "data-tbf-action-url": string;
24
+ "data-tbf-confetti": string;
25
+ "data-tbf-confirm": string;
26
+ "data-tbf-ignore-response-action": string;
27
+ "data-tbf-submit": string;
28
+ "data-tbf-success": "soft-reload";
29
+ "data-tbf-success-tab": string;
30
+ };
31
+ declare function actionTriggerAttrs(options?: BindActionTriggerOptions): {
32
+ "data-tbf-action-trigger"?: undefined;
33
+ "data-tbf-external-href"?: undefined;
34
+ "data-tbf-href"?: undefined;
35
+ } | {
36
+ "data-tbf-action-trigger": string;
37
+ "data-tbf-external-href": string;
38
+ "data-tbf-href": string;
39
+ };
40
+ declare function wrapTriggerHostNode(children: ReactNode, options: {
41
+ action?: BindActionTriggerOptions;
42
+ }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode>> | import("react").JSX.Element;
43
+ export { actionButtonAttrs, actionTriggerAttrs, appendClassName, joinClassNames, jsonAttr, toText, wrapTriggerHostNode, };
44
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/primitives/components/shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAS/D,iBAAS,cAAc,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,UAE3C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,UAI5D;AAED,iBAAS,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAK,UAG5C;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,UAG/B;AAED,iBAAS,iBAAiB,CAAC,OAAO,CAAC,EAAE,yBAAyB;;;;;;;;;;;;;;;;;;;;;;EAgB7D;AAED,iBAAS,kBAAkB,CAAC,OAAO,CAAC,EAAE,wBAAwB;;;;;;;;EAO7D;AAED,iBAAS,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,wBAAwB,CAAA;CAAE,yRAW/F;AAED,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,MAAM,EACN,mBAAmB,GACpB,CAAC"}