@helpdice/ui 1.6.8 → 1.7.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/Placeholder/index.js +44 -23
- package/dist/auto-complete/auto-complete.d.ts +35 -3
- package/dist/auto-complete/index.js +45 -22
- package/dist/avatar/avatar.d.ts +2 -1
- package/dist/avatar/index.js +33 -13
- package/dist/badge/index.js +30 -11
- package/dist/breadcrumbs/index.js +31 -12
- package/dist/button/index.js +34 -14
- package/dist/button-dropdown/index.js +31 -12
- package/dist/button-group/index.js +30 -11
- package/dist/capacity/index.js +30 -11
- package/dist/card/index.js +31 -12
- package/dist/checkbox/index.js +31 -12
- package/dist/code/index.js +30 -11
- package/dist/code-block/index.d.ts +10 -0
- package/dist/col/index.js +21 -2
- package/dist/collapse/index.js +30 -11
- package/dist/css-baseline/index.js +24 -5
- package/dist/description/index.js +30 -11
- package/dist/display/index.js +30 -11
- package/dist/divider/index.js +30 -11
- package/dist/dot/index.js +30 -11
- package/dist/drawer/index.js +30 -11
- package/dist/fieldset/index.js +30 -11
- package/dist/grid/grid-container.d.ts +3 -3
- package/dist/grid/grid.d.ts +3 -3
- package/dist/grid/index.js +30 -11
- package/dist/image/index.js +31 -12
- package/dist/index.d.ts +4 -3
- package/dist/index.js +10994 -1501
- package/dist/input/index.js +36 -15
- package/dist/keyboard/index.js +30 -11
- package/dist/link/index.js +31 -12
- package/dist/list/index.d.ts +9 -0
- package/dist/list/index.js +1287 -0
- package/dist/list/list-item.d.ts +53 -0
- package/dist/list/list.d.ts +44 -0
- package/dist/loading/index.js +30 -11
- package/dist/menu/index.d.ts +2 -0
- package/dist/menu/index.js +10354 -0
- package/dist/menu/menu.d.ts +9 -0
- package/dist/modal/index.js +37 -16
- package/dist/note/index.js +30 -11
- package/dist/page/index.js +30 -11
- package/dist/pagination/index.js +30 -11
- package/dist/popover/index.js +30 -11
- package/dist/progress/index.js +30 -11
- package/dist/radio/index.js +30 -11
- package/dist/rating/index.js +31 -12
- package/dist/row/index.js +21 -2
- package/dist/search-bar/index.js +31 -12
- package/dist/select/index.js +33 -14
- package/dist/slider/index.js +30 -11
- package/dist/snippet/index.js +31 -12
- package/dist/spacer/index.js +30 -11
- package/dist/spinner/index.js +30 -11
- package/dist/table/index.d.ts +0 -1
- package/dist/table/index.js +1673 -2252
- package/dist/tabs/index.js +32 -13
- package/dist/tag/index.js +30 -11
- package/dist/text/child.d.ts +1 -1
- package/dist/text/index.js +44 -23
- package/dist/text/text.d.ts +2 -1
- package/dist/textarea/index.js +30 -11
- package/dist/toggle/index.js +30 -11
- package/dist/tooltip/index.js +30 -11
- package/dist/tree/index.js +21 -2
- package/dist/ui-provider/index.js +34 -14
- package/dist/use-scale/index.js +9 -9
- package/dist/user/index.js +34 -14
- package/dist/utils/collections.d.ts +1 -1
- package/esm/auto-complete/auto-complete.d.ts +35 -3
- package/esm/auto-complete/auto-complete.js +6 -6
- package/esm/avatar/avatar.d.ts +2 -1
- package/esm/avatar/avatar.js +3 -2
- package/esm/button/button-loading.js +1 -1
- package/esm/button/button.js +2 -1
- package/esm/button/styles.js +1 -1
- package/esm/button-dropdown/icon.js +1 -1
- package/esm/checkbox/checkbox.icon.js +1 -1
- package/esm/code-block/index.d.ts +10 -0
- package/esm/code-block/index.js +31 -27
- package/esm/css-baseline/css-baseline.js +3 -3
- package/esm/form/FormWrapper.js +4 -4
- package/esm/grid/grid-container.d.ts +3 -3
- package/esm/grid/grid.d.ts +3 -3
- package/esm/index.d.ts +4 -3
- package/esm/index.js +4 -4
- package/esm/input/input-block-label.js +1 -1
- package/esm/input/input-icon.js +1 -1
- package/esm/input/input.js +2 -1
- package/esm/input/password.js +2 -1
- package/esm/link/icon.js +1 -1
- package/esm/link/link.js +2 -2
- package/esm/list/index.d.ts +9 -0
- package/esm/list/index.js +8 -0
- package/esm/list/list-item.d.ts +53 -0
- package/esm/list/list-item.js +84 -0
- package/esm/list/list.d.ts +44 -0
- package/esm/list/list.js +29 -0
- package/esm/login-with/LoginSocialApple/index.js +17 -17
- package/esm/login-with/LoginSocialGithub/index.js +2 -2
- package/esm/login-with/LoginSocialInstagram/index.js +2 -2
- package/esm/login-with/LoginSocialLinkedin/index.js +2 -2
- package/esm/login-with/LoginSocialMicrosoft/index.js +2 -2
- package/esm/login-with/LoginSocialPinterest/index.js +9 -9
- package/esm/login-with/LoginSocialTiktok/index.js +2 -2
- package/esm/login-with/LoginSocialTwitter/index.js +11 -11
- package/esm/menu/index.d.ts +2 -0
- package/esm/menu/index.js +2 -0
- package/esm/menu/menu.d.ts +9 -0
- package/esm/menu/menu.js +92 -0
- package/esm/modal/modal-action.js +2 -1
- package/esm/modal/modal-actions.js +1 -1
- package/esm/rating/rating-icon.js +1 -1
- package/esm/select/select-icon.js +1 -1
- package/esm/select/select-input.js +1 -1
- package/esm/select/select-multiple-value.js +1 -1
- package/esm/snippet/snippet-icon.js +1 -1
- package/esm/table/index.d.ts +0 -1
- package/esm/table/index.js +0 -1
- package/esm/table/table-body.js +4 -23
- package/esm/tabs/tabs.js +2 -2
- package/esm/text/child.d.ts +1 -1
- package/esm/text/child.js +10 -10
- package/esm/text/text.d.ts +2 -1
- package/esm/text/text.js +4 -2
- package/esm/tooltip/__test__/index.test.js +30 -30
- package/esm/utils/collections.d.ts +1 -1
- package/esm/utils/collections.js +1 -1
- package/package.json +19 -12
- package/dist/cart/index.d.ts +0 -72
- package/dist/cart/useLocalStorage.d.ts +0 -1
- package/dist/table/data-table.d.ts +0 -44
- package/esm/cart/index.d.ts +0 -72
- package/esm/cart/index.js +0 -265
- package/esm/cart/useLocalStorage.d.ts +0 -1
- package/esm/cart/useLocalStorage.js +0 -29
- package/esm/table/data-table.d.ts +0 -44
- package/esm/table/data-table.js +0 -451
- /package/esm/utils/use-context-state/{create-geist-context.js → create-ui-context.js} +0 -0
package/esm/utils/collections.js
CHANGED
|
@@ -110,7 +110,7 @@ export var isChildElement = function isChildElement(parent, child) {
|
|
|
110
110
|
}
|
|
111
111
|
return false;
|
|
112
112
|
};
|
|
113
|
-
export var
|
|
113
|
+
export var isUiElement = function isUiElement(el) {
|
|
114
114
|
if (!el) return false;
|
|
115
115
|
if (el !== null && el !== void 0 && el.dataset && el !== null && el !== void 0 && el.dataset['helpdice']) return true;
|
|
116
116
|
el.attributes.getNamedItem('data-helpdice');
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helpdice/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "esm/index.d.ts",
|
|
6
6
|
"unpkg": "dist/index.min.js",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
8
|
+
"start": "next start",
|
|
9
|
+
"dev": "next dev",
|
|
10
|
+
"build": "next build",
|
|
11
|
+
"docs:dev": "yarn docs:collect && next dev",
|
|
10
12
|
"docs:collect": "node scripts/collect-meta.js",
|
|
11
13
|
"docs:seeds": "node scripts/seeds/update.js",
|
|
12
14
|
"docs:build": "yarn docs:collect & yarn docs:seeds && next build",
|
|
@@ -21,8 +23,8 @@
|
|
|
21
23
|
"build:babel": "babel --no-babelrc --config-file ./scripts/babel.config.js --extensions \".js,.ts,.tsx\" ./components --out-dir ./esm --ignore \"**/__tests__/**/*,**/*.d.ts\"",
|
|
22
24
|
"build:after": "node scripts/move-built-in.js",
|
|
23
25
|
"build:types": "tsc -p ./scripts & tsc -p ./scripts --outDir ./esm",
|
|
24
|
-
"build": "yarn build:rollup && yarn build:babel && yarn build:types && yarn build:after",
|
|
25
|
-
"release": "yarn
|
|
26
|
+
"build:package": "yarn build:rollup && yarn build:babel && yarn build:types && yarn build:after",
|
|
27
|
+
"release": "yarn publish --access public --non-interactive"
|
|
26
28
|
},
|
|
27
29
|
"license": "MIT",
|
|
28
30
|
"description": "Modern React UI library.",
|
|
@@ -48,11 +50,13 @@
|
|
|
48
50
|
],
|
|
49
51
|
"sideEffects": false,
|
|
50
52
|
"devDependencies": {
|
|
53
|
+
"@babel/core": "7.27.4",
|
|
51
54
|
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
52
55
|
"@babel/plugin-transform-runtime": "^7.14.5",
|
|
53
56
|
"@babel/preset-env": "^7.14.7",
|
|
54
57
|
"@babel/preset-react": "^7.14.5",
|
|
55
58
|
"@babel/preset-typescript": "^7.14.5",
|
|
59
|
+
"@helpdice/pro": "file:../pro/build",
|
|
56
60
|
"@mapbox/rehype-prism": "^0.9.0",
|
|
57
61
|
"@mdx-js/loader": "^3.1.0",
|
|
58
62
|
"@mdx-js/react": "^3.1.0",
|
|
@@ -63,7 +67,7 @@
|
|
|
63
67
|
"@rollup/plugin-node-resolve": "16.0.0",
|
|
64
68
|
"@types/enzyme": "^3.10.18",
|
|
65
69
|
"@types/lodash": "^4.17.15",
|
|
66
|
-
"@types/react": "~18.3.
|
|
70
|
+
"@types/react": "~18.3.1",
|
|
67
71
|
"@types/react-color": "^3.0.13",
|
|
68
72
|
"@types/react-dom": "~18.3.1",
|
|
69
73
|
"@types/react-html-parser": "^2.0.6",
|
|
@@ -82,11 +86,10 @@
|
|
|
82
86
|
"just-debounce-it": "^3.2.0",
|
|
83
87
|
"next": "^15.1.7",
|
|
84
88
|
"prettier": "^3.4.2",
|
|
85
|
-
"react": "
|
|
89
|
+
"react": "^18.3.1",
|
|
86
90
|
"react-color": "^2.19.3",
|
|
87
|
-
"react-dom": "
|
|
91
|
+
"react-dom": "^18.3.1",
|
|
88
92
|
"react-live": "^4.1.8",
|
|
89
|
-
"rehype-join-line": "^1.0.2",
|
|
90
93
|
"rollup": "^4.32.1",
|
|
91
94
|
"styled-jsx": "^5.1.6",
|
|
92
95
|
"typescript": "^5.7.3",
|
|
@@ -94,30 +97,34 @@
|
|
|
94
97
|
"yup": "^1.6.1"
|
|
95
98
|
},
|
|
96
99
|
"dependencies": {
|
|
100
|
+
"@floating-ui/react-dom": "^2.1.3",
|
|
97
101
|
"@helpdice/icons": "^1.1.2",
|
|
102
|
+
"@mapbox/rehype-prism": "^0.9.0",
|
|
98
103
|
"@types/hoist-non-react-statics": "^3.3.6",
|
|
99
104
|
"@types/styled-components": "^5.1.34",
|
|
100
105
|
"babel-plugin-transform-rename-import": "^2.3.0",
|
|
101
106
|
"clsx": "^2.1.1",
|
|
102
107
|
"deepmerge": "^4.3.1",
|
|
103
108
|
"dompurify": "^3.2.4",
|
|
109
|
+
"framer-motion": "^12.17.0",
|
|
104
110
|
"fuse.js": "^7.1.0",
|
|
105
111
|
"hoist-non-react-statics": "^3.3.2",
|
|
106
112
|
"lodash": "^4.17.21",
|
|
107
113
|
"lodash-es": "^4.17.21",
|
|
114
|
+
"next-sitemap": "^4.2.3",
|
|
108
115
|
"polished": "^4.3.1",
|
|
109
116
|
"react-fast-compare": "^3.2.2",
|
|
110
117
|
"react-is": "^19.0.0",
|
|
111
|
-
"react-syntax-highlighter": "^15.6.1",
|
|
112
118
|
"react-transition-group": "^4.4.5",
|
|
119
|
+
"rehype-join-line": "^1.0.2",
|
|
113
120
|
"rollup-plugin-local-resolve": "^1.0.7",
|
|
114
121
|
"styled-components": "^6.1.14",
|
|
115
122
|
"tiny-warning": "^1.0.3",
|
|
116
123
|
"tslib": "^2.8.1"
|
|
117
124
|
},
|
|
118
125
|
"peerDependencies": {
|
|
119
|
-
"react": "
|
|
120
|
-
"react-dom": "
|
|
126
|
+
"react": "^18.3.1",
|
|
127
|
+
"react-dom": "^18.3.1"
|
|
121
128
|
},
|
|
122
129
|
"jest": {
|
|
123
130
|
"globals": {
|
package/dist/cart/index.d.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export interface Item {
|
|
3
|
-
id: string;
|
|
4
|
-
price: number;
|
|
5
|
-
quantity?: number;
|
|
6
|
-
itemTotal?: number;
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
}
|
|
9
|
-
export interface InitialState {
|
|
10
|
-
id: string;
|
|
11
|
-
items: Item[];
|
|
12
|
-
isEmpty: boolean;
|
|
13
|
-
totalItems: number;
|
|
14
|
-
totalUniqueItems: number;
|
|
15
|
-
cartTotal: number;
|
|
16
|
-
metadata?: Metadata;
|
|
17
|
-
}
|
|
18
|
-
export interface Metadata {
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
}
|
|
21
|
-
export interface CartProviderState extends InitialState {
|
|
22
|
-
addItem: (item: Item, quantity?: number) => void;
|
|
23
|
-
removeItem: (id: Item["id"]) => void;
|
|
24
|
-
updateItem: (id: Item["id"], payload: object) => void;
|
|
25
|
-
setItems: (items: Item[]) => void;
|
|
26
|
-
updateItemQuantity: (id: Item["id"], quantity: number) => void;
|
|
27
|
-
emptyCart: () => void;
|
|
28
|
-
getItem: (id: Item["id"]) => any | undefined;
|
|
29
|
-
inCart: (id: Item["id"]) => boolean;
|
|
30
|
-
clearCartMetadata: () => void;
|
|
31
|
-
setCartMetadata: (metadata: Metadata) => void;
|
|
32
|
-
updateCartMetadata: (metadata: Metadata) => void;
|
|
33
|
-
}
|
|
34
|
-
export type Actions = {
|
|
35
|
-
type: "SET_ITEMS";
|
|
36
|
-
payload: Item[];
|
|
37
|
-
} | {
|
|
38
|
-
type: "ADD_ITEM";
|
|
39
|
-
payload: Item;
|
|
40
|
-
} | {
|
|
41
|
-
type: "REMOVE_ITEM";
|
|
42
|
-
id: Item["id"];
|
|
43
|
-
} | {
|
|
44
|
-
type: "UPDATE_ITEM";
|
|
45
|
-
id: Item["id"];
|
|
46
|
-
payload: object;
|
|
47
|
-
} | {
|
|
48
|
-
type: "EMPTY_CART";
|
|
49
|
-
} | {
|
|
50
|
-
type: "CLEAR_CART_META";
|
|
51
|
-
} | {
|
|
52
|
-
type: "SET_CART_META";
|
|
53
|
-
payload: Metadata;
|
|
54
|
-
} | {
|
|
55
|
-
type: "UPDATE_CART_META";
|
|
56
|
-
payload: Metadata;
|
|
57
|
-
};
|
|
58
|
-
export declare const initialState: any;
|
|
59
|
-
export declare const createCartIdentifier: (len?: number) => string;
|
|
60
|
-
export declare const useCart: () => CartProviderState;
|
|
61
|
-
export declare const CartProvider: React.FC<{
|
|
62
|
-
children?: React.ReactNode;
|
|
63
|
-
id?: string;
|
|
64
|
-
defaultItems?: Item[];
|
|
65
|
-
onSetItems?: (items: Item[]) => void;
|
|
66
|
-
onItemAdd?: (payload: Item) => void;
|
|
67
|
-
onItemUpdate?: (payload: object) => void;
|
|
68
|
-
onItemRemove?: (id: Item["id"]) => void;
|
|
69
|
-
onEmptyCart?: () => void;
|
|
70
|
-
storage?: (key: string, initialValue: string) => [string, (value: Function | string) => void];
|
|
71
|
-
metadata?: Metadata;
|
|
72
|
-
}>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useLocalStorage(key: string, initialValue: string): [string, (value: Function | string) => void];
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type DataTableProps = {
|
|
3
|
-
cols: any[];
|
|
4
|
-
rows: any[];
|
|
5
|
-
readOnly?: boolean;
|
|
6
|
-
loading?: boolean;
|
|
7
|
-
heading?: never[];
|
|
8
|
-
filter?: boolean;
|
|
9
|
-
menu?: never;
|
|
10
|
-
sideMenu?: boolean;
|
|
11
|
-
style?: object;
|
|
12
|
-
children?: React.ReactNode;
|
|
13
|
-
stickyHeader?: boolean;
|
|
14
|
-
hasMore?: boolean;
|
|
15
|
-
nextFn?: () => void;
|
|
16
|
-
onBack?: () => void;
|
|
17
|
-
infiniteLoader?: React.ReactNode;
|
|
18
|
-
endMessage?: React.ReactNode;
|
|
19
|
-
onRefresh?: () => void;
|
|
20
|
-
onFilters?: (filters: object) => void;
|
|
21
|
-
onSelectedDelete?: (selected: never[]) => void;
|
|
22
|
-
onSelectedEdit?: (selected: never) => void;
|
|
23
|
-
onSelected?: (selected: any) => void;
|
|
24
|
-
disableViewColumn?: boolean;
|
|
25
|
-
rowDraggable?: boolean;
|
|
26
|
-
onDragOver?: () => void;
|
|
27
|
-
onDragEnter?: () => void;
|
|
28
|
-
onDragLeave?: () => void;
|
|
29
|
-
onDrop?: () => void;
|
|
30
|
-
onRowClick?: (row: any) => void;
|
|
31
|
-
disableMenu?: boolean;
|
|
32
|
-
dataLength?: number;
|
|
33
|
-
viewLength?: number;
|
|
34
|
-
onPageChange?: (page: number, start: number, end: number) => void;
|
|
35
|
-
cursorPagination?: boolean;
|
|
36
|
-
previousCursor?: string;
|
|
37
|
-
nextCursor?: string;
|
|
38
|
-
onNextPage?: (next?: string) => void;
|
|
39
|
-
onPreviousPage?: (prev?: string) => void;
|
|
40
|
-
};
|
|
41
|
-
declare function DataTable({ cols, rows, readOnly, heading, filter, menu, sideMenu, style, children, onBack, onRefresh, // Function
|
|
42
|
-
onFilters, onSelectedDelete, onSelectedEdit, onSelected, disableViewColumn, rowDraggable, onDragOver, onDragEnter, onDragLeave, onDrop, onRowClick, dataLength, viewLength, onPageChange, disableMenu, cursorPagination, previousCursor, nextCursor, hasMore, stickyHeader, onNextPage, onPreviousPage, }: DataTableProps): React.JSX.Element;
|
|
43
|
-
declare const _default: React.MemoExoticComponent<typeof DataTable>;
|
|
44
|
-
export default _default;
|
package/esm/cart/index.d.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
export interface Item {
|
|
3
|
-
id: string;
|
|
4
|
-
price: number;
|
|
5
|
-
quantity?: number;
|
|
6
|
-
itemTotal?: number;
|
|
7
|
-
[key: string]: any;
|
|
8
|
-
}
|
|
9
|
-
export interface InitialState {
|
|
10
|
-
id: string;
|
|
11
|
-
items: Item[];
|
|
12
|
-
isEmpty: boolean;
|
|
13
|
-
totalItems: number;
|
|
14
|
-
totalUniqueItems: number;
|
|
15
|
-
cartTotal: number;
|
|
16
|
-
metadata?: Metadata;
|
|
17
|
-
}
|
|
18
|
-
export interface Metadata {
|
|
19
|
-
[key: string]: any;
|
|
20
|
-
}
|
|
21
|
-
export interface CartProviderState extends InitialState {
|
|
22
|
-
addItem: (item: Item, quantity?: number) => void;
|
|
23
|
-
removeItem: (id: Item["id"]) => void;
|
|
24
|
-
updateItem: (id: Item["id"], payload: object) => void;
|
|
25
|
-
setItems: (items: Item[]) => void;
|
|
26
|
-
updateItemQuantity: (id: Item["id"], quantity: number) => void;
|
|
27
|
-
emptyCart: () => void;
|
|
28
|
-
getItem: (id: Item["id"]) => any | undefined;
|
|
29
|
-
inCart: (id: Item["id"]) => boolean;
|
|
30
|
-
clearCartMetadata: () => void;
|
|
31
|
-
setCartMetadata: (metadata: Metadata) => void;
|
|
32
|
-
updateCartMetadata: (metadata: Metadata) => void;
|
|
33
|
-
}
|
|
34
|
-
export type Actions = {
|
|
35
|
-
type: "SET_ITEMS";
|
|
36
|
-
payload: Item[];
|
|
37
|
-
} | {
|
|
38
|
-
type: "ADD_ITEM";
|
|
39
|
-
payload: Item;
|
|
40
|
-
} | {
|
|
41
|
-
type: "REMOVE_ITEM";
|
|
42
|
-
id: Item["id"];
|
|
43
|
-
} | {
|
|
44
|
-
type: "UPDATE_ITEM";
|
|
45
|
-
id: Item["id"];
|
|
46
|
-
payload: object;
|
|
47
|
-
} | {
|
|
48
|
-
type: "EMPTY_CART";
|
|
49
|
-
} | {
|
|
50
|
-
type: "CLEAR_CART_META";
|
|
51
|
-
} | {
|
|
52
|
-
type: "SET_CART_META";
|
|
53
|
-
payload: Metadata;
|
|
54
|
-
} | {
|
|
55
|
-
type: "UPDATE_CART_META";
|
|
56
|
-
payload: Metadata;
|
|
57
|
-
};
|
|
58
|
-
export declare const initialState: any;
|
|
59
|
-
export declare const createCartIdentifier: (len?: number) => string;
|
|
60
|
-
export declare const useCart: () => CartProviderState;
|
|
61
|
-
export declare const CartProvider: React.FC<{
|
|
62
|
-
children?: React.ReactNode;
|
|
63
|
-
id?: string;
|
|
64
|
-
defaultItems?: Item[];
|
|
65
|
-
onSetItems?: (items: Item[]) => void;
|
|
66
|
-
onItemAdd?: (payload: Item) => void;
|
|
67
|
-
onItemUpdate?: (payload: object) => void;
|
|
68
|
-
onItemRemove?: (id: Item["id"]) => void;
|
|
69
|
-
onEmptyCart?: () => void;
|
|
70
|
-
storage?: (key: string, initialValue: string) => [string, (value: Function | string) => void];
|
|
71
|
-
metadata?: Metadata;
|
|
72
|
-
}>;
|
package/esm/cart/index.js
DELETED
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
4
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
5
|
-
/* "use client" */;
|
|
6
|
-
import * as React from "react";
|
|
7
|
-
import useLocalStorage from "./useLocalStorage";
|
|
8
|
-
export var initialState = {
|
|
9
|
-
items: [],
|
|
10
|
-
isEmpty: true,
|
|
11
|
-
totalItems: 0,
|
|
12
|
-
totalUniqueItems: 0,
|
|
13
|
-
cartTotal: 0,
|
|
14
|
-
metadata: {}
|
|
15
|
-
};
|
|
16
|
-
var CartContext = /*#__PURE__*/React.createContext(initialState);
|
|
17
|
-
export var createCartIdentifier = function createCartIdentifier() {
|
|
18
|
-
var len = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 12;
|
|
19
|
-
return _toConsumableArray(Array(len)).map(function () {
|
|
20
|
-
return (~~(Math.random() * 36)).toString(36);
|
|
21
|
-
}).join("");
|
|
22
|
-
};
|
|
23
|
-
export var useCart = function useCart() {
|
|
24
|
-
var context = React.useContext(CartContext);
|
|
25
|
-
if (!context) throw new Error("Expected to be wrapped in a CartProvider");
|
|
26
|
-
return context;
|
|
27
|
-
};
|
|
28
|
-
function reducer(state, action) {
|
|
29
|
-
switch (action.type) {
|
|
30
|
-
case "SET_ITEMS":
|
|
31
|
-
return generateCartState(state, action.payload);
|
|
32
|
-
case "ADD_ITEM":
|
|
33
|
-
{
|
|
34
|
-
var items = [].concat(_toConsumableArray(state.items), [action.payload]);
|
|
35
|
-
return generateCartState(state, items);
|
|
36
|
-
}
|
|
37
|
-
case "UPDATE_ITEM":
|
|
38
|
-
{
|
|
39
|
-
var _items = state.items.map(function (item) {
|
|
40
|
-
if (item.id !== action.id) return item;
|
|
41
|
-
return _extends({}, item, action.payload);
|
|
42
|
-
});
|
|
43
|
-
return generateCartState(state, _items);
|
|
44
|
-
}
|
|
45
|
-
case "REMOVE_ITEM":
|
|
46
|
-
{
|
|
47
|
-
var _items2 = state.items.filter(function (i) {
|
|
48
|
-
return i.id !== action.id;
|
|
49
|
-
});
|
|
50
|
-
return generateCartState(state, _items2);
|
|
51
|
-
}
|
|
52
|
-
case "EMPTY_CART":
|
|
53
|
-
return initialState;
|
|
54
|
-
case "CLEAR_CART_META":
|
|
55
|
-
return _extends({}, state, {
|
|
56
|
-
metadata: {}
|
|
57
|
-
});
|
|
58
|
-
case "SET_CART_META":
|
|
59
|
-
return _extends({}, state, {
|
|
60
|
-
metadata: _extends({}, action.payload)
|
|
61
|
-
});
|
|
62
|
-
case "UPDATE_CART_META":
|
|
63
|
-
return _extends({}, state, {
|
|
64
|
-
metadata: _extends({}, state.metadata, action.payload)
|
|
65
|
-
});
|
|
66
|
-
default:
|
|
67
|
-
throw new Error("No action specified");
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
var generateCartState = function generateCartState() {
|
|
71
|
-
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
72
|
-
var items = arguments.length > 1 ? arguments[1] : undefined;
|
|
73
|
-
var totalUniqueItems = calculateUniqueItems(items);
|
|
74
|
-
var isEmpty = totalUniqueItems === 0;
|
|
75
|
-
return _extends({}, initialState, state, {
|
|
76
|
-
items: calculateItemTotals(items),
|
|
77
|
-
totalItems: calculateTotalItems(items),
|
|
78
|
-
totalUniqueItems: totalUniqueItems,
|
|
79
|
-
cartTotal: calculateTotal(items),
|
|
80
|
-
isEmpty: isEmpty
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
var calculateItemTotals = function calculateItemTotals(items) {
|
|
84
|
-
return items.map(function (item) {
|
|
85
|
-
return _extends({}, item, {
|
|
86
|
-
itemTotal: item.price * item.quantity
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
var calculateTotal = function calculateTotal(items) {
|
|
91
|
-
return items.reduce(function (total, item) {
|
|
92
|
-
return total + item.quantity * item.price;
|
|
93
|
-
}, 0);
|
|
94
|
-
};
|
|
95
|
-
var calculateTotalItems = function calculateTotalItems(items) {
|
|
96
|
-
return items.reduce(function (sum, item) {
|
|
97
|
-
return sum + item.quantity;
|
|
98
|
-
}, 0);
|
|
99
|
-
};
|
|
100
|
-
var calculateUniqueItems = function calculateUniqueItems(items) {
|
|
101
|
-
return items.length;
|
|
102
|
-
};
|
|
103
|
-
export var CartProvider = function CartProvider(_ref) {
|
|
104
|
-
var children = _ref.children,
|
|
105
|
-
cartId = _ref.id,
|
|
106
|
-
_ref$defaultItems = _ref.defaultItems,
|
|
107
|
-
defaultItems = _ref$defaultItems === void 0 ? [] : _ref$defaultItems,
|
|
108
|
-
onSetItems = _ref.onSetItems,
|
|
109
|
-
onItemAdd = _ref.onItemAdd,
|
|
110
|
-
onItemUpdate = _ref.onItemUpdate,
|
|
111
|
-
onItemRemove = _ref.onItemRemove,
|
|
112
|
-
onEmptyCart = _ref.onEmptyCart,
|
|
113
|
-
_ref$storage = _ref.storage,
|
|
114
|
-
storage = _ref$storage === void 0 ? useLocalStorage : _ref$storage,
|
|
115
|
-
metadata = _ref.metadata;
|
|
116
|
-
var id = cartId ? cartId : createCartIdentifier();
|
|
117
|
-
var _storage = storage(cartId ? "react-use-cart-".concat(id) : "react-use-cart", JSON.stringify(_extends({
|
|
118
|
-
id: id
|
|
119
|
-
}, initialState, {
|
|
120
|
-
items: defaultItems,
|
|
121
|
-
metadata: metadata
|
|
122
|
-
}))),
|
|
123
|
-
_storage2 = _slicedToArray(_storage, 2),
|
|
124
|
-
savedCart = _storage2[0],
|
|
125
|
-
saveCart = _storage2[1];
|
|
126
|
-
var _React$useReducer = React.useReducer(reducer, JSON.parse(savedCart)),
|
|
127
|
-
_React$useReducer2 = _slicedToArray(_React$useReducer, 2),
|
|
128
|
-
state = _React$useReducer2[0],
|
|
129
|
-
dispatch = _React$useReducer2[1];
|
|
130
|
-
React.useEffect(function () {
|
|
131
|
-
saveCart(JSON.stringify(state));
|
|
132
|
-
}, [state, saveCart]);
|
|
133
|
-
var setItems = function setItems(items) {
|
|
134
|
-
dispatch({
|
|
135
|
-
type: "SET_ITEMS",
|
|
136
|
-
payload: items.map(function (item) {
|
|
137
|
-
return _extends({}, item, {
|
|
138
|
-
quantity: item.quantity || 1
|
|
139
|
-
});
|
|
140
|
-
})
|
|
141
|
-
});
|
|
142
|
-
onSetItems && onSetItems(items);
|
|
143
|
-
};
|
|
144
|
-
var addItem = function addItem(item) {
|
|
145
|
-
var quantity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
146
|
-
if (!item.id) throw new Error("You must provide an `id` for items");
|
|
147
|
-
if (quantity <= 0) return;
|
|
148
|
-
var currentItem = state.items.find(function (i) {
|
|
149
|
-
return i.id === item.id;
|
|
150
|
-
});
|
|
151
|
-
if (!currentItem && !item.hasOwnProperty("price")) throw new Error("You must pass a `price` for new items");
|
|
152
|
-
if (!currentItem) {
|
|
153
|
-
var _payload = _extends({}, item, {
|
|
154
|
-
quantity: quantity
|
|
155
|
-
});
|
|
156
|
-
dispatch({
|
|
157
|
-
type: "ADD_ITEM",
|
|
158
|
-
payload: _payload
|
|
159
|
-
});
|
|
160
|
-
onItemAdd && onItemAdd(_payload);
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
var payload = _extends({}, item, {
|
|
164
|
-
quantity: currentItem.quantity + quantity
|
|
165
|
-
});
|
|
166
|
-
dispatch({
|
|
167
|
-
type: "UPDATE_ITEM",
|
|
168
|
-
id: item.id,
|
|
169
|
-
payload: payload
|
|
170
|
-
});
|
|
171
|
-
onItemUpdate && onItemUpdate(payload);
|
|
172
|
-
};
|
|
173
|
-
var updateItem = function updateItem(id, payload) {
|
|
174
|
-
if (!id || !payload) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
dispatch({
|
|
178
|
-
type: "UPDATE_ITEM",
|
|
179
|
-
id: id,
|
|
180
|
-
payload: payload
|
|
181
|
-
});
|
|
182
|
-
onItemUpdate && onItemUpdate(payload);
|
|
183
|
-
};
|
|
184
|
-
var updateItemQuantity = function updateItemQuantity(id, quantity) {
|
|
185
|
-
if (quantity <= 0) {
|
|
186
|
-
onItemRemove && onItemRemove(id);
|
|
187
|
-
dispatch({
|
|
188
|
-
type: "REMOVE_ITEM",
|
|
189
|
-
id: id
|
|
190
|
-
});
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
var currentItem = state.items.find(function (item) {
|
|
194
|
-
return item.id === id;
|
|
195
|
-
});
|
|
196
|
-
if (!currentItem) throw new Error("No such item to update");
|
|
197
|
-
var payload = _extends({}, currentItem, {
|
|
198
|
-
quantity: quantity
|
|
199
|
-
});
|
|
200
|
-
dispatch({
|
|
201
|
-
type: "UPDATE_ITEM",
|
|
202
|
-
id: id,
|
|
203
|
-
payload: payload
|
|
204
|
-
});
|
|
205
|
-
onItemUpdate && onItemUpdate(payload);
|
|
206
|
-
};
|
|
207
|
-
var removeItem = function removeItem(id) {
|
|
208
|
-
if (!id) return;
|
|
209
|
-
dispatch({
|
|
210
|
-
type: "REMOVE_ITEM",
|
|
211
|
-
id: id
|
|
212
|
-
});
|
|
213
|
-
onItemRemove && onItemRemove(id);
|
|
214
|
-
};
|
|
215
|
-
var emptyCart = function emptyCart() {
|
|
216
|
-
dispatch({
|
|
217
|
-
type: "EMPTY_CART"
|
|
218
|
-
});
|
|
219
|
-
onEmptyCart && onEmptyCart();
|
|
220
|
-
};
|
|
221
|
-
var getItem = function getItem(id) {
|
|
222
|
-
return state.items.find(function (i) {
|
|
223
|
-
return i.id === id;
|
|
224
|
-
});
|
|
225
|
-
};
|
|
226
|
-
var inCart = function inCart(id) {
|
|
227
|
-
return state.items.some(function (i) {
|
|
228
|
-
return i.id === id;
|
|
229
|
-
});
|
|
230
|
-
};
|
|
231
|
-
var clearCartMetadata = function clearCartMetadata() {
|
|
232
|
-
dispatch({
|
|
233
|
-
type: "CLEAR_CART_META"
|
|
234
|
-
});
|
|
235
|
-
};
|
|
236
|
-
var setCartMetadata = function setCartMetadata(metadata) {
|
|
237
|
-
if (!metadata) return;
|
|
238
|
-
dispatch({
|
|
239
|
-
type: "SET_CART_META",
|
|
240
|
-
payload: metadata
|
|
241
|
-
});
|
|
242
|
-
};
|
|
243
|
-
var updateCartMetadata = function updateCartMetadata(metadata) {
|
|
244
|
-
if (!metadata) return;
|
|
245
|
-
dispatch({
|
|
246
|
-
type: "UPDATE_CART_META",
|
|
247
|
-
payload: metadata
|
|
248
|
-
});
|
|
249
|
-
};
|
|
250
|
-
return /*#__PURE__*/React.createElement(CartContext.Provider, {
|
|
251
|
-
value: _extends({}, state, {
|
|
252
|
-
getItem: getItem,
|
|
253
|
-
inCart: inCart,
|
|
254
|
-
setItems: setItems,
|
|
255
|
-
addItem: addItem,
|
|
256
|
-
updateItem: updateItem,
|
|
257
|
-
updateItemQuantity: updateItemQuantity,
|
|
258
|
-
removeItem: removeItem,
|
|
259
|
-
emptyCart: emptyCart,
|
|
260
|
-
clearCartMetadata: clearCartMetadata,
|
|
261
|
-
setCartMetadata: setCartMetadata,
|
|
262
|
-
updateCartMetadata: updateCartMetadata
|
|
263
|
-
})
|
|
264
|
-
}, children);
|
|
265
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function useLocalStorage(key: string, initialValue: string): [string, (value: Function | string) => void];
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
/* "use client" */;
|
|
3
|
-
|
|
4
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
5
|
-
|
|
6
|
-
import * as React from "react";
|
|
7
|
-
export default function useLocalStorage(key, initialValue) {
|
|
8
|
-
var _React$useState = React.useState(function () {
|
|
9
|
-
try {
|
|
10
|
-
var item = typeof window !== "undefined" && window.localStorage.getItem(key);
|
|
11
|
-
return item ? item : initialValue;
|
|
12
|
-
} catch (error) {
|
|
13
|
-
return initialValue;
|
|
14
|
-
}
|
|
15
|
-
}),
|
|
16
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
17
|
-
storedValue = _React$useState2[0],
|
|
18
|
-
setStoredValue = _React$useState2[1];
|
|
19
|
-
var setValue = function setValue(value) {
|
|
20
|
-
try {
|
|
21
|
-
var valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
22
|
-
setStoredValue(valueToStore);
|
|
23
|
-
window.localStorage.setItem(key, valueToStore);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
console.log(error);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
return [storedValue, setValue];
|
|
29
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type DataTableProps = {
|
|
3
|
-
cols: any[];
|
|
4
|
-
rows: any[];
|
|
5
|
-
readOnly?: boolean;
|
|
6
|
-
loading?: boolean;
|
|
7
|
-
heading?: never[];
|
|
8
|
-
filter?: boolean;
|
|
9
|
-
menu?: never;
|
|
10
|
-
sideMenu?: boolean;
|
|
11
|
-
style?: object;
|
|
12
|
-
children?: React.ReactNode;
|
|
13
|
-
stickyHeader?: boolean;
|
|
14
|
-
hasMore?: boolean;
|
|
15
|
-
nextFn?: () => void;
|
|
16
|
-
onBack?: () => void;
|
|
17
|
-
infiniteLoader?: React.ReactNode;
|
|
18
|
-
endMessage?: React.ReactNode;
|
|
19
|
-
onRefresh?: () => void;
|
|
20
|
-
onFilters?: (filters: object) => void;
|
|
21
|
-
onSelectedDelete?: (selected: never[]) => void;
|
|
22
|
-
onSelectedEdit?: (selected: never) => void;
|
|
23
|
-
onSelected?: (selected: any) => void;
|
|
24
|
-
disableViewColumn?: boolean;
|
|
25
|
-
rowDraggable?: boolean;
|
|
26
|
-
onDragOver?: () => void;
|
|
27
|
-
onDragEnter?: () => void;
|
|
28
|
-
onDragLeave?: () => void;
|
|
29
|
-
onDrop?: () => void;
|
|
30
|
-
onRowClick?: (row: any) => void;
|
|
31
|
-
disableMenu?: boolean;
|
|
32
|
-
dataLength?: number;
|
|
33
|
-
viewLength?: number;
|
|
34
|
-
onPageChange?: (page: number, start: number, end: number) => void;
|
|
35
|
-
cursorPagination?: boolean;
|
|
36
|
-
previousCursor?: string;
|
|
37
|
-
nextCursor?: string;
|
|
38
|
-
onNextPage?: (next?: string) => void;
|
|
39
|
-
onPreviousPage?: (prev?: string) => void;
|
|
40
|
-
};
|
|
41
|
-
declare function DataTable({ cols, rows, readOnly, heading, filter, menu, sideMenu, style, children, onBack, onRefresh, // Function
|
|
42
|
-
onFilters, onSelectedDelete, onSelectedEdit, onSelected, disableViewColumn, rowDraggable, onDragOver, onDragEnter, onDragLeave, onDrop, onRowClick, dataLength, viewLength, onPageChange, disableMenu, cursorPagination, previousCursor, nextCursor, hasMore, stickyHeader, onNextPage, onPreviousPage, }: DataTableProps): React.JSX.Element;
|
|
43
|
-
declare const _default: React.MemoExoticComponent<typeof DataTable>;
|
|
44
|
-
export default _default;
|