@tailor-platform/app-shell 1.15.0 → 1.17.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 (109) hide show
  1. package/dist/app-shell-core.css +1 -1
  2. package/dist/app-shell.d.ts +811 -131
  3. package/dist/app-shell.js +7155 -5797
  4. package/dist/{appshell-DLVBFo5J.js → appshell-CahhZy7v.js} +656 -524
  5. package/dist/semantic-contrast.test.ts +154 -0
  6. package/dist/style-entry.d.ts +147 -92
  7. package/dist/testing.d.ts +152 -95
  8. package/dist/testing.js +1 -1
  9. package/dist/theme-bridge.test.ts +101 -1
  10. package/dist/theme.bridge.css +91 -0
  11. package/dist/theme.css +6 -1
  12. package/dist/themes/_template.css +7 -1
  13. package/dist/themes/bloom.css +0 -6
  14. package/dist/themes/cream.css +0 -6
  15. package/dist/themes/default.css +389 -69
  16. package/dist/vite-plugin.d.ts +147 -92
  17. package/package.json +8 -8
  18. package/skills/app-shell-patterns/SKILL.md +108 -19
  19. package/skills/app-shell-patterns/references/api/create-ai-gateway-client.md +115 -0
  20. package/skills/app-shell-patterns/references/api/create-typed-paths.md +117 -0
  21. package/skills/app-shell-patterns/references/api/define-i18n-labels.md +143 -0
  22. package/skills/app-shell-patterns/references/api/define-module.md +247 -0
  23. package/skills/app-shell-patterns/references/api/define-resource.md +307 -0
  24. package/skills/app-shell-patterns/references/api/guards/hidden.md +202 -0
  25. package/skills/app-shell-patterns/references/api/guards/overview.md +354 -0
  26. package/skills/app-shell-patterns/references/api/guards/pass.md +129 -0
  27. package/skills/app-shell-patterns/references/api/guards/redirect-to.md +307 -0
  28. package/skills/app-shell-patterns/references/api/router/use-location.md +240 -0
  29. package/skills/app-shell-patterns/references/api/router/use-navigate.md +138 -0
  30. package/skills/app-shell-patterns/references/api/router/use-params.md +218 -0
  31. package/skills/app-shell-patterns/references/api/use-ai-chat.md +110 -0
  32. package/skills/app-shell-patterns/references/api/use-app-shell-config.md +132 -0
  33. package/skills/app-shell-patterns/references/api/use-app-shell-data.md +150 -0
  34. package/skills/app-shell-patterns/references/api/use-app-shell.md +150 -0
  35. package/skills/app-shell-patterns/references/api/use-auth.md +145 -0
  36. package/skills/app-shell-patterns/references/api/use-override-breadcrumb.md +74 -0
  37. package/skills/app-shell-patterns/references/api/use-page-meta.md +96 -0
  38. package/skills/app-shell-patterns/references/api/use-register-command-palette-actions.md +90 -0
  39. package/skills/app-shell-patterns/references/api/use-resolved-locale.md +67 -0
  40. package/skills/app-shell-patterns/references/api/use-route-error.md +214 -0
  41. package/skills/app-shell-patterns/references/api/use-theme.md +108 -0
  42. package/skills/app-shell-patterns/references/api/use-time-zone.md +80 -0
  43. package/skills/app-shell-patterns/references/api/use-toast.md +104 -0
  44. package/skills/app-shell-patterns/references/components/action-panel.md +168 -0
  45. package/skills/app-shell-patterns/references/components/activity-card.md +142 -0
  46. package/skills/app-shell-patterns/references/components/ai-chat.md +315 -0
  47. package/skills/app-shell-patterns/references/components/alert.md +202 -0
  48. package/skills/app-shell-patterns/references/components/app-shell.md +530 -0
  49. package/skills/app-shell-patterns/references/components/appearance-switcher.md +87 -0
  50. package/skills/app-shell-patterns/references/components/attachment.md +138 -0
  51. package/skills/app-shell-patterns/references/components/autocomplete.md +278 -0
  52. package/skills/app-shell-patterns/references/components/avatar.md +80 -0
  53. package/skills/app-shell-patterns/references/components/badge.md +309 -0
  54. package/skills/app-shell-patterns/references/components/button.md +164 -0
  55. package/skills/app-shell-patterns/references/components/card.md +181 -0
  56. package/skills/app-shell-patterns/references/components/checkbox.md +169 -0
  57. package/skills/app-shell-patterns/references/components/combobox.md +318 -0
  58. package/skills/app-shell-patterns/references/components/command-palette.md +413 -0
  59. package/skills/app-shell-patterns/references/components/csv-importer.md +214 -0
  60. package/skills/app-shell-patterns/references/components/data-table.md +1168 -0
  61. package/skills/app-shell-patterns/references/components/date-picker.md +259 -0
  62. package/skills/app-shell-patterns/references/components/default-header.md +75 -0
  63. package/skills/app-shell-patterns/references/components/default-sidebar.md +136 -0
  64. package/skills/app-shell-patterns/references/components/description-card.md +569 -0
  65. package/skills/app-shell-patterns/references/components/dialog.md +164 -0
  66. package/skills/app-shell-patterns/references/components/document-progress-card.md +154 -0
  67. package/skills/app-shell-patterns/references/components/filter-rail.md +165 -0
  68. package/skills/app-shell-patterns/references/components/form.md +378 -0
  69. package/skills/app-shell-patterns/references/components/global-header-layout.md +132 -0
  70. package/skills/app-shell-patterns/references/components/grid.md +184 -0
  71. package/skills/app-shell-patterns/references/components/input.md +83 -0
  72. package/skills/app-shell-patterns/references/components/layout.md +539 -0
  73. package/skills/app-shell-patterns/references/components/menu.md +218 -0
  74. package/skills/app-shell-patterns/references/components/metric-card.md +94 -0
  75. package/skills/app-shell-patterns/references/components/select.md +283 -0
  76. package/skills/app-shell-patterns/references/components/sheet.md +237 -0
  77. package/skills/app-shell-patterns/references/components/sidebar-group.md +472 -0
  78. package/skills/app-shell-patterns/references/components/sidebar-item.md +458 -0
  79. package/skills/app-shell-patterns/references/components/sidebar-layout.md +258 -0
  80. package/skills/app-shell-patterns/references/components/sidebar-section.md +114 -0
  81. package/skills/app-shell-patterns/references/components/spinner.md +81 -0
  82. package/skills/app-shell-patterns/references/components/table.md +188 -0
  83. package/skills/app-shell-patterns/references/components/tabs.md +158 -0
  84. package/skills/app-shell-patterns/references/components/textarea.md +122 -0
  85. package/skills/app-shell-patterns/references/components/timeline.md +317 -0
  86. package/skills/app-shell-patterns/references/components/toolbar.md +138 -0
  87. package/skills/app-shell-patterns/references/components/tooltip.md +144 -0
  88. package/skills/app-shell-patterns/references/components/with-guard.md +445 -0
  89. package/skills/app-shell-patterns/references/concepts/authentication.md +301 -0
  90. package/skills/app-shell-patterns/references/concepts/custom-components.md +59 -0
  91. package/skills/app-shell-patterns/references/concepts/file-based-routing.md +356 -0
  92. package/skills/app-shell-patterns/references/{fundamental → concepts}/graphql.md +31 -18
  93. package/skills/app-shell-patterns/references/concepts/modules-and-resources.md +229 -0
  94. package/skills/app-shell-patterns/references/concepts/routing-navigation.md +425 -0
  95. package/skills/app-shell-patterns/references/concepts/sidebar-navigation.md +420 -0
  96. package/skills/app-shell-patterns/references/concepts/styling-theming.md +785 -0
  97. package/skills/app-shell-patterns/references/migrations.md +55 -0
  98. package/skills/app-shell-patterns/references/pages/{detail.md → document-detail.md} +10 -33
  99. package/skills/app-shell-patterns/references/patterns/form-composer.md +43 -45
  100. package/skills/app-shell-patterns/references/patterns/form-modal.md +37 -92
  101. package/skills/app-shell-patterns/references/patterns/form-sectioned.md +12 -38
  102. package/skills/app-shell-patterns/references/patterns/form-single-page.md +11 -32
  103. package/skills/app-shell-patterns/references/patterns/form-wizard.md +12 -53
  104. package/skills/app-shell-patterns/references/patterns/interaction-confirm.md +11 -27
  105. package/skills/app-shell-patterns/references/patterns/interaction-multi-select.md +136 -139
  106. package/skills/app-shell-patterns/references/patterns/interaction-toast.md +10 -34
  107. package/skills/app-shell-patterns/references/patterns/list-dense-scan.md +13 -88
  108. package/skills/app-shell-patterns/references/fundamental/components.md +0 -1009
  109. package/skills/app-shell-patterns/references/fundamental/design-system.md +0 -440
