spoko-design-system 0.9.6 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.astro/content.d.ts +1 -1
  2. package/.astro/data-store.json +1 -1
  3. package/.astro/settings.json +4 -4
  4. package/.astro/types.d.ts +2 -1
  5. package/.claude/settings.local.json +11 -1
  6. package/.github/dependabot.yml +11 -11
  7. package/.github/todo.yml +3 -3
  8. package/.github/workflows/deploy.yml +39 -39
  9. package/.github/workflows/release.yml +64 -0
  10. package/.releaserc.json +93 -0
  11. package/.stackblitzrc +5 -5
  12. package/.vscode/extensions.json +4 -5
  13. package/.vscode/launch.json +11 -11
  14. package/.vscode/settings.json +1 -5
  15. package/CHANGELOG.md +20 -0
  16. package/CONTRIBUTING.md +183 -0
  17. package/LICENSE +21 -21
  18. package/README.md +132 -116
  19. package/astro.config.mjs +84 -86
  20. package/dev-dist/sw.js +91 -91
  21. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  22. package/icon.config.ts +340 -310
  23. package/index.ts +70 -70
  24. package/package.json +19 -11
  25. package/public/arrow-bottom.svg +7 -7
  26. package/public/fonts/lg.svg +53 -53
  27. package/public/fonts/vwhead-bold-demo.html +549 -549
  28. package/public/fonts/vwhead-regular-demo.html +549 -549
  29. package/public/fonts/vwtext-bold-demo.html +549 -549
  30. package/public/fonts/vwtext-regular-demo.html +549 -549
  31. package/public/github.svg +3 -3
  32. package/public/grid_dot.svg +4 -4
  33. package/public/linkedin.svg +44 -44
  34. package/public/make-scrollable-code-focusable.js +3 -3
  35. package/public/pagefind.yml +3 -3
  36. package/public/polo.blue.svg +29 -29
  37. package/public/spoko.space.svg +71 -71
  38. package/public/twitter.svg +46 -46
  39. package/renovate.json +6 -6
  40. package/sandbox.config.json +11 -11
  41. package/src/MyComponent.astro +8 -8
  42. package/src/components/Badge.vue +19 -19
  43. package/src/components/Badges.vue +21 -21
  44. package/src/components/Breadcrumbs.vue +94 -94
  45. package/src/components/Button.vue +101 -101
  46. package/src/components/ButtonCopy.astro +183 -183
  47. package/src/components/ButtonCopy.vue +36 -36
  48. package/src/components/Card.astro +27 -27
  49. package/src/components/Carousel.astro +26 -26
  50. package/src/components/Category/CategoriesCarousel.astro +100 -101
  51. package/src/components/Category/CategoryDetails.astro +168 -169
  52. package/src/components/Category/CategoryLink.vue +28 -28
  53. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  54. package/src/components/Category/CategoryTile.astro +37 -37
  55. package/src/components/Category/CategoryViewToggler.astro +89 -89
  56. package/src/components/Category/SubCategoryLink.vue +19 -19
  57. package/src/components/Copyright.astro +12 -12
  58. package/src/components/Date.astro +7 -7
  59. package/src/components/Faq.astro +32 -33
  60. package/src/components/FaqItem.astro +80 -80
  61. package/src/components/FeaturesList.vue +37 -37
  62. package/src/components/FuckRussia.vue +62 -62
  63. package/src/components/HandDrive.astro +55 -29
  64. package/src/components/Header/Header.astro +210 -210
  65. package/src/components/Header/SkipToContent.astro +1 -1
  66. package/src/components/Headline.vue +107 -87
  67. package/src/components/Image.astro +30 -30
  68. package/src/components/LeftSidebar.astro +53 -53
  69. package/src/components/MainColors.vue +22 -22
  70. package/src/components/MainInput.vue +15 -15
  71. package/src/components/Modal.astro +27 -27
  72. package/src/components/PageContent.astro +5 -5
  73. package/src/components/PartNumber.vue +27 -27
  74. package/src/components/Post/PostCategories.astro +41 -41
  75. package/src/components/Post/PostCategories.vue +30 -30
  76. package/src/components/PostHeader.astro +103 -103
  77. package/src/components/PrCode.vue +141 -141
  78. package/src/components/Product/ProductButton.vue +18 -18
  79. package/src/components/Product/ProductCarousel.astro +35 -35
  80. package/src/components/Product/ProductEngineType.vue +42 -42
  81. package/src/components/Product/ProductImage.astro +40 -40
  82. package/src/components/Product/ProductLink.astro +96 -101
  83. package/src/components/Product/ProductLink.vue +59 -59
  84. package/src/components/Product/ProductLinkInfo.astro +37 -37
  85. package/src/components/Product/ProductNumber.astro +60 -60
  86. package/src/components/ProductCarousel.astro +38 -38
  87. package/src/components/ProductCodes.vue +39 -39
  88. package/src/components/ProductDetailName.vue +52 -52
  89. package/src/components/ProductDetailsList.vue +216 -216
  90. package/src/components/ProductTile.astro +47 -48
  91. package/src/components/Quote.vue +23 -23
  92. package/src/components/ReloadPrompt.astro +50 -50
  93. package/src/components/SlimBanner.vue +72 -72
  94. package/src/components/Table.vue +32 -32
  95. package/src/components/TableOfContents.astro +15 -15
  96. package/src/components/Translations.vue +23 -23
  97. package/src/components/flags/FlagPL.vue +3 -3
  98. package/src/components/flags/FlagUA.vue +2 -2
  99. package/src/components/{Layout → layout}/CallToAction.astro +52 -52
  100. package/src/components/{Layout → layout}/Container.astro +7 -7
  101. package/src/components/{Layout → layout}/Header.astro +80 -80
  102. package/src/config.ts +56 -56
  103. package/src/design.config.ts +98 -98
  104. package/src/env.d.ts +6 -6
  105. package/src/layouts/Layout.astro +58 -61
  106. package/src/layouts/MainLayout.astro +78 -81
  107. package/src/layouts/partials/FooterCommon.astro +4 -4
  108. package/src/layouts/partials/HeadCommon.astro +44 -44
  109. package/src/layouts/partials/HeadSEO.astro +41 -41
  110. package/src/pages/components/badges.mdx +57 -57
  111. package/src/pages/components/breadcrumbs.mdx +139 -139
  112. package/src/pages/components/buttons.mdx +359 -360
  113. package/src/pages/components/card.mdx +294 -294
  114. package/src/pages/components/carousel.mdx +62 -62
  115. package/src/pages/components/copyright.mdx +42 -42
  116. package/src/pages/components/details-list.mdx +115 -115
  117. package/src/pages/components/features-list.mdx +37 -37
  118. package/src/pages/components/flags.mdx +49 -49
  119. package/src/pages/components/fuck-russia.mdx +39 -39
  120. package/src/pages/components/hand-drive.mdx +78 -38
  121. package/src/pages/components/headline.mdx +137 -137
  122. package/src/pages/components/icons.astro +135 -135
  123. package/src/pages/components/image.mdx +513 -513
  124. package/src/pages/components/input.mdx +367 -367
  125. package/src/pages/components/jumbotron.mdx +359 -359
  126. package/src/pages/components/modal.mdx +64 -64
  127. package/src/pages/components/post-header.mdx +64 -64
  128. package/src/pages/components/pr-code.mdx +65 -65
  129. package/src/pages/components/product-number.mdx +58 -58
  130. package/src/pages/components/product-tile.mdx +51 -51
  131. package/src/pages/components/quote.mdx +33 -33
  132. package/src/pages/components/slimbanner.mdx +35 -35
  133. package/src/pages/components/table.mdx +108 -108
  134. package/src/pages/core/colors.mdx +10 -10
  135. package/src/pages/core/grid.mdx +89 -89
  136. package/src/pages/core/introduction.mdx +77 -77
  137. package/src/pages/core/shadows.astro +20 -20
  138. package/src/pages/core/typography.astro +49 -49
  139. package/src/pages/index.astro +264 -133
  140. package/src/pages/patterns/introduction.mdx +60 -60
  141. package/src/pwa.ts +12 -12
  142. package/src/styles/_variables.scss +70 -70
  143. package/src/styles/base/base.css +184 -184
  144. package/src/styles/base/grid.css +92 -92
  145. package/src/styles/base/typography.css +70 -70
  146. package/src/styles/content.css +73 -73
  147. package/src/styles/main.css +7 -7
  148. package/src/types/Product.ts +31 -31
  149. package/src/types/astro.d.ts +3 -3
  150. package/src/utils/category/getMainCategoryList.ts +8 -17
  151. package/src/utils/product/getPriceFormatted.ts +12 -15
  152. package/src/utils/product/getProductChecklist.ts +16 -17
  153. package/src/utils/product/useFormatProductNumber.ts +41 -41
  154. package/src/utils/seo/getShorterDescription.ts +14 -14
  155. package/src/utils/text/formatDate.ts +5 -5
  156. package/src/utils/text/formatLocaleNumber.ts +5 -6
  157. package/src/utils/text/formatPad.ts +12 -12
  158. package/src/utils/text/getNumberFormatted.ts +33 -33
  159. package/src/utils/text/getTranslatedLink.ts +5 -5
  160. package/src/utils/text.ts +19 -19
  161. package/tailwind.config.cjs +8 -8
  162. package/tsconfig.json +28 -28
  163. package/uno-config/index.ts +262 -268
  164. package/uno-config/theme/breakpoints.ts +9 -9
  165. package/uno-config/theme/colors.ts +64 -64
  166. package/uno-config/theme/dimensions.ts +17 -17
  167. package/uno-config/theme/effects.ts +14 -14
  168. package/uno-config/theme/grid.ts +10 -10
  169. package/uno-config/theme/index.ts +28 -28
  170. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  171. package/uno-config/theme/shortcuts/components.ts +123 -123
  172. package/uno-config/theme/shortcuts/index.ts +20 -20
  173. package/uno-config/theme/shortcuts/layout.ts +74 -74
  174. package/uno-config/theme/typography.ts +29 -29
  175. package/uno.config.ts +2 -2
  176. package/.astro/icon.d.ts +0 -11909
  177. package/astro-i18next.config.mjs +0 -18
  178. package/astro-i18next.config.ts +0 -11
  179. package/public/locales/en/translation.json +0 -13
  180. package/public/locales/pl/translation.json +0 -13
