alouette 16.1.1 → 16.2.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 (30) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/definitions/components/containers/variants.d.ts +4 -0
  3. package/dist/definitions/components/containers/variants.d.ts.map +1 -1
  4. package/dist/definitions/components/layout/PressableListItem.d.ts +13 -0
  5. package/dist/definitions/components/layout/PressableListItem.d.ts.map +1 -0
  6. package/dist/definitions/components/layout/{list.stories.d.ts → PressableListItem.stories.d.ts} +5 -4
  7. package/dist/definitions/components/layout/PressableListItem.stories.d.ts.map +1 -0
  8. package/dist/definitions/index.d.ts +2 -2
  9. package/dist/definitions/index.d.ts.map +1 -1
  10. package/dist/index-browser.es.js +40 -20
  11. package/dist/index-browser.es.js.map +1 -1
  12. package/dist/index-node22.cjs +31 -10
  13. package/dist/index-node22.cjs.map +1 -1
  14. package/dist/index-node22.mjs +32 -11
  15. package/dist/index-node22.mjs.map +1 -1
  16. package/dist/index-react-native.cjs.js +31 -10
  17. package/dist/index-react-native.cjs.js.map +1 -1
  18. package/dist/index-react-native.es.js +32 -11
  19. package/dist/index-react-native.es.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/components/containers/Box.tsx +1 -1
  22. package/src/components/containers/variants.ts +3 -0
  23. package/src/components/layout/PressableListItem.stories.tsx +186 -0
  24. package/src/components/layout/PressableListItem.tsx +51 -0
  25. package/src/index.ts +2 -2
  26. package/dist/definitions/components/layout/list.d.ts +0 -7
  27. package/dist/definitions/components/layout/list.d.ts.map +0 -1
  28. package/dist/definitions/components/layout/list.stories.d.ts.map +0 -1
  29. package/src/components/layout/list.stories.tsx +0 -73
  30. package/src/components/layout/list.tsx +0 -30
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
+ ## [16.2.1](https://github.com/christophehurpeau/alouette/compare/alouette@16.2.0...alouette@16.2.1) (2025-11-10)
7
+
8
+ ### Bug Fixes
9
+
10
+ * fix import of useSafeAreaInsets
11
+
12
+ ## [16.2.0](https://github.com/christophehurpeau/alouette/compare/alouette@16.1.1...alouette@16.2.0) (2025-11-05)
13
+
14
+ ### Features
15
+
16
+ * greatly improve PressableListItem
17
+
6
18
  ## [16.1.1](https://github.com/christophehurpeau/alouette/compare/alouette@16.1.0...alouette@16.1.1) (2025-11-04)
7
19
 
8
20
  Version bump for dependency: alouette-icons
@@ -234,10 +234,14 @@ export declare const fullscreen: {
234
234
  };
