@tempoxyz/ds 0.0.1 → 0.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAMjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,+BA2CzC;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAK,IAAI,GAAG,YAAY,CAAC;QAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAE5D,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG;QACzD,QAAQ,EAAE,MAAM,CAAA;QAChB,uFAAuF;QACvF,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;QAC9B,iGAAiG;QACjG,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,uFAAuF;QACvF,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;KAChC,CAAA;;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4ClB,CAAA;IAEM,MAAM,OAAO;;;;;;;;;;;;;;eAMnB,CAAA;IAEM,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6BjB,CAAA;IAEM,MAAM,OAAO,gCAWnB,CAAA;CACF"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/Button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAMjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,+BA+CzC;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAK,IAAI,GAAG,YAAY,CAAC;QAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,CAAC,CAAA;IAE5D,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG;QACzD,QAAQ,EAAE,MAAM,CAAA;QAChB,uFAAuF;QACvF,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;QAC9B,iGAAiG;QACjG,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,uFAAuF;QACvF,YAAY,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;KAChC,CAAA;;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4ClB,CAAA;IAEM,MAAM,OAAO;;;;;;;;;;;;;;eAMnB,CAAA;IAEM,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6BjB,CAAA;IAEM,MAAM,OAAO,gCAWnB,CAAA;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Haptics from 'expo-haptics';
2
3
  import { cloneElement } from 'react';
3
4
  import { Pressable, Text, View } from 'react-native';
4
5
  import { useColor } from '../internal/useColor.js';
