@pstdio/ui 0.24.2 → 0.26.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 (109) hide show
  1. package/README.md +8 -1
  2. package/dist/{MermaidComponent-DSvPk-J8.js → MermaidComponent-X__B6qib.js} +3 -3
  3. package/dist/{MermaidComponent-DSvPk-J8.js.map → MermaidComponent-X__B6qib.js.map} +1 -1
  4. package/dist/activity-timeline-BynMjXSB.js +283 -0
  5. package/dist/activity-timeline-BynMjXSB.js.map +1 -0
  6. package/dist/alert-ubcrW24X.js +33 -0
  7. package/dist/alert-ubcrW24X.js.map +1 -0
  8. package/dist/browser-storage-BinyFNJX.js +40 -0
  9. package/dist/browser-storage-BinyFNJX.js.map +1 -0
  10. package/dist/chat-ui.js +1515 -1428
  11. package/dist/chat-ui.js.map +1 -1
  12. package/dist/components/activity/activity-comment.d.ts +10 -2
  13. package/dist/components/chat-ui/components/chat-history-story.d.ts +14 -0
  14. package/dist/components/chat-ui/components/chat-input-history.d.ts +6 -0
  15. package/dist/components/chat-ui/components/chat-input.d.ts +2 -0
  16. package/dist/components/chat-ui/components/chat-panel-composer.d.ts +49 -0
  17. package/dist/components/chat-ui/components/use-chat-input-history.d.ts +16 -0
  18. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  19. package/dist/components/rich-text/index.d.ts +2 -0
  20. package/dist/components/rich-text/markdown-editor/markdown-editor-scrolling.play.d.ts +4 -0
  21. package/dist/components/rich-text/prompt-input/plugins/KeyboardShortcutPlugin.d.ts +3 -1
  22. package/dist/components/rich-text/prompt-input/plugins/keyboard-shortcuts.d.ts +2 -0
  23. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +2 -0
  24. package/dist/components/rich-text/resource-activity-feed/resource-activity-feed.d.ts +58 -0
  25. package/dist/components/rich-text/shared/plugins/FloatingTextFormatToolbarPlugin/should-show-floating-toolbar.d.ts +1 -0
  26. package/dist/data-table.js +6 -6
  27. package/dist/diff.js +524 -522
  28. package/dist/diff.js.map +1 -1
  29. package/dist/{edit-mode-data-table-2E4GSOou.js → edit-mode-data-table-Nfmfi7bz.js} +23 -22
  30. package/dist/{edit-mode-data-table-2E4GSOou.js.map → edit-mode-data-table-Nfmfi7bz.js.map} +1 -1
  31. package/dist/index.d.ts +0 -1
  32. package/dist/index.js +1619 -1852
  33. package/dist/index.js.map +1 -1
  34. package/dist/{kanban-renderer-toolbar-Dcbxujbk.js → kanban-renderer-toolbar-Buek4icz.js} +34 -33
  35. package/dist/{kanban-renderer-toolbar-Dcbxujbk.js.map → kanban-renderer-toolbar-Buek4icz.js.map} +1 -1
  36. package/dist/kanban-renderer.js +31 -30
  37. package/dist/kanban-renderer.js.map +1 -1
  38. package/dist/lazy-markdown-editor-PzIBc9-l.js +42 -0
  39. package/dist/lazy-markdown-editor-PzIBc9-l.js.map +1 -0
  40. package/dist/{list-row-BDoV_iMV.js → list-row-DHzRa9-O.js} +2 -2
  41. package/dist/{list-row-BDoV_iMV.js.map → list-row-DHzRa9-O.js.map} +1 -1
  42. package/dist/{markdown-Cli3KGu9.js → markdown-BCfPxNpb.js} +322 -302
  43. package/dist/markdown-BCfPxNpb.js.map +1 -0
  44. package/dist/markdown-editor-CsJ4KNGu.js +1034 -0
  45. package/dist/markdown-editor-CsJ4KNGu.js.map +1 -0
  46. package/dist/{mermaid-renderer-CVnuKs-A.js → mermaid-renderer-D0YP0FmJ.js} +3 -3
  47. package/dist/{mermaid-renderer-CVnuKs-A.js.map → mermaid-renderer-D0YP0FmJ.js.map} +1 -1
  48. package/dist/mermaid.js +1 -1
  49. package/dist/{param-editor-CaRflJ3e.js → param-editor-CFM2Nf3l.js} +2 -2
  50. package/dist/{param-editor-CaRflJ3e.js.map → param-editor-CFM2Nf3l.js.map} +1 -1
  51. package/dist/param-editor-field-Bj-AGUY6.js +1728 -0
  52. package/dist/param-editor-field-Bj-AGUY6.js.map +1 -0
  53. package/dist/param-editor.d.ts +2 -0
  54. package/dist/param-editor.js +47 -0
  55. package/dist/param-editor.js.map +1 -0
  56. package/dist/prism-n5gcERyD.js +202 -0
  57. package/dist/prism-n5gcERyD.js.map +1 -0
  58. package/dist/radio-BfjibByI.js +51 -0
  59. package/dist/radio-BfjibByI.js.map +1 -0
  60. package/dist/rich-message-q6Y6QJOq.js +633 -0
  61. package/dist/rich-message-q6Y6QJOq.js.map +1 -0
  62. package/dist/rich-text.js +342 -177
  63. package/dist/rich-text.js.map +1 -1
  64. package/dist/scroll-area-BMbg1WcD.js +91 -0
  65. package/dist/scroll-area-BMbg1WcD.js.map +1 -0
  66. package/dist/slider-DBHjdxsU.js +1092 -0
  67. package/dist/slider-DBHjdxsU.js.map +1 -0
  68. package/dist/style.css +1 -1
  69. package/dist/terminal.js +96 -93
  70. package/dist/terminal.js.map +1 -1
  71. package/dist/theme/primitives/colors.d.ts +0 -23
  72. package/dist/theme/recipes/activity-comment.d.ts +36 -0
  73. package/dist/theme/recipes/alert.d.ts +1 -1
  74. package/dist/theme/recipes/dialog.d.ts +1 -1
  75. package/dist/theme/recipes/drawer.d.ts +1 -1
  76. package/dist/theme/recipes/menu.d.ts +1 -1
  77. package/dist/theme/recipes/popover.d.ts +1 -1
  78. package/dist/theme/recipes/progress-circle.d.ts +3 -3
  79. package/dist/theme/recipes/switch.d.ts +1 -1
  80. package/dist/theme/recipes/timeline.d.ts +10 -1
  81. package/dist/theme/recipes/tooltip.d.ts +1 -1
  82. package/dist/theme/recipes/window-title-bar.d.ts +1 -1
  83. package/dist/{theme-B5OVwYEU.js → theme-AzJH4Om3.js} +127 -808
  84. package/dist/theme-AzJH4Om3.js.map +1 -0
  85. package/dist/{theme-preference-Bpobguh4.js → theme-preference-DxGW1qg-.js} +2 -2
  86. package/dist/{theme-preference-Bpobguh4.js.map → theme-preference-DxGW1qg-.js.map} +1 -1
  87. package/dist/theme.js +1 -1
  88. package/dist/{tree-list-CZvcg3_6.js → tree-list-CPjbGTvs.js} +2 -2
  89. package/dist/{tree-list-CZvcg3_6.js.map → tree-list-CPjbGTvs.js.map} +1 -1
  90. package/dist/{workspace-badge-BR_GgsAG.js → workspace-badge-CuOcmnZc.js} +2 -2
  91. package/dist/{workspace-badge-BR_GgsAG.js.map → workspace-badge-CuOcmnZc.js.map} +1 -1
  92. package/package.json +7 -2
  93. package/dist/browser-storage-DPtOQJx0.js +0 -127
  94. package/dist/browser-storage-DPtOQJx0.js.map +0 -1
  95. package/dist/lazy-markdown-editor-DSlelhHV.js +0 -235
  96. package/dist/lazy-markdown-editor-DSlelhHV.js.map +0 -1
  97. package/dist/markdown-Cli3KGu9.js.map +0 -1
  98. package/dist/markdown-editor-BHoRATej.js +0 -1019
  99. package/dist/markdown-editor-BHoRATej.js.map +0 -1
  100. package/dist/param-editor-field-DVQlXbid.js +0 -2810
  101. package/dist/param-editor-field-DVQlXbid.js.map +0 -1
  102. package/dist/radio-cLMEBBZk.js +0 -76
  103. package/dist/radio-cLMEBBZk.js.map +0 -1
  104. package/dist/rich-message-gWYlm8Ji.js +0 -628
  105. package/dist/rich-message-gWYlm8Ji.js.map +0 -1
  106. package/dist/theme/recipes/landing-story.d.ts +0 -10
  107. package/dist/theme/recipes/landing-tool-demo.d.ts +0 -1
  108. package/dist/theme/recipes/landing.d.ts +0 -23
  109. package/dist/theme-B5OVwYEU.js.map +0 -1
