alouette 11.0.0 → 11.2.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 (35) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/definitions/components/actions/Button.d.ts +3 -0
  3. package/dist/definitions/components/actions/Button.d.ts.map +1 -1
  4. package/dist/definitions/components/actions/Button.stories.d.ts.map +1 -1
  5. package/dist/definitions/components/story-components/WithTamaguiConfig.d.ts +2 -2
  6. package/dist/definitions/components/story-components/WithTamaguiConfig.d.ts.map +1 -1
  7. package/dist/definitions/core/AlouetteDecorator.d.ts +31 -0
  8. package/dist/definitions/core/AlouetteDecorator.d.ts.map +1 -1
  9. package/dist/definitions/core/AlouetteProvider.d.ts +2 -1
  10. package/dist/definitions/core/AlouetteProvider.d.ts.map +1 -1
  11. package/dist/definitions/core/reset.d.ts +2 -0
  12. package/dist/definitions/core/reset.d.ts.map +1 -0
  13. package/dist/definitions/core/reset.web.d.ts +2 -0
  14. package/dist/definitions/core/reset.web.d.ts.map +1 -0
  15. package/dist/definitions/index.d.ts +1 -1
  16. package/dist/definitions/index.d.ts.map +1 -1
  17. package/dist/index-browser.es.js +79 -48
  18. package/dist/index-browser.es.js.map +1 -1
  19. package/dist/index-node20.cjs +76 -45
  20. package/dist/index-node20.cjs.map +1 -1
  21. package/dist/index-node20.mjs +78 -48
  22. package/dist/index-node20.mjs.map +1 -1
  23. package/dist/index-react-native.cjs.js +76 -45
  24. package/dist/index-react-native.cjs.js.map +1 -1
  25. package/dist/index-react-native.es.js +78 -48
  26. package/dist/index-react-native.es.js.map +1 -1
  27. package/package.json +6 -6
  28. package/src/components/actions/Button.stories.tsx +8 -1
  29. package/src/components/actions/Button.tsx +21 -1
  30. package/src/components/story-components/WithTamaguiConfig.tsx +10 -3
  31. package/src/core/AlouetteDecorator.tsx +11 -2
  32. package/src/core/AlouetteProvider.tsx +2 -1
  33. package/src/core/reset.ts +0 -0
  34. package/src/core/reset.web.ts +1 -0
  35. package/src/index.ts +5 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
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
+ ## [11.2.0](https://github.com/christophehurpeau/alouette/compare/alouette@11.1.0...alouette@11.2.0) (2025-08-02)
7
+
8
+ ### Features
9
+
10
+ * add InternalLinkButton ([6d1487a](https://github.com/christophehurpeau/alouette/commit/6d1487aad220cdad0ec17afea26d129b147c2178))
11
+
12
+ ## [11.1.0](https://github.com/christophehurpeau/alouette/compare/alouette@11.0.0...alouette@11.1.0) (2025-07-09)
13
+
14
+ ### Features
15
+
16
+ * add reset ([dbd881b](https://github.com/christophehurpeau/alouette/commit/dbd881b4dfe5090a1cba98d553361df7c9a6caf2))
17
+ * add reset and ExternalLinkButton ([aa9de4f](https://github.com/christophehurpeau/alouette/commit/aa9de4f9ebb85926805e8672cbc92dba243b8488))
18
+ * update babel ([2d1f630](https://github.com/christophehurpeau/alouette/commit/2d1f6301b7c716d32df7969bb14a8a61facc6d9d))
19
+ * update tamagui ([6fdce00](https://github.com/christophehurpeau/alouette/commit/6fdce005e99f83f260212343357ac36052c8dcd1))
20
+
21
+ Version bump for dependency: alouette-icons
22
+
23
+
6
24
  ## [11.0.0](https://github.com/christophehurpeau/alouette/compare/alouette@10.3.0...alouette@11.0.0) (2025-06-29)
7
25
 
8
26
  ### ⚠ BREAKING CHANGES
@@ -18,5 +18,8 @@ export interface ButtonProps extends Except<ButtonFrameProps, "size"> {
18
18
  size?: "md" | "sm";
19
19
  }
20
20
  export declare function Button({ icon, text, disabled, variant, size, ...pressableProps }: ButtonProps): ReactNode;
21
+ export declare function ExternalLinkButton(props: Except<ButtonProps, "href" | "role" | "tag"> & {
22
+ href: string;
23
+ }): ReactNode;
21
24
  export {};
22
25
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,QAAA,MAAM,WAAW;;;;;;;;;6CA+Cf,CAAC;AAEH,KAAK,gBAAgB,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnE,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAgBD,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAqB,EACrB,IAAW,EACX,GAAG,cAAc,EAClB,EAAE,WAAW,GAAG,SAAS,CAmCzB"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,QAAA,MAAM,WAAW;;;;;;;;;6CA+Cf,CAAC;AAEH,KAAK,gBAAgB,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnE,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAeD,wBAAgB,MAAM,CAAC,EACrB,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAqB,EACrB,IAAW,EACX,GAAG,cAAc,EAClB,EAAE,WAAW,GAAG,SAAS,CAmCzB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GACrE,SAAS,CAWX"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAO5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,wBAkHgC;AAEhC,eAAO,MAAM,kBAAkB,EAAE,SAOhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SA8F3B,CAAC"}
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAO5D,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAC;AAEtD,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC,wBAkHgC;AAEhC,eAAO,MAAM,kBAAkB,EAAE,SAOhC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAqG3B,CAAC"}
@@ -1,7 +1,7 @@
1
- import { useConfiguration } from "@tamagui/core";
2
1
  import type { ReactNode } from "react";
2
+ import type { AlouetteProviderProps } from "../../core/AlouetteProvider";
3
3
  export interface WithTamaguiConfigProps {
4
- render: (config: ReturnType<typeof useConfiguration>) => NonNullable<ReactNode>;
4
+ render: (config: AlouetteProviderProps["tamaguiConfig"]) => NonNullable<ReactNode>;
5
5
  }
6
6
  export declare function WithTamaguiConfig({ render, }: WithTamaguiConfigProps): ReactNode;
7
7
  //# sourceMappingURL=WithTamaguiConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WithTamaguiConfig.d.ts","sourceRoot":"","sources":["../../../../src/components/story-components/WithTamaguiConfig.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,CACN,MAAM,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,KACxC,WAAW,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,GACP,EAAE,sBAAsB,GAAG,SAAS,CAGpC"}
1
+ {"version":3,"file":"WithTamaguiConfig.d.ts","sourceRoot":"","sources":["../../../../src/components/story-components/WithTamaguiConfig.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,CACN,MAAM,EAAE,qBAAqB,CAAC,eAAe,CAAC,KAC3C,WAAW,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,GACP,EAAE,sBAAsB,GAAG,SAAS,CAQpC"}
@@ -1,3 +1,34 @@
1
1
  import type { Decorator } from "@storybook/react-vite";
2
+ export declare const AlouetteTamaguiConfigContext: import("react").Context<import("@tamagui/web").TamaguiInternalConfig<Record<string, {
3
+ [key: string]: import("@tamagui/web").VariableVal;
4
+ }> & {
5
+ color?: {
6
+ [key: string]: import("@tamagui/web").VariableVal;
7
+ } | undefined;
8
+ space?: {
9
+ [key: string]: import("@tamagui/web").VariableVal;
10
+ } | undefined;
11
+ size?: {
12
+ [key: string]: import("@tamagui/web").VariableVal;
13
+ } | undefined;
14
+ radius?: {
15
+ [key: string]: import("@tamagui/web").VariableVal;
16
+ } | undefined;
17
+ zIndex?: {
18
+ [key: string]: import("@tamagui/web").VariableVal;
19
+ } | undefined;
20
+ }, {
21
+ [key: string]: Partial<import("@tamagui/web").TamaguiBaseTheme> & {
22
+ [key: string]: import("@tamagui/web").VariableVal;
23
+ };
24
+ }, import("@tamagui/web").GenericShorthands, {
25
+ [key: string]: {
26
+ [key: string]: string | number;
27
+ };
28
+ }, {
29
+ [key: string]: string | any[] | {
30
+ [key: string]: any;
31
+ };
32
+ }, import("@tamagui/web").GenericFonts, import("@tamagui/web").GenericTamaguiSettings> | null | undefined>;
2
33
  export declare const AlouetteDecorator: Decorator;
3
34
  //# sourceMappingURL=AlouetteDecorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlouetteDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/AlouetteDecorator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,eAAO,MAAM,iBAAiB,EAAE,SAqB/B,CAAC"}
1
+ {"version":3,"file":"AlouetteDecorator.d.ts","sourceRoot":"","sources":["../../../src/core/AlouetteDecorator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GAElC,CAAC;AAGR,eAAO,MAAM,iBAAiB,EAAE,SAyB/B,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { TamaguiProviderProps } from "@tamagui/core";
2
2
  import type { ReactNode } from "react";
3
+ import "./reset";
3
4
  export interface AlouetteProviderProps extends Pick<TamaguiProviderProps, "disableInjectCSS"> {
4
5
  children: ReactNode;
5
- tamaguiConfig: TamaguiProviderProps["config"];
6
+ tamaguiConfig: NonNullable<TamaguiProviderProps["config"]>;
6
7
  defaultTheme?: "dark" | "light";
7
8
  }
8
9
  export declare const useDefaultThemeFromColorScheme: () => "dark" | "light";
@@ -1 +1 @@
1
- {"version":3,"file":"AlouetteProvider.d.ts","sourceRoot":"","sources":["../../../src/core/AlouetteProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,wBAG1C,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,aAAa,EACb,YAAsB,EACtB,gBAAgB,GACjB,EAAE,qBAAqB,GAAG,SAAS,CAUnC"}
1
+ {"version":3,"file":"AlouetteProvider.d.ts","sourceRoot":"","sources":["../../../src/core/AlouetteProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,SAAS,CAAC;AAEjB,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,WAAW,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,wBAG1C,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,aAAa,EACb,YAAsB,EACtB,gBAAgB,GACjB,EAAE,qBAAqB,GAAG,SAAS,CAUnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/core/reset.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "@tamagui/core/reset.css";
2
+ //# sourceMappingURL=reset.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.web.d.ts","sourceRoot":"","sources":["../../../src/core/reset.web.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export type { IconButtonProps } from "./components/actions/IconButton";
2
2
  export { IconButton } from "./components/actions/IconButton";
3
3
  export type { ButtonProps } from "./components/actions/Button";
4
- export { Button } from "./components/actions/Button";
4
+ export { Button, ExternalLinkButton } from "./components/actions/Button";
5
5
  export type { BoxProps } from "./components/containers/Box";
6
6
  export { Box } from "./components/containers/Box";
7
7
  export type { PressableBoxProps } from "./components/containers/PressableBox";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,YAAY,EACV,cAAc,EACd,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,YAAY,EACV,eAAe,EACf,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,YAAY,EACV,cAAc,EACd,aAAa,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,YAAY,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,YAAY,EACV,eAAe,EACf,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,mBAAmB,GACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import { styled, View, useStyle, Text, useConfiguration, useMedia, TamaguiProvider, Stack as Stack$1 } from '@tamagui/core';
2
+ import { styled, View, useStyle, Text, TamaguiProvider, useMedia, Stack as Stack$1 } from '@tamagui/core';
3
3
  export { Theme, View, styled, withStaticProperties } from '@tamagui/core';
4
4
  import { InfoRegularIcon, WarningRegularIcon, CheckRegularIcon, WarningCircleRegularIcon, XRegularIcon, CaretRightRegularIcon } from 'alouette-icons/phosphor-icons';
5
5
  import { TextInput, ScrollView as ScrollView$1, Platform, useColorScheme, Pressable } from 'react-native-web';
6
- import { Children, useState, useEffect } from 'react';
6
+ import { Children, createContext, useState, useEffect, useContext } from 'react';
7
+ import '@tamagui/core/reset.css';
7
8
 
8
9
  const fullscreenStyle = {
9
10
  position: "absolute",
@@ -228,7 +229,6 @@ const Typography = styled(Text, {
228
229
  name: "Typography",
229
230
  fontFamily: "$body",
230
231
  color: "$textColor",
231
- fontWeight: "$regular",
232
232
  variants: {
233
233
  inherit: {
234
234
  false: {
@@ -259,10 +259,16 @@ const Typography = styled(Text, {
259
259
  false: {
260
260
  color: "$textColor"
261
261
  }
262
+ },
263
+ colored: {
264
+ true: {
265
+ color: "$mainColor"
266
+ }
262
267
  }
263
268
  },
264
269
  defaultVariants: {
265
- inherit: false
270
+ inherit: false,
271
+ contrast: false
266
272
  }
267
273
  });
268
274
  const TypographyParagraph = styled(Typography, {
@@ -361,6 +367,19 @@ function Button({
361
367
  }
362
368
  );
363
369
  }
370
+ function ExternalLinkButton(props) {
371
+ return /* @__PURE__ */ jsx(
372
+ Button,
373
+ {
374
+ ...props,
375
+ tag: "a",
376
+ role: "link",
377
+ target: "_blank",
378
+ rel: "noopener noreferrer",
379
+ style: { textDecorationLine: "none" }
380
+ }
381
+ );
382
+ }
364
383
 
365
384
  function FeedbackIcon({ type }) {
366
385
  switch (type) {
@@ -627,10 +646,64 @@ const StoryGrid = {
627
646
  Col: StoryGridCol
628
647
  };
629
648
 
649
+ const useDefaultThemeFromColorScheme = () => {
650
+ const colorScheme = useColorScheme();
651
+ return colorScheme || "light";
652
+ };
653
+ function AlouetteProvider({
654
+ children,
655
+ tamaguiConfig,
656
+ defaultTheme = "light",
657
+ disableInjectCSS
658
+ }) {
659
+ return /* @__PURE__ */ jsx(
660
+ TamaguiProvider,
661
+ {
662
+ config: tamaguiConfig,
663
+ defaultTheme,
664
+ disableInjectCSS,
665
+ children
666
+ }
667
+ );
668
+ }
669
+
670
+ const AlouetteTamaguiConfigContext = createContext(null);
671
+ const AlouetteDecorator = (storyFn, context) => {
672
+ const systemColorScheme = useColorScheme();
673
+ const [theme, setTheme] = useState(systemColorScheme || "light");
674
+ useEffect(() => {
675
+ const backgroundColor = context.globals.backgrounds?.value;
676
+ if (backgroundColor === "#000000") {
677
+ setTheme("dark");
678
+ } else {
679
+ setTheme("light");
680
+ }
681
+ }, [context.globals.backgrounds?.value]);
682
+ return /* @__PURE__ */ jsx(
683
+ AlouetteProvider,
684
+ {
685
+ tamaguiConfig: context.parameters.tamaguiConfig,
686
+ defaultTheme: theme,
687
+ children: /* @__PURE__ */ jsx(
688
+ AlouetteTamaguiConfigContext.Provider,
689
+ {
690
+ value: context.parameters.tamaguiConfig,
691
+ children: storyFn(context)
692
+ }
693
+ )
694
+ }
695
+ );
696
+ };
697
+
630
698
  function WithTamaguiConfig({
631
699
  render
632
700
  }) {
633
- const config = useConfiguration();
701
+ const config = useContext(AlouetteTamaguiConfigContext);
702
+ if (!config) {
703
+ throw new Error(
704
+ "No config found, check that AlouetteDecorator is used in the story"
705
+ );
706
+ }
634
707
  return render(config);
635
708
  }
636
709
 
@@ -695,48 +768,6 @@ function SwitchBreakpointsUsingNull({
695
768
  return breakpoints[currentBreakpointName] ?? null;
696
769
  }
697
770
 
698
- const useDefaultThemeFromColorScheme = () => {
699
- const colorScheme = useColorScheme();
700
- return colorScheme || "light";
701
- };
702
- function AlouetteProvider({
703
- children,
704
- tamaguiConfig,
705
- defaultTheme = "light",
706
- disableInjectCSS
707
- }) {
708
- return /* @__PURE__ */ jsx(
709
- TamaguiProvider,
710
- {
711
- config: tamaguiConfig,
712
- defaultTheme,
713
- disableInjectCSS,
714
- children
715
- }
716
- );
717
- }
718
-
719
- const AlouetteDecorator = (storyFn, context) => {
720
- const systemColorScheme = useColorScheme();
721
- const [theme, setTheme] = useState(systemColorScheme || "light");
722
- useEffect(() => {
723
- const backgroundColor = context.globals.backgrounds?.value;
724
- if (backgroundColor === "#000000") {
725
- setTheme("dark");
726
- } else {
727
- setTheme("light");
728
- }
729
- }, [context.globals.backgrounds?.value]);
730
- return /* @__PURE__ */ jsx(
731
- AlouetteProvider,
732
- {
733
- tamaguiConfig: context.parameters.tamaguiConfig,
734
- defaultTheme: theme,
735
- children: storyFn(context)
736
- }
737
- );
738
- };
739
-
740
771
  const Separator = styled(Stack$1, {
741
772
  name: "Separator",
742
773
  flexGrow: 1,
@@ -781,5 +812,5 @@ function PressableListItem({
781
812
  ) });
782
813
  }
783
814
 
784
- export { AlouetteDecorator, AlouetteProvider, Box, Button, HStack, Icon, IconButton, InputText, Message, PressableBox, PressableListItem, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, TextArea, Typography, TypographyParagraph, VStack, WithTamaguiConfig, useCurrentBreakpointName, useDefaultThemeFromColorScheme };
815
+ export { AlouetteDecorator, AlouetteProvider, Box, Button, ExternalLinkButton, HStack, Icon, IconButton, InputText, Message, PressableBox, PressableListItem, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, TextArea, Typography, TypographyParagraph, VStack, WithTamaguiConfig, useCurrentBreakpointName, useDefaultThemeFromColorScheme };
785
816
  //# 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/components/story-components/WithTamaguiConfig.tsx","../src/config/Breakpoints.ts","../src/components/windowSize/useCurrentBreakpointName.ts","../src/components/windowSize/SwitchBreakpoints.tsx","../src/core/AlouetteProvider.tsx","../src/core/AlouetteDecorator.tsx","../src/components/layout/Separator.tsx","../src/components/layout/list.tsx"],"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\" | \"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 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 type { SizeTokens, VariantSpreadExtras, ViewStyle } from \"@tamagui/core\";\nimport { getInteractionStyles } 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 ? getInteractionStyles(\"backgroundColor\", props)\n : { backgroundColor: \"$mainColor\" }),\n } as const;\n};\n\nexport const withElevation = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n return {\n ...(props.disabled\n ? {}\n : {\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.65,\n shadowRadius: 6,\n elevation: 5,\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 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 } 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 * 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","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} as const);\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens, GetProps, Variable } from \"@tamagui/core\";\nimport { useStyle } from \"@tamagui/core\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport type { OpaqueColorValue } from \"react-native\";\nimport type { BoxProps } from \"../containers/Box\";\nimport { Box } from \"../containers/Box\";\n\nexport interface IconProps\n extends Exclude<GetProps<typeof Box>, \"alignSelf\" | \"style\"> {\n icon: ReactElement;\n color?: ColorTokens | OpaqueColorValue | Variable<any> | undefined;\n align?: BoxProps[\"alignSelf\"];\n contrast?: boolean;\n size?: number;\n}\n\nexport function Icon({\n icon,\n size = 20,\n align = \"auto\",\n contrast,\n color = contrast ? \"$contrastTextColor\" : \"$textColor\",\n ...props\n}: IconProps): ReactNode {\n const style = useStyle({\n color,\n // if needed for native\n // resolveValues: Platform.OS === 'web' ? undefined: 'value',\n });\n\n // if needed for native\n // const clonedIcon = cloneElement(icon, { style });\n // const clonedIcon = cloneElement(icon, { color: style.color });\n\n return (\n <Box {...props} centered alignSelf={align} size={size} style={style as any}>\n {icon}\n </Box>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport { PressableBox } from \"../containers/PressableBox\";\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\nconst getDisabledColor = (\n variant:\n | \"contained\"\n | \"elevated\"\n | \"ghost-contained\"\n | \"ghost-outlined\"\n | \"outlined\",\n) => {\n return variant === \"contained\" || variant === \"ghost-contained\"\n ? \"$contrastTextColor:disabled\"\n : \"$textColor:disabled\";\n};\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps extends IconButtonFrameProps {\n icon: NonNullable<ReactElement>;\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\n size={size / 2}\n color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\n icon={icon}\n />\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 fontWeight: \"$regular\",\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 $black: { fontWeight: \"$black\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n },\n contrast: {\n true: {\n color: \"$contrastTextColor\",\n },\n false: {\n color: \"$textColor\",\n },\n },\n },\n\n defaultVariants: {\n inherit: 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 { ReactElement, ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../containers/PressableBox\";\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 variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: true,\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: 1,\n withBackground: true,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n size: \"md\",\n },\n});\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<ReactElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nconst getDisabledColor = (\n variant:\n | \"contained\"\n | \"elevated\"\n | \"ghost-contained\"\n | \"ghost-outlined\"\n | \"outlined\",\n) => {\n return variant === \"contained\" || variant === \"ghost-contained\"\n ? \"$contrastTextColor:disabled\"\n : \"$textColor:disabled\";\n};\n\n// eslint-disable-next-line complexity\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 color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\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 color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\n >\n {text}\n </Typography>\n </HStack>\n </ButtonFrame>\n );\n}\n","import {\n CheckRegularIcon,\n InfoRegularIcon,\n WarningCircleRegularIcon,\n WarningRegularIcon,\n} from \"alouette-icons/phosphor-icons\";\nimport type { ReactNode } from \"react\";\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 <WarningCircleRegularIcon />;\n case \"success\":\n return <CheckRegularIcon />;\n case \"danger\":\n return <WarningRegularIcon />;\n default:\n return <InfoRegularIcon />;\n }\n}\n","import { View, styled } from \"@tamagui/core\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { IconButton } from \"../actions/IconButton\";\nimport { Box } from \"../containers/Box\";\nimport { Icon } from \"../primitives/Icon\";\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 name: \"MessageIconContainer\",\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n name: \"MessageDismissButtonContainer\",\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 <Icon contrast icon={<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 borderBottomWidth: 3,\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: \"$black\",\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 { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\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 withBackground,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection\n marginBottom=\"$4\"\n withBackground={withBackground}\n {...props}\n >\n <StoryTitle level={3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n}\n\nexport function Story({ documentation, children }: StoryProps): ReactNode {\n return (\n <>\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 {children}\n </>\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 { useConfiguration } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\n\nexport interface WithTamaguiConfigProps {\n render: (\n config: ReturnType<typeof useConfiguration>,\n ) => NonNullable<ReactNode>;\n}\n\nexport function WithTamaguiConfig({\n render,\n}: WithTamaguiConfigProps): ReactNode {\n const config = useConfiguration();\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 { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\n\nexport interface AlouetteProviderProps\n extends Pick<TamaguiProviderProps, \"disableInjectCSS\"> {\n children: ReactNode;\n tamaguiConfig: 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","/* eslint-disable react/destructuring-assignment */\nimport type { Decorator } from \"@storybook/react-vite\";\nimport { useEffect, useState } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { AlouetteProvider } from \"./AlouetteProvider\";\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 <AlouetteProvider\n tamaguiConfig={context.parameters.tamaguiConfig}\n defaultTheme={theme}\n >\n {storyFn(context)}\n </AlouetteProvider>\n );\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\";\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"],"names":["variants","getDisabledColor","ScrollViewNative","BreakpointNameEnum","Stack"],"mappings":"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"}
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/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"],"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\" | \"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 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 type { SizeTokens, VariantSpreadExtras, ViewStyle } from \"@tamagui/core\";\nimport { getInteractionStyles } 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 ? getInteractionStyles(\"backgroundColor\", props)\n : { backgroundColor: \"$mainColor\" }),\n } as const;\n};\n\nexport const withElevation = (\n val: boolean,\n { props }: VariantSpreadExtras<any>,\n) => {\n if (!val) return {} as const;\n\n return {\n ...(props.disabled\n ? {}\n : {\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.65,\n shadowRadius: 6,\n elevation: 5,\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 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 } 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 * 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","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} as const);\n\nexport type PressableBoxProps = GetProps<typeof PressableBox>;\n","import type { ColorTokens, GetProps, Variable } from \"@tamagui/core\";\nimport { useStyle } from \"@tamagui/core\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport type { OpaqueColorValue } from \"react-native\";\nimport type { BoxProps } from \"../containers/Box\";\nimport { Box } from \"../containers/Box\";\n\nexport interface IconProps\n extends Exclude<GetProps<typeof Box>, \"alignSelf\" | \"style\"> {\n icon: ReactElement;\n color?: ColorTokens | OpaqueColorValue | Variable<any> | undefined;\n align?: BoxProps[\"alignSelf\"];\n contrast?: boolean;\n size?: number;\n}\n\nexport function Icon({\n icon,\n size = 20,\n align = \"auto\",\n contrast,\n color = contrast ? \"$contrastTextColor\" : \"$textColor\",\n ...props\n}: IconProps): ReactNode {\n const style = useStyle({\n color,\n // if needed for native\n // resolveValues: Platform.OS === 'web' ? undefined: 'value',\n });\n\n // if needed for native\n // const clonedIcon = cloneElement(icon, { style });\n // const clonedIcon = cloneElement(icon, { color: style.color });\n\n return (\n <Box {...props} centered alignSelf={align} size={size} style={style as any}>\n {icon}\n </Box>\n );\n}\n","import type { GetProps } from \"@tamagui/core\";\nimport { styled } from \"@tamagui/core\";\nimport type { ReactElement, ReactNode } from \"react\";\nimport { PressableBox } from \"../containers/PressableBox\";\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\nconst getDisabledColor = (\n variant:\n | \"contained\"\n | \"elevated\"\n | \"ghost-contained\"\n | \"ghost-outlined\"\n | \"outlined\",\n) => {\n return variant === \"contained\" || variant === \"ghost-contained\"\n ? \"$contrastTextColor:disabled\"\n : \"$textColor:disabled\";\n};\n\ntype IconButtonFrameProps = GetProps<typeof IconButtonFrame>;\n\nexport interface IconButtonProps extends IconButtonFrameProps {\n icon: NonNullable<ReactElement>;\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\n size={size / 2}\n color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\n icon={icon}\n />\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 $black: { fontWeight: \"$black\" },\n },\n family: {\n $heading: { fontFamily: \"$heading\" },\n $body: { fontFamily: \"$body\" },\n },\n contrast: {\n true: {\n color: \"$contrastTextColor\",\n },\n false: {\n color: \"$textColor\",\n },\n },\n colored: {\n true: {\n color: \"$mainColor\",\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 { ReactElement, ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { PressableBox } from \"../containers/PressableBox\";\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 variant: {\n contained: {\n withBackground: true,\n },\n outlined: {\n withBackground: true,\n withBorder: true,\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: 1,\n withBackground: true,\n },\n },\n },\n\n defaultVariants: {\n variant: \"contained\",\n size: \"md\",\n },\n});\n\ntype ButtonFrameProps = GetProps<typeof ButtonFrame>;\n\nexport interface ButtonProps extends Except<ButtonFrameProps, \"size\"> {\n icon?: NonNullable<ReactElement>;\n text: ReactNode;\n size?: \"md\" | \"sm\";\n}\n\nconst getDisabledColor = (\n variant:\n | \"contained\"\n | \"elevated\"\n | \"ghost-contained\"\n | \"ghost-outlined\"\n | \"outlined\",\n) => {\n return variant === \"contained\" || variant === \"ghost-contained\"\n ? \"$contrastTextColor:disabled\"\n : \"$textColor:disabled\";\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 color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\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 color={disabled ? getDisabledColor(variant) : undefined}\n contrast={\n (variant === \"contained\" || variant === \"ghost-contained\") &&\n !disabled\n }\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","import {\n CheckRegularIcon,\n InfoRegularIcon,\n WarningCircleRegularIcon,\n WarningRegularIcon,\n} from \"alouette-icons/phosphor-icons\";\nimport type { ReactNode } from \"react\";\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 <WarningCircleRegularIcon />;\n case \"success\":\n return <CheckRegularIcon />;\n case \"danger\":\n return <WarningRegularIcon />;\n default:\n return <InfoRegularIcon />;\n }\n}\n","import { View, styled } from \"@tamagui/core\";\nimport { XRegularIcon } from \"alouette-icons/phosphor-icons\";\nimport type { ComponentProps, ReactNode } from \"react\";\nimport { IconButton } from \"../actions/IconButton\";\nimport { Box } from \"../containers/Box\";\nimport { Icon } from \"../primitives/Icon\";\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 name: \"MessageIconContainer\",\n alignItems: \"center\",\n});\n\nconst MessageDismissButtonContainer = styled(View, {\n name: \"MessageDismissButtonContainer\",\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 <Icon contrast icon={<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 borderBottomWidth: 3,\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: \"$black\",\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 { styled } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport type { Except } from \"type-fest\";\nimport { Box } from \"../containers/Box\";\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 withBackground,\n ...props\n}: StorySectionProps): ReactNode {\n return (\n <InternalStorySection\n marginBottom=\"$4\"\n withBackground={withBackground}\n {...props}\n >\n <StoryTitle level={3}>{title}</StoryTitle>\n {children}\n </InternalStorySection>\n );\n}\n\nexport interface StoryProps {\n documentation?: NonNullable<ReactNode>;\n children?: NonNullable<ReactNode>;\n}\n\nexport function Story({ documentation, children }: StoryProps): ReactNode {\n return (\n <>\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 {children}\n </>\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","/* 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\";\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 <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 );\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\";\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"],"names":["variants","getDisabledColor","ScrollViewNative","BreakpointNameEnum","Stack"],"mappings":"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"}