@dnd-mapp/shared-ui 1.0.0 → 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 (87) hide show
  1. package/README.md +74 -69
  2. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkAnkaWzU.woff2 +0 -0
  3. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBXkaWzU.woff2 +0 -0
  4. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkBnka.woff2 +0 -0
  5. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkC3kaWzU.woff2 +0 -0
  6. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCHkaWzU.woff2 +0 -0
  7. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCXkaWzU.woff2 +0 -0
  8. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkCnkaWzU.woff2 +0 -0
  9. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkaHkaWzU.woff2 +0 -0
  10. package/assets/fonts/KFO5CnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmkenkaWzU.woff2 +0 -0
  11. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBGEe.woff2 +0 -0
  12. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBGEe.woff2 +0 -0
  13. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2 +0 -0
  14. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBGEe.woff2 +0 -0
  15. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBGEe.woff2 +0 -0
  16. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2 +0 -0
  17. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 +0 -0
  18. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBGEe.woff2 +0 -0
  19. package/assets/fonts/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBGEe.woff2 +0 -0
  20. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhEq3-OXg.woff2 +0 -0
  21. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhFq3-OXg.woff2 +0 -0
  22. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhGq3-OXg.woff2 +0 -0
  23. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhIq3-OXg.woff2 +0 -0
  24. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhLq38.woff2 +0 -0
  25. package/assets/fonts/L0x5DF4xlVMF-BfR8bXMIjhPq3-OXg.woff2 +0 -0
  26. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm32WWg.woff2 +0 -0
  27. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm36WWoKC.woff2 +0 -0
  28. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm3CWWoKC.woff2 +0 -0
  29. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm3KWWoKC.woff2 +0 -0
  30. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm3OWWoKC.woff2 +0 -0
  31. package/assets/fonts/L0x7DF4xlVMF-BfR8bXMIjhOm3mWWoKC.woff2 +0 -0
  32. package/assets/images/404.png +0 -0
  33. package/assets/images/apple-touch-icon.png +0 -0
  34. package/assets/images/favicon-16.png +0 -0
  35. package/assets/images/favicon-32.png +0 -0
  36. package/assets/images/favicon-512.png +0 -0
  37. package/assets/images/favicon.ico +0 -0
  38. package/assets/styles/_normalize.scss +380 -0
  39. package/assets/styles/colors/_amber.scss +11 -0
  40. package/assets/styles/colors/_blue.scss +11 -0
  41. package/assets/styles/colors/_common.scss +2 -0
  42. package/assets/styles/colors/_cyan.scss +11 -0
  43. package/assets/styles/colors/_emerald.scss +11 -0
  44. package/assets/styles/colors/_fuchsia.scss +11 -0
  45. package/assets/styles/colors/_gray.scss +11 -0
  46. package/assets/styles/colors/_green.scss +11 -0
  47. package/assets/styles/colors/_indigo.scss +11 -0
  48. package/assets/styles/colors/_lime.scss +11 -0
  49. package/assets/styles/colors/_mauve.scss +11 -0
  50. package/assets/styles/colors/_mist.scss +11 -0
  51. package/assets/styles/colors/_neutral.scss +11 -0
  52. package/assets/styles/colors/_olive.scss +11 -0
  53. package/assets/styles/colors/_orange.scss +11 -0
  54. package/assets/styles/colors/_pink.scss +11 -0
  55. package/assets/styles/colors/_purple.scss +11 -0
  56. package/assets/styles/colors/_red.scss +11 -0
  57. package/assets/styles/colors/_rose.scss +11 -0
  58. package/assets/styles/colors/_sky.scss +11 -0
  59. package/assets/styles/colors/_slate.scss +11 -0
  60. package/assets/styles/colors/_stone.scss +11 -0
  61. package/assets/styles/colors/_taupe.scss +11 -0
  62. package/assets/styles/colors/_teal.scss +11 -0
  63. package/assets/styles/colors/_violet.scss +11 -0
  64. package/assets/styles/colors/_yellow.scss +11 -0
  65. package/assets/styles/colors/_zinc.scss +11 -0
  66. package/assets/styles/colors/index.scss +27 -0
  67. package/assets/styles/font.scss +387 -0
  68. package/assets/styles/main.scss +17 -0
  69. package/assets/styles/theme-variables/_layout.scss +8 -0
  70. package/assets/styles/theme-variables/_shadows.scss +37 -0
  71. package/assets/styles/theme-variables/_spacing.scss +23 -0
  72. package/assets/styles/theme-variables/_text.scss +81 -0
  73. package/assets/styles/theme-variables/index.scss +4 -0
  74. package/fesm2022/dnd-mapp-shared-ui.mjs +596 -21
  75. package/fesm2022/dnd-mapp-shared-ui.mjs.map +1 -1
  76. package/package.json +22 -18
  77. package/src/lib/button/README.md +69 -57
  78. package/src/lib/dropdown/README.md +131 -0
  79. package/src/lib/forms/input/README.md +129 -0
  80. package/src/lib/nav/active-marker/README.md +115 -0
  81. package/src/lib/nav/app-top-bar/README.md +96 -0
  82. package/src/lib/nav/navbar/README.md +93 -0
  83. package/src/lib/nav/navbar-brand/README.md +96 -0
  84. package/src/lib/nav/navbar-link/README.md +76 -0
  85. package/src/lib/nav/navbar-menu/README.md +99 -0
  86. package/src/lib/vertical-rule/README.md +99 -0
  87. package/types/dnd-mapp-shared-ui.d.ts +281 -8
