ptechcore_ui 1.0.57 → 1.0.60
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/index.cjs +71 -39
- package/dist/index.d.cts +125 -2
- package/dist/index.d.ts +125 -2
- package/dist/index.js +66 -39
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -127,6 +127,7 @@ __export(index_exports, {
|
|
|
127
127
|
WorkSpace: () => WorkSpace_default,
|
|
128
128
|
WorkSpaceRoutes: () => WorkSpaceRoutes,
|
|
129
129
|
WorkspaceServices: () => WorkspaceServices,
|
|
130
|
+
defaultTheme: () => defaultTheme,
|
|
130
131
|
fileManagerApi: () => fileManagerApi,
|
|
131
132
|
findFolderById: () => findFolderById2,
|
|
132
133
|
formatCurrency: () => formatCurrency,
|
|
@@ -139,13 +140,17 @@ __export(index_exports, {
|
|
|
139
140
|
getFileIcon: () => getFileIcon,
|
|
140
141
|
getFileIconColor: () => getFileIconColor,
|
|
141
142
|
getMimeTypeFromExtension: () => getMimeTypeFromExtension,
|
|
143
|
+
getThemeCSSVariables: () => getThemeCSSVariables,
|
|
142
144
|
isImageFile: () => isImageFile,
|
|
143
145
|
numberToWords: () => numberToWords,
|
|
146
|
+
themes: () => themes,
|
|
144
147
|
useAlert: () => useAlert,
|
|
145
148
|
useFileManager: () => useFileManager,
|
|
146
149
|
useFileManagerApi: () => useFileManagerApi,
|
|
150
|
+
usePermissions: () => usePermissions,
|
|
147
151
|
useRootFileManagerApi: () => useRootFileManagerApi,
|
|
148
152
|
useSession: () => useSession,
|
|
153
|
+
useTheme: () => useTheme,
|
|
149
154
|
useToast: () => useToast
|
|
150
155
|
});
|
|
151
156
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -188,23 +193,35 @@ var Buttons_default = PrimaryButton;
|
|
|
188
193
|
// src/components/common/Modals.tsx
|
|
189
194
|
var import_react_dom = require("react-dom");
|
|
190
195
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
191
|
-
var Modal = ({
|
|
196
|
+
var Modal = ({
|
|
197
|
+
title,
|
|
198
|
+
description,
|
|
199
|
+
sideactions,
|
|
200
|
+
width = "max-w-md",
|
|
201
|
+
minContentHeight,
|
|
202
|
+
open,
|
|
203
|
+
onClose,
|
|
204
|
+
children
|
|
205
|
+
}) => {
|
|
192
206
|
if (!open) return null;
|
|
193
207
|
const modalContent = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[9999]", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: `bg-[var(--color-surface)] rounded-lg p-6 mx-4 w-full ${width}`, children: [
|
|
194
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex justify-between items-start mb-
|
|
208
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
|
|
195
209
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { children: [
|
|
196
210
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h3", { className: "text-xl font-semibold text-[var(--color-text-primary)] flex items-center space-x-2", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: title }) }),
|
|
197
211
|
description && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { className: "text-sm text-[var(--color-text-secondary)] mt-1", children: description })
|
|
198
212
|
] }),
|
|
199
|
-
/* @__PURE__ */ (0, import_jsx_runtime2.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
213
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "flex justify-end space-x-2", children: [
|
|
214
|
+
sideactions && sideactions,
|
|
215
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
216
|
+
"button",
|
|
217
|
+
{
|
|
218
|
+
onClick: onClose,
|
|
219
|
+
className: "text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)] text-xl transition-colors",
|
|
220
|
+
"aria-label": "Close modal",
|
|
221
|
+
children: "\u2715"
|
|
222
|
+
}
|
|
223
|
+
)
|
|
224
|
+
] })
|
|
208
225
|
] }),
|
|
209
226
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
210
227
|
"div",
|
|
@@ -3687,11 +3704,21 @@ var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
|
3687
3704
|
var variantStyles = {
|
|
3688
3705
|
filled: {
|
|
3689
3706
|
active: "bg-[var(--color-primary)] text-white shadow-md",
|
|
3690
|
-
inactive: "text-gray-600 hover:bg-gray-100"
|
|
3707
|
+
inactive: "text-gray-600 hover:bg-gray-100",
|
|
3708
|
+
base: "rounded-lg",
|
|
3709
|
+
badge: "bg-red-500 text-white"
|
|
3691
3710
|
},
|
|
3692
3711
|
outline: {
|
|
3693
3712
|
active: "bg-blue-100 text-blue-700",
|
|
3694
|
-
inactive: "text-gray-500 hover:text-gray-700 hover:bg-gray-100"
|
|
3713
|
+
inactive: "text-gray-500 hover:text-gray-700 hover:bg-gray-100",
|
|
3714
|
+
base: "rounded-lg",
|
|
3715
|
+
badge: "bg-red-500 text-white"
|
|
3716
|
+
},
|
|
3717
|
+
underline: {
|
|
3718
|
+
active: "border-[var(--color-primary)] text-[var(--color-primary)] bg-[var(--color-primary)]/5",
|
|
3719
|
+
inactive: "border-transparent text-gray-500 hover:text-gray-700 hover:bg-gray-100",
|
|
3720
|
+
base: "border-b-2",
|
|
3721
|
+
badge: "bg-[var(--color-primary)] text-white"
|
|
3695
3722
|
}
|
|
3696
3723
|
};
|
|
3697
3724
|
var Tabs = ({ tabs, activeTab, onChange, variant = "filled", className = "" }) => {
|
|
@@ -3702,11 +3729,11 @@ var Tabs = ({ tabs, activeTab, onChange, variant = "filled", className = "" }) =
|
|
|
3702
3729
|
"button",
|
|
3703
3730
|
{
|
|
3704
3731
|
onClick: () => onChange(tab.id),
|
|
3705
|
-
className: `flex items-center space-x-2 px-4 py-2 text-sm font-
|
|
3732
|
+
className: `flex items-center space-x-2 px-4 py-2 text-sm font-semibold transition-all whitespace-nowrap ${styles.base} ${activeTab === tab.id ? styles.active : styles.inactive}`,
|
|
3706
3733
|
children: [
|
|
3707
3734
|
Icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, { className: "w-4 h-4" }),
|
|
3708
3735
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children: tab.label }),
|
|
3709
|
-
tab.badge !== void 0 && tab.badge !== 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className:
|
|
3736
|
+
tab.badge !== void 0 && tab.badge !== 0 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `ml-1 px-1.5 py-0.5 text-xs rounded-full ${styles.badge}`, children: tab.badge })
|
|
3710
3737
|
]
|
|
3711
3738
|
},
|
|
3712
3739
|
tab.id
|
|
@@ -8960,7 +8987,7 @@ var FormVendor = ({
|
|
|
8960
8987
|
label: "Raison sociale",
|
|
8961
8988
|
name: "legal_name",
|
|
8962
8989
|
value: formData.legal_name || "",
|
|
8963
|
-
placeholder: "Nom l
|
|
8990
|
+
placeholder: "Nom l\xE9gal de l'entit\xE9",
|
|
8964
8991
|
required: true,
|
|
8965
8992
|
error: errors.legal_name,
|
|
8966
8993
|
onChange: handleInputChange
|
|
@@ -8980,10 +9007,10 @@ var FormVendor = ({
|
|
|
8980
9007
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
8981
9008
|
TextInput,
|
|
8982
9009
|
{
|
|
8983
|
-
label: "Num
|
|
9010
|
+
label: "Num\xE9ro d'identification fiscale (NCC)",
|
|
8984
9011
|
name: "tax_account",
|
|
8985
9012
|
value: formData.tax_account || "",
|
|
8986
|
-
placeholder: "Num
|
|
9013
|
+
placeholder: "Num\xE9ro d'identification fiscale",
|
|
8987
9014
|
onChange: handleInputChange
|
|
8988
9015
|
}
|
|
8989
9016
|
),
|
|
@@ -8993,7 +9020,7 @@ var FormVendor = ({
|
|
|
8993
9020
|
label: "RCCM",
|
|
8994
9021
|
name: "rccm",
|
|
8995
9022
|
value: formData.rccm || "",
|
|
8996
|
-
placeholder: "Registre du Commerce et du Cr
|
|
9023
|
+
placeholder: "Registre du Commerce et du Cr\xE9dit Mobilier",
|
|
8997
9024
|
onChange: handleInputChange
|
|
8998
9025
|
}
|
|
8999
9026
|
),
|
|
@@ -9010,17 +9037,17 @@ var FormVendor = ({
|
|
|
9010
9037
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9011
9038
|
TextInput,
|
|
9012
9039
|
{
|
|
9013
|
-
label: "R
|
|
9040
|
+
label: "R\xE9gime fiscal",
|
|
9014
9041
|
name: "tax_regime",
|
|
9015
9042
|
value: formData.tax_regime || "",
|
|
9016
|
-
placeholder: "R
|
|
9043
|
+
placeholder: "R\xE9gime fiscal",
|
|
9017
9044
|
onChange: handleInputChange
|
|
9018
9045
|
}
|
|
9019
9046
|
),
|
|
9020
9047
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9021
9048
|
TextInput,
|
|
9022
9049
|
{
|
|
9023
|
-
label: "Ann
|
|
9050
|
+
label: "Ann\xE9e de fondation",
|
|
9024
9051
|
name: "year_founded",
|
|
9025
9052
|
value: formData.year_founded || "",
|
|
9026
9053
|
placeholder: "2020",
|
|
@@ -9030,7 +9057,7 @@ var FormVendor = ({
|
|
|
9030
9057
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9031
9058
|
TextInput,
|
|
9032
9059
|
{
|
|
9033
|
-
label: "Secteur d'activit
|
|
9060
|
+
label: "Secteur d'activit\xE9",
|
|
9034
9061
|
name: "activity_sector",
|
|
9035
9062
|
value: formData.activity_sector || "",
|
|
9036
9063
|
placeholder: "Informatique, Commerce, etc.",
|
|
@@ -9048,7 +9075,7 @@ var FormVendor = ({
|
|
|
9048
9075
|
onChange: handleTextareaChange,
|
|
9049
9076
|
rows: 3,
|
|
9050
9077
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
9051
|
-
placeholder: "Description de l'activit
|
|
9078
|
+
placeholder: "Description de l'activit\xE9 de l'entit\xE9"
|
|
9052
9079
|
}
|
|
9053
9080
|
)
|
|
9054
9081
|
] })
|
|
@@ -9059,7 +9086,7 @@ var FormVendor = ({
|
|
|
9059
9086
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9060
9087
|
InputField,
|
|
9061
9088
|
{
|
|
9062
|
-
label: "T
|
|
9089
|
+
label: "T\xE9l\xE9phone",
|
|
9063
9090
|
name: "phone",
|
|
9064
9091
|
type: "tel",
|
|
9065
9092
|
value: formData.phone || "",
|
|
@@ -9112,7 +9139,7 @@ var FormVendor = ({
|
|
|
9112
9139
|
onChange: handleTextareaChange,
|
|
9113
9140
|
rows: 3,
|
|
9114
9141
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
9115
|
-
placeholder: "Adresse compl\\u00e8te de l'entit
|
|
9142
|
+
placeholder: "Adresse compl\\u00e8te de l'entit\xE9"
|
|
9116
9143
|
}
|
|
9117
9144
|
)
|
|
9118
9145
|
] })
|
|
@@ -9122,20 +9149,20 @@ var FormVendor = ({
|
|
|
9122
9149
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9123
9150
|
TextInput,
|
|
9124
9151
|
{
|
|
9125
|
-
label: "Nom du repr
|
|
9152
|
+
label: "Nom du repr\xE9sentant l\xE9gal",
|
|
9126
9153
|
name: "legal_representative_name",
|
|
9127
9154
|
value: formData.legal_representative_name || "",
|
|
9128
|
-
placeholder: "Nom et pr
|
|
9155
|
+
placeholder: "Nom et pr\xE9nom du repr\xE9sentant",
|
|
9129
9156
|
onChange: handleInputChange
|
|
9130
9157
|
}
|
|
9131
9158
|
),
|
|
9132
9159
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9133
9160
|
TextInput,
|
|
9134
9161
|
{
|
|
9135
|
-
label: "Fonction du repr
|
|
9162
|
+
label: "Fonction du repr\xE9sentant",
|
|
9136
9163
|
name: "legal_representative_fonction",
|
|
9137
9164
|
value: formData.legal_representative_fonction || "",
|
|
9138
|
-
placeholder: "Directeur G
|
|
9165
|
+
placeholder: "Directeur G\xE9n\xE9ral, G\xE9rant, etc.",
|
|
9139
9166
|
onChange: handleInputChange
|
|
9140
9167
|
}
|
|
9141
9168
|
),
|
|
@@ -9143,7 +9170,7 @@ var FormVendor = ({
|
|
|
9143
9170
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9144
9171
|
InputField,
|
|
9145
9172
|
{
|
|
9146
|
-
label: "T
|
|
9173
|
+
label: "T\xE9l\xE9phone du repr\xE9sentant",
|
|
9147
9174
|
name: "legal_representative_phone",
|
|
9148
9175
|
type: "tel",
|
|
9149
9176
|
value: formData.legal_representative_phone || "",
|
|
@@ -9154,7 +9181,7 @@ var FormVendor = ({
|
|
|
9154
9181
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9155
9182
|
InputField,
|
|
9156
9183
|
{
|
|
9157
|
-
label: "Email du repr
|
|
9184
|
+
label: "Email du repr\xE9sentant",
|
|
9158
9185
|
name: "legal_representative_email",
|
|
9159
9186
|
type: "email",
|
|
9160
9187
|
value: formData.legal_representative_email || "",
|
|
@@ -9165,7 +9192,7 @@ var FormVendor = ({
|
|
|
9165
9192
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9166
9193
|
TextInput,
|
|
9167
9194
|
{
|
|
9168
|
-
label: "Type de document d'identit
|
|
9195
|
+
label: "Type de document d'identit\xE9",
|
|
9169
9196
|
name: "legal_representative_id_document",
|
|
9170
9197
|
value: formData.legal_representative_id_document || "",
|
|
9171
9198
|
placeholder: "CNI, Passeport, etc.",
|
|
@@ -9175,16 +9202,16 @@ var FormVendor = ({
|
|
|
9175
9202
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9176
9203
|
TextInput,
|
|
9177
9204
|
{
|
|
9178
|
-
label: "Num
|
|
9205
|
+
label: "Num\xE9ro de document d'identit\xE9",
|
|
9179
9206
|
name: "legal_representative_id_number",
|
|
9180
9207
|
value: formData.legal_representative_id_number || "",
|
|
9181
|
-
placeholder: "Num
|
|
9208
|
+
placeholder: "Num\xE9ro du document",
|
|
9182
9209
|
onChange: handleInputChange
|
|
9183
9210
|
}
|
|
9184
9211
|
)
|
|
9185
9212
|
] }),
|
|
9186
9213
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { children: [
|
|
9187
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Adresse du repr
|
|
9214
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Adresse du repr\xE9sentant" }),
|
|
9188
9215
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9189
9216
|
"textarea",
|
|
9190
9217
|
{
|
|
@@ -9193,7 +9220,7 @@ var FormVendor = ({
|
|
|
9193
9220
|
onChange: handleTextareaChange,
|
|
9194
9221
|
rows: 3,
|
|
9195
9222
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
9196
|
-
placeholder: "Adresse du repr
|
|
9223
|
+
placeholder: "Adresse du repr\xE9sentant l\xE9gal"
|
|
9197
9224
|
}
|
|
9198
9225
|
)
|
|
9199
9226
|
] })
|
|
@@ -9266,7 +9293,7 @@ var FormVendor = ({
|
|
|
9266
9293
|
label: "RIB",
|
|
9267
9294
|
name: "rib",
|
|
9268
9295
|
value: formData.rib || "",
|
|
9269
|
-
placeholder: "Relev
|
|
9296
|
+
placeholder: "Relev\xE9 d'Identit\xE9 Bancaire",
|
|
9270
9297
|
onChange: handleInputChange
|
|
9271
9298
|
}
|
|
9272
9299
|
),
|
|
@@ -9307,7 +9334,7 @@ var FormVendor = ({
|
|
|
9307
9334
|
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
9308
9335
|
InputField,
|
|
9309
9336
|
{
|
|
9310
|
-
label: "T
|
|
9337
|
+
label: "T\xE9l\xE9phone de la banque",
|
|
9311
9338
|
name: "bank_phone",
|
|
9312
9339
|
type: "tel",
|
|
9313
9340
|
value: formData.bank_phone || "",
|
|
@@ -21559,6 +21586,7 @@ var WorkSpaceRoutes = ({ module_name = "Rewise", module_id = "core", module_desc
|
|
|
21559
21586
|
WorkSpace,
|
|
21560
21587
|
WorkSpaceRoutes,
|
|
21561
21588
|
WorkspaceServices,
|
|
21589
|
+
defaultTheme,
|
|
21562
21590
|
fileManagerApi,
|
|
21563
21591
|
findFolderById,
|
|
21564
21592
|
formatCurrency,
|
|
@@ -21571,12 +21599,16 @@ var WorkSpaceRoutes = ({ module_name = "Rewise", module_id = "core", module_desc
|
|
|
21571
21599
|
getFileIcon,
|
|
21572
21600
|
getFileIconColor,
|
|
21573
21601
|
getMimeTypeFromExtension,
|
|
21602
|
+
getThemeCSSVariables,
|
|
21574
21603
|
isImageFile,
|
|
21575
21604
|
numberToWords,
|
|
21605
|
+
themes,
|
|
21576
21606
|
useAlert,
|
|
21577
21607
|
useFileManager,
|
|
21578
21608
|
useFileManagerApi,
|
|
21609
|
+
usePermissions,
|
|
21579
21610
|
useRootFileManagerApi,
|
|
21580
21611
|
useSession,
|
|
21612
|
+
useTheme,
|
|
21581
21613
|
useToast
|
|
21582
21614
|
});
|
package/dist/index.d.cts
CHANGED
|
@@ -14,6 +14,7 @@ declare const SecondaryButton: React$1.FC<PrimaryButtonProps>;
|
|
|
14
14
|
interface ModalProps {
|
|
15
15
|
title: string;
|
|
16
16
|
description?: string;
|
|
17
|
+
sideactions?: React$1.ReactNode;
|
|
17
18
|
width?: string;
|
|
18
19
|
minContentHeight?: string;
|
|
19
20
|
open: boolean;
|
|
@@ -280,6 +281,120 @@ declare const SessionProvider: ({ children }: {
|
|
|
280
281
|
children: ReactNode;
|
|
281
282
|
}) => react_jsx_runtime.JSX.Element;
|
|
282
283
|
|
|
284
|
+
interface ThemeColors {
|
|
285
|
+
primary: string;
|
|
286
|
+
primaryHover: string;
|
|
287
|
+
primaryLight: string;
|
|
288
|
+
secondary: string;
|
|
289
|
+
accent: string;
|
|
290
|
+
background: string;
|
|
291
|
+
surface: string;
|
|
292
|
+
surfaceHover: string;
|
|
293
|
+
text: {
|
|
294
|
+
primary: string;
|
|
295
|
+
secondary: string;
|
|
296
|
+
tertiary: string;
|
|
297
|
+
inverse: string;
|
|
298
|
+
};
|
|
299
|
+
border: string;
|
|
300
|
+
borderLight: string;
|
|
301
|
+
success: string;
|
|
302
|
+
successLight: string;
|
|
303
|
+
error: string;
|
|
304
|
+
errorLight: string;
|
|
305
|
+
warning: string;
|
|
306
|
+
warningLight: string;
|
|
307
|
+
info: string;
|
|
308
|
+
infoLight: string;
|
|
309
|
+
sidebar: {
|
|
310
|
+
bg: string;
|
|
311
|
+
bgHover: string;
|
|
312
|
+
text: string;
|
|
313
|
+
textHover: string;
|
|
314
|
+
border: string;
|
|
315
|
+
active: string;
|
|
316
|
+
activeBg: string;
|
|
317
|
+
};
|
|
318
|
+
card: {
|
|
319
|
+
bg: string;
|
|
320
|
+
border: string;
|
|
321
|
+
shadow: string;
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
interface Theme {
|
|
325
|
+
name: string;
|
|
326
|
+
description: string;
|
|
327
|
+
colors: ThemeColors;
|
|
328
|
+
shadows: {
|
|
329
|
+
sm: string;
|
|
330
|
+
md: string;
|
|
331
|
+
lg: string;
|
|
332
|
+
xl: string;
|
|
333
|
+
};
|
|
334
|
+
transitions: {
|
|
335
|
+
fast: string;
|
|
336
|
+
normal: string;
|
|
337
|
+
slow: string;
|
|
338
|
+
};
|
|
339
|
+
borderRadius: {
|
|
340
|
+
sm: string;
|
|
341
|
+
md: string;
|
|
342
|
+
lg: string;
|
|
343
|
+
xl: string;
|
|
344
|
+
full: string;
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
declare const themes: {
|
|
348
|
+
elegant: Theme;
|
|
349
|
+
fintech: Theme;
|
|
350
|
+
minimalist: Theme;
|
|
351
|
+
neutralOdyssey: Theme;
|
|
352
|
+
};
|
|
353
|
+
declare const defaultTheme: Theme;
|
|
354
|
+
declare const getThemeCSSVariables: (theme: Theme) => {
|
|
355
|
+
'--color-primary': string;
|
|
356
|
+
'--color-primary-hover': string;
|
|
357
|
+
'--color-primary-light': string;
|
|
358
|
+
'--color-secondary': string;
|
|
359
|
+
'--color-accent': string;
|
|
360
|
+
'--color-background': string;
|
|
361
|
+
'--color-surface': string;
|
|
362
|
+
'--color-surface-hover': string;
|
|
363
|
+
'--color-text-primary': string;
|
|
364
|
+
'--color-text-secondary': string;
|
|
365
|
+
'--color-text-tertiary': string;
|
|
366
|
+
'--color-text-inverse': string;
|
|
367
|
+
'--color-border': string;
|
|
368
|
+
'--color-border-light': string;
|
|
369
|
+
'--color-success': string;
|
|
370
|
+
'--color-success-light': string;
|
|
371
|
+
'--color-error': string;
|
|
372
|
+
'--color-error-light': string;
|
|
373
|
+
'--color-warning': string;
|
|
374
|
+
'--color-warning-light': string;
|
|
375
|
+
'--color-info': string;
|
|
376
|
+
'--color-info-light': string;
|
|
377
|
+
'--shadow-sm': string;
|
|
378
|
+
'--shadow-md': string;
|
|
379
|
+
'--shadow-lg': string;
|
|
380
|
+
'--shadow-xl': string;
|
|
381
|
+
'--transition-fast': string;
|
|
382
|
+
'--transition-normal': string;
|
|
383
|
+
'--transition-slow': string;
|
|
384
|
+
'--radius-sm': string;
|
|
385
|
+
'--radius-md': string;
|
|
386
|
+
'--radius-lg': string;
|
|
387
|
+
'--radius-xl': string;
|
|
388
|
+
'--radius-full': string;
|
|
389
|
+
};
|
|
390
|
+
type ThemeType = 'elegant' | 'fintech' | 'minimalist' | 'neutralOdyssey';
|
|
391
|
+
interface ThemeContextValue {
|
|
392
|
+
theme: Theme;
|
|
393
|
+
themeType: ThemeType;
|
|
394
|
+
setTheme: (type: ThemeType) => void;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
declare const useTheme: () => ThemeContextValue;
|
|
283
398
|
interface ThemeProviderProps {
|
|
284
399
|
children: React$1.ReactNode;
|
|
285
400
|
}
|
|
@@ -755,7 +870,7 @@ interface TabsProps {
|
|
|
755
870
|
tabs: Tab[];
|
|
756
871
|
activeTab: string;
|
|
757
872
|
onChange: (tabId: string) => void;
|
|
758
|
-
variant?: 'filled' | 'outline';
|
|
873
|
+
variant?: 'filled' | 'outline' | 'underline';
|
|
759
874
|
className?: string;
|
|
760
875
|
}
|
|
761
876
|
declare const Tabs: React$1.FC<TabsProps>;
|
|
@@ -901,6 +1016,14 @@ declare const AlertProvider: React$1.FC<{
|
|
|
901
1016
|
}>;
|
|
902
1017
|
declare const useAlert: () => AlertContextType;
|
|
903
1018
|
|
|
1019
|
+
declare const usePermissions: () => {
|
|
1020
|
+
hasPermission: (permissionCode: string) => boolean;
|
|
1021
|
+
hasAnyPermission: (permissionCodes: string[]) => boolean;
|
|
1022
|
+
hasAllPermissions: (permissionCodes: string[]) => boolean;
|
|
1023
|
+
isSuperuser: boolean;
|
|
1024
|
+
permissions: string[];
|
|
1025
|
+
};
|
|
1026
|
+
|
|
904
1027
|
interface SearchableSelectOption {
|
|
905
1028
|
value: string | number;
|
|
906
1029
|
label: string;
|
|
@@ -2144,4 +2267,4 @@ declare const WorkSpaceRoutes: React.FC<{
|
|
|
2144
2267
|
module_description: string;
|
|
2145
2268
|
}>;
|
|
2146
2269
|
|
|
2147
|
-
export { ACCOUNT_TYPE_LABELS, type Account, type AccountListResponse, AccountServices, type AccountType, AccountingWorkspace, AssetsDashboard as ActifsPage, Alert, AlertProvider, ApprovalAnswerModal, ApprovalAnswerPage, ApprovalPreviewAnswer, ApprovalServices, ApprovalWorkflow, AttachmentUploader, type AttachmentUploaderProps, AuthServices, BALANCE_TYPE_LABELS, type BackendFile, type BackendFolder, Badge, type BalanceType, Breadcrumb, BudgetPage, CHOICES, CardBody, CardHeader, TeamChat as ChatEquipePage, type Client, type ClientListResponse, ClientServices, type ConfirmOptions, ContextMenu, type ContextMenuAction, type ContextMenuPosition, CountrySelector, CrmWorkspace, DataTable, DateInput, DocumentFooter, DocumentHeader, EntityFileManager, type EntityFileManagerProps, type EntityType, FDrawer, FROM_MODULE_CHOICES, FacilityWorkspace, FetchApi, FileCard, FileGrid, FileInput, type FileItem, FileList, FileManager, type FileManagerContextValue, type FileManagerProps, FileManagerProvider, type FileManagerTexts, FolderTree, ForeignCurrencySelector, FormClient, FormVendor, type FromModule, HRConnectPage, InfoBox, InputField, InvoiceTypeSelector, LegalFormSelector, MeetingHubPage, type MenuItem, MinimalVendorForm, Modal, ModernCard, type ModuleConfig, type ModuleType, NumberInput, PRINT_GREEN, Pages, PaymentMethodSelector, type PendingTask, TeamCalendar as PlanningPage, PrimaryButton, PrintPreview, type PrintPreviewProps, PrintableDocument, type PrintableDocumentProps, type ProcurementWorkspaceStats, PurchaseRequestsPage, PurchaseWorkspace, type RecentActivity, RewiseBasicCard, RewiseCard, RewiseLayout, RootFileManager, SYSCOHADA_CLASSES, SearchableSelect, type SearchableSelectOption, SecondaryButton, SelectAccount, SelectClient, SelectCostCenter, SelectDepartment, SelectInput, SelectUnit, SelectUser, SelectVendor, SessionProvider, SignatureSection, StatCard, TEMPLATE_FNE_CHOICES, type Tab, Tabs, type TabsProps, TaskPilot, TaxSelector, type TemplateFNE, TemplateFNESelector, TextInput, ThemeProvider, ToastContainer, ToastProvider, Toolbar, TotalsSection, type Unit, UnitServices, type UseFileManagerApiReturn, type User, UserServices, type Vendor, type VendorListResponse, VendorServices, type ViewMode, WorkSpace, WorkSpaceRoutes, WorkspaceServices, fileManagerApi, findFolderById, formatCurrency, formatDate, formatDateFR, formatDateTime, formatFileSize, getAllFolders, getFileExtension, getFileIcon, getFileIconColor, getMimeTypeFromExtension, isImageFile, numberToWords, useAlert, useFileManager, useFileManagerApi, useRootFileManagerApi, useSession, useToast };
|
|
2270
|
+
export { ACCOUNT_TYPE_LABELS, type Account, type AccountListResponse, AccountServices, type AccountType, AccountingWorkspace, AssetsDashboard as ActifsPage, Alert, AlertProvider, ApprovalAnswerModal, ApprovalAnswerPage, ApprovalPreviewAnswer, ApprovalServices, ApprovalWorkflow, AttachmentUploader, type AttachmentUploaderProps, AuthServices, BALANCE_TYPE_LABELS, type BackendFile, type BackendFolder, Badge, type BalanceType, Breadcrumb, BudgetPage, CHOICES, CardBody, CardHeader, TeamChat as ChatEquipePage, type Client, type ClientListResponse, ClientServices, type ConfirmOptions, ContextMenu, type ContextMenuAction, type ContextMenuPosition, CountrySelector, CrmWorkspace, DataTable, DateInput, DocumentFooter, DocumentHeader, EntityFileManager, type EntityFileManagerProps, type EntityType, FDrawer, FROM_MODULE_CHOICES, FacilityWorkspace, FetchApi, FileCard, FileGrid, FileInput, type FileItem, FileList, FileManager, type FileManagerContextValue, type FileManagerProps, FileManagerProvider, type FileManagerTexts, FolderTree, ForeignCurrencySelector, FormClient, FormVendor, type FromModule, HRConnectPage, InfoBox, InputField, InvoiceTypeSelector, LegalFormSelector, MeetingHubPage, type MenuItem, MinimalVendorForm, Modal, ModernCard, type ModuleConfig, type ModuleType, NumberInput, PRINT_GREEN, Pages, PaymentMethodSelector, type PendingTask, TeamCalendar as PlanningPage, PrimaryButton, PrintPreview, type PrintPreviewProps, PrintableDocument, type PrintableDocumentProps, type ProcurementWorkspaceStats, PurchaseRequestsPage, PurchaseWorkspace, type RecentActivity, RewiseBasicCard, RewiseCard, RewiseLayout, RootFileManager, SYSCOHADA_CLASSES, SearchableSelect, type SearchableSelectOption, SecondaryButton, SelectAccount, SelectClient, SelectCostCenter, SelectDepartment, SelectInput, SelectUnit, SelectUser, SelectVendor, SessionProvider, SignatureSection, StatCard, TEMPLATE_FNE_CHOICES, type Tab, Tabs, type TabsProps, TaskPilot, TaxSelector, type TemplateFNE, TemplateFNESelector, TextInput, type Theme, type ThemeColors, type ThemeContextValue, ThemeProvider, type ThemeType, ToastContainer, ToastProvider, Toolbar, TotalsSection, type Unit, UnitServices, type UseFileManagerApiReturn, type User, UserServices, type Vendor, type VendorListResponse, VendorServices, type ViewMode, WorkSpace, WorkSpaceRoutes, WorkspaceServices, defaultTheme, fileManagerApi, findFolderById, formatCurrency, formatDate, formatDateFR, formatDateTime, formatFileSize, getAllFolders, getFileExtension, getFileIcon, getFileIconColor, getMimeTypeFromExtension, getThemeCSSVariables, isImageFile, numberToWords, themes, useAlert, useFileManager, useFileManagerApi, usePermissions, useRootFileManagerApi, useSession, useTheme, useToast };
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ declare const SecondaryButton: React$1.FC<PrimaryButtonProps>;
|
|
|
14
14
|
interface ModalProps {
|
|
15
15
|
title: string;
|
|
16
16
|
description?: string;
|
|
17
|
+
sideactions?: React$1.ReactNode;
|
|
17
18
|
width?: string;
|
|
18
19
|
minContentHeight?: string;
|
|
19
20
|
open: boolean;
|
|
@@ -280,6 +281,120 @@ declare const SessionProvider: ({ children }: {
|
|
|
280
281
|
children: ReactNode;
|
|
281
282
|
}) => react_jsx_runtime.JSX.Element;
|
|
282
283
|
|
|
284
|
+
interface ThemeColors {
|
|
285
|
+
primary: string;
|
|
286
|
+
primaryHover: string;
|
|
287
|
+
primaryLight: string;
|
|
288
|
+
secondary: string;
|
|
289
|
+
accent: string;
|
|
290
|
+
background: string;
|
|
291
|
+
surface: string;
|
|
292
|
+
surfaceHover: string;
|
|
293
|
+
text: {
|
|
294
|
+
primary: string;
|
|
295
|
+
secondary: string;
|
|
296
|
+
tertiary: string;
|
|
297
|
+
inverse: string;
|
|
298
|
+
};
|
|
299
|
+
border: string;
|
|
300
|
+
borderLight: string;
|
|
301
|
+
success: string;
|
|
302
|
+
successLight: string;
|
|
303
|
+
error: string;
|
|
304
|
+
errorLight: string;
|
|
305
|
+
warning: string;
|
|
306
|
+
warningLight: string;
|
|
307
|
+
info: string;
|
|
308
|
+
infoLight: string;
|
|
309
|
+
sidebar: {
|
|
310
|
+
bg: string;
|
|
311
|
+
bgHover: string;
|
|
312
|
+
text: string;
|
|
313
|
+
textHover: string;
|
|
314
|
+
border: string;
|
|
315
|
+
active: string;
|
|
316
|
+
activeBg: string;
|
|
317
|
+
};
|
|
318
|
+
card: {
|
|
319
|
+
bg: string;
|
|
320
|
+
border: string;
|
|
321
|
+
shadow: string;
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
interface Theme {
|
|
325
|
+
name: string;
|
|
326
|
+
description: string;
|
|
327
|
+
colors: ThemeColors;
|
|
328
|
+
shadows: {
|
|
329
|
+
sm: string;
|
|
330
|
+
md: string;
|
|
331
|
+
lg: string;
|
|
332
|
+
xl: string;
|
|
333
|
+
};
|
|
334
|
+
transitions: {
|
|
335
|
+
fast: string;
|
|
336
|
+
normal: string;
|
|
337
|
+
slow: string;
|
|
338
|
+
};
|
|
339
|
+
borderRadius: {
|
|
340
|
+
sm: string;
|
|
341
|
+
md: string;
|
|
342
|
+
lg: string;
|
|
343
|
+
xl: string;
|
|
344
|
+
full: string;
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
declare const themes: {
|
|
348
|
+
elegant: Theme;
|
|
349
|
+
fintech: Theme;
|
|
350
|
+
minimalist: Theme;
|
|
351
|
+
neutralOdyssey: Theme;
|
|
352
|
+
};
|
|
353
|
+
declare const defaultTheme: Theme;
|
|
354
|
+
declare const getThemeCSSVariables: (theme: Theme) => {
|
|
355
|
+
'--color-primary': string;
|
|
356
|
+
'--color-primary-hover': string;
|
|
357
|
+
'--color-primary-light': string;
|
|
358
|
+
'--color-secondary': string;
|
|
359
|
+
'--color-accent': string;
|
|
360
|
+
'--color-background': string;
|
|
361
|
+
'--color-surface': string;
|
|
362
|
+
'--color-surface-hover': string;
|
|
363
|
+
'--color-text-primary': string;
|
|
364
|
+
'--color-text-secondary': string;
|
|
365
|
+
'--color-text-tertiary': string;
|
|
366
|
+
'--color-text-inverse': string;
|
|
367
|
+
'--color-border': string;
|
|
368
|
+
'--color-border-light': string;
|
|
369
|
+
'--color-success': string;
|
|
370
|
+
'--color-success-light': string;
|
|
371
|
+
'--color-error': string;
|
|
372
|
+
'--color-error-light': string;
|
|
373
|
+
'--color-warning': string;
|
|
374
|
+
'--color-warning-light': string;
|
|
375
|
+
'--color-info': string;
|
|
376
|
+
'--color-info-light': string;
|
|
377
|
+
'--shadow-sm': string;
|
|
378
|
+
'--shadow-md': string;
|
|
379
|
+
'--shadow-lg': string;
|
|
380
|
+
'--shadow-xl': string;
|
|
381
|
+
'--transition-fast': string;
|
|
382
|
+
'--transition-normal': string;
|
|
383
|
+
'--transition-slow': string;
|
|
384
|
+
'--radius-sm': string;
|
|
385
|
+
'--radius-md': string;
|
|
386
|
+
'--radius-lg': string;
|
|
387
|
+
'--radius-xl': string;
|
|
388
|
+
'--radius-full': string;
|
|
389
|
+
};
|
|
390
|
+
type ThemeType = 'elegant' | 'fintech' | 'minimalist' | 'neutralOdyssey';
|
|
391
|
+
interface ThemeContextValue {
|
|
392
|
+
theme: Theme;
|
|
393
|
+
themeType: ThemeType;
|
|
394
|
+
setTheme: (type: ThemeType) => void;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
declare const useTheme: () => ThemeContextValue;
|
|
283
398
|
interface ThemeProviderProps {
|
|
284
399
|
children: React$1.ReactNode;
|
|
285
400
|
}
|
|
@@ -755,7 +870,7 @@ interface TabsProps {
|
|
|
755
870
|
tabs: Tab[];
|
|
756
871
|
activeTab: string;
|
|
757
872
|
onChange: (tabId: string) => void;
|
|
758
|
-
variant?: 'filled' | 'outline';
|
|
873
|
+
variant?: 'filled' | 'outline' | 'underline';
|
|
759
874
|
className?: string;
|
|
760
875
|
}
|
|
761
876
|
declare const Tabs: React$1.FC<TabsProps>;
|
|
@@ -901,6 +1016,14 @@ declare const AlertProvider: React$1.FC<{
|
|
|
901
1016
|
}>;
|
|
902
1017
|
declare const useAlert: () => AlertContextType;
|
|
903
1018
|
|
|
1019
|
+
declare const usePermissions: () => {
|
|
1020
|
+
hasPermission: (permissionCode: string) => boolean;
|
|
1021
|
+
hasAnyPermission: (permissionCodes: string[]) => boolean;
|
|
1022
|
+
hasAllPermissions: (permissionCodes: string[]) => boolean;
|
|
1023
|
+
isSuperuser: boolean;
|
|
1024
|
+
permissions: string[];
|
|
1025
|
+
};
|
|
1026
|
+
|
|
904
1027
|
interface SearchableSelectOption {
|
|
905
1028
|
value: string | number;
|
|
906
1029
|
label: string;
|
|
@@ -2144,4 +2267,4 @@ declare const WorkSpaceRoutes: React.FC<{
|
|
|
2144
2267
|
module_description: string;
|
|
2145
2268
|
}>;
|
|
2146
2269
|
|
|
2147
|
-
export { ACCOUNT_TYPE_LABELS, type Account, type AccountListResponse, AccountServices, type AccountType, AccountingWorkspace, AssetsDashboard as ActifsPage, Alert, AlertProvider, ApprovalAnswerModal, ApprovalAnswerPage, ApprovalPreviewAnswer, ApprovalServices, ApprovalWorkflow, AttachmentUploader, type AttachmentUploaderProps, AuthServices, BALANCE_TYPE_LABELS, type BackendFile, type BackendFolder, Badge, type BalanceType, Breadcrumb, BudgetPage, CHOICES, CardBody, CardHeader, TeamChat as ChatEquipePage, type Client, type ClientListResponse, ClientServices, type ConfirmOptions, ContextMenu, type ContextMenuAction, type ContextMenuPosition, CountrySelector, CrmWorkspace, DataTable, DateInput, DocumentFooter, DocumentHeader, EntityFileManager, type EntityFileManagerProps, type EntityType, FDrawer, FROM_MODULE_CHOICES, FacilityWorkspace, FetchApi, FileCard, FileGrid, FileInput, type FileItem, FileList, FileManager, type FileManagerContextValue, type FileManagerProps, FileManagerProvider, type FileManagerTexts, FolderTree, ForeignCurrencySelector, FormClient, FormVendor, type FromModule, HRConnectPage, InfoBox, InputField, InvoiceTypeSelector, LegalFormSelector, MeetingHubPage, type MenuItem, MinimalVendorForm, Modal, ModernCard, type ModuleConfig, type ModuleType, NumberInput, PRINT_GREEN, Pages, PaymentMethodSelector, type PendingTask, TeamCalendar as PlanningPage, PrimaryButton, PrintPreview, type PrintPreviewProps, PrintableDocument, type PrintableDocumentProps, type ProcurementWorkspaceStats, PurchaseRequestsPage, PurchaseWorkspace, type RecentActivity, RewiseBasicCard, RewiseCard, RewiseLayout, RootFileManager, SYSCOHADA_CLASSES, SearchableSelect, type SearchableSelectOption, SecondaryButton, SelectAccount, SelectClient, SelectCostCenter, SelectDepartment, SelectInput, SelectUnit, SelectUser, SelectVendor, SessionProvider, SignatureSection, StatCard, TEMPLATE_FNE_CHOICES, type Tab, Tabs, type TabsProps, TaskPilot, TaxSelector, type TemplateFNE, TemplateFNESelector, TextInput, ThemeProvider, ToastContainer, ToastProvider, Toolbar, TotalsSection, type Unit, UnitServices, type UseFileManagerApiReturn, type User, UserServices, type Vendor, type VendorListResponse, VendorServices, type ViewMode, WorkSpace, WorkSpaceRoutes, WorkspaceServices, fileManagerApi, findFolderById, formatCurrency, formatDate, formatDateFR, formatDateTime, formatFileSize, getAllFolders, getFileExtension, getFileIcon, getFileIconColor, getMimeTypeFromExtension, isImageFile, numberToWords, useAlert, useFileManager, useFileManagerApi, useRootFileManagerApi, useSession, useToast };
|
|
2270
|
+
export { ACCOUNT_TYPE_LABELS, type Account, type AccountListResponse, AccountServices, type AccountType, AccountingWorkspace, AssetsDashboard as ActifsPage, Alert, AlertProvider, ApprovalAnswerModal, ApprovalAnswerPage, ApprovalPreviewAnswer, ApprovalServices, ApprovalWorkflow, AttachmentUploader, type AttachmentUploaderProps, AuthServices, BALANCE_TYPE_LABELS, type BackendFile, type BackendFolder, Badge, type BalanceType, Breadcrumb, BudgetPage, CHOICES, CardBody, CardHeader, TeamChat as ChatEquipePage, type Client, type ClientListResponse, ClientServices, type ConfirmOptions, ContextMenu, type ContextMenuAction, type ContextMenuPosition, CountrySelector, CrmWorkspace, DataTable, DateInput, DocumentFooter, DocumentHeader, EntityFileManager, type EntityFileManagerProps, type EntityType, FDrawer, FROM_MODULE_CHOICES, FacilityWorkspace, FetchApi, FileCard, FileGrid, FileInput, type FileItem, FileList, FileManager, type FileManagerContextValue, type FileManagerProps, FileManagerProvider, type FileManagerTexts, FolderTree, ForeignCurrencySelector, FormClient, FormVendor, type FromModule, HRConnectPage, InfoBox, InputField, InvoiceTypeSelector, LegalFormSelector, MeetingHubPage, type MenuItem, MinimalVendorForm, Modal, ModernCard, type ModuleConfig, type ModuleType, NumberInput, PRINT_GREEN, Pages, PaymentMethodSelector, type PendingTask, TeamCalendar as PlanningPage, PrimaryButton, PrintPreview, type PrintPreviewProps, PrintableDocument, type PrintableDocumentProps, type ProcurementWorkspaceStats, PurchaseRequestsPage, PurchaseWorkspace, type RecentActivity, RewiseBasicCard, RewiseCard, RewiseLayout, RootFileManager, SYSCOHADA_CLASSES, SearchableSelect, type SearchableSelectOption, SecondaryButton, SelectAccount, SelectClient, SelectCostCenter, SelectDepartment, SelectInput, SelectUnit, SelectUser, SelectVendor, SessionProvider, SignatureSection, StatCard, TEMPLATE_FNE_CHOICES, type Tab, Tabs, type TabsProps, TaskPilot, TaxSelector, type TemplateFNE, TemplateFNESelector, TextInput, type Theme, type ThemeColors, type ThemeContextValue, ThemeProvider, type ThemeType, ToastContainer, ToastProvider, Toolbar, TotalsSection, type Unit, UnitServices, type UseFileManagerApiReturn, type User, UserServices, type Vendor, type VendorListResponse, VendorServices, type ViewMode, WorkSpace, WorkSpaceRoutes, WorkspaceServices, defaultTheme, fileManagerApi, findFolderById, formatCurrency, formatDate, formatDateFR, formatDateTime, formatFileSize, getAllFolders, getFileExtension, getFileIcon, getFileIconColor, getMimeTypeFromExtension, getThemeCSSVariables, isImageFile, numberToWords, themes, useAlert, useFileManager, useFileManagerApi, usePermissions, useRootFileManagerApi, useSession, useTheme, useToast };
|
package/dist/index.js
CHANGED
|
@@ -36,23 +36,35 @@ var Buttons_default = PrimaryButton;
|
|
|
36
36
|
// src/components/common/Modals.tsx
|
|
37
37
|
import { createPortal } from "react-dom";
|
|
38
38
|
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
39
|
-
var Modal = ({
|
|
39
|
+
var Modal = ({
|
|
40
|
+
title,
|
|
41
|
+
description,
|
|
42
|
+
sideactions,
|
|
43
|
+
width = "max-w-md",
|
|
44
|
+
minContentHeight,
|
|
45
|
+
open,
|
|
46
|
+
onClose,
|
|
47
|
+
children
|
|
48
|
+
}) => {
|
|
40
49
|
if (!open) return null;
|
|
41
50
|
const modalContent = /* @__PURE__ */ jsx2("div", { className: "fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[9999]", children: /* @__PURE__ */ jsxs("div", { className: `bg-[var(--color-surface)] rounded-lg p-6 mx-4 w-full ${width}`, children: [
|
|
42
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-start mb-
|
|
51
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-start mb-2", children: [
|
|
43
52
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
44
53
|
/* @__PURE__ */ jsx2("h3", { className: "text-xl font-semibold text-[var(--color-text-primary)] flex items-center space-x-2", children: /* @__PURE__ */ jsx2("span", { children: title }) }),
|
|
45
54
|
description && /* @__PURE__ */ jsx2("p", { className: "text-sm text-[var(--color-text-secondary)] mt-1", children: description })
|
|
46
55
|
] }),
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-end space-x-2", children: [
|
|
57
|
+
sideactions && sideactions,
|
|
58
|
+
/* @__PURE__ */ jsx2(
|
|
59
|
+
"button",
|
|
60
|
+
{
|
|
61
|
+
onClick: onClose,
|
|
62
|
+
className: "text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)] text-xl transition-colors",
|
|
63
|
+
"aria-label": "Close modal",
|
|
64
|
+
children: "\u2715"
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
] })
|
|
56
68
|
] }),
|
|
57
69
|
/* @__PURE__ */ jsx2(
|
|
58
70
|
"div",
|
|
@@ -3563,11 +3575,21 @@ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
|
3563
3575
|
var variantStyles = {
|
|
3564
3576
|
filled: {
|
|
3565
3577
|
active: "bg-[var(--color-primary)] text-white shadow-md",
|
|
3566
|
-
inactive: "text-gray-600 hover:bg-gray-100"
|
|
3578
|
+
inactive: "text-gray-600 hover:bg-gray-100",
|
|
3579
|
+
base: "rounded-lg",
|
|
3580
|
+
badge: "bg-red-500 text-white"
|
|
3567
3581
|
},
|
|
3568
3582
|
outline: {
|
|
3569
3583
|
active: "bg-blue-100 text-blue-700",
|
|
3570
|
-
inactive: "text-gray-500 hover:text-gray-700 hover:bg-gray-100"
|
|
3584
|
+
inactive: "text-gray-500 hover:text-gray-700 hover:bg-gray-100",
|
|
3585
|
+
base: "rounded-lg",
|
|
3586
|
+
badge: "bg-red-500 text-white"
|
|
3587
|
+
},
|
|
3588
|
+
underline: {
|
|
3589
|
+
active: "border-[var(--color-primary)] text-[var(--color-primary)] bg-[var(--color-primary)]/5",
|
|
3590
|
+
inactive: "border-transparent text-gray-500 hover:text-gray-700 hover:bg-gray-100",
|
|
3591
|
+
base: "border-b-2",
|
|
3592
|
+
badge: "bg-[var(--color-primary)] text-white"
|
|
3571
3593
|
}
|
|
3572
3594
|
};
|
|
3573
3595
|
var Tabs = ({ tabs, activeTab, onChange, variant = "filled", className = "" }) => {
|
|
@@ -3578,11 +3600,11 @@ var Tabs = ({ tabs, activeTab, onChange, variant = "filled", className = "" }) =
|
|
|
3578
3600
|
"button",
|
|
3579
3601
|
{
|
|
3580
3602
|
onClick: () => onChange(tab.id),
|
|
3581
|
-
className: `flex items-center space-x-2 px-4 py-2 text-sm font-
|
|
3603
|
+
className: `flex items-center space-x-2 px-4 py-2 text-sm font-semibold transition-all whitespace-nowrap ${styles.base} ${activeTab === tab.id ? styles.active : styles.inactive}`,
|
|
3582
3604
|
children: [
|
|
3583
3605
|
Icon && /* @__PURE__ */ jsx12(Icon, { className: "w-4 h-4" }),
|
|
3584
3606
|
/* @__PURE__ */ jsx12("span", { children: tab.label }),
|
|
3585
|
-
tab.badge !== void 0 && tab.badge !== 0 && /* @__PURE__ */ jsx12("span", { className:
|
|
3607
|
+
tab.badge !== void 0 && tab.badge !== 0 && /* @__PURE__ */ jsx12("span", { className: `ml-1 px-1.5 py-0.5 text-xs rounded-full ${styles.badge}`, children: tab.badge })
|
|
3586
3608
|
]
|
|
3587
3609
|
},
|
|
3588
3610
|
tab.id
|
|
@@ -8877,7 +8899,7 @@ var FormVendor = ({
|
|
|
8877
8899
|
label: "Raison sociale",
|
|
8878
8900
|
name: "legal_name",
|
|
8879
8901
|
value: formData.legal_name || "",
|
|
8880
|
-
placeholder: "Nom l
|
|
8902
|
+
placeholder: "Nom l\xE9gal de l'entit\xE9",
|
|
8881
8903
|
required: true,
|
|
8882
8904
|
error: errors.legal_name,
|
|
8883
8905
|
onChange: handleInputChange
|
|
@@ -8897,10 +8919,10 @@ var FormVendor = ({
|
|
|
8897
8919
|
/* @__PURE__ */ jsx29(
|
|
8898
8920
|
TextInput,
|
|
8899
8921
|
{
|
|
8900
|
-
label: "Num
|
|
8922
|
+
label: "Num\xE9ro d'identification fiscale (NCC)",
|
|
8901
8923
|
name: "tax_account",
|
|
8902
8924
|
value: formData.tax_account || "",
|
|
8903
|
-
placeholder: "Num
|
|
8925
|
+
placeholder: "Num\xE9ro d'identification fiscale",
|
|
8904
8926
|
onChange: handleInputChange
|
|
8905
8927
|
}
|
|
8906
8928
|
),
|
|
@@ -8910,7 +8932,7 @@ var FormVendor = ({
|
|
|
8910
8932
|
label: "RCCM",
|
|
8911
8933
|
name: "rccm",
|
|
8912
8934
|
value: formData.rccm || "",
|
|
8913
|
-
placeholder: "Registre du Commerce et du Cr
|
|
8935
|
+
placeholder: "Registre du Commerce et du Cr\xE9dit Mobilier",
|
|
8914
8936
|
onChange: handleInputChange
|
|
8915
8937
|
}
|
|
8916
8938
|
),
|
|
@@ -8927,17 +8949,17 @@ var FormVendor = ({
|
|
|
8927
8949
|
/* @__PURE__ */ jsx29(
|
|
8928
8950
|
TextInput,
|
|
8929
8951
|
{
|
|
8930
|
-
label: "R
|
|
8952
|
+
label: "R\xE9gime fiscal",
|
|
8931
8953
|
name: "tax_regime",
|
|
8932
8954
|
value: formData.tax_regime || "",
|
|
8933
|
-
placeholder: "R
|
|
8955
|
+
placeholder: "R\xE9gime fiscal",
|
|
8934
8956
|
onChange: handleInputChange
|
|
8935
8957
|
}
|
|
8936
8958
|
),
|
|
8937
8959
|
/* @__PURE__ */ jsx29(
|
|
8938
8960
|
TextInput,
|
|
8939
8961
|
{
|
|
8940
|
-
label: "Ann
|
|
8962
|
+
label: "Ann\xE9e de fondation",
|
|
8941
8963
|
name: "year_founded",
|
|
8942
8964
|
value: formData.year_founded || "",
|
|
8943
8965
|
placeholder: "2020",
|
|
@@ -8947,7 +8969,7 @@ var FormVendor = ({
|
|
|
8947
8969
|
/* @__PURE__ */ jsx29(
|
|
8948
8970
|
TextInput,
|
|
8949
8971
|
{
|
|
8950
|
-
label: "Secteur d'activit
|
|
8972
|
+
label: "Secteur d'activit\xE9",
|
|
8951
8973
|
name: "activity_sector",
|
|
8952
8974
|
value: formData.activity_sector || "",
|
|
8953
8975
|
placeholder: "Informatique, Commerce, etc.",
|
|
@@ -8965,7 +8987,7 @@ var FormVendor = ({
|
|
|
8965
8987
|
onChange: handleTextareaChange,
|
|
8966
8988
|
rows: 3,
|
|
8967
8989
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
8968
|
-
placeholder: "Description de l'activit
|
|
8990
|
+
placeholder: "Description de l'activit\xE9 de l'entit\xE9"
|
|
8969
8991
|
}
|
|
8970
8992
|
)
|
|
8971
8993
|
] })
|
|
@@ -8976,7 +8998,7 @@ var FormVendor = ({
|
|
|
8976
8998
|
/* @__PURE__ */ jsx29(
|
|
8977
8999
|
InputField,
|
|
8978
9000
|
{
|
|
8979
|
-
label: "T
|
|
9001
|
+
label: "T\xE9l\xE9phone",
|
|
8980
9002
|
name: "phone",
|
|
8981
9003
|
type: "tel",
|
|
8982
9004
|
value: formData.phone || "",
|
|
@@ -9029,7 +9051,7 @@ var FormVendor = ({
|
|
|
9029
9051
|
onChange: handleTextareaChange,
|
|
9030
9052
|
rows: 3,
|
|
9031
9053
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
9032
|
-
placeholder: "Adresse compl\\u00e8te de l'entit
|
|
9054
|
+
placeholder: "Adresse compl\\u00e8te de l'entit\xE9"
|
|
9033
9055
|
}
|
|
9034
9056
|
)
|
|
9035
9057
|
] })
|
|
@@ -9039,20 +9061,20 @@ var FormVendor = ({
|
|
|
9039
9061
|
/* @__PURE__ */ jsx29(
|
|
9040
9062
|
TextInput,
|
|
9041
9063
|
{
|
|
9042
|
-
label: "Nom du repr
|
|
9064
|
+
label: "Nom du repr\xE9sentant l\xE9gal",
|
|
9043
9065
|
name: "legal_representative_name",
|
|
9044
9066
|
value: formData.legal_representative_name || "",
|
|
9045
|
-
placeholder: "Nom et pr
|
|
9067
|
+
placeholder: "Nom et pr\xE9nom du repr\xE9sentant",
|
|
9046
9068
|
onChange: handleInputChange
|
|
9047
9069
|
}
|
|
9048
9070
|
),
|
|
9049
9071
|
/* @__PURE__ */ jsx29(
|
|
9050
9072
|
TextInput,
|
|
9051
9073
|
{
|
|
9052
|
-
label: "Fonction du repr
|
|
9074
|
+
label: "Fonction du repr\xE9sentant",
|
|
9053
9075
|
name: "legal_representative_fonction",
|
|
9054
9076
|
value: formData.legal_representative_fonction || "",
|
|
9055
|
-
placeholder: "Directeur G
|
|
9077
|
+
placeholder: "Directeur G\xE9n\xE9ral, G\xE9rant, etc.",
|
|
9056
9078
|
onChange: handleInputChange
|
|
9057
9079
|
}
|
|
9058
9080
|
),
|
|
@@ -9060,7 +9082,7 @@ var FormVendor = ({
|
|
|
9060
9082
|
/* @__PURE__ */ jsx29(
|
|
9061
9083
|
InputField,
|
|
9062
9084
|
{
|
|
9063
|
-
label: "T
|
|
9085
|
+
label: "T\xE9l\xE9phone du repr\xE9sentant",
|
|
9064
9086
|
name: "legal_representative_phone",
|
|
9065
9087
|
type: "tel",
|
|
9066
9088
|
value: formData.legal_representative_phone || "",
|
|
@@ -9071,7 +9093,7 @@ var FormVendor = ({
|
|
|
9071
9093
|
/* @__PURE__ */ jsx29(
|
|
9072
9094
|
InputField,
|
|
9073
9095
|
{
|
|
9074
|
-
label: "Email du repr
|
|
9096
|
+
label: "Email du repr\xE9sentant",
|
|
9075
9097
|
name: "legal_representative_email",
|
|
9076
9098
|
type: "email",
|
|
9077
9099
|
value: formData.legal_representative_email || "",
|
|
@@ -9082,7 +9104,7 @@ var FormVendor = ({
|
|
|
9082
9104
|
/* @__PURE__ */ jsx29(
|
|
9083
9105
|
TextInput,
|
|
9084
9106
|
{
|
|
9085
|
-
label: "Type de document d'identit
|
|
9107
|
+
label: "Type de document d'identit\xE9",
|
|
9086
9108
|
name: "legal_representative_id_document",
|
|
9087
9109
|
value: formData.legal_representative_id_document || "",
|
|
9088
9110
|
placeholder: "CNI, Passeport, etc.",
|
|
@@ -9092,16 +9114,16 @@ var FormVendor = ({
|
|
|
9092
9114
|
/* @__PURE__ */ jsx29(
|
|
9093
9115
|
TextInput,
|
|
9094
9116
|
{
|
|
9095
|
-
label: "Num
|
|
9117
|
+
label: "Num\xE9ro de document d'identit\xE9",
|
|
9096
9118
|
name: "legal_representative_id_number",
|
|
9097
9119
|
value: formData.legal_representative_id_number || "",
|
|
9098
|
-
placeholder: "Num
|
|
9120
|
+
placeholder: "Num\xE9ro du document",
|
|
9099
9121
|
onChange: handleInputChange
|
|
9100
9122
|
}
|
|
9101
9123
|
)
|
|
9102
9124
|
] }),
|
|
9103
9125
|
/* @__PURE__ */ jsxs24("div", { children: [
|
|
9104
|
-
/* @__PURE__ */ jsx29("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Adresse du repr
|
|
9126
|
+
/* @__PURE__ */ jsx29("label", { className: "block text-sm font-medium text-gray-700 mb-2", children: "Adresse du repr\xE9sentant" }),
|
|
9105
9127
|
/* @__PURE__ */ jsx29(
|
|
9106
9128
|
"textarea",
|
|
9107
9129
|
{
|
|
@@ -9110,7 +9132,7 @@ var FormVendor = ({
|
|
|
9110
9132
|
onChange: handleTextareaChange,
|
|
9111
9133
|
rows: 3,
|
|
9112
9134
|
className: "w-full px-4 py-3 border border-gray-200 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#6B7C92] focus:border-transparent placeholder-gray-400",
|
|
9113
|
-
placeholder: "Adresse du repr
|
|
9135
|
+
placeholder: "Adresse du repr\xE9sentant l\xE9gal"
|
|
9114
9136
|
}
|
|
9115
9137
|
)
|
|
9116
9138
|
] })
|
|
@@ -9183,7 +9205,7 @@ var FormVendor = ({
|
|
|
9183
9205
|
label: "RIB",
|
|
9184
9206
|
name: "rib",
|
|
9185
9207
|
value: formData.rib || "",
|
|
9186
|
-
placeholder: "Relev
|
|
9208
|
+
placeholder: "Relev\xE9 d'Identit\xE9 Bancaire",
|
|
9187
9209
|
onChange: handleInputChange
|
|
9188
9210
|
}
|
|
9189
9211
|
),
|
|
@@ -9224,7 +9246,7 @@ var FormVendor = ({
|
|
|
9224
9246
|
/* @__PURE__ */ jsx29(
|
|
9225
9247
|
InputField,
|
|
9226
9248
|
{
|
|
9227
|
-
label: "T
|
|
9249
|
+
label: "T\xE9l\xE9phone de la banque",
|
|
9228
9250
|
name: "bank_phone",
|
|
9229
9251
|
type: "tel",
|
|
9230
9252
|
value: formData.bank_phone || "",
|
|
@@ -21699,6 +21721,7 @@ export {
|
|
|
21699
21721
|
WorkSpace_default as WorkSpace,
|
|
21700
21722
|
WorkSpaceRoutes,
|
|
21701
21723
|
WorkspaceServices,
|
|
21724
|
+
defaultTheme,
|
|
21702
21725
|
fileManagerApi,
|
|
21703
21726
|
findFolderById2 as findFolderById,
|
|
21704
21727
|
formatCurrency,
|
|
@@ -21711,12 +21734,16 @@ export {
|
|
|
21711
21734
|
getFileIcon,
|
|
21712
21735
|
getFileIconColor,
|
|
21713
21736
|
getMimeTypeFromExtension,
|
|
21737
|
+
getThemeCSSVariables,
|
|
21714
21738
|
isImageFile,
|
|
21715
21739
|
numberToWords,
|
|
21740
|
+
themes,
|
|
21716
21741
|
useAlert,
|
|
21717
21742
|
useFileManager,
|
|
21718
21743
|
useFileManagerApi,
|
|
21744
|
+
usePermissions,
|
|
21719
21745
|
useRootFileManagerApi,
|
|
21720
21746
|
useSession,
|
|
21747
|
+
useTheme,
|
|
21721
21748
|
useToast
|
|
21722
21749
|
};
|