spoko-design-system 0.0.1 → 0.0.2

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 (99) hide show
  1. package/.astro/icon.d.ts +2199 -2192
  2. package/.github/workflows/deploy.yml +39 -39
  3. package/.stackblitzrc +5 -5
  4. package/.vscode/extensions.json +4 -4
  5. package/.vscode/launch.json +11 -11
  6. package/LICENSE +21 -21
  7. package/Layout/Header.astro +111 -89
  8. package/README.md +69 -69
  9. package/astro-i18next.config.mjs +17 -17
  10. package/astro-i18next.config.ts +10 -10
  11. package/astro.config.mjs +45 -42
  12. package/index.ts +6 -6
  13. package/package.json +75 -71
  14. package/public/astro-design-system-logo.svg +10 -10
  15. package/public/fonts/lg.svg +53 -53
  16. package/public/fonts/vwhead-bold-demo.html +549 -549
  17. package/public/fonts/vwhead-regular-demo.html +549 -549
  18. package/public/fonts/vwtext-bold-demo.html +549 -549
  19. package/public/fonts/vwtext-regular-demo.html +549 -549
  20. package/public/github.svg +3 -3
  21. package/public/grid_dot.svg +4 -4
  22. package/public/linkedin.svg +44 -44
  23. package/public/locales/en/translation.json +5 -5
  24. package/public/locales/pl/translation.json +5 -5
  25. package/public/make-scrollable-code-focusable.js +3 -3
  26. package/public/polo.blue.svg +29 -0
  27. package/public/spoko.space.svg +71 -0
  28. package/public/twitter.svg +46 -46
  29. package/sandbox.config.json +11 -11
  30. package/src/MyComponent.astro +8 -8
  31. package/src/components/Badge.vue +19 -19
  32. package/src/components/Badges.vue +24 -23
  33. package/src/components/Breadcrumbs.vue +108 -111
  34. package/src/components/Button.vue +28 -0
  35. package/src/components/CategoryLink.astro +18 -0
  36. package/src/components/Copyright.astro +11 -11
  37. package/src/components/Date.astro +7 -0
  38. package/src/components/FuckRussia.vue +65 -65
  39. package/src/components/HandDrive.astro +30 -30
  40. package/src/components/HeadCommon.astro +40 -40
  41. package/src/components/HeadSEO.astro +41 -41
  42. package/src/components/Header/AstroLogo.astro +7 -27
  43. package/src/components/Header/Header.astro +44 -48
  44. package/src/components/Header/SkipToContent.astro +1 -1
  45. package/src/components/Headline.vue +28 -0
  46. package/src/components/Jumbatron.vue +31 -31
  47. package/src/components/LeftSidebar.astro +44 -44
  48. package/src/components/MainColors.vue +29 -29
  49. package/src/components/MainInput.vue +18 -18
  50. package/src/components/MainTable.vue +40 -45
  51. package/src/components/Modal.astro +30 -0
  52. package/src/components/PageContent.astro +14 -14
  53. package/src/components/PostHeader.astro +104 -0
  54. package/src/components/RightSidebar.astro +15 -11
  55. package/src/components/SlimBanner.vue +59 -59
  56. package/src/components/TableOfContents.astro +11 -11
  57. package/src/components/Translations.vue +27 -0
  58. package/src/components/flags/FlagPL.vue +2 -2
  59. package/src/components/flags/FlagUA.vue +2 -2
  60. package/src/components/layout/Header.astro +50 -69
  61. package/src/config.ts +47 -42
  62. package/src/design.config.ts +73 -92
  63. package/src/env.d.ts +1 -1
  64. package/src/flag-poland.svg +1 -0
  65. package/src/flag-uk.svg +1 -0
  66. package/src/layouts/Layout.astro +51 -0
  67. package/src/layouts/MainLayout.astro +68 -50
  68. package/src/pages/components/badges.mdx +37 -35
  69. package/src/pages/components/breadcrumbs.mdx +100 -103
  70. package/src/pages/components/buttons.mdx +62 -60
  71. package/src/pages/components/copyright.mdx +41 -24
  72. package/src/pages/components/flags.mdx +40 -26
  73. package/src/pages/components/fuck-russia.mdx +39 -16
  74. package/src/pages/components/hand-drive.mdx +33 -27
  75. package/src/pages/components/headline.mdx +129 -0
  76. package/src/pages/components/icons.astro +52 -45
  77. package/src/pages/components/input.mdx +45 -14
  78. package/src/pages/components/jumbatron.mdx +48 -48
  79. package/src/pages/components/modal.mdx +58 -0
  80. package/src/pages/components/post-header.mdx +36 -0
  81. package/src/pages/components/slimbanner.mdx +29 -27
  82. package/src/pages/components/table.mdx +20 -20
  83. package/src/pages/core/colors.mdx +8 -8
  84. package/src/pages/core/introduction.mdx +74 -68
  85. package/src/pages/core/shadows.astro +20 -20
  86. package/src/pages/core/typography.astro +46 -46
  87. package/src/pages/index.astro +67 -52
  88. package/src/pages/patterns/introduction.mdx +60 -61
  89. package/src/styles/_variables.scss +75 -75
  90. package/src/styles/base/_base.scss +158 -158
  91. package/src/styles/base/_typography.scss +147 -147
  92. package/src/styles/content.scss +51 -72
  93. package/src/styles/main.scss +22 -22
  94. package/tailwind.config.cjs +8 -8
  95. package/tsconfig.json +11 -11
  96. package/uno.config.ts +227 -227
  97. package/src/components/MainButton.vue +0 -26
  98. package/src/components/MainStatusPill.vue +0 -32
  99. package/src/pages/components/status-pill.mdx +0 -22