package/README.md CHANGED
@@ -39,11 +39,18 @@ bun run --cwd packages/ui test-storybook
39
39
  - `src/index.ts`: public exports for `@pstdio/ui`
40
40
  - `.storybook/*`: Storybook configuration and Vitest setup
41
41
 
42
+ The root entry holds the light, widely reused components. A feature that pulls a
43
+ heavy dependency, such as the Lexical editor, Monaco, Mermaid, or the terminal,
44
+ gets its own entry: `./rich-text`, `./param-editor`, `./kanban-renderer`,
45
+ `./data-table`, `./chat-ui`, `./diff`, `./mermaid`, `./terminal`. Nothing reachable
46
+ from the root entry may import one of those, or every consumer's bundler emits the
47
+ heavy chunks even when the consumer never renders the feature.
48
+
42
49
  ## Contributor Workflow
43
50
 
44
51
  1. Implement or update the component in `src/components`.
45
52
  2. Add or update stories next to the component to cover important user-visible states.
46
- 3. If the component is public, export it from `src/index.ts`.
53
+ 3. If the component is public, export it from `src/index.ts`, or from the entry that owns its heavy dependency.
47
54
  4. If you add a new package entrypoint, update `package.json#exports`.
48
55
  5. Run validations before opening a PR.
49
56
 
@@ -5,8 +5,8 @@ import { useLexicalComposerContext as K } from "@lexical/react/LexicalComposerCo
5
5
  import { useLexicalEditable as L } from "@lexical/react/useLexicalEditable";
6
6
  import { $getNodeByKey as N } from "lexical";
7
7
  import { useState as z, useEffect as P } from "react";
