adminforth 1.2.96 → 1.2.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dataConnectors/baseConnector.ts +26 -14
  2. package/dataConnectors/clickhouse.ts +57 -37
  3. package/dataConnectors/mongo.ts +45 -14
  4. package/dataConnectors/postgres.ts +53 -36
  5. package/dataConnectors/sqlite.ts +37 -35
  6. package/dist/dataConnectors/baseConnector.js +16 -7
  7. package/dist/dataConnectors/clickhouse.js +58 -48
  8. package/dist/dataConnectors/mongo.js +29 -12
  9. package/dist/dataConnectors/postgres.js +62 -52
  10. package/dist/dataConnectors/sqlite.js +52 -45
  11. package/dist/index.js +5 -1
  12. package/dist/modules/operationalResource.js +88 -0
  13. package/dist/modules/restApi.js +22 -23
  14. package/dist/spa/index.html +4 -4
  15. package/dist/spa/package-lock.json +421 -6
  16. package/dist/spa/package.json +10 -2
  17. package/dist/spa/src/App.vue +236 -94
  18. package/dist/spa/src/assets/base.css +2 -0
  19. package/dist/spa/src/assets/logo.svg +19 -1
  20. package/dist/spa/src/components/AcceptModal.vue +3 -10
  21. package/dist/spa/src/components/Breadcrumbs.vue +3 -2
  22. package/dist/spa/src/components/BreadcrumbsWithButtons.vue +1 -1
  23. package/dist/spa/src/components/CustomDatePicker.vue +25 -10
  24. package/dist/spa/src/components/CustomDateRangePicker.vue +14 -5
  25. package/dist/spa/src/components/Dropdown.vue +19 -5
  26. package/dist/spa/src/components/Filters.vue +103 -38
  27. package/dist/spa/src/components/MenuLink.vue +3 -3
  28. package/dist/spa/src/components/ResourceForm.vue +205 -116
  29. package/dist/spa/{spa/src → src}/components/ResourceListTable.vue +6 -3
  30. package/dist/spa/{spa/src → src}/components/Toast.vue +9 -3
  31. package/dist/spa/src/components/ValueRenderer.vue +30 -8
  32. package/dist/spa/src/index.scss +2 -1
  33. package/dist/spa/src/main.ts +2 -2
  34. package/dist/spa/src/router/index.ts +29 -19
  35. package/dist/spa/src/stores/core.ts +65 -59
  36. package/dist/spa/src/stores/modal.ts +13 -3
  37. package/dist/spa/src/types/AdminForthConfig.ts +1477 -0
  38. package/dist/spa/src/types/FrontendAPI.ts +121 -0
  39. package/dist/spa/src/utils.ts +69 -10
  40. package/dist/spa/src/views/CreateView.vue +69 -16
  41. package/dist/spa/src/views/EditView.vue +68 -14
  42. package/dist/spa/src/views/ListView.vue +100 -371
  43. package/dist/spa/src/views/LoginView.vue +67 -29
  44. package/dist/spa/src/views/ResourceParent.vue +1 -2
  45. package/dist/spa/src/views/ShowView.vue +116 -25
  46. package/dist/spa/tailwind.config.js +8 -3
  47. package/dist/spa/vite.config.ts +13 -0
  48. package/dist/types/AdminForthConfig.js +37 -0
  49. package/index.ts +12 -3
  50. package/modules/operationalResource.ts +97 -0
  51. package/modules/restApi.ts +27 -26
  52. package/package.json +1 -1
  53. package/types/AdminForthConfig.ts +91 -8
  54. package/dist/spa/.vscode/extensions.json +0 -6
  55. package/dist/spa/public/favicon.ico +0 -0
  56. package/dist/spa/spa/.eslintrc.cjs +0 -14
  57. package/dist/spa/spa/.vscode/extensions.json +0 -6
  58. package/dist/spa/spa/README.md +0 -39
  59. package/dist/spa/spa/env.d.ts +0 -1
  60. package/dist/spa/spa/index.html +0 -23
  61. package/dist/spa/spa/package-lock.json +0 -4573
  62. package/dist/spa/spa/package.json +0 -49
  63. package/dist/spa/spa/postcss.config.js +0 -6
  64. package/dist/spa/spa/public/favicon.ico +0 -0
  65. package/dist/spa/spa/src/App.vue +0 -314
  66. package/dist/spa/spa/src/assets/base.css +0 -0
  67. package/dist/spa/spa/src/assets/logo.svg +0 -19
  68. package/dist/spa/spa/src/components/AcceptModal.vue +0 -45
  69. package/dist/spa/spa/src/components/Breadcrumbs.vue +0 -40
  70. package/dist/spa/spa/src/components/BreadcrumbsWithButtons.vue +0 -26
  71. package/dist/spa/spa/src/components/CustomDatePicker.vue +0 -174
  72. package/dist/spa/spa/src/components/CustomDateRangePicker.vue +0 -218
  73. package/dist/spa/spa/src/components/Dropdown.vue +0 -168
  74. package/dist/spa/spa/src/components/Filters.vue +0 -222
  75. package/dist/spa/spa/src/components/HelloWorld.vue +0 -17
  76. package/dist/spa/spa/src/components/MenuLink.vue +0 -24
  77. package/dist/spa/spa/src/components/ResourceForm.vue +0 -289
  78. package/dist/spa/spa/src/components/SingleSkeletLoader.vue +0 -13
  79. package/dist/spa/spa/src/components/ValueRenderer.vue +0 -66
  80. package/dist/spa/spa/src/components/icons/IconCalendar.vue +0 -5
  81. package/dist/spa/spa/src/components/icons/IconCommunity.vue +0 -7
  82. package/dist/spa/spa/src/components/icons/IconDocumentation.vue +0 -7
  83. package/dist/spa/spa/src/components/icons/IconEcosystem.vue +0 -7
  84. package/dist/spa/spa/src/components/icons/IconSupport.vue +0 -7
  85. package/dist/spa/spa/src/components/icons/IconTime.vue +0 -5
  86. package/dist/spa/spa/src/components/icons/IconTooling.vue +0 -19
  87. package/dist/spa/spa/src/index.scss +0 -27
  88. package/dist/spa/spa/src/main.ts +0 -18
  89. package/dist/spa/spa/src/router/index.ts +0 -63
  90. package/dist/spa/spa/src/stores/core.ts +0 -144
  91. package/dist/spa/spa/src/stores/modal.ts +0 -48
  92. package/dist/spa/spa/src/utils.ts +0 -103
  93. package/dist/spa/spa/src/views/CreateView.vue +0 -156
  94. package/dist/spa/spa/src/views/EditView.vue +0 -157
  95. package/dist/spa/spa/src/views/HomeView.vue +0 -8
  96. package/dist/spa/spa/src/views/ListView.vue +0 -258
  97. package/dist/spa/spa/src/views/LoginView.vue +0 -143
  98. package/dist/spa/spa/src/views/ResourceParent.vue +0 -17
  99. package/dist/spa/spa/src/views/ShowView.vue +0 -184
  100. package/dist/spa/spa/tailwind.config.js +0 -17
  101. package/dist/spa/spa/tsconfig.app.json +0 -14
  102. package/dist/spa/spa/tsconfig.json +0 -11
  103. package/dist/spa/spa/tsconfig.node.json +0 -19
  104. package/dist/spa/spa/vite.config.ts +0 -56
  105. package/dist/spa/src/views/HomeView.vue +0 -8
  106. package/dist/types.js +0 -30
  107. /package/dist/spa/{spa/public → public}/assets/favicon.png +0 -0
  108. /package/dist/spa/{spa/src → src}/components/CustomRangePicker.vue +0 -0
  109. /package/dist/spa/{spa/src → src}/components/SkeleteLoader.vue +0 -0
  110. /package/dist/spa/{spa/src → src}/composables/useFrontendApi.ts +0 -0
  111. /package/dist/spa/{spa/src → src}/composables/useStores.ts +0 -0
  112. /package/dist/spa/{spa/src → src}/spa_types/core.ts +0 -0
  113. /package/dist/spa/{spa/src → src}/stores/filters.ts +0 -0
  114. /package/dist/spa/{spa/src → src}/stores/toast.ts +0 -0
  115. /package/dist/spa/{spa/src → src}/stores/user.ts +0 -0
