melta-app 0.6.0 → 0.7.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/README.md +220 -12
- package/docs/architecture.md +11 -4
- package/eslint-rules/melta.d.mts +44 -0
- package/lib/module/a11y/tap-target.js +41 -0
- package/lib/module/a11y/tap-target.js.map +1 -0
- package/lib/module/components/ActionSheet.js +20 -6
- package/lib/module/components/ActionSheet.js.map +1 -1
- package/lib/module/components/Alert.js +11 -7
- package/lib/module/components/Alert.js.map +1 -1
- package/lib/module/components/Avatar.js +7 -2
- package/lib/module/components/Avatar.js.map +1 -1
- package/lib/module/components/BottomSheet.js +11 -3
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/Card.js +4 -3
- package/lib/module/components/Card.js.map +1 -1
- package/lib/module/components/Checkbox.js +8 -5
- package/lib/module/components/Checkbox.js.map +1 -1
- package/lib/module/components/EmptyState.js +2 -1
- package/lib/module/components/EmptyState.js.map +1 -1
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/Image.js +5 -3
- package/lib/module/components/Image.js.map +1 -1
- package/lib/module/components/Modal.js +12 -4
- package/lib/module/components/Modal.js.map +1 -1
- package/lib/module/components/Progress.js +2 -1
- package/lib/module/components/Progress.js.map +1 -1
- package/lib/module/components/Radio.js +11 -3
- package/lib/module/components/Radio.js.map +1 -1
- package/lib/module/components/Screen.js +28 -3
- package/lib/module/components/Screen.js.map +1 -1
- package/lib/module/components/Skeleton.js +2 -1
- package/lib/module/components/Skeleton.js.map +1 -1
- package/lib/module/components/Surface.js +2 -1
- package/lib/module/components/Surface.js.map +1 -1
- package/lib/module/components/TextField.js +16 -4
- package/lib/module/components/TextField.js.map +1 -1
- package/lib/module/components/Toast.js +17 -9
- package/lib/module/components/Toast.js.map +1 -1
- package/lib/module/components/Toggle.js +13 -4
- package/lib/module/components/Toggle.js.map +1 -1
- package/lib/module/components/alert.styles.js +12 -26
- package/lib/module/components/alert.styles.js.map +1 -1
- package/lib/module/components/avatar.styles.js +24 -2
- package/lib/module/components/avatar.styles.js.map +1 -1
- package/lib/module/components/card.validate.js.map +1 -1
- package/lib/module/components/checkbox.styles.js +5 -2
- package/lib/module/components/checkbox.styles.js.map +1 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/modal.styles.js +9 -0
- package/lib/module/components/modal.styles.js.map +1 -1
- package/lib/module/components/radio.styles.js +11 -2
- package/lib/module/components/radio.styles.js.map +1 -1
- package/lib/module/components/safe-area-registry.js +64 -13
- package/lib/module/components/safe-area-registry.js.map +1 -1
- package/lib/module/components/status-colors.js +53 -0
- package/lib/module/components/status-colors.js.map +1 -0
- package/lib/module/components/textfield.styles.js +15 -8
- package/lib/module/components/textfield.styles.js.map +1 -1
- package/lib/module/components/toast.styles.js +36 -25
- package/lib/module/components/toast.styles.js.map +1 -1
- package/lib/module/components/toggle.styles.js +20 -0
- package/lib/module/components/toggle.styles.js.map +1 -1
- package/lib/module/icons/Icon.js +4 -1
- package/lib/module/icons/Icon.js.map +1 -1
- package/lib/module/icons/icon.styles.js +32 -1
- package/lib/module/icons/icon.styles.js.map +1 -1
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/primitives/Button.js +23 -11
- package/lib/module/primitives/Button.js.map +1 -1
- package/lib/module/primitives/Metric.js +2 -1
- package/lib/module/primitives/Metric.js.map +1 -1
- package/lib/module/primitives/Row.js.map +1 -1
- package/lib/module/primitives/Stack.js.map +1 -1
- package/lib/module/primitives/Tag.js +15 -7
- package/lib/module/primitives/Tag.js.map +1 -1
- package/lib/module/primitives/Text.js +13 -5
- package/lib/module/primitives/Text.js.map +1 -1
- package/lib/module/primitives/_internal/focus-ring.js.map +1 -1
- package/lib/module/primitives/button.styles.js +58 -8
- package/lib/module/primitives/button.styles.js.map +1 -1
- package/lib/module/primitives/index.js.map +1 -1
- package/lib/module/primitives/metric.styles.js +2 -2
- package/lib/module/primitives/metric.styles.js.map +1 -1
- package/lib/module/primitives/tag.styles.js +42 -3
- package/lib/module/primitives/tag.styles.js.map +1 -1
- package/lib/module/primitives/text.styles.js +6 -7
- package/lib/module/primitives/text.styles.js.map +1 -1
- package/lib/module/safe-area/index.js +11 -5
- package/lib/module/safe-area/index.js.map +1 -1
- package/lib/module/theme/ThemeProvider.js +5 -2
- package/lib/module/theme/ThemeProvider.js.map +1 -1
- package/lib/module/theme/define-theme.js +14 -1
- package/lib/module/theme/define-theme.js.map +1 -1
- package/lib/module/theme/index.js +6 -8
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/letter-spacing.js +20 -0
- package/lib/module/theme/letter-spacing.js.map +1 -0
- package/lib/module/theme/line-height.js +9 -0
- package/lib/module/theme/line-height.js.map +1 -1
- package/lib/module/theme/native-theme.js +1 -1
- package/lib/typescript/src/a11y/tap-target.d.ts +34 -0
- package/lib/typescript/src/a11y/tap-target.d.ts.map +1 -0
- package/lib/typescript/src/components/ActionSheet.d.ts +8 -1
- package/lib/typescript/src/components/ActionSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/Alert.d.ts +9 -2
- package/lib/typescript/src/components/Alert.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar.d.ts +1 -1
- package/lib/typescript/src/components/Avatar.d.ts.map +1 -1
- package/lib/typescript/src/components/BottomSheet.d.ts +4 -1
- package/lib/typescript/src/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/Card.d.ts +2 -2
- package/lib/typescript/src/components/Checkbox.d.ts +3 -3
- package/lib/typescript/src/components/Checkbox.d.ts.map +1 -1
- package/lib/typescript/src/components/Image.d.ts +4 -3
- package/lib/typescript/src/components/Image.d.ts.map +1 -1
- package/lib/typescript/src/components/Modal.d.ts +9 -3
- package/lib/typescript/src/components/Modal.d.ts.map +1 -1
- package/lib/typescript/src/components/Progress.d.ts +1 -1
- package/lib/typescript/src/components/Progress.d.ts.map +1 -1
- package/lib/typescript/src/components/Radio.d.ts +3 -2
- package/lib/typescript/src/components/Radio.d.ts.map +1 -1
- package/lib/typescript/src/components/Screen.d.ts +28 -5
- package/lib/typescript/src/components/Screen.d.ts.map +1 -1
- package/lib/typescript/src/components/Skeleton.d.ts +1 -1
- package/lib/typescript/src/components/Skeleton.d.ts.map +1 -1
- package/lib/typescript/src/components/Surface.d.ts +1 -1
- package/lib/typescript/src/components/Surface.d.ts.map +1 -1
- package/lib/typescript/src/components/TextField.d.ts +11 -4
- package/lib/typescript/src/components/TextField.d.ts.map +1 -1
- package/lib/typescript/src/components/Toast.d.ts +10 -3
- package/lib/typescript/src/components/Toast.d.ts.map +1 -1
- package/lib/typescript/src/components/Toggle.d.ts +3 -2
- package/lib/typescript/src/components/Toggle.d.ts.map +1 -1
- package/lib/typescript/src/components/action-sheet.styles.d.ts +1 -1
- package/lib/typescript/src/components/action-sheet.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/alert.styles.d.ts +14 -14
- package/lib/typescript/src/components/alert.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/avatar.styles.d.ts +36 -1
- package/lib/typescript/src/components/avatar.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/bottom-sheet.styles.d.ts +1 -1
- package/lib/typescript/src/components/bottom-sheet.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/card.styles.d.ts +1 -1
- package/lib/typescript/src/components/card.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/card.validate.d.ts +1 -1
- package/lib/typescript/src/components/card.validate.d.ts.map +1 -1
- package/lib/typescript/src/components/checkbox.styles.d.ts +6 -3
- package/lib/typescript/src/components/checkbox.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/empty-state.styles.d.ts +1 -1
- package/lib/typescript/src/components/empty-state.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/header.styles.d.ts +1 -1
- package/lib/typescript/src/components/header.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/image.styles.d.ts +1 -1
- package/lib/typescript/src/components/image.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/index.d.ts +18 -18
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/components/modal.styles.d.ts +13 -2
- package/lib/typescript/src/components/modal.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/progress.styles.d.ts +1 -1
- package/lib/typescript/src/components/progress.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/radio.styles.d.ts +10 -2
- package/lib/typescript/src/components/radio.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/safe-area-registry.d.ts +47 -11
- package/lib/typescript/src/components/safe-area-registry.d.ts.map +1 -1
- package/lib/typescript/src/components/screen.styles.d.ts +1 -1
- package/lib/typescript/src/components/screen.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/skeleton.styles.d.ts +1 -1
- package/lib/typescript/src/components/skeleton.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/status-colors.d.ts +33 -0
- package/lib/typescript/src/components/status-colors.d.ts.map +1 -0
- package/lib/typescript/src/components/surface.styles.d.ts +1 -1
- package/lib/typescript/src/components/surface.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/textfield.styles.d.ts +9 -5
- package/lib/typescript/src/components/textfield.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/toast.styles.d.ts +34 -14
- package/lib/typescript/src/components/toast.styles.d.ts.map +1 -1
- package/lib/typescript/src/components/toggle.styles.d.ts +17 -1
- package/lib/typescript/src/components/toggle.styles.d.ts.map +1 -1
- package/lib/typescript/src/icons/Icon.d.ts +12 -6
- package/lib/typescript/src/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/src/icons/icon.styles.d.ts +14 -2
- package/lib/typescript/src/icons/icon.styles.d.ts.map +1 -1
- package/lib/typescript/src/icons/index.d.ts +3 -3
- package/lib/typescript/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +4 -4
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Button.d.ts +8 -4
- package/lib/typescript/src/primitives/Button.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Metric.d.ts +1 -1
- package/lib/typescript/src/primitives/Metric.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Row.d.ts +2 -2
- package/lib/typescript/src/primitives/Row.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Stack.d.ts +2 -2
- package/lib/typescript/src/primitives/Stack.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Tag.d.ts +2 -2
- package/lib/typescript/src/primitives/Tag.d.ts.map +1 -1
- package/lib/typescript/src/primitives/Text.d.ts +20 -6
- package/lib/typescript/src/primitives/Text.d.ts.map +1 -1
- package/lib/typescript/src/primitives/button.styles.d.ts +44 -7
- package/lib/typescript/src/primitives/button.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/index.d.ts +6 -6
- package/lib/typescript/src/primitives/index.d.ts.map +1 -1
- package/lib/typescript/src/primitives/metric.styles.d.ts +1 -1
- package/lib/typescript/src/primitives/metric.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/row.styles.d.ts +1 -1
- package/lib/typescript/src/primitives/row.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/stack.styles.d.ts +1 -1
- package/lib/typescript/src/primitives/stack.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/tag.styles.d.ts +34 -1
- package/lib/typescript/src/primitives/tag.styles.d.ts.map +1 -1
- package/lib/typescript/src/primitives/text.styles.d.ts +2 -4
- package/lib/typescript/src/primitives/text.styles.d.ts.map +1 -1
- package/lib/typescript/src/safe-area/index.d.ts +19 -5
- package/lib/typescript/src/safe-area/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/ThemeProvider.d.ts +2 -2
- package/lib/typescript/src/theme/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theme/define-theme.d.ts +15 -2
- package/lib/typescript/src/theme/define-theme.d.ts.map +1 -1
- package/lib/typescript/src/theme/index.d.ts +14 -14
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/letter-spacing.d.ts +15 -0
- package/lib/typescript/src/theme/letter-spacing.d.ts.map +1 -0
- package/lib/typescript/src/theme/line-height.d.ts +10 -0
- package/lib/typescript/src/theme/line-height.d.ts.map +1 -1
- package/lib/typescript/src/theme/native-theme.d.ts +1 -1
- package/lib/typescript/src/theme/native-theme.d.ts.map +1 -1
- package/lib/typescript/src/theme/types.d.ts +1 -1
- package/package.json +22 -7
- package/src/a11y/tap-target.ts +38 -0
- package/src/components/ActionSheet.tsx +25 -15
- package/src/components/Alert.tsx +37 -10
- package/src/components/Avatar.tsx +12 -4
- package/src/components/BottomSheet.tsx +16 -13
- package/src/components/Card.tsx +9 -8
- package/src/components/Checkbox.tsx +12 -9
- package/src/components/EmptyState.tsx +7 -6
- package/src/components/Header.tsx +4 -4
- package/src/components/Image.tsx +9 -7
- package/src/components/Modal.tsx +22 -6
- package/src/components/Progress.tsx +5 -4
- package/src/components/Radio.tsx +11 -6
- package/src/components/Screen.tsx +66 -8
- package/src/components/Skeleton.tsx +6 -5
- package/src/components/Surface.tsx +5 -4
- package/src/components/TextField.tsx +25 -7
- package/src/components/Toast.tsx +33 -11
- package/src/components/Toggle.tsx +15 -6
- package/src/components/action-sheet.styles.ts +1 -1
- package/src/components/alert.styles.ts +13 -25
- package/src/components/avatar.styles.ts +25 -3
- package/src/components/bottom-sheet.styles.ts +1 -1
- package/src/components/card.styles.ts +1 -1
- package/src/components/card.validate.ts +2 -2
- package/src/components/checkbox.styles.ts +6 -3
- package/src/components/empty-state.styles.ts +1 -1
- package/src/components/header.styles.ts +1 -1
- package/src/components/image.styles.ts +1 -1
- package/src/components/index.ts +18 -18
- package/src/components/modal.styles.ts +11 -2
- package/src/components/progress.styles.ts +1 -1
- package/src/components/radio.styles.ts +11 -2
- package/src/components/safe-area-registry.ts +81 -14
- package/src/components/screen.styles.ts +1 -1
- package/src/components/skeleton.styles.ts +1 -1
- package/src/components/status-colors.ts +59 -0
- package/src/components/surface.styles.ts +1 -1
- package/src/components/textfield.styles.ts +18 -15
- package/src/components/toast.styles.ts +32 -25
- package/src/components/toggle.styles.ts +21 -1
- package/src/icons/Icon.tsx +13 -8
- package/src/icons/icon.styles.ts +38 -3
- package/src/icons/index.ts +3 -3
- package/src/index.ts +4 -4
- package/src/primitives/Button.tsx +28 -14
- package/src/primitives/Metric.tsx +5 -4
- package/src/primitives/Row.tsx +4 -4
- package/src/primitives/Stack.tsx +4 -4
- package/src/primitives/Tag.tsx +29 -11
- package/src/primitives/Text.tsx +28 -11
- package/src/primitives/_internal/focus-ring.tsx +1 -1
- package/src/primitives/button.styles.ts +63 -10
- package/src/primitives/index.ts +6 -6
- package/src/primitives/metric.styles.ts +3 -3
- package/src/primitives/row.styles.ts +1 -1
- package/src/primitives/stack.styles.ts +1 -1
- package/src/primitives/tag.styles.ts +43 -4
- package/src/primitives/text.styles.ts +7 -12
- package/src/safe-area/index.ts +21 -7
- package/src/theme/ThemeProvider.tsx +8 -5
- package/src/theme/define-theme.ts +15 -2
- package/src/theme/index.ts +14 -17
- package/src/theme/letter-spacing.ts +17 -0
- package/src/theme/line-height.ts +9 -0
- package/src/theme/native-theme.ts +2 -2
- package/src/theme/types.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","RNText","View","useTheme","CONTRACTS","resolveMetricStyles","jsx","_jsx","jsxs","_jsxs","Metric","value","unit","label","size","align","style","testID","theme","mode","styles","a11yLabel","filter","Boolean","join","accessible","accessibilityLabel","alignItems","children","flexDirection","valueStyle","unitStyle","labelStyle","__contract","metric"],"sourceRoot":"../../../src","sources":["primitives/Metric.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,IAAI,IAAIC,MAAM,EAAEC,IAAI,QAAwC,cAAc;AACnF,SAASC,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"names":["useMemo","Text","RNText","View","useTheme","CONTRACTS","resolveMetricStyles","jsx","_jsx","jsxs","_jsxs","Metric","value","unit","label","size","align","style","testID","theme","mode","styles","a11yLabel","filter","Boolean","join","accessible","accessibilityLabel","alignItems","children","flexDirection","valueStyle","unitStyle","labelStyle","__contract","metric"],"sourceRoot":"../../../src","sources":["primitives/Metric.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,IAAI,IAAIC,MAAM,EAAEC,IAAI,QAAwC,cAAc;AACnF,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,SAAS,QAAqB,gCAAgC;AACvE,SAASC,mBAAmB,QAAQ,oBAAoB;;AAEpB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAepC,OAAO,SAASC,MAAMA,CAAC;EACrBC,KAAK;EACLC,IAAI;EACJC,KAAK;EACLC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG,OAAO;EACfC,KAAK;EACLC;AACW,CAAC,EAAE;EACd,MAAM;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGhB,QAAQ,CAAC,CAAC;;EAElC;EACA,MAAMiB,MAAM,GAAGrB,OAAO,CAAC,MAAMM,mBAAmB,CAACa,KAAK,EAAEC,IAAI,EAAEL,IAAI,CAAC,EAAE,CAACI,KAAK,EAAEC,IAAI,EAAEL,IAAI,CAAC,CAAC;EAEzF,MAAMO,SAAS,GAAG,CAACV,KAAK,EAAEC,IAAI,EAAEC,KAAK,CAAC,CAACS,MAAM,CAACC,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAEhE,oBACEf,KAAA,CAACP,IAAI;IACHe,MAAM,EAAEA,MAAO;IACfQ,UAAU;IACVC,kBAAkB,EAAEL,SAAU;IAC9BL,KAAK,EAAE,CAAC;MAAEW,UAAU,EAAEZ,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG;IAAa,CAAC,EAAEC,KAAK,CAAE;IAAAY,QAAA,gBAE7EnB,KAAA,CAACP,IAAI;MAACc,KAAK,EAAE;QAAEa,aAAa,EAAE,KAAK;QAAEF,UAAU,EAAE;MAAW,CAAE;MAAAC,QAAA,gBAC5DrB,IAAA,CAACN,MAAM;QAACe,KAAK,EAAEI,MAAM,CAACU,UAAW;QAAAF,QAAA,EAAEjB;MAAK,CAAS,CAAC,EACjDC,IAAI,IAAI,IAAI,iBAAIL,IAAA,CAACN,MAAM;QAACe,KAAK,EAAEI,MAAM,CAACW,SAAU;QAAAH,QAAA,EAAEhB;MAAI,CAAS,CAAC;IAAA,CAC7D,CAAC,EACNC,KAAK,IAAI,IAAI,iBAAIN,IAAA,CAACN,MAAM;MAACe,KAAK,EAAEI,MAAM,CAACY,UAAW;MAAAJ,QAAA,EAAEf;IAAK,CAAS,CAAC;EAAA,CAChE,CAAC;AAEX;;AAEA;AACA;AACAH,MAAM,CAACuB,UAAU,GAAG7B,SAAS,CAAC8B,MAAM","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","useTheme","CONTRACTS","resolveRowStyle","jsx","_jsx","Row","gap","align","justify","wrap","style","testID","children","theme","layout","__contract","row"],"sourceRoot":"../../../src","sources":["primitives/Row.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,IAAI,QAAwC,cAAc;AACnE,SAASC,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"names":["useMemo","View","useTheme","CONTRACTS","resolveRowStyle","jsx","_jsx","Row","gap","align","justify","wrap","style","testID","children","theme","layout","__contract","row"],"sourceRoot":"../../../src","sources":["primitives/Row.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,IAAI,QAAwC,cAAc;AACnE,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,eAAe,QAAuD,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBjG,OAAO,SAASC,GAAGA,CAAC;EAClBC,GAAG;EACHC,KAAK,GAAG,QAAQ;EAChBC,OAAO,GAAG,OAAO;EACjBC,IAAI,GAAG,KAAK;EACZC,KAAK;EACLC,MAAM;EACNC;AACQ,CAAC,EAAE;EACX,MAAM;IAAEC;EAAM,CAAC,GAAGb,QAAQ,CAAC,CAAC;EAE5B,MAAMc,MAAM,GAAGhB,OAAO,CACpB,MAAMI,eAAe,CAACW,KAAK,EAAE;IAAEP,GAAG;IAAEC,KAAK;IAAEC,OAAO;IAAEC;EAAK,CAAC,CAAC,EAC3D,CAACI,KAAK,EAAEP,GAAG,EAAEC,KAAK,EAAEC,OAAO,EAAEC,IAAI,CACnC,CAAC;EAED,oBACEL,IAAA,CAACL,IAAI;IAACW,KAAK,EAAE,CAACI,MAAM,EAAEJ,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAC,QAAA,EAC1CA;EAAQ,CACL,CAAC;AAEX;AAEAP,GAAG,CAACU,UAAU,GAAGd,SAAS,CAACe,GAAG","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","View","useTheme","CONTRACTS","resolveStackStyle","jsx","_jsx","Stack","gap","align","style","testID","children","theme","layout","__contract","stack"],"sourceRoot":"../../../src","sources":["primitives/Stack.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,IAAI,QAAwC,cAAc;AACnE,SAASC,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"names":["useMemo","View","useTheme","CONTRACTS","resolveStackStyle","jsx","_jsx","Stack","gap","align","style","testID","children","theme","layout","__contract","stack"],"sourceRoot":"../../../src","sources":["primitives/Stack.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,IAAI,QAAwC,cAAc;AACnE,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,SAASC,SAAS,QAAQ,gCAAgC;AAC1D,SAASC,iBAAiB,QAA0C,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYxF,OAAO,SAASC,KAAKA,CAAC;EAAEC,GAAG;EAAEC,KAAK,GAAG,SAAS;EAAEC,KAAK;EAAEC,MAAM;EAAEC;AAAqB,CAAC,EAAE;EACrF,MAAM;IAAEC;EAAM,CAAC,GAAGX,QAAQ,CAAC,CAAC;EAE5B,MAAMY,MAAM,GAAGd,OAAO,CACpB,MAAMI,iBAAiB,CAACS,KAAK,EAAE;IAAEL,GAAG;IAAEC;EAAM,CAAC,CAAC,EAC9C,CAACI,KAAK,EAAEL,GAAG,EAAEC,KAAK,CACpB,CAAC;EAED,oBACEH,IAAA,CAACL,IAAI;IAACS,KAAK,EAAE,CAACI,MAAM,EAAEJ,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAC,QAAA,EAC1CA;EAAQ,CACL,CAAC;AAEX;AAEAL,KAAK,CAACQ,UAAU,GAAGZ,SAAS,CAACa,KAAK","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
* 色・寸法の決定は pure resolver(tag.styles.ts)に分離、recipe との機械照合は
|
|
12
12
|
* scripts/lib/tag-conformance.test.ts が行う。
|
|
13
13
|
* - label は Text primitive。filter-chip active の文字色だけ primary.700(SemanticColors 外なので style 上書き)。
|
|
14
|
-
* - focus outline は Button
|
|
15
|
-
*
|
|
14
|
+
* - focus outline は Button と共通の Pressable focus handling(_internal/focus-ring)を使う
|
|
15
|
+
* (removable / filter-chip の押せる要素に FocusRing を描く)。
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { Pressable, View } from "react-native";
|
|
@@ -20,7 +20,7 @@ import { Text } from "./Text.js";
|
|
|
20
20
|
import { useTheme } from "../theme/index.js";
|
|
21
21
|
import { useFocusRing, FocusRing } from "./_internal/focus-ring.js";
|
|
22
22
|
import { CONTRACTS } from "../contracts/contract-types.js";
|
|
23
|
-
import { resolveTagBase, resolveTagVariant } from "./tag.styles.js";
|
|
23
|
+
import { resolveTagBase, resolveTagVariant, TAG_FILTER_CHIP_VERTICAL_HIT_SLOP, TAG_REMOVE_TAP_TARGET } from "./tag.styles.js";
|
|
24
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
25
|
/** 共通形状(px-3 py-1 rounded-full。寸法は resolver、layout はここで足す)。 */
|
|
26
26
|
function useTagBase() {
|
|
@@ -57,6 +57,13 @@ function FilterChipTag(props) {
|
|
|
57
57
|
accessibilityRole: "button",
|
|
58
58
|
accessibilityState: {
|
|
59
59
|
selected
|
|
60
|
+
}
|
|
61
|
+
// 視覚高さ 34pt(padding 駆動)に縦 hitSlop を足して実効 44pt(A11Y_MIN_TAP_TARGET_44)。
|
|
62
|
+
// 背景と枠を持つので minHeight で伸ばすと見た目が変わる → 当たり判定だけ広げる。
|
|
63
|
+
,
|
|
64
|
+
hitSlop: {
|
|
65
|
+
top: TAG_FILTER_CHIP_VERTICAL_HIT_SLOP,
|
|
66
|
+
bottom: TAG_FILTER_CHIP_VERTICAL_HIT_SLOP
|
|
60
67
|
},
|
|
61
68
|
testID: testID,
|
|
62
69
|
style: [base, {
|
|
@@ -109,10 +116,10 @@ function RemovableTag(props) {
|
|
|
109
116
|
onPress: onRemove,
|
|
110
117
|
accessibilityRole: "button",
|
|
111
118
|
accessibilityLabel: removeAccessibilityLabel,
|
|
112
|
-
hitSlop:
|
|
119
|
+
hitSlop: TAG_REMOVE_TAP_TARGET.hitSlop,
|
|
113
120
|
style: {
|
|
114
|
-
minWidth:
|
|
115
|
-
minHeight:
|
|
121
|
+
minWidth: TAG_REMOVE_TAP_TARGET.minWidth,
|
|
122
|
+
minHeight: TAG_REMOVE_TAP_TARGET.minHeight,
|
|
116
123
|
alignItems: "center",
|
|
117
124
|
justifyContent: "center"
|
|
118
125
|
},
|
|
@@ -155,6 +162,7 @@ export function Tag(props) {
|
|
|
155
162
|
});
|
|
156
163
|
}
|
|
157
164
|
|
|
158
|
-
//
|
|
165
|
+
// conformance test 用の contract メタ(§2 A-3)。scripts/lib/conformance.test.ts が
|
|
166
|
+
// 「この宣言が正しい contract を指しているか」を静的スキャンで照合する。
|
|
159
167
|
Tag.__contract = CONTRACTS.tag;
|
|
160
168
|
//# sourceMappingURL=Tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Pressable","View","Text","useTheme","useFocusRing","FocusRing","CONTRACTS","resolveTagBase","resolveTagVariant","jsx","_jsx","jsxs","_jsxs","useTagBase","theme","flexDirection","alignItems","FilterChipTag","props","mode","base","focused","focusHandlers","label","selected","onToggle","style","testID","v","onPress","accessibilityRole","accessibilityState","backgroundColor","bg","borderWidth","borderColor","border","children","variant","font","color","textColor","undefined","visible","radius","full","RemovableTag","onRemove","removeAccessibilityLabel","accessibilityLabel","
|
|
1
|
+
{"version":3,"names":["Pressable","View","Text","useTheme","useFocusRing","FocusRing","CONTRACTS","resolveTagBase","resolveTagVariant","TAG_FILTER_CHIP_VERTICAL_HIT_SLOP","TAG_REMOVE_TAP_TARGET","jsx","_jsx","jsxs","_jsxs","useTagBase","theme","flexDirection","alignItems","FilterChipTag","props","mode","base","focused","focusHandlers","label","selected","onToggle","style","testID","v","onPress","accessibilityRole","accessibilityState","hitSlop","top","bottom","backgroundColor","bg","borderWidth","borderColor","border","children","variant","font","color","textColor","undefined","visible","radius","full","RemovableTag","onRemove","removeAccessibilityLabel","accessibilityLabel","minWidth","minHeight","justifyContent","Tag","__contract","tag"],"sourceRoot":"../../../src","sources":["primitives/Tag.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,15 +8,18 @@
|
|
|
8
8
|
* 構造一致している前提で theme.typography.fontSize[variant] を引く。乖離したら型エラーで検知
|
|
9
9
|
* される(= A-3 conformance の型レベル最低ライン、§2)。
|
|
10
10
|
* - 色は token キーのみ(生 hex 不可、§5 lint の意味を保つ)。
|
|
11
|
+
* - fontScale 制御(allowFontScaling / maxFontSizeMultiplier)は RN Text へ素通しする。
|
|
12
|
+
* 既定は未指定 = RN 既定(OS の文字サイズ設定に追随)。器が固定寸法の箇所だけ opt-in で絞る。
|
|
11
13
|
* - letterSpacing は role(heading/body) の ratio を fontSize から pt 換算(text.styles.ts)。
|
|
12
14
|
* - 形状(fontSize/lineHeight/letterSpacing/fontWeight)は variant/role/weight 依存なので useMemo で
|
|
13
|
-
* 分離(B-3 の「形状/色 分離 +
|
|
14
|
-
*
|
|
15
|
+
* 分離(B-3 の「形状/色 分離 + 参照安定性」は useMemo で満たす。StyleSheet 事前生成による
|
|
16
|
+
* 最適化はどのコンポーネントでも採っていない)。色のみ render 時に colors から取る。
|
|
15
17
|
*/
|
|
16
18
|
|
|
17
19
|
import { useMemo } from "react";
|
|
18
20
|
import { StyleSheet, Text as RNText } from "react-native";
|
|
19
|
-
import { useTheme
|
|
21
|
+
import { useTheme } from "../theme/index.js";
|
|
22
|
+
import { minLineHeightFor, minRatioOf } from "../theme/line-height.js";
|
|
20
23
|
import { CONTRACTS } from "../contracts/contract-types.js";
|
|
21
24
|
import { resolveTextShape } from "./text.styles.js";
|
|
22
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -26,6 +29,8 @@ export function Text({
|
|
|
26
29
|
color = "text-default",
|
|
27
30
|
role = "body",
|
|
28
31
|
numberOfLines,
|
|
32
|
+
allowFontScaling,
|
|
33
|
+
maxFontSizeMultiplier,
|
|
29
34
|
style,
|
|
30
35
|
testID,
|
|
31
36
|
children
|
|
@@ -50,18 +55,21 @@ export function Text({
|
|
|
50
55
|
// 「Text の文字サイズは variant が決める」契約とクランプ基準を一致させる。
|
|
51
56
|
if (typeof flat.fontSize !== "number") flat.fontSize = shape.fontSize;
|
|
52
57
|
if (flat.lineHeight !== undefined) {
|
|
53
|
-
const floor = minLineHeightFor(flat.fontSize ?? 0, theme
|
|
58
|
+
const floor = minLineHeightFor(flat.fontSize ?? 0, minRatioOf(theme));
|
|
54
59
|
if (flat.lineHeight < floor) flat.lineHeight = floor;
|
|
55
60
|
}
|
|
56
61
|
return /*#__PURE__*/_jsx(RNText, {
|
|
57
62
|
style: flat,
|
|
58
63
|
numberOfLines: numberOfLines,
|
|
64
|
+
allowFontScaling: allowFontScaling,
|
|
65
|
+
maxFontSizeMultiplier: maxFontSizeMultiplier,
|
|
59
66
|
accessibilityRole: role === "heading" ? "header" : undefined,
|
|
60
67
|
testID: testID,
|
|
61
68
|
children: children
|
|
62
69
|
});
|
|
63
70
|
}
|
|
64
71
|
|
|
65
|
-
//
|
|
72
|
+
// conformance test 用の contract メタ(§2 A-3)。scripts/lib/conformance.test.ts が
|
|
73
|
+
// 「この宣言が正しい contract を指しているか」を静的スキャンで照合する。
|
|
66
74
|
Text.__contract = CONTRACTS.text;
|
|
67
75
|
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","StyleSheet","Text","RNText","useTheme","
|
|
1
|
+
{"version":3,"names":["useMemo","StyleSheet","Text","RNText","useTheme","minLineHeightFor","minRatioOf","CONTRACTS","resolveTextShape","jsx","_jsx","variant","weight","color","role","numberOfLines","allowFontScaling","maxFontSizeMultiplier","style","testID","children","theme","colors","shape","flat","flatten","fontSize","lineHeight","undefined","floor","accessibilityRole","__contract","text"],"sourceRoot":"../../../src","sources":["primitives/Text.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAwB,OAAO;AAC/C,SAASC,UAAU,EAAEC,IAAI,IAAIC,MAAM,QAAwC,cAAc;AACzF,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,gBAAgB,EAAEC,UAAU,QAAQ,yBAAyB;AAEtE,SAASC,SAAS,QAAwB,gCAAgC;AAC1E,SAASC,gBAAgB,QAAuB,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA+BnE,OAAO,SAASR,IAAIA,CAAC;EACnBS,OAAO,GAAG,MAAM;EAChBC,MAAM;EACNC,KAAK,GAAG,cAAc;EACtBC,IAAI,GAAG,MAAM;EACbC,aAAa;EACbC,gBAAgB;EAChBC,qBAAqB;EACrBC,KAAK;EACLC,MAAM;EACNC;AACS,CAAC,EAAE;EACZ,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGlB,QAAQ,CAAC,CAAC;;EAEpC;EACA;EACA,MAAMmB,KAAK,GAAGvB,OAAO,CACnB,MAAMQ,gBAAgB,CAACa,KAAK,EAAEV,OAAO,EAAEG,IAAI,EAAEF,MAAM,CAAC,EACpD,CAACS,KAAK,EAAEV,OAAO,EAAEG,IAAI,EAAEF,MAAM,CAC/B,CAAC;;EAED;EACA;EACA;EACA,MAAMY,IAAe,GAAGvB,UAAU,CAACwB,OAAO,CAAC,CAACF,KAAK,EAAE;IAAEV,KAAK,EAAES,MAAM,CAACT,KAAK;EAAE,CAAC,EAAEK,KAAK,CAAC,CAAC;EACpF;EACA;EACA;EACA,IAAI,OAAOM,IAAI,CAACE,QAAQ,KAAK,QAAQ,EAAEF,IAAI,CAACE,QAAQ,GAAGH,KAAK,CAACG,QAAQ;EACrE,IAAIF,IAAI,CAACG,UAAU,KAAKC,SAAS,EAAE;IACjC,MAAMC,KAAK,GAAGxB,gBAAgB,CAACmB,IAAI,CAACE,QAAQ,IAAI,CAAC,EAAEpB,UAAU,CAACe,KAAK,CAAC,CAAC;IACrE,IAAIG,IAAI,CAACG,UAAU,GAAGE,KAAK,EAAEL,IAAI,CAACG,UAAU,GAAGE,KAAK;EACtD;EAEA,oBACEnB,IAAA,CAACP,MAAM;IACLe,KAAK,EAAEM,IAAK;IACZT,aAAa,EAAEA,aAAc;IAC7BC,gBAAgB,EAAEA,gBAAiB;IACnCC,qBAAqB,EAAEA,qBAAsB;IAC7Ca,iBAAiB,EAAEhB,IAAI,KAAK,SAAS,GAAG,QAAQ,GAAGc,SAAU;IAC7DT,MAAM,EAAEA,MAAO;IAAAC,QAAA,EAEdA;EAAQ,CACH,CAAC;AAEb;;AAEA;AACA;AACAlB,IAAI,CAAC6B,UAAU,GAAGxB,SAAS,CAACyB,IAAI","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","View","useTheme","jsx","_jsx","useFocusRing","focused","setFocused","focusHandlers","onFocus","onBlur","INSET","FocusRing","visible","radius","theme","pointerEvents","style","position","top","left","right","bottom","borderWidth","borderColor","color","primary","borderRadius"],"sourceRoot":"../../../../src","sources":["primitives/_internal/focus-ring.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,QAAQ,QAAQ,
|
|
1
|
+
{"version":3,"names":["useState","View","useTheme","jsx","_jsx","useFocusRing","focused","setFocused","focusHandlers","onFocus","onBlur","INSET","FocusRing","visible","radius","theme","pointerEvents","style","position","top","left","right","bottom","borderWidth","borderColor","color","primary","borderRadius"],"sourceRoot":"../../../../src","sources":["primitives/_internal/focus-ring.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,OAAO;AAChC,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,QAAQ,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7B,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGP,QAAQ,CAAC,KAAK,CAAC;EAC7C,OAAO;IACLM,OAAO;IACPE,aAAa,EAAE;MACbC,OAAO,EAAEA,CAAA,KAAMF,UAAU,CAAC,IAAI,CAAC;MAC/BG,MAAM,EAAEA,CAAA,KAAMH,UAAU,CAAC,KAAK;IAChC;EACF,CAAC;AACH;AAQA,MAAMI,KAAK,GAAG,CAAC;AAEf,OAAO,SAASC,SAASA,CAAC;EAAEC,OAAO;EAAEC;AAAuB,CAAC,EAAE;EAC7D,MAAM;IAAEC;EAAM,CAAC,GAAGb,QAAQ,CAAC,CAAC;EAC5B,IAAI,CAACW,OAAO,EAAE,OAAO,IAAI;EACzB,oBACET,IAAA,CAACH,IAAI;IACHe,aAAa,EAAC,MAAM;IACpBC,KAAK,EAAE;MACLC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAACR,KAAK;MACXS,IAAI,EAAE,CAACT,KAAK;MACZU,KAAK,EAAE,CAACV,KAAK;MACbW,MAAM,EAAE,CAACX,KAAK;MACdY,WAAW,EAAE,CAAC;MACdC,WAAW,EAAET,KAAK,CAACU,KAAK,CAACC,OAAO,CAAC,KAAK,CAAC;MACvCC,YAAY,EAAEb,MAAM,GAAGH;IACzB;EAAE,CACH,CAAC;AAEN","ignoreList":[]}
|
|
@@ -1,41 +1,91 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* button.styles — Button の pure style resolver(
|
|
4
|
+
* button.styles — Button の pure style resolver(styleRefs conformance 対応で Button.tsx から分離)。
|
|
5
5
|
*
|
|
6
6
|
* react-native を import しない純粋モジュールにすることで node テスト(tsx --test)から
|
|
7
7
|
* 直接実行できる。recipes/app/button.recipe.json(melta-contracts の styleRefs)との
|
|
8
|
-
* 機械照合は scripts/lib/recipe-conformance.test.ts
|
|
8
|
+
* 機械照合は scripts/lib/recipe-conformance.test.ts が行う(層B)。
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ このファイルは resolver 機構の**最初の実装**で、戻り値が slot 単位に揃っていない
|
|
11
|
+
* (色だけを返し、寸法は component 側で組む)。現行の書き方は AGENTS.md「style resolver の規約」
|
|
12
|
+
* を参照すること — 新規 / 改修は alert.styles.ts・textfield.styles.ts の形に寄せる。
|
|
9
13
|
*/
|
|
10
14
|
|
|
11
|
-
/**
|
|
12
|
-
|
|
15
|
+
/**
|
|
16
|
+
* size → 最小高さ / 横 padding / label fontSize / icon box(contract sizes/iconButton と整合)。
|
|
17
|
+
*
|
|
18
|
+
* `minHeight`(`height` ではない)なのは fontScale 対策。label は Text primitive の
|
|
19
|
+
* lineHeight(base = 36pt)で伸びるため、height 固定だと fontScale 1.12x あたりから
|
|
20
|
+
* medium(40pt)で文字がクリップする。recipe 側も 0.7.0 で `minHeight` に変わっている。
|
|
21
|
+
* iconOnly だけは正方形を保つため width/height 固定のまま(recipe の iconOnlyWidth/iconOnlyHeight)。
|
|
22
|
+
*/
|
|
23
|
+
export const BUTTON_SIZE_SPEC = {
|
|
13
24
|
small: {
|
|
14
|
-
|
|
25
|
+
minHeight: 32,
|
|
15
26
|
px: "3",
|
|
16
27
|
font: "sm",
|
|
17
28
|
iconBox: 32
|
|
18
29
|
},
|
|
19
30
|
medium: {
|
|
20
|
-
|
|
31
|
+
minHeight: 40,
|
|
21
32
|
px: "4",
|
|
22
33
|
font: "base",
|
|
23
34
|
iconBox: 40
|
|
24
35
|
},
|
|
25
36
|
large: {
|
|
26
|
-
|
|
37
|
+
minHeight: 48,
|
|
27
38
|
px: "6",
|
|
28
39
|
font: "base",
|
|
29
40
|
iconBox: 48
|
|
30
41
|
}
|
|
31
42
|
};
|
|
32
43
|
|
|
44
|
+
/**
|
|
45
|
+
* size → 縦方向の片側 hitSlop(実効タップ標的 44pt 確保。A11Y_MIN_TAP_TARGET_44)。
|
|
46
|
+
*
|
|
47
|
+
* 視覚寸法は据え置き、当たり判定だけを広げる:
|
|
48
|
+
* small 32 + 6*2 = 44 / medium 40 + 2*2 = 44 / large 48(既に 44 以上なので 0)
|
|
49
|
+
*
|
|
50
|
+
* ⚠️ literal で持つ(BUTTON_SIZE_SPEC から自動導出しない)。導出にすると視覚寸法を変えたときに
|
|
51
|
+
* hitSlop が黙って追随してしまい、conformance が構造的に fail-open になる。
|
|
52
|
+
*/
|
|
53
|
+
export const BUTTON_VERTICAL_HIT_SLOP = {
|
|
54
|
+
small: 6,
|
|
55
|
+
medium: 2,
|
|
56
|
+
large: 0
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/** Pressable の hitSlop(RN の Insets)。 */
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* size / iconOnly → Pressable に渡す hitSlop。0 のときは undefined(prop を付けない)。
|
|
63
|
+
*
|
|
64
|
+
* - labeled: **縦だけ**。横は付けない — Row の gap 0 で隣接した Button 同士の当たり判定が
|
|
65
|
+
* 重なって押し違いが起きるため(横方向は padding で既に広い)。
|
|
66
|
+
* - iconOnly: 幅も 32/40 と狭い正方形なので**横にも同値**を付ける(左右の隣接は
|
|
67
|
+
* iconOnly ボタンを gap 0 で並べない前提。並べる場合は消費者側で gap を取る)。
|
|
68
|
+
*/
|
|
69
|
+
export function resolveButtonHitSlop(size, iconOnly) {
|
|
70
|
+
const slop = BUTTON_VERTICAL_HIT_SLOP[size];
|
|
71
|
+
if (slop === 0) return undefined;
|
|
72
|
+
return iconOnly ? {
|
|
73
|
+
top: slop,
|
|
74
|
+
bottom: slop,
|
|
75
|
+
left: slop,
|
|
76
|
+
right: slop
|
|
77
|
+
} : {
|
|
78
|
+
top: slop,
|
|
79
|
+
bottom: slop
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
33
83
|
/**
|
|
34
84
|
* variant → 色解決(button.contract tokenRefs の 1:1 写像)。
|
|
35
85
|
* 文字色は variant により semantic 外(primary.500 等)もあるため hex 文字列で返し、
|
|
36
86
|
* Text の style で color 上書きする(Text の color prop は SemanticColors キー限定のため)。
|
|
37
87
|
*/
|
|
38
|
-
export function
|
|
88
|
+
export function resolveButtonColors(theme, mode, variant) {
|
|
39
89
|
const c = theme.color;
|
|
40
90
|
const sem = c.semantic[mode];
|
|
41
91
|
switch (variant) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["BUTTON_SIZE_SPEC","small","minHeight","px","font","iconBox","medium","large","BUTTON_VERTICAL_HIT_SLOP","resolveButtonHitSlop","size","iconOnly","slop","undefined","top","bottom","left","right","resolveButtonColors","theme","mode","variant","c","color","sem","semantic","bg","primary","pressedBg","textColor","border","status","danger","base","textLight"],"sourceRoot":"../../../src","sources":["primitives/button.styles.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Text","Metric","Tag","Button","Stack","Row"],"sourceRoot":"../../../src","sources":["primitives/index.ts"],"mappings":";;AAAA;;AAEA,SAASA,IAAI,QAAQ,
|
|
1
|
+
{"version":3,"names":["Text","Metric","Tag","Button","Stack","Row"],"sourceRoot":"../../../src","sources":["primitives/index.ts"],"mappings":";;AAAA;;AAEA,SAASA,IAAI,QAAQ,WAAW;AAChC,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,GAAG,QAAQ,UAAU;AAC9B,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,KAAK,QAAQ,YAAY;AAClC,SAASC,GAAG,QAAQ,UAAU","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// theme index からの runtime import は ThemeProvider → react-native を引くため pure module を直接参照
|
|
12
|
-
import {
|
|
12
|
+
import { clampLineHeight, minRatioOf } from "../theme/line-height.js";
|
|
13
13
|
/**
|
|
14
14
|
* size → value / unit の fontSize token(metric.recipe sizes と整合)。
|
|
15
15
|
* unit は value の1段下の fontSize(ベースライン揃え用)。
|
|
@@ -37,7 +37,7 @@ export function resolveMetricStyles(theme, mode, size) {
|
|
|
37
37
|
valueStyle: {
|
|
38
38
|
fontSize: fontSize[font.value].fontSize,
|
|
39
39
|
// カスタム theme の未クランプ値への防波堤(text.styles.ts と同じ。根拠は theme/line-height.ts)
|
|
40
|
-
lineHeight: clampLineHeight(fontSize[font.value].fontSize, fontSize[font.value].lineHeight, theme
|
|
40
|
+
lineHeight: clampLineHeight(fontSize[font.value].fontSize, fontSize[font.value].lineHeight, minRatioOf(theme)),
|
|
41
41
|
fontWeight: theme.typography.fontWeight.bold,
|
|
42
42
|
color: sem["text-heading"],
|
|
43
43
|
fontVariant: ["tabular-nums"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["clampLineHeight","minRatioOf","METRIC_FONT","sm","value","unit","md","lg","resolveMetricStyles","theme","mode","size","sem","color","semantic","fontSize","typography","font","valueStyle","lineHeight","fontWeight","bold","fontVariant","unitStyle","medium","marginLeft","spacing","labelStyle"],"sourceRoot":"../../../src","sources":["primitives/metric.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA,SAASA,eAAe,EAAEC,UAAU,QAAQ,yBAAyB;AAIrE;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAA0E,GAAG;EACxFC,EAAE,EAAE;IAAEC,KAAK,EAAE,IAAI;IAAEC,IAAI,EAAE;EAAO,CAAC;EACjCC,EAAE,EAAE;IAAEF,KAAK,EAAE,KAAK;IAAEC,IAAI,EAAE;EAAK,CAAC;EAChCE,EAAE,EAAE;IAAEH,KAAK,EAAE,KAAK;IAAEC,IAAI,EAAE;EAAK;AACjC,CAAC;AAyBD;AACA,OAAO,SAASG,mBAAmBA,CACjCC,KAAkB,EAClBC,IAAe,EACfC,IAAgB,EACF;EACd,MAAMC,GAAG,GAAGH,KAAK,CAACI,KAAK,CAACC,QAAQ,CAACJ,IAAI,CAAC;EACtC,MAAMK,QAAQ,GAAGN,KAAK,CAACO,UAAU,CAACD,QAAQ;EAC1C,MAAME,IAAI,GAAGf,WAAW,CAACS,IAAI,CAAC;EAC9B,OAAO;IACLO,UAAU,EAAE;MACVH,QAAQ,EAAEA,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACW,QAAQ;MACvC;MACAI,UAAU,EAAEnB,eAAe,CACzBe,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACW,QAAQ,EAC7BA,QAAQ,CAACE,IAAI,CAACb,KAAK,CAAC,CAACe,UAAU,EAC/BlB,UAAU,CAACQ,KAAK,CAClB,CAAC;MACDW,UAAU,EAAEX,KAAK,CAACO,UAAU,CAACI,UAAU,CAACC,IAAI;MAC5CR,KAAK,EAAED,GAAG,CAAC,cAAc,CAAC;MAC1BU,WAAW,EAAE,CAAC,cAAc;IAC9B,CAAC;IACDC,SAAS,EAAE;MACTR,QAAQ,EAAEA,QAAQ,CAACE,IAAI,CAACZ,IAAI,CAAC,CAACU,QAAQ;MACtCK,UAAU,EAAEX,KAAK,CAACO,UAAU,CAACI,UAAU,CAACI,MAAM;MAC9CX,KAAK,EAAED,GAAG,CAAC,YAAY,CAAC;MACxBa,UAAU,EAAEhB,KAAK,CAACiB,OAAO,CAAC,GAAG;IAC/B,CAAC;IACDC,UAAU,EAAE;MACVZ,QAAQ,EAAEA,QAAQ,CAACZ,EAAE,CAACY,QAAQ;MAC9BF,KAAK,EAAED,GAAG,CAAC,YAAY;IACzB;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -8,6 +8,45 @@
|
|
|
8
8
|
* 機械照合は scripts/lib/tag-conformance.test.ts が行う。
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import { CANONICAL_TAP_TARGET } from "../a11y/tap-target.js";
|
|
12
|
+
import { clampLineHeight, minRatioOf } from "../theme/line-height.js";
|
|
13
|
+
/** label の fontSize token キー(component / resolver / 検算が同じキーを読む SSOT)。 */
|
|
14
|
+
export const TAG_SPEC = {
|
|
15
|
+
/** basic / removable の label。 */
|
|
16
|
+
labelFont: "xs",
|
|
17
|
+
/** filter-chip の label(押せる要素なので一段大きい)。 */
|
|
18
|
+
chipLabelFont: "sm"
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* removable の × の当たり判定(正典パターン: 視覚 24pt + hitSlop 10 = 実効 44pt)。
|
|
23
|
+
* 親 Tag の高さ(padding 駆動で 34pt 前後)を超えられないので × 自身に持たせる。
|
|
24
|
+
*/
|
|
25
|
+
export const TAG_REMOVE_TAP_TARGET = CANONICAL_TAP_TARGET;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* filter-chip(押せる chip 本体)の縦 hitSlop。
|
|
29
|
+
*
|
|
30
|
+
* chip は背景と枠を持つので minHeight で伸ばすと**見た目が変わる**(他 variant と高さが揃わない)。
|
|
31
|
+
* よって視覚寸法は据え置き、当たり判定だけ広げる:
|
|
32
|
+
* 視覚高さ 34pt(paddingVertical 4 × 2 + label sm の lineHeight 26)+ 5 × 2 = 44pt。
|
|
33
|
+
*
|
|
34
|
+
* padding 駆動なので fontScale で視覚高さ自体が伸びる = 拡大時に過剰な当たり判定にならない。
|
|
35
|
+
* ⚠️ literal で持つ(resolveTagFilterChipVisualHeight から導出しない)。導出にすると
|
|
36
|
+
* 寸法変更に hitSlop が黙って追随し、conformance が fail-open になる。
|
|
37
|
+
*/
|
|
38
|
+
export const TAG_FILTER_CHIP_VERTICAL_HIT_SLOP = 5;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* filter-chip の視覚高さ(padding 駆動)。conformance が 44pt 到達を検算するための実測値。
|
|
42
|
+
* = paddingVertical × 2 + label(sm)の lineHeight。
|
|
43
|
+
*/
|
|
44
|
+
export function resolveTagFilterChipVisualHeight(theme) {
|
|
45
|
+
const font = theme.typography.fontSize[TAG_SPEC.chipLabelFont];
|
|
46
|
+
const lineHeight = clampLineHeight(font.fontSize, font.lineHeight, minRatioOf(theme));
|
|
47
|
+
return resolveTagBase(theme).paddingVertical * 2 + lineHeight;
|
|
48
|
+
}
|
|
49
|
+
|
|
11
50
|
/** 共通形状(px-3 py-1 gap-1 rounded-full。tag.recipe の全 variant style と共通の寸法キー)。 */
|
|
12
51
|
export function resolveTagBase(theme) {
|
|
13
52
|
return {
|
|
@@ -35,7 +74,7 @@ export function resolveTagVariant(theme, mode, variant, selected = false) {
|
|
|
35
74
|
return {
|
|
36
75
|
bg: sem["bg-page-alt"],
|
|
37
76
|
textColor: sem["text-default"],
|
|
38
|
-
font:
|
|
77
|
+
font: TAG_SPEC.labelFont
|
|
39
78
|
};
|
|
40
79
|
case "filter-chip":
|
|
41
80
|
return selected ? {
|
|
@@ -43,13 +82,13 @@ export function resolveTagVariant(theme, mode, variant, selected = false) {
|
|
|
43
82
|
borderWidth: 1,
|
|
44
83
|
border: c.primary["200"],
|
|
45
84
|
textColor: c.primary["700"],
|
|
46
|
-
font:
|
|
85
|
+
font: TAG_SPEC.chipLabelFont
|
|
47
86
|
} : {
|
|
48
87
|
bg: sem["bg-surface"],
|
|
49
88
|
borderWidth: 1,
|
|
50
89
|
border: sem["border-default"],
|
|
51
90
|
textColor: sem["text-default"],
|
|
52
|
-
font:
|
|
91
|
+
font: TAG_SPEC.chipLabelFont
|
|
53
92
|
};
|
|
54
93
|
}
|
|
55
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["CANONICAL_TAP_TARGET","clampLineHeight","minRatioOf","TAG_SPEC","labelFont","chipLabelFont","TAG_REMOVE_TAP_TARGET","TAG_FILTER_CHIP_VERTICAL_HIT_SLOP","resolveTagFilterChipVisualHeight","theme","font","typography","fontSize","lineHeight","resolveTagBase","paddingVertical","gap","spacing","paddingHorizontal","borderRadius","radius","full","resolveTagVariant","mode","variant","selected","c","color","sem","semantic","bg","textColor","primary","borderWidth","border"],"sourceRoot":"../../../src","sources":["primitives/tag.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,oBAAoB,QAAQ,uBAAuB;AAC5D,SAASC,eAAe,EAAEC,UAAU,QAAQ,yBAAyB;AAIrE;AACA,OAAO,MAAMC,QAAQ,GAAG;EACtB;EACAC,SAAS,EAAE,IAAI;EACf;EACAC,aAAa,EAAE;AACjB,CAA2E;;AAE3E;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGN,oBAAoB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,iCAAiC,GAAG,CAAC;;AAElD;AACA;AACA;AACA;AACA,OAAO,SAASC,gCAAgCA,CAACC,KAAkB,EAAU;EAC3E,MAAMC,IAAI,GAAGD,KAAK,CAACE,UAAU,CAACC,QAAQ,CAACT,QAAQ,CAACE,aAAa,CAAC;EAC9D,MAAMQ,UAAU,GAAGZ,eAAe,CAACS,IAAI,CAACE,QAAQ,EAAEF,IAAI,CAACG,UAAU,EAAEX,UAAU,CAACO,KAAK,CAAC,CAAC;EACrF,OAAOK,cAAc,CAACL,KAAK,CAAC,CAACM,eAAe,GAAG,CAAC,GAAGF,UAAU;AAC/D;;AAEA;AACA,OAAO,SAASC,cAAcA,CAACL,KAAkB,EAK/C;EACA,OAAO;IACLO,GAAG,EAAEP,KAAK,CAACQ,OAAO,CAAC,GAAG,CAAC;IACvBC,iBAAiB,EAAET,KAAK,CAACQ,OAAO,CAAC,GAAG,CAAC;IACrCF,eAAe,EAAEN,KAAK,CAACQ,OAAO,CAAC,GAAG,CAAC;IACnCE,YAAY,EAAEV,KAAK,CAACW,MAAM,CAACC;EAC7B,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAC/Bb,KAAkB,EAClBc,IAAe,EACfC,OAAmB,EACnBC,QAAQ,GAAG,KAAK,EAC6E;EAC7F,MAAMC,CAAC,GAAGjB,KAAK,CAACkB,KAAK;EACrB,MAAMC,GAAG,GAAGF,CAAC,CAACG,QAAQ,CAACN,IAAI,CAAC;EAC5B,QAAQC,OAAO;IACb,KAAK,OAAO;IACZ,KAAK,WAAW;MACd,OAAO;QAAEM,EAAE,EAAEF,GAAG,CAAC,aAAa,CAAC;QAAEG,SAAS,EAAEH,GAAG,CAAC,cAAc,CAAC;QAAElB,IAAI,EAAEP,QAAQ,CAACC;MAAU,CAAC;IAC7F,KAAK,aAAa;MAChB,OAAOqB,QAAQ,GACX;QACEK,EAAE,EAAEJ,CAAC,CAACM,OAAO,CAAC,IAAI,CAAC;QACnBC,WAAW,EAAE,CAAC;QACdC,MAAM,EAAER,CAAC,CAACM,OAAO,CAAC,KAAK,CAAC;QACxBD,SAAS,EAAEL,CAAC,CAACM,OAAO,CAAC,KAAK,CAAC;QAC3BtB,IAAI,EAAEP,QAAQ,CAACE;MACjB,CAAC,GACD;QACEyB,EAAE,EAAEF,GAAG,CAAC,YAAY,CAAC;QACrBK,WAAW,EAAE,CAAC;QACdC,MAAM,EAAEN,GAAG,CAAC,gBAAgB,CAAC;QAC7BG,SAAS,EAAEH,GAAG,CAAC,cAAc,CAAC;QAC9BlB,IAAI,EAAEP,QAAQ,CAACE;MACjB,CAAC;EACT;AACF","ignoreList":[]}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
// theme index からの runtime import は ThemeProvider → react-native を引くため、
|
|
12
|
-
// pure module(line-height.ts
|
|
13
|
-
import {
|
|
12
|
+
// pure module(line-height.ts / letter-spacing.ts)を直接参照する。
|
|
13
|
+
import { clampLineHeight, minRatioOf } from "../theme/line-height.js";
|
|
14
|
+
import { resolveLetterSpacing } from "../theme/letter-spacing.js";
|
|
14
15
|
|
|
15
16
|
/** letterSpacing の切替軸(text.recipe description の role prop に対応)。 */
|
|
16
17
|
|
|
@@ -19,9 +20,7 @@ import { DEFAULT_MIN_LINE_HEIGHT_RATIO, clampLineHeight } from "../theme/line-he
|
|
|
19
20
|
/**
|
|
20
21
|
* variant / role / weight → 形状解決(text.recipe styleRefs の 1:1 写像)。
|
|
21
22
|
* - fontSize token は複合値(px + lineHeight 比率)。theme 生成時に lineHeight は px 化済み。
|
|
22
|
-
* - letterSpacing は em 比率 token のため fontSize × ratio で pt
|
|
23
|
-
* theme の resolveLetterSpacing と同一式だが、theme index 経由の runtime import は
|
|
24
|
-
* ThemeProvider → react-native を引くため、pure に保つ目的でここでは式を直書きする。
|
|
23
|
+
* - letterSpacing は em 比率 token のため fontSize × ratio で pt 化する(resolveLetterSpacing)。
|
|
25
24
|
*/
|
|
26
25
|
export function resolveTextShape(theme, variant, role, weight) {
|
|
27
26
|
const fs = theme.typography.fontSize[variant];
|
|
@@ -29,8 +28,8 @@ export function resolveTextShape(theme, variant, role, weight) {
|
|
|
29
28
|
fontSize: fs.fontSize,
|
|
30
29
|
// 既定 theme は codegen 時点でクランプ済みだが、defineTheme で注入されたカスタム theme の
|
|
31
30
|
// 値はここが最初の防波堤(機序と下限の根拠は theme/line-height.ts)。
|
|
32
|
-
lineHeight: clampLineHeight(fs.fontSize, fs.lineHeight, theme
|
|
33
|
-
letterSpacing: fs.fontSize
|
|
31
|
+
lineHeight: clampLineHeight(fs.fontSize, fs.lineHeight, minRatioOf(theme)),
|
|
32
|
+
letterSpacing: resolveLetterSpacing(fs.fontSize, theme.typography.letterSpacingRatio[role]),
|
|
34
33
|
...(weight ? {
|
|
35
34
|
fontWeight: theme.typography.fontWeight[weight]
|
|
36
35
|
} : null)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["clampLineHeight","minRatioOf","resolveLetterSpacing","resolveTextShape","theme","variant","role","weight","fs","typography","fontSize","lineHeight","letterSpacing","letterSpacingRatio","fontWeight"],"sourceRoot":"../../../src","sources":["primitives/text.styles.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA,SAASA,eAAe,EAAEC,UAAU,QAAQ,yBAAyB;AACrE,SAASC,oBAAoB,QAAQ,4BAA4B;;AAEjE;;AAGA;;AAQA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,KAAkB,EAClBC,OAAoB,EACpBC,IAAc,EACdC,MAAsB,EACX;EACX,MAAMC,EAAE,GAAGJ,KAAK,CAACK,UAAU,CAACC,QAAQ,CAACL,OAAO,CAAC;EAC7C,OAAO;IACLK,QAAQ,EAAEF,EAAE,CAACE,QAAQ;IACrB;IACA;IACAC,UAAU,EAAEX,eAAe,CAACQ,EAAE,CAACE,QAAQ,EAAEF,EAAE,CAACG,UAAU,EAAEV,UAAU,CAACG,KAAK,CAAC,CAAC;IAC1EQ,aAAa,EAAEV,oBAAoB,CAACM,EAAE,CAACE,QAAQ,EAAEN,KAAK,CAACK,UAAU,CAACI,kBAAkB,CAACP,IAAI,CAAC,CAAC;IAC3F,IAAIC,MAAM,GAAG;MAAEO,UAAU,EAAEV,KAAK,CAACK,UAAU,CAACK,UAAU,CAACP,MAAM;IAAE,CAAC,GAAG,IAAI;EACzE,CAAC;AACH","ignoreList":[]}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
* import { enableSafeAreaContext } from "melta-app/safe-area";
|
|
14
14
|
* enableSafeAreaContext();
|
|
15
15
|
*
|
|
16
|
-
* これで Screen の SafeArea が useSafeAreaInsets() + View の
|
|
17
|
-
* Provider の context 値を render 中に同期参照して padding を付けるため、
|
|
18
|
-
* SafeAreaView の layout/state 更新を待たず、初回 render から inset が反映される。
|
|
16
|
+
* これで Screen / ActionSheet / BottomSheet の SafeArea が useSafeAreaInsets() + View の
|
|
17
|
+
* adapter に切り替わる。Provider の context 値を render 中に同期参照して padding を付けるため、
|
|
18
|
+
* native SafeAreaView の layout/state 更新を待たず、初回 render から inset が反映される。
|
|
19
|
+
* Android でも効く(RN core の SafeAreaView は Android では完全 no-op)。
|
|
19
20
|
*
|
|
20
21
|
* ⚠️ 前提: アプリの root に SafeAreaProvider が必要(無いと useSafeAreaInsets が throw
|
|
21
22
|
* する)。初回 render から正しい inset を使うには Provider に initialMetrics も渡す。
|
|
@@ -75,8 +76,13 @@ function createContextSafeAreaView(selectedEdges) {
|
|
|
75
76
|
return ContextSafeAreaView;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* melta の SafeArea を context 同期参照の View adapter に切り替える。
|
|
81
|
+
*
|
|
82
|
+
* registry には**ファクトリ**を渡す(消費者ごとに edges が違うため)。同じ edges 集合には
|
|
83
|
+
* 同じコンポーネント参照が返るよう memo するのは registry 側の責務。
|
|
84
|
+
*/
|
|
79
85
|
export function enableSafeAreaContext(options = {}) {
|
|
80
|
-
setSafeAreaView(createContextSafeAreaView
|
|
86
|
+
setSafeAreaView(createContextSafeAreaView, options.edges ?? ALL_EDGES);
|
|
81
87
|
}
|
|
82
88
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createElement","useMemo","I18nManager","StyleSheet","View","useSafeAreaInsets","setSafeAreaView","ALL_EDGES","additivePadding","style","insets","edges","flat","flatten","num","value","isRTL","baseVertical","edge","paddingTop","paddingBottom","paddingVertical","padding","baseHorizontal","paddingLeft","paddingRight","paddingHorizontal","out","has","top","bottom","left","right","createContextSafeAreaView","selectedEdges","Set","ContextSafeAreaView","props","paddingStyle","displayName","enableSafeAreaContext","options"],"sourceRoot":"../../../src","sources":["safe-area/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,OAAO,QAAQ,OAAO;AAC9C,SAASC,WAAW,EAAEC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC5E,SACEC,iBAAiB,QAGZ,gCAAgC;AACvC,SACEC,eAAe,QAGV,
|
|
1
|
+
{"version":3,"names":["createElement","useMemo","I18nManager","StyleSheet","View","useSafeAreaInsets","setSafeAreaView","ALL_EDGES","additivePadding","style","insets","edges","flat","flatten","num","value","isRTL","baseVertical","edge","paddingTop","paddingBottom","paddingVertical","padding","baseHorizontal","paddingLeft","paddingRight","paddingHorizontal","out","has","top","bottom","left","right","createContextSafeAreaView","selectedEdges","Set","ContextSafeAreaView","props","paddingStyle","displayName","enableSafeAreaContext","options"],"sourceRoot":"../../../src","sources":["safe-area/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,8 +23,11 @@ const ThemeContext = /*#__PURE__*/createContext(null);
|
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* 既定 theme。melta-contracts 由来の codegen 結果を注入経路と同じ形に通す(自分でも dogfood する)。
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
*
|
|
27
|
+
* dev で freeze されるのは **`defineTheme()` の戻り値**(= `useTheme().theme` として配られる
|
|
28
|
+
* 解決済み theme)で、入れ子のトークン群まで再帰的に凍る。公開 export の `nativeTheme` 自体は
|
|
29
|
+
* `defineTheme` 内の `cloneTokenTree` で参照が切り離されているので**凍らない**
|
|
30
|
+
* (0.4.3 で意図的にこう変えた: 凍らせると `{ ...nativeTheme }` からの正当な派生が dev で壊れるため)。
|
|
28
31
|
*/
|
|
29
32
|
const DEFAULT_THEME = defineTheme({
|
|
30
33
|
...nativeTheme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","useMemo","useColorScheme","nativeTheme","defineTheme","isDev","resolveMode","jsx","_jsx","ThemeContext","DEFAULT_THEME","id","reportedViolations","WeakMap","reportViolation","theme","violation","reported","get","undefined","Set","set","has","requested","add","console","error","colorScheme","resolved","ThemeProvider","children","forcedMode","system","activeTheme","mode","capabilities","value","colors","color","semantic","Error","Provider","useTheme","ctx"],"sourceRoot":"../../../src","sources":["theme/ThemeProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAwB,OAAO;AAC1E,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,WAAW,QAAQ,
|
|
1
|
+
{"version":3,"names":["createContext","useContext","useMemo","useColorScheme","nativeTheme","defineTheme","isDev","resolveMode","jsx","_jsx","ThemeContext","DEFAULT_THEME","id","reportedViolations","WeakMap","reportViolation","theme","violation","reported","get","undefined","Set","set","has","requested","add","console","error","colorScheme","resolved","ThemeProvider","children","forcedMode","system","activeTheme","mode","capabilities","value","colors","color","semantic","Error","Provider","useTheme","ctx"],"sourceRoot":"../../../src","sources":["theme/ThemeProvider.tsx"],"mappings":"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","ignoreList":[]}
|