alouette 18.1.0 → 18.3.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
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
+ ## [18.3.0](https://github.com/christophehurpeau/alouette/compare/alouette@18.2.0...alouette@18.3.0) (2026-02-26)
7
+
8
+ ### Features
9
+
10
+ * add onValueChange prop to useControllableCheckedState and Switch component
11
+ * allow all props for SafeAreaBox except paddings
12
+
13
+ ## [18.2.0](https://github.com/christophehurpeau/alouette/compare/alouette@18.1.0...alouette@18.2.0) (2026-02-26)
14
+
15
+ ### Features
16
+
17
+ * export Switch component and its props
18
+ * improve switch render on native
19
+
20
+ Version bump for dependency: alouette-icons
21
+
22
+
6
23
  ## [18.1.0](https://github.com/christophehurpeau/alouette/compare/alouette@18.0.0...alouette@18.1.0) (2026-02-25)
7
24
 
8
25
  ### Features
@@ -48,4 +48,6 @@ export type { SVGIconElement } from "./ui/primitives/Icon";
48
48
  export { SafeAreaProvider } from "./core/SafeAreaProvider";
49
49
  export { GradientScrollView } from "./ui/layout/GradientScrollView";
50
50
  export type { GradientScrollViewProps } from "./ui/layout/GradientScrollView";
51
+ export { Switch } from "./ui/inputs/Switch";
52
+ export type { SwitchProps } from "./ui/inputs/Switch";
51
53
  //# 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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"}
@@ -16,7 +16,7 @@ type BoxFrameProps = GetProps<typeof BoxFrame>;
16
16
  export type BoxProps = Pick<BoxFrameProps, "absoluteFill" | "children" | "layer" | "shadow">;
17
17
  export declare const Box: ComponentType<BoxFrameProps>;
18
18
  export declare const InteractiveBox: ComponentType<BoxFrameProps>;
19
- export declare const SafeAreaBoxFrame: import("@tamagui/web").TamaguiComponent<Omit<import("@tamagui/web").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
19
+ export declare const SafeAreaBox: import("@tamagui/web").TamaguiComponent<Omit<import("@tamagui/web").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
20
20
  size?: number | undefined;
21
21
  interactive?: boolean | import("csstype").Property.Cursor | undefined;
22
22
  tint?: "accent" | undefined;
@@ -51,8 +51,6 @@ export declare const SafeAreaBoxFrame: import("@tamagui/web").TamaguiComponent<O
51
51
  withFocusVisibleOutline?: boolean | undefined;
52
52
  withBackground?: "interactive" | "highlight" | "surface" | undefined;
53
53
  }, import("@tamagui/web").StaticConfigPublic>;
54
- type SafeAreaBoxFrameProps = GetProps<typeof SafeAreaBoxFrame>;
55
- export type SafeAreaBoxProps = Pick<SafeAreaBoxFrameProps, "children" | "layer" | "shadow">;
56
- export declare const SafeAreaBox: ComponentType<SafeAreaBoxProps>;
54
+ export type SafeAreaBoxProps = GetProps<typeof SafeAreaBox>;
57
55
  export {};
58
56
  //# sourceMappingURL=Box.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/ui/containers/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,QAAA,MAAM,QAAQ;;;;;;;;;;;6CAMZ,CAAC;AAEH,KAAK,aAAa,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAe/C,MAAM,MAAM,QAAQ,GAAG,IAAI,CACzB,aAAa,EACb,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CACjD,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,aAAa,CAAC,aAAa,CAe/B,CAAC;AAEf,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,aAAa,CAAuB,CAAC;AAEhF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;cACjB,KAAK;iBACF,KAAK;oBACF,KAAK;kBACP,KAAK;mBACJ,KAAK;;cAJV,KAAK;iBACF,KAAK;oBACF,KAAK;kBACP,KAAK;mBACJ,KAAK;;;;;;;;;;;;6CAYpB,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,EACrB,UAAU,GAAG,OAAO,GAAG,QAAQ,CAChC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAoB,CAAC"}