@@ -9,12 +9,20 @@
9
9
  "version": "0.0.0",
10
10
  "dependencies": {
11
11
  "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
12
+ "@unhead/vue": "^1.9.12",
13
+ "@vueuse/core": "^10.10.0",
12
14
  "dayjs": "^1.11.11",
15
+ "debounce": "^2.1.0",
13
16
  "flowbite": "^2.3.0",
14
17
  "flowbite-datepicker": "^1.2.6",
15
18
  "pinia": "^2.1.7",
19
+ "sanitize-html": "^2.13.0",
20
+ "unhead": "^1.9.12",
21
+ "uuid": "^10.0.0",
16
22
  "vue": "^3.4.21",
17
- "vue-router": "^4.3.0"
23
+ "vue-diff": "^1.2.4",
24
+ "vue-router": "^4.3.0",
25
+ "vue-slider-component": "^4.1.0-beta.7"
18
26
  },
19
27
  "devDependencies": {
20
28
  "@rushstack/eslint-patch": "^1.8.0",
@@ -31,7 +39,7 @@
31
39
  "sass": "^1.77.2",
32
40
  "tailwindcss": "^3.4.3",
33
41
  "typescript": "~5.4.0",
34
- "vite": "^5.2.12",
42
+ "vite": "^5.2.13",
35
43
  "vue-tsc": "^2.0.11"
36
44
  }