@@ -8,7 +9,10 @@ import { Spinner } from './Spinner.js';
8
9
  export function Button(props) {
9
10
  const { appearance, children, disabled, leadingIcon, loading, scale, trailingIcon, variant, ...pressableProps } = props;
10
11
  const color = useColor(styles.label({ appearance, scale, variant }).style);
11
- return (_jsxs(Pressable, { accessibilityRole: "button", "aria-busy": loading, ...pressableProps, disabled: disabled || loading, style: (state) => [
12
+ return (_jsxs(Pressable, { accessibilityRole: "button", "aria-busy": loading, ...pressableProps, disabled: disabled || loading, onPress: (event) => {
13
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
14
+ props.onPress?.(event);
15
+ }, style: (state) => [
12
16
  styles.button({
13
17
  appearance,
14
18
  scale,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/mobile/components/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/mobile/components/Button.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAKjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,+BAsBjD;AAED,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG;QACzD,kBAAkB,EAAE,MAAM,CAAA;QAC1B,QAAQ,EAAE,YAAY,CAAC;YAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;KAC3D,CAAA;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0ClB,CAAA;IAEM,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAwBhB,CAAA;CACF"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAKjC,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,+BA0BjD;AAED,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAC3E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG;QACzD,kBAAkB,EAAE,MAAM,CAAA;QAC1B,QAAQ,EAAE,YAAY,CAAC;YAAE,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;SAAE,CAAC,CAAA;KAC3D,CAAA;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0ClB,CAAA;IAEM,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAwBhB,CAAA;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Haptics from 'expo-haptics';
2
3
  import { cloneElement } from 'react';
3
4
  import { Pressable } from 'react-native';
4
5
  import { useColor } from '../internal/useColor.js';
@@ -7,7 +8,10 @@ import { variants } from '../zyzz.config.js';
7
8
  export function IconButton(props) {
8
9
  const { appearance, children, disabled, scale, variant, ...pressableProps } = props;
9
10
  const color = useColor(styles.icon({ appearance, variant }).style);
10
- return (_jsx(Pressable, { accessibilityRole: "button", ...pressableProps, disabled: disabled, style: (state) => [
11
+ return (_jsx(Pressable, { accessibilityRole: "button", ...pressableProps, disabled: disabled, onPress: (event) => {
12
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
13
+ props.onPress?.(event);
14
+ }, style: (state) => [
11
15
  styles.button({
12
16
  appearance,
13
17
  scale,
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/mobile/components/IconButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/mobile/components/IconButton.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextButton.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/TextButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAA;AAK9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,+BAqBjD;AAED,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QAC9E,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;eASlB,CAAA;IAEM,MAAM,KAAK,0CAGjB,CAAA;CACF"}
1
+ {"version":3,"file":"TextButton.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/TextButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAA;AAK9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,+BAyBjD;AAED,yBAAiB,UAAU,CAAC;IAC1B,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QAC9E,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,MAAM;;;;;;;;;;;;;;;;;eASlB,CAAA;IAEM,MAAM,KAAK,0CAGjB,CAAA;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Haptics from 'expo-haptics';
2
3
  import { Pressable, Text } from 'react-native';
3
4
  import { ChevronRight } from '../icons/index.js';
4
5
  import { useColor } from '../internal/useColor.js';
@@ -8,7 +9,10 @@ export function TextButton(props) {
8
9
  const color = useColor(styles.label().style);
9
10
  return (_jsxs(Pressable, { accessibilityRole: "button",
10
11
  // Figma's hidden tap area extends the 20-point label to 32 points.
11
- hitSlop: { bottom: 6, top: 6 }, ...pressableProps, disabled: disabled, style: (state) => [
12
+ hitSlop: { bottom: 6, top: 6 }, ...pressableProps, disabled: disabled, onPress: (event) => {
13
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
14
+ props.onPress?.(event);
15
+ }, style: (state) => [
12
16
  styles.button({ state: disabled ? 'disabled' : state.pressed ? 'pressed' : undefined })
13
17
  .style,
14
18
  typeof props.style === 'function' ? props.style(state) : props.style,
@@ -1 +1 @@
1
- {"version":3,"file":"TextButton.js","sourceRoot":"","sources":["../../../src/mobile/components/TextButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,UAAU,UAAU,CAAC,KAAuB;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;IAE5C,OAAO,CACL,MAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ;QAC1B,mEAAmE;QACnE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAC1B,cAAc,EAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;iBACpF,KAAK;YACR,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;SACrE,aAED,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,YAAG,QAAQ,GAAQ,EACpD,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,IAC3C,CACb,CAAA;AACH,CAAC;AAQD,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACR,aAAM,GAAG,QAAQ,CAC5B;QACE,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;QACvF,QAAQ,EAAE;YACR,yFAAyF;YACzF,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;SAClE;KACF,EACD,EAAE,EAAE,EAAE,wBAAwB,EAAE,CACjC,CAAA;IAEY,YAAK,GAAG,KAAK,CACxB,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,EAC3D,EAAE,EAAE,EAAE,8BAA8B,EAAE,CACvC,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB"}
1
+ {"version":3,"file":"TextButton.js","sourceRoot":"","sources":["../../../src/mobile/components/TextButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,UAAU,UAAU,CAAC,KAAuB;IAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAA;IAE5C,OAAO,CACL,MAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ;QAC1B,mEAAmE;QACnE,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAC1B,cAAc,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;YAC3D,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC,EACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;iBACpF,KAAK;YACR,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;SACrE,aAED,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,YAAG,QAAQ,GAAQ,EACpD,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,IAC3C,CACb,CAAA;AACH,CAAC;AAQD,MAAM,KAAW,MAAM,CAgBtB;AAhBD,WAAiB,MAAM;IACR,aAAM,GAAG,QAAQ,CAC5B;QACE,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;QACvF,QAAQ,EAAE;YACR,yFAAyF;YACzF,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;SAClE;KACF,EACD,EAAE,EAAE,EAAE,wBAAwB,EAAE,CACjC,CAAA;IAEY,YAAK,GAAG,KAAK,CACxB,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,EAC3D,EAAE,EAAE,EAAE,8BAA8B,EAAE,CACvC,CAAA;AACH,CAAC,EAhBgB,MAAM,KAAN,MAAM,QAgBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/Toggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAIjC,uGAAuG;AACvG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,+BAqBzC;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,GACxF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG;QAC1C,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KACvD,CAAA;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,KAAK,gCASjB,CAAA;IAEM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAkBlB,CAAA;CACF"}
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../../src/mobile/components/Toggle.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAIjC,uGAAuG;AACvG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,+BAsBzC;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,GACxF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG;QAC1C,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;KACvD,CAAA;CACJ;AAED,yBAAiB,MAAM,CAAC;IACf,MAAM,KAAK,gCASjB,CAAA;IAEM,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAkBlB,CAAA;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as Haptics from 'expo-haptics';
2
3
  import { Pressable, View } from 'react-native';
3
4
  import { variables as core } from '../../core/vars.js';
4
5
  import { style, variants } from '../zyzz.config.js';
@@ -6,6 +7,7 @@ import { style, variants } from '../zyzz.config.js';
6
7
  export function Toggle(props) {
7
8
  const { disabled, onValueChange, value, ...pressableProps } = props;
8
9
  return (_jsx(Pressable, { accessibilityRole: "switch", accessibilityState: { checked: value === true, disabled: disabled === true }, ...pressableProps, disabled: disabled, onPress: (event) => {
10
+ void Haptics.selectionAsync();
9
11
  props.onPress?.(event);
10
12
  onValueChange?.(value !== true);
11
13
  }, style: (state) => [
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../src/mobile/components/Toggle.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEnD,uGAAuG;AACvG,MAAM,UAAU,MAAM,CAAC,KAAmB;IACxC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IAEnE,OAAO,CACL,KAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAAE,KACxE,cAAc,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;YACtB,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;QACjC,CAAC,EACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;YACxC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;SACrE,YAED,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,GAAI,GAC3B,CACb,CAAA;AACH,CAAC;AASD,MAAM,KAAW,MAAM,CA+BtB;AA/BD,WAAiB,MAAM;IACR,YAAK,GAAG,KAAK,CACxB;QACE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,cAAc;KACtB,EACD,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAClC,CAAA;IAEY,aAAM,GAAG,QAAQ,CAC5B;QACE,IAAI,EAAE;YACJ,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,cAAc;YACtB,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,cAAc;SACtB;QACD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;QAClD,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAChD,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE;gBACxE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;aAC/E;SACF;KACF,EACD,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAC5B,CAAA;AACH,CAAC,EA/BgB,MAAM,KAAN,MAAM,QA+BtB"}
1
+ {"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../src/mobile/components/Toggle.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE9C,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEnD,uGAAuG;AACvG,MAAM,UAAU,MAAM,CAAC,KAAmB;IACxC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IAEnE,OAAO,CACL,KAAC,SAAS,IACR,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,EAAE,KACxE,cAAc,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,KAAK,OAAO,CAAC,cAAc,EAAE,CAAA;YAC7B,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;YACtB,aAAa,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;QACjC,CAAC,EACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;YACxC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;SACrE,YAED,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,GAAI,GAC3B,CACb,CAAA;AACH,CAAC;AASD,MAAM,KAAW,MAAM,CA+BtB;AA/BD,WAAiB,MAAM;IACR,YAAK,GAAG,KAAK,CACxB;QACE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,aAAa;QACrB,KAAK,EAAE,cAAc;KACtB,EACD,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAClC,CAAA;IAEY,aAAM,GAAG,QAAQ,CAC5B;QACE,IAAI,EAAE;YACJ,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,cAAc;YACtB,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,cAAc;SACtB;QACD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;QAClD,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YAChD,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE;gBACxE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;aAC/E;SACF;KACF,EACD,EAAE,EAAE,EAAE,mBAAmB,EAAE,CAC5B,CAAA;AACH,CAAC,EA/BgB,MAAM,KAAN,MAAM,QA+BtB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tempoxyz/ds",
3
3
  "type": "module",
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "DESIGN.md",
@@ -2118,6 +2118,7 @@
2118
2118
  }
2119
2119
  },
2120
2120
  "peerDependencies": {
2121
+ "expo-haptics": ">=57.0.0",
2121
2122
  "react": "^19.0.0",
2122
2123
  "react-dom": "^19.0.0",
2123
2124
  "react-native": ">=0.86.0 <1.0.0",
@@ -2126,6 +2127,9 @@
2126
2127
  "zyzz": "^0.0.24"
2127
2128
  },
2128
2129
  "peerDependenciesMeta": {
2130
+ "expo-haptics": {
2131
+ "optional": true
2132
+ },
2129
2133
  "react-dom": {
2130
2134
  "optional": true
2131
2135
  },
@@ -4,10 +4,10 @@ Use `@tempoxyz/ds/mobile` for React Native apps that bundle with Metro, such as
4
4
 
5
5
  ## Setup
6
6
 
7
- Install the library with its React Native peers, then wrap your Metro configuration with Zyzz. Metro compiles library and app styles during bundling, so mobile apps import no stylesheet. Components animate with Reanimated, whose Babel plugin Expo configures automatically.
7
+ Install the library with its React Native peers, then wrap your Metro configuration with Zyzz. Metro compiles library and app styles during bundling, so mobile apps import no stylesheet. Components animate with Reanimated, whose Babel plugin Expo configures automatically, and play haptics with `expo-haptics`.
8
8
 
9
9
  ```sh
10
- npx expo install react-native-reanimated react-native-svg react-native-worklets
10
+ npx expo install expo-haptics react-native-reanimated react-native-svg react-native-worklets
11
11
  npm i @tempoxyz/ds zyzz
12
12
  ```
13
13
 
@@ -97,6 +97,7 @@ Components also accept the props and `ref` of the React Native element they rend
97
97
 
98
98
  - Figma defines no pressed or disabled Button, IconButton, or TextButton. Pressed controls render at 65% opacity, and disabled controls render at 50%.
99
99
  - Button's `leadingIcon` and `trailingIcon` match Figma's icon toggles and take the label color. `loading` shows a spinner over the hidden content, keeps the button's size, and blocks presses.
100
+ - Button, IconButton, and TextButton play a light impact haptic when pressed. Toggle plays a selection haptic when its value changes.
100
101
  - Toggle draws Figma's 44 by 28 point track with `Pressable` and the `switch` role, since the native switch has a fixed size.
101
102
  - CodeInput routes typing and one-time-code autofill through one hidden native input. The focused cell is the one that receives the next digit, and dismissing the keyboard ends entry.
102
103
  - Toast renders a single message. Your app positions, queues, and dismisses notifications.
@@ -1,3 +1,4 @@
1
+ import * as Haptics from 'expo-haptics'
1
2
  import { cloneElement, type ComponentPropsWithRef, type ReactElement } from 'react'
2
3
  import { Pressable, Text, View, type ColorValue } from 'react-native'
3
4
  import type * as zyzz from 'zyzz'
@@ -26,6 +27,10 @@ export function Button(props: Button.Props) {
26
27
  aria-busy={loading}
27
28
  {...pressableProps}
28
29
  disabled={disabled || loading}
30
+ onPress={(event) => {
31
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light)
32
+ props.onPress?.(event)
33
+ }}
29
34
  style={(state) => [
30
35
  styles.button({
31
36
  appearance,
@@ -1,3 +1,4 @@
1
+ import * as Haptics from 'expo-haptics'
1
2
  import { cloneElement, type ComponentPropsWithRef, type ReactElement } from 'react'
2
3
  import { Pressable, type ColorValue } from 'react-native'
3
4
  import type * as zyzz from 'zyzz'
@@ -14,6 +15,10 @@ export function IconButton(props: IconButton.Props) {
14
15
  accessibilityRole="button"
15
16
  {...pressableProps}
16
17
  disabled={disabled}
18
+ onPress={(event) => {
19
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light)
20
+ props.onPress?.(event)
21
+ }}
17
22
  style={(state) => [
18
23
  styles.button({
19
24
  appearance,
@@ -1,3 +1,4 @@
1
+ import * as Haptics from 'expo-haptics'
1
2
  import type { ComponentPropsWithRef } from 'react'
2
3
  import { Pressable, Text } from 'react-native'
3
4
  import { ChevronRight } from '../icons/index.js'
@@ -15,6 +16,10 @@ export function TextButton(props: TextButton.Props) {
15
16
  hitSlop={{ bottom: 6, top: 6 }}
16
17
  {...pressableProps}
17
18
  disabled={disabled}
19
+ onPress={(event) => {
20
+ void Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light)
21
+ props.onPress?.(event)
22
+ }}
18
23
  style={(state) => [
19
24
  styles.button({ state: disabled ? 'disabled' : state.pressed ? 'pressed' : undefined })
20
25
  .style,
@@ -1,3 +1,4 @@
1
+ import * as Haptics from 'expo-haptics'
1
2
  import type { ComponentPropsWithRef } from 'react'
2
3
  import { Pressable, View } from 'react-native'
3
4
  import type * as zyzz from 'zyzz'
@@ -15,6 +16,7 @@ export function Toggle(props: Toggle.Props) {
15
16
  {...pressableProps}
16
17
  disabled={disabled}
17
18
  onPress={(event) => {
19
+ void Haptics.selectionAsync()
18
20
  props.onPress?.(event)
19
21
  onValueChange?.(value !== true)
20
22
  }}