alouette 19.2.0 → 20.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 (54) hide show
  1. package/README.md +3 -1
  2. package/dist/definitions/animations/useTransition.d.ts +2 -2
  3. package/dist/definitions/animations/useTransition.d.ts.map +1 -1
  4. package/dist/definitions/expo/ExternalLink.web.d.ts +1 -1
  5. package/dist/definitions/expo/ExternalLink.web.d.ts.map +1 -1
  6. package/dist/definitions/index.d.ts +2 -0
  7. package/dist/definitions/index.d.ts.map +1 -1
  8. package/dist/definitions/ui/inputs/Select.d.ts +4 -0
  9. package/dist/definitions/ui/inputs/Select.d.ts.map +1 -0
  10. package/dist/definitions/ui/inputs/Select.shared.d.ts +30 -0
  11. package/dist/definitions/ui/inputs/Select.shared.d.ts.map +1 -0
  12. package/dist/definitions/ui/inputs/Select.stories.d.ts +23 -0
  13. package/dist/definitions/ui/inputs/Select.stories.d.ts.map +1 -0
  14. package/dist/definitions/ui/inputs/Select.web.d.ts +4 -0
  15. package/dist/definitions/ui/inputs/Select.web.d.ts.map +1 -0
  16. package/dist/definitions/ui/primitives/FlatList.d.ts.map +1 -1
  17. package/dist/definitions/ui/primitives/ScrollView.d.ts.map +1 -1
  18. package/dist/definitions/ui/primitives/ScrollView.stories.d.ts +17 -0
  19. package/dist/definitions/ui/primitives/ScrollView.stories.d.ts.map +1 -0
  20. package/dist/definitions/ui/primitives/SectionList.d.ts.map +1 -1
  21. package/dist/index-browser.es.js +208 -14
  22. package/dist/index-browser.es.js.map +1 -1
  23. package/dist/index-node22.cjs +242 -13
  24. package/dist/index-node22.cjs.map +1 -1
  25. package/dist/index-node22.mjs +243 -15
  26. package/dist/index-node22.mjs.map +1 -1
  27. package/dist/index-react-native.cjs.js +242 -13
  28. package/dist/index-react-native.cjs.js.map +1 -1
  29. package/dist/index-react-native.es.js +243 -15
  30. package/dist/index-react-native.es.js.map +1 -1
  31. package/package.json +77 -76
  32. package/src/index.ts +2 -0
  33. package/src/ui/inputs/Select.shared.tsx +104 -0
  34. package/src/ui/inputs/Select.stories.tsx +135 -0
  35. package/src/ui/inputs/Select.tsx +191 -0
  36. package/src/ui/inputs/Select.web.tsx +159 -0
  37. package/src/ui/primitives/FlatList.tsx +17 -6
  38. package/src/ui/primitives/ScrollView.stories.tsx +92 -0
  39. package/src/ui/primitives/ScrollView.tsx +14 -4
  40. package/src/ui/primitives/SectionList.tsx +15 -5
  41. package/CHANGELOG.md +0 -711
  42. package/skills/alouette-actions/SKILL.md +0 -151
  43. package/skills/alouette-animation/SKILL.md +0 -214
  44. package/skills/alouette-external-links/SKILL.md +0 -108
  45. package/skills/alouette-feedback/SKILL.md +0 -133
  46. package/skills/alouette-forms/SKILL.md +0 -140
  47. package/skills/alouette-icons/SKILL.md +0 -122
  48. package/skills/alouette-layout/SKILL.md +0 -189
  49. package/skills/alouette-layout/references/spacing-radius-shadow.md +0 -53
  50. package/skills/alouette-responsive/SKILL.md +0 -155
  51. package/skills/alouette-setup/SKILL.md +0 -299
  52. package/skills/alouette-theming/SKILL.md +0 -208
  53. package/skills/alouette-theming/references/tokens.md +0 -74
  54. package/skills/alouette-typography/SKILL.md +0 -151
package/README.md CHANGED
@@ -13,6 +13,8 @@
13
13
  <a href="https://npmjs.org/package/alouette"><img src="https://img.shields.io/npm/types/alouette.svg?style=flat-square" alt="types"></a>