37
45
  },
@@ -950,6 +958,11 @@
950
958
  "undici-types": "~5.26.4"
951
959
  }
952
960
  },
961
+ "node_modules/@types/web-bluetooth": {
962
+ "version": "0.0.20",
963
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
964
+ "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
965
+ },
953
966
  "node_modules/@typescript-eslint/eslint-plugin": {
954
967
  "version": "7.9.0",
955
968
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
@@ -1141,6 +1154,58 @@
1141
1154
  "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
1142
1155
  "dev": true
1143
1156
  },
1157
+ "node_modules/@unhead/dom": {
1158
+ "version": "1.9.12",
1159
+ "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.9.12.tgz",
1160
+ "integrity": "sha512-3MY1TbZmEjGNZapi3wvJW0vWNS2CLKHt7/m57sScDHCNvNBe1mTwrIOhtZFDgAndhml2EVQ68RMa0Vhum/M+cw==",
1161
+ "dependencies": {
1162
+ "@unhead/schema": "1.9.12",
1163
+ "@unhead/shared": "1.9.12"
1164
+ },
1165
+ "funding": {
1166
+ "url": "https://github.com/sponsors/harlan-zw"
1167
+ }
1168
+ },
1169
+ "node_modules/@unhead/schema": {
1170
+ "version": "1.9.12",
1171
+ "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.9.12.tgz",
1172
+ "integrity": "sha512-ue2FKyIZKsuZDpWJBMlBGwMm4s+vFeU3NUWsNt8Z+2JkOUIqO/VG43LxNgY1M595bOS71Gdxk+G9VtzfKJ5uEA==",
1173
+ "dependencies": {
1174
+ "hookable": "^5.5.3",
1175
+ "zhead": "^2.2.4"
1176
+ },
1177
+ "funding": {
1178
+ "url": "https://github.com/sponsors/harlan-zw"
1179
+ }
1180
+ },
1181
+ "node_modules/@unhead/shared": {
1182
+ "version": "1.9.12",
1183
+ "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.9.12.tgz",
1184
+ "integrity": "sha512-72wlLXG3FP3sXUrwd42Uv8jYpHSg4R6IFJcsl+QisRjKM89JnjOFSw1DqWO4IOftW5xOxS4J5v7SQyJ4NJo7Bw==",
1185
+ "dependencies": {
1186
+ "@unhead/schema": "1.9.12"
1187
+ },
1188
+ "funding": {
1189
+ "url": "https://github.com/sponsors/harlan-zw"
1190
+ }
1191
+ },
1192
+ "node_modules/@unhead/vue": {
1193
+ "version": "1.9.12",
1194
+ "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.9.12.tgz",
1195
+ "integrity": "sha512-keE4EuswgzCqVU7zmZprU+ToMvNWc3s8NoLreH5AtJd2u0FgBygD8sxRVyEnZw1KwFYOJ2C7yD2TChSKZioPGQ==",
1196
+ "dependencies": {
1197
+ "@unhead/schema": "1.9.12",
1198
+ "@unhead/shared": "1.9.12",
1199
+ "hookable": "^5.5.3",
1200
+ "unhead": "1.9.12"
1201
+ },
1202
+ "funding": {
1203
+ "url": "https://github.com/sponsors/harlan-zw"
1204
+ },
1205
+ "peerDependencies": {
1206
+ "vue": ">=2.7 || >=3"
1207
+ }
1208
+ },
1144
1209
  "node_modules/@vitejs/plugin-vue": {
1145
1210
  "version": "5.0.4",
1146
1211
  "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
@@ -1330,6 +1395,89 @@
1330
1395
  "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
1331
1396
  "dev": true
1332
1397
  },
