@refinedev/antd 5.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/CHANGELOG.md +1689 -0
- package/README.md +285 -0
- package/dist/components/breadcrumb/index.d.ts +6 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/buttons/clone/index.d.ts +11 -0
- package/dist/components/buttons/clone/index.d.ts.map +1 -0
- package/dist/components/buttons/create/index.d.ts +11 -0
- package/dist/components/buttons/create/index.d.ts.map +1 -0
- package/dist/components/buttons/delete/index.d.ts +10 -0
- package/dist/components/buttons/delete/index.d.ts.map +1 -0
- package/dist/components/buttons/edit/index.d.ts +11 -0
- package/dist/components/buttons/edit/index.d.ts.map +1 -0
- package/dist/components/buttons/export/index.d.ts +10 -0
- package/dist/components/buttons/export/index.d.ts.map +1 -0
- package/dist/components/buttons/import/index.d.ts +11 -0
- package/dist/components/buttons/import/index.d.ts.map +1 -0
- package/dist/components/buttons/index.d.ts +12 -0
- package/dist/components/buttons/index.d.ts.map +1 -0
- package/dist/components/buttons/list/index.d.ts +11 -0
- package/dist/components/buttons/list/index.d.ts.map +1 -0
- package/dist/components/buttons/refresh/index.d.ts +10 -0
- package/dist/components/buttons/refresh/index.d.ts.map +1 -0
- package/dist/components/buttons/save/index.d.ts +10 -0
- package/dist/components/buttons/save/index.d.ts.map +1 -0
- package/dist/components/buttons/show/index.d.ts +11 -0
- package/dist/components/buttons/show/index.d.ts.map +1 -0
- package/dist/components/buttons/types.d.ts +24 -0
- package/dist/components/buttons/types.d.ts.map +1 -0
- package/dist/components/crud/create/index.d.ts +10 -0
- package/dist/components/crud/create/index.d.ts.map +1 -0
- package/dist/components/crud/edit/index.d.ts +10 -0
- package/dist/components/crud/edit/index.d.ts.map +1 -0
- package/dist/components/crud/index.d.ts +6 -0
- package/dist/components/crud/index.d.ts.map +1 -0
- package/dist/components/crud/list/index.d.ts +10 -0
- package/dist/components/crud/list/index.d.ts.map +1 -0
- package/dist/components/crud/show/index.d.ts +10 -0
- package/dist/components/crud/show/index.d.ts.map +1 -0
- package/dist/components/crud/types.d.ts +10 -0
- package/dist/components/crud/types.d.ts.map +1 -0
- package/dist/components/fields/boolean/index.d.ts +9 -0
- package/dist/components/fields/boolean/index.d.ts.map +1 -0
- package/dist/components/fields/date/index.d.ts +9 -0
- package/dist/components/fields/date/index.d.ts.map +1 -0
- package/dist/components/fields/email/index.d.ts +10 -0
- package/dist/components/fields/email/index.d.ts.map +1 -0
- package/dist/components/fields/file/index.d.ts +9 -0
- package/dist/components/fields/file/index.d.ts.map +1 -0
- package/dist/components/fields/image/index.d.ts +9 -0
- package/dist/components/fields/image/index.d.ts.map +1 -0
- package/dist/components/fields/index.d.ts +12 -0
- package/dist/components/fields/index.d.ts.map +1 -0
- package/dist/components/fields/markdown/index.d.ts +9 -0
- package/dist/components/fields/markdown/index.d.ts.map +1 -0
- package/dist/components/fields/number/index.d.ts +9 -0
- package/dist/components/fields/number/index.d.ts.map +1 -0
- package/dist/components/fields/tag/index.d.ts +9 -0
- package/dist/components/fields/tag/index.d.ts.map +1 -0
- package/dist/components/fields/text/index.d.ts +9 -0
- package/dist/components/fields/text/index.d.ts.map +1 -0
- package/dist/components/fields/types.d.ts +20 -0
- package/dist/components/fields/types.d.ts.map +1 -0
- package/dist/components/fields/url/index.d.ts +10 -0
- package/dist/components/fields/url/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +13 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/layout/header/index.d.ts +4 -0
- package/dist/components/layout/header/index.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +4 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/sider/index.d.ts +4 -0
- package/dist/components/layout/sider/index.d.ts.map +1 -0
- package/dist/components/layout/sider/styles.d.ts +3 -0
- package/dist/components/layout/sider/styles.d.ts.map +1 -0
- package/dist/components/layout/title/index.d.ts +4 -0
- package/dist/components/layout/title/index.d.ts.map +1 -0
- package/dist/components/layout/types.d.ts +3 -0
- package/dist/components/layout/types.d.ts.map +1 -0
- package/dist/components/pageHeader/index.d.ts +5 -0
- package/dist/components/pageHeader/index.d.ts.map +1 -0
- package/dist/components/pages/auth/components/forgotPassword/index.d.ts +12 -0
- package/dist/components/pages/auth/components/forgotPassword/index.d.ts.map +1 -0
- package/dist/components/pages/auth/components/index.d.ts +5 -0
- package/dist/components/pages/auth/components/index.d.ts.map +1 -0
- package/dist/components/pages/auth/components/login/index.d.ts +12 -0
- package/dist/components/pages/auth/components/login/index.d.ts.map +1 -0
- package/dist/components/pages/auth/components/register/index.d.ts +12 -0
- package/dist/components/pages/auth/components/register/index.d.ts.map +1 -0
- package/dist/components/pages/auth/components/styles.d.ts +5 -0
- package/dist/components/pages/auth/components/styles.d.ts.map +1 -0
- package/dist/components/pages/auth/components/updatePassword/index.d.ts +12 -0
- package/dist/components/pages/auth/components/updatePassword/index.d.ts.map +1 -0
- package/dist/components/pages/auth/index.d.ts +11 -0
- package/dist/components/pages/auth/index.d.ts.map +1 -0
- package/dist/components/pages/error/index.d.ts +10 -0
- package/dist/components/pages/error/index.d.ts.map +1 -0
- package/dist/components/pages/index.d.ts +7 -0
- package/dist/components/pages/index.d.ts.map +1 -0
- package/dist/components/pages/login/index.d.ts +15 -0
- package/dist/components/pages/login/index.d.ts.map +1 -0
- package/dist/components/pages/login/styles.d.ts +6 -0
- package/dist/components/pages/login/styles.d.ts.map +1 -0
- package/dist/components/pages/ready/index.d.ts +10 -0
- package/dist/components/pages/ready/index.d.ts.map +1 -0
- package/dist/components/pages/welcome/index.d.ts +6 -0
- package/dist/components/pages/welcome/index.d.ts.map +1 -0
- package/dist/components/table/components/filterDropdown/index.d.ts +13 -0
- package/dist/components/table/components/filterDropdown/index.d.ts.map +1 -0
- package/dist/components/table/components/index.d.ts +2 -0
- package/dist/components/table/components/index.d.ts.map +1 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/undoableNotification/index.d.ts +10 -0
- package/dist/components/undoableNotification/index.d.ts.map +1 -0
- package/dist/definitions/index.d.ts +3 -0
- package/dist/definitions/index.d.ts.map +1 -0
- package/dist/definitions/table/index.d.ts +10 -0
- package/dist/definitions/table/index.d.ts.map +1 -0
- package/dist/definitions/upload/index.d.ts +4 -0
- package/dist/definitions/upload/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/hooks/fields/index.d.ts +4 -0
- package/dist/hooks/fields/index.d.ts.map +1 -0
- package/dist/hooks/fields/useCheckboxGroup/index.d.ts +24 -0
- package/dist/hooks/fields/useCheckboxGroup/index.d.ts.map +1 -0
- package/dist/hooks/fields/useRadioGroup/index.d.ts +24 -0
- package/dist/hooks/fields/useRadioGroup/index.d.ts.map +1 -0
- package/dist/hooks/fields/useSelect/index.d.ts +21 -0
- package/dist/hooks/fields/useSelect/index.d.ts.map +1 -0
- package/dist/hooks/form/index.d.ts +5 -0
- package/dist/hooks/form/index.d.ts.map +1 -0
- package/dist/hooks/form/useDrawerForm/index.d.ts +2 -0
- package/dist/hooks/form/useDrawerForm/index.d.ts.map +1 -0
- package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts +33 -0
- package/dist/hooks/form/useDrawerForm/useDrawerForm.d.ts.map +1 -0
- package/dist/hooks/form/useForm.d.ts +31 -0
- package/dist/hooks/form/useForm.d.ts.map +1 -0
- package/dist/hooks/form/useModalForm/index.d.ts +2 -0
- package/dist/hooks/form/useModalForm/index.d.ts.map +1 -0
- package/dist/hooks/form/useModalForm/useModalForm.d.ts +39 -0
- package/dist/hooks/form/useModalForm/useModalForm.d.ts.map +1 -0
- package/dist/hooks/form/useStepsForm/index.d.ts +2 -0
- package/dist/hooks/form/useStepsForm/index.d.ts.map +1 -0
- package/dist/hooks/form/useStepsForm/useStepsForm.d.ts +35 -0
- package/dist/hooks/form/useStepsForm/useStepsForm.d.ts.map +1 -0
- package/dist/hooks/import/index.d.ts +18 -0
- package/dist/hooks/import/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/list/index.d.ts +2 -0
- package/dist/hooks/list/index.d.ts.map +1 -0
- package/dist/hooks/list/useSimpleList/index.d.ts +2 -0
- package/dist/hooks/list/useSimpleList/index.d.ts.map +1 -0
- package/dist/hooks/list/useSimpleList/useSimpleList.d.ts +23 -0
- package/dist/hooks/list/useSimpleList/useSimpleList.d.ts.map +1 -0
- package/dist/hooks/modal/index.d.ts +2 -0
- package/dist/hooks/modal/index.d.ts.map +1 -0
- package/dist/hooks/modal/useModal/index.d.ts +18 -0
- package/dist/hooks/modal/useModal/index.d.ts.map +1 -0
- package/dist/hooks/table/index.d.ts +3 -0
- package/dist/hooks/table/index.d.ts.map +1 -0
- package/dist/hooks/table/useEditableTable/index.d.ts +2 -0
- package/dist/hooks/table/useEditableTable/index.d.ts.map +1 -0
- package/dist/hooks/table/useEditableTable/useEditableTable.d.ts +28 -0
- package/dist/hooks/table/useEditableTable/useEditableTable.d.ts.map +1 -0
- package/dist/hooks/table/useTable/index.d.ts +2 -0
- package/dist/hooks/table/useTable/index.d.ts.map +1 -0
- package/dist/hooks/table/useTable/paginationLink.d.ts +8 -0
- package/dist/hooks/table/useTable/paginationLink.d.ts.map +1 -0
- package/dist/hooks/table/useTable/useTable.d.ts +18 -0
- package/dist/hooks/table/useTable/useTable.d.ts.map +1 -0
- package/dist/hooks/useFileUploadState/index.d.ts +7 -0
- package/dist/hooks/useFileUploadState/index.d.ts.map +1 -0
- package/dist/iife/index.js +56 -0
- package/dist/iife/index.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/field.d.ts +4 -0
- package/dist/interfaces/field.d.ts.map +1 -0
- package/dist/interfaces/index.d.ts +19 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/upload.d.ts +10 -0
- package/dist/interfaces/upload.d.ts.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/notificationProvider/index.d.ts +3 -0
- package/dist/providers/notificationProvider/index.d.ts.map +1 -0
- package/dist/reset.css +254 -0
- package/package.json +72 -0
- package/refine.config.js +604 -0
- package/src/assets/styles/reset.css +254 -0
- package/src/components/breadcrumb/index.tsx +70 -0
- package/src/components/buttons/clone/index.tsx +104 -0
- package/src/components/buttons/create/index.tsx +103 -0
- package/src/components/buttons/delete/index.tsx +122 -0
- package/src/components/buttons/edit/index.tsx +105 -0
- package/src/components/buttons/export/index.tsx +32 -0
- package/src/components/buttons/import/index.tsx +36 -0
- package/src/components/buttons/index.ts +11 -0
- package/src/components/buttons/list/index.tsx +122 -0
- package/src/components/buttons/refresh/index.tsx +61 -0
- package/src/components/buttons/save/index.tsx +32 -0
- package/src/components/buttons/show/index.tsx +104 -0
- package/src/components/buttons/types.ts +44 -0
- package/src/components/crud/create/index.tsx +135 -0
- package/src/components/crud/edit/index.tsx +221 -0
- package/src/components/crud/index.ts +6 -0
- package/src/components/crud/list/index.tsx +105 -0
- package/src/components/crud/show/index.tsx +215 -0
- package/src/components/crud/types.ts +63 -0
- package/src/components/fields/boolean/index.tsx +26 -0
- package/src/components/fields/date/index.tsx +33 -0
- package/src/components/fields/email/index.tsx +20 -0
- package/src/components/fields/file/index.tsx +21 -0
- package/src/components/fields/image/index.tsx +17 -0
- package/src/components/fields/index.ts +11 -0
- package/src/components/fields/markdown/index.tsx +16 -0
- package/src/components/fields/number/index.tsx +36 -0
- package/src/components/fields/tag/index.tsx +13 -0
- package/src/components/fields/text/index.tsx +15 -0
- package/src/components/fields/types.ts +49 -0
- package/src/components/fields/url/index.tsx +24 -0
- package/src/components/index.ts +14 -0
- package/src/components/layout/header/index.tsx +37 -0
- package/src/components/layout/index.tsx +41 -0
- package/src/components/layout/sider/index.tsx +261 -0
- package/src/components/layout/sider/styles.ts +9 -0
- package/src/components/layout/title/index.tsx +48 -0
- package/src/components/layout/types.ts +11 -0
- package/src/components/pageHeader/index.tsx +52 -0
- package/src/components/pages/auth/components/forgotPassword/index.tsx +167 -0
- package/src/components/pages/auth/components/index.tsx +4 -0
- package/src/components/pages/auth/components/login/index.tsx +239 -0
- package/src/components/pages/auth/components/register/index.tsx +210 -0
- package/src/components/pages/auth/components/styles.ts +23 -0
- package/src/components/pages/auth/components/updatePassword/index.tsx +158 -0
- package/src/components/pages/auth/index.tsx +35 -0
- package/src/components/pages/error/index.tsx +77 -0
- package/src/components/pages/index.tsx +6 -0
- package/src/components/pages/login/index.tsx +172 -0
- package/src/components/pages/login/styles.ts +25 -0
- package/src/components/pages/ready/index.tsx +96 -0
- package/src/components/pages/welcome/index.tsx +87 -0
- package/src/components/table/components/filterDropdown/index.tsx +112 -0
- package/src/components/table/components/index.ts +1 -0
- package/src/components/table/index.ts +1 -0
- package/src/components/undoableNotification/index.tsx +46 -0
- package/src/definitions/index.ts +2 -0
- package/src/definitions/table/index.ts +113 -0
- package/src/definitions/upload/index.ts +29 -0
- package/src/hooks/fields/index.ts +3 -0
- package/src/hooks/fields/useCheckboxGroup/index.ts +85 -0
- package/src/hooks/fields/useRadioGroup/index.ts +85 -0
- package/src/hooks/fields/useSelect/index.ts +47 -0
- package/src/hooks/form/index.ts +17 -0
- package/src/hooks/form/useDrawerForm/index.ts +6 -0
- package/src/hooks/form/useDrawerForm/useDrawerForm.ts +241 -0
- package/src/hooks/form/useForm.ts +168 -0
- package/src/hooks/form/useModalForm/index.ts +5 -0
- package/src/hooks/form/useModalForm/useModalForm.ts +286 -0
- package/src/hooks/form/useStepsForm/index.ts +5 -0
- package/src/hooks/form/useStepsForm/useStepsForm.ts +91 -0
- package/src/hooks/import/index.tsx +134 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/list/index.ts +1 -0
- package/src/hooks/list/useSimpleList/index.ts +1 -0
- package/src/hooks/list/useSimpleList/useSimpleList.ts +229 -0
- package/src/hooks/modal/index.ts +1 -0
- package/src/hooks/modal/useModal/index.tsx +43 -0
- package/src/hooks/table/index.ts +2 -0
- package/src/hooks/table/useEditableTable/index.ts +1 -0
- package/src/hooks/table/useEditableTable/useEditableTable.ts +87 -0
- package/src/hooks/table/useTable/index.ts +1 -0
- package/src/hooks/table/useTable/paginationLink.tsx +27 -0
- package/src/hooks/table/useTable/useTable.ts +267 -0
- package/src/hooks/useFileUploadState/index.ts +34 -0
- package/src/index.tsx +11 -0
- package/src/interfaces/field.ts +3 -0
- package/src/interfaces/index.ts +23 -0
- package/src/interfaces/upload.ts +9 -0
- package/src/providers/index.ts +1 -0
- package/src/providers/notificationProvider/index.tsx +41 -0
- package/src/types/index.d.ts +4 -0
- package/src/types/sunflower.d.ts +86 -0
- package/tsconfig.json +28 -0
@@ -0,0 +1,254 @@
|
|
1
|
+
/* stylelint-disable */
|
2
|
+
html,
|
3
|
+
body {
|
4
|
+
width: 100%;
|
5
|
+
height: 100%;
|
6
|
+
}
|
7
|
+
input::-ms-clear,
|
8
|
+
input::-ms-reveal {
|
9
|
+
display: none;
|
10
|
+
}
|
11
|
+
*,
|
12
|
+
*::before,
|
13
|
+
*::after {
|
14
|
+
box-sizing: border-box;
|
15
|
+
}
|
16
|
+
html {
|
17
|
+
font-family: sans-serif;
|
18
|
+
line-height: 1.15;
|
19
|
+
-webkit-text-size-adjust: 100%;
|
20
|
+
-ms-text-size-adjust: 100%;
|
21
|
+
-ms-overflow-style: scrollbar;
|
22
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
23
|
+
}
|
24
|
+
@-ms-viewport {
|
25
|
+
width: device-width;
|
26
|
+
}
|
27
|
+
body {
|
28
|
+
margin: 0;
|
29
|
+
}
|
30
|
+
[tabindex="-1"]:focus {
|
31
|
+
outline: none;
|
32
|
+
}
|
33
|
+
hr {
|
34
|
+
box-sizing: content-box;
|
35
|
+
height: 0;
|
36
|
+
overflow: visible;
|
37
|
+
}
|
38
|
+
h1,
|
39
|
+
h2,
|
40
|
+
h3,
|
41
|
+
h4,
|
42
|
+
h5,
|
43
|
+
h6 {
|
44
|
+
margin-top: 0;
|
45
|
+
margin-bottom: 0.5em;
|
46
|
+
font-weight: 500;
|
47
|
+
}
|
48
|
+
p {
|
49
|
+
margin-top: 0;
|
50
|
+
margin-bottom: 1em;
|
51
|
+
}
|
52
|
+
abbr[title],
|
53
|
+
abbr[data-original-title] {
|
54
|
+
-webkit-text-decoration: underline dotted;
|
55
|
+
text-decoration: underline;
|
56
|
+
text-decoration: underline dotted;
|
57
|
+
border-bottom: 0;
|
58
|
+
cursor: help;
|
59
|
+
}
|
60
|
+
address {
|
61
|
+
margin-bottom: 1em;
|
62
|
+
font-style: normal;
|
63
|
+
line-height: inherit;
|
64
|
+
}
|
65
|
+
input[type="text"],
|
66
|
+
input[type="password"],
|
67
|
+
input[type="number"],
|
68
|
+
textarea {
|
69
|
+
-webkit-appearance: none;
|
70
|
+
}
|
71
|
+
ol,
|
72
|
+
ul,
|
73
|
+
dl {
|
74
|
+
margin-top: 0;
|
75
|
+
margin-bottom: 1em;
|
76
|
+
}
|
77
|
+
ol ol,
|
78
|
+
ul ul,
|
79
|
+
ol ul,
|
80
|
+
ul ol {
|
81
|
+
margin-bottom: 0;
|
82
|
+
}
|
83
|
+
dt {
|
84
|
+
font-weight: 500;
|
85
|
+
}
|
86
|
+
dd {
|
87
|
+
margin-bottom: 0.5em;
|
88
|
+
margin-left: 0;
|
89
|
+
}
|
90
|
+
blockquote {
|
91
|
+
margin: 0 0 1em;
|
92
|
+
}
|
93
|
+
dfn {
|
94
|
+
font-style: italic;
|
95
|
+
}
|
96
|
+
b,
|
97
|
+
strong {
|
98
|
+
font-weight: bolder;
|
99
|
+
}
|
100
|
+
small {
|
101
|
+
font-size: 80%;
|
102
|
+
}
|
103
|
+
sub,
|
104
|
+
sup {
|
105
|
+
position: relative;
|
106
|
+
font-size: 75%;
|
107
|
+
line-height: 0;
|
108
|
+
vertical-align: baseline;
|
109
|
+
}
|
110
|
+
sub {
|
111
|
+
bottom: -0.25em;
|
112
|
+
}
|
113
|
+
sup {
|
114
|
+
top: -0.5em;
|
115
|
+
}
|
116
|
+
pre,
|
117
|
+
code,
|
118
|
+
kbd,
|
119
|
+
samp {
|
120
|
+
font-size: 1em;
|
121
|
+
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier,
|
122
|
+
monospace;
|
123
|
+
}
|
124
|
+
pre {
|
125
|
+
margin-top: 0;
|
126
|
+
margin-bottom: 1em;
|
127
|
+
overflow: auto;
|
128
|
+
}
|
129
|
+
figure {
|
130
|
+
margin: 0 0 1em;
|
131
|
+
}
|
132
|
+
img {
|
133
|
+
vertical-align: middle;
|
134
|
+
border-style: none;
|
135
|
+
}
|
136
|
+
a,
|
137
|
+
area,
|
138
|
+
button,
|
139
|
+
[role="button"],
|
140
|
+
input:not([type="range"]),
|
141
|
+
label,
|
142
|
+
select,
|
143
|
+
summary,
|
144
|
+
textarea {
|
145
|
+
touch-action: manipulation;
|
146
|
+
}
|
147
|
+
table {
|
148
|
+
border-collapse: collapse;
|
149
|
+
}
|
150
|
+
caption {
|
151
|
+
padding-top: 0.75em;
|
152
|
+
padding-bottom: 0.3em;
|
153
|
+
text-align: left;
|
154
|
+
caption-side: bottom;
|
155
|
+
}
|
156
|
+
input,
|
157
|
+
button,
|
158
|
+
select,
|
159
|
+
optgroup,
|
160
|
+
textarea {
|
161
|
+
margin: 0;
|
162
|
+
color: inherit;
|
163
|
+
font-size: inherit;
|
164
|
+
font-family: inherit;
|
165
|
+
line-height: inherit;
|
166
|
+
}
|
167
|
+
button,
|
168
|
+
input {
|
169
|
+
overflow: visible;
|
170
|
+
}
|
171
|
+
button,
|
172
|
+
select {
|
173
|
+
text-transform: none;
|
174
|
+
}
|
175
|
+
button,
|
176
|
+
html [type="button"],
|
177
|
+
[type="reset"],
|
178
|
+
[type="submit"] {
|
179
|
+
-webkit-appearance: button;
|
180
|
+
}
|
181
|
+
button::-moz-focus-inner,
|
182
|
+
[type="button"]::-moz-focus-inner,
|
183
|
+
[type="reset"]::-moz-focus-inner,
|
184
|
+
[type="submit"]::-moz-focus-inner {
|
185
|
+
padding: 0;
|
186
|
+
border-style: none;
|
187
|
+
}
|
188
|
+
input[type="radio"],
|
189
|
+
input[type="checkbox"] {
|
190
|
+
box-sizing: border-box;
|
191
|
+
padding: 0;
|
192
|
+
}
|
193
|
+
input[type="date"],
|
194
|
+
input[type="time"],
|
195
|
+
input[type="datetime-local"],
|
196
|
+
input[type="month"] {
|
197
|
+
-webkit-appearance: listbox;
|
198
|
+
}
|
199
|
+
textarea {
|
200
|
+
overflow: auto;
|
201
|
+
resize: vertical;
|
202
|
+
}
|
203
|
+
fieldset {
|
204
|
+
min-width: 0;
|
205
|
+
margin: 0;
|
206
|
+
padding: 0;
|
207
|
+
border: 0;
|
208
|
+
}
|
209
|
+
legend {
|
210
|
+
display: block;
|
211
|
+
width: 100%;
|
212
|
+
max-width: 100%;
|
213
|
+
margin-bottom: 0.5em;
|
214
|
+
padding: 0;
|
215
|
+
color: inherit;
|
216
|
+
font-size: 1.5em;
|
217
|
+
line-height: inherit;
|
218
|
+
white-space: normal;
|
219
|
+
}
|
220
|
+
progress {
|
221
|
+
vertical-align: baseline;
|
222
|
+
}
|
223
|
+
[type="number"]::-webkit-inner-spin-button,
|
224
|
+
[type="number"]::-webkit-outer-spin-button {
|
225
|
+
height: auto;
|
226
|
+
}
|
227
|
+
[type="search"] {
|
228
|
+
outline-offset: -2px;
|
229
|
+
-webkit-appearance: none;
|
230
|
+
}
|
231
|
+
[type="search"]::-webkit-search-cancel-button,
|
232
|
+
[type="search"]::-webkit-search-decoration {
|
233
|
+
-webkit-appearance: none;
|
234
|
+
}
|
235
|
+
::-webkit-file-upload-button {
|
236
|
+
font: inherit;
|
237
|
+
-webkit-appearance: button;
|
238
|
+
}
|
239
|
+
output {
|
240
|
+
display: inline-block;
|
241
|
+
}
|
242
|
+
summary {
|
243
|
+
display: list-item;
|
244
|
+
}
|
245
|
+
template {
|
246
|
+
display: none;
|
247
|
+
}
|
248
|
+
[hidden] {
|
249
|
+
display: none !important;
|
250
|
+
}
|
251
|
+
mark {
|
252
|
+
padding: 0.2em;
|
253
|
+
background-color: #feffe6;
|
254
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import {
|
3
|
+
useBreadcrumb,
|
4
|
+
useLink,
|
5
|
+
useRefineContext,
|
6
|
+
useRouterContext,
|
7
|
+
useRouterType,
|
8
|
+
useResource,
|
9
|
+
matchResourceFromRoute,
|
10
|
+
} from "@refinedev/core";
|
11
|
+
import { RefineBreadcrumbProps } from "@refinedev/ui-types";
|
12
|
+
|
13
|
+
import {
|
14
|
+
Breadcrumb as AntdBreadcrumb,
|
15
|
+
BreadcrumbProps as AntdBreadcrumbProps,
|
16
|
+
} from "antd";
|
17
|
+
import { HomeOutlined } from "@ant-design/icons";
|
18
|
+
|
19
|
+
export type BreadcrumbProps = RefineBreadcrumbProps<AntdBreadcrumbProps>;
|
20
|
+
|
21
|
+
export const Breadcrumb: React.FC<BreadcrumbProps> = ({
|
22
|
+
breadcrumbProps,
|
23
|
+
showHome = true,
|
24
|
+
hideIcons = false,
|
25
|
+
meta,
|
26
|
+
}) => {
|
27
|
+
const routerType = useRouterType();
|
28
|
+
const { breadcrumbs } = useBreadcrumb({
|
29
|
+
meta,
|
30
|
+
});
|
31
|
+
const Link = useLink();
|
32
|
+
const { Link: LegacyLink } = useRouterContext();
|
33
|
+
const { hasDashboard } = useRefineContext();
|
34
|
+
|
35
|
+
const { resources } = useResource();
|
36
|
+
|
37
|
+
const rootRouteResource = matchResourceFromRoute("/", resources);
|
38
|
+
|
39
|
+
const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
|
40
|
+
|
41
|
+
if (breadcrumbs.length === 1) {
|
42
|
+
return null;
|
43
|
+
}
|
44
|
+
|
45
|
+
return (
|
46
|
+
<AntdBreadcrumb {...breadcrumbProps}>
|
47
|
+
{showHome && (hasDashboard || rootRouteResource.found) && (
|
48
|
+
<AntdBreadcrumb.Item>
|
49
|
+
<ActiveLink to="/">
|
50
|
+
{rootRouteResource?.resource?.meta?.icon ?? (
|
51
|
+
<HomeOutlined />
|
52
|
+
)}
|
53
|
+
</ActiveLink>
|
54
|
+
</AntdBreadcrumb.Item>
|
55
|
+
)}
|
56
|
+
{breadcrumbs.map(({ label, icon, href }) => {
|
57
|
+
return (
|
58
|
+
<AntdBreadcrumb.Item key={label}>
|
59
|
+
{!hideIcons && icon}
|
60
|
+
{href ? (
|
61
|
+
<ActiveLink to={href}>{label}</ActiveLink>
|
62
|
+
) : (
|
63
|
+
<span>{label}</span>
|
64
|
+
)}
|
65
|
+
</AntdBreadcrumb.Item>
|
66
|
+
);
|
67
|
+
})}
|
68
|
+
</AntdBreadcrumb>
|
69
|
+
);
|
70
|
+
};
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Button } from "antd";
|
3
|
+
import { PlusSquareOutlined } from "@ant-design/icons";
|
4
|
+
import {
|
5
|
+
useCan,
|
6
|
+
useNavigation,
|
7
|
+
useTranslate,
|
8
|
+
useResource,
|
9
|
+
useRouterContext,
|
10
|
+
useRouterType,
|
11
|
+
useLink,
|
12
|
+
} from "@refinedev/core";
|
13
|
+
import { RefineButtonTestIds } from "@refinedev/ui-types";
|
14
|
+
|
15
|
+
import { CloneButtonProps } from "../types";
|
16
|
+
|
17
|
+
/**
|
18
|
+
* `<CloneButton>` uses Ant Design's {@link https://ant.design/components/button/ `<Button> component`}.
|
19
|
+
* It uses the {@link https://refine.dev/docs/core/hooks/navigation/useNavigation#clone `clone`} method from {@link https://refine.dev/docs/core/hooks/navigation/useNavigation useNavigation} under the hood.
|
20
|
+
* It can be useful when redirecting the app to the create page with the record id route of resource.
|
21
|
+
*
|
22
|
+
* @see {@link https://refine.dev/docs/ui-frameworks/antd/components/buttons/clone-button} for more details.
|
23
|
+
*/
|
24
|
+
export const CloneButton: React.FC<CloneButtonProps> = ({
|
25
|
+
resourceNameOrRouteName: propResourceNameOrRouteName,
|
26
|
+
resource: resourceNameFromProps,
|
27
|
+
recordItemId,
|
28
|
+
hideText = false,
|
29
|
+
accessControl,
|
30
|
+
meta,
|
31
|
+
children,
|
32
|
+
onClick,
|
33
|
+
...rest
|
34
|
+
}) => {
|
35
|
+
const accessControlEnabled = accessControl?.enabled ?? true;
|
36
|
+
const hideIfUnauthorized = accessControl?.hideIfUnauthorized ?? false;
|
37
|
+
const { cloneUrl: generateCloneUrl } = useNavigation();
|
38
|
+
const routerType = useRouterType();
|
39
|
+
const Link = useLink();
|
40
|
+
const { Link: LegacyLink } = useRouterContext();
|
41
|
+
|
42
|
+
const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
|
43
|
+
|
44
|
+
const translate = useTranslate();
|
45
|
+
|
46
|
+
const { id, resource } = useResource(
|
47
|
+
resourceNameFromProps ?? propResourceNameOrRouteName,
|
48
|
+
);
|
49
|
+
|
50
|
+
const { data } = useCan({
|
51
|
+
resource: resource?.name,
|
52
|
+
action: "create",
|
53
|
+
params: { id: recordItemId ?? id, resource },
|
54
|
+
queryOptions: {
|
55
|
+
enabled: accessControlEnabled,
|
56
|
+
},
|
57
|
+
});
|
58
|
+
|
59
|
+
const createButtonDisabledTitle = () => {
|
60
|
+
if (data?.can) return "";
|
61
|
+
else if (data?.reason) return data.reason;
|
62
|
+
else
|
63
|
+
return translate(
|
64
|
+
"buttons.notAccessTitle",
|
65
|
+
"You don't have permission to access",
|
66
|
+
);
|
67
|
+
};
|
68
|
+
|
69
|
+
const cloneUrl =
|
70
|
+
resource && (recordItemId || id)
|
71
|
+
? generateCloneUrl(resource, recordItemId! ?? id!, meta)
|
72
|
+
: "";
|
73
|
+
|
74
|
+
if (accessControlEnabled && hideIfUnauthorized && !data?.can) {
|
75
|
+
return null;
|
76
|
+
}
|
77
|
+
|
78
|
+
return (
|
79
|
+
<ActiveLink
|
80
|
+
to={cloneUrl}
|
81
|
+
replace={false}
|
82
|
+
onClick={(e: React.PointerEvent<HTMLButtonElement>) => {
|
83
|
+
if (data?.can === false) {
|
84
|
+
e.preventDefault();
|
85
|
+
return;
|
86
|
+
}
|
87
|
+
if (onClick) {
|
88
|
+
e.preventDefault();
|
89
|
+
onClick(e);
|
90
|
+
}
|
91
|
+
}}
|
92
|
+
>
|
93
|
+
<Button
|
94
|
+
icon={<PlusSquareOutlined />}
|
95
|
+
disabled={data?.can === false}
|
96
|
+
title={createButtonDisabledTitle()}
|
97
|
+
data-testid={RefineButtonTestIds.CloneButton}
|
98
|
+
{...rest}
|
99
|
+
>
|
100
|
+
{!hideText && (children ?? translate("buttons.clone", "Clone"))}
|
101
|
+
</Button>
|
102
|
+
</ActiveLink>
|
103
|
+
);
|
104
|
+
};
|
@@ -0,0 +1,103 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Button } from "antd";
|
3
|
+
import { PlusSquareOutlined } from "@ant-design/icons";
|
4
|
+
import {
|
5
|
+
useNavigation,
|
6
|
+
useTranslate,
|
7
|
+
useCan,
|
8
|
+
useResource,
|
9
|
+
useRouterContext,
|
10
|
+
useRouterType,
|
11
|
+
useLink,
|
12
|
+
} from "@refinedev/core";
|
13
|
+
import { RefineButtonTestIds } from "@refinedev/ui-types";
|
14
|
+
|
15
|
+
import { CreateButtonProps } from "../types";
|
16
|
+
|
17
|
+
/**
|
18
|
+
* <CreateButton> uses Ant Design's {@link https://ant.design/components/button/ `<Button> component`}.
|
19
|
+
* It uses the {@link https://refine.dev/docs/core/hooks/navigation/useNavigation#create `create`} method from {@link https://refine.dev/docs/core/hooks/navigation/useNavigation `useNavigation`} under the hood.
|
20
|
+
* It can be useful to redirect the app to the create page route of resource}.
|
21
|
+
*
|
22
|
+
* @see {@link https://refine.dev/docs/ui-frameworks/antd/components/buttons/create-button} for more details.
|
23
|
+
*/
|
24
|
+
export const CreateButton: React.FC<CreateButtonProps> = ({
|
25
|
+
resource: resourceNameFromProps,
|
26
|
+
resourceNameOrRouteName: propResourceNameOrRouteName,
|
27
|
+
hideText = false,
|
28
|
+
accessControl,
|
29
|
+
meta,
|
30
|
+
children,
|
31
|
+
onClick,
|
32
|
+
...rest
|
33
|
+
}) => {
|
34
|
+
const accessControlEnabled = accessControl?.enabled ?? true;
|
35
|
+
const hideIfUnauthorized = accessControl?.hideIfUnauthorized ?? false;
|
36
|
+
const translate = useTranslate();
|
37
|
+
const routerType = useRouterType();
|
38
|
+
const Link = useLink();
|
39
|
+
const { Link: LegacyLink } = useRouterContext();
|
40
|
+
|
41
|
+
const ActiveLink = routerType === "legacy" ? LegacyLink : Link;
|
42
|
+
|
43
|
+
const { createUrl: generateCreateUrl } = useNavigation();
|
44
|
+
|
45
|
+
const { resource } = useResource(
|
46
|
+
resourceNameFromProps ?? propResourceNameOrRouteName,
|
47
|
+
);
|
48
|
+
|
49
|
+
const { data } = useCan({
|
50
|
+
resource: resource?.name,
|
51
|
+
action: "create",
|
52
|
+
queryOptions: {
|
53
|
+
enabled: accessControlEnabled,
|
54
|
+
},
|
55
|
+
params: {
|
56
|
+
resource,
|
57
|
+
},
|
58
|
+
});
|
59
|
+
|
60
|
+
const createButtonDisabledTitle = () => {
|
61
|
+
if (data?.can) return "";
|
62
|
+
else if (data?.reason) return data.reason;
|
63
|
+
else
|
64
|
+
return translate(
|
65
|
+
"buttons.notAccessTitle",
|
66
|
+
"You don't have permission to access",
|
67
|
+
);
|
68
|
+
};
|
69
|
+
|
70
|
+
const createUrl = resource ? generateCreateUrl(resource, meta) : "";
|
71
|
+
|
72
|
+
if (accessControlEnabled && hideIfUnauthorized && !data?.can) {
|
73
|
+
return null;
|
74
|
+
}
|
75
|
+
|
76
|
+
return (
|
77
|
+
<ActiveLink
|
78
|
+
to={createUrl}
|
79
|
+
replace={false}
|
80
|
+
onClick={(e: React.PointerEvent<HTMLButtonElement>) => {
|
81
|
+
if (data?.can === false) {
|
82
|
+
e.preventDefault();
|
83
|
+
return;
|
84
|
+
}
|
85
|
+
if (onClick) {
|
86
|
+
e.preventDefault();
|
87
|
+
onClick(e);
|
88
|
+
}
|
89
|
+
}}
|
90
|
+
>
|
91
|
+
<Button
|
92
|
+
icon={<PlusSquareOutlined />}
|
93
|
+
disabled={data?.can === false}
|
94
|
+
title={createButtonDisabledTitle()}
|
95
|
+
data-testid={RefineButtonTestIds.CreateButton}
|
96
|
+
{...rest}
|
97
|
+
>
|
98
|
+
{!hideText &&
|
99
|
+
(children ?? translate("buttons.create", "Create"))}
|
100
|
+
</Button>
|
101
|
+
</ActiveLink>
|
102
|
+
);
|
103
|
+
};
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Button, Popconfirm } from "antd";
|
3
|
+
import { DeleteOutlined } from "@ant-design/icons";
|
4
|
+
import {
|
5
|
+
useDelete,
|
6
|
+
useTranslate,
|
7
|
+
useMutationMode,
|
8
|
+
useCan,
|
9
|
+
useResource,
|
10
|
+
pickNotDeprecated,
|
11
|
+
} from "@refinedev/core";
|
12
|
+
import { RefineButtonTestIds } from "@refinedev/ui-types";
|
13
|
+
|
14
|
+
import { DeleteButtonProps } from "../types";
|
15
|
+
|
16
|
+
/**
|
17
|
+
* `<DeleteButton>` uses Ant Design's {@link https://ant.design/components/button/ `<Button>`} and {@link https://ant.design/components/button/ `<Popconfirm>`} components.
|
18
|
+
* When you try to delete something, a pop-up shows up and asks for confirmation. When confirmed it executes the `useDelete` method provided by your `dataProvider`.
|
19
|
+
*
|
20
|
+
* @see {@link https://refine.dev/docs/ui-frameworks/antd/components/buttons/delete-button} for more details.
|
21
|
+
*/
|
22
|
+
export const DeleteButton: React.FC<DeleteButtonProps> = ({
|
23
|
+
resource: resourceNameFromProps,
|
24
|
+
resourceNameOrRouteName: propResourceNameOrRouteName,
|
25
|
+
recordItemId,
|
26
|
+
onSuccess,
|
27
|
+
mutationMode: mutationModeProp,
|
28
|
+
children,
|
29
|
+
successNotification,
|
30
|
+
errorNotification,
|
31
|
+
hideText = false,
|
32
|
+
accessControl,
|
33
|
+
metaData,
|
34
|
+
meta,
|
35
|
+
dataProviderName,
|
36
|
+
confirmTitle,
|
37
|
+
confirmOkText,
|
38
|
+
confirmCancelText,
|
39
|
+
invalidates,
|
40
|
+
...rest
|
41
|
+
}) => {
|
42
|
+
const accessControlEnabled = accessControl?.enabled ?? true;
|
43
|
+
const hideIfUnauthorized = accessControl?.hideIfUnauthorized ?? false;
|
44
|
+
const translate = useTranslate();
|
45
|
+
|
46
|
+
const { id, resource } = useResource(
|
47
|
+
resourceNameFromProps ?? propResourceNameOrRouteName,
|
48
|
+
);
|
49
|
+
|
50
|
+
const { mutationMode: mutationModeContext } = useMutationMode();
|
51
|
+
|
52
|
+
const mutationMode = mutationModeProp ?? mutationModeContext;
|
53
|
+
|
54
|
+
const { mutate, isLoading, variables } = useDelete();
|
55
|
+
|
56
|
+
const { data } = useCan({
|
57
|
+
resource: resource?.name,
|
58
|
+
action: "delete",
|
59
|
+
params: { id: recordItemId ?? id, resource },
|
60
|
+
queryOptions: {
|
61
|
+
enabled: accessControlEnabled,
|
62
|
+
},
|
63
|
+
});
|
64
|
+
|
65
|
+
if (accessControlEnabled && hideIfUnauthorized && !data?.can) {
|
66
|
+
return null;
|
67
|
+
}
|
68
|
+
|
69
|
+
return (
|
70
|
+
<Popconfirm
|
71
|
+
key="delete"
|
72
|
+
okText={confirmOkText ?? translate("buttons.delete", "Delete")}
|
73
|
+
cancelText={
|
74
|
+
confirmCancelText ?? translate("buttons.cancel", "Cancel")
|
75
|
+
}
|
76
|
+
okType="danger"
|
77
|
+
title={
|
78
|
+
confirmTitle ?? translate("buttons.confirm", "Are you sure?")
|
79
|
+
}
|
80
|
+
okButtonProps={{ disabled: isLoading }}
|
81
|
+
onConfirm={(): void => {
|
82
|
+
if ((recordItemId ?? id) && resource?.name) {
|
83
|
+
mutate(
|
84
|
+
{
|
85
|
+
id: recordItemId ?? id ?? "",
|
86
|
+
resource: resource?.name,
|
87
|
+
mutationMode,
|
88
|
+
successNotification,
|
89
|
+
errorNotification,
|
90
|
+
meta: pickNotDeprecated(meta, metaData),
|
91
|
+
metaData: pickNotDeprecated(meta, metaData),
|
92
|
+
dataProviderName,
|
93
|
+
invalidates,
|
94
|
+
},
|
95
|
+
{
|
96
|
+
onSuccess: (value) => {
|
97
|
+
onSuccess && onSuccess(value);
|
98
|
+
},
|
99
|
+
},
|
100
|
+
);
|
101
|
+
}
|
102
|
+
}}
|
103
|
+
disabled={
|
104
|
+
typeof rest?.disabled !== "undefined"
|
105
|
+
? rest.disabled
|
106
|
+
: data?.can === false
|
107
|
+
}
|
108
|
+
>
|
109
|
+
<Button
|
110
|
+
danger
|
111
|
+
loading={(recordItemId ?? id) === variables?.id && isLoading}
|
112
|
+
icon={<DeleteOutlined />}
|
113
|
+
disabled={data?.can === false}
|
114
|
+
data-testid={RefineButtonTestIds.DeleteButton}
|
115
|
+
{...rest}
|
116
|
+
>
|
117
|
+
{!hideText &&
|
118
|
+
(children ?? translate("buttons.delete", "Delete"))}
|
119
|
+
</Button>
|
120
|
+
</Popconfirm>
|
121
|
+
);
|
122
|
+
};
|