@eml-payments/ui-kit 0.1.0 → 0.1.2

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.
Files changed (114) hide show
  1. package/README.md +3 -2
  2. package/dist/components/Button/Button.js +40 -0
  3. package/dist/components/Button/Button.stories.js +59 -0
  4. package/dist/components/Button/Button.types.js +1 -0
  5. package/dist/components/Button/index.js +1 -0
  6. package/dist/components/Checkbox/Checkbox.js +21 -0
  7. package/dist/components/Checkbox/Checkbox.stories.js +45 -0
  8. package/dist/components/Checkbox/Checkbox.types.js +1 -0
  9. package/dist/components/Checkbox/index.js +2 -0
  10. package/dist/components/Divider/Divider.js +8 -0
  11. package/dist/components/Divider/Divider.stories.js +20 -0
  12. package/dist/components/Divider/Divider.types.js +1 -0
  13. package/dist/components/Divider/index.js +1 -0
  14. package/dist/components/Ellipsis/Ellipsis.functions.js +8 -0
  15. package/dist/components/Ellipsis/Ellipsis.js +7 -0
  16. package/dist/components/Ellipsis/Ellipsis.stories.js +27 -0
  17. package/dist/components/Ellipsis/Ellipsis.types.js +1 -0
  18. package/dist/components/Ellipsis/index.js +1 -0
  19. package/dist/components/Input/Input.js +8 -0
  20. package/dist/components/Input/Input.stories.js +45 -0
  21. package/dist/components/Input/Input.types.js +1 -0
  22. package/dist/components/Input/index.js +2 -0
  23. package/dist/components/Label/Label.js +9 -0
  24. package/dist/components/Label/Label.stories.js +17 -0
  25. package/dist/components/Label/Label.types.js +1 -0
  26. package/dist/components/Label/index.js +2 -0
  27. package/dist/components/RadioGroup/RadioGroup.js +14 -0
  28. package/dist/components/RadioGroup/RadioGroup.stories.js +29 -0
  29. package/dist/components/RadioGroup/RadioGroup.types.js +1 -0
  30. package/dist/components/RadioGroup/index.js +2 -0
  31. package/dist/components/Switch/Switch.js +35 -0
  32. package/dist/components/Switch/Switch.stories.js +47 -0
  33. package/dist/components/Switch/Switch.types.js +1 -0
  34. package/dist/components/Switch/index.js +2 -0
  35. package/dist/components/Table/Table.js +120 -0
  36. package/dist/components/Table/Table.stories.js +19 -0
  37. package/dist/components/Table/Table.types.js +1 -0
  38. package/dist/components/Table/index.js +2 -0
  39. package/dist/components/Tooltip/Tooltip.js +10 -0
  40. package/dist/components/Tooltip/Tooltip.stories.js +19 -0
  41. package/dist/components/Tooltip/Tooltip.types.js +1 -0
  42. package/dist/components/Tooltip/index.js +1 -0
  43. package/dist/config/defaultTheme.js +20 -0
  44. package/dist/config/index.js +2 -0
  45. package/dist/config/uikitConfig.js +1 -0
  46. package/dist/context/UIKitContext.js +4 -0
  47. package/dist/context/UIKitProvider.js +32 -0
  48. package/dist/context/useUIKitTheme.js +1 -0
  49. package/dist/hooks/useToggle.js +6 -0
  50. package/dist/index.js +6 -0
  51. package/dist/lib/utils.js +5 -0
  52. package/dist/stories/Header.js +4 -0
  53. package/dist/stories/Header.stories.js +26 -0
  54. package/dist/stories/Page.js +8 -0
  55. package/dist/stories/Page.stories.js +24 -0
  56. package/dist/types/components/Button/Button.d.ts +7 -0
  57. package/dist/types/components/Button/Button.stories.d.ts +16 -0
  58. package/dist/types/components/Button/Button.types.d.ts +8 -0
  59. package/dist/types/components/Button/index.d.ts +1 -0
  60. package/dist/types/components/Checkbox/Checkbox.d.ts +5 -0
  61. package/dist/types/components/Checkbox/Checkbox.stories.d.ts +13 -0
  62. package/dist/types/components/Checkbox/Checkbox.types.d.ts +6 -0
  63. package/dist/types/components/Checkbox/index.d.ts +2 -0
  64. package/dist/types/components/Divider/Divider.d.ts +3 -0
  65. package/dist/types/components/Divider/Divider.stories.d.ts +8 -0
  66. package/dist/types/components/Divider/Divider.types.d.ts +5 -0
  67. package/dist/types/components/Divider/index.d.ts +1 -0
  68. package/dist/types/components/Ellipsis/Ellipsis.d.ts +3 -0
  69. package/dist/types/components/Ellipsis/Ellipsis.functions.d.ts +1 -0
  70. package/dist/types/components/Ellipsis/Ellipsis.stories.d.ts +7 -0
  71. package/dist/types/components/Ellipsis/Ellipsis.types.d.ts +7 -0
  72. package/dist/types/components/Ellipsis/index.d.ts +1 -0
  73. package/dist/types/components/Input/Input.d.ts +3 -0
  74. package/dist/types/components/Input/Input.stories.d.ts +15 -0
  75. package/dist/types/components/Input/Input.types.d.ts +7 -0
  76. package/dist/types/components/Input/index.d.ts +2 -0
  77. package/dist/types/components/Label/Label.d.ts +5 -0
  78. package/dist/types/components/Label/Label.stories.d.ts +7 -0
  79. package/dist/types/components/Label/Label.types.d.ts +3 -0
  80. package/dist/types/components/Label/index.d.ts +2 -0
  81. package/dist/types/components/RadioGroup/RadioGroup.d.ts +5 -0
  82. package/dist/types/components/RadioGroup/RadioGroup.stories.d.ts +9 -0
  83. package/dist/types/components/RadioGroup/RadioGroup.types.d.ts +5 -0
  84. package/dist/types/components/RadioGroup/index.d.ts +2 -0
  85. package/dist/types/components/Switch/Switch.d.ts +5 -0
  86. package/dist/types/components/Switch/Switch.stories.d.ts +12 -0
  87. package/dist/types/components/Switch/Switch.types.d.ts +6 -0
  88. package/dist/types/components/Switch/index.d.ts +2 -0
  89. package/dist/types/components/Table/Table.d.ts +36 -0
  90. package/dist/types/components/Table/Table.stories.d.ts +9 -0
  91. package/dist/types/components/Table/Table.types.d.ts +4 -0
  92. package/dist/types/components/Table/index.d.ts +2 -0
  93. package/dist/types/components/Tooltip/Tooltip.d.ts +7 -0
  94. package/dist/types/components/Tooltip/Tooltip.stories.d.ts +9 -0
  95. package/dist/types/components/Tooltip/Tooltip.types.d.ts +5 -0
  96. package/dist/types/components/Tooltip/index.d.ts +1 -0
  97. package/dist/types/config/defaultTheme.d.ts +2 -0
  98. package/dist/types/config/index.d.ts +2 -0
  99. package/dist/types/config/uikitConfig.d.ts +19 -0
  100. package/dist/types/context/UIKitContext.d.ts +4 -0
  101. package/dist/types/context/UIKitProvider.d.ts +5 -0
  102. package/dist/types/context/useUIKitTheme.d.ts +1 -0
  103. package/dist/types/hooks/useToggle.d.ts +1 -0
  104. package/dist/types/index.d.ts +6 -0
  105. package/dist/types/index.js +1 -0
  106. package/dist/types/lib/utils.d.ts +2 -0
  107. package/dist/types/stories/Header.d.ts +12 -0
  108. package/dist/types/stories/Header.stories.d.ts +18 -0
  109. package/dist/types/stories/Page.d.ts +3 -0
  110. package/dist/types/stories/Page.stories.d.ts +12 -0
  111. package/dist/types/types/index.d.ts +1 -0
  112. package/dist/types/utils/classNames.d.ts +1 -0
  113. package/dist/utils/classNames.js +3 -0
  114. package/package.json +75 -74
