zabi-components 8.1.0 → 9.0.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 (273) hide show
  1. package/CHANGELOG.md +1011 -0
  2. package/README.md +1 -1
  3. package/THEME.md +18 -5
  4. package/THEMING.md +308 -74
  5. package/dist/atoms/ActionPanel.svelte +1 -1
  6. package/dist/atoms/Avatar.svelte +19 -3
  7. package/dist/atoms/Avatar.svelte.d.ts +12 -0
  8. package/dist/atoms/Badge.svelte +37 -8
  9. package/dist/atoms/Badge.svelte.d.ts +6 -0
  10. package/dist/atoms/Block.svelte +74 -0
  11. package/dist/atoms/Block.svelte.d.ts +29 -0
  12. package/dist/atoms/Button.svelte +52 -15
  13. package/dist/atoms/Button.svelte.d.ts +3 -2
  14. package/dist/atoms/Card.svelte +181 -25
  15. package/dist/atoms/Card.svelte.d.ts +55 -3
  16. package/dist/atoms/Checkbox.svelte +33 -0
  17. package/dist/atoms/Checkbox.svelte.d.ts +27 -0
  18. package/dist/atoms/Chip.svelte +351 -0
  19. package/dist/atoms/Chip.svelte.d.ts +57 -0
  20. package/dist/atoms/CodeField.svelte +385 -0
  21. package/dist/atoms/CodeField.svelte.d.ts +61 -0
  22. package/dist/atoms/ColorPicker.svelte +1 -0
  23. package/dist/atoms/DateField.svelte +41 -3
  24. package/dist/atoms/DateField.svelte.d.ts +31 -3
  25. package/dist/atoms/FloatingActionButton.svelte +5 -3
  26. package/dist/atoms/FloatingActionButton.svelte.d.ts +1 -1
  27. package/dist/atoms/Heading.svelte +27 -1
  28. package/dist/atoms/Heading.svelte.d.ts +7 -0
  29. package/dist/atoms/IconButton.svelte +81 -9
  30. package/dist/atoms/IconButton.svelte.d.ts +13 -0
  31. package/dist/atoms/Input.svelte +10 -5
  32. package/dist/atoms/Input.svelte.d.ts +3 -2
  33. package/dist/atoms/List.svelte +3 -2
  34. package/dist/atoms/ListItem.svelte +31 -7
  35. package/dist/atoms/ListItem.svelte.d.ts +6 -0
  36. package/dist/atoms/PickerField.svelte +239 -0
  37. package/dist/atoms/PickerField.svelte.d.ts +67 -0
  38. package/dist/atoms/Progress.svelte +78 -17
  39. package/dist/atoms/Progress.svelte.d.ts +11 -1
  40. package/dist/atoms/Radio.svelte +32 -0
  41. package/dist/atoms/Radio.svelte.d.ts +26 -0
  42. package/dist/atoms/Rating.svelte +132 -6
  43. package/dist/atoms/Rating.svelte.d.ts +24 -3
  44. package/dist/atoms/Select.svelte +24 -26
  45. package/dist/atoms/Select.svelte.d.ts +12 -0
  46. package/dist/atoms/SelectionControl.svelte +99 -6
  47. package/dist/atoms/SelectionControl.svelte.d.ts +25 -0
  48. package/dist/atoms/Skeleton.svelte +114 -18
  49. package/dist/atoms/Skeleton.svelte.d.ts +30 -3
  50. package/dist/atoms/SkeletonGroup.svelte +43 -0
  51. package/dist/atoms/SkeletonGroup.svelte.d.ts +20 -0
  52. package/dist/atoms/Slider.svelte +35 -0
  53. package/dist/atoms/Sparkline.svelte +109 -0
  54. package/dist/atoms/Sparkline.svelte.d.ts +27 -0
  55. package/dist/atoms/SpeechBubble.svelte +187 -0
  56. package/dist/atoms/SpeechBubble.svelte.d.ts +33 -0
  57. package/dist/atoms/Stat.svelte +72 -0
  58. package/dist/atoms/Stat.svelte.d.ts +19 -0
  59. package/dist/atoms/TemporalField.svelte +342 -10
  60. package/dist/atoms/TemporalField.svelte.d.ts +20 -4
  61. package/dist/atoms/Textarea.svelte +100 -5
  62. package/dist/atoms/Textarea.svelte.d.ts +21 -0
  63. package/dist/atoms/TimeColumn.svelte +150 -0
  64. package/dist/atoms/TimeColumn.svelte.d.ts +25 -0
  65. package/dist/atoms/TimeField.svelte +46 -3
  66. package/dist/atoms/TimeField.svelte.d.ts +34 -3
  67. package/dist/atoms/Toast.svelte +6 -5
  68. package/dist/atoms/Toggle.svelte +61 -10
  69. package/dist/atoms/Toggle.svelte.d.ts +15 -0
  70. package/dist/atoms/Tooltip.svelte +20 -1
  71. package/dist/atoms/Tooltip.svelte.d.ts +7 -0
  72. package/dist/atoms/index.d.ts +21 -0
  73. package/dist/atoms/index.js +17 -0
  74. package/dist/atoms/selection-control.styles.d.ts +15 -4
  75. package/dist/atoms/selection-control.styles.js +16 -5
  76. package/dist/components/atoms/index.d.ts +21 -0
  77. package/dist/components/atoms/index.d.ts.map +1 -1
  78. package/dist/components/atoms/selection-control.styles.d.ts +15 -4
  79. package/dist/components/atoms/selection-control.styles.d.ts.map +1 -1
  80. package/dist/components/index.d.ts +27 -3
  81. package/dist/components/index.d.ts.map +1 -1
  82. package/dist/components/map.d.ts +11 -0
  83. package/dist/components/map.d.ts.map +1 -0
  84. package/dist/components/molecules/index.d.ts +7 -2
  85. package/dist/components/molecules/index.d.ts.map +1 -1
  86. package/dist/components/molecules/toast-store.d.ts +30 -0
  87. package/dist/components/molecules/toast-store.d.ts.map +1 -1
  88. package/dist/components/organisms/index.d.ts +6 -1
  89. package/dist/components/organisms/index.d.ts.map +1 -1
  90. package/dist/components/types/variants.d.ts +12 -3
  91. package/dist/components/types/variants.d.ts.map +1 -1
  92. package/dist/components/util/app-shell.d.ts +55 -4
  93. package/dist/components/util/app-shell.d.ts.map +1 -1
  94. package/dist/components/util/avatar.d.ts +3 -0
  95. package/dist/components/util/avatar.d.ts.map +1 -1
  96. package/dist/components/util/bottom-tab-bar.d.ts +6 -0
  97. package/dist/components/util/bottom-tab-bar.d.ts.map +1 -1
  98. package/dist/components/util/chart.d.ts +140 -0
  99. package/dist/components/util/chart.d.ts.map +1 -0
  100. package/dist/components/util/chip.d.ts +66 -0
  101. package/dist/components/util/chip.d.ts.map +1 -0
  102. package/dist/components/util/cn.d.ts.map +1 -1
  103. package/dist/components/util/code-field.d.ts +63 -0
  104. package/dist/components/util/code-field.d.ts.map +1 -0
  105. package/dist/components/util/collapsible.d.ts +6 -0
  106. package/dist/components/util/collapsible.d.ts.map +1 -1
  107. package/dist/components/util/display-voice.d.ts +10 -0
  108. package/dist/components/util/display-voice.d.ts.map +1 -0
  109. package/dist/components/util/field-control.d.ts +30 -0
  110. package/dist/components/util/field-control.d.ts.map +1 -0
  111. package/dist/components/util/field.d.ts +6 -0
  112. package/dist/components/util/field.d.ts.map +1 -1
  113. package/dist/components/util/focus-utils.d.ts +2 -0
  114. package/dist/components/util/focus-utils.d.ts.map +1 -1
  115. package/dist/components/util/map-view.d.ts +144 -0
  116. package/dist/components/util/map-view.d.ts.map +1 -0
  117. package/dist/components/util/photo.d.ts +19 -0
  118. package/dist/components/util/photo.d.ts.map +1 -1
  119. package/dist/components/util/progress.d.ts +19 -0
  120. package/dist/components/util/progress.d.ts.map +1 -0
  121. package/dist/components/util/scroll-edge.d.ts +33 -0
  122. package/dist/components/util/scroll-edge.d.ts.map +1 -0
  123. package/dist/components/util/sheet-drag.d.ts +25 -1
  124. package/dist/components/util/sheet-drag.d.ts.map +1 -1
  125. package/dist/components/util/skeleton.d.ts +15 -0
  126. package/dist/components/util/skeleton.d.ts.map +1 -0
  127. package/dist/components/util/sliding-indicator.d.ts +25 -0
  128. package/dist/components/util/sliding-indicator.d.ts.map +1 -0
  129. package/dist/components/util/temporal-field.d.ts +89 -0
  130. package/dist/components/util/temporal-field.d.ts.map +1 -0
  131. package/dist/components/util/toaster.d.ts +40 -0
  132. package/dist/components/util/toaster.d.ts.map +1 -1
  133. package/dist/components/util/tone-surface.d.ts +34 -0
  134. package/dist/components/util/tone-surface.d.ts.map +1 -0
  135. package/dist/components/util/top-navbar.d.ts +26 -2
  136. package/dist/components/util/top-navbar.d.ts.map +1 -1
  137. package/dist/components/util/zabi-strings.d.ts +9 -0
  138. package/dist/components/util/zabi-strings.d.ts.map +1 -1
  139. package/dist/create-theme/cli.js +6 -2
  140. package/dist/create-theme/index.d.ts +17 -3
  141. package/dist/create-theme/index.js +252 -35
  142. package/dist/create-theme/lib/resolve.js +97 -0
  143. package/dist/create-theme/theme-data.js +1618 -90
  144. package/dist/index.d.ts +27 -3
  145. package/dist/index.js +18 -0
  146. package/dist/map.d.ts +10 -0
  147. package/dist/map.js +9 -0
  148. package/dist/molecules/Alert.svelte +31 -12
  149. package/dist/molecules/Alert.svelte.d.ts +12 -1
  150. package/dist/molecules/AppBar.svelte +287 -28
  151. package/dist/molecules/AppBar.svelte.d.ts +62 -0
  152. package/dist/molecules/AvatarGroup.svelte +1 -1
  153. package/dist/molecules/BarChart.svelte +381 -0
  154. package/dist/molecules/BarChart.svelte.d.ts +45 -0
  155. package/dist/molecules/BottomSheet.svelte +88 -20
  156. package/dist/molecules/BottomSheet.svelte.d.ts +17 -1
  157. package/dist/molecules/BottomTabBar.svelte +134 -28
  158. package/dist/molecules/BottomTabBar.svelte.d.ts +36 -2
  159. package/dist/molecules/Calendar.svelte.d.ts +1 -1
  160. package/dist/molecules/ChipGroup.svelte +325 -0
  161. package/dist/molecules/ChipGroup.svelte.d.ts +41 -0
  162. package/dist/molecules/Collapsible.svelte +158 -54
  163. package/dist/molecules/Collapsible.svelte.d.ts +23 -6
  164. package/dist/molecules/CollapsibleGroup.svelte +16 -6
  165. package/dist/molecules/ConfirmDialog.svelte +5 -1
  166. package/dist/molecules/ConfirmDialog.svelte.d.ts +3 -0
  167. package/dist/molecules/Drawer.svelte +33 -12
  168. package/dist/molecules/Dropdown.svelte +9 -1
  169. package/dist/molecules/Dropdown.svelte.d.ts +2 -0
  170. package/dist/molecules/DropdownItem.svelte +1 -1
  171. package/dist/molecules/ImageUpload.svelte +230 -120
  172. package/dist/molecules/ImageUpload.svelte.d.ts +38 -3
  173. package/dist/molecules/LineChart.svelte +459 -0
  174. package/dist/molecules/LineChart.svelte.d.ts +53 -0
  175. package/dist/molecules/MapView.svelte +565 -0
  176. package/dist/molecules/MapView.svelte.d.ts +88 -0
  177. package/dist/molecules/Modal.svelte +11 -6
  178. package/dist/molecules/PhotoGrid.svelte +100 -10
  179. package/dist/molecules/PhotoGrid.svelte.d.ts +11 -0
  180. package/dist/molecules/PhotoViewer.svelte +121 -24
  181. package/dist/molecules/PhotoViewer.svelte.d.ts +18 -0
  182. package/dist/molecules/PieChart.svelte +421 -0
  183. package/dist/molecules/PieChart.svelte.d.ts +51 -0
  184. package/dist/molecules/RadioGroup.svelte +20 -4
  185. package/dist/molecules/RadioGroup.svelte.d.ts +5 -0
  186. package/dist/molecules/SegmentedControl.svelte +136 -3
  187. package/dist/molecules/SegmentedControl.svelte.d.ts +6 -0
  188. package/dist/molecules/SidebarFooter.svelte +1 -1
  189. package/dist/molecules/SidebarNavSection.svelte +1 -1
  190. package/dist/molecules/SortableList.svelte +1 -0
  191. package/dist/molecules/Stepper.svelte +21 -7
  192. package/dist/molecules/StickyActionBar.svelte +67 -8
  193. package/dist/molecules/StickyActionBar.svelte.d.ts +14 -1
  194. package/dist/molecules/Tabs.svelte +79 -2
  195. package/dist/molecules/Toaster.svelte +171 -7
  196. package/dist/molecules/Toaster.svelte.d.ts +60 -2
  197. package/dist/molecules/ToasterToast.svelte +292 -60
  198. package/dist/molecules/ToasterToast.svelte.d.ts +6 -0
  199. package/dist/molecules/UnsavedChangesBar.svelte +13 -2
  200. package/dist/molecules/index.d.ts +7 -2
  201. package/dist/molecules/index.js +4 -0
  202. package/dist/molecules/toast-store.d.ts +30 -0
  203. package/dist/molecules/toast-store.js +4 -1
  204. package/dist/organisms/AppNavigation.svelte +440 -0
  205. package/dist/organisms/AppNavigation.svelte.d.ts +72 -0
  206. package/dist/organisms/AppShell.svelte +539 -39
  207. package/dist/organisms/AppShell.svelte.d.ts +102 -6
  208. package/dist/organisms/AppShellHeaderPart.svelte +163 -0
  209. package/dist/organisms/AppShellHeaderPart.svelte.d.ts +57 -0
  210. package/dist/organisms/SidebarNavigation.svelte +23 -36
  211. package/dist/organisms/SidebarPanel.svelte +10 -14
  212. package/dist/organisms/SidebarPanel.svelte.d.ts +1 -0
  213. package/dist/organisms/SidebarShell.svelte +2 -3
  214. package/dist/organisms/TopNavbar.svelte +117 -28
  215. package/dist/organisms/TopNavbar.svelte.d.ts +22 -1
  216. package/dist/organisms/TopNavbarSheetContent.svelte +145 -0
  217. package/dist/organisms/TopNavbarSheetContent.svelte.d.ts +24 -0
  218. package/dist/organisms/index.d.ts +6 -1
  219. package/dist/organisms/index.js +4 -0
  220. package/dist/types/components.d.ts +17 -1
  221. package/dist/types/components.d.ts.map +1 -1
  222. package/dist/types/index.d.ts +497 -10
  223. package/dist/types/index.d.ts.map +1 -1
  224. package/dist/types/variants.ts +14 -3
  225. package/dist/util/app-shell.d.ts +55 -4
  226. package/dist/util/app-shell.js +32 -7
  227. package/dist/util/avatar.d.ts +3 -0
  228. package/dist/util/bottom-tab-bar.d.ts +6 -0
  229. package/dist/util/chart.d.ts +139 -0
  230. package/dist/util/chart.js +305 -0
  231. package/dist/util/chip.d.ts +65 -0
  232. package/dist/util/chip.js +58 -0
  233. package/dist/util/cn.js +28 -2
  234. package/dist/util/code-field.d.ts +62 -0
  235. package/dist/util/code-field.js +112 -0
  236. package/dist/util/collapsible.d.ts +6 -0
  237. package/dist/util/display-voice.d.ts +9 -0
  238. package/dist/util/display-voice.js +9 -0
  239. package/dist/util/field-control.d.ts +29 -0
  240. package/dist/util/field-control.js +32 -0
  241. package/dist/util/field.d.ts +6 -0
  242. package/dist/util/focus-utils.d.ts +2 -0
  243. package/dist/util/focus-utils.js +4 -0
  244. package/dist/util/map-view.d.ts +143 -0
  245. package/dist/util/map-view.js +121 -0
  246. package/dist/util/photo.d.ts +19 -0
  247. package/dist/util/photo.js +3 -0
  248. package/dist/util/progress.d.ts +18 -0
  249. package/dist/util/progress.js +17 -0
  250. package/dist/util/scroll-edge.d.ts +32 -0
  251. package/dist/util/scroll-edge.js +87 -0
  252. package/dist/util/sheet-drag.d.ts +25 -1
  253. package/dist/util/sheet-drag.js +71 -1
  254. package/dist/util/skeleton.d.ts +14 -0
  255. package/dist/util/skeleton.js +22 -0
  256. package/dist/util/sliding-indicator.d.ts +24 -0
  257. package/dist/util/sliding-indicator.js +44 -0
  258. package/dist/util/temporal-field.d.ts +88 -0
  259. package/dist/util/temporal-field.js +136 -0
  260. package/dist/util/toaster.d.ts +40 -0
  261. package/dist/util/toaster.js +55 -0
  262. package/dist/util/tone-surface.d.ts +33 -0
  263. package/dist/util/tone-surface.js +35 -0
  264. package/dist/util/top-navbar.d.ts +26 -2
  265. package/dist/util/top-navbar.js +23 -0
  266. package/dist/util/zabi-strings.d.ts +9 -0
  267. package/dist/zabi-components-colors.css +9 -3
  268. package/dist/zabi-components-theme-dark-only.css +474 -164
  269. package/dist/zabi-components-theme-dark.css +474 -164
  270. package/dist/zabi-components-theme-only.css +933 -99
  271. package/dist/zabi-components-theme.css +933 -99
  272. package/dist/zabi-components.css +2275 -321
  273. package/package.json +11 -1
