@getmicdrop/svelte-components 5.3.6 → 5.3.10
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/dist/calendar/AboutShow/AboutShow.svelte +9 -8
- package/dist/calendar/AboutShow/AboutShow.svelte.d.ts.map +1 -1
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte +9 -8
- package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
- package/dist/calendar/FAQs/FAQs.svelte +6 -5
- package/dist/calendar/FAQs/FAQs.svelte.d.ts.map +1 -1
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +3 -2
- package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
- package/dist/calendar/OrderSummary/OrderSummary.svelte +19 -18
- package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
- package/dist/calendar/PublicCard/PublicCard.svelte +7 -9
- package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowCard/ShowCard.svelte +11 -10
- package/dist/calendar/ShowCard/ShowCard.svelte.d.ts.map +1 -1
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +5 -3
- package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
- package/dist/components/Layout/Section.svelte +4 -4
- package/dist/components/Layout/Section.svelte.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -0
- package/dist/patterns/data/DataTable.svelte +4 -2
- package/dist/patterns/data/DataTable.svelte.d.ts.map +1 -1
- package/dist/patterns/forms/FormSection.svelte +4 -2
- package/dist/patterns/forms/FormSection.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/BottomNav.svelte +4 -3
- package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
- package/dist/patterns/navigation/Header.svelte +11 -10
- package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
- package/dist/patterns/page/PageHeader.svelte +3 -2
- package/dist/patterns/page/PageHeader.svelte.d.ts.map +1 -1
- package/dist/patterns/page/PageLayout.svelte +2 -1
- package/dist/patterns/page/PageLayout.svelte.d.ts.map +1 -1
- package/dist/patterns/page/PageLoader.svelte +2 -1
- package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
- package/dist/patterns/page/SectionHeader.svelte +5 -3
- package/dist/patterns/page/SectionHeader.svelte.d.ts.map +1 -1
- package/dist/primitives/Accordion/Accordion.svelte +2 -1
- package/dist/primitives/Accordion/Accordion.svelte.d.ts.map +1 -1
- package/dist/primitives/Accordion/AccordionItem.svelte +5 -4
- package/dist/primitives/Accordion/AccordionItem.svelte.d.ts.map +1 -1
- package/dist/primitives/BottomSheet/BottomSheet.svelte +2 -1
- package/dist/primitives/BottomSheet/BottomSheet.svelte.d.ts.map +1 -1
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte +6 -5
- package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/primitives/Button/Button.svelte +16 -8
- package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
- package/dist/primitives/Button/ButtonSaveDemo.svelte +2 -1
- package/dist/primitives/Button/ButtonSaveDemo.svelte.d.ts.map +1 -1
- package/dist/primitives/Card.svelte +1 -1
- package/dist/primitives/DarkModeToggle.svelte +43 -44
- package/dist/primitives/DarkModeToggle.svelte.d.ts.map +1 -1
- package/dist/primitives/Drawer/Drawer.svelte +121 -47
- package/dist/primitives/Drawer/Drawer.svelte.d.ts +4 -0
- package/dist/primitives/Drawer/Drawer.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Input.svelte +41 -80
- package/dist/primitives/Input/Input.svelte.d.ts +4 -6
- package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Select.svelte +66 -13
- package/dist/primitives/Input/Select.svelte.d.ts +2 -0
- package/dist/primitives/Input/Select.svelte.d.ts.map +1 -1
- package/dist/primitives/Input/Textarea.svelte +5 -3
- package/dist/primitives/Input/Textarea.svelte.d.ts.map +1 -1
- package/dist/primitives/Modal/Modal.svelte +13 -1
- package/dist/primitives/Modal/Modal.svelte.d.ts.map +1 -1
- package/dist/primitives/Pagination/Pagination.svelte +3 -2
- package/dist/primitives/Pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/primitives/Tabs/Tabs.svelte +4 -3
- package/dist/primitives/Tabs/Tabs.svelte.d.ts.map +1 -1
- package/dist/recipes/CropImage/CropImage.svelte +10 -5
- package/dist/recipes/CropImage/CropImage.svelte.d.ts.map +1 -1
- package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -0
- package/dist/recipes/ImageUploader/ImageUploader.stories.svelte.d.ts +28 -0
- package/dist/recipes/ImageUploader/ImageUploader.stories.svelte.d.ts.map +1 -0
- package/dist/recipes/ImageUploader/ImageUploader.svelte +939 -0
- package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts +60 -0
- package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -0
- package/dist/recipes/SuperLogin/SuperLogin.svelte +37 -40
- package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte +3 -2
- package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/CheckboxField.svelte +3 -2
- package/dist/recipes/fields/CheckboxField.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/FormField.svelte +12 -4
- package/dist/recipes/fields/FormField.svelte.d.ts +3 -1
- package/dist/recipes/fields/FormField.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/RadioGroup.svelte +13 -4
- package/dist/recipes/fields/RadioGroup.svelte.d.ts +4 -1
- package/dist/recipes/fields/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/SelectField.svelte +12 -3
- package/dist/recipes/fields/SelectField.svelte.d.ts +4 -1
- package/dist/recipes/fields/SelectField.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/TextareaField.svelte +2 -1
- package/dist/recipes/fields/TextareaField.svelte.d.ts.map +1 -1
- package/dist/recipes/fields/ToggleField.svelte +3 -2
- package/dist/recipes/fields/ToggleField.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/MultiSelect.svelte +8 -7
- package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +9 -9
- package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
- package/dist/recipes/inputs/Search.svelte +7 -6
- package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/AlertModal.svelte +3 -2
- package/dist/recipes/modals/AlertModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/ConfirmationModal.svelte +4 -3
- package/dist/recipes/modals/ConfirmationModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/InputModal.svelte +9 -8
- package/dist/recipes/modals/InputModal.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/ModalStateManager.svelte +4 -3
- package/dist/recipes/modals/ModalStateManager.svelte.d.ts.map +1 -1
- package/dist/recipes/modals/StatusModal.svelte +5 -4
- package/dist/recipes/modals/StatusModal.svelte.d.ts.map +1 -1
- package/dist/stories/ButtonAuditReview.svelte +361 -397
- package/dist/stories/ButtonAuditReview.svelte.d.ts +24 -4
- package/dist/stories/ButtonAuditReview.svelte.d.ts.map +1 -1
- package/dist/tokens/index.d.ts +4 -8
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +4 -8
- package/dist/tokens/typography.d.ts +76 -169
- package/dist/tokens/typography.d.ts.map +1 -1
- package/dist/tokens/typography.js +93 -62
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSection.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/forms/FormSection.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"FormSection.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/forms/FormSection.svelte.js"],"names":[],"mappings":";;;;;AAwCA;YAhC6B,MAAM;kBAAgB,MAAM;cAAY,OAAO;YAAU,MAAM;cAAY,GAAG;WAgCjD;wBAhCvC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { page } from '../../__LIB_STORES__.js';
|
|
3
3
|
import { base } from '../../__LIB_PATHS__.js';
|
|
4
4
|
import Icon from "../../primitives/Icons/Icon.svelte";
|
|
5
|
+
import { typography } from '../../tokens/typography';
|
|
5
6
|
|
|
6
7
|
let {
|
|
7
8
|
links = [],
|
|
@@ -35,11 +36,11 @@
|
|
|
35
36
|
{#each links as { label, href, icon }}
|
|
36
37
|
<a
|
|
37
38
|
{href}
|
|
38
|
-
class=
|
|
39
|
-
|
|
39
|
+
class={`flex-1 flex items-center justify-center py-3 px-2 no-underline bg-transparent border-none cursor-pointer min-w-0
|
|
40
|
+
${typography.textMuted} transition-colors duration-150
|
|
40
41
|
hover:text-gray-900 hover:no-underline dark:hover:text-white
|
|
41
42
|
select-none touch-manipulation
|
|
42
|
-
{isActive(href, currentPath) ? 'text-blue-700 dark:text-blue-500' : ''}
|
|
43
|
+
${isActive(href, currentPath) ? 'text-blue-700 dark:text-blue-500' : ''}`}
|
|
43
44
|
aria-label={label}
|
|
44
45
|
style="-webkit-tap-highlight-color: transparent; -webkit-touch-callout: none;"
|
|
45
46
|
>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomNav.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/BottomNav.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"BottomNav.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/BottomNav.svelte.js"],"names":[],"mappings":";;;;;AA4DA;YA9C6B,GAAG,EAAE;WA8CsB;wBA9CrC;IAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
import { fade, fly } from "svelte/transition";
|
|
12
12
|
import { cubicOut } from "svelte/easing";
|
|
13
13
|
import { portal } from "../../utils/portal.js";
|
|
14
|
+
import { typography } from '../../tokens/typography';
|
|
14
15
|
|
|
15
16
|
let {
|
|
16
17
|
signoutHandler = () => {},
|
|
@@ -61,9 +62,9 @@
|
|
|
61
62
|
{#each navLinks as { label, href }}
|
|
62
63
|
<a
|
|
63
64
|
{href}
|
|
64
|
-
class=
|
|
65
|
+
class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
|
|
65
66
|
hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
|
|
66
|
-
{isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}
|
|
67
|
+
${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
|
|
67
68
|
>
|
|
68
69
|
{label}
|
|
69
70
|
</a>
|
|
@@ -87,8 +88,8 @@
|
|
|
87
88
|
<div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
|
|
88
89
|
<div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
|
|
89
90
|
<div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
|
|
90
|
-
<span class=
|
|
91
|
-
<span class=
|
|
91
|
+
<span class={`block ${typography.label}`}>{name || "Performer"}</span>
|
|
92
|
+
<span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
|
|
92
93
|
</div>
|
|
93
94
|
{#each dropdownLinks as { label, href }}
|
|
94
95
|
<Button
|
|
@@ -121,9 +122,9 @@
|
|
|
121
122
|
{#each navLinks as { label, href }}
|
|
122
123
|
<a
|
|
123
124
|
{href}
|
|
124
|
-
class=
|
|
125
|
+
class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
|
|
125
126
|
hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
|
|
126
|
-
{isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}
|
|
127
|
+
${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
|
|
127
128
|
>
|
|
128
129
|
{label}
|
|
129
130
|
</a>
|
|
@@ -158,8 +159,8 @@
|
|
|
158
159
|
<div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
|
|
159
160
|
<div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
|
|
160
161
|
<div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
|
|
161
|
-
<span class=
|
|
162
|
-
<span class=
|
|
162
|
+
<span class={`block ${typography.label}`}>{name || "Performer"}</span>
|
|
163
|
+
<span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
|
|
163
164
|
</div>
|
|
164
165
|
{#each dropdownLinks as { label, href }}
|
|
165
166
|
<Button
|
|
@@ -205,8 +206,8 @@
|
|
|
205
206
|
</div>
|
|
206
207
|
|
|
207
208
|
<div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
|
|
208
|
-
<p class=
|
|
209
|
-
<p class=
|
|
209
|
+
<p class={`${typography.h4} m-0`}>{name || "Performer"}</p>
|
|
210
|
+
<p class={`${typography.smMuted} mt-0.5 m-0`}>{email || ""}</p>
|
|
210
211
|
</div>
|
|
211
212
|
|
|
212
213
|
<div class="py-2">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.js"],"names":[],"mappings":";;;;;AA+MA;;WA/KuD,MAAM;aAAW,MAAM;YAAU,MAAM;eAAa,GAAG,EAAE;oBAAkB,GAAG,EAAE;qBAAmB,OAAO;WA+K5G;wBA/KlC;IAAE,cAAc,CAAC,WAAW;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import Breadcrumb from '../../primitives/Breadcrumb/Breadcrumb.svelte';
|
|
3
|
+
import { typography } from '../../tokens/typography';
|
|
3
4
|
|
|
4
5
|
let {
|
|
5
6
|
title = '',
|
|
@@ -19,10 +20,10 @@
|
|
|
19
20
|
<div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4">
|
|
20
21
|
<div>
|
|
21
22
|
{#if title}
|
|
22
|
-
<h1 class=
|
|
23
|
+
<h1 class={typography.h1}>{title}</h1>
|
|
23
24
|
{/if}
|
|
24
25
|
{#if subtitle}
|
|
25
|
-
<p class=
|
|
26
|
+
<p class={`mt-1 ${typography.smMuted}`}>{subtitle}</p>
|
|
26
27
|
{/if}
|
|
27
28
|
</div>
|
|
28
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageHeader.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"PageHeader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageHeader.svelte.js"],"names":[],"mappings":";;;;;AA6CA;YAnC6B,MAAM;eAAa,MAAM;iBAAe,GAAG,EAAE;eAAa,OAAO;YAAU,MAAM;aAAW,GAAG;WAmCnE;wBAnCtC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import Breadcrumb from '../../primitives/Breadcrumb/Breadcrumb.svelte';
|
|
3
3
|
import Card from '../../primitives/Card.svelte';
|
|
4
|
+
import { typography } from '../../tokens/typography';
|
|
4
5
|
|
|
5
6
|
let {
|
|
6
7
|
breadcrumb = [],
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
</script>
|
|
17
18
|
|
|
18
19
|
{#if showHeader}
|
|
19
|
-
<nav class=
|
|
20
|
+
<nav class={`pt-4 px-4 ${typography.h3}`}>
|
|
20
21
|
<div class="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4">
|
|
21
22
|
<Breadcrumb data={breadcrumb} {title} {subtitle} />
|
|
22
23
|
{#if actions}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageLayout.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLayout.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"PageLayout.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLayout.svelte.js"],"names":[],"mappings":";;;;;AAkDA;iBAtCkC,GAAG,EAAE;YAAU,MAAM;eAAa,MAAM;cAAY,MAAM;eAAa,MAAM;gBAAc,MAAM;iBAAe,OAAO;cAAY,GAAG;aAAW,GAAG;WAsC7H;wBAtCtC;IAAE,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import Spinner from "../../primitives/Spinner/Spinner.svelte";
|
|
3
3
|
import Alert from "../../primitives/Alert/Alert.svelte";
|
|
4
4
|
import Button from "../../primitives/Button/Button.svelte";
|
|
5
|
+
import { typography } from '../../tokens/typography';
|
|
5
6
|
|
|
6
7
|
let {
|
|
7
8
|
isLoading = true,
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
<div class="text-center">
|
|
21
22
|
<Spinner />
|
|
22
23
|
{#if loadingMessage}
|
|
23
|
-
<p class=
|
|
24
|
+
<p class={`mt-4 ${typography.textMuted}`}>{loadingMessage}</p>
|
|
24
25
|
{/if}
|
|
25
26
|
</div>
|
|
26
27
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageLoader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLoader.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"PageLoader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/PageLoader.svelte.js"],"names":[],"mappings":";;;;;AAoDA;gBAtCiC,OAAO;YAAU,GAAG;qBAAmB,MAAM;iBAAe,MAAM;gBAAc,OAAO;;gBAAkC,MAAM;cAAY,GAAG;WAsCtH;wBAtCtC;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,WAAW;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<script>
|
|
2
|
+
import { typography } from '../../tokens/typography';
|
|
3
|
+
|
|
2
4
|
let {
|
|
3
5
|
title = '',
|
|
4
6
|
description = '',
|
|
@@ -17,10 +19,10 @@
|
|
|
17
19
|
<div class="flex items-center justify-between gap-4">
|
|
18
20
|
<div class="flex items-center gap-2">
|
|
19
21
|
{#if title}
|
|
20
|
-
<h2 class=
|
|
22
|
+
<h2 class={typography.h3}>{title}</h2>
|
|
21
23
|
{/if}
|
|
22
24
|
{#if count !== null}
|
|
23
|
-
<span class=
|
|
25
|
+
<span class={`inline-flex items-center justify-center px-2 py-0.5 ${typography.xsMuted} bg-gray-100 dark:bg-gray-700 rounded-full`}>
|
|
24
26
|
{count}
|
|
25
27
|
</span>
|
|
26
28
|
{/if}
|
|
@@ -34,6 +36,6 @@
|
|
|
34
36
|
</div>
|
|
35
37
|
|
|
36
38
|
{#if description}
|
|
37
|
-
<p class=
|
|
39
|
+
<p class={`mt-1 ${typography.smMuted}`}>{description}</p>
|
|
38
40
|
{/if}
|
|
39
41
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionHeader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/SectionHeader.svelte.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"SectionHeader.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/page/SectionHeader.svelte.js"],"names":[],"mappings":";;;;;AAiDA;YAzC6B,MAAM;kBAAgB,MAAM;YAAU,GAAG;cAAY,OAAO;YAAU,MAAM;aAAW,GAAG;WAyC3D;wBAzCzC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE"}
|
|
@@ -50,9 +50,10 @@
|
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
// Flowbite-native classes
|
|
53
|
+
// Note: overflow-hidden was removed to allow dropdowns/menus inside accordion items to render outside the container
|
|
53
54
|
let containerClasses = $derived(flush
|
|
54
55
|
? "divide-y divide-gray-200 dark:divide-gray-700"
|
|
55
|
-
: "border border-gray-200 dark:border-gray-700 rounded-lg
|
|
56
|
+
: "border border-gray-200 dark:border-gray-700 rounded-lg divide-y divide-gray-200 dark:divide-gray-700");
|
|
56
57
|
</script>
|
|
57
58
|
|
|
58
59
|
<div class="{containerClasses} {className}" data-accordion={multiple ? "open" : "collapse"} {...restProps}>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/Accordion.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;KAMK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKpC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"Accordion.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/Accordion.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;KAMK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKpC,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAoDH,QAAA,MAAM,SAAS,2CAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import { slide } from "svelte/transition";
|
|
13
13
|
import type { Writable } from "svelte/store";
|
|
14
14
|
import { ChevronUpOutline } from "../Icons";
|
|
15
|
+
import { typography } from "../../tokens/typography";
|
|
15
16
|
|
|
16
17
|
interface Props {
|
|
17
18
|
open?: boolean;
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
// Flowbite-native header classes
|
|
58
59
|
let headerClasses = $derived([
|
|
59
60
|
"flex items-center justify-between w-full p-5 font-medium text-left",
|
|
60
|
-
|
|
61
|
+
typography.smMuted,
|
|
61
62
|
"bg-gray-100 dark:bg-gray-800",
|
|
62
63
|
"hover:bg-gray-200 dark:hover:bg-gray-700",
|
|
63
64
|
"focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-800",
|
|
@@ -74,7 +75,7 @@
|
|
|
74
75
|
aria-expanded={isOpen}
|
|
75
76
|
onclick={handleClick}
|
|
76
77
|
>
|
|
77
|
-
<span class=
|
|
78
|
+
<span class={typography.body}>
|
|
78
79
|
{#if header}{@render header()}{:else}Accordion Item{/if}
|
|
79
80
|
</span>
|
|
80
81
|
<!-- Flowbite arrow icon -->
|
|
@@ -84,8 +85,8 @@
|
|
|
84
85
|
|
|
85
86
|
{#if isOpen}
|
|
86
87
|
<div transition:slide={{ duration: 200 }}>
|
|
87
|
-
<div class="p-5 {flush ? '' : 'border border-t-0 border-gray-200 dark:border-gray-700'}
|
|
88
|
-
<p class=
|
|
88
|
+
<div class="p-5 {flush ? '' : 'border border-t-0 border-gray-200 dark:border-gray-700'}">
|
|
89
|
+
<p class={typography.bodyMuted}>
|
|
89
90
|
{#if children}{@render children()}{/if}
|
|
90
91
|
</p>
|
|
91
92
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/AccordionItem.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;;KAOK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"AccordionItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Accordion/AccordionItem.svelte.ts"],"names":[],"mappings":"AAGA;;;;;;;KAOK;AACL,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQpC,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA8EH,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { fly, fade } from "svelte/transition";
|
|
4
4
|
import { cubicOut } from "svelte/easing";
|
|
5
5
|
import type { Snippet } from 'svelte';
|
|
6
|
+
import { typography } from "../../tokens/typography";
|
|
6
7
|
|
|
7
8
|
interface Props {
|
|
8
9
|
/** Whether the bottom sheet is visible */
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
|
|
82
83
|
{#if title}
|
|
83
84
|
<div class="px-6 pb-4 border-b border-gray-200 dark:border-gray-700 shrink-0">
|
|
84
|
-
<h3 class=
|
|
85
|
+
<h3 class={typography.h3}>{title}</h3>
|
|
85
86
|
</div>
|
|
86
87
|
{/if}
|
|
87
88
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomSheet.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/BottomSheet/BottomSheet.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"BottomSheet.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/BottomSheet/BottomSheet.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIpC,UAAU,KAAK;IACb,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoFH,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { ChevronRightOutline, HomeSolid } from "../Icons";
|
|
3
|
+
import { typography } from "../../tokens/typography";
|
|
3
4
|
|
|
4
5
|
interface BreadcrumbItem {
|
|
5
6
|
name: string;
|
|
@@ -37,7 +38,7 @@
|
|
|
37
38
|
|
|
38
39
|
<div class="flex flex-col items-start gap-2 min-w-0">
|
|
39
40
|
{#if data.length > 0}
|
|
40
|
-
<nav class=
|
|
41
|
+
<nav class={`flex items-center ${typography.smMuted} font-medium ${className}`} aria-label="Breadcrumb">
|
|
41
42
|
<ol class="inline-flex items-center space-x-1 md:space-x-2 rtl:space-x-reverse flex-wrap">
|
|
42
43
|
{#each data as crumb, index}
|
|
43
44
|
<li class="inline-flex items-center">
|
|
@@ -48,20 +49,20 @@
|
|
|
48
49
|
<a
|
|
49
50
|
href={crumb.href}
|
|
50
51
|
onclick={() => handleClick(crumb)}
|
|
51
|
-
class="inline-flex items-center
|
|
52
|
+
class="{typography.smMuted} inline-flex items-center font-medium hover:text-blue-600 dark:hover:text-white"
|
|
52
53
|
>
|
|
53
54
|
<HomeSolid class="w-3 h-3 me-2.5" />
|
|
54
55
|
{crumb.name}
|
|
55
56
|
</a>
|
|
56
57
|
{:else if index === data.length - 1}
|
|
57
|
-
<span class=
|
|
58
|
+
<span class={`ms-1 ${typography.smMuted} font-medium md:ms-2 max-w-48 truncate`} title={crumb.name}>
|
|
58
59
|
{crumb.name}
|
|
59
60
|
</span>
|
|
60
61
|
{:else}
|
|
61
62
|
<a
|
|
62
63
|
href={crumb.href}
|
|
63
64
|
onclick={() => handleClick(crumb)}
|
|
64
|
-
class="ms-1
|
|
65
|
+
class="{typography.smMuted} ms-1 font-medium hover:text-blue-600 md:ms-2 dark:hover:text-white max-w-48 truncate"
|
|
65
66
|
title={crumb.name}
|
|
66
67
|
>
|
|
67
68
|
{crumb.name}
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
</h1>
|
|
82
83
|
{/if}
|
|
83
84
|
{#if subtitle}
|
|
84
|
-
<p class=
|
|
85
|
+
<p class={typography.smMuted}>{subtitle}</p>
|
|
85
86
|
{/if}
|
|
86
87
|
</div>
|
|
87
88
|
{/if}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumb.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Breadcrumb/Breadcrumb.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Breadcrumb.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Breadcrumb/Breadcrumb.svelte.ts"],"names":[],"mappings":"AAOE,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,6BAA6B;IAC7B,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IACxB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3C;AAkEH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* Sizes (Flowbite native): xs, sm, md, lg, xl
|
|
23
23
|
*/
|
|
24
24
|
import { CheckOutline } from '../Icons';
|
|
25
|
+
import { twMerge } from 'tailwind-merge';
|
|
25
26
|
|
|
26
27
|
/** @type {{
|
|
27
28
|
variant?: string,
|
|
@@ -116,7 +117,7 @@
|
|
|
116
117
|
// Variant classes with all states in Tailwind (no focus rings - design decision)
|
|
117
118
|
const variantClasses = {
|
|
118
119
|
default: "text-white bg-blue-700 border border-blue-700 hover:bg-blue-800 dark:bg-blue-600 dark:hover:bg-blue-700",
|
|
119
|
-
alternative: "text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 dark:bg-gray-800 dark:text-
|
|
120
|
+
alternative: "text-gray-900 bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700",
|
|
120
121
|
outline: "text-blue-700 bg-transparent border border-blue-700 hover:text-white hover:bg-blue-800 dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-500",
|
|
121
122
|
red: "text-white bg-red-700 border border-red-700 hover:bg-red-800 dark:bg-red-600 dark:hover:bg-red-700",
|
|
122
123
|
"red-outline": "text-red-700 bg-transparent border border-red-700 hover:text-white hover:bg-red-800 dark:border-red-500 dark:text-red-500 dark:hover:text-white dark:hover:bg-red-600",
|
|
@@ -131,20 +132,25 @@
|
|
|
131
132
|
// Menu items - full width, left-aligned, for dropdowns/sheets and sidebar nav
|
|
132
133
|
"menu-item": "w-full text-left text-gray-900 bg-transparent border-transparent hover:bg-gray-100 dark:text-white dark:hover:bg-gray-600",
|
|
133
134
|
// Danger menu item - red text version
|
|
134
|
-
"menu-item-danger": "w-full text-left text-red-600 bg-transparent border-transparent hover:bg-red-50 dark:text-red-500 dark:hover:bg-gray-
|
|
135
|
+
"menu-item-danger": "w-full text-left text-red-600 bg-transparent border-transparent hover:bg-red-50 dark:text-red-500 dark:hover:bg-gray-600",
|
|
135
136
|
// Selectable card - bordered card-like button for list selections
|
|
136
137
|
card: "w-full text-left text-gray-900 bg-white border border-gray-300 hover:bg-gray-50 dark:bg-gray-800 dark:text-white dark:border-gray-600 dark:hover:bg-gray-700",
|
|
137
138
|
// Search result item - blue hover for search dropdowns
|
|
138
139
|
"search-result": "w-full text-left text-gray-900 bg-transparent border-transparent hover:bg-blue-50 focus:bg-blue-50 dark:text-white dark:hover:bg-blue-900/20 dark:focus:bg-blue-900/20",
|
|
139
140
|
// Sidebar toggle - compact pill for sidebar expand/collapse
|
|
140
141
|
"sidebar-toggle": "w-6 h-7 text-gray-900 bg-blue-100 border border-blue-200 hover:bg-blue-200 shadow-lg dark:text-white dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700",
|
|
142
|
+
// Bottom navigation item - vertical layout, transparent, for mobile nav bars
|
|
143
|
+
nav: "flex-col h-full py-2 text-gray-500 bg-transparent border-transparent hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-500",
|
|
144
|
+
// Calendar day cell - base styling with hover, colors overridden via className
|
|
145
|
+
"calendar-day": "border-transparent text-gray-900 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700",
|
|
141
146
|
};
|
|
142
147
|
|
|
143
|
-
// Active state classes for ghost, toggle,
|
|
148
|
+
// Active state classes for ghost, toggle, menu-item, and nav
|
|
144
149
|
const activeClasses = {
|
|
145
150
|
ghost: "text-blue-700 bg-blue-50 dark:text-white dark:bg-gray-900",
|
|
146
|
-
toggle: "text-white bg-blue-600 border-blue-600 hover:bg-blue-700 dark:bg-blue-600 dark:hover:bg-blue-700",
|
|
151
|
+
toggle: "text-white bg-blue-600 border-blue-600 hover:bg-blue-700 dark:text-white dark:bg-blue-600 dark:border-blue-600 dark:hover:bg-blue-700",
|
|
147
152
|
"menu-item": "bg-blue-50 dark:bg-gray-700",
|
|
153
|
+
nav: "text-blue-600 dark:text-blue-500",
|
|
148
154
|
};
|
|
149
155
|
|
|
150
156
|
// Disabled classes
|
|
@@ -159,14 +165,16 @@
|
|
|
159
165
|
if (resolvedVariant === "card") return cardSizes[size] || cardSizes.md;
|
|
160
166
|
if (resolvedVariant === "link") return "text-sm";
|
|
161
167
|
if (resolvedVariant === "sidebar-toggle") return ""; // Fixed dimensions in variant
|
|
168
|
+
if (resolvedVariant === "nav") return ""; // Nav has sizing in variant class
|
|
162
169
|
return sizeClasses[size] || sizeClasses.md;
|
|
163
170
|
})());
|
|
164
171
|
|
|
165
172
|
let variantClass = $derived((() => {
|
|
166
173
|
if (success) return variantClasses.success;
|
|
167
174
|
if (disabled && !loading && !success) return disabledClasses;
|
|
168
|
-
if (active &&
|
|
169
|
-
|
|
175
|
+
if (active && activeClasses[resolvedVariant]) {
|
|
176
|
+
// When active, use ONLY active classes (they include all necessary styling)
|
|
177
|
+
return activeClasses[resolvedVariant];
|
|
170
178
|
}
|
|
171
179
|
return variantClasses[resolvedVariant] || variantClasses.default;
|
|
172
180
|
})());
|
|
@@ -182,7 +190,7 @@
|
|
|
182
190
|
// Use justify-between when there's trailing content (e.g., chevrons in nav items)
|
|
183
191
|
let hasTrailing = $derived(typeof trailing === 'function' || trailing);
|
|
184
192
|
|
|
185
|
-
let buttonClasses = $derived(
|
|
193
|
+
let buttonClasses = $derived(twMerge(
|
|
186
194
|
"relative",
|
|
187
195
|
isLeftAligned
|
|
188
196
|
? (hasTrailing ? "flex items-center justify-between" : "flex items-center justify-start")
|
|
@@ -198,7 +206,7 @@
|
|
|
198
206
|
variantClass,
|
|
199
207
|
effectiveDisabled ? "cursor-not-allowed" : "cursor-pointer",
|
|
200
208
|
className
|
|
201
|
-
|
|
209
|
+
));
|
|
202
210
|
</script>
|
|
203
211
|
|
|
204
212
|
{#if href}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Button/Button.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Button/Button.svelte.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAyQA;;cAfc,MAAM;WACT,MAAM;eACF,OAAO;cACR,OAAO;cACP,OAAO;kBACH,MAAM;aACX,OAAO;WACT,MAAM,GAAG,IAAI;WACb,QAAQ,GAAG,QAAQ,GAAG,OAAO;eACzB,GAAG;eACH,GAAG;YACN,MAAM;cACJ,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI;WAGgB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import Button from "./Button.svelte";
|
|
3
|
+
import { typography } from "../../tokens/typography";
|
|
3
4
|
|
|
4
5
|
let loading = $state(false);
|
|
5
6
|
let success = $state(false);
|
|
@@ -20,5 +21,5 @@
|
|
|
20
21
|
|
|
21
22
|
<div class="flex gap-4 items-center">
|
|
22
23
|
<Button onclick={handleSave} {loading} {success}>Save</Button>
|
|
23
|
-
<button class=
|
|
24
|
+
<button class={`${typography.smMuted} underline`} onclick={resetState}>Reset (simulates user edit)</button>
|
|
24
25
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonSaveDemo.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Button/ButtonSaveDemo.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonSaveDemo.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Button/ButtonSaveDemo.svelte.ts"],"names":[],"mappings":"AAkCA,QAAA,MAAM,cAAc,2DAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</script>
|
|
22
22
|
|
|
23
23
|
<div
|
|
24
|
-
class="bg-white dark:bg-gray-
|
|
24
|
+
class="bg-white dark:bg-gray-900 rounded-lg shadow-md {border ? 'border border-gray-200 dark:border-gray-700' : ''} {padding ? 'p-6' : ''} {horizontal ? 'flex flex-row' : ''} {className}"
|
|
25
25
|
{...restProps}
|
|
26
26
|
>
|
|
27
27
|
{#if children}{@render children()}{/if}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { onMount } from "svelte";
|
|
3
3
|
import SunIcon from "./Icons/SunIcon.svelte";
|
|
4
4
|
import MoonIcon from "./Icons/MoonIcon.svelte";
|
|
5
|
+
import Button from "./Button/Button.svelte";
|
|
5
6
|
|
|
6
7
|
interface Props {
|
|
7
8
|
/** Container selector for applying dark class */
|
|
@@ -89,49 +90,47 @@
|
|
|
89
90
|
);
|
|
90
91
|
</script>
|
|
91
92
|
|
|
92
|
-
<
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
93
|
+
<Button
|
|
94
|
+
variant="alternative"
|
|
95
|
+
onclick={toggleTheme}
|
|
96
|
+
class="relative h-10 w-10 overflow-hidden p-0"
|
|
97
|
+
aria-label="Toggle theme"
|
|
98
|
+
title={titleText}
|
|
99
|
+
>
|
|
100
|
+
<span
|
|
101
|
+
class="text-amber-500 transition-all duration-300 {themeMode === 'light'
|
|
102
|
+
? 'scale-100 rotate-0 opacity-100'
|
|
103
|
+
: 'pointer-events-none absolute scale-0 rotate-180 opacity-0'}"
|
|
99
104
|
>
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
<
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
>
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
style="clip-path: polygon(100% 0, 100% 100%, 0 100%)"
|
|
129
|
-
>
|
|
130
|
-
<span class="translate-x-1 translate-y-1">
|
|
131
|
-
<MoonIcon size="12" color="white" />
|
|
132
|
-
</span>
|
|
133
|
-
</div>
|
|
105
|
+
<SunIcon size="20" />
|
|
106
|
+
</span>
|
|
107
|
+
|
|
108
|
+
<span
|
|
109
|
+
class="transition-all duration-300 {themeMode === 'dark'
|
|
110
|
+
? 'scale-100 rotate-0 opacity-100'
|
|
111
|
+
: 'pointer-events-none absolute scale-0 rotate-180 opacity-0'}"
|
|
112
|
+
>
|
|
113
|
+
<MoonIcon size="20" color="white" />
|
|
114
|
+
</span>
|
|
115
|
+
|
|
116
|
+
{#if themeMode === "auto"}
|
|
117
|
+
<div class="absolute inset-0 overflow-hidden rounded-lg">
|
|
118
|
+
<div
|
|
119
|
+
class="absolute flex h-full w-full items-center justify-center bg-white"
|
|
120
|
+
style="clip-path: polygon(0 0, 100% 0, 0 100%)"
|
|
121
|
+
>
|
|
122
|
+
<span class="-translate-x-1 -translate-y-1 text-amber-500">
|
|
123
|
+
<SunIcon size="12" />
|
|
124
|
+
</span>
|
|
125
|
+
</div>
|
|
126
|
+
<div
|
|
127
|
+
class="absolute flex h-full w-full items-center justify-center bg-gray-800"
|
|
128
|
+
style="clip-path: polygon(100% 0, 100% 100%, 0 100%)"
|
|
129
|
+
>
|
|
130
|
+
<span class="translate-x-1 translate-y-1">
|
|
131
|
+
<MoonIcon size="12" color="white" />
|
|
132
|
+
</span>
|
|
134
133
|
</div>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
</
|
|
134
|
+
</div>
|
|
135
|
+
{/if}
|
|
136
|
+
</Button>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DarkModeToggle.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/primitives/DarkModeToggle.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DarkModeToggle.svelte.d.ts","sourceRoot":"","sources":["../../src/lib/primitives/DarkModeToggle.svelte.ts"],"names":[],"mappings":"AASE,UAAU,KAAK;IACb,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwHH,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|