zabi-components 7.0.2 → 8.1.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.
- package/CHANGELOG.md +1924 -0
- package/README.md +287 -11
- package/THEME.md +149 -332
- package/THEMING.md +1329 -163
- package/dist/atoms/ActionPanel.svelte +24 -9
- package/dist/atoms/ActionPanel.svelte.d.ts +2 -0
- package/dist/atoms/Avatar.svelte +104 -0
- package/dist/atoms/Avatar.svelte.d.ts +34 -0
- package/dist/atoms/Badge.svelte +124 -58
- package/dist/atoms/Badge.svelte.d.ts +17 -5
- package/dist/atoms/Button.svelte +212 -62
- package/dist/atoms/Button.svelte.d.ts +33 -2
- package/dist/atoms/Card.svelte +31 -28
- package/dist/atoms/Card.svelte.d.ts +5 -2
- package/dist/atoms/CardContent.svelte +10 -2
- package/dist/atoms/CardContent.svelte.d.ts +2 -0
- package/dist/atoms/CardFooter.svelte +10 -2
- package/dist/atoms/CardFooter.svelte.d.ts +2 -0
- package/dist/atoms/CardHeader.svelte +26 -6
- package/dist/atoms/CardHeader.svelte.d.ts +2 -0
- package/dist/atoms/Checkbox.svelte +52 -21
- package/dist/atoms/Checkbox.svelte.d.ts +6 -2
- package/dist/atoms/CodeBlock.svelte +35 -9
- package/dist/atoms/CodeBlock.svelte.d.ts +13 -3
- package/dist/atoms/ColorPicker.svelte +272 -52
- package/dist/atoms/ColorPicker.svelte.d.ts +6 -1
- package/dist/atoms/Container.svelte +17 -10
- package/dist/atoms/DateField.svelte +107 -0
- package/dist/atoms/DateField.svelte.d.ts +53 -0
- package/dist/atoms/Divider.svelte +4 -4
- package/dist/atoms/FeatureCard.svelte +4 -3
- package/dist/atoms/FieldMessages.svelte +69 -0
- package/dist/atoms/FieldMessages.svelte.d.ts +23 -0
- package/dist/atoms/FloatingActionButton.svelte +174 -0
- package/dist/atoms/FloatingActionButton.svelte.d.ts +51 -0
- package/dist/atoms/Heading.svelte +93 -32
- package/dist/atoms/Heading.svelte.d.ts +24 -4
- package/dist/atoms/IconButton.svelte +242 -53
- package/dist/atoms/IconButton.svelte.d.ts +49 -4
- package/dist/atoms/Input.svelte +267 -74
- package/dist/atoms/Input.svelte.d.ts +32 -2
- package/dist/atoms/List.svelte +13 -2
- package/dist/atoms/List.svelte.d.ts +2 -0
- package/dist/atoms/ListItem.svelte +44 -11
- package/dist/atoms/ListItem.svelte.d.ts +5 -0
- package/dist/atoms/ListItemLeading.svelte +4 -2
- package/dist/atoms/ListItemLeading.svelte.d.ts +1 -1
- package/dist/atoms/OptimizedImage.svelte +11 -2
- package/dist/atoms/OptimizedImage.svelte.d.ts +2 -0
- package/dist/atoms/Progress.svelte +31 -9
- package/dist/atoms/Progress.svelte.d.ts +6 -0
- package/dist/atoms/Radio.svelte +23 -3
- package/dist/atoms/Radio.svelte.d.ts +6 -2
- package/dist/atoms/Rating.svelte +494 -0
- package/dist/atoms/Rating.svelte.d.ts +56 -0
- package/dist/atoms/Select.svelte +475 -135
- package/dist/atoms/Select.svelte.d.ts +52 -2
- package/dist/atoms/SelectionControl.svelte +99 -18
- package/dist/atoms/SelectionControl.svelte.d.ts +6 -3
- package/dist/atoms/Skeleton.svelte +5 -3
- package/dist/atoms/Slider.svelte +309 -0
- package/dist/atoms/Slider.svelte.d.ts +40 -0
- package/dist/atoms/Spinner.svelte +57 -0
- package/dist/atoms/Spinner.svelte.d.ts +19 -0
- package/dist/atoms/Table.svelte +152 -6
- package/dist/atoms/Table.svelte.d.ts +15 -3
- package/dist/atoms/TemporalField.svelte +140 -0
- package/dist/atoms/TemporalField.svelte.d.ts +32 -0
- package/dist/atoms/Text.svelte +56 -15
- package/dist/atoms/Text.svelte.d.ts +13 -4
- package/dist/atoms/Textarea.svelte +57 -45
- package/dist/atoms/Textarea.svelte.d.ts +14 -2
- package/dist/atoms/ThemeToggle.svelte +238 -56
- package/dist/atoms/ThemeToggle.svelte.d.ts +28 -3
- package/dist/atoms/TimeField.svelte +108 -0
- package/dist/atoms/TimeField.svelte.d.ts +54 -0
- package/dist/atoms/Toast.svelte +25 -10
- package/dist/atoms/Toast.svelte.d.ts +2 -0
- package/dist/atoms/Toggle.svelte +60 -19
- package/dist/atoms/Toggle.svelte.d.ts +18 -2
- package/dist/atoms/Tooltip.svelte +583 -40
- package/dist/atoms/Tooltip.svelte.d.ts +26 -0
- package/dist/atoms/ZabiStringsProvider.svelte +45 -0
- package/dist/atoms/ZabiStringsProvider.svelte.d.ts +27 -0
- package/dist/atoms/index.d.ts +17 -0
- package/dist/atoms/index.js +12 -0
- package/dist/atoms/selection-control.styles.d.ts +36 -5
- package/dist/atoms/selection-control.styles.js +40 -9
- package/dist/components/atoms/index.d.ts +17 -0
- package/dist/components/atoms/index.d.ts.map +1 -1
- package/dist/components/atoms/selection-control.styles.d.ts +36 -5
- package/dist/components/atoms/selection-control.styles.d.ts.map +1 -1
- package/dist/components/index.d.ts +83 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/molecules/index.d.ts +46 -0
- package/dist/components/molecules/index.d.ts.map +1 -1
- package/dist/components/molecules/toast-store.d.ts +53 -7
- package/dist/components/molecules/toast-store.d.ts.map +1 -1
- package/dist/components/organisms/index.d.ts +6 -0
- package/dist/components/organisms/index.d.ts.map +1 -1
- package/dist/components/types/variants.d.ts +15 -1
- package/dist/components/types/variants.d.ts.map +1 -1
- package/dist/components/util/app-shell.d.ts +28 -0
- package/dist/components/util/app-shell.d.ts.map +1 -0
- package/dist/components/util/avatar.d.ts +36 -0
- package/dist/components/util/avatar.d.ts.map +1 -0
- package/dist/components/util/bottom-sheet.d.ts +30 -0
- package/dist/components/util/bottom-sheet.d.ts.map +1 -0
- package/dist/components/util/bottom-tab-bar.d.ts +35 -0
- package/dist/components/util/bottom-tab-bar.d.ts.map +1 -0
- package/dist/components/util/calendar.d.ts +56 -0
- package/dist/components/util/calendar.d.ts.map +1 -0
- package/dist/components/util/cn.d.ts +8 -0
- package/dist/components/util/cn.d.ts.map +1 -0
- package/dist/components/util/collapsible.d.ts +58 -0
- package/dist/components/util/collapsible.d.ts.map +1 -0
- package/dist/components/util/confirm-dialog.d.ts +12 -0
- package/dist/components/util/confirm-dialog.d.ts.map +1 -0
- package/dist/components/util/date.d.ts +96 -0
- package/dist/components/util/date.d.ts.map +1 -0
- package/dist/components/util/drawer.d.ts +13 -0
- package/dist/components/util/drawer.d.ts.map +1 -0
- package/dist/components/util/dropdown.d.ts +47 -0
- package/dist/components/util/dropdown.d.ts.map +1 -0
- package/dist/components/util/field.d.ts +39 -0
- package/dist/components/util/field.d.ts.map +1 -0
- package/dist/components/util/fit-in-viewport.d.ts +201 -0
- package/dist/components/util/fit-in-viewport.d.ts.map +1 -0
- package/dist/components/util/focus-utils.d.ts +75 -2
- package/dist/components/util/focus-utils.d.ts.map +1 -1
- package/dist/components/util/hydration.d.ts +45 -0
- package/dist/components/util/hydration.d.ts.map +1 -0
- package/dist/components/util/keyboard-inset.d.ts +18 -0
- package/dist/components/util/keyboard-inset.d.ts.map +1 -0
- package/dist/components/util/media-grid.d.ts +51 -0
- package/dist/components/util/media-grid.d.ts.map +1 -0
- package/dist/components/util/media.d.ts +6 -0
- package/dist/components/util/media.d.ts.map +1 -0
- package/dist/components/util/overlay-chrome.d.ts +53 -0
- package/dist/components/util/overlay-chrome.d.ts.map +1 -0
- package/dist/components/util/overlay.d.ts +72 -0
- package/dist/components/util/overlay.d.ts.map +1 -0
- package/dist/components/util/photo.d.ts +215 -0
- package/dist/components/util/photo.d.ts.map +1 -0
- package/dist/components/util/portal.d.ts +23 -0
- package/dist/components/util/portal.d.ts.map +1 -0
- package/dist/components/util/pull-to-refresh.d.ts +27 -0
- package/dist/components/util/pull-to-refresh.d.ts.map +1 -0
- package/dist/components/util/radio-keys.d.ts +25 -0
- package/dist/components/util/radio-keys.d.ts.map +1 -0
- package/dist/components/util/rating.d.ts +23 -0
- package/dist/components/util/rating.d.ts.map +1 -0
- package/dist/components/util/ready-made-strings.d.ts +77 -0
- package/dist/components/util/ready-made-strings.d.ts.map +1 -0
- package/dist/components/util/scroll-padding.d.ts +20 -0
- package/dist/components/util/scroll-padding.d.ts.map +1 -0
- package/dist/components/util/segmented-control.d.ts +16 -0
- package/dist/components/util/segmented-control.d.ts.map +1 -0
- package/dist/components/util/select.d.ts +41 -0
- package/dist/components/util/select.d.ts.map +1 -0
- package/dist/components/util/sheet-drag.d.ts +60 -0
- package/dist/components/util/sheet-drag.d.ts.map +1 -0
- package/dist/components/util/sidebar.d.ts +63 -0
- package/dist/components/util/sidebar.d.ts.map +1 -0
- package/dist/components/util/sortable-list.d.ts +65 -0
- package/dist/components/util/sortable-list.d.ts.map +1 -0
- package/dist/components/util/ssr-safe.d.ts +4 -4
- package/dist/components/util/ssr-safe.d.ts.map +1 -1
- package/dist/components/util/stepper.d.ts +40 -0
- package/dist/components/util/stepper.d.ts.map +1 -0
- package/dist/components/util/swipeable-list-item.d.ts +36 -0
- package/dist/components/util/swipeable-list-item.d.ts.map +1 -0
- package/dist/components/util/theme-mode.d.ts +80 -0
- package/dist/components/util/theme-mode.d.ts.map +1 -0
- package/dist/components/util/toaster.d.ts +93 -0
- package/dist/components/util/toaster.d.ts.map +1 -0
- package/dist/components/util/tooltip.d.ts +10 -0
- package/dist/components/util/tooltip.d.ts.map +1 -0
- package/dist/components/util/top-navbar.d.ts +11 -0
- package/dist/components/util/top-navbar.d.ts.map +1 -0
- package/dist/components/util/touch-target.d.ts +31 -0
- package/dist/components/util/touch-target.d.ts.map +1 -0
- package/dist/components/util/zabi-strings.d.ts +133 -0
- package/dist/components/util/zabi-strings.d.ts.map +1 -0
- package/dist/create-theme/cli.js +169 -0
- package/dist/create-theme/index.d.ts +176 -0
- package/dist/create-theme/index.js +817 -0
- package/dist/create-theme/lib/ramp-math.js +128 -0
- package/dist/create-theme/lib/resolve.js +141 -0
- package/dist/create-theme/theme-data.js +1116 -0
- package/dist/index.d.ts +83 -3
- package/dist/index.js +60 -8
- package/dist/molecules/Alert.svelte +73 -66
- package/dist/molecules/Alert.svelte.d.ts +9 -1
- package/dist/molecules/AppBar.svelte +415 -0
- package/dist/molecules/AppBar.svelte.d.ts +69 -0
- package/dist/molecules/AvatarGroup.svelte +116 -0
- package/dist/molecules/AvatarGroup.svelte.d.ts +40 -0
- package/dist/molecules/BottomSheet.svelte +540 -0
- package/dist/molecules/BottomSheet.svelte.d.ts +93 -0
- package/dist/molecules/BottomTabBar.svelte +297 -0
- package/dist/molecules/BottomTabBar.svelte.d.ts +64 -0
- package/dist/molecules/Calendar.svelte +597 -0
- package/dist/molecules/Calendar.svelte.d.ts +72 -0
- package/dist/molecules/Collapsible.svelte +243 -0
- package/dist/molecules/Collapsible.svelte.d.ts +44 -0
- package/dist/molecules/CollapsibleGroup.svelte +126 -0
- package/dist/molecules/CollapsibleGroup.svelte.d.ts +14 -0
- package/dist/molecules/ComponentDemo.svelte +25 -5
- package/dist/molecules/ComponentDemo.svelte.d.ts +5 -0
- package/dist/molecules/ConfirmDialog.svelte +253 -0
- package/dist/molecules/ConfirmDialog.svelte.d.ts +55 -0
- package/dist/molecules/ContactForm.svelte +46 -19
- package/dist/molecules/ContactForm.svelte.d.ts +10 -0
- package/dist/molecules/Drawer.svelte +394 -0
- package/dist/molecules/Drawer.svelte.d.ts +55 -0
- package/dist/molecules/Dropdown.svelte +540 -50
- package/dist/molecules/Dropdown.svelte.d.ts +49 -6
- package/dist/molecules/DropdownItem.svelte +122 -0
- package/dist/molecules/DropdownItem.svelte.d.ts +28 -0
- package/dist/molecules/EmptyState.svelte +56 -10
- package/dist/molecules/EmptyState.svelte.d.ts +8 -0
- package/dist/molecules/Form.svelte +25 -14
- package/dist/molecules/Form.svelte.d.ts +13 -5
- package/dist/molecules/FormField.svelte +11 -2
- package/dist/molecules/FormField.svelte.d.ts +2 -0
- package/dist/molecules/Header.svelte +13 -3
- package/dist/molecules/Header.svelte.d.ts +2 -0
- package/dist/molecules/ImageUpload.svelte +422 -70
- package/dist/molecules/ImageUpload.svelte.d.ts +61 -5
- package/dist/molecules/MediaGrid.svelte +527 -0
- package/dist/molecules/MediaGrid.svelte.d.ts +77 -0
- package/dist/molecules/Modal.svelte +340 -45
- package/dist/molecules/Modal.svelte.d.ts +59 -7
- package/dist/molecules/NavigationMenu.svelte +15 -3
- package/dist/molecules/NavigationMenu.svelte.d.ts +4 -0
- package/dist/molecules/NavigationMenuContent.svelte +91 -36
- package/dist/molecules/NavigationMenuContent.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuItem.svelte +10 -3
- package/dist/molecules/NavigationMenuItem.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuLink.svelte +10 -2
- package/dist/molecules/NavigationMenuLink.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuList.svelte +19 -4
- package/dist/molecules/NavigationMenuList.svelte.d.ts +2 -0
- package/dist/molecules/NavigationMenuTrigger.svelte +16 -3
- package/dist/molecules/NavigationMenuTrigger.svelte.d.ts +2 -0
- package/dist/molecules/Page.svelte +38 -2
- package/dist/molecules/Page.svelte.d.ts +13 -0
- package/dist/molecules/PhotoGrid.svelte +433 -0
- package/dist/molecules/PhotoGrid.svelte.d.ts +62 -0
- package/dist/molecules/PhotoViewer.svelte +1116 -0
- package/dist/molecules/PhotoViewer.svelte.d.ts +56 -0
- package/dist/molecules/PropsTable.svelte +26 -11
- package/dist/molecules/PropsTable.svelte.d.ts +5 -0
- package/dist/molecules/PullToRefresh.svelte +263 -0
- package/dist/molecules/PullToRefresh.svelte.d.ts +52 -0
- package/dist/molecules/RadioGroup.svelte +57 -15
- package/dist/molecules/RadioGroup.svelte.d.ts +16 -3
- package/dist/molecules/Section.svelte +13 -5
- package/dist/molecules/Section.svelte.d.ts +3 -1
- package/dist/molecules/SegmentedControl.svelte +323 -0
- package/dist/molecules/SegmentedControl.svelte.d.ts +34 -0
- package/dist/molecules/SidebarBrandHeader.svelte +24 -5
- package/dist/molecules/SidebarBrandHeader.svelte.d.ts +5 -0
- package/dist/molecules/SidebarFooter.svelte +39 -8
- package/dist/molecules/SidebarFooter.svelte.d.ts +5 -0
- package/dist/molecules/SidebarNavSection.svelte +12 -4
- package/dist/molecules/SidebarNavSection.svelte.d.ts +2 -0
- package/dist/molecules/SlideUp.svelte +253 -30
- package/dist/molecules/SlideUp.svelte.d.ts +31 -4
- package/dist/molecules/SortableList.svelte +632 -0
- package/dist/molecules/SortableList.svelte.d.ts +69 -0
- package/dist/molecules/Stepper.svelte +548 -0
- package/dist/molecules/Stepper.svelte.d.ts +39 -0
- package/dist/molecules/StickyActionBar.svelte +191 -0
- package/dist/molecules/StickyActionBar.svelte.d.ts +65 -0
- package/dist/molecules/SwipeableListItem.svelte +334 -0
- package/dist/molecules/SwipeableListItem.svelte.d.ts +54 -0
- package/dist/molecules/Tabs.svelte +254 -24
- package/dist/molecules/Tabs.svelte.d.ts +15 -4
- package/dist/molecules/Toaster.svelte +352 -6
- package/dist/molecules/Toaster.svelte.d.ts +95 -2
- package/dist/molecules/ToasterToast.svelte +279 -62
- package/dist/molecules/ToasterToast.svelte.d.ts +11 -0
- package/dist/molecules/UnsavedChangesBar.svelte +212 -0
- package/dist/molecules/UnsavedChangesBar.svelte.d.ts +43 -0
- package/dist/molecules/index.d.ts +46 -0
- package/dist/molecules/index.js +27 -0
- package/dist/molecules/toast-store.d.ts +53 -7
- package/dist/molecules/toast-store.js +21 -0
- package/dist/organisms/AppShell.svelte +196 -0
- package/dist/organisms/AppShell.svelte.d.ts +61 -0
- package/dist/organisms/SidebarAccountPanel.svelte +111 -12
- package/dist/organisms/SidebarAccountPanel.svelte.d.ts +21 -0
- package/dist/organisms/SidebarNavigation.svelte +193 -69
- package/dist/organisms/SidebarNavigation.svelte.d.ts +31 -1
- package/dist/organisms/SidebarPanel.svelte +45 -16
- package/dist/organisms/SidebarPanel.svelte.d.ts +2 -0
- package/dist/organisms/SidebarShell.svelte +263 -0
- package/dist/organisms/SidebarShell.svelte.d.ts +106 -0
- package/dist/organisms/TopNavbar.svelte +329 -33
- package/dist/organisms/TopNavbar.svelte.d.ts +28 -0
- package/dist/organisms/index.d.ts +6 -0
- package/dist/organisms/index.js +4 -0
- package/dist/routes/lib/variant-utils.d.ts +26 -0
- package/dist/routes/lib/{variant-utils.ts → variant-utils.js} +15 -46
- package/dist/types/components.d.ts +4 -0
- package/dist/types/components.d.ts.map +1 -1
- package/dist/types/events.js +1 -0
- package/dist/types/index.d.ts +605 -25
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/variants.ts +17 -1
- package/dist/util/app-shell.d.ts +27 -0
- package/dist/util/app-shell.js +72 -0
- package/dist/util/avatar.d.ts +35 -0
- package/dist/util/avatar.js +52 -0
- package/dist/util/bottom-sheet.d.ts +29 -0
- package/dist/util/bottom-sheet.js +43 -0
- package/dist/util/bottom-tab-bar.d.ts +34 -0
- package/dist/util/bottom-tab-bar.js +54 -0
- package/dist/util/calendar.d.ts +55 -0
- package/dist/util/calendar.js +74 -0
- package/dist/util/cn.d.ts +7 -0
- package/dist/util/cn.js +48 -0
- package/dist/util/collapsible.d.ts +57 -0
- package/dist/util/collapsible.js +23 -0
- package/dist/util/confirm-dialog.d.ts +11 -0
- package/dist/util/confirm-dialog.js +2 -0
- package/dist/util/date.d.ts +95 -0
- package/dist/util/date.js +237 -0
- package/dist/util/drawer.d.ts +12 -0
- package/dist/util/drawer.js +7 -0
- package/dist/util/dropdown.d.ts +46 -0
- package/dist/util/dropdown.js +21 -0
- package/dist/util/field.d.ts +38 -0
- package/dist/util/field.js +38 -0
- package/dist/util/fit-in-viewport.d.ts +200 -0
- package/dist/util/fit-in-viewport.js +399 -0
- package/dist/util/focus-utils.d.ts +75 -2
- package/dist/util/focus-utils.js +182 -9
- package/dist/util/hydration.d.ts +44 -0
- package/dist/util/hydration.js +58 -0
- package/dist/util/keyboard-inset.d.ts +17 -0
- package/dist/util/keyboard-inset.js +53 -0
- package/dist/util/media-grid.d.ts +50 -0
- package/dist/util/media-grid.js +81 -0
- package/dist/util/media.d.ts +5 -0
- package/dist/util/media.js +10 -0
- package/dist/util/overlay-chrome.d.ts +52 -0
- package/dist/util/overlay-chrome.js +56 -0
- package/dist/util/overlay.d.ts +71 -0
- package/dist/util/overlay.js +240 -0
- package/dist/util/photo.d.ts +214 -0
- package/dist/util/photo.js +206 -0
- package/dist/util/portal.d.ts +22 -0
- package/dist/util/portal.js +50 -0
- package/dist/util/pull-to-refresh.d.ts +26 -0
- package/dist/util/pull-to-refresh.js +30 -0
- package/dist/util/radio-keys.d.ts +24 -0
- package/dist/util/radio-keys.js +49 -0
- package/dist/util/rating.d.ts +22 -0
- package/dist/util/rating.js +26 -0
- package/dist/util/ready-made-strings.d.ts +76 -0
- package/dist/util/ready-made-strings.js +67 -0
- package/dist/util/scroll-padding.d.ts +19 -0
- package/dist/util/scroll-padding.js +44 -0
- package/dist/util/segmented-control.d.ts +15 -0
- package/dist/util/segmented-control.js +1 -0
- package/dist/util/select.d.ts +40 -0
- package/dist/util/select.js +63 -0
- package/dist/util/sheet-drag.d.ts +59 -0
- package/dist/util/sheet-drag.js +241 -0
- package/dist/util/sidebar.d.ts +62 -0
- package/dist/util/sidebar.js +38 -0
- package/dist/util/sortable-list.d.ts +64 -0
- package/dist/util/sortable-list.js +53 -0
- package/dist/util/ssr-safe.d.ts +4 -4
- package/dist/util/stepper.d.ts +39 -0
- package/dist/util/stepper.js +38 -0
- package/dist/util/swipeable-list-item.d.ts +35 -0
- package/dist/util/swipeable-list-item.js +32 -0
- package/dist/util/theme-mode.d.ts +79 -0
- package/dist/util/theme-mode.js +121 -0
- package/dist/util/toaster.d.ts +92 -0
- package/dist/util/toaster.js +75 -0
- package/dist/util/tooltip.d.ts +9 -0
- package/dist/util/tooltip.js +18 -0
- package/dist/util/top-navbar.d.ts +10 -0
- package/dist/util/top-navbar.js +5 -0
- package/dist/util/touch-target.d.ts +30 -0
- package/dist/util/touch-target.js +30 -0
- package/dist/util/zabi-strings.d.ts +132 -0
- package/dist/util/zabi-strings.js +105 -0
- package/dist/zabi-components-colors.css +5 -2
- package/dist/zabi-components-theme-dark-only.css +574 -225
- package/dist/zabi-components-theme-dark.css +574 -225
- package/dist/zabi-components-theme-only.css +1680 -317
- package/dist/zabi-components-theme.css +1680 -317
- package/dist/zabi-components.css +4473 -1158
- package/docs/lucide-icons.md +41 -16
- package/docs/theme-imports.md +81 -11
- package/package.json +51 -29
- package/dist/lib/layout-width-tokens.d.ts +0 -17
- package/dist/lib/layout-width-tokens.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Button.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Button.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Input.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Input.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/List.d.ts +0 -3
- package/dist/lib/showcase/component-docs/List.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Modal.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Modal.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Radio.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Radio.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +0 -3
- package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/Skeleton.d.ts +0 -3
- package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/_shared.d.ts +0 -12
- package/dist/lib/showcase/component-docs/_shared.d.ts.map +0 -1
- package/dist/lib/showcase/component-docs/index.d.ts +0 -4
- package/dist/lib/showcase/component-docs/index.d.ts.map +0 -1
- package/dist/lib/showcase/components-catalog.d.ts +0 -3
- package/dist/lib/showcase/components-catalog.d.ts.map +0 -1
- package/dist/lib/showcase/components-showcase-constants.d.ts +0 -89
- package/dist/lib/showcase/components-showcase-constants.d.ts.map +0 -1
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts +0 -15
- package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +0 -1
- package/dist/routes/lib/focus-utils.d.ts +0 -12
- package/dist/routes/lib/focus-utils.ts +0 -110
- package/dist/routes/lib/ssr-safe.ts +0 -58
- package/scripts/fix-lucide-svelte-icon-dts.js +0 -35
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
3
|
import { getContext } from "svelte";
|
|
4
|
-
import {
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
5
|
+
import { isInsideToastRegion } from "../util/focus-utils.js";
|
|
6
|
+
import { measurePlacement, watchViewport } from "../util/fit-in-viewport.js";
|
|
5
7
|
import {
|
|
6
8
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
7
9
|
navigationMenuPanelId,
|
|
@@ -10,19 +12,25 @@
|
|
|
10
12
|
|
|
11
13
|
interface Props {
|
|
12
14
|
value?: string;
|
|
15
|
+
class?: string;
|
|
16
|
+
/** @deprecated use `class`. */
|
|
13
17
|
className?: string;
|
|
14
18
|
children?: Snippet;
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
let {
|
|
18
22
|
value = "",
|
|
19
|
-
|
|
23
|
+
class: classAttr = "",
|
|
24
|
+
className: legacyClass = "",
|
|
20
25
|
children,
|
|
21
26
|
...restProps
|
|
22
27
|
}: Props = $props();
|
|
23
28
|
|
|
29
|
+
/** `class` is the public prop; `className` is a deprecated alias.
|
|
30
|
+
* Both are merged here so existing call sites keep working. */
|
|
31
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
32
|
+
|
|
24
33
|
let contentElement = $state<HTMLElement | null>(null);
|
|
25
|
-
let parentItem = $state<HTMLElement | null>(null);
|
|
26
34
|
|
|
27
35
|
const context = getContext<NavigationMenuContextValue>(
|
|
28
36
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
@@ -36,42 +44,85 @@
|
|
|
36
44
|
: "",
|
|
37
45
|
);
|
|
38
46
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
event.preventDefault();
|
|
42
|
-
context?.setActiveItem(null);
|
|
43
|
-
const trigger = parentItem?.querySelector('[data-navigation-menu-trigger]') as HTMLElement;
|
|
44
|
-
trigger?.focus();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
+
/** Room kept between the panel and each side of the screen: its width is the viewport less 16px at most. */
|
|
48
|
+
const VIEWPORT_MARGIN = 8;
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
/**
|
|
51
|
+
* How far the panel is moved from under the left edge of its item to stay on
|
|
52
|
+
* screen, and its width limit when it is wider than the screen. The panel
|
|
53
|
+
* of the second trigger used to span x 182 to 382 in a 375px viewport.
|
|
54
|
+
*/
|
|
55
|
+
let leftOffset = $state(0);
|
|
56
|
+
let maxWidth = $state<number | null>(null);
|
|
57
|
+
/**
|
|
58
|
+
* Set when a box that scrolls around the menu would cut the panel off: it
|
|
59
|
+
* is then placed against the viewport with `position: fixed`, which such
|
|
60
|
+
* a box does not clip, at these coordinates. It stays where it is in the
|
|
61
|
+
* DOM, so Escape, the outside press and focus work as before.
|
|
62
|
+
*/
|
|
63
|
+
let fixedAt = $state<{ left: number; top: number; width: number } | null>(null);
|
|
58
64
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
// After the panel is in the DOM and before it is painted, then whenever the screen changes.
|
|
66
|
+
$effect(() => {
|
|
67
|
+
if (!isActive || !contentElement) {
|
|
68
|
+
leftOffset = 0;
|
|
69
|
+
maxWidth = null;
|
|
70
|
+
fixedAt = null;
|
|
71
|
+
return;
|
|
65
72
|
}
|
|
73
|
+
const panel: HTMLElement = contentElement;
|
|
74
|
+
const anchor = panel.closest<HTMLElement>("[data-navigation-menu-item]") ?? panel;
|
|
75
|
+
const update = () => {
|
|
76
|
+
// The panel always opens below, from the left edge of its item
|
|
77
|
+
// (`left-0`, in either writing direction, as it always has), and
|
|
78
|
+
// is slid along that edge only as far as it takes to fit.
|
|
79
|
+
const fit = measurePlacement(
|
|
80
|
+
anchor,
|
|
81
|
+
panel,
|
|
82
|
+
{ block: "bottom", inline: "start" },
|
|
83
|
+
{ margin: VIEWPORT_MARGIN, flipBlock: false, flipInline: false, rtl: false },
|
|
84
|
+
);
|
|
85
|
+
leftOffset = fit.inlineOffset;
|
|
86
|
+
maxWidth = fit.maxWidth;
|
|
87
|
+
fixedAt = fit.fixed;
|
|
88
|
+
};
|
|
89
|
+
update();
|
|
90
|
+
return watchViewport(update, panel);
|
|
66
91
|
});
|
|
67
92
|
|
|
93
|
+
/** Disclosure panel: one document listener while open, removed on close/unmount. */
|
|
68
94
|
$effect(() => {
|
|
69
|
-
if (isActive)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
95
|
+
if (!isActive || !contentElement) return;
|
|
96
|
+
const panel: HTMLElement = contentElement;
|
|
97
|
+
|
|
98
|
+
const parentItem = panel.closest<HTMLElement>(
|
|
99
|
+
"[data-navigation-menu-item]",
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
function handleClickOutside(event: MouseEvent) {
|
|
103
|
+
const target = event.target as Node;
|
|
104
|
+
// A toast lies over the panel; a press on it is for the toast.
|
|
105
|
+
if (isInsideToastRegion(target)) return;
|
|
106
|
+
if (!panel.contains(target) && !parentItem?.contains(target)) {
|
|
107
|
+
context?.setActiveItem(null);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function handleKeydown(event: KeyboardEvent) {
|
|
112
|
+
if (event.key !== "Escape") return;
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
context?.setActiveItem(null);
|
|
115
|
+
parentItem
|
|
116
|
+
?.querySelector<HTMLElement>("[data-navigation-menu-trigger]")
|
|
117
|
+
?.focus();
|
|
74
118
|
}
|
|
119
|
+
|
|
120
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
121
|
+
panel.addEventListener("keydown", handleKeydown);
|
|
122
|
+
return () => {
|
|
123
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
124
|
+
panel.removeEventListener("keydown", handleKeydown);
|
|
125
|
+
};
|
|
75
126
|
});
|
|
76
127
|
</script>
|
|
77
128
|
|
|
@@ -79,11 +130,15 @@
|
|
|
79
130
|
<div
|
|
80
131
|
bind:this={contentElement}
|
|
81
132
|
id={panelId || undefined}
|
|
82
|
-
class="absolute left-0 top-full mt-2 bg-
|
|
83
|
-
|
|
84
|
-
|
|
133
|
+
class={cn("absolute left-0 top-full mt-2 bg-surface-overlay rounded-overlay shadow-lg border border-border-overlay p-4 z-dropdown min-w-[200px] transition-[opacity,translate] duration-200 ease-in-out", className)}
|
|
134
|
+
style:position={fixedAt ? "fixed" : undefined}
|
|
135
|
+
style:top={fixedAt ? `${fixedAt.top}px` : undefined}
|
|
136
|
+
style:left={fixedAt ? `${fixedAt.left}px` : leftOffset !== 0 ? `${leftOffset}px` : undefined}
|
|
137
|
+
style:margin={fixedAt ? "0" : undefined}
|
|
138
|
+
style:width={fixedAt ? `${fixedAt.width}px` : undefined}
|
|
139
|
+
style:max-width={maxWidth !== null ? `${maxWidth}px` : undefined}
|
|
140
|
+
style:min-width={maxWidth !== null ? "0" : undefined}
|
|
85
141
|
data-navigation-menu-content
|
|
86
|
-
tabindex="-1"
|
|
87
142
|
{...restProps}
|
|
88
143
|
>
|
|
89
144
|
{@render children?.()}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
3
|
import { getContext } from "svelte";
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
4
5
|
import {
|
|
5
6
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
6
7
|
type NavigationMenuContextValue,
|
|
@@ -8,17 +9,24 @@
|
|
|
8
9
|
|
|
9
10
|
interface Props {
|
|
10
11
|
value?: string;
|
|
12
|
+
class?: string;
|
|
13
|
+
/** @deprecated use `class`. */
|
|
11
14
|
className?: string;
|
|
12
15
|
children?: Snippet;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
let {
|
|
16
19
|
value = "",
|
|
17
|
-
|
|
20
|
+
class: classAttr = "",
|
|
21
|
+
className: legacyClass = "",
|
|
18
22
|
children,
|
|
19
23
|
...restProps
|
|
20
24
|
}: Props = $props();
|
|
21
25
|
|
|
26
|
+
/** `class` is the public prop; `className` is a deprecated alias.
|
|
27
|
+
* Both are merged here so existing call sites keep working. */
|
|
28
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
29
|
+
|
|
22
30
|
const context = getContext<NavigationMenuContextValue>(
|
|
23
31
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
24
32
|
);
|
|
@@ -27,8 +35,7 @@
|
|
|
27
35
|
</script>
|
|
28
36
|
|
|
29
37
|
<li
|
|
30
|
-
class="relative
|
|
31
|
-
role="none"
|
|
38
|
+
class={cn("relative", className)}
|
|
32
39
|
data-navigation-menu-item
|
|
33
40
|
data-active={isActive}
|
|
34
41
|
{...restProps}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
3
|
import { getContext } from "svelte";
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
4
5
|
import {
|
|
5
6
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
6
7
|
type NavigationMenuContextValue,
|
|
@@ -9,6 +10,8 @@
|
|
|
9
10
|
interface Props {
|
|
10
11
|
href?: string;
|
|
11
12
|
asChild?: boolean;
|
|
13
|
+
class?: string;
|
|
14
|
+
/** @deprecated use `class`. */
|
|
12
15
|
className?: string;
|
|
13
16
|
children?: Snippet;
|
|
14
17
|
}
|
|
@@ -16,11 +19,16 @@
|
|
|
16
19
|
let {
|
|
17
20
|
href = "#",
|
|
18
21
|
asChild = false,
|
|
19
|
-
|
|
22
|
+
class: classAttr = "",
|
|
23
|
+
className: legacyClass = "",
|
|
20
24
|
children,
|
|
21
25
|
...restProps
|
|
22
26
|
}: Props = $props();
|
|
23
27
|
|
|
28
|
+
/** `class` is the public prop; `className` is a deprecated alias.
|
|
29
|
+
* Both are merged here so existing call sites keep working. */
|
|
30
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
31
|
+
|
|
24
32
|
const context = getContext<NavigationMenuContextValue>(
|
|
25
33
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
26
34
|
);
|
|
@@ -30,7 +38,7 @@
|
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
const linkClasses =
|
|
33
|
-
"focus-ring focus-ring--nav block cursor-pointer rounded-
|
|
41
|
+
"focus-ring focus-ring--nav block cursor-pointer rounded-control px-4 py-2 pointer-coarse:py-3 text-sm text-nav-menu-item no-underline transition-colors duration-150 outline-none hover:bg-nav-menu-hover hover:text-nav-menu-item-hover active:bg-nav-menu-active {className}";
|
|
34
42
|
</script>
|
|
35
43
|
|
|
36
44
|
{#if asChild}
|
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
|
+
import { cn } from "../util/cn.js";
|
|
3
4
|
|
|
4
5
|
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
/** @deprecated use `class`. */
|
|
5
8
|
className?: string;
|
|
6
9
|
children?: Snippet;
|
|
7
10
|
}
|
|
8
11
|
|
|
9
12
|
let {
|
|
10
|
-
|
|
13
|
+
class: classAttr = "",
|
|
14
|
+
className: legacyClass = "",
|
|
11
15
|
children,
|
|
12
16
|
...restProps
|
|
13
17
|
}: Props = $props();
|
|
18
|
+
|
|
19
|
+
/** `class` is the public prop; `className` is a deprecated alias.
|
|
20
|
+
* Both are merged here so existing call sites keep working. */
|
|
21
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
14
22
|
</script>
|
|
15
23
|
|
|
24
|
+
<!-- A list of links and disclosure buttons inside the `<nav>`, which is what
|
|
25
|
+
the WAI-ARIA practices recommend for site navigation. It was `role="menubar"`,
|
|
26
|
+
which promises arrow keys between the items and `menuitem` children; it had
|
|
27
|
+
neither, so a screen reader announced a menu bar that did not behave like one.
|
|
28
|
+
`role="list"` restates what `list-none` makes Safari forget.
|
|
29
|
+
|
|
30
|
+
`flex-wrap`: a list that does not fit goes onto a further row. It used
|
|
31
|
+
to run out of its container (310px of items in a 215px box at 375px). -->
|
|
16
32
|
<ul
|
|
17
|
-
class="flex flex-row items-center gap-1 list-none m-0 p-0
|
|
18
|
-
role="
|
|
19
|
-
aria-orientation="horizontal"
|
|
33
|
+
class={cn("flex flex-row flex-wrap items-center gap-1 list-none m-0 p-0", className)}
|
|
34
|
+
role="list"
|
|
20
35
|
data-navigation-menu-list
|
|
21
36
|
{...restProps}
|
|
22
37
|
>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
3
|
import { getContext } from "svelte";
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
4
5
|
import {
|
|
5
6
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
6
7
|
navigationMenuPanelId,
|
|
@@ -9,17 +10,24 @@
|
|
|
9
10
|
|
|
10
11
|
interface Props {
|
|
11
12
|
value?: string;
|
|
13
|
+
class?: string;
|
|
14
|
+
/** @deprecated use `class`. */
|
|
12
15
|
className?: string;
|
|
13
16
|
children?: Snippet;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
let {
|
|
17
20
|
value = "",
|
|
18
|
-
|
|
21
|
+
class: classAttr = "",
|
|
22
|
+
className: legacyClass = "",
|
|
19
23
|
children,
|
|
20
24
|
...restProps
|
|
21
25
|
}: Props = $props();
|
|
22
26
|
|
|
27
|
+
/** `class` is the public prop; `className` is a deprecated alias.
|
|
28
|
+
* Both are merged here so existing call sites keep working. */
|
|
29
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
30
|
+
|
|
23
31
|
const context = getContext<NavigationMenuContextValue>(
|
|
24
32
|
NAVIGATION_MENU_CONTEXT_KEY,
|
|
25
33
|
);
|
|
@@ -58,10 +66,15 @@
|
|
|
58
66
|
|
|
59
67
|
<button
|
|
60
68
|
type="button"
|
|
61
|
-
class=
|
|
69
|
+
class={cn(
|
|
70
|
+
"focus-ring focus-ring--nav inline-flex cursor-pointer items-center justify-center gap-2 rounded-control bg-transparent px-4 py-2 pointer-coarse:py-3 text-sm font-medium transition-colors duration-150 outline-none",
|
|
71
|
+
isActive
|
|
72
|
+
? "bg-nav-menu-active text-nav-menu-item-active"
|
|
73
|
+
: "text-nav-menu-item hover:bg-nav-menu-hover hover:text-nav-menu-item-hover active:bg-nav-menu-active",
|
|
74
|
+
className,
|
|
75
|
+
)}
|
|
62
76
|
aria-expanded={isActive ? 'true' : 'false'}
|
|
63
77
|
aria-controls={panelId || undefined}
|
|
64
|
-
aria-haspopup="true"
|
|
65
78
|
onclick={handleClick}
|
|
66
79
|
onkeydown={handleKeydown}
|
|
67
80
|
data-navigation-menu-trigger
|
|
@@ -1,15 +1,51 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from "svelte";
|
|
3
|
+
import { isInsideAppShell } from "../util/app-shell.js";
|
|
4
|
+
import { cn } from "../util/cn.js";
|
|
3
5
|
|
|
4
6
|
interface Props {
|
|
5
7
|
children?: Snippet;
|
|
8
|
+
/**
|
|
9
|
+
* Keeps the content out from under a notch at the side (a phone held
|
|
10
|
+
* sideways) and the home indicator at the bottom, by padding the page
|
|
11
|
+
* with the safe-area insets. They are zero on a screen without them,
|
|
12
|
+
* and until the app asks for them with `viewport-fit=cover`.
|
|
13
|
+
*
|
|
14
|
+
* Inside an `AppShell` the page adds nothing, whatever this says: the
|
|
15
|
+
* shell has already kept its content clear. Set it to false when
|
|
16
|
+
* something else of yours has, such as padding on `<body>`.
|
|
17
|
+
*/
|
|
18
|
+
safeArea?: boolean;
|
|
19
|
+
class?: string;
|
|
20
|
+
/** @deprecated use `class`. */
|
|
6
21
|
className?: string;
|
|
7
22
|
}
|
|
8
23
|
|
|
9
|
-
let {
|
|
24
|
+
let {
|
|
25
|
+
children,
|
|
26
|
+
safeArea = true,
|
|
27
|
+
class: classAttr = "",
|
|
28
|
+
className: legacyClass = "",
|
|
29
|
+
}: Props = $props();
|
|
30
|
+
|
|
31
|
+
const inShell = isInsideAppShell();
|
|
32
|
+
|
|
33
|
+
/** `class` is the public prop; `className` is a deprecated alias. */
|
|
34
|
+
const className = $derived(cn(`${classAttr} ${legacyClass}`));
|
|
10
35
|
</script>
|
|
11
36
|
|
|
12
|
-
<div
|
|
37
|
+
<div
|
|
38
|
+
class={cn(
|
|
39
|
+
"mx-auto w-full space-y-10",
|
|
40
|
+
// Left and right, not start and end: a notch is on a side of the
|
|
41
|
+
// device, whichever way the text runs.
|
|
42
|
+
safeArea &&
|
|
43
|
+
!inShell &&
|
|
44
|
+
"pb-[env(safe-area-inset-bottom,0px)] pl-[env(safe-area-inset-left,0px)] pr-[env(safe-area-inset-right,0px)]",
|
|
45
|
+
className,
|
|
46
|
+
)}
|
|
47
|
+
data-safe-area={safeArea && !inShell ? "" : undefined}
|
|
48
|
+
>
|
|
13
49
|
{#if children}
|
|
14
50
|
{@render children()}
|
|
15
51
|
{/if}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import type { Snippet } from "svelte";
|
|
2
2
|
interface Props {
|
|
3
3
|
children?: Snippet;
|
|
4
|
+
/**
|
|
5
|
+
* Keeps the content out from under a notch at the side (a phone held
|
|
6
|
+
* sideways) and the home indicator at the bottom, by padding the page
|
|
7
|
+
* with the safe-area insets. They are zero on a screen without them,
|
|
8
|
+
* and until the app asks for them with `viewport-fit=cover`.
|
|
9
|
+
*
|
|
10
|
+
* Inside an `AppShell` the page adds nothing, whatever this says: the
|
|
11
|
+
* shell has already kept its content clear. Set it to false when
|
|
12
|
+
* something else of yours has, such as padding on `<body>`.
|
|
13
|
+
*/
|
|
14
|
+
safeArea?: boolean;
|
|
15
|
+
class?: string;
|
|
16
|
+
/** @deprecated use `class`. */
|
|
4
17
|
className?: string;
|
|
5
18
|
}
|
|
6
19
|
declare const Page: import("svelte").Component<Props, {}, "">;
|