package/dist/index.d.ts CHANGED
@@ -1,13 +1,23 @@
1
1
  export { default as Toggle } from './atoms/Toggle.svelte';
2
2
  export { default as Badge } from './atoms/Badge.svelte';
3
+ export { default as Stat } from './atoms/Stat.svelte';
4
+ export { default as SpeechBubble } from './atoms/SpeechBubble.svelte';
5
+ export { default as Sparkline } from './atoms/Sparkline.svelte';
6
+ export { default as Chip } from './atoms/Chip.svelte';
3
7
  export { default as Button } from './atoms/Button.svelte';
4
8
  export { default as IconButton } from './atoms/IconButton.svelte';
9
+ export { default as Block } from './atoms/Block.svelte';
5
10
  export { default as Card } from './atoms/Card.svelte';
6
11
  export { default as CardHeader } from './atoms/CardHeader.svelte';
7
12
  export { default as CardContent } from './atoms/CardContent.svelte';
8
13
  export { default as CardFooter } from './atoms/CardFooter.svelte';
9
14
  export { default as Input } from './atoms/Input.svelte';
15
+ export { default as CodeField } from './atoms/CodeField.svelte';
16
+ export { DEFAULT_CODE_FIELD_STRINGS } from './util/code-field.js';
17
+ export type { CodeFieldMode, CodeFieldSize, CodeFieldStrings } from './util/code-field.js';
10
18
  export { default as Textarea } from './atoms/Textarea.svelte';
