spoko-design-system 1.19.0 → 1.20.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 (92) hide show
  1. package/.claude/settings.json +48 -48
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/claude.yml +37 -37
  5. package/.github/workflows/code-quality.yml +72 -72
  6. package/.github/workflows/deploy.yml +43 -43
  7. package/.husky/README.md +41 -41
  8. package/.husky/commit-msg +1 -1
  9. package/.husky/pre-commit +40 -40
  10. package/.prettierignore +14 -14
  11. package/.prettierrc +30 -30
  12. package/.stackblitzrc +5 -5
  13. package/.vscode/extensions.json +4 -4
  14. package/.vscode/launch.json +11 -11
  15. package/.vscode/settings.json +21 -21
  16. package/CHANGELOG.md +462 -456
  17. package/CLAUDE.md +268 -268
  18. package/LICENSE +21 -21
  19. package/README.md +303 -132
  20. package/TOOLTIPS.md +236 -236
  21. package/astro.config.mjs +84 -84
  22. package/commitlint.config.js +3 -3
  23. package/dev-dist/sw.js +91 -91
  24. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  25. package/eslint.config.js +70 -70
  26. package/icon.config.ts +348 -348
  27. package/index.ts +78 -78
  28. package/package.json +160 -160
  29. package/public/arrow-bottom.svg +7 -7
  30. package/public/fonts/lg.svg +53 -53
  31. package/public/fonts/vwhead-bold-demo.html +549 -549
  32. package/public/fonts/vwhead-regular-demo.html +549 -549
  33. package/public/fonts/vwtext-bold-demo.html +549 -549
  34. package/public/fonts/vwtext-regular-demo.html +549 -549
  35. package/public/github.svg +3 -3
  36. package/public/grid_dot.svg +4 -4
  37. package/public/linkedin.svg +44 -44
  38. package/public/make-scrollable-code-focusable.js +3 -3
  39. package/public/pagefind.yml +3 -3
  40. package/public/polo.blue.svg +29 -29
  41. package/public/spoko.space.svg +71 -71
  42. package/public/twitter.svg +46 -46
  43. package/renovate.json +6 -6
  44. package/sandbox.config.json +11 -11
  45. package/sonar-project.properties +26 -26
  46. package/src/components/Category/CategoryDetails.astro +46 -18
  47. package/src/pages/components/badges.mdx +57 -57
  48. package/src/pages/components/breadcrumbs.mdx +139 -139
  49. package/src/pages/components/buttons.mdx +359 -359
  50. package/src/pages/components/card.mdx +294 -294
  51. package/src/pages/components/carousel.mdx +62 -62
  52. package/src/pages/components/copyright.mdx +42 -42
  53. package/src/pages/components/details-list.mdx +207 -207
  54. package/src/pages/components/features-list.mdx +37 -37
  55. package/src/pages/components/flags.mdx +49 -49
  56. package/src/pages/components/fuck-russia.mdx +39 -39
  57. package/src/pages/components/hand-drive.mdx +78 -78
  58. package/src/pages/components/headline.mdx +337 -337
  59. package/src/pages/components/image.mdx +513 -513
  60. package/src/pages/components/input.mdx +367 -367
  61. package/src/pages/components/jumbotron.mdx +530 -530
  62. package/src/pages/components/modal.mdx +212 -212
  63. package/src/pages/components/post-header.mdx +64 -64
  64. package/src/pages/components/pr-code.mdx +213 -213
  65. package/src/pages/components/product-engine.mdx +418 -418
  66. package/src/pages/components/product-number.mdx +58 -58
  67. package/src/pages/components/product-tile.mdx +51 -51
  68. package/src/pages/components/quote.mdx +33 -33
  69. package/src/pages/components/slimbanner.mdx +260 -260
  70. package/src/pages/components/table.mdx +108 -108
  71. package/src/pages/core/colors.mdx +21 -21
  72. package/src/pages/core/grid.mdx +193 -193
  73. package/src/pages/core/introduction.mdx +77 -77
  74. package/src/pages/core/tooltips.mdx +491 -491
  75. package/src/pages/patterns/introduction.mdx +60 -60
  76. package/src/styles/_variables.scss +70 -70
  77. package/tailwind.config.cjs +8 -8
  78. package/tsconfig.json +28 -28
  79. package/uno-config/index.ts +269 -269
  80. package/uno-config/theme/breakpoints.ts +9 -9
  81. package/uno-config/theme/colors.ts +65 -65
  82. package/uno-config/theme/dimensions.ts +17 -17
  83. package/uno-config/theme/effects.ts +14 -14
  84. package/uno-config/theme/grid.ts +10 -10
  85. package/uno-config/theme/index.ts +26 -26
  86. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  87. package/uno-config/theme/shortcuts/components.ts +124 -124
  88. package/uno-config/theme/shortcuts/index.ts +20 -20
  89. package/uno-config/theme/shortcuts/jumbotron.ts +71 -71
  90. package/uno-config/theme/shortcuts/layout.ts +75 -75
  91. package/uno-config/theme/typography.ts +29 -29
  92. package/uno.config.ts +2 -2