@@ -0,0 +1,36 @@
1
+ import { type ColumnDef, type RowSelectionState } from '@tanstack/react-table';
2
+ import { type Dispatch, type ReactNode, type SetStateAction } from 'react';
3
+ type PaginationProps = {
4
+ pageSize: number;
5
+ pageIndex: number;
6
+ pageCount: number;
7
+ onPageChange: (_pageIndex: number) => void;
8
+ onPageSizeChange: (_pageSize: number) => void;
9
+ };
10
+ type RowAction<T> = {
11
+ title: string;
12
+ fn: (_row: T) => void;
13
+ icon: ReactNode;
14
+ className?: string;
15
+ };
16
+ type TableAction = {
17
+ title: string;
18
+ fn: () => void;
19
+ icon: ReactNode;
20
+ className?: string;
21
+ };
22
+ type TableProps<T extends object> = {
23
+ data: T[];
24
+ columns: ColumnDef<T, unknown>[];
25
+ sortableFields?: string[];
26
+ onSortChange?: (_field: string | undefined, _direction: 'asc' | 'desc' | undefined) => void;
27
+ selected?: RowSelectionState;
28
+ setSelected?: Dispatch<SetStateAction<RowSelectionState>>;
29
+ rowIdKey?: keyof T;
30
+ rowActions?: RowAction<T>[];
31
+ tableActions?: TableAction[];
32
+ search?: string;
33
+ setSearch?: Dispatch<SetStateAction<string>>;
34
+ } & Partial<PaginationProps>;
35
+ export declare function Table<T extends object>({ data, search, columns, selected, pageSize, rowIdKey, setSearch, pageIndex, pageCount, rowActions, setSelected, onSortChange, tableActions, onPageChange, onPageSizeChange, sortableFields, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
36
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Table } from './Table';
2
+ declare const _default: {
3
+ title: string;
4
+ component: typeof Table;
5
+ };
6
+ export default _default;
7
+ export declare const Basic: {
8
+ render: () => import("react/jsx-runtime").JSX.Element;
9
+ };
@@ -0,0 +1,4 @@
1
+ import { TableOptions } from '@tanstack/react-table';
2
+ export interface TableProps<T> extends TableOptions<T> {
3
+ className?: string;
4
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Table';
2
+ export * from './Table.types';
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
4
+ declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
5
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { Meta, StoryObj } from '@storybook/react';
3
+ import { TooltipStoryWrapperProps } from './Tooltip.types';
4
+ export declare const TooltipStoryWrapper: React.FC<TooltipStoryWrapperProps>;
5
+ declare const meta: Meta;
6
+ export default meta;
7
+ export declare const Default: StoryObj;
8
+ export declare const LongTextResponsive: StoryObj;
9
+ export declare const OnDifferentSides: StoryObj;
@@ -0,0 +1,5 @@
1
+ import { TooltipContent } from './Tooltip';
2
+ export interface TooltipStoryWrapperProps extends React.ComponentPropsWithoutRef<typeof TooltipContent> {
3
+ content: string;
4
+ children: React.ReactNode;
5
+ }
@@ -0,0 +1 @@
1
+ export * from './Tooltip';
@@ -0,0 +1,2 @@
1
+ import { UIKitConfig } from './uikitConfig';
2
+ export declare const defaultTheme: UIKitConfig;
@@ -0,0 +1,2 @@
1
+ export * from './defaultTheme';
2
+ export * from './uikitConfig';
@@ -0,0 +1,19 @@
1
+ export type UIKitColors = {
2
+ primary?: string;
3
+ secondary?: string;
4
+ accent?: string;
5
+ success?: string;
6
+ warning?: string;
7
+ error?: string;
8
+ info?: string;
9
+ background?: string;
10
+ foreground?: string;
11
+ textPrimary?: string;
12
+ [key: string]: string | undefined;
13
+ };
14
+ export type UIKitConfig = {
15
+ colors?: UIKitColors;
16
+ radius?: string;
17
+ fontFamily?: string;
18
+ [key: string]: any;
19
+ };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { UIKitConfig } from '../config/uikitConfig';
3
+ export declare const UIKitContext: React.Context<UIKitConfig>;
4
+ export declare const useUIKitTheme: () => UIKitConfig;
@@ -0,0 +1,5 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { UIKitConfig } from '../config/uikitConfig';
3
+ export declare const UIKitProvider: React.FC<PropsWithChildren<{
4
+ config?: UIKitConfig;
5
+ }>>;
@@ -0,0 +1 @@
1
+ export { useUIKitTheme } from './UIKitContext';
@@ -0,0 +1 @@
1
+ export declare function useToggle(initial?: boolean): [boolean, () => void];
@@ -0,0 +1,6 @@
1
+ export { UIKitProvider } from './context/UIKitProvider';
2
+ export { useUIKitTheme } from './context/useUIKitTheme';
3
+ export * from './components/Button';
4
+ export * from './components/Input';
5
+ export * from './components/Table';
6
+ export * from './types';
@@ -0,0 +1 @@
1
+ export * from '../config/uikitConfig';
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,12 @@
1
+ import './header.css';
2
+ type User = {
3
+ name: string;
4
+ };
5
+ export interface HeaderProps {
6
+ user?: User;
7
+ onLogin?: () => void;
8
+ onLogout?: () => void;
9
+ onCreateAccount?: () => void;
10
+ }
11
+ export declare const Header: ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
3
+ title: string;
4
+ component: ({ user, onLogin, onLogout, onCreateAccount }: import("./Header").HeaderProps) => import("react/jsx-runtime").JSX.Element;
5
+ tags: string[];
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ args: {
10
+ onLogin: import("@vitest/spy").Mock<(...args: any[]) => any>;
11
+ onLogout: import("@vitest/spy").Mock<(...args: any[]) => any>;
12
+ onCreateAccount: import("@vitest/spy").Mock<(...args: any[]) => any>;
13
+ };
14
+ };
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+ export declare const LoggedIn: Story;
18
+ export declare const LoggedOut: Story;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import './page.css';
3
+ export declare const Page: React.FC;
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import("react").FC<{}>;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ };
9
+ export default meta;
10
+ type Story = StoryObj<typeof meta>;
11
+ export declare const LoggedOut: Story;
12
+ export declare const LoggedIn: Story;
@@ -0,0 +1 @@
1
+ export * from '../config/uikitConfig';
@@ -0,0 +1 @@
1
+ export declare function classNames(...args: Array<string | boolean | null | undefined | string[]>): string;
@@ -0,0 +1,3 @@
1
+ export function classNames(...args) {
2
+ return args.flat(Infinity).filter(Boolean).join(' ');
3
+ }
package/package.json CHANGED
@@ -1,74 +1,75 @@
1
- {
2
- "name": "@eml-payments/ui-kit",
3
- "version": "0.1.0",
4
- "private": false,
5
- "description": "ARLO UIKit",
6
- "homepage": "https://github.com/EML-Payments/arlo.npm.uikit#readme",
7
- "bugs": {
8
- "url": "https://github.com/EML-Payments/arlo.npm.uikit/issues"
9
- },
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/EML-Payments/arlo.npm.uikit.git"
13
- },
14
- "license": "MIT",
15
- "author": "EML Payments",
16
- "type": "commonjs",
17
- "main": "dist/index.js",
18
- "types": "dist/index.d.ts",
19
- "directories": {
20
- "doc": "docs",
21
- "lib": "lib"
22
- },
23
- "files": [
24
- "dist"
25
- ],
26
- "scripts": {
27
- "storybook": "storybook dev -p 6006",
28
- "build-storybook": "storybook build",
29
- "build": "tsc",
30
- "lint": "eslint . --ext .ts,.tsx --fix",
31
- "prepare": "husky install"
32
- },
33
- "dependencies": {
34
- "@radix-ui/react-checkbox": "^1.3.2",
35
- "@radix-ui/react-label": "^2.1.7",
36
- "@radix-ui/react-radio-group": "^1.3.7",
37
- "@radix-ui/react-slot": "^1.2.3",
38
- "@radix-ui/react-switch": "^1.2.5",
39
- "@radix-ui/react-tooltip": "^1.2.7",
40
- "@tanstack/react-table": "^8.12.0",
41
- "class-variance-authority": "^0.7.1",
42
- "clsx": "^2.1.1",
43
- "lucide-react": "^0.525.0",
44
- "react": ">=18.0.0",
45
- "react-dom": ">=18.0.0",
46
- "tailwind-merge": "^3.3.1",
47
- "tailwindcss": "^3.4.1",
48
- "tailwindcss-animate": "^1.0.7",
49
- "tw-animate-css": "^1.3.5"
50
- },
51
- "devDependencies": {
52
- "@storybook/addon-docs": "^9.0.15",
53
- "@storybook/addon-onboarding": "^9.0.15",
54
- "@storybook/react-vite": "^9.0.15",
55
- "@typescript-eslint/eslint-plugin": "^8.35.1",
56
- "autoprefixer": "^10.4.13",
57
- "eslint": "^8.56.0",
58
- "eslint-plugin-react": "^7.37.5",
59
- "eslint-plugin-storybook": "^9.0.15",
60
- "husky": "^8.0.3",
61
- "postcss": "^8.4.21",
62
- "storybook": "^9.0.15",
63
- "typescript": "^5.4.0"
64
- },
65
- "peerDependencies": {
66
- "react": ">=18.0.0",
67
- "react-dom": ">=18.0.0"
68
- },
69
- "eslintConfig": {
70
- "extends": [
71
- "plugin:storybook/recommended"
72
- ]
73
- }
74
- }
1
+ {
2
+ "name": "@eml-payments/ui-kit",
3
+ "version": "0.1.2",
4
+ "private": false,
5
+ "description": "ARLO UIKit",
6
+ "homepage": "https://github.com/EML-Payments/arlo.npm.uikit#readme",
7
+ "bugs": {
8
+ "url": "https://github.com/EML-Payments/arlo.npm.uikit/issues"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/EML-Payments/arlo.npm.uikit.git"
13
+ },
14
+ "license": "MIT",
15
+ "author": "EML Payments",
16
+ "type": "commonjs",
17
+ "main": "dist/index.js",
18
+ "types": "dist/index.d.ts",
19
+ "directories": {
20
+ "doc": "docs",
21
+ "lib": "lib"
22
+ },
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "scripts": {
27
+ "storybook": "storybook dev -p 6006",
28
+ "build-storybook": "storybook build",
29
+ "build": "tsc",
30
+ "lint": "eslint . --ext .ts,.tsx --fix",
31
+ "prepare": "husky install"
32
+ },
33
+ "dependencies": {
34
+ "@radix-ui/react-checkbox": "^1.3.2",
35
+ "@radix-ui/react-label": "^2.1.7",
36
+ "@radix-ui/react-radio-group": "^1.3.7",
37
+ "@radix-ui/react-slot": "^1.2.3",
38
+ "@radix-ui/react-switch": "^1.2.5",
39
+ "@radix-ui/react-tooltip": "^1.2.7",
40
+ "@tanstack/react-table": "^8.12.0",
41
+ "class-variance-authority": "^0.7.1",
42
+ "clsx": "^2.1.1",
43
+ "lucide-react": "^0.525.0",
44
+ "prettier": "^3.6.2",
45
+ "react": ">=18.0.0",
46
+ "react-dom": ">=18.0.0",
47
+ "tailwind-merge": "^3.3.1",
48
+ "tailwindcss": "^3.4.1",
49
+ "tailwindcss-animate": "^1.0.7",
50
+ "tw-animate-css": "^1.3.5"
51
+ },
52
+ "devDependencies": {
53
+ "@storybook/addon-docs": "^9.0.15",
54
+ "@storybook/addon-onboarding": "^9.0.15",
55
+ "@storybook/react-vite": "^9.0.15",
56
+ "@typescript-eslint/eslint-plugin": "^8.35.1",
57
+ "autoprefixer": "^10.4.13",
58
+ "eslint": "^8.56.0",
59
+ "eslint-plugin-react": "^7.37.5",
60
+ "eslint-plugin-storybook": "^9.0.15",
61
+ "husky": "^8.0.3",
62
+ "postcss": "^8.4.21",
63
+ "storybook": "^9.0.15",
64
+ "typescript": "^5.4.0"
65
+ },
66
+ "peerDependencies": {
67
+ "react": ">=18.0.0",
68
+ "react-dom": ">=18.0.0"
69
+ },
70
+ "eslintConfig": {
71
+ "extends": [
72
+ "plugin:storybook/recommended"
73
+ ]
74
+ }
75
+ }