19
+ export type { TextareaCount } from './util/field.js';
20
+ export { default as PickerField } from './atoms/PickerField.svelte';
11
21
  export { default as Select } from './atoms/Select.svelte';
12
22
  export { default as Slider } from './atoms/Slider.svelte';
13
23
  export { default as ColorPicker } from './atoms/ColorPicker.svelte';
@@ -25,6 +35,9 @@ export { default as Toast } from './atoms/Toast.svelte';
25
35
  export { default as Tooltip } from './atoms/Tooltip.svelte';
26
36
  export { default as Progress } from './atoms/Progress.svelte';
27
37
  export { default as Skeleton } from './atoms/Skeleton.svelte';
38
+ export { default as SkeletonGroup } from './atoms/SkeletonGroup.svelte';
39
+ export { DEFAULT_SKELETON_STRINGS } from './util/skeleton.js';
40
+ export type { SkeletonStrings } from './util/skeleton.js';
28
41
  export { default as Checkbox } from './atoms/Checkbox.svelte';
29
42
  export { default as Radio } from './atoms/Radio.svelte';
30
43
  export { default as CodeBlock } from './atoms/CodeBlock.svelte';
@@ -33,6 +46,7 @@ export { default as OptimizedImage } from './atoms/OptimizedImage.svelte';
33
46
  export { default as ActionPanel } from './atoms/ActionPanel.svelte';
