@deepfuture/dui-theme-default 0.0.1

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 (168) hide show
  1. package/base.d.ts +6 -0
  2. package/base.js +13 -0
  3. package/components/accordion-item.d.ts +1 -0
  4. package/components/accordion-item.js +89 -0
  5. package/components/accordion.d.ts +1 -0
  6. package/components/accordion.js +6 -0
  7. package/components/alert-dialog-popup.d.ts +1 -0
  8. package/components/alert-dialog-popup.js +72 -0
  9. package/components/alert-dialog.d.ts +1 -0
  10. package/components/alert-dialog.js +2 -0
  11. package/components/avatar.d.ts +1 -0
  12. package/components/avatar.js +22 -0
  13. package/components/badge.d.ts +1 -0
  14. package/components/badge.js +58 -0
  15. package/components/breadcrumb-ellipsis.d.ts +1 -0
  16. package/components/breadcrumb-ellipsis.js +7 -0
  17. package/components/breadcrumb-item.d.ts +1 -0
  18. package/components/breadcrumb-item.js +6 -0
  19. package/components/breadcrumb-link.d.ts +1 -0
  20. package/components/breadcrumb-link.js +16 -0
  21. package/components/breadcrumb-page.d.ts +1 -0
  22. package/components/breadcrumb-page.js +7 -0
  23. package/components/breadcrumb-separator.d.ts +1 -0
  24. package/components/breadcrumb-separator.js +7 -0
  25. package/components/breadcrumb.d.ts +1 -0
  26. package/components/breadcrumb.js +9 -0
  27. package/components/button.d.ts +1 -0
  28. package/components/button.js +137 -0
  29. package/components/calendar.d.ts +1 -0
  30. package/components/calendar.js +88 -0
  31. package/components/center.d.ts +1 -0
  32. package/components/center.js +2 -0
  33. package/components/checkbox-group.d.ts +1 -0
  34. package/components/checkbox-group.js +10 -0
  35. package/components/checkbox.d.ts +1 -0
  36. package/components/checkbox.js +53 -0
  37. package/components/collapsible.d.ts +1 -0
  38. package/components/collapsible.js +80 -0
  39. package/components/combobox.d.ts +1 -0
  40. package/components/combobox.js +99 -0
  41. package/components/command-empty.d.ts +1 -0
  42. package/components/command-empty.js +8 -0
  43. package/components/command-group.d.ts +1 -0
  44. package/components/command-group.js +13 -0
  45. package/components/command-input.d.ts +1 -0
  46. package/components/command-input.js +24 -0
  47. package/components/command-item.d.ts +1 -0
  48. package/components/command-item.js +24 -0
  49. package/components/command-list.d.ts +1 -0
  50. package/components/command-list.js +11 -0
  51. package/components/command-separator.d.ts +1 -0
  52. package/components/command-separator.js +8 -0
  53. package/components/command-shortcut.d.ts +1 -0
  54. package/components/command-shortcut.js +7 -0
  55. package/components/command.d.ts +1 -0
  56. package/components/command.js +8 -0
  57. package/components/data-table.d.ts +1 -0
  58. package/components/data-table.js +113 -0
  59. package/components/dialog-popup.d.ts +1 -0
  60. package/components/dialog-popup.js +72 -0
  61. package/components/dialog.d.ts +1 -0
  62. package/components/dialog.js +2 -0
  63. package/components/dropzone.d.ts +1 -0
  64. package/components/dropzone.js +32 -0
  65. package/components/hstack.d.ts +1 -0
  66. package/components/hstack.js +2 -0
  67. package/components/input.d.ts +1 -0
  68. package/components/input.js +53 -0
  69. package/components/link.d.ts +1 -0
  70. package/components/link.js +2 -0
  71. package/components/menu-item.d.ts +1 -0
  72. package/components/menu-item.js +36 -0
  73. package/components/menu.d.ts +1 -0
  74. package/components/menu.js +2 -0
  75. package/components/menubar.d.ts +1 -0
  76. package/components/menubar.js +10 -0
  77. package/components/number-field.d.ts +1 -0
  78. package/components/number-field.js +55 -0
  79. package/components/page-inset.d.ts +1 -0
  80. package/components/page-inset.js +2 -0
  81. package/components/popover-popup.d.ts +1 -0
  82. package/components/popover-popup.js +2 -0
  83. package/components/popover.d.ts +1 -0
  84. package/components/popover.js +2 -0
  85. package/components/portal.d.ts +1 -0
  86. package/components/portal.js +2 -0
  87. package/components/preview-card-popup.d.ts +1 -0
  88. package/components/preview-card-popup.js +2 -0
  89. package/components/preview-card.d.ts +1 -0
  90. package/components/preview-card.js +2 -0
  91. package/components/progress.d.ts +1 -0
  92. package/components/progress.js +32 -0
  93. package/components/radio-group.d.ts +1 -0
  94. package/components/radio-group.js +6 -0
  95. package/components/radio.d.ts +1 -0
  96. package/components/radio.js +47 -0
  97. package/components/scroll-area.d.ts +1 -0
  98. package/components/scroll-area.js +45 -0
  99. package/components/select.d.ts +1 -0
  100. package/components/select.js +44 -0
  101. package/components/separator.d.ts +1 -0
  102. package/components/separator.js +17 -0
  103. package/components/sidebar-content.d.ts +1 -0
  104. package/components/sidebar-content.js +2 -0
  105. package/components/sidebar-footer.d.ts +1 -0
  106. package/components/sidebar-footer.js +2 -0
  107. package/components/sidebar-group-label.d.ts +1 -0
  108. package/components/sidebar-group-label.js +19 -0
  109. package/components/sidebar-group.d.ts +1 -0
  110. package/components/sidebar-group.js +6 -0
  111. package/components/sidebar-header.d.ts +1 -0
  112. package/components/sidebar-header.js +6 -0
  113. package/components/sidebar-inset.d.ts +1 -0
  114. package/components/sidebar-inset.js +2 -0
  115. package/components/sidebar-menu-button.d.ts +1 -0
  116. package/components/sidebar-menu-button.js +82 -0
  117. package/components/sidebar-menu-item.d.ts +1 -0
  118. package/components/sidebar-menu-item.js +2 -0
  119. package/components/sidebar-menu.d.ts +1 -0
  120. package/components/sidebar-menu.js +6 -0
  121. package/components/sidebar-provider.d.ts +1 -0
  122. package/components/sidebar-provider.js +28 -0
  123. package/components/sidebar-separator.d.ts +1 -0
  124. package/components/sidebar-separator.js +8 -0
  125. package/components/sidebar-trigger.d.ts +1 -0
  126. package/components/sidebar-trigger.js +8 -0
  127. package/components/sidebar.d.ts +1 -0
  128. package/components/sidebar.js +90 -0
  129. package/components/slider.d.ts +1 -0
  130. package/components/slider.js +57 -0
  131. package/components/spinner.d.ts +1 -0
  132. package/components/spinner.js +24 -0
  133. package/components/switch.d.ts +1 -0
  134. package/components/switch.js +69 -0
  135. package/components/tab.d.ts +1 -0
  136. package/components/tab.js +34 -0
  137. package/components/tabs-indicator.d.ts +1 -0
  138. package/components/tabs-indicator.js +10 -0
  139. package/components/tabs-list.d.ts +1 -0
  140. package/components/tabs-list.js +13 -0
  141. package/components/tabs-panel.d.ts +1 -0
  142. package/components/tabs-panel.js +13 -0
  143. package/components/tabs.d.ts +1 -0
  144. package/components/tabs.js +2 -0
  145. package/components/textarea.d.ts +1 -0
  146. package/components/textarea.js +76 -0
  147. package/components/toggle-group.d.ts +1 -0
  148. package/components/toggle-group.js +9 -0
  149. package/components/toggle.d.ts +1 -0
  150. package/components/toggle.js +34 -0
  151. package/components/toolbar.d.ts +1 -0
  152. package/components/toolbar.js +49 -0
  153. package/components/tooltip-popup.d.ts +1 -0
  154. package/components/tooltip-popup.js +2 -0
  155. package/components/tooltip.d.ts +1 -0
  156. package/components/tooltip.js +2 -0
  157. package/components/trunc.d.ts +1 -0
  158. package/components/trunc.js +9 -0
  159. package/components/vstack.d.ts +1 -0
  160. package/components/vstack.js +2 -0
  161. package/index.d.ts +82 -0
  162. package/index.js +246 -0
  163. package/package.json +360 -0
  164. package/tokens-raw.d.ts +2 -0
  165. package/tokens-raw.js +2 -0
  166. package/tokens.css +338 -0
  167. package/tokens.d.ts +2 -0
  168. package/tokens.js +4 -0
