@ornikar/bumper 3.6.0 → 3.6.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 (34) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/definitions/system/content/icon/Icon.d.ts.map +1 -1
  3. package/dist/definitions/system/content/typography/TypographyLink.d.ts +1 -1
  4. package/dist/definitions/system/content/typography/TypographyLink.d.ts.map +1 -1
  5. package/dist/index-metro.es.android.js +8 -3
  6. package/dist/index-metro.es.android.js.map +1 -1
  7. package/dist/index-metro.es.ios.js +8 -3
  8. package/dist/index-metro.es.ios.js.map +1 -1
  9. package/dist/index-node-22.22.cjs.js +7 -1
  10. package/dist/index-node-22.22.cjs.js.map +1 -1
  11. package/dist/index-node-22.22.cjs.web.js +7 -1
  12. package/dist/index-node-22.22.cjs.web.js.map +1 -1
  13. package/dist/index-node-22.22.es.mjs +7 -1
  14. package/dist/index-node-22.22.es.mjs.map +1 -1
  15. package/dist/index-node-22.22.es.web.mjs +7 -1
  16. package/dist/index-node-22.22.es.web.mjs.map +1 -1
  17. package/dist/index.es.js +8 -3
  18. package/dist/index.es.js.map +1 -1
  19. package/dist/index.es.web.js +8 -3
  20. package/dist/index.es.web.js.map +1 -1
  21. package/dist/tsbuildinfo +1 -1
  22. package/package.json +1 -1
  23. package/src/system/content/icon/Icon.features.stories.tsx +19 -0
  24. package/src/system/content/icon/Icon.mdx +6 -0
  25. package/src/system/content/icon/Icon.tsx +9 -1
  26. package/src/system/content/icon/__snapshots__/Icon.features.stories.tsx.snap +99 -0
  27. package/src/system/content/icon/__snapshots_web__/Icon.features.stories.tsx.snap +62 -0
  28. package/src/system/content/typography/TypographyLink.features.stories.tsx +8 -0
  29. package/src/system/content/typography/TypographyLink.mdx +8 -2
  30. package/src/system/content/typography/TypographyLink.stories.tsx +6 -1
  31. package/src/system/content/typography/TypographyLink.tsx +2 -1
  32. package/src/system/content/typography/__snapshots__/TypographyLink.features.stories.tsx.snap +48 -0
  33. package/src/system/content/typography/__snapshots_web__/TypographyLink.features.stories.tsx.snap +58 -33
  34. package/src/system/content/typography/__snapshots_web__/TypographyLink.stories.tsx.snap +2 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ornikar/bumper",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "directory": "@ornikar/bumper",
@@ -37,6 +37,25 @@ export const Sizes: Story = {
37
37
  ),
38
38
  };
39
39
 
40
+ export const DefaultSize: Story = {
41
+ render: () => (
42
+ <HStack gap="$space.16" alignItems="center">
43
+ <VStack alignItems="center" gap="$space.8">
44
+ <Icon icon={<StarIcon />} />
45
+ <Typography.Text variant="body-xs" color="$content.base.mid">
46
+ default (m, 20)
47
+ </Typography.Text>
48
+ </VStack>
49
+ <VStack alignItems="center" gap="$space.8">
50
+ <Icon icon={<StarIcon />} size="$icon.m" />
51
+ <Typography.Text variant="body-xs" color="$content.base.mid">
52
+ explicit m (20)
53
+ </Typography.Text>
54
+ </VStack>
55
+ </HStack>
56
+ ),
57
+ };
58
+
40
59
  export const Colors: Story = {
41
60
  render: () => (
42
61
  <HStack gap="$space.16" alignItems="center">
@@ -13,6 +13,12 @@ import * as IconFeatures from './Icon.features.stories';
13
13
 
14
14
  `Icon` is a standalone icon wrapper that applies color and size to an icon element. Pass any icon from `@ornikar/kitt-icons/ornicons` via the `icon` prop. Defaults to `$icon.m` (20px) and `$content.base.hi` color. For icons inside `Typography.Text`, use `Typography.Icon` instead — it inherits color from the typography context.
15
15
 
16
+ ## Default Size
17
+
18
+ When no `size` prop is provided, the icon defaults to `$icon.m` (20px).
19
+
20
+ <Canvas of={IconFeatures.DefaultSize} />
21
+
16
22
  ## Sizes
17
23
 
18
24
  Use `size` to control the icon dimensions: `$icon.s` (16px), `$icon.m` (20px), or `$icon.l` (24px).
@@ -17,6 +17,10 @@ const IconContainer = styled(View, {
17
17
  };
18
18
  },
19
19
  } as const,
20
+
21
+ defaultVariants: {
22
+ size: '$icon.m',
23
+ },
20
24
  });