34
47
  export { default as Spinner } from './atoms/Spinner.svelte';
35
48
  export { default as Rating } from './atoms/Rating.svelte';
49
+ export type { ProgressStrings } from './util/progress.js';
36
50
  export type { RatingStrings } from './util/rating.js';
37
51
  export { default as FloatingActionButton } from './atoms/FloatingActionButton.svelte';
38
52
  export { default as DateField } from './atoms/DateField.svelte';
@@ -55,6 +69,7 @@ export { default as Modal } from './molecules/Modal.svelte';
55
69
  export { default as SlideUp } from './molecules/SlideUp.svelte';
56
70
  export { default as Tabs } from './molecules/Tabs.svelte';
57
71
  export { default as RadioGroup } from './molecules/RadioGroup.svelte';
72
+ export { default as ChipGroup } from './molecules/ChipGroup.svelte';
58
73
  export { default as SegmentedControl } from './molecules/SegmentedControl.svelte';
59
74
  export type { SegmentedControlIcon, SegmentedControlOption, } from './util/segmented-control.js';
60
75
  export { default as NavigationMenu } from './molecules/NavigationMenu.svelte';
@@ -94,20 +109,25 @@ export { default as Calendar } from './molecules/Calendar.svelte';
94
109
  export type { CalendarEvent, CalendarStrings, CalendarTone, } from './util/calendar.js';