235
235
  export declare const interactive: (isInteractiveOrInteractiveCursorType: ViewStyle["cursor"] | boolean, { props }: VariantSpreadExtras<any>) => {
236
236
  readonly cursor: "not-allowed";
237
+ readonly transform?: undefined;
237
238
  readonly hoverStyle?: undefined;
238
239
  readonly pressStyle?: undefined;
239
240
  } | {
240
241
  readonly cursor: import("csstype").Property.Cursor;
242
+ readonly transform: readonly [{
243
+ readonly scale: 1;
244
+ }];
241
245
  readonly hoverStyle: {
242
246
  readonly transform: readonly [{
243
247
  readonly scale: 1.02;
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/containers/variants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAMhF,eAAO,MAAM,UAAU,GACrB,KAAK,UAAU,GAAG,OAAO,EACzB,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0ChC,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;CAnC5B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BhC,CAAE,IAAI,CAAC;;iBAAiD,CAAE,IAAI,CAAC;;iBAE9C,CAAE,IAAI,CAAC;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;CAX5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,OAAO,GAAG,aAAa,EAC5B,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;CAyBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAxBhC,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;CAyC5B,CAAC;AAOF,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM;;;CAE/B,CAAC;AAEF,eAAO,MAAM,QAAQ;yBACP,OAAO,qBAAqB;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE;;;;;;;;;;;;;CAgB3D,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;CAEb,CAAC;AAEX,eAAO,MAAM,WAAW,GACtB,sCAAsC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,EACnE,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;QAoBpC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../../src/components/containers/variants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAMhF,eAAO,MAAM,UAAU,GACrB,KAAK,UAAU,GAAG,OAAO,EACzB,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0ChC,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;CAnC5B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BhC,CAAE,IAAI,CAAC;;iBAAiD,CAAE,IAAI,CAAC;;iBAE9C,CAAE,IAAI,CAAC;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;iBAFxB,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;CAX5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,OAAO,GAAG,aAAa,EAC5B,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;CAyBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAxBhC,CAAE,IAAI,CAAC;;;iBAAiD,CAAE,IAAI,CAAC;;;iBAE9C,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;CAyC5B,CAAC;AAOF,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM;;;CAE/B,CAAC;AAEF,eAAO,MAAM,QAAQ;yBACP,OAAO,qBAAqB;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE;;;;;;;;;;;;;CAgB3D,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;CAEb,CAAC;AAEX,eAAO,MAAM,WAAW,GACtB,sCAAsC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,EACnE,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;QAuBpC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { PressableBoxProps } from "alouette";
2
+ import type { ReactNode } from "react";
3
+ export interface PressableListItemProps {
4
+ theme?: PressableBoxProps["theme"];
5
+ variant?: PressableBoxProps["variant"];
6
+ borderRadius?: PressableBoxProps["borderRadius"];
7
+ withBackground?: PressableBoxProps["withBackground"];
8
+ role?: PressableBoxProps["role"];
9
+ children: ReactNode;
10
+ onPress: () => void;
11
+ }
12
+ export declare function PressableListItem({ theme, variant, withBackground, borderRadius, role, children, onPress, }: PressableListItemProps): ReactNode;
13
+ //# sourceMappingURL=PressableListItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PressableListItem.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/PressableListItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AACD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,OAAO,EACP,cAAc,EACd,YAAY,EACZ,IAAe,EACf,QAAQ,EACR,OAAO,GACR,EAAE,sBAAsB,GAAG,SAAS,CAyBpC"}
@@ -1,5 +1,6 @@
1
1
  import type { StoryObj } from "@storybook/react-vite";
2
- import { PressableListItem } from "./list";
2
+ import { PressableListItem } from "./PressableListItem";
3
+ type ThisStory = StoryObj<typeof PressableListItem>;
3
4
  declare const _default: {
4
5
  title: string;
5
6
  component: typeof PressableListItem;
@@ -13,6 +14,6 @@ declare const _default: {
13
14
  };
14
15
  };
15
16
  export default _default;
16
- export declare const PreviewListStory: StoryObj<typeof PressableListItem>;
17
- export declare const Variants: StoryObj<typeof PressableListItem>;
18
- //# sourceMappingURL=list.stories.d.ts.map
17
+ export declare const PreviewListStory: ThisStory;
18
+ export declare const Variants: ThisStory;
19
+ //# sourceMappingURL=PressableListItem.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PressableListItem.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/PressableListItem.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,iBAAiB,CAAC,CAAC;;;;;;;;;;;;;AAEpD,wBA4C2C;AAE3C,eAAO,MAAM,gBAAgB,EAAE,SAM9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SA0HtB,CAAC"}
@@ -38,8 +38,8 @@ export type { GetProps, ThemeProps } from "@tamagui/core";
38
38
  export { Theme, styled, withStaticProperties } from "@tamagui/core";
39
39
  export type { SeparatorProps } from "./components/layout/Separator";
40
40
  export { Separator } from "./components/layout/Separator";
41
- export { PressableListItem } from "./components/layout/list";
42
- export type { PressableListItemProps } from "./components/layout/list";
41
+ export { PressableListItem } from "./components/layout/PressableListItem";
42
+ export type { PressableListItemProps } from "./components/layout/PressableListItem";
43
43
  export { GradientBackground } from "./components/layout/GradientBackground";
44
44
  export type { GradientBackgroundProps } from "./components/layout/GradientBackground";
45
45
  export * as containersVariants from "./components/containers/variants";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,24 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { isAndroid, styled, View, usePropsAndStyle, Text, isWeb, TamaguiProvider, useMedia, Stack as Stack$1, useTheme, Theme } from '@tamagui/core';
3
3
  export { Theme, View, styled, withStaticProperties } from '@tamagui/core';
4
- import { useSafeAreaInsets as useSafeAreaInsets$1 } from 'react-native-safe-area-context';
5
4
  import { cloneElement, Fragment, Children, createContext, useState, useEffect, useContext } from 'react';
6
5
  import { XRegularIcon } from 'alouette-icons/phosphor-icons/XRegularIcon';
7
6
  import { CheckRegularIcon } from 'alouette-icons/phosphor-icons/CheckRegularIcon';
8
7
  import { InfoRegularIcon } from 'alouette-icons/phosphor-icons/InfoRegularIcon';
9
8
  import { WarningCircleRegularIcon } from 'alouette-icons/phosphor-icons/WarningCircleRegularIcon';
10
9
  import { WarningRegularIcon } from 'alouette-icons/phosphor-icons/WarningRegularIcon';
11
- import { TextInput, ScrollView as ScrollView$1, Platform, useColorScheme, Pressable, StyleSheet } from 'react-native-web';
10
+ import { TextInput, ScrollView as ScrollView$1, Platform, useColorScheme, StyleSheet } from 'react-native-web';
12
11
  import '@tamagui/core/reset.css';
13
12
  import { CaretRightRegularIcon } from 'alouette-icons/phosphor-icons/CaretRightRegularIcon';
14
13
  import { LinearGradient } from 'expo-linear-gradient';
15
14
 
15
+ const useSafeAreaInsets = () => ({
16
+ top: 0,
17
+ bottom: 0,
18
+ left: 0,
19
+ right: 0
20
+ });
21
+
16
22
  const fullscreenStyle = {
17
23
  position: "absolute",
18
24
  top: 0,
@@ -140,6 +146,8 @@ const interactive = (isInteractiveOrInteractiveCursorType, { props }) => {
140
146
  }
141
147
  return {
142
148
  cursor: isInteractiveOrInteractiveCursorType === true ? "pointer" : isInteractiveOrInteractiveCursorType,
149
+ // fix to properly reset press/hover styles
150
+ transform: [{ scale: 1 }],
143
151
  hoverStyle: {
144
152
  transform: [{ scale: 1.02 }]
145
153
  },
@@ -174,7 +182,7 @@ const Box = styled(View, {
174
182
  animation: "fast"
175
183
  });
176
184
  const SafeAreaBox = Box.styleable((props) => {
177
- const insets = useSafeAreaInsets$1();
185
+ const insets = useSafeAreaInsets();
178
186
  return /* @__PURE__ */ jsx(
179
187
  Box,
180
188
  {
@@ -853,21 +861,40 @@ const Separator = styled(Stack$1, {
853
861
  });
854
862
 
855
863
  function PressableListItem({
864
+ theme,
865
+ variant,
866
+ withBackground,
867
+ borderRadius,
868
+ role = "button",
856
869
  children,
857
870
  onPress
858
871
  }) {
859
- return /* @__PURE__ */ jsx(Pressable, { onPress, children: /* @__PURE__ */ jsxs(
860
- HStack,
872
+ return /* @__PURE__ */ jsx(
873
+ PressableBox,
861
874
  {
862
- justifyContent: "space-between",
863
- paddingHorizontal: "$4",
864
- paddingVertical: "$3",
865
- children: [
866
- /* @__PURE__ */ jsx(View, { children }),
867
- /* @__PURE__ */ jsx(Stack, { justifyContent: "center", children: /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(CaretRightRegularIcon, {}), size: 20 }) })
868
- ]
875
+ theme,
876
+ variant,
877
+ withBackground,
878
+ borderRadius,
879
+ role,
880
+ marginHorizontal: "$4",
881
+ marginVertical: "$1",
882
+ onPress,
883
+ children: /* @__PURE__ */ jsxs(
884
+ HStack,
885
+ {
886
+ justifyContent: "space-between",
887
+ alignItems: "center",
888
+ paddingHorizontal: "$4",
889
+ paddingVertical: "$4",
890
+ children: [
891
+ /* @__PURE__ */ jsx(View, { flex: 1, children }),
892
+ /* @__PURE__ */ jsx(VStack, { justifyContent: "center", children: /* @__PURE__ */ jsx(Icon, { accent: true, icon: /* @__PURE__ */ jsx(CaretRightRegularIcon, {}), size: 18 }) })
893
+ ]
894
+ }
895
+ )
869
896
  }
870
- ) });
897
+ );
871
898
  }
872
899
 
873
900
  function GradientBackground({
@@ -893,12 +920,5 @@ function GradientBackground({
893
920
  ) });
894
921
  }
895
922
 
896
- const useSafeAreaInsets = () => ({
897
- top: 0,
898
- bottom: 0,
899
- left: 0,
900
- right: 0
901
- });
902
-
903
923
  export { AlouetteDecorator, AlouetteProvider, Box, Button, ExternalLinkButton, GradientBackground, HStack, Icon, IconButton, InputText, InternalLinkButton, Message, PressableBox, PressableListItem, SafeAreaBox, SafeAreaProvider, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, TextArea, Typography, TypographyParagraph, VStack, WithTamaguiConfig, variants$1 as containersVariants, useCurrentBreakpointName, useDefaultThemeFromColorScheme, useSafeAreaInsets };
904
924
  //# sourceMappingURL=index-browser.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser.es.js","sources":["../src/components/primitives/createVariants.ts","../src/components/containers/variants.ts","../src/components/containers/Box.tsx","../src/components/containers/PressableBox.tsx","../src/components/primitives/Icon.tsx","../src/components/actions/IconButton.tsx","../src/components/primitives/stacks.ts","../src/components/typography/Typography.tsx","../src/components/actions/Button.tsx","../src/components/feedback/FeedbackIcon.tsx","../src/components/feedback/Message.tsx","../src/components/forms/InputText.tsx","../src/components/primitives/ScrollView.ts","../src/components/story-components/StoryTitle.tsx","../src/components/story-components/Story.tsx","../src/components/story-components/StoryContainer.tsx","../src/components/story-components/StoryDecorator.tsx","../src/components/story-components/StoryGrid.tsx","../src/core/AlouetteProvider.tsx","../src/core/SafeAreaProvider.web.ts","../src/core/AlouetteDecorator.tsx","../src/components/story-components/WithTamaguiConfig.tsx","../src/config/Breakpoints.ts","../src/components/windowSize/useCurrentBreakpointName.ts","../src/components/windowSize/SwitchBreakpoints.tsx","../src/components/layout/Separator.tsx","../src/components/layout/list.tsx","../src/components/layout/GradientBackground.tsx","../src/core/useSafeAreaInsets.web.ts"],"sourcesContent":["import type { VariantSpreadExtras } from \"@tamagui/core\";\n\nexport const fullscreenStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n\nexport type InternalPseudoState = \"focus\" | \"hover\" | \"press\";\n\nexport const getInteractionStyles = (\n name: \"backgroundColor\" | \"borderColor\" | \"outlineColor\" | \"shadowColor\",\n { disabled, interactive, variant }: VariantSpreadExtras<any>[\"props\"],\n) => {\n const isGhost = variant?.startsWith(\"ghost-\");\n const prefix =\n interactive === \"text\"\n ? \"interactive.forms\"\n : // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `interactive.${(isGhost ? variant.slice(6) : variant) || \"contained\"}`;\n\n if (disabled) {\n return { [name]: `$${prefix}.${name}:disabled` } as const;\n }\n\n if (name === \"shadowColor\") {\n // no need to add :hover, :focus, :press, and causes issues because all of the box-shadow is set and resets width etc\n return { [name]: `$${prefix}.${name}` } as const;\n }\n\n if (name === \"outlineColor\") {\n return {\n focusVisibleStyle: {\n outlineWidth: 2,\n outlineStyle: \"solid\",\n outlineOffset: 2,\n outlineColor: `$${prefix}.${name}:focus`,\n },\n } as const;\n }\n\n return {\n [name]: isGhost ? \"transparent\" : `$${prefix}.${name}`,\n hoverStyle: { [name]: `$${prefix}.${name}:hover` },\n pressStyle: { [name]: `$${prefix}.${name}:press` },\n focusStyle: { [name]: `$${prefix}.${name}:focus` },\n } as const;\n};\n","import { isAndroid } from \"@tamagui/core\";\nimport type { SizeTokens, VariantSpreadExtras, ViewStyle } from \"@tamagui/core\";\nimport {\n fullscreenStyle,\n getInteractionStyles,\n} from \"../primitives/createVariants\";\n\nexport const withBorder = (\n val: SizeTokens | boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n return {\n borderWidth: typeof val !== \"boolean\" ? val : 1,\n\n ...(props.interactive\n ? getInteractionStyles(\"borderColor\", props)\n : { borderColor: \"$borderColor\" }),\n } as const;\n};\n\nexport const withBackground = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n if (!props.role && !props.outlineStyle && props.interactive) {\n throw new Error(\"A role prop is required while using interactive\");\n }\n\n return {\n ...(props.interactive\n ? {\n ...getInteractionStyles(\"backgroundColor\", props),\n ...getInteractionStyles(\"outlineColor\", props),\n }\n : {\n backgroundColor: props.withElevation\n ? \"$nonInteractiveBackgroundColor.elevated\"\n : \"$nonInteractiveBackgroundColor\",\n }),\n } as const;\n};\n\nexport const withScreenBackground = (\n val: boolean | \"translucent\",\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n if (val === \"translucent\") {\n if (process.env.NODE_ENV !== \"production\" && props.withElevation) {\n throw new Error(\n \"Cannot use withElevation and translucent screen background together\",\n );\n }\n return {\n backgroundColor: \"$screenBackgroundColor.translucent\",\n backdropFilter: \"blur(14px)\",\n } as const;\n }\n\n if (props.withElevation) {\n return {\n backgroundColor: \"$screenBackgroundColor.elevated\",\n } as const;\n }\n\n return {\n backgroundColor: \"$screenBackgroundColor\",\n } as const;\n};\n\nexport const withElevation = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n const height = 2;\n\n return {\n ...(props.disabled\n ? {}\n : {\n shadowOffset: { width: 0, height },\n shadowOpacity: 0.65,\n shadowRadius: 6,\n ...(isAndroid ? { elevationAndroid: height * 2 } : undefined),\n }),\n ...(props.interactive\n ? getInteractionStyles(\"shadowColor\", props)\n : { shadowColor: \"$shadowColor\" }),\n } as const;\n};\n\nconst circularStyle = {\n borderRadius: 100_000,\n padding: 0,\n};\n\nexport const size = (val: number) => {\n return { width: val, height: val } as const;\n};\n\nexport const circular = {\n true: (val: boolean, { props, tokens }: { props: any; tokens: any }) => {\n if (!(\"size\" in props)) {\n return circularStyle;\n }\n const sizePropValue: keyof typeof tokens.size = props.size;\n const sizeValue = tokens.size[sizePropValue];\n return {\n ...circularStyle,\n width: sizeValue,\n height: sizeValue,\n maxWidth: sizeValue,\n maxHeight: sizeValue,\n minWidth: sizeValue,\n minHeight: sizeValue,\n };\n },\n} as const;\n\nexport const fullscreen = {\n true: fullscreenStyle,\n} as const;\n\nexport const interactive = (\n isInteractiveOrInteractiveCursorType: ViewStyle[\"cursor\"] | boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!isInteractiveOrInteractiveCursorType) return null;\n if (props.disabled) {\n return { cursor: \"not-allowed\" } as const;\n }\n return {\n cursor:\n isInteractiveOrInteractiveCursorType === true\n ? \"pointer\"\n : isInteractiveOrInteractiveCursorType,\n\n hoverStyle: {\n transform: [{ scale: 1.02 }],\n },\n\n pressStyle: {\n transform: [{ scale: 0.98 }],\n },\n } as const;\n};\n\nexport const centered = {\n true: {\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n} as const;\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\nimport * as variants from \"./variants\";\n\n/** View with alouette variants */\nexport const Box = styled(View, {\n name: \"Box\",\n variants,\n animation: \"fast\",\n} as const);\n\nexport type BoxProps = GetProps<typeof Box>;\n\nexport const SafeAreaBox = Box.styleable<{\n padding?: never;\n paddingTop?: never;\n paddingBottom?: never;\n paddingLeft?: never;\n paddingRight?: never;\n}>((props) => {\n const insets = useSafeAreaInsets();\n return (\n <Box\n {...props}\n paddingTop={insets.top}\n paddingBottom={insets.bottom}\n paddingLeft={insets.left}\n paddingRight={insets.right}\n />\n );\n});\n\nexport type SafeAreaBoxProps = GetProps<typeof SafeAreaBox>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Box } from \"./Box\";\n\nexport const PressableBox = styled(Box, {\n interactive: true,\n\n variants: {\n variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: 2,\n },\n elevated: {\n withBackground: true,\n withElevation: true,\n withBorder: true,\n borderColor: \"$contrastBorderColor\",\n },\n \"ghost-contained\": {\n withBackground: true,\n },\n \"ghost-outlined\": {\n withBorder: 2,\n withBackground: true,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n },\n} as const);\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens, Variable } from \"@tamagui/core\";\nimport { Text, usePropsAndStyle } from \"@tamagui/core\";\nimport { cloneElement } from \"react\";\nimport type { ReactElement, ReactNode, SVGProps } from \"react\";\nimport type { OpaqueColorValue } from \"react-native\";\n\nexport type SVGIconElement = ReactElement<SVGProps<SVGSVGElement>>;\n\nexport interface IconProps {\n icon: SVGIconElement;\n disabled?: boolean;\n accent?: boolean;\n color?: ColorTokens | OpaqueColorValue | Variable<any> | undefined;\n size?: number;\n}\n\nconst getDefaultColor = (disabled?: boolean, accent?: boolean) => {\n if (disabled) return \"$textColor:disabled\";\n if (accent) return \"$accentTextColor\";\n return \"$textColor\";\n};\n\nexport function Icon({\n icon,\n size = 20,\n disabled,\n accent,\n color = getDefaultColor(disabled, accent),\n}: IconProps): ReactNode {\n const [props, style] = usePropsAndStyle(\n { color, width: size, height: size },\n { forComponent: Text },\n );\n return cloneElement(icon, { style, ...props } as any);\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { PressableBox } from \"../containers/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\n\nconst IconButtonFrame = styled(PressableBox, {\n name: \"IconButtonFrame\",\n role: \"button\",\n centered: true,\n borderRadius: 10_000,\n\n variants: {\n variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: 1,\n },\n elevated: {\n withBackground: true,\n withElevation: true,\n withBorder: 1,\n },\n \"ghost-contained\": {\n withBackground: true,\n },\n \"ghost-outlined\": {\n withBackground: true,\n withBorder: 1,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n },\n});\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps extends IconButtonFrameProps {\n icon: NonNullable<SVGIconElement>;\n}\n\nexport function IconButton({\n icon,\n disabled,\n size = 40,\n variant = \"contained\",\n ...pressableProps\n}: IconButtonProps): ReactNode {\n return (\n <IconButtonFrame\n size={size}\n variant={variant}\n disabled={disabled}\n {...pressableProps}\n >\n <Icon size={size / 2} disabled={disabled} icon={icon} />\n </IconButtonFrame>\n );\n}\n","import { View, styled } from \"@tamagui/core\";\nimport type { GetProps } from \"@tamagui/core\";\nimport { fullscreenStyle } from \"./createVariants\";\n\nconst variants = {\n fullscreen: {\n true: fullscreenStyle,\n },\n} as const;\n\nexport const Stack = styled(View, {\n name: \"Stack\",\n variants: {\n ...variants,\n type: {\n h: { flexDirection: \"row\" },\n v: { flexDirection: \"column\" },\n },\n } as const,\n});\n\nexport type StackProps = GetProps<typeof Stack>;\n\nexport const HStack = styled(View, {\n name: \"HStack\",\n flexDirection: \"row\",\n variants,\n});\n\nexport type HStackProps = GetProps<typeof HStack>;\n\nexport const VStack = styled(View, {\n name: \"VStack\",\n flexDirection: \"column\",\n});\n\nexport type VStackProps = GetProps<typeof VStack>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { Text, styled } from \"@tamagui/core\";\n\nexport const Typography = styled(Text, {\n name: \"Typography\",\n fontFamily: \"$body\",\n color: \"$textColor\",\n\n variants: {\n inherit: {\n false: {\n size: \"$md\",\n weight: \"$regular\",\n family: \"$body\",\n },\n },\n size: {\n \"...fontSize\": (size) => ({\n fontSize: size,\n lineHeight: size,\n }),\n },\n weight: {\n $regular: { fontWeight: \"$regular\" },\n $bold: { fontWeight: \"$bold\" },\n $extraBold: { fontWeight: \"$extraBold\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n $monospace: { fontFamily: \"$monospace\" },\n },\n accent: {\n true: {\n color: \"$accentTextColor\",\n },\n },\n disabled: {\n true: {\n color: \"$textColor:disabled\",\n },\n },\n },\n\n defaultVariants: {\n inherit: false,\n // contrast: false,\n },\n} as const);\n\nexport type TypographyProps = GetProps<typeof Typography>;\n\nexport const TypographyParagraph = styled(Typography, {\n name: \"TypographyParagraph\",\n tag: \"p\",\n userSelect: \"auto\",\n family: \"$body\",\n} as const);\n\nexport type TypographyParagraphProps = GetProps<typeof TypographyParagraph>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../containers/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\nimport { HStack } from \"../primitives/stacks\";\nimport { Typography } from \"../typography/Typography\";\n\nconst ButtonFrame = styled(PressableBox, {\n name: \"ButtonFrame\",\n role: \"button\",\n centered: true,\n minHeight: 42,\n\n variants: {\n size: {\n sm: {\n paddingHorizontal: \"$sm\",\n borderRadius: \"$3\",\n minHeight: 32,\n },\n md: {\n paddingHorizontal: \"$md\",\n borderRadius: \"$sm\",\n minHeight: 42,\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<SVGIconElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nexport function Button({\n icon,\n text,\n disabled,\n variant = \"contained\",\n size = \"md\",\n ...pressableProps\n}: ButtonProps): ReactNode {\n return (\n <ButtonFrame\n disabled={disabled}\n variant={variant}\n size={size}\n {...pressableProps}\n >\n <HStack gap=\"$xs\" alignItems=\"center\">\n {icon && (\n <Icon\n disabled={disabled}\n icon={icon}\n size={size === \"sm\" ? 16 : 20}\n />\n )}\n <Typography\n size={size === \"sm\" ? \"$sm\" : \"$md\"}\n weight=\"$bold\"\n paddingVertical={size === \"sm\" ? \"$1\" : \"$xs\"}\n disabled={disabled}\n >\n {text}\n </Typography>\n </HStack>\n </ButtonFrame>\n );\n}\n\nexport function ExternalLinkButton(\n props: Except<ButtonProps, \"href\" | \"role\" | \"tag\"> & { href: string },\n): ReactNode {\n return (\n <Button\n {...props}\n tag=\"a\"\n role=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ textDecorationLine: \"none\" }}\n />\n );\n}\n\nexport function InternalLinkButton(\n props: Except<ButtonProps, \"href\" | \"role\" | \"tag\"> & { href: string },\n): ReactNode {\n return <Button {...props} tag=\"a\" role=\"link\" />;\n}\n","import { CheckRegularIcon } from \"alouette-icons/phosphor-icons/CheckRegularIcon\";\nimport { InfoRegularIcon } from \"alouette-icons/phosphor-icons/InfoRegularIcon\";\nimport { WarningCircleRegularIcon } from \"alouette-icons/phosphor-icons/WarningCircleRegularIcon\";\nimport { WarningRegularIcon } from \"alouette-icons/phosphor-icons/WarningRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { Icon } from \"../primitives/Icon\";\nimport type { MessageProps } from \"./Message\";\n\ninterface FeedbackIconProps {\n type: MessageProps[\"theme\"];\n}\n\nexport function FeedbackIcon({ type }: FeedbackIconProps): ReactNode {\n switch (type) {\n case \"warning\":\n return <Icon icon={<WarningCircleRegularIcon />} />;\n case \"success\":\n return <Icon icon={<CheckRegularIcon />} />;\n case \"danger\":\n return <Icon icon={<WarningRegularIcon />} />;\n default:\n return <Icon icon={<InfoRegularIcon />} />;\n }\n}\n","import { View, styled } from \"@tamagui/core\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons/XRegularIcon\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { IconButton } from \"../actions/IconButton\";\nimport { Box } from \"../containers/Box\";\nimport { Typography } from \"../typography/Typography\";\nimport { FeedbackIcon } from \"./FeedbackIcon\";\n\nexport const MessageFrame = styled(Box, {\n name: \"MessageFrame\",\n alignItems: \"center\",\n withBackground: true,\n borderRadius: \"$md\",\n paddingHorizontal: \"$4\",\n flexDirection: \"row\",\n gap: \"$4\",\n} as const);\n\nexport const MessageText = styled(Typography, {\n name: \"MessageText\",\n // contrast: true,\n size: \"$md\",\n flexGrow: 1,\n paddingVertical: \"$4\",\n variants: {\n centered: {\n true: {\n textAlign: \"center\",\n paddingHorizontal: \"$4\",\n },\n },\n },\n} as const);\n\nconst MessageIconContainer = styled(View, {\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n marginRight: \"$2\",\n});\n\nexport interface MessageProps {\n theme: NonNullable<ComponentProps<typeof MessageFrame>[\"theme\"]>;\n children?: ReactNode;\n textCentered?: boolean;\n onDismiss?: () => void;\n}\n\nexport function Message({\n theme,\n textCentered,\n children,\n onDismiss,\n}: MessageProps): ReactNode {\n return (\n <MessageFrame theme={theme}>\n {textCentered ? null : (\n <MessageIconContainer>\n <FeedbackIcon type={theme} />\n </MessageIconContainer>\n )}\n <MessageText centered={textCentered}>{children}</MessageText>\n {onDismiss ? (\n <MessageDismissButtonContainer>\n <IconButton\n icon={<XRegularIcon />}\n size={40}\n variant=\"ghost-contained\"\n />\n </MessageDismissButtonContainer>\n ) : null}\n </MessageFrame>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { TextInput } from \"react-native\";\nimport * as variants from \"../containers/variants\";\n\nconst StyledInputText = styled(\n TextInput,\n {\n variants,\n\n padding: \"$xs\",\n borderRadius: \"$sm\",\n\n color: \"$interactive.forms.textColor\",\n // currently not working in web unless we use tamagui Input\n // placeholderTextColor: \"$interactive.forms.placeholderTextColor\",\n\n // @ts-expect-error missing prop due to isInput but in does exist in variants\n withBorder: true,\n withBackground: true,\n\n borderWidth: 1,\n\n // reset browser style\n outlineStyle: \"none\",\n },\n { isInput: true },\n);\n\nexport const InputText = styled(StyledInputText, {\n name: \"InputText\",\n interactive: \"text\",\n theme: \"primary\",\n // animation: \"formElement\", // remove all style ?\n});\n\nexport type InputTextProps = GetProps<typeof InputText>;\n\nexport const TextArea = styled(InputText, {\n multiline: true,\n});\n\nexport type TextAreaProps = GetProps<typeof TextArea>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { ScrollView as ScrollViewNative } from \"react-native\";\nimport { fullscreenStyle } from \"./createVariants\";\n\nexport const ScrollView = styled(\n ScrollViewNative,\n {\n name: \"ScrollView\",\n scrollEnabled: true,\n\n variants: {\n fullscreen: {\n true: fullscreenStyle,\n },\n },\n } as const,\n {\n accept: {\n contentContainerStyle: \"style\",\n },\n } as const,\n);\n\nexport type ScrollView = Pick<ScrollViewNative, \"scrollTo\">;\n\nexport type ScrollViewProps = GetProps<typeof ScrollView>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Typography } from \"../typography/Typography\";\n\nexport const StoryTitle = styled(Typography, {\n family: \"$heading\",\n weight: \"$extraBold\",\n variants: {\n level: {\n 1: { size: \"$xl\", marginBottom: \"$8\" },\n 2: { size: \"$lg\", marginBottom: \"$8\" },\n 3: { size: \"$md\", marginBottom: \"$3\" },\n 4: { size: \"$sm\", marginBottom: \"$3\" },\n },\n } as const,\n\n defaultVariants: {\n level: 1,\n },\n} as const);\n\nexport type StoryTitleProps = GetProps<typeof StoryTitle>;\n","import { isWeb, styled } from \"@tamagui/core\";\nimport { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { VStack } from \"../primitives/stacks\";\nimport type { VStackProps } from \"../primitives/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nconst InternalStorySection = styled(VStack, {\n marginBottom: \"$8\",\n paddingHorizontal: \"$4\",\n marginHorizontal: \"$-4\",\n variants: {\n withBackground: {\n true: {\n backgroundColor: \"$backgroundColor\",\n },\n },\n } as const,\n});\n\nexport type StorySectionProps = Except<VStackProps, \"marginBottom\"> & {\n title: ReactNode;\n children: ReactNode;\n level?: 1 | 2;\n withBackground?: boolean;\n};\n\nfunction StorySection({\n title,\n children,\n level = 1,\n withBackground,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection withBackground={withBackground} {...props}>\n <StoryTitle level={(level + 1) as 2 | 3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nfunction SubSection({\n title,\n children,\n\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection marginBottom=\"$4\" {...props}>\n <StoryTitle level={3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nconst ScrollViewNative = isWeb ? Fragment : ScrollView;\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n noDarkTheme?: boolean;\n}\n\nexport function Story({\n documentation,\n children,\n noDarkTheme,\n}: StoryProps): ReactNode {\n return (\n <ScrollViewNative>\n {documentation && (\n <Box\n withBorder=\"$2\"\n borderRadius=\"$md\"\n padding=\"$md\"\n theme=\"primary\"\n marginBottom=\"$12\"\n >\n {documentation}\n </Box>\n )}\n {[\"light\", ...(noDarkTheme ? [] : [\"dark\"])].map((theme) => (\n <Box key={theme} withScreenBackground theme={theme} padding=\"$md\">\n {children}\n </Box>\n ))}\n </ScrollViewNative>\n );\n}\n\nStory.Section = StorySection;\nStory.SubSection = SubSection;\n","import type { ReactNode } from \"react\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryContainerProps {\n title: ReactNode;\n children: NonNullable<ReactNode>;\n}\n\nexport function StoryContainer({\n title,\n children,\n}: StoryContainerProps): ReactNode {\n return (\n <ScrollView theme=\"light\" backgroundColor=\"#fff\" padding=\"$4\">\n <StoryTitle level={1}>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { Decorator } from \"@storybook/react-vite\";\nimport { StoryContainer } from \"./StoryContainer\";\n\n// eslint-disable-next-line react/function-component-definition -- not a component, it's a decorator for storybook.\nexport const StoryDecorator: Decorator = (storyFn, { name, container }) => {\n if (container === false) return storyFn();\n return <StoryContainer title={name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactNode } from \"react\";\nimport { Children } from \"react\";\nimport { Platform } from \"react-native\";\nimport { View } from \"../primitives/View\";\nimport { VStack } from \"../primitives/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: \"medium\" | \"small\";\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({\n children,\n breakpoint = \"small\",\n flexWrap,\n}: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection=\"column\"\n {...{\n [`$${breakpoint}`]: {\n flexDirection: \"row\",\n marginVertical: \"$-1\",\n marginBottom: \"$4\",\n flexWrap: flexWrap ? \"wrap\" : undefined,\n gap: flexWrap ? \"$xs\" : undefined,\n },\n }}\n >\n {Children.map(children, (child) => (\n <View\n paddingTop=\"$2\"\n paddingBottom=\"$4\"\n {...{\n [`$${breakpoint}`]: {\n flexGrow: 1,\n flexBasis: flexWrap ? undefined : 0,\n paddingTop: 0,\n paddingBottom: 0,\n marginVertical: \"$2\",\n },\n }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n platform?: \"all\" | \"native\" | \"web\";\n}\n\nfunction StoryGridCol({\n title,\n children,\n platform = \"all\",\n}: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === \"ios\" || Platform.OS === \"android\";\n\n if (Platform.OS === \"web\" && platform === \"native\") {\n return null;\n }\n\n if (isNative && platform === \"web\") {\n return null;\n }\n\n return title ? (\n <VStack>\n <StoryTitle level={4} numberOfLines={1}>\n {title}\n </StoryTitle>\n {children}\n </VStack>\n ) : (\n children\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport \"./reset\";\n\nexport interface AlouetteProviderProps\n extends Pick<TamaguiProviderProps, \"disableInjectCSS\"> {\n children: ReactNode;\n tamaguiConfig: NonNullable<TamaguiProviderProps[\"config\"]>;\n defaultTheme?: \"dark\" | \"light\";\n}\n\nexport const useDefaultThemeFromColorScheme = () => {\n const colorScheme = useColorScheme();\n return colorScheme || \"light\";\n};\n\nexport function AlouetteProvider({\n children,\n tamaguiConfig,\n defaultTheme = \"light\",\n disableInjectCSS,\n}: AlouetteProviderProps): ReactNode {\n return (\n <TamaguiProvider\n config={tamaguiConfig}\n defaultTheme={defaultTheme}\n disableInjectCSS={disableInjectCSS}\n >\n {children}\n </TamaguiProvider>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function SafeAreaProvider({ children }: { children: ReactNode }) {\n return children;\n}\n","/* eslint-disable react/destructuring-assignment */\nimport type { Decorator } from \"@storybook/react-vite\";\nimport type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { createContext, useEffect, useState } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { AlouetteProvider } from \"./AlouetteProvider\";\nimport { SafeAreaProvider } from \"./SafeAreaProvider\";\n\nexport const AlouetteTamaguiConfigContext = createContext<\n TamaguiProviderProps[\"config\"] | null\n>(null);\n\n// eslint-disable-next-line react/function-component-definition -- not a component\nexport const AlouetteDecorator: Decorator = (storyFn, context) => {\n const systemColorScheme = useColorScheme();\n const [theme, setTheme] = useState(systemColorScheme || \"light\");\n\n useEffect(() => {\n const backgroundColor = context.globals.backgrounds?.value;\n if (backgroundColor === \"#000000\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"light\");\n }\n }, [context.globals.backgrounds?.value]);\n\n return (\n <SafeAreaProvider>\n <AlouetteProvider\n tamaguiConfig={context.parameters.tamaguiConfig}\n defaultTheme={theme}\n >\n <AlouetteTamaguiConfigContext.Provider\n value={context.parameters.tamaguiConfig}\n >\n {storyFn(context)}\n </AlouetteTamaguiConfigContext.Provider>\n </AlouetteProvider>\n </SafeAreaProvider>\n );\n};\n","import { useContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { AlouetteTamaguiConfigContext } from \"../../core/AlouetteDecorator\";\nimport type { AlouetteProviderProps } from \"../../core/AlouetteProvider\";\n\nexport interface WithTamaguiConfigProps {\n render: (\n config: AlouetteProviderProps[\"tamaguiConfig\"],\n ) => NonNullable<ReactNode>;\n}\n\nexport function WithTamaguiConfig({\n render,\n}: WithTamaguiConfigProps): ReactNode {\n const config = useContext(AlouetteTamaguiConfigContext);\n if (!config) {\n throw new Error(\n \"No config found, check that AlouetteDecorator is used in the story\",\n );\n }\n return render(config);\n}\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { useMedia } from \"@tamagui/core\";\nimport type { BreakpointNames } from \"../../config/Breakpoints\";\nimport { BreakpointNameEnum } from \"../../config/Breakpoints\";\n\nexport function useCurrentBreakpointName(): BreakpointNameEnum {\n const media = useMedia();\n\n if (media.wide) return BreakpointNameEnum.WIDE;\n if (media.large) return BreakpointNameEnum.LARGE;\n if (media.medium) return BreakpointNameEnum.MEDIUM;\n if (media.small) return BreakpointNameEnum.SMALL;\n return BreakpointNameEnum.BASE;\n}\n\nexport function useCurrentBreakpointNameFiltered<\n Names extends BreakpointNames[],\n>(names: Names): Names[number] {\n const media = useMedia();\n\n if (names.includes(BreakpointNameEnum.WIDE) && media.wide) {\n return BreakpointNameEnum.WIDE;\n }\n if (names.includes(BreakpointNameEnum.LARGE) && media.large) {\n return BreakpointNameEnum.LARGE;\n }\n if (names.includes(BreakpointNameEnum.MEDIUM) && media.medium) {\n return BreakpointNameEnum.MEDIUM;\n }\n if (names.includes(BreakpointNameEnum.SMALL) && media.small) {\n return BreakpointNameEnum.SMALL;\n }\n return BreakpointNameEnum.BASE;\n}\n","import type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport type { BreakpointNames } from \"../../config/Breakpoints\";\nimport { View } from \"../primitives/View\";\nimport { useCurrentBreakpointNameFiltered } from \"./useCurrentBreakpointName\";\n\ntype SwitchBreakpointsProps = SetRequired<\n Partial<Record<BreakpointNames, ReactNode>>,\n \"base\"\n> & { children?: never };\n\n/**\n * Display based on current breakpoint\n *\n * This mode is SSR friendly\n */\nexport function SwitchBreakpointsUsingDisplayNone({\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const entries = Object.entries(breakpoints);\n\n return entries.map(([name, node], index) => {\n return (\n <View\n key={name}\n display={name === \"base\" ? \"flex\" : \"none\"}\n {...(name === \"base\"\n ? undefined\n : { display: \"none\", [`$${name}`]: { display: \"flex\" } })}\n {...(index + 1 in entries\n ? { [`$${entries[index + 1]![0]}`]: { display: \"none\" } }\n : undefined)}\n >\n {node}\n </View>\n );\n });\n}\n\n/**\n * Display based on current breakpoint\n *\n * This mode is not SSR friendly\n */\nexport function SwitchBreakpointsUsingNull({\n children,\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const currentBreakpointName = useCurrentBreakpointNameFiltered(\n Object.keys(breakpoints) as (keyof typeof breakpoints)[],\n );\n\n return breakpoints[currentBreakpointName] ?? null;\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { Stack, styled } from \"@tamagui/core\";\n\nexport const Separator = styled(Stack, {\n name: \"Separator\",\n flexGrow: 1,\n flexShrink: 0,\n height: 0,\n maxHeight: 0,\n borderColor: \"$borderColor\",\n borderWidth: 0,\n borderBottomWidth: 1,\n y: -0.5,\n\n variants: {\n vertical: {\n true: {\n height: \"auto\",\n maxHeight: \"auto\",\n width: 0,\n maxWidth: 0,\n borderBottomWidth: 0,\n borderRightWidth: 1,\n y: 0,\n x: -0.5,\n },\n },\n } as const,\n} as const);\n\nexport type SeparatorProps = GetProps<typeof Separator>;\n","import { CaretRightRegularIcon } from \"alouette-icons/phosphor-icons/CaretRightRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { Pressable } from \"react-native\";\nimport { Icon } from \"../primitives/Icon\";\nimport { View } from \"../primitives/View\";\nimport { HStack, Stack } from \"../primitives/stacks\";\n\nexport interface PressableListItemProps {\n children: ReactNode;\n onPress: () => void;\n}\nexport function PressableListItem({\n children,\n onPress,\n}: PressableListItemProps): ReactNode {\n return (\n <Pressable onPress={onPress}>\n <HStack\n justifyContent=\"space-between\"\n paddingHorizontal=\"$4\"\n paddingVertical=\"$3\"\n >\n <View>{children}</View>\n <Stack justifyContent=\"center\">\n <Icon icon={<CaretRightRegularIcon />} size={20} />\n </Stack>\n </HStack>\n </Pressable>\n );\n}\n","import type { ThemeName } from \"@tamagui/core\";\nimport { Theme, useTheme } from \"@tamagui/core\";\nimport { LinearGradient } from \"expo-linear-gradient\";\nimport type { ReactNode } from \"react\";\nimport { StyleSheet } from \"react-native\";\n\nexport interface GradientBackgroundProps {\n theme?: ThemeName;\n children?: ReactNode;\n}\n\nexport function GradientBackground({\n theme: themeName,\n children,\n}: GradientBackgroundProps) {\n const theme = useTheme({ name: themeName });\n\n const colors = [\n theme[\"gradientColor:start\"]?.get(\"web\"),\n theme[\"gradientColor:middle\"]?.get(\"web\"),\n theme[\"gradientColor:end\"]?.get(\"web\"),\n ] as [string, string, string];\n\n return (\n <Theme name={themeName}>\n <LinearGradient\n colors={colors}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 1 }}\n locations={[0.2, 0.7, 1]}\n style={StyleSheet.absoluteFill}\n >\n {children}\n </LinearGradient>\n </Theme>\n );\n}\n","import type { useSafeAreaInsets as useSafeAreaInsetsImpl } from \"react-native-safe-area-context\";\n\nexport const useSafeAreaInsets: typeof useSafeAreaInsetsImpl = () => ({\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n});\n"],"names":["variants","useSafeAreaInsets","ScrollViewNative","BreakpointNameEnum","Stack"],"mappings":"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"}
1
+ {"version":3,"file":"index-browser.es.js","sources":["../src/core/useSafeAreaInsets.web.ts","../src/components/primitives/createVariants.ts","../src/components/containers/variants.ts","../src/components/containers/Box.tsx","../src/components/containers/PressableBox.tsx","../src/components/primitives/Icon.tsx","../src/components/actions/IconButton.tsx","../src/components/primitives/stacks.ts","../src/components/typography/Typography.tsx","../src/components/actions/Button.tsx","../src/components/feedback/FeedbackIcon.tsx","../src/components/feedback/Message.tsx","../src/components/forms/InputText.tsx","../src/components/primitives/ScrollView.ts","../src/components/story-components/StoryTitle.tsx","../src/components/story-components/Story.tsx","../src/components/story-components/StoryContainer.tsx","../src/components/story-components/StoryDecorator.tsx","../src/components/story-components/StoryGrid.tsx","../src/core/AlouetteProvider.tsx","../src/core/SafeAreaProvider.web.ts","../src/core/AlouetteDecorator.tsx","../src/components/story-components/WithTamaguiConfig.tsx","../src/config/Breakpoints.ts","../src/components/windowSize/useCurrentBreakpointName.ts","../src/components/windowSize/SwitchBreakpoints.tsx","../src/components/layout/Separator.tsx","../src/components/layout/PressableListItem.tsx","../src/components/layout/GradientBackground.tsx"],"sourcesContent":["import type { useSafeAreaInsets as useSafeAreaInsetsImpl } from \"react-native-safe-area-context\";\n\nexport const useSafeAreaInsets: typeof useSafeAreaInsetsImpl = () => ({\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n});\n","import type { VariantSpreadExtras } from \"@tamagui/core\";\n\nexport const fullscreenStyle = {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n} as const;\n\nexport type InternalPseudoState = \"focus\" | \"hover\" | \"press\";\n\nexport const getInteractionStyles = (\n name: \"backgroundColor\" | \"borderColor\" | \"outlineColor\" | \"shadowColor\",\n { disabled, interactive, variant }: VariantSpreadExtras<any>[\"props\"],\n) => {\n const isGhost = variant?.startsWith(\"ghost-\");\n const prefix =\n interactive === \"text\"\n ? \"interactive.forms\"\n : // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `interactive.${(isGhost ? variant.slice(6) : variant) || \"contained\"}`;\n\n if (disabled) {\n return { [name]: `$${prefix}.${name}:disabled` } as const;\n }\n\n if (name === \"shadowColor\") {\n // no need to add :hover, :focus, :press, and causes issues because all of the box-shadow is set and resets width etc\n return { [name]: `$${prefix}.${name}` } as const;\n }\n\n if (name === \"outlineColor\") {\n return {\n focusVisibleStyle: {\n outlineWidth: 2,\n outlineStyle: \"solid\",\n outlineOffset: 2,\n outlineColor: `$${prefix}.${name}:focus`,\n },\n } as const;\n }\n\n return {\n [name]: isGhost ? \"transparent\" : `$${prefix}.${name}`,\n hoverStyle: { [name]: `$${prefix}.${name}:hover` },\n pressStyle: { [name]: `$${prefix}.${name}:press` },\n focusStyle: { [name]: `$${prefix}.${name}:focus` },\n } as const;\n};\n","import { isAndroid } from \"@tamagui/core\";\nimport type { SizeTokens, VariantSpreadExtras, ViewStyle } from \"@tamagui/core\";\nimport {\n fullscreenStyle,\n getInteractionStyles,\n} from \"../primitives/createVariants\";\n\nexport const withBorder = (\n val: SizeTokens | boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n return {\n borderWidth: typeof val !== \"boolean\" ? val : 1,\n\n ...(props.interactive\n ? getInteractionStyles(\"borderColor\", props)\n : { borderColor: \"$borderColor\" }),\n } as const;\n};\n\nexport const withBackground = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n if (!props.role && !props.outlineStyle && props.interactive) {\n throw new Error(\"A role prop is required while using interactive\");\n }\n\n return {\n ...(props.interactive\n ? {\n ...getInteractionStyles(\"backgroundColor\", props),\n ...getInteractionStyles(\"outlineColor\", props),\n }\n : {\n backgroundColor: props.withElevation\n ? \"$nonInteractiveBackgroundColor.elevated\"\n : \"$nonInteractiveBackgroundColor\",\n }),\n } as const;\n};\n\nexport const withScreenBackground = (\n val: boolean | \"translucent\",\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n if (val === \"translucent\") {\n if (process.env.NODE_ENV !== \"production\" && props.withElevation) {\n throw new Error(\n \"Cannot use withElevation and translucent screen background together\",\n );\n }\n return {\n backgroundColor: \"$screenBackgroundColor.translucent\",\n backdropFilter: \"blur(14px)\",\n } as const;\n }\n\n if (props.withElevation) {\n return {\n backgroundColor: \"$screenBackgroundColor.elevated\",\n } as const;\n }\n\n return {\n backgroundColor: \"$screenBackgroundColor\",\n } as const;\n};\n\nexport const withElevation = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n const height = 2;\n\n return {\n ...(props.disabled\n ? {}\n : {\n shadowOffset: { width: 0, height },\n shadowOpacity: 0.65,\n shadowRadius: 6,\n ...(isAndroid ? { elevationAndroid: height * 2 } : undefined),\n }),\n ...(props.interactive\n ? getInteractionStyles(\"shadowColor\", props)\n : { shadowColor: \"$shadowColor\" }),\n } as const;\n};\n\nconst circularStyle = {\n borderRadius: 100_000,\n padding: 0,\n};\n\nexport const size = (val: number) => {\n return { width: val, height: val } as const;\n};\n\nexport const circular = {\n true: (val: boolean, { props, tokens }: { props: any; tokens: any }) => {\n if (!(\"size\" in props)) {\n return circularStyle;\n }\n const sizePropValue: keyof typeof tokens.size = props.size;\n const sizeValue = tokens.size[sizePropValue];\n return {\n ...circularStyle,\n width: sizeValue,\n height: sizeValue,\n maxWidth: sizeValue,\n maxHeight: sizeValue,\n minWidth: sizeValue,\n minHeight: sizeValue,\n };\n },\n} as const;\n\nexport const fullscreen = {\n true: fullscreenStyle,\n} as const;\n\nexport const interactive = (\n isInteractiveOrInteractiveCursorType: ViewStyle[\"cursor\"] | boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!isInteractiveOrInteractiveCursorType) return null;\n if (props.disabled) {\n return { cursor: \"not-allowed\" } as const;\n }\n return {\n cursor:\n isInteractiveOrInteractiveCursorType === true\n ? \"pointer\"\n : isInteractiveOrInteractiveCursorType,\n\n // fix to properly reset press/hover styles\n transform: [{ scale: 1 }],\n\n hoverStyle: {\n transform: [{ scale: 1.02 }],\n },\n\n pressStyle: {\n transform: [{ scale: 0.98 }],\n },\n } as const;\n};\n\nexport const centered = {\n true: {\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n} as const;\n","import type { GetProps } from \"@tamagui/core\";\nimport { View, styled } from \"@tamagui/core\";\nimport { useSafeAreaInsets } from \"../../core/useSafeAreaInsets\";\nimport * as variants from \"./variants\";\n\n/** View with alouette variants */\nexport const Box = styled(View, {\n name: \"Box\",\n variants,\n animation: \"fast\",\n} as const);\n\nexport type BoxProps = GetProps<typeof Box>;\n\nexport const SafeAreaBox = Box.styleable<{\n padding?: never;\n paddingTop?: never;\n paddingBottom?: never;\n paddingLeft?: never;\n paddingRight?: never;\n}>((props) => {\n const insets = useSafeAreaInsets();\n return (\n <Box\n {...props}\n paddingTop={insets.top}\n paddingBottom={insets.bottom}\n paddingLeft={insets.left}\n paddingRight={insets.right}\n />\n );\n});\n\nexport type SafeAreaBoxProps = GetProps<typeof SafeAreaBox>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Box } from \"./Box\";\n\nexport const PressableBox = styled(Box, {\n interactive: true,\n\n variants: {\n variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: 2,\n },\n elevated: {\n withBackground: true,\n withElevation: true,\n withBorder: true,\n borderColor: \"$contrastBorderColor\",\n },\n \"ghost-contained\": {\n withBackground: true,\n },\n \"ghost-outlined\": {\n withBorder: 2,\n withBackground: true,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n },\n} as const);\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens, Variable } from \"@tamagui/core\";\nimport { Text, usePropsAndStyle } from \"@tamagui/core\";\nimport { cloneElement } from \"react\";\nimport type { ReactElement, ReactNode, SVGProps } from \"react\";\nimport type { OpaqueColorValue } from \"react-native\";\n\nexport type SVGIconElement = ReactElement<SVGProps<SVGSVGElement>>;\n\nexport interface IconProps {\n icon: SVGIconElement;\n disabled?: boolean;\n accent?: boolean;\n color?: ColorTokens | OpaqueColorValue | Variable<any> | undefined;\n size?: number;\n}\n\nconst getDefaultColor = (disabled?: boolean, accent?: boolean) => {\n if (disabled) return \"$textColor:disabled\";\n if (accent) return \"$accentTextColor\";\n return \"$textColor\";\n};\n\nexport function Icon({\n icon,\n size = 20,\n disabled,\n accent,\n color = getDefaultColor(disabled, accent),\n}: IconProps): ReactNode {\n const [props, style] = usePropsAndStyle(\n { color, width: size, height: size },\n { forComponent: Text },\n );\n return cloneElement(icon, { style, ...props } as any);\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { PressableBox } from \"../containers/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\n\nconst IconButtonFrame = styled(PressableBox, {\n name: \"IconButtonFrame\",\n role: \"button\",\n centered: true,\n borderRadius: 10_000,\n\n variants: {\n variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: 1,\n },\n elevated: {\n withBackground: true,\n withElevation: true,\n withBorder: 1,\n },\n \"ghost-contained\": {\n withBackground: true,\n },\n \"ghost-outlined\": {\n withBackground: true,\n withBorder: 1,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n },\n});\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps extends IconButtonFrameProps {\n icon: NonNullable<SVGIconElement>;\n}\n\nexport function IconButton({\n icon,\n disabled,\n size = 40,\n variant = \"contained\",\n ...pressableProps\n}: IconButtonProps): ReactNode {\n return (\n <IconButtonFrame\n size={size}\n variant={variant}\n disabled={disabled}\n {...pressableProps}\n >\n <Icon size={size / 2} disabled={disabled} icon={icon} />\n </IconButtonFrame>\n );\n}\n","import { View, styled } from \"@tamagui/core\";\nimport type { GetProps } from \"@tamagui/core\";\nimport { fullscreenStyle } from \"./createVariants\";\n\nconst variants = {\n fullscreen: {\n true: fullscreenStyle,\n },\n} as const;\n\nexport const Stack = styled(View, {\n name: \"Stack\",\n variants: {\n ...variants,\n type: {\n h: { flexDirection: \"row\" },\n v: { flexDirection: \"column\" },\n },\n } as const,\n});\n\nexport type StackProps = GetProps<typeof Stack>;\n\nexport const HStack = styled(View, {\n name: \"HStack\",\n flexDirection: \"row\",\n variants,\n});\n\nexport type HStackProps = GetProps<typeof HStack>;\n\nexport const VStack = styled(View, {\n name: \"VStack\",\n flexDirection: \"column\",\n});\n\nexport type VStackProps = GetProps<typeof VStack>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { Text, styled } from \"@tamagui/core\";\n\nexport const Typography = styled(Text, {\n name: \"Typography\",\n fontFamily: \"$body\",\n color: \"$textColor\",\n\n variants: {\n inherit: {\n false: {\n size: \"$md\",\n weight: \"$regular\",\n family: \"$body\",\n },\n },\n size: {\n \"...fontSize\": (size) => ({\n fontSize: size,\n lineHeight: size,\n }),\n },\n weight: {\n $regular: { fontWeight: \"$regular\" },\n $bold: { fontWeight: \"$bold\" },\n $extraBold: { fontWeight: \"$extraBold\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n $monospace: { fontFamily: \"$monospace\" },\n },\n accent: {\n true: {\n color: \"$accentTextColor\",\n },\n },\n disabled: {\n true: {\n color: \"$textColor:disabled\",\n },\n },\n },\n\n defaultVariants: {\n inherit: false,\n // contrast: false,\n },\n} as const);\n\nexport type TypographyProps = GetProps<typeof Typography>;\n\nexport const TypographyParagraph = styled(Typography, {\n name: \"TypographyParagraph\",\n tag: \"p\",\n userSelect: \"auto\",\n family: \"$body\",\n} as const);\n\nexport type TypographyParagraphProps = GetProps<typeof TypographyParagraph>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../containers/PressableBox\";\nimport type { SVGIconElement } from \"../primitives/Icon\";\nimport { Icon } from \"../primitives/Icon\";\nimport { HStack } from \"../primitives/stacks\";\nimport { Typography } from \"../typography/Typography\";\n\nconst ButtonFrame = styled(PressableBox, {\n name: \"ButtonFrame\",\n role: \"button\",\n centered: true,\n minHeight: 42,\n\n variants: {\n size: {\n sm: {\n paddingHorizontal: \"$sm\",\n borderRadius: \"$3\",\n minHeight: 32,\n },\n md: {\n paddingHorizontal: \"$md\",\n borderRadius: \"$sm\",\n minHeight: 42,\n },\n },\n },\n\n defaultVariants: {\n size: \"md\",\n },\n} as const);\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<SVGIconElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nexport function Button({\n icon,\n text,\n disabled,\n variant = \"contained\",\n size = \"md\",\n ...pressableProps\n}: ButtonProps): ReactNode {\n return (\n <ButtonFrame\n disabled={disabled}\n variant={variant}\n size={size}\n {...pressableProps}\n >\n <HStack gap=\"$xs\" alignItems=\"center\">\n {icon && (\n <Icon\n disabled={disabled}\n icon={icon}\n size={size === \"sm\" ? 16 : 20}\n />\n )}\n <Typography\n size={size === \"sm\" ? \"$sm\" : \"$md\"}\n weight=\"$bold\"\n paddingVertical={size === \"sm\" ? \"$1\" : \"$xs\"}\n disabled={disabled}\n >\n {text}\n </Typography>\n </HStack>\n </ButtonFrame>\n );\n}\n\nexport function ExternalLinkButton(\n props: Except<ButtonProps, \"href\" | \"role\" | \"tag\"> & { href: string },\n): ReactNode {\n return (\n <Button\n {...props}\n tag=\"a\"\n role=\"link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{ textDecorationLine: \"none\" }}\n />\n );\n}\n\nexport function InternalLinkButton(\n props: Except<ButtonProps, \"href\" | \"role\" | \"tag\"> & { href: string },\n): ReactNode {\n return <Button {...props} tag=\"a\" role=\"link\" />;\n}\n","import { CheckRegularIcon } from \"alouette-icons/phosphor-icons/CheckRegularIcon\";\nimport { InfoRegularIcon } from \"alouette-icons/phosphor-icons/InfoRegularIcon\";\nimport { WarningCircleRegularIcon } from \"alouette-icons/phosphor-icons/WarningCircleRegularIcon\";\nimport { WarningRegularIcon } from \"alouette-icons/phosphor-icons/WarningRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { Icon } from \"../primitives/Icon\";\nimport type { MessageProps } from \"./Message\";\n\ninterface FeedbackIconProps {\n type: MessageProps[\"theme\"];\n}\n\nexport function FeedbackIcon({ type }: FeedbackIconProps): ReactNode {\n switch (type) {\n case \"warning\":\n return <Icon icon={<WarningCircleRegularIcon />} />;\n case \"success\":\n return <Icon icon={<CheckRegularIcon />} />;\n case \"danger\":\n return <Icon icon={<WarningRegularIcon />} />;\n default:\n return <Icon icon={<InfoRegularIcon />} />;\n }\n}\n","import { View, styled } from \"@tamagui/core\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons/XRegularIcon\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { IconButton } from \"../actions/IconButton\";\nimport { Box } from \"../containers/Box\";\nimport { Typography } from \"../typography/Typography\";\nimport { FeedbackIcon } from \"./FeedbackIcon\";\n\nexport const MessageFrame = styled(Box, {\n name: \"MessageFrame\",\n alignItems: \"center\",\n withBackground: true,\n borderRadius: \"$md\",\n paddingHorizontal: \"$4\",\n flexDirection: \"row\",\n gap: \"$4\",\n} as const);\n\nexport const MessageText = styled(Typography, {\n name: \"MessageText\",\n // contrast: true,\n size: \"$md\",\n flexGrow: 1,\n paddingVertical: \"$4\",\n variants: {\n centered: {\n true: {\n textAlign: \"center\",\n paddingHorizontal: \"$4\",\n },\n },\n },\n} as const);\n\nconst MessageIconContainer = styled(View, {\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n marginRight: \"$2\",\n});\n\nexport interface MessageProps {\n theme: NonNullable<ComponentProps<typeof MessageFrame>[\"theme\"]>;\n children?: ReactNode;\n textCentered?: boolean;\n onDismiss?: () => void;\n}\n\nexport function Message({\n theme,\n textCentered,\n children,\n onDismiss,\n}: MessageProps): ReactNode {\n return (\n <MessageFrame theme={theme}>\n {textCentered ? null : (\n <MessageIconContainer>\n <FeedbackIcon type={theme} />\n </MessageIconContainer>\n )}\n <MessageText centered={textCentered}>{children}</MessageText>\n {onDismiss ? (\n <MessageDismissButtonContainer>\n <IconButton\n icon={<XRegularIcon />}\n size={40}\n variant=\"ghost-contained\"\n />\n </MessageDismissButtonContainer>\n ) : null}\n </MessageFrame>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { TextInput } from \"react-native\";\nimport * as variants from \"../containers/variants\";\n\nconst StyledInputText = styled(\n TextInput,\n {\n variants,\n\n padding: \"$xs\",\n borderRadius: \"$sm\",\n\n color: \"$interactive.forms.textColor\",\n // currently not working in web unless we use tamagui Input\n // placeholderTextColor: \"$interactive.forms.placeholderTextColor\",\n\n // @ts-expect-error missing prop due to isInput but in does exist in variants\n withBorder: true,\n withBackground: true,\n\n borderWidth: 1,\n\n // reset browser style\n outlineStyle: \"none\",\n },\n { isInput: true },\n);\n\nexport const InputText = styled(StyledInputText, {\n name: \"InputText\",\n interactive: \"text\",\n theme: \"primary\",\n // animation: \"formElement\", // remove all style ?\n});\n\nexport type InputTextProps = GetProps<typeof InputText>;\n\nexport const TextArea = styled(InputText, {\n multiline: true,\n});\n\nexport type TextAreaProps = GetProps<typeof TextArea>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { ScrollView as ScrollViewNative } from \"react-native\";\nimport { fullscreenStyle } from \"./createVariants\";\n\nexport const ScrollView = styled(\n ScrollViewNative,\n {\n name: \"ScrollView\",\n scrollEnabled: true,\n\n variants: {\n fullscreen: {\n true: fullscreenStyle,\n },\n },\n } as const,\n {\n accept: {\n contentContainerStyle: \"style\",\n },\n } as const,\n);\n\nexport type ScrollView = Pick<ScrollViewNative, \"scrollTo\">;\n\nexport type ScrollViewProps = GetProps<typeof ScrollView>;\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport { Typography } from \"../typography/Typography\";\n\nexport const StoryTitle = styled(Typography, {\n family: \"$heading\",\n weight: \"$extraBold\",\n variants: {\n level: {\n 1: { size: \"$xl\", marginBottom: \"$8\" },\n 2: { size: \"$lg\", marginBottom: \"$8\" },\n 3: { size: \"$md\", marginBottom: \"$3\" },\n 4: { size: \"$sm\", marginBottom: \"$3\" },\n },\n } as const,\n\n defaultVariants: {\n level: 1,\n },\n} as const);\n\nexport type StoryTitleProps = GetProps<typeof StoryTitle>;\n","import { isWeb, styled } from \"@tamagui/core\";\nimport { Fragment } from \"react\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { VStack } from \"../primitives/stacks\";\nimport type { VStackProps } from \"../primitives/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nconst InternalStorySection = styled(VStack, {\n marginBottom: \"$8\",\n paddingHorizontal: \"$4\",\n marginHorizontal: \"$-4\",\n variants: {\n withBackground: {\n true: {\n backgroundColor: \"$backgroundColor\",\n },\n },\n } as const,\n});\n\nexport type StorySectionProps = Except<VStackProps, \"marginBottom\"> & {\n title: ReactNode;\n children: ReactNode;\n level?: 1 | 2;\n withBackground?: boolean;\n};\n\nfunction StorySection({\n title,\n children,\n level = 1,\n withBackground,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection withBackground={withBackground} {...props}>\n <StoryTitle level={(level + 1) as 2 | 3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nfunction SubSection({\n title,\n children,\n\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection marginBottom=\"$4\" {...props}>\n <StoryTitle level={3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nconst ScrollViewNative = isWeb ? Fragment : ScrollView;\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n noDarkTheme?: boolean;\n}\n\nexport function Story({\n documentation,\n children,\n noDarkTheme,\n}: StoryProps): ReactNode {\n return (\n <ScrollViewNative>\n {documentation && (\n <Box\n withBorder=\"$2\"\n borderRadius=\"$md\"\n padding=\"$md\"\n theme=\"primary\"\n marginBottom=\"$12\"\n >\n {documentation}\n </Box>\n )}\n {[\"light\", ...(noDarkTheme ? [] : [\"dark\"])].map((theme) => (\n <Box key={theme} withScreenBackground theme={theme} padding=\"$md\">\n {children}\n </Box>\n ))}\n </ScrollViewNative>\n );\n}\n\nStory.Section = StorySection;\nStory.SubSection = SubSection;\n","import type { ReactNode } from \"react\";\nimport { ScrollView } from \"../primitives/ScrollView\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryContainerProps {\n title: ReactNode;\n children: NonNullable<ReactNode>;\n}\n\nexport function StoryContainer({\n title,\n children,\n}: StoryContainerProps): ReactNode {\n return (\n <ScrollView theme=\"light\" backgroundColor=\"#fff\" padding=\"$4\">\n <StoryTitle level={1}>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { Decorator } from \"@storybook/react-vite\";\nimport { StoryContainer } from \"./StoryContainer\";\n\n// eslint-disable-next-line react/function-component-definition -- not a component, it's a decorator for storybook.\nexport const StoryDecorator: Decorator = (storyFn, { name, container }) => {\n if (container === false) return storyFn();\n return <StoryContainer title={name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactNode } from \"react\";\nimport { Children } from \"react\";\nimport { Platform } from \"react-native\";\nimport { View } from \"../primitives/View\";\nimport { VStack } from \"../primitives/stacks\";\nimport { StoryTitle } from \"./StoryTitle\";\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: \"medium\" | \"small\";\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({\n children,\n breakpoint = \"small\",\n flexWrap,\n}: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection=\"column\"\n {...{\n [`$${breakpoint}`]: {\n flexDirection: \"row\",\n marginVertical: \"$-1\",\n marginBottom: \"$4\",\n flexWrap: flexWrap ? \"wrap\" : undefined,\n gap: flexWrap ? \"$xs\" : undefined,\n },\n }}\n >\n {Children.map(children, (child) => (\n <View\n paddingTop=\"$2\"\n paddingBottom=\"$4\"\n {...{\n [`$${breakpoint}`]: {\n flexGrow: 1,\n flexBasis: flexWrap ? undefined : 0,\n paddingTop: 0,\n paddingBottom: 0,\n marginVertical: \"$2\",\n },\n }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n platform?: \"all\" | \"native\" | \"web\";\n}\n\nfunction StoryGridCol({\n title,\n children,\n platform = \"all\",\n}: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === \"ios\" || Platform.OS === \"android\";\n\n if (Platform.OS === \"web\" && platform === \"native\") {\n return null;\n }\n\n if (isNative && platform === \"web\") {\n return null;\n }\n\n return title ? (\n <VStack>\n <StoryTitle level={4} numberOfLines={1}>\n {title}\n </StoryTitle>\n {children}\n </VStack>\n ) : (\n children\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport \"./reset\";\n\nexport interface AlouetteProviderProps\n extends Pick<TamaguiProviderProps, \"disableInjectCSS\"> {\n children: ReactNode;\n tamaguiConfig: NonNullable<TamaguiProviderProps[\"config\"]>;\n defaultTheme?: \"dark\" | \"light\";\n}\n\nexport const useDefaultThemeFromColorScheme = () => {\n const colorScheme = useColorScheme();\n return colorScheme || \"light\";\n};\n\nexport function AlouetteProvider({\n children,\n tamaguiConfig,\n defaultTheme = \"light\",\n disableInjectCSS,\n}: AlouetteProviderProps): ReactNode {\n return (\n <TamaguiProvider\n config={tamaguiConfig}\n defaultTheme={defaultTheme}\n disableInjectCSS={disableInjectCSS}\n >\n {children}\n </TamaguiProvider>\n );\n}\n","import type { ReactNode } from \"react\";\n\nexport function SafeAreaProvider({ children }: { children: ReactNode }) {\n return children;\n}\n","/* eslint-disable react/destructuring-assignment */\nimport type { Decorator } from \"@storybook/react-vite\";\nimport type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { createContext, useEffect, useState } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { AlouetteProvider } from \"./AlouetteProvider\";\nimport { SafeAreaProvider } from \"./SafeAreaProvider\";\n\nexport const AlouetteTamaguiConfigContext = createContext<\n TamaguiProviderProps[\"config\"] | null\n>(null);\n\n// eslint-disable-next-line react/function-component-definition -- not a component\nexport const AlouetteDecorator: Decorator = (storyFn, context) => {\n const systemColorScheme = useColorScheme();\n const [theme, setTheme] = useState(systemColorScheme || \"light\");\n\n useEffect(() => {\n const backgroundColor = context.globals.backgrounds?.value;\n if (backgroundColor === \"#000000\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"light\");\n }\n }, [context.globals.backgrounds?.value]);\n\n return (\n <SafeAreaProvider>\n <AlouetteProvider\n tamaguiConfig={context.parameters.tamaguiConfig}\n defaultTheme={theme}\n >\n <AlouetteTamaguiConfigContext.Provider\n value={context.parameters.tamaguiConfig}\n >\n {storyFn(context)}\n </AlouetteTamaguiConfigContext.Provider>\n </AlouetteProvider>\n </SafeAreaProvider>\n );\n};\n","import { useContext } from \"react\";\nimport type { ReactNode } from \"react\";\nimport { AlouetteTamaguiConfigContext } from \"../../core/AlouetteDecorator\";\nimport type { AlouetteProviderProps } from \"../../core/AlouetteProvider\";\n\nexport interface WithTamaguiConfigProps {\n render: (\n config: AlouetteProviderProps[\"tamaguiConfig\"],\n ) => NonNullable<ReactNode>;\n}\n\nexport function WithTamaguiConfig({\n render,\n}: WithTamaguiConfigProps): ReactNode {\n const config = useContext(AlouetteTamaguiConfigContext);\n if (!config) {\n throw new Error(\n \"No config found, check that AlouetteDecorator is used in the story\",\n );\n }\n return render(config);\n}\n","export const Breakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n} as const;\n\nexport type Breakpoint = (typeof Breakpoints)[keyof typeof Breakpoints];\nexport type BreakpointNames = \"base\" | \"large\" | \"medium\" | \"small\" | \"wide\";\n\nexport enum BreakpointNameEnum {\n BASE = \"base\",\n SMALL = \"small\",\n MEDIUM = \"medium\",\n LARGE = \"large\",\n WIDE = \"wide\",\n}\n","import { useMedia } from \"@tamagui/core\";\nimport type { BreakpointNames } from \"../../config/Breakpoints\";\nimport { BreakpointNameEnum } from \"../../config/Breakpoints\";\n\nexport function useCurrentBreakpointName(): BreakpointNameEnum {\n const media = useMedia();\n\n if (media.wide) return BreakpointNameEnum.WIDE;\n if (media.large) return BreakpointNameEnum.LARGE;\n if (media.medium) return BreakpointNameEnum.MEDIUM;\n if (media.small) return BreakpointNameEnum.SMALL;\n return BreakpointNameEnum.BASE;\n}\n\nexport function useCurrentBreakpointNameFiltered<\n Names extends BreakpointNames[],\n>(names: Names): Names[number] {\n const media = useMedia();\n\n if (names.includes(BreakpointNameEnum.WIDE) && media.wide) {\n return BreakpointNameEnum.WIDE;\n }\n if (names.includes(BreakpointNameEnum.LARGE) && media.large) {\n return BreakpointNameEnum.LARGE;\n }\n if (names.includes(BreakpointNameEnum.MEDIUM) && media.medium) {\n return BreakpointNameEnum.MEDIUM;\n }\n if (names.includes(BreakpointNameEnum.SMALL) && media.small) {\n return BreakpointNameEnum.SMALL;\n }\n return BreakpointNameEnum.BASE;\n}\n","import type { ReactNode } from \"react\";\nimport type { SetRequired } from \"type-fest\";\nimport type { BreakpointNames } from \"../../config/Breakpoints\";\nimport { View } from \"../primitives/View\";\nimport { useCurrentBreakpointNameFiltered } from \"./useCurrentBreakpointName\";\n\ntype SwitchBreakpointsProps = SetRequired<\n Partial<Record<BreakpointNames, ReactNode>>,\n \"base\"\n> & { children?: never };\n\n/**\n * Display based on current breakpoint\n *\n * This mode is SSR friendly\n */\nexport function SwitchBreakpointsUsingDisplayNone({\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const entries = Object.entries(breakpoints);\n\n return entries.map(([name, node], index) => {\n return (\n <View\n key={name}\n display={name === \"base\" ? \"flex\" : \"none\"}\n {...(name === \"base\"\n ? undefined\n : { display: \"none\", [`$${name}`]: { display: \"flex\" } })}\n {...(index + 1 in entries\n ? { [`$${entries[index + 1]![0]}`]: { display: \"none\" } }\n : undefined)}\n >\n {node}\n </View>\n );\n });\n}\n\n/**\n * Display based on current breakpoint\n *\n * This mode is not SSR friendly\n */\nexport function SwitchBreakpointsUsingNull({\n children,\n ...breakpoints\n}: SwitchBreakpointsProps): ReactNode {\n const currentBreakpointName = useCurrentBreakpointNameFiltered(\n Object.keys(breakpoints) as (keyof typeof breakpoints)[],\n );\n\n return breakpoints[currentBreakpointName] ?? null;\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { Stack, styled } from \"@tamagui/core\";\n\nexport const Separator = styled(Stack, {\n name: \"Separator\",\n flexGrow: 1,\n flexShrink: 0,\n height: 0,\n maxHeight: 0,\n borderColor: \"$borderColor\",\n borderWidth: 0,\n borderBottomWidth: 1,\n y: -0.5,\n\n variants: {\n vertical: {\n true: {\n height: \"auto\",\n maxHeight: \"auto\",\n width: 0,\n maxWidth: 0,\n borderBottomWidth: 0,\n borderRightWidth: 1,\n y: 0,\n x: -0.5,\n },\n },\n } as const,\n} as const);\n\nexport type SeparatorProps = GetProps<typeof Separator>;\n","import type { PressableBoxProps } from \"alouette\";\nimport { CaretRightRegularIcon } from \"alouette-icons/phosphor-icons/CaretRightRegularIcon\";\nimport type { ReactNode } from \"react\";\nimport { PressableBox } from \"../containers/PressableBox\";\nimport { Icon } from \"../primitives/Icon\";\nimport { View } from \"../primitives/View\";\nimport { HStack, VStack } from \"../primitives/stacks\";\n\nexport interface PressableListItemProps {\n theme?: PressableBoxProps[\"theme\"];\n variant?: PressableBoxProps[\"variant\"];\n borderRadius?: PressableBoxProps[\"borderRadius\"];\n withBackground?: PressableBoxProps[\"withBackground\"];\n role?: PressableBoxProps[\"role\"];\n children: ReactNode;\n onPress: () => void;\n}\nexport function PressableListItem({\n theme,\n variant,\n withBackground,\n borderRadius,\n role = \"button\",\n children,\n onPress,\n}: PressableListItemProps): ReactNode {\n return (\n <PressableBox\n theme={theme}\n variant={variant}\n withBackground={withBackground}\n borderRadius={borderRadius}\n role={role}\n marginHorizontal=\"$4\"\n marginVertical=\"$1\"\n onPress={onPress}\n >\n <HStack\n justifyContent=\"space-between\"\n alignItems=\"center\"\n paddingHorizontal=\"$4\"\n paddingVertical=\"$4\"\n >\n <View flex={1}>{children}</View>\n <VStack justifyContent=\"center\">\n <Icon accent icon={<CaretRightRegularIcon />} size={18} />\n </VStack>\n </HStack>\n </PressableBox>\n );\n}\n","import type { ThemeName } from \"@tamagui/core\";\nimport { Theme, useTheme } from \"@tamagui/core\";\nimport { LinearGradient } from \"expo-linear-gradient\";\nimport type { ReactNode } from \"react\";\nimport { StyleSheet } from \"react-native\";\n\nexport interface GradientBackgroundProps {\n theme?: ThemeName;\n children?: ReactNode;\n}\n\nexport function GradientBackground({\n theme: themeName,\n children,\n}: GradientBackgroundProps) {\n const theme = useTheme({ name: themeName });\n\n const colors = [\n theme[\"gradientColor:start\"]?.get(\"web\"),\n theme[\"gradientColor:middle\"]?.get(\"web\"),\n theme[\"gradientColor:end\"]?.get(\"web\"),\n ] as [string, string, string];\n\n return (\n <Theme name={themeName}>\n <LinearGradient\n colors={colors}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 1 }}\n locations={[0.2, 0.7, 1]}\n style={StyleSheet.absoluteFill}\n >\n {children}\n </LinearGradient>\n </Theme>\n );\n}\n"],"names":["variants","ScrollViewNative","BreakpointNameEnum","Stack"],"mappings":"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"}
@@ -142,6 +142,8 @@ const interactive = (isInteractiveOrInteractiveCursorType, { props }) => {
142
142
  }
143
143
  return {
144
144
  cursor: isInteractiveOrInteractiveCursorType === true ? "pointer" : isInteractiveOrInteractiveCursorType,
145
+ // fix to properly reset press/hover styles
146
+ transform: [{ scale: 1 }],
145
147
  hoverStyle: {
146
148
  transform: [{ scale: 1.02 }]
147
149
  },
@@ -851,21 +853,40 @@ const Separator = core.styled(core.Stack, {
851
853
  });
852
854
 
853
855
  function PressableListItem({
856
+ theme,
857
+ variant,
858
+ withBackground,
859
+ borderRadius,
860
+ role = "button",
854
861
  children,
855
862
  onPress
856
863
  }) {
857
- return /* @__PURE__ */ jsxRuntime.jsx(reactNative.Pressable, { onPress, children: /* @__PURE__ */ jsxRuntime.jsxs(
858
- HStack,
864
+ return /* @__PURE__ */ jsxRuntime.jsx(
865
+ PressableBox,
859
866
  {
860
- justifyContent: "space-between",
861
- paddingHorizontal: "$4",
862
- paddingVertical: "$3",
863
- children: [
864
- /* @__PURE__ */ jsxRuntime.jsx(core.View, { children }),
865
- /* @__PURE__ */ jsxRuntime.jsx(Stack, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { icon: /* @__PURE__ */ jsxRuntime.jsx(CaretRightRegularIcon.CaretRightRegularIcon, {}), size: 20 }) })
866
- ]
867
+ theme,
868
+ variant,
869
+ withBackground,
870
+ borderRadius,
871
+ role,
872
+ marginHorizontal: "$4",
873
+ marginVertical: "$1",
874
+ onPress,
875
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
876
+ HStack,
877
+ {
878
+ justifyContent: "space-between",
879
+ alignItems: "center",
880
+ paddingHorizontal: "$4",
881
+ paddingVertical: "$4",
882
+ children: [
883
+ /* @__PURE__ */ jsxRuntime.jsx(core.View, { flex: 1, children }),
884
+ /* @__PURE__ */ jsxRuntime.jsx(VStack, { justifyContent: "center", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { accent: true, icon: /* @__PURE__ */ jsxRuntime.jsx(CaretRightRegularIcon.CaretRightRegularIcon, {}), size: 18 }) })
885
+ ]
886
+ }
887
+ )
867
888
  }
868
- ) });
889
+ );
869
890
  }
870
891
 
871
892
  function GradientBackground({