1398
+ "node_modules/@vueuse/core": {
1399
+ "version": "10.10.0",
1400
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.10.0.tgz",
1401
+ "integrity": "sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==",
1402
+ "dependencies": {
1403
+ "@types/web-bluetooth": "^0.0.20",
1404
+ "@vueuse/metadata": "10.10.0",
1405
+ "@vueuse/shared": "10.10.0",
1406
+ "vue-demi": ">=0.14.7"
1407
+ },
1408
+ "funding": {
1409
+ "url": "https://github.com/sponsors/antfu"
1410
+ }
1411
+ },
1412
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
1413
+ "version": "0.14.8",
1414
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
1415
+ "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
1416
+ "hasInstallScript": true,
1417
+ "bin": {
1418
+ "vue-demi-fix": "bin/vue-demi-fix.js",
1419
+ "vue-demi-switch": "bin/vue-demi-switch.js"
1420
+ },
1421
+ "engines": {
1422
+ "node": ">=12"
1423
+ },
1424
+ "funding": {
1425
+ "url": "https://github.com/sponsors/antfu"
1426
+ },
1427
+ "peerDependencies": {
1428
+ "@vue/composition-api": "^1.0.0-rc.1",
1429
+ "vue": "^3.0.0-0 || ^2.6.0"
1430
+ },
1431
+ "peerDependenciesMeta": {
1432
+ "@vue/composition-api": {
1433
+ "optional": true
1434
+ }
1435
+ }
1436
+ },
1437
+ "node_modules/@vueuse/metadata": {
1438
+ "version": "10.10.0",
1439
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.10.0.tgz",
1440
+ "integrity": "sha512-UNAo2sTCAW5ge6OErPEHb5z7NEAg3XcO9Cj7OK45aZXfLLH1QkexDcZD77HBi5zvEiLOm1An+p/4b5K3Worpug==",
1441
+ "funding": {
1442
+ "url": "https://github.com/sponsors/antfu"
1443
+ }
1444
+ },
1445
+ "node_modules/@vueuse/shared": {
1446
+ "version": "10.10.0",
1447
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.10.0.tgz",
1448
+ "integrity": "sha512-2aW33Ac0Uk0U+9yo3Ypg9s5KcR42cuehRWl7vnUHadQyFvCktseyxxEPBi1Eiq4D2yBGACOnqLZpx1eMc7g5Og==",
1449
+ "dependencies": {
1450
+ "vue-demi": ">=0.14.7"
1451
+ },
1452
+ "funding": {
1453
+ "url": "https://github.com/sponsors/antfu"
1454
+ }
1455
+ },
1456
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
1457
+ "version": "0.14.8",
1458
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
1459
+ "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
1460
+ "hasInstallScript": true,
1461
+ "bin": {
1462
+ "vue-demi-fix": "bin/vue-demi-fix.js",
1463
+ "vue-demi-switch": "bin/vue-demi-switch.js"
1464
+ },
1465
+ "engines": {
1466
+ "node": ">=12"
1467
+ },
1468
+ "funding": {
1469
+ "url": "https://github.com/sponsors/antfu"
1470
+ },
1471
+ "peerDependencies": {
1472
+ "@vue/composition-api": "^1.0.0-rc.1",
1473
+ "vue": "^3.0.0-0 || ^2.6.0"
1474
+ },
1475
+ "peerDependenciesMeta": {
1476
+ "@vue/composition-api": {
1477
+ "optional": true
1478
+ }
1479
+ }
1480
+ },
1333
1481
  "node_modules/acorn": {
1334
1482
  "version": "8.11.3",
1335
1483
  "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
@@ -1716,6 +1864,17 @@
1716
1864
  "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
1717
1865
  "dev": true
1718
1866
  },
