@impulse-ui-native/theme 1.0.10 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +446 -101
- package/dist/index.js +1052 -0
- package/dist/index.js.map +1 -0
- package/package.json +21 -16
- package/dist/index.cjs.js +0 -429
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -209
- package/dist/index.esm.js +0 -406
- package/dist/index.esm.js.map +0 -1
- package/src/constants/index.ts +0 -2
- package/src/constants/style.constants.ts +0 -80
- package/src/constants/typography.constants.ts +0 -25
- package/src/hooks/index.ts +0 -8
- package/src/hooks/use-border.hook.ts +0 -10
- package/src/hooks/use-colors.hook.ts +0 -10
- package/src/hooks/use-components-theme.hook.ts +0 -13
- package/src/hooks/use-radii.hook.ts +0 -10
- package/src/hooks/use-space.hook.ts +0 -10
- package/src/hooks/use-style-props.hook.ts +0 -9
- package/src/hooks/use-theme.hook.ts +0 -10
- package/src/hooks/use-themed-styles.ts +0 -25
- package/src/index.ts +0 -6
- package/src/providers/index.ts +0 -1
- package/src/providers/theme.provider.tsx +0 -113
- package/src/theme/dark.theme.ts +0 -40
- package/src/theme/index.ts +0 -4
- package/src/theme/light.theme.ts +0 -40
- package/src/theme/tokens.theme.ts +0 -64
- package/src/types/border.types.ts +0 -8
- package/src/types/color.types.ts +0 -7
- package/src/types/components.types.ts +0 -1
- package/src/types/dimension.types.ts +0 -11
- package/src/types/flex.types.ts +0 -27
- package/src/types/index.ts +0 -11
- package/src/types/shadow.types.ts +0 -9
- package/src/types/spacing.types.ts +0 -19
- package/src/types/style.types.ts +0 -19
- package/src/types/theme-provider.types.ts +0 -65
- package/src/types/tokens.types.ts +0 -88
- package/src/types/typography.types.ts +0 -66
- package/src/utils/index.ts +0 -1
- package/src/utils/style.utils.ts +0 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/constants/style.constants.ts","../src/hooks/use-border.hook.ts","../src/providers/theme.provider.tsx","../src/theme/create-button-tokens.ts","../src/theme/create-control-tokens.ts","../src/theme/create-data-state-tokens.ts","../src/theme/create-datetime-picker.ts","../src/theme/create-flyout-tokens.ts","../src/theme/create-icon-button-tokens.ts","../src/theme/create-select-tokens.ts","../src/theme/create-skeleton-tokens.ts","../src/theme/create-tag-tokens.ts","../src/theme/create-time-picker-tokens.ts","../src/theme/tokens.theme.ts","../src/theme/dark.theme.ts","../src/theme/light.theme.ts","../src/hooks/use-colors.hook.ts","../src/hooks/use-components-tokens.hook.ts","../src/hooks/use-radii.hook.ts","../src/hooks/use-space.hook.ts","../src/hooks/use-style-props.hook.ts","../src/utils/style.utils.ts","../src/hooks/use-theme.hook.ts","../src/hooks/use-themed-styles.ts"],"sourcesContent":["import { ShadowIntensity, ShadowLevel, StyleProps } from \"../types\";\r\n\r\nconst StylePropsRecord: Record<keyof StyleProps, number> = {\r\n margin: 0,\r\n marginTop: 0,\r\n marginBottom: 0,\r\n marginLeft: 0,\r\n marginRight: 0,\r\n marginHorizontal: 0,\r\n marginVertical: 0,\r\n padding: 0,\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n paddingLeft: 0,\r\n paddingRight: 0,\r\n paddingHorizontal: 0,\r\n paddingVertical: 0,\r\n color: 0,\r\n backgroundColor: 0,\r\n opacity: 0,\r\n shadow: 0,\r\n shadowPosition: 0,\r\n shadowColor: 0,\r\n shadowOpacity: 0,\r\n shadowRadius: 0,\r\n shadowOffset: 0,\r\n elevation: 0,\r\n borderRadius: 0,\r\n borderTopLeftRadius: 0,\r\n borderTopRightRadius: 0,\r\n borderBottomLeftRadius: 0,\r\n borderBottomRightRadius: 0,\r\n borderWidth: 0,\r\n borderTopWidth: 0,\r\n borderRightWidth: 0,\r\n borderBottomWidth: 0,\r\n borderLeftWidth: 0,\r\n borderColor: 0,\r\n borderTopColor: 0,\r\n borderRightColor: 0,\r\n borderBottomColor: 0,\r\n borderLeftColor: 0,\r\n borderStyle: 0,\r\n fontSize: 0,\r\n fontFamily: 0,\r\n fontWeight: 0,\r\n fontStyle: 0,\r\n fontVariant: 0,\r\n letterSpacing: 0,\r\n lineHeight: 0,\r\n textAlign: 0,\r\n textDecorationLine: 0,\r\n textDecorationStyle: 0,\r\n textDecorationColor: 0,\r\n textTransform: 0,\r\n includeFontPadding: 0,\r\n textAlignVertical: 0,\r\n writingDirection: 0,\r\n flex: 0,\r\n flexGrow: 0,\r\n flexShrink: 0,\r\n flexBasis: 0,\r\n flexDirection: 0,\r\n flexWrap: 0,\r\n justifyContent: 0,\r\n alignItems: 0,\r\n alignSelf: 0,\r\n alignContent: 0,\r\n gap: 0,\r\n rowGap: 0,\r\n columnGap: 0,\r\n position: 0,\r\n top: 0,\r\n right: 0,\r\n bottom: 0,\r\n left: 0,\r\n zIndex: 0,\r\n width: 0,\r\n height: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n minHeight: 0,\r\n maxHeight: 0,\r\n aspectRatio: 0,\r\n overflow: 0,\r\n} as const;\r\n\r\nexport const StylePropsSet = new Set<keyof StyleProps>(\r\n Object.keys(StylePropsRecord) as (keyof StyleProps)[],\r\n);\r\n\r\nexport const shadowScale: Record<ShadowLevel, ShadowIntensity> = {\r\n none: { radius: 0, opacity: 0, elevation: 0 },\r\n xs: { radius: 2, opacity: 0.08, elevation: 1 },\r\n sm: { radius: 4, opacity: 0.1, elevation: 2 },\r\n md: { radius: 8, opacity: 0.15, elevation: 4 },\r\n lg: { radius: 16, opacity: 0.18, elevation: 8 },\r\n xl: { radius: 24, opacity: 0.22, elevation: 12 },\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { BorderSize } from \"../types\";\r\n\r\nexport function useBorder(): BorderSize {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.borderSize, [context.borderSize]);\r\n}\r\n","import {\r\n createContext,\r\n memo,\r\n PropsWithChildren,\r\n useContext,\r\n useMemo,\r\n} from \"react\";\r\n\r\nimport { DeepPartial, merge } from \"@impulse-ui-native/core\";\r\n\r\nimport { createComponentsTokens, DarkTheme, LightTheme } from \"../theme\";\r\nimport {\r\n AppTheme,\r\n ColorScheme,\r\n ComponentsTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nconst ThemeContext = createContext<AppTheme | undefined>(undefined);\r\n\r\ninterface ThemeProviderProps {\r\n scheme?: ColorScheme;\r\n theme?: DeepPartial<{\r\n light: PrimitiveThemeTokens;\r\n dark: PrimitiveThemeTokens;\r\n }>;\r\n components?:\r\n | ((theme: PrimitiveThemeTokens) => DeepPartial<ComponentsTokens>)\r\n | DeepPartial<ComponentsTokens>;\r\n}\r\n\r\nexport const ThemeProvider = memo(function ThemeProvider(\r\n props: PropsWithChildren<ThemeProviderProps>,\r\n) {\r\n const scheme = props?.scheme ?? \"light\";\r\n\r\n const context = useMemo<AppTheme>(() => {\r\n const baseTheme = scheme === \"light\" ? LightTheme : DarkTheme;\r\n const customBaseTheme = props.theme?.[scheme];\r\n const theme = merge(baseTheme, customBaseTheme);\r\n\r\n return {\r\n ...theme,\r\n components: createComponentsTokens(theme),\r\n };\r\n }, [scheme, props.theme?.light, props.theme?.dark, props.components]);\r\n\r\n return (\r\n <ThemeContext.Provider value={context}>\r\n {props.children}\r\n </ThemeContext.Provider>\r\n );\r\n});\r\n\r\nexport function useThemeContext() {\r\n const context = useContext(ThemeContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useThemeContext must be used within a ThemeProvider\");\r\n }\r\n\r\n return context;\r\n}\r\n","import { ButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createButtonTokens(tokens: PrimitiveThemeTokens): ButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingVertical: 6,\r\n paddingHorizontal: 12,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingVertical: 8,\r\n paddingHorizontal: 16,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n large: {\r\n height: 48,\r\n paddingVertical: 10,\r\n paddingHorizontal: 20,\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import {\r\n ControlAddonTokens,\r\n ControlContainerTokens,\r\n ControlErrorTokens,\r\n ControlInputTokens,\r\n ControlLabelTokens,\r\n PrimitiveThemeTokens,\r\n} from \"../types\";\r\n\r\nexport function createControlAddonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlAddonTokens {\r\n return {\r\n marginHorizontal: tokens.space.xxs,\r\n hitSlop: tokens.space.sm,\r\n\r\n iconColor: tokens.colors.text.secondary,\r\n errorIconColor: tokens.colors.feedback.error.value,\r\n disabledIconColor: tokens.colors.text.disabled,\r\n };\r\n}\r\n\r\nexport function createControlContainerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlContainerTokens {\r\n const ErrorColor = tokens.colors.feedback.error.value;\r\n const TransparentColor = \"transparent\";\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.sm,\r\n disabledOpacity: 0.7,\r\n\r\n sizes: {\r\n small: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n medium: {\r\n height: 40,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n large: {\r\n height: 48,\r\n paddingHorizontal: tokens.space.xs,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: TransparentColor,\r\n borderColor: tokens.colors.neutral[\"5\"],\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: tokens.colors.neutral[\"5\"],\r\n },\r\n\r\n soft: {\r\n backgroundColor: tokens.colors.accent.value,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: tokens.colors.neutral[\"2\"],\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: TransparentColor,\r\n borderColor: TransparentColor,\r\n\r\n errorBorderColor: ErrorColor,\r\n\r\n disabledBackgroundColor: TransparentColor,\r\n disabledBorderColor: TransparentColor,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlErrorTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlErrorTokens {\r\n return {\r\n marginTop: tokens.space.xxs,\r\n color: tokens.colors.feedback.error.value,\r\n fontSize: tokens.fontSize.xs,\r\n };\r\n}\r\n\r\nexport function createControlInputTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlInputTokens {\r\n return {\r\n flex: 1,\r\n fontFamily: tokens.fontFamily.normal[400],\r\n paddingHorizontal: tokens.space.xxs,\r\n\r\n sizes: {\r\n small: {\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n medium: {\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n large: {\r\n fontSize: tokens.fontSize.sm,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n outlined: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n soft: {\r\n color: tokens.colors.accent.contrast,\r\n placeholderColor: tokens.colors.accent.contrast,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.accent.contrast,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n ghost: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n\r\n plain: {\r\n color: tokens.colors.text.primary,\r\n placeholderColor: tokens.colors.text.disabled,\r\n\r\n disabledColor: tokens.colors.text.disabled,\r\n disabledPlaceholderColor: tokens.colors.text.disabled,\r\n\r\n errorColor: tokens.colors.text.primary,\r\n errorPlaceholderColor: tokens.colors.feedback.error.value,\r\n },\r\n },\r\n };\r\n}\r\n\r\nexport function createControlLabelTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ControlLabelTokens {\r\n return {\r\n marginBottom: tokens.space.xxs,\r\n fontSize: tokens.fontSize.xsm,\r\n\r\n color: tokens.colors.text.secondary,\r\n disabledColor: tokens.colors.text.disabled,\r\n errorColor: tokens.colors.feedback.error.value,\r\n };\r\n}\r\n","import { DataStateTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDataStateTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DataStateTokens {\r\n return {\r\n details: {\r\n gap: 10,\r\n iconSize: 150,\r\n iconColor: tokens.colors.primary.value,\r\n },\r\n\r\n actionsFooter: {\r\n gap: 10,\r\n },\r\n\r\n content: {\r\n zIndex: 1,\r\n },\r\n\r\n loading: {\r\n transitionDuration: 250,\r\n loaderZIndex: 1,\r\n },\r\n };\r\n}\r\n","import { DatetimePickerTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createDatetimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): DatetimePickerTokens {\r\n return {\r\n calendar: {\r\n dayNamesMarginBottom: tokens.space.msm,\r\n weeksGap: tokens.space.xxs,\r\n },\r\n day: {\r\n size: 40,\r\n borderRadius: tokens.radii.sm,\r\n\r\n color: tokens.colors.text.primary,\r\n outsideMonthColor: tokens.colors.neutral[\"5\"],\r\n\r\n selectedBackgroundColor: tokens.colors.primary.value,\r\n selectedColor: tokens.colors.primary.contrast,\r\n\r\n rangeBackgroundColor: tokens.colors.secondary.value,\r\n rangeColor: tokens.colors.secondary.contrast,\r\n },\r\n datePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimePickerFlyout: {\r\n gap: tokens.space.msm,\r\n },\r\n datetimeRangePickerFlyout: {\r\n gap: tokens.space.msm,\r\n timeInputsGap: tokens.space.xs,\r\n },\r\n flyoutActions: {\r\n gap: tokens.space.msm,\r\n buttonsGap: tokens.space.xs,\r\n clearColor: tokens.colors.primary.value,\r\n },\r\n quickDateOptions: {\r\n gap: tokens.space.xs,\r\n },\r\n visibleDateSelect: {\r\n gap: tokens.space.xs,\r\n },\r\n };\r\n}\r\n","import { FlyoutTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createFlyoutTokens(tokens: PrimitiveThemeTokens): FlyoutTokens {\r\n return {\r\n zIndexBase: 100,\r\n\r\n maxHeightRatio: 0.7,\r\n\r\n overlayColor: tokens.colors.black,\r\n overlayVisibleOpacity: 0.4,\r\n\r\n backgroundColor: tokens.colors.surface.secondary.value,\r\n contentPaddingHorizontal: tokens.space.md,\r\n\r\n borderRadius: tokens.radii.xl,\r\n\r\n hiddenOpacity: 0,\r\n\r\n title: {\r\n paddingVertical: tokens.space.msm,\r\n paddingHorizontal: tokens.space.md,\r\n },\r\n\r\n handle: {\r\n containerHeight: 32,\r\n width: \"25%\",\r\n height: 6,\r\n borderRadius: tokens.radii.round,\r\n backgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import { IconButtonTokens, PrimitiveThemeTokens } from \"../types\";\r\n\r\nexport function createIconButtonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): IconButtonTokens {\r\n const primary = tokens.colors.primary.value;\r\n const primaryContrast = tokens.colors.primary.contrast;\r\n\r\n const secondary = tokens.colors.secondary.value;\r\n const secondaryContrast = tokens.colors.secondary.contrast;\r\n\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.md,\r\n\r\n sizes: {\r\n small: {\r\n size: 32,\r\n padding: 6,\r\n },\r\n medium: {\r\n size: 40,\r\n padding: 8,\r\n },\r\n large: {\r\n size: 48,\r\n padding: 10,\r\n },\r\n },\r\n\r\n variants: {\r\n filled: {\r\n backgroundColor: primary,\r\n borderColor: primary,\r\n color: primaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"5\"],\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: primary,\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"5\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: secondary,\r\n borderColor: secondary,\r\n color: secondaryContrast,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: primary,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SelectTokens } from \"../types\";\r\n\r\nexport function createSelectTokens(tokens: PrimitiveThemeTokens): SelectTokens {\r\n return {\r\n option: {\r\n padding: tokens.space.sm,\r\n selectedIconColor: tokens.colors.primary.value,\r\n selectedIconVisibleOpacity: 1,\r\n selectedIconHiddenOpacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, SkeletonTokens } from \"../types\";\r\n\r\nexport function createSkeletonTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): SkeletonTokens {\r\n const boneColor = tokens.colors.neutral[\"5\"];\r\n\r\n return {\r\n bone: {\r\n backgroundColor: boneColor,\r\n borderColor: boneColor,\r\n initialOpacity: 1,\r\n animatedOpacity: 0.4,\r\n animationDuration: 1000,\r\n },\r\n\r\n text: {\r\n alignSelf: \"flex-start\",\r\n textTransform: \"uppercase\",\r\n opacity: 0,\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TagTokens } from \"../types\";\r\n\r\nexport function createTagTokens(tokens: PrimitiveThemeTokens): TagTokens {\r\n const neutral = tokens.colors.neutral;\r\n const disabledColor = tokens.colors.text.disabled;\r\n\r\n const createVariants = (value: string, contrast: string) => ({\r\n filled: {\r\n backgroundColor: value,\r\n borderColor: value,\r\n color: contrast,\r\n\r\n disabledBackgroundColor: neutral[\"4\"],\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n outlined: {\r\n backgroundColor: \"transparent\",\r\n borderColor: value,\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: neutral[\"6\"],\r\n disabledColor,\r\n },\r\n\r\n soft: {\r\n backgroundColor: contrast,\r\n borderColor: contrast,\r\n color: value,\r\n\r\n disabledBackgroundColor: neutral[\"3\"],\r\n disabledBorderColor: neutral[\"3\"],\r\n disabledColor,\r\n },\r\n\r\n ghost: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n\r\n plain: {\r\n backgroundColor: \"transparent\",\r\n borderColor: \"transparent\",\r\n color: value,\r\n\r\n disabledBackgroundColor: \"transparent\",\r\n disabledBorderColor: \"transparent\",\r\n disabledColor,\r\n },\r\n });\r\n\r\n return {\r\n borderWidth: tokens.borderSize.sm,\r\n borderRadius: tokens.radii.round,\r\n gap: tokens.space.xxs,\r\n iconMarginLeft: tokens.borderSize.md,\r\n\r\n sizes: {\r\n small: {\r\n height: 24,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xl,\r\n fontSize: tokens.fontSize.xs,\r\n },\r\n\r\n medium: {\r\n height: 28,\r\n paddingHorizontal: tokens.space.xs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n\r\n large: {\r\n height: 32,\r\n paddingHorizontal: tokens.space.mxs,\r\n minWidth: tokens.space.xxl,\r\n fontSize: tokens.fontSize.xsm,\r\n },\r\n },\r\n\r\n colors: {\r\n primary: createVariants(\r\n tokens.colors.primary.value,\r\n tokens.colors.primary.contrast,\r\n ),\r\n\r\n secondary: createVariants(\r\n tokens.colors.secondary.value,\r\n tokens.colors.secondary.contrast,\r\n ),\r\n\r\n error: createVariants(\r\n tokens.colors.feedback.error.value,\r\n tokens.colors.feedback.error.contrast,\r\n ),\r\n\r\n warning: createVariants(\r\n tokens.colors.feedback.warning.value,\r\n tokens.colors.feedback.warning.contrast,\r\n ),\r\n\r\n success: createVariants(\r\n tokens.colors.feedback.success.value,\r\n tokens.colors.feedback.success.contrast,\r\n ),\r\n\r\n info: createVariants(\r\n tokens.colors.feedback.info.value,\r\n tokens.colors.feedback.info.contrast,\r\n ),\r\n },\r\n };\r\n}\r\n","import { PrimitiveThemeTokens, TimePickerTokens } from \"../types\";\r\n\r\nexport function createTimePickerTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): TimePickerTokens {\r\n const ItemHeight = 50;\r\n const VisibleItems = 5;\r\n const ContainerHeight = ItemHeight * VisibleItems;\r\n const VerticalPadding = ContainerHeight / 2 - ItemHeight / 2;\r\n const ColumnWidth = 70;\r\n\r\n return {\r\n column: {\r\n width: ColumnWidth,\r\n height: ContainerHeight,\r\n gap: tokens.space.xxs,\r\n\r\n listWidth: 30,\r\n itemHeight: ItemHeight,\r\n visibleItems: VisibleItems,\r\n verticalPadding: VerticalPadding,\r\n initialScrollIndexViewOffset: -VerticalPadding,\r\n\r\n fontSize: tokens.fontSize.xl,\r\n selectedColor: tokens.colors.primary.value,\r\n color: tokens.colors.text.primary,\r\n selectedFontWeight: tokens.fontWeight.semiBold,\r\n fontWeight: tokens.fontWeight.regular,\r\n },\r\n\r\n flyout: {\r\n gap: tokens.space.msm,\r\n },\r\n\r\n columns: {\r\n height: ContainerHeight,\r\n gap: tokens.space.xs,\r\n indicatorHeight: ItemHeight,\r\n indicatorWidth: ColumnWidth * 3 + 70,\r\n indicatorTop: VerticalPadding,\r\n indicatorBorderRadius: tokens.radii.round,\r\n indicatorBackgroundColor: tokens.colors.surface.primary.value,\r\n },\r\n };\r\n}\r\n","import {\r\n BorderSize,\r\n ComponentsTokens,\r\n FontFamily,\r\n FontSize,\r\n FontWeight,\r\n FontWeightItalic,\r\n FontWeightNormal,\r\n FontWeightValue,\r\n LineHeight,\r\n NeutralColor,\r\n PrimitiveThemeTokens,\r\n Radii,\r\n Space,\r\n ThemeColors,\r\n} from \"../types\";\r\nimport { createButtonTokens } from \"./create-button-tokens\";\r\nimport {\r\n createControlAddonTokens,\r\n createControlContainerTokens,\r\n createControlErrorTokens,\r\n createControlInputTokens,\r\n createControlLabelTokens,\r\n} from \"./create-control-tokens\";\r\nimport { createDataStateTokens } from \"./create-data-state-tokens\";\r\nimport { createDatetimePickerTokens } from \"./create-datetime-picker\";\r\nimport { createFlyoutTokens } from \"./create-flyout-tokens\";\r\nimport { createIconButtonTokens } from \"./create-icon-button-tokens\";\r\nimport { createSelectTokens } from \"./create-select-tokens\";\r\nimport { createSkeletonTokens } from \"./create-skeleton-tokens\";\r\nimport { createTagTokens } from \"./create-tag-tokens\";\r\nimport { createTimePickerTokens } from \"./create-time-picker-tokens\";\r\n\r\nexport const SpaceTokens: Space = {\r\n none: 0,\r\n xxs: 4,\r\n xs: 8,\r\n mxs: 12,\r\n sm: 16,\r\n msm: 24,\r\n md: 32,\r\n lg: 48,\r\n xl: 64,\r\n xxl: 96,\r\n};\r\n\r\nexport const BorderSizeTokens: BorderSize = {\r\n sm: 1,\r\n md: 2,\r\n lg: 3,\r\n xl: 5,\r\n xxl: 10,\r\n};\r\n\r\nexport const RadiiTokens: Radii = {\r\n sm: 4,\r\n md: 8,\r\n lg: 16,\r\n xl: 32,\r\n xxl: 64,\r\n xxxl: 128,\r\n round: 100000,\r\n};\r\n\r\nexport const FontSizeTokens: FontSize = {\r\n xxs: 8,\r\n xs: 12,\r\n xsm: 14,\r\n sm: 16,\r\n md: 18,\r\n lg: 20,\r\n xl: 24,\r\n xxl: 28,\r\n xxxl: 32,\r\n huge: 36,\r\n massive: 40,\r\n giant: 48,\r\n colossal: 56,\r\n};\r\n\r\nexport const LineHeightTokens: LineHeight = {\r\n xxs: 12,\r\n xs: 16,\r\n xsm: 20,\r\n sm: 24,\r\n md: 26,\r\n lg: 28,\r\n xl: 32,\r\n xxl: 36,\r\n xxxl: 40,\r\n huge: 44,\r\n massive: 48,\r\n giant: 56,\r\n colossal: 64,\r\n};\r\n\r\nexport const FontWeightTokens: FontWeight = {\r\n thin: 100,\r\n extraLight: 200,\r\n light: 300,\r\n regular: 400,\r\n medium: 500,\r\n semiBold: 600,\r\n bold: 700,\r\n extraBold: 800,\r\n black: 900,\r\n};\r\n\r\nexport const FontFamilyWeightsNormalTokens: Record<\r\n FontWeightValue,\r\n FontWeightNormal\r\n> = {\r\n 100: \"Montserrat_100Thin\",\r\n 200: \"Montserrat_200ExtraLight\",\r\n 300: \"Montserrat_300Light\",\r\n 400: \"Montserrat_400Regular\",\r\n 500: \"Montserrat_500Medium\",\r\n 600: \"Montserrat_600SemiBold\",\r\n 700: \"Montserrat_700Bold\",\r\n 800: \"Montserrat_800ExtraBold\",\r\n 900: \"Montserrat_900Black\",\r\n};\r\n\r\nexport const FontFamilyWeightsItalicTokens: Record<\r\n FontWeightValue,\r\n FontWeightItalic\r\n> = {\r\n 100: \"Montserrat_100Thin_Italic\",\r\n 200: \"Montserrat_200ExtraLight_Italic\",\r\n 300: \"Montserrat_300Light_Italic\",\r\n 400: \"Montserrat_400Regular_Italic\",\r\n 500: \"Montserrat_500Medium_Italic\",\r\n 600: \"Montserrat_600SemiBold_Italic\",\r\n 700: \"Montserrat_700Bold_Italic\",\r\n 800: \"Montserrat_800ExtraBold_Italic\",\r\n 900: \"Montserrat_900Black_Italic\",\r\n};\r\n\r\nexport const FontFamilyTokens: FontFamily = {\r\n normal: FontFamilyWeightsNormalTokens,\r\n italic: FontFamilyWeightsItalicTokens,\r\n};\r\n\r\nexport const NeutralColorTokens: NeutralColor = {\r\n \"0\": \"#ffffff\",\r\n \"1\": \"#f8f9fa\",\r\n \"2\": \"#f1f3f5\",\r\n \"3\": \"#e9ecef\",\r\n \"4\": \"#dee2e6\",\r\n \"5\": \"#ced4da\",\r\n \"6\": \"#adb5bd\",\r\n \"7\": \"#868e96\",\r\n \"8\": \"#495057\",\r\n \"9\": \"#343a40\",\r\n \"10\": \"#212529\",\r\n \"11\": \"#16191d\",\r\n \"12\": \"#0d0f12\",\r\n \"13\": \"#000000\",\r\n};\r\n\r\nexport const LightColors: ThemeColors = {\r\n primary: {\r\n value: \"#f55d6b\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n\r\n accent: {\r\n value: \"#FA9EA7\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n\r\n secondary: {\r\n value: \"#FEE7E9\",\r\n contrast: \"#f55d6b\",\r\n },\r\n\r\n neutral: NeutralColorTokens,\r\n\r\n surface: {\r\n primary: {\r\n value: NeutralColorTokens[\"2\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n secondary: {\r\n value: NeutralColorTokens[\"0\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n elevated: {\r\n value: NeutralColorTokens[\"0\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n inverse: {\r\n value: NeutralColorTokens[\"13\"],\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n },\r\n\r\n text: {\r\n primary: NeutralColorTokens[\"11\"],\r\n secondary: NeutralColorTokens[\"10\"],\r\n tertiary: NeutralColorTokens[\"9\"],\r\n inverse: NeutralColorTokens[\"0\"],\r\n disabled: NeutralColorTokens[\"7\"],\r\n },\r\n\r\n border: {\r\n subtle: {\r\n value: NeutralColorTokens[\"3\"],\r\n contrast: NeutralColorTokens[\"9\"],\r\n },\r\n default: {\r\n value: NeutralColorTokens[\"4\"],\r\n contrast: NeutralColorTokens[\"10\"],\r\n },\r\n strong: {\r\n value: NeutralColorTokens[\"6\"],\r\n contrast: NeutralColorTokens[\"11\"],\r\n },\r\n focus: {\r\n value: \"#f55d6b\",\r\n contrast: NeutralColorTokens[\"0\"],\r\n },\r\n },\r\n\r\n feedback: {\r\n error: {\r\n value: \"#c92a2a\",\r\n contrast: \"#fff5f5\",\r\n },\r\n warning: {\r\n value: \"#e67700\",\r\n contrast: \"#fff4e6\",\r\n },\r\n success: {\r\n value: \"#7a9908\",\r\n contrast: \"#f4fce3\",\r\n },\r\n info: {\r\n value: \"#1864ab\",\r\n contrast: \"#e7f5ff\",\r\n },\r\n },\r\n\r\n overlay: \"rgba(0, 0, 0, 0.45)\",\r\n\r\n white: NeutralColorTokens[\"0\"],\r\n black: NeutralColorTokens[\"13\"],\r\n};\r\n\r\nexport function createComponentsTokens(\r\n tokens: PrimitiveThemeTokens,\r\n): ComponentsTokens {\r\n return {\r\n button: createButtonTokens(tokens),\r\n iconButton: createIconButtonTokens(tokens),\r\n tag: createTagTokens(tokens),\r\n controlAddon: createControlAddonTokens(tokens),\r\n controlContainer: createControlContainerTokens(tokens),\r\n controlError: createControlErrorTokens(tokens),\r\n controlInput: createControlInputTokens(tokens),\r\n controlLabel: createControlLabelTokens(tokens),\r\n select: createSelectTokens(tokens),\r\n datetimePicker: createDatetimePickerTokens(tokens),\r\n timePicker: createTimePickerTokens(tokens),\r\n flyout: createFlyoutTokens(tokens),\r\n skeleton: createSkeletonTokens(tokens),\r\n dataState: createDataStateTokens(tokens),\r\n };\r\n}\r\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const DarkTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { PrimitiveThemeTokens } from \"../types\";\r\nimport {\r\n BorderSizeTokens,\r\n FontFamilyTokens,\r\n FontSizeTokens,\r\n FontWeightTokens,\r\n LightColors,\r\n LineHeightTokens,\r\n RadiiTokens,\r\n SpaceTokens,\r\n} from \"./tokens.theme\";\r\n\r\nexport const LightTheme: PrimitiveThemeTokens = {\r\n colors: LightColors,\r\n space: SpaceTokens,\r\n radii: RadiiTokens,\r\n fontFamily: FontFamilyTokens,\r\n borderSize: BorderSizeTokens,\r\n fontSize: FontSizeTokens,\r\n fontWeight: FontWeightTokens,\r\n lineHeight: LineHeightTokens,\r\n};\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { ThemeColors } from \"../types\";\r\n\r\nexport function useColors(): ThemeColors {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.colors, [context.colors]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\n\r\nexport function useComponentsTokens() {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.components, [context.components]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Radii } from \"../types\";\r\n\r\nexport function useRadii(): Radii {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.radii, [context.radii]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { useThemeContext } from \"../providers\";\r\nimport { Space } from \"../types\";\r\n\r\nexport function useSpace(): Space {\r\n const context = useThemeContext();\r\n\r\n return useMemo(() => context.space, [context.space]);\r\n}\r\n","import { useMemo } from \"react\";\r\n\r\nimport { createStyleKey, extractStyleProps } from \"../utils\";\r\n\r\nexport function useStyleProps<Props extends object>(props: Props) {\r\n const key = useMemo(() => createStyleKey(props), [props]);\r\n\r\n return useMemo(() => extractStyleProps(props), [key]);\r\n}\r\n","import { Platform, ViewStyle } from \"react-native\";\r\n\r\nimport { shadowScale, StylePropsSet } from \"../constants\";\r\nimport {\r\n ShadowLevel,\r\n ShadowPosition,\r\n StylePropKey,\r\n StyleProps,\r\n ThemeColors,\r\n} from \"../types\";\r\n\r\nconst isStylePropKey = (k: string): k is StylePropKey =>\r\n StylePropsSet.has(k as StylePropKey);\r\n\r\nexport const extractStyleProps = <Props extends object>(\r\n props: Props,\r\n): StyleProps => {\r\n const style: StyleProps = {};\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k) && props[k] !== undefined) {\r\n style[k] = props[k] as any;\r\n }\r\n }\r\n\r\n return style;\r\n};\r\n\r\nexport const createStyleKey = <Props extends object>(props: Props) => {\r\n let key = \"\";\r\n\r\n for (const k in props) {\r\n if (isStylePropKey(k)) {\r\n key += String(props[k as keyof Props]);\r\n }\r\n }\r\n\r\n return key;\r\n};\r\n\r\nexport const getShadowStyle = (\r\n level: ShadowLevel = \"none\",\r\n position: ShadowPosition = \"bottom\",\r\n colors: ThemeColors,\r\n): ViewStyle => {\r\n const token = shadowScale[level];\r\n\r\n if (level === \"none\") return {};\r\n\r\n if (Platform.OS === \"android\") {\r\n return {\r\n elevation: token.elevation,\r\n };\r\n }\r\n\r\n let offsetY = 0;\r\n\r\n if (position === \"bottom\") offsetY = token.radius / 2;\r\n if (position === \"top\") offsetY = -token.radius / 2;\r\n if (position === \"around\") offsetY = 0;\r\n\r\n return {\r\n shadowColor: colors.black,\r\n shadowOpacity: token.opacity,\r\n shadowRadius: token.radius,\r\n shadowOffset: {\r\n width: 0,\r\n height: offsetY,\r\n },\r\n };\r\n};\r\n","import { useThemeContext } from \"../providers\";\r\nimport { AppTheme } from \"../types\";\r\n\r\nexport function useTheme(): AppTheme {\r\n return useThemeContext();\r\n}\r\n","import { useMemo } from \"react\";\r\nimport { StyleSheet } from \"react-native\";\r\n\r\nimport { AppTheme } from \"../types\";\r\nimport { useTheme } from \"./use-theme.hook\";\r\n\r\ntype ThemedStyles<T extends StyleSheet.NamedStyles<T>> = T;\r\n\r\ntype StyledFunctionNoProps<T extends StyleSheet.NamedStyles<T>> = (\r\n theme: AppTheme,\r\n) => ThemedStyles<T>;\r\n\r\ntype StyledFunctionWithProps<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n> = (theme: AppTheme, props: Props) => ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<T extends StyleSheet.NamedStyles<T>>(\r\n styledFunction: StyledFunctionNoProps<T>,\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionWithProps<Props, T>,\r\n props: Props,\r\n dependencies: readonly unknown[],\r\n): ThemedStyles<T>;\r\n\r\nexport function useThemedStyles<\r\n Props extends object,\r\n T extends StyleSheet.NamedStyles<T>,\r\n>(\r\n styledFunction: StyledFunctionNoProps<T> | StyledFunctionWithProps<Props, T>,\r\n props?: Props,\r\n dependencies?: readonly unknown[],\r\n): ThemedStyles<T> {\r\n const theme = useTheme();\r\n\r\n const memoDependencies = dependencies ?? (props === undefined ? [] : [props]);\r\n\r\n return useMemo(() => {\r\n if (props === undefined) {\r\n return (styledFunction as StyledFunctionNoProps<T>)(theme);\r\n }\r\n\r\n return (styledFunction as StyledFunctionWithProps<Props, T>)(theme, props);\r\n }, [theme, styledFunction, ...memoDependencies]);\r\n}\r\n"],"mappings":"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","names":["useMemo","ThemeProvider","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo","useMemo"]}
|
package/package.json
CHANGED
|
@@ -1,43 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@impulse-ui-native/theme",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
5
|
+
"module": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.mts",
|
|
8
7
|
"react-native": "src/index.ts",
|
|
9
8
|
"exports": {
|
|
10
9
|
".": {
|
|
11
|
-
"types": "./dist/index.d.
|
|
10
|
+
"types": "./dist/index.d.mts",
|
|
12
11
|
"react-native": "./src/index.ts",
|
|
13
|
-
"import": "./dist/index.
|
|
14
|
-
"require": "./dist/index.cjs.js"
|
|
12
|
+
"import": "./dist/index.js"
|
|
15
13
|
}
|
|
16
14
|
},
|
|
17
15
|
"files": [
|
|
18
16
|
"dist",
|
|
19
|
-
"src",
|
|
20
17
|
"README.md",
|
|
21
18
|
"LICENSE"
|
|
22
19
|
],
|
|
23
20
|
"dependencies": {
|
|
24
|
-
"@
|
|
25
|
-
|
|
21
|
+
"@impulse-ui-native/core": "2.0.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/react": "~19.2.14",
|
|
25
|
+
"eslint": "^9.38.0",
|
|
26
|
+
"prettier": "^3.6.2",
|
|
27
|
+
"react": "19.2.0",
|
|
28
|
+
"react-native": "0.83.6",
|
|
29
|
+
"typescript": "~5.9.2",
|
|
30
|
+
"@impulse-ui-native/prettier-config": "1.0.0",
|
|
31
|
+
"@impulse-ui-native/eslint-config": "1.0.0",
|
|
32
|
+
"@impulse-ui-native/tsconfig": "1.0.0"
|
|
26
33
|
},
|
|
27
34
|
"peerDependencies": {
|
|
28
35
|
"react": ">=18",
|
|
29
|
-
"react-native": ">=0.
|
|
30
|
-
"expo": ">=51 || >=52",
|
|
31
|
-
"expo-modules-core": ">=1.0.0",
|
|
32
|
-
"react-native-gesture-handler": ">=2",
|
|
33
|
-
"react-native-reanimated": ">=3"
|
|
36
|
+
"react-native": ">=0.73"
|
|
34
37
|
},
|
|
35
38
|
"publishConfig": {
|
|
36
39
|
"access": "public"
|
|
37
40
|
},
|
|
41
|
+
"prettier": "@impulse-ui-native/prettier-config",
|
|
38
42
|
"scripts": {
|
|
39
43
|
"build": "tsup --config tsup.config.ts",
|
|
40
44
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
41
|
-
"lint": "pnpm exec eslint . --fix"
|
|
45
|
+
"lint": "pnpm exec eslint . --fix",
|
|
46
|
+
"format": "prettier --write \"./**/*.{ts,tsx,js,jsx,json,md}\" --ignore-path ../../.prettierignore"
|
|
42
47
|
}
|
|
43
48
|
}
|
package/dist/index.cjs.js
DELETED
|
@@ -1,429 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/index.ts
|
|
21
|
-
var index_exports = {};
|
|
22
|
-
__export(index_exports, {
|
|
23
|
-
BorderSizeTokens: () => BorderSizeTokens,
|
|
24
|
-
DarkTheme: () => DarkTheme,
|
|
25
|
-
FontSizeTokens: () => FontSizeTokens,
|
|
26
|
-
FontWeightsItalic: () => FontWeightsItalic,
|
|
27
|
-
FontWeightsNormal: () => FontWeightsNormal,
|
|
28
|
-
LightTheme: () => LightTheme,
|
|
29
|
-
NeutralColorTokens: () => NeutralColorTokens,
|
|
30
|
-
RadiiTokens: () => RadiiTokens,
|
|
31
|
-
SpaceTokens: () => SpaceTokens,
|
|
32
|
-
StylePropsSet: () => StylePropsSet,
|
|
33
|
-
ThemeProvider: () => ThemeProvider,
|
|
34
|
-
createStyleKey: () => createStyleKey,
|
|
35
|
-
extractStyleProps: () => extractStyleProps,
|
|
36
|
-
useBorder: () => useBorder,
|
|
37
|
-
useColors: () => useColors,
|
|
38
|
-
useComponentsTheme: () => useComponentsTheme,
|
|
39
|
-
useRadii: () => useRadii,
|
|
40
|
-
useSpace: () => useSpace,
|
|
41
|
-
useStyleProps: () => useStyleProps,
|
|
42
|
-
useTheme: () => useTheme,
|
|
43
|
-
useThemeContext: () => useThemeContext,
|
|
44
|
-
useThemedStyles: () => useThemedStyles
|
|
45
|
-
});
|
|
46
|
-
module.exports = __toCommonJS(index_exports);
|
|
47
|
-
|
|
48
|
-
// src/constants/style.constants.ts
|
|
49
|
-
var StylePropsSet = /* @__PURE__ */ new Set([
|
|
50
|
-
// Spacing
|
|
51
|
-
"margin",
|
|
52
|
-
"marginTop",
|
|
53
|
-
"marginBottom",
|
|
54
|
-
"marginLeft",
|
|
55
|
-
"marginRight",
|
|
56
|
-
"marginHorizontal",
|
|
57
|
-
"marginVertical",
|
|
58
|
-
"padding",
|
|
59
|
-
"paddingTop",
|
|
60
|
-
"paddingBottom",
|
|
61
|
-
"paddingLeft",
|
|
62
|
-
"paddingRight",
|
|
63
|
-
"paddingHorizontal",
|
|
64
|
-
"paddingVertical",
|
|
65
|
-
// Appearance
|
|
66
|
-
"color",
|
|
67
|
-
"backgroundColor",
|
|
68
|
-
"opacity",
|
|
69
|
-
"borderRadius",
|
|
70
|
-
"borderColor",
|
|
71
|
-
"borderWidth",
|
|
72
|
-
"borderStyle",
|
|
73
|
-
"shadowColor",
|
|
74
|
-
"shadowOpacity",
|
|
75
|
-
"shadowRadius",
|
|
76
|
-
"shadowOffset",
|
|
77
|
-
"elevation",
|
|
78
|
-
// Typography (TextStyle)
|
|
79
|
-
"fontSize",
|
|
80
|
-
"fontFamily",
|
|
81
|
-
"fontWeight",
|
|
82
|
-
"fontStyle",
|
|
83
|
-
"letterSpacing",
|
|
84
|
-
"lineHeight",
|
|
85
|
-
"textAlign",
|
|
86
|
-
"textDecorationLine",
|
|
87
|
-
"textDecorationStyle",
|
|
88
|
-
"textDecorationColor",
|
|
89
|
-
"textTransform",
|
|
90
|
-
"includeFontPadding",
|
|
91
|
-
"textAlignVertical",
|
|
92
|
-
"writingDirection",
|
|
93
|
-
// Flex (ViewStyle)
|
|
94
|
-
"flex",
|
|
95
|
-
"flexGrow",
|
|
96
|
-
"flexShrink",
|
|
97
|
-
"flexBasis",
|
|
98
|
-
"flexDirection",
|
|
99
|
-
"flexWrap",
|
|
100
|
-
"justifyContent",
|
|
101
|
-
"alignItems",
|
|
102
|
-
"alignSelf",
|
|
103
|
-
"alignContent",
|
|
104
|
-
"gap",
|
|
105
|
-
"rowGap",
|
|
106
|
-
"columnGap",
|
|
107
|
-
// Positioning (commonly used with flex layouts)
|
|
108
|
-
"position",
|
|
109
|
-
"top",
|
|
110
|
-
"right",
|
|
111
|
-
"bottom",
|
|
112
|
-
"left",
|
|
113
|
-
// Dimensions (ViewStyle)
|
|
114
|
-
"width",
|
|
115
|
-
"height",
|
|
116
|
-
"minWidth",
|
|
117
|
-
"maxWidth",
|
|
118
|
-
"minHeight",
|
|
119
|
-
"maxHeight",
|
|
120
|
-
"aspectRatio"
|
|
121
|
-
]);
|
|
122
|
-
|
|
123
|
-
// src/constants/typography.constants.ts
|
|
124
|
-
var FontWeightsNormal = {
|
|
125
|
-
100: "Montserrat_100Thin",
|
|
126
|
-
200: "Montserrat_200ExtraLight",
|
|
127
|
-
300: "Montserrat_300Light",
|
|
128
|
-
400: "Montserrat_400Regular",
|
|
129
|
-
500: "Montserrat_500Medium",
|
|
130
|
-
600: "Montserrat_600SemiBold",
|
|
131
|
-
700: "Montserrat_700Bold",
|
|
132
|
-
800: "Montserrat_800ExtraBold",
|
|
133
|
-
900: "Montserrat_900Black"
|
|
134
|
-
};
|
|
135
|
-
var FontWeightsItalic = {
|
|
136
|
-
100: "Montserrat_100Thin_Italic",
|
|
137
|
-
200: "Montserrat_200ExtraLight_Italic",
|
|
138
|
-
300: "Montserrat_300Light_Italic",
|
|
139
|
-
400: "Montserrat_400Regular_Italic",
|
|
140
|
-
500: "Montserrat_500Medium_Italic",
|
|
141
|
-
600: "Montserrat_600SemiBold_Italic",
|
|
142
|
-
700: "Montserrat_700Bold_Italic",
|
|
143
|
-
800: "Montserrat_800ExtraBold_Italic",
|
|
144
|
-
900: "Montserrat_900Black_Italic"
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
// src/hooks/use-border.hook.ts
|
|
148
|
-
var import_react2 = require("react");
|
|
149
|
-
|
|
150
|
-
// src/providers/theme.provider.tsx
|
|
151
|
-
var import_montserrat = require("@expo-google-fonts/montserrat");
|
|
152
|
-
var import_core = require("@impulse-ui-native/core");
|
|
153
|
-
var import_react = require("react");
|
|
154
|
-
|
|
155
|
-
// src/theme/tokens.theme.ts
|
|
156
|
-
var SpaceTokens = {
|
|
157
|
-
none: 0,
|
|
158
|
-
auto: "auto",
|
|
159
|
-
xxs: 4,
|
|
160
|
-
xs: 8,
|
|
161
|
-
mxs: 12,
|
|
162
|
-
sm: 16,
|
|
163
|
-
msm: 24,
|
|
164
|
-
md: 32,
|
|
165
|
-
lg: 48,
|
|
166
|
-
xl: 64,
|
|
167
|
-
xxl: 96
|
|
168
|
-
};
|
|
169
|
-
var BorderSizeTokens = {
|
|
170
|
-
sm: 1,
|
|
171
|
-
md: 2,
|
|
172
|
-
lg: 3,
|
|
173
|
-
xl: 5,
|
|
174
|
-
xxl: 10
|
|
175
|
-
};
|
|
176
|
-
var RadiiTokens = {
|
|
177
|
-
sm: 4,
|
|
178
|
-
md: 8,
|
|
179
|
-
lg: 16,
|
|
180
|
-
xl: 32,
|
|
181
|
-
xxl: 64,
|
|
182
|
-
xxxl: 128,
|
|
183
|
-
round: 1e5
|
|
184
|
-
};
|
|
185
|
-
var FontSizeTokens = {
|
|
186
|
-
xxs: 8,
|
|
187
|
-
xs: 12,
|
|
188
|
-
xsm: 14,
|
|
189
|
-
sm: 16,
|
|
190
|
-
md: 18,
|
|
191
|
-
lg: 20,
|
|
192
|
-
xl: 24,
|
|
193
|
-
xxl: 32,
|
|
194
|
-
xxxl: 40,
|
|
195
|
-
huge: 48,
|
|
196
|
-
massive: 56
|
|
197
|
-
};
|
|
198
|
-
var NeutralColorTokens = {
|
|
199
|
-
"0": "#ffffff",
|
|
200
|
-
"1": "#f8f9fa",
|
|
201
|
-
"2": "#f1f3f5",
|
|
202
|
-
"3": "#e9ecef",
|
|
203
|
-
"4": "#dee2e6",
|
|
204
|
-
"5": "#ced4da",
|
|
205
|
-
"6": "#adb5bd",
|
|
206
|
-
"7": "#868e96",
|
|
207
|
-
"8": "#495057",
|
|
208
|
-
"9": "#343a40",
|
|
209
|
-
"10": "#212529",
|
|
210
|
-
"11": "#16191d",
|
|
211
|
-
"12": "#0d0f12",
|
|
212
|
-
"13": "#000000"
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
// src/theme/dark.theme.ts
|
|
216
|
-
var DarkTheme = {
|
|
217
|
-
colors: {
|
|
218
|
-
primary: "#f55d6b",
|
|
219
|
-
secondary: "#f55d6b",
|
|
220
|
-
neutral: NeutralColorTokens,
|
|
221
|
-
white: NeutralColorTokens["0"],
|
|
222
|
-
black: NeutralColorTokens["13"],
|
|
223
|
-
error: "#c92a2a",
|
|
224
|
-
warning: "#e67700",
|
|
225
|
-
success: "#7a9908",
|
|
226
|
-
info: "#1864ab",
|
|
227
|
-
text: {
|
|
228
|
-
primary: NeutralColorTokens["11"],
|
|
229
|
-
secondary: NeutralColorTokens["10"]
|
|
230
|
-
},
|
|
231
|
-
background: {
|
|
232
|
-
primary: NeutralColorTokens["2"],
|
|
233
|
-
secondary: NeutralColorTokens["0"]
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
spacing: SpaceTokens,
|
|
237
|
-
radii: RadiiTokens,
|
|
238
|
-
fontWeights: {
|
|
239
|
-
normal: FontWeightsNormal,
|
|
240
|
-
italic: FontWeightsItalic
|
|
241
|
-
},
|
|
242
|
-
borderSize: BorderSizeTokens,
|
|
243
|
-
fontSize: FontSizeTokens
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
// src/theme/light.theme.ts
|
|
247
|
-
var LightTheme = {
|
|
248
|
-
colors: {
|
|
249
|
-
primary: "#f55d6b",
|
|
250
|
-
secondary: "#f55d6b",
|
|
251
|
-
neutral: NeutralColorTokens,
|
|
252
|
-
white: NeutralColorTokens["0"],
|
|
253
|
-
black: NeutralColorTokens["13"],
|
|
254
|
-
error: "#c92a2a",
|
|
255
|
-
warning: "#e67700",
|
|
256
|
-
success: "#7a9908",
|
|
257
|
-
info: "#1864ab",
|
|
258
|
-
text: {
|
|
259
|
-
primary: NeutralColorTokens["11"],
|
|
260
|
-
secondary: NeutralColorTokens["10"]
|
|
261
|
-
},
|
|
262
|
-
background: {
|
|
263
|
-
primary: NeutralColorTokens["2"],
|
|
264
|
-
secondary: NeutralColorTokens["0"]
|
|
265
|
-
}
|
|
266
|
-
},
|
|
267
|
-
spacing: SpaceTokens,
|
|
268
|
-
radii: RadiiTokens,
|
|
269
|
-
fontWeights: {
|
|
270
|
-
normal: FontWeightsNormal,
|
|
271
|
-
italic: FontWeightsItalic
|
|
272
|
-
},
|
|
273
|
-
borderSize: BorderSizeTokens,
|
|
274
|
-
fontSize: FontSizeTokens
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
// src/providers/theme.provider.tsx
|
|
278
|
-
var ThemeContext = (0, import_react.createContext)(void 0);
|
|
279
|
-
var ThemeProvider = (0, import_react.memo)(function ThemeProvider2(props) {
|
|
280
|
-
const scheme = props.scheme ?? "light";
|
|
281
|
-
const [loaded] = (0, import_montserrat.useFonts)({
|
|
282
|
-
Montserrat_100Thin: import_montserrat.Montserrat_100Thin,
|
|
283
|
-
Montserrat_100Thin_Italic: import_montserrat.Montserrat_100Thin_Italic,
|
|
284
|
-
Montserrat_200ExtraLight: import_montserrat.Montserrat_200ExtraLight,
|
|
285
|
-
Montserrat_200ExtraLight_Italic: import_montserrat.Montserrat_200ExtraLight_Italic,
|
|
286
|
-
Montserrat_300Light: import_montserrat.Montserrat_300Light,
|
|
287
|
-
Montserrat_300Light_Italic: import_montserrat.Montserrat_300Light_Italic,
|
|
288
|
-
Montserrat_400Regular: import_montserrat.Montserrat_400Regular,
|
|
289
|
-
Montserrat_400Regular_Italic: import_montserrat.Montserrat_400Regular_Italic,
|
|
290
|
-
Montserrat_500Medium: import_montserrat.Montserrat_500Medium,
|
|
291
|
-
Montserrat_500Medium_Italic: import_montserrat.Montserrat_500Medium_Italic,
|
|
292
|
-
Montserrat_600SemiBold: import_montserrat.Montserrat_600SemiBold,
|
|
293
|
-
Montserrat_600SemiBold_Italic: import_montserrat.Montserrat_600SemiBold_Italic,
|
|
294
|
-
Montserrat_700Bold: import_montserrat.Montserrat_700Bold,
|
|
295
|
-
Montserrat_700Bold_Italic: import_montserrat.Montserrat_700Bold_Italic,
|
|
296
|
-
Montserrat_800ExtraBold: import_montserrat.Montserrat_800ExtraBold,
|
|
297
|
-
Montserrat_800ExtraBold_Italic: import_montserrat.Montserrat_800ExtraBold_Italic,
|
|
298
|
-
Montserrat_900Black: import_montserrat.Montserrat_900Black,
|
|
299
|
-
Montserrat_900Black_Italic: import_montserrat.Montserrat_900Black_Italic
|
|
300
|
-
});
|
|
301
|
-
const context = (0, import_react.useMemo)(() => {
|
|
302
|
-
const baseTheme = scheme === "light" ? LightTheme : DarkTheme;
|
|
303
|
-
const customBaseTheme = props.theme?.[scheme];
|
|
304
|
-
const theme = (0, import_core.merge)(baseTheme, customBaseTheme);
|
|
305
|
-
let componentsTheme;
|
|
306
|
-
if (typeof props.components === "function") {
|
|
307
|
-
componentsTheme = props.components(theme);
|
|
308
|
-
} else {
|
|
309
|
-
componentsTheme = props.components;
|
|
310
|
-
}
|
|
311
|
-
return {
|
|
312
|
-
loaded,
|
|
313
|
-
theme,
|
|
314
|
-
components: componentsTheme
|
|
315
|
-
};
|
|
316
|
-
}, [props.theme?.light, props.theme?.dark, props.components]);
|
|
317
|
-
return /* @__PURE__ */ React.createElement(ThemeContext.Provider, { value: context }, props.children);
|
|
318
|
-
});
|
|
319
|
-
function useThemeContext() {
|
|
320
|
-
const context = (0, import_react.useContext)(ThemeContext);
|
|
321
|
-
if (!context) {
|
|
322
|
-
throw new Error("useThemeContext must be used within a ThemeProvider");
|
|
323
|
-
}
|
|
324
|
-
return context;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
// src/hooks/use-border.hook.ts
|
|
328
|
-
function useBorder() {
|
|
329
|
-
const context = useThemeContext();
|
|
330
|
-
return (0, import_react2.useMemo)(() => context.theme.borderSize, [context.theme.borderSize]);
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
// src/hooks/use-colors.hook.ts
|
|
334
|
-
var import_react3 = require("react");
|
|
335
|
-
function useColors() {
|
|
336
|
-
const context = useThemeContext();
|
|
337
|
-
return (0, import_react3.useMemo)(() => context.theme.colors, [context.theme.colors]);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
// src/hooks/use-components-theme.hook.ts
|
|
341
|
-
var import_react4 = require("react");
|
|
342
|
-
function useComponentsTheme() {
|
|
343
|
-
const context = useThemeContext();
|
|
344
|
-
return (0, import_react4.useMemo)(() => context.components, [context.components]);
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
// src/hooks/use-radii.hook.ts
|
|
348
|
-
var import_react5 = require("react");
|
|
349
|
-
function useRadii() {
|
|
350
|
-
const context = useThemeContext();
|
|
351
|
-
return (0, import_react5.useMemo)(() => context.theme.radii, [context.theme.radii]);
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
// src/hooks/use-space.hook.ts
|
|
355
|
-
var import_react6 = require("react");
|
|
356
|
-
function useSpace() {
|
|
357
|
-
const context = useThemeContext();
|
|
358
|
-
return (0, import_react6.useMemo)(() => context.theme.spacing, [context.theme.spacing]);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
// src/hooks/use-style-props.hook.ts
|
|
362
|
-
var import_react7 = require("react");
|
|
363
|
-
|
|
364
|
-
// src/utils/style.utils.ts
|
|
365
|
-
var isStylePropKey = (k) => StylePropsSet.has(k);
|
|
366
|
-
var extractStyleProps = (props) => {
|
|
367
|
-
const style = {};
|
|
368
|
-
for (const k in props) {
|
|
369
|
-
if (isStylePropKey(k) && props[k] !== void 0) {
|
|
370
|
-
style[k] = props[k];
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
return style;
|
|
374
|
-
};
|
|
375
|
-
var createStyleKey = (props) => {
|
|
376
|
-
let key = "";
|
|
377
|
-
for (const k in props) {
|
|
378
|
-
if (isStylePropKey(k)) {
|
|
379
|
-
key += String(props[k]);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
return key;
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
// src/hooks/use-style-props.hook.ts
|
|
386
|
-
function useStyleProps(props) {
|
|
387
|
-
const key = createStyleKey(props);
|
|
388
|
-
return (0, import_react7.useMemo)(() => extractStyleProps(props), [key]);
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
// src/hooks/use-theme.hook.ts
|
|
392
|
-
var import_react8 = require("react");
|
|
393
|
-
function useTheme() {
|
|
394
|
-
const context = useThemeContext();
|
|
395
|
-
return (0, import_react8.useMemo)(() => context.theme, [context.theme]);
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
// src/hooks/use-themed-styles.ts
|
|
399
|
-
var import_react9 = require("react");
|
|
400
|
-
var useThemedStyles = (styledFunction, props) => {
|
|
401
|
-
const theme = useTheme();
|
|
402
|
-
return (0, import_react9.useMemo)(() => styledFunction(theme, props), [theme, props]);
|
|
403
|
-
};
|
|
404
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
405
|
-
0 && (module.exports = {
|
|
406
|
-
BorderSizeTokens,
|
|
407
|
-
DarkTheme,
|
|
408
|
-
FontSizeTokens,
|
|
409
|
-
FontWeightsItalic,
|
|
410
|
-
FontWeightsNormal,
|
|
411
|
-
LightTheme,
|
|
412
|
-
NeutralColorTokens,
|
|
413
|
-
RadiiTokens,
|
|
414
|
-
SpaceTokens,
|
|
415
|
-
StylePropsSet,
|
|
416
|
-
ThemeProvider,
|
|
417
|
-
createStyleKey,
|
|
418
|
-
extractStyleProps,
|
|
419
|
-
useBorder,
|
|
420
|
-
useColors,
|
|
421
|
-
useComponentsTheme,
|
|
422
|
-
useRadii,
|
|
423
|
-
useSpace,
|
|
424
|
-
useStyleProps,
|
|
425
|
-
useTheme,
|
|
426
|
-
useThemeContext,
|
|
427
|
-
useThemedStyles
|
|
428
|
-
});
|
|
429
|
-
//# sourceMappingURL=index.cjs.js.map
|