@apple-pie/slice 0.1.20 → 0.1.22

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 (124) hide show
  1. package/README.md +25 -1
  2. package/dist/cjs/chunks/{Button-DXvjvGtY.js → Button-KGA0e9-0.js} +1 -1
  3. package/dist/cjs/chunks/{ButtonBar-BZ6sme27.js → ButtonBar-RSBwFaU-.js} +1 -1
  4. package/dist/cjs/chunks/{Camera-rVC4KI4v.js → Camera-CLm3aQR8.js} +6 -2
  5. package/dist/cjs/chunks/{CheckBox-DQRLqTAK.js → CheckBox-DDINn56u.js} +1 -1
  6. package/dist/cjs/chunks/{Chip-Pv9-KTnh.js → Chip-DRSg6kLh.js} +1 -1
  7. package/dist/cjs/chunks/{DrggablePanel-CkhCXqKv.js → DrggablePanel-CERavfv3.js} +6 -2
  8. package/dist/cjs/chunks/{DropDown-C3AZ5b_b.js → DropDown-CJH-Y6Z5.js} +1 -1
  9. package/dist/cjs/chunks/{ErrorSummary-BTgAd3sK.js → ErrorSummary-BfVHS893.js} +6 -2
  10. package/dist/cjs/chunks/{FileIcon-CZLe2S2l.js → FileIcon-xoD-xIme.js} +2 -2
  11. package/dist/cjs/chunks/{FileList-BHwBIics.js → FileList-CIRALfrW.js} +1 -1
  12. package/dist/cjs/chunks/{Grouper-D4yyHHkM.js → Grouper-RYRxazG9.js} +1 -1
  13. package/dist/cjs/chunks/{Icon-D1EB8S5r.js → Icon-BB-t50Yt.js} +6 -2
  14. package/dist/cjs/chunks/{IconButton-B07Ttxbr.js → IconButton-BUw3YUsI.js} +1 -1
  15. package/dist/cjs/chunks/{Label-CTzvGcds.js → Label-NzMpkZo2.js} +1 -1
  16. package/dist/cjs/chunks/MdStreamBuffer-DObxjnAm.js +381 -0
  17. package/dist/cjs/chunks/{ProgressIndicator-BGqIwycX.js → ProgressIndicator-DETWiASA.js} +6 -2
  18. package/dist/cjs/chunks/{PromptInput-z6TuhHsG.js → PromptInput-DUxwal3V.js} +2 -2
  19. package/dist/cjs/chunks/{RadioButton-DuIsM4lu.js → RadioButton-Cvqum7dU.js} +1 -1
  20. package/dist/cjs/chunks/{RadioButtonList-bu11ILyw.js → RadioButtonList-CPHTioGa.js} +1 -1
  21. package/dist/cjs/chunks/{TabBar-Bcq_n4Mk.js → TabBar-CnD3E-qa.js} +1 -1
  22. package/dist/cjs/chunks/{TextArea-BSKbDOEt.js → TextArea-mSespe9z.js} +6 -6
  23. package/dist/cjs/chunks/{TextField-BNacOZVx.js → TextField-Cz2lh-fP.js} +20 -22
  24. package/dist/cjs/chunks/{Toast-CZzAWG0S.js → Toast-D2fpwdjF.js} +6 -2
  25. package/dist/cjs/chunks/{UploadArea-CKuE4rtg.js → UploadArea-CtvvqLU7.js} +1 -1
  26. package/dist/cjs/chunks/{_types-BSLc-fNi.js → _types-Sa2RAJ2U.js} +3 -3
  27. package/dist/cjs/components/Button/index.js +4 -4
  28. package/dist/cjs/components/ButtonBar/index.js +2 -2
  29. package/dist/cjs/components/Camera/index.js +4 -4
  30. package/dist/cjs/components/CheckBox/index.js +2 -2
  31. package/dist/cjs/components/Chip/index.js +2 -2
  32. package/dist/cjs/components/DraggablePanel/index.js +3 -3
  33. package/dist/cjs/components/DropDown/index.js +2 -2
  34. package/dist/cjs/components/ErrorSummary/index.js +2 -2
  35. package/dist/cjs/components/FileIcon/index.js +3 -4
  36. package/dist/cjs/components/FileList/index.js +4 -4
  37. package/dist/cjs/components/FlexDiv/index.js +1 -1
  38. package/dist/cjs/components/Grouper/index.js +2 -2
  39. package/dist/cjs/components/Icon/index.js +3 -3
  40. package/dist/cjs/components/IconButton/index.js +4 -4
  41. package/dist/cjs/components/Label/index.js +1 -1
  42. package/dist/cjs/components/Progress/index.js +5 -5
  43. package/dist/cjs/components/PromptInput/index.js +7 -7
  44. package/dist/cjs/components/RadioButton/index.js +2 -2
  45. package/dist/cjs/components/RadioButtonList/index.js +3 -3
  46. package/dist/cjs/components/TabBar/index.js +3 -3
  47. package/dist/cjs/components/TextArea/index.js +4 -4
  48. package/dist/cjs/components/Textfield/index.js +5 -5
  49. package/dist/cjs/components/Toast/index.js +2 -2
  50. package/dist/cjs/components/UploadArea/index.js +5 -5
  51. package/dist/cjs/hooks/useMdStreamBuffer.js +41 -0
  52. package/dist/cjs/hooks.js +3 -2
  53. package/dist/cjs/index.js +12 -11
  54. package/dist/cjs/providers/ThemeProvider.js +9 -7
  55. package/dist/cjs/utils/index.js +3 -2
  56. package/dist/cjs/utils/objects/index.js +3 -2
  57. package/dist/esm/chunks/{Button-daLv0i7S.mjs → Button-Bp51g5jC.mjs} +2 -2
  58. package/dist/esm/chunks/{ButtonBar-DXK8meQq.mjs → ButtonBar-BK-uB7oe.mjs} +1 -1
  59. package/dist/esm/chunks/{Camera-BqmVsVKy.mjs → Camera-BYi_Aqbl.mjs} +3 -3
  60. package/dist/esm/chunks/{CheckBox-BsaYFNC6.mjs → CheckBox-BB5olQbT.mjs} +1 -1
  61. package/dist/esm/chunks/{Chip-BRZeD1OX.mjs → Chip-CxqFCtT6.mjs} +1 -1
  62. package/dist/esm/chunks/{DropDown-DOJvg96J.mjs → DropDown-CK-sPjsQ.mjs} +1 -1
  63. package/dist/esm/chunks/{FileList-5LElsgoE.mjs → FileList-CyUhkk-m.mjs} +3 -3
  64. package/dist/esm/chunks/{Grouper-DR14qDXP.mjs → Grouper-Daz1o_Ai.mjs} +1 -1
  65. package/dist/esm/chunks/{IconButton-DG69Vlhj.mjs → IconButton-BKZD9jsp.mjs} +1 -1
  66. package/dist/esm/chunks/{Label-CRsE7o3D.mjs → Label-QTsUvGme.mjs} +1 -1
  67. package/dist/esm/chunks/MdStreamBuffer-DNXE4XbN.mjs +381 -0
  68. package/dist/esm/chunks/{ProgressIndicator-D7paCpgY.mjs → ProgressIndicator-Cg7CCrAE.mjs} +3 -3
  69. package/dist/esm/chunks/{PromptInput-CpxUcInZ.mjs → PromptInput-DJInpjRX.mjs} +4 -2
  70. package/dist/esm/chunks/{RadioButton-B5ZF5oJ_.mjs → RadioButton-CYp8RkDK.mjs} +1 -1
  71. package/dist/esm/chunks/{RadioButtonList-D9ZAZgkK.mjs → RadioButtonList-BSzV9Zz-.mjs} +1 -1
  72. package/dist/esm/chunks/{TabBar-BK7OcjPl.mjs → TabBar-Dd5-VZcG.mjs} +2 -2
  73. package/dist/esm/chunks/{TextArea-BmsEj6IA.mjs → TextArea-C_2D7sZV.mjs} +6 -6
  74. package/dist/esm/chunks/{TextField-DWPpevsj.mjs → TextField-RG1AsLTh.mjs} +19 -25
  75. package/dist/esm/chunks/{Toast-DPHLwDES.mjs → Toast-BfuKRAns.mjs} +3 -3
  76. package/dist/esm/chunks/{UploadArea-DPiOaNpc.mjs → UploadArea-ByvnUxhr.mjs} +3 -3
  77. package/dist/esm/chunks/{_types-B2h3MtOM.mjs → _types-CPrEyJX9.mjs} +3 -3
  78. package/dist/esm/components/Button/index.mjs +5 -5
  79. package/dist/esm/components/ButtonBar/index.mjs +2 -2
  80. package/dist/esm/components/Camera/index.mjs +4 -4
  81. package/dist/esm/components/CheckBox/index.mjs +2 -2
  82. package/dist/esm/components/Chip/index.mjs +2 -2
  83. package/dist/esm/components/DraggablePanel/index.mjs +3 -3
  84. package/dist/esm/components/DropDown/index.mjs +2 -2
  85. package/dist/esm/components/ErrorSummary/index.mjs +3 -3
  86. package/dist/esm/components/FileIcon/index.mjs +3 -3
  87. package/dist/esm/components/FileList/index.mjs +4 -4
  88. package/dist/esm/components/FlexDiv/index.mjs +1 -1
  89. package/dist/esm/components/Grouper/index.mjs +2 -2
  90. package/dist/esm/components/Icon/index.mjs +3 -3
  91. package/dist/esm/components/IconButton/index.mjs +4 -4
  92. package/dist/esm/components/Label/index.mjs +1 -1
  93. package/dist/esm/components/Progress/index.mjs +4 -4
  94. package/dist/esm/components/PromptInput/index.mjs +8 -8
  95. package/dist/esm/components/RadioButton/index.mjs +2 -2
  96. package/dist/esm/components/RadioButtonList/index.mjs +3 -3
  97. package/dist/esm/components/TabBar/index.mjs +3 -3
  98. package/dist/esm/components/TextArea/index.mjs +6 -6
  99. package/dist/esm/components/Textfield/index.mjs +7 -7
  100. package/dist/esm/components/Toast/index.mjs +4 -4
  101. package/dist/esm/components/UploadArea/index.mjs +5 -5
  102. package/dist/esm/hooks/useMdStreamBuffer.mjs +42 -0
  103. package/dist/esm/hooks.mjs +6 -0
  104. package/dist/esm/index.mjs +28 -24
  105. package/dist/esm/providers/ThemeProvider.mjs +9 -7
  106. package/dist/esm/utils/index.mjs +2 -0
  107. package/dist/esm/utils/objects/index.mjs +2 -0
  108. package/dist/types/components/FlexDiv/FlexDiv.d.ts +2 -2
  109. package/dist/types/components/FlexDiv/_types.d.ts +1 -1
  110. package/dist/types/components/Textfield/_types.d.ts +1 -3
  111. package/dist/types/hooks/index.d.ts +1 -0
  112. package/dist/types/hooks/useMdStreamBuffer/useMdStreamBuffer.d.ts +10 -0
  113. package/dist/types/index.d.ts +1 -1
  114. package/dist/types/providers/ThemeProvider.d.ts +1 -0
  115. package/dist/types/utils/index.d.ts +2 -2
  116. package/dist/types/utils/objects/MDStreamBuffer/MdStreamBuffer.d.ts +63 -0
  117. package/dist/types/utils/objects/MDStreamBuffer/_defaults.d.ts +3 -0
  118. package/dist/types/utils/objects/MDStreamBuffer/_types.d.ts +25 -0
  119. package/dist/types/utils/objects/index.d.ts +2 -0
  120. package/package.json +5 -3
  121. package/dist/esm/chunks/{DrggablePanel-Ddi0vPRp.mjs → DrggablePanel-BfBCRXa8.mjs} +2 -2
  122. package/dist/esm/chunks/{ErrorSummary-CHLkvdHk.mjs → ErrorSummary-BNdjCQbn.mjs} +2 -2
  123. package/dist/esm/chunks/{FileIcon-ePouoJpT.mjs → FileIcon-BXKnFJBn.mjs} +2 -2
  124. package/dist/esm/chunks/{Icon-CUSQtytG.mjs → Icon-CbwaBi0l.mjs} +2 -2