1867
+ "node_modules/debounce": {
1868
+ "version": "2.1.0",
1869
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz",
1870
+ "integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==",
1871
+ "engines": {
1872
+ "node": ">=18"
1873
+ },
1874
+ "funding": {
1875
+ "url": "https://github.com/sponsors/sindresorhus"
1876
+ }
1877
+ },
1719
1878
  "node_modules/debug": {
1720
1879
  "version": "4.3.4",
1721
1880
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1739,12 +1898,25 @@
1739
1898
  "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
1740
1899
  "dev": true
1741
1900
  },
1901
+ "node_modules/deepmerge": {
1902
+ "version": "4.3.1",
1903
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
1904
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
1905
+ "engines": {
1906
+ "node": ">=0.10.0"
1907
+ }
1908
+ },
1742
1909
  "node_modules/didyoumean": {
1743
1910
  "version": "1.2.2",
1744
1911
  "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
1745
1912
  "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
1746
1913
  "dev": true
1747
1914
  },
1915
+ "node_modules/diff-match-patch": {
1916
+ "version": "1.0.5",
1917
+ "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
1918
+ "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="
1919
+ },
1748
1920
  "node_modules/dir-glob": {
1749
1921
  "version": "3.0.1",
1750
1922
  "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -1775,6 +1947,57 @@
1775
1947
  "node": ">=6.0.0"
1776
1948
  }
1777
1949
  },
1950
+ "node_modules/dom-serializer": {
1951
+ "version": "2.0.0",
1952
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
1953
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
1954
+ "dependencies": {
1955
+ "domelementtype": "^2.3.0",
1956
+ "domhandler": "^5.0.2",
1957
+ "entities": "^4.2.0"
1958
+ },
1959
+ "funding": {
1960
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
1961
+ }
1962
+ },
1963
+ "node_modules/domelementtype": {
1964
+ "version": "2.3.0",
1965
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
1966
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
1967
+ "funding": [
1968
+ {
1969
+ "type": "github",
1970
+ "url": "https://github.com/sponsors/fb55"
1971
+ }
1972
+ ]
1973
+ },
1974
+ "node_modules/domhandler": {
1975
+ "version": "5.0.3",
1976
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
1977
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
1978
+ "dependencies": {
1979
+ "domelementtype": "^2.3.0"
1980
+ },
1981
+ "engines": {
1982
+ "node": ">= 4"
1983
+ },
1984
+ "funding": {
1985
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
1986
+ }
1987
+ },
1988
+ "node_modules/domutils": {
1989
+ "version": "3.1.0",
1990
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
1991
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
1992
+ "dependencies": {
1993
+ "dom-serializer": "^2.0.0",
1994
+ "domelementtype": "^2.3.0",
1995
+ "domhandler": "^5.0.3"
1996
+ },
1997
+ "funding": {
1998
+ "url": "https://github.com/fb55/domutils?sponsor=1"
1999
+ }
2000
+ },
1778
2001
  "node_modules/eastasianwidth": {
1779
2002
  "version": "0.2.0",
1780
2003
  "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -1855,7 +2078,6 @@
1855
2078
  "version": "4.0.0",
1856
2079
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1857
2080
  "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1858
- "dev": true,
1859
2081
  "engines": {
1860
2082
  "node": ">=10"
1861
2083
  },
@@ -2369,6 +2591,37 @@
2369
2591
  "he": "bin/he"
2370
2592
  }