8
- import { M as _ } from "./mermaid-renderer-CVnuKs-A.js";
9
- import { $ as q } from "./markdown-Cli3KGu9.js";
8
+ import { M as _ } from "./mermaid-renderer-D0YP0FmJ.js";
9
+ import { $ as q } from "./markdown-BCfPxNpb.js";
10
10
  function O(B) {
11
11
  const e = S(28), {
12
12
  code: i,
@@ -57,4 +57,4 @@ function O(B) {
57
57
  export {
58
58
  O as default
59
59
  };
60
- //# sourceMappingURL=MermaidComponent-DSvPk-J8.js.map
60
+ //# sourceMappingURL=MermaidComponent-X__B6qib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidComponent-DSvPk-J8.js","sources":["../src/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.tsx"],"sourcesContent":["import { Box, Button, Flex, Textarea } from \"@chakra-ui/react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useLexicalEditable } from \"@lexical/react/useLexicalEditable\";\nimport { $getNodeByKey } from \"lexical\";\nimport { useEffect, useState } from \"react\";\nimport { MermaidRenderer } from \"@/components/mermaid-renderer\";\nimport { $isMermaidNode } from \"./MermaidNode\";\n\ninterface MermaidComponentProps {\n code: string;\n nodeKey: string;\n}\n\nexport default function MermaidComponent(props: MermaidComponentProps) {\n const { code, nodeKey } = props;\n const [editor] = useLexicalComposerContext();\n const isEditable = useLexicalEditable();\n const [isEditing, setIsEditing] = useState(false);\n const [draftCode, setDraftCode] = useState(code);\n const [previewCode, setPreviewCode] = useState(code);\n\n useEffect(() => {\n setDraftCode(code);\n setPreviewCode(code);\n }, [code]);\n\n const commitCodeChanges = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isMermaidNode(node)) {\n node.setCode(draftCode);\n }\n });\n\n setPreviewCode(draftCode);\n setIsEditing(false);\n };\n\n const cancelEditing = () => {\n setDraftCode(previewCode);\n setIsEditing(false);\n };\n\n if (!isEditing) {\n return (\n <MermaidRenderer\n key={previewCode}\n code={previewCode}\n isEditable={isEditable}\n onRequestEdit={isEditable ? () => setIsEditing(true) : undefined}\n />\n );\n }\n\n return (\n <Box borderWidth=\"1px\" borderColor=\"border.subtle\" borderRadius=\"md\" overflow=\"hidden\" width=\"100%\">\n <Flex justifyContent=\"flex-end\" alignItems=\"center\" gap=\"xs\" paddingX=\"sm\" paddingY=\"xs\" bg=\"bg.muted\">\n <Button size=\"xs\" variant=\"subtle\" onClick={cancelEditing}>\n Cancel\n </Button>\n <Button size=\"xs\" onClick={commitCodeChanges}>\n Preview\n </Button>\n </Flex>\n <Box padding=\"sm\" bg=\"bg.muted\">\n <Textarea\n value={draftCode}\n onChange={(event) => setDraftCode(event.target.value)}\n minHeight=\"180px\"\n resize=\"vertical\"\n fontFamily=\"mono\"\n fontSize=\"sm\"\n spellCheck={false}\n />\n </Box>\n </Box>\n );\n}\n"],"names":["MermaidComponent","props","$","_c","code","nodeKey","editor","useLexicalComposerContext","isEditable","useLexicalEditable","isEditing","setIsEditing","useState","draftCode","setDraftCode","previewCode","setPreviewCode","t0","t1","useEffect","t2","update","node","$getNodeByKey","$isMermaidNode","setCode","commitCodeChanges","t3","cancelEditing","t4","undefined","t5","MermaidRenderer","Button","t6","jsxs","Flex","t7","Symbol","for","event","target","value","t8","jsx","Box","Textarea","t9"],"mappings":"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"}
1
+ {"version":3,"file":"MermaidComponent-X__B6qib.js","sources":["../src/components/rich-text/shared/plugins/MermaidPlugin/MermaidComponent.tsx"],"sourcesContent":["import { Box, Button, Flex, Textarea } from \"@chakra-ui/react\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useLexicalEditable } from \"@lexical/react/useLexicalEditable\";\nimport { $getNodeByKey } from \"lexical\";\nimport { useEffect, useState } from \"react\";\nimport { MermaidRenderer } from \"@/components/mermaid-renderer\";\nimport { $isMermaidNode } from \"./MermaidNode\";\n\ninterface MermaidComponentProps {\n code: string;\n nodeKey: string;\n}\n\nexport default function MermaidComponent(props: MermaidComponentProps) {\n const { code, nodeKey } = props;\n const [editor] = useLexicalComposerContext();\n const isEditable = useLexicalEditable();\n const [isEditing, setIsEditing] = useState(false);\n const [draftCode, setDraftCode] = useState(code);\n const [previewCode, setPreviewCode] = useState(code);\n\n useEffect(() => {\n setDraftCode(code);\n setPreviewCode(code);\n }, [code]);\n\n const commitCodeChanges = () => {\n editor.update(() => {\n const node = $getNodeByKey(nodeKey);\n if ($isMermaidNode(node)) {\n node.setCode(draftCode);\n }\n });\n\n setPreviewCode(draftCode);\n setIsEditing(false);\n };\n\n const cancelEditing = () => {\n setDraftCode(previewCode);\n setIsEditing(false);\n };\n\n if (!isEditing) {\n return (\n <MermaidRenderer\n key={previewCode}\n code={previewCode}\n isEditable={isEditable}\n onRequestEdit={isEditable ? () => setIsEditing(true) : undefined}\n />\n );\n }\n\n return (\n <Box borderWidth=\"1px\" borderColor=\"border.subtle\" borderRadius=\"md\" overflow=\"hidden\" width=\"100%\">\n <Flex justifyContent=\"flex-end\" alignItems=\"center\" gap=\"xs\" paddingX=\"sm\" paddingY=\"xs\" bg=\"bg.muted\">\n <Button size=\"xs\" variant=\"subtle\" onClick={cancelEditing}>\n Cancel\n </Button>\n <Button size=\"xs\" onClick={commitCodeChanges}>\n Preview\n </Button>\n </Flex>\n <Box padding=\"sm\" bg=\"bg.muted\">\n <Textarea\n value={draftCode}\n onChange={(event) => setDraftCode(event.target.value)}\n minHeight=\"180px\"\n resize=\"vertical\"\n fontFamily=\"mono\"\n fontSize=\"sm\"\n spellCheck={false}\n />\n </Box>\n </Box>\n );\n}\n"],"names":["MermaidComponent","props","$","_c","code","nodeKey","editor","useLexicalComposerContext","isEditable","useLexicalEditable","isEditing","setIsEditing","useState","draftCode","setDraftCode","previewCode","setPreviewCode","t0","t1","useEffect","t2","update","node","$getNodeByKey","$isMermaidNode","setCode","commitCodeChanges","t3","cancelEditing","t4","undefined","t5","MermaidRenderer","Button","t6","jsxs","Flex","t7","Symbol","for","event","target","value","t8","jsx","Box","Textarea","t9"],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ import { jsx as s, jsxs as y, Fragment as $ } from "react/jsx-runtime";
2
+ import { c as S } from "react/compiler-runtime";
3
+ import { Avatar as A, Box as v, defineSlotRecipe as _, createSlotRecipeContext as I, Text as C, Stack as W, HStack as R, Timeline as k } from "@chakra-ui/react";
4
+ import { Children as B } from "react";
5
+ const z = (n) => {
6
+ const e = S(14), {
7
+ actor: t,
8
+ icon: l,
9
+ color: o,
10
+ background: r
11
+ } = n, i = o === void 0 ? "fg.muted" : o, c = r === void 0 ? "bg.muted" : r;
12
+ if (l) {
13
+ let b;
14
+ return e[0] !== c || e[1] !== i || e[2] !== l ? (b = /* @__PURE__ */ s(v, { boxSize: "18px", borderRadius: "full", display: "inline-flex", alignItems: "center", justifyContent: "center", flexShrink: 0, color: i, background: c, children: l }), e[0] = c, e[1] = i, e[2] = l, e[3] = b) : b = e[3], b;
15
+ }
16
+ const a = t?.avatarSrc, d = t?.avatarAlt ?? t?.name;
17
+ let f;
18
+ e[4] !== a || e[5] !== d ? (f = /* @__PURE__ */ s(A.Image, { src: a, alt: d }), e[4] = a, e[5] = d, e[6] = f) : f = e[6];
19
+ const m = t?.name;
20
+ let u;
21
+ e[7] !== c || e[8] !== i || e[9] !== m ? (u = /* @__PURE__ */ s(A.Fallback, { name: m, background: c, color: i }), e[7] = c, e[8] = i, e[9] = m, e[10] = u) : u = e[10];
22
+ let g;
23
+ return e[11] !== f || e[12] !== u ? (g = /* @__PURE__ */ y(A.Root, { size: "2xs", flexShrink: 0, children: [
24
+ f,
25
+ u
26
+ ] }), e[11] = f, e[12] = u, e[13] = g) : g = e[13], g;
27
+ }, j = _({
28
+ className: "activity-comment",
29
+ slots: ["root", "body", "content"],
30
+ base: {
31
+ root: {
32
+ width: "full",
33
+ borderWidth: "1px",
34
+ borderRadius: "xs",
35
+ overflow: "hidden"
36
+ },
37
+ body: {
38
+ display: "flex",
39
+ flexDirection: "column"
40
+ },
41
+ content: {
42
+ color: "fg",
43
+ overflowWrap: "anywhere",
44
+ whiteSpace: "pre-wrap"
45
+ }
46
+ },
47
+ variants: {
48
+ tone: {
49
+ default: {
50
+ root: {
51
+ background: "bg",
52
+ borderColor: "border.subtle"
53
+ }
54
+ },
55
+ attention: {
56
+ root: {
57
+ background: "bg.warning",
58
+ borderColor: "border.warning"
59
+ }
60
+ }
61
+ },
62
+ size: {
63
+ comfortable: {
64
+ body: {
65
+ gap: "sm",
66
+ padding: "md"
67
+ },
68
+ content: {
69
+ textStyle: "label/S/regular"
70
+ }
71
+ },
72
+ compact: {
73
+ body: {
74
+ gap: "xs",
75
+ padding: "sm"
76
+ },
77
+ content: {
78
+ textStyle: "label/S/regular"
79
+ }
80
+ }
81
+ }
82
+ },
83
+ defaultVariants: {
84
+ tone: "default",
85
+ size: "comfortable"
86
+ }
87
+ }), {
88
+ withContext: P,
89
+ withProvider: H
90
+ } = I({
91
+ recipe: j
92
+ }), F = () => {
93
+ const n = S(1);
94
+ let e;
95
+ return n[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ s(v, { as: "span", boxSize: "3px", borderRadius: "full", background: "fg.subtle", flexShrink: 0 }), n[0] = e) : e = n[0], e;
96
+ }, T = (n) => {
97
+ const e = S(16), {
98
+ actor: t,
99
+ icon: l,
100
+ iconColor: o,
101
+ iconBackground: r,
102
+ timestamp: i,
103
+ actions: c
104
+ } = n;
105
+ let a;
106
+ e[0] !== t || e[1] !== l || e[2] !== r || e[3] !== o ? (a = /* @__PURE__ */ s(z, { actor: t, icon: l, color: o, background: r }), e[0] = t, e[1] = l, e[2] = r, e[3] = o, e[4] = a) : a = e[4];
107
+ let d;
108
+ e[5] !== t.name ? (d = /* @__PURE__ */ s(C, { textStyle: "label/S/medium", color: "fg", truncate: !0, children: t.name }), e[5] = t.name, e[6] = d) : d = e[6];
109
+ let f;
110
+ e[7] !== i ? (f = i ? /* @__PURE__ */ y($, { children: [
111
+ /* @__PURE__ */ s(F, {}),
112
+ /* @__PURE__ */ s(C, { textStyle: "label/S/regular", color: "fg.muted", flexShrink: 0, children: i })
113
+ ] }) : null, e[7] = i, e[8] = f) : f = e[8];
114
+ let m;
115
+ e[9] !== c ? (m = /* @__PURE__ */ s(v, { marginLeft: "auto", flexShrink: 0, children: c }), e[9] = c, e[10] = m) : m = e[10];
116
+ let u;
117
+ return e[11] !== a || e[12] !== d || e[13] !== f || e[14] !== m ? (u = /* @__PURE__ */ y(R, { gap: "xs", alignItems: "center", minW: "0", children: [
118
+ a,
119
+ d,
120
+ f,
121
+ m
122
+ ] }), e[11] = a, e[12] = d, e[13] = f, e[14] = m, e[15] = u) : u = e[15], u;
123
+ }, E = H("article", "root"), L = P("div", "body"), X = P("div", "content"), q = (n) => {
124
+ const e = S(18);
125
+ let t, l, o, r, i;
126
+ e[0] !== n ? ({
127
+ actor: l,
128
+ timestamp: i,
129
+ actions: t,
130
+ children: o,
131
+ ...r
132
+ } = n, e[0] = n, e[1] = t, e[2] = l, e[3] = o, e[4] = r, e[5] = i) : (t = e[1], l = e[2], o = e[3], r = e[4], i = e[5]);
133
+ let c;
134
+ e[6] !== t || e[7] !== l || e[8] !== i ? (c = /* @__PURE__ */ s(T, { actor: l, timestamp: i, actions: t }), e[6] = t, e[7] = l, e[8] = i, e[9] = c) : c = e[9];
135
+ let a;
136
+ e[10] !== o ? (a = /* @__PURE__ */ s(v, { paddingLeft: "32px", children: /* @__PURE__ */ s(C, { as: "div", textStyle: "label/S/regular", color: "fg", overflowWrap: "anywhere", children: o }) }), e[10] = o, e[11] = a) : a = e[11];
137
+ let d;
138
+ e[12] !== c || e[13] !== a ? (d = /* @__PURE__ */ y(W, { gap: "xs", children: [
139
+ c,
140
+ a
141
+ ] }), e[12] = c, e[13] = a, e[14] = d) : d = e[14];
142
+ let f;
143
+ return e[15] !== r || e[16] !== d ? (f = /* @__PURE__ */ s(v, { paddingX: "md", paddingY: "sm", ...r, children: d }), e[15] = r, e[16] = d, e[17] = f) : f = e[17], f;
144
+ }, G = (n) => {
145
+ const e = S(33);
146
+ let t, l, o, r, i, c, a, d, f, m;
147
+ e[0] !== n ? ({
148
+ actor: l,
149
+ icon: i,
150
+ iconColor: a,
151
+ iconBackground: c,
152
+ timestamp: m,
153
+ actions: t,
154
+ replies: d,
155
+ composer: r,
156
+ children: o,
157
+ ...f
158
+ } = n, e[0] = n, e[1] = t, e[2] = l, e[3] = o, e[4] = r, e[5] = i, e[6] = c, e[7] = a, e[8] = d, e[9] = f, e[10] = m) : (t = e[1], l = e[2], o = e[3], r = e[4], i = e[5], c = e[6], a = e[7], d = e[8], f = e[9], m = e[10]);
159
+ const u = B.count(d) > 0;
160
+ let g;
161
+ e[11] !== t || e[12] !== l || e[13] !== i || e[14] !== c || e[15] !== a || e[16] !== m ? (g = /* @__PURE__ */ s(T, { actor: l, icon: i, iconColor: a, iconBackground: c, timestamp: m, actions: t }), e[11] = t, e[12] = l, e[13] = i, e[14] = c, e[15] = a, e[16] = m, e[17] = g) : g = e[17];
162
+ let b;
163
+ e[18] !== o ? (b = /* @__PURE__ */ s(X, { children: o }), e[18] = o, e[19] = b) : b = e[19];
164
+ let h;
165
+ e[20] !== g || e[21] !== b ? (h = /* @__PURE__ */ y(L, { children: [
166
+ g,
167
+ b
168
+ ] }), e[20] = g, e[21] = b, e[22] = h) : h = e[22];
169
+ let p;
170
+ e[23] !== u || e[24] !== d ? (p = u ? /* @__PURE__ */ s(v, { borderTopWidth: "1px", borderColor: "border.subtle", children: d }) : null, e[23] = u, e[24] = d, e[25] = p) : p = e[25];
171
+ let x;
172
+ e[26] !== r ? (x = r ? /* @__PURE__ */ s(v, { borderTopWidth: "1px", borderColor: "border.subtle", children: r }) : null, e[26] = r, e[27] = x) : x = e[27];
173
+ let w;
174
+ return e[28] !== f || e[29] !== h || e[30] !== p || e[31] !== x ? (w = /* @__PURE__ */ y(E, { ...f, children: [
175
+ h,
176
+ p,
177
+ x
178
+ ] }), e[28] = f, e[29] = h, e[30] = p, e[31] = x, e[32] = w) : w = e[32], w;
179
+ }, D = () => {
180
+ const n = S(1);
181
+ let e;
182
+ return n[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ s(v, { as: "span", boxSize: "3px", borderRadius: "full", background: "fg.subtle", flexShrink: 0 }), n[0] = e) : e = n[0], e;
183
+ }, J = (n) => {
184
+ const e = S(28);
185
+ let t, l, o, r, i, c, a;
186
+ e[0] !== n ? ({
187
+ actor: t,
188
+ icon: o,
189
+ iconColor: i,
190
+ iconBackground: c,
191
+ timestamp: a,
192
+ children: l,
193
+ ...r
194
+ } = n, e[0] = n, e[1] = t, e[2] = l, e[3] = o, e[4] = r, e[5] = i, e[6] = c, e[7] = a) : (t = e[1], l = e[2], o = e[3], r = e[4], i = e[5], c = e[6], a = e[7]);
195
+ const d = i === void 0 ? "fg" : i, f = c === void 0 ? "transparent" : c;
196
+ let m;
197
+ e[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ s(k.Separator, { borderColor: "border" }), e[8] = m) : m = e[8];
198
+ let u;
199
+ e[9] !== t || e[10] !== o || e[11] !== f || e[12] !== d ? (u = /* @__PURE__ */ y(k.Connector, { children: [
200
+ m,
201
+ /* @__PURE__ */ s(k.Indicator, { outline: "none", border: "none", background: "bg", children: /* @__PURE__ */ s(z, { actor: t, icon: o, color: d, background: f }) })
202
+ ] }), e[9] = t, e[10] = o, e[11] = f, e[12] = d, e[13] = u) : u = e[13];
203
+ let g;
204
+ e[14] !== t ? (g = t ? /* @__PURE__ */ s(C, { as: "span", color: "fg", fontWeight: "500", flexShrink: 0, children: t.name }) : null, e[14] = t, e[15] = g) : g = e[15];
205
+ let b;
206
+ e[16] !== l ? (b = /* @__PURE__ */ s(v, { as: "span", display: "inline-flex", alignItems: "center", gap: "2xs", minW: "0", flexWrap: "wrap", children: l }), e[16] = l, e[17] = b) : b = e[17];
207
+ let h;
208
+ e[18] !== a ? (h = a ? /* @__PURE__ */ y($, { children: [
209
+ /* @__PURE__ */ s(D, {}),
210
+ /* @__PURE__ */ s(C, { as: "span", color: "fg.muted", flexShrink: 0, children: a })
211
+ ] }) : null, e[18] = a, e[19] = h) : h = e[19];
212
+ let p;
213
+ e[20] !== g || e[21] !== b || e[22] !== h ? (p = /* @__PURE__ */ s(k.Content, { gap: "0", minW: "0", children: /* @__PURE__ */ y(k.Title, { marginTop: "0", gap: "xs", minW: "0", fontWeight: "normal", textStyle: "label/S/regular", color: "fg.muted", children: [
214
+ g,
215
+ b,
216
+ h
217
+ ] }) }), e[20] = g, e[21] = b, e[22] = h, e[23] = p) : p = e[23];
218
+ let x;
219
+ return e[24] !== r || e[25] !== u || e[26] !== p ? (x = /* @__PURE__ */ y(k.Item, { gap: "xs", minH: "24px", paddingX: "md", ...r, children: [
220
+ u,
221
+ p
222
+ ] }), e[24] = r, e[25] = u, e[26] = p, e[27] = x) : x = e[27], x;
223
+ }, K = (n) => {
224
+ const e = S(6);
225
+ let t, l;
226
+ e[0] !== n ? ({
227
+ children: t,
228
+ ...l
229
+ } = n, e[0] = n, e[1] = t, e[2] = l) : (t = e[1], l = e[2]);
230
+ let o;
231
+ return e[3] !== t || e[4] !== l ? (o = /* @__PURE__ */ s(W, { width: "full", gap: "md", ...l, children: t }), e[3] = t, e[4] = l, e[5] = o) : o = e[5], o;
232
+ }, O = (n) => {
233
+ const e = S(12);
234
+ let t, l, o;
235
+ e[0] !== n ? ({
236
+ title: o,
237
+ actions: t,
238
+ ...l
239
+ } = n, e[0] = n, e[1] = t, e[2] = l, e[3] = o) : (t = e[1], l = e[2], o = e[3]);
240
+ const r = o === void 0 ? "Activity" : o;
241
+ let i;
242
+ e[4] !== r ? (i = /* @__PURE__ */ s(C, { textStyle: "label/M/medium", color: "fg", children: r }), e[4] = r, e[5] = i) : i = e[5];
243
+ let c;
244
+ e[6] !== t ? (c = t ? /* @__PURE__ */ s(R, { gap: "xs", children: t }) : null, e[6] = t, e[7] = c) : c = e[7];
245
+ let a;
246
+ return e[8] !== l || e[9] !== i || e[10] !== c ? (a = /* @__PURE__ */ y(R, { alignItems: "center", justifyContent: "space-between", gap: "md", ...l, children: [
247
+ i,
248
+ c
249
+ ] }), e[8] = l, e[9] = i, e[10] = c, e[11] = a) : a = e[11], a;
250
+ }, Q = (n) => {
251
+ const e = S(6);
252
+ let t, l;
253
+ e[0] !== n ? ({
254
+ children: t,
255
+ ...l
256
+ } = n, e[0] = n, e[1] = t, e[2] = l) : (t = e[1], l = e[2]);
257
+ let o;
258
+ return e[3] !== t || e[4] !== l ? (o = /* @__PURE__ */ s(W, { gap: "md", width: "full", ...l, children: t }), e[3] = t, e[4] = l, e[5] = o) : o = e[5], o;
259
+ }, U = (n) => {
260
+ const e = S(7);
261
+ let t, l;
262
+ e[0] !== n ? ({
263
+ children: t,
264
+ ...l
265
+ } = n, e[0] = n, e[1] = t, e[2] = l) : (t = e[1], l = e[2]);
266
+ let o;
267
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
268
+ "--timeline-indicator-size": "18px"
269
+ }, e[3] = o) : o = e[3];
270
+ let r;
271
+ return e[4] !== t || e[5] !== l ? (r = /* @__PURE__ */ s(k.Root, { size: "sm", variant: "plain", width: "full", css: o, ...l, children: t }), e[4] = t, e[5] = l, e[6] = r) : r = e[6], r;
272
+ };
273
+ export {
274
+ Q as A,
275
+ U as a,
276
+ J as b,
277
+ G as c,
278
+ z as d,
279
+ q as e,
280
+ O as f,
281
+ K as g
282
+ };
283
+ //# sourceMappingURL=activity-timeline-BynMjXSB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-timeline-BynMjXSB.js","sources":["../src/components/activity/activity-avatar.tsx","../src/theme/recipes/activity-comment.ts","../src/components/activity/activity-comment.tsx","../src/components/activity/activity-event.tsx","../src/components/activity/activity-root.tsx","../src/components/activity/activity-timeline.tsx"],"sourcesContent":["import { Avatar, Box } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nimport type { ActivityActor } from \"./activity.types\";\n\nexport interface ActivityAvatarProps {\n actor?: ActivityActor;\n icon?: ReactNode;\n color?: string;\n background?: string;\n}\n\nexport const ActivityAvatar = (props: ActivityAvatarProps) => {\n const { actor, icon, color = \"fg.muted\", background = \"bg.muted\" } = props;\n\n if (icon) {\n return (\n <Box\n boxSize=\"18px\"\n borderRadius=\"full\"\n display=\"inline-flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flexShrink={0}\n color={color}\n background={background}\n >\n {icon}\n </Box>\n );\n }\n\n return (\n <Avatar.Root size=\"2xs\" flexShrink={0}>\n <Avatar.Image src={actor?.avatarSrc} alt={actor?.avatarAlt ?? actor?.name} />\n <Avatar.Fallback name={actor?.name} background={background} color={color} />\n </Avatar.Root>\n );\n};\n","import { defineSlotRecipe } from \"@chakra-ui/react\";\n\nexport const activityCommentSlotRecipe = defineSlotRecipe({\n className: \"activity-comment\",\n slots: [\"root\", \"body\", \"content\"],\n base: {\n root: {\n width: \"full\",\n borderWidth: \"1px\",\n borderRadius: \"xs\",\n overflow: \"hidden\",\n },\n body: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n content: {\n color: \"fg\",\n overflowWrap: \"anywhere\",\n whiteSpace: \"pre-wrap\",\n },\n },\n variants: {\n tone: {\n default: {\n root: {\n background: \"bg\",\n borderColor: \"border.subtle\",\n },\n },\n attention: {\n root: {\n background: \"bg.warning\",\n borderColor: \"border.warning\",\n },\n },\n },\n size: {\n comfortable: {\n body: {\n gap: \"sm\",\n padding: \"md\",\n },\n content: {\n textStyle: \"label/S/regular\",\n },\n },\n compact: {\n body: {\n gap: \"xs\",\n padding: \"sm\",\n },\n content: {\n textStyle: \"label/S/regular\",\n },\n },\n },\n },\n defaultVariants: {\n tone: \"default\",\n size: \"comfortable\",\n },\n});\n","import type { HTMLChakraProps, RecipeVariantProps } from \"@chakra-ui/react\";\nimport { Box, createSlotRecipeContext, HStack, Stack, Text } from \"@chakra-ui/react\";\nimport { Children, type ReactNode } from \"react\";\n\nimport { activityCommentSlotRecipe as recipe } from \"@/theme/recipes/activity-comment\";\nimport type { ActivityActor } from \"./activity.types\";\nimport { ActivityAvatar } from \"./activity-avatar\";\n\nconst { withContext, withProvider } = createSlotRecipeContext({ recipe });\n\ntype ActivityCommentVariantProps = RecipeVariantProps<typeof recipe>;\n\ninterface ActivityCommentHeaderProps {\n actor: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n actions?: ReactNode;\n}\n\ninterface ActivityCommentRootProps extends HTMLChakraProps<\"article\">, ActivityCommentVariantProps {}\n\nexport interface ActivityCommentProps extends Omit<ActivityCommentRootProps, \"title\"> {\n actor: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n actions?: ReactNode;\n replies?: ReactNode;\n composer?: ReactNode;\n children: ReactNode;\n}\n\nexport interface ActivityReplyProps extends Omit<HTMLChakraProps<\"div\">, \"title\"> {\n actor: ActivityActor;\n timestamp?: ReactNode;\n actions?: ReactNode;\n children: ReactNode;\n}\n\nconst TimestampSeparator = () => (\n <Box as=\"span\" boxSize=\"3px\" borderRadius=\"full\" background=\"fg.subtle\" flexShrink={0} />\n);\n\nconst ActivityCommentHeader = (props: ActivityCommentHeaderProps) => {\n const { actor, icon, iconColor, iconBackground, timestamp, actions } = props;\n\n return (\n <HStack gap=\"xs\" alignItems=\"center\" minW=\"0\">\n <ActivityAvatar actor={actor} icon={icon} color={iconColor} background={iconBackground} />\n <Text textStyle=\"label/S/medium\" color=\"fg\" truncate>\n {actor.name}\n </Text>\n {timestamp ? (\n <>\n <TimestampSeparator />\n <Text textStyle=\"label/S/regular\" color=\"fg.muted\" flexShrink={0}>\n {timestamp}\n </Text>\n </>\n ) : null}\n <Box marginLeft=\"auto\" flexShrink={0}>\n {actions}\n </Box>\n </HStack>\n );\n};\n\nconst ActivityCommentRoot = withProvider<HTMLDivElement, ActivityCommentRootProps>(\"article\", \"root\");\nconst ActivityCommentBody = withContext<HTMLDivElement, HTMLChakraProps<\"div\">>(\"div\", \"body\");\nconst ActivityCommentContent = withContext<HTMLDivElement, HTMLChakraProps<\"div\">>(\"div\", \"content\");\n\nexport const ActivityReply = (props: ActivityReplyProps) => {\n const { actor, timestamp, actions, children, ...rootProps } = props;\n\n return (\n <Box paddingX=\"md\" paddingY=\"sm\" {...rootProps}>\n <Stack gap=\"xs\">\n <ActivityCommentHeader actor={actor} timestamp={timestamp} actions={actions} />\n <Box paddingLeft=\"32px\">\n <Text as=\"div\" textStyle=\"label/S/regular\" color=\"fg\" overflowWrap=\"anywhere\">\n {children}\n </Text>\n </Box>\n </Stack>\n </Box>\n );\n};\n\nexport const ActivityComment = (props: ActivityCommentProps) => {\n const { actor, icon, iconColor, iconBackground, timestamp, actions, replies, composer, children, ...rootProps } =\n props;\n const hasReplies = Children.count(replies) > 0;\n\n return (\n <ActivityCommentRoot {...rootProps}>\n <ActivityCommentBody>\n <ActivityCommentHeader\n actor={actor}\n icon={icon}\n iconColor={iconColor}\n iconBackground={iconBackground}\n timestamp={timestamp}\n actions={actions}\n />\n <ActivityCommentContent>{children}</ActivityCommentContent>\n </ActivityCommentBody>\n {hasReplies ? (\n <Box borderTopWidth=\"1px\" borderColor=\"border.subtle\">\n {replies}\n </Box>\n ) : null}\n {composer ? (\n <Box borderTopWidth=\"1px\" borderColor=\"border.subtle\">\n {composer}\n </Box>\n ) : null}\n </ActivityCommentRoot>\n );\n};\n","import type { TimelineItemProps } from \"@chakra-ui/react\";\nimport { Box, Text, Timeline } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nimport type { ActivityActor } from \"./activity.types\";\nimport { ActivityAvatar } from \"./activity-avatar\";\n\nexport interface ActivityEventProps extends Omit<TimelineItemProps, \"title\"> {\n actor?: ActivityActor;\n icon?: ReactNode;\n iconColor?: string;\n iconBackground?: string;\n timestamp?: ReactNode;\n children: ReactNode;\n}\n\nconst EventSeparator = () => <Box as=\"span\" boxSize=\"3px\" borderRadius=\"full\" background=\"fg.subtle\" flexShrink={0} />;\n\nexport const ActivityEvent = (props: ActivityEventProps) => {\n const { actor, icon, iconColor = \"fg\", iconBackground = \"transparent\", timestamp, children, ...rootProps } = props;\n\n return (\n <Timeline.Item gap=\"xs\" minH=\"24px\" paddingX=\"md\" {...rootProps}>\n <Timeline.Connector>\n <Timeline.Separator borderColor=\"border\" />\n <Timeline.Indicator outline=\"none\" border=\"none\" background=\"bg\">\n <ActivityAvatar actor={actor} icon={icon} color={iconColor} background={iconBackground} />\n </Timeline.Indicator>\n </Timeline.Connector>\n <Timeline.Content gap=\"0\" minW=\"0\">\n <Timeline.Title\n marginTop=\"0\"\n gap=\"xs\"\n minW=\"0\"\n fontWeight=\"normal\"\n textStyle=\"label/S/regular\"\n color=\"fg.muted\"\n >\n {actor ? (\n <Text as=\"span\" color=\"fg\" fontWeight=\"500\" flexShrink={0}>\n {actor.name}\n </Text>\n ) : null}\n <Box as=\"span\" display=\"inline-flex\" alignItems=\"center\" gap=\"2xs\" minW=\"0\" flexWrap=\"wrap\">\n {children}\n </Box>\n {timestamp ? (\n <>\n <EventSeparator />\n <Text as=\"span\" color=\"fg.muted\" flexShrink={0}>\n {timestamp}\n </Text>\n </>\n ) : null}\n </Timeline.Title>\n </Timeline.Content>\n </Timeline.Item>\n );\n};\n","import type { StackProps } from \"@chakra-ui/react\";\nimport { HStack, Stack, Text } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nexport interface ActivityRootProps extends StackProps {\n children: ReactNode;\n}\n\nexport interface ActivityHeaderProps extends Omit<StackProps, \"title\"> {\n title?: ReactNode;\n actions?: ReactNode;\n}\n\nexport interface ActivityFeedProps extends StackProps {\n children: ReactNode;\n}\n\nexport const ActivityRoot = (props: ActivityRootProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Stack width=\"full\" gap=\"md\" {...rootProps}>\n {children}\n </Stack>\n );\n};\n\nexport const ActivityHeader = (props: ActivityHeaderProps) => {\n const { title = \"Activity\", actions, ...rootProps } = props;\n\n return (\n <HStack alignItems=\"center\" justifyContent=\"space-between\" gap=\"md\" {...rootProps}>\n <Text textStyle=\"label/M/medium\" color=\"fg\">\n {title}\n </Text>\n {actions ? <HStack gap=\"xs\">{actions}</HStack> : null}\n </HStack>\n );\n};\n\nexport const ActivityFeed = (props: ActivityFeedProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Stack gap=\"md\" width=\"full\" {...rootProps}>\n {children}\n </Stack>\n );\n};\n","import type { TimelineRootProps } from \"@chakra-ui/react\";\nimport { Timeline } from \"@chakra-ui/react\";\nimport type { ReactNode } from \"react\";\n\nexport interface ActivityTimelineProps extends TimelineRootProps {\n children: ReactNode;\n}\n\nexport const ActivityTimeline = (props: ActivityTimelineProps) => {\n const { children, ...rootProps } = props;\n\n return (\n <Timeline.Root size=\"sm\" variant=\"plain\" width=\"full\" css={{ \"--timeline-indicator-size\": \"18px\" }} {...rootProps}>\n {children}\n </Timeline.Root>\n );\n};\n"],"names":["ActivityAvatar","props","$","_c","actor","icon","color","t0","background","t1","undefined","t2","Box","avatarSrc","t3","avatarAlt","name","t4","Avatar","t5","t6","t7","activityCommentSlotRecipe","defineSlotRecipe","className","slots","base","root","width","borderWidth","borderRadius","overflow","body","display","flexDirection","content","overflowWrap","whiteSpace","variants","tone","default","borderColor","attention","size","comfortable","gap","padding","textStyle","compact","defaultVariants","withContext","withProvider","createSlotRecipeContext","recipe","TimestampSeparator","Symbol","for","jsx","ActivityCommentHeader","iconColor","iconBackground","timestamp","actions","Text","jsxs","Fragment","HStack","ActivityCommentRoot","ActivityCommentBody","ActivityCommentContent","ActivityReply","children","rootProps","Stack","ActivityComment","composer","replies","hasReplies","Children","count","EventSeparator","ActivityEvent","Timeline","t8","ActivityRoot","ActivityHeader","title","ActivityFeed","ActivityTimeline"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { jsx as a, jsxs as h } from "react/jsx-runtime";
2
+ import { c as p } from "react/compiler-runtime";
3
+ import { Alert as m } from "@chakra-ui/react";
4
+ import * as A from "react";
5
+ const E = A.forwardRef(function(d, x) {
6
+ const e = p(19);
7
+ let t, i, r, n, o, l;
8
+ e[0] !== d ? ({
9
+ title: l,
10
+ children: t,
11
+ icon: r,
12
+ startElement: o,
13
+ endElement: i,
14
+ ...n
15
+ } = d, e[0] = d, e[1] = t, e[2] = i, e[3] = r, e[4] = n, e[5] = o, e[6] = l) : (t = e[1], i = e[2], r = e[3], n = e[4], o = e[5], l = e[6]);
16
+ let s;
17
+ e[7] !== r || e[8] !== o ? (s = o || /* @__PURE__ */ a(m.Indicator, { children: r }), e[7] = r, e[8] = o, e[9] = s) : s = e[9];
18
+ let c;
19
+ e[10] !== t || e[11] !== l ? (c = t ? /* @__PURE__ */ h(m.Content, { children: [
20
+ /* @__PURE__ */ a(m.Title, { children: l }),
21
+ /* @__PURE__ */ a(m.Description, { children: t })
22
+ ] }) : /* @__PURE__ */ a(m.Title, { flex: "1", children: l }), e[10] = t, e[11] = l, e[12] = c) : c = e[12];
23
+ let f;
24
+ return e[13] !== i || e[14] !== x || e[15] !== n || e[16] !== s || e[17] !== c ? (f = /* @__PURE__ */ h(m.Root, { ref: x, px: "xs", py: "2xs", gap: "2xs", minH: "auto", ...n, children: [
25
+ s,
26
+ c,
27
+ i
28
+ ] }), e[13] = i, e[14] = x, e[15] = n, e[16] = s, e[17] = c, e[18] = f) : f = e[18], f;
29
+ });
30
+ export {
31
+ E as A
32
+ };
33
+ //# sourceMappingURL=alert-ubcrW24X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-ubcrW24X.js","sources":["../src/components/primitives/alert.tsx"],"sourcesContent":["import { Alert as ChakraAlert } from \"@chakra-ui/react\";\nimport * as React from \"react\";\n\nexport interface AlertProps extends Omit<ChakraAlert.RootProps, \"title\"> {\n startElement?: React.ReactNode;\n endElement?: React.ReactNode;\n title?: React.ReactNode;\n icon?: React.ReactElement;\n}\n\nexport const AlertMessage = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\n const { title, children, icon, startElement, endElement, ...rest } = props;\n return (\n <ChakraAlert.Root ref={ref} px=\"xs\" py=\"2xs\" gap=\"2xs\" minH=\"auto\" {...rest}>\n {startElement || <ChakraAlert.Indicator>{icon}</ChakraAlert.Indicator>}\n {children ? (\n <ChakraAlert.Content>\n <ChakraAlert.Title>{title}</ChakraAlert.Title>\n <ChakraAlert.Description>{children}</ChakraAlert.Description>\n </ChakraAlert.Content>\n ) : (\n <ChakraAlert.Title flex=\"1\">{title}</ChakraAlert.Title>\n )}\n {endElement}\n </ChakraAlert.Root>\n );\n});\n"],"names":["AlertMessage","React","forwardRef","props","ref","$","_c","children","endElement","icon","rest","startElement","title","t0","jsx","ChakraAlert","t1","jsxs","t2"],"mappings":";;;;AAUO,MAAMA,IAAeC,EAAMC,WAAuC,SAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAP,SAAAF,KACvE;AAAA,IAAAS,OAAAA;AAAAA,IAAAL,UAAAA;AAAAA,IAAAE,MAAAA;AAAAA,IAAAE,cAAAA;AAAAA,IAAAH,YAAAA;AAAAA,IAAA,GAAAE;AAAAA,EAAAA,IAAqEP,GAAME,OAAAF,GAAAE,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,MAAAL,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,EAAA,CAAA,MAAAI,KAAAJ,SAAAM,KAGtEE,IAAAF,KAAgB,gBAAAG,EAAAC,EAAA,WAAA,EAAwBN,UAAAA,GAAK,GAAwBJ,OAAAI,GAAAJ,OAAAM,GAAAN,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,EAAA,EAAA,MAAAE,KAAAF,UAAAO,KACrEI,IAAAT,IACC,gBAAAU,EAAAF,EAAA,SAAA,EACE,UAAA;AAAA,IAAA,gBAAAD,aAAoBF,UAAAA,EAAAA,CAAM;AAAA,IAC1B,gBAAAE,EAAAC,EAAA,aAAA,EAA0BR,UAAAA,EAAAA,CAAS;AAAA,EAAA,GACrC,IAEA,gBAAAO,EAAAC,EAAA,OAAA,EAAwB,MAAA,KAAKH,UAAAA,GAAM,GACpCP,QAAAE,GAAAF,QAAAO,GAAAP,QAAAW,KAAAA,IAAAX,EAAA,EAAA;AAAA,MAAAa;AAAA,SAAAb,EAAA,EAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAD,KAAAC,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAQ,KAAAR,UAAAW,KATHE,IAAA,gBAAAD,EAAAF,EAAA,MAAA,EAAuBX,KAAAA,GAAQ,IAAA,MAAQ,IAAA,OAAU,KAAA,OAAW,MAAA,QAAM,GAAKM,GACpEG,UAAAA;AAAAA,IAAAA;AAAAA,IACAG;AAAAA,IAQAR;AAAAA,EAAAA,GACH,GAAmBH,QAAAG,GAAAH,QAAAD,GAAAC,QAAAK,GAAAL,QAAAQ,GAAAR,QAAAW,GAAAX,QAAAa,KAAAA,IAAAb,EAAA,EAAA,GAXnBa;AAWmB,CAEtB;"}
@@ -0,0 +1,40 @@
1
+ const o = {
2
+ getItem: () => null,
3
+ removeItem: () => {
4
+ },
5
+ setItem: () => {
6
+ }
7
+ }, c = () => {
8
+ try {
9
+ return globalThis.localStorage;
10
+ } catch {
11
+ return;
12
+ }
13
+ }, a = () => {
14
+ const e = c();
15
+ return e ? {
16
+ getItem(t) {
17
+ try {
18
+ return e.getItem(t);
19
+ } catch {
20
+ return null;
21
+ }
22
+ },
23
+ removeItem(t) {
24
+ try {
25
+ e.removeItem(t);
26
+ } catch {
27
+ }
28
+ },
29
+ setItem(t, r) {
30
+ try {
31
+ e.setItem(t, r);
32
+ } catch {
33
+ }
34
+ }
35
+ } : o;
36
+ };
37
+ export {
38
+ a as c
39
+ };
40
+ //# sourceMappingURL=browser-storage-BinyFNJX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-storage-BinyFNJX.js","sources":["../src/utils/browser-storage.ts"],"sourcesContent":["interface BrowserStorage {\n getItem: (key: string) => string | null;\n removeItem: (key: string) => void;\n setItem: (key: string, value: string) => void;\n}\n\nconst noopStorage = {\n getItem: () => null,\n removeItem: () => {},\n setItem: () => {},\n} satisfies BrowserStorage;\n\nconst readLocalStorage = () => {\n try {\n return globalThis.localStorage;\n } catch {\n return undefined;\n }\n};\n\nexport const createBrowserStorage = (): BrowserStorage => {\n const storage = readLocalStorage();\n if (!storage) return noopStorage;\n\n return {\n getItem(key) {\n try {\n return storage.getItem(key);\n } catch {\n return null;\n }\n },\n removeItem(key) {\n try {\n storage.removeItem(key);\n } catch {}\n },\n setItem(key, value) {\n try {\n storage.setItem(key, value);\n } catch {}\n },\n };\n};\n"],"names":["noopStorage","getItem","removeItem","setItem","readLocalStorage","globalThis","localStorage","createBrowserStorage","storage","key","value"],"mappings":"AAMA,MAAMA,IAAc;AAAA,EAClBC,SAASA,MAAM;AAAA,EACfC,YAAYA,MAAM;AAAA,EAAC;AAAA,EACnBC,SAASA,MAAM;AAAA,EAAC;AAClB,GAEMC,IAAmBA,MAAM;AAC7B,MAAI;AACF,WAAOC,WAAWC;AAAAA,EACpB,QAAQ;AACN;AAAA,EACF;AACF,GAEaC,IAAuBA,MAAsB;AACxD,QAAMC,IAAUJ,EAAAA;AAChB,SAAKI,IAEE;AAAA,IACLP,QAAQQ,GAAK;AACX,UAAI;AACF,eAAOD,EAAQP,QAAQQ,CAAG;AAAA,MAC5B,QAAQ;AACN,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACAP,WAAWO,GAAK;AACd,UAAI;AACFD,QAAAA,EAAQN,WAAWO,CAAG;AAAA,MACxB,QAAQ;AAAA,MAAC;AAAA,IACX;AAAA,IACAN,QAAQM,GAAKC,GAAO;AAClB,UAAI;AACFF,QAAAA,EAAQL,QAAQM,GAAKC,CAAK;AAAA,MAC5B,QAAQ;AAAA,MAAC;AAAA,IACX;AAAA,EAAA,IAnBmBV;AAqBvB;"}