95
110
  export { default as PhotoGrid } from './molecules/PhotoGrid.svelte';
96
111
  export { default as PhotoViewer } from './molecules/PhotoViewer.svelte';
97
- export type { Photo, PhotoGridSelectDetail, PhotoGridStrings, PhotoKey, PhotoViewerAction, PhotoViewerCloseReason, PhotoViewerStrings, } from './util/photo.js';
112
+ export type { Photo, PhotoGridSelectDetail, PhotoGridStrings, PhotoKey, PhotoStatus, PhotoViewerAction, PhotoViewerCloseReason, PhotoViewerStrings, } from './util/photo.js';
98
113
  export { default as Avatar } from './atoms/Avatar.svelte';
99
114
  export { default as AvatarGroup } from './molecules/AvatarGroup.svelte';
100
115
  export { DEFAULT_AVATAR_GROUP_STRINGS } from './util/avatar.js';
101
116
  export type { AvatarGroupStrings, AvatarPerson, AvatarSize } from './util/avatar.js';
117
+ export { default as LineChart } from './molecules/LineChart.svelte';
118
+ export { default as BarChart } from './molecules/BarChart.svelte';
119
+ export { default as PieChart } from './molecules/PieChart.svelte';
120
+ export type { ChartColor, ChartColorName, ChartDatum, ChartFormat, ChartSeries, } from './util/chart.js';
102
121
  export { default as Stepper } from './molecules/Stepper.svelte';
103
122
  export type { StepperItem, StepperLayout, StepperStep, StepperStepState, StepperStrings, } from './util/stepper.js';
104
123
  export { toastStore, pushToast, dismissToast, focusToasts, type ToastItem, type ToastAction, type ToastLevel, } from './molecules/toast-store.js';
105
124
  export { DEFAULT_TOASTER_STRINGS, TOAST_DURATIONS } from './util/toaster.js';
106
- export type { ToasterStrings, ToastPauseChange, ToastDuration } from './util/toaster.js';
125
+ export type { ToasterStrings, ToasterMode, ToastPauseChange, ToastDuration } from './util/toaster.js';
107
126
  export { DEFAULT_SELECT_STRINGS } from './util/select.js';
108
127
  export type { SelectStrings, SelectPresentation } from './util/select.js';
109
128
  export { DEFAULT_TOP_NAVBAR_STRINGS } from './util/top-navbar.js';
110
- export type { TopNavbarStrings } from './util/top-navbar.js';
129
+ export type { TopNavbarStrings, TopNavbarPlace } from './util/top-navbar.js';
130
+ export { getTopNavbarPlace } from './util/top-navbar.js';
111
131
  export { DEFAULT_SIDEBAR_ACCOUNT_PANEL_STRINGS, DEFAULT_SIDEBAR_BRAND_HEADER_STRINGS, DEFAULT_SIDEBAR_FOOTER_STRINGS, DEFAULT_SIDEBAR_NAVIGATION_STRINGS, } from './util/sidebar.js';