2371
2593
  },
2594
+ "node_modules/highlight.js": {
2595
+ "version": "11.9.0",
2596
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.9.0.tgz",
2597
+ "integrity": "sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==",
2598
+ "engines": {
2599
+ "node": ">=12.0.0"
2600
+ }
2601
+ },
2602
+ "node_modules/hookable": {
2603
+ "version": "5.5.3",
2604
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
2605
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
2606
+ },
2607
+ "node_modules/htmlparser2": {
2608
+ "version": "8.0.2",
2609
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz",
2610
+ "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==",
2611
+ "funding": [
2612
+ "https://github.com/fb55/htmlparser2?sponsor=1",
2613
+ {
2614
+ "type": "github",
2615
+ "url": "https://github.com/sponsors/fb55"
2616
+ }
2617
+ ],
2618
+ "dependencies": {
2619
+ "domelementtype": "^2.3.0",
2620
+ "domhandler": "^5.0.3",
2621
+ "domutils": "^3.0.1",
2622
+ "entities": "^4.4.0"
2623
+ }
2624
+ },
2372
2625
  "node_modules/ignore": {
2373
2626
  "version": "5.3.1",
2374
2627
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
@@ -2497,6 +2750,14 @@
2497
2750
  "node": ">=8"
2498
2751
  }
2499
2752
  },
2753
+ "node_modules/is-plain-object": {
2754
+ "version": "5.0.0",
2755
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
2756
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
2757
+ "engines": {
2758
+ "node": ">=0.10.0"
2759
+ }
2760
+ },
2500
2761
  "node_modules/isexe": {
2501
2762
  "version": "2.0.0",
2502
2763
  "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2927,6 +3188,11 @@
2927
3188
  "node": ">=6"
2928
3189
  }
2929
3190
  },
3191
+ "node_modules/parse-srcset": {
3192
+ "version": "1.0.2",
3193
+ "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
3194
+ "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
3195
+ },
2930
3196
  "node_modules/path-browserify": {
2931
3197
  "version": "1.0.1",
2932
3198
  "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
@@ -3417,6 +3683,19 @@
3417
3683
  "queue-microtask": "^1.2.2"
3418
3684
  }
3419
3685
  },
3686
+ "node_modules/sanitize-html": {
3687
+ "version": "2.13.0",
3688
+ "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.0.tgz",
3689
+ "integrity": "sha512-Xff91Z+4Mz5QiNSLdLWwjgBDm5b1RU6xBT0+12rapjiaR7SwfRdjw8f+6Rir2MXKLrDicRFHdb51hGOAxmsUIA==",
3690
+ "dependencies": {
3691
+ "deepmerge": "^4.2.2",
3692
+ "escape-string-regexp": "^4.0.0",
3693
+ "htmlparser2": "^8.0.0",
3694
+ "is-plain-object": "^5.0.0",
3695
+ "parse-srcset": "^1.0.2",
3696
+ "postcss": "^8.3.11"
3697
+ }
3698
+ },
3420
3699
  "node_modules/sass": {
3421
3700
  "version": "1.77.2",
3422
3701
  "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz",
@@ -3812,6 +4091,20 @@
3812
4091
  "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
3813
4092
  "dev": true
3814
4093
  },
4094
+ "node_modules/unhead": {
4095
+ "version": "1.9.12",
4096
+ "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.9.12.tgz",
4097
+ "integrity": "sha512-s6VxcTV45hy8c/IioKQOonFnAO+kBOSpgDfqEHhnU0YVSQYaRPEp9pzW1qSPf0lx+bg9RKeOQyNNbSGGUP26aQ==",
4098
+ "dependencies": {
4099
+ "@unhead/dom": "1.9.12",
4100
+ "@unhead/schema": "1.9.12",
4101
+ "@unhead/shared": "1.9.12",
4102
+ "hookable": "^5.5.3"
4103
+ },
4104
+ "funding": {
4105
+ "url": "https://github.com/sponsors/harlan-zw"
4106
+ }
4107
+ },
3815
4108
  "node_modules/update-browserslist-db": {
3816
4109
  "version": "1.0.16",
3817
4110
  "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
@@ -3857,10 +4150,22 @@
3857
4150
  "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
3858
4151
  "dev": true
3859
4152
  },
