@faststore/core 0.3.14 → 0.3.16

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 (38) hide show
  1. package/.eslintrc.json +3 -0
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +1 -1
  4. package/cypress/integration/analytics.test.js +24 -5
  5. package/cypress/integration/cart.test.js +4 -2
  6. package/cypress/integration/plp.test.js +1 -1
  7. package/cypress/integration/search.test.js +6 -1
  8. package/package.json +6 -7
  9. package/src/components/cms/RenderPageSections.tsx +0 -1
  10. package/src/components/common/Footer/Footer.tsx +9 -9
  11. package/src/components/sections/Hero/Hero.tsx +28 -77
  12. package/src/components/sections/ProducDetailsContent/ProductDetailsContent.tsx +15 -17
  13. package/src/components/ui/Price/Price.tsx +2 -3
  14. package/src/components/ui/ShippingSimulation/ShippingSimulation.stories.mdx +0 -27
  15. package/src/components/ui/ShippingSimulation/ShippingSimulation.tsx +6 -13
  16. package/src/components/ui/ShippingSimulation/shipping-simulation.module.scss +0 -39
  17. package/src/components/ui/ShippingSimulation/useShippingSimulation.ts +1 -1
  18. package/src/customizations/components/index.ts +1 -0
  19. package/src/pages/[...slug].tsx +8 -8
  20. package/src/pages/s.tsx +2 -2
  21. package/src/sdk/error/ErrorBoundary/ErrorBoundary.tsx +0 -1
  22. package/src/sdk/ui/useOnClickOutside.ts +0 -1
  23. package/src/server/cms.ts +0 -1
  24. package/vtex.env +2 -2
  25. package/.eslintignore +0 -8
  26. package/.eslintrc +0 -21
  27. package/bun.lockb +0 -0
  28. package/renovate.json +0 -5
  29. package/src/components/sections/Hero/Hero.stories.mdx +0 -277
  30. package/src/components/sections/Hero/hero.module.scss +0 -180
  31. package/src/components/sections/ProducDetailsContent/product-details-content.module.scss +0 -41
  32. package/src/components/ui/SROnly/SROnly.tsx +0 -20
  33. package/src/components/ui/SROnly/index.ts +0 -1
  34. package/src/components/ui/SROnly/sr-only.module.scss +0 -15
  35. package/src/components/ui/Toggle/Toggle.stories.mdx +0 -604
  36. package/src/components/ui/Toggle/Toggle.tsx +0 -75
  37. package/src/components/ui/Toggle/index.ts +0 -2
  38. package/src/components/ui/Toggle/toggle.module.scss +0 -200
@@ -196,7 +196,7 @@ export const useShippingSimulation = (shippingItem: IShippingItem) => {
196
196
  },
197
197
  })
198
198
  }
199
- }, [shippingPostalCode])
199
+ }, [country, shippingItem, shippingPostalCode])
200
200
 