package/README.md CHANGED
@@ -4,116 +4,121 @@
4
4
  ![NPM Version](https://img.shields.io/npm/v/@dnd-mapp/shared-ui)
5
5
  ![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red.svg)
6
6
 
7
- The official Angular component library for the **D&D Mapp** platform. This library provides a unified design language and a collection of reusable, accessible UI components built specifically for tabletop gaming applications.
7
+ The official Angular component library for the **D&D Mapp** platform. This library provides a unified design language and high-performance, accessible UI components built specifically for tabletop gaming applications.
8
8
 
9
- ## 🏰 Features
10
-
11
- - **Angular 21 Native**: Built with the latest signals-based patterns and standalone components.
12
- - **Tailwind CSS v4**: CSS-first configuration for high-performance styling.
13
- - **Accessible**: Built with A11y best practices to ensure all players can use the tools.
14
- - **Design Driven**: Single source of truth for the D&D Mapp brand.
9
+ 🏰 **[Explore the Live Storybook](https://dnd-mapp.github.io/shared-ui/)**
15
10
 
16
11
  ---
17
12
 
18
- ## 🧱 UI Components
19
-
20
- A collection of high-performance, accessible components. Click on a component name to view its specific documentation, API, and usage examples.
13
+ ## Key Features
21
14
 
22
- | Component | Status | Description |
23
- |----------------------------------------|--------|---------------------------------------------------------------------|
24
- | **[Button](src/lib/button/README.md)** | ✅ | Primary action component with support for variants (base, primary). |
25
-
26
- > **[!TIP]** Ready for Production | 🚧 In Development | 🧪 Experimental
15
+ - **Modern Architecture**: Built with **Angular 21** using signals and standalone components.
16
+ - **Custom Theming**: A proprietary SCSS-based design system.
17
+ - **Integrated Typography**: Includes custom fonts optimized for readability in high-density gaming interfaces.
18
+ - **Layout Integrity**: Specialized components like `Active Marker` prevent Layout Shifts (CLS) during state toggles.
19
+ - **Accessible & Consistent**: A11y-focused components that serve as the single source of truth for the D&D Mapp brand.
27
20
 
28
21
  ---
29
22
 
30
- ## 🚀 Installation
23
+ ## 🚀 Getting Started
24
+
25
+ ### 1. Installation
31
26
 
32
- Install the package via pnpm (recommended) or your preferred package manager:
27
+ Install the package via your preferred package manager:
33
28
 
34
29
  ```bash
35
30
  pnpm add @dnd-mapp/shared-ui
36
31
  ```
37
32
 
38
- ### 1. Global Styles Integration
39
-
40
- The library requires the shared Tailwind-based styles to function correctly. Add the following import to your application's global CSS file (e.g., `styles.css` or `main.css`):
41
-
42
- ```css
43
- @import "@dnd-mapp/shared-ui/styles.css";
33
+ ### 2. Configuration (Angular.json)
34
+
35
+ To ensure the custom themes, fonts, and assets are correctly bundled, update your `angular.json` file. You must include the global styles and the assets folder:
36
+
37
+ ```json
38
+ {
39
+ "projects": {
40
+ "your-app-name": {
41
+ "architect": {
42
+ "build": {
43
+ "options": {
44
+ "assets": [
45
+ "src/favicon.ico",
46
+ "src/assets",
47
+ {
48
+ "glob": "**/*",
49
+ "input": "node_modules/@dnd-mapp/shared-ui/assets",
50
+ "output": "assets"
51
+ }
52
+ ],
53
+ "styles": ["src/styles.scss"]
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
44
60
  ```
45
61
 
46
- ### 2. Configuration
62
+ ### 3. Global Styles Integration
47
63
 
48
- Since this library uses **Tailwind CSS v4**, ensure your application is configured to process Tailwind imports. If you are using the Angular CLI with Tailwind support, no additional configuration is typically required beyond the import.
64
+ Additionally, you need to import the library styles directly into your application's primary SCSS file (e.g., `styles.scss`):
49
65
 
50
- ---
66
+ ```scss
67
+ /*
68
+ 1. Import Fonts first
69
+ 2. Import Main Theme and Component Styles
70
+ */
71
+ @import "@dnd-mapp/shared-ui/assets/styles/fonts.scss"; /* 1. */
72
+ @import "@dnd-mapp/shared-ui/assets/styles/main.scss"; /* 2. */
73
+ ```
51
74
 
52
- ## 📖 Usage
75
+ ---
53
76
 
54
- All components are exported as **Standalone Components**. You can import them directly into your component's `imports` array.
77
+ ## 🧱 Usage
55
78
 
56
- ### Example: Using the Button Component
79
+ All components are **Standalone**. Import them directly into your component's `imports` array:
57
80
 
58
81
  ```typescript
59
82
  import { ChangeDetectionStrategy, Component } from '@angular/core';
60
- import { ButtonComponent } from '@dnd-mapp/shared-ui';
83
+ import { ButtonComponent } from '@dnd-mapp/shared-ui';
61
84
 
62
85
  @Component({
63
- selector: 'dma-root',
64
- template: `
65
- <section>
66
- <h1>Encounter Initiative</h1>
67
- <button dma-button (click)="onRoll()">Roll for Initiative</button>
68
- </section>
69
- `,
86
+ selector: 'app-root',
87
+ template: `<button type="button" dma-button="primary">Roll Initiative</button>`,
70
88
  changeDetection: ChangeDetectionStrategy.OnPush,
71
89
  imports: [ButtonComponent],
72
90
  })
73
91
  export class RootComponent {
74
- protected onRoll() {
75
- console.log('Natural 20!');
76
- }
77
92
  }
78
93
  ```
79
94
 
80
95
  ---
81
96
 
82
- ## 🛠 Development & Storybook
83
-
84
- If you are contributing to the library or want to explore the components in isolation:
85
-
86
- 1. **Clone the repo**:
87
-
88
- ```bash
89
- git clone https://github.com/dnd-mapp/shared-ui.git
90
- ```
91
-
92
- 2. **Setup environment**:
93
-
94
- This project uses [mise-en-place](https://mise.jdx.dev/) to manage Node.js and pnpm versions.
95
-
96
- ```bash
97
- mise install
98
- pnpm install
99
- ```
97
+ ## 🏟 Component Library
100
98
 
101
- 3. **Launch Storybook**:
99
+ For detailed API definitions and interactive examples, visit our **[Storybook](https://dnd-mapp.github.io/shared-ui/)** or view the documentation for the specific components below:
102
100
 
103
- ```bash
104
- pnpm storybook
105
- ```
101
+ | Component | Status | Description |
102
+ |----------------------------------------------------------|--------|--------------------------------------------------------------|
103
+ | **[Active Marker](src/lib/nav/active-marker/README.md)** | ✅ | Prevents CLS by reserving space for bold text states. |
104
+ | **[App Top Bar](src/lib/nav/app-top-bar/README.md)** | ✅ | Layout-oriented header with `start` and `end` sections. |
105
+ | **[Button](src/lib/button/README.md)** | ✅ | Actions with support for base, primary, and danger variants. |
106
+ | **[Dropdown](src/lib/dropdown/README.md)** | ✅ | Directive-based overlay system using Angular CDK. |
107
+ | **[Input](src/lib/forms/input/README.md)** | ✅ | Debounced, form-aware text inputs with validation states. |
108
+ | **[Navbar](src/lib/nav/navbar/README.md)** | ✅ | Semantic `<nav>` container with standardized flex spacing. |
109
+ | **[Navbar Brand](src/lib/nav/navbar-brand/README.md)** | ✅ | A standardized header element for logo and brand identity. |
110
+ | **[Navbar Link](src/lib/nav/navbar-link/README.md)** | ✅ | Navigation link with automatic active state detection. |
111
+ | **[Navbar Menu](src/lib/nav/navbar-menu/README.md)** | ✅ | Specialized dropdown trigger for navigation bars. |
112
+ | **[Vertical Rule](src/lib/vertical-rule/README.md)** | ✅ | A layout-stretching divider for content separation. |
106
113
 
107
- Navigate to `http://localhost:6006` to view the documentation and component playground.
114
+ > **Legend:**
115
+ > ✅ Production Ready | 🚧 In Development | 🧪 Experimental
108
116
 
109
117
  ---
110
118
 
111
- ## 📜 Available Scripts
119
+ ## 🛠 Development
112
120
 
113
- - `pnpm build`: Compiles the library for production.
114
- - `pnpm test`: Runs unit tests via Karma.
115
- - `pnpm lint`: Validates TypeScript and Angular logic.
116
- - `pnpm stylelint`: Validates CSS/Tailwind compliance.
121
+ If you are contributing or wish to run the documentation locally, please refer to the [Main Repository README](https://github.com/dnd-mapp/shared-ui/blob/main/README.md) for environment setup and contribution guidelines.
117
122
 
118
123
  ---
119
124
 
@@ -121,4 +126,4 @@ If you are contributing to the library or want to explore the components in isol
121
126
 
122
127
  Copyright © 2026 NoNamer777. All rights reserved.
123
128
 
124
- This software is **proprietary**. Unauthorized copying, modification, or distribution is strictly prohibited. Use is subject to the terms in the [LICENSE](https://github.com/dnd-mapp/shared-ui?tab=License-1-ov-file) file.
129
+ Proprietary software. Unauthorized copying or distribution is strictly prohibited. See the [LICENSE](https://github.com/dnd-mapp/shared-ui?tab=License-1-ov-file) for full terms.
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,380 @@
1
+ @use "./theme-variables" as tv;
2
+
3
+ /*
4
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
5
+ 2. Remove default margins and padding
6
+ 3. Reset all borders.
7
+ */
8
+
9
+ *,
10
+ ::after,
11
+ ::before,
12
+ ::backdrop,
13
+ ::file-selector-button {
14
+ box-sizing: border-box; /* 1 */
15
+ margin: 0; /* 2 */
16
+ padding: 0; /* 2 */
17
+ border: 0 solid; /* 3 */
18
+ }
19
+
20
+ /*
21
+ 1. Use a consistent sensible line-height in all browsers.
22
+ 2. Prevent adjustments of font size after orientation changes in iOS.
23
+ 3. Use a more readable tab size.
24
+ 4. Use the user's configured `sans` font-family by default.
25
+ 5. Use the user's configured `sans` font-feature-settings by default.
26
+ 6. Use the user's configured `sans` font-variation-settings by default.
27
+ 7. Disable tap highlights on iOS.
28
+ */
29
+
30
+ html,
31
+ :host {
32
+ line-height: 1.5; /* 1 */
33
+ -webkit-text-size-adjust: 100%; /* 2 */
34
+ tab-size: 4; /* 3 */
35
+ font-family:
36
+ tv.$font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
37
+ "Noto Color Emoji"; /* 4 */
38
+ font-feature-settings: normal; /* 5 */
39
+ font-variation-settings: tv.$font-variation-settings; /* 6 */
40
+ -webkit-tap-highlight-color: transparent; /* 7 */
41
+ }
42
+
43
+ /*
44
+ 1. Add the correct height in Firefox.
45
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
46
+ 3. Reset the default border style to a 1px solid border.
47
+ */
48
+
49
+ hr {
50
+ height: 0; /* 1 */
51
+ color: inherit; /* 2 */
52
+ border-top-width: 1px; /* 3 */
53
+ }
54
+
55
+ /*
56
+ Add the correct text decoration in Chrome, Edge, and Safari.
57
+ */
58
+
59
+ abbr:where([title]) {
60
+ -webkit-text-decoration: underline dotted;
61
+ text-decoration: underline dotted;
62
+ }
63
+
64
+ /*
65
+ Remove the default font size and weight for headings.
66
+ */
67
+
68
+ h1,
69
+ h2,
70
+ h3,
71
+ h4,
72
+ h5,
73
+ h6 {
74
+ font-size: inherit;
75
+ font-weight: inherit;
76
+ }
77
+
78
+ /*
79
+ Reset links to optimize for opt-in styling instead of opt-out.
80
+ */
81
+
82
+ a {
83
+ color: inherit;
84
+ -webkit-text-decoration: inherit;
85
+ text-decoration: inherit;
86
+ }
87
+
88
+ /*
89
+ Add the correct font weight in Edge and Safari.
90
+ */
91
+
92
+ b,
93
+ strong {
94
+ font-weight: bolder;
95
+ }
96
+
97
+ /*
98
+ 1. Use the user's configured `mono` font-family by default.
99
+ 2. Use the user's configured `mono` font-feature-settings by default.
100
+ 3. Use the user's configured `mono` font-variation-settings by default.
101
+ 4. Correct the odd `em` font sizing in all browsers.
102
+ */
103
+
104
+ code,
105
+ kbd,
106
+ samp,
107
+ pre {
108
+ font-family:
109
+ tv.$font-family-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
110
+ monospace; /* 1 */
111
+ font-feature-settings: normal; /* 2 */
112
+ font-variation-settings: tv.$font-variation-settings; /* 3 */
113
+ font-size: 1em; /* 4 */
114
+ }
115
+
116
+ /*
117
+ Add the correct font size in all browsers.
118
+ */
119
+
120
+ small {
121
+ font-size: 80%;
122
+ }
123
+
124
+ /*
125
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
126
+ */
127
+
128
+ sub,
129
+ sup {
130
+ font-size: 75%;
131
+ line-height: 0;
132
+ position: relative;
133
+ vertical-align: baseline;
134
+ }
135
+
136
+ sub {
137
+ bottom: -0.25em;
138
+ }
139
+
140
+ sup {
141
+ top: -0.5em;
142
+ }
143
+
144
+ /*
145
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
146
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
147
+ 3. Remove gaps between table borders by default.
148
+ */
149
+
150
+ table {
151
+ text-indent: 0; /* 1 */
152
+ border-color: inherit; /* 2 */
153
+ border-collapse: collapse; /* 3 */
154
+ }
155
+
156
+ /*
157
+ Use the modern Firefox focus style for all focusable elements.
158
+ */
159
+
160
+ :-moz-focusring {
161
+ outline: auto;
162
+ }
163
+
164
+ /*
165
+ Add the correct vertical alignment in Chrome and Firefox.
166
+ */
167
+
168
+ progress {
169
+ vertical-align: baseline;
170
+ }
171
+
172
+ /*
173
+ Add the correct display in Chrome and Safari.
174
+ */
175
+
176
+ summary {
177
+ display: list-item;
178
+ }
179
+
180
+ /*
181
+ Make lists unstyled by default.
182
+ */
183
+
184
+ ol,
185
+ ul,
186
+ menu {
187
+ list-style: none;
188
+ }
189
+
190
+ /*
191
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
192
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
193
+ This can trigger a poorly considered lint error in some tools but is included by design.
194
+ */
195
+
196
+ img,
197
+ svg,
198
+ video,
199
+ canvas,
200
+ audio,
201
+ iframe,
202
+ embed,
203
+ object {
204
+ display: block; /* 1 */
205
+ vertical-align: middle; /* 2 */
206
+ }
207
+
208
+ /*
209
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
210
+ */
211
+
212
+ img,
213
+ video {
214
+ max-width: 100%;
215
+ height: auto;
216
+ }
217
+
218
+ /*
219
+ 1. Inherit font styles in all browsers.
220
+ 2. Remove border radius in all browsers.
221
+ 3. Remove background color in all browsers.
222
+ 4. Ensure consistent opacity for disabled states in all browsers.
223
+ */
224
+
225
+ button,
226
+ input,
227
+ select,
228
+ optgroup,
229
+ textarea,
230
+ ::file-selector-button {
231
+ font: inherit; /* 1 */
232
+ font-feature-settings: inherit; /* 1 */
233
+ font-variation-settings: inherit; /* 1 */
234
+ letter-spacing: inherit; /* 1 */
235
+ color: inherit; /* 1 */
236
+ border-radius: 0; /* 2 */
237
+ background-color: transparent; /* 3 */
238
+ opacity: 1; /* 4 */
239
+ }
240
+
241
+ /*
242
+ Restore default font weight.
243
+ */
244
+
245
+ :where(select:is([multiple], [size])) optgroup {
246
+ font-weight: bolder;
247
+ }
248
+
249
+ /*
250
+ Restore indentation.
251
+ */
252
+
253
+ :where(select:is([multiple], [size])) optgroup option {
254
+ padding-inline-start: 20px;
255
+ }
256
+
257
+ /*
258
+ Restore space after button.
259
+ */
260
+
261
+ ::file-selector-button {
262
+ margin-inline-end: 4px;
263
+ }
264
+
265
+ /*
266
+ Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
267
+ */
268
+
269
+ ::placeholder {
270
+ opacity: 1;
271
+ }
272
+
273
+ /*
274
+ Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
275
+ crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
276
+ */
277
+
278
+ @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or (contain-intrinsic-size: 1px)
279
+ /* Safari 17+ */ {
280
+ ::placeholder {
281
+ color: color-mix(in oklab, currentcolor 50%, transparent);
282
+ }
283
+ }
284
+
285
+ /*
286
+ Prevent resizing textareas horizontally by default.
287
+ */
288
+
289
+ textarea {
290
+ resize: vertical;
291
+ }
292
+
293
+ /*
294
+ Remove the inner padding in Chrome and Safari on macOS.
295
+ */
296
+
297
+ ::-webkit-search-decoration {
298
+ -webkit-appearance: none;
299
+ }
300
+
301
+ /*
302
+ 1. Ensure date/time inputs have the same height when empty in iOS Safari.
303
+ 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
304
+ */
305
+
306
+ ::-webkit-date-and-time-value {
307
+ min-height: 1lh; /* 1 */
308
+ text-align: inherit; /* 2 */
309
+ }
310
+
311
+ /*
312
+ Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
313
+ */
314
+
315
+ ::-webkit-datetime-edit {
316
+ display: inline-flex;
317
+ }
318
+
319
+ /*
320
+ Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
321
+ */
322
+
323
+ ::-webkit-datetime-edit-fields-wrapper {
324
+ padding: 0;
325
+ }
326
+
327
+ ::-webkit-datetime-edit,
328
+ ::-webkit-datetime-edit-year-field,
329
+ ::-webkit-datetime-edit-month-field,
330
+ ::-webkit-datetime-edit-day-field,
331
+ ::-webkit-datetime-edit-hour-field,
332
+ ::-webkit-datetime-edit-minute-field,
333
+ ::-webkit-datetime-edit-second-field,
334
+ ::-webkit-datetime-edit-millisecond-field,
335
+ ::-webkit-datetime-edit-meridiem-field {
336
+ padding-block: 0;
337
+ }
338
+
339
+ /*
340
+ Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
341
+ */
342
+
343
+ ::-webkit-calendar-picker-indicator {
344
+ line-height: 1;
345
+ }
346
+
347
+ /*
348
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
349
+ */
350
+
351
+ :-moz-ui-invalid {
352
+ box-shadow: none;
353
+ }
354
+
355
+ /*
356
+ Correct the inability to style the border radius in iOS Safari.
357
+ */
358
+
359
+ button,
360
+ input:where([type="button"], [type="reset"], [type="submit"]),
361
+ ::file-selector-button {
362
+ appearance: button;
363
+ }
364
+
365
+ /*
366
+ Correct the cursor style of increment and decrement buttons in Safari.
367
+ */
368
+
369
+ ::-webkit-inner-spin-button,
370
+ ::-webkit-outer-spin-button {
371
+ height: auto;
372
+ }
373
+
374
+ /*
375
+ Make elements with the HTML hidden attribute stay hidden by default.
376
+ */
377
+
378
+ [hidden]:where(:not([hidden="until-found"])) {
379
+ display: none !important;
380
+ }
@@ -0,0 +1,11 @@
1
+ $amber-50: oklch(98.7% 0.022 95.277deg);
2
+ $amber-100: oklch(96.2% 0.059 95.617deg);
3
+ $amber-200: oklch(92.4% 0.12 95.746deg);
4
+ $amber-300: oklch(87.9% 0.169 91.605deg);
5
+ $amber-400: oklch(82.8% 0.189 84.429deg);
6
+ $amber-500: oklch(76.9% 0.188 70.08deg);
7
+ $amber-600: oklch(66.6% 0.179 58.318deg);
8
+ $amber-700: oklch(55.5% 0.163 48.998deg);
9
+ $amber-800: oklch(47.3% 0.137 46.201deg);
10
+ $amber-900: oklch(41.4% 0.112 45.904deg);
11
+ $amber-950: oklch(27.9% 0.077 45.635deg);