4153
+ "node_modules/uuid": {
4154
+ "version": "10.0.0",
4155
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
4156
+ "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
4157
+ "funding": [
4158
+ "https://github.com/sponsors/broofa",
4159
+ "https://github.com/sponsors/ctavan"
4160
+ ],
4161
+ "bin": {
4162
+ "uuid": "dist/bin/uuid"
4163
+ }
4164
+ },
3860
4165
  "node_modules/vite": {
3861
- "version": "5.2.12",
3862
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz",
3863
- "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==",
4166
+ "version": "5.2.13",
4167
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.13.tgz",
4168
+ "integrity": "sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==",
3864
4169
  "dev": true,
3865
4170
  "dependencies": {
3866
4171
  "esbuild": "^0.20.1",
@@ -3932,6 +4237,103 @@
3932
4237
  }
3933
4238
  }
3934
4239
  },
4240
+ "node_modules/vue-diff": {
4241
+ "version": "1.2.4",
4242
+ "resolved": "https://registry.npmjs.org/vue-diff/-/vue-diff-1.2.4.tgz",
4243
+ "integrity": "sha512-9z+0uPHigi/DdE3Zhdg1zR3VkiBaDN4czjWa/Zznvizn4znckVqz20p1KytaWq5NJtJ7UnkqRbuWsaCuC1ZHaA==",
4244
+ "dependencies": {
4245
+ "@vueuse/core": "^8.3.1",
4246
+ "diff-match-patch": "^1.0.5",
4247
+ "highlight.js": "^11.5.1"
4248
+ }
4249
+ },
4250
+ "node_modules/vue-diff/node_modules/@types/web-bluetooth": {
4251
+ "version": "0.0.14",
4252
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz",
4253
+ "integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A=="
4254
+ },
4255
+ "node_modules/vue-diff/node_modules/@vueuse/core": {
4256
+ "version": "8.9.4",
4257
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-8.9.4.tgz",
4258
+ "integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==",
4259
+ "dependencies": {
4260
+ "@types/web-bluetooth": "^0.0.14",
4261
+ "@vueuse/metadata": "8.9.4",
4262
+ "@vueuse/shared": "8.9.4",
4263
+ "vue-demi": "*"
4264
+ },
4265
+ "funding": {
4266
+ "url": "https://github.com/sponsors/antfu"
4267
+ },
4268
+ "peerDependencies": {
4269
+ "@vue/composition-api": "^1.1.0",
4270
+ "vue": "^2.6.0 || ^3.2.0"
4271
+ },
4272
+ "peerDependenciesMeta": {
4273
+ "@vue/composition-api": {
4274
+ "optional": true
4275
+ },
4276
+ "vue": {
4277
+ "optional": true
4278
+ }
4279
+ }
4280
+ },
4281
+ "node_modules/vue-diff/node_modules/@vueuse/metadata": {
4282
+ "version": "8.9.4",
4283
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-8.9.4.tgz",
4284
+ "integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==",
4285
+ "funding": {
4286
+ "url": "https://github.com/sponsors/antfu"
4287
+ }
4288
+ },
4289
+ "node_modules/vue-diff/node_modules/@vueuse/shared": {
4290
+ "version": "8.9.4",
4291
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-8.9.4.tgz",
4292
+ "integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==",
4293
+ "dependencies": {
4294
+ "vue-demi": "*"
4295
+ },
4296
+ "funding": {
4297
+ "url": "https://github.com/sponsors/antfu"
4298
+ },
4299
+ "peerDependencies": {
4300
+ "@vue/composition-api": "^1.1.0",
4301
+ "vue": "^2.6.0 || ^3.2.0"
4302
+ },
4303
+ "peerDependenciesMeta": {
4304
+ "@vue/composition-api": {
4305
+ "optional": true
4306
+ },
4307
+ "vue": {
4308
+ "optional": true
4309
+ }
4310
+ }
4311
+ },
4312
+ "node_modules/vue-diff/node_modules/vue-demi": {
4313
+ "version": "0.14.8",
4314
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz",
4315
+ "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==",
4316
+ "hasInstallScript": true,
4317
+ "bin": {
4318
+ "vue-demi-fix": "bin/vue-demi-fix.js",
4319
+ "vue-demi-switch": "bin/vue-demi-switch.js"
4320
+ },
4321
+ "engines": {
4322
+ "node": ">=12"
4323
+ },
4324
+ "funding": {
4325
+ "url": "https://github.com/sponsors/antfu"
4326
+ },
4327
+ "peerDependencies": {
4328
+ "@vue/composition-api": "^1.0.0-rc.1",
4329
+ "vue": "^3.0.0-0 || ^2.6.0"
4330
+ },
4331
+ "peerDependenciesMeta": {
4332
+ "@vue/composition-api": {
4333
+ "optional": true
4334
+ }
4335
+ }
4336
+ },
3935
4337
  "node_modules/vue-eslint-parser": {
3936
4338
  "version": "9.4.2",
3937
4339
  "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
@@ -3970,6 +4372,11 @@
3970
4372
  "vue": "^3.2.0"
3971
4373
  }