@@ -1,21 +1,21 @@
1
- // shortcuts/index.ts
2
- import type { UserShortcuts } from 'unocss'
3
- import { buttonShortcuts } from './buttons';
4
- import { layoutShortcuts } from './layout';
5
- import { componentShortcuts } from './components';
6
- import { productShortcuts } from './product';
7
- import { jumbotronShortcuts } from './jumbotron';
8
- import { inputShortcuts } from './inputs';
9
-
10
- const convertToShortcuts = (shortcuts: string[][]): UserShortcuts => {
11
- return Object.fromEntries(shortcuts.map(([name, value]) => [name, value]));
12
- };
13
-
14
- export const shortcuts: UserShortcuts = {
15
- ...convertToShortcuts(buttonShortcuts),
16
- ...convertToShortcuts(layoutShortcuts),
17
- ...convertToShortcuts(componentShortcuts),
18
- ...convertToShortcuts(productShortcuts),
19
- ...convertToShortcuts(jumbotronShortcuts),
20
- ...convertToShortcuts(inputShortcuts),
1
+ // shortcuts/index.ts
2
+ import type { UserShortcuts } from 'unocss'
3
+ import { buttonShortcuts } from './buttons';
4
+ import { layoutShortcuts } from './layout';
5
+ import { componentShortcuts } from './components';
6
+ import { productShortcuts } from './product';
7
+ import { jumbotronShortcuts } from './jumbotron';
8
+ import { inputShortcuts } from './inputs';
9
+
10
+ const convertToShortcuts = (shortcuts: string[][]): UserShortcuts => {
11
+ return Object.fromEntries(shortcuts.map(([name, value]) => [name, value]));
12
+ };
13
+
14
+ export const shortcuts: UserShortcuts = {
15
+ ...convertToShortcuts(buttonShortcuts),
16
+ ...convertToShortcuts(layoutShortcuts),
17
+ ...convertToShortcuts(componentShortcuts),
18
+ ...convertToShortcuts(productShortcuts),
19
+ ...convertToShortcuts(jumbotronShortcuts),
20
+ ...convertToShortcuts(inputShortcuts),
21
21
  };
@@ -1,75 +1,75 @@
1
- // shortcuts/layout.ts
2
- import {
3
- COLORS,
4
- LAYOUT,
5
- IMAGE_STYLES,
6
- TYPOGRAPHY,
7
- TRANSITIONS,
8
- aspectRatios
9
- } from './constants'
10
-
11
- // Generate image shortcuts dynamically
12
- const imageShortcuts = Object.entries(aspectRatios).map(([ratio, aspect]) => [
13
- `img--${ratio}`,
14
- `${aspect} ${IMAGE_STYLES.base}`
15
- ])
16
-
17
- export const layoutShortcuts = [
18
-
19
- // Headers and Banners
20
- ['headline', TYPOGRAPHY.headline.bold],
21
- ['headline-light', TYPOGRAPHY.headline.light],
22
- ['slimbanner', `px-4 sm:px-8 ${LAYOUT.flex.center} text-xs sm:text-base leading-none ${LAYOUT.position.relative} bg-gray-50 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden`],
23
-
24
-
25
- // Main Layout
26
- ['l-main', `text-slate-dark ${LAYOUT.spacing.topPadding} ${COLORS.bgWhite}`],
27
- ['main', `text-slate-dark ${COLORS.textNeutralLight} ${COLORS.bgDark} ${LAYOUT.spacing.topPadding} ${LAYOUT.position.relative}`],
28
- ['nav', `${COLORS.bgWhite} ${COLORS.bgDark} ${LAYOUT.position.absolute} sm:fixed w-full top-0 z-41 mx-auto ${LAYOUT.spacing.containerPadding} pt-1 h-24 ${LAYOUT.flex.between} flex-wrap sm:(flex-nowrap pt-0 h-14) max-w-screen print-hidden`],
29
-
30
- // View Toggles
31
- ['view-grid', 'lg:flex-wrap'],
32
- ['view-list', 'lg:flex-col divide-y-1 divide-solid divide-neutral-lighter'],
33
-
34
- // Containers
35
- ['products-container', 'products-wrapper'],
36
- ['products-wrapper', `${LAYOUT.flex.wrap} ${COLORS.bgWhite} mb-4 w-full mb-auto md:(pl-4 px-2 -mt-3)`],
37
- ['product-list', 'sm:block products-wrapper'],
38
- ['products-grid', `${LAYOUT.flex.alignCenter} w-full flex-nowrap pr-4 md:grid grid-rows-1 overflow-hidden ${LAYOUT.grid.cols2} lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 max-h-[6rem]`],
39
- ['similar-products', `${LAYOUT.flex.center} space-y-4 gap-8 flex-wrap px-4 md:grid ${LAYOUT.grid.cols2} lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5`],
40
- ['similar-section', `${COLORS.bgWhite} w-full drop-shadow-xl`],
41
- ['search-container', 'mb-2 sm:mb-0'],
42
-
43
- // Category Menu
44
- ['cat-menu', `fixed h-21 bottom-[-6px] w-full z-10 border-t-1 border-neutral-light ${COLORS.bgWhite} dark:bg-blue-darkest text-center sm:(static z-auto border-t-none h-28)`],
45
- ['cat-card', 'p-4 text-base break-inside-avoid-column'],
46
- ['cat-name', 'mt-2 h-[2em] text-xs leading-none group-hover:filter-invert 3xl:text-3.25'],
47
- ['cats-slide', `${TRANSITIONS.base} pt-1 mb-0.5 min-h-tile-mobile sm:(min-h-tile h-tile mb-2 p-3) text-black ${COLORS.textNeutralLight} hover:(text-white even:bg-blue-medium odd:bg-accent-light) cursor-pointer ${LAYOUT.flex.colCenter} px-1.5 cursor-grab active:cursor-grabbing overflow-hidden`],
48
- ['cats-img', `max-w-full h-8 md:h-icon ${IMAGE_STYLES.objectContain} w-full left-0 right-0 top-0 bottom-0`],
49
-
50
- // Sidebars and Navigation
51
- ['sidebar-title', `font-headregular text-accent-light text-xl md:(text-2xl px-4) mb-2 px-14 sm:px-3 ${LAYOUT.flex.center} sm:justify-start py-3`],
52
- ['subcat', 'text-3.75 block cursor-pointer text-blue-darker hover:(text-accent-default underline) md:mb-1 py-2 md:py-0'],
53
- ['subsubcat', 'pl-2'],
54
-
55
- // Headers and Banners
56
- ['headline', TYPOGRAPHY.headline.base],
57
- ['headline-light', TYPOGRAPHY.headline.light],
58
- ['headline-bold', TYPOGRAPHY.headline.bold],
59
- ['headline-light-bold', TYPOGRAPHY.headline.lightBold],
60
- ['headline-light-thin', TYPOGRAPHY.headline.lightThin],
61
- ['slimbanner', `px-4 sm:px-8 ${LAYOUT.flex.center} text-xs sm:text-base leading-none ${LAYOUT.position.relative} bg-gray-50 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden`],
62
-
63
- // Image Shortcuts
64
- ...imageShortcuts,
65
- ['img--small', `h-full w-60 sm:(w-22) xl:(w-30) ${IMAGE_STYLES.base}`],
66
- ['img--medium', `h-full w-60 ${IMAGE_STYLES.base}`],
67
-
68
- // Utility Classes
69
- ['close-light', 'before:bg-white after:bg-white'],
70
- ['close-dark', 'before:bg-black after:bg-black'],
71
- ['colon-after', 'after:content-[":"]'],
72
- ['adsbygoogle', 'w-full text-center'],
73
- ['underline-on-hover', `${LAYOUT.position.relative} ${LAYOUT.flex.base} w-full ${COLORS.bgWhite} pb-1 after:absolute after:w-[calc(100%-1rem)] after:left-0 after:h-px after:top-[calc(100%-1px)] after:bottom-1 after:content-empty after:scale-x-0 after:transition-transform-300 after:origin-top-right hover:after:origin-top-left hover:after:scale-x-100`],
74
- ['cat-link', `cursor-pointer text-accent-deepBlue ${COLORS.textNeutralLight} hover:(text-brand-secondary underline) uppercase py-2 md:py-0`],
1
+ // shortcuts/layout.ts
2
+ import {
3
+ COLORS,
4
+ LAYOUT,
5
+ IMAGE_STYLES,
6
+ TYPOGRAPHY,
7
+ TRANSITIONS,
8
+ aspectRatios
9
+ } from './constants'
10
+
11
+ // Generate image shortcuts dynamically
12
+ const imageShortcuts = Object.entries(aspectRatios).map(([ratio, aspect]) => [
13
+ `img--${ratio}`,
14
+ `${aspect} ${IMAGE_STYLES.base}`
15
+ ])
16
+
17
+ export const layoutShortcuts = [
18
+
19
+ // Headers and Banners
20
+ ['headline', TYPOGRAPHY.headline.bold],
21
+ ['headline-light', TYPOGRAPHY.headline.light],
22
+ ['slimbanner', `px-4 sm:px-8 ${LAYOUT.flex.center} text-xs sm:text-base leading-none ${LAYOUT.position.relative} bg-gray-50 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden`],
23
+
24
+
25
+ // Main Layout
26
+ ['l-main', `text-slate-dark ${LAYOUT.spacing.topPadding} ${COLORS.bgWhite}`],
27
+ ['main', `text-slate-dark ${COLORS.textNeutralLight} ${COLORS.bgDark} ${LAYOUT.spacing.topPadding} ${LAYOUT.position.relative}`],
28
+ ['nav', `${COLORS.bgWhite} ${COLORS.bgDark} ${LAYOUT.position.absolute} sm:fixed w-full top-0 z-41 mx-auto ${LAYOUT.spacing.containerPadding} pt-1 h-24 ${LAYOUT.flex.between} flex-wrap sm:(flex-nowrap pt-0 h-14) max-w-screen print-hidden`],
29
+
30
+ // View Toggles
31
+ ['view-grid', 'lg:flex-wrap'],
32
+ ['view-list', 'lg:flex-col divide-y-1 divide-solid divide-neutral-lighter'],
33
+
34
+ // Containers
35
+ ['products-container', 'products-wrapper'],
36
+ ['products-wrapper', `${LAYOUT.flex.wrap} ${COLORS.bgWhite} mb-4 w-full mb-auto md:(pl-4 px-2 -mt-3)`],
37
+ ['product-list', 'sm:block products-wrapper'],
38
+ ['products-grid', `${LAYOUT.flex.alignCenter} w-full flex-nowrap pr-4 md:grid grid-rows-1 overflow-hidden ${LAYOUT.grid.cols2} lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5 max-h-[6rem]`],
39
+ ['similar-products', `${LAYOUT.flex.center} space-y-4 gap-8 flex-wrap px-4 md:grid ${LAYOUT.grid.cols2} lg:grid-cols-3 2xl:grid-cols-4 3xl:grid-cols-5`],
40
+ ['similar-section', `${COLORS.bgWhite} w-full drop-shadow-xl`],
41
+ ['search-container', 'mb-2 sm:mb-0'],
42
+
43
+ // Category Menu
44
+ ['cat-menu', `fixed h-21 bottom-[-6px] w-full z-10 border-t-1 border-neutral-light ${COLORS.bgWhite} dark:bg-blue-darkest text-center sm:(static z-auto border-t-none h-28)`],
45
+ ['cat-card', 'p-4 text-base break-inside-avoid-column'],
46
+ ['cat-name', 'mt-2 h-[2em] text-xs leading-none group-hover:filter-invert 3xl:text-3.25'],
47
+ ['cats-slide', `${TRANSITIONS.base} pt-1 mb-0.5 min-h-tile-mobile sm:(min-h-tile h-tile mb-2 p-3) text-black ${COLORS.textNeutralLight} hover:(text-white even:bg-blue-medium odd:bg-accent-light) cursor-pointer ${LAYOUT.flex.colCenter} px-1.5 cursor-grab active:cursor-grabbing overflow-hidden`],
48
+ ['cats-img', `max-w-full h-8 md:h-icon ${IMAGE_STYLES.objectContain} w-full left-0 right-0 top-0 bottom-0`],
49
+
50
+ // Sidebars and Navigation
51
+ ['sidebar-title', `font-headregular text-accent-light text-xl md:(text-2xl px-4) mb-2 px-14 sm:px-3 ${LAYOUT.flex.center} sm:justify-start py-3`],
52
+ ['subcat', 'text-3.75 block cursor-pointer text-blue-darker hover:(text-accent-default underline) md:mb-1 py-2 md:py-0'],
53
+ ['subsubcat', 'pl-2'],
54
+
55
+ // Headers and Banners
56
+ ['headline', TYPOGRAPHY.headline.base],
57
+ ['headline-light', TYPOGRAPHY.headline.light],
58
+ ['headline-bold', TYPOGRAPHY.headline.bold],
59
+ ['headline-light-bold', TYPOGRAPHY.headline.lightBold],
60
+ ['headline-light-thin', TYPOGRAPHY.headline.lightThin],
61
+ ['slimbanner', `px-4 sm:px-8 ${LAYOUT.flex.center} text-xs sm:text-base leading-none ${LAYOUT.position.relative} bg-gray-50 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden`],
62
+
63
+ // Image Shortcuts
64
+ ...imageShortcuts,
65
+ ['img--small', `h-full w-60 sm:(w-22) xl:(w-30) ${IMAGE_STYLES.base}`],
66
+ ['img--medium', `h-full w-60 ${IMAGE_STYLES.base}`],
67
+
68
+ // Utility Classes
69
+ ['close-light', 'before:bg-white after:bg-white'],
70
+ ['close-dark', 'before:bg-black after:bg-black'],
71
+ ['colon-after', 'after:content-[":"]'],
72
+ ['adsbygoogle', 'w-full text-center'],
73
+ ['underline-on-hover', `${LAYOUT.position.relative} ${LAYOUT.flex.base} w-full ${COLORS.bgWhite} pb-1 after:absolute after:w-[calc(100%-1rem)] after:left-0 after:h-px after:top-[calc(100%-1px)] after:bottom-1 after:content-empty after:scale-x-0 after:transition-transform-300 after:origin-top-right hover:after:origin-top-left hover:after:scale-x-100`],
74
+ ['cat-link', `cursor-pointer text-accent-deepBlue ${COLORS.textNeutralLight} hover:(text-brand-secondary underline) uppercase py-2 md:py-0`],
75
75
  ];
@@ -1,30 +1,30 @@
1
- // theme/typography.ts
2
- interface FontFamily {
3
- [key: string]: string[];
4
- }
5
-
6
- interface FontSize {
7
- [key: string]: string;
8
- }
9
-
10
- interface Typography {
11
- fontFamily: FontFamily;
12
- fontSize: FontSize;
13
- }
14
-
15
- export const typography: Typography = {
16
- fontFamily: {
17
- sans: ['vw_textregular', 'system-ui', 'ui-sans-serif'],
18
- novamono: ['Nova Mono'],
19
- mono: ['Nova Mono'],
20
- headlight: ['vw_headlight', 'system-ui'],
21
- headregular: ['vw_headregular'],
22
- headbold: ['vw_headbold'],
23
- textlight: ['vw_textlight'],
24
- textregular: ['vw_textregular'],
25
- textbold: ['vw_textbold']
26
- },
27
- fontSize: {
28
- xxs: '.625rem',
29
- }
1
+ // theme/typography.ts
2
+ interface FontFamily {
3
+ [key: string]: string[];
4
+ }
5
+
6
+ interface FontSize {
7
+ [key: string]: string;
8
+ }
9
+
10
+ interface Typography {
11
+ fontFamily: FontFamily;
12
+ fontSize: FontSize;
13
+ }
14
+
15
+ export const typography: Typography = {
16
+ fontFamily: {
17
+ sans: ['vw_textregular', 'system-ui', 'ui-sans-serif'],
18
+ novamono: ['Nova Mono'],
19
+ mono: ['Nova Mono'],
20
+ headlight: ['vw_headlight', 'system-ui'],
21
+ headregular: ['vw_headregular'],
22
+ headbold: ['vw_headbold'],
23
+ textlight: ['vw_textlight'],
24
+ textregular: ['vw_textregular'],
25
+ textbold: ['vw_textbold']
26
+ },
27
+ fontSize: {
28
+ xxs: '.625rem',
29
+ }
30
30
  };
package/uno.config.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { createSdsConfig } from './uno-config';
2
-
1
+ import { createSdsConfig } from './uno-config';
2
+
3
3
  export default createSdsConfig();