14
14
  </p>
15
15
 
16
+ ## Introduction
17
+
16
18
  Alouette provides a comprehensive set of universal components that render on both
17
19
  web and React Native, styled entirely through Tailwind `className` via
18
20
  [NativeWind v5](https://www.nativewind.dev/). Themes, accents, and design tokens
@@ -57,7 +59,7 @@ themes and utilities from the imported `global.css` and scans your sources via
57
59
 
58
60
  ```js
59
61
  // metro.config.cjs
60
- const { withAlouetteConfig } = require("alouette/metro");
62
+ const { withAlouetteConfig } = require("alouette/metro.cjs");
61
63
  const { getDefaultConfig } = require("expo/metro-config.js");
62
64
 
63
65
  module.exports = withAlouetteConfig(getDefaultConfig(__dirname));
@@ -1,7 +1,7 @@
1
1
  import { type TransitionName } from "./curves";
2
- export declare function useTransitionScale(active: boolean, name?: TransitionName, pressedScale?: number): {
2
+ export declare function useTransitionScale(active: boolean, name?: TransitionName, pressedScale?: number): import("react-native-reanimated/lib/typescript/hook/commonTypes").AnimatedStyleHandle<{
3
3
  transform: {
4
4
  scale: number;
5
5
  }[];
6
- };
6
+ }>;
7
7
  //# sourceMappingURL=useTransition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTransition.d.ts","sourceRoot":"","sources":["../../../src/animations/useTransition.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,cAAuB,EAC7B,YAAY,SAAQ;;;;EAQrB"}
1
+ {"version":3,"file":"useTransition.d.ts","sourceRoot":"","sources":["../../../src/animations/useTransition.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,IAAI,GAAE,cAAuB,EAC7B,YAAY,SAAQ;;;;GAQrB"}
@@ -1,4 +1,4 @@
1
1
  import type { FunctionComponent } from "react";
2
2
  import type { ExternalLinkProps } from "./ExternalLink";
3
- export declare function ExternalLink<C extends FunctionComponent<any>>({ as: C, href, openLinkBehavior, onPress, ...props }: ExternalLinkProps<C>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function ExternalLink<C extends FunctionComponent<any>>({ as: C, href, openLinkBehavior, onPress, ...props }: ExternalLinkProps<C>): import("react").JSX.Element;
4
4
  //# sourceMappingURL=ExternalLink.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalLink.web.d.ts","sourceRoot":"","sources":["../../../src/expo/ExternalLink.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAC7D,EAAE,EAAE,CAAC,EACL,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,2CAWtB"}
1
+ {"version":3,"file":"ExternalLink.web.d.ts","sourceRoot":"","sources":["../../../src/expo/ExternalLink.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,wBAAgB,YAAY,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAC7D,EAAE,EAAE,CAAC,EACL,IAAI,EACJ,gBAAgB,EAChB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BAWtB"}
@@ -54,6 +54,8 @@ export type { TextAreaProps } from "./ui/inputs/TextArea";
54
54
  export { TextArea } from "./ui/inputs/TextArea";
55
55
  export type { SwitchProps } from "./ui/inputs/Switch";
56
56
  export { Switch } from "./ui/inputs/Switch";
57
+ export type { SelectOption, SelectProps } from "./ui/inputs/Select.shared";
58
+ export { Select } from "./ui/inputs/Select";
57
59
  export type { BadgeProps } from "./ui/feedback/Badge";
58
60
  export { Badge } from "./ui/feedback/Badge";
59
61
  export type { MessageProps } from "./ui/feedback/Message";
@@ -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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"}
@@ -0,0 +1,4 @@
1
+ import { type ReactNode } from "react";
2
+ import { type SelectProps } from "./Select.shared";
3
+ export declare function Select({ accent, ...rest }: SelectProps): ReactNode;
4
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Select.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AASjD,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,iBAAiB,CAAC;AAwKzB,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,GAAG,SAAS,CAMlE"}
@@ -0,0 +1,30 @@
1
+ import { type ReactNode } from "react";
2
+ import type { Accent } from "../../core/AlouetteConfig";
3
+ export interface SelectOption {
4
+ label: string;
5
+ value: string;
6
+ disabled?: boolean;
7
+ }
8
+ export interface SelectProps {
9
+ options: SelectOption[];
10
+ /** Controlled selected value. */
11
+ value?: string;
12
+ /** Initial value for uncontrolled usage. */
13
+ defaultValue?: string;
14
+ onValueChange?: (value: string) => void;
15
+ placeholder?: string;
16
+ disabled?: boolean;
17
+ accent?: Accent;
18
+ "aria-label"?: string;
19
+ "aria-labelledby"?: string;
20
+ testID?: string;
21
+ }
22
+ export declare function useControllableValue(controlled: string | undefined, defaultValue: string | undefined, onValueChange?: (value: string) => void): readonly [string | undefined, (next: string) => void];
23
+ export declare const selectTriggerBaseClassName: string;
24
+ export interface SelectTriggerContentProps {
25
+ label?: string;
26
+ placeholder?: string;
27
+ disabled?: boolean;
28
+ }
29
+ export declare function SelectTriggerContent({ label, placeholder, disabled, }: SelectTriggerContentProps): ReactNode;
30
+ //# sourceMappingURL=Select.shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.shared.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Select.shared.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACtC,SAAS,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,CAevD;AAMD,eAAO,MAAM,0BAA0B,QAI5B,CAAC;AAeZ,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,WAAW,EACX,QAAQ,GACT,EAAE,yBAAyB,GAAG,SAAS,CAqBvC"}
@@ -0,0 +1,23 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { Select } from "./Select";
3
+ type ThisStory = StoryObj<typeof Select>;
4
+ declare const _default: {
5
+ title: string;
6
+ component: typeof Select;
7
+ parameters: {
8
+ componentSubtitle: string;
9
+ };
10
+ argTypes: {
11
+ placeholder: {
12
+ control: "text";
13
+ };
14
+ disabled: {
15
+ control: "boolean";
16
+ };
17
+ };
18
+ };
19
+ export default _default;
20
+ export declare const PreviewSelectStory: ThisStory;
21
+ export declare const Variants: ThisStory;
22
+ export declare const Tests: StoryObj<typeof Select>;
23
+ //# sourceMappingURL=Select.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.stories.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Select.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC;;;;;;;;;;;;;;;;AAmBzC,wBAWgC;AAEhC,eAAO,MAAM,kBAAkB,EAAE,SAGhC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SA0DtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,MAAM,CA6BzC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ReactNode } from "react";
2
+ import { type SelectProps } from "./Select.shared";
3
+ export declare function Select({ options, value, defaultValue, onValueChange, placeholder, disabled, accent, testID, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, }: SelectProps): ReactNode;
4
+ //# sourceMappingURL=Select.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Select.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtD,OAAO,EACL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAgEzB,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,GAClC,EAAE,WAAW,GAAG,SAAS,CA0EzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatList.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/FlatList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAEL,KAAK,aAAa,IAAI,eAAe,EACtC,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAE1D,eAAO,MAAM,QAAQ,EAIf,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC"}
1
+ {"version":3,"file":"FlatList.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/FlatList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,aAAa,IAAI,eAAe,EAGtC,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAQ1D,eAAO,MAAM,QAAQ,EAOhB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/ScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAEL,KAAK,eAAe,IAAI,iBAAiB,EAC1C,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,EAGjB,aAAa,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/ScrollView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAEL,KAAK,eAAe,IAAI,iBAAiB,EAG1C,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAOhD,eAAO,MAAM,UAAU,EAMlB,aAAa,CAAC,eAAe,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ declare const _default: {
3
+ title: string;
4
+ component: import("react").ComponentType<import("react-native").ScrollViewProps>;
5
+ parameters: {
6
+ componentSubtitle: string;
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ };
14
+ export default _default;
15
+ export declare const PreviewStory: StoryObj;
16
+ export declare const VariantsStory: StoryObj;
17
+ //# sourceMappingURL=ScrollView.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.stories.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/ScrollView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;;;;;;;;;;;;;AAQ5D,wBAsBoC;AA4BpC,eAAO,MAAM,YAAY,EAAE,QAO1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAwB3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SectionList.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/SectionList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAEL,KAAK,gBAAgB,IAAI,kBAAkB,EAC5C,MAAM,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/C,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,QAAQ,GAAG,eAAe,IACxB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAExC,eAAO,MAAM,WAAW,EAGlB,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,EACtC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,KACrC,SAAS,CAAC"}
1
+ {"version":3,"file":"SectionList.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/SectionList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,gBAAgB,IAAI,kBAAkB,EAG5C,MAAM,cAAc,CAAC;AAEtB,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/C,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,QAAQ,GAAG,eAAe,IACxB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAOxC,eAAO,MAAM,WAAW,EAMnB,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,EACrC,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,KACrC,SAAS,CAAC"}
@@ -4,6 +4,7 @@ import { createContext, useContext, forwardRef, Children, cloneElement, Fragment
4
4
  import { useColorScheme, View as View$1, Text as Text$1, ScrollView as ScrollView$1, FlatList as FlatList$1, SectionList as SectionList$1, Pressable, Platform, TextInput, useWindowDimensions } from 'react-native-web';
5
5
  import { extendTailwindMerge, twMerge as twMerge$1 } from 'tailwind-merge';
6
6
  import { tv } from 'tailwind-variants';
7
+ import { CaretDownRegularIcon } from 'alouette-icons/phosphor-icons/CaretDownRegularIcon';
7
8
  import { CheckRegularIcon } from 'alouette-icons/phosphor-icons/CheckRegularIcon';
8
9
  import { InfoRegularIcon } from 'alouette-icons/phosphor-icons/InfoRegularIcon';
9
10
  import { WarningRegularIcon } from 'alouette-icons/phosphor-icons/WarningRegularIcon';
@@ -693,21 +694,30 @@ const Paragraph = forwardRef(
693
694
  }
694
695
  );
695
696
 
696
- const ScrollView = styled$1(ScrollView$1, {
697
- className: "style",
698
- contentContainerClassName: "contentContainerStyle"
699
- });
697
+ const ScrollView = styled$1(
698
+ ScrollView$1,
699
+ {
700
+ className: "style",
701
+ contentContainerClassName: "contentContainerStyle"
702
+ }
703
+ );
700
704
 
701
- const FlatList = styled$1(FlatList$1, {
702
- className: "style",
703
- contentContainerClassName: "contentContainerStyle",
704
- columnWrapperClassName: "columnWrapperStyle"
705
- });
705
+ const FlatList = styled$1(
706
+ FlatList$1,
707
+ {
708
+ className: "style",
709
+ contentContainerClassName: "contentContainerStyle",
710
+ columnWrapperClassName: "columnWrapperStyle"
711
+ }
712
+ );
706
713
 
707
- const SectionList = styled$1(SectionList$1, {
708
- className: "style",
709
- contentContainerClassName: "contentContainerStyle"
710
- });
714
+ const SectionList = styled$1(
715
+ SectionList$1,
716
+ {
717
+ className: "style",
718
+ contentContainerClassName: "contentContainerStyle"
719
+ }
720
+ );
711
721
 
712
722
  const Stack = forwardRef(
713
723
  ({ className, ...props }, ref) => {
@@ -1789,6 +1799,190 @@ function Switch({ accent, ...rest }) {
1789
1799
  return /* @__PURE__ */ jsx(AccentScope, { accent, children: /* @__PURE__ */ jsx(SwitchInner, { ...rest }) });
1790
1800
  }
1791
1801
 
1802
+ function useControllableValue(controlled, defaultValue, onValueChange) {
1803
+ const [internal, setInternal] = useState(defaultValue);
1804
+ const value = controlled ?? internal;
1805
+ const setValue = useCallback(
1806
+ (next) => {
1807
+ if (controlled === void 0) {
1808
+ setInternal(next);
1809
+ }
1810
+ if (next !== value) {
1811
+ onValueChange?.(next);
1812
+ }
1813
+ },
1814
+ [controlled, onValueChange, value]
1815
+ );
1816
+ return [value, setValue];
1817
+ }
1818
+ const triggerLabelVariants = tv({
1819
+ base: "flex-1 text-base",
1820
+ variants: {
1821
+ // Mirrors InputText: sharp value, form-placeholder, form-disabled-text.
1822
+ state: {
1823
+ value: "text-sharp",
1824
+ placeholder: "text-form-placeholder",
1825
+ disabled: "text-form-disabled-text"
1826
+ }
1827
+ },
1828
+ defaultVariants: { state: "value" }
1829
+ });
1830
+ function SelectTriggerContent({
1831
+ label,
1832
+ placeholder,
1833
+ disabled
1834
+ }) {
1835
+ const state = (() => {
1836
+ if (label === void 0) return "placeholder";
1837
+ if (disabled) return "disabled";
1838
+ return "value";
1839
+ })();
1840
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1841
+ /* @__PURE__ */ jsx(Text, { numberOfLines: 1, className: triggerLabelVariants({ state }), children: label ?? placeholder ?? "" }),
1842
+ /* @__PURE__ */ jsx(
1843
+ Icon,
1844
+ {
1845
+ icon: /* @__PURE__ */ jsx(CaretDownRegularIcon, {}),
1846
+ size: 18,
1847
+ className: disabled ? "text-form-disabled-text" : "text-muted"
1848
+ }
1849
+ )
1850
+ ] });
1851
+ }
1852
+
1853
+ const wrapperVariants = tv(
1854
+ {
1855
+ base: [
1856
+ "flex-row flex-1 rounded-md border min-h-11",
1857
+ "transition-[border-color,outline-color] duration-200 ease-in",
1858
+ "outline-interactive-outlined-pressable"
1859
+ // for a proper outline color transition
1860
+ ].join(" "),
1861
+ variants: {
1862
+ // bg lives in each branch (not base) so the disabled bg never competes
1863
+ // with bg-highlight: two same-specificity background utilities would let
1864
+ // stylesheet order, not className order, decide the winner.
1865
+ disabled: {
1866
+ true: "bg-disabled-interactive-muted border-interactive-outlined-disabled cursor-not-allowed",
1867
+ false: [
1868
+ "bg-highlight",
1869
+ "border-interactive-outlined-pressable",
1870
+ "hover:border-interactive-outlined-hover",
1871
+ "focus-within:border-interactive-outlined-focus",
1872
+ "focus-within:outline-1 focus-within:outline-interactive-outlined-focus focus-within:outline-offset-0",
1873
+ "active:border-interactive-outlined-active"
1874
+ ].join(" ")
1875
+ }
1876
+ },
1877
+ defaultVariants: { disabled: false }
1878
+ },
1879
+ { twMerge: false }
1880
+ );
1881
+ const paddingX = 16;
1882
+ const caretReserve = 26;
1883
+ const selectStyle = (disabled) => ({
1884
+ appearance: "none",
1885
+ WebkitAppearance: "none",
1886
+ boxSizing: "border-box",
1887
+ minHeight: 44,
1888
+ width: "auto",
1889
+ margin: 0,
1890
+ border: 0,
1891
+ background: "transparent",
1892
+ color: "transparent",
1893
+ font: "inherit",
1894
+ paddingTop: 0,
1895
+ paddingBottom: 0,
1896
+ paddingLeft: paddingX,
1897
+ paddingRight: paddingX + caretReserve,
1898
+ outline: "none",
1899
+ cursor: disabled ? "not-allowed" : "pointer"
1900
+ });
1901
+ function Select({
1902
+ options,
1903
+ value,
1904
+ defaultValue,
1905
+ onValueChange,
1906
+ placeholder,
1907
+ disabled,
1908
+ accent,
1909
+ testID,
1910
+ "aria-label": ariaLabel,
1911
+ "aria-labelledby": ariaLabelledby
1912
+ }) {
1913
+ const [current, setValue] = useControllableValue(
1914
+ value,
1915
+ defaultValue,
1916
+ onValueChange
1917
+ );
1918
+ const selected = options.find((option) => option.value === current);
1919
+ const [sharpColor, disabledTextColor, placeholderColor, highlightColor] = useThemeToken([
1920
+ "--color-sharp",
1921
+ "--color-form-disabled-text",
1922
+ "--color-form-placeholder",
1923
+ "--color-highlight"
1924
+ ]);
1925
+ const optionStyle = (optionDisabled) => ({
1926
+ color: optionDisabled ? disabledTextColor : sharpColor,
1927
+ backgroundColor: highlightColor
1928
+ });
1929
+ return /* @__PURE__ */ jsx(AccentScope, { accent, children: /* @__PURE__ */ jsxs(View$1, { className: wrapperVariants({ disabled }), children: [
1930
+ /* @__PURE__ */ jsxs(
1931
+ "select",
1932
+ {
1933
+ value: current ?? "",
1934
+ disabled,
1935
+ "aria-label": ariaLabel,
1936
+ "aria-labelledby": ariaLabelledby,
1937
+ "data-testid": testID,
1938
+ style: selectStyle(disabled),
1939
+ onChange: (event) => {
1940
+ setValue(event.target.value);
1941
+ },
1942
+ children: [
1943
+ placeholder === void 0 ? null : /* @__PURE__ */ jsx(
1944
+ "option",
1945
+ {
1946
+ disabled: true,
1947
+ value: "",
1948
+ style: {
1949
+ color: placeholderColor,
1950
+ backgroundColor: highlightColor
1951
+ },
1952
+ children: placeholder
1953
+ }
1954
+ ),
1955
+ options.map((option) => /* @__PURE__ */ jsx(
1956
+ "option",
1957
+ {
1958
+ value: option.value,
1959
+ disabled: option.disabled,
1960
+ style: optionStyle(option.disabled),
1961
+ children: option.label
1962
+ },
1963
+ option.value
1964
+ ))
1965
+ ]
1966
+ }
1967
+ ),
1968
+ /* @__PURE__ */ jsx(
1969
+ View$1,
1970
+ {
1971
+ pointerEvents: "none",
1972
+ className: "absolute inset-0 flex-row items-center justify-between gap-xs px-m",
1973
+ children: /* @__PURE__ */ jsx(
1974
+ SelectTriggerContent,
1975
+ {
1976
+ label: selected?.label,
1977
+ placeholder,
1978
+ disabled
1979
+ }
1980
+ )
1981
+ }
1982
+ )
1983
+ ] }) });
1984
+ }
1985
+
1792
1986
  const badgeVariants = tv(
1793
1987
  {
1794
1988
  slots: {
@@ -2084,5 +2278,5 @@ function ExternalLink({
2084
2278
  );
2085
2279
  }
2086
2280
 
2087
- export { AccentScope, AlouetteDecorator, AlouetteProvider, Badge, Box, BreakpointNameEnum, Breakpoints, Button, ConfirmationMessage, ExternalLink, ExternalLinkButton, FlatList, GradientBackground, GradientScrollView, HStack, Icon, IconButton, InfoMessage, InputText, InteractiveBox, InternalLinkButton, Message, Paragraph, PresenceList, PresenceOne, PressableBox, PressableListItem, SafeAreaBox, SafeAreaProvider, ScopedTheme, ScrollView, SectionList, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, Surface, Switch, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, Text, TextArea, VStack, View, WarningMessage, animationDurationsMs, styled, themeVariables, useCurrentBreakpointName, useCurrentBreakpointNameFiltered, useCurrentMode, useCurrentTheme, useSafeAreaInsets, useThemeToken };
2281
+ export { AccentScope, AlouetteDecorator, AlouetteProvider, Badge, Box, BreakpointNameEnum, Breakpoints, Button, ConfirmationMessage, ExternalLink, ExternalLinkButton, FlatList, GradientBackground, GradientScrollView, HStack, Icon, IconButton, InfoMessage, InputText, InteractiveBox, InternalLinkButton, Message, Paragraph, PresenceList, PresenceOne, PressableBox, PressableListItem, SafeAreaBox, SafeAreaProvider, ScopedTheme, ScrollView, SectionList, Select, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, Surface, Switch, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, Text, TextArea, VStack, View, WarningMessage, animationDurationsMs, styled, themeVariables, useCurrentBreakpointName, useCurrentBreakpointNameFiltered, useCurrentMode, useCurrentTheme, useSafeAreaInsets, useThemeToken };
2088
2282
  //# sourceMappingURL=index-browser.es.js.map