diff --git a/.changeset/whole-beans-hide.md b/.changeset/whole-beans-hide.md new file mode 100644 index 00000000..565c58e5 --- /dev/null +++ b/.changeset/whole-beans-hide.md @@ -0,0 +1,5 @@ +--- +"@ainsleydev/sveltekit-helper": minor +--- + +Adding notification components diff --git a/packages/sveltekit-helper/package.json b/packages/sveltekit-helper/package.json index 2e805652..69d9e43a 100644 --- a/packages/sveltekit-helper/package.json +++ b/packages/sveltekit-helper/package.json @@ -38,6 +38,11 @@ "svelte": "./dist/components/payload/index.js", "default": "./dist/components/payload/index.js" }, + "./components/notifications": { + "types": "./dist/components/notifications/index.d.ts", + "svelte": "./dist/components/notifications/index.js", + "default": "./dist/components/notifications/index.js" + }, "./utils/forms": { "types": "./dist/utils/forms/index.d.ts", "import": "./dist/utils/forms/index.js" @@ -72,7 +77,8 @@ } }, "dependencies": { - "svelte-hamburgers": "^5.0.0" + "svelte-hamburgers": "^5.0.0", + "@lucide/svelte": "^0.562.0" }, "devDependencies": { "@ainsleydev/eslint-config": "workspace:*", diff --git a/packages/sveltekit-helper/src/components/Grid/Column.svelte b/packages/sveltekit-helper/src/components/Grid/Column.svelte index 3f0240e8..4f77a344 100644 --- a/packages/sveltekit-helper/src/components/Grid/Column.svelte +++ b/packages/sveltekit-helper/src/components/Grid/Column.svelte @@ -15,6 +15,10 @@ const { ...restProps } = $props(); Content ``` + + CSS Custom Properties: + - `--col-gap`: Horizontal padding on desktop (default: 1rem) + - `--col-gap-mobile`: Horizontal padding on mobile (default: var(--col-gap, 0.5rem)) -->
diff --git a/packages/sveltekit-helper/src/components/Grid/Container.svelte b/packages/sveltekit-helper/src/components/Grid/Container.svelte index d4679403..bdf572d0 100644 --- a/packages/sveltekit-helper/src/components/Grid/Container.svelte +++ b/packages/sveltekit-helper/src/components/Grid/Container.svelte @@ -7,6 +7,28 @@ const { ...restProps } = $props(); Centre content such as rows & columns horizontally with predefined max-width. Uses CSS Grid to provide breakout and full-width layout options. + + @example + ```svelte + + + Content + + + ``` + + @example + ```svelte + +
Full breakout content
+
Full width content
+
+ ``` + + CSS Custom Properties: + - `--container-max-width`: Maximum content width (default: 1328px) + - `--container-breakout-max-width`: Maximum breakout width (default: 1500px) + - `--container-padding`: Horizontal padding (default: 1rem) -->
diff --git a/packages/sveltekit-helper/src/components/Grid/Row.svelte b/packages/sveltekit-helper/src/components/Grid/Row.svelte index cdeb558b..2b53f0ea 100644 --- a/packages/sveltekit-helper/src/components/Grid/Row.svelte +++ b/packages/sveltekit-helper/src/components/Grid/Row.svelte @@ -26,6 +26,10 @@ const { noGaps = false, ...restProps }: RowProps = $props(); ``` + + CSS Custom Properties: + - `--row-gap`: Gap between columns (default: 1rem) + - `--row-gap-mobile`: Gap on mobile screens (default: var(--row-gap, 0.5rem)) -->
diff --git a/packages/sveltekit-helper/src/components/Hamburger.svelte b/packages/sveltekit-helper/src/components/Hamburger.svelte index b63874bc..cee65c41 100644 --- a/packages/sveltekit-helper/src/components/Hamburger.svelte +++ b/packages/sveltekit-helper/src/components/Hamburger.svelte @@ -40,6 +40,15 @@ export type HamburgerProps = { ```svelte ``` + + CSS Custom Properties: + - `--hamburger-gap`: Distance from top and right edges (default: 0.8rem) + - `--hamburger-z-index`: Stacking order (default: 10000) + - `--hamburger-colour`: Icon color (default: var(--colour-base-light)) + - `--hamburger-layer-width`: Width of each line (default: 24px) + - `--hamburger-layer-height`: Height of each line (default: 2px) + - `--hamburger-layer-spacing`: Gap between lines (default: 5px) + - `--hamburger-border-radius`: Rounding of lines (default: 2px) -->
... ``` + + CSS Custom Properties: + - `--sidebar-width`: Mobile sidebar width (default: 50vw) + - `--sidebar-min-width`: Minimum sidebar width (default: 270px) + - `--sidebar-top`: Desktop sticky position from top (default: 160px) + - `--sidebar-overlay-opacity`: Overlay opacity when open (default: 0.3) + - `--sidebar-background`: Sidebar background color (default: var(--colour-base-black)) + - `--sidebar-border-colour`: Border color (default: rgba(255, 255, 255, 0.1)) + - `--sidebar-overlay-colour`: Overlay background color (default: var(--colour-grey-900)) + - `--sidebar-inner-padding`: Content padding (default: 2rem 1.8rem 0 1.8rem) + - `--sidebar-toggle-background`: Toggle button background (default: var(--colour-base-black)) + - `--sidebar-toggle-colour`: Toggle button text color (default: var(--colour-base-light)) + - `--sidebar-toggle-padding`: Toggle button padding (default: 0.25rem 1.5rem) + - `--sidebar-toggle-radius`: Toggle button border radius (default: 0.375rem) + - `--sidebar-toggle-font-size`: Toggle button font size (default: 0.9rem) -->