@@ -22,6 +22,8 @@ export { useLastUpdated } from "./hooks/useLastUpdated.mjs";
22
22
 
23
23
  export { useLocalStore } from "./hooks/useLocalStore.mjs";
24
24
 
25
+ export { useMDStreamBuffer } from "./hooks/useMdStreamBuffer.mjs";
26
+
25
27
  export { useWindow } from "./hooks/useWindow.mjs";
26
28
 
27
29
  export { useObserveResize } from "./hooks/useObserveResize.mjs";
@@ -32,37 +34,37 @@ export { A as AvatarGroup } from "./chunks/AvatarGroup--ELW-bO1.mjs";
32
34
 
33
35
  export { B as Badge } from "./chunks/Badge-DyICxZP2.mjs";
34
36
 
35
- export { I as IconButton } from "./chunks/IconButton-DG69Vlhj.mjs";
37
+ export { I as IconButton } from "./chunks/IconButton-BKZD9jsp.mjs";
36
38
 
37
- export { C as Camera } from "./chunks/Camera-BqmVsVKy.mjs";
39
+ export { C as Camera } from "./chunks/Camera-BYi_Aqbl.mjs";
38
40
 
39
- export { C as CheckBox } from "./chunks/CheckBox-BsaYFNC6.mjs";
41
+ export { C as CheckBox } from "./chunks/CheckBox-BB5olQbT.mjs";
40
42
 
41
43
  export { D as DivInput } from "./chunks/DivInput-DeSpC8Wm.mjs";
42
44
 
43
45
  export { D as Dot } from "./chunks/Dot-CLGwQu-i.mjs";
44
46
 
45
- export { D as DraggablePanel } from "./chunks/DrggablePanel-Ddi0vPRp.mjs";
47
+ export { D as DraggablePanel } from "./chunks/DrggablePanel-BfBCRXa8.mjs";
46
48
 
47
- export { D as DropDown } from "./chunks/DropDown-DOJvg96J.mjs";
49
+ export { D as DropDown } from "./chunks/DropDown-CK-sPjsQ.mjs";
48
50
 
49
- export { E as ErrorSummary } from "./chunks/ErrorSummary-CHLkvdHk.mjs";
51
+ export { E as ErrorSummary } from "./chunks/ErrorSummary-BNdjCQbn.mjs";
50
52
 
51
- export { G as Grouper } from "./chunks/Grouper-DR14qDXP.mjs";
53
+ export { G as Grouper } from "./chunks/Grouper-Daz1o_Ai.mjs";
52
54
 
53
55
  export { O as Overlay } from "./chunks/Overlay-TOzZXnwF.mjs";
54
56
 
55
- export { F as FlexDiv, S as Size } from "./chunks/_types-B2h3MtOM.mjs";
57
+ export { F as FlexDiv, S as Size } from "./chunks/_types-CPrEyJX9.mjs";
56
58
 
57
59
  export { P as Pager } from "./chunks/Pager-BYT7_mCb.mjs";
58
60
 
59
- export { P as PromptInput } from "./chunks/PromptInput-CpxUcInZ.mjs";
61
+ export { P as PromptInput } from "./chunks/PromptInput-DJInpjRX.mjs";
60
62
 
61
- export { D as DoneCheck, P as ProgressIndicator } from "./chunks/ProgressIndicator-D7paCpgY.mjs";
63
+ export { D as DoneCheck, P as ProgressIndicator } from "./chunks/ProgressIndicator-Cg7CCrAE.mjs";
62
64
 
63
- export { R as RadioButton } from "./chunks/RadioButton-B5ZF5oJ_.mjs";
65
+ export { R as RadioButton } from "./chunks/RadioButton-CYp8RkDK.mjs";
64
66
 
65
- export { R as RadioButtonList } from "./chunks/RadioButtonList-D9ZAZgkK.mjs";
67
+ export { R as RadioButtonList } from "./chunks/RadioButtonList-BSzV9Zz-.mjs";
66
68
 
67
69
  export { S as Slider } from "./chunks/Slider-DL2iuNlh.mjs";
68
70
 
@@ -70,33 +72,33 @@ export { S as Spacer } from "./chunks/Spacer-BlgEdKEM.mjs";
70
72
 
71
73
  export { S as Switch } from "./chunks/Switch-BhCOo5Lu.mjs";
72
74
 
73
- export { T as TabBar } from "./chunks/TabBar-BK7OcjPl.mjs";
75
+ export { T as TabBar } from "./chunks/TabBar-Dd5-VZcG.mjs";
74
76
 
75
- export { T as TextArea } from "./chunks/TextArea-BmsEj6IA.mjs";
77
+ export { T as TextArea } from "./chunks/TextArea-C_2D7sZV.mjs";
76
78
 
77
- export { T as TextField } from "./chunks/TextField-DWPpevsj.mjs";
79
+ export { T as TextField } from "./chunks/TextField-RG1AsLTh.mjs";
78
80
 
79
81
  export { ThemeProvider } from "./providers/ThemeProvider.mjs";
80
82
 
81
83
  export { T as Tip } from "./chunks/Tip-BnKB9qMi.mjs";
82
84
 
83
- export { T as Toast, a as ToastType } from "./chunks/Toast-DPHLwDES.mjs";
85
+ export { T as Toast, a as ToastType } from "./chunks/Toast-BfuKRAns.mjs";
84
86
 
85
- export { B as Button } from "./chunks/Button-daLv0i7S.mjs";
87
+ export { B as Button } from "./chunks/Button-Bp51g5jC.mjs";
86
88
 
87
- export { C as Chip } from "./chunks/Chip-BRZeD1OX.mjs";
89
+ export { C as Chip } from "./chunks/Chip-CxqFCtT6.mjs";
88
90
 
89
- export { F as FileIcon, a as FileIconNames } from "./chunks/FileIcon-ePouoJpT.mjs";
91
+ export { F as FileIcon, a as FileIconNames } from "./chunks/FileIcon-BXKnFJBn.mjs";
90
92
 
91
- export { I as Icon } from "./chunks/Icon-CUSQtytG.mjs";
93
+ export { I as Icon } from "./chunks/Icon-CbwaBi0l.mjs";
92
94
 
93
95
  export { S as SliceIcons } from "./chunks/_types-C2C2Zwd0.mjs";
94
96
 
95
- export { B as ButtonBar } from "./chunks/ButtonBar-DXK8meQq.mjs";
97
+ export { B as ButtonBar } from "./chunks/ButtonBar-BK-uB7oe.mjs";
96
98
 
97
- export { L as Label, a as LabelBackground } from "./chunks/Label-CRsE7o3D.mjs";
99
+ export { L as Label, a as LabelBackground } from "./chunks/Label-QTsUvGme.mjs";
98
100
 
99
- export { U as UploadArea, a as allTypes, b as audioTypes, d as documentTypes, i as imageTypes, t as textTypes, v as videoTypes } from "./chunks/UploadArea-DPiOaNpc.mjs";
101
+ export { U as UploadArea, a as allTypes, b as audioTypes, d as documentTypes, i as imageTypes, t as textTypes, v as videoTypes } from "./chunks/UploadArea-ByvnUxhr.mjs";
100
102
 
101
103
  import "./theme/corners.mjs";
102
104
 