@@ -1,60 +1,62 @@
1
- ---
2
- title: "Buttons"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import MainButton from '../../components/MainButton.vue'
6
-
7
- ## All buttons
8
-
9
- 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.
10
-
11
- Find the code for this page in the `src/pages/components/buttons.md` file.
12
-
13
- <div class="component-preview">
14
- <MainButton primary><b>Primary</b></MainButton>
15
- <MainButton secondary>Secondary</MainButton>
16
- <MainButton text>Text</MainButton>
17
- </div>
18
-
19
- ```js
20
- <MainButton primary>Primary</MainButton>
21
- <MainButton secondary>Secondary</MainButton>
22
- <MainButton text>Text</MainButton>
23
- ```
24
-
25
- ## Primary button
26
-
27
- We use the primary button for main actions like saving a form or creating a new item.
28
-
29
- <div class="component-preview">
30
- <MainButton primary>Primary button</MainButton>
31
- </div>
32
-
33
- ```js
34
- <MainButton primary>Primary button</MainButton>
35
- ```
36
-
37
- ## Secondary button
38
-
39
- Secondary buttons accompany primary buttons to provide additional actions.
40
- For example, cancel buttons are secondary buttons.
41
-
42
- <div class="component-preview">
43
- <MainButton secondary>Secondary button</MainButton>
44
- </div>
45
-
46
- ```js
47
- <MainButton secondary>Secondary button</MainButton>
48
- ```
49
-
50
- ## Text button
51
-
52
- Text buttons are used for actions that do not require a primary or secondary button.
53
-
54
- <div class="component-preview">
55
- <MainButton text>Text button</MainButton>
56
- </div>
57
-
58
- ```js
59
- <MainButton text>Text button</MainButton>
60
- ```
1
+ ---
2
+ title: "Buttons"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Button from '../../components/Button.vue'
6
+
7
+ ## All buttons
8
+
9
+ 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.
10
+
11
+ Find the code for this page in the `src/pages/components/buttons.md` file.
12
+
13
+ <div class="component-preview">
14
+ <Button primary>Primary</Button>
15
+ <Button secondary>Secondary</Button>
16
+ <Button text>Text</Button>
17
+ <Button tag>Text</Button>
18
+ </div>
19
+
20
+ ```js
21
+ <Button primary>Primary</Button>
22
+ <Button secondary>Secondary</Button>
23
+ <Button text>Text</Button>
24
+ <Button tag>Text</Button>
25
+ ```
26
+
27
+ ## Primary button
28
+
29
+ We use the primary button for main actions like saving a form or creating a new item.
30
+
31
+ <div class="component-preview">
32
+ <Button primary>Primary button</Button>
33
+ </div>
34
+
35
+ ```js
36
+ <Button primary>Primary button</Button>
37
+ ```
38
+
39
+ ## Secondary button
40
+
41
+ Secondary buttons accompany primary buttons to provide additional actions.
42
+ For example, cancel buttons are secondary buttons.
43
+
44
+ <div class="component-preview">
45
+ <Button secondary>Secondary button</Button>
46
+ </div>
47
+
48
+ ```js
49
+ <Button secondary>Secondary button</Button>
50
+ ```
51
+
52
+ ## Text button
53
+
54
+ Text buttons are used for actions that do not require a primary or secondary button.
55
+
56
+ <div class="component-preview">
57
+ <Button text>Text button</Button>
58
+ </div>
59
+
60
+ ```js
61
+ <Button text>Text button</Button>
62
+ ```
@@ -1,24 +1,41 @@
1
- ---
2
- title: "Copyright"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import Copyright from '../../components/Copyright.astro'
6
-
7
- ## Copyright
8
-
9
- Copyright component
10
- <div class="component-preview">
11
- <Copyright class="z-0 w-full">
12
- <div slot="left-item">left item</div>
13
- <div slot="middle-item">middle item</div>
14
- <div slot="right-item">right item</div>
15
- </Copyright>
16
- </div>
17
-
18
- ```js
19
- <Copyright class="fixed bottom-0 z-0 w-full" >
20
- <div slot="left-item">left item</div>
21
- <div slot="middle-item">middle item</div>
22
- <div slot="right-item">right item</div>
23
- </Copyright>
24
- ```
1
+ ---
2
+ title: "Copyright"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Copyright from '../../components/Copyright.astro'
6
+
7
+ ## Copyright
8
+
9
+ Copyright component
10
+ <div class="component-preview">
11
+ <Copyright class="w-full">
12
+ <div slot="left-item">left item</div>
13
+ <div slot="middle-item">middle item</div>
14
+ <div slot="right-item">right item</div>
15
+ </Copyright>
16
+ </div>
17
+
18
+ ```js
19
+ <Copyright class="w-full" >
20
+ <div slot="left-item">left item</div>
21
+ <div slot="middle-item">middle item</div>
22
+ <div slot="right-item">right item</div>
23
+ </Copyright>
24
+ ```
25
+
26
+ Copyright with custom classes
27
+ <div class="component-preview">
28
+ <Copyright class="z-0 w-full">
29
+ <div slot="left-item">left item</div>
30
+ <div slot="middle-item">middle item</div>
31
+ <div slot="right-item">right item</div>
32
+ </Copyright>
33
+ </div>
34
+
35
+ ```js
36
+ <Copyright class="fixed bottom-0 z-0 w-full" >
37
+ <div slot="left-item">left item</div>
38
+ <div slot="middle-item">middle item</div>
39
+ <div slot="right-item">right item</div>
40
+ </Copyright>
41
+ ```
@@ -1,27 +1,41 @@
1
- ---
2
- title: "FuckRussia"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import FlagPL from '../../components/flags/FlagPL.vue'
6
- import FlagUA from '../../components/flags/FlagUA.vue'
7
-
8
- ## Flags
9
- Flags - icons
10
-
11
- ### Flag PL
12
- <div class="component-preview">
13
- <FlagPL />
14
- </div>
15
-
16
- ```js
17
- <FlagPL />
18
- ```
19
-
20
- ###Flag UA
21
- <div class="component-preview">
22
- <FlagUA />
23
- </div>
24
-
25
- ```js
26
- <FlagUA />
1
+ ---
2
+ title: "FuckRussia"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import FlagPL from '../../components/flags/FlagPL.vue'
6
+ import FlagUA from '../../components/flags/FlagUA.vue'
7
+ import { Icon } from 'astro-icon/components'
8
+
9
+ ## Flags
10
+ Flags based on CSS (UnoCSS) classes only.
11
+
12
+ ### Flag PL
13
+ <div class="component-preview">
14
+ <FlagPL />
15
+ </div>
16
+
17
+ ```js
18
+ <FlagPL />
19
+ ```
20
+
21
+ ### Flag UA
22
+ <div class="component-preview">
23
+ <FlagUA />
24
+ </div>
25
+
26
+ ```js
27
+ <FlagUA />
28
+ ```
29
+
30
+ ## Circle icon flags
31
+ <div class="component-preview">
32
+ <Icon name="circle-flags:pl" />
33
+ <Icon name="circle-flags:uk" />
34
+ <Icon name="circle-flags:ua" />
35
+ </div>
36
+
37
+ ```js
38
+ <Icon name="circle-flags:pl" />
39
+ <Icon name="circle-flags:uk" />
40
+ <Icon name="circle-flags:ua" />
27
41
  ```
@@ -1,16 +1,39 @@
1
- ---
2
- title: "FuckRussia"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import FuckRussia from '../../components/FuckRussia.vue'
6
-
7
- ## FuckRussia
8
-
9
- FuckRussia - solidarity with Ukraine.
10
- <div class="component-preview">
11
- <FuckRussia class="flex" />
12
- </div>
13
-
14
- ```js
15
- <FuckRussia class="flex" />
16
- ```
1
+ ---
2
+ title: "FuckRussia"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import FuckRussia from '../../components/FuckRussia.vue'
6
+
7
+ ## FuckRussia
8
+
9
+ FuckRussia - solidarity with Ukraine.
10
+
11
+ ```js
12
+ import FuckRussia from '../../components/FuckRussia.vue'
13
+ ```
14
+ ####
15
+
16
+ ### Animation only
17
+
18
+ <div class="component-preview">
19
+ <FuckRussia />
20
+ </div>
21
+
22
+ ```js
23
+ <FuckRussia />
24
+ ```
25
+
26
+
27
+ ### Linked animation
28
+
29
+ <div class="component-preview">
30
+ <a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener">
31
+ <FuckRussia />
32
+ </a>
33
+ </div>
34
+
35
+ ```js
36
+ <a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener">
37
+ <FuckRussia />
38
+ </a>
39
+ ```
@@ -1,27 +1,33 @@
1
- ---
2
- title: "HandDrive"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import HandDrive from '../../components/HandDrive.astro'
6
-
7
- ## HandDrive
8
-
9
- ### HandDrive RHD
10
- <div class="component-preview">
11
- <HandDrive handDrive={0} />
12
- </div>
13
-
14
- ```js
15
- <HandDrive handDrive={0} />
16
- ```
17
-
18
-
19
-
20
- ### HandDrive LHD
21
- <div class="component-preview">
22
- <HandDrive handDrive={1} />
23
- </div>
24
-
25
- ```js
26
- <HandDrive handDrive={1} />
27
- ```
1
+ ---
2
+ title: "HandDrive"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import HandDrive from '../../components/HandDrive.astro'
6
+
7
+ ## HandDrive
8
+
9
+ ```js
10
+ import HandDrive from '../../components/HandDrive.astro'
11
+ ```
12
+
13
+
14
+ ### RHD
15
+
16
+ <div class="component-preview">
17
+ <HandDrive handDrive={0} />
18
+ </div>
19
+
20
+ ```js
21
+ <HandDrive handDrive={0} />
22
+ ```
23
+
24
+
25
+
26
+ ### LHD
27
+ <div class="component-preview">
28
+ <HandDrive handDrive={1} />
29
+ </div>
30
+
31
+ ```js
32
+ <HandDrive handDrive={1} />
33
+ ```
@@ -0,0 +1,129 @@
1
+ ---
2
+ title: "Headline"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Headline from '../../components/Headline.vue'
6
+ import { Icon } from 'astro-icon/components';
7
+
8
+
9
+ ## Headline
10
+
11
+ ### Headline - universal HTML tag <small>(nice for SEO)</small>
12
+ Headings give both your visitors and search engines important clues about the content’s hierarchy and relevancy.
13
+ It's good to use only H1-H6 for important headings, but sometimes I want more things to be unified. That's why I created this universal component.
14
+
15
+ Thanks to this, I can make a header that always looks the same, regardless of whether it is an H1 or a DIV or P.
16
+
17
+ ## Import
18
+
19
+ ```js
20
+ import Headline from 'spoko-design-system/src/components/Headline.vue';
21
+ ```
22
+
23
+ ## parameters
24
+ ```js
25
+ as: {
26
+ type: String as PropType<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'div' | 'span'>,
27
+ default: null,
28
+ required: true,
29
+ },
30
+ textSize: {
31
+ type: String as PropType<'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl'>,
32
+ required: false,
33
+ default: null
34
+ }
35
+
36
+ ```
37
+
38
+ #### Headline H1
39
+
40
+ <div class="component-preview">
41
+ <Headline as="h1">Lorem Ipsum</Headline>
42
+ </div>
43
+
44
+ ```js
45
+ <Headline as="h1">
46
+ Lorem Ipsum
47
+ </Headline>
48
+
49
+ ```
50
+
51
+
52
+ #### Headline H2
53
+
54
+ <div class="component-preview">
55
+ <Headline as="h2"><Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
56
+ </div>
57
+
58
+ ```js
59
+ <Headline as="h2">
60
+ <Icon name="ph:cat-thin" class="mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />
61
+ Lorem Ipsum
62
+ </Headline>
63
+
64
+ ```
65
+
66
+ #### Headline DIV
67
+
68
+ <div class="component-preview">
69
+ <Headline as="div"><Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
70
+ </div>
71
+
72
+ ```js
73
+ <Headline as="div">
74
+ <Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />
75
+ Lorem Ipsum
76
+ </Headline>
77
+
78
+ ```
79
+
80
+ #### Headline P
81
+
82
+ <div class="component-preview">
83
+ <Headline as="p"><Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
84
+ </div>
85
+
86
+ ```js
87
+ <Headline as="p">
88
+ <Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />
89
+ Lorem Ipsum
90
+ </Headline>
91
+
92
+ ```
93
+
94
+ #### Headline without icon
95
+
96
+ <div class="component-preview">
97
+ <Headline as="p">Lorem Ipsum</Headline>
98
+ </div>
99
+
100
+ ```js
101
+ <Headline as="p">Lorem Ipsum</Headline>
102
+
103
+ ```
104
+
105
+ #### Headline without icon, text size 4xl
106
+
107
+ <div class="component-preview">
108
+ <Headline as="h1" text-size="4xl">Lorem Ipsum</Headline>
109
+ </div>
110
+
111
+ ```js
112
+ <Headline as="h1" text-size="4xl">Lorem Ipsum</Headline>
113
+
114
+ ```
115
+
116
+
117
+ #### Headline without icon, text size 4xl with blue icon
118
+
119
+ <div class="component-preview">
120
+ <Headline as="h1" text-size="4xl"><Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
121
+ </div>
122
+
123
+ ```js
124
+ <Headline as="h1" text-size="4xl" icon-color="blue-wrc">
125
+ <Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />
126
+ Lorem Ipsum
127
+ </Headline>
128
+
129
+ ```
@@ -1,45 +1,52 @@
1
- ---
2
- import MainLayout from '../../layouts/MainLayout.astro';
3
- import { Icon } from 'astro-icon/components';
4
-
5
- const ICONS = {
6
- mdi: ["facebook", "instagram", "post-it-note-edit-outline"], // Loads only Material Design Icon's "account" SVG
7
- 'ant-design': ["menu-fold-outlined", "menu-unfold-outlined", "menu-outlined" ],
8
- bi: ["envelope-open", "credit-card"],
9
- bx: ["arrow-back"],
10
- carbon: ["language", "checkmark", "home", "dicom-overlay"],
11
- el: ["star-empty", "star"],
12
- 'eos-icons': ["three-dots-loading"],
13
- fluent: ["share-android-24-regular"],
14
- 'fluent-emoji': ["cookie"],
15
- la: ["arrow-right", "arrow-left"],
16
- octicon: ["chevron-left-24", "x-24"],
17
- uil: ["map-marker", "envelope", "phone"]
18
- }
19
-
20
- ---
21
-
22
- <MainLayout>
23
- <h1>Icons</h1>
24
- <pre class="astro-code bg-slate-800 text-white">import &#123; Icon &#125; from 'astro-icon/components';</pre>
25
- <div class="">
26
- {Object.keys(ICONS).map((key) => (
27
- <h2>{key}</h2>
28
- <div class="inline-grid grid-cols-4 gap-0 w-full">
29
- {ICONS[key].map((value) => (
30
- <div>
31
- <div class="component-preview ">
32
- <Icon name={`${key}:${value}`} />
33
- </div>
34
- <pre class="astro-code bg-slate-800 text-white text-sm">&lt;Icon name={`${key}:${value}`} /&gt;</pre>
35
- </div>
36
- ))}
37
- </div>
38
- ))}
39
- </div>
40
-
41
-
42
-
43
- </MainLayout>
44
-
45
-
1
+ ---
2
+ import MainLayout from '../../layouts/MainLayout.astro';
3
+ import { Icon } from 'astro-icon/components';
4
+
5
+ const iconifyUrl = 'https://icon-sets.iconify.design/'
6
+
7
+ const ICONS = {
8
+ mdi: ["facebook", "instagram", "post-it-note-edit-outline"], // Loads only Material Design Icon's "account" SVG
9
+ 'ant-design': ["menu-fold-outlined", "menu-unfold-outlined", "menu-outlined", "cluster-outlined", "audit-outlined", "build-twotone" ],
10
+ bi: ["envelope-open", "credit-card"],
11
+ bx: ["arrow-back"],
12
+ carbon: ["language", "checkmark", "home", "dicom-overlay"],
13
+ el: ["star-empty", "star"],
14
+ 'eos-icons': ["three-dots-loading"],
15
+ fluent: ["share-android-24-regular"],
16
+ 'fluent-emoji': ["cookie"],
17
+ la: ["arrow-right", "arrow-left"],
18
+ octicon: ["chevron-left-24", "x-24"],
19
+ uil: ["map-marker", "envelope", "phone"]
20
+ }
21
+
22
+ ---
23
+
24
+ <MainLayout>
25
+ <h1>Icons</h1>
26
+
27
+ <pre class="mt-6 astro-code bg-slate-800 text-white">import &#123; Icon &#125; from 'astro-icon/components';</pre>
28
+ <div class="">
29
+ {Object.keys(ICONS).map((key) => (
30
+ <h2 class="mt-6 mx-2">
31
+ <a href={`${iconifyUrl}/${key}`} target="_blank">
32
+ {key}
33
+ </a>
34
+ </h2>
35
+ <div class="inline-grid grid-cols-4 gap-0 w-full">
36
+ {ICONS[key].map((value) => (
37
+ <div class="mx-1 mb-2">
38
+ <div class="component-preview ">
39
+ <Icon name={`${key}:${value}`} />
40
+ </div>
41
+ <pre class="astro-code bg-slate-800 text-white text-sm">&lt;Icon name={`${key}:${value}`} /&gt;</pre>
42
+ </div>
43
+ ))}
44
+ </div>
45
+ ))}
46
+ </div>
47
+
48
+
49
+
50
+ </MainLayout>
51
+
52
+
@@ -1,15 +1,46 @@
1
- ---
2
- title: Input
3
- layout: ../../layouts/MainLayout.astro
4
- ---
5
- import MainInput from '../../components/MainInput.vue'
6
-
7
- ## Input text
8
-
9
- <div class="component-preview">
10
- <MainInput label="Name"></MainInput>
11
- </div>
12
-
13
- ```js
14
- <MainInput type="text" value="Hello world!"></MainInput>
1
+ ---
2
+ title: Input
3
+ layout: ../../layouts/MainLayout.astro
4
+ ---
5
+ import MainInput from '../../components/MainInput.vue'
6
+
7
+ ## Input text
8
+
9
+ <div class="component-preview">
10
+ <MainInput label="Name"></MainInput>
11
+ </div>
12
+
13
+ ```js
14
+ <MainInput type="text" value="Hello world!"></MainInput>
15
+ ```
16
+
17
+
18
+
19
+ <div class="component-preview">
20
+
21
+ <div class="bg-white grid items-end w-full gap-6 md:grid-cols-3 px-4 py-6">
22
+ <div class="relative">
23
+ <input type="text" id="floating_filled" class="block rounded-t-lg px-2.5 pb-2.5 pt-5 w-full text-sm text-gray-900 bg-gray-50 dark:bg-gray-700 border-0 border-b-2 border-gray-300 appearance-none dark:text-white dark:border-gray-600 dark:focus:border-blue-500 focus:outline-none focus:ring-0 focus:border-blue-600 peer" placeholder=" " />
24
+ <label for="floating_filled" class="absolute text-sm text-gray-500 dark:text-gray-400 duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-focus:text-blue-600 peer-focus:dark:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto">Floating filled</label>
25
+ </div>
26
+
27
+ <div class="relative z-0">
28
+ <input type="text" id="floating_standard" class="block py-2.5 px-0 w-full text-sm text-gray-900 bg-transparent border-0 border-b-2 border-gray-300 appearance-none dark:text-white dark:border-gray-600 dark:focus:border-blue-500 focus:outline-none focus:ring-0 focus:border-blue-600 peer" placeholder=" " />
29
+ <label for="floating_standard" class="absolute text-sm text-gray-500 dark:text-gray-400 duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:start-0 peer-focus:text-blue-600 peer-focus:dark:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto">Floating standard</label>
30
+ </div>
31
+ </div>
32
+
33
+ </div>
34
+
35
+
36
+ ```js
37
+ <div class="relative">
38
+ <input type="text" id="floating_filled" class="block rounded-t-lg px-2.5 pb-2.5 pt-5 w-full text-sm text-gray-900 bg-gray-50 dark:bg-gray-700 border-0 border-b-2 border-gray-300 appearance-none dark:text-white dark:border-gray-600 dark:focus:border-blue-500 focus:outline-none focus:ring-0 focus:border-blue-600 peer" placeholder=" " />
39
+ <label for="floating_filled" class="absolute text-sm text-gray-500 dark:text-gray-400 duration-300 transform -translate-y-4 scale-75 top-4 z-10 origin-[0] start-2.5 peer-focus:text-blue-600 peer-focus:dark:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-4 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto">Floating filled</label>
40
+ </div>
41
+
42
+ <div class="relative z-0">
43
+ <input type="text" id="floating_standard" class="block py-2.5 px-0 w-full text-sm text-gray-900 bg-transparent border-0 border-b-2 border-gray-300 appearance-none dark:text-white dark:border-gray-600 dark:focus:border-blue-500 focus:outline-none focus:ring-0 focus:border-blue-600 peer" placeholder=" " />
44
+ <label for="floating_standard" class="absolute text-sm text-gray-500 dark:text-gray-400 duration-300 transform -translate-y-6 scale-75 top-3 -z-10 origin-[0] peer-focus:start-0 peer-focus:text-blue-600 peer-focus:dark:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-6 rtl:peer-focus:translate-x-1/4 rtl:peer-focus:left-auto">Floating standard</label>
45
+ </div>
15
46
  ```