21
25
 
22
26
  type IconContainerProps = GetProps<typeof IconContainer>;
@@ -43,7 +47,11 @@ export const InternalIcon = IconContainer.styleable<IconProps>((props) => {
43
47
  const clonedIcon = cloneElement(flattenProps.icon, { color: style.color });
44
48
 
45
49
  return (
46
- <IconContainer size={flattenProps.size} testID={flattenProps.testID} alignSelf={flattenProps.alignSelf}>
50
+ <IconContainer
51
+ {...(flattenProps.size !== undefined ? { size: flattenProps.size } : undefined)}
52
+ testID={flattenProps.testID}
53
+ alignSelf={flattenProps.alignSelf}
54
+ >
47
55
  {clonedIcon}
48
56
  </IconContainer>
49
57
  );
@@ -321,6 +321,105 @@ exports[`Bumper/Content/Icon/Features Colors 1`] = `
321
321
  </RNCSafeAreaProvider>
322
322
  `;
323
323
 
324
+ exports[`Bumper/Content/Icon/Features DefaultSize 1`] = `
325
+ <RNCSafeAreaProvider
326
+ onInsetsChange={[Function]}
327
+ style={
328
+ [
329
+ {
330
+ "flex": 1,
331
+ },
332
+ undefined,
333
+ ]
334
+ }
335
+ >
336
+ <View
337
+ style={
338
+ {
339
+ "alignItems": "center",
340
+ "flexDirection": "row",
341
+ "gap": 16,
342
+ }
343
+ }
344
+ >
345
+ <View
346
+ style={
347
+ {
348
+ "alignItems": "center",
349
+ "flexDirection": "column",
350
+ "gap": 8,
351
+ }
352
+ }
353
+ >
354
+ <View
355
+ style={
356
+ {
357
+ "height": 20,
358
+ "width": 20,
359
+ }
360
+ }
361
+ >
362
+ <svg
363
+ color="#101010"
364
+ data-file-name="star.inline.svg"
365
+ />
366
+ </View>
367
+ <Text
368
+ style={
369
+ {
370
+ "color": "#505050",
371
+ "fontFamily": "GTStandardRegular",
372
+ "fontSize": 12,
373
+ "letterSpacing": 0.3,
374
+ "lineHeight": 16,
375
+ }
376
+ }
377
+ suppressHighlighting={true}
378
+ >
379
+ default (m, 20)
380
+ </Text>
381
+ </View>
382
+ <View
383
+ style={
384
+ {
385
+ "alignItems": "center",
386
+ "flexDirection": "column",
387
+ "gap": 8,
388
+ }
389
+ }
390
+ >
391
+ <View
392
+ style={
393
+ {
394
+ "height": 20,
395
+ "width": 20,
396
+ }
397
+ }
398
+ >
399
+ <svg
400
+ color="#101010"
401
+ data-file-name="star.inline.svg"
402
+ />
403
+ </View>
404
+ <Text
405
+ style={
406
+ {
407
+ "color": "#505050",
408
+ "fontFamily": "GTStandardRegular",
409
+ "fontSize": 12,
410
+ "letterSpacing": 0.3,
411
+ "lineHeight": 16,
412
+ }
413
+ }
414
+ suppressHighlighting={true}
415
+ >
416
+ explicit m (20)
417
+ </Text>
418
+ </View>
419
+ </View>
420
+ </RNCSafeAreaProvider>
421
+ `;
422
+
324
423
  exports[`Bumper/Content/Icon/Features Sizes 1`] = `
325
424
  <RNCSafeAreaProvider
326
425
  onInsetsChange={[Function]}
@@ -164,6 +164,68 @@ exports[`Bumper/Content/Icon/Features Colors 1`] = `
164
164
  </DocumentFragment>
165
165
  `;
166
166
 
167
+ exports[`Bumper/Content/Icon/Features DefaultSize 1`] = `
168
+ <DocumentFragment>
169
+ <div
170
+ class="css-view-g5y9jx r-flex-13awgt0"
171
+ >
172
+ <span
173
+ class=""
174
+ style="display: contents;"
175
+ >
176
+ <span
177
+ class=" "
178
+ style="display: contents;"
179
+ >
180
+ <span
181
+ class=" t_light is_Theme"
182
+ style="display: contents;"
183
+ >
184
+ <div
185
+ class="is_HStack _dsp-flex _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _fd-row _gap-t-space-spa1366020313 _alignItems-center"
186
+ >
187
+ <div
188
+ class="is_VStack _dsp-flex _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _fd-column _alignItems-center _gap-t-space-spa94482166"
189
+ >
190
+ <div
191
+ class="is_Icon _dsp-flex _alignItems-stretch _fd-column _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _width-t-bumperIco1504282965 _height-t-bumperIco1504282965"
192
+ >
193
+ <svg
194
+ color="var(--content--base--hi)"
195
+ data-file-name="star.inline.svg"
196
+ />
197
+ </div>
198
+ <span
199
+ class="font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body47080 _lh-f-lineHeigh1960620717 _ls-f-letterSpa260968488 _fw-f-weight-re98715119 _col-content--ba1918259606"
200
+ >
201
+ default (m, 20)
202
+ </span>
203
+ </div>
204
+ <div
205
+ class="is_VStack _dsp-flex _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _fd-column _alignItems-center _gap-t-space-spa94482166"
206
+ >
207
+ <div
208
+ class="is_Icon _dsp-flex _alignItems-stretch _fd-column _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _width-t-bumperIco1504282965 _height-t-bumperIco1504282965"
209
+ >
210
+ <svg
211
+ color="var(--content--base--hi)"
212
+ data-file-name="star.inline.svg"
213
+ />
214
+ </div>
215
+ <span
216
+ class="font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body47080 _lh-f-lineHeigh1960620717 _ls-f-letterSpa260968488 _fw-f-weight-re98715119 _col-content--ba1918259606"
217
+ >
218
+ explicit m (20)
219
+ </span>
220
+ </div>
221
+ </div>
222
+ </span>
223
+ </span>
224
+ </span>
225
+ </div>
226
+ </DocumentFragment>
227
+ `;
228
+
167
229
  exports[`Bumper/Content/Icon/Features Sizes 1`] = `
168
230
  <DocumentFragment>
169
231
  <div
@@ -54,6 +54,14 @@ export const NestedInContentCaps: Story = {
54
54
  ),
55
55
  };
56
56
 
57
+ export const Withhref: Story = {
58
+ render: () => (
59
+ <Typography.Text variant="content-caps-m">
60
+ with href <TypographyLink href="https://app.ornikar.com">a nested link</TypographyLink>
61
+ </Typography.Text>
62
+ ),
63
+ };
64
+
57
65
  export const NestedInHeading: Story = {
58
66
  render: () => (
59
67
  <Typography.Text variant="heading-m">
@@ -11,11 +11,17 @@ import * as TypographyLinkFeatures from './TypographyLink.features.stories';
11
11
 
12
12
  ## Overview
13
13
 
14
- `Typography.Link` is an interactive text component with `role="link"`. It renders underlined by default and removes the underline on hover. It inherits all typography props (`variant`, `weight`, `color`) from `Typography.Text`. Use it for inline navigational links within text blocks.
14
+ `Typography.Link` is an interactive text component with `role="link"`. It renders as an `<a>` element on web, so it natively supports the `href` prop for standard anchor navigation. It renders underlined by default and removes the underline on hover. It inherits all typography props (`variant`, `weight`, `color`) from `Typography.Text`. Use it for inline navigational links within text blocks.
15
+
16
+ ## With href
17
+
18
+ Pass an `href` to render a semantic anchor link. `onPress` is optional and can be omitted when `href` is sufficient.
19
+
20
+ <Canvas of={TypographyLinkFeatures.Withhref} />
15
21
 
16
22
  ## Enabled state
17
23
 
18
- By default, `disabled` is `false` — the link shows a pointer cursor and responds to `onPress`.
24
+ By default, `disabled` is `false` — the link shows a pointer cursor and responds to `onPress` or `href`.
19
25
 
20
26
  <Canvas of={TypographyLinkFeatures.DisabledFalse} />
21
27
 
@@ -52,7 +52,12 @@ const meta: Meta<Extract<TypographyLinkProps, BodyProps>> = {
52
52
  description: 'When true, removes the underline decoration',
53
53
  },
54
54
  onPress: {
55
- description: 'Click/press handler (automatically removed when disabled=true)',
55
+ description:
56
+ 'Optional click/press handler (automatically removed when disabled=true). Can be omitted when href is used.',
57
+ },
58
+ href: {
59
+ control: 'text',
60
+ description: 'URL for anchor navigation (web only). Renders the component as an <a> element.',
56
61
  },
57
62
  },
58
63
  };
@@ -8,7 +8,7 @@ import { typographyStyleContext } from './utils/typographyContext';
8
8
  export interface TypographyLinkWithoutMediaProps {
9
9
  disabled?: boolean;
10
10
  noUnderline?: boolean;
11
- onPress: () => void;
11
+ onPress?: () => void;
12
12
  }
13
13
 
14
14
  export type TypographyLinkProps = TypographyTextProps & TamaguiMediaProps<TypographyLinkWithoutMediaProps>;
@@ -17,6 +17,7 @@ export const InternalTypographyLink = styled(InternalTypography, {
17
17
  name: 'TypographyLink',
18
18
  context: typographyStyleContext,
19
19
  role: 'link',
20
+ tag: 'a',
20
21
  variants: {
21
22
  disabled: {
22
23
  true: {
@@ -420,3 +420,51 @@ exports[`Bumper/Content/TypographyLink/Features StateHover 1`] = `
420
420
  </View>
421
421
  </RNCSafeAreaProvider>
422
422
  `;
423
+
424
+ exports[`Bumper/Content/TypographyLink/Features Withhref 1`] = `
425
+ <RNCSafeAreaProvider
426
+ onInsetsChange={[Function]}
427
+ style={
428
+ [
429
+ {
430
+ "flex": 1,
431
+ },
432
+ undefined,
433
+ ]
434
+ }
435
+ >
436
+ <Text
437
+ style={
438
+ {
439
+ "color": "#101010",
440
+ "fontFamily": "GTStandardNarrowBold",
441
+ "fontSize": 16,
442
+ "letterSpacing": 0,
443
+ "lineHeight": 18,
444
+ "textTransform": "uppercase",
445
+ }
446
+ }
447
+ suppressHighlighting={true}
448
+ >
449
+ with href
450
+ <Text
451
+ href="https://app.ornikar.com"
452
+ role="link"
453
+ style={
454
+ {
455
+ "color": "#101010",
456
+ "fontFamily": "GTStandardNarrowBold",
457
+ "fontSize": 16,
458
+ "letterSpacing": 0,
459
+ "lineHeight": 18,
460
+ "textDecorationLine": "underline",
461
+ "textTransform": "uppercase",
462
+ }
463
+ }
464
+ suppressHighlighting={true}
465
+ >
466
+ a nested link
467
+ </Text>
468
+ </Text>
469
+ </RNCSafeAreaProvider>
470
+ `;
@@ -17,13 +17,12 @@ exports[`Bumper/Content/TypographyLink/Features DisabledFalse 1`] = `
17
17
  class=" t_light is_Theme"
18
18
  style="display: contents;"
19
19
  >
20
- <span
20
+ <a
21
21
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1504 _lh-f-lineHeigh201793147 _ls-f-letterSpa1099960304 _fw-f-weight-re98715119 _col-content--ba907952141 _td-underline _cur-pointer"
22
22
  role="link"
23
- tabindex="0"
24
23
  >
25
24
  Enabled link (clickable with pointer cursor)
26
- </span>
25
+ </a>
27
26
  </span>
28
27
  </span>
29
28
  </span>
@@ -48,14 +47,13 @@ exports[`Bumper/Content/TypographyLink/Features DisabledTrue 1`] = `
48
47
  class=" t_light is_Theme"
49
48
  style="display: contents;"
50
49
  >
51
- <span
50
+ <a
52
51
  aria-disabled="true"
53
52
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1504 _lh-f-lineHeigh201793147 _ls-f-letterSpa1099960304 _fw-f-weight-re98715119 _col-content--di910006857 _td-underline _cur-not-allowed"
54
53
  role="link"
55
- tabindex="0"
56
54
  >
57
55
  Disabled link (not-allowed cursor, onPress removed)
58
- </span>
56
+ </a>
59
57
  </span>
60
58
  </span>
61
59
  </span>
@@ -84,13 +82,12 @@ exports[`Bumper/Content/TypographyLink/Features NestedInBodyBold 1`] = `
84
82
  class="font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1503 _lh-f-lineHeigh201793146 _ls-f-letterSpa1099960303 _fw-f-weight-bo3448 _col-content--ac3049896"
85
83
  >
86
84
  Bold accent text with
87
- <span
85
+ <a
88
86
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-inherit _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1503 _lh-f-lineHeigh201793146 _ls-f-letterSpa1099960303 _fw-f-weight-bo3448 _col-content--ac3049896 _cur-pointer _td-underline _tt-inherit"
89
87
  role="link"
90
- tabindex="0"
91
88
  >
92
89
  a nested link
93
- </span>
90
+ </a>
94
91
  </span>
95
92
  </span>
96
93
  </span>
@@ -120,13 +117,12 @@ exports[`Bumper/Content/TypographyLink/Features NestedInContentCaps 1`] = `
120
117
  class="font_GTStandardNarrow _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-cont593321891 _lh-f-lineHeigh1366135090 _ls-f-letterSpa199301955 _fw-f-weight-bo3448 _col-content--ba907952141 _tt-uppercase"
121
118
  >
122
119
  content caps with
123
- <span
120
+ <a
124
121
  class="is_TypographyLink font_GTStandardNarrow _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-inherit _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-cont593321891 _lh-f-lineHeigh1366135090 _ls-f-letterSpa199301955 _fw-f-weight-bo3448 _col-content--ba907952141 _cur-pointer _td-underline _tt-uppercase"
125
122
  role="link"
126
- tabindex="0"
127
123
  >
128
124
  a nested link
129
- </span>
125
+ </a>
130
126
  </span>
131
127
  </span>
132
128
  </span>
@@ -156,13 +152,12 @@ exports[`Bumper/Content/TypographyLink/Features NestedInHeading 1`] = `
156
152
  class="font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-head100347202 _lh-f-lineHeigh1544154441 _ls-f-letterSpa1195674548 _fw-f-weight-se1074390495 _col-content--ba907952141"
157
153
  >
158
154
  Heading with
159
- <span
155
+ <a
160
156
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-inherit _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-head100347202 _lh-f-lineHeigh1544154441 _ls-f-letterSpa1195674548 _fw-f-weight-se1074390495 _col-content--ba907952141 _cur-pointer _td-underline _tt-inherit"
161
157
  role="link"
162
- tabindex="0"
163
158
  >
164
159
  a nested link
165
- </span>
160
+ </a>
166
161
  </span>
167
162
  </span>
168
163
  </span>
@@ -188,13 +183,12 @@ exports[`Bumper/Content/TypographyLink/Features NoUnderlineFalse 1`] = `
188
183
  class=" t_light is_Theme"
189
184
  style="display: contents;"
190
185
  >
191
- <span
186
+ <a
192
187
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1504 _lh-f-lineHeigh201793147 _ls-f-letterSpa1099960304 _fw-f-weight-re98715119 _col-content--ba907952141 _cur-pointer _td-underline"
193
188
  role="link"
194
- tabindex="0"
195
189
  >
196
190
  Link with underline (default)
197
- </span>
191
+ </a>
198
192
  </span>
199
193
  </span>
200
194
  </span>
@@ -219,13 +213,12 @@ exports[`Bumper/Content/TypographyLink/Features NoUnderlineTrue 1`] = `
219
213
  class=" t_light is_Theme"
220
214
  style="display: contents;"
221
215
  >
222
- <span
216
+ <a
223
217
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1504 _lh-f-lineHeigh201793147 _ls-f-letterSpa1099960304 _fw-f-weight-re98715119 _col-content--ba907952141 _cur-pointer _td-none"
224
218
  role="link"
225
- tabindex="0"
226
219
  >
227
220
  Link without underline
228
- </span>
221
+ </a>
229
222
  </span>
230
223
  </span>
231
224
  </span>
@@ -253,40 +246,36 @@ exports[`Bumper/Content/TypographyLink/Features StateHover 1`] = `
253
246
  <div
254
247
  class="is_VStack _dsp-flex _alignItems-stretch _fb-auto _bxs-border-box _pos-relative _minHeight-0px _minWidth-0px _flexShrink-0 _fd-column _gap-t-space-spa1366020313"
255
248
  >
256
- <span
249
+ <a
257
250
  class="is_TypographyLink font_GTStandard "
258
251
  role="link"
259
252
  style="display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0px 0px 0px 0px; font-family: var(--f-family); font-size: var(--f-size-body-m); line-height: var(--f-lineHeight-body-m); letter-spacing: var(--f-letterSpacing-body-m); font-weight: var(--f-weight-regular); color: var(--content--base--hi); -webkit-font-smoothing: antialiased; cursor: pointer; text-decoration-line: none;"
260
- tabindex="0"
261
253
  >
262
254
  Forced hover state - underline removed (hoverStyle applied)
263
- </span>
264
- <span
255
+ </a>
256
+ <a
265
257
  class="is_TypographyLink font_GTStandard "
266
258
  role="link"
267
259
  style="display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0px 0px 0px 0px; font-family: var(--f-family); font-size: var(--f-size-body-m); line-height: var(--f-lineHeight-body-m); letter-spacing: var(--f-letterSpacing-body-m); font-weight: var(--f-weight-regular); color: var(--content--base--hi); -webkit-font-smoothing: antialiased; cursor: pointer; text-decoration-line: none;"
268
- tabindex="0"
269
260
  >
270
261
  Forced hover state with noUnderline - no visual change
271
- </span>
272
- <span
262
+ </a>
263
+ <a
273
264
  aria-disabled="true"
274
265
  class="is_TypographyLink font_GTStandard "
275
266
  role="link"
276
267
  style="display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0px 0px 0px 0px; font-family: var(--f-family); font-size: var(--f-size-body-m); line-height: var(--f-lineHeight-body-m); letter-spacing: var(--f-letterSpacing-body-m); font-weight: var(--f-weight-regular); color: var(--content--disabled); -webkit-font-smoothing: antialiased; text-decoration-line: underline; cursor: not-allowed;"
277
- tabindex="0"
278
268
  >
279
269
  Forced hover state on disabled - underline removed (hoverStyle applied)
280
- </span>
281
- <span
270
+ </a>
271
+ <a
282
272
  aria-disabled="true"
283
273
  class="is_TypographyLink font_GTStandard "
284
274
  role="link"
285
275
  style="display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0px 0px 0px 0px; font-family: var(--f-family); font-size: var(--f-size-body-m); line-height: var(--f-lineHeight-body-m); letter-spacing: var(--f-letterSpacing-body-m); font-weight: var(--f-weight-regular); color: var(--content--disabled); -webkit-font-smoothing: antialiased; cursor: not-allowed; text-decoration-line: none;"
286
- tabindex="0"
287
276
  >
288
277
  Forced hover state with noUnderline on disabled - no visual change
289
- </span>
278
+ </a>
290
279
  </div>
291
280
  </span>
292
281
  </span>
@@ -294,3 +283,39 @@ exports[`Bumper/Content/TypographyLink/Features StateHover 1`] = `
294
283
  </div>
295
284
  </DocumentFragment>
296
285
  `;
286
+
287
+ exports[`Bumper/Content/TypographyLink/Features Withhref 1`] = `
288
+ <DocumentFragment>
289
+ <div
290
+ class="css-view-g5y9jx r-flex-13awgt0"
291
+ >
292
+ <span
293
+ class=""
294
+ style="display: contents;"
295
+ >
296
+ <span
297
+ class=" "
298
+ style="display: contents;"
299
+ >
300
+ <span
301
+ class=" t_light is_Theme"
302
+ style="display: contents;"
303
+ >
304
+ <span
305
+ class="font_GTStandardNarrow _WebkitFontSmoothing-_platformweb_antialiased _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-cont593321891 _lh-f-lineHeigh1366135090 _ls-f-letterSpa199301955 _fw-f-weight-bo3448 _col-content--ba907952141 _tt-uppercase"
306
+ >
307
+ with href
308
+ <a
309
+ class="is_TypographyLink font_GTStandardNarrow _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-inherit _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-cont593321891 _lh-f-lineHeigh1366135090 _ls-f-letterSpa199301955 _fw-f-weight-bo3448 _col-content--ba907952141 _cur-pointer _td-underline _tt-uppercase"
310
+ href="https://app.ornikar.com"
311
+ role="link"
312
+ >
313
+ a nested link
314
+ </a>
315
+ </span>
316
+ </span>
317
+ </span>
318
+ </span>
319
+ </div>
320
+ </DocumentFragment>
321
+ `;
@@ -17,13 +17,12 @@ exports[`Bumper/Content/TypographyLink Default 1`] = `
17
17
  class=" t_light is_Theme"
18
18
  style="display: contents;"
19
19
  >
20
- <span
20
+ <a
21
21
  class="is_TypographyLink font_GTStandard _WebkitFontSmoothing-_platformweb_antialiased _td-0hover-none _dsp-inline _bxs-border-box _ww-break-word _ws-pre-wrap _marginTop-0px _marginRight-0px _marginBottom-0px _marginLeft-0px _ff-f-family _fs-f-size-body1504 _lh-f-lineHeigh201793147 _ls-f-letterSpa1099960304 _fw-f-weight-re98715119 _col-content--ac3049896 _cur-pointer _td-underline"
22
22
  role="link"
23
- tabindex="0"
24
23
  >
25
24
  This is a link
26
- </span>
25
+ </a>
27
26
  </span>
28
27
  </span>
29
28
  </span>