@@ -106,6 +108,8 @@ import "react";
106
108
 
107
109
  import "./chunks/tslib.es6-c-7TIv71.mjs";
108
110
 
111
+ import "./chunks/MdStreamBuffer-DNXE4XbN.mjs";
112
+
109
113
  import "react/jsx-runtime";
110
114
 
111
115
  import "./chunks/misc-N8KLjOXc.mjs";
@@ -116,6 +120,6 @@ import "motion/react";
116
120
 
117
121
  import "./chunks/colors-FQ0uNQcW.mjs";
118
122
 
119
- import "./chunks/FileList-5LElsgoE.mjs";
123
+ import "./chunks/FileList-CyUhkk-m.mjs";
120
124
 
121
125
  import "./chunks/debounce-Bst1jxMS.mjs";
@@ -16,7 +16,7 @@ import "../theme/motion.mjs";
16
16
 
17
17
  import "../theme/type.mjs";
18
18
 
19
- styleInject('/* Core brand colors (un-themed) */\n[data-slice-theme-scope] {\n\t--brand-grey-50: #f4f7fa;\n\t--brand-grey-100: #e5ecf3;\n\t--brand-grey-200: #d5e0ea;\n\t--brand-grey-300: #98acbf;\n\t--brand-grey-400: #7f96a9;\n\t--brand-grey-500: #657d91;\n\t--brand-grey-600: #4c6273;\n\t--brand-grey-700: #405261;\n\t--brand-grey-800: #37434e;\n\t--brand-grey-900: #2d353d;\n\t--brand-grey-950: #1f262d;\n\t--brand-sea-50: #e8f1ff;\n\t--brand-sea-100: #c7defe;\n\t--brand-sea-200: #a5c9ff;\n\t--brand-sea-300: #7ab3ff;\n\t--brand-sea-400: #4084ff;\n\t--brand-sea-500: #2f45ff;\n\t--brand-sea-600: #2d2fff;\n\t--brand-sea-700: #0000ff;\n\t--brand-sea-800: #0609cd;\n\t--brand-sea-900: #001699;\n\t--brand-sea-950: #0a0b5c;\n\t--brand-sky-50: #eafffe;\n\t--brand-sky-100: #cdfffb;\n\t--brand-sky-200: #a3f8ff;\n\t--brand-sky-300: #6af5ff;\n\t--brand-sky-400: #00edff;\n\t--brand-sky-500: #00c8e0;\n\t--brand-sky-600: #00a6c0;\n\t--brand-sky-700: #03839b;\n\t--brand-sky-800: #0d697d;\n\t--brand-sky-900: #105669;\n\t--brand-sky-950: #033949;\n\t--brand-land-50: #f4ffe5;\n\t--brand-land-100: #e0ffb7;\n\t--brand-land-200: #caff95;\n\t--brand-land-300: #b7fe59;\n\t--brand-land-400: #9cf820;\n\t--brand-land-500: #71e618;\n\t--brand-land-600: #56c900;\n\t--brand-land-700: #2d8c00;\n\t--brand-land-800: #31690b;\n\t--brand-land-900: #2a580f;\n\t--brand-land-950: #123201;\n\t--brand-orange-50: #fff8ec;\n\t--brand-orange-100: #ffebd7;\n\t--brand-orange-200: #ffe3c6;\n\t--brand-orange-300: #ffc182;\n\t--brand-orange-400: #ff972e;\n\t--brand-orange-500: #ff800a;\n\t--brand-orange-600: #ff6700;\n\t--brand-orange-700: #ff3700;\n\t--brand-orange-800: #a02b0b;\n\t--brand-orange-900: #80250b;\n\t--brand-orange-950: #461604;\n\t--brand-yellow-50: #ffffea;\n\t--brand-yellow-100: #fffdca;\n\t--brand-yellow-200: #fff2a0;\n\t--brand-yellow-300: #ffeb72;\n\t--brand-yellow-400: #ffd333;\n\t--brand-yellow-500: #ffc200;\n\t--brand-yellow-600: #ffad00;\n\t--brand-yellow-700: #c68601;\n\t--brand-yellow-800: #8f6307;\n\t--brand-yellow-900: #5f430a;\n\t--brand-yellow-950: #442e00;\n\t--brand-purple-50: #faf0ff;\n\t--brand-purple-100: #f4ddff;\n\t--brand-purple-200: #e5cdff;\n\t--brand-purple-300: #ccafff;\n\t--brand-purple-400: #b891ff;\n\t--brand-purple-500: #7d48ff;\n\t--brand-purple-600: #6a14ff;\n\t--brand-purple-700: #5600f1;\n\t--brand-purple-800: #4d01d6;\n\t--brand-purple-900: #4003af;\n\t--brand-purple-950: #1e007c;\n\t--brand-magenta-50: #fef1fc;\n\t--brand-magenta-100: #ffdcef;\n\t--brand-magenta-200: #ffcae6;\n\t--brand-magenta-300: #ff90cb;\n\t--brand-magenta-400: #ff61ca;\n\t--brand-magenta-500: #ff3ac2;\n\t--brand-magenta-600: #f012aa;\n\t--brand-magenta-700: #df059b;\n\t--brand-magenta-800: #9b0069;\n\t--brand-magenta-900: #790a55;\n\t--brand-magenta-950: #58003a;\n\t--brand-white-0: #ffffff;\n\t--product-red-400: #ff474a;\n\t--product-red-500: #df0529;\n\n\t/* Non-brand semantic aliases */\n\t--core-drop-shadow-light: #0339491a;\n\t--core-drop-shadow-dark: #0000007a;\n\t--core-surface-coverup-translucent-light: #1f262d52;\n\t--core-surface-coverup-translucent-dark: #0000007a;\n\t--core-surface-overlay-translucent-light: #ffffffcc;\n\t--core-surface-overlay-translucent-dark: #1f262dcc;\n\t--scroll-bar-light: #e3e8ef;\n\t--scroll-bar-dark: rgba(255, 255, 255, 0.1);\n\t--scroll-bar-hover-light: #cdd5df;\n\t--scroll-bar-hover-dark: rgba(255, 255, 255, 0.15);\n\t--surface-shadow-soft-light: 0px 4px 24px #0339491a;\n\t--surface-shadow-soft-dark: 0px 4px 24px #0000007a;\n\t--surface-shadow-strong-light: 0px 4px 64px #0339491a;\n\t--surface-shadow-strong-dark: 0px 4px 64px #0000007a;\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="lightMode"] {\n\t--core-surface-primary: #ffffff;\n}\n\n/* Light theme tokens */\n:root[data-slice-theme="lightMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-100);\n\t--core-button-disabled: var(--brand-grey-50);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-light);\n\t--core-gp-logo-primary: var(--brand-sea-700);\n\t--core-gp-logo-secondary: var(--brand-grey-950);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-300);\n\t--core-icon-error: var(--product-red-500);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-grey-950);\n\t--core-icon-secondary: var(--brand-grey-700);\n\t--core-icon-tertiary: var(--brand-sea-500);\n\t--core-outline-secondary: var(--brand-grey-700);\n\t--core-outline-primary: var(--brand-grey-100);\n\t--core-outline-special: var(--brand-sea-100);\n\t--core-outline-tertiary: var(--brand-sea-500);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-light\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-light\n\t);\n\t--core-surface-primary: var(--brand-white-0);\n\t--core-surface-secondary: var(--brand-grey-50);\n\t--core-surface-special: var(--brand-sea-50);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-300);\n\t--core-text-error: var(--product-red-500);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-grey-950);\n\t--core-text-secondary: var(--brand-grey-700);\n\t--core-text-tertiary: var(--brand-grey-600);\n\t--core-text-special: var(--brand-sea-500);\n\t--core-link-primary: var(--brand-sea-700);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-500);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-500);\n\t--feedback-informative: var(--brand-sky-700);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-500);\n\t--gia-tag-risk-high: var(--product-red-500);\n\t--gia-tag-risk-low: var(--brand-sky-700);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-100);\n\t--scroll-bar: var(--scroll-bar-light);\n\t--scroll-bar-hover: var(--scroll-bar-hover-light);\n\t--surface-shadow-soft: var(--surface-shadow-soft-light);\n\t--surface-shadow-strong: var(--surface-shadow-strong-light);\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="darkMode"] {\n\t--core-surface-primary: #1f262d;\n}\n\n/* Dark theme tokens */\n:root[data-slice-theme="darkMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-700);\n\t--core-button-disabled: var(--brand-grey-900);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-dark);\n\t--core-gp-logo-primary: var(--brand-sea-500);\n\t--core-gp-logo-secondary: var(--brand-white-0);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-500);\n\t--core-icon-error: var(--product-red-400);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-white-0);\n\t--core-icon-secondary: var(--brand-grey-200);\n\t--core-icon-tertiary: var(--brand-sky-300);\n\t--core-outline-secondary: var(--brand-grey-100);\n\t--core-outline-primary: var(--brand-grey-700);\n\t--core-outline-special: var(--brand-sky-300);\n\t--core-outline-tertiary: var(--brand-sky-300);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-dark\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-dark\n\t);\n\t--core-surface-primary: var(--brand-grey-950);\n\t--core-surface-secondary: var(--brand-grey-900);\n\t--core-surface-special: var(--brand-sky-950);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-500);\n\t--core-text-error: var(--product-red-400);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-white-0);\n\t--core-text-secondary: var(--brand-grey-200);\n\t--core-text-tertiary: var(--brand-grey-400);\n\t--core-text-special: var(--brand-sky-300);\n\t--core-link-primary: var(--brand-sky-300);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-400);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-400);\n\t--feedback-informative: var(--brand-sky-600);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-400);\n\t--gia-tag-risk-high: var(--product-red-400);\n\t--gia-tag-risk-low: var(--brand-sky-600);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-900);\n\t--scroll-bar: var(--scroll-bar-dark);\n\t--scroll-bar-hover: var(--scroll-bar-hover-dark);\n\t--surface-shadow-soft: var(--surface-shadow-soft-dark);\n\t--surface-shadow-strong: var(--surface-shadow-strong-dark);\n}\n\n/* Theme token text-color utility classes */\n[data-slice-theme-scope] .array-land {\n\tbackground: var(--array-land);\n}\n[data-slice-theme-scope] .array-land-label {\n\tcolor: var(--array-land-label);\n}\n[data-slice-theme-scope] .array-magenta {\n\tbackground: var(--array-magenta);\n}\n[data-slice-theme-scope] .array-magenta-label {\n\tcolor: var(--array-magenta-label);\n}\n[data-slice-theme-scope] .array-orange {\n\tbackground: var(--array-orange);\n}\n[data-slice-theme-scope] .array-orange-label {\n\tcolor: var(--array-orange-label);\n}\n[data-slice-theme-scope] .array-purple {\n\tbackground: var(--array-purple);\n}\n[data-slice-theme-scope] .array-purple-label {\n\tcolor: var(--array-purple-label);\n}\n[data-slice-theme-scope] .array-sea {\n\tbackground: var(--array-sea);\n}\n[data-slice-theme-scope] .array-sea-label {\n\tcolor: var(--array-sea-label);\n}\n[data-slice-theme-scope] .array-sky {\n\tbackground: var(--array-sky);\n}\n[data-slice-theme-scope] .array-sky-label {\n\tcolor: var(--array-sky-label);\n}\n[data-slice-theme-scope] .array-yellow {\n\tbackground: var(--array-yellow);\n}\n[data-slice-theme-scope] .array-yellow-label {\n\tcolor: var(--array-yellow-label);\n}\n[data-slice-theme-scope] .core-badge-primary {\n\tbackground: var(--core-badge-primary);\n}\n[data-slice-theme-scope] .core-badge-secondary {\n\tbackground: var(--core-badge-secondary);\n}\n[data-slice-theme-scope] .core-button-disabled {\n\tbackground: var(--core-button-disabled);\n}\n[data-slice-theme-scope] .core-button-primary {\n\tbackground: var(--core-button-primary);\n}\n[data-slice-theme-scope] .core-drop-shadow {\n\tbox-shadow: var(--core-drop-shadow);\n}\n[data-slice-theme-scope] .core-gp-logo-primary {\n\tcolor: var(--core-gp-logo-primary);\n}\n[data-slice-theme-scope] .core-gp-logo-secondary {\n\tcolor: var(--core-gp-logo-secondary);\n}\n[data-slice-theme-scope] .core-icon-dark {\n\tcolor: var(--core-icon-dark);\n}\n[data-slice-theme-scope] .core-icon-disabled {\n\tcolor: var(--core-icon-disabled);\n}\n[data-slice-theme-scope] .core-icon-error {\n\tcolor: var(--core-icon-error);\n}\n[data-slice-theme-scope] .core-icon-light {\n\tcolor: var(--core-icon-light);\n}\n[data-slice-theme-scope] .core-icon-primary {\n\tcolor: var(--core-icon-primary);\n}\n[data-slice-theme-scope] .core-icon-secondary {\n\tcolor: var(--core-icon-secondary);\n}\n[data-slice-theme-scope] .core-icon-tertiary {\n\tcolor: var(--core-icon-tertiary);\n}\n[data-slice-theme-scope] .core-link-primary {\n\tcolor: var(--core-link-primary);\n}\n[data-slice-theme-scope] .core-outline-primary {\n\tborder-color: var(--core-outline-primary);\n}\n[data-slice-theme-scope] .core-outline-secondary {\n\tborder-color: var(--core-outline-secondary);\n}\n[data-slice-theme-scope] .core-outline-special {\n\tborder-color: var(--core-outline-special);\n}\n[data-slice-theme-scope] .core-outline-tertiary {\n\tborder-color: var(--core-outline-tertiary);\n}\n[data-slice-theme-scope] .core-surface-coverup-translucent {\n\tbackground: var(--core-surface-coverup-translucent);\n}\n[data-slice-theme-scope] .core-surface-overlay-translucent {\n\tbackground: var(--core-surface-overlay-translucent);\n}\n[data-slice-theme-scope] .core-surface-primary {\n\tbackground: var(--core-surface-primary);\n}\n[data-slice-theme-scope] .core-surface-secondary {\n\tbackground: var(--core-surface-secondary);\n}\n[data-slice-theme-scope] .core-surface-special {\n\tbackground: var(--core-surface-special);\n}\n[data-slice-theme-scope] .core-text-dark {\n\tcolor: var(--core-text-dark);\n}\n[data-slice-theme-scope] .core-text-disabled {\n\tcolor: var(--core-text-disabled);\n}\n[data-slice-theme-scope] .core-text-error {\n\tcolor: var(--core-text-error);\n}\n[data-slice-theme-scope] .core-text-light {\n\tcolor: var(--core-text-light);\n}\n[data-slice-theme-scope] .core-text-primary {\n\tcolor: var(--core-text-primary);\n}\n[data-slice-theme-scope] .core-text-secondary {\n\tcolor: var(--core-text-secondary);\n}\n[data-slice-theme-scope] .core-text-special {\n\tcolor: var(--core-text-special);\n}\n[data-slice-theme-scope] .core-text-tertiary {\n\tcolor: var(--core-text-tertiary);\n}\n[data-slice-theme-scope] .eor-tag-employee {\n\tcolor: var(--eor-tag-employee);\n}\n[data-slice-theme-scope] .eor-tag-overdue {\n\tcolor: var(--eor-tag-overdue);\n}\n[data-slice-theme-scope] .eor-tag-paid {\n\tcolor: var(--eor-tag-paid);\n}\n[data-slice-theme-scope] .eor-tag-pending {\n\tcolor: var(--eor-tag-pending);\n}\n[data-slice-theme-scope] .eor-tag-professional {\n\tcolor: var(--eor-tag-professional);\n}\n[data-slice-theme-scope] .feedback-attention {\n\tcolor: var(--feedback-attention);\n}\n[data-slice-theme-scope] .feedback-informative {\n\tcolor: var(--feedback-informative);\n}\n[data-slice-theme-scope] .feedback-positive {\n\tcolor: var(--feedback-positive);\n}\n[data-slice-theme-scope] .feedback-urgency {\n\tcolor: var(--feedback-urgency);\n}\n[data-slice-theme-scope] .feedback-warning {\n\tcolor: var(--feedback-warning);\n}\n[data-slice-theme-scope] .gia-tag-risk-high {\n\tcolor: var(--gia-tag-risk-high);\n}\n[data-slice-theme-scope] .gia-tag-risk-low {\n\tcolor: var(--gia-tag-risk-low);\n}\n[data-slice-theme-scope] .gia-tag-risk-moderate {\n\tcolor: var(--gia-tag-risk-moderate);\n}\n[data-slice-theme-scope] .gia-text-excerpt-highlight {\n\tcolor: var(--gia-text-excerpt-highlight);\n}\n[data-slice-theme-scope] .gia-text-selection {\n\tcolor: var(--gia-text-selection);\n}\n[data-slice-theme-scope] .scroll-bar {\n\tcolor: var(--scroll-bar);\n}\n[data-slice-theme-scope] .scroll-bar-hover {\n\tcolor: var(--scroll-bar-hover);\n}\n[data-slice-theme-scope] .surface-shadow-soft {\n\tcolor: var(--surface-shadow-soft);\n}\n[data-slice-theme-scope] .surface-shadow-strong {\n\tcolor: var(--surface-shadow-strong);\n}\n\n[data-slice-theme-scope] {\n\tbackground: var(--core-surface-primary);\n}\n\n[data-slice-theme-scope] a {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:visited {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:hover {\n\ttext-decoration: none;\n}\n\n[data-slice-theme-scope] code {\n\tborder: 1px solid var(--core-outline-primary);\n\tbackground: var(--core-surface-secondary);\n\tcolor: var(--core-text-primary);\n}\n\n.slice-global-background-color {\n\tbackground-color: var(--core-surface-primary);\n\tmargin: 0;\n\tpadding: 0;\n}\n');
19
+ styleInject('/* Core brand colors (un-themed) */\n[data-slice-theme-scope] {\n\t--brand-grey-50: #f4f7fa;\n\t--brand-grey-100: #e5ecf3;\n\t--brand-grey-200: #d5e0ea;\n\t--brand-grey-300: #98acbf;\n\t--brand-grey-400: #7f96a9;\n\t--brand-grey-500: #657d91;\n\t--brand-grey-600: #4c6273;\n\t--brand-grey-700: #405261;\n\t--brand-grey-800: #37434e;\n\t--brand-grey-900: #2d353d;\n\t--brand-grey-950: #1f262d;\n\t--brand-sea-50: #e8f1ff;\n\t--brand-sea-100: #c7defe;\n\t--brand-sea-200: #a5c9ff;\n\t--brand-sea-300: #7ab3ff;\n\t--brand-sea-400: #4084ff;\n\t--brand-sea-500: #2f45ff;\n\t--brand-sea-600: #2d2fff;\n\t--brand-sea-700: #0000ff;\n\t--brand-sea-800: #0609cd;\n\t--brand-sea-900: #001699;\n\t--brand-sea-950: #0a0b5c;\n\t--brand-sky-50: #eafffe;\n\t--brand-sky-100: #cdfffb;\n\t--brand-sky-200: #a3f8ff;\n\t--brand-sky-300: #6af5ff;\n\t--brand-sky-400: #00edff;\n\t--brand-sky-500: #00c8e0;\n\t--brand-sky-600: #00a6c0;\n\t--brand-sky-700: #03839b;\n\t--brand-sky-800: #0d697d;\n\t--brand-sky-900: #105669;\n\t--brand-sky-950: #033949;\n\t--brand-land-50: #f4ffe5;\n\t--brand-land-100: #e0ffb7;\n\t--brand-land-200: #caff95;\n\t--brand-land-300: #b7fe59;\n\t--brand-land-400: #9cf820;\n\t--brand-land-500: #71e618;\n\t--brand-land-600: #56c900;\n\t--brand-land-700: #2d8c00;\n\t--brand-land-800: #31690b;\n\t--brand-land-900: #2a580f;\n\t--brand-land-950: #123201;\n\t--brand-orange-50: #fff8ec;\n\t--brand-orange-100: #ffebd7;\n\t--brand-orange-200: #ffe3c6;\n\t--brand-orange-300: #ffc182;\n\t--brand-orange-400: #ff972e;\n\t--brand-orange-500: #ff800a;\n\t--brand-orange-600: #ff6700;\n\t--brand-orange-700: #ff3700;\n\t--brand-orange-800: #a02b0b;\n\t--brand-orange-900: #80250b;\n\t--brand-orange-950: #461604;\n\t--brand-yellow-50: #ffffea;\n\t--brand-yellow-100: #fffdca;\n\t--brand-yellow-200: #fff2a0;\n\t--brand-yellow-300: #ffeb72;\n\t--brand-yellow-400: #ffd333;\n\t--brand-yellow-500: #ffc200;\n\t--brand-yellow-600: #ffad00;\n\t--brand-yellow-700: #c68601;\n\t--brand-yellow-800: #8f6307;\n\t--brand-yellow-900: #5f430a;\n\t--brand-yellow-950: #442e00;\n\t--brand-purple-50: #faf0ff;\n\t--brand-purple-100: #f4ddff;\n\t--brand-purple-200: #e5cdff;\n\t--brand-purple-300: #ccafff;\n\t--brand-purple-400: #b891ff;\n\t--brand-purple-500: #7d48ff;\n\t--brand-purple-600: #6a14ff;\n\t--brand-purple-700: #5600f1;\n\t--brand-purple-800: #4d01d6;\n\t--brand-purple-900: #4003af;\n\t--brand-purple-950: #1e007c;\n\t--brand-magenta-50: #fef1fc;\n\t--brand-magenta-100: #ffdcef;\n\t--brand-magenta-200: #ffcae6;\n\t--brand-magenta-300: #ff90cb;\n\t--brand-magenta-400: #ff61ca;\n\t--brand-magenta-500: #ff3ac2;\n\t--brand-magenta-600: #f012aa;\n\t--brand-magenta-700: #df059b;\n\t--brand-magenta-800: #9b0069;\n\t--brand-magenta-900: #790a55;\n\t--brand-magenta-950: #58003a;\n\t--brand-white-0: #ffffff;\n\t--product-red-400: #ff474a;\n\t--product-red-500: #df0529;\n\n\t/* Non-brand semantic aliases */\n\t--core-drop-shadow-light: #0339491a;\n\t--core-drop-shadow-dark: #0000007a;\n\t--core-surface-coverup-translucent-light: #1f262d52;\n\t--core-surface-coverup-translucent-dark: #0000007a;\n\t--core-surface-overlay-translucent-light: #ffffffcc;\n\t--core-surface-overlay-translucent-dark: #1f262dcc;\n\t--scroll-bar-light: #e3e8ef;\n\t--scroll-bar-dark: rgba(255, 255, 255, 0.1);\n\t--scroll-bar-hover-light: #cdd5df;\n\t--scroll-bar-hover-dark: rgba(255, 255, 255, 0.15);\n\t--surface-shadow-soft-light: 0px 4px 24px #0339491a;\n\t--surface-shadow-soft-dark: 0px 4px 24px #0000007a;\n\t--surface-shadow-strong-light: 0px 4px 64px #0339491a;\n\t--surface-shadow-strong-dark: 0px 4px 64px #0000007a;\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="lightMode"] {\n\t--core-surface-primary: #ffffff;\n}\n\n/* Light theme tokens */\n:root[data-slice-theme="lightMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-100);\n\t--core-button-disabled: var(--brand-grey-50);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-light);\n\t--core-gp-logo-primary: var(--brand-sea-700);\n\t--core-gp-logo-secondary: var(--brand-grey-950);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-300);\n\t--core-icon-error: var(--product-red-500);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-grey-950);\n\t--core-icon-secondary: var(--brand-grey-700);\n\t--core-icon-tertiary: var(--brand-sea-500);\n\t--core-outline-secondary: var(--brand-grey-700);\n\t--core-outline-primary: var(--brand-grey-100);\n\t--core-outline-special: var(--brand-sea-100);\n\t--core-outline-tertiary: var(--brand-sea-500);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-light\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-light\n\t);\n\t--core-surface-primary: var(--brand-white-0);\n\t--core-surface-secondary: var(--brand-grey-50);\n\t--core-surface-special: var(--brand-sea-50);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-300);\n\t--core-text-error: var(--product-red-500);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-grey-950);\n\t--core-text-secondary: var(--brand-grey-700);\n\t--core-text-tertiary: var(--brand-grey-600);\n\t--core-text-special: var(--brand-sea-500);\n\t--core-link-primary: var(--brand-sea-700);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-500);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-500);\n\t--feedback-informative: var(--brand-sky-700);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-500);\n\t--gia-tag-risk-high: var(--product-red-500);\n\t--gia-tag-risk-low: var(--brand-sky-700);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-100);\n\t--scroll-bar: var(--scroll-bar-light);\n\t--scroll-bar-hover: var(--scroll-bar-hover-light);\n\t--surface-shadow-soft: var(--surface-shadow-soft-light);\n\t--surface-shadow-strong: var(--surface-shadow-strong-light);\n}\n\n/* Root-level token needed for global viewport backgrounds */\n:root[data-slice-theme="darkMode"] {\n\t--core-surface-primary: #1f262d;\n}\n\n/* Dark theme tokens */\n:root[data-slice-theme="darkMode"] [data-slice-theme-scope] {\n\t--array-land: var(--brand-land-100);\n\t--array-land-label: var(--brand-land-600);\n\t--array-magenta: var(--brand-magenta-100);\n\t--array-magenta-label: var(--brand-magenta-600);\n\t--array-orange: var(--brand-orange-100);\n\t--array-orange-label: var(--brand-orange-600);\n\t--array-purple: var(--brand-purple-100);\n\t--array-purple-label: var(--brand-purple-600);\n\t--array-sea: var(--brand-sea-100);\n\t--array-sea-label: var(--brand-sea-600);\n\t--array-sky: var(--brand-sky-100);\n\t--array-sky-label: var(--brand-sky-600);\n\t--array-yellow: var(--brand-yellow-100);\n\t--array-yellow-label: var(--brand-yellow-600);\n\t--core-badge-primary: var(--brand-sea-500);\n\t--core-badge-secondary: var(--brand-grey-700);\n\t--core-button-disabled: var(--brand-grey-900);\n\t--core-button-primary: var(--brand-sea-500);\n\t--core-drop-shadow: var(--core-drop-shadow-dark);\n\t--core-gp-logo-primary: var(--brand-sea-500);\n\t--core-gp-logo-secondary: var(--brand-white-0);\n\t--core-icon-dark: var(--brand-grey-950);\n\t--core-icon-disabled: var(--brand-grey-500);\n\t--core-icon-error: var(--product-red-400);\n\t--core-icon-light: var(--brand-white-0);\n\t--core-icon-primary: var(--brand-white-0);\n\t--core-icon-secondary: var(--brand-grey-200);\n\t--core-icon-tertiary: var(--brand-sky-300);\n\t--core-outline-secondary: var(--brand-grey-100);\n\t--core-outline-primary: var(--brand-grey-700);\n\t--core-outline-special: var(--brand-sky-300);\n\t--core-outline-tertiary: var(--brand-sky-300);\n\t--core-surface-coverup-translucent: var(\n\t\t--core-surface-coverup-translucent-dark\n\t);\n\t--core-surface-overlay-translucent: var(\n\t\t--core-surface-overlay-translucent-dark\n\t);\n\t--core-surface-primary: var(--brand-grey-950);\n\t--core-surface-secondary: var(--brand-grey-900);\n\t--core-surface-special: var(--brand-sky-950);\n\t--core-text-dark: var(--brand-grey-950);\n\t--core-text-disabled: var(--brand-grey-500);\n\t--core-text-error: var(--product-red-400);\n\t--core-text-light: var(--brand-white-0);\n\t--core-text-primary: var(--brand-white-0);\n\t--core-text-secondary: var(--brand-grey-200);\n\t--core-text-tertiary: var(--brand-grey-400);\n\t--core-text-special: var(--brand-sky-300);\n\t--core-link-primary: var(--brand-sky-300);\n\t--eor-tag-employee: var(--brand-sky-700);\n\t--eor-tag-overdue: var(--product-red-400);\n\t--eor-tag-paid: var(--brand-land-700);\n\t--eor-tag-pending: var(--brand-orange-500);\n\t--eor-tag-professional: var(--brand-sea-500);\n\t--feedback-attention: var(--brand-yellow-400);\n\t--feedback-informative: var(--brand-sky-600);\n\t--feedback-positive: var(--brand-land-700);\n\t--feedback-urgency: var(--brand-orange-500);\n\t--feedback-warning: var(--product-red-400);\n\t--gia-tag-risk-high: var(--product-red-400);\n\t--gia-tag-risk-low: var(--brand-sky-600);\n\t--gia-tag-risk-moderate: var(--brand-orange-500);\n\t--gia-text-excerpt-highlight: var(--brand-orange-100);\n\t--gia-text-selection: var(--brand-sea-900);\n\t--scroll-bar: var(--scroll-bar-dark);\n\t--scroll-bar-hover: var(--scroll-bar-hover-dark);\n\t--surface-shadow-soft: var(--surface-shadow-soft-dark);\n\t--surface-shadow-strong: var(--surface-shadow-strong-dark);\n}\n\n/* Theme token text-color utility classes */\n[data-slice-theme-scope] .array-land {\n\tbackground: var(--array-land);\n}\n[data-slice-theme-scope] .array-land-label {\n\tcolor: var(--array-land-label);\n}\n[data-slice-theme-scope] .array-magenta {\n\tbackground: var(--array-magenta);\n}\n[data-slice-theme-scope] .array-magenta-label {\n\tcolor: var(--array-magenta-label);\n}\n[data-slice-theme-scope] .array-orange {\n\tbackground: var(--array-orange);\n}\n[data-slice-theme-scope] .array-orange-label {\n\tcolor: var(--array-orange-label);\n}\n[data-slice-theme-scope] .array-purple {\n\tbackground: var(--array-purple);\n}\n[data-slice-theme-scope] .array-purple-label {\n\tcolor: var(--array-purple-label);\n}\n[data-slice-theme-scope] .array-sea {\n\tbackground: var(--array-sea);\n}\n[data-slice-theme-scope] .array-sea-label {\n\tcolor: var(--array-sea-label);\n}\n[data-slice-theme-scope] .array-sky {\n\tbackground: var(--array-sky);\n}\n[data-slice-theme-scope] .array-sky-label {\n\tcolor: var(--array-sky-label);\n}\n[data-slice-theme-scope] .array-yellow {\n\tbackground: var(--array-yellow);\n}\n[data-slice-theme-scope] .array-yellow-label {\n\tcolor: var(--array-yellow-label);\n}\n[data-slice-theme-scope] .core-badge-primary {\n\tbackground: var(--core-badge-primary);\n}\n[data-slice-theme-scope] .core-badge-secondary {\n\tbackground: var(--core-badge-secondary);\n}\n[data-slice-theme-scope] .core-button-disabled {\n\tbackground: var(--core-button-disabled);\n}\n[data-slice-theme-scope] .core-button-primary {\n\tbackground: var(--core-button-primary);\n}\n[data-slice-theme-scope] .core-drop-shadow {\n\tbox-shadow: var(--core-drop-shadow);\n}\n[data-slice-theme-scope] .core-gp-logo-primary {\n\tcolor: var(--core-gp-logo-primary);\n}\n[data-slice-theme-scope] .core-gp-logo-secondary {\n\tcolor: var(--core-gp-logo-secondary);\n}\n[data-slice-theme-scope] .core-icon-dark {\n\tcolor: var(--core-icon-dark);\n}\n[data-slice-theme-scope] .core-icon-disabled {\n\tcolor: var(--core-icon-disabled);\n}\n[data-slice-theme-scope] .core-icon-error {\n\tcolor: var(--core-icon-error);\n}\n[data-slice-theme-scope] .core-icon-light {\n\tcolor: var(--core-icon-light);\n}\n[data-slice-theme-scope] .core-icon-primary {\n\tcolor: var(--core-icon-primary);\n}\n[data-slice-theme-scope] .core-icon-secondary {\n\tcolor: var(--core-icon-secondary);\n}\n[data-slice-theme-scope] .core-icon-tertiary {\n\tcolor: var(--core-icon-tertiary);\n}\n[data-slice-theme-scope] .core-link-primary {\n\tcolor: var(--core-link-primary);\n}\n[data-slice-theme-scope] .core-outline-primary {\n\tborder-color: var(--core-outline-primary);\n}\n[data-slice-theme-scope] .core-outline-secondary {\n\tborder-color: var(--core-outline-secondary);\n}\n[data-slice-theme-scope] .core-outline-special {\n\tborder-color: var(--core-outline-special);\n}\n[data-slice-theme-scope] .core-outline-tertiary {\n\tborder-color: var(--core-outline-tertiary);\n}\n[data-slice-theme-scope] .core-surface-coverup-translucent {\n\tbackground: var(--core-surface-coverup-translucent);\n}\n[data-slice-theme-scope] .core-surface-overlay-translucent {\n\tbackground: var(--core-surface-overlay-translucent);\n}\n[data-slice-theme-scope] .core-surface-primary {\n\tbackground: var(--core-surface-primary);\n}\n[data-slice-theme-scope] .core-surface-secondary {\n\tbackground: var(--core-surface-secondary);\n}\n[data-slice-theme-scope] .core-surface-special {\n\tbackground: var(--core-surface-special);\n}\n[data-slice-theme-scope] .core-text-dark {\n\tcolor: var(--core-text-dark);\n}\n[data-slice-theme-scope] .core-text-disabled {\n\tcolor: var(--core-text-disabled);\n}\n[data-slice-theme-scope] .core-text-error {\n\tcolor: var(--core-text-error);\n}\n[data-slice-theme-scope] .core-text-light {\n\tcolor: var(--core-text-light);\n}\n[data-slice-theme-scope] .core-text-primary {\n\tcolor: var(--core-text-primary);\n}\n[data-slice-theme-scope] .core-text-secondary {\n\tcolor: var(--core-text-secondary);\n}\n[data-slice-theme-scope] .core-text-special {\n\tcolor: var(--core-text-special);\n}\n[data-slice-theme-scope] .core-text-tertiary {\n\tcolor: var(--core-text-tertiary);\n}\n[data-slice-theme-scope] .eor-tag-employee {\n\tcolor: var(--eor-tag-employee);\n}\n[data-slice-theme-scope] .eor-tag-overdue {\n\tcolor: var(--eor-tag-overdue);\n}\n[data-slice-theme-scope] .eor-tag-paid {\n\tcolor: var(--eor-tag-paid);\n}\n[data-slice-theme-scope] .eor-tag-pending {\n\tcolor: var(--eor-tag-pending);\n}\n[data-slice-theme-scope] .eor-tag-professional {\n\tcolor: var(--eor-tag-professional);\n}\n[data-slice-theme-scope] .feedback-attention {\n\tcolor: var(--feedback-attention);\n}\n[data-slice-theme-scope] .feedback-informative {\n\tcolor: var(--feedback-informative);\n}\n[data-slice-theme-scope] .feedback-positive {\n\tcolor: var(--feedback-positive);\n}\n[data-slice-theme-scope] .feedback-urgency {\n\tcolor: var(--feedback-urgency);\n}\n[data-slice-theme-scope] .feedback-warning {\n\tcolor: var(--feedback-warning);\n}\n[data-slice-theme-scope] .gia-tag-risk-high {\n\tcolor: var(--gia-tag-risk-high);\n}\n[data-slice-theme-scope] .gia-tag-risk-low {\n\tcolor: var(--gia-tag-risk-low);\n}\n[data-slice-theme-scope] .gia-tag-risk-moderate {\n\tcolor: var(--gia-tag-risk-moderate);\n}\n[data-slice-theme-scope] .gia-text-excerpt-highlight {\n\tcolor: var(--gia-text-excerpt-highlight);\n}\n[data-slice-theme-scope] .gia-text-selection {\n\tcolor: var(--gia-text-selection);\n}\n[data-slice-theme-scope] .scroll-bar {\n\tcolor: var(--scroll-bar);\n}\n[data-slice-theme-scope] .scroll-bar-hover {\n\tcolor: var(--scroll-bar-hover);\n}\n[data-slice-theme-scope] .surface-shadow-soft {\n\tcolor: var(--surface-shadow-soft);\n}\n[data-slice-theme-scope] .surface-shadow-strong {\n\tcolor: var(--surface-shadow-strong);\n}\n\n[data-slice-theme-scope] {\n\tbackground: var(--core-surface-primary);\n}\n\n[data-slice-theme-scope] a {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:visited {\n\tcolor: var(--core-text-special);\n\ttext-decoration: underline;\n}\n\n[data-slice-theme-scope] a:hover {\n\ttext-decoration: none;\n}\n\n[data-slice-theme-scope] code {\n\tborder: 1px solid var(--core-outline-primary);\n\tbackground: var(--core-surface-secondary);\n\tcolor: var(--core-text-primary);\n}\n');
20
20
 
