orn-ui 0.1.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 +107 -0
- package/bin/orn-ui.mjs +228 -0
- package/lib/commonjs/atoms/Avatar.js +42 -0
- package/lib/commonjs/atoms/Avatar.js.map +1 -0
- package/lib/commonjs/atoms/Badge.js +82 -0
- package/lib/commonjs/atoms/Badge.js.map +1 -0
- package/lib/commonjs/atoms/Button.js +222 -0
- package/lib/commonjs/atoms/Button.js.map +1 -0
- package/lib/commonjs/atoms/Card.js +33 -0
- package/lib/commonjs/atoms/Card.js.map +1 -0
- package/lib/commonjs/atoms/Checkbox.js +107 -0
- package/lib/commonjs/atoms/Checkbox.js.map +1 -0
- package/lib/commonjs/atoms/Divider.js +27 -0
- package/lib/commonjs/atoms/Divider.js.map +1 -0
- package/lib/commonjs/atoms/EmptyState.js +69 -0
- package/lib/commonjs/atoms/EmptyState.js.map +1 -0
- package/lib/commonjs/atoms/Fab.js +62 -0
- package/lib/commonjs/atoms/Fab.js.map +1 -0
- package/lib/commonjs/atoms/IconButton.js +60 -0
- package/lib/commonjs/atoms/IconButton.js.map +1 -0
- package/lib/commonjs/atoms/Image.js +113 -0
- package/lib/commonjs/atoms/Image.js.map +1 -0
- package/lib/commonjs/atoms/Input.js +173 -0
- package/lib/commonjs/atoms/Input.js.map +1 -0
- package/lib/commonjs/atoms/KeyValueRow.js +60 -0
- package/lib/commonjs/atoms/KeyValueRow.js.map +1 -0
- package/lib/commonjs/atoms/PressableScale.js +60 -0
- package/lib/commonjs/atoms/PressableScale.js.map +1 -0
- package/lib/commonjs/atoms/Spinner.js +156 -0
- package/lib/commonjs/atoms/Spinner.js.map +1 -0
- package/lib/commonjs/atoms/Text.js +63 -0
- package/lib/commonjs/atoms/Text.js.map +1 -0
- package/lib/commonjs/atoms/index.js +135 -0
- package/lib/commonjs/atoms/index.js.map +1 -0
- package/lib/commonjs/icons/Icon.js +40 -0
- package/lib/commonjs/icons/Icon.js.map +1 -0
- package/lib/commonjs/icons/defaultIcons.js +386 -0
- package/lib/commonjs/icons/defaultIcons.js.map +1 -0
- package/lib/commonjs/icons/index.js +20 -0
- package/lib/commonjs/icons/index.js.map +1 -0
- package/lib/commonjs/icons/types.js +6 -0
- package/lib/commonjs/icons/types.js.map +1 -0
- package/lib/commonjs/index.js +61 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/molecules/AvatarHeader.js +87 -0
- package/lib/commonjs/molecules/AvatarHeader.js.map +1 -0
- package/lib/commonjs/molecules/FormActions.js +47 -0
- package/lib/commonjs/molecules/FormActions.js.map +1 -0
- package/lib/commonjs/molecules/InfoRow.js +83 -0
- package/lib/commonjs/molecules/InfoRow.js.map +1 -0
- package/lib/commonjs/molecules/OptionCard.js +98 -0
- package/lib/commonjs/molecules/OptionCard.js.map +1 -0
- package/lib/commonjs/molecules/Stepper.js +104 -0
- package/lib/commonjs/molecules/Stepper.js.map +1 -0
- package/lib/commonjs/molecules/Steps.js +220 -0
- package/lib/commonjs/molecules/Steps.js.map +1 -0
- package/lib/commonjs/molecules/ThemeToggle.js +91 -0
- package/lib/commonjs/molecules/ThemeToggle.js.map +1 -0
- package/lib/commonjs/molecules/index.js +55 -0
- package/lib/commonjs/molecules/index.js.map +1 -0
- package/lib/commonjs/organisms/Alert.js +223 -0
- package/lib/commonjs/organisms/Alert.js.map +1 -0
- package/lib/commonjs/organisms/AlertProvider.js +109 -0
- package/lib/commonjs/organisms/AlertProvider.js.map +1 -0
- package/lib/commonjs/organisms/BottomSheet.js +154 -0
- package/lib/commonjs/organisms/BottomSheet.js.map +1 -0
- package/lib/commonjs/organisms/DateField.js +147 -0
- package/lib/commonjs/organisms/DateField.js.map +1 -0
- package/lib/commonjs/organisms/DatePicker.js +253 -0
- package/lib/commonjs/organisms/DatePicker.js.map +1 -0
- package/lib/commonjs/organisms/List.js +143 -0
- package/lib/commonjs/organisms/List.js.map +1 -0
- package/lib/commonjs/organisms/Modal.js +286 -0
- package/lib/commonjs/organisms/Modal.js.map +1 -0
- package/lib/commonjs/organisms/Screen.js +75 -0
- package/lib/commonjs/organisms/Screen.js.map +1 -0
- package/lib/commonjs/organisms/SearchList.js +180 -0
- package/lib/commonjs/organisms/SearchList.js.map +1 -0
- package/lib/commonjs/organisms/Select.js +178 -0
- package/lib/commonjs/organisms/Select.js.map +1 -0
- package/lib/commonjs/organisms/Toast.js +157 -0
- package/lib/commonjs/organisms/Toast.js.map +1 -0
- package/lib/commonjs/organisms/ToastProvider.js +131 -0
- package/lib/commonjs/organisms/ToastProvider.js.map +1 -0
- package/lib/commonjs/organisms/Wizard.js +116 -0
- package/lib/commonjs/organisms/Wizard.js.map +1 -0
- package/lib/commonjs/organisms/index.js +127 -0
- package/lib/commonjs/organisms/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme/UIProvider.js +110 -0
- package/lib/commonjs/theme/UIProvider.js.map +1 -0
- package/lib/commonjs/theme/createStyles.js +42 -0
- package/lib/commonjs/theme/createStyles.js.map +1 -0
- package/lib/commonjs/theme/createTheme.js +50 -0
- package/lib/commonjs/theme/createTheme.js.map +1 -0
- package/lib/commonjs/theme/index.js +151 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/theme/insets.js +15 -0
- package/lib/commonjs/theme/insets.js.map +1 -0
- package/lib/commonjs/theme/labels.js +18 -0
- package/lib/commonjs/theme/labels.js.map +1 -0
- package/lib/commonjs/theme/palettes.js +42 -0
- package/lib/commonjs/theme/palettes.js.map +1 -0
- package/lib/commonjs/theme/tokens.js +120 -0
- package/lib/commonjs/theme/tokens.js.map +1 -0
- package/lib/commonjs/theme/types.js +6 -0
- package/lib/commonjs/theme/types.js.map +1 -0
- package/lib/module/atoms/Avatar.js +37 -0
- package/lib/module/atoms/Avatar.js.map +1 -0
- package/lib/module/atoms/Badge.js +77 -0
- package/lib/module/atoms/Badge.js.map +1 -0
- package/lib/module/atoms/Button.js +217 -0
- package/lib/module/atoms/Button.js.map +1 -0
- package/lib/module/atoms/Card.js +28 -0
- package/lib/module/atoms/Card.js.map +1 -0
- package/lib/module/atoms/Checkbox.js +102 -0
- package/lib/module/atoms/Checkbox.js.map +1 -0
- package/lib/module/atoms/Divider.js +22 -0
- package/lib/module/atoms/Divider.js.map +1 -0
- package/lib/module/atoms/EmptyState.js +64 -0
- package/lib/module/atoms/EmptyState.js.map +1 -0
- package/lib/module/atoms/Fab.js +57 -0
- package/lib/module/atoms/Fab.js.map +1 -0
- package/lib/module/atoms/IconButton.js +55 -0
- package/lib/module/atoms/IconButton.js.map +1 -0
- package/lib/module/atoms/Image.js +108 -0
- package/lib/module/atoms/Image.js.map +1 -0
- package/lib/module/atoms/Input.js +168 -0
- package/lib/module/atoms/Input.js.map +1 -0
- package/lib/module/atoms/KeyValueRow.js +55 -0
- package/lib/module/atoms/KeyValueRow.js.map +1 -0
- package/lib/module/atoms/PressableScale.js +55 -0
- package/lib/module/atoms/PressableScale.js.map +1 -0
- package/lib/module/atoms/Spinner.js +151 -0
- package/lib/module/atoms/Spinner.js.map +1 -0
- package/lib/module/atoms/Text.js +58 -0
- package/lib/module/atoms/Text.js.map +1 -0
- package/lib/module/atoms/index.js +18 -0
- package/lib/module/atoms/index.js.map +1 -0
- package/lib/module/icons/Icon.js +35 -0
- package/lib/module/icons/Icon.js.map +1 -0
- package/lib/module/icons/defaultIcons.js +381 -0
- package/lib/module/icons/defaultIcons.js.map +1 -0
- package/lib/module/icons/index.js +5 -0
- package/lib/module/icons/index.js.map +1 -0
- package/lib/module/icons/types.js +4 -0
- package/lib/module/icons/types.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/molecules/AvatarHeader.js +82 -0
- package/lib/module/molecules/AvatarHeader.js.map +1 -0
- package/lib/module/molecules/FormActions.js +42 -0
- package/lib/module/molecules/FormActions.js.map +1 -0
- package/lib/module/molecules/InfoRow.js +78 -0
- package/lib/module/molecules/InfoRow.js.map +1 -0
- package/lib/module/molecules/OptionCard.js +93 -0
- package/lib/module/molecules/OptionCard.js.map +1 -0
- package/lib/module/molecules/Stepper.js +99 -0
- package/lib/module/molecules/Stepper.js.map +1 -0
- package/lib/module/molecules/Steps.js +215 -0
- package/lib/module/molecules/Steps.js.map +1 -0
- package/lib/module/molecules/ThemeToggle.js +86 -0
- package/lib/module/molecules/ThemeToggle.js.map +1 -0
- package/lib/module/molecules/index.js +10 -0
- package/lib/module/molecules/index.js.map +1 -0
- package/lib/module/organisms/Alert.js +218 -0
- package/lib/module/organisms/Alert.js.map +1 -0
- package/lib/module/organisms/AlertProvider.js +103 -0
- package/lib/module/organisms/AlertProvider.js.map +1 -0
- package/lib/module/organisms/BottomSheet.js +149 -0
- package/lib/module/organisms/BottomSheet.js.map +1 -0
- package/lib/module/organisms/DateField.js +142 -0
- package/lib/module/organisms/DateField.js.map +1 -0
- package/lib/module/organisms/DatePicker.js +247 -0
- package/lib/module/organisms/DatePicker.js.map +1 -0
- package/lib/module/organisms/List.js +138 -0
- package/lib/module/organisms/List.js.map +1 -0
- package/lib/module/organisms/Modal.js +281 -0
- package/lib/module/organisms/Modal.js.map +1 -0
- package/lib/module/organisms/Screen.js +70 -0
- package/lib/module/organisms/Screen.js.map +1 -0
- package/lib/module/organisms/SearchList.js +175 -0
- package/lib/module/organisms/SearchList.js.map +1 -0
- package/lib/module/organisms/Select.js +173 -0
- package/lib/module/organisms/Select.js.map +1 -0
- package/lib/module/organisms/Toast.js +152 -0
- package/lib/module/organisms/Toast.js.map +1 -0
- package/lib/module/organisms/ToastProvider.js +125 -0
- package/lib/module/organisms/ToastProvider.js.map +1 -0
- package/lib/module/organisms/Wizard.js +111 -0
- package/lib/module/organisms/Wizard.js.map +1 -0
- package/lib/module/organisms/index.js +16 -0
- package/lib/module/organisms/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme/UIProvider.js +97 -0
- package/lib/module/theme/UIProvider.js.map +1 -0
- package/lib/module/theme/createStyles.js +38 -0
- package/lib/module/theme/createStyles.js.map +1 -0
- package/lib/module/theme/createTheme.js +45 -0
- package/lib/module/theme/createTheme.js.map +1 -0
- package/lib/module/theme/index.js +10 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/insets.js +11 -0
- package/lib/module/theme/insets.js.map +1 -0
- package/lib/module/theme/labels.js +14 -0
- package/lib/module/theme/labels.js.map +1 -0
- package/lib/module/theme/palettes.js +38 -0
- package/lib/module/theme/palettes.js.map +1 -0
- package/lib/module/theme/tokens.js +117 -0
- package/lib/module/theme/tokens.js.map +1 -0
- package/lib/module/theme/types.js +4 -0
- package/lib/module/theme/types.js.map +1 -0
- package/lib/typescript/atoms/Avatar.d.ts +15 -0
- package/lib/typescript/atoms/Avatar.d.ts.map +1 -0
- package/lib/typescript/atoms/Badge.d.ts +19 -0
- package/lib/typescript/atoms/Badge.d.ts.map +1 -0
- package/lib/typescript/atoms/Button.d.ts +30 -0
- package/lib/typescript/atoms/Button.d.ts.map +1 -0
- package/lib/typescript/atoms/Card.d.ts +8 -0
- package/lib/typescript/atoms/Card.d.ts.map +1 -0
- package/lib/typescript/atoms/Checkbox.d.ts +11 -0
- package/lib/typescript/atoms/Checkbox.d.ts.map +1 -0
- package/lib/typescript/atoms/Divider.d.ts +8 -0
- package/lib/typescript/atoms/Divider.d.ts.map +1 -0
- package/lib/typescript/atoms/EmptyState.d.ts +12 -0
- package/lib/typescript/atoms/EmptyState.d.ts.map +1 -0
- package/lib/typescript/atoms/Fab.d.ts +22 -0
- package/lib/typescript/atoms/Fab.d.ts.map +1 -0
- package/lib/typescript/atoms/IconButton.d.ts +23 -0
- package/lib/typescript/atoms/IconButton.d.ts.map +1 -0
- package/lib/typescript/atoms/Image.d.ts +45 -0
- package/lib/typescript/atoms/Image.d.ts.map +1 -0
- package/lib/typescript/atoms/Input.d.ts +24 -0
- package/lib/typescript/atoms/Input.d.ts.map +1 -0
- package/lib/typescript/atoms/KeyValueRow.d.ts +17 -0
- package/lib/typescript/atoms/KeyValueRow.d.ts.map +1 -0
- package/lib/typescript/atoms/PressableScale.d.ts +15 -0
- package/lib/typescript/atoms/PressableScale.d.ts.map +1 -0
- package/lib/typescript/atoms/Spinner.d.ts +20 -0
- package/lib/typescript/atoms/Spinner.d.ts.map +1 -0
- package/lib/typescript/atoms/Text.d.ts +13 -0
- package/lib/typescript/atoms/Text.d.ts.map +1 -0
- package/lib/typescript/atoms/index.d.ts +31 -0
- package/lib/typescript/atoms/index.d.ts.map +1 -0
- package/lib/typescript/icons/Icon.d.ts +18 -0
- package/lib/typescript/icons/Icon.d.ts.map +1 -0
- package/lib/typescript/icons/defaultIcons.d.ts +5 -0
- package/lib/typescript/icons/defaultIcons.d.ts.map +1 -0
- package/lib/typescript/icons/index.d.ts +5 -0
- package/lib/typescript/icons/index.d.ts.map +1 -0
- package/lib/typescript/icons/types.d.ts +10 -0
- package/lib/typescript/icons/types.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/molecules/AvatarHeader.d.ts +20 -0
- package/lib/typescript/molecules/AvatarHeader.d.ts.map +1 -0
- package/lib/typescript/molecules/FormActions.d.ts +21 -0
- package/lib/typescript/molecules/FormActions.d.ts.map +1 -0
- package/lib/typescript/molecules/InfoRow.d.ts +17 -0
- package/lib/typescript/molecules/InfoRow.d.ts.map +1 -0
- package/lib/typescript/molecules/OptionCard.d.ts +20 -0
- package/lib/typescript/molecules/OptionCard.d.ts.map +1 -0
- package/lib/typescript/molecules/Stepper.d.ts +15 -0
- package/lib/typescript/molecules/Stepper.d.ts.map +1 -0
- package/lib/typescript/molecules/Steps.d.ts +29 -0
- package/lib/typescript/molecules/Steps.d.ts.map +1 -0
- package/lib/typescript/molecules/ThemeToggle.d.ts +15 -0
- package/lib/typescript/molecules/ThemeToggle.d.ts.map +1 -0
- package/lib/typescript/molecules/index.d.ts +15 -0
- package/lib/typescript/molecules/index.d.ts.map +1 -0
- package/lib/typescript/organisms/Alert.d.ts +29 -0
- package/lib/typescript/organisms/Alert.d.ts.map +1 -0
- package/lib/typescript/organisms/AlertProvider.d.ts +32 -0
- package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -0
- package/lib/typescript/organisms/BottomSheet.d.ts +15 -0
- package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/organisms/DateField.d.ts +26 -0
- package/lib/typescript/organisms/DateField.d.ts.map +1 -0
- package/lib/typescript/organisms/DatePicker.d.ts +49 -0
- package/lib/typescript/organisms/DatePicker.d.ts.map +1 -0
- package/lib/typescript/organisms/List.d.ts +35 -0
- package/lib/typescript/organisms/List.d.ts.map +1 -0
- package/lib/typescript/organisms/Modal.d.ts +25 -0
- package/lib/typescript/organisms/Modal.d.ts.map +1 -0
- package/lib/typescript/organisms/Screen.d.ts +26 -0
- package/lib/typescript/organisms/Screen.d.ts.map +1 -0
- package/lib/typescript/organisms/SearchList.d.ts +40 -0
- package/lib/typescript/organisms/SearchList.d.ts.map +1 -0
- package/lib/typescript/organisms/Select.d.ts +25 -0
- package/lib/typescript/organisms/Select.d.ts.map +1 -0
- package/lib/typescript/organisms/Toast.d.ts +28 -0
- package/lib/typescript/organisms/Toast.d.ts.map +1 -0
- package/lib/typescript/organisms/ToastProvider.d.ts +36 -0
- package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -0
- package/lib/typescript/organisms/Wizard.d.ts +40 -0
- package/lib/typescript/organisms/Wizard.d.ts.map +1 -0
- package/lib/typescript/organisms/index.d.ts +27 -0
- package/lib/typescript/organisms/index.d.ts.map +1 -0
- package/lib/typescript/theme/UIProvider.d.ts +47 -0
- package/lib/typescript/theme/UIProvider.d.ts.map +1 -0
- package/lib/typescript/theme/createStyles.d.ts +21 -0
- package/lib/typescript/theme/createStyles.d.ts.map +1 -0
- package/lib/typescript/theme/createTheme.d.ts +9 -0
- package/lib/typescript/theme/createTheme.d.ts.map +1 -0
- package/lib/typescript/theme/index.d.ts +14 -0
- package/lib/typescript/theme/index.d.ts.map +1 -0
- package/lib/typescript/theme/insets.d.ts +9 -0
- package/lib/typescript/theme/insets.d.ts.map +1 -0
- package/lib/typescript/theme/labels.d.ts +13 -0
- package/lib/typescript/theme/labels.d.ts.map +1 -0
- package/lib/typescript/theme/palettes.d.ts +24 -0
- package/lib/typescript/theme/palettes.d.ts.map +1 -0
- package/lib/typescript/theme/tokens.d.ts +41 -0
- package/lib/typescript/theme/tokens.d.ts.map +1 -0
- package/lib/typescript/theme/types.d.ts +24 -0
- package/lib/typescript/theme/types.d.ts.map +1 -0
- package/package.json +311 -0
- package/registry/alert-provider.json +21 -0
- package/registry/alert.json +19 -0
- package/registry/avatar-header.json +18 -0
- package/registry/avatar.json +18 -0
- package/registry/badge.json +18 -0
- package/registry/bottom-sheet.json +18 -0
- package/registry/button.json +18 -0
- package/registry/card.json +18 -0
- package/registry/checkbox.json +18 -0
- package/registry/core.json +64 -0
- package/registry/date-field.json +24 -0
- package/registry/date-picker.json +23 -0
- package/registry/divider.json +18 -0
- package/registry/empty-state.json +18 -0
- package/registry/fab.json +19 -0
- package/registry/form-actions.json +19 -0
- package/registry/icon-button.json +19 -0
- package/registry/image.json +20 -0
- package/registry/index.json +465 -0
- package/registry/info-row.json +19 -0
- package/registry/input.json +18 -0
- package/registry/key-value-row.json +18 -0
- package/registry/list.json +20 -0
- package/registry/manifest.json +263 -0
- package/registry/modal.json +21 -0
- package/registry/option-card.json +18 -0
- package/registry/pressable-scale.json +18 -0
- package/registry/screen.json +18 -0
- package/registry/search-list.json +23 -0
- package/registry/select.json +18 -0
- package/registry/spinner.json +18 -0
- package/registry/stepper.json +18 -0
- package/registry/steps.json +18 -0
- package/registry/theme-toggle.json +18 -0
- package/registry/title.json +21 -0
- package/registry/toast-provider.json +20 -0
- package/registry/toast.json +18 -0
- package/registry/wizard.json +20 -0
- package/src/atoms/Avatar.tsx +40 -0
- package/src/atoms/Badge.tsx +55 -0
- package/src/atoms/Button.tsx +186 -0
- package/src/atoms/Card.tsx +27 -0
- package/src/atoms/Checkbox.tsx +75 -0
- package/src/atoms/Divider.tsx +14 -0
- package/src/atoms/EmptyState.tsx +60 -0
- package/src/atoms/Fab.tsx +63 -0
- package/src/atoms/IconButton.tsx +53 -0
- package/src/atoms/Image.tsx +137 -0
- package/src/atoms/Input.tsx +166 -0
- package/src/atoms/KeyValueRow.tsx +48 -0
- package/src/atoms/PressableScale.tsx +52 -0
- package/src/atoms/Spinner.tsx +127 -0
- package/src/atoms/Text.tsx +58 -0
- package/src/atoms/index.ts +30 -0
- package/src/icons/Icon.tsx +27 -0
- package/src/icons/defaultIcons.tsx +292 -0
- package/src/icons/index.ts +4 -0
- package/src/icons/types.ts +27 -0
- package/src/index.ts +5 -0
- package/src/molecules/AvatarHeader.tsx +69 -0
- package/src/molecules/FormActions.tsx +52 -0
- package/src/molecules/InfoRow.tsx +52 -0
- package/src/molecules/OptionCard.tsx +82 -0
- package/src/molecules/Stepper.tsx +76 -0
- package/src/molecules/Steps.tsx +198 -0
- package/src/molecules/ThemeToggle.tsx +67 -0
- package/src/molecules/index.ts +14 -0
- package/src/organisms/Alert.tsx +162 -0
- package/src/organisms/AlertProvider.tsx +125 -0
- package/src/organisms/BottomSheet.tsx +95 -0
- package/src/organisms/DateField.tsx +134 -0
- package/src/organisms/DatePicker.tsx +255 -0
- package/src/organisms/List.tsx +154 -0
- package/src/organisms/Modal.tsx +251 -0
- package/src/organisms/Screen.tsx +84 -0
- package/src/organisms/SearchList.tsx +186 -0
- package/src/organisms/Select.tsx +156 -0
- package/src/organisms/Toast.tsx +135 -0
- package/src/organisms/ToastProvider.tsx +166 -0
- package/src/organisms/Wizard.tsx +137 -0
- package/src/organisms/index.ts +26 -0
- package/src/theme/UIProvider.tsx +129 -0
- package/src/theme/createStyles.ts +40 -0
- package/src/theme/createTheme.ts +49 -0
- package/src/theme/index.ts +22 -0
- package/src/theme/insets.ts +9 -0
- package/src/theme/labels.ts +23 -0
- package/src/theme/palettes.ts +53 -0
- package/src/theme/tokens.ts +113 -0
- package/src/theme/types.ts +27 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_PressableScale","_Icon","_createStyles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","hitArea","padding","tokens","spacing","sm","alignItems","justifyContent","IconButton","exports","memo","iconName","icon","onPress","size","color","disabled","style","accessibilityLabel","testID","styles","jsx","PressableScale","opacity","accessibilityRole","accessibilityState","children","Icon","name","displayName"],"sourceRoot":"../../../src","sources":["atoms/IconButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAAqD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAcrD,MAAMkB,SAAS,GAAG,IAAAC,0BAAY,EAAEC,KAAK,KAAM;EACzCC,OAAO,EAAE;IACPC,OAAO,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO,CAACC,EAAE;IAChCC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAG,IAAAE,WAAI,EAC5B,CAAC;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,OAAO;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,kBAAkB;EAAEC;AAAwB,CAAC,KAAK;EAC/G,MAAMC,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAC1B,oBACE,IAAApB,WAAA,CAAA2C,GAAA,EAAC9C,eAAA,CAAA+C,cAAc;IACbT,OAAO,EAAEA,OAAQ;IACjBG,QAAQ,EAAEA,QAAS;IACnBC,KAAK,EAAE,CAACG,MAAM,CAACnB,OAAO,EAAE;MAAEsB,OAAO,EAAEP,QAAQ,GAAG,GAAG,GAAG;IAAE,CAAC,EAAEC,KAAK,CAAE;IAChEO,iBAAiB,EAAC,QAAQ;IAC1BN,kBAAkB,EAAEA,kBAAmB;IACvCO,kBAAkB,EAAE;MAAET,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IAC7CG,MAAM,EAAEA,MAAO;IAAAO,QAAA,EAEdd,IAAI,KAAKD,QAAQ,iBAAI,IAAAjC,WAAA,CAAA2C,GAAA,EAAC7C,KAAA,CAAAmD,IAAI;MAACC,IAAI,EAAEjB,QAAS;MAACG,IAAI,EAAEA,IAAK;MAACC,KAAK,EAAEA;IAAM,CAAE,CAAC;EAAC,CAC3D,CAAC;AAErB,CACF,CAAC;AACDP,UAAU,CAACqB,WAAW,GAAG,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.prefetchImage = exports.Image = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _createStyles = require("../theme/createStyles");
|
|
10
|
+
var _Spinner = require("./Spinner");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
14
|
+
container: {
|
|
15
|
+
overflow: 'hidden',
|
|
16
|
+
backgroundColor: theme.colors.border + '30'
|
|
17
|
+
},
|
|
18
|
+
overlay: {
|
|
19
|
+
alignItems: 'center',
|
|
20
|
+
justifyContent: 'center'
|
|
21
|
+
},
|
|
22
|
+
fallback: {
|
|
23
|
+
flex: 1,
|
|
24
|
+
backgroundColor: theme.colors.border + '30'
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
function sourceUri(source) {
|
|
28
|
+
return typeof source === 'object' && source !== null && 'uri' in source ? source.uri : undefined;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Image
|
|
33
|
+
* Wrapper cero-dependencias sobre <Image> de RN: agrega estado de carga y
|
|
34
|
+
* error (con los mismos placeholders que el resto de la librería), y expone
|
|
35
|
+
* `priority="high"` para adelantar la descarga vía Image.prefetch(). El
|
|
36
|
+
* cache real (disco/memoria) lo maneja el motor de imágenes nativo de RN —
|
|
37
|
+
* esto no lo reimplementa, solo no lo deja apagado por accidente: en iOS
|
|
38
|
+
* fuerza `cache="force-cache"` (usa el disco aunque el header HTTP no lo
|
|
39
|
+
* pida); en Android el cache de disco de la imagen nativa ya está siempre
|
|
40
|
+
* activo, no hay knob equivalente que tocar.
|
|
41
|
+
*/
|
|
42
|
+
const Image = exports.Image = /*#__PURE__*/(0, _react.memo)(({
|
|
43
|
+
source,
|
|
44
|
+
width,
|
|
45
|
+
height,
|
|
46
|
+
resizeMode = 'cover',
|
|
47
|
+
radius = 0,
|
|
48
|
+
loading = true,
|
|
49
|
+
fallback,
|
|
50
|
+
priority = 'normal',
|
|
51
|
+
style,
|
|
52
|
+
onLoadEnd,
|
|
53
|
+
onError,
|
|
54
|
+
testID
|
|
55
|
+
}) => {
|
|
56
|
+
const styles = useStyles();
|
|
57
|
+
const [status, setStatus] = (0, _react.useState)('loading');
|
|
58
|
+
const uri = sourceUri(source);
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
// Resetea el estado si cambia la imagen (misma instancia de Image,
|
|
61
|
+
// source distinto: p.ej. avatar de un usuario a otro en la misma fila).
|
|
62
|
+
setStatus('loading');
|
|
63
|
+
}, [uri ?? source]);
|
|
64
|
+
(0, _react.useEffect)(() => {
|
|
65
|
+
if (priority === 'high' && uri) {
|
|
66
|
+
_reactNative.Image.prefetch(uri).catch(() => {});
|
|
67
|
+
}
|
|
68
|
+
}, [priority, uri]);
|
|
69
|
+
const handleError = (0, _react.useCallback)(e => {
|
|
70
|
+
setStatus('error');
|
|
71
|
+
onError?.(e);
|
|
72
|
+
}, [onError]);
|
|
73
|
+
const handleLoadEnd = (0, _react.useCallback)(() => {
|
|
74
|
+
setStatus('loaded');
|
|
75
|
+
onLoadEnd?.();
|
|
76
|
+
}, [onLoadEnd]);
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
78
|
+
style: [styles.container, {
|
|
79
|
+
width,
|
|
80
|
+
height,
|
|
81
|
+
borderRadius: radius
|
|
82
|
+
}, style],
|
|
83
|
+
testID: testID,
|
|
84
|
+
children: [status !== 'error' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
85
|
+
source: source,
|
|
86
|
+
resizeMode: resizeMode,
|
|
87
|
+
style: _reactNative.StyleSheet.absoluteFill,
|
|
88
|
+
fadeDuration: _reactNative.Platform.OS === 'android' ? 150 : undefined,
|
|
89
|
+
...(_reactNative.Platform.OS === 'ios' ? {
|
|
90
|
+
cache: 'force-cache'
|
|
91
|
+
} : null),
|
|
92
|
+
onLoadEnd: handleLoadEnd,
|
|
93
|
+
onError: handleError
|
|
94
|
+
}), status === 'loading' && loading !== false && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
95
|
+
style: [_reactNative.StyleSheet.absoluteFill, styles.overlay],
|
|
96
|
+
children: loading === true ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
97
|
+
size: "small",
|
|
98
|
+
fullscreen: false
|
|
99
|
+
}) : loading
|
|
100
|
+
}), status === 'error' && (fallback ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
101
|
+
style: styles.fallback
|
|
102
|
+
}))]
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
Image.displayName = 'Image';
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Precarga una URL antes de montar el componente (p.ej. al recibir la
|
|
109
|
+
* respuesta de un listado, antes de navegar al detalle). Re-exporta
|
|
110
|
+
* Image.prefetch de RN — no hay nada zero-dep que agregarle encima.
|
|
111
|
+
*/
|
|
112
|
+
const prefetchImage = exports.prefetchImage = _reactNative.Image.prefetch;
|
|
113
|
+
//# sourceMappingURL=Image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_Spinner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","overflow","backgroundColor","colors","border","overlay","alignItems","justifyContent","fallback","flex","sourceUri","source","uri","undefined","Image","exports","memo","width","height","resizeMode","radius","loading","priority","style","onLoadEnd","onError","testID","styles","status","setStatus","useState","useEffect","RNImage","prefetch","catch","handleError","useCallback","handleLoadEnd","jsxs","View","borderRadius","children","jsx","StyleSheet","absoluteFill","fadeDuration","Platform","OS","cache","Spinner","size","fullscreen","displayName","prefetchImage"],"sourceRoot":"../../../src","sources":["atoms/Image.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Input = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _createStyles = require("../theme/createStyles");
|
|
10
|
+
var _UIProvider = require("../theme/UIProvider");
|
|
11
|
+
var _Icon = require("../icons/Icon");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
15
|
+
container: {
|
|
16
|
+
marginBottom: theme.tokens.spacing.lg,
|
|
17
|
+
width: '100%'
|
|
18
|
+
},
|
|
19
|
+
label: {
|
|
20
|
+
marginBottom: theme.tokens.spacing.sm,
|
|
21
|
+
fontSize: theme.tokens.fontSize.md,
|
|
22
|
+
fontWeight: theme.tokens.fontWeight.medium,
|
|
23
|
+
color: theme.colors.text
|
|
24
|
+
},
|
|
25
|
+
required: {
|
|
26
|
+
color: theme.colors.error
|
|
27
|
+
},
|
|
28
|
+
inputWrapper: {
|
|
29
|
+
flexDirection: 'row',
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
backgroundColor: theme.colors.inputBackground,
|
|
32
|
+
borderRadius: theme.tokens.radius.lg,
|
|
33
|
+
borderWidth: 2,
|
|
34
|
+
minHeight: 50
|
|
35
|
+
},
|
|
36
|
+
input: {
|
|
37
|
+
flex: 1,
|
|
38
|
+
paddingVertical: theme.tokens.spacing.md,
|
|
39
|
+
paddingHorizontal: theme.tokens.spacing.lg,
|
|
40
|
+
fontSize: theme.tokens.fontSize.lg,
|
|
41
|
+
color: theme.colors.text
|
|
42
|
+
},
|
|
43
|
+
leftIcon: {
|
|
44
|
+
marginLeft: theme.tokens.spacing.lg,
|
|
45
|
+
marginRight: -theme.tokens.spacing.xs
|
|
46
|
+
},
|
|
47
|
+
rightIcon: {
|
|
48
|
+
padding: theme.tokens.spacing.sm + 2,
|
|
49
|
+
marginRight: theme.tokens.spacing.xs
|
|
50
|
+
},
|
|
51
|
+
errorText: {
|
|
52
|
+
marginTop: theme.tokens.spacing.xs,
|
|
53
|
+
fontSize: theme.tokens.fontSize.sm,
|
|
54
|
+
color: theme.colors.error
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Input
|
|
60
|
+
* El borde anima color entre border/primary/error con Animated (no
|
|
61
|
+
* useNativeDriver: los navegadores de color en RN sin Fabric solo son
|
|
62
|
+
* confiables en el hilo de JS; el costo es despreciable, se anima un borde).
|
|
63
|
+
*/
|
|
64
|
+
const Input = exports.Input = /*#__PURE__*/(0, _react.memo)(({
|
|
65
|
+
label,
|
|
66
|
+
required = false,
|
|
67
|
+
error,
|
|
68
|
+
containerStyle,
|
|
69
|
+
leftIconName,
|
|
70
|
+
rightIconName,
|
|
71
|
+
onRightIconPress,
|
|
72
|
+
isPassword = false,
|
|
73
|
+
isLoading = false,
|
|
74
|
+
style,
|
|
75
|
+
onFocus,
|
|
76
|
+
onBlur,
|
|
77
|
+
testID,
|
|
78
|
+
...props
|
|
79
|
+
}) => {
|
|
80
|
+
const colors = (0, _UIProvider.useColors)();
|
|
81
|
+
const styles = useStyles();
|
|
82
|
+
const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
|
|
83
|
+
const [isFocused, setIsFocused] = (0, _react.useState)(false);
|
|
84
|
+
const [showPassword, setShowPassword] = (0, _react.useState)(false);
|
|
85
|
+
const focusProgress = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
86
|
+
const handleFocus = e => {
|
|
87
|
+
setIsFocused(true);
|
|
88
|
+
_reactNative.Animated.timing(focusProgress, {
|
|
89
|
+
toValue: 1,
|
|
90
|
+
duration: 200,
|
|
91
|
+
useNativeDriver: false
|
|
92
|
+
}).start();
|
|
93
|
+
onFocus?.(e);
|
|
94
|
+
};
|
|
95
|
+
const handleBlur = e => {
|
|
96
|
+
setIsFocused(false);
|
|
97
|
+
_reactNative.Animated.timing(focusProgress, {
|
|
98
|
+
toValue: 0,
|
|
99
|
+
duration: 200,
|
|
100
|
+
useNativeDriver: false
|
|
101
|
+
}).start();
|
|
102
|
+
onBlur?.(e);
|
|
103
|
+
};
|
|
104
|
+
const borderColor = error ? colors.error : focusProgress.interpolate({
|
|
105
|
+
outputRange: [colors.border, colors.primary],
|
|
106
|
+
inputRange: [0, 1]
|
|
107
|
+
});
|
|
108
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
109
|
+
style: [styles.container, containerStyle],
|
|
110
|
+
testID: testID,
|
|
111
|
+
children: [label && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
112
|
+
allowFontScaling: allowFontScaling,
|
|
113
|
+
style: styles.label,
|
|
114
|
+
children: [label, required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
115
|
+
style: styles.required,
|
|
116
|
+
children: " *"
|
|
117
|
+
})]
|
|
118
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
|
|
119
|
+
style: [styles.inputWrapper, {
|
|
120
|
+
borderColor
|
|
121
|
+
}],
|
|
122
|
+
children: [leftIconName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
123
|
+
name: leftIconName,
|
|
124
|
+
size: 20,
|
|
125
|
+
color: colors.textLight,
|
|
126
|
+
style: styles.leftIcon
|
|
127
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
128
|
+
style: [styles.input, style],
|
|
129
|
+
placeholderTextColor: colors.textLight,
|
|
130
|
+
onFocus: handleFocus,
|
|
131
|
+
onBlur: handleBlur,
|
|
132
|
+
secureTextEntry: isPassword && !showPassword,
|
|
133
|
+
allowFontScaling: allowFontScaling,
|
|
134
|
+
textAlignVertical: "center",
|
|
135
|
+
accessibilityLabel: label ?? props.placeholder,
|
|
136
|
+
...props
|
|
137
|
+
}), isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
138
|
+
style: styles.rightIcon,
|
|
139
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
140
|
+
size: "small",
|
|
141
|
+
color: colors.primary
|
|
142
|
+
})
|
|
143
|
+
}) : isPassword ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
144
|
+
onPress: () => setShowPassword(v => !v),
|
|
145
|
+
style: styles.rightIcon,
|
|
146
|
+
accessibilityRole: "button",
|
|
147
|
+
accessibilityLabel: showPassword ? 'Hide password' : 'Show password',
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
149
|
+
name: showPassword ? 'eye-off' : 'eye',
|
|
150
|
+
size: 20,
|
|
151
|
+
color: colors.textLight
|
|
152
|
+
})
|
|
153
|
+
}) : rightIconName ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
|
|
154
|
+
onPress: onRightIconPress,
|
|
155
|
+
style: styles.rightIcon,
|
|
156
|
+
disabled: !onRightIconPress,
|
|
157
|
+
accessibilityRole: "button",
|
|
158
|
+
accessibilityLabel: "Clear",
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
160
|
+
name: rightIconName,
|
|
161
|
+
size: 20,
|
|
162
|
+
color: colors.textLight
|
|
163
|
+
})
|
|
164
|
+
}) : null]
|
|
165
|
+
}), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
166
|
+
allowFontScaling: allowFontScaling,
|
|
167
|
+
style: styles.errorText,
|
|
168
|
+
children: error
|
|
169
|
+
})]
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
Input.displayName = 'Input';
|
|
173
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","marginBottom","tokens","spacing","lg","width","label","sm","fontSize","md","fontWeight","medium","color","colors","text","required","error","inputWrapper","flexDirection","alignItems","backgroundColor","inputBackground","borderRadius","radius","borderWidth","minHeight","input","flex","paddingVertical","paddingHorizontal","leftIcon","marginLeft","marginRight","xs","rightIcon","padding","errorText","marginTop","Input","exports","memo","containerStyle","leftIconName","rightIconName","onRightIconPress","isPassword","isLoading","style","onFocus","onBlur","testID","props","useColors","styles","allowFontScaling","useAllowFontScaling","isFocused","setIsFocused","useState","showPassword","setShowPassword","focusProgress","useRef","Animated","Value","current","handleFocus","timing","toValue","duration","useNativeDriver","start","handleBlur","borderColor","interpolate","outputRange","border","primary","inputRange","jsxs","View","children","Text","jsx","Icon","name","size","textLight","TextInput","placeholderTextColor","secureTextEntry","textAlignVertical","accessibilityLabel","placeholder","ActivityIndicator","TouchableOpacity","onPress","v","accessibilityRole","disabled","displayName"],"sourceRoot":"../../../src","sources":["atoms/Input.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.KeyValueRow = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _createStyles = require("../theme/createStyles");
|
|
10
|
+
var _UIProvider = require("../theme/UIProvider");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
14
|
+
row: {
|
|
15
|
+
flexDirection: 'row',
|
|
16
|
+
justifyContent: 'space-between',
|
|
17
|
+
alignItems: 'center'
|
|
18
|
+
},
|
|
19
|
+
label: {
|
|
20
|
+
fontSize: theme.tokens.fontSize.sm,
|
|
21
|
+
fontWeight: theme.tokens.fontWeight.semibold,
|
|
22
|
+
color: theme.colors.textLight
|
|
23
|
+
},
|
|
24
|
+
value: {
|
|
25
|
+
fontSize: theme.tokens.fontSize.sm,
|
|
26
|
+
textAlign: 'right',
|
|
27
|
+
color: theme.colors.text
|
|
28
|
+
}
|
|
29
|
+
}));
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* KeyValueRow
|
|
33
|
+
* Fila label (izquierda) / value (derecha). Si label/value son string o
|
|
34
|
+
* number, se renderizan con el estilo default; si ya vienen envueltos en un
|
|
35
|
+
* componente de texto propio, se respetan tal cual.
|
|
36
|
+
*/
|
|
37
|
+
const KeyValueRow = exports.KeyValueRow = /*#__PURE__*/(0, _react.memo)(({
|
|
38
|
+
label,
|
|
39
|
+
value,
|
|
40
|
+
style,
|
|
41
|
+
labelStyle,
|
|
42
|
+
valueStyle
|
|
43
|
+
}) => {
|
|
44
|
+
const styles = useStyles();
|
|
45
|
+
const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
47
|
+
style: [styles.row, style],
|
|
48
|
+
children: [typeof label === 'string' || typeof label === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
49
|
+
allowFontScaling: allowFontScaling,
|
|
50
|
+
style: [styles.label, labelStyle],
|
|
51
|
+
children: label
|
|
52
|
+
}) : label, typeof value === 'string' || typeof value === 'number' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
53
|
+
allowFontScaling: allowFontScaling,
|
|
54
|
+
style: [styles.value, valueStyle],
|
|
55
|
+
children: value
|
|
56
|
+
}) : value]
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
KeyValueRow.displayName = 'KeyValueRow';
|
|
60
|
+
//# sourceMappingURL=KeyValueRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","row","flexDirection","justifyContent","alignItems","label","fontSize","tokens","sm","fontWeight","semibold","color","colors","textLight","value","textAlign","text","KeyValueRow","exports","memo","style","labelStyle","valueStyle","styles","allowFontScaling","useAllowFontScaling","jsxs","View","children","jsx","Text","displayName"],"sourceRoot":"../../../src","sources":["atoms/KeyValueRow.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.PressableScale = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
/**
|
|
12
|
+
* PressableScale
|
|
13
|
+
* Feedback táctil de "achicarse" al presionar, con Animated.spring de RN
|
|
14
|
+
* (useNativeDriver: true — corre en el hilo nativo, sin coste de JS por frame).
|
|
15
|
+
* No depende de reanimated: la librería entera es cero-dependencias.
|
|
16
|
+
*/
|
|
17
|
+
const PressableScale = exports.PressableScale = /*#__PURE__*/(0, _react.memo)(({
|
|
18
|
+
scaleTo = 0.96,
|
|
19
|
+
style,
|
|
20
|
+
children,
|
|
21
|
+
onPressIn,
|
|
22
|
+
onPressOut,
|
|
23
|
+
disabled,
|
|
24
|
+
...props
|
|
25
|
+
}) => {
|
|
26
|
+
const scale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
|
|
27
|
+
const animateTo = value => {
|
|
28
|
+
_reactNative.Animated.spring(scale, {
|
|
29
|
+
toValue: value,
|
|
30
|
+
useNativeDriver: true,
|
|
31
|
+
speed: 50,
|
|
32
|
+
bounciness: 6
|
|
33
|
+
}).start();
|
|
34
|
+
};
|
|
35
|
+
const handlePressIn = e => {
|
|
36
|
+
if (!disabled) animateTo(scaleTo);
|
|
37
|
+
onPressIn?.(e);
|
|
38
|
+
};
|
|
39
|
+
const handlePressOut = e => {
|
|
40
|
+
if (!disabled) animateTo(1);
|
|
41
|
+
onPressOut?.(e);
|
|
42
|
+
};
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
44
|
+
...props,
|
|
45
|
+
disabled: disabled,
|
|
46
|
+
onPressIn: handlePressIn,
|
|
47
|
+
onPressOut: handlePressOut,
|
|
48
|
+
style: style,
|
|
49
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
50
|
+
style: {
|
|
51
|
+
transform: [{
|
|
52
|
+
scale
|
|
53
|
+
}]
|
|
54
|
+
},
|
|
55
|
+
children: children
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
PressableScale.displayName = 'PressableScale';
|
|
60
|
+
//# sourceMappingURL=PressableScale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PressableScale","exports","memo","scaleTo","style","children","onPressIn","onPressOut","disabled","props","scale","useRef","Animated","Value","current","animateTo","value","spring","toValue","useNativeDriver","speed","bounciness","start","handlePressIn","handlePressOut","jsx","Pressable","View","transform","displayName"],"sourceRoot":"../../../src","sources":["atoms/PressableScale.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Spinner = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _createStyles = require("../theme/createStyles");
|
|
10
|
+
var _UIProvider = require("../theme/UIProvider");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const useStyles = (0, _createStyles.createStyles)(theme => ({
|
|
14
|
+
container: {
|
|
15
|
+
justifyContent: 'center',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
padding: theme.tokens.spacing.xl
|
|
18
|
+
},
|
|
19
|
+
text: {
|
|
20
|
+
marginTop: theme.tokens.spacing.md,
|
|
21
|
+
color: theme.colors.textLight,
|
|
22
|
+
fontSize: theme.tokens.fontSize.md
|
|
23
|
+
},
|
|
24
|
+
dots: {
|
|
25
|
+
flexDirection: 'row',
|
|
26
|
+
gap: theme.tokens.spacing.sm
|
|
27
|
+
}
|
|
28
|
+
}));
|
|
29
|
+
|
|
30
|
+
/** Tres puntos que laten en secuencia. Animated + useNativeDriver: corre en el hilo nativo. */
|
|
31
|
+
const DotsIndicator = /*#__PURE__*/(0, _react.memo)(({
|
|
32
|
+
color,
|
|
33
|
+
dotSize
|
|
34
|
+
}) => {
|
|
35
|
+
const dots = [(0, _react.useRef)(new _reactNative.Animated.Value(0)).current, (0, _react.useRef)(new _reactNative.Animated.Value(0)).current, (0, _react.useRef)(new _reactNative.Animated.Value(0)).current];
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
const animations = dots.map((dot, i) => _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.delay(i * 140), _reactNative.Animated.timing(dot, {
|
|
38
|
+
toValue: 1,
|
|
39
|
+
duration: 320,
|
|
40
|
+
useNativeDriver: true,
|
|
41
|
+
easing: _reactNative.Easing.out(_reactNative.Easing.quad)
|
|
42
|
+
}), _reactNative.Animated.timing(dot, {
|
|
43
|
+
toValue: 0,
|
|
44
|
+
duration: 320,
|
|
45
|
+
useNativeDriver: true,
|
|
46
|
+
easing: _reactNative.Easing.in(_reactNative.Easing.quad)
|
|
47
|
+
}), _reactNative.Animated.delay((2 - i) * 140)])));
|
|
48
|
+
animations.forEach(a => a.start());
|
|
49
|
+
// Sin stop() los loops siguen corriendo tras desmontar y mantienen vivo
|
|
50
|
+
// el árbol de Animated.
|
|
51
|
+
return () => animations.forEach(a => a.stop());
|
|
52
|
+
}, []);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
54
|
+
style: {
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
gap: dotSize * 0.6
|
|
57
|
+
},
|
|
58
|
+
children: dots.map((dot, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
59
|
+
style: {
|
|
60
|
+
width: dotSize,
|
|
61
|
+
height: dotSize,
|
|
62
|
+
borderRadius: dotSize / 2,
|
|
63
|
+
backgroundColor: color,
|
|
64
|
+
opacity: dot.interpolate({
|
|
65
|
+
inputRange: [0, 1],
|
|
66
|
+
outputRange: [0.3, 1]
|
|
67
|
+
}),
|
|
68
|
+
transform: [{
|
|
69
|
+
scale: dot.interpolate({
|
|
70
|
+
inputRange: [0, 1],
|
|
71
|
+
outputRange: [0.75, 1]
|
|
72
|
+
})
|
|
73
|
+
}]
|
|
74
|
+
}
|
|
75
|
+
}, i))
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
DotsIndicator.displayName = 'DotsIndicator';
|
|
79
|
+
|
|
80
|
+
/** Anillo que gira: un borde con un solo lado coloreado. */
|
|
81
|
+
const RingIndicator = /*#__PURE__*/(0, _react.memo)(({
|
|
82
|
+
color,
|
|
83
|
+
diameter
|
|
84
|
+
}) => {
|
|
85
|
+
const spin = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
86
|
+
(0, _react.useEffect)(() => {
|
|
87
|
+
const animation = _reactNative.Animated.loop(_reactNative.Animated.timing(spin, {
|
|
88
|
+
toValue: 1,
|
|
89
|
+
duration: 900,
|
|
90
|
+
useNativeDriver: true,
|
|
91
|
+
easing: _reactNative.Easing.linear
|
|
92
|
+
}));
|
|
93
|
+
animation.start();
|
|
94
|
+
return () => animation.stop();
|
|
95
|
+
}, []);
|
|
96
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
97
|
+
style: {
|
|
98
|
+
width: diameter,
|
|
99
|
+
height: diameter,
|
|
100
|
+
borderRadius: diameter / 2,
|
|
101
|
+
borderWidth: Math.max(2, diameter / 10),
|
|
102
|
+
borderColor: color + '33',
|
|
103
|
+
borderTopColor: color,
|
|
104
|
+
transform: [{
|
|
105
|
+
rotate: spin.interpolate({
|
|
106
|
+
inputRange: [0, 1],
|
|
107
|
+
outputRange: ['0deg', '360deg']
|
|
108
|
+
})
|
|
109
|
+
}]
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
RingIndicator.displayName = 'RingIndicator';
|
|
114
|
+
const Spinner = exports.Spinner = /*#__PURE__*/(0, _react.memo)(({
|
|
115
|
+
size = 'large',
|
|
116
|
+
color,
|
|
117
|
+
text,
|
|
118
|
+
fullscreen = true,
|
|
119
|
+
variant = 'native',
|
|
120
|
+
indicator,
|
|
121
|
+
testID
|
|
122
|
+
}) => {
|
|
123
|
+
const colors = (0, _UIProvider.useColors)();
|
|
124
|
+
const styles = useStyles();
|
|
125
|
+
const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
|
|
126
|
+
const resolvedColor = color || colors.primary;
|
|
127
|
+
const scale = size === 'small' ? 8 : 12;
|
|
128
|
+
const renderIndicator = () => {
|
|
129
|
+
if (indicator) return indicator;
|
|
130
|
+
if (variant === 'dots') return /*#__PURE__*/(0, _jsxRuntime.jsx)(DotsIndicator, {
|
|
131
|
+
color: resolvedColor,
|
|
132
|
+
dotSize: scale
|
|
133
|
+
});
|
|
134
|
+
if (variant === 'ring') return /*#__PURE__*/(0, _jsxRuntime.jsx)(RingIndicator, {
|
|
135
|
+
color: resolvedColor,
|
|
136
|
+
diameter: scale * 3
|
|
137
|
+
});
|
|
138
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
|
|
139
|
+
size: size,
|
|
140
|
+
color: resolvedColor
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
144
|
+
style: [styles.container, fullscreen && {
|
|
145
|
+
flex: 1
|
|
146
|
+
}],
|
|
147
|
+
testID: testID,
|
|
148
|
+
children: [renderIndicator(), text && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
149
|
+
allowFontScaling: allowFontScaling,
|
|
150
|
+
style: styles.text,
|
|
151
|
+
children: text
|
|
152
|
+
})]
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
Spinner.displayName = 'Spinner';
|
|
156
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","container","justifyContent","alignItems","padding","tokens","spacing","xl","text","marginTop","md","color","colors","textLight","fontSize","dots","flexDirection","gap","sm","DotsIndicator","memo","dotSize","useRef","Animated","Value","current","useEffect","animations","map","dot","loop","sequence","delay","timing","toValue","duration","useNativeDriver","easing","Easing","out","quad","in","forEach","a","start","stop","jsx","View","style","children","width","height","borderRadius","backgroundColor","opacity","interpolate","inputRange","outputRange","transform","scale","displayName","RingIndicator","diameter","spin","animation","linear","borderWidth","Math","max","borderColor","borderTopColor","rotate","Spinner","exports","size","fullscreen","variant","indicator","testID","useColors","styles","allowFontScaling","useAllowFontScaling","resolvedColor","primary","renderIndicator","ActivityIndicator","jsxs","flex","Text"],"sourceRoot":"../../../src","sources":["atoms/Spinner.tsx"],"mappings":"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","ignoreList":[]}
|