@ornikar/bumper 2.8.0 → 2.8.1-canary.1768927687.5a0439490957cfbbe8b8c5136c5fc68b0828466d.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/definitions/index.d.ts +5 -0
  3. package/dist/definitions/index.d.ts.map +1 -1
  4. package/dist/definitions/system/content/icon/Icon.d.ts +18 -0
  5. package/dist/definitions/system/content/icon/Icon.d.ts.map +1 -0
  6. package/dist/definitions/system/content/typography/Typography.d.ts +8 -7
  7. package/dist/definitions/system/content/typography/Typography.d.ts.map +1 -1
  8. package/dist/definitions/system/content/typography/TypographyIcon.d.ts +9 -0
  9. package/dist/definitions/system/content/typography/TypographyIcon.d.ts.map +1 -0
  10. package/dist/definitions/system/content/typography/TypographyView.d.ts +18 -0
  11. package/dist/definitions/system/content/typography/TypographyView.d.ts.map +1 -0
  12. package/dist/definitions/system/content/typography/utils/getVariantAndWeightValues.d.ts +2 -1
  13. package/dist/definitions/system/content/typography/utils/getVariantAndWeightValues.d.ts.map +1 -1
  14. package/dist/definitions/system/content/typography/utils/typographyContext.d.ts +16 -0
  15. package/dist/definitions/system/content/typography/utils/typographyContext.d.ts.map +1 -0
  16. package/dist/definitions/system/core/primitives/Image/Image.d.ts +3 -0
  17. package/dist/definitions/system/core/primitives/Image/Image.d.ts.map +1 -0
  18. package/dist/definitions/system/core/primitives/ScrollView/ScrollView.d.ts +3 -0
  19. package/dist/definitions/system/core/primitives/ScrollView/ScrollView.d.ts.map +1 -0
  20. package/dist/index-metro.es.android.js +117 -11
  21. package/dist/index-metro.es.android.js.map +1 -1
  22. package/dist/index-metro.es.ios.js +117 -11
  23. package/dist/index-metro.es.ios.js.map +1 -1
  24. package/dist/index-node-22.22.cjs.js +121 -7
  25. package/dist/index-node-22.22.cjs.js.map +1 -1
  26. package/dist/index-node-22.22.cjs.web.js +121 -7
  27. package/dist/index-node-22.22.cjs.web.js.map +1 -1
  28. package/dist/index-node-22.22.es.mjs +121 -9
  29. package/dist/index-node-22.22.es.mjs.map +1 -1
  30. package/dist/index-node-22.22.es.web.mjs +121 -9
  31. package/dist/index-node-22.22.es.web.mjs.map +1 -1
  32. package/dist/index.es.js +115 -11
  33. package/dist/index.es.js.map +1 -1
  34. package/dist/index.es.web.js +115 -11
  35. package/dist/index.es.web.js.map +1 -1
  36. package/dist/tsbuildinfo +1 -1
  37. package/package.json +7 -3
  38. package/src/index.ts +5 -0
  39. package/src/system/content/icon/Icon.features.stories.tsx +116 -0
  40. package/src/system/content/icon/Icon.stories.tsx +44 -0
  41. package/src/system/content/icon/Icon.tsx +43 -0
  42. package/src/system/content/icon/__snapshots__/Icon.features.stories.tsx.snap +569 -0
  43. package/src/system/content/icon/__snapshots__/Icon.stories.tsx.snap +29 -0
  44. package/src/system/content/icon/__snapshots_web__/Icon.features.stories.tsx.snap +309 -0
  45. package/src/system/content/icon/__snapshots_web__/Icon.stories.tsx.snap +33 -0
  46. package/src/system/content/typography/Typography.tsx +24 -15
  47. package/src/system/content/typography/TypographyIcon.features.stories.tsx +163 -0
  48. package/src/system/content/typography/TypographyIcon.stories.tsx +52 -0
  49. package/src/system/content/typography/TypographyIcon.tsx +33 -0
  50. package/src/system/content/typography/TypographyView.tsx +34 -0
  51. package/src/system/content/typography/__snapshots__/TypographyIcon.features.stories.tsx.snap +839 -0
  52. package/src/system/content/typography/__snapshots__/TypographyIcon.stories.tsx.snap +31 -0
  53. package/src/system/content/typography/__snapshots_web__/TypographyIcon.features.stories.tsx.snap +543 -0
  54. package/src/system/content/typography/__snapshots_web__/TypographyIcon.stories.tsx.snap +37 -0
  55. package/src/system/content/typography/utils/getVariantAndWeightValues.tsx +2 -6
  56. package/src/system/content/typography/utils/typographyContext.ts +29 -0
  57. package/src/system/core/primitives/Image/Image.stories.tsx +39 -0
  58. package/src/system/core/primitives/Image/Image.ts +2 -0
  59. package/src/system/core/primitives/Image/__snapshots__/Image.stories.tsx.snap +30 -0
  60. package/src/system/core/primitives/Image/__snapshots_web__/Image.stories.tsx.snap +40 -0
  61. package/src/system/core/primitives/ScrollView/ScrollView.features.stories.tsx +84 -0
  62. package/src/system/core/primitives/ScrollView/ScrollView.stories.tsx +63 -0
  63. package/src/system/core/primitives/ScrollView/ScrollView.ts +2 -0
  64. package/src/system/core/primitives/ScrollView/__snapshots__/ScrollView.features.stories.tsx.snap +1245 -0
  65. package/src/system/core/primitives/ScrollView/__snapshots__/ScrollView.stories.tsx.snap +334 -0
  66. package/src/system/core/primitives/ScrollView/__snapshots_web__/ScrollView.features.stories.tsx.snap +503 -0
  67. package/src/system/core/primitives/ScrollView/__snapshots_web__/ScrollView.stories.tsx.snap +138 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.8.1-canary.1768927687.5a0439490957cfbbe8b8c5136c5fc68b0828466d.0](https://github.com/ornikar/kitt/compare/@ornikar/bumper@2.8.0...@ornikar/bumper@2.8.1-canary.1768927687.5a0439490957cfbbe8b8c5136c5fc68b0828466d.0) (2026-01-20)
7
+
8
+
9
+ ### Features
10
+
11
+ * **bumper:** add Image primitive [OSE-22653] ([#2854](https://github.com/ornikar/kitt/issues/2854)) ([ff6ef30](https://github.com/ornikar/kitt/commit/ff6ef30e9b68525d893591297955718f331d4c5f))
12
+ * **bumper:** add ScrollView primitive [OSE-22231] ([#2853](https://github.com/ornikar/kitt/issues/2853)) ([c1657e6](https://github.com/ornikar/kitt/commit/c1657e677d375077e44e3908fa00afe3d9568ea1))
13
+ * **bumper:** create Icon component OSE-22651 ([#2850](https://github.com/ornikar/kitt/issues/2850)) ([badab32](https://github.com/ornikar/kitt/commit/badab3252d3ed42a97dafa5084baca4c4c34c24b))
14
+ * **bumper:** create TypographyIcon OSE-22633 ([#2855](https://github.com/ornikar/kitt/issues/2855)) ([297fe14](https://github.com/ornikar/kitt/commit/297fe148e19d80fa39a225fff62279ba901bc876))
15
+
16
+
17
+
6
18
  ## [2.8.0](https://github.com/ornikar/kitt/compare/@ornikar/bumper@2.7.1...@ornikar/bumper@2.8.0) (2026-01-19)
7
19
 
8
20
 
@@ -2,14 +2,19 @@ export { BumperDecorator } from './shared/storybook/BumperDecorator';
2
2
  export { BumperProvider } from './system/core/provider/BumperProvider';
3
3
  export type { CenterProps } from './system/core/primitives/Center';
4
4
  export { Center } from './system/core/primitives/Center';
5
+ export type { ImageProps } from './system/core/primitives/Image/Image';
6
+ export { Image } from './system/core/primitives/Image/Image';
5
7
  export type { PressableProps } from './system/core/primitives/Pressable';
6
8
  export { Pressable } from './system/core/primitives/Pressable';
9
+ export type { ScrollViewProps } from './system/core/primitives/ScrollView/ScrollView';
10
+ export { ScrollView } from './system/core/primitives/ScrollView/ScrollView';
7
11
  export type { HStackProps, StackProps, VStackProps } from './system/core/primitives/Stack';
8
12
  export { HStack, Stack, VStack } from './system/core/primitives/Stack';
9
13
  export type { ViewProps } from './system/core/primitives/View';
10
14
  export { View } from './system/core/primitives/View';
11
15
  export type { TypographyTextProps } from './system/content/typography/Typography';
12
16
  export { Typography } from './system/content/typography/Typography';
17
+ export type { TypographyIconProps } from './system/content/typography/TypographyIcon';
13
18
  export { useBreakpointValue } from './system/core/breakpoints/hooks/useBreakpointValue';
14
19
  export { useCurrentBreakpointName } from './system/core/breakpoints/hooks/useCurrentBreakpointName';
15
20
  export { useWindowSize } from './system/core/breakpoints/hooks/useWindowSize';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAGvE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAGrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAGtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ColorTokens, GetProps, WithMediaProps } from '@tamagui/core';
2
+ import type { ReactElement, ReactNode } from 'react';
3
+ declare const IconContainer: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
4
+ size?: import("@tamagui/core").SizeTokens | undefined;
5
+ }, import("@tamagui/core").StaticConfigPublic>;
6
+ type IconContainerProps = GetProps<typeof IconContainer>;
7
+ interface InternalIconProps {
8
+ icon: ReactElement;
9
+ color?: ColorTokens;
10
+ size?: IconContainerProps['size'];
11
+ testID?: IconContainerProps['testID'];
12
+ /** @ignore */
13
+ alignSelf?: IconContainerProps['alignSelf'];
14
+ }
15
+ export type IconProps = InternalIconProps & WithMediaProps<InternalIconProps>;
16
+ export declare function Icon({ icon, color, size, testID, alignSelf }: IconProps): ReactNode;
17
+ export {};
18
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/system/content/icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,QAAA,MAAM,aAAa;;8CAYjB,CAAC;AAEH,KAAK,kBAAkB,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,UAAU,iBAAiB;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,cAAc;IACd,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;AAE9E,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,KAA0B,EAAE,IAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,SAAS,CAUrH"}
@@ -1,6 +1,7 @@
1
- import type { GetProps, TamaguiComponent, WithMediaProps } from '@tamagui/core';
1
+ import type { ColorTokens, GetProps, TamaguiComponent, WithMediaProps } from '@tamagui/core';
2
2
  import { type Except } from 'type-fest';
3
- import type { BodyFontVariants, ContentCapsVariants, FontVariants, HeadingFontVariants, LabelFontVariants } from '../../core/tokens/fonts';
3
+ import type { BodyFontVariants, ContentCapsVariants, HeadingFontVariants, LabelFontVariants } from '../../core/tokens/fonts';
4
+ import { TypographyIcon } from './TypographyIcon';
4
5
  type PropsWithoutMedia<A> = {
5
6
  [Key in keyof A as Key extends `$${string}` ? never : Key]?: A[Key];
6
7
  };
@@ -10,11 +11,10 @@ declare const InternalTypography: TamaguiComponent<import("@tamagui/core").TamaD
10
11
  weight?: "bold" | "semibold" | "regular" | undefined;
11
12
  }, import("@tamagui/core").StaticConfigPublic>;
12
13
  export type InternalTypographyProps = GetProps<typeof InternalTypography>;
13
- export type TypographyVariantContextValue = FontVariants | null;
14
- export type TypographyWeightContextValue = 'regular' | 'bold' | 'semibold' | null;
15
- export type TypograhyColorContextValue = InternalTypographyProps['color'] | null;
16
- type TypographyExcludedFontStyleProps = 'fontFamily' | 'fontSize' | 'lineHeight' | 'fontStyle' | 'fontVariant' | 'fontWeight';
17
- type TypographyPropsWithoutFontStyleProps = Except<InternalTypographyProps, TypographyExcludedFontStyleProps>;
14
+ type TypographyExcludedFontStyleProps = 'fontFamily' | 'fontSize' | 'lineHeight' | 'fontStyle' | 'fontVariant' | 'fontWeight' | 'color';
15
+ type TypographyPropsWithoutFontStyleProps = Except<InternalTypographyProps, TypographyExcludedFontStyleProps> & {
16
+ color: ColorTokens;
17
+ };
18
18
  export interface BodyProps extends TypographyPropsWithoutFontStyleProps {
19
19
  variant?: BodyFontVariants;
20
20
  weight?: 'regular' | 'bold';
@@ -39,6 +39,7 @@ export declare const Typography: {
39
39
  Header4: TamaguiComponent<TypographyTextProps>;
40
40
  Header5: TamaguiComponent<TypographyTextProps>;
41
41
  Header6: TamaguiComponent<TypographyTextProps>;
42
+ Icon: typeof TypographyIcon;
42
43
  };
43
44
  export {};
44
45
  //# sourceMappingURL=Typography.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/system/content/typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGrG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAIjC,KAAK,iBAAiB,CAAC,CAAC,IAAI;KAEzB,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CACpE,CAAC;AAEF,KAAK,6BAA6B,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,QAAA,MAAM,kBAAkB;;;8CAgCtB,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE1E,MAAM,MAAM,6BAA6B,GAAG,YAAY,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAOjF,KAAK,gCAAgC,GACjC,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,CAAC;AAEjB,KAAK,oCAAoC,GAAG,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;AAE9G,MAAM,WAAW,SAAU,SAAQ,oCAAoC;IACrE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,iBAAkB,SAAQ,oCAAoC;IAC7E,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AACD,MAAM,WAAW,gBAAiB,SAAQ,oCAAoC;IAC5E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B,6BAA6B,CAAC,SAAS,CAAC,GACxC,6BAA6B,CAAC,iBAAiB,CAAC,GAChD,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;AAuDpD,eAAO,MAAM,UAAU;;;;;;;;;;;CAQtB,CAAC"}
1
+ {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/system/content/typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAuB,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAElH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EAEnB,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAclD,KAAK,iBAAiB,CAAC,CAAC,IAAI;KAEzB,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;CACpE,CAAC;AAEF,KAAK,6BAA6B,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpG,QAAA,MAAM,kBAAkB;;;8CAgCtB,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG1E,KAAK,gCAAgC,GACjC,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,WAAW,GACX,aAAa,GACb,YAAY,GACZ,OAAO,CAAC;AAEZ,KAAK,oCAAoC,GAAG,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,GAAG;IAC9G,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,oCAAoC;IACrE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,iBAAkB,SAAQ,oCAAoC;IAC7E,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,CAAC;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AACD,MAAM,WAAW,gBAAiB,SAAQ,oCAAoC;IAC5E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC3B,6BAA6B,CAAC,SAAS,CAAC,GACxC,6BAA6B,CAAC,iBAAiB,CAAC,GAChD,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;AA0DpD,eAAO,MAAM,UAAU;;;;;;;;;;;;CAStB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { Except } from 'type-fest';
3
+ import type { IconProps } from '../icon/Icon';
4
+ import type { TypographyTextProps } from './Typography';
5
+ export interface TypographyIconProps extends Except<IconProps, 'color'> {
6
+ color?: TypographyTextProps['color'];
7
+ }
8
+ export declare function TypographyIcon({ color, ...props }: TypographyIconProps): ReactNode;
9
+ //# sourceMappingURL=TypographyIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypographyIcon.d.ts","sourceRoot":"","sources":["../../../../../src/system/content/typography/TypographyIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;IACrE,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;CACtC;AAgBD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,SAAS,CAMlF"}
@@ -0,0 +1,18 @@
1
+ import type { GetProps } from '@tamagui/core';
2
+ import type { ReactNode } from 'react';
3
+ declare const InternalTypographyView: import("@tamagui/core").TamaguiComponent<import("@tamagui/core").TamaDefer, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {}, import("@tamagui/core").StaticConfigPublic>;
4
+ type TypographyViewProps = GetProps<typeof InternalTypographyView>;
5
+ /**
6
+ *
7
+ * A wrapper component that applies typography styles to its children in order to maintain consistent style between web and native
8
+ * In native, it simply renders a View as it renders correctly by default
9
+ * In web, it ensures that the display is set to inline-flex when inside a Typography context
10
+ *
11
+ * React Native Web includes this implementation in its codebase
12
+ * but Tamagui does not use React Native Webview, we need to implement it ourselves
13
+ *
14
+ * Inside a Typography component, always use TypographyView to wrap external components like Icon or Svg
15
+ */
16
+ export declare function TypographyView(props: TypographyViewProps): ReactNode;
17
+ export {};
18
+ //# sourceMappingURL=TypographyView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypographyView.d.ts","sourceRoot":"","sources":["../../../../../src/system/content/typography/TypographyView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,QAAA,MAAM,sBAAsB,iQAE1B,CAAC;AAEH,KAAK,mBAAmB,GAAG,QAAQ,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAWpE"}
@@ -1,5 +1,6 @@
1
1
  import type { FontVariants } from '../../../core/tokens/fonts';
2
- import type { InternalTypographyProps, TypographyTextProps, TypographyVariantContextValue, TypographyWeightContextValue } from '../Typography';
2
+ import type { InternalTypographyProps, TypographyTextProps } from '../Typography';
3
+ import type { TypographyVariantContextValue, TypographyWeightContextValue } from './typographyContext';
3
4
  interface VariantAndWeightValues {
4
5
  weight: InternalTypographyProps['weight'] | undefined;
5
6
  variant: FontVariants | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getVariantAndWeightValues.d.ts","sourceRoot":"","sources":["../../../../../../src/system/content/typography/utils/getVariantAndWeightValues.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,EAC7B,MAAM,eAAe,CAAC;AAEvB,UAAU,sBAAsB;IAC9B,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACtD,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACzC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAC3C,6BAA6B,EAAE,4BAA4B,EAC3D,8BAA8B,EAAE,6BAA6B,GAC5D,sBAAsB,CAuBxB"}
1
+ {"version":3,"file":"getVariantAndWeightValues.d.ts","sourceRoot":"","sources":["../../../../../../src/system/content/typography/utils/getVariantAndWeightValues.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,KAAK,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEvG,UAAU,sBAAsB;IAC9B,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACtD,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACzC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAC3C,6BAA6B,EAAE,4BAA4B,EAC3D,8BAA8B,EAAE,6BAA6B,GAC5D,sBAAsB,CAuBxB"}
@@ -0,0 +1,16 @@
1
+ import type { FontVariants } from '../../../core/tokens/fonts';
2
+ import type { TypographyTextProps } from '../Typography';
3
+ export type TypographyVariantContextValue = FontVariants | null;
4
+ export type TypographyWeightContextValue = 'regular' | 'bold' | 'semibold' | null;
5
+ export type TypograhyColorContextValue = TypographyTextProps['color'] | null;
6
+ type TypographyContextValue = boolean;
7
+ export declare const TypographyVariantContext: import("react").Context<TypographyVariantContextValue>;
8
+ export declare const TypographyWeightContext: import("react").Context<TypographyWeightContextValue>;
9
+ export declare const TypograhyColorContext: import("react").Context<TypograhyColorContextValue>;
10
+ export declare const TypographyContext: import("react").Context<boolean>;
11
+ export declare const useTypographyColor: () => TypograhyColorContextValue;
12
+ export declare const useTypographyVariant: () => TypographyVariantContextValue;
13
+ export declare const useTypographyWeight: () => TypographyWeightContextValue;
14
+ export declare const useTypographyContext: () => TypographyContextValue;
15
+ export {};
16
+ //# sourceMappingURL=typographyContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typographyContext.d.ts","sourceRoot":"","sources":["../../../../../../src/system/content/typography/utils/typographyContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,MAAM,MAAM,6BAA6B,GAAG,YAAY,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAC7E,KAAK,sBAAsB,GAAG,OAAO,CAAC;AAEtC,eAAO,MAAM,wBAAwB,wDAAqD,CAAC;AAC3F,eAAO,MAAM,uBAAuB,uDAAoD,CAAC;AACzF,eAAO,MAAM,qBAAqB,qDAAkD,CAAC;AACrF,eAAO,MAAM,iBAAiB,kCAAgC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,QAAO,0BAErC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,6BAEvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,4BAEtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,sBAEvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { ImageProps } from '@tamagui/image';
2
+ export { Image } from '@tamagui/image';
3
+ //# sourceMappingURL=Image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../../../src/system/core/primitives/Image/Image.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { ScrollViewProps } from '@tamagui/scroll-view';
2
+ export { ScrollView } from '@tamagui/scroll-view';
3
+ //# sourceMappingURL=ScrollView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../../../../../src/system/core/primitives/ScrollView/ScrollView.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { makeDecorator } from '@storybook/preview-api';
2
- import { createFont, createTokens, createTamagui, TamaguiProvider, styled, View, Stack, Text, useMedia } from '@tamagui/core';
2
+ import { createFont, createTokens, createTamagui, TamaguiProvider, styled, View, Stack, useStyle, Text, useMedia } from '@tamagui/core';
3
3
  export { Stack, View } from '@tamagui/core';
4
4
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
7
- import { useContext, createContext, useMemo } from 'react';
7
+ import { cloneElement, createContext, useContext, useMemo } from 'react';
8
+ export { Image } from '@tamagui/image';
9
+ export { ScrollView } from '@tamagui/scroll-view';
8
10
  export { useWindowDimensions as useWindowSize } from 'react-native';
9
11
 
10
12
  const createColorScale = colorScale => colorScale;
@@ -405,7 +407,7 @@ const Center = styled(View, {
405
407
  alignItems: 'center'
406
408
  });
407
409
 
408
- const _excluded = ["as"];
410
+ const _excluded$1 = ["as"];
409
411
  /**
410
412
  * A polymorphic Pressable component that can render as any Tamagui primitive.
411
413
  */
@@ -413,7 +415,7 @@ function Pressable(_ref) {
413
415
  let {
414
416
  as
415
417
  } = _ref,
416
- rest = _objectWithoutProperties(_ref, _excluded);
418
+ rest = _objectWithoutProperties(_ref, _excluded$1);
417
419
  const Component = styled(as !== null && as !== void 0 ? as : View, {
418
420
  name: 'Pressable',
419
421
  role: 'button',
@@ -431,6 +433,107 @@ const VStack = styled(Stack, {
431
433
  flexDirection: 'column'
432
434
  });
433
435
 
436
+ const IconContainer = styled(View, {
437
+ name: 'Icon',
438
+ variants: {
439
+ size: {
440
+ '...size': (size, {
441
+ tokens
442
+ }) => {
443
+ return {
444
+ width: tokens.size[size],
445
+ height: tokens.size[size]
446
+ };
447
+ }
448
+ }
449
+ }
450
+ });
451
+ function Icon({
452
+ icon,
453
+ color = '$content.base.hi',
454
+ size = '$size.20',
455
+ testID,
456
+ alignSelf
457
+ }) {
458
+ const style = useStyle({
459
+ color
460
+ });
461
+ const clonedIcon = /*#__PURE__*/cloneElement(icon, {
462
+ color: style.color
463
+ });
464
+ return /*#__PURE__*/jsx(IconContainer, {
465
+ size: size,
466
+ testID: testID,
467
+ alignSelf: alignSelf,
468
+ children: clonedIcon
469
+ });
470
+ }
471
+
472
+ const TypographyVariantContext = /*#__PURE__*/createContext(null);
473
+ const TypographyWeightContext = /*#__PURE__*/createContext(null);
474
+ const TypograhyColorContext = /*#__PURE__*/createContext(null);
475
+ const TypographyContext = /*#__PURE__*/createContext(false);
476
+ const useTypographyColor = () => {
477
+ return useContext(TypograhyColorContext);
478
+ };
479
+ const useTypographyVariant = () => {
480
+ return useContext(TypographyVariantContext);
481
+ };
482
+ const useTypographyWeight = () => {
483
+ return useContext(TypographyWeightContext);
484
+ };
485
+ const useTypographyContext = () => {
486
+ return useContext(TypographyContext);
487
+ };
488
+
489
+ const InternalTypographyView = styled(View, {
490
+ name: 'TypographyView'
491
+ });
492
+ /**
493
+ *
494
+ * A wrapper component that applies typography styles to its children in order to maintain consistent style between web and native
495
+ * In native, it simply renders a View as it renders correctly by default
496
+ * In web, it ensures that the display is set to inline-flex when inside a Typography context
497
+ *
498
+ * React Native Web includes this implementation in its codebase
499
+ * but Tamagui does not use React Native Webview, we need to implement it ourselves
500
+ *
501
+ * Inside a Typography component, always use TypographyView to wrap external components like Icon or Svg
502
+ */
503
+ function TypographyView(props) {
504
+ const isInTypographyContext = useTypographyContext();
505
+ return /*#__PURE__*/jsx(InternalTypographyView, _objectSpread(_objectSpread({}, props), {}, {
506
+ "$platform-web": isInTypographyContext ? _objectSpread(_objectSpread({}, props['$platform-web']), {}, {
507
+ display: 'inline-flex'
508
+ }) : props['$platform-web']
509
+ }));
510
+ }
511
+
512
+ const _excluded = ["color"];
513
+ function TypographyIconInternal(props) {
514
+ return /*#__PURE__*/jsx(TypographyView, {
515
+ children: /*#__PURE__*/jsx(Icon, _objectSpread({}, props))
516
+ });
517
+ }
518
+ function TypographyIconInheritColor(props) {
519
+ const typographyColorAncestorValue = useTypographyColor();
520
+ return /*#__PURE__*/jsx(TypographyIconInternal, _objectSpread({
521
+ color: typographyColorAncestorValue || undefined
522
+ }, props));
523
+ }
524
+ function TypographyIcon(_ref) {
525
+ let {
526
+ color
527
+ } = _ref,
528
+ props = _objectWithoutProperties(_ref, _excluded);
529
+ if (color) {
530
+ return /*#__PURE__*/jsx(TypographyIconInternal, _objectSpread({
531
+ color: color
532
+ }, props));
533
+ }
534
+ return /*#__PURE__*/jsx(TypographyIconInheritColor, _objectSpread({}, props));
535
+ }
536
+
434
537
  function getVariantAndWeightValues(weightProp, variantProp, typographyWeightAncestorValue, typographyVariantAncestorValue) {
435
538
  const computedVariant = variantProp || typographyVariantAncestorValue || undefined;
436
539
  if (computedVariant) {
@@ -501,16 +604,14 @@ const InternalTypography = styled(Text, {
501
604
  weight: 'regular'
502
605
  }
503
606
  });
504
- const TypographyVariantContext = /*#__PURE__*/createContext(null);
505
- const TypographyWeightContext = /*#__PURE__*/createContext(null);
506
- const TypograhyColorContext = /*#__PURE__*/createContext(null);
507
607
 
508
608
  // Remove font-related style props from InternalTypography Props
509
609
 
510
610
  const TypographyBase = InternalTypography.styleable((props, ref) => {
511
- const typographyVariantAncestorValue = useContext(TypographyVariantContext);
512
- const typographyWeightAncestorValue = useContext(TypographyWeightContext);
513
- const typographyColorAncestorValue = useContext(TypograhyColorContext);
611
+ const typographyVariantAncestorValue = useTypographyVariant();
612
+ const typographyWeightAncestorValue = useTypographyWeight();
613
+ const typographyColorAncestorValue = useTypographyColor();
614
+ const typographyContext = useTypographyContext();
514
615
  const {
515
616
  variant,
516
617
  weight
@@ -523,6 +624,10 @@ const TypographyBase = InternalTypography.styleable((props, ref) => {
523
624
  weight: weight,
524
625
  variant: variant
525
626
  }));
627
+ content = typographyContext ? content : /*#__PURE__*/jsx(TypographyContext.Provider, {
628
+ value: true,
629
+ children: content
630
+ });
526
631
 
527
632
  // If a variant is provided, we set it in the context for children to be able to inherit variant value
528
633
  content = props.variant ? /*#__PURE__*/jsx(TypographyVariantContext.Provider, {
@@ -560,7 +665,8 @@ const Typography = {
560
665
  Header3: createHeading(3),
561
666
  Header4: createHeading(4),
562
667
  Header5: createHeading(5),
563
- Header6: createHeading(6)
668
+ Header6: createHeading(6),
669
+ Icon: TypographyIcon
564
670
  };
565
671
 
566
672
  function getValueForBreakpoint(breakpoint, {