21
21
  styleInject("[data-slice-theme-scope] {\n\t--elevation-below-surface: -100;\n\t--elevation-surface: 0;\n\t--elevation-float: 100;\n\t--elevation-describe: 200;\n\t--elevation-status: 300;\n\t--elevation-notify: 400;\n\t--elevation-overlay: 500;\n\t--elevation-confirm: 600;\n}\n");
22
22
 
@@ -26,6 +26,8 @@ styleInject("/* Keep these values in sync with src/hooks/useWindow/useWindow.ts
26
26
 
27
27
  styleInject("[data-slice-theme-scope] {\n\t--motion-magnet: cubic-bezier(0.352, 0.003, 0.993, -0.052);\n\t--motion-water: cubic-bezier(0.36, 0, 0.64, 1);\n\t--motion-spring: linear(\n\t\t0,\n\t\t0.002 0.2%,\n\t\t0.011 0.5%,\n\t\t0.041 1%,\n\t\t0.1 1.6%,\n\t\t0.18 2.2%,\n\t\t0.365 3.3%,\n\t\t0.925 6.2%,\n\t\t1.058 7%,\n\t\t1.17 7.8%,\n\t\t1.26 8.6%,\n\t\t1.318 9.3%,\n\t\t1.342 9.7%,\n\t\t1.36 10.1%,\n\t\t1.372 10.5%,\n\t\t1.378 10.9%,\n\t\t1.378 11.4%,\n\t\t1.374 11.7%,\n\t\t1.368 12%,\n\t\t1.348 12.6%,\n\t\t1.314 13.3%,\n\t\t1.237 14.5%,\n\t\t1.026 17.4%,\n\t\t0.975 18.2%,\n\t\t0.933 19%,\n\t\t0.9 19.8%,\n\t\t0.878 20.5%,\n\t\t0.864 21.2%,\n\t\t0.859 21.6%,\n\t\t0.857 22%,\n\t\t0.856 22.5%,\n\t\t0.86 23.1%,\n\t\t0.867 23.7%,\n\t\t0.88 24.4%,\n\t\t0.909 25.6%,\n\t\t0.991 28.6%,\n\t\t1.01 29.4%,\n\t\t1.026 30.2%,\n\t\t1.037 30.9%,\n\t\t1.046 31.6%,\n\t\t1.051 32.3%,\n\t\t1.054 33.1%,\n\t\t1.053 34.2%,\n\t\t1.046 35.5%,\n\t\t1.035 36.7%,\n\t\t1.003 39.8%,\n\t\t0.99 41.4%,\n\t\t0.983 42.8%,\n\t\t0.979 44.2%,\n\t\t0.982 46.3%,\n\t\t1.002 52%,\n\t\t1.006 53.6%,\n\t\t1.008 55.2%,\n\t\t1.007 57.5%,\n\t\t0.999 63.1%,\n\t\t0.997 66.3%,\n\t\t1.001 77.2%,\n\t\t1 88.2%,\n\t\t1\n\t);\n\t--motion-magnet-duration: 0.5s;\n\t--motion-water-duration: 0.25s;\n\t--motion-spring-duration: 1s;\n}\n");
28
28
 
29
+ styleInject('.slice-global-body {\n\t/* apply themed background color */\n\tbackground-color: var(--core-surface-primary);\n\t/* remove gaps */\n\tmargin: 0;\n\tpadding: 0;\n\t/* base medium body font style with pref. for theme google font */\n\tfont-family: "Funnel Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",\n\t\tRoboto, Helvetica, Arial, sans-serif;\n\tfont-weight: 360;\n\tfont-size: 15px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n\t-webkit-font-smoothing: antialiased;\n}\n');
30
+
29
31
  const darkModeMediaQuery = globalThis.matchMedia("(prefers-color-scheme: dark)");
30
32
 
31
33
  function ThemeProvider(props) {
@@ -52,12 +54,12 @@ function ThemeProvider(props) {
52
54
  return darkModeMediaQuery.addEventListener("change", handleSystemThemeChange), () => {
53
55
  darkModeMediaQuery.removeEventListener("change", handleSystemThemeChange);
54
56
  };
55
- }, [ system ]), useEffect(() => global ? (document.documentElement.classList.add("slice-global-background-color"),
56
- document.body.classList.add("slice-global-background-color"), () => {
57
- document.documentElement.classList.remove("slice-global-background-color"), document.body.classList.remove("slice-global-background-color");
58
- }) : (document.documentElement.classList.remove("slice-global-background-color"),
59
- void document.body.classList.remove("slice-global-background-color")), [ global ]),
60
- jsx("div", {
57
+ }, [ system ]), useEffect(() => {
58
+ if (global) return document.body.classList.add("slice-global-body"), () => {
59
+ document.body.classList.remove("slice-global-body");
60
+ };
61
+ document.body.classList.remove("slice-global-body");
62
+ }, [ global ]), jsx("div", {
61
63
  "data-slice-theme-scope": !0,
62
64
  children: children
63
65
  });
@@ -6,6 +6,8 @@ export { a as addOpacity, t as tintFromColor } from "../chunks/colors-FQ0uNQcW.m
6
6
 
7
7
  export { I as IndexedDB } from "../chunks/IndexedDB-CJgzPHPB.mjs";
8
8
 
9
+ export { M as MdBuffer } from "../chunks/MdStreamBuffer-DNXE4XbN.mjs";
10
+
9
11
  export { S as SSEConnection } from "../chunks/SSEConnection-DcA3wFsO.mjs";
10
12
 
11
13
  export { W as WSConnection } from "../chunks/WSConnection-D9mpsVdc.mjs";
@@ -1,5 +1,7 @@
1
1
  export { I as IndexedDB } from "../../chunks/IndexedDB-CJgzPHPB.mjs";
2
2
 
3
+ export { M as MdBuffer } from "../../chunks/MdStreamBuffer-DNXE4XbN.mjs";
4
+
3
5
  export { S as SSEConnection } from "../../chunks/SSEConnection-DcA3wFsO.mjs";
4
6
 
5
7
  export { W as WSConnection } from "../../chunks/WSConnection-D9mpsVdc.mjs";
@@ -7,7 +7,7 @@ export declare const FlexDiv: React.NamedExoticComponent<Omit<React.HTMLAttribut
7
7
  absolute?: boolean;
8
8
  background?: string;
9
9
  direction?: "row" | "column";
10
- alignItems?: "start" | "center" | "end" | "between";
10
+ align?: "start" | "center" | "end" | "between";
11
11
  justify?: "start" | "top" | "center" | "end" | "bottom" | "between";
12
12
  width?: number | import("./_types").Size | string;
13
13
  height?: number | import("./_types").Size | string;
@@ -36,7 +36,7 @@ export declare const FlexDiv: React.NamedExoticComponent<Omit<React.HTMLAttribut
36
36
  absolute?: boolean;
37
37
  background?: string;
38
38
  direction?: "row" | "column";
39
- alignItems?: "start" | "center" | "end" | "between";
39
+ align?: "start" | "center" | "end" | "between";
40
40
  justify?: "start" | "top" | "center" | "end" | "bottom" | "between";
41
41
  width?: number | import("./_types").Size | string;
42
42
  height?: number | import("./_types").Size | string;
@@ -15,7 +15,7 @@ type FlexDivBaseProps = {
15
15
  absolute?: boolean;
16
16
  background?: string;
17
17
  direction?: 'row' | 'column';
18
- alignItems?: 'start' | 'center' | 'end' | 'between';
18
+ align?: 'start' | 'center' | 'end' | 'between';
19
19
  justify?: 'start' | 'top' | 'center' | 'end' | 'bottom' | 'between';
20
20
  width?: number | Size | string;
21
21
  height?: number | Size | string;
@@ -17,8 +17,7 @@ type TextFieldBaseProps = {
17
17
  onPaste?: (value: React.ClipboardEvent<HTMLInputElement>) => void;
18
18
  onClear?: () => void;
19
19
  onAction?: () => void;
20
- onValidate?: (state: boolean) => void;
21
- isValid?: boolean;
20
+ error?: boolean;
22
21
  inline?: boolean;
23
22
  maxLength?: number;
24
23
  size?: {
@@ -39,7 +38,6 @@ type TextFieldBaseProps = {
39
38
  textColorPlaceholder?: string;
40
39
  textColorDisabled?: string;
41
40
  labelColor?: string;
42
- validate?: boolean;
43
41
  iconLeft?: {
44
42
  name?: string;
45
43
  size?: number;
@@ -5,5 +5,6 @@ export { useToolTip } from './useToolTip/useToolTip';
5
5
  export { type KeyboardShortcut, type KeyboardShortcuts, useKeyboardShortcuts, } from './useKeyboardShortcuts/useKeyboardShortcuts';
6
6
  export { useLastUpdated } from './useLastUpdated/useLastUpdated';
7
7
  export { useLocalStore } from './useLocalStore/useLocalStore';
8
+ export { useMDStreamBuffer } from './useMdStreamBuffer/useMdStreamBuffer';
8
9
  export { useWindow, FormFactor, type BreakPoints, type WindowGeolocation, type WindowGeolocationError, } from './useWindow/useWindow';
9
10
  export { useObserveResize } from './useObserveResize/useObserveResize';
@@ -0,0 +1,10 @@
1
+ import type { MarkdownStreamBufferOptions, MarkdownStreamBufferSnapshot } from '../../utils';
2
+ export declare function useMDStreamBuffer(options?: MarkdownStreamBufferOptions): {
3
+ raw: string;
4
+ healthy: string;
5
+ isComplete: boolean;
6
+ append: (value: string) => void;
7
+ flush: () => MarkdownStreamBufferSnapshot | undefined;
8
+ complete: () => MarkdownStreamBufferSnapshot | undefined;
9
+ reset: () => void;
10
+ };
@@ -2,7 +2,7 @@ export type { ToolTip, ToolTipInfo } from './components/sharedTypes';
2
2
  export { ToolTipType } from './components/sharedTypes';
3
3
  export { light, dark, lightTheme, darkTheme, motion, elevations, Elevation, } from './theme';
4
4
  export type { SliceTheme, Colors, Type, Corners, Elevations, } from './theme';
5
- export { type KeyboardShortcut, type KeyboardShortcuts, type BreakPoints, type WindowGeolocation, type WindowGeolocationError, useKeyboardShortcuts, useTheme, useObserveTheme, useToolTip, useLastUpdated, useLocalStore, useWindow, useDoubleClick, useObserveResize, } from './hooks';
5
+ export { type KeyboardShortcut, type KeyboardShortcuts, type BreakPoints, type WindowGeolocation, type WindowGeolocationError, useKeyboardShortcuts, useTheme, useObserveTheme, useToolTip, useLastUpdated, useLocalStore, useMDStreamBuffer, useWindow, useDoubleClick, useObserveResize, } from './hooks';
6
6
  export { Avatar } from './components/Avatar/index';
7
7
  export type { AvatarProps } from './components/Avatar/index';
8
8
  export { AvatarGroup } from './components/AvatarGroup';
@@ -4,6 +4,7 @@ import '../theme/elevations/elevation.css';
4
4
  import '../theme/type/type.css';
5
5
  import '../theme/breakpoints/custom-media.css';
6
6
  import '../theme/motion/motion.css';
7
+ import '../theme/global/global.css';
7
8
  interface ThemeProviderProps {
8
9
  children?: React.ReactNode;
9
10
  theme?: string;
@@ -1,5 +1,5 @@
1
1
  export { copyToClipboard, hexToRgb } from './functions/misc';
2
2
  export { debounce } from './functions/debounce';
3
3
  export * from './functions/colors';
4
- export { IndexedDB, SSEConnection, WSConnection } from './objects';
5
- export type { IndexedDBOptions, SSECustomEvent, SSEConnectionCloseOption, SSEConnectionOptions, SSEEventMap, SSEUnifiedBuiltInMessage, SSEUnifiedCustomMessage, SSEUnifiedMessage, UnifiedMessageEvent, WSConnectionOptions, } from './objects';
4
+ export { IndexedDB, MdBuffer, SSEConnection, WSConnection, } from './objects';
5
+ export type { IndexedDBOptions, MarkdownAutoCloseRule, MarkdownStreamBufferOptions, MarkdownStreamBufferSnapshot, SSECustomEvent, SSEConnectionCloseOption, SSEConnectionOptions, SSEEventMap, SSEUnifiedBuiltInMessage, SSEUnifiedCustomMessage, SSEUnifiedMessage, UnifiedMessageEvent, WSConnectionOptions, } from './objects';
@@ -0,0 +1,63 @@
1
+ import type { MarkdownStreamBufferOptions, MarkdownStreamBufferSnapshot } from './_types';
2
+ /**
3
+ * Buffer streamed Markdown and emit parser-safe snapshots on animation frames.
4
+ */
5
+ export declare class MdBuffer {
6
+ private readonly endOfStreamToken?;
7
+ private readonly htmlHandling;
8
+ private readonly includeLinksAndImages;
9
+ private readonly onFlush?;
10
+ private readonly requestFrame;
11
+ private readonly cancelFrame;
12
+ private readonly watchedMarkers;
13
+ private committedRaw;
14
+ private activeRaw;
15
+ private frameHandle;
16
+ private completeSignal;
17
+ constructor(options?: MarkdownStreamBufferOptions);
18
+ /**
19
+ * The raw Markdown accumulated so far.
20
+ */
21
+ get raw(): string;
22
+ /**
23
+ * The current parser-safe preview derived from the raw buffer.
24
+ */
25
+ get healthy(): string;
26
+ /**
27
+ * Append a streamed Markdown token and schedule a frame flush.
28
+ */
29
+ append(chunk: string): MarkdownStreamBufferSnapshot | undefined;
30
+ /**
31
+ * Emit the current snapshot immediately.
32
+ */
33
+ flush(reason?: MarkdownStreamBufferSnapshot['reason']): MarkdownStreamBufferSnapshot;
34
+ /**
35
+ * Mark the stream as complete and flush one final snapshot.
36
+ */
37
+ complete(): MarkdownStreamBufferSnapshot;
38
+ /**
39
+ * Clear the buffered state and cancel any pending frame.
40
+ */
41
+ reset(): void;
42
+ /**
43
+ * Cancel future work and release the retained state.
44
+ */
45
+ dispose(): void;
46
+ private handleEndOfStreamToken;
47
+ private scheduleFlush;
48
+ private commitStableLines;
49
+ private buildHealthyOutput;
50
+ private buildHealthyTail;
51
+ private closeInlineMarkdown;
52
+ private closeLinksAndImages;
53
+ private getPairedRules;
54
+ private closeSymmetricPairedMarkers;
55
+ private closeAsymmetricPairedMarkers;
56
+ private closeLineMarkers;
57
+ private closeTrailingLink;
58
+ private closeTrailingImage;
59
+ private closeTrailingImageSignal;
60
+ private findTrailingLink;
61
+ private findTrailingImage;
62
+ private findTrailingInlineConstruct;
63
+ }
@@ -0,0 +1,3 @@
1
+ import type { MarkdownAutoCloseRule } from './_types';
2
+ export declare const DEFAULT_MAX_DEFERRED_CHARACTERS = 48;
3
+ export declare const DEFAULT_WATCHED_MARKERS: MarkdownAutoCloseRule[];
@@ -0,0 +1,25 @@
1
+ export interface MarkdownStreamBufferSnapshot {
2
+ raw: string;
3
+ healthy: string;
4
+ reason: 'raf' | 'manual' | 'complete';
5
+ isComplete: boolean;
6
+ }
7
+ export interface MarkdownAutoCloseRule {
8
+ name?: string;
9
+ open: string;
10
+ close: string;
11
+ mode?: 'paired' | 'line';
12
+ linePattern?: RegExp;
13
+ partialLinePattern?: RegExp;
14
+ requiresLineStart?: boolean;
15
+ requiresContent?: boolean;
16
+ }
17
+ export interface MarkdownStreamBufferOptions {
18
+ endOfStreamToken?: string;
19
+ htmlHandling?: 'ignore' | 'strip';
20
+ includeLinksAndImages?: boolean;
21
+ onFlush?: (snapshot: MarkdownStreamBufferSnapshot) => void;
22
+ requestFrame?: (callback: FrameRequestCallback) => number;
23
+ cancelFrame?: (handle: number) => void;
24
+ watchedMarkers?: MarkdownAutoCloseRule[];
25
+ }
@@ -1,5 +1,7 @@
1
1
  export { IndexedDB } from './IndexedDB/IndexedDB';
2
2
  export type { IndexedDBOptions } from './IndexedDB/IndexedDB';
3
+ export { MdBuffer } from './MDStreamBuffer/MdStreamBuffer';
4
+ export type { MarkdownAutoCloseRule, MarkdownStreamBufferOptions, MarkdownStreamBufferSnapshot, } from './MDStreamBuffer/_types';
3
5
  export { SSEConnection } from './SSEConnection/SSEConnection';
4
6
  export { WSConnection } from './WSConnection/WSConnection';
5
7
  export type { SSECustomEvent, SSEConnectionCloseOption, SSEConnectionOptions, SSEEventMap, SSEUnifiedBuiltInMessage, SSEUnifiedCustomMessage, SSEUnifiedMessage, } from './SSEConnection/SSEConnection';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apple-pie/slice",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {
@@ -106,6 +106,8 @@
106
106
  "benchmark:raw": "vitest bench --project benchmarks --run",
107
107
  "benchmark:watch": "vitest bench --project benchmarks",
108
108
  "benchmark:ui": "vitest bench --project benchmarks --ui",
109
+ "pack:tarball": "npm pack && ./scripts/copy-tgz.sh",
110
+ "prepack": "npm run build",
109
111
  "prebuild": "rm -rf dist",
110
112
  "build": "NODE_ENV=production rollup -c --bundleConfigAsCjs && tsc -p tsconfig.build.json && ./scripts/copy-css.sh",
111
113
  "build:min": "MINIFY=true NODE_ENV=production rollup -c --bundleConfigAsCjs && tsc -p tsconfig.build.json && ./scripts/copy-css.sh",
@@ -165,10 +167,10 @@
165
167
  "zustand": "^5.0.0"
166
168
  },
167
169
  "peerDependencies": {
168
- "motion": "^11.15.0",
170
+ "motion": "^11.0.0 || ^12.0.0",
169
171
  "react": "^18.0.0 || ^19.0.0",
170
172
  "react-dom": "^18.0.0 || ^19.0.0",
171
- "zustand": "^5.0.0"
173
+ "zustand": "^4.0.0 || ^5.0.0"
172
174
  },
173
175
  "peerDependenciesMeta": {
174
176
  "zustand": {
@@ -8,12 +8,12 @@ import { useTheme } from "../hooks/useTheme.mjs";
8
8
 
9
9
  import "../theme/colors.mjs";
10
10
 
11
+ import { p as pointerPosition } from "./misc-N8KLjOXc.mjs";
12
+
11
13
  import "../hooks/useWindow.mjs";
12
14
 
13
15
  import { useObserveResize } from "../hooks/useObserveResize.mjs";
14
16
 
15
- import { p as pointerPosition } from "./misc-N8KLjOXc.mjs";
16
-
17
17
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
18
18
 
19
19
  var css_panel = "DraggablePanel-module_panel__vuq2R flexBox-module_columnStart__C7P44", css_content = "DraggablePanel-module_content__SBL0T flexBox-module_columnStart__C7P44", css_handle = "DraggablePanel-module_handle__LPZw8";
@@ -10,10 +10,10 @@ import { useTheme } from "../hooks/useTheme.mjs";
10
10
 
11
11
  import "../theme/colors.mjs";
12
12
 
13
- import "../hooks/useWindow.mjs";
14
-
15
13
  import { a as addOpacity } from "./colors-FQ0uNQcW.mjs";
16
14
 
15
+ import "../hooks/useWindow.mjs";
16
+
17
17
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
18
18
 
19
19
  var css = {
@@ -8,10 +8,10 @@ import { useTheme } from "../hooks/useTheme.mjs";
8
8
 
9
9
  import "../theme/colors.mjs";
10
10
 
11
- import "../hooks/useWindow.mjs";
12
-
13
11
  import { a as accessibleKeyDown } from "./misc-N8KLjOXc.mjs";
14
12
 
13
+ import "../hooks/useWindow.mjs";
14
+
15
15
  var FileIconNames;
16
16
 
17
17
  !function(FileIconNames) {
@@ -8,10 +8,10 @@ import { useTheme } from "../hooks/useTheme.mjs";
8
8
 
9
9
  import "../theme/colors.mjs";
10
10
 
11
- import "../hooks/useWindow.mjs";
12
-
13
11
  import { a as accessibleKeyDown } from "./misc-N8KLjOXc.mjs";
14
12
 
13
+ import "../hooks/useWindow.mjs";
14
+
15
15
  import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
16
16
 
17
17
  var css_icon = "Icon-module_icon__szG-X";