package/base.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Themed base styles — minor :host defaults.
3
+ * Visual defaults (color, font-family, line-height, font-smoothing)
4
+ * live on :root in tokens.css so they cascade naturally.
5
+ */
6
+ export declare const themedBase: import("lit").CSSResult;
package/base.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Themed base styles — minor :host defaults.
3
+ * Visual defaults (color, font-family, line-height, font-smoothing)
4
+ * live on :root in tokens.css so they cascade naturally.
5
+ */
6
+ import { css } from "lit";
7
+ export const themedBase = css `
8
+ :host {
9
+ font-size: inherit;
10
+ letter-spacing: inherit;
11
+ font-optical-sizing: auto;
12
+ }
13
+ `;
@@ -0,0 +1 @@
1
+ export declare const accordionItemStyles: import("lit").CSSResult;
@@ -0,0 +1,89 @@
1
+ import { css } from "lit";
2
+ export const accordionItemStyles = css `
3
+ /* ── Item ── */
4
+
5
+ [part="item"] {
6
+ border-bottom: var(
7
+ --accordion-item-border,
8
+ var(--border-width-thin) solid var(--border)
9
+ );
10
+ }
11
+
12
+ /* ── Trigger ── */
13
+
14
+ [part="trigger"] {
15
+ gap: var(--space-4);
16
+ padding-block: var(--space-2);
17
+ padding-inline: 0;
18
+ color: var(--foreground);
19
+ font-family: var(--font-sans);
20
+ font-weight: var(--font-weight-semibold);
21
+ font-size: var(--font-size-sm);
22
+ height: var(--component-height-md);
23
+ line-height: var(--line-height-normal);
24
+ border-radius: var(--radius-sm);
25
+ transition-duration: var(--duration-fast);
26
+ transition-timing-function: var(--ease-out-3);
27
+ }
28
+
29
+ @media (hover: hover) {
30
+ [part="trigger"]:hover {
31
+ background: color-mix(in oklch, var(--muted) 50%, transparent);
32
+ }
33
+ }
34
+
35
+ [part="trigger"]:focus-visible {
36
+ box-shadow:
37
+ 0 0 0 var(--space-0_5) var(--background),
38
+ 0 0 0 var(--space-1) var(--ring);
39
+ z-index: 1;
40
+ }
41
+
42
+ [part="trigger"][data-disabled] {
43
+ opacity: 0.5;
44
+ }
45
+
46
+ /* ── Indicator ── */
47
+
48
+ [part="indicator"] {
49
+ width: var(--space-4);
50
+ height: var(--space-4);
51
+ transition-duration: var(--duration-fast);
52
+ transition-timing-function: var(--ease-out-3);
53
+ }
54
+
55
+ [part="trigger"][data-open] [part="indicator"] {
56
+ transform: rotate(180deg);
57
+ }
58
+
59
+ /* ── Panel ── */
60
+
61
+ [part="panel"] {
62
+ transition-duration: var(--duration-fast);
63
+ transition-timing-function: var(--ease-out-3);
64
+ }
65
+
66
+ [part="panel"][data-starting-style],
67
+ [part="panel"][data-ending-style] {
68
+ height: 0;
69
+ }
70
+
71
+ [part="content"] {
72
+ padding: 0 0 var(--space-3);
73
+ font-family: var(--font-sans);
74
+ font-size: var(--font-size-sm);
75
+ font-weight: var(--font-weight-regular);
76
+ line-height: var(--line-height-normal);
77
+ color: color-mix(in oklch, var(--foreground) 80%, transparent);
78
+ }
79
+
80
+ /* ── Reduced motion ── */
81
+
82
+ @media (prefers-reduced-motion: reduce) {
83
+ [part="trigger"],
84
+ [part="indicator"],
85
+ [part="panel"] {
86
+ transition-duration: 0s;
87
+ }
88
+ }
89
+ `;
@@ -0,0 +1 @@
1
+ export declare const accordionStyles: import("lit").CSSResult;
@@ -0,0 +1,6 @@
1
+ import { css } from "lit";
2
+ export const accordionStyles = css `
3
+ ::slotted(:last-child) {
4
+ --accordion-item-border: none;
5
+ }
6
+ `;
@@ -0,0 +1 @@
1
+ export declare const alertDialogPopupStyles: import("lit").CSSResult;
@@ -0,0 +1,72 @@
1
+ import { css } from "lit";
2
+ export const alertDialogPopupStyles = css `
3
+ /* ── Backdrop ── */
4
+
5
+ [part="backdrop"] {
6
+ background: black;
7
+ opacity: 0.2;
8
+ transition: opacity var(--duration-fast) var(--ease-out-3);
9
+ }
10
+
11
+ @container style(--theme: dark) {
12
+ [part="backdrop"] {
13
+ opacity: 0.7;
14
+ }
15
+ }
16
+
17
+ [part="backdrop"][data-starting-style],
18
+ [part="backdrop"][data-ending-style] {
19
+ opacity: 0;
20
+ }
21
+
22
+ /* ── Popup ── */
23
+
24
+ [part="popup"] {
25
+ margin-top: calc(-1 * var(--space-8));
26
+ padding: var(--space-6);
27
+ border-radius: var(--radius-lg);
28
+ border: var(--border-width-thin) solid var(--border);
29
+ background: var(--card);
30
+ color: var(--card-foreground);
31
+ font-family: var(--font-sans);
32
+ transition-duration: var(--duration-fast);
33
+ }
34
+
35
+ [part="popup"][data-starting-style],
36
+ [part="popup"][data-ending-style] {
37
+ opacity: 0;
38
+ transform: translate(-50%, -50%) scale(0.9);
39
+ }
40
+
41
+ /* ── Title ── */
42
+
43
+ [part="title"] {
44
+ margin-top: calc(-1 * var(--space-1));
45
+ margin-bottom: var(--space-1);
46
+ font-family: var(--font-sans);
47
+ font-size: var(--font-size-lg);
48
+ letter-spacing: var(--letter-spacing-tighter);
49
+ line-height: var(--line-height-tight);
50
+ font-weight: var(--font-weight-medium);
51
+ color: var(--foreground);
52
+ }
53
+
54
+ /* ── Description ── */
55
+
56
+ [part="description"] {
57
+ margin: 0 0 var(--space-6);
58
+ font-family: var(--font-sans);
59
+ font-size: var(--font-size-md);
60
+ line-height: var(--line-height-normal);
61
+ color: var(--muted-foreground);
62
+ }
63
+
64
+ /* ── Reduced motion ── */
65
+
66
+ @media (prefers-reduced-motion: reduce) {
67
+ [part="backdrop"],
68
+ [part="popup"] {
69
+ transition-duration: 0s;
70
+ }
71
+ }
72
+ `;
@@ -0,0 +1 @@
1
+ export declare const alertDialogStyles: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { css } from "lit";
2
+ export const alertDialogStyles = css ``;
@@ -0,0 +1 @@
1
+ export declare const avatarStyles: import("lit").CSSResult;
@@ -0,0 +1,22 @@
1
+ import { css } from "lit";
2
+ export const avatarStyles = css `
3
+ :host {
4
+ --avatar-bg: var(--muted);
5
+ --avatar-fg: var(--muted-foreground);
6
+ }
7
+
8
+ [part="root"] {
9
+ --icon-size: calc(var(--avatar-size) * 0.5);
10
+ --icon-color: var(--avatar-fg);
11
+ border-radius: var(--radius-full);
12
+ background: var(--avatar-bg);
13
+ color: var(--avatar-fg);
14
+ }
15
+
16
+ [part="fallback"] {
17
+ font-family: var(--font-sans);
18
+ font-size: calc(var(--avatar-size) * 0.4);
19
+ font-weight: var(--font-weight-medium);
20
+ line-height: var(--line-height-none);
21
+ }
22
+ `;
@@ -0,0 +1 @@
1
+ export declare const badgeStyles: import("lit").CSSResult;
@@ -0,0 +1,58 @@
1
+ import { css } from "lit";
2
+ export const badgeStyles = css `
3
+ :host {
4
+ --badge-bg: var(--primary);
5
+ --badge-fg: var(--primary-foreground);
6
+ --badge-border: transparent;
7
+ --badge-icon-size: var(--space-3);
8
+ --icon-size: var(--badge-icon-size);
9
+ --icon-color: var(--badge-fg);
10
+ }
11
+
12
+ :host([variant="secondary"]) {
13
+ --badge-bg: var(--secondary);
14
+ --badge-fg: var(--secondary-foreground);
15
+ }
16
+
17
+ :host([variant="destructive"]) {
18
+ --badge-bg: var(--destructive);
19
+ --badge-fg: var(--destructive-foreground);
20
+ }
21
+
22
+ :host([variant="outline"]) {
23
+ --badge-bg: transparent;
24
+ --badge-fg: var(--primary);
25
+ --badge-border: color-mix(in oklch, var(--primary) 25%, transparent);
26
+ }
27
+
28
+ :host([variant="success"]) {
29
+ --badge-bg: var(--success);
30
+ --badge-fg: var(--success-foreground);
31
+ }
32
+
33
+ :host([variant="warning"]) {
34
+ --badge-bg: var(--warning);
35
+ --badge-fg: var(--warning-foreground);
36
+ }
37
+
38
+ :host([variant="info"]) {
39
+ --badge-bg: var(--info);
40
+ --badge-fg: var(--info-foreground);
41
+ }
42
+
43
+ [part="root"] {
44
+ gap: var(--space-1);
45
+ height: var(--space-5);
46
+ padding: 0 var(--space-2);
47
+ border-radius: var(--radius-full);
48
+ background: var(--badge-bg);
49
+ color: var(--badge-fg);
50
+ font-family: var(--font-sans);
51
+ font-size: var(--font-size-xs);
52
+ letter-spacing: var(--letter-spacing-normal);
53
+ font-weight: var(--font-weight-medium);
54
+ line-height: var(--line-height-snug);
55
+ white-space: nowrap;
56
+ border: var(--border-width-thin) solid var(--badge-border);
57
+ }
58
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbEllipsisStyles: import("lit").CSSResult;
@@ -0,0 +1,7 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbEllipsisStyles = css `
3
+ [part="root"] {
4
+ color: var(--muted-foreground);
5
+ width: var(--space-4);
6
+ }
7
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbItemStyles: import("lit").CSSResult;
@@ -0,0 +1,6 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbItemStyles = css `
3
+ [part="root"] {
4
+ gap: var(--space-1_5);
5
+ }
6
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbLinkStyles: import("lit").CSSResult;
@@ -0,0 +1,16 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbLinkStyles = css `
3
+ [part="root"] {
4
+ color: var(--muted-foreground);
5
+ }
6
+
7
+ [part="root"] ::slotted(a) {
8
+ color: inherit;
9
+ text-decoration: none;
10
+ transition: color var(--duration-fast);
11
+ }
12
+
13
+ [part="root"] ::slotted(a:hover) {
14
+ color: var(--foreground);
15
+ }
16
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbPageStyles: import("lit").CSSResult;
@@ -0,0 +1,7 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbPageStyles = css `
3
+ [part="root"] {
4
+ color: var(--foreground);
5
+ font-weight: var(--font-weight-regular);
6
+ }
7
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbSeparatorStyles: import("lit").CSSResult;
@@ -0,0 +1,7 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbSeparatorStyles = css `
3
+ [part="root"] {
4
+ --icon-size: var(--space-3_5);
5
+ color: color-mix(in oklch, var(--muted-foreground) 50%, transparent);
6
+ }
7
+ `;
@@ -0,0 +1 @@
1
+ export declare const breadcrumbStyles: import("lit").CSSResult;
@@ -0,0 +1,9 @@
1
+ import { css } from "lit";
2
+ export const breadcrumbStyles = css `
3
+ [part="root"] {
4
+ gap: var(--space-2);
5
+ font-size: var(--font-size-sm);
6
+ font-family: var(--font-sans);
7
+ color: var(--muted-foreground);
8
+ }
9
+ `;
@@ -0,0 +1 @@
1
+ export declare const buttonStyles: import("lit").CSSResult;
@@ -0,0 +1,137 @@
1
+ import { css } from "lit";
2
+ export const buttonStyles = css `
3
+ /* ---------------------------------------------------------------
4
+ * Variables: only what variants and sizes actually toggle.
5
+ * Everything else — filters, transforms, clip-paths, shadows,
6
+ * text-decoration — consumers style via ::part(root).
7
+ * --------------------------------------------------------------- */
8
+ :host {
9
+ --button-bg: var(--primary);
10
+ --button-fg: var(--primary-foreground);
11
+ --button-border: transparent;
12
+ --button-hover-bg: color-mix(in oklch, var(--button-bg) 95%, var(--foreground));
13
+ --button-active-bg: color-mix(in oklch, var(--button-bg) 90%, var(--foreground));
14
+ --button-height: var(--component-height-md);
15
+ --button-width: auto;
16
+ --button-padding-y: var(--space-2);
17
+ --button-padding-x: var(--space-2_5);
18
+ --button-gap: var(--space-1_5);
19
+ --button-radius: var(--radius-md);
20
+ --button-font-size: var(--font-size-sm);
21
+ --button-icon-size: var(--space-4_5);
22
+ }
23
+
24
+ /* --- Variants (swap colors) --- */
25
+
26
+ :host([variant="secondary"]) {
27
+ --button-bg: var(--secondary);
28
+ --button-fg: var(--secondary-foreground);
29
+ --button-border: transparent;
30
+ }
31
+
32
+ :host([variant="destructive"]) {
33
+ --button-bg: var(--destructive);
34
+ --button-fg: var(--destructive-foreground);
35
+ --button-border: transparent;
36
+ }
37
+
38
+ :host([variant="outline"]) {
39
+ --button-fg: var(--foreground);
40
+ --button-border: var(--input);
41
+ --button-bg: var(--input-bg);
42
+ --button-hover-bg: var(--muted);
43
+ --button-active-bg: var(--muted);
44
+ }
45
+
46
+ :host([variant="ghost"]) {
47
+ --button-bg: transparent;
48
+ --button-fg: var(--foreground);
49
+ --button-border: transparent;
50
+ --button-hover-bg: var(--muted);
51
+ --button-active-bg: var(--muted);
52
+ }
53
+
54
+ :host([variant="link"]) {
55
+ --button-bg: transparent;
56
+ --button-fg: var(--foreground);
57
+ --button-border: transparent;
58
+ --button-hover-bg: transparent;
59
+ --button-active-bg: transparent;
60
+ }
61
+
62
+ /* --- Sizes (swap dimensions) --- */
63
+
64
+ :host([size="sm"]) {
65
+ --button-height: var(--component-height-sm);
66
+ --button-padding-y: var(--space-1_5);
67
+ --button-padding-x: var(--space-2);
68
+ --button-gap: var(--space-1);
69
+ --button-font-size: var(--font-size-xs);
70
+ --button-icon-size: var(--space-4);
71
+ }
72
+
73
+ :host([size="lg"]) {
74
+ --button-height: var(--component-height-lg);
75
+ --button-padding-y: var(--space-2_5);
76
+ --button-padding-x: var(--space-3);
77
+ --button-gap: var(--space-1_5);
78
+ --button-font-size: var(--font-size-sm);
79
+ --button-icon-size: var(--space-4_5);
80
+ }
81
+
82
+ /* --- Base appearance --- */
83
+
84
+ [part="root"] {
85
+ --icon-size: var(--button-icon-size);
86
+ --icon-color: var(--button-fg);
87
+ gap: var(--button-gap);
88
+ padding: var(--button-padding-y) var(--button-padding-x);
89
+ width: var(--button-width);
90
+ height: var(--button-height);
91
+ border: var(--border-width-thin) solid var(--button-border);
92
+ border-radius: var(--button-radius);
93
+ background: var(--button-bg);
94
+ color: var(--button-fg);
95
+ font-family: var(--font-sans);
96
+ font-weight: var(--font-weight-medium);
97
+ font-size: var(--button-font-size);
98
+ letter-spacing: var(--letter-spacing-tight);
99
+ line-height: var(--line-height-snug);
100
+ white-space: nowrap;
101
+ transition-duration: var(--duration-faster);
102
+ transition-timing-function: var(--ease-out-3);
103
+ }
104
+
105
+ /* --- Interactive states --- */
106
+
107
+ [part="root"]:hover:not(:disabled):not([aria-disabled="true"]) {
108
+ background: var(--button-hover-bg);
109
+ }
110
+
111
+ [part="root"]:active:not(:disabled):not([aria-disabled="true"]) {
112
+ background: var(--button-active-bg);
113
+ }
114
+
115
+ [part="root"]:focus-visible {
116
+ outline: none;
117
+ box-shadow:
118
+ 0 0 0 var(--space-0_5) var(--background),
119
+ 0 0 0 var(--space-1) var(--ring);
120
+ }
121
+
122
+ [part="root"]:disabled,
123
+ [part="root"][aria-disabled="true"] {
124
+ opacity: 0.2;
125
+ cursor: not-allowed;
126
+ }
127
+
128
+ :host([variant="link"])
129
+ [part="root"]:hover:not(:disabled):not([aria-disabled="true"]) {
130
+ text-decoration: underline;
131
+ text-underline-offset: 4px;
132
+ }
133
+
134
+ :host([data-open]) [part="root"]:not(:disabled):not([aria-disabled="true"]) {
135
+ background: var(--button-hover-bg);
136
+ }
137
+ `;
@@ -0,0 +1 @@
1
+ export declare const calendarStyles: import("lit").CSSResult;
@@ -0,0 +1,88 @@
1
+ import { css } from "lit";
2
+ export const calendarStyles = css `
3
+ [part="root"] {
4
+ padding: var(--space-3);
5
+ font-family: var(--font-sans);
6
+ font-size: var(--font-size-sm);
7
+ }
8
+
9
+ [part="header"] {
10
+ padding-bottom: var(--space-2);
11
+ }
12
+
13
+ [part="heading"] {
14
+ font-size: var(--font-size-sm);
15
+ font-weight: var(--font-weight-medium);
16
+ color: var(--foreground);
17
+ }
18
+
19
+ [part="prev"],
20
+ [part="next"] {
21
+ width: var(--space-7);
22
+ height: var(--space-7);
23
+ border-radius: var(--radius-md);
24
+ color: var(--muted-foreground);
25
+ font-size: var(--font-size-lg);
26
+ transition-property: background, color;
27
+ transition-duration: var(--duration-fast);
28
+ }
29
+
30
+ @media (hover: hover) {
31
+ [part="prev"]:hover,
32
+ [part="next"]:hover {
33
+ background: var(--muted);
34
+ color: var(--foreground);
35
+ }
36
+ }
37
+
38
+ [part="weekday"] {
39
+ width: var(--space-8);
40
+ height: var(--space-8);
41
+ font-size: var(--font-size-xs);
42
+ font-weight: var(--font-weight-normal);
43
+ color: var(--muted-foreground);
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ }
48
+
49
+ [part="day"] {
50
+ width: var(--space-8);
51
+ height: var(--space-8);
52
+ border-radius: var(--radius-md);
53
+ font-size: var(--font-size-sm);
54
+ color: var(--foreground);
55
+ transition-property: background, color;
56
+ transition-duration: var(--duration-fast);
57
+ }
58
+
59
+ @media (hover: hover) {
60
+ [part="day"]:hover:not(:disabled):not([data-selected]) {
61
+ background: var(--muted);
62
+ }
63
+ }
64
+
65
+ [part="day"][data-today]:not([data-selected]) {
66
+ background: var(--accent);
67
+ color: var(--accent-foreground);
68
+ }
69
+
70
+ [part="day"][data-selected] {
71
+ background: var(--primary);
72
+ color: var(--primary-foreground);
73
+ }
74
+
75
+ [part="day"][data-outside-month] {
76
+ color: var(--muted-foreground);
77
+ opacity: 0.5;
78
+ }
79
+
80
+ [part="day"]:disabled {
81
+ opacity: 0.3;
82
+ }
83
+
84
+ [part="day"]:focus-visible {
85
+ outline: 2px solid var(--ring);
86
+ outline-offset: 2px;
87
+ }
88
+ `;
@@ -0,0 +1 @@
1
+ export declare const centerStyles: import("lit").CSSResult;
@@ -0,0 +1,2 @@
1
+ import { css } from "lit";
2
+ export const centerStyles = css ``;
@@ -0,0 +1 @@
1
+ export declare const checkboxGroupStyles: import("lit").CSSResult;
@@ -0,0 +1,10 @@
1
+ import { css } from "lit";
2
+ export const checkboxGroupStyles = css `
3
+ [part="root"] {
4
+ gap: var(--space-1);
5
+ }
6
+
7
+ [part="root"][data-disabled] {
8
+ opacity: 0.5;
9
+ }
10
+ `;
@@ -0,0 +1 @@
1
+ export declare const checkboxStyles: import("lit").CSSResult;