@@ -14,6 +14,9 @@ const here = dirname(fileURLToPath(import.meta.url));
14
14
  const bridge = readFileSync(join(here, "theme.bridge.css"), "utf8");
15
15
  const defaultTheme = readFileSync(join(here, "themes/default.css"), "utf8");
16
16
 
17
+ /** Semantic colour roles: 5 intents x 8 roles, named `--{intent}-{role}`. */
18
+ const SEMANTIC_PREFIX = "(?:info|success|warning|danger|neutral)";
19
+
17
20
  /** Token names defined in the default palette for a given prefix, e.g. `alert`. */
18
21
  function definedTokens(prefix: string): string[] {
19
22
  const matches = defaultTheme.matchAll(new RegExp(`^\\s*--(${prefix}-[a-z-]+):`, "gm"));
@@ -29,7 +32,11 @@ function bridgedTokens(prefix: string): Map<string, string> {
29
32
  }
30
33
 
31
34
  describe("theme bridge", () => {
32
- describe.each(["alert", "status"])("--%s-* tokens", (prefix) => {
35
+ describe.each([
36
+ ["alert", "alert"],
37
+ ["status", "status"],
38
+ ["semantic colour role", SEMANTIC_PREFIX],
39
+ ])("--%s-* tokens", (_label, prefix) => {
33
40
  const defined = definedTokens(prefix);
34
41
  const bridged = bridgedTokens(prefix);
35
42
 
@@ -56,4 +63,97 @@ describe("theme bridge", () => {
56
63
  // both files — fails loudly.
57
64
  expect(bridgedTokens("alert").size).toBe(20);
58
65
  });
66
+
67
+ it("bridges all 40 semantic colour roles", () => {
68
+ // 5 intents x 8 roles, pinned for the same reason as the alert count.
69
+ expect(bridgedTokens(SEMANTIC_PREFIX).size).toBe(40);
70
+ });
71
+
72
+ describe("typography roles", () => {
73
+ const slots = ["size", "line-height", "weight", "letter-spacing"] as const;
74
+ /** `--app-shell-type-<role>-<slot>` variables in the default palette, grouped by role. */
75
+ const defined = new Map<string, Map<string, string>>();
76
+ for (const m of defaultTheme.matchAll(
77
+ /^\s*--app-shell-type-([a-z-]+)-(size|line-height|weight|letter-spacing):\s*([^;]+);/gm,
78
+ )) {
79
+ const role = m[1];
80
+ defined.set(role, (defined.get(role) ?? new Map()).set(m[2], m[3].trim()));
81
+ }
82
+ /** Bridge entries `--text-<role>[--<suffix>]: var(--app-shell-type-...)`, keyed by property name. */
83
+ const bridgedText = new Map(
84
+ [...bridge.matchAll(/^\s*(--text-[a-z-]+):\s*var\((--app-shell-type-[a-z-]+)\);/gm)].map(
85
+ (m) => [m[1], m[2]],
86
+ ),
87
+ );
88
+
89
+ it("pins the role count at 10", () => {
90
+ // Dropping a whole role from both files would still pass the symmetry checks.
91
+ expect(defined.size).toBe(10);
92
+ });
93
+
94
+ it("defines exactly four variables per role", () => {
95
+ for (const [role, values] of defined) {
96
+ expect([...values.keys()].toSorted(), role).toEqual([...slots].toSorted());
97
+ }
98
+ });
99
+
100
+ it("bridges every role slot to its own variable", () => {
101
+ const suffix = {
102
+ size: "",
103
+ "line-height": "--line-height",
104
+ weight: "--font-weight",
105
+ "letter-spacing": "--letter-spacing",
106
+ } as const;
107
+ const expected = new Map<string, string>();
108
+ for (const role of defined.keys()) {
109
+ for (const slot of slots) {
110
+ expected.set(`--text-${role}${suffix[slot]}`, `--app-shell-type-${role}-${slot}`);
111
+ }
112
+ }
113
+ expect(bridgedText).toEqual(expected);
114
+ });
115
+
116
+ it("does not collide with a --color-* token that Tailwind resolves first", () => {
117
+ // `text-<name>` resolves against --color-<name> before --text-<name>.
118
+ const colors = [...bridge.matchAll(/^\s*--color-([a-z0-9-]+):/gm)].map((m) => m[1]);
119
+ for (const role of defined.keys()) {
120
+ expect(colors, role).not.toContain(role);
121
+ }
122
+ for (const name of colors) {
123
+ expect(name).not.toMatch(/^(heading|body|label|code)(-|$)/);
124
+ }
125
+ });
126
+
127
+ it("keeps the line boxes on the spec values", () => {
128
+ // size (px) x line-height ratio = line box (px); weight and letter spacing are pinned too. Values from decisions/typography-roles.md.
129
+ const spec: Record<
130
+ string,
131
+ [size: number, lineBox: number, weight: number, letterSpacing: string]
132
+ > = {
133
+ "heading-lg": [24, 32, 700, "-0.025em"],
134
+ "heading-md": [18, 28, 600, "0em"],
135
+ "heading-sm": [14, 20, 600, "0em"],
136
+ "body-md": [14, 20, 400, "0em"],
137
+ "body-sm": [12, 16, 400, "0em"],
138
+ "label-md": [14, 20, 500, "0em"],
139
+ "label-sm": [12, 16, 500, "0em"],
140
+ "code-sm": [12, 18, 400, "0em"],
141
+ "body-md-relaxed": [14, 24, 400, "0em"],
142
+ "body-sm-relaxed": [12, 20, 400, "0em"],
143
+ };
144
+ expect([...defined.keys()].toSorted()).toEqual(Object.keys(spec).toSorted());
145
+ for (const [role, [size, lineBox, weight, letterSpacing]] of Object.entries(spec)) {
146
+ const values = defined.get(role)!;
147
+ const rem = /^([0-9.]+)rem$/.exec(values.get("size") ?? "");
148
+ expect(rem, `${role} size`).not.toBeNull();
149
+ expect(Number(rem![1]) * 16, `${role} size`).toBe(size);
150
+ const ratio = /^calc\((\d+) \/ (\d+)\)$/.exec(values.get("line-height") ?? "");
151
+ expect(ratio, `${role} line-height`).not.toBeNull();
152
+ expect(Number(ratio![2]), `${role} ratio base`).toBe(size);
153
+ expect(Number(ratio![1]), `${role} line box`).toBe(lineBox);
154
+ expect(Number(values.get("weight")), `${role} weight`).toBe(weight);
155
+ expect(values.get("letter-spacing"), `${role} letter-spacing`).toBe(letterSpacing);
156
+ }
157
+ });
158
+ });
59
159
  });
@@ -36,6 +36,56 @@
36
36
  sans-serif
37
37
  );
38
38
 
39
+ /*
40
+ * Typography roles. `text-heading-lg` sets font-size, line-height, font-weight and
41
+ * letter-spacing together. The values live in themes/default.css and are referenced
42
+ * with `var()` here, like the colors: `@theme inline` writes literals into the
43
+ * utility, so a value placed here could not be overridden on `:root`.
44
+ *
45
+ * The `--text-*` namespace cannot set font-family. `text-code-sm` is used with
46
+ * `font-mono`.
47
+ */
48
+ --text-heading-lg: var(--app-shell-type-heading-lg-size);
49
+ --text-heading-lg--line-height: var(--app-shell-type-heading-lg-line-height);
50
+ --text-heading-lg--font-weight: var(--app-shell-type-heading-lg-weight);
51
+ --text-heading-lg--letter-spacing: var(--app-shell-type-heading-lg-letter-spacing);
52
+ --text-heading-md: var(--app-shell-type-heading-md-size);
53
+ --text-heading-md--line-height: var(--app-shell-type-heading-md-line-height);
54
+ --text-heading-md--font-weight: var(--app-shell-type-heading-md-weight);
55
+ --text-heading-md--letter-spacing: var(--app-shell-type-heading-md-letter-spacing);
56
+ --text-heading-sm: var(--app-shell-type-heading-sm-size);
57
+ --text-heading-sm--line-height: var(--app-shell-type-heading-sm-line-height);
58
+ --text-heading-sm--font-weight: var(--app-shell-type-heading-sm-weight);
59
+ --text-heading-sm--letter-spacing: var(--app-shell-type-heading-sm-letter-spacing);
60
+ --text-body-md: var(--app-shell-type-body-md-size);
61
+ --text-body-md--line-height: var(--app-shell-type-body-md-line-height);
62
+ --text-body-md--font-weight: var(--app-shell-type-body-md-weight);
63
+ --text-body-md--letter-spacing: var(--app-shell-type-body-md-letter-spacing);
64
+ --text-body-sm: var(--app-shell-type-body-sm-size);
65
+ --text-body-sm--line-height: var(--app-shell-type-body-sm-line-height);
66
+ --text-body-sm--font-weight: var(--app-shell-type-body-sm-weight);
67
+ --text-body-sm--letter-spacing: var(--app-shell-type-body-sm-letter-spacing);
68
+ --text-label-md: var(--app-shell-type-label-md-size);
69
+ --text-label-md--line-height: var(--app-shell-type-label-md-line-height);
70
+ --text-label-md--font-weight: var(--app-shell-type-label-md-weight);
71
+ --text-label-md--letter-spacing: var(--app-shell-type-label-md-letter-spacing);
72
+ --text-label-sm: var(--app-shell-type-label-sm-size);
73
+ --text-label-sm--line-height: var(--app-shell-type-label-sm-line-height);
74
+ --text-label-sm--font-weight: var(--app-shell-type-label-sm-weight);
75
+ --text-label-sm--letter-spacing: var(--app-shell-type-label-sm-letter-spacing);
76
+ --text-code-sm: var(--app-shell-type-code-sm-size);
77
+ --text-code-sm--line-height: var(--app-shell-type-code-sm-line-height);
78
+ --text-code-sm--font-weight: var(--app-shell-type-code-sm-weight);
79
+ --text-code-sm--letter-spacing: var(--app-shell-type-code-sm-letter-spacing);
80
+ --text-body-md-relaxed: var(--app-shell-type-body-md-relaxed-size);
81
+ --text-body-md-relaxed--line-height: var(--app-shell-type-body-md-relaxed-line-height);
82
+ --text-body-md-relaxed--font-weight: var(--app-shell-type-body-md-relaxed-weight);
83
+ --text-body-md-relaxed--letter-spacing: var(--app-shell-type-body-md-relaxed-letter-spacing);
84
+ --text-body-sm-relaxed: var(--app-shell-type-body-sm-relaxed-size);
85
+ --text-body-sm-relaxed--line-height: var(--app-shell-type-body-sm-relaxed-line-height);
86
+ --text-body-sm-relaxed--font-weight: var(--app-shell-type-body-sm-relaxed-weight);
87
+ --text-body-sm-relaxed--letter-spacing: var(--app-shell-type-body-sm-relaxed-letter-spacing);
88
+
39
89
  --color-background: var(--background);
40
90
  --color-foreground: var(--foreground);
41
91
  --color-card: var(--card);
@@ -100,6 +150,47 @@
100
150
  --color-alert-info-foreground-muted: var(--alert-info-foreground-muted);
101
151
  --color-alert-info-border: var(--alert-info-border);
102
152
 
153
+ --color-neutral-surface: var(--neutral-surface);
154
+ --color-neutral-surface-hover: var(--neutral-surface-hover);
155
+ --color-neutral-border: var(--neutral-border);
156
+ --color-neutral-solid: var(--neutral-solid);
157
+ --color-neutral-solid-hover: var(--neutral-solid-hover);
158
+ --color-neutral-text: var(--neutral-text);
159
+ --color-neutral-contrast: var(--neutral-contrast);
160
+ --color-neutral-indicator: var(--neutral-indicator);
161
+ --color-info-surface: var(--info-surface);
162
+ --color-info-surface-hover: var(--info-surface-hover);
163
+ --color-info-border: var(--info-border);
164
+ --color-info-solid: var(--info-solid);
165
+ --color-info-solid-hover: var(--info-solid-hover);
166
+ --color-info-text: var(--info-text);
167
+ --color-info-contrast: var(--info-contrast);
168
+ --color-info-indicator: var(--info-indicator);
169
+ --color-success-surface: var(--success-surface);
170
+ --color-success-surface-hover: var(--success-surface-hover);
171
+ --color-success-border: var(--success-border);
172
+ --color-success-solid: var(--success-solid);
173
+ --color-success-solid-hover: var(--success-solid-hover);
174
+ --color-success-text: var(--success-text);
175
+ --color-success-contrast: var(--success-contrast);
176
+ --color-success-indicator: var(--success-indicator);
177
+ --color-warning-surface: var(--warning-surface);
178
+ --color-warning-surface-hover: var(--warning-surface-hover);
179
+ --color-warning-border: var(--warning-border);
180
+ --color-warning-solid: var(--warning-solid);
181
+ --color-warning-solid-hover: var(--warning-solid-hover);
182
+ --color-warning-text: var(--warning-text);
183
+ --color-warning-contrast: var(--warning-contrast);
184
+ --color-warning-indicator: var(--warning-indicator);
185
+ --color-danger-surface: var(--danger-surface);
186
+ --color-danger-surface-hover: var(--danger-surface-hover);
187
+ --color-danger-border: var(--danger-border);
188
+ --color-danger-solid: var(--danger-solid);
189
+ --color-danger-solid-hover: var(--danger-solid-hover);
190
+ --color-danger-text: var(--danger-text);
191
+ --color-danger-contrast: var(--danger-contrast);
192
+ --color-danger-indicator: var(--danger-indicator);
193
+
103
194
  --shadow-xs: var(--semantic-shadow-xs);
104
195
  --shadow-sm: var(--semantic-shadow-sm);
105
196
  --shadow-md: var(--semantic-shadow-md);
package/dist/theme.css CHANGED
@@ -16,7 +16,12 @@
16
16
  * 4. PALETTE — optional: radius, charts, shadows, destructive.
17
17
  *
18
18
  * Inherited from default.css — do not duplicate in new palettes:
19
- * --ring, --sidebar-*, --status-*, --alert-*.
19
+ * --ring, --sidebar-*, --primitive-* (colour scales), --status-*, --alert-*,
20
+ * --app-shell-type-* (typography roles).
21
+ * The colour roles --{intent}-{role} inherit too; a palette overrides them
22
+ * only to recolour the status components. Typography roles are inherited
23
+ * the same way: do not copy the defaults, override only the variables
24
+ * whose values differ.
20
25
  *
21
26
  * Light/dark mode is controlled separately via `.dark` on <html>.
22
27
  * Palette selection is by CSS import; there is no runtime palette prop.
@@ -17,7 +17,13 @@
17
17
  * `@tailor-platform/app-shell/styles` in the consuming app.
18
18
  *
19
19
  * DO NOT SET (inherited from `:root` in default.css):
20
- * --ring, --sidebar-*, --status-*, --alert-*
20
+ * --ring, --sidebar-*, --primitive-* (colour scales), --status-*, --alert-*,
21
+ * --app-shell-type-*
22
+ * The colour roles --{info|success|warning|danger|neutral}-{role} also inherit.
23
+ * Override a role only to recolour the status components (Badge, Alert, ...)
24
+ * for this palette; never set --status-* or --alert-*, they alias the roles.
25
+ * Typography roles (--app-shell-type-*) inherit too: do not copy the defaults,
26
+ * override only the variables whose values differ.
21
27
  *
22
28
  * PREVIEW: `/showcase/colors` in the Vite example app.
23
29
  * ═══════════════════════════════════════════════════════════════════════════
@@ -146,15 +146,9 @@ html
146
146
  background-color: transparent;
147
147
  }
148
148
 
149
- html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"],
150
149
  html [data-slot="data-table-filter-chip"] {
151
150
  background-color: transparent;
152
151
  transition:
153
152
  background-color 0.12s ease,
154
153
  color 0.12s ease;
155
154
  }
156
-
157
- html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) {
158
- background-color: var(--accent);
159
- color: var(--accent-foreground);
160
- }
@@ -146,15 +146,9 @@ html
146
146
  background-color: transparent;
147
147
  }
148
148
 
149
- html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"],
150
149
  html [data-slot="data-table-filter-chip"] {
151
150
  background-color: transparent;
152
151
  transition:
153
152
  background-color 0.12s ease,
154
153
  color 0.12s ease;
155
154
  }
156
-
157
- html [data-slot="button"][class*="astw:bg-background"][class*="astw:border"]:hover:not(:disabled) {
158
- background-color: var(--accent);
159
- color: var(--accent-foreground);
160
- }