@addsign/moje-agenda-shared-lib 0.0.35 → 0.0.39
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/assets/tailwind.css +83 -44
- package/dist/components/Button.js +8 -8
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Calendar.js +32 -28
- package/dist/components/Calendar.js.map +1 -1
- package/dist/components/ConfirmationModalDialog.js +1 -3
- package/dist/components/ConfirmationModalDialog.js.map +1 -1
- package/dist/components/DataTable.js +1 -1
- package/dist/components/form/AutocompleteSearchBar.js +1 -1
- package/dist/components/form/FileInput.d.ts +27 -0
- package/dist/components/form/FileInput.js +2524 -0
- package/dist/components/form/FileInput.js.map +1 -0
- package/dist/components/form/FormField.js +1 -1
- package/dist/components/form/PositionsSelectorSingle.js +1 -1
- package/dist/index-DPrqKh-7.js +16 -0
- package/dist/index-DPrqKh-7.js.map +1 -0
- package/dist/{index-C0yNf1cc.js → index-ZA1ctELQ.js} +10 -2
- package/dist/{index-C0yNf1cc.js.map → index-ZA1ctELQ.js.map} +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.js +14 -12
- package/dist/main.js.map +1 -1
- package/package.json +17 -2
package/dist/assets/tailwind.css
CHANGED
|
@@ -638,10 +638,6 @@ video {
|
|
|
638
638
|
.m-4 {
|
|
639
639
|
margin: 1rem;
|
|
640
640
|
}
|
|
641
|
-
.mx-1 {
|
|
642
|
-
margin-left: 0.25rem;
|
|
643
|
-
margin-right: 0.25rem;
|
|
644
|
-
}
|
|
645
641
|
.mx-auto {
|
|
646
642
|
margin-left: auto;
|
|
647
643
|
margin-right: auto;
|
|
@@ -669,9 +665,6 @@ video {
|
|
|
669
665
|
.ml-1\.5 {
|
|
670
666
|
margin-left: 0.375rem;
|
|
671
667
|
}
|
|
672
|
-
.ml-4 {
|
|
673
|
-
margin-left: 1rem;
|
|
674
|
-
}
|
|
675
668
|
.ml-5 {
|
|
676
669
|
margin-left: 1.25rem;
|
|
677
670
|
}
|
|
@@ -914,16 +907,6 @@ video {
|
|
|
914
907
|
margin-right: calc(1.25rem * var(--tw-space-x-reverse));
|
|
915
908
|
margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
|
|
916
909
|
}
|
|
917
|
-
.divide-x > :not([hidden]) ~ :not([hidden]) {
|
|
918
|
-
--tw-divide-x-reverse: 0;
|
|
919
|
-
border-right-width: calc(1px * var(--tw-divide-x-reverse));
|
|
920
|
-
border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
|
|
921
|
-
}
|
|
922
|
-
.divide-y > :not([hidden]) ~ :not([hidden]) {
|
|
923
|
-
--tw-divide-y-reverse: 0;
|
|
924
|
-
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
|
|
925
|
-
border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
|
|
926
|
-
}
|
|
927
910
|
.self-stretch {
|
|
928
911
|
align-self: stretch;
|
|
929
912
|
}
|
|
@@ -942,6 +925,9 @@ video {
|
|
|
942
925
|
.whitespace-nowrap {
|
|
943
926
|
white-space: nowrap;
|
|
944
927
|
}
|
|
928
|
+
.\!rounded-full {
|
|
929
|
+
border-radius: 9999px !important;
|
|
930
|
+
}
|
|
945
931
|
.rounded-full {
|
|
946
932
|
border-radius: 9999px;
|
|
947
933
|
}
|
|
@@ -957,6 +943,9 @@ video {
|
|
|
957
943
|
.border {
|
|
958
944
|
border-width: 1px;
|
|
959
945
|
}
|
|
946
|
+
.border-2 {
|
|
947
|
+
border-width: 2px;
|
|
948
|
+
}
|
|
960
949
|
.border-b {
|
|
961
950
|
border-bottom-width: 1px;
|
|
962
951
|
}
|
|
@@ -969,6 +958,9 @@ video {
|
|
|
969
958
|
.border-t-0 {
|
|
970
959
|
border-top-width: 0px;
|
|
971
960
|
}
|
|
961
|
+
.border-dashed {
|
|
962
|
+
border-style: dashed;
|
|
963
|
+
}
|
|
972
964
|
.border-none {
|
|
973
965
|
border-style: none;
|
|
974
966
|
}
|
|
@@ -1008,26 +1000,27 @@ video {
|
|
|
1008
1000
|
--tw-border-opacity: 1;
|
|
1009
1001
|
border-color: rgb(220 38 38 / var(--tw-border-opacity));
|
|
1010
1002
|
}
|
|
1003
|
+
.border-secondary-border {
|
|
1004
|
+
border-color: var(--color-secondary-border);
|
|
1005
|
+
}
|
|
1011
1006
|
.border-transparent {
|
|
1012
1007
|
border-color: transparent;
|
|
1013
1008
|
}
|
|
1014
1009
|
.\!bg-danger {
|
|
1015
1010
|
background-color: var(--color-danger) !important;
|
|
1016
1011
|
}
|
|
1017
|
-
.\!bg-gray-500 {
|
|
1018
|
-
--tw-bg-opacity: 1 !important;
|
|
1019
|
-
background-color: rgb(107 114 128 / var(--tw-bg-opacity)) !important;
|
|
1020
|
-
}
|
|
1021
1012
|
.\!bg-primary {
|
|
1022
1013
|
background-color: var(--color-primary) !important;
|
|
1023
1014
|
}
|
|
1015
|
+
.\!bg-secondary {
|
|
1016
|
+
background-color: var(--color-secondary) !important;
|
|
1017
|
+
}
|
|
1018
|
+
.\!bg-success {
|
|
1019
|
+
background-color: var(--color-success) !important;
|
|
1020
|
+
}
|
|
1024
1021
|
.\!bg-transparent {
|
|
1025
1022
|
background-color: transparent !important;
|
|
1026
1023
|
}
|
|
1027
|
-
.\!bg-white {
|
|
1028
|
-
--tw-bg-opacity: 1 !important;
|
|
1029
|
-
background-color: rgb(255 255 255 / var(--tw-bg-opacity)) !important;
|
|
1030
|
-
}
|
|
1031
1024
|
.bg-black {
|
|
1032
1025
|
--tw-bg-opacity: 1;
|
|
1033
1026
|
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
|
|
@@ -1040,14 +1033,14 @@ video {
|
|
|
1040
1033
|
--tw-bg-opacity: 1;
|
|
1041
1034
|
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
|
1042
1035
|
}
|
|
1043
|
-
.bg-gray-400 {
|
|
1044
|
-
--tw-bg-opacity: 1;
|
|
1045
|
-
background-color: rgb(156 163 175 / var(--tw-bg-opacity));
|
|
1046
|
-
}
|
|
1047
1036
|
.bg-gray-50 {
|
|
1048
1037
|
--tw-bg-opacity: 1;
|
|
1049
1038
|
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
|
|
1050
1039
|
}
|
|
1040
|
+
.bg-indigo-50 {
|
|
1041
|
+
--tw-bg-opacity: 1;
|
|
1042
|
+
background-color: rgb(238 242 255 / var(--tw-bg-opacity));
|
|
1043
|
+
}
|
|
1051
1044
|
.bg-primary {
|
|
1052
1045
|
background-color: var(--color-primary);
|
|
1053
1046
|
}
|
|
@@ -1119,6 +1112,10 @@ video {
|
|
|
1119
1112
|
padding-left: 1.5rem;
|
|
1120
1113
|
padding-right: 1.5rem;
|
|
1121
1114
|
}
|
|
1115
|
+
.px-8 {
|
|
1116
|
+
padding-left: 2rem;
|
|
1117
|
+
padding-right: 2rem;
|
|
1118
|
+
}
|
|
1122
1119
|
.py-1 {
|
|
1123
1120
|
padding-top: 0.25rem;
|
|
1124
1121
|
padding-bottom: 0.25rem;
|
|
@@ -1139,10 +1136,17 @@ video {
|
|
|
1139
1136
|
padding-top: 0.75rem;
|
|
1140
1137
|
padding-bottom: 0.75rem;
|
|
1141
1138
|
}
|
|
1139
|
+
.py-4 {
|
|
1140
|
+
padding-top: 1rem;
|
|
1141
|
+
padding-bottom: 1rem;
|
|
1142
|
+
}
|
|
1142
1143
|
.py-px {
|
|
1143
1144
|
padding-top: 1px;
|
|
1144
1145
|
padding-bottom: 1px;
|
|
1145
1146
|
}
|
|
1147
|
+
.pb-4 {
|
|
1148
|
+
padding-bottom: 1rem;
|
|
1149
|
+
}
|
|
1146
1150
|
.pb-5 {
|
|
1147
1151
|
padding-bottom: 1.25rem;
|
|
1148
1152
|
}
|
|
@@ -1201,6 +1205,10 @@ video {
|
|
|
1201
1205
|
font-size: 1.5rem;
|
|
1202
1206
|
line-height: 2rem;
|
|
1203
1207
|
}
|
|
1208
|
+
.text-3xl {
|
|
1209
|
+
font-size: 1.875rem;
|
|
1210
|
+
line-height: 2.25rem;
|
|
1211
|
+
}
|
|
1204
1212
|
.text-base {
|
|
1205
1213
|
font-size: 1rem;
|
|
1206
1214
|
line-height: 1.5rem;
|
|
@@ -1221,9 +1229,6 @@ video {
|
|
|
1221
1229
|
font-size: 0.75rem;
|
|
1222
1230
|
line-height: 1rem;
|
|
1223
1231
|
}
|
|
1224
|
-
.font-bold {
|
|
1225
|
-
font-weight: 700;
|
|
1226
|
-
}
|
|
1227
1232
|
.font-medium {
|
|
1228
1233
|
font-weight: 500;
|
|
1229
1234
|
}
|
|
@@ -1268,9 +1273,8 @@ video {
|
|
|
1268
1273
|
--tw-text-opacity: 1;
|
|
1269
1274
|
color: rgb(59 130 246 / var(--tw-text-opacity));
|
|
1270
1275
|
}
|
|
1271
|
-
.text-
|
|
1272
|
-
--
|
|
1273
|
-
color: rgb(243 244 246 / var(--tw-text-opacity));
|
|
1276
|
+
.text-danger-text {
|
|
1277
|
+
color: var(--color-danger-text);
|
|
1274
1278
|
}
|
|
1275
1279
|
.text-gray-200 {
|
|
1276
1280
|
--tw-text-opacity: 1;
|
|
@@ -1311,10 +1315,16 @@ video {
|
|
|
1311
1315
|
.text-primary {
|
|
1312
1316
|
color: var(--color-primary);
|
|
1313
1317
|
}
|
|
1318
|
+
.text-primary-text {
|
|
1319
|
+
color: var(--color-primary-text);
|
|
1320
|
+
}
|
|
1314
1321
|
.text-red-600 {
|
|
1315
1322
|
--tw-text-opacity: 1;
|
|
1316
1323
|
color: rgb(220 38 38 / var(--tw-text-opacity));
|
|
1317
1324
|
}
|
|
1325
|
+
.text-secondary-text {
|
|
1326
|
+
color: var(--color-secondary-text);
|
|
1327
|
+
}
|
|
1318
1328
|
.text-slate-600 {
|
|
1319
1329
|
--tw-text-opacity: 1;
|
|
1320
1330
|
color: rgb(71 85 105 / var(--tw-text-opacity));
|
|
@@ -1323,6 +1333,9 @@ video {
|
|
|
1323
1333
|
--tw-text-opacity: 1;
|
|
1324
1334
|
color: rgb(51 65 85 / var(--tw-text-opacity));
|
|
1325
1335
|
}
|
|
1336
|
+
.text-success-text {
|
|
1337
|
+
color: var(--color-success-text);
|
|
1338
|
+
}
|
|
1326
1339
|
.text-transparent {
|
|
1327
1340
|
color: transparent;
|
|
1328
1341
|
}
|
|
@@ -1330,6 +1343,9 @@ video {
|
|
|
1330
1343
|
--tw-text-opacity: 1;
|
|
1331
1344
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
1332
1345
|
}
|
|
1346
|
+
.underline {
|
|
1347
|
+
text-decoration-line: underline;
|
|
1348
|
+
}
|
|
1333
1349
|
.opacity-25 {
|
|
1334
1350
|
opacity: 0.25;
|
|
1335
1351
|
}
|
|
@@ -1391,6 +1407,30 @@ video {
|
|
|
1391
1407
|
|
|
1392
1408
|
|
|
1393
1409
|
|
|
1410
|
+
.hover\:\!bg-danger-hover:hover {
|
|
1411
|
+
background-color: var(--color-danger-hover) !important;
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
.hover\:\!bg-primary-hover:hover {
|
|
1417
|
+
background-color: var(--color-primary-hover) !important;
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
.hover\:\!bg-secondary-hover:hover {
|
|
1423
|
+
background-color: var(--color-secondary-hover) !important;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
.hover\:\!bg-success-hover:hover {
|
|
1429
|
+
background-color: var(--color-success-hover) !important;
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1394
1434
|
.hover\:bg-gray-100:hover {
|
|
1395
1435
|
--tw-bg-opacity: 1;
|
|
1396
1436
|
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
|
|
@@ -1398,30 +1438,29 @@ video {
|
|
|
1398
1438
|
|
|
1399
1439
|
|
|
1400
1440
|
|
|
1401
|
-
.hover\:bg-gray-
|
|
1441
|
+
.hover\:bg-gray-150:hover {
|
|
1402
1442
|
--tw-bg-opacity: 1;
|
|
1403
|
-
background-color: rgb(
|
|
1443
|
+
background-color: rgb(238 240 243 / var(--tw-bg-opacity));
|
|
1404
1444
|
}
|
|
1405
1445
|
|
|
1406
1446
|
|
|
1407
1447
|
|
|
1408
|
-
.hover\:bg-gray-
|
|
1448
|
+
.hover\:bg-gray-200:hover {
|
|
1409
1449
|
--tw-bg-opacity: 1;
|
|
1410
|
-
background-color: rgb(
|
|
1450
|
+
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
|
1411
1451
|
}
|
|
1412
1452
|
|
|
1413
1453
|
|
|
1414
1454
|
|
|
1415
|
-
.hover\:bg-gray-
|
|
1455
|
+
.hover\:bg-gray-50:hover {
|
|
1416
1456
|
--tw-bg-opacity: 1;
|
|
1417
|
-
background-color: rgb(
|
|
1457
|
+
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
|
|
1418
1458
|
}
|
|
1419
1459
|
|
|
1420
1460
|
|
|
1421
1461
|
|
|
1422
|
-
.hover\:
|
|
1423
|
-
--
|
|
1424
|
-
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
|
|
1462
|
+
.hover\:text-primary:hover {
|
|
1463
|
+
color: var(--color-primary);
|
|
1425
1464
|
}
|
|
1426
1465
|
|
|
1427
1466
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import '../assets/tailwind.css';/* empty css */
|
|
3
|
-
const commonStyles = " py-2 px-4 leading-[25px] ";
|
|
3
|
+
const commonStyles = " py-2 px-4 leading-[25px] w-fit rounded-lg whitespace-nowrap font-medium disabled:opacity-50 ";
|
|
4
4
|
const buttonStyles = {
|
|
5
|
-
primary: "!bg-primary
|
|
6
|
-
secondary: "!bg-
|
|
7
|
-
transparent: "!bg-transparent border border-transparent hover:bg-gray-100 hover:border-gray-200
|
|
8
|
-
success: "!bg-
|
|
9
|
-
danger: "!bg-danger text-
|
|
10
|
-
icon: "
|
|
5
|
+
primary: "!bg-primary hover:!bg-primary-hover text-primary-text ",
|
|
6
|
+
secondary: "!bg-secondary hover:!bg-secondary-hover text-secondary-text border border-secondary-border ",
|
|
7
|
+
transparent: "!bg-transparent border border-transparent hover:bg-gray-100 hover:border-gray-200 ",
|
|
8
|
+
success: "!bg-success hover:!bg-success-hover text-success-text ",
|
|
9
|
+
danger: "!bg-danger hover:!bg-danger-hover text-danger-text ",
|
|
10
|
+
icon: " !rounded-full text-center inline-flex items-center "
|
|
11
11
|
};
|
|
12
12
|
const Button = ({
|
|
13
13
|
variant = "primary",
|
|
@@ -20,7 +20,7 @@ const Button = ({
|
|
|
20
20
|
return /* @__PURE__ */ jsx(
|
|
21
21
|
"button",
|
|
22
22
|
{
|
|
23
|
-
className: classNames + " " + (className || " sharedLibraryource "),
|
|
23
|
+
className: classNames + " " + (className || " sharedLibraryource text-3xl"),
|
|
24
24
|
onClick,
|
|
25
25
|
...props,
|
|
26
26
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../lib/components/Button.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport \"../css/tailwind.css\";\r\n\r\ntype ButtonVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"transparent\"\r\n | \"success\"\r\n | \"danger\"\r\n | \"icon\";\r\n\r\ninterface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n variant?: ButtonVariant;\r\n}\r\nconst commonStyles
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../lib/components/Button.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport \"../css/tailwind.css\";\r\n\r\ntype ButtonVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"transparent\"\r\n | \"success\"\r\n | \"danger\"\r\n | \"icon\";\r\n\r\ninterface IButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n variant?: ButtonVariant;\r\n}\r\nconst commonStyles =\r\n \" py-2 px-4 leading-[25px] w-fit rounded-lg whitespace-nowrap font-medium disabled:opacity-50 \";\r\nconst buttonStyles: { [key in ButtonVariant]: string } = {\r\n primary: \"!bg-primary hover:!bg-primary-hover text-primary-text \",\r\n secondary:\r\n \"!bg-secondary hover:!bg-secondary-hover text-secondary-text border border-secondary-border \",\r\n transparent:\r\n \"!bg-transparent border border-transparent hover:bg-gray-100 hover:border-gray-200 \",\r\n success: \"!bg-success hover:!bg-success-hover text-success-text \",\r\n danger: \"!bg-danger hover:!bg-danger-hover text-danger-text \",\r\n\r\n icon: \" !rounded-full text-center inline-flex items-center \",\r\n};\r\nconst Button: React.FC<IButtonProps> = ({\r\n variant = \"primary\",\r\n children,\r\n onClick,\r\n className,\r\n ...props\r\n}) => {\r\n const classNames = commonStyles + buttonStyles[variant];\r\n\r\n return (\r\n <button\r\n className={\r\n classNames + \" \" + (className || \" sharedLibraryource text-3xl\")\r\n }\r\n onClick={onClick}\r\n {...props}\r\n >\r\n {children}\r\n </button>\r\n );\r\n};\r\n\r\nexport default Button;\r\n"],"names":[],"mappings":";;AAcA,MAAM,eACJ;AACF,MAAM,eAAmD;AAAA,EACvD,SAAS;AAAA,EACT,WACE;AAAA,EACF,aACE;AAAA,EACF,SAAS;AAAA,EACT,QAAQ;AAAA,EAER,MAAM;AACR;AACA,MAAM,SAAiC,CAAC;AAAA,EACtC,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACE,QAAA,aAAa,eAAe,aAAa,OAAO;AAGpD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WACE,aAAa,OAAO,aAAa;AAAA,MAEnC;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import React, { useState, useCallback, useEffect } from "react";
|
|
3
|
+
import { F as FaChevronLeft, a as FaChevronRight } from "../index-DPrqKh-7.js";
|
|
3
4
|
const Calendar = ({ items }) => {
|
|
4
5
|
const [currentMonth, setCurrentMonth] = useState(
|
|
5
6
|
(/* @__PURE__ */ new Date()).getMonth()
|
|
@@ -84,51 +85,54 @@ const Calendar = ({ items }) => {
|
|
|
84
85
|
const date = new Date(year, month, day);
|
|
85
86
|
return items.filter((item) => date >= item.from && date <= item.to);
|
|
86
87
|
};
|
|
87
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col bg-white shadow-lg flex-grow text-xs", children: [
|
|
88
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center
|
|
89
|
-
/* @__PURE__ */
|
|
88
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col bg-white shadow-lg flex-grow text-xs rounded-xl border", children: [
|
|
89
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center text-black p-2", children: [
|
|
90
|
+
/* @__PURE__ */ jsx(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
onClick: goToPreviousMonth,
|
|
94
|
+
className: "mr-5 px-8 py-4 cursor-pointer hover:bg-gray-100 rounded-xl text-sm",
|
|
95
|
+
children: /* @__PURE__ */ jsx(FaChevronLeft, {})
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ jsxs("h2", { className: "font-semibold text-base", children: [
|
|
90
99
|
monthNames[currentMonth],
|
|
91
100
|
" ",
|
|
92
101
|
currentYear
|
|
93
102
|
] }),
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
),
|
|
104
|
-
/* @__PURE__ */ jsx(
|
|
105
|
-
"button",
|
|
106
|
-
{
|
|
107
|
-
type: "button",
|
|
108
|
-
onClick: goToNextMonth,
|
|
109
|
-
className: "mx-1 px-3 py-2 text-black bg-gray-400 hover:bg-gray-500",
|
|
110
|
-
children: "Následující"
|
|
111
|
-
}
|
|
112
|
-
)
|
|
113
|
-
] })
|
|
103
|
+
/* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
onClick: goToNextMonth,
|
|
107
|
+
className: "px-8 py-4 cursor-pointer hover:bg-gray-100 rounded-xl text-sm",
|
|
108
|
+
children: /* @__PURE__ */ jsx(FaChevronRight, {})
|
|
109
|
+
}
|
|
110
|
+
)
|
|
114
111
|
] }),
|
|
115
|
-
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-7
|
|
116
|
-
dayNames.map((day, index) => /* @__PURE__ */ jsx(
|
|
112
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-7 pb-4", children: [
|
|
113
|
+
dayNames.map((day, index) => /* @__PURE__ */ jsx(
|
|
114
|
+
"div",
|
|
115
|
+
{
|
|
116
|
+
className: "py-1 px-4 text-center font-semibold border-t",
|
|
117
|
+
children: day
|
|
118
|
+
},
|
|
119
|
+
index
|
|
120
|
+
)),
|
|
117
121
|
calendarData.map((week, weekIndex) => /* @__PURE__ */ jsx(React.Fragment, { children: week.map((day, dayIndex) => {
|
|
118
122
|
const itemsForDay = day ? findItemsForDay(day, currentMonth, currentYear) : [];
|
|
119
123
|
return /* @__PURE__ */ jsxs(
|
|
120
124
|
"div",
|
|
121
125
|
{
|
|
122
|
-
className: "p-0 align-middle justify-center text-center",
|
|
126
|
+
className: "p-0 align-middle justify-center text-center border-t hover:bg-gray-150 " + (dayIndex > 4 ? "bg-gray-100" : ""),
|
|
123
127
|
children: [
|
|
124
|
-
/* @__PURE__ */ jsxs("div", { className: "py-1
|
|
128
|
+
day && /* @__PURE__ */ jsxs("div", { className: "py-1", children: [
|
|
125
129
|
day,
|
|
126
130
|
" "
|
|
127
131
|
] }),
|
|
128
132
|
itemsForDay.map((item, itemIndex) => /* @__PURE__ */ jsx(
|
|
129
133
|
"div",
|
|
130
134
|
{
|
|
131
|
-
className: "dataItem w-full py-1 bg-primary text-white text-center mt-0",
|
|
135
|
+
className: "dataItem w-full py-1 bg-primary text-white text-center mt-0 -pr-1",
|
|
132
136
|
style: {
|
|
133
137
|
backgroundColor: item.background,
|
|
134
138
|
color: item.color
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../lib/components/Calendar.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\n\nexport interface ICalendarItem {\n id: number;\n label?: string;\n from: Date;\n to: Date;\n background?: string;\n color?: string;\n tooltip?: string;\n}\n\ntype ICalendarProps = {\n items: ICalendarItem[];\n};\n\n// Check if a day is within any item's date range\n\nconst Calendar: React.FunctionComponent<ICalendarProps> = ({ items }) => {\n const [currentMonth, setCurrentMonth] = useState<number>(\n new Date().getMonth()\n );\n const [currentYear, setCurrentYear] = useState<number>(\n new Date().getFullYear()\n );\n const [calendarData, setCalendarData] = useState<(string | number)[][]>([]);\n\n const monthNames: string[] = [\n \"Leden\",\n \"Únor\",\n \"Březen\",\n \"Duben\",\n \"Květen\",\n \"Červen\",\n \"Červenec\",\n \"Srpen\",\n \"Září\",\n \"Říjen\",\n \"Listopad\",\n \"Prosinec\",\n ];\n const dayNames: string[] = [\n \"Pondělí\",\n \"Úterý\",\n \"Středa\",\n \"Čtvrtek\",\n \"Pátek\",\n \"Sobota\",\n \"Neděle\",\n ];\n\n // Leap year check\n const isLeapYear = (year: number) =>\n (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\n // Days in each month\n const daysInMonth = useCallback((month: number, year: number) => {\n if (month === 1) {\n // February\n return isLeapYear(year) ? 29 : 28;\n }\n if ([0, 2, 4, 6, 7, 9, 11].includes(month)) {\n // Months with 31 days\n\n return 31;\n }\n\n return 30; // Months with 30 days\n }, []);\n\n // Generate days for a month\n const generateMonthDays = useCallback(\n (month: number, year: number) => {\n const days = [];\n // const firstDayOfMonth = new Date(year, month, 1).getDay()\n\n // Adjusted to make week start from Monday\n let firstDayOfMonth = new Date(year, month, 1).getDay() - 1;\n if (firstDayOfMonth === -1) firstDayOfMonth = 6; // Sunday becomes 6 instead of -1\n\n let dayCounter = 1;\n\n for (let week = 0; week < 6; week++) {\n const weekDays = [];\n for (let day = 0; day < 7; day++) {\n if (week === 0 && day < firstDayOfMonth) {\n weekDays.push(\"\");\n } else if (dayCounter > daysInMonth(month, year)) {\n weekDays.push(\"\");\n } else {\n weekDays.push(dayCounter++);\n }\n }\n days.push(weekDays);\n }\n return days;\n },\n [daysInMonth]\n );\n\n useEffect(() => {\n setCalendarData(generateMonthDays(currentMonth, currentYear));\n }, [currentMonth, currentYear, generateMonthDays]);\n\n // Navigation handlers\n const goToNextMonth = () => {\n setCurrentMonth((prev) => (prev === 11 ? 0 : prev + 1));\n if (currentMonth === 11) {\n setCurrentYear((prev) => prev + 1);\n }\n };\n\n const goToPreviousMonth = () => {\n setCurrentMonth((prev) => (prev === 0 ? 11 : prev - 1));\n if (currentMonth === 0) {\n setCurrentYear((prev) => prev - 1);\n }\n };\n const findItemsForDay = (\n day: number,\n month: number,\n year: number\n ): ICalendarItem[] => {\n const date = new Date(year, month, day);\n return items.filter((item) => date >= item.from && date <= item.to);\n };\n return (\n <div className=\"flex flex-col bg-white shadow-lg flex-grow text-xs\">\n <div className=\"flex justify-between items-center
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../lib/components/Calendar.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { FaChevronLeft, FaChevronRight } from \"react-icons/fa\";\r\n\r\nexport interface ICalendarItem {\r\n id: number;\r\n label?: string;\r\n from: Date;\r\n to: Date;\r\n background?: string;\r\n color?: string;\r\n tooltip?: string;\r\n}\r\n\r\ntype ICalendarProps = {\r\n items: ICalendarItem[];\r\n};\r\n\r\n// Check if a day is within any item's date range\r\n\r\nconst Calendar: React.FunctionComponent<ICalendarProps> = ({ items }) => {\r\n const [currentMonth, setCurrentMonth] = useState<number>(\r\n new Date().getMonth()\r\n );\r\n const [currentYear, setCurrentYear] = useState<number>(\r\n new Date().getFullYear()\r\n );\r\n const [calendarData, setCalendarData] = useState<(string | number)[][]>([]);\r\n\r\n const monthNames: string[] = [\r\n \"Leden\",\r\n \"Únor\",\r\n \"Březen\",\r\n \"Duben\",\r\n \"Květen\",\r\n \"Červen\",\r\n \"Červenec\",\r\n \"Srpen\",\r\n \"Září\",\r\n \"Říjen\",\r\n \"Listopad\",\r\n \"Prosinec\",\r\n ];\r\n const dayNames: string[] = [\r\n \"Pondělí\",\r\n \"Úterý\",\r\n \"Středa\",\r\n \"Čtvrtek\",\r\n \"Pátek\",\r\n \"Sobota\",\r\n \"Neděle\",\r\n ];\r\n\r\n // Leap year check\r\n const isLeapYear = (year: number) =>\r\n (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n\r\n // Days in each month\r\n const daysInMonth = useCallback((month: number, year: number) => {\r\n if (month === 1) {\r\n // February\r\n return isLeapYear(year) ? 29 : 28;\r\n }\r\n if ([0, 2, 4, 6, 7, 9, 11].includes(month)) {\r\n // Months with 31 days\r\n\r\n return 31;\r\n }\r\n\r\n return 30; // Months with 30 days\r\n }, []);\r\n\r\n // Generate days for a month\r\n const generateMonthDays = useCallback(\r\n (month: number, year: number) => {\r\n const days = [];\r\n // const firstDayOfMonth = new Date(year, month, 1).getDay()\r\n\r\n // Adjusted to make week start from Monday\r\n let firstDayOfMonth = new Date(year, month, 1).getDay() - 1;\r\n if (firstDayOfMonth === -1) firstDayOfMonth = 6; // Sunday becomes 6 instead of -1\r\n\r\n let dayCounter = 1;\r\n\r\n for (let week = 0; week < 6; week++) {\r\n const weekDays = [];\r\n for (let day = 0; day < 7; day++) {\r\n if (week === 0 && day < firstDayOfMonth) {\r\n weekDays.push(\"\");\r\n } else if (dayCounter > daysInMonth(month, year)) {\r\n weekDays.push(\"\");\r\n } else {\r\n weekDays.push(dayCounter++);\r\n }\r\n }\r\n days.push(weekDays);\r\n }\r\n return days;\r\n },\r\n [daysInMonth]\r\n );\r\n\r\n useEffect(() => {\r\n setCalendarData(generateMonthDays(currentMonth, currentYear));\r\n }, [currentMonth, currentYear, generateMonthDays]);\r\n\r\n // Navigation handlers\r\n const goToNextMonth = () => {\r\n setCurrentMonth((prev) => (prev === 11 ? 0 : prev + 1));\r\n if (currentMonth === 11) {\r\n setCurrentYear((prev) => prev + 1);\r\n }\r\n };\r\n\r\n const goToPreviousMonth = () => {\r\n setCurrentMonth((prev) => (prev === 0 ? 11 : prev - 1));\r\n if (currentMonth === 0) {\r\n setCurrentYear((prev) => prev - 1);\r\n }\r\n };\r\n const findItemsForDay = (\r\n day: number,\r\n month: number,\r\n year: number\r\n ): ICalendarItem[] => {\r\n const date = new Date(year, month, day);\r\n return items.filter((item) => date >= item.from && date <= item.to);\r\n };\r\n return (\r\n <div className=\"flex flex-col bg-white shadow-lg flex-grow text-xs rounded-xl border\">\r\n <div className=\"flex justify-between items-center text-black p-2\">\r\n <div\r\n onClick={goToPreviousMonth}\r\n className=\"mr-5 px-8 py-4 cursor-pointer hover:bg-gray-100 rounded-xl text-sm\"\r\n >\r\n <FaChevronLeft />\r\n </div>\r\n <h2 className=\"font-semibold text-base\">\r\n {monthNames[currentMonth]} {currentYear}\r\n </h2>\r\n\r\n <div\r\n onClick={goToNextMonth}\r\n className=\"px-8 py-4 cursor-pointer hover:bg-gray-100 rounded-xl text-sm\"\r\n >\r\n <FaChevronRight />\r\n </div>\r\n </div>\r\n <div className=\"grid grid-cols-7 pb-4\">\r\n {dayNames.map((day, index) => (\r\n <div\r\n key={index}\r\n className=\"py-1 px-4 text-center font-semibold border-t\"\r\n >\r\n {day}\r\n </div>\r\n ))}\r\n {calendarData.map((week, weekIndex) => (\r\n <React.Fragment key={weekIndex}>\r\n {week.map((day, dayIndex) => {\r\n const itemsForDay = day\r\n ? findItemsForDay(day as number, currentMonth, currentYear)\r\n : [];\r\n return (\r\n <div\r\n key={dayIndex}\r\n className={\r\n \"p-0 align-middle justify-center text-center border-t hover:bg-gray-150 \" +\r\n (dayIndex > 4 ? \"bg-gray-100\" : \"\")\r\n }\r\n >\r\n {day && <div className=\"py-1\">{day} </div>}\r\n {itemsForDay.map((item, itemIndex) => (\r\n <div\r\n key={itemIndex}\r\n className=\"dataItem w-full py-1 bg-primary text-white text-center mt-0 -pr-1\"\r\n style={{\r\n backgroundColor: item.background,\r\n color: item.color,\r\n }}\r\n data-tooltip-target={\"tooltip-\" + item.id}\r\n title={item.tooltip}\r\n >\r\n {item.label}\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n })}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Calendar;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
|
+
import { b as FaRegTrashAlt } from "../index-DPrqKh-7.js";
|
|
3
4
|
import { G as GenIcon } from "../iconBase-BY_L6Cb_.js";
|
|
4
|
-
function FaRegTrashAlt(props) {
|
|
5
|
-
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 448 512" }, "child": [{ "tag": "path", "attr": { "d": "M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z" }, "child": [] }] })(props);
|
|
6
|
-
}
|
|
7
5
|
function IoCloseOutline(props) {
|
|
8
6
|
return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 512 512" }, "child": [{ "tag": "path", "attr": { "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round", "strokeWidth": "32", "d": "M368 368 144 144m224 0L144 368" }, "child": [] }] })(props);
|
|
9
7
|
}
|