@celar-ui/svelte 1.8.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/buttons/BaseButton.svelte +0 -2
  2. package/dist/buttons/BaseButton.svelte.d.ts +0 -1
  3. package/dist/buttons/ElevatedButton.svelte +1 -3
  4. package/dist/buttons/ElevatedButton.svelte.d.ts +1 -1
  5. package/dist/buttons/ExpandedTextButton.svelte +2 -2
  6. package/dist/buttons/ExpandedTextButton.svelte.d.ts +1 -1
  7. package/dist/buttons/FilledButton.svelte +1 -2
  8. package/dist/buttons/FilledButton.svelte.d.ts +1 -1
  9. package/dist/buttons/IconButton.svelte +1 -1
  10. package/dist/buttons/IconButton.svelte.d.ts +1 -1
  11. package/dist/buttons/OutlinedButton.svelte +1 -3
  12. package/dist/buttons/OutlinedButton.svelte.d.ts +1 -1
  13. package/dist/buttons/TextBaseButton.svelte +15 -46
  14. package/dist/buttons/TextButton.svelte +1 -3
  15. package/dist/buttons/TextButton.svelte.d.ts +1 -1
  16. package/dist/buttons/styles/button_utils.css +37 -0
  17. package/dist/buttons/styles/elevated_button.css +19 -0
  18. package/dist/buttons/styles/expanded_text_button.css +23 -0
  19. package/dist/buttons/styles/filled_button.css +21 -0
  20. package/dist/buttons/styles/icon_button.css +42 -0
  21. package/dist/buttons/styles/outlined_button.css +21 -0
  22. package/dist/buttons/styles/text_button.css +22 -0
  23. package/dist/containment/Avatar.svelte +1 -1
  24. package/dist/containment/Avatar.svelte.d.ts +1 -1
  25. package/dist/containment/Breadcrumb.svelte +1 -23
  26. package/dist/containment/Breadcrumb.svelte.d.ts +1 -0
  27. package/dist/containment/Card.svelte +1 -1
  28. package/dist/containment/Card.svelte.d.ts +1 -1
  29. package/dist/containment/Container.svelte +1 -1
  30. package/dist/containment/Container.svelte.d.ts +1 -1
  31. package/dist/containment/Spacer.svelte +17 -11
  32. package/dist/containment/SurfaceContainer.svelte +1 -1
  33. package/dist/containment/SurfaceContainer.svelte.d.ts +1 -1
  34. package/dist/containment/styles/avatar.css +20 -0
  35. package/dist/containment/styles/breadcrumb.css +27 -0
  36. package/dist/containment/styles/card.css +7 -0
  37. package/dist/containment/styles/container.css +26 -0
  38. package/dist/containment/styles/surface-container.css +29 -0
  39. package/dist/inputs/Checkbox.svelte +43 -45
  40. package/dist/inputs/ColorInput.svelte +63 -51
  41. package/dist/inputs/FileInput.svelte +39 -30
  42. package/dist/inputs/RadioGroup.svelte +1 -2
  43. package/dist/inputs/RadioGroup.svelte.d.ts +1 -1
  44. package/dist/inputs/RadioItem.svelte +38 -36
  45. package/dist/inputs/Slider.svelte +78 -86
  46. package/dist/inputs/Switch.svelte +49 -54
  47. package/dist/inputs/TagInput.svelte +77 -67
  48. package/dist/inputs/TextInput.svelte +83 -76
  49. package/dist/inputs/styles/radio_group.css +6 -0
  50. package/dist/misc/Badge.svelte +48 -40
  51. package/dist/misc/DotSpinner.svelte +8 -4
  52. package/dist/misc/DuckSpinner.svelte +92 -70
  53. package/dist/misc/Gap.svelte +12 -6
  54. package/dist/misc/LinearProgressIndicator.svelte +38 -29
  55. package/dist/navigation/AdaptiveSidebar.svelte +64 -70
  56. package/dist/navigation/AdaptiveSidebar.svelte.d.ts +1 -1
  57. package/dist/navigation/AppBar.svelte +39 -31
  58. package/dist/navigation/NavigationBar.svelte +27 -35
  59. package/dist/navigation/NavigationBarButton.svelte +42 -33
  60. package/dist/navigation/NavigationDrawer.svelte +1 -81
  61. package/dist/navigation/NavigationDrawer.svelte.d.ts +1 -0
  62. package/dist/navigation/styles/navigation_drawer.css +93 -0
  63. package/dist/overlay/CommandDialog.svelte +1 -1
  64. package/dist/overlay/CommandDialog.svelte.d.ts +1 -1
  65. package/dist/overlay/Dialog.svelte +1 -1
  66. package/dist/overlay/Dialog.svelte.d.ts +1 -1
  67. package/dist/overlay/MinimalDialog.svelte +1 -1
  68. package/dist/overlay/MinimalDialog.svelte.d.ts +1 -1
  69. package/dist/overlay/MinimalSurfaceDialog.svelte +3 -3
  70. package/dist/overlay/MinimalSurfaceDialog.svelte.d.ts +3 -3
  71. package/dist/overlay/Popover.svelte +1 -1
  72. package/dist/overlay/Popover.svelte.d.ts +1 -1
  73. package/dist/overlay/styles/command.css +125 -0
  74. package/dist/overlay/styles/dialog.css +64 -0
  75. package/dist/overlay/styles/popover.css +9 -0
  76. package/dist/overlay/styles/surface-dialog.css +21 -0
  77. package/package.json +15 -13
  78. package/src/styles/index.css +6 -0
  79. package/src/styles/theme.css +94 -0
  80. package/dist/buttons/styles/base_button.scss +0 -30
  81. package/dist/buttons/styles/elevated_button.scss +0 -20
  82. package/dist/buttons/styles/expanded_text_button.scss +0 -20
  83. package/dist/buttons/styles/filled_button.scss +0 -17
  84. package/dist/buttons/styles/icon_button.scss +0 -38
  85. package/dist/buttons/styles/outlined_button.scss +0 -18
  86. package/dist/buttons/styles/text_button.scss +0 -17
  87. package/dist/containment/styles/avatar.scss +0 -16
  88. package/dist/containment/styles/card.scss +0 -3
  89. package/dist/containment/styles/container.scss +0 -22
  90. package/dist/containment/styles/surface-container.scss +0 -27
  91. package/dist/inputs/styles/radio_group.scss +0 -3
  92. package/dist/overlay/styles/command.scss +0 -121
  93. package/dist/overlay/styles/dialog.scss +0 -69
  94. package/dist/overlay/styles/popover.scss +0 -5
  95. package/dist/overlay/styles/surface-dialog.scss +0 -17
  96. package/src/styles/colors.scss +0 -43
  97. package/src/styles/config.scss +0 -1
  98. package/src/styles/misc.scss +0 -15
  99. package/src/styles/scheme.scss +0 -80
  100. package/src/styles/spacing.scss +0 -23
  101. package/src/styles/utils.scss +0 -27
