alouette 15.4.0 → 16.0.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 (31) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +2 -2
  3. package/dist/definitions/components/containers/variants.d.ts.map +1 -1
  4. package/dist/definitions/components/feedback/FeedbackIcon.d.ts.map +1 -1
  5. package/dist/definitions/components/feedback/Message.d.ts.map +1 -1
  6. package/dist/definitions/components/primitives/Icon.stories.d.ts.map +1 -1
  7. package/dist/definitions/core/AlouetteDecorator.d.ts.map +1 -1
  8. package/dist/definitions/core/AlouetteProvider.d.ts.map +1 -1
  9. package/dist/definitions/index.d.ts +1 -0
  10. package/dist/definitions/index.d.ts.map +1 -1
  11. package/dist/index-browser.es.js +25 -17
  12. package/dist/index-browser.es.js.map +1 -1
  13. package/dist/index-node22.cjs +23 -14
  14. package/dist/index-node22.cjs.map +1 -1
  15. package/dist/index-node22.mjs +21 -13
  16. package/dist/index-node22.mjs.map +1 -1
  17. package/dist/index-react-native.cjs.js +23 -14
  18. package/dist/index-react-native.cjs.js.map +1 -1
  19. package/dist/index-react-native.es.js +21 -13
  20. package/dist/index-react-native.es.js.map +1 -1
  21. package/package.json +17 -17
  22. package/src/components/actions/Button.stories.tsx +1 -1
  23. package/src/components/actions/IconButton.stories.tsx +1 -1
  24. package/src/components/containers/variants.ts +5 -0
  25. package/src/components/feedback/FeedbackIcon.tsx +9 -10
  26. package/src/components/feedback/Message.tsx +2 -5
  27. package/src/components/layout/list.tsx +1 -1
  28. package/src/components/primitives/Icon.stories.tsx +7 -24
  29. package/src/core/AlouetteDecorator.tsx +12 -9
  30. package/src/core/AlouetteProvider.tsx +7 -10
  31. package/src/index.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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.0.0](https://github.com/christophehurpeau/alouette/compare/alouette@15.4.0...alouette@16.0.0) (2025-11-04)
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * each icon has its own file to reduce generated bundle size, drop cjs
11
+ * remove SafeAreaProvider from AlouetteProvider
12
+
13
+ ### Features
14
+
15
+ * **deps:** update dependency react-native-svg to v15.14.0 ([#262](https://github.com/christophehurpeau/alouette/issues/262))
16
+ * **deps:** update tamagui to v1.135.4 ([#269](https://github.com/christophehurpeau/alouette/issues/269))
17
+ * each icon has its own file to reduce generated bundle size, drop cjs
18
+ * remove SafeAreaProvider from AlouetteProvider
19
+
20
+ ### Bug Fixes
21
+
22
+ * **deps:** update dependency react-native-safe-area-context to v5.6.2 ([#274](https://github.com/christophehurpeau/alouette/issues/274))
23
+ * throw error when withElevation and translucent screen background used together as it creates a weird shadow below on android
24
+
25
+ Version bump for dependency: alouette-icons
26
+
27
+
6
28
  ## [15.4.0](https://github.com/christophehurpeau/alouette/compare/alouette@15.3.2...alouette@15.4.0) (2025-10-26)
7
29
 
8
30
  ### Features
package/README.md CHANGED
@@ -91,7 +91,7 @@ For detailed examples and API documentation, visit our [Storybook](https://www.c
91
91
  Icons are provided through the integrated `alouette-icons` package:
92
92
 
93
93
  ```tsx
94
- import { ArrowLeftRegularIcon } from "alouette-icons/phosphor-icons";
94
+ import { ArrowLeftRegularIcon } from "alouette-icons/phosphor-icons/ArrowLeftRegularIcon";
95
95
 
96
96
  function MyComponent() {
97
97
  return <ArrowLeftRegularIcon />;
@@ -138,7 +138,7 @@ function MyComponent() {
138
138
 
139
139
  ```tsx
140
140
  import { Button } from "alouette";
141
- import { ArrowLeftRegularIcon } from "alouette-icons/phosphor-icons";
141
+ import { ArrowLeftRegularIcon } from "alouette-icons/phosphor-icons/ArrowLeftRegularIcon";
142
142
 
143
143
  function MyComponent() {
144
144
  return (
@@ -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;;;iBACoC,CAAE,IAAI,CAAC;;;iBAEhD,CAAE,IAAI,CAAC;;;;;;;;CApCb,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BhC,CAAE,IAAI,CAAC;;iBACoC,CAAE,IAAI,CAAC;;iBAEhD,CAAE,IAAI,CAAC;;;iBAHT,CAAE,IAAI,CAAC;;;iBACoC,CAAE,IAAI,CAAC;;;iBAEhD,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;iBAHT,CAAE,IAAI,CAAC;;;iBACoC,CAAE,IAAI,CAAC;;;iBAEhD,CAAE,IAAI,CAAC;;;;;;iBAHT,CAAE,IAAI,CAAC;;;iBACoC,CAAE,IAAI,CAAC;;;iBAEhD,CAAE,IAAI,CAAC;;;;;;;;;;;CAZb,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,KAAK,OAAO,GAAG,aAAa,EAC5B,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;CAoBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,KAAK,OAAO,EACZ,WAAW,mBAAmB,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAnBhC,CAAE,IAAI,CAAC;;;iBACoC,CAAE,IAAI,CAAC;;;iBAEhD,CAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;CAmCb,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;;;;;;;;;;;;;;;;QAoBpC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FeedbackIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/FeedbackIcon.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,UAAU,iBAAiB;IACzB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,GAAG,SAAS,CAWnE"}
1
+ {"version":3,"file":"FeedbackIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/FeedbackIcon.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,UAAU,iBAAiB;IACzB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,GAAG,SAAS,CAWnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/Message.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvD,eAAO,MAAM,YAAY;;;;;;;;;;6CAQd,CAAC;AAEZ,eAAO,MAAM,WAAW;;;;;;;;6CAcb,CAAC;AAYZ,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE,YAAY,GAAG,SAAS,CAoB1B"}
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/Message.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvD,eAAO,MAAM,YAAY;;;;;;;;;;6CAQd,CAAC;AAEZ,eAAO,MAAM,WAAW;;;;;;;;6CAcb,CAAC;AAUZ,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE,YAAY,GAAG,SAAS,CAoB1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Icon.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B,wBAoD8B;AAE9B,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAMlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAiDnD,CAAC"}
1
+ {"version":3,"file":"Icon.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/primitives/Icon.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B,wBAoD8B;AAE9B,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAMlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAgCnD,CAAC"}
@@ -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,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GAElC,CAAC;AAGR,eAAO,MAAM,iBAAiB,EAAE,SAyB/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;AAOvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0GAElC,CAAC;AAGR,eAAO,MAAM,iBAAiB,EAAE,SA2B/B,CAAC"}
@@ -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,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,CAYnC"}
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"}
@@ -45,4 +45,5 @@ export type { GradientBackgroundProps } from "./components/layout/GradientBackgr
45
45
  export * as containersVariants from "./components/containers/variants";
46
46
  export { useSafeAreaInsets } from "./core/useSafeAreaInsets";
47
47
  export type { SVGIconElement } from "./components/primitives/Icon";
48
+ export { SafeAreaProvider } from "./core/SafeAreaProvider";
48
49
  //# sourceMappingURL=index.d.ts.map
@@ -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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"}
@@ -3,9 +3,14 @@ import { isAndroid, styled, View, usePropsAndStyle, Text, isWeb, TamaguiProvider
3
3
  export { Theme, View, styled, withStaticProperties } from '@tamagui/core';
4
4
  import { useSafeAreaInsets as useSafeAreaInsets$1 } from 'react-native-safe-area-context';
5
5
  import { cloneElement, Fragment, Children, createContext, useState, useEffect, useContext } from 'react';
6
- import { InfoRegularIcon, WarningRegularIcon, CheckRegularIcon, WarningCircleRegularIcon, XRegularIcon, CaretRightRegularIcon } from 'alouette-icons/phosphor-icons';
6
+ import { XRegularIcon } from 'alouette-icons/phosphor-icons/XRegularIcon';
7
+ import { CheckRegularIcon } from 'alouette-icons/phosphor-icons/CheckRegularIcon';
8
+ import { InfoRegularIcon } from 'alouette-icons/phosphor-icons/InfoRegularIcon';
9
+ import { WarningCircleRegularIcon } from 'alouette-icons/phosphor-icons/WarningCircleRegularIcon';
10
+ import { WarningRegularIcon } from 'alouette-icons/phosphor-icons/WarningRegularIcon';
7
11
  import { TextInput, ScrollView as ScrollView$1, Platform, useColorScheme, Pressable, StyleSheet } from 'react-native-web';
8
12
  import '@tamagui/core/reset.css';
13
+ import { CaretRightRegularIcon } from 'alouette-icons/phosphor-icons/CaretRightRegularIcon';
9
14
  import { LinearGradient } from 'expo-linear-gradient';
10
15
 
11
16
  const fullscreenStyle = {
@@ -68,6 +73,11 @@ const withBackground = (val, { props }) => {
68
73
  const withScreenBackground = (val, { props }) => {
69
74
  if (!val) return {};
70
75
  if (val === "translucent") {
76
+ if (process.env.NODE_ENV !== "production" && props.withElevation) {
77
+ throw new Error(
78
+ "Cannot use withElevation and translucent screen background together"
79
+ );
80
+ }
71
81
  return {
72
82
  backgroundColor: "$screenBackgroundColor.translucent",
73
83
  backdropFilter: "blur(14px)"
@@ -435,13 +445,13 @@ function InternalLinkButton(props) {
435
445
  function FeedbackIcon({ type }) {
436
446
  switch (type) {
437
447
  case "warning":
438
- return /* @__PURE__ */ jsx(WarningCircleRegularIcon, {});
448
+ return /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(WarningCircleRegularIcon, {}) });
439
449
  case "success":
440
- return /* @__PURE__ */ jsx(CheckRegularIcon, {});
450
+ return /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(CheckRegularIcon, {}) });
441
451
  case "danger":
442
- return /* @__PURE__ */ jsx(WarningRegularIcon, {});
452
+ return /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(WarningRegularIcon, {}) });
443
453
  default:
444
- return /* @__PURE__ */ jsx(InfoRegularIcon, {});
454
+ return /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(InfoRegularIcon, {}) });
445
455
  }
446
456
  }
447
457
 
@@ -470,11 +480,9 @@ const MessageText = styled(Typography, {
470
480
  }
471
481
  });
472
482
  const MessageIconContainer = styled(View, {
473
- name: "MessageIconContainer",
474
483
  alignItems: "center"
475
484
  });
476
485
  const MessageDismissButtonContainer = styled(View, {
477
- name: "MessageDismissButtonContainer",
478
486
  marginRight: "$2"
479
487
  });
480
488
  function Message({
@@ -484,7 +492,7 @@ function Message({
484
492
  onDismiss
485
493
  }) {
486
494
  return /* @__PURE__ */ jsxs(MessageFrame, { theme, children: [
487
- textCentered ? null : /* @__PURE__ */ jsx(MessageIconContainer, { children: /* @__PURE__ */ jsx(Icon, { icon: /* @__PURE__ */ jsx(FeedbackIcon, { type: theme }) }) }),
495
+ textCentered ? null : /* @__PURE__ */ jsx(MessageIconContainer, { children: /* @__PURE__ */ jsx(FeedbackIcon, { type: theme }) }),
488
496
  /* @__PURE__ */ jsx(MessageText, { centered: textCentered, children }),
489
497
  onDismiss ? /* @__PURE__ */ jsx(MessageDismissButtonContainer, { children: /* @__PURE__ */ jsx(
490
498
  IconButton,
@@ -692,10 +700,6 @@ const StoryGrid = {
692
700
  Col: StoryGridCol
693
701
  };
694
702
 
695
- function SafeAreaProvider({ children }) {
696
- return children;
697
- }
698
-
699
703
  const useDefaultThemeFromColorScheme = () => {
700
704
  const colorScheme = useColorScheme();
701
705
  return colorScheme || "light";
@@ -706,7 +710,7 @@ function AlouetteProvider({
706
710
  defaultTheme = "light",
707
711
  disableInjectCSS
708
712
  }) {
709
- return /* @__PURE__ */ jsx(SafeAreaProvider, { children: /* @__PURE__ */ jsx(
713
+ return /* @__PURE__ */ jsx(
710
714
  TamaguiProvider,
711
715
  {
712
716
  config: tamaguiConfig,
@@ -714,7 +718,11 @@ function AlouetteProvider({
714
718
  disableInjectCSS,
715
719
  children
716
720
  }
717
- ) });
721
+ );
722
+ }
723
+
724
+ function SafeAreaProvider({ children }) {
725
+ return children;
718
726
  }
719
727
 
720
728
  const AlouetteTamaguiConfigContext = createContext(null);
@@ -729,7 +737,7 @@ const AlouetteDecorator = (storyFn, context) => {
729
737
  setTheme("light");
730
738
  }
731
739
  }, [context.globals.backgrounds?.value]);
732
- return /* @__PURE__ */ jsx(
740
+ return /* @__PURE__ */ jsx(SafeAreaProvider, { children: /* @__PURE__ */ jsx(
733
741
  AlouetteProvider,
734
742
  {
735
743
  tamaguiConfig: context.parameters.tamaguiConfig,
@@ -742,7 +750,7 @@ const AlouetteDecorator = (storyFn, context) => {
742
750
  }
743
751
  )
744
752
  }
745
- );
753
+ ) });
746
754
  };
747
755
 
748
756
  function WithTamaguiConfig({
@@ -892,5 +900,5 @@ const useSafeAreaInsets = () => ({
892
900
  right: 0
893
901
  });
894
902
 
895
- export { AlouetteDecorator, AlouetteProvider, Box, Button, ExternalLinkButton, GradientBackground, HStack, Icon, IconButton, InputText, InternalLinkButton, Message, PressableBox, PressableListItem, SafeAreaBox, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, TextArea, Typography, TypographyParagraph, VStack, WithTamaguiConfig, variants$1 as containersVariants, useCurrentBreakpointName, useDefaultThemeFromColorScheme, useSafeAreaInsets };
903
+ 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 };
896
904
  //# 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/SafeAreaProvider.web.ts","../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","../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 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 {\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 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\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 { ReactNode } from \"react\";\n\nexport function SafeAreaProvider({ children }: { children: ReactNode }) {\n return children;\n}\n","import type { TamaguiProviderProps } from \"@tamagui/core\";\nimport { TamaguiProvider } from \"@tamagui/core\";\nimport type { ReactNode } from \"react\";\nimport { useColorScheme } from \"react-native\";\nimport { SafeAreaProvider } from \"./SafeAreaProvider\";\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 <SafeAreaProvider>\n <TamaguiProvider\n config={tamaguiConfig}\n defaultTheme={defaultTheme}\n disableInjectCSS={disableInjectCSS}\n >\n {children}\n </TamaguiProvider>\n </SafeAreaProvider>\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","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":";;;;;;;;;;AAEO,MAAM,eAAA,GAAkB;AAAA,EAC7B,QAAA,EAAU,UAAA;AAAA,EACV,GAAA,EAAK,CAAA;AAAA,EACL,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO,CAAA;AAAA,EACP,MAAA,EAAQ;AACV,CAAA;AAIO,MAAM,uBAAuB,CAClC,IAAA,EACA,EAAE,QAAA,EAAU,WAAA,EAAa,SAAQ,KAC9B;AACH,EAAA,MAAM,OAAA,GAAU,OAAA,EAAS,UAAA,CAAW,QAAQ,CAAA;AAC5C,EAAA,MAAM,MAAA,GACJ,gBAAgB,MAAA,GACZ,mBAAA;AAAA;AAAA,IAEA,gBAAgB,OAAA,GAAU,OAAA,CAAQ,MAAM,CAAC,CAAA,GAAI,YAAY,WAAW,CAAA;AAAA,GAAA;AAE1E,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,SAAA,CAAA,EAAY;AAAA,EACjD;AAEA,EAAA,IAAI,SAAS,aAAA,EAAe;AAE1B,IAAA,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAG;AAAA,EACxC;AAEA,EAAA,IAAI,SAAS,cAAA,EAAgB;AAC3B,IAAA,OAAO;AAAA,MACL,iBAAA,EAAmB;AAAA,QACjB,YAAA,EAAc,CAAA;AAAA,QACd,YAAA,EAAc,OAAA;AAAA,QACd,aAAA,EAAe,CAAA;AAAA,QACf,YAAA,EAAc,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA;AAAA;AAClC,KACF;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,CAAC,IAAI,GAAG,OAAA,GAAU,gBAAgB,CAAA,CAAA,EAAI,MAAM,IAAI,IAAI,CAAA,CAAA;AAAA,IACpD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA,EAAS;AAAA,IACjD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA,EAAS;AAAA,IACjD,UAAA,EAAY,EAAE,CAAC,IAAI,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA,MAAA,CAAA;AAAS,GACnD;AACF,CAAA;;AC1CO,MAAM,UAAA,GAAa,CACxB,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,OAAO;AAAA,IACL,WAAA,EAAa,OAAO,GAAA,KAAQ,SAAA,GAAY,GAAA,GAAM,CAAA;AAAA,IAE9C,GAAI,MAAM,WAAA,GACN,oBAAA,CAAqB,eAAe,KAAK,CAAA,GACzC,EAAE,WAAA,EAAa,cAAA;AAAe,GACpC;AACF,CAAA;AAEO,MAAM,cAAA,GAAiB,CAC5B,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,EAAC;AAElB,EAAA,IAAI,CAAC,KAAA,CAAM,IAAA,IAAQ,CAAC,KAAA,CAAM,YAAA,IAAgB,MAAM,WAAA,EAAa;AAC3D,IAAA,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAAA,EACnE;AAEA,EAAA,OAAO;AAAA,IACL,GAAI,MAAM,WAAA,GACN;AAAA,MACE,GAAG,oBAAA,CAAqB,iBAAA,EAAmB,KAAK,CAAA;AAAA,MAChD,GAAG,oBAAA,CAAqB,cAAA,EAAgB,KAAK;AAAA,KAC/C,GACA;AAAA,MACE,eAAA,EAAiB,KAAA,CAAM,aAAA,GACnB,yCAAA,GACA;AAAA;AACN,GACN;AACF,CAAA;AAEO,MAAM,oBAAA,GAAuB,CAClC,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,EAAC;AAElB,EAAA,IAAI,QAAQ,aAAA,EAAe;AACzB,IAAA,OAAO;AAAA,MACL,eAAA,EAAiB,oCAAA;AAAA,MACjB,cAAA,EAAgB;AAAA,KAClB;AAAA,EACF;AAEA,EAAA,IAAI,MAAM,aAAA,EAAe;AACvB,IAAA,OAAO;AAAA,MACL,eAAA,EAAiB;AAAA,KACnB;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,eAAA,EAAiB;AAAA,GACnB;AACF,CAAA;AAEO,MAAM,aAAA,GAAgB,CAC3B,GAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,CAAC,GAAA,EAAK,OAAO,EAAC;AAElB,EAAA,MAAM,MAAA,GAAS,CAAA;AAEf,EAAA,OAAO;AAAA,IACL,GAAI,KAAA,CAAM,QAAA,GACN,EAAC,GACD;AAAA,MACE,YAAA,EAAc,EAAE,KAAA,EAAO,CAAA,EAAG,MAAA,EAAO;AAAA,MACjC,aAAA,EAAe,IAAA;AAAA,MACf,YAAA,EAAc,CAAA;AAAA,MACd,GAAI,SAAA,GAAY,EAAE,gBAAA,EAAkB,MAAA,GAAS,GAAE,GAAI;AAAA,KACrD;AAAA,IACJ,GAAI,MAAM,WAAA,GACN,oBAAA,CAAqB,eAAe,KAAK,CAAA,GACzC,EAAE,WAAA,EAAa,cAAA;AAAe,GACpC;AACF,CAAA;AAEA,MAAM,aAAA,GAAgB;AAAA,EACpB,YAAA,EAAc,GAAA;AAAA,EACd,OAAA,EAAS;AACX,CAAA;AAEO,MAAM,IAAA,GAAO,CAAC,GAAA,KAAgB;AACnC,EAAA,OAAO,EAAE,KAAA,EAAO,GAAA,EAAK,MAAA,EAAQ,GAAA,EAAI;AACnC,CAAA;AAEO,MAAM,QAAA,GAAW;AAAA,EACtB,MAAM,CAAC,GAAA,EAAc,EAAE,KAAA,EAAO,QAAO,KAAmC;AACtE,IAAA,IAAI,EAAE,UAAU,KAAA,CAAA,EAAQ;AACtB,MAAA,OAAO,aAAA;AAAA,IACT;AACA,IAAA,MAAM,gBAA0C,KAAA,CAAM,IAAA;AACtD,IAAA,MAAM,SAAA,GAAY,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA;AAC3C,IAAA,OAAO;AAAA,MACL,GAAG,aAAA;AAAA,MACH,KAAA,EAAO,SAAA;AAAA,MACP,MAAA,EAAQ,SAAA;AAAA,MACR,QAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,SAAA;AAAA,MACX,QAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW;AAAA,KACb;AAAA,EACF;AACF,CAAA;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,IAAA,EAAM;AACR,CAAA;AAEO,MAAM,WAAA,GAAc,CACzB,oCAAA,EACA,EAAE,OAAM,KACL;AACH,EAAA,IAAI,CAAC,sCAAsC,OAAO,IAAA;AAClD,EAAA,IAAI,MAAM,QAAA,EAAU;AAClB,IAAA,OAAO,EAAE,QAAQ,aAAA,EAAc;AAAA,EACjC;AACA,EAAA,OAAO;AAAA,IACL,MAAA,EACE,oCAAA,KAAyC,IAAA,GACrC,SAAA,GACA,oCAAA;AAAA,IAEN,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,CAAC,EAAE,KAAA,EAAO,MAAM;AAAA,KAC7B;AAAA,IAEA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,CAAC,EAAE,KAAA,EAAO,MAAM;AAAA;AAC7B,GACF;AACF,CAAA;AAEO,MAAM,QAAA,GAAW;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB;AAAA;AAEpB,CAAA;;;;;;;;;;;;;;;AClJO,MAAM,GAAA,GAAM,OAAO,IAAA,EAAM;AAAA,EAC9B,IAAA,EAAM,KAAA;AAAA,YACNA,UAAA;AAAA,EACA,SAAA,EAAW;AACb,CAAU;AAIH,MAAM,WAAA,GAAc,GAAA,CAAI,SAAA,CAM5B,CAAC,KAAA,KAAU;AACZ,EAAA,MAAM,SAASC,mBAAA,EAAkB;AACjC,EAAA,uBACE,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,YAAY,MAAA,CAAO,GAAA;AAAA,MACnB,eAAe,MAAA,CAAO,MAAA;AAAA,MACtB,aAAa,MAAA,CAAO,IAAA;AAAA,MACpB,cAAc,MAAA,CAAO;AAAA;AAAA,GACvB;AAEJ,CAAC;;AC3BM,MAAM,YAAA,GAAe,OAAO,GAAA,EAAK;AAAA,EACtC,WAAA,EAAa,IAAA;AAAA,EAEb,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAA,EAAW;AAAA,QACT,cAAA,EAAgB;AAAA,OAClB;AAAA,MACA,QAAA,EAAU;AAAA,QACR,cAAA,EAAgB,IAAA;AAAA,QAChB,UAAA,EAAY;AAAA,OACd;AAAA,MACA,QAAA,EAAU;AAAA,QACR,cAAA,EAAgB,IAAA;AAAA,QAChB,aAAA,EAAe,IAAA;AAAA,QACf,UAAA,EAAY,IAAA;AAAA,QACZ,WAAA,EAAa;AAAA,OACf;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,cAAA,EAAgB;AAAA,OAClB;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,UAAA,EAAY,CAAA;AAAA,QACZ,cAAA,EAAgB;AAAA;AAClB;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAU;;ACnBV,MAAM,eAAA,GAAkB,CAAC,QAAA,EAAoB,MAAA,KAAqB;AAChE,EAAA,IAAI,UAAU,OAAO,qBAAA;AACrB,EAAA,IAAI,QAAQ,OAAO,kBAAA;AACnB,EAAA,OAAO,YAAA;AACT,CAAA;AAEO,SAAS,IAAA,CAAK;AAAA,EACnB,IAAA;AAAA,EACA,IAAA,GAAO,EAAA;AAAA,EACP,QAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA,GAAQ,eAAA,CAAgB,QAAA,EAAU,MAAM;AAC1C,CAAA,EAAyB;AACvB,EAAA,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA,GAAI,gBAAA;AAAA,IACrB,EAAE,KAAA,EAAO,KAAA,EAAO,IAAA,EAAM,QAAQ,IAAA,EAAK;AAAA,IACnC,EAAE,cAAc,IAAA;AAAK,GACvB;AACA,EAAA,OAAO,aAAa,IAAA,EAAM,EAAE,KAAA,EAAO,GAAG,OAAc,CAAA;AACtD;;AC3BA,MAAM,eAAA,GAAkB,OAAO,YAAA,EAAc;AAAA,EAC3C,IAAA,EAAM,iBAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,QAAA,EAAU,IAAA;AAAA,EACV,YAAA,EAAc,GAAA;AAAA,EAEd,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAA,EAAW;AAAA,QACT,cAAA,EAAgB;AAAA,OAClB;AAAA,MACA,QAAA,EAAU;AAAA,QACR,cAAA,EAAgB,IAAA;AAAA,QAChB,UAAA,EAAY;AAAA,OACd;AAAA,MACA,QAAA,EAAU;AAAA,QACR,cAAA,EAAgB,IAAA;AAAA,QAChB,aAAA,EAAe,IAAA;AAAA,QACf,UAAA,EAAY;AAAA,OACd;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,cAAA,EAAgB;AAAA,OAClB;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,cAAA,EAAgB,IAAA;AAAA,QAChB,UAAA,EAAY;AAAA;AACd;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAQM,SAAS,UAAA,CAAW;AAAA,EACzB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA,GAAO,EAAA;AAAA,EACP,OAAA,GAAU,WAAA;AAAA,EACV,GAAG;AACL,CAAA,EAA+B;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG,cAAA;AAAA,MAEJ,8BAAC,IAAA,EAAA,EAAK,IAAA,EAAM,IAAA,GAAO,CAAA,EAAG,UAAoB,IAAA,EAAY;AAAA;AAAA,GACxD;AAEJ;;AC7DA,MAAM,QAAA,GAAW;AAAA,EACf,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA;AAEV,CAAA;AAEO,MAAM,KAAA,GAAQ,OAAO,IAAA,EAAM;AAAA,EAChC,IAAA,EAAM,OAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,GAAG,QAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,CAAA,EAAG,EAAE,aAAA,EAAe,KAAA,EAAM;AAAA,MAC1B,CAAA,EAAG,EAAE,aAAA,EAAe,QAAA;AAAS;AAC/B;AAEJ,CAAC;AAIM,MAAM,MAAA,GAAS,OAAO,IAAA,EAAM;AAAA,EACjC,IAAA,EAAM,QAAA;AAAA,EACN,aAAA,EAAe,KAAA;AAAA,EACf;AACF,CAAC;AAIM,MAAM,MAAA,GAAS,OAAO,IAAA,EAAM;AAAA,EACjC,IAAA,EAAM,QAAA;AAAA,EACN,aAAA,EAAe;AACjB,CAAC;;AC/BM,MAAM,UAAA,GAAa,OAAO,IAAA,EAAM;AAAA,EACrC,IAAA,EAAM,YAAA;AAAA,EACN,UAAA,EAAY,OAAA;AAAA,EACZ,KAAA,EAAO,YAAA;AAAA,EAEP,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO;AAAA,QACL,IAAA,EAAM,KAAA;AAAA,QACN,MAAA,EAAQ,UAAA;AAAA,QACR,MAAA,EAAQ;AAAA;AACV,KACF;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,aAAA,EAAe,CAAC,IAAA,MAAU;AAAA,QACxB,QAAA,EAAU,IAAA;AAAA,QACV,UAAA,EAAY;AAAA,OACd;AAAA,KACF;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,EAAE,UAAA,EAAY,UAAA,EAAW;AAAA,MACnC,KAAA,EAAO,EAAE,UAAA,EAAY,OAAA,EAAQ;AAAA,MAC7B,UAAA,EAAY,EAAE,UAAA,EAAY,YAAA;AAAa,KACzC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,QAAA,EAAU,EAAE,UAAA,EAAY,UAAA,EAAW;AAAA,MACnC,KAAA,EAAO,EAAE,UAAA,EAAY,OAAA,EAAQ;AAAA,MAC7B,UAAA,EAAY,EAAE,UAAA,EAAY,YAAA;AAAa,KACzC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA;AACT;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAAA;AAGb,CAAU;AAIH,MAAM,mBAAA,GAAsB,OAAO,UAAA,EAAY;AAAA,EACpD,IAAA,EAAM,qBAAA;AAAA,EACN,GAAA,EAAK,GAAA;AAAA,EACL,UAAA,EAAY,MAAA;AAAA,EACZ,MAAA,EAAQ;AACV,CAAU;;AC/CV,MAAM,WAAA,GAAc,OAAO,YAAA,EAAc;AAAA,EACvC,IAAA,EAAM,aAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,QAAA,EAAU,IAAA;AAAA,EACV,SAAA,EAAW,EAAA;AAAA,EAEX,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,iBAAA,EAAmB,KAAA;AAAA,QACnB,YAAA,EAAc,IAAA;AAAA,QACd,SAAA,EAAW;AAAA,OACb;AAAA,MACA,EAAA,EAAI;AAAA,QACF,iBAAA,EAAmB,KAAA;AAAA,QACnB,YAAA,EAAc,KAAA;AAAA,QACd,SAAA,EAAW;AAAA;AACb;AACF,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAU,CAAA;AAUH,SAAS,MAAA,CAAO;AAAA,EACrB,IAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,WAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,QAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,cAAA;AAAA,MAEJ,QAAA,kBAAA,IAAA,CAAC,MAAA,EAAA,EAAO,GAAA,EAAI,KAAA,EAAM,YAAW,QAAA,EAC1B,QAAA,EAAA;AAAA,QAAA,IAAA,oBACC,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,QAAA;AAAA,YACA,IAAA;AAAA,YACA,IAAA,EAAM,IAAA,KAAS,IAAA,GAAO,EAAA,GAAK;AAAA;AAAA,SAC7B;AAAA,wBAEF,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,IAAA,KAAS,IAAA,GAAO,KAAA,GAAQ,KAAA;AAAA,YAC9B,MAAA,EAAO,OAAA;AAAA,YACP,eAAA,EAAiB,IAAA,KAAS,IAAA,GAAO,IAAA,GAAO,KAAA;AAAA,YACxC,QAAA;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA;AACH,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAEO,SAAS,mBACd,KAAA,EACW;AACX,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,GAAA,EAAI,GAAA;AAAA,MACJ,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,QAAA;AAAA,MACP,GAAA,EAAI,qBAAA;AAAA,MACJ,KAAA,EAAO,EAAE,kBAAA,EAAoB,MAAA;AAAO;AAAA,GACtC;AAEJ;AAEO,SAAS,mBACd,KAAA,EACW;AACX,EAAA,2BAAQ,MAAA,EAAA,EAAQ,GAAG,OAAO,GAAA,EAAI,GAAA,EAAI,MAAK,MAAA,EAAO,CAAA;AAChD;;ACtFO,SAAS,YAAA,CAAa,EAAE,IAAA,EAAK,EAAiC;AACnE,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,SAAA;AACH,MAAA,2BAAQ,wBAAA,EAAA,EAAyB,CAAA;AAAA,IACnC,KAAK,SAAA;AACH,MAAA,2BAAQ,gBAAA,EAAA,EAAiB,CAAA;AAAA,IAC3B,KAAK,QAAA;AACH,MAAA,2BAAQ,kBAAA,EAAA,EAAmB,CAAA;AAAA,IAC7B;AACE,MAAA,2BAAQ,eAAA,EAAA,EAAgB,CAAA;AAAA;AAE9B;;ACfO,MAAM,YAAA,GAAe,OAAO,GAAA,EAAK;AAAA,EACtC,IAAA,EAAM,cAAA;AAAA,EACN,UAAA,EAAY,QAAA;AAAA,EACZ,cAAA,EAAgB,IAAA;AAAA,EAChB,YAAA,EAAc,KAAA;AAAA,EACd,iBAAA,EAAmB,IAAA;AAAA,EACnB,aAAA,EAAe,KAAA;AAAA,EACf,GAAA,EAAK;AACP,CAAU,CAAA;AAEH,MAAM,WAAA,GAAc,OAAO,UAAA,EAAY;AAAA,EAC5C,IAAA,EAAM,aAAA;AAAA;AAAA,EAEN,IAAA,EAAM,KAAA;AAAA,EACN,QAAA,EAAU,CAAA;AAAA,EACV,eAAA,EAAiB,IAAA;AAAA,EACjB,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,SAAA,EAAW,QAAA;AAAA,QACX,iBAAA,EAAmB;AAAA;AACrB;AACF;AAEJ,CAAU,CAAA;AAEV,MAAM,oBAAA,GAAuB,OAAO,IAAA,EAAM;AAAA,EACxC,IAAA,EAAM,sBAAA;AAAA,EACN,UAAA,EAAY;AACd,CAAC,CAAA;AAED,MAAM,6BAAA,GAAgC,OAAO,IAAA,EAAM;AAAA,EACjD,IAAA,EAAM,+BAAA;AAAA,EACN,WAAA,EAAa;AACf,CAAC,CAAA;AASM,SAAS,OAAA,CAAQ;AAAA,EACtB,KAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,uBACE,IAAA,CAAC,gBAAa,KAAA,EACX,QAAA,EAAA;AAAA,IAAA,YAAA,GAAe,IAAA,mBACd,GAAA,CAAC,oBAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,kBAAM,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAM,KAAA,EAAO,CAAA,EAAI,CAAA,EAC7C,CAAA;AAAA,oBAEF,GAAA,CAAC,WAAA,EAAA,EAAY,QAAA,EAAU,YAAA,EAAe,QAAA,EAAS,CAAA;AAAA,IAC9C,SAAA,uBACE,6BAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,IAAA,sBAAO,YAAA,EAAA,EAAa,CAAA;AAAA,QACpB,IAAA,EAAM,EAAA;AAAA,QACN,OAAA,EAAQ;AAAA;AAAA,OAEZ,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;;ACxEA,MAAM,eAAA,GAAkB,MAAA;AAAA,EACtB,SAAA;AAAA,EACA;AAAA,cACED,UAAA;AAAA,IAEA,OAAA,EAAS,KAAA;AAAA,IACT,YAAA,EAAc,KAAA;AAAA,IAEd,KAAA,EAAO,8BAAA;AAAA;AAAA;AAAA;AAAA,IAKP,UAAA,EAAY,IAAA;AAAA,IACZ,cAAA,EAAgB,IAAA;AAAA,IAEhB,WAAA,EAAa,CAAA;AAAA;AAAA,IAGb,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,EAAE,SAAS,IAAA;AACb,CAAA;AAEO,MAAM,SAAA,GAAY,OAAO,eAAA,EAAiB;AAAA,EAC/C,IAAA,EAAM,WAAA;AAAA,EACN,WAAA,EAAa,MAAA;AAAA,EACb,KAAA,EAAO;AAAA;AAET,CAAC;AAIM,MAAM,QAAA,GAAW,OAAO,SAAA,EAAW;AAAA,EACxC,SAAA,EAAW;AACb,CAAC;;ACnCM,MAAM,UAAA,GAAa,MAAA;AAAA,EACxBE,YAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM,YAAA;AAAA,IACN,aAAA,EAAe,IAAA;AAAA,IAEf,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,IAAA,EAAM;AAAA;AACR;AACF,GACF;AAAA,EACA;AAAA,IACE,MAAA,EAAQ;AAAA,MACN,qBAAA,EAAuB;AAAA;AACzB;AAEJ;;AClBO,MAAM,UAAA,GAAa,OAAO,UAAA,EAAY;AAAA,EAC3C,MAAA,EAAQ,UAAA;AAAA,EACR,MAAA,EAAQ,YAAA;AAAA,EACR,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,IAAA,EAAK;AAAA,MACrC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,IAAA,EAAK;AAAA,MACrC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,IAAA,EAAK;AAAA,MACrC,CAAA,EAAG,EAAE,IAAA,EAAM,KAAA,EAAO,cAAc,IAAA;AAAK;AACvC,GACF;AAAA,EAEA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO;AAAA;AAEX,CAAU;;ACTV,MAAM,oBAAA,GAAuB,OAAO,MAAA,EAAQ;AAAA,EAC1C,YAAA,EAAc,IAAA;AAAA,EACd,iBAAA,EAAmB,IAAA;AAAA,EACnB,gBAAA,EAAkB,KAAA;AAAA,EAClB,QAAA,EAAU;AAAA,IACR,cAAA,EAAgB;AAAA,MACd,IAAA,EAAM;AAAA,QACJ,eAAA,EAAiB;AAAA;AACnB;AACF;AAEJ,CAAC,CAAA;AASD,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA,GAAQ,CAAA;AAAA,EACR,cAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,IAAA,CAAC,oBAAA,EAAA,EAAqB,cAAA,EAAiC,GAAG,KAAA,EACxD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAQ,KAAA,GAAQ,CAAA,EAAc,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC/C;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,KAAA;AAAA,EACA,QAAA;AAAA,EAEA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,IAAA,CAAC,oBAAA,EAAA,EAAqB,YAAA,EAAa,IAAA,EAAM,GAAG,KAAA,EAC1C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC5B;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,MAAM,gBAAA,GAAmB,QAAQ,QAAA,GAAW,UAAA;AAQrC,SAAS,KAAA,CAAM;AAAA,EACpB,aAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA0B;AACxB,EAAA,4BACG,gBAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,aAAA,oBACC,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,UAAA,EAAW,IAAA;AAAA,QACX,YAAA,EAAa,KAAA;AAAA,QACb,OAAA,EAAQ,KAAA;AAAA,QACR,KAAA,EAAM,SAAA;AAAA,QACN,YAAA,EAAa,KAAA;AAAA,QAEZ,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,IAED,CAAC,SAAS,GAAI,WAAA,GAAc,EAAC,GAAI,CAAC,MAAM,CAAE,CAAA,CAAE,GAAA,CAAI,CAAC,KAAA,qBAChD,GAAA,CAAC,OAAgB,oBAAA,EAAoB,IAAA,EAAC,OAAc,OAAA,EAAQ,KAAA,EACzD,QAAA,EAAA,EADO,KAEV,CACD;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,KAAA,CAAM,OAAA,GAAU,YAAA;AAChB,KAAA,CAAM,UAAA,GAAa,UAAA;;ACtFZ,SAAS,cAAA,CAAe;AAAA,EAC7B,KAAA;AAAA,EACA;AACF,CAAA,EAAmC;AACjC,EAAA,4BACG,UAAA,EAAA,EAAW,KAAA,EAAM,SAAQ,eAAA,EAAgB,MAAA,EAAO,SAAQ,IAAA,EACvD,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAI,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC5B;AAAA,GAAA,EACH,CAAA;AAEJ;;ACfO,MAAM,iBAA4B,CAAC,OAAA,EAAS,EAAE,IAAA,EAAM,WAAU,KAAM;AACzE,EAAA,IAAI,SAAA,KAAc,KAAA,EAAO,OAAO,OAAA,EAAQ;AACxC,EAAA,uBAAO,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAO,IAAA,EAAO,mBAAQ,EAAE,CAAA;AACjD;;ACMA,SAAS,YAAA,CAAa;AAAA,EACpB,QAAA;AAAA,EACA,UAAA,GAAa,OAAA;AAAA,EACb;AACF,CAAA,EAAiC;AAC/B,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAc,QAAA;AAAA,MACb,GAAG;AAAA,QACF,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,GAAG;AAAA,UAClB,aAAA,EAAe,KAAA;AAAA,UACf,cAAA,EAAgB,KAAA;AAAA,UAChB,YAAA,EAAc,IAAA;AAAA,UACd,QAAA,EAAU,WAAW,MAAA,GAAS,MAAA;AAAA,UAC9B,GAAA,EAAK,WAAW,KAAA,GAAQ;AAAA;AAC1B,OACF;AAAA,MAEC,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,QAAA,EAAU,CAAC,KAAA,qBACvB,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,UAAA,EAAW,IAAA;AAAA,UACX,aAAA,EAAc,IAAA;AAAA,UACb,GAAG;AAAA,YACF,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,GAAG;AAAA,cAClB,QAAA,EAAU,CAAA;AAAA,cACV,SAAA,EAAW,WAAW,MAAA,GAAY,CAAA;AAAA,cAClC,UAAA,EAAY,CAAA;AAAA,cACZ,aAAA,EAAe,CAAA;AAAA,cACf,cAAA,EAAgB;AAAA;AAClB,WACF;AAAA,UAEC,QAAA,EAAA;AAAA;AAAA,OAEJ;AAAA;AAAA,GACH;AAEJ;AAQA,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,EAAiC;AAC/B,EAAA,MAAM,QAAA,GAAW,QAAA,CAAS,EAAA,KAAO,KAAA,IAAS,SAAS,EAAA,KAAO,SAAA;AAE1D,EAAA,IAAI,QAAA,CAAS,EAAA,KAAO,KAAA,IAAS,QAAA,KAAa,QAAA,EAAU;AAClD,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,QAAA,IAAY,aAAa,KAAA,EAAO;AAClC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,KAAA,wBACJ,MAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,KAAA,EAAO,CAAA,EAAG,aAAA,EAAe,GAClC,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IACC;AAAA,GAAA,EACH,CAAA,GAEA,QAAA;AAEJ;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAA,EAAK,YAAA;AAAA,EACL,GAAA,EAAK;AACP;;ACtFO,SAAS,gBAAA,CAAiB,EAAE,QAAA,EAAS,EAA4B;AACtE,EAAA,OAAO,QAAA;AACT;;ACUO,MAAM,iCAAiC,MAAM;AAClD,EAAA,MAAM,cAAc,cAAA,EAAe;AACnC,EAAA,OAAO,WAAA,IAAe,OAAA;AACxB;AAEO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA,GAAe,OAAA;AAAA,EACf;AACF,CAAA,EAAqC;AACnC,EAAA,2BACG,gBAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,MAAA,EAAQ,aAAA;AAAA,MACR,YAAA;AAAA,MACA,gBAAA;AAAA,MAEC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;;AC7BO,MAAM,4BAAA,GAA+B,cAE1C,IAAI,CAAA;AAGC,MAAM,iBAAA,GAA+B,CAAC,OAAA,EAAS,OAAA,KAAY;AAChE,EAAA,MAAM,oBAAoB,cAAA,EAAe;AACzC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,QAAA,CAAS,qBAAqB,OAAO,CAAA;AAE/D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,eAAA,GAAkB,OAAA,CAAQ,OAAA,CAAQ,WAAA,EAAa,KAAA;AACrD,IAAA,IAAI,oBAAoB,SAAA,EAAW;AACjC,MAAA,QAAA,CAAS,MAAM,CAAA;AAAA,IACjB,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,OAAA,CAAQ,OAAA,CAAQ,WAAA,EAAa,KAAK,CAAC,CAAA;AAEvC,EAAA,uBACE,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAe,QAAQ,UAAA,CAAW,aAAA;AAAA,MAClC,YAAA,EAAc,KAAA;AAAA,MAEd,QAAA,kBAAA,GAAA;AAAA,QAAC,4BAAA,CAA6B,QAAA;AAAA,QAA7B;AAAA,UACC,KAAA,EAAO,QAAQ,UAAA,CAAW,aAAA;AAAA,UAEzB,kBAAQ,OAAO;AAAA;AAAA;AAClB;AAAA,GACF;AAEJ;;AC1BO,SAAS,iBAAA,CAAkB;AAAA,EAChC;AACF,CAAA,EAAsC;AACpC,EAAA,MAAM,MAAA,GAAS,WAAW,4BAA4B,CAAA;AACtD,EAAA,IAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACA,EAAA,OAAO,OAAO,MAAM,CAAA;AACtB;;ACKO,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACL,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AACP,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,QAAA,CAAA,GAAS,QAAA;AACT,EAAAA,oBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,oBAAA,MAAA,CAAA,GAAO,MAAA;AALG,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA,CAAA;;ACtBL,SAAS,wBAAA,GAA+C;AAC7D,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,IAAI,KAAA,CAAM,IAAA,EAAM,OAAO,kBAAA,CAAmB,IAAA;AAC1C,EAAA,IAAI,KAAA,CAAM,KAAA,EAAO,OAAO,kBAAA,CAAmB,KAAA;AAC3C,EAAA,IAAI,KAAA,CAAM,MAAA,EAAQ,OAAO,kBAAA,CAAmB,MAAA;AAC5C,EAAA,IAAI,KAAA,CAAM,KAAA,EAAO,OAAO,kBAAA,CAAmB,KAAA;AAC3C,EAAA,OAAO,kBAAA,CAAmB,IAAA;AAC5B;AAEO,SAAS,iCAEd,KAAA,EAA6B;AAC7B,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,IAAI,CAAA,IAAK,MAAM,IAAA,EAAM;AACzD,IAAA,OAAO,kBAAA,CAAmB,IAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA,IAAK,MAAM,KAAA,EAAO;AAC3D,IAAA,OAAO,kBAAA,CAAmB,KAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,MAAM,CAAA,IAAK,MAAM,MAAA,EAAQ;AAC7D,IAAA,OAAO,kBAAA,CAAmB,MAAA;AAAA,EAC5B;AACA,EAAA,IAAI,MAAM,QAAA,CAAS,kBAAA,CAAmB,KAAK,CAAA,IAAK,MAAM,KAAA,EAAO;AAC3D,IAAA,OAAO,kBAAA,CAAmB,KAAA;AAAA,EAC5B;AACA,EAAA,OAAO,kBAAA,CAAmB,IAAA;AAC5B;;AChBO,SAAS,iCAAA,CAAkC;AAAA,EAChD,GAAG;AACL,CAAA,EAAsC;AACpC,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,WAAW,CAAA;AAE1C,EAAA,OAAO,QAAQ,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,IAAI,GAAG,KAAA,KAAU;AAC1C,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QAEC,OAAA,EAAS,IAAA,KAAS,MAAA,GAAS,MAAA,GAAS,MAAA;AAAA,QACnC,GAAI,IAAA,KAAS,MAAA,GACV,MAAA,GACA,EAAE,OAAA,EAAS,MAAA,EAAQ,CAAC,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,EAAE,OAAA,EAAS,QAAO,EAAE;AAAA,QACxD,GAAI,KAAA,GAAQ,CAAA,IAAK,UACd,EAAE,CAAC,IAAI,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA,CAAG,CAAC,CAAC,CAAA,CAAE,GAAG,EAAE,OAAA,EAAS,MAAA,IAAS,GACtD,MAAA;AAAA,QAEH,QAAA,EAAA;AAAA,OAAA;AAAA,MATI;AAAA,KAUP;AAAA,EAEJ,CAAC,CAAA;AACH;AAOO,SAAS,0BAAA,CAA2B;AAAA,EACzC,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAsC;AACpC,EAAA,MAAM,qBAAA,GAAwB,gCAAA;AAAA,IAC5B,MAAA,CAAO,KAAK,WAAW;AAAA,GACzB;AAEA,EAAA,OAAO,WAAA,CAAY,qBAAqB,CAAA,IAAK,IAAA;AAC/C;;AClDO,MAAM,SAAA,GAAY,OAAOC,OAAA,EAAO;AAAA,EACrC,IAAA,EAAM,WAAA;AAAA,EACN,QAAA,EAAU,CAAA;AAAA,EACV,UAAA,EAAY,CAAA;AAAA,EACZ,MAAA,EAAQ,CAAA;AAAA,EACR,SAAA,EAAW,CAAA;AAAA,EACX,WAAA,EAAa,cAAA;AAAA,EACb,WAAA,EAAa,CAAA;AAAA,EACb,iBAAA,EAAmB,CAAA;AAAA,EACnB,CAAA,EAAG,IAAA;AAAA,EAEH,QAAA,EAAU;AAAA,IACR,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,MAAA,EAAQ,MAAA;AAAA,QACR,SAAA,EAAW,MAAA;AAAA,QACX,KAAA,EAAO,CAAA;AAAA,QACP,QAAA,EAAU,CAAA;AAAA,QACV,iBAAA,EAAmB,CAAA;AAAA,QACnB,gBAAA,EAAkB,CAAA;AAAA,QAClB,CAAA,EAAG,CAAA;AAAA,QACH,CAAA,EAAG;AAAA;AACL;AACF;AAEJ,CAAU;;ACjBH,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA;AACF,CAAA,EAAsC;AACpC,EAAA,uBACE,GAAA,CAAC,aAAU,OAAA,EACT,QAAA,kBAAA,IAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAe,eAAA;AAAA,MACf,iBAAA,EAAkB,IAAA;AAAA,MAClB,eAAA,EAAgB,IAAA;AAAA,MAEhB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,QAAM,QAAA,EAAS,CAAA;AAAA,wBAChB,GAAA,CAAC,KAAA,EAAA,EAAM,cAAA,EAAe,QAAA,EACpB,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,kBAAM,GAAA,CAAC,qBAAA,EAAA,EAAsB,CAAA,EAAI,IAAA,EAAM,EAAA,EAAI,CAAA,EACnD;AAAA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;;AClBO,SAAS,kBAAA,CAAmB;AAAA,EACjC,KAAA,EAAO,SAAA;AAAA,EACP;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,EAAE,IAAA,EAAM,WAAW,CAAA;AAE1C,EAAA,MAAM,MAAA,GAAS;AAAA,IACb,KAAA,CAAM,qBAAqB,CAAA,EAAG,GAAA,CAAI,KAAK,CAAA;AAAA,IACvC,KAAA,CAAM,sBAAsB,CAAA,EAAG,GAAA,CAAI,KAAK,CAAA;AAAA,IACxC,KAAA,CAAM,mBAAmB,CAAA,EAAG,GAAA,CAAI,KAAK;AAAA,GACvC;AAEA,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAM,IAAA,EAAM,SAAA,EACX,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAA,EAAO,EAAE,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,MACpB,GAAA,EAAK,EAAE,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA,EAAE;AAAA,MAClB,SAAA,EAAW,CAAC,GAAA,EAAK,GAAA,EAAK,CAAC,CAAA;AAAA,MACvB,OAAO,UAAA,CAAW,YAAA;AAAA,MAEjB;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;;AClCO,MAAM,oBAAkD,OAAO;AAAA,EACpE,GAAA,EAAK,CAAA;AAAA,EACL,MAAA,EAAQ,CAAA;AAAA,EACR,IAAA,EAAM,CAAA;AAAA,EACN,KAAA,EAAO;AACT,CAAA;;;;"}
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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"}