201
201
  const handleOnInput = useCallback((e: ChangeEvent<HTMLInputElement>) => {
202
202
  const currentValue = e.currentTarget.value
@@ -1 +1,2 @@
1
+ // eslint-disable-next-line import/no-anonymous-default-export
1
2
  export default {}
@@ -1,16 +1,20 @@
1
1
  import { isNotFoundError } from '@faststore/api'
2
+ import { gql } from '@faststore/graphql-utils'
3
+ import type { SearchState } from '@faststore/sdk'
2
4
  import {
3
5
  formatSearchState,
4
6
  parseSearchState,
5
7
  SearchProvider,
6
8
  } from '@faststore/sdk'
7
- import { gql } from '@faststore/graphql-utils'
9
+ import type { GetStaticPaths, GetStaticProps } from 'next'
8
10
  import { BreadcrumbJsonLd, NextSeo } from 'next-seo'
9
11
  import { useRouter } from 'next/router'
10
12
  import { useMemo } from 'react'
11
- import type { SearchState } from '@faststore/sdk'
12
- import type { GetStaticPaths, GetStaticProps } from 'next'
13
13
 
14
+ import type {
15
+ ServerCollectionPageQueryQuery,
16
+ ServerCollectionPageQueryQueryVariables,
17
+ } from '@generated/graphql'
14
18
  import Breadcrumb from 'src/components/sections/Breadcrumb'
15
19
  import Hero from 'src/components/sections/Hero'
16
20
  import ProductGallery from 'src/components/sections/ProductGallery'
@@ -21,10 +25,6 @@ import { ITEMS_PER_PAGE, ITEMS_PER_SECTION } from 'src/constants'
21
25
  import { useApplySearchState } from 'src/sdk/search/state'
22
26
  import { mark } from 'src/sdk/tests/mark'
23
27
  import { execute } from 'src/server'
24
- import type {
25
- ServerCollectionPageQueryQuery,
26
- ServerCollectionPageQueryQueryVariables,
27
- } from '@generated/graphql'
28
28
 
29
29
  import storeConfig from '../../faststore.config'
30
30
 
@@ -105,7 +105,7 @@ function Page(props: Props) {
105
105
  subtitle={`All the amazing ${title} from the brands we partner with.`}
106
106
  imageSrc="https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg"
107
107
  imageAlt="Quest 2 Controller on a table"
108
- icon={<Icon name="Headphones" width={48} height={48} weight="thin" />}
108
+ icon={<Icon name="Headphones" width={48} height={48} />}
109
109
  />
110
110
 
111
111
  <ProductGallery title={title} />
package/src/pages/s.tsx CHANGED
@@ -3,10 +3,10 @@ import { NextSeo } from 'next-seo'
3
3
  import { useRouter } from 'next/router'
4
4
  import { useEffect, useState } from 'react'
5
5
  import type { SearchState } from '@faststore/sdk'
6
+ import { SROnly as UISROnly } from '@faststore/ui'
6
7
 
7
8
  import Breadcrumb from 'src/components/sections/Breadcrumb'
8
9
  import ProductGallery from 'src/components/sections/ProductGallery'
9
- import SROnly from 'src/components/ui/SROnly'
10
10
  import { ITEMS_PER_PAGE } from 'src/constants'
11
11
  import { useApplySearchState } from 'src/sdk/search/state'
12
12
  import { mark } from 'src/sdk/tests/mark'
@@ -55,7 +55,7 @@ function Page() {
55
55
  }}
56
56
  />
57
57
 
58
- <SROnly as="h1" text={title} />
58
+ <UISROnly as="h1" text={title} />
59
59
 
60
60
  {/*
61
61
  WARNING: Do not import or render components from any
@@ -27,7 +27,6 @@ class ErrorBoundary extends Component<{ children: ReactNode }> {
27
27
 
28
28
  // We can't accurately type the error here, since it could vary depending on
29
29
  // what caused it. This is not standardized.
30
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
30
  public componentDidCatch(error: any, errorInfo: ErrorInfo) {
32
31
  console.error(`React Error: ${error.message} ${errorInfo.componentStack}`)
33
32
 
@@ -1,7 +1,6 @@
1
1
  import type { RefObject } from 'react'
2
2
  import { useEffect } from 'react'
3
3
 
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
4
  type Handler = (event: any) => void
6
5
 
7
6
  export default function useOnClickOutside<T extends HTMLElement = HTMLElement>(
package/src/server/cms.ts CHANGED
@@ -15,7 +15,6 @@ type Options =
15
15
  filters?: Record<string, string>
16
16
  }
17
17
 
18
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
18
  const isLocator = (x: any): x is Locator =>
20
19
  typeof x.contentType === 'string' &&
21
20
  (typeof x.releaseId === 'string' || typeof x.documentId === 'string')
package/vtex.env CHANGED
@@ -5,10 +5,10 @@ NEXT_TELEMETRY_DISABLED=true
5
5
  ## Enable re-using node_modules from previous runs for faster builds
6
6
  USE_BUILD_CACHE=true
7
7
 
8
- ## Enable Incremental Static Builds (ISB):
8
+ ## Enable Incremental Static Builds (ISB):
9
9
  ## https://www.faststore.dev/releases/2022/05/19/webops
10
10
  USE_STALE_CACHE=true
11
11
 
12
- ## Production site host your users will
12
+ ## Production site host your users will
13
13
  ## access your website
14
14
  SITE_HOST=demo.faststore.dev
package/.eslintignore DELETED
@@ -1,8 +0,0 @@
1
- package.json
2
- node_modules/
3
- public/
4
- coverage/
5
- .vscode/
6
- .cache/
7
- @generated
8
- src/typings/
package/.eslintrc DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "extends": [
3
- "vtex-react/gatsby",
4
- "next/core-web-vitals"
5
- ],
6
- "root": true,
7
- "rules": {
8
- "react/prop-types": "off",
9
- "react/react-in-jsx-scope": "off",
10
- "jsx-a11y/anchor-is-valid": "off"
11
- },
12
- "settings": {
13
- "react": {
14
- "version": "detect"
15
- }
16
- },
17
- "ignorePatterns": [
18
- "public/~partytown/*",
19
- "next-env.d.ts"
20
- ]
21
- }
package/bun.lockb DELETED
Binary file
package/renovate.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "extends": [
3
- "@vtex"
4
- ]
5
- }
@@ -1,277 +0,0 @@
1
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'
2
- import { TokenTable, TokenRow } from 'src/../.storybook/components'
3
-
4
- import Hero from '.'
5
- import Icon from 'src/components/ui/Icon'
6
-
7
- <Meta
8
- title="Organisms/Hero"
9
- component={Hero}
10
- argTypes={{
11
- imageAlt: {
12
- control: {
13
- disable: true,
14
- },
15
- },
16
- imageSrc: {
17
- control: {
18
- disable: true,
19
- },
20
- },
21
- variant: {
22
- defaultValue: 'primary',
23
- },
24
- colorVariant: {
25
- defaultValue: 'main',
26
- },
27
- icon: {
28
- control: { disable: true },
29
- },
30
- }}
31
- />
32
-
33
- export const Template = (args) => <Hero {...args} />
34
-
35
- <header>
36
-
37
- # Hero
38
-
39
- The `Hero` component is a full-width banner presented on the above-the-fold section of a web page with the intent to show the brand's identity and messaging.
40
-
41
- </header>
42
-
43
- ## Overview
44
-
45
- The `Hero` component uses [FastStore UI Hero](https://www.faststore.dev/reference/ui/organisms/Hero) as base.
46
-
47
- ---
48
-
49
- ## Usage
50
-
51
- `import Hero from 'src/components/sections/Hero'`
52
-
53
- <Canvas>
54
- <Story
55
- name="usage"
56
- args={{
57
- title: 'Explore more about our amazing products',
58
- subtitle: 'All the amazing products from the brands we partner with.',
59
- imageSrc:
60
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
61
- imageAlt: 'Quest 2 Controller on a table',
62
- link: '/',
63
- linkText: 'See more',
64
- }}
65
- >
66
- {Template.bind({})}
67
- </Story>
68
- </Canvas>
69
-
70
- <ArgsTable story="usage" />
71
-
72
- <TokenTable>
73
- <TokenRow token="--fs-hero-text-size" value="var(--fs-text-size-lead)" />
74
- <TokenRow token="--fs-hero-text-line-height" value="1.33" />
75
- </TokenTable>
76
-
77
- ---
78
-
79
- ## Nested Elements
80
-
81
- ### Image
82
-
83
- <TokenTable>
84
- <TokenRow token="--fs-hero-image-border-radius" value="0" />
85
- </TokenTable>
86
-
87
- ### Title
88
-
89
- <TokenTable>
90
- <TokenRow
91
- token="--fs-hero-title-padding"
92
- value="var(--fs-spacing-5) 0 var(--fs-spacing-6)"
93
- />
94
- <TokenRow
95
- token="--fs-hero-title-weight"
96
- value="var(--fs-text-weight-black)"
97
- />
98
- <TokenRow token="--fs-hero-title-line-height" value="1.1" />
99
- </TokenTable>
100
-
101
- ### Subtitle
102
-
103
- <TokenTable>
104
- <TokenRow
105
- token="--fs-hero-subtitle-margin-top-mobile"
106
- value="var(--fs-spacing-2)"
107
- />
108
- <TokenRow
109
- token="--fs-hero-subtitle-margin-top-tablet"
110
- value="var(--fs-spacing-4)"
111
- />
112
- <TokenRow token="--fs-hero-subtitle-size" value="var(--fs-hero-text-size)" />
113
- <TokenRow
114
- token="--fs-hero-subtitle-line-height"
115
- value="var(--fs-hero-text-line-height)"
116
- />
117
- </TokenTable>
118
-
119
- ---
120
-
121
- ## Hierarchy
122
-
123
- ### Primary
124
-
125
- <Canvas>
126
- <Story
127
- name="primary"
128
- args={{
129
- variant: 'primary',
130
- title: 'Explore more about our amazing products',
131
- subtitle: 'All the amazing products from the brands we partner with.',
132
- imageSrc:
133
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
134
- imageAlt: 'Quest 2 Controller on a table',
135
- }}
136
- >
137
- {Template.bind({})}
138
- </Story>
139
- </Canvas>
140
-
141
- <TokenTable>
142
- <TokenRow token="--fs-hero-primary-image-height-mobile" value="15rem" />
143
- <TokenRow token="--fs-hero-primary-image-height-desktop" value="29rem" />
144
- <TokenRow
145
- token="--fs-hero-primary-title-size"
146
- value="var(--fs-text-size-title-huge)"
147
- />
148
- </TokenTable>
149
-
150
- ### Secondary
151
-
152
- <Canvas>
153
- <Story
154
- name="secondary"
155
- args={{
156
- variant: 'secondary',
157
- title: 'Explore more about our amazing products',
158
- subtitle: 'All the amazing products from the brands we partner with.',
159
- imageSrc:
160
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
161
- imageAlt: 'Quest 2 Controller on a table',
162
- icon: <Icon name="House" width="40" height="40" />,
163
- }}
164
- >
165
- {Template.bind({})}
166
- </Story>
167
- </Canvas>
168
-
169
- <TokenTable>
170
- <TokenRow token="--fs-hero-secondary-image-height-mobile" value="11.25rem" />
171
- <TokenRow
172
- token="--fs-hero-secondary-image-height-desktop"
173
- value="14.188rem"
174
- />
175
- <TokenRow
176
- token="--fs-hero-secondary-title-size"
177
- value="var(--fs-text-size-title-page)"
178
- />
179
- </TokenTable>
180
-
181
- ---
182
-
183
- ## Variants
184
-
185
- ### Main
186
-
187
- <Canvas>
188
- <Story
189
- name="main"
190
- args={{
191
- colorVariant: 'main',
192
- title: 'Explore more about our amazing products',
193
- subtitle: 'All the amazing products from the brands we partner with.',
194
- imageSrc:
195
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
196
- imageAlt: 'Quest 2 Controller on a table',
197
- }}
198
- >
199
- {Template.bind({})}
200
- </Story>
201
- </Canvas>
202
-
203
- <TokenTable>
204
- <TokenRow
205
- token="--fs-hero-main-bkg-color"
206
- value="var(--fs-color-primary-bkg)"
207
- isColor
208
- />
209
- <TokenRow
210
- token="--fs-hero-main-text-color"
211
- value="var(--fs-color-primary-text)"
212
- isColor
213
- />
214
- </TokenTable>
215
-
216
- ### Light
217
-
218
- <Canvas>
219
- <Story
220
- name="light"
221
- args={{
222
- colorVariant: 'light',
223
- title: 'Explore more about our amazing products',
224
- subtitle: 'All the amazing products from the brands we partner with.',
225
- imageSrc:
226
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
227
- imageAlt: 'Quest 2 Controller on a table',
228
- }}
229
- >
230
- {Template.bind({})}
231
- </Story>
232
- </Canvas>
233
-
234
- <TokenTable>
235
- <TokenRow
236
- token="--fs-hero-light-bkg-color"
237
- value="var(--fs-color-secondary-bkg-light)"
238
- isColor
239
- />
240
- <TokenRow
241
- token="--fs-hero-light-text-color"
242
- value="var(--fs-color-text-display)"
243
- isColor
244
- />
245
- </TokenTable>
246
-
247
- ### Accent
248
-
249
- <Canvas>
250
- <Story
251
- name="accent"
252
- args={{
253
- colorVariant: 'accent',
254
- title: 'Explore more about our amazing products',
255
- subtitle: 'All the amazing products from the brands we partner with.',
256
- imageSrc:
257
- 'https://storeframework.vtexassets.com/arquivos/ids/190897/Photo.jpg',
258
- imageAlt: 'Quest 2 Controller on a table',
259
- }}
260
- >
261
- {Template.bind({})}
262
- </Story>
263
- </Canvas>
264
-
265
- <TokenTable>
266
- <TokenRow
267
- token="--fs-hero-accent-bkg-color"
268
- value="var(--fs-color-highlighted-bkg)"
269
- isColor
270
- />
271
- <TokenRow
272
- token="--fs-hero-accent-text-color"
273
- value="var(--fs-hero-light-text-color)"
274
- globalValue="var(--fs-color-text-display)"
275
- isColor
276
- />
277
- </TokenTable>
@@ -1,180 +0,0 @@
1
- @import "src/styles/scaffold";
2
-
3
- .fs-hero {
4
- // --------------------------------------------------------
5
- // Design Tokens for Hero Section
6
- // --------------------------------------------------------
7
-
8
- // Default properties
9
- --fs-hero-text-size : var(--fs-text-size-lead);
10
- --fs-hero-text-line-height : 1.33;
11
-
12
- // Image
13
- --fs-hero-image-border-radius : 0;
14
-
15
- // Title
16
- --fs-hero-title-padding : var(--fs-spacing-5) 0 var(--fs-spacing-6);
17
- --fs-hero-title-weight : var(--fs-text-weight-black);
18
- --fs-hero-title-line-height : 1.1;
19
-
20
- // Subtitle
21
- --fs-hero-subtitle-margin-top-mobile : var(--fs-spacing-2);
22
- --fs-hero-subtitle-margin-top-tablet : var(--fs-spacing-4);
23
- --fs-hero-subtitle-size : var(--fs-hero-text-size);
24
- --fs-hero-subtitle-line-height : var(--fs-hero-text-line-height);
25
-
26
- // Primary
27
- --fs-hero-primary-image-height-mobile : 15rem; // 240px
28
- --fs-hero-primary-image-height-desktop : 29rem; // 464px
29
- --fs-hero-primary-title-size : var(--fs-text-size-title-huge);
30
-
31
- // Secondary
32
- --fs-hero-secondary-image-height-mobile : 11.25rem; // 180px
33
- --fs-hero-secondary-image-height-desktop : 14.188rem; // 227px
34
- --fs-hero-secondary-title-size : var(--fs-text-size-title-page);
35
-
36
- // Main
37
- --fs-hero-main-bkg-color : var(--fs-color-primary-bkg);
38
- --fs-hero-main-text-color : var(--fs-color-primary-text);
39
-
40
- // Light
41
- --fs-hero-light-bkg-color : var(--fs-color-secondary-bkg-light);
42
- --fs-hero-light-text-color : var(--fs-color-text-display);
43
-
44
- // Accent
45
- --fs-hero-accent-bkg-color : var(--fs-color-highlighted-bkg);
46
- --fs-hero-accent-text-color : var(--fs-hero-light-text-color);
47
-
48
- // --------------------------------------------------------
49
- // Structural Styles
50
- // --------------------------------------------------------
51
-
52
- display: flex;
53
- flex-direction: column;
54
- width: 100%;
55
-
56
- @include media(">=tablet") {
57
- position: relative;
58
- flex-direction: row-reverse;
59
- justify-content: flex-end;
60
- }
61
-
62
- [data-fs-hero-image] {
63
- border-radius: var(--fs-hero-image-border-radius);
64
-
65
- @include media(">=tablet") {
66
- position: absolute;
67
- right: 0;
68
- width: 50%;
69
- height: 100%;
70
- overflow: hidden;
71
- }
72
- }
73
-
74
- [data-fs-hero-heading] {
75
- width: 100%;
76
- padding: var(--fs-hero-title-padding);
77
- }
78
-
79
- [data-fs-hero-wrapper] {
80
- display: flex;
81
- gap: var(--fs-spacing-3);
82
- justify-content: space-between;
83
-
84
- @include media(">=tablet") {
85
- gap: var(--fs-spacing-1);
86
- justify-content: flex-start;
87
- }
88
- }
89
-
90
- [data-fs-hero-title] {
91
- font-weight: var(--fs-hero-title-weight);
92
- line-height: var(--fs-hero-title-line-height);
93
- }
94
-
95
- [data-fs-hero-subtitle] {
96
- margin-top: var(--fs-hero-subtitle-margin-top-mobile);
97
- font-size: var(--fs-hero-subtitle-size);
98
- line-height: var(--fs-hero-subtitle-line-height);
99
-
100
- @include media(">=tablet") { margin-top: var(--fs-hero-subtitle-margin-top-tablet); }
101
- }
102
-
103
- [data-fs-button] {
104
- justify-content: space-between;
105
- min-width: 11.25rem;
106
- margin-top: var(--fs-spacing-6);
107
- }
108
-
109
- [data-fs-hero-icon] { color: var(--fs-hero-text-color); }
110
-
111
- // --------------------------------------------------------
112
- // Variants Styles
113
- // --------------------------------------------------------
114
-
115
- &[data-fs-hero-variant="primary"] {
116
- @include media(">=tablet") { min-height: var(--fs-hero-primary-image-height-desktop); }
117
-
118
- [data-fs-hero-title] { font-size: var(--fs-hero-primary-title-size); }
119
-
120
- [data-fs-hero-heading] {
121
- @include media(">=tablet") {
122
- display: flex;
123
- align-items: center;
124
- padding: var(--fs-spacing-9) 0;
125
- }
126
- }
127
-
128
- [data-fs-button] {
129
- @include media(">=tablet") { margin-top: var(--fs-spacing-8); }
130
- }
131
-
132
- [data-fs-hero-image] {
133
- @include media("<tablet") { height: var(--fs-hero-primary-image-height-mobile); }
134
- }
135
-
136
- [data-fs-hero-info] {
137
- @include media(">=tablet") {
138
- width: 46%;
139
- padding-right: var(--fs-spacing-9);
140
- }
141
- }
142
- }
143
-
144
- &[data-fs-hero-variant="secondary"] {
145
- @include media(">=tablet") { min-height: var(--fs-hero-secondary-image-height-desktop); }
146
-
147
- [data-fs-hero-title] { font-size: var(--fs-hero-secondary-title-size); }
148
-
149
- [data-fs-hero-info] {
150
- @include media(">=tablet") {
151
- width: 42%;
152
- }
153
- }
154
-
155
- [data-fs-hero-heading] {
156
- padding: var(--fs-spacing-4) 0 var(--fs-spacing-5);
157
-
158
- @include media(">=tablet") { padding: var(--fs-spacing-5) 0; }
159
- }
160
-
161
- [data-fs-hero-image] {
162
- @include media("<tablet") { height: var(--fs-hero-secondary-image-height-mobile); }
163
- }
164
- }
165
-
166
- &[data-fs-hero-color-variant="main"] {
167
- color: var(--fs-hero-main-text-color);
168
- background-color: var(--fs-hero-main-bkg-color);
169
- }
170
-
171
- &[data-fs-hero-color-variant="light"] {
172
- color: var(--fs-hero-light-text-color);
173
- background-color: var(--fs-hero-light-bkg-color);
174
- }
175
-
176
- &[data-fs-hero-color-variant="accent"] {
177
- color: var(--fs-hero-accent-text-color);
178
- background-color: var(--fs-hero-accent-bkg-color);
179
- }
180
- }
@@ -1,41 +0,0 @@
1
- .fs-product-details-content {
2
- // -----------------------------
3
- // Table
4
- // -----------------------------
5
-
6
- [data-fs-product-details-about] [data-fs-table] {
7
- width: 100%;
8
-
9
- [data-fs-accordion-item-button-icon] {
10
- height: 18px;
11
- }
12
-
13
- [data-fs-icon] {
14
- margin-right: var(--fs-spacing-2);
15
- }
16
-
17
- tr:nth-child(even) td {
18
- background-color: var(--fs-color-neutral-1);
19
- border-top-right-radius: var(--fs-border-radius);
20
- border-bottom-right-radius: var(--fs-border-radius);
21
- }
22
-
23
- tr:nth-child(even) th {
24
- background-color: var(--fs-color-neutral-1);
25
- border-top-left-radius: var(--fs-border-radius);
26
- border-bottom-left-radius: var(--fs-border-radius);
27
- }
28
-
29
- td {
30
- padding: var(--fs-spacing-2) var(--fs-spacing-3) var(--fs-spacing-2) 0;
31
- text-align: right;
32
- }
33
-
34
- th {
35
- display: flex;
36
- padding: var(--fs-spacing-2) 0 var(--fs-spacing-2) var(--fs-spacing-3);
37
- font-weight: normal;
38
- text-align: left;
39
- }
40
- }
41
- }
@@ -1,20 +0,0 @@
1
- import type { ElementType } from 'react'
2
-
3
- import styles from './sr-only.module.scss'
4
-
5
- interface Props {
6
- text: string
7
- as?: ElementType
8
- }
9
-
10
- function SROnly({ text, as }: Props) {
11
- const Component = as ?? 'span'
12
-
13
- return (
14
- <Component className={styles.fsSrOnly} data-fs-sr-only>
15
- {text}
16
- </Component>
17
- )
18
- }
19
-
20
- export default SROnly
@@ -1 +0,0 @@
1
- export { default } from './SROnly'