@@ -1,360 +1,360 @@
1
- ---
2
- title: "Buttons"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import Button from '../../components/Button.vue'
6
- import ButtonCopy from '../../components/ButtonCopy.astro'
7
- import { Icon } from 'astro-icon/components';
8
-
9
- # All buttons
10
-
11
- This page is an example on how to document your button components, most of the copy was written by AI so don't take it very seriously.
12
-
13
- Find the code for this page in the `src/pages/components/buttons.md` file.
14
-
15
- <div class="component-preview flex-wrap">
16
- <div class="flex w-full gap-4 items-center">
17
- <Button primary>Primary</Button>
18
- <Button secondary>Secondary</Button>
19
- <Button tertiary>Tertiary</Button>
20
-
21
- <Button text medium>Text</Button>
22
- <Button tag small>Tag Name</Button>
23
- </div>
24
- <div class="flex w-full gap-4 items-center">
25
- <Button primary rounded>Primary</Button>
26
- <Button secondary rounded>Secondary</Button>
27
- <Button tertiary rounded>Tertiary</Button>
28
-
29
- <Button text medium rounded>Text</Button>
30
- <Button tag small rounded>Tag Name</Button>
31
- </div>
32
- </div>
33
-
34
- ```js
35
- <Button primary>Primary</Button>
36
- <Button secondary>Secondary</Button>
37
- <Button tertiary>Tertiary</Button>
38
- <Button text medium>Text</Button>
39
- <Button tag small>Tag Name</Button>
40
-
41
- <Button primary rounded>Primary</Button>
42
- <Button secondary rounded>Secondary</Button>
43
- <Button tertiary rounded>Tertiary</Button>
44
- <Button text medium rounded>Text</Button>
45
- <Button tag small rounded>Tag Name</Button>
46
- ```
47
-
48
- ## Primary button `<button>`
49
-
50
- We use the primary button for main actions like saving a form or creating a new item.
51
-
52
- <div class="component-preview">
53
- <Button primary>Primary</Button>
54
- <Button primary medium>Primary</Button>
55
- <Button primary small>Primary</Button>
56
- </div>
57
-
58
- ```js
59
- <Button primary>Primary</Button>
60
- <Button primary medium>Primary</Button>
61
- <Button primary small>Primary</Button>
62
- ```
63
-
64
- ## Secondary button
65
-
66
- Secondary buttons accompany primary buttons to provide additional actions.
67
- For example, cancel buttons are secondary buttons.
68
-
69
- <div class="component-preview">
70
- <Button secondary>Secondary</Button>
71
- <Button secondary medium>Secondary</Button>
72
- <Button secondary small>Secondary</Button>
73
- </div>
74
-
75
- ```js
76
- <Button secondary>Secondary</Button>
77
- <Button secondary medium>Secondary</Button>
78
- <Button secondary small>Secondary</Button>
79
- ```
80
-
81
- ## Text button
82
-
83
- Text buttons are used for actions that do not require a primary or secondary button.
84
-
85
- <div class="component-preview">
86
- <Button text>Text button</Button>
87
- <Button text>Text button</Button>
88
- <Button text>Text button</Button>
89
- </div>
90
-
91
- ```js
92
- <Button text>Text button</Button>
93
- ```
94
-
95
- ## Link tertiary
96
-
97
- <div class="component-preview">
98
-
99
- <Button tertiary>Tertiary</Button>
100
- <Button tertiary medium>Tertiary</Button>
101
- <Button tertiary small>Tertiary</Button>
102
-
103
- </div>
104
-
105
- ```html
106
- <Button tertiary>Tertiary</Button>
107
- <Button tertiary medium>Tertiary</Button>
108
- <Button tertiary small>Tertiary</Button>
109
- ```
110
-
111
- ## Tertiary with icon
112
- <div class="component-preview">
113
- <Button tertiary href="#">
114
- Read more
115
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
116
- </Button>
117
-
118
- <Button tertiary href="#" medium>
119
- Read more
120
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
121
- </Button>
122
-
123
- <Button tertiary href="#" small class="px-5">
124
- Read more
125
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
126
- </Button>
127
- </div>
128
-
129
- ```html
130
- <Button tertiary href="#">
131
- Read more
132
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
133
- </Button>
134
-
135
- <Button tertiary href="#" medium>
136
- Read more
137
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
138
- </Button>
139
-
140
- <Button tertiary href="#" small class="px-5">
141
- Read more
142
- <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
143
- </Button>
144
-
145
- ```
146
-
147
- ## Rounded button
148
-
149
- Rounded edges
150
-
151
- <div class="component-preview flex-wrap">
152
- <div class="flex w-full gap-4 items-center">
153
- <Button primary rounded>Primary</Button>
154
- <Button secondary rounded>Secondary</Button>
155
- <Button tertiary rounded>Tertiary</Button>
156
-
157
- <Button text rounded>Text</Button>
158
- <Button tag rounded>Tag Name</Button>
159
- </div>
160
- <div class="flex w-full gap-4 items-center">
161
- <Button primary medium rounded>Primary</Button>
162
- <Button secondary medium rounded>Secondary</Button>
163
- <Button tertiary medium rounded>Tertiary</Button>
164
-
165
- <Button text medium rounded>Text</Button>
166
- <Button tag medium rounded>Tag Name</Button>
167
- </div>
168
- <div class="flex w-full gap-4 items-center">
169
- <Button primary small rounded>Primary</Button>
170
- <Button secondary small rounded>Secondary</Button>
171
- <Button tertiary small rounded>Tertiary</Button>
172
-
173
- <Button text medium small rounded>Text</Button>
174
- <Button tag small rounded>Tag Name</Button>
175
- </div>
176
- </div>
177
-
178
- ```js
179
- <Button primary rounded>Primary</Button>
180
- <Button secondary rounded>Secondary</Button>
181
- <Button tertiary rounded>Tertiary</Button>
182
- <Button text medium rounded>Text</Button>
183
- <Button tag small rounded>Tag Name</Button>
184
-
185
- <Button primary medium rounded>Primary</Button>
186
- <Button secondary medium rounded>Secondary</Button>
187
- <Button tertiary medium rounded>Tertiary</Button>
188
- <Button text medium medium rounded>Text</Button>
189
- <Button tag small medium rounded>Tag Name</Button>
190
-
191
- <Button primary small rounded>Primary</Button>
192
- <Button secondary small rounded>Secondary</Button>
193
- <Button tertiary small rounded>Tertiary</Button>
194
- <Button text medium small rounded>Text</Button>
195
- <Button tag small rounded>Tag Name</Button>
196
- ```
197
-
198
- ## Outline button
199
-
200
- Text buttons are used for actions that do not require a primary or secondary button.
201
-
202
- <div class="component-preview flex-wrap">
203
- <Button primary-outline title="Title">Text button</Button>
204
- <Button primary-outline rounded title="Title">Text button</Button>
205
-
206
- <Button secondary-outline title="Title">Text button</Button>
207
- <Button secondary-outline rounded title="Title">Text button</Button>
208
-
209
- <Button tertiary-outline title="Title">Text button</Button>
210
- <Button tertiary-outline rounded title="Title">Text button</Button>
211
-
212
- <Button tertiary-outline title="Title" class="border-2">Text button</Button>
213
- </div>
214
-
215
- ```js
216
- <Button primary-outline title="Title">Text button</Button>
217
- <Button primary-outline rounded title="Title">Text button</Button>
218
-
219
- <Button secondary-outline title="Title">Text button</Button>
220
- <Button secondary-outline rounded title="Title">Text button</Button>
221
-
222
- <Button tertiary-outline title="Title">Text button</Button>
223
- <Button tertiary-outline rounded title="Title">Text button</Button>
224
-
225
- <Button tertiary-outline title="Title" class="border-2">Text button</Button>
226
- ```
227
-
228
- ### Outline button - custom hover
229
-
230
- <div class="component-preview">
231
- <Button tertiary-outline rounded light-hover title="Title">Text button</Button>
232
- <Button tertiary-outline rounded medium-hover title="Title">Text button</Button>
233
- <Button tertiary-outline rounded dark-hover title="Title">Text button</Button>
234
- <Button tertiary-outline rounded white-hover title="Title">Text button</Button>
235
- </div>
236
-
237
- ```js
238
- <Button tertiary-outline rounded light-hover title="Title">Text button</Button>
239
- <Button tertiary-outline rounded medium-hover title="Title">Text button</Button>
240
- <Button tertiary-outline rounded dark-hover title="Title">Text button</Button>
241
- <Button tertiary-outline rounded white-hover title="Title">Text button</Button>
242
-
243
- ```
244
-
245
-
246
- ## Link button `<a>`
247
-
248
- Text buttons are used for actions that do not require a primary or secondary button.
249
-
250
- <div class="component-preview">
251
- <Button primary href="#" title="Title">Text button</Button>
252
- </div>
253
-
254
- ```js
255
- <Button primary href="#" title="Title">Text button</Button>
256
- ```
257
-
258
- ## Circle button
259
-
260
- Circle buttons are perfect for icon-only actions, maintaining equal width and height.
261
-
262
- <div class="component-preview flex-wrap">
263
- <div class="flex w-full gap-4 items-center">
264
- <Button primary circle>
265
- <Icon name="la:arrow-right" />
266
- </Button>
267
- <Button secondary circle>
268
- <Icon name="la:arrow-right" />
269
- </Button>
270
- <Button tertiary circle>
271
- <Icon name="la:arrow-right" />
272
- </Button>
273
- </div>
274
- <div class="flex w-full gap-4 items-center">
275
- <Button primary medium circle>
276
- <Icon name="la:arrow-right" class="text-xl" />
277
- </Button>
278
- <Button secondary medium circle>
279
- <Icon name="la:arrow-right" class="text-xl" />
280
- </Button>
281
- <Button tertiary medium circle>
282
- <Icon name="la:arrow-right" class="text-xl" />
283
- </Button>
284
- </div>
285
- <div class="flex w-full gap-4 items-center">
286
- <Button primary small circle>
287
- <Icon name="la:arrow-right" class="text-lg" />
288
- </Button>
289
- <Button secondary small circle>
290
- <Icon name="la:arrow-right" class="text-lg" />
291
- </Button>
292
- <Button tertiary small circle>
293
- <Icon name="la:arrow-right" class="text-lg" />
294
- </Button>
295
- </div>
296
- </div>
297
-
298
- ```js
299
- <Button primary circle>
300
- <Icon name="la:arrow-right" />
301
- </Button>
302
- <Button secondary circle>
303
- <Icon name="la:arrow-right" />
304
- </Button>
305
- <Button tertiary circle>
306
- <Icon name="la:arrow-right" />
307
- </Button>
308
-
309
- <Button primary medium circle>
310
- <Icon name="la:arrow-right" class="text-xl" />
311
- </Button>
312
- <Button secondary medium circle>
313
- <Icon name="la:arrow-right" class="text-xl" />
314
- </Button>
315
- <Button tertiary medium circle>
316
- <Icon name="la:arrow-right" class="text-xl" />
317
- </Button>
318
-
319
-
320
-
321
- <Button primary small circle>
322
- <Icon name="la:arrow-right" class="text-lg" />
323
- </Button>
324
- <Button secondary small circle>
325
- <Icon name="la:arrow-right" class="text-lg" />
326
- </Button>
327
- <Button tertiary small circle>
328
- <Icon name="la:arrow-right" class="text-lg" />
329
- </Button>
330
- ```
331
-
332
- ### Circle outline buttons
333
-
334
- Circle buttons are also available in outline variants.
335
-
336
- <div class="component-preview">
337
- <Button primary-outline circle>
338
- <Icon name="la:arrow-right" class="text-2xl" />
339
- </Button>
340
-
341
- <Button secondary-outline circle>
342
- <Icon name="la:arrow-right" class="text-2xl" />
343
- </Button>
344
-
345
- <Button tertiary-outline circle>
346
- <Icon name="la:arrow-right" class="text-2xl" />
347
- </Button>
348
- </div>
349
-
350
- ```js
351
- <Button primary-outline circle>
352
- <Icon name="la:arrow-right" class="text-2xl" />
353
- </Button>
354
- <Button secondary-outline circle>
355
- <Icon name="la:arrow-right" class="text-2xl" />
356
- </Button>
357
- <Button tertiary-outline circle>
358
- <Icon name="la:arrow-right" class="text-2xl" />
359
- </Button>
1
+ ---
2
+ title: "Buttons"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Button from '../../components/Button.vue'
6
+ import ButtonCopy from '../../components/ButtonCopy.astro'
7
+ import { Icon } from 'astro-icon/components';
8
+
9
+ # All buttons
10
+
11
+ This page is an example on how to document your button components, most of the copy was written by AI so don't take it very seriously.
12
+
13
+ Find the code for this page in the `src/pages/components/buttons.md` file.
14
+
15
+ <div class="component-preview flex-wrap">
16
+ <div class="flex w-full gap-4 items-center">
17
+ <Button primary>Primary</Button>
18
+ <Button secondary>Secondary</Button>
19
+ <Button tertiary>Tertiary</Button>
20
+
21
+ <Button text medium>Text</Button>
22
+ <Button tag small>Tag Name</Button>
23
+ </div>
24
+ <div class="flex w-full gap-4 items-center">
25
+ <Button primary rounded>Primary</Button>
26
+ <Button secondary rounded>Secondary</Button>
27
+ <Button tertiary rounded>Tertiary</Button>
28
+
29
+ <Button text medium rounded>Text</Button>
30
+ <Button tag small rounded>Tag Name</Button>
31
+ </div>
32
+ </div>
33
+
34
+ ```js
35
+ <Button primary>Primary</Button>
36
+ <Button secondary>Secondary</Button>
37
+ <Button tertiary>Tertiary</Button>
38
+ <Button text medium>Text</Button>
39
+ <Button tag small>Tag Name</Button>
40
+
41
+ <Button primary rounded>Primary</Button>
42
+ <Button secondary rounded>Secondary</Button>
43
+ <Button tertiary rounded>Tertiary</Button>
44
+ <Button text medium rounded>Text</Button>
45
+ <Button tag small rounded>Tag Name</Button>
46
+ ```
47
+
48
+ ## Primary button `<button>`
49
+
50
+ We use the primary button for main actions like saving a form or creating a new item.
51
+
52
+ <div class="component-preview">
53
+ <Button primary>Primary</Button>
54
+ <Button primary medium>Primary</Button>
55
+ <Button primary small>Primary</Button>
56
+ </div>
57
+
58
+ ```js
59
+ <Button primary>Primary</Button>
60
+ <Button primary medium>Primary</Button>
61
+ <Button primary small>Primary</Button>
62
+ ```
63
+
64
+ ## Secondary button
65
+
66
+ Secondary buttons accompany primary buttons to provide additional actions.
67
+ For example, cancel buttons are secondary buttons.
68
+
69
+ <div class="component-preview">
70
+ <Button secondary>Secondary</Button>
71
+ <Button secondary medium>Secondary</Button>
72
+ <Button secondary small>Secondary</Button>
73
+ </div>
74
+
75
+ ```js
76
+ <Button secondary>Secondary</Button>
77
+ <Button secondary medium>Secondary</Button>
78
+ <Button secondary small>Secondary</Button>
79
+ ```
80
+
81
+ ## Text button
82
+
83
+ Text buttons are used for actions that do not require a primary or secondary button.
84
+
85
+ <div class="component-preview">
86
+ <Button text>Text button</Button>
87
+ <Button text>Text button</Button>
88
+ <Button text>Text button</Button>
89
+ </div>
90
+
91
+ ```js
92
+ <Button text>Text button</Button>
93
+ ```
94
+
95
+ ## Link tertiary
96
+
97
+ <div class="component-preview">
98
+
99
+ <Button tertiary>Tertiary</Button>
100
+ <Button tertiary medium>Tertiary</Button>
101
+ <Button tertiary small>Tertiary</Button>
102
+
103
+ </div>
104
+
105
+ ```html
106
+ <Button tertiary>Tertiary</Button>
107
+ <Button tertiary medium>Tertiary</Button>
108
+ <Button tertiary small>Tertiary</Button>
109
+ ```
110
+
111
+ ## Tertiary with icon
112
+ <div class="component-preview">
113
+ <Button tertiary href="#">
114
+ Read more
115
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
116
+ </Button>
117
+
118
+ <Button tertiary href="#" medium>
119
+ Read more
120
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
121
+ </Button>
122
+
123
+ <Button tertiary href="#" small class="px-5">
124
+ Read more
125
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
126
+ </Button>
127
+ </div>
128
+
129
+ ```html
130
+ <Button tertiary href="#">
131
+ Read more
132
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
133
+ </Button>
134
+
135
+ <Button tertiary href="#" medium>
136
+ Read more
137
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
138
+ </Button>
139
+
140
+ <Button tertiary href="#" small class="px-5">
141
+ Read more
142
+ <Icon name="la:arrow-right" class="ml-2 text-2xl -my-1 -mr-1" />
143
+ </Button>
144
+
145
+ ```
146
+
147
+ ## Rounded button
148
+
149
+ Rounded edges
150
+
151
+ <div class="component-preview flex-wrap">
152
+ <div class="flex w-full gap-4 items-center">
153
+ <Button primary rounded>Primary</Button>
154
+ <Button secondary rounded>Secondary</Button>
155
+ <Button tertiary rounded>Tertiary</Button>
156
+
157
+ <Button text rounded>Text</Button>
158
+ <Button tag rounded>Tag Name</Button>
159
+ </div>
160
+ <div class="flex w-full gap-4 items-center">
161
+ <Button primary medium rounded>Primary</Button>
162
+ <Button secondary medium rounded>Secondary</Button>
163
+ <Button tertiary medium rounded>Tertiary</Button>
164
+
165
+ <Button text medium rounded>Text</Button>
166
+ <Button tag medium rounded>Tag Name</Button>
167
+ </div>
168
+ <div class="flex w-full gap-4 items-center">
169
+ <Button primary small rounded>Primary</Button>
170
+ <Button secondary small rounded>Secondary</Button>
171
+ <Button tertiary small rounded>Tertiary</Button>
172
+
173
+ <Button text medium small rounded>Text</Button>
174
+ <Button tag small rounded>Tag Name</Button>
175
+ </div>
176
+ </div>
177
+
178
+ ```js
179
+ <Button primary rounded>Primary</Button>
180
+ <Button secondary rounded>Secondary</Button>
181
+ <Button tertiary rounded>Tertiary</Button>
182
+ <Button text medium rounded>Text</Button>
183
+ <Button tag small rounded>Tag Name</Button>
184
+
185
+ <Button primary medium rounded>Primary</Button>
186
+ <Button secondary medium rounded>Secondary</Button>
187
+ <Button tertiary medium rounded>Tertiary</Button>
188
+ <Button text medium medium rounded>Text</Button>
189
+ <Button tag small medium rounded>Tag Name</Button>
190
+
191
+ <Button primary small rounded>Primary</Button>
192
+ <Button secondary small rounded>Secondary</Button>
193
+ <Button tertiary small rounded>Tertiary</Button>
194
+ <Button text medium small rounded>Text</Button>
195
+ <Button tag small rounded>Tag Name</Button>
196
+ ```
197
+
198
+ ## Outline button
199
+
200
+ Text buttons are used for actions that do not require a primary or secondary button.
201
+
202
+ <div class="component-preview flex-wrap">
203
+ <Button primary-outline title="Title">Text button</Button>
204
+ <Button primary-outline rounded title="Title">Text button</Button>
205
+
206
+ <Button secondary-outline title="Title">Text button</Button>
207
+ <Button secondary-outline rounded title="Title">Text button</Button>
208
+
209
+ <Button tertiary-outline title="Title">Text button</Button>
210
+ <Button tertiary-outline rounded title="Title">Text button</Button>
211
+
212
+ <Button tertiary-outline title="Title" class="border-2">Text button</Button>
213
+ </div>
214
+
215
+ ```js
216
+ <Button primary-outline title="Title">Text button</Button>
217
+ <Button primary-outline rounded title="Title">Text button</Button>
218
+
219
+ <Button secondary-outline title="Title">Text button</Button>
220
+ <Button secondary-outline rounded title="Title">Text button</Button>
221
+
222
+ <Button tertiary-outline title="Title">Text button</Button>
223
+ <Button tertiary-outline rounded title="Title">Text button</Button>
224
+
225
+ <Button tertiary-outline title="Title" class="border-2">Text button</Button>
226
+ ```
227
+
228
+ ### Outline button - custom hover
229
+
230
+ <div class="component-preview">
231
+ <Button tertiary-outline rounded light-hover title="Title">Text button</Button>
232
+ <Button tertiary-outline rounded medium-hover title="Title">Text button</Button>
233
+ <Button tertiary-outline rounded dark-hover title="Title">Text button</Button>
234
+ <Button tertiary-outline rounded white-hover title="Title">Text button</Button>
235
+ </div>
236
+
237
+ ```js
238
+ <Button tertiary-outline rounded light-hover title="Title">Text button</Button>
239
+ <Button tertiary-outline rounded medium-hover title="Title">Text button</Button>
240
+ <Button tertiary-outline rounded dark-hover title="Title">Text button</Button>
241
+ <Button tertiary-outline rounded white-hover title="Title">Text button</Button>
242
+
243
+ ```
244
+
245
+
246
+ ## Link button `<a>`
247
+
248
+ Text buttons are used for actions that do not require a primary or secondary button.
249
+
250
+ <div class="component-preview">
251
+ <Button primary href="#" title="Title">Text button</Button>
252
+ </div>
253
+
254
+ ```js
255
+ <Button primary href="#" title="Title">Text button</Button>
256
+ ```
257
+
258
+ ## Circle button
259
+
260
+ Circle buttons are perfect for icon-only actions, maintaining equal width and height.
261
+
262
+ <div class="component-preview flex-wrap">
263
+ <div class="flex w-full gap-4 items-center">
264
+ <Button primary circle>
265
+ <Icon name="la:arrow-right" />
266
+ </Button>
267
+ <Button secondary circle>
268
+ <Icon name="la:arrow-right" />
269
+ </Button>
270
+ <Button tertiary circle>
271
+ <Icon name="la:arrow-right" />
272
+ </Button>
273
+ </div>
274
+ <div class="flex w-full gap-4 items-center">
275
+ <Button primary medium circle>
276
+ <Icon name="la:arrow-right" class="text-xl" />
277
+ </Button>
278
+ <Button secondary medium circle>
279
+ <Icon name="la:arrow-right" class="text-xl" />
280
+ </Button>
281
+ <Button tertiary medium circle>
282
+ <Icon name="la:arrow-right" class="text-xl" />
283
+ </Button>
284
+ </div>
285
+ <div class="flex w-full gap-4 items-center">
286
+ <Button primary small circle>
287
+ <Icon name="la:arrow-right" class="text-lg" />
288
+ </Button>
289
+ <Button secondary small circle>
290
+ <Icon name="la:arrow-right" class="text-lg" />
291
+ </Button>
292
+ <Button tertiary small circle>
293
+ <Icon name="la:arrow-right" class="text-lg" />
294
+ </Button>
295
+ </div>
296
+ </div>
297
+
298
+ ```js
299
+ <Button primary circle>
300
+ <Icon name="la:arrow-right" />
301
+ </Button>
302
+ <Button secondary circle>
303
+ <Icon name="la:arrow-right" />
304
+ </Button>
305
+ <Button tertiary circle>
306
+ <Icon name="la:arrow-right" />
307
+ </Button>
308
+
309
+ <Button primary medium circle>
310
+ <Icon name="la:arrow-right" class="text-xl" />
311
+ </Button>
312
+ <Button secondary medium circle>
313
+ <Icon name="la:arrow-right" class="text-xl" />
314
+ </Button>
315
+ <Button tertiary medium circle>
316
+ <Icon name="la:arrow-right" class="text-xl" />
317
+ </Button>
318
+
319
+
320
+
321
+ <Button primary small circle>
322
+ <Icon name="la:arrow-right" class="text-lg" />
323
+ </Button>
324
+ <Button secondary small circle>
325
+ <Icon name="la:arrow-right" class="text-lg" />
326
+ </Button>
327
+ <Button tertiary small circle>
328
+ <Icon name="la:arrow-right" class="text-lg" />
329
+ </Button>
330
+ ```
331
+
332
+ ### Circle outline buttons
333
+
334
+ Circle buttons are also available in outline variants.
335
+
336
+ <div class="component-preview">
337
+ <Button primary-outline circle>
338
+ <Icon name="la:arrow-right" class="text-2xl" />
339
+ </Button>
340
+
341
+ <Button secondary-outline circle>
342
+ <Icon name="la:arrow-right" class="text-2xl" />
343
+ </Button>
344
+
345
+ <Button tertiary-outline circle>
346
+ <Icon name="la:arrow-right" class="text-2xl" />
347
+ </Button>
348
+ </div>
349
+
350
+ ```js
351
+ <Button primary-outline circle>
352
+ <Icon name="la:arrow-right" class="text-2xl" />
353
+ </Button>
354
+ <Button secondary-outline circle>
355
+ <Icon name="la:arrow-right" class="text-2xl" />
356
+ </Button>
357
+ <Button tertiary-outline circle>
358
+ <Icon name="la:arrow-right" class="text-2xl" />
359
+ </Button>
360
360
  ```