1
+ {"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../src/ui/containers/Box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,QAAA,MAAM,QAAQ;;;;;;;;;;;6CAMZ,CAAC;AAEH,KAAK,aAAa,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;AAe/C,MAAM,MAAM,QAAQ,GAAG,IAAI,CACzB,aAAa,EACb,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CACjD,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,aAAa,CAAC,aAAa,CAe/B,CAAC;AAEf,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,aAAa,CAAuB,CAAC;AAEhF,eAAO,MAAM,WAAW;;;;;;;;;;;;cACZ,KAAK;iBACF,KAAK;oBACF,KAAK;kBACP,KAAK;mBACJ,KAAK;;cAJV,KAAK;iBACF,KAAK;oBACF,KAAK;kBACP,KAAK;mBACJ,KAAK;;;;;;;;;;;;6CAYpB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC"}
@@ -1,6 +1,9 @@
1
- import type { ComponentProps } from "react";
1
+ import { type ThemeName } from "@tamagui/core";
2
+ import type { ComponentProps, ReactNode } from "react";
2
3
  import { Switch as NativeSwitch } from "react-native";
3
- export declare function Switch({ checked, ...rest }: Pick<ComponentProps<typeof NativeSwitch>, "aria-labelledby" | "disabled" | "onValueChange"> & {
4
+ export type SwitchProps = Pick<ComponentProps<typeof NativeSwitch>, "aria-labelledby" | "disabled" | "onValueChange"> & {
5
+ theme?: ThemeName;
4
6
  checked?: boolean;
5
- }): import("react/jsx-runtime").JSX.Element;
7
+ };
8
+ export declare function Switch({ theme, ...rest }: SwitchProps): ReactNode;
6
9
  //# sourceMappingURL=Switch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Switch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,wBAAgB,MAAM,CAAC,EAErB,OAAO,EACP,GAAG,IAAI,EACR,EAAE,IAAI,CACL,cAAc,CAAC,OAAO,YAAY,CAAC,EACnC,iBAAiB,GAAG,UAAU,GAAG,eAAe,CACjD,GAAG;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CAEnB,2CAEA"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/ui/inputs/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAY,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,cAAc,CAAC,OAAO,YAAY,CAAC,EACnC,iBAAiB,GAAG,UAAU,GAAG,eAAe,CACjD,GAAG;IACF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CAEnB,CAAC;AA4BF,wBAAgB,MAAM,CAAC,EAErB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,WAAW,GAAG,SAAS,CAMzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkText.stories.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/LinkText.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;;;;;;;;AAE3C,wBAMkC;AAElC,eAAO,MAAM,gBAAgB,EAAE,SAK9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAkDtB,CAAC"}