112
132
  export type { SidebarAccountPanelStrings, SidebarBrandHeaderStrings, SidebarFooterStrings, SidebarNavigationStrings, } from './util/sidebar.js';
113
133
  export { DEFAULT_COLOR_PICKER_STRINGS, DEFAULT_COMPONENT_DEMO_STRINGS, DEFAULT_CONTACT_FORM_STRINGS, DEFAULT_PROPS_TABLE_STRINGS, } from './util/ready-made-strings.js';
@@ -118,6 +138,10 @@ export { default as SidebarShell } from './organisms/SidebarShell.svelte';
118
138
  export { default as SidebarAccountPanel } from './organisms/SidebarAccountPanel.svelte';
119
139
  export { default as SidebarPanel } from './organisms/SidebarPanel.svelte';
120
140
  export { default as AppShell } from './organisms/AppShell.svelte';
141
+ export { default as AppShellHeaderPart } from './organisms/AppShellHeaderPart.svelte';
142
+ export { default as AppNavigation } from './organisms/AppNavigation.svelte';
143
+ export { APP_SHELL_RAIL_MIN_WIDTH, APP_SHELL_SIDEBAR_MIN_WIDTH, } from './util/app-shell.js';
144
+ export type { AppShellNavigationContext, AppShellNavigationMode, AppShellNavigationPlacement, } from './util/app-shell.js';
121
145
  import { generateId } from './util/ssr-safe.js';
122
146
  export { generateId };
