singularity-components 0.1.151 → 0.1.193
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/README.md +29 -12
- package/dist/components/blocks/cards/blogpost-card.d.ts +9 -4
- package/dist/components/blocks/cards/blogpost-card.js +37 -23
- package/dist/components/blocks/cards/blogpost-card.js.map +1 -1
- package/dist/components/blocks/cards/card.js +1 -1
- package/dist/components/blocks/cards/card.js.map +1 -1
- package/dist/components/blocks/empty-state/EmptyState.d.ts +15 -0
- package/dist/components/blocks/empty-state/EmptyState.js +36 -0
- package/dist/components/blocks/empty-state/EmptyState.js.map +1 -0
- package/dist/components/blocks/index.d.ts +2 -0
- package/dist/components/blocks/index.js +4 -2
- package/dist/components/blocks/index.js.map +1 -1
- package/dist/components/blocks/post-list/post-filters.d.ts +19 -0
- package/dist/components/blocks/post-list/post-filters.js +99 -0
- package/dist/components/blocks/post-list/post-filters.js.map +1 -0
- package/dist/components/blocks/post-list/post-list-with-filters.d.ts +19 -0
- package/dist/components/blocks/post-list/post-list-with-filters.js +439 -0
- package/dist/components/blocks/post-list/post-list-with-filters.js.map +1 -0
- package/dist/components/index.d.ts +42 -12
- package/dist/components/index.js +5 -6
- package/dist/components/index.js.map +1 -1
- package/dist/components/pages/admin/admin-page.d.ts +8 -0
- package/dist/components/pages/admin/admin-page.js +299 -0
- package/dist/components/pages/admin/admin-page.js.map +1 -0
- package/dist/components/pages/blogpost/blogpost.js +440 -0
- package/dist/components/pages/blogpost/blogpost.js.map +1 -0
- package/dist/components/pages/category/category-page.d.ts +8 -0
- package/dist/components/pages/category/category-page.js +69 -0
- package/dist/components/pages/category/category-page.js.map +1 -0
- package/dist/components/pages/chat/chat-page.d.ts +5 -0
- package/dist/components/pages/chat/chat-page.js +209 -0
- package/dist/components/pages/chat/chat-page.js.map +1 -0
- package/dist/components/pages/index.d.ts +11 -0
- package/dist/components/pages/index.js +11 -0
- package/dist/components/pages/index.js.map +1 -0
- package/dist/components/pages/login/login-page.d.ts +19 -0
- package/dist/components/pages/login/login-page.js +108 -0
- package/dist/components/pages/login/login-page.js.map +1 -0
- package/dist/components/pages/maintenance/maintenance-page.d.ts +5 -0
- package/dist/components/pages/maintenance/maintenance-page.js +50 -0
- package/dist/components/pages/maintenance/maintenance-page.js.map +1 -0
- package/dist/components/pages/not-found/not-found.d.ts +10 -0
- package/dist/components/pages/not-found/not-found.js +64 -0
- package/dist/components/pages/not-found/not-found.js.map +1 -0
- package/dist/components/pages/privacy/privacy-page.d.ts +15 -0
- package/dist/components/pages/privacy/privacy-page.js +98 -0
- package/dist/components/pages/privacy/privacy-page.js.map +1 -0
- package/dist/components/pages/search/search-page.d.ts +5 -0
- package/dist/components/pages/search/search-page.js +18 -0
- package/dist/components/pages/search/search-page.js.map +1 -0
- package/dist/components/pages/startpage/startpage.js +50 -0
- package/dist/components/pages/startpage/startpage.js.map +1 -0
- package/dist/components/pages/terms/terms-page.d.ts +15 -0
- package/dist/components/pages/terms/terms-page.js +98 -0
- package/dist/components/pages/terms/terms-page.js.map +1 -0
- package/dist/components/primitives/accordion/accordion.js +1 -1
- package/dist/components/primitives/accordion/accordion.js.map +1 -1
- package/dist/components/primitives/alert/alert.js +1 -1
- package/dist/components/primitives/alert/alert.js.map +1 -1
- package/dist/components/primitives/avatar/avatar.d.ts +14 -0
- package/dist/components/primitives/avatar/avatar.js +103 -0
- package/dist/components/primitives/avatar/avatar.js.map +1 -0
- package/dist/components/primitives/badge/badge.d.ts +1 -1
- package/dist/components/primitives/badge/badge.js +5 -5
- package/dist/components/primitives/badge/badge.js.map +1 -1
- package/dist/components/primitives/badge/badges.js +1 -1
- package/dist/components/primitives/badge/badges.js.map +1 -1
- package/dist/components/primitives/{button → buttons}/button.d.ts +8 -7
- package/dist/components/primitives/{button → buttons}/button.js +19 -14
- package/dist/components/primitives/buttons/button.js.map +1 -0
- package/dist/components/primitives/buttons/icon-button.d.ts +33 -0
- package/dist/components/primitives/buttons/icon-button.js +61 -0
- package/dist/components/primitives/buttons/icon-button.js.map +1 -0
- package/dist/components/primitives/{link → buttons}/link-button.d.ts +7 -4
- package/dist/components/primitives/buttons/link-button.js +35 -0
- package/dist/components/primitives/buttons/link-button.js.map +1 -0
- package/dist/components/primitives/collapsible/collapsible.d.ts +9 -0
- package/dist/components/primitives/collapsible/collapsible.js +53 -0
- package/dist/components/primitives/collapsible/collapsible.js.map +1 -0
- package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +30 -0
- package/dist/components/primitives/dropdown-menu/dropdown-menu.js +164 -0
- package/dist/components/primitives/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/primitives/forms/checkbox.d.ts +6 -0
- package/dist/components/primitives/forms/checkbox.js +30 -0
- package/dist/components/primitives/forms/checkbox.js.map +1 -0
- package/dist/components/primitives/forms/field.d.ts +29 -0
- package/dist/components/primitives/forms/field.js +218 -0
- package/dist/components/primitives/forms/field.js.map +1 -0
- package/dist/components/primitives/forms/input.d.ts +6 -0
- package/dist/components/primitives/forms/input.js +22 -0
- package/dist/components/primitives/forms/input.js.map +1 -0
- package/dist/components/primitives/forms/select.d.ts +22 -0
- package/dist/components/primitives/forms/select.js +169 -0
- package/dist/components/primitives/forms/select.js.map +1 -0
- package/dist/components/primitives/forms/textarea.d.ts +6 -0
- package/dist/components/primitives/forms/textarea.js +20 -0
- package/dist/components/primitives/forms/textarea.js.map +1 -0
- package/dist/components/primitives/icon/icon.d.ts +9 -2
- package/dist/components/primitives/icon/icon.js +10 -3
- package/dist/components/primitives/icon/icon.js.map +1 -1
- package/dist/components/primitives/index.d.ts +23 -7
- package/dist/components/primitives/index.js +31 -20
- package/dist/components/primitives/index.js.map +1 -1
- package/dist/components/primitives/label/label.d.ts +6 -0
- package/dist/components/primitives/label/label.js +22 -0
- package/dist/components/primitives/label/label.js.map +1 -0
- package/dist/components/primitives/layout/layout.d.ts +6 -3
- package/dist/components/primitives/layout/layout.js +28 -11
- package/dist/components/primitives/layout/layout.js.map +1 -1
- package/dist/components/primitives/link/link.d.ts +11 -5
- package/dist/components/primitives/link/link.js +38 -11
- package/dist/components/primitives/link/link.js.map +1 -1
- package/dist/components/primitives/separator/separator.js +1 -1
- package/dist/components/primitives/separator/separator.js.map +1 -1
- package/dist/components/primitives/sheet/sheet.d.ts +29 -0
- package/dist/components/primitives/sheet/sheet.js +117 -0
- package/dist/components/primitives/sheet/sheet.js.map +1 -0
- package/dist/components/primitives/skeleton/skeleton.js +1 -1
- package/dist/components/primitives/skeleton/skeleton.js.map +1 -1
- package/dist/components/primitives/sonner/sonner.d.ts +7 -0
- package/dist/components/primitives/sonner/sonner.js +42 -0
- package/dist/components/primitives/sonner/sonner.js.map +1 -0
- package/dist/components/primitives/sonner/use-toast.d.ts +24 -0
- package/dist/components/primitives/sonner/use-toast.js +21 -0
- package/dist/components/primitives/sonner/use-toast.js.map +1 -0
- package/dist/components/primitives/spinner/spinner.js +1 -1
- package/dist/components/primitives/spinner/spinner.js.map +1 -1
- package/dist/components/primitives/stack/stack.d.ts +3 -0
- package/dist/components/primitives/stack/stack.js +34 -4
- package/dist/components/primitives/stack/stack.js.map +1 -1
- package/dist/components/primitives/text/{text-heading.d.ts → heading.d.ts} +5 -5
- package/dist/components/primitives/text/{text-heading.js → heading.js} +11 -11
- package/dist/components/primitives/text/heading.js.map +1 -0
- package/dist/components/primitives/text/internal/text-element.d.ts +7 -3
- package/dist/components/primitives/text/internal/text-element.js +4 -2
- package/dist/components/primitives/text/internal/text-element.js.map +1 -1
- package/dist/components/primitives/text/text-code.d.ts +26 -0
- package/dist/components/primitives/text/text-code.js +44 -0
- package/dist/components/primitives/text/text-code.js.map +1 -0
- package/dist/components/primitives/text/text-div.js +2 -2
- package/dist/components/primitives/text/text-div.js.map +1 -1
- package/dist/components/primitives/text/text-span.js +2 -2
- package/dist/components/primitives/text/text-span.js.map +1 -1
- package/dist/components/primitives/text/text-time.js +2 -2
- package/dist/components/primitives/text/text-time.js.map +1 -1
- package/dist/components/primitives/text/{text-paragraph.d.ts → text.d.ts} +4 -4
- package/dist/components/primitives/text/{text-paragraph.js → text.js} +11 -11
- package/dist/components/primitives/text/text.js.map +1 -0
- package/dist/components/primitives/{ui-image.d.ts → ui-image/ui-image.d.ts} +1 -1
- package/dist/components/primitives/{ui-image.js → ui-image/ui-image.js} +3 -3
- package/dist/components/primitives/ui-image/ui-image.js.map +1 -0
- package/dist/components/primitives/ui-link/ui-link.d.ts +8 -0
- package/dist/components/primitives/ui-link/ui-link.js +19 -0
- package/dist/components/primitives/ui-link/ui-link.js.map +1 -0
- package/dist/components/providers/LinkContext.d.ts +1 -1
- package/dist/components/providers/LinkContext.js +1 -1
- package/dist/components/providers/LinkContext.js.map +1 -1
- package/dist/components/providers/SingularityContext.d.ts +4 -1
- package/dist/components/providers/SingularityContext.js +7 -3
- package/dist/components/providers/SingularityContext.js.map +1 -1
- package/dist/components/providers/auth-provider.d.ts +15 -0
- package/dist/components/providers/auth-provider.js +30 -0
- package/dist/components/providers/auth-provider.js.map +1 -0
- package/dist/components/providers/index.d.ts +3 -0
- package/dist/components/providers/index.js +5 -3
- package/dist/components/providers/index.js.map +1 -1
- package/dist/components/providers/theme-provider.d.ts +27 -0
- package/dist/components/providers/theme-provider.js +75 -0
- package/dist/components/providers/theme-provider.js.map +1 -0
- package/dist/components/templates/container/container.d.ts +20 -0
- package/dist/components/templates/container/container.js +58 -0
- package/dist/components/templates/container/container.js.map +1 -0
- package/dist/components/templates/footer/footer.d.ts +5 -0
- package/dist/components/templates/footer/footer.js +12 -0
- package/dist/components/templates/footer/footer.js.map +1 -0
- package/dist/components/templates/form/form.d.ts +5 -0
- package/dist/components/templates/form/form.js +141 -0
- package/dist/components/templates/form/form.js.map +1 -0
- package/dist/components/templates/hero/hero.d.ts +18 -0
- package/dist/components/{sections → templates}/hero/hero.js +52 -22
- package/dist/components/templates/hero/hero.js.map +1 -0
- package/dist/components/templates/index.d.ts +4 -2
- package/dist/components/templates/index.js +4 -2
- package/dist/components/templates/index.js.map +1 -1
- package/dist/components/templates/navigation/header.d.ts +19 -0
- package/dist/components/templates/navigation/header.js +222 -0
- package/dist/components/templates/navigation/header.js.map +1 -0
- package/dist/components/templates/navigation/index.d.ts +3 -0
- package/dist/components/templates/navigation/index.js +2 -0
- package/dist/components/templates/navigation/index.js.map +1 -0
- package/dist/css/variables.css +2 -2
- package/dist/css/variables.css.map +1 -1
- package/dist/data/authors.d.ts +12 -0
- package/dist/data/authors.js +33 -0
- package/dist/data/authors.js.map +1 -0
- package/dist/data/posts.d.ts +5 -3
- package/dist/data/posts.js +66 -47
- package/dist/data/posts.js.map +1 -1
- package/dist/index.d.ts +42 -12
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/helpers/index.js +1 -1
- package/dist/lib/helpers/index.js.map +1 -1
- package/dist/lib/index.js +2 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/types.d.ts +4 -8
- package/dist/main.css +1528 -85
- package/dist/main.css.map +1 -1
- package/dist/{utils.js → utils/index.js} +1 -1
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.test.js +37 -0
- package/dist/utils/index.test.js.map +1 -0
- package/package.json +69 -44
- package/dist/components/primitives/button/button.js.map +0 -1
- package/dist/components/primitives/link/link-button.js +0 -21
- package/dist/components/primitives/link/link-button.js.map +0 -1
- package/dist/components/primitives/text/text-heading.js.map +0 -1
- package/dist/components/primitives/text/text-paragraph.js.map +0 -1
- package/dist/components/primitives/ui-image.js.map +0 -1
- package/dist/components/primitives/ui-link.d.ts +0 -8
- package/dist/components/primitives/ui-link.js +0 -16
- package/dist/components/primitives/ui-link.js.map +0 -1
- package/dist/components/sections/body/body.d.ts +0 -19
- package/dist/components/sections/body/body.js +0 -49
- package/dist/components/sections/body/body.js.map +0 -1
- package/dist/components/sections/footer/footer.d.ts +0 -12
- package/dist/components/sections/footer/footer.js +0 -59
- package/dist/components/sections/footer/footer.js.map +0 -1
- package/dist/components/sections/hero/hero.d.ts +0 -6
- package/dist/components/sections/hero/hero.js.map +0 -1
- package/dist/components/sections/index.d.ts +0 -3
- package/dist/components/sections/index.js +0 -4
- package/dist/components/sections/index.js.map +0 -1
- package/dist/components/templates/blogpost/blogpost.js +0 -173
- package/dist/components/templates/blogpost/blogpost.js.map +0 -1
- package/dist/components/templates/startpage/startpage.js +0 -48
- package/dist/components/templates/startpage/startpage.js.map +0 -1
- package/dist/components/units/index.js +0 -1
- package/dist/components/units/index.js.map +0 -1
- package/dist/utils.js.map +0 -1
- /package/dist/components/{templates → pages}/blogpost/blogpost.d.ts +0 -0
- /package/dist/components/{templates → pages}/startpage/startpage.d.ts +0 -0
- /package/dist/{utils.d.ts → utils/index.d.ts} +0 -0
- /package/dist/{components/units/index.d.ts → utils/index.test.d.ts} +0 -0
package/dist/data/posts.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const posts = [
|
|
2
2
|
{
|
|
3
|
-
|
|
3
|
+
id: 1,
|
|
4
4
|
title: "The Art of Slow Living",
|
|
5
5
|
excerpt: "In a world that never stops moving, there's a quiet revolution happening \u2014 one that asks us to pause, breathe, and savor.",
|
|
6
|
-
|
|
6
|
+
content: `In a world that never stops moving, there's a quiet revolution happening \u2014 one that asks us to pause, breathe, and savor the moments that make up our days.
|
|
7
7
|
|
|
8
8
|
Slow living isn't about doing everything at a snail's pace. It's about being intentional with your time, choosing quality over quantity, and finding joy in the everyday. Whether it's brewing a cup of tea with care, taking a longer route through the park, or simply sitting with your thoughts \u2014 these small acts of presence add up.
|
|
9
9
|
|
|
@@ -19,16 +19,17 @@ Research consistently shows that chronic busyness leads to burnout, anxiety, and
|
|
|
19
19
|
4. **Spend time in nature.** Even 15 minutes outdoors can reset your nervous system.
|
|
20
20
|
|
|
21
21
|
The beauty of slow living is that it doesn't require a complete lifestyle overhaul. It begins with a single choice to be present.`,
|
|
22
|
-
|
|
22
|
+
primaryImage: "https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800&h=500&fit=crop",
|
|
23
|
+
originalImage: "https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800&h=500&fit=crop",
|
|
23
24
|
date: "2026-02-01",
|
|
24
25
|
author: "Elena Marsh",
|
|
25
|
-
|
|
26
|
+
categories: ["Mindfulness"]
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
|
-
|
|
29
|
+
id: 2,
|
|
29
30
|
title: "Designing with Intention",
|
|
30
31
|
excerpt: "Good design isn't decoration \u2014 it's communication. Every color, typeface, and pixel should earn its place.",
|
|
31
|
-
|
|
32
|
+
content: `Good design isn't decoration \u2014 it's communication. Every color, typeface, and pixel should earn its place on the page.
|
|
32
33
|
|
|
33
34
|
When we design with intention, we start by asking questions: Who is this for? What should they feel? What action should they take? The answers shape every decision, from the warmth of a color palette to the weight of a heading.
|
|
34
35
|
|
|
@@ -45,15 +46,17 @@ The beauty of slow living is that it doesn't require a complete lifestyle overha
|
|
|
45
46
|
Your typeface choices are the voice of your brand. A serif display font like Playfair Display brings elegance and editorial authority. Paired with a clean sans-serif for body text, it creates a hierarchy that guides the reader effortlessly.
|
|
46
47
|
|
|
47
48
|
Design with intention means every element serves the whole.`,
|
|
48
|
-
|
|
49
|
+
primaryImage: "https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=800&h=500&fit=crop",
|
|
50
|
+
originalImage: "https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=800&h=500&fit=crop",
|
|
49
51
|
date: "2026-01-28",
|
|
50
|
-
author: "
|
|
52
|
+
author: "Elena Marsh",
|
|
53
|
+
categories: ["Design"]
|
|
51
54
|
},
|
|
52
55
|
{
|
|
53
|
-
|
|
56
|
+
id: 3,
|
|
54
57
|
title: "Morning Rituals Around the World",
|
|
55
58
|
excerpt: "From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.",
|
|
56
|
-
|
|
59
|
+
content: `From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.
|
|
57
60
|
|
|
58
61
|
## Japan: The Way of Tea
|
|
59
62
|
|
|
@@ -69,19 +72,20 @@ In many Indian households, the morning begins with yoga or meditation, followed
|
|
|
69
72
|
|
|
70
73
|
## Italy: The Standing Espresso
|
|
71
74
|
|
|
72
|
-
|
|
75
|
+
It Indians take their morning espresso standing at the bar \u2014 a quick, intense ritual that's social and efficient. It's a moment of shared energy before the day begins.
|
|
73
76
|
|
|
74
77
|
These rituals remind us that how we begin our day shapes everything that follows.`,
|
|
75
|
-
|
|
78
|
+
primaryImage: "https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=800&h=500&fit=crop",
|
|
79
|
+
originalImage: "https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=800&h=500&fit=crop",
|
|
76
80
|
date: "2026-01-20",
|
|
77
|
-
author: "
|
|
78
|
-
|
|
81
|
+
author: "Elena Marsh",
|
|
82
|
+
categories: ["Culture"]
|
|
79
83
|
},
|
|
80
84
|
{
|
|
81
|
-
|
|
85
|
+
id: 4,
|
|
82
86
|
title: "The Beauty of Imperfection",
|
|
83
87
|
excerpt: "Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.",
|
|
84
|
-
|
|
88
|
+
content: `Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.
|
|
85
89
|
|
|
86
90
|
In a culture obsessed with perfection \u2014 flawless skin, pixel-perfect designs, curated feeds \u2014 wabi-sabi offers a radical alternative. This Japanese aesthetic philosophy finds beauty in impermanence, incompleteness, and imperfection.
|
|
87
91
|
|
|
@@ -96,15 +100,17 @@ Wabi refers to a rustic simplicity, a quiet contentment. Sabi refers to the beau
|
|
|
96
100
|
- **In yourself:** Embrace your quirks \u2014 they're what make you interesting.
|
|
97
101
|
|
|
98
102
|
The cracked pot, the faded photograph, the well-worn book \u2014 these carry stories that perfection never could.`,
|
|
99
|
-
|
|
103
|
+
primaryImage: "https://images.unsplash.com/photo-1493106819501-66d381c466f3?w=800&h=500&fit=crop",
|
|
104
|
+
originalImage: "https://images.unsplash.com/photo-1493106819501-66d381c466f3?w=800&h=500&fit=crop",
|
|
100
105
|
date: "2026-01-15",
|
|
101
|
-
author: "Elena Marsh"
|
|
106
|
+
author: "Elena Marsh",
|
|
107
|
+
categories: ["Philosophy"]
|
|
102
108
|
},
|
|
103
109
|
{
|
|
104
|
-
|
|
110
|
+
id: 5,
|
|
105
111
|
title: "Building a Reading Habit",
|
|
106
112
|
excerpt: "Reading more doesn't require willpower \u2014 it requires environment design and a bit of curiosity.",
|
|
107
|
-
|
|
113
|
+
content: `Reading more doesn't require willpower \u2014 it requires environment design and a bit of curiosity.
|
|
108
114
|
|
|
109
115
|
Most people who say they want to read more are really saying they want to scroll less. The solution isn't discipline \u2014 it's making reading the easier choice.
|
|
110
116
|
|
|
@@ -123,15 +129,17 @@ Don't commit to a chapter. Commit to two pages. Most nights, you'll keep going.
|
|
|
123
129
|
Abandon books that bore you. Life is too short for obligatory reading. Follow what fascinates you, even if it's "not serious enough."
|
|
124
130
|
|
|
125
131
|
The goal isn't to read more books. It's to enjoy reading again.`,
|
|
126
|
-
|
|
132
|
+
primaryImage: "https://images.unsplash.com/photo-1512820790803-83ca734da794?w=800&h=500&fit=crop",
|
|
133
|
+
originalImage: "https://images.unsplash.com/photo-1512820790803-83ca734da794?w=800&h=500&fit=crop",
|
|
127
134
|
date: "2026-01-10",
|
|
128
|
-
author: "
|
|
135
|
+
author: "Elena Marsh",
|
|
136
|
+
categories: ["Habits"]
|
|
129
137
|
},
|
|
130
138
|
{
|
|
131
|
-
|
|
139
|
+
id: 6,
|
|
132
140
|
title: "Color in Everyday Life",
|
|
133
141
|
excerpt: "We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.",
|
|
134
|
-
|
|
142
|
+
content: `We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.
|
|
135
143
|
|
|
136
144
|
Think about the last time a sunset stopped you in your tracks, or a room felt inexplicably cozy. Chances are, color was doing the heavy lifting.
|
|
137
145
|
|
|
@@ -148,16 +156,17 @@ A well-chosen color palette does more than look good. It creates hierarchy, draw
|
|
|
148
156
|
## Your Daily Palette
|
|
149
157
|
|
|
150
158
|
Notice the colors around you today. The golden light of morning. The deep green of a houseplant. The warm brown of your coffee. These aren't accidents \u2014 they're the palette of your life.`,
|
|
151
|
-
|
|
159
|
+
primaryImage: "https://images.unsplash.com/photo-1525909002-1b05e0c869d8?w=800&h=500&fit=crop",
|
|
160
|
+
originalImage: "https://images.unsplash.com/photo-1525909002-1b05e0c869d8?w=800&h=500&fit=crop",
|
|
152
161
|
date: "2026-01-05",
|
|
153
|
-
author: "
|
|
154
|
-
|
|
162
|
+
author: "Elena Marsh",
|
|
163
|
+
categories: ["Design"]
|
|
155
164
|
},
|
|
156
165
|
{
|
|
157
|
-
|
|
166
|
+
id: 7,
|
|
158
167
|
title: "The Power of Walking",
|
|
159
168
|
excerpt: "A daily walk is the most underrated tool for creativity, clarity, and calm.",
|
|
160
|
-
|
|
169
|
+
content: `Walking is humanity's oldest form of movement \u2014 and still one of its most powerful. Great thinkers from Aristotle to Steve Jobs were known for their walking meetings and strolls.
|
|
161
170
|
|
|
162
171
|
## Why Walking Works
|
|
163
172
|
|
|
@@ -166,15 +175,17 @@ Walking increases blood flow to the brain, boosts creative thinking by up to 60%
|
|
|
166
175
|
## Making It a Practice
|
|
167
176
|
|
|
168
177
|
You don't need a trail or a destination. A 20-minute loop around your neighborhood is enough. Leave your phone behind \u2014 or at least keep it in your pocket.`,
|
|
169
|
-
|
|
178
|
+
primaryImage: "https://images.unsplash.com/photo-1476480862126-209bfaa8edc8?w=800&h=500&fit=crop",
|
|
179
|
+
originalImage: "https://images.unsplash.com/photo-1476480862126-209bfaa8edc8?w=800&h=500&fit=crop",
|
|
170
180
|
date: "2026-01-02",
|
|
171
|
-
author: "Elena Marsh"
|
|
181
|
+
author: "Elena Marsh",
|
|
182
|
+
categories: ["Health"]
|
|
172
183
|
},
|
|
173
184
|
{
|
|
174
|
-
|
|
185
|
+
id: 8,
|
|
175
186
|
title: "Minimalism Beyond Aesthetics",
|
|
176
187
|
excerpt: "True minimalism isn't about owning less \u2014 it's about making room for what matters.",
|
|
177
|
-
|
|
188
|
+
content: `Minimalism has been reduced to white walls and empty shelves. But the philosophy runs much deeper than aesthetics.
|
|
178
189
|
|
|
179
190
|
## The Core Idea
|
|
180
191
|
|
|
@@ -183,15 +194,17 @@ Minimalism asks one question: does this add value to my life? Apply it to your s
|
|
|
183
194
|
## Digital Minimalism
|
|
184
195
|
|
|
185
196
|
Our phones hold more clutter than our homes. Audit your apps, notifications, and subscriptions. Keep only what serves you.`,
|
|
186
|
-
|
|
197
|
+
primaryImage: "https://images.unsplash.com/photo-1494438639946-1ebd1d20bf85?w=800&h=500&fit=crop",
|
|
198
|
+
originalImage: "https://images.unsplash.com/photo-1494438639946-1ebd1d20bf85?w=800&h=500&fit=crop",
|
|
187
199
|
date: "2025-12-28",
|
|
188
|
-
author: "
|
|
200
|
+
author: "Elena Marsh",
|
|
201
|
+
categories: ["Lifestyle"]
|
|
189
202
|
},
|
|
190
203
|
{
|
|
191
|
-
|
|
204
|
+
id: 9,
|
|
192
205
|
title: "The Lost Art of Letter Writing",
|
|
193
206
|
excerpt: "In an age of instant messaging, a handwritten letter carries a weight that no text can match.",
|
|
194
|
-
|
|
207
|
+
content: `There's something irreplaceable about receiving a handwritten letter. The texture of the paper, the imperfections of the handwriting, the knowledge that someone sat down and gave you their time.
|
|
195
208
|
|
|
196
209
|
## Why Write Letters
|
|
197
210
|
|
|
@@ -200,15 +213,17 @@ Letters slow us down. They force us to organize our thoughts, choose our words c
|
|
|
200
213
|
## Getting Started
|
|
201
214
|
|
|
202
215
|
Buy a simple set of stationery. Write to someone you care about. It doesn't need to be long \u2014 even a few heartfelt lines will mean the world.`,
|
|
203
|
-
|
|
216
|
+
primaryImage: "https://images.unsplash.com/photo-1517971071642-34a2d3ecc9cd?w=800&h=500&fit=crop",
|
|
217
|
+
originalImage: "https://images.unsplash.com/photo-1517971071642-34a2d3ecc9cd?w=800&h=500&fit=crop",
|
|
204
218
|
date: "2025-12-20",
|
|
205
|
-
author: "
|
|
219
|
+
author: "Elena Marsh",
|
|
220
|
+
categories: ["Connection"]
|
|
206
221
|
},
|
|
207
222
|
{
|
|
208
|
-
|
|
223
|
+
id: 10,
|
|
209
224
|
title: "Cooking as Meditation",
|
|
210
225
|
excerpt: "The kitchen can be your sanctuary \u2014 if you let the process matter more than the result.",
|
|
211
|
-
|
|
226
|
+
content: `We often think of cooking as a chore \u2014 something to get through before we can eat. But approached differently, it becomes a meditative practice.
|
|
212
227
|
|
|
213
228
|
## The Mindful Kitchen
|
|
214
229
|
|
|
@@ -217,15 +232,17 @@ Focus on the sounds: the sizzle of oil, the chop of a knife, the bubble of a sim
|
|
|
217
232
|
## Simple Rituals
|
|
218
233
|
|
|
219
234
|
Start with a recipe you love. Prep all your ingredients before you begin. Put on music. Pour yourself a drink. Let the process be the point.`,
|
|
220
|
-
|
|
235
|
+
primaryImage: "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=500&fit=crop",
|
|
236
|
+
originalImage: "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=500&fit=crop",
|
|
221
237
|
date: "2025-12-15",
|
|
222
|
-
author: "Elena Marsh"
|
|
238
|
+
author: "Elena Marsh",
|
|
239
|
+
categories: ["Mindfulness"]
|
|
223
240
|
},
|
|
224
241
|
{
|
|
225
|
-
|
|
242
|
+
id: 11,
|
|
226
243
|
title: "The Digital Detox Weekend",
|
|
227
244
|
excerpt: "48 hours without screens sounds terrifying \u2014 until you try it and realize how much you've been missing.",
|
|
228
|
-
|
|
245
|
+
content: `A digital detox weekend isn't about hating technology. It's about remembering what life feels like without constant input.
|
|
229
246
|
|
|
230
247
|
## The Rules
|
|
231
248
|
|
|
@@ -234,9 +251,11 @@ No phone, no laptop, no tablet for 48 hours. Use a paper map, a physical book, a
|
|
|
234
251
|
## What You'll Discover
|
|
235
252
|
|
|
236
253
|
Boredom arrives first \u2014 then creativity. You'll notice birdsong, have longer conversations, and sleep better than you have in months.`,
|
|
237
|
-
|
|
254
|
+
primaryImage: "https://images.unsplash.com/photo-1528297506728-9533d2ac3fa4?w=800&h=500&fit=crop",
|
|
255
|
+
originalImage: "https://images.unsplash.com/photo-1528297506728-9533d2ac3fa4?w=800&h=500&fit=crop",
|
|
238
256
|
date: "2025-12-10",
|
|
239
|
-
author: "
|
|
257
|
+
author: "Elena Marsh",
|
|
258
|
+
categories: ["Well-being"]
|
|
240
259
|
}
|
|
241
260
|
];
|
|
242
261
|
const mockComments = [
|
package/dist/data/posts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/posts.ts"],"sourcesContent":["export interface BlogPost {\r\n slug: string;\r\n title: string;\r\n excerpt: string;\r\n body: string;\r\n image: string;\r\n date: string;\r\n author: string;\r\n featured?: boolean;\r\n}\r\n\r\nexport interface Comment {\r\n id: string;\r\n author: string;\r\n text: string;\r\n date: string;\r\n}\r\n\r\nexport const posts: BlogPost[] = [\r\n {\r\n slug: \"the-art-of-slow-living\",\r\n title: \"The Art of Slow Living\",\r\n excerpt:\r\n \"In a world that never stops moving, there's a quiet revolution happening — one that asks us to pause, breathe, and savor.\",\r\n body: `In a world that never stops moving, there's a quiet revolution happening — one that asks us to pause, breathe, and savor the moments that make up our days.\r\n\r\nSlow living isn't about doing everything at a snail's pace. It's about being intentional with your time, choosing quality over quantity, and finding joy in the everyday. Whether it's brewing a cup of tea with care, taking a longer route through the park, or simply sitting with your thoughts — these small acts of presence add up.\r\n\r\n## Why Slow Down?\r\n\r\nResearch consistently shows that chronic busyness leads to burnout, anxiety, and a diminished sense of well-being. When we rush through life, we miss the textures, flavors, and connections that give it meaning.\r\n\r\n## Practical Steps\r\n\r\n1. **Start your morning without screens.** Give yourself 30 minutes before checking notifications.\r\n2. **Cook one meal from scratch each week.** The process itself becomes meditative.\r\n3. **Single-task.** Give your full attention to one thing at a time.\r\n4. **Spend time in nature.** Even 15 minutes outdoors can reset your nervous system.\r\n\r\nThe beauty of slow living is that it doesn't require a complete lifestyle overhaul. It begins with a single choice to be present.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800&h=500&fit=crop\",\r\n date: \"2026-02-01\",\r\n author: \"Elena Marsh\",\r\n featured: true,\r\n },\r\n {\r\n slug: \"designing-with-intention\",\r\n title: \"Designing with Intention\",\r\n excerpt:\r\n \"Good design isn't decoration — it's communication. Every color, typeface, and pixel should earn its place.\",\r\n body: `Good design isn't decoration — it's communication. Every color, typeface, and pixel should earn its place on the page.\r\n\r\n When we design with intention, we start by asking questions: Who is this for? What should they feel? What action should they take? The answers shape every decision, from the warmth of a color palette to the weight of a heading.\r\n\r\n ## The Role of Constraints\r\n\r\n Constraints are a designer's best friend. A limited palette forces creativity. A strict grid creates rhythm. When everything is possible, nothing stands out.\r\n\r\n ## Color as Emotion\r\n\r\n Colors carry meaning. Warm terracottas evoke trust and earthiness. Golds suggest warmth and optimism. The combination tells a story before a single word is read.\r\n\r\n ## Typography as Voice\r\n\r\n Your typeface choices are the voice of your brand. A serif display font like Playfair Display brings elegance and editorial authority. Paired with a clean sans-serif for body text, it creates a hierarchy that guides the reader effortlessly.\r\n\r\n Design with intention means every element serves the whole.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=800&h=500&fit=crop\",\r\n date: \"2026-01-28\",\r\n author: \"James Kato\",\r\n },\r\n {\r\n slug: \"morning-rituals-around-the-world\",\r\n title: \"Morning Rituals Around the World\",\r\n excerpt:\r\n \"From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.\",\r\n body: `From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.\r\n\r\n## Japan: The Way of Tea\r\n\r\nIn Japan, the morning tea ceremony is a practice of mindfulness. Each movement is deliberate, each moment savored. It's not about the tea — it's about presence.\r\n\r\n## Scandinavia: Fika\r\n\r\nThe Swedish tradition of fika — a coffee break with pastries — is less about caffeine and more about connection. It's a built-in pause in the day to share conversation with friends or colleagues.\r\n\r\n## India: Yoga and Chai\r\n\r\nIn many Indian households, the morning begins with yoga or meditation, followed by a cup of spiced chai. The combination of movement and warmth prepares both body and mind for the day ahead.\r\n\r\n## Italy: The Standing Espresso\r\n\r\nItalians take their morning espresso standing at the bar — a quick, intense ritual that's social and efficient. It's a moment of shared energy before the day begins.\r\n\r\nThese rituals remind us that how we begin our day shapes everything that follows.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=800&h=500&fit=crop\",\r\n date: \"2026-01-20\",\r\n author: \"Sofia Andersson\",\r\n featured: true,\r\n },\r\n {\r\n slug: \"the-beauty-of-imperfection\",\r\n title: \"The Beauty of Imperfection\",\r\n excerpt:\r\n \"Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.\",\r\n body: `Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.\r\n\r\nIn a culture obsessed with perfection — flawless skin, pixel-perfect designs, curated feeds — wabi-sabi offers a radical alternative. This Japanese aesthetic philosophy finds beauty in impermanence, incompleteness, and imperfection.\r\n\r\n## What is Wabi-Sabi?\r\n\r\nWabi refers to a rustic simplicity, a quiet contentment. Sabi refers to the beauty that comes with age and wear. Together, they describe an aesthetic that values the authentic over the polished.\r\n\r\n## Applying Wabi-Sabi\r\n\r\n- **In your home:** Choose handmade ceramics over mass-produced perfection.\r\n- **In your work:** Ship the good-enough version rather than waiting for perfect.\r\n- **In yourself:** Embrace your quirks — they're what make you interesting.\r\n\r\nThe cracked pot, the faded photograph, the well-worn book — these carry stories that perfection never could.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1493106819501-66d381c466f3?w=800&h=500&fit=crop\",\r\n date: \"2026-01-15\",\r\n author: \"Elena Marsh\",\r\n },\r\n {\r\n slug: \"building-a-reading-habit\",\r\n title: \"Building a Reading Habit\",\r\n excerpt:\r\n \"Reading more doesn't require willpower — it requires environment design and a bit of curiosity.\",\r\n body: `Reading more doesn't require willpower — it requires environment design and a bit of curiosity.\r\n\r\nMost people who say they want to read more are really saying they want to scroll less. The solution isn't discipline — it's making reading the easier choice.\r\n\r\n## Environment Design\r\n\r\n1. **Keep a book visible.** On your nightstand, your desk, your bag.\r\n2. **Remove friction.** If you read on a Kindle, keep it charged and accessible.\r\n3. **Create a reading nook.** A comfortable chair with good light signals \"this is where I read.\"\r\n\r\n## The Two-Page Rule\r\n\r\nDon't commit to a chapter. Commit to two pages. Most nights, you'll keep going. On the nights you don't, you've still read two pages more than zero.\r\n\r\n## Follow Your Curiosity\r\n\r\nAbandon books that bore you. Life is too short for obligatory reading. Follow what fascinates you, even if it's \"not serious enough.\"\r\n\r\nThe goal isn't to read more books. It's to enjoy reading again.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1512820790803-83ca734da794?w=800&h=500&fit=crop\",\r\n date: \"2026-01-10\",\r\n author: \"James Kato\",\r\n },\r\n {\r\n slug: \"color-in-everyday-life\",\r\n title: \"Color in Everyday Life\",\r\n excerpt:\r\n \"We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.\",\r\n body: `We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.\r\n\r\nThink about the last time a sunset stopped you in your tracks, or a room felt inexplicably cozy. Chances are, color was doing the heavy lifting.\r\n\r\n## The Psychology of Color\r\n\r\n- **Warm colors** (reds, oranges, yellows) increase energy and appetite. Restaurants use them for a reason.\r\n- **Cool colors** (blues, greens) promote calm and focus. Think hospitals and meditation apps.\r\n- **Neutrals** create breathing room. They let other elements — and people — take center stage.\r\n\r\n## Color in Design\r\n\r\nA well-chosen color palette does more than look good. It creates hierarchy, draws attention, and establishes mood — all before a user reads a single word.\r\n\r\n## Your Daily Palette\r\n\r\nNotice the colors around you today. The golden light of morning. The deep green of a houseplant. The warm brown of your coffee. These aren't accidents — they're the palette of your life.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1525909002-1b05e0c869d8?w=800&h=500&fit=crop\",\r\n date: \"2026-01-05\",\r\n author: \"Sofia Andersson\",\r\n featured: true,\r\n },\r\n {\r\n slug: \"the-power-of-walking\",\r\n title: \"The Power of Walking\",\r\n excerpt:\r\n \"A daily walk is the most underrated tool for creativity, clarity, and calm.\",\r\n body: `Walking is humanity's oldest form of movement — and still one of its most powerful. Great thinkers from Aristotle to Steve Jobs were known for their walking meetings and strolls.\r\n\r\n## Why Walking Works\r\n\r\nWalking increases blood flow to the brain, boosts creative thinking by up to 60%, and reduces cortisol levels. It's exercise, meditation, and brainstorming rolled into one.\r\n\r\n## Making It a Practice\r\n\r\nYou don't need a trail or a destination. A 20-minute loop around your neighborhood is enough. Leave your phone behind — or at least keep it in your pocket.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1476480862126-209bfaa8edc8?w=800&h=500&fit=crop\",\r\n date: \"2026-01-02\",\r\n author: \"Elena Marsh\",\r\n },\r\n {\r\n slug: \"minimalism-beyond-aesthetics\",\r\n title: \"Minimalism Beyond Aesthetics\",\r\n excerpt:\r\n \"True minimalism isn't about owning less — it's about making room for what matters.\",\r\n body: `Minimalism has been reduced to white walls and empty shelves. But the philosophy runs much deeper than aesthetics.\r\n\r\n## The Core Idea\r\n\r\nMinimalism asks one question: does this add value to my life? Apply it to your schedule, your relationships, your commitments — not just your closet.\r\n\r\n## Digital Minimalism\r\n\r\nOur phones hold more clutter than our homes. Audit your apps, notifications, and subscriptions. Keep only what serves you.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1494438639946-1ebd1d20bf85?w=800&h=500&fit=crop\",\r\n date: \"2025-12-28\",\r\n author: \"James Kato\",\r\n },\r\n {\r\n slug: \"the-lost-art-of-letter-writing\",\r\n title: \"The Lost Art of Letter Writing\",\r\n excerpt:\r\n \"In an age of instant messaging, a handwritten letter carries a weight that no text can match.\",\r\n body: `There's something irreplaceable about receiving a handwritten letter. The texture of the paper, the imperfections of the handwriting, the knowledge that someone sat down and gave you their time.\r\n\r\n## Why Write Letters\r\n\r\nLetters slow us down. They force us to organize our thoughts, choose our words carefully, and express ourselves with intention.\r\n\r\n## Getting Started\r\n\r\nBuy a simple set of stationery. Write to someone you care about. It doesn't need to be long — even a few heartfelt lines will mean the world.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1517971071642-34a2d3ecc9cd?w=800&h=500&fit=crop\",\r\n date: \"2025-12-20\",\r\n author: \"Sofia Andersson\",\r\n },\r\n {\r\n slug: \"cooking-as-meditation\",\r\n title: \"Cooking as Meditation\",\r\n excerpt:\r\n \"The kitchen can be your sanctuary — if you let the process matter more than the result.\",\r\n body: `We often think of cooking as a chore — something to get through before we can eat. But approached differently, it becomes a meditative practice.\r\n\r\n## The Mindful Kitchen\r\n\r\nFocus on the sounds: the sizzle of oil, the chop of a knife, the bubble of a simmer. Engage your senses fully and the kitchen becomes a place of calm.\r\n\r\n## Simple Rituals\r\n\r\nStart with a recipe you love. Prep all your ingredients before you begin. Put on music. Pour yourself a drink. Let the process be the point.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=500&fit=crop\",\r\n date: \"2025-12-15\",\r\n author: \"Elena Marsh\",\r\n },\r\n {\r\n slug: \"digital-detox-weekend\",\r\n title: \"The Digital Detox Weekend\",\r\n excerpt:\r\n \"48 hours without screens sounds terrifying — until you try it and realize how much you've been missing.\",\r\n body: `A digital detox weekend isn't about hating technology. It's about remembering what life feels like without constant input.\r\n\r\n## The Rules\r\n\r\nNo phone, no laptop, no tablet for 48 hours. Use a paper map, a physical book, an alarm clock. Tell people in advance so they don't worry.\r\n\r\n## What You'll Discover\r\n\r\nBoredom arrives first — then creativity. You'll notice birdsong, have longer conversations, and sleep better than you have in months.`,\r\n image:\r\n \"https://images.unsplash.com/photo-1528297506728-9533d2ac3fa4?w=800&h=500&fit=crop\",\r\n date: \"2025-12-10\",\r\n author: \"James Kato\",\r\n },\r\n];\r\n\r\nexport const mockComments: Comment[] = [\r\n {\r\n id: \"1\",\r\n author: \"Reader One\",\r\n text: \"This really resonated with me. Thank you for sharing.\",\r\n date: \"2026-02-02\",\r\n },\r\n {\r\n id: \"2\",\r\n author: \"Curious Mind\",\r\n text: \"I've been trying to slow down lately — this gave me some great ideas.\",\r\n date: \"2026-02-03\",\r\n },\r\n {\r\n id: \"3\",\r\n author: \"Design Fan\",\r\n text: \"Beautiful writing and perspective. More of this please!\",\r\n date: \"2026-02-05\",\r\n },\r\n];\r\n"],"mappings":"AAkBO,MAAM,QAAoB;AAAA,EAC/B;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAmBN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,IACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASN,OACE;AAAA,IACF,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;AAEO,MAAM,eAA0B;AAAA,EACrC;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/data/posts.ts"],"sourcesContent":["export interface BlogPost {\r\n id: number;\r\n title: string;\r\n excerpt: string;\r\n content: string;\r\n primaryImage: string;\r\n originalImage: string;\r\n date: string;\r\n author: string;\r\n featured?: boolean;\r\n categories: string[];\r\n}\r\n\r\nexport interface Comment {\r\n id: string;\r\n author: string;\r\n text: string;\r\n date: string;\r\n}\r\n\r\nexport const posts: BlogPost[] = [\r\n {\r\n id: 1,\r\n title: \"The Art of Slow Living\",\r\n excerpt:\r\n \"In a world that never stops moving, there's a quiet revolution happening — one that asks us to pause, breathe, and savor.\",\r\n content: `In a world that never stops moving, there's a quiet revolution happening — one that asks us to pause, breathe, and savor the moments that make up our days.\r\n\r\nSlow living isn't about doing everything at a snail's pace. It's about being intentional with your time, choosing quality over quantity, and finding joy in the everyday. Whether it's brewing a cup of tea with care, taking a longer route through the park, or simply sitting with your thoughts — these small acts of presence add up.\r\n\r\n## Why Slow Down?\r\n\r\nResearch consistently shows that chronic busyness leads to burnout, anxiety, and a diminished sense of well-being. When we rush through life, we miss the textures, flavors, and connections that give it meaning.\r\n\r\n## Practical Steps\r\n\r\n1. **Start your morning without screens.** Give yourself 30 minutes before checking notifications.\r\n2. **Cook one meal from scratch each week.** The process itself becomes meditative.\r\n3. **Single-task.** Give your full attention to one thing at a time.\r\n4. **Spend time in nature.** Even 15 minutes outdoors can reset your nervous system.\r\n\r\nThe beauty of slow living is that it doesn't require a complete lifestyle overhaul. It begins with a single choice to be present.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1506744038136-46273834b3fb?w=800&h=500&fit=crop\",\r\n date: \"2026-02-01\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Mindfulness\"],\r\n },\r\n {\r\n id: 2,\r\n title: \"Designing with Intention\",\r\n excerpt:\r\n \"Good design isn't decoration — it's communication. Every color, typeface, and pixel should earn its place.\",\r\n content: `Good design isn't decoration — it's communication. Every color, typeface, and pixel should earn its place on the page.\r\n\r\n When we design with intention, we start by asking questions: Who is this for? What should they feel? What action should they take? The answers shape every decision, from the warmth of a color palette to the weight of a heading.\r\n\r\n ## The Role of Constraints\r\n\r\n Constraints are a designer's best friend. A limited palette forces creativity. A strict grid creates rhythm. When everything is possible, nothing stands out.\r\n\r\n ## Color as Emotion\r\n\r\n Colors carry meaning. Warm terracottas evoke trust and earthiness. Golds suggest warmth and optimism. The combination tells a story before a single word is read.\r\n\r\n ## Typography as Voice\r\n\r\n Your typeface choices are the voice of your brand. A serif display font like Playfair Display brings elegance and editorial authority. Paired with a clean sans-serif for body text, it creates a hierarchy that guides the reader effortlessly.\r\n\r\n Design with intention means every element serves the whole.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=800&h=500&fit=crop\",\r\n date: \"2026-01-28\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Design\"],\r\n },\r\n {\r\n id: 3,\r\n title: \"Morning Rituals Around the World\",\r\n excerpt:\r\n \"From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.\",\r\n content: `From Japanese tea ceremonies to Scandinavian fika, how different cultures start their day reveals what they value most.\r\n\r\n## Japan: The Way of Tea\r\n\r\nIn Japan, the morning tea ceremony is a practice of mindfulness. Each movement is deliberate, each moment savored. It's not about the tea — it's about presence.\r\n\r\n## Scandinavia: Fika\r\n\r\nThe Swedish tradition of fika — a coffee break with pastries — is less about caffeine and more about connection. It's a built-in pause in the day to share conversation with friends or colleagues.\r\n\r\n## India: Yoga and Chai\r\n\r\nIn many Indian households, the morning begins with yoga or meditation, followed by a cup of spiced chai. The combination of movement and warmth prepares both body and mind for the day ahead.\r\n\r\n## Italy: The Standing Espresso\r\n\r\nIt Indians take their morning espresso standing at the bar — a quick, intense ritual that's social and efficient. It's a moment of shared energy before the day begins.\r\n\r\nThese rituals remind us that how we begin our day shapes everything that follows.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?w=800&h=500&fit=crop\",\r\n date: \"2026-01-20\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Culture\"],\r\n },\r\n {\r\n id: 4,\r\n title: \"The Beauty of Imperfection\",\r\n excerpt:\r\n \"Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.\",\r\n content: `Wabi-sabi teaches us to find beauty in the worn, the weathered, and the wonderfully imperfect.\r\n\r\nIn a culture obsessed with perfection — flawless skin, pixel-perfect designs, curated feeds — wabi-sabi offers a radical alternative. This Japanese aesthetic philosophy finds beauty in impermanence, incompleteness, and imperfection.\r\n\r\n## What is Wabi-Sabi?\r\n\r\nWabi refers to a rustic simplicity, a quiet contentment. Sabi refers to the beauty that comes with age and wear. Together, they describe an aesthetic that values the authentic over the polished.\r\n\r\n## Applying Wabi-Sabi\r\n\r\n- **In your home:** Choose handmade ceramics over mass-produced perfection.\r\n- **In your work:** Ship the good-enough version rather than waiting for perfect.\r\n- **In yourself:** Embrace your quirks — they're what make you interesting.\r\n\r\nThe cracked pot, the faded photograph, the well-worn book — these carry stories that perfection never could.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1493106819501-66d381c466f3?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1493106819501-66d381c466f3?w=800&h=500&fit=crop\",\r\n date: \"2026-01-15\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Philosophy\"],\r\n },\r\n {\r\n id: 5,\r\n title: \"Building a Reading Habit\",\r\n excerpt:\r\n \"Reading more doesn't require willpower — it requires environment design and a bit of curiosity.\",\r\n content: `Reading more doesn't require willpower — it requires environment design and a bit of curiosity.\r\n\r\nMost people who say they want to read more are really saying they want to scroll less. The solution isn't discipline — it's making reading the easier choice.\r\n\r\n## Environment Design\r\n\r\n1. **Keep a book visible.** On your nightstand, your desk, your bag.\r\n2. **Remove friction.** If you read on a Kindle, keep it charged and accessible.\r\n3. **Create a reading nook.** A comfortable chair with good light signals \"this is where I read.\"\r\n\r\n## The Two-Page Rule\r\n\r\nDon't commit to a chapter. Commit to two pages. Most nights, you'll keep going. On the nights you don't, you've still read two pages more than zero.\r\n\r\n## Follow Your Curiosity\r\n\r\nAbandon books that bore you. Life is too short for obligatory reading. Follow what fascinates you, even if it's \"not serious enough.\"\r\n\r\nThe goal isn't to read more books. It's to enjoy reading again.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1512820790803-83ca734da794?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1512820790803-83ca734da794?w=800&h=500&fit=crop\",\r\n date: \"2026-01-10\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Habits\"],\r\n },\r\n {\r\n id: 6,\r\n title: \"Color in Everyday Life\",\r\n excerpt:\r\n \"We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.\",\r\n content: `We rarely notice it, but color shapes our moods, decisions, and memories more than we realize.\r\n\r\nThink about the last time a sunset stopped you in your tracks, or a room felt inexplicably cozy. Chances are, color was doing the heavy lifting.\r\n\r\n## The Psychology of Color\r\n\r\n- **Warm colors** (reds, oranges, yellows) increase energy and appetite. Restaurants use them for a reason.\r\n- **Cool colors** (blues, greens) promote calm and focus. Think hospitals and meditation apps.\r\n- **Neutrals** create breathing room. They let other elements — and people — take center stage.\r\n\r\n## Color in Design\r\n\r\nA well-chosen color palette does more than look good. It creates hierarchy, draws attention, and establishes mood — all before a user reads a single word.\r\n\r\n## Your Daily Palette\r\n\r\nNotice the colors around you today. The golden light of morning. The deep green of a houseplant. The warm brown of your coffee. These aren't accidents — they're the palette of your life.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1525909002-1b05e0c869d8?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1525909002-1b05e0c869d8?w=800&h=500&fit=crop\",\r\n date: \"2026-01-05\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Design\"],\r\n },\r\n {\r\n id: 7,\r\n title: \"The Power of Walking\",\r\n excerpt:\r\n \"A daily walk is the most underrated tool for creativity, clarity, and calm.\",\r\n content: `Walking is humanity's oldest form of movement — and still one of its most powerful. Great thinkers from Aristotle to Steve Jobs were known for their walking meetings and strolls.\r\n\r\n## Why Walking Works\r\n\r\nWalking increases blood flow to the brain, boosts creative thinking by up to 60%, and reduces cortisol levels. It's exercise, meditation, and brainstorming rolled into one.\r\n\r\n## Making It a Practice\r\n\r\nYou don't need a trail or a destination. A 20-minute loop around your neighborhood is enough. Leave your phone behind — or at least keep it in your pocket.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1476480862126-209bfaa8edc8?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1476480862126-209bfaa8edc8?w=800&h=500&fit=crop\",\r\n date: \"2026-01-02\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Health\"],\r\n },\r\n {\r\n id: 8,\r\n title: \"Minimalism Beyond Aesthetics\",\r\n excerpt:\r\n \"True minimalism isn't about owning less — it's about making room for what matters.\",\r\n content: `Minimalism has been reduced to white walls and empty shelves. But the philosophy runs much deeper than aesthetics.\r\n\r\n## The Core Idea\r\n\r\nMinimalism asks one question: does this add value to my life? Apply it to your schedule, your relationships, your commitments — not just your closet.\r\n\r\n## Digital Minimalism\r\n\r\nOur phones hold more clutter than our homes. Audit your apps, notifications, and subscriptions. Keep only what serves you.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1494438639946-1ebd1d20bf85?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1494438639946-1ebd1d20bf85?w=800&h=500&fit=crop\",\r\n date: \"2025-12-28\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Lifestyle\"],\r\n },\r\n {\r\n id: 9,\r\n title: \"The Lost Art of Letter Writing\",\r\n excerpt:\r\n \"In an age of instant messaging, a handwritten letter carries a weight that no text can match.\",\r\n content: `There's something irreplaceable about receiving a handwritten letter. The texture of the paper, the imperfections of the handwriting, the knowledge that someone sat down and gave you their time.\r\n\r\n## Why Write Letters\r\n\r\nLetters slow us down. They force us to organize our thoughts, choose our words carefully, and express ourselves with intention.\r\n\r\n## Getting Started\r\n\r\nBuy a simple set of stationery. Write to someone you care about. It doesn't need to be long — even a few heartfelt lines will mean the world.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1517971071642-34a2d3ecc9cd?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1517971071642-34a2d3ecc9cd?w=800&h=500&fit=crop\",\r\n date: \"2025-12-20\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Connection\"],\r\n },\r\n {\r\n id: 10,\r\n title: \"Cooking as Meditation\",\r\n excerpt:\r\n \"The kitchen can be your sanctuary — if you let the process matter more than the result.\",\r\n content: `We often think of cooking as a chore — something to get through before we can eat. But approached differently, it becomes a meditative practice.\r\n\r\n## The Mindful Kitchen\r\n\r\nFocus on the sounds: the sizzle of oil, the chop of a knife, the bubble of a simmer. Engage your senses fully and the kitchen becomes a place of calm.\r\n\r\n## Simple Rituals\r\n\r\nStart with a recipe you love. Prep all your ingredients before you begin. Put on music. Pour yourself a drink. Let the process be the point.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&h=500&fit=crop\",\r\n date: \"2025-12-15\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Mindfulness\"],\r\n },\r\n {\r\n id: 11,\r\n title: \"The Digital Detox Weekend\",\r\n excerpt:\r\n \"48 hours without screens sounds terrifying — until you try it and realize how much you've been missing.\",\r\n content: `A digital detox weekend isn't about hating technology. It's about remembering what life feels like without constant input.\r\n\r\n## The Rules\r\n\r\nNo phone, no laptop, no tablet for 48 hours. Use a paper map, a physical book, an alarm clock. Tell people in advance so they don't worry.\r\n\r\n## What You'll Discover\r\n\r\nBoredom arrives first — then creativity. You'll notice birdsong, have longer conversations, and sleep better than you have in months.`,\r\n primaryImage:\r\n \"https://images.unsplash.com/photo-1528297506728-9533d2ac3fa4?w=800&h=500&fit=crop\",\r\n originalImage:\r\n \"https://images.unsplash.com/photo-1528297506728-9533d2ac3fa4?w=800&h=500&fit=crop\",\r\n date: \"2025-12-10\",\r\n author: \"Elena Marsh\",\r\n categories: [\"Well-being\"],\r\n },\r\n];\r\n\r\nexport const mockComments: Comment[] = [\r\n {\r\n id: \"1\",\r\n author: \"Reader One\",\r\n text: \"This really resonated with me. Thank you for sharing.\",\r\n date: \"2026-02-02\",\r\n },\r\n {\r\n id: \"2\",\r\n author: \"Curious Mind\",\r\n text: \"I've been trying to slow down lately — this gave me some great ideas.\",\r\n date: \"2026-02-03\",\r\n },\r\n {\r\n id: \"3\",\r\n author: \"Design Fan\",\r\n text: \"Beautiful writing and perspective. More of this please!\",\r\n date: \"2026-02-05\",\r\n },\r\n];\r\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,38 +1,68 @@
|
|
|
1
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './components/blocks/cards/card.js';
|
|
2
|
+
export { PostListWithFilters } from './components/blocks/post-list/post-list-with-filters.js';
|
|
3
|
+
export { AdminPage, AdminPageProps } from './components/pages/admin/admin-page.js';
|
|
4
|
+
export { BlogPost } from './components/pages/blogpost/blogpost.js';
|
|
5
|
+
export { CategoryPage } from './components/pages/category/category-page.js';
|
|
6
|
+
export { LoginPage } from './components/pages/login/login-page.js';
|
|
7
|
+
export { MaintenancePage } from './components/pages/maintenance/maintenance-page.js';
|
|
8
|
+
export { NotFound } from './components/pages/not-found/not-found.js';
|
|
9
|
+
export { PrivacyPage } from './components/pages/privacy/privacy-page.js';
|
|
10
|
+
export { SearchPage } from './components/pages/search/search-page.js';
|
|
11
|
+
export { StartPage } from './components/pages/startpage/startpage.js';
|
|
12
|
+
export { TermsPage } from './components/pages/terms/terms-page.js';
|
|
1
13
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './components/primitives/accordion/accordion.js';
|
|
2
14
|
export { Alert, AlertAction, AlertDescription, AlertTitle, alertVariants } from './components/primitives/alert/alert.js';
|
|
3
15
|
export { Badge, badgeVariants, badgeVariantsProps } from './components/primitives/badge/badge.js';
|
|
4
16
|
export { Badges, BadgesProps } from './components/primitives/badge/badges.js';
|
|
5
|
-
export { Button, buttonVariants, buttonVariantsProps } from './components/primitives/
|
|
17
|
+
export { Button, buttonVariants, buttonVariantsProps } from './components/primitives/buttons/button.js';
|
|
18
|
+
export { IconButton, buttonIconVariants, iconButtonVariantsProps } from './components/primitives/buttons/icon-button.js';
|
|
19
|
+
export { LinkButton } from './components/primitives/buttons/link-button.js';
|
|
20
|
+
export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './components/primitives/collapsible/collapsible.js';
|
|
21
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './components/primitives/dropdown-menu/dropdown-menu.js';
|
|
22
|
+
export { Checkbox } from './components/primitives/forms/checkbox.js';
|
|
23
|
+
export { Input } from './components/primitives/forms/input.js';
|
|
24
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './components/primitives/forms/select.js';
|
|
25
|
+
export { Textarea } from './components/primitives/forms/textarea.js';
|
|
6
26
|
export { Icon, iconVariants, iconVariantsProps } from './components/primitives/icon/icon.js';
|
|
27
|
+
export { Label } from './components/primitives/label/label.js';
|
|
7
28
|
export { Layout, LayoutProps, layoutVariants, layoutVariantsProps } from './components/primitives/layout/layout.js';
|
|
8
29
|
export { Link, linkVariants } from './components/primitives/link/link.js';
|
|
9
|
-
export { LinkButton } from './components/primitives/link/link-button.js';
|
|
10
30
|
export { Separator } from './components/primitives/separator/separator.js';
|
|
31
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger } from './components/primitives/sheet/sheet.js';
|
|
11
32
|
export { Skeleton } from './components/primitives/skeleton/skeleton.js';
|
|
33
|
+
export { Toaster } from './components/primitives/sonner/sonner.js';
|
|
12
34
|
export { Spinner } from './components/primitives/spinner/spinner.js';
|
|
13
35
|
export { Stack, StackProps, stackVariants } from './components/primitives/stack/stack.js';
|
|
36
|
+
export { Heading, HeadingProps, headingVariants, headingVariantsProps } from './components/primitives/text/heading.js';
|
|
37
|
+
export { TextCode, TextCodeProps, textCodeVariants, textCodeVariantsProps } from './components/primitives/text/text-code.js';
|
|
14
38
|
export { TextDiv } from './components/primitives/text/text-div.js';
|
|
15
|
-
export { TextHeading, TextHeadingProps, textHeadingVariants, textHeadingVariantsProps } from './components/primitives/text/text-heading.js';
|
|
16
|
-
export { TextParagraph, textParagraphVariants, textParagraphVariantsProps } from './components/primitives/text/text-paragraph.js';
|
|
17
39
|
export { TextSpan } from './components/primitives/text/text-span.js';
|
|
18
40
|
export { TextTime } from './components/primitives/text/text-time.js';
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export {
|
|
22
|
-
export { Body } from './components/sections/body/body.js';
|
|
23
|
-
export { BlogPost } from './components/templates/blogpost/blogpost.js';
|
|
24
|
-
export { StartPage } from './components/templates/startpage/startpage.js';
|
|
41
|
+
export { Text, textVariants, textVariantsProps } from './components/primitives/text/text.js';
|
|
42
|
+
export { UiImage } from './components/primitives/ui-image/ui-image.js';
|
|
43
|
+
export { UiLink } from './components/primitives/ui-link/ui-link.js';
|
|
25
44
|
export { BaseImageProps, DefaultImage, ImageComponentType, ImageProvider, useImage } from './components/providers/ImageContext.js';
|
|
26
45
|
export { BaseLinkProps, DefaultLink, LinkComponentType, LinkProvider, useLink } from './components/providers/LinkContext.js';
|
|
27
46
|
export { SingularityProvider } from './components/providers/SingularityContext.js';
|
|
47
|
+
export { AuthProvider, useAuth } from './components/providers/auth-provider.js';
|
|
48
|
+
export { Theme, ThemeProvider, ThemeProviderProps, ThemeProviderState, useTheme } from './components/providers/theme-provider.js';
|
|
49
|
+
export { Container } from './components/templates/container/container.js';
|
|
50
|
+
export { Footer } from './components/templates/footer/footer.js';
|
|
51
|
+
export { Header, HeaderProps, NavLink } from './components/templates/navigation/header.js';
|
|
52
|
+
export { toast } from 'sonner';
|
|
28
53
|
import 'react/jsx-runtime';
|
|
54
|
+
import 'react';
|
|
55
|
+
import './data/posts.js';
|
|
29
56
|
import '@base-ui/react/accordion';
|
|
30
57
|
import 'class-variance-authority/types';
|
|
31
|
-
import 'react';
|
|
32
58
|
import 'class-variance-authority';
|
|
33
59
|
import '@base-ui/react/use-render';
|
|
34
60
|
import '@base-ui/react/button';
|
|
35
61
|
import 'lucide-react';
|
|
62
|
+
import '@radix-ui/react-collapsible';
|
|
63
|
+
import '@radix-ui/react-dropdown-menu';
|
|
64
|
+
import '@base-ui/react';
|
|
36
65
|
import '@base-ui/react/separator';
|
|
37
|
-
import '
|
|
66
|
+
import '@radix-ui/react-dialog';
|
|
38
67
|
import './components/primitives/text/internal/text-element.js';
|
|
68
|
+
import './lib/types.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./components";
|
|
1
|
+
export * from "./components/index.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * Root index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./components/index\";\n"],"mappings":"AAMA,cAAc;","names":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./date";
|
|
1
|
+
export * from "./date.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/helpers/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/helpers/index.ts"],"sourcesContent":["/**\n * Helpers index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./date\";\n"],"mappings":"AAMA,cAAc;","names":[]}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./helpers";
|
|
2
|
-
export * from "./hooks/useIsClient";
|
|
1
|
+
export * from "./helpers/index.js";
|
|
2
|
+
export * from "./hooks/useIsClient.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../src/lib/index.ts"],"sourcesContent":["/**\n * Library index\n *\n * Please keep exports sorted alphabetically by path!\n */\n\nexport * from \"./helpers/index\";\nexport * from \"./hooks/useIsClient\";\n"],"mappings":"AAMA,cAAc;AACd,cAAc;","names":[]}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
type
|
|
2
|
-
type
|
|
3
|
-
type
|
|
4
|
-
type TailwindMarginClassValue = `${Breakpoint}${MarginDirection}${Size}`;
|
|
5
|
-
type TailwindMarginClass = TailwindMarginClassValue[];
|
|
6
|
-
type OmitClassProperty<T1, T2 extends string> = Omit<T1, T2>;
|
|
7
|
-
type OmitClassName<T> = OmitClassProperty<T, "className">;
|
|
1
|
+
type OmitClassProperty<T1, T2 extends keyof T1> = Omit<T1, T2>;
|
|
2
|
+
type OmitClassString<T1, T2 extends string> = Omit<T1, T2>;
|
|
3
|
+
type OmitClassName<T> = OmitClassString<T, "className">;
|
|
8
4
|
|
|
9
|
-
export type { OmitClassName, OmitClassProperty,
|
|
5
|
+
export type { OmitClassName, OmitClassProperty, OmitClassString };
|