@@ -1,6 +1,4 @@
1
1
  <script lang="ts">
2
- import './styles/base_button.scss';
3
-
4
2
  import { Button, type ButtonRootProps } from 'bits-ui';
5
3
 
6
4
  export type BaseButtonProps = ButtonRootProps & {
@@ -1,4 +1,3 @@
1
- import './styles/base_button.scss';
2
1
  import { type ButtonRootProps } from 'bits-ui';
3
2
  export type BaseButtonProps = ButtonRootProps & {
4
3
  loading?: boolean;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/elevated_button.scss';
2
+ import './styles/elevated_button.css';
3
3
  import TextBaseButton from './TextBaseButton.svelte';
4
4
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
5
5
 
@@ -7,5 +7,3 @@
7
7
  </script>
8
8
 
9
9
  <TextBaseButton {...props} data-button-elevated />
10
-
11
-
@@ -1,4 +1,4 @@
1
- import './styles/elevated_button.scss';
1
+ import './styles/elevated_button.css';
2
2
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
3
3
  declare const ElevatedButton: import("svelte").Component<TextBaseButtonProps, {}, "">;
4
4
  type ElevatedButton = ReturnType<typeof ElevatedButton>;
@@ -1,9 +1,9 @@
1
1
  <script lang="ts">
2
- import './styles/expanded_text_button.scss';
2
+ import './styles/expanded_text_button.css';
3
3
  import TextBaseButton from './TextBaseButton.svelte';
4
4
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
5
5
 
6
- let { gap = 'var(--gap)', ...rest }: TextBaseButtonProps = $props();
6
+ let { gap = 'calc(var(--spacing) * 4)', ...rest }: TextBaseButtonProps = $props();
7
7
  </script>
8
8
 
9
9
  <TextBaseButton {...rest} {gap} data-button-text-expanded />
@@ -1,4 +1,4 @@
1
- import './styles/expanded_text_button.scss';
1
+ import './styles/expanded_text_button.css';
2
2
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
3
3
  declare const ExpandedTextButton: import("svelte").Component<TextBaseButtonProps, {}, "">;
4
4
  type ExpandedTextButton = ReturnType<typeof ExpandedTextButton>;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/filled_button.scss';
2
+ import './styles/filled_button.css';
3
3
  import TextBaseButton from './TextBaseButton.svelte';
4
4
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
5
5
 
@@ -7,4 +7,3 @@
7
7
  </script>
8
8
 
9
9
  <TextBaseButton {...props} data-button-filled />
10
-
@@ -1,4 +1,4 @@
1
- import './styles/filled_button.scss';
1
+ import './styles/filled_button.css';
2
2
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
3
3
  declare const FilledButton: import("svelte").Component<TextBaseButtonProps, {}, "">;
4
4
  type FilledButton = ReturnType<typeof FilledButton>;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/icon_button.scss';
2
+ import './styles/icon_button.css';
3
3
  import DotSpinner from '../misc/DotSpinner.svelte';
4
4
  import BaseButton from './BaseButton.svelte';
5
5
  import type { BaseButtonProps } from './BaseButton.svelte';
@@ -1,4 +1,4 @@
1
- import './styles/icon_button.scss';
1
+ import './styles/icon_button.css';
2
2
  import type { BaseButtonProps } from './BaseButton.svelte';
3
3
  declare const IconButton: import("svelte").Component<BaseButtonProps, {}, "">;
4
4
  type IconButton = ReturnType<typeof IconButton>;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/outlined_button.scss';
2
+ import './styles/outlined_button.css';
3
3
  import TextBaseButton from './TextBaseButton.svelte';
4
4
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
5
5
 
@@ -7,5 +7,3 @@
7
7
  </script>
8
8
 
9
9
  <TextBaseButton {...props} data-button-outlined />
10
-
11
-
@@ -1,4 +1,4 @@
1
- import './styles/outlined_button.scss';
1
+ import './styles/outlined_button.css';
2
2
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
3
3
  declare const OutlinedButton: import("svelte").Component<TextBaseButtonProps, {}, "">;
4
4
  type OutlinedButton = ReturnType<typeof OutlinedButton>;
@@ -14,59 +14,28 @@
14
14
  loading,
15
15
  icon,
16
16
  active = false,
17
- gap = 'var(--gap--half)',
17
+ gap = 'calc(var(--spacing) * 2)',
18
18
  ...rest
19
19
  }: TextBaseButtonProps = $props();
20
+ let visibility = $derived(loading ? 'hidden' : 'initial');
20
21
  </script>
21
22
 
22
- {#snippet baseChildren()}
23
- <div class="button-body" style:visibility={loading ? 'hidden' : 'initial'} style:--body-gap={gap}>
24
- {#if icon}
25
- <span class="button-icon">
26
- {@render icon()}
27
- </span>
28
- {/if}
29
-
30
- <span class="button-content">
31
- {#if children}
32
- {@render children()}
33
- {/if}
23
+ <BaseButton {...rest} {loading} {active} data-button-base-text style="--body-gap: {gap}">
24
+ {#if icon}
25
+ <span class="button-icon" style:visibility>
26
+ {@render icon()}
34
27
  </span>
35
- </div>
28
+ {/if}
29
+
30
+ <span class="button-content" style:visibility>
31
+ {#if children}
32
+ {@render children()}
33
+ {/if}
34
+ </span>
36
35
 
37
36
  {#if loading}
38
- <div class="button-spinner">
37
+ <div class="absolute top-0 left-0 flex h-full w-full items-center justify-center">
39
38
  <DotSpinner size="24px" />
40
39
  </div>
41
40
  {/if}
42
- {/snippet}
43
-
44
- <BaseButton {...rest} children={baseChildren} {loading} {active} data-button-base-text />
45
-
46
- <style>:global([data-button-base-text]) {
47
- border-radius: var(--radius);
48
- }
49
-
50
- .button-body {
51
- display: flex;
52
- align-items: center;
53
- gap: var(--body-gap);
54
- padding: 0 var(--gap);
55
- }
56
- .button-body .button-content {
57
- padding: var(--gap--half) 0;
58
- }
59
- .button-body .button-icon {
60
- line-height: 0;
61
- }
62
-
63
- .button-spinner {
64
- display: flex;
65
- position: absolute;
66
- top: 0;
67
- left: 0;
68
- justify-content: center;
69
- align-items: center;
70
- width: 100%;
71
- height: 100%;
72
- }</style>
41
+ </BaseButton>
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/text_button.scss';
2
+ import './styles/text_button.css';
3
3
  import TextBaseButton from './TextBaseButton.svelte';
4
4
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
5
5
 
@@ -7,5 +7,3 @@
7
7
  </script>
8
8
 
9
9
  <TextBaseButton {...props} data-button-text />
10
-
11
-
@@ -1,4 +1,4 @@
1
- import './styles/text_button.scss';
1
+ import './styles/text_button.css';
2
2
  import type { TextBaseButtonProps } from './TextBaseButton.svelte';
3
3
  declare const TextButton: import("svelte").Component<TextBaseButtonProps, {}, "">;
4
4
  type TextButton = ReturnType<typeof TextButton>;
@@ -0,0 +1,37 @@
1
+ @reference '$style/index.css';
2
+
3
+ @utility button-base {
4
+ @apply relative m-0 box-border inline-block h-fit w-fit cursor-pointer border-none p-0 no-underline transition-all select-none;
5
+ font-size: inherit;
6
+ font-family: inherit;
7
+ -webkit-tap-highlight-color: transparent;
8
+
9
+ &:not([data-active='true']):disabled,
10
+ &:not([data-active='true'])[aria-disabled='true'] {
11
+ opacity: 0.6;
12
+ filter: grayscale(100%);
13
+ }
14
+
15
+ &:disabled,
16
+ &[aria-disabled='true'] {
17
+ cursor: default;
18
+ pointer-events: none;
19
+ }
20
+ }
21
+
22
+ @utility button-text-base {
23
+ @apply button-base;
24
+ border-radius: var(--radius-2xl);
25
+ display: inline-flex;
26
+ align-items: center;
27
+ gap: var(--body-gap);
28
+ padding: 0 --spacing(4);
29
+
30
+ .button-content {
31
+ padding: --spacing(1.5) 0;
32
+ }
33
+
34
+ .button-icon {
35
+ line-height: 0;
36
+ }
37
+ }
@@ -0,0 +1,19 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer components {
4
+ [data-button-elevated] {
5
+ @apply button-text-base bg-primaryContainer text-onPrimaryContainer shadow;
6
+
7
+ &:not(:disabled, [data-active='true']):hover {
8
+ @apply shadow-md brightness-105;
9
+ }
10
+
11
+ &:not(:disabled):active {
12
+ @apply shadow brightness-100;
13
+ }
14
+
15
+ &[data-active='true'] {
16
+ @apply bg-inversePrimary shadow;
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,23 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer component {
4
+ [data-button-text-expanded] {
5
+ @apply button-text-base;
6
+ background-color: transparent;
7
+ color: var(--color-onPrimaryContainer);
8
+ width: 100%;
9
+ overflow: hidden;
10
+
11
+ &:not(:disabled, [data-active='true']):hover {
12
+ background-color: var(--color-primaryContainer);
13
+ }
14
+
15
+ &:not(:disabled):active {
16
+ filter: brightness(0.95);
17
+ }
18
+
19
+ &[data-active='true'] {
20
+ background-color: var(--color-inversePrimary);
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,21 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer components {
4
+ [data-button-filled] {
5
+ @apply button-text-base;
6
+ background-color: var(--color-primary);
7
+ color: var(--color-onPrimary);
8
+
9
+ &:not(:disabled, [data-active='true']):hover {
10
+ filter: brightness(1.2);
11
+ }
12
+
13
+ &:not(:disabled):active {
14
+ filter: brightness(1);
15
+ }
16
+
17
+ &[data-active='true'] {
18
+ filter: brightness(1.3);
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,42 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer components {
4
+ [data-button-icon] {
5
+ @apply button-base;
6
+ flex-grow: 0;
7
+ flex-shrink: 0;
8
+ border-radius: 50%;
9
+ background-color: transparent;
10
+ color: var(--color-onPrimaryContainer);
11
+ padding: --spacing(1.5);
12
+ aspect-ratio: 1/1;
13
+ line-height: 1;
14
+
15
+ .button-spinner {
16
+ display: flex;
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ justify-content: center;
21
+ align-items: center;
22
+ width: 100%;
23
+ height: 100%;
24
+ }
25
+
26
+ .button-body {
27
+ line-height: 0;
28
+ }
29
+
30
+ &:not(:disabled, [data-active='true']):hover {
31
+ background-color: var(--color-primaryContainer);
32
+ }
33
+
34
+ &:not(:disabled):active {
35
+ filter: brightness(0.95);
36
+ }
37
+
38
+ &[data-active='true'] {
39
+ background-color: var(--color-inversePrimary);
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,21 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer components {
4
+ [data-button-outlined] {
5
+ @apply button-text-base border-onBackground/20 border border-solid;
6
+ background-color: transparent;
7
+ color: var(--color-onPrimaryContainer);
8
+
9
+ &:not(:disabled, [data-active='true']):hover {
10
+ background-color: var(--color-primaryContainer);
11
+ }
12
+
13
+ &:not(:disabled):active {
14
+ filter: brightness(0.95);
15
+ }
16
+
17
+ &[data-active='true'] {
18
+ background-color: var(--color-inversePrimary);
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ @reference './button_utils.css';
2
+
3
+ @layer components {
4
+ [data-button-text] {
5
+ @apply button-text-base;
6
+ transition-property: background-color, opacity, filter;
7
+ background-color: transparent;
8
+ color: var(--color-onPrimaryContainer);
9
+
10
+ &:not(:disabled, [data-active='true']):hover {
11
+ background-color: var(--color-primaryContainer);
12
+ }
13
+
14
+ &:not(:disabled):active {
15
+ filter: brightness(0.95);
16
+ }
17
+
18
+ &[data-active='true'] {
19
+ background-color: var(--color-inversePrimary);
20
+ }
21
+ }
22
+ }
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/avatar.scss';
2
+ import './styles/avatar.css';
3
3
  import { Avatar as BitAvatar, type AvatarRootProps } from 'bits-ui';
4
4
  import type { Snippet } from 'svelte';
5
5
 
@@ -1,4 +1,4 @@
1
- import './styles/avatar.scss';
1
+ import './styles/avatar.css';
2
2
  import { type AvatarRootProps } from 'bits-ui';
3
3
  import type { Snippet } from 'svelte';
4
4
  export type AvatarProps = AvatarRootProps & {
@@ -1,4 +1,5 @@
1
1
  <script lang="ts">
2
+ import './styles/breadcrumb.css';
2
3
  import type { HTMLAttributes } from 'svelte/elements';
3
4
 
4
5
  let { children, ...rest }: HTMLAttributes<HTMLDivElement> = $props();
@@ -9,26 +10,3 @@
9
10
  {@render children()}
10
11
  {/if}
11
12
  </div>
12
-
13
- <style>:global([data-breadcrumb]) {
14
- position: relative;
15
- padding: 0;
16
- margin: 0;
17
- box-sizing: border-box;
18
- }
19
-
20
- :global([data-breadcrumb] > a) {
21
- padding: 0;
22
- margin: 0;
23
- color: var(--color-info);
24
- text-decoration: none;
25
- }
26
- :global([data-breadcrumb] > a):not(:last-child)::after {
27
- content: "/";
28
- color: currentColor;
29
- padding: 0 var(--gap--half);
30
- }
31
- :global([data-breadcrumb] > a):last-child {
32
- pointer-events: none;
33
- color: var(--color-primary);
34
- }</style>
@@ -1,3 +1,4 @@
1
+ import './styles/breadcrumb.css';
1
2
  import type { HTMLAttributes } from 'svelte/elements';
2
3
  declare const Breadcrumb: import("svelte").Component<HTMLAttributes<HTMLDivElement>, {}, "">;
3
4
  type Breadcrumb = ReturnType<typeof Breadcrumb>;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/card.scss';
2
+ import './styles/card.css';
3
3
  import type { SurfaceContainerProps } from './SurfaceContainer.svelte';
4
4
  import SurfaceContainer from './SurfaceContainer.svelte';
5
5
 
@@ -1,4 +1,4 @@
1
- import './styles/card.scss';
1
+ import './styles/card.css';
2
2
  import type { SurfaceContainerProps } from './SurfaceContainer.svelte';
3
3
  declare const Card: import("svelte").Component<SurfaceContainerProps, {}, "">;
4
4
  type Card = ReturnType<typeof Card>;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/container.scss';
2
+ import './styles/container.css';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  export interface ContainerProps extends HTMLAttributes<HTMLElement> {
@@ -1,4 +1,4 @@
1
- import './styles/container.scss';
1
+ import './styles/container.css';
2
2
  import type { HTMLAttributes } from 'svelte/elements';
3
3
  export interface ContainerProps extends HTMLAttributes<HTMLElement> {
4
4
  xs?: boolean;
@@ -27,14 +27,20 @@
27
27
  {/if}
28
28
  </div>
29
29
 
30
- <style>[data-spacer] {
31
- padding: 0;
32
- margin: 0;
33
- box-sizing: border-box;
34
- display: flex;
35
- position: relative;
36
- flex-wrap: wrap;
37
- justify-content: flex-start;
38
- align-items: flex-start;
39
- gap: var(--gap--half);
40
- }</style>
30
+ <style>
31
+ @reference '$style/index.css';
32
+
33
+ @layer components {
34
+ [data-spacer] {
35
+ padding: 0;
36
+ margin: 0;
37
+ box-sizing: border-box;
38
+ display: flex;
39
+ position: relative;
40
+ flex-wrap: wrap;
41
+ justify-content: flex-start;
42
+ align-items: flex-start;
43
+ gap: --spacing(2);
44
+ }
45
+ }
46
+ </style>
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/surface-container.scss';
2
+ import './styles/surface-container.css';
3
3
  import Container, { type ContainerProps } from './Container.svelte';
4
4
 
5
5
  export interface SurfaceContainerProps extends ContainerProps {
@@ -1,4 +1,4 @@
1
- import './styles/surface-container.scss';
1
+ import './styles/surface-container.css';
2
2
  import { type ContainerProps } from './Container.svelte';
3
3
  export interface SurfaceContainerProps extends ContainerProps {
4
4
  elevated?: 0 | 1 | 2 | 3 | 4 | 5;
@@ -0,0 +1,20 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-avatar-root] {
5
+ display: block;
6
+ position: relative;
7
+ background-color: var(--color-surfaceContainerHigh);
8
+ aspect-ratio: 1;
9
+ width: var(--size);
10
+ border-radius: 50%;
11
+ overflow: hidden;
12
+ }
13
+
14
+ [data-avatar-image],
15
+ [data-avatar-fallback] {
16
+ object-fit: cover;
17
+ width: 100%;
18
+ height: 100%;
19
+ }
20
+ }
@@ -0,0 +1,27 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-breadcrumb] {
5
+ position: relative;
6
+ padding: 0;
7
+ margin: 0;
8
+ box-sizing: border-box;
9
+
10
+ & > a {
11
+ padding: 0;
12
+ margin: 0;
13
+ color: var(--color-info);
14
+ text-decoration: none;
15
+
16
+ &:not(:last-child)::after {
17
+ content: ' /';
18
+ color: currentColor;
19
+ }
20
+
21
+ &:last-child {
22
+ pointer-events: none;
23
+ color: var(--color-primary);
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,7 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-card] {
5
+ @apply shadow-lg;
6
+ }
7
+ }
@@ -0,0 +1,26 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-container] {
5
+ position: relative;
6
+ margin: 0 auto;
7
+ padding: --spacing(4);
8
+ box-sizing: border-box;
9
+
10
+ &[data-xs='true'] {
11
+ max-width: var(--breakpoint-xs);
12
+ }
13
+
14
+ &[data-sm='true'] {
15
+ max-width: var(--breakpoint--sm);
16
+ }
17
+
18
+ &[data-md='true'] {
19
+ max-width: var(--breakpoint--md);
20
+ }
21
+
22
+ &[data-fluid='true'] {
23
+ width: 100%;
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,29 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-surface-container] {
5
+ --color-background: var(--color-surface);
6
+
7
+ border-radius: var(--radius-4xl);
8
+ background-color: var(--color-background);
9
+
10
+ &[data-elevated='0'] {
11
+ --color-background: var(--color-surfaceContainerLowest);
12
+ }
13
+ &[data-elevated='1'] {
14
+ --color-background: var(--color-surface);
15
+ }
16
+ &[data-elevated='2'] {
17
+ --color-background: var(--color-surfaceContainerLow);
18
+ }
19
+ &[data-elevated='3'] {
20
+ --color-background: var(--color-surfaceContainer);
21
+ }
22
+ &[data-elevated='4'] {
23
+ --color-background: var(--color-surfaceContainerHigh);
24
+ }
25
+ &[data-elevated='5'] {
26
+ --color-background: var(--color-surfaceContainerHighest);
27
+ }
28
+ }
29
+ }