123
147
  /**
package/dist/index.js CHANGED
@@ -1,13 +1,21 @@
1
1
  export { default as Toggle } from './atoms/Toggle.svelte';
2
2
  export { default as Badge } from './atoms/Badge.svelte';
3
+ export { default as Stat } from './atoms/Stat.svelte';
4
+ export { default as SpeechBubble } from './atoms/SpeechBubble.svelte';
5
+ export { default as Sparkline } from './atoms/Sparkline.svelte';
6
+ export { default as Chip } from './atoms/Chip.svelte';
3
7
  export { default as Button } from './atoms/Button.svelte';
4
8
  export { default as IconButton } from './atoms/IconButton.svelte';
9
+ export { default as Block } from './atoms/Block.svelte';
5
10
  export { default as Card } from './atoms/Card.svelte';
6
11
  export { default as CardHeader } from './atoms/CardHeader.svelte';
7
12
  export { default as CardContent } from './atoms/CardContent.svelte';
8
13
  export { default as CardFooter } from './atoms/CardFooter.svelte';
9
14
  export { default as Input } from './atoms/Input.svelte';
15
+ export { default as CodeField } from './atoms/CodeField.svelte';
16
+ export { DEFAULT_CODE_FIELD_STRINGS } from './util/code-field.js';
10
17
  export { default as Textarea } from './atoms/Textarea.svelte';
18
+ export { default as PickerField } from './atoms/PickerField.svelte';
11
19
  export { default as Select } from './atoms/Select.svelte';
12
20
  export { default as Slider } from './atoms/Slider.svelte';
13
21
  export { default as ColorPicker } from './atoms/ColorPicker.svelte';
@@ -24,6 +32,8 @@ export { default as Toast } from './atoms/Toast.svelte';
24
32
  export { default as Tooltip } from './atoms/Tooltip.svelte';
25
33
  export { default as Progress } from './atoms/Progress.svelte';
26
34
  export { default as Skeleton } from './atoms/Skeleton.svelte';
35
+ export { default as SkeletonGroup } from './atoms/SkeletonGroup.svelte';
36
+ export { DEFAULT_SKELETON_STRINGS } from './util/skeleton.js';
27
37
  export { default as Checkbox } from './atoms/Checkbox.svelte';
28
38
  export { default as Radio } from './atoms/Radio.svelte';
29
39
  export { default as CodeBlock } from './atoms/CodeBlock.svelte';
@@ -51,6 +61,7 @@ export { default as Modal } from './molecules/Modal.svelte';
51
61
  export { default as SlideUp } from './molecules/SlideUp.svelte';
52
62
  export { default as Tabs } from './molecules/Tabs.svelte';
53
63
  export { default as RadioGroup } from './molecules/RadioGroup.svelte';
64
+ export { default as ChipGroup } from './molecules/ChipGroup.svelte';
54
65
  export { default as SegmentedControl } from './molecules/SegmentedControl.svelte';
55
66
  export { default as NavigationMenu } from './molecules/NavigationMenu.svelte';
56
67
  export { default as NavigationMenuList } from './molecules/NavigationMenuList.svelte';
@@ -83,11 +94,15 @@ export { default as PhotoViewer } from './molecules/PhotoViewer.svelte';
83
94
  export { default as Avatar } from './atoms/Avatar.svelte';
84
95
  export { default as AvatarGroup } from './molecules/AvatarGroup.svelte';
85
96
  export { DEFAULT_AVATAR_GROUP_STRINGS } from './util/avatar.js';
97
+ export { default as LineChart } from './molecules/LineChart.svelte';
98
+ export { default as BarChart } from './molecules/BarChart.svelte';
99
+ export { default as PieChart } from './molecules/PieChart.svelte';
86
100
  export { default as Stepper } from './molecules/Stepper.svelte';
87
101
  export { toastStore, pushToast, dismissToast, focusToasts, } from './molecules/toast-store.js';
88
102
  export { DEFAULT_TOASTER_STRINGS, TOAST_DURATIONS } from './util/toaster.js';
89
103
  export { DEFAULT_SELECT_STRINGS } from './util/select.js';
90
104
  export { DEFAULT_TOP_NAVBAR_STRINGS } from './util/top-navbar.js';
105
+ export { getTopNavbarPlace } from './util/top-navbar.js';
91
106
  export { DEFAULT_SIDEBAR_ACCOUNT_PANEL_STRINGS, DEFAULT_SIDEBAR_BRAND_HEADER_STRINGS, DEFAULT_SIDEBAR_FOOTER_STRINGS, DEFAULT_SIDEBAR_NAVIGATION_STRINGS, } from './util/sidebar.js';
92
107
  export { DEFAULT_COLOR_PICKER_STRINGS, DEFAULT_COMPONENT_DEMO_STRINGS, DEFAULT_CONTACT_FORM_STRINGS, DEFAULT_PROPS_TABLE_STRINGS, } from './util/ready-made-strings.js';
93
108
  export { default as TopNavbar } from './organisms/TopNavbar.svelte';
@@ -96,6 +111,9 @@ export { default as SidebarShell } from './organisms/SidebarShell.svelte';
96
111
  export { default as SidebarAccountPanel } from './organisms/SidebarAccountPanel.svelte';
97
112
  export { default as SidebarPanel } from './organisms/SidebarPanel.svelte';
98
113
  export { default as AppShell } from './organisms/AppShell.svelte';
114
+ export { default as AppShellHeaderPart } from './organisms/AppShellHeaderPart.svelte';
115
+ export { default as AppNavigation } from './organisms/AppNavigation.svelte';
116
+ export { APP_SHELL_RAIL_MIN_WIDTH, APP_SHELL_SIDEBAR_MIN_WIDTH, } from './util/app-shell.js';
99
117
  import { generateId } from './util/ssr-safe.js';
100
118
  export { generateId };
101
119
  /**
package/dist/map.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * `zabi-components/map`: the map, apart from everything else.
3
+ *
4
+ * `MapView` needs `maplibre-gl` (the app's own dependency) and loads it when
5
+ * it is mounted. It is in no other entry of the package, so importing a
6
+ * component from `zabi-components` brings none of the map, script or CSS.
7
+ */
8
+ export { default as MapView } from './molecules/MapView.svelte';
9
+ export { MAP_FIT_MAX_ZOOM, MAP_MARKER_TAP, MAP_VIEW_STRINGS, clusterMarkers, mapViewSupported, } from './util/map-view.js';
10
+ export type { MapInset, MapLngLat, MapMarker, MapPixel, MapPoint, MapPointKey, MapViewPosition, MapViewStatus, MapViewStrings, } from './util/map-view.js';
package/dist/map.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `zabi-components/map`: the map, apart from everything else.
3
+ *
4
+ * `MapView` needs `maplibre-gl` (the app's own dependency) and loads it when
5
+ * it is mounted. It is in no other entry of the package, so importing a
6
+ * component from `zabi-components` brings none of the map, script or CSS.
7
+ */
8
+ export { default as MapView } from './molecules/MapView.svelte';
9
+ export { MAP_FIT_MAX_ZOOM, MAP_MARKER_TAP, MAP_VIEW_STRINGS, clusterMarkers, mapViewSupported, } from './util/map-view.js';
@@ -8,10 +8,12 @@
8
8
  import type { ExtendedSemanticVariant } from "../types/variants.js";
9
9
  import { cn } from "../util/cn.js";
10
10
  import { TOUCH_HIT_AREA } from "../util/touch-target.js";
11
- type AlertVisualVariant = Exclude<ExtendedSemanticVariant, "default">;
11
+ /** The shared variants plus the theme's brand tint, which only an alert has. */
12
+ type AlertVariant = ExtendedSemanticVariant | "brand";
13
+ type AlertVisualVariant = Exclude<AlertVariant, "default">;
12
14
 
13
15
  interface Props {
14
- variant?: ExtendedSemanticVariant;
16
+ variant?: AlertVariant;
15
17
  title?: string;
16
18
  message?: string;
17
19
  closable?: boolean;
@@ -21,6 +23,15 @@
21
23
  open?: boolean;
22
24
  /** Shrink to content instead of filling the container. */
23
25
  inline?: boolean;
26
+ /**
27
+ * Draws the tinted edge. `false` makes it transparent and keeps the
28
+ * 1px, so the box is the same size either way. The width itself
29
+ * follows `--zabi-alert-border-width`, which is read through a
30
+ * fallback and declared nowhere: an app (or any ancestor) sets it to
31
+ * `0px` once and every alert under it has no edge, with no prop on
32
+ * each. Default `true`, the edge an alert always had.
33
+ */
34
+ bordered?: boolean;
24
35
  class?: string;
25
36
  /** @deprecated use `class` — kept so 7.x call sites keep working. */
26
37
  className?: string;
@@ -35,6 +46,7 @@
35
46
  closeLabel: closeLabelGiven,
36
47
  open = $bindable<Exclude<Props["open"], undefined>>(),
37
48
  inline = false,
49
+ bordered = true,
38
50
  class: classProp = "",
39
51
  className = "",
40
52
  onclick,
@@ -82,35 +94,42 @@
82
94
  neutral: "bg-neutral-subtle border-neutral-border text-neutral-text",
83
95
  energetic:
84
96
  "bg-energetic-subtle border-energetic-border text-energetic-text",
97
+ // The primary brand tint. The accent is the link role, guarded on
98
+ // this fill (as Badge's brand label is); read from the token, not
99
+ // `text-link`, which darkens on hover and an alert is not a link.
100
+ brand: "bg-action-primary-subtle border-action-primary-border text-(color:--color-link)",
85
101
  });
