@impulse-ui-native/pagination 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { StyleSheet } from "react-native";
4
4
  import { useEventCallback } from "@impulse-ui-native/core";
5
- import { Icon } from "@impulse-ui-native/icon/components/icon";
5
+ import { Icon } from "@impulse-ui-native/icon";
6
6
  import { Pressable, Typography } from "@impulse-ui-native/primitives";
7
7
  import {
8
8
  getPaginationStateTokens,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/pagination-button.tsx"],"sourcesContent":["import type { GestureResponderEvent } from \"react-native\";\nimport { memo } from \"react\";\nimport { StyleSheet } from \"react-native\";\n\nimport type { IconProps } from \"@impulse-ui-native/icon/types\";\nimport type { AppTheme, ComponentSize } from \"@impulse-ui-native/theme\";\nimport { useEventCallback } from \"@impulse-ui-native/core\";\nimport { Icon } from \"@impulse-ui-native/icon/components/icon\";\nimport { Pressable, Typography } from \"@impulse-ui-native/primitives\";\nimport {\n getPaginationStateTokens,\n useComponentsTokens,\n useThemedStyles,\n} from \"@impulse-ui-native/theme\";\n\nimport type { PaginationButtonThemeProps } from \"../types\";\n\ninterface PaginationButtonProps {\n current?: boolean;\n disabled?: boolean;\n Icon?: IconProps[\"icon\"];\n label?: number;\n onSelect: (page: number) => void;\n size: ComponentSize;\n targetPage: number;\n}\n\nexport const PaginationButton = memo(function PaginationButton({\n current = false,\n disabled = false,\n Icon: IconComponent,\n label,\n onSelect,\n size,\n targetPage,\n}: PaginationButtonProps) {\n const tokens = useComponentsTokens().pagination;\n\n const styles = useThemedStyles(themedStyles, { current, disabled, size }, [\n current,\n disabled,\n size,\n ]);\n\n const handlePress = useEventCallback((_event: GestureResponderEvent) => {\n onSelect(targetPage);\n });\n\n return (\n <Pressable\n disabled={disabled}\n hitSlop={tokens.sizes[size].hitSlop}\n onPress={handlePress}\n style={styles.root}\n >\n {IconComponent ? (\n <Icon\n color={styles.content.color}\n icon={IconComponent}\n size={tokens.sizes[size].iconSize}\n variant=\"bold\"\n />\n ) : (\n <Typography.Label numeric style={styles.content}>\n {label}\n </Typography.Label>\n )}\n </Pressable>\n );\n});\n\nfunction themedStyles(theme: AppTheme, props: PaginationButtonThemeProps) {\n const tokens = theme.components.pagination;\n const sizeTokens = tokens.sizes[props.size];\n const stateTokens = getPaginationStateTokens(tokens.states, {\n current: props.current,\n disabled: props.disabled,\n });\n\n return StyleSheet.create({\n root: {\n alignItems: \"center\",\n justifyContent: \"center\",\n\n width: sizeTokens.controlSize,\n height: sizeTokens.controlSize,\n\n backgroundColor: stateTokens.backgroundColor,\n borderColor: stateTokens.borderColor,\n borderRadius: tokens.borderRadius,\n borderWidth: tokens.borderWidth,\n },\n content: {\n color: stateTokens.color,\n fontSize: sizeTokens.fontSize,\n textAlign: \"center\",\n },\n });\n}\n"],"mappings":"AAwDQ;AAvDR,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAI3B,SAAS,wBAAwB;AACjC,SAAS,YAAY;AACrB,SAAS,WAAW,kBAAkB;AACtC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcA,MAAM,mBAAmB,KAAK,SAASA,kBAAiB;AAAA,EAC7D,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,SAAS,oBAAoB,EAAE;AAErC,QAAM,SAAS,gBAAgB,cAAc,EAAE,SAAS,UAAU,KAAK,GAAG;AAAA,IACxE;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,cAAc,iBAAiB,CAAC,WAAkC;AACtE,aAAS,UAAU;AAAA,EACrB,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAS,OAAO,MAAM,IAAI,EAAE;AAAA,MAC5B,SAAS;AAAA,MACT,OAAO,OAAO;AAAA,MAEb,0BACC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,OAAO,QAAQ;AAAA,UACtB,MAAM;AAAA,UACN,MAAM,OAAO,MAAM,IAAI,EAAE;AAAA,UACzB,SAAQ;AAAA;AAAA,MACV,IAEA,oBAAC,WAAW,OAAX,EAAiB,SAAO,MAAC,OAAO,OAAO,SACrC,iBACH;AAAA;AAAA,EAEJ;AAEJ,CAAC;AAED,SAAS,aAAa,OAAiB,OAAmC;AACxE,QAAM,SAAS,MAAM,WAAW;AAChC,QAAM,aAAa,OAAO,MAAM,MAAM,IAAI;AAC1C,QAAM,cAAc,yBAAyB,OAAO,QAAQ;AAAA,IAC1D,SAAS,MAAM;AAAA,IACf,UAAU,MAAM;AAAA,EAClB,CAAC;AAED,SAAO,WAAW,OAAO;AAAA,IACvB,MAAM;AAAA,MACJ,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAEhB,OAAO,WAAW;AAAA,MAClB,QAAQ,WAAW;AAAA,MAEnB,iBAAiB,YAAY;AAAA,MAC7B,aAAa,YAAY;AAAA,MACzB,cAAc,OAAO;AAAA,MACrB,aAAa,OAAO;AAAA,IACtB;AAAA,IACA,SAAS;AAAA,MACP,OAAO,YAAY;AAAA,MACnB,UAAU,WAAW;AAAA,MACrB,WAAW;AAAA,IACb;AAAA,EACF,CAAC;AACH;","names":["PaginationButton"]}
1
+ {"version":3,"sources":["../../src/components/pagination-button.tsx"],"sourcesContent":["import type { GestureResponderEvent } from \"react-native\";\nimport { memo } from \"react\";\nimport { StyleSheet } from \"react-native\";\n\nimport type { IconProps } from \"@impulse-ui-native/icon/types\";\nimport type { AppTheme, ComponentSize } from \"@impulse-ui-native/theme\";\nimport { useEventCallback } from \"@impulse-ui-native/core\";\nimport { Icon } from \"@impulse-ui-native/icon\";\nimport { Pressable, Typography } from \"@impulse-ui-native/primitives\";\nimport {\n getPaginationStateTokens,\n useComponentsTokens,\n useThemedStyles,\n} from \"@impulse-ui-native/theme\";\n\nimport type { PaginationButtonThemeProps } from \"../types\";\n\ninterface PaginationButtonProps {\n current?: boolean;\n disabled?: boolean;\n Icon?: IconProps[\"icon\"];\n label?: number;\n onSelect: (page: number) => void;\n size: ComponentSize;\n targetPage: number;\n}\n\nexport const PaginationButton = memo(function PaginationButton({\n current = false,\n disabled = false,\n Icon: IconComponent,\n label,\n onSelect,\n size,\n targetPage,\n}: PaginationButtonProps) {\n const tokens = useComponentsTokens().pagination;\n\n const styles = useThemedStyles(themedStyles, { current, disabled, size }, [\n current,\n disabled,\n size,\n ]);\n\n const handlePress = useEventCallback((_event: GestureResponderEvent) => {\n onSelect(targetPage);\n });\n\n return (\n <Pressable\n disabled={disabled}\n hitSlop={tokens.sizes[size].hitSlop}\n onPress={handlePress}\n style={styles.root}\n >\n {IconComponent ? (\n <Icon\n color={styles.content.color}\n icon={IconComponent}\n size={tokens.sizes[size].iconSize}\n variant=\"bold\"\n />\n ) : (\n <Typography.Label numeric style={styles.content}>\n {label}\n </Typography.Label>\n )}\n </Pressable>\n );\n});\n\nfunction themedStyles(theme: AppTheme, props: PaginationButtonThemeProps) {\n const tokens = theme.components.pagination;\n const sizeTokens = tokens.sizes[props.size];\n const stateTokens = getPaginationStateTokens(tokens.states, {\n current: props.current,\n disabled: props.disabled,\n });\n\n return StyleSheet.create({\n root: {\n alignItems: \"center\",\n justifyContent: \"center\",\n\n width: sizeTokens.controlSize,\n height: sizeTokens.controlSize,\n\n backgroundColor: stateTokens.backgroundColor,\n borderColor: stateTokens.borderColor,\n borderRadius: tokens.borderRadius,\n borderWidth: tokens.borderWidth,\n },\n content: {\n color: stateTokens.color,\n fontSize: sizeTokens.fontSize,\n textAlign: \"center\",\n },\n });\n}\n"],"mappings":"AAwDQ;AAvDR,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAI3B,SAAS,wBAAwB;AACjC,SAAS,YAAY;AACrB,SAAS,WAAW,kBAAkB;AACtC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcA,MAAM,mBAAmB,KAAK,SAASA,kBAAiB;AAAA,EAC7D,UAAU;AAAA,EACV,WAAW;AAAA,EACX,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,SAAS,oBAAoB,EAAE;AAErC,QAAM,SAAS,gBAAgB,cAAc,EAAE,SAAS,UAAU,KAAK,GAAG;AAAA,IACxE;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,cAAc,iBAAiB,CAAC,WAAkC;AACtE,aAAS,UAAU;AAAA,EACrB,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,SAAS,OAAO,MAAM,IAAI,EAAE;AAAA,MAC5B,SAAS;AAAA,MACT,OAAO,OAAO;AAAA,MAEb,0BACC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,OAAO,QAAQ;AAAA,UACtB,MAAM;AAAA,UACN,MAAM,OAAO,MAAM,IAAI,EAAE;AAAA,UACzB,SAAQ;AAAA;AAAA,MACV,IAEA,oBAAC,WAAW,OAAX,EAAiB,SAAO,MAAC,OAAO,OAAO,SACrC,iBACH;AAAA;AAAA,EAEJ;AAEJ,CAAC;AAED,SAAS,aAAa,OAAiB,OAAmC;AACxE,QAAM,SAAS,MAAM,WAAW;AAChC,QAAM,aAAa,OAAO,MAAM,MAAM,IAAI;AAC1C,QAAM,cAAc,yBAAyB,OAAO,QAAQ;AAAA,IAC1D,SAAS,MAAM;AAAA,IACf,UAAU,MAAM;AAAA,EAClB,CAAC;AAED,SAAO,WAAW,OAAO;AAAA,IACvB,MAAM;AAAA,MACJ,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAEhB,OAAO,WAAW;AAAA,MAClB,QAAQ,WAAW;AAAA,MAEnB,iBAAiB,YAAY;AAAA,MAC7B,aAAa,YAAY;AAAA,MACzB,cAAc,OAAO;AAAA,MACrB,aAAa,OAAO;AAAA,IACtB;AAAA,IACA,SAAS;AAAA,MACP,OAAO,YAAY;AAAA,MACnB,UAAU,WAAW;AAAA,MACrB,WAAW;AAAA,IACb;AAAA,EACF,CAAC;AACH;","names":["PaginationButton"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@impulse-ui-native/pagination",
3
- "version": "6.2.0",
3
+ "version": "6.3.0",
4
4
  "description": "Token-aware pagination controls for ImpulseUI Native applications.",
5
5
  "keywords": [
6
6
  "react-native",
@@ -28,10 +28,10 @@
28
28
  ],
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
- "@impulse-ui-native/core": "6.2.0",
32
- "@impulse-ui-native/icon": "6.2.0",
33
- "@impulse-ui-native/primitives": "6.2.0",
34
- "@impulse-ui-native/theme": "6.2.0"
31
+ "@impulse-ui-native/core": "6.3.0",
32
+ "@impulse-ui-native/icon": "6.3.0",
33
+ "@impulse-ui-native/primitives": "6.3.0",
34
+ "@impulse-ui-native/theme": "6.3.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/react": "~19.2.14",
@@ -42,8 +42,8 @@
42
42
  "react-native-svg": "15.15.4",
43
43
  "typescript": "~6.0.3",
44
44
  "@impulse-ui-native/eslint-config": "1.0.0",
45
- "@impulse-ui-native/prettier-config": "1.0.0",
46
- "@impulse-ui-native/tsconfig": "1.0.0"
45
+ "@impulse-ui-native/tsconfig": "1.0.0",
46
+ "@impulse-ui-native/prettier-config": "1.0.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "react": ">=18",