3972
4374
  },
4375
+ "node_modules/vue-slider-component": {
4376
+ "version": "4.1.0-beta.7",
4377
+ "resolved": "https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-4.1.0-beta.7.tgz",
4378
+ "integrity": "sha512-Qb7K920ZG7PoQswoF6Ias+i3W2rd3k4fpk04JUl82kEUcN86Yg6et7bVSKWt/7VpQe8a5IT3BqCKSCOZ7AJgCA=="
4379
+ },
3973
4380
  "node_modules/vue-template-compiler": {
3974
4381
  "version": "2.7.16",
3975
4382
  "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
@@ -4153,6 +4560,14 @@
4153
4560
  "funding": {
4154
4561
  "url": "https://github.com/sponsors/sindresorhus"
4155
4562
  }
4563
+ },
4564
+ "node_modules/zhead": {
4565
+ "version": "2.2.4",
4566
+ "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
4567
+ "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
4568
+ "funding": {
4569
+ "url": "https://github.com/sponsors/harlan-zw"
4570
+ }
4156
4571
  }
4157
4572
  }
4158
4573
  }
@@ -13,12 +13,20 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "@iconify-prerendered/vue-flowbite": "^0.23.1714023977",
16
+ "@unhead/vue": "^1.9.12",
17
+ "@vueuse/core": "^10.10.0",
16
18
  "dayjs": "^1.11.11",
19
+ "debounce": "^2.1.0",
17
20
  "flowbite": "^2.3.0",
18
21
  "flowbite-datepicker": "^1.2.6",
19
22
  "pinia": "^2.1.7",
23
+ "sanitize-html": "^2.13.0",
24
+ "unhead": "^1.9.12",
25
+ "uuid": "^10.0.0",
20
26
  "vue": "^3.4.21",
21
- "vue-router": "^4.3.0"
27
+ "vue-diff": "^1.2.4",
28
+ "vue-router": "^4.3.0",
29
+ "vue-slider-component": "^4.1.0-beta.7"
22
30
  },
23
31
  "devDependencies": {
24
32
  "@rushstack/eslint-patch": "^1.8.0",
@@ -35,7 +43,7 @@
35
43
  "sass": "^1.77.2",
36
44
  "tailwindcss": "^3.4.3",
37
45
  "typescript": "~5.4.0",
38
- "vite": "^5.2.12",
46
+ "vite": "^5.2.13",
39
47
  "vue-tsc": "^2.0.11"
40
48
  }
41
49
  }