86
102
 
87
103
  let alertRole = $derived(
88
- variant === "success" || variant === "info" ? "status" : "alert",
104
+ variant === "success" || variant === "info" || variant === "brand"
105
+ ? "status"
106
+ : "alert",
89
107
  );
90
108
  </script>
91
109
 
92
110
  {#snippet icon()}
93
111
  {#if visualVariant === "info"}
94
- <Info size={20} aria-hidden="true" />
112
+ <Info size={20} strokeWidth={2.5} aria-hidden="true" />
95
113
  {:else if visualVariant === "success"}
96
- <Check size={20} aria-hidden="true" />
114
+ <Check size={20} strokeWidth={2.5} aria-hidden="true" />
97
115
  {:else if visualVariant === "warning"}
98
- <TriangleAlert size={20} aria-hidden="true" />
116
+ <TriangleAlert size={20} strokeWidth={2.5} aria-hidden="true" />
99
117
  {:else if visualVariant === "error"}
100
- <X size={20} aria-hidden="true" />
101
- {:else if visualVariant === "neutral"}
102
- <Info size={20} aria-hidden="true" />
118
+ <X size={20} strokeWidth={2.5} aria-hidden="true" />
119
+ {:else if visualVariant === "neutral" || visualVariant === "brand"}
120
+ <Info size={20} strokeWidth={2.5} aria-hidden="true" />
103
121
  {:else}
104
- <Zap size={20} aria-hidden="true" />
122
+ <Zap size={20} strokeWidth={2.5} aria-hidden="true" />
105
123
  {/if}
106
124
  {/snippet}
107
125
 
108
126
  {#if open}
109
127
  <div
110
128
  class={cn(
111
- 'relative rounded-container p-4 border',
129
+ 'relative rounded-container p-4 border-[length:var(--zabi-alert-border-width,1px)]',
112
130
  inline ? 'inline-block' : 'block w-full',
113
131
  alertClasses[visualVariant],
132
+ !bordered && 'border-transparent',
114
133
  'transition-colors duration-150 motion-reduce:transition-none',
115
134
  classProp,
116
135
  className,
@@ -126,7 +145,7 @@
126
145
  the alert's corner, so the radius is the alert's less that gap. -->
127
146
  <button
128
147
  onclick={handleDismiss}
129
- class="absolute end-2 top-2 z-10 flex size-6 cursor-pointer items-center justify-center rounded-[calc(var(--radius-container)-0.5rem-1px)] text-description transition-colors duration-150 hover:bg-surface-hover hover:text-body active:bg-surface-active motion-reduce:transition-none focus-ring focus-ring--muted {TOUCH_HIT_AREA}"
148
+ class="absolute end-2 top-2 z-10 flex size-6 cursor-pointer items-center justify-center rounded-[calc(var(--radius-container)-0.5rem-var(--zabi-alert-border-width,1px))] text-description transition-colors duration-150 hover:bg-surface-hover hover:text-body active:bg-surface-active motion-reduce:transition-none focus-ring focus-ring--muted {TOUCH_HIT_AREA}"
130
149
  aria-label={closeLabel}
131
150
  type="button"
132
151
  >
@@ -1,6 +1,8 @@
1
1
  import type { ExtendedSemanticVariant } from "../types/variants.js";
2
+ /** The shared variants plus the theme's brand tint, which only an alert has. */
3
+ type AlertVariant = ExtendedSemanticVariant | "brand";
2
4
  interface Props {
3
- variant?: ExtendedSemanticVariant;
5
+ variant?: AlertVariant;
4
6
  title?: string;
5
7
  message?: string;
6
8
  closable?: boolean;
@@ -10,6 +12,15 @@ interface Props {
10
12
  open?: boolean;
11
13
  /** Shrink to content instead of filling the container. */
12
14
  inline?: boolean;
15
+ /**
16
+ * Draws the tinted edge. `false` makes it transparent and keeps the
17
+ * 1px, so the box is the same size either way. The width itself
18
+ * follows `--zabi-alert-border-width`, which is read through a
19
+ * fallback and declared nowhere: an app (or any ancestor) sets it to
20
+ * `0px` once and every alert under it has no edge, with no prop on
21
+ * each. Default `true`, the edge an alert always had.
22
+ */
23
+ bordered?: boolean;
13
24
  class?: string;
14
25
  /** @deprecated use `class` — kept so 7.x call sites keep working. */
15
26
  className?: string;