1
+ {"version":3,"file":"LinkText.stories.d.ts","sourceRoot":"","sources":["../../../../src/ui/primitives/LinkText.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,SAAS,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAC;;;;;;;;AAE3C,wBAMkC;AAElC,eAAO,MAAM,gBAAgB,EAAE,SAK9B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,SAkDtB,CAAC"}
@@ -200,7 +200,7 @@ const Box = process.env.NODE_ENV !== "production" ? (props) => {
200
200
  return /* @__PURE__ */ jsx(BoxFrame, { ...props });
201
201
  } : BoxFrame;
202
202
  const InteractiveBox = InteractiveBoxFrame;
203
- const SafeAreaBoxFrame = BoxFrame.styleable((props) => {
203
+ const SafeAreaBox = BoxFrame.styleable((props) => {
204
204
  const insets = useSafeAreaInsets();
205
205
  return /* @__PURE__ */ jsx(
206
206
  Box,
@@ -213,7 +213,6 @@ const SafeAreaBoxFrame = BoxFrame.styleable((props) => {
213
213
  }
214
214
  );
215
215
  });
216
- const SafeAreaBox = SafeAreaBoxFrame;
217
216
 
218
217
  const PressableBox = styled(InteractiveBox, {
219
218
  role: "button",
@@ -1096,5 +1095,121 @@ const GradientScrollView = ScrollView.styleable(({ gradientTheme, children, ...s
1096
1095
  children
1097
1096
  ] }));
1098
1097
 
1099
- export { AlouetteDecorator, AlouetteProvider, Box, Button, ExternalLinkButton, GradientBackground, GradientScrollView, HStack, Icon, IconButton, InputText, InternalLinkButton, Message, Paragraph, PressableBox, PressableListItem, SafeAreaBox, SafeAreaProvider, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, Text, TextArea, VStack, useCurrentBreakpointName, useDefaultThemeFromColorScheme, useSafeAreaInsets };
1098
+ const useControllableCheckedState = (checked, onChange) => {
1099
+ const [checkedState, setCheckedState] = useState(checked ?? false);
1100
+ return [
1101
+ checked !== void 0 ? checked : checkedState,
1102
+ (newChecked, e) => {
1103
+ setCheckedState((prevValue) => {
1104
+ if (prevValue !== newChecked) {
1105
+ onChange?.(e);
1106
+ }
1107
+ return newChecked;
1108
+ });
1109
+ }
1110
+ ];
1111
+ };
1112
+ const SwitchFrame = styled(InteractiveBox, {
1113
+ theme: "brand",
1114
+ render: "button",
1115
+ role: "switch",
1116
+ layer: "lowered",
1117
+ shadow: "lowered",
1118
+ position: "relative",
1119
+ tabIndex: 0,
1120
+ borderRadius: 1e3,
1121
+ transition: "formElement",
1122
+ disabledStyle: {
1123
+ backgroundColor: "$interactive.forms.backgroundColor:disabled"
1124
+ },
1125
+ // TODO hover/focus
1126
+ focusVisibleStyle: {
1127
+ outlineColor: "$interactive.forms.outlineColor:focus",
1128
+ outlineWidth: 2,
1129
+ outlineStyle: "solid",
1130
+ outlineOffset: 2
1131
+ },
1132
+ variants: {
1133
+ size: {
1134
+ md: {
1135
+ height: 44,
1136
+ width: 66
1137
+ }
1138
+ }
1139
+ },
1140
+ defaultVariants: {
1141
+ size: "md"
1142
+ }
1143
+ });
1144
+ const thumbSize = 44 * 0.8;
1145
+ const SwitchThumb = styled(Box, {
1146
+ withBackground: "highlight",
1147
+ position: "absolute",
1148
+ top: 44 * 0.1,
1149
+ borderRadius: 1e3,
1150
+ center: true,
1151
+ transition: "formElement",
1152
+ shadow: "s",
1153
+ variants: {
1154
+ size: {
1155
+ md: {
1156
+ height: thumbSize,
1157
+ width: thumbSize
1158
+ }
1159
+ },
1160
+ disabled: {
1161
+ true: {
1162
+ backgroundColor: "$text-disabled-muted",
1163
+ shadow: "none"
1164
+ }
1165
+ },
1166
+ checked: {
1167
+ false: {
1168
+ left: 44 * 0.1,
1169
+ hoverStyle: {
1170
+ width: thumbSize + 2
1171
+ },
1172
+ pressStyle: {
1173
+ width: thumbSize + 8
1174
+ }
1175
+ },
1176
+ true: {
1177
+ left: 44 * 0.6,
1178
+ hoverStyle: {
1179
+ left: 44 * 0.6 - 2,
1180
+ width: thumbSize + 2
1181
+ },
1182
+ pressStyle: {
1183
+ left: 44 * 0.6 - 8,
1184
+ width: thumbSize + 8
1185
+ }
1186
+ }
1187
+ }
1188
+ },
1189
+ defaultVariants: {
1190
+ size: "md"
1191
+ }
1192
+ });
1193
+ const Switch = SwitchFrame.styleable(
1194
+ ({ checked, disabled, onChange, ...rest }) => {
1195
+ const [currentChecked, setCurrentChecked] = useControllableCheckedState(
1196
+ checked,
1197
+ onChange
1198
+ );
1199
+ return /* @__PURE__ */ jsx(
1200
+ SwitchFrame,
1201
+ {
1202
+ "aria-checked": currentChecked,
1203
+ disabled,
1204
+ ...rest,
1205
+ onPress: (e) => {
1206
+ setCurrentChecked(!currentChecked, e);
1207
+ },
1208
+ children: /* @__PURE__ */ jsx(SwitchThumb, { checked: currentChecked, disabled })
1209
+ }
1210
+ );
1211
+ }
1212
+ );
1213
+
1214
+ export { AlouetteDecorator, AlouetteProvider, Box, Button, ExternalLinkButton, GradientBackground, GradientScrollView, HStack, Icon, IconButton, InputText, InternalLinkButton, Message, Paragraph, PressableBox, PressableListItem, SafeAreaBox, SafeAreaProvider, ScrollView, Separator, Stack, Story, StoryContainer, StoryDecorator, StoryGrid, StoryTitle, Switch, SwitchBreakpointsUsingDisplayNone, SwitchBreakpointsUsingNull, Text, TextArea, VStack, useCurrentBreakpointName, useDefaultThemeFromColorScheme, useSafeAreaInsets };
1100
1215
  //# sourceMappingURL=index-browser.es.js.map