@tallyui/components 3.0.0 → 3.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tallyui/components",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "type": "module",
5
5
  "description": "Universal POS UI components for Tally UI",
6
6
  "main": "./dist/index.js",
@@ -27,22 +27,22 @@
27
27
  "directory": "packages/components"
28
28
  },
29
29
  "peerDependencies": {
30
- "@tallyui/core": "^3.0.0",
31
- "@tallyui/primitives": "^3.0.0",
32
- "@tallyui/theme": "^3.0.0",
30
+ "@tallyui/core": "^3.0.1",
31
+ "@tallyui/primitives": "^3.0.1",
32
+ "@tallyui/theme": "^3.0.1",
33
33
  "react": ">=18",
34
34
  "react-native": ">=0.74",
35
35
  "react-native-svg": ">=15"
36
36
  },
37
37
  "dependencies": {
38
38
  "class-variance-authority": "^0.7.1",
39
- "@tallyui/pos": "3.0.0"
39
+ "@tallyui/pos": "3.0.1"
40
40
  },
41
41
  "devDependencies": {
42
- "@tallyui/connector-medusa": "3.0.0",
43
- "@tallyui/connector-vendure": "3.0.0",
44
- "@tallyui/connector-woocommerce": "3.0.0",
45
- "@tallyui/mock-api": "3.0.0",
42
+ "@tallyui/connector-medusa": "3.0.1",
43
+ "@tallyui/connector-vendure": "3.0.1",
44
+ "@tallyui/connector-woocommerce": "3.0.1",
45
+ "@tallyui/mock-api": "3.0.1",
46
46
  "@types/react": ">=18",
47
47
  "react": "^19.2.4",
48
48
  "react-native-svg": "15.12.1",
@@ -4,7 +4,9 @@ import type { MovementType, useRegisterSession } from '@tallyui/pos';
4
4
 
5
5
  import { formatMoney } from '@tallyui/core';
6
6
  import { Button } from '../ui/button';
7
- import { Dialog, DialogContent, DialogTitle } from '../ui/dialog';
7
+ import { Dialog, DialogClose, DialogContent, DialogTitle } from '../ui/dialog';
8
+ import { IconButton } from '../ui/icon-button';
9
+ import { XIcon } from '../ui/icon/x-icon';
8
10
  import { Text } from '../ui/text';
9
11
  import { MovementSheet } from './movement-sheet';
10
12
 
@@ -64,7 +66,14 @@ export function RegisterPanel({ register, currency, registerName, open, onOpenCh
64
66
  >
65
67
  {/* The heading stays visible; a phone-height viewport must never push it under the page
66
68
  header (the Front desk review, 2026-09-28) — only the body below it scrolls. */}
67
- <DialogTitle testID="register-panel-amount">{registerName ?? 'Register'}</DialogTitle>
69
+ <View className="flex-row items-center justify-between gap-2">
70
+ <DialogTitle testID="register-panel-amount">{registerName ?? 'Register'}</DialogTitle>
71
+ <DialogClose asChild>
72
+ <IconButton variant="ghost" size="sm" testID="register-panel-dismiss" accessibilityLabel="Close panel">
73
+ <XIcon size={16} />
74
+ </IconButton>
75
+ </DialogClose>
76
+ </View>
68
77
  <Text testID="register-panel-sales-count">{salesCount} sale{salesCount === 1 ? '' : 's'} this session</Text>
69
78
  <ScrollView testID="register-panel-body" className="flex-1" contentContainerClassName="gap-3">
70
79
  <View className="flex-row gap-2">
@@ -0,0 +1,9 @@
1
+ import { Line } from 'react-native-svg';
2
+ import { createSvgIcon } from './svg-icon';
3
+
4
+ export const XIcon = createSvgIcon('XIcon', () => (
5
+ <>
6
+ <Line x1={18} y1={6} x2={6} y2={18} />
7
+ <Line x1={6} y1={6} x2={18} y2={18} />
8
+ </>
9
+ ));
package/src/ui/index.ts CHANGED
@@ -7,6 +7,7 @@ export { VStack, vstackVariants, type VStackProps } from './vstack';
7
7
  export { Icon, iconVariants, type IconProps } from './icon';
8
8
  export { createSvgIcon, type SvgIconProps } from './icon/svg-icon';
9
9
  export { SearchIcon } from './icon/search-icon';
10
+ export { XIcon } from './icon/x-icon';
10
11
  export { Loader, loaderVariants, type LoaderProps } from './loader';
11
12
  export { Badge, badgeVariants, badgeTextVariants, type BadgeProps } from './badge';
12
13
  export { Avatar, avatarVariants, type AvatarProps } from './avatar';