From 098e51e764931c6fde2423575cdde9cd87c1450b Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Tue, 6 Aug 2024 17:12:08 +0700 Subject: [PATCH] Feature #6 : Add Metronic --- resources/metronic/app/layouts/base.js | 67 + .../core/components/accordion/accordion.ts | 171 + .../core/components/accordion/index.ts | 2 + .../core/components/accordion/types.ts | 11 + .../core/components/collapse/collapse.ts | 179 + .../core/components/collapse/index.ts | 2 + .../core/components/collapse/types.ts | 11 + .../metronic/core/components/component.ts | 147 + resources/metronic/core/components/config.ts | 25 + .../metronic/core/components/config.umd.js | 23 + .../metronic/core/components/constants.ts | 11 + .../core/components/datatable/datatable.ts | 1580 ++ .../core/components/datatable/index.ts | 14 + .../core/components/datatable/types.ts | 173 + .../core/components/dismiss/dismiss.ts | 133 + .../metronic/core/components/dismiss/index.ts | 2 + .../metronic/core/components/dismiss/types.ts | 12 + .../metronic/core/components/drawer/drawer.ts | 377 + .../metronic/core/components/drawer/index.ts | 2 + .../metronic/core/components/drawer/types.ts | 18 + .../core/components/dropdown/dropdown.ts | 484 + .../core/components/dropdown/index.ts | 2 + .../core/components/dropdown/types.ts | 20 + .../components/image-input/image-input.ts | 208 + .../core/components/image-input/index.ts | 2 + .../core/components/image-input/types.ts | 7 + .../metronic/core/components/menu/index.ts | 2 + .../metronic/core/components/menu/menu.ts | 1215 ++ .../metronic/core/components/menu/types.ts | 15 + .../metronic/core/components/modal/index.ts | 2 + .../metronic/core/components/modal/modal.ts | 344 + .../metronic/core/components/modal/types.ts | 16 + .../core/components/reparent/index.ts | 2 + .../core/components/reparent/reparent.ts | 89 + .../core/components/reparent/types.ts | 10 + .../core/components/scrollable/index.ts | 2 + .../core/components/scrollable/scrollable.ts | 271 + .../core/components/scrollable/types.ts | 11 + .../core/components/scrollspy/index.ts | 2 + .../core/components/scrollspy/scrollspy.ts | 182 + .../core/components/scrollspy/types.ts | 10 + .../core/components/scrollto/index.ts | 2 + .../core/components/scrollto/scrollto.ts | 103 + .../core/components/scrollto/types.ts | 10 + .../metronic/core/components/stepper/index.ts | 2 + .../core/components/stepper/stepper.ts | 282 + .../metronic/core/components/stepper/types.ts | 8 + .../metronic/core/components/sticky/index.ts | 2 + .../metronic/core/components/sticky/sticky.ts | 333 + .../metronic/core/components/sticky/types.ts | 17 + .../metronic/core/components/tabs/index.ts | 2 + .../metronic/core/components/tabs/tabs.ts | 157 + .../metronic/core/components/tabs/types.ts | 8 + .../metronic/core/components/theme/index.ts | 2 + .../metronic/core/components/theme/theme.ts | 147 + .../metronic/core/components/theme/types.ts | 12 + .../core/components/toggle-password/index.ts | 2 + .../toggle-password/toggle-password.ts | 133 + .../core/components/toggle-password/types.ts | 8 + .../metronic/core/components/toggle/index.ts | 2 + .../metronic/core/components/toggle/toggle.ts | 143 + .../metronic/core/components/toggle/types.ts | 13 + .../metronic/core/components/tooltip/index.ts | 2 + .../core/components/tooltip/tooltip.ts | 302 + .../metronic/core/components/tooltip/types.ts | 21 + resources/metronic/core/helpers/data.ts | 41 + resources/metronic/core/helpers/dom.ts | 365 + .../metronic/core/helpers/event-handler.ts | 49 + resources/metronic/core/helpers/utils.ts | 115 + resources/metronic/core/index.spa.ts | 130 + resources/metronic/core/index.ts | 137 + .../core/plugins/components/accordion.js | 25 + .../core/plugins/components/apexcharts.js | 114 + .../metronic/core/plugins/components/badge.js | 88 + .../core/plugins/components/breakpoints.js | 10 + .../core/plugins/components/btn-group.js | 20 + .../metronic/core/plugins/components/btn.js | 471 + .../metronic/core/plugins/components/card.js | 151 + .../core/plugins/components/checkbox.js | 103 + .../core/plugins/components/container.js | 37 + .../core/plugins/components/drawer.js | 61 + .../core/plugins/components/dropdown.js | 35 + .../core/plugins/components/file-input.js | 88 + .../core/plugins/components/image-input.js | 39 + .../core/plugins/components/input-group.js | 38 + .../metronic/core/plugins/components/input.js | 117 + .../core/plugins/components/leaflet.js | 22 + .../metronic/core/plugins/components/menu.js | 138 + .../metronic/core/plugins/components/modal.js | 126 + .../core/plugins/components/pagination.js | 64 + .../core/plugins/components/popover.js | 32 + .../core/plugins/components/progress.js | 40 + .../metronic/core/plugins/components/radio.js | 84 + .../metronic/core/plugins/components/range.js | 74 + .../core/plugins/components/rating.js | 66 + .../core/plugins/components/scrollable.js | 63 + .../core/plugins/components/select.js | 84 + .../core/plugins/components/switch.js | 116 + .../metronic/core/plugins/components/table.js | 154 + .../metronic/core/plugins/components/tabs.js | 38 + .../core/plugins/components/textarea.js | 68 + .../metronic/core/plugins/components/theme.js | 148 + .../core/plugins/components/tooltip.js | 24 + .../core/plugins/components/typography.js | 33 + resources/metronic/core/plugins/plugin.js | 531 + resources/metronic/core/types.ts | 17 + resources/metronic/css/base.css | 126 + resources/metronic/css/styles.css | 2 + .../@form-validation/amd/bundle/full.js | 13175 ++++++++++++++ .../@form-validation/amd/bundle/full.min.js | 20 + .../@form-validation/amd/bundle/popular.js | 6028 +++++++ .../amd/bundle/popular.min.js | 20 + .../@form-validation/amd/core/index.js | 1353 ++ .../@form-validation/amd/core/index.min.js | 11 + .../@form-validation/amd/locales/ar_MA.js | 384 + .../@form-validation/amd/locales/ar_MA.min.js | 1 + .../@form-validation/amd/locales/bg_BG.js | 384 + .../@form-validation/amd/locales/bg_BG.min.js | 1 + .../@form-validation/amd/locales/ca_ES.js | 384 + .../@form-validation/amd/locales/ca_ES.min.js | 1 + .../@form-validation/amd/locales/cs_CZ.js | 384 + .../@form-validation/amd/locales/cs_CZ.min.js | 1 + .../@form-validation/amd/locales/da_DK.js | 384 + .../@form-validation/amd/locales/da_DK.min.js | 1 + .../@form-validation/amd/locales/de_DE.js | 384 + .../@form-validation/amd/locales/de_DE.min.js | 1 + .../@form-validation/amd/locales/el_GR.js | 384 + .../@form-validation/amd/locales/el_GR.min.js | 1 + .../@form-validation/amd/locales/en_US.js | 384 + .../@form-validation/amd/locales/en_US.min.js | 1 + .../@form-validation/amd/locales/es_CL.js | 384 + .../@form-validation/amd/locales/es_CL.min.js | 1 + .../@form-validation/amd/locales/es_ES.js | 384 + .../@form-validation/amd/locales/es_ES.min.js | 1 + .../@form-validation/amd/locales/eu_ES.js | 384 + .../@form-validation/amd/locales/eu_ES.min.js | 1 + .../@form-validation/amd/locales/fa_IR.js | 384 + .../@form-validation/amd/locales/fa_IR.min.js | 1 + .../@form-validation/amd/locales/fi_FI.js | 384 + .../@form-validation/amd/locales/fi_FI.min.js | 1 + .../@form-validation/amd/locales/fr_BE.js | 384 + .../@form-validation/amd/locales/fr_BE.min.js | 1 + .../@form-validation/amd/locales/fr_FR.js | 384 + .../@form-validation/amd/locales/fr_FR.min.js | 1 + .../@form-validation/amd/locales/he_IL.js | 384 + .../@form-validation/amd/locales/he_IL.min.js | 1 + .../@form-validation/amd/locales/hi_IN.js | 384 + .../@form-validation/amd/locales/hi_IN.min.js | 1 + .../@form-validation/amd/locales/hu_HU.js | 384 + .../@form-validation/amd/locales/hu_HU.min.js | 1 + .../@form-validation/amd/locales/id_ID.js | 384 + .../@form-validation/amd/locales/id_ID.min.js | 1 + .../@form-validation/amd/locales/it_IT.js | 384 + .../@form-validation/amd/locales/it_IT.min.js | 1 + .../@form-validation/amd/locales/ja_JP.js | 384 + .../@form-validation/amd/locales/ja_JP.min.js | 1 + .../@form-validation/amd/locales/nl_BE.js | 384 + .../@form-validation/amd/locales/nl_BE.min.js | 1 + .../@form-validation/amd/locales/nl_NL.js | 384 + .../@form-validation/amd/locales/nl_NL.min.js | 1 + .../@form-validation/amd/locales/no_NO.js | 384 + .../@form-validation/amd/locales/no_NO.min.js | 1 + .../@form-validation/amd/locales/pl_PL.js | 384 + .../@form-validation/amd/locales/pl_PL.min.js | 1 + .../@form-validation/amd/locales/pt_BR.js | 384 + .../@form-validation/amd/locales/pt_BR.min.js | 1 + .../@form-validation/amd/locales/pt_PT.js | 384 + .../@form-validation/amd/locales/pt_PT.min.js | 1 + .../@form-validation/amd/locales/ro_RO.js | 384 + .../@form-validation/amd/locales/ro_RO.min.js | 1 + .../@form-validation/amd/locales/ru_RU.js | 384 + .../@form-validation/amd/locales/ru_RU.min.js | 1 + .../@form-validation/amd/locales/sk_SK.js | 384 + .../@form-validation/amd/locales/sk_SK.min.js | 1 + .../@form-validation/amd/locales/sq_AL.js | 384 + .../@form-validation/amd/locales/sq_AL.min.js | 1 + .../@form-validation/amd/locales/sr_RS.js | 384 + .../@form-validation/amd/locales/sr_RS.min.js | 1 + .../@form-validation/amd/locales/sv_SE.js | 384 + .../@form-validation/amd/locales/sv_SE.min.js | 1 + .../@form-validation/amd/locales/th_TH.js | 384 + .../@form-validation/amd/locales/th_TH.min.js | 1 + .../@form-validation/amd/locales/tr_TR.js | 384 + .../@form-validation/amd/locales/tr_TR.min.js | 1 + .../@form-validation/amd/locales/ua_UA.js | 384 + .../@form-validation/amd/locales/ua_UA.min.js | 1 + .../@form-validation/amd/locales/vi_VN.js | 384 + .../@form-validation/amd/locales/vi_VN.min.js | 1 + .../@form-validation/amd/locales/zh_CN.js | 384 + .../@form-validation/amd/locales/zh_CN.min.js | 1 + .../@form-validation/amd/locales/zh_TW.js | 384 + .../@form-validation/amd/locales/zh_TW.min.js | 1 + .../amd/plugin-alias/index.js | 84 + .../amd/plugin-alias/index.min.js | 11 + .../@form-validation/amd/plugin-aria/index.js | 109 + .../amd/plugin-aria/index.min.js | 11 + .../amd/plugin-auto-focus/index.js | 92 + .../amd/plugin-auto-focus/index.min.js | 11 + .../amd/plugin-bootstrap/index.js | 84 + .../amd/plugin-bootstrap/index.min.js | 11 + .../amd/plugin-bootstrap3/index.js | 79 + .../amd/plugin-bootstrap3/index.min.js | 11 + .../amd/plugin-bootstrap5/index.js | 152 + .../amd/plugin-bootstrap5/index.min.js | 11 + .../amd/plugin-bulma/index.js | 84 + .../amd/plugin-bulma/index.min.js | 11 + .../amd/plugin-declarative/index.js | 286 + .../amd/plugin-declarative/index.min.js | 11 + .../amd/plugin-default-submit/index.js | 70 + .../amd/plugin-default-submit/index.min.js | 11 + .../amd/plugin-dependency/index.js | 71 + .../amd/plugin-dependency/index.min.js | 11 + .../amd/plugin-excluded/index.js | 70 + .../amd/plugin-excluded/index.min.js | 11 + .../amd/plugin-field-status/index.js | 122 + .../amd/plugin-field-status/index.min.js | 11 + .../amd/plugin-foundation/index.js | 75 + .../amd/plugin-foundation/index.min.js | 11 + .../amd/plugin-framework/index.js | 271 + .../amd/plugin-framework/index.min.js | 11 + .../@form-validation/amd/plugin-icon/index.js | 225 + .../amd/plugin-icon/index.min.js | 11 + .../index.js | 183 + .../index.min.js | 11 + .../@form-validation/amd/plugin-j/index.js | 23 + .../amd/plugin-j/index.min.js | 11 + .../@form-validation/amd/plugin-l10n/index.js | 76 + .../amd/plugin-l10n/index.min.js | 11 + .../amd/plugin-mailgun/index.js | 104 + .../amd/plugin-mailgun/index.min.js | 11 + .../amd/plugin-mandatory-icon/index.js | 175 + .../amd/plugin-mandatory-icon/index.min.js | 11 + .../amd/plugin-materialize/index.js | 71 + .../amd/plugin-materialize/index.min.js | 11 + .../amd/plugin-message/index.js | 284 + .../amd/plugin-message/index.min.js | 11 + .../amd/plugin-milligram/index.js | 69 + .../amd/plugin-milligram/index.min.js | 11 + .../@form-validation/amd/plugin-mini/index.js | 69 + .../amd/plugin-mini/index.min.js | 11 + .../@form-validation/amd/plugin-mui/index.js | 69 + .../amd/plugin-mui/index.min.js | 11 + .../amd/plugin-password-strength/index.js | 126 + .../amd/plugin-password-strength/index.min.js | 11 + .../@form-validation/amd/plugin-pure/index.js | 69 + .../amd/plugin-pure/index.min.js | 11 + .../amd/plugin-recaptcha/index.js | 258 + .../amd/plugin-recaptcha/index.min.js | 11 + .../amd/plugin-recaptcha3-token/index.js | 112 + .../amd/plugin-recaptcha3-token/index.min.js | 11 + .../amd/plugin-recaptcha3/index.js | 146 + .../amd/plugin-recaptcha3/index.min.js | 11 + .../amd/plugin-semantic/index.js | 93 + .../amd/plugin-semantic/index.min.js | 11 + .../amd/plugin-sequence/index.js | 142 + .../amd/plugin-sequence/index.min.js | 11 + .../amd/plugin-shoelace/index.js | 72 + .../amd/plugin-shoelace/index.min.js | 11 + .../amd/plugin-spectre/index.js | 71 + .../amd/plugin-spectre/index.min.js | 11 + .../amd/plugin-start-end-date/index.js | 130 + .../amd/plugin-start-end-date/index.min.js | 11 + .../amd/plugin-submit-button/index.js | 139 + .../amd/plugin-submit-button/index.min.js | 11 + .../amd/plugin-tachyons/index.js | 68 + .../amd/plugin-tachyons/index.min.js | 11 + .../amd/plugin-tooltip/index.js | 194 + .../amd/plugin-tooltip/index.min.js | 11 + .../amd/plugin-transformer/index.js | 65 + .../amd/plugin-transformer/index.min.js | 11 + .../amd/plugin-trigger/index.js | 195 + .../amd/plugin-trigger/index.min.js | 11 + .../amd/plugin-turnstile/index.js | 242 + .../amd/plugin-turnstile/index.min.js | 11 + .../amd/plugin-turret/index.js | 70 + .../amd/plugin-turret/index.min.js | 11 + .../amd/plugin-typing-animation/index.js | 102 + .../amd/plugin-typing-animation/index.min.js | 11 + .../amd/plugin-ui-kit/index.js | 69 + .../amd/plugin-ui-kit/index.min.js | 11 + .../amd/plugin-wizard/index.js | 240 + .../amd/plugin-wizard/index.min.js | 11 + .../@form-validation/amd/styles/index.css | 582 + .../@form-validation/amd/styles/index.min.css | 1 + .../amd/validator-base64/index.js | 21 + .../amd/validator-base64/index.min.js | 11 + .../amd/validator-between/index.js | 43 + .../amd/validator-between/index.min.js | 11 + .../amd/validator-bic/index.js | 26 + .../amd/validator-bic/index.min.js | 11 + .../amd/validator-blank/index.js | 22 + .../amd/validator-blank/index.min.js | 11 + .../amd/validator-callback/index.js | 22 + .../amd/validator-callback/index.min.js | 11 + .../amd/validator-choice/index.js | 40 + .../amd/validator-choice/index.min.js | 11 + .../amd/validator-color/index.js | 249 + .../amd/validator-color/index.min.js | 11 + .../amd/validator-credit-card/index.js | 211 + .../amd/validator-credit-card/index.min.js | 11 + .../amd/validator-cusip/index.js | 56 + .../amd/validator-cusip/index.min.js | 11 + .../amd/validator-date/index.js | 265 + .../amd/validator-date/index.min.js | 11 + .../amd/validator-different/index.js | 23 + .../amd/validator-different/index.min.js | 11 + .../amd/validator-digits/index.js | 21 + .../amd/validator-digits/index.min.js | 11 + .../amd/validator-ean/index.js | 35 + .../amd/validator-ean/index.min.js | 11 + .../amd/validator-ein/index.js | 123 + .../amd/validator-ein/index.min.js | 11 + .../amd/validator-email-address/index.js | 79 + .../amd/validator-email-address/index.min.js | 11 + .../amd/validator-file/index.js | 156 + .../amd/validator-file/index.min.js | 11 + .../amd/validator-greater-than/index.js | 32 + .../amd/validator-greater-than/index.min.js | 11 + .../amd/validator-grid/index.js | 34 + .../amd/validator-grid/index.min.js | 11 + .../amd/validator-hex/index.js | 23 + .../amd/validator-hex/index.min.js | 11 + .../amd/validator-iban/index.js | 198 + .../amd/validator-iban/index.min.js | 11 + .../amd/validator-id/index.js | 2737 +++ .../amd/validator-id/index.min.js | 11 + .../amd/validator-identical/index.js | 23 + .../amd/validator-identical/index.min.js | 11 + .../amd/validator-imei/index.js | 38 + .../amd/validator-imei/index.min.js | 11 + .../amd/validator-imo/index.js | 34 + .../amd/validator-imo/index.min.js | 11 + .../amd/validator-integer/index.js | 43 + .../amd/validator-integer/index.min.js | 11 + .../amd/validator-ip/index.js | 48 + .../amd/validator-ip/index.min.js | 11 + .../amd/validator-isbn/index.js | 92 + .../amd/validator-isbn/index.min.js | 11 + .../amd/validator-isin/index.js | 59 + .../amd/validator-isin/index.min.js | 11 + .../amd/validator-ismn/index.js | 65 + .../amd/validator-ismn/index.min.js | 11 + .../amd/validator-issn/index.js | 39 + .../amd/validator-issn/index.min.js | 11 + .../amd/validator-less-than/index.js | 32 + .../amd/validator-less-than/index.min.js | 11 + .../amd/validator-mac/index.js | 25 + .../amd/validator-mac/index.min.js | 11 + .../amd/validator-meid/index.js | 60 + .../amd/validator-meid/index.min.js | 11 + .../amd/validator-not-empty/index.js | 22 + .../amd/validator-not-empty/index.min.js | 11 + .../amd/validator-numeric/index.js | 50 + .../amd/validator-numeric/index.min.js | 11 + .../amd/validator-phone/index.js | 184 + .../amd/validator-phone/index.min.js | 11 + .../amd/validator-promise/index.js | 47 + .../amd/validator-promise/index.min.js | 11 + .../amd/validator-regexp/index.js | 32 + .../amd/validator-regexp/index.min.js | 11 + .../amd/validator-remote/index.js | 63 + .../amd/validator-remote/index.min.js | 11 + .../amd/validator-rtn/index.js | 35 + .../amd/validator-rtn/index.min.js | 11 + .../amd/validator-sedol/index.js | 36 + .../amd/validator-sedol/index.min.js | 11 + .../amd/validator-siren/index.js | 24 + .../amd/validator-siren/index.min.js | 11 + .../amd/validator-siret/index.js | 37 + .../amd/validator-siret/index.min.js | 11 + .../amd/validator-step/index.js | 62 + .../amd/validator-step/index.min.js | 11 + .../amd/validator-string-case/index.js | 37 + .../amd/validator-string-case/index.min.js | 11 + .../amd/validator-string-length/index.js | 74 + .../amd/validator-string-length/index.min.js | 11 + .../amd/validator-uri/index.js | 106 + .../amd/validator-uri/index.min.js | 11 + .../amd/validator-uuid/index.js | 42 + .../amd/validator-uuid/index.min.js | 11 + .../amd/validator-vat/index.js | 1904 ++ .../amd/validator-vat/index.min.js | 11 + .../amd/validator-vin/index.js | 74 + .../amd/validator-vin/index.min.js | 11 + .../amd/validator-zip-code/index.js | 196 + .../amd/validator-zip-code/index.min.js | 11 + .../@form-validation/cjs/bundle/full.js | 14691 ++++++++++++++++ .../@form-validation/cjs/bundle/full.min.js | 20 + .../@form-validation/cjs/bundle/popular.js | 6900 ++++++++ .../cjs/bundle/popular.min.js | 20 + .../@form-validation/cjs/core/index.js | 1351 ++ .../@form-validation/cjs/core/index.min.js | 11 + .../@form-validation/cjs/locales/ar_MA.js | 382 + .../@form-validation/cjs/locales/ar_MA.min.js | 1 + .../@form-validation/cjs/locales/bg_BG.js | 382 + .../@form-validation/cjs/locales/bg_BG.min.js | 1 + .../@form-validation/cjs/locales/ca_ES.js | 382 + .../@form-validation/cjs/locales/ca_ES.min.js | 1 + .../@form-validation/cjs/locales/cs_CZ.js | 382 + .../@form-validation/cjs/locales/cs_CZ.min.js | 1 + .../@form-validation/cjs/locales/da_DK.js | 382 + .../@form-validation/cjs/locales/da_DK.min.js | 1 + .../@form-validation/cjs/locales/de_DE.js | 382 + .../@form-validation/cjs/locales/de_DE.min.js | 1 + .../@form-validation/cjs/locales/el_GR.js | 382 + .../@form-validation/cjs/locales/el_GR.min.js | 1 + .../@form-validation/cjs/locales/en_US.js | 382 + .../@form-validation/cjs/locales/en_US.min.js | 1 + .../@form-validation/cjs/locales/es_CL.js | 382 + .../@form-validation/cjs/locales/es_CL.min.js | 1 + .../@form-validation/cjs/locales/es_ES.js | 382 + .../@form-validation/cjs/locales/es_ES.min.js | 1 + .../@form-validation/cjs/locales/eu_ES.js | 382 + .../@form-validation/cjs/locales/eu_ES.min.js | 1 + .../@form-validation/cjs/locales/fa_IR.js | 382 + .../@form-validation/cjs/locales/fa_IR.min.js | 1 + .../@form-validation/cjs/locales/fi_FI.js | 382 + .../@form-validation/cjs/locales/fi_FI.min.js | 1 + .../@form-validation/cjs/locales/fr_BE.js | 382 + .../@form-validation/cjs/locales/fr_BE.min.js | 1 + .../@form-validation/cjs/locales/fr_FR.js | 382 + .../@form-validation/cjs/locales/fr_FR.min.js | 1 + .../@form-validation/cjs/locales/he_IL.js | 382 + .../@form-validation/cjs/locales/he_IL.min.js | 1 + .../@form-validation/cjs/locales/hi_IN.js | 382 + .../@form-validation/cjs/locales/hi_IN.min.js | 1 + .../@form-validation/cjs/locales/hu_HU.js | 382 + .../@form-validation/cjs/locales/hu_HU.min.js | 1 + .../@form-validation/cjs/locales/id_ID.js | 382 + .../@form-validation/cjs/locales/id_ID.min.js | 1 + .../@form-validation/cjs/locales/it_IT.js | 382 + .../@form-validation/cjs/locales/it_IT.min.js | 1 + .../@form-validation/cjs/locales/ja_JP.js | 382 + .../@form-validation/cjs/locales/ja_JP.min.js | 1 + .../@form-validation/cjs/locales/nl_BE.js | 382 + .../@form-validation/cjs/locales/nl_BE.min.js | 1 + .../@form-validation/cjs/locales/nl_NL.js | 382 + .../@form-validation/cjs/locales/nl_NL.min.js | 1 + .../@form-validation/cjs/locales/no_NO.js | 382 + .../@form-validation/cjs/locales/no_NO.min.js | 1 + .../@form-validation/cjs/locales/pl_PL.js | 382 + .../@form-validation/cjs/locales/pl_PL.min.js | 1 + .../@form-validation/cjs/locales/pt_BR.js | 382 + .../@form-validation/cjs/locales/pt_BR.min.js | 1 + .../@form-validation/cjs/locales/pt_PT.js | 382 + .../@form-validation/cjs/locales/pt_PT.min.js | 1 + .../@form-validation/cjs/locales/ro_RO.js | 382 + .../@form-validation/cjs/locales/ro_RO.min.js | 1 + .../@form-validation/cjs/locales/ru_RU.js | 382 + .../@form-validation/cjs/locales/ru_RU.min.js | 1 + .../@form-validation/cjs/locales/sk_SK.js | 382 + .../@form-validation/cjs/locales/sk_SK.min.js | 1 + .../@form-validation/cjs/locales/sq_AL.js | 382 + .../@form-validation/cjs/locales/sq_AL.min.js | 1 + .../@form-validation/cjs/locales/sr_RS.js | 382 + .../@form-validation/cjs/locales/sr_RS.min.js | 1 + .../@form-validation/cjs/locales/sv_SE.js | 382 + .../@form-validation/cjs/locales/sv_SE.min.js | 1 + .../@form-validation/cjs/locales/th_TH.js | 382 + .../@form-validation/cjs/locales/th_TH.min.js | 1 + .../@form-validation/cjs/locales/tr_TR.js | 382 + .../@form-validation/cjs/locales/tr_TR.min.js | 1 + .../@form-validation/cjs/locales/ua_UA.js | 382 + .../@form-validation/cjs/locales/ua_UA.min.js | 1 + .../@form-validation/cjs/locales/vi_VN.js | 382 + .../@form-validation/cjs/locales/vi_VN.min.js | 1 + .../@form-validation/cjs/locales/zh_CN.js | 382 + .../@form-validation/cjs/locales/zh_CN.min.js | 1 + .../@form-validation/cjs/locales/zh_TW.js | 382 + .../@form-validation/cjs/locales/zh_TW.min.js | 1 + .../cjs/plugin-alias/index.js | 84 + .../cjs/plugin-alias/index.min.js | 11 + .../@form-validation/cjs/plugin-aria/index.js | 109 + .../cjs/plugin-aria/index.min.js | 11 + .../cjs/plugin-auto-focus/index.js | 93 + .../cjs/plugin-auto-focus/index.min.js | 11 + .../cjs/plugin-bootstrap/index.js | 85 + .../cjs/plugin-bootstrap/index.min.js | 11 + .../cjs/plugin-bootstrap3/index.js | 80 + .../cjs/plugin-bootstrap3/index.min.js | 11 + .../cjs/plugin-bootstrap5/index.js | 153 + .../cjs/plugin-bootstrap5/index.min.js | 11 + .../cjs/plugin-bulma/index.js | 85 + .../cjs/plugin-bulma/index.min.js | 11 + .../cjs/plugin-declarative/index.js | 286 + .../cjs/plugin-declarative/index.min.js | 11 + .../cjs/plugin-default-submit/index.js | 70 + .../cjs/plugin-default-submit/index.min.js | 11 + .../cjs/plugin-dependency/index.js | 71 + .../cjs/plugin-dependency/index.min.js | 11 + .../cjs/plugin-excluded/index.js | 70 + .../cjs/plugin-excluded/index.min.js | 11 + .../cjs/plugin-field-status/index.js | 122 + .../cjs/plugin-field-status/index.min.js | 11 + .../cjs/plugin-foundation/index.js | 75 + .../cjs/plugin-foundation/index.min.js | 11 + .../cjs/plugin-framework/index.js | 272 + .../cjs/plugin-framework/index.min.js | 11 + .../@form-validation/cjs/plugin-icon/index.js | 225 + .../cjs/plugin-icon/index.min.js | 11 + .../index.js | 183 + .../index.min.js | 11 + .../@form-validation/cjs/plugin-j/index.js | 24 + .../cjs/plugin-j/index.min.js | 11 + .../@form-validation/cjs/plugin-l10n/index.js | 76 + .../cjs/plugin-l10n/index.min.js | 11 + .../cjs/plugin-mailgun/index.js | 105 + .../cjs/plugin-mailgun/index.min.js | 11 + .../cjs/plugin-mandatory-icon/index.js | 175 + .../cjs/plugin-mandatory-icon/index.min.js | 11 + .../cjs/plugin-materialize/index.js | 72 + .../cjs/plugin-materialize/index.min.js | 11 + .../cjs/plugin-message/index.js | 284 + .../cjs/plugin-message/index.min.js | 11 + .../cjs/plugin-milligram/index.js | 70 + .../cjs/plugin-milligram/index.min.js | 11 + .../@form-validation/cjs/plugin-mini/index.js | 70 + .../cjs/plugin-mini/index.min.js | 11 + .../@form-validation/cjs/plugin-mui/index.js | 70 + .../cjs/plugin-mui/index.min.js | 11 + .../cjs/plugin-password-strength/index.js | 126 + .../cjs/plugin-password-strength/index.min.js | 11 + .../@form-validation/cjs/plugin-pure/index.js | 70 + .../cjs/plugin-pure/index.min.js | 11 + .../cjs/plugin-recaptcha/index.js | 258 + .../cjs/plugin-recaptcha/index.min.js | 11 + .../cjs/plugin-recaptcha3-token/index.js | 112 + .../cjs/plugin-recaptcha3-token/index.min.js | 11 + .../cjs/plugin-recaptcha3/index.js | 146 + .../cjs/plugin-recaptcha3/index.min.js | 11 + .../cjs/plugin-semantic/index.js | 94 + .../cjs/plugin-semantic/index.min.js | 11 + .../cjs/plugin-sequence/index.js | 142 + .../cjs/plugin-sequence/index.min.js | 11 + .../cjs/plugin-shoelace/index.js | 73 + .../cjs/plugin-shoelace/index.min.js | 11 + .../cjs/plugin-spectre/index.js | 72 + .../cjs/plugin-spectre/index.min.js | 11 + .../cjs/plugin-start-end-date/index.js | 130 + .../cjs/plugin-start-end-date/index.min.js | 11 + .../cjs/plugin-submit-button/index.js | 139 + .../cjs/plugin-submit-button/index.min.js | 11 + .../cjs/plugin-tachyons/index.js | 69 + .../cjs/plugin-tachyons/index.min.js | 11 + .../cjs/plugin-tooltip/index.js | 194 + .../cjs/plugin-tooltip/index.min.js | 11 + .../cjs/plugin-transformer/index.js | 65 + .../cjs/plugin-transformer/index.min.js | 11 + .../cjs/plugin-trigger/index.js | 195 + .../cjs/plugin-trigger/index.min.js | 11 + .../cjs/plugin-turnstile/index.js | 242 + .../cjs/plugin-turnstile/index.min.js | 11 + .../cjs/plugin-turret/index.js | 71 + .../cjs/plugin-turret/index.min.js | 11 + .../cjs/plugin-typing-animation/index.js | 102 + .../cjs/plugin-typing-animation/index.min.js | 11 + .../cjs/plugin-ui-kit/index.js | 70 + .../cjs/plugin-ui-kit/index.min.js | 11 + .../cjs/plugin-wizard/index.js | 241 + .../cjs/plugin-wizard/index.min.js | 11 + .../@form-validation/cjs/styles/index.css | 582 + .../@form-validation/cjs/styles/index.min.css | 1 + .../cjs/validator-base64/index.js | 19 + .../cjs/validator-base64/index.min.js | 11 + .../cjs/validator-between/index.js | 43 + .../cjs/validator-between/index.min.js | 11 + .../cjs/validator-bic/index.js | 24 + .../cjs/validator-bic/index.min.js | 11 + .../cjs/validator-blank/index.js | 20 + .../cjs/validator-blank/index.min.js | 11 + .../cjs/validator-callback/index.js | 22 + .../cjs/validator-callback/index.min.js | 11 + .../cjs/validator-choice/index.js | 40 + .../cjs/validator-choice/index.min.js | 11 + .../cjs/validator-color/index.js | 247 + .../cjs/validator-color/index.min.js | 11 + .../cjs/validator-credit-card/index.js | 211 + .../cjs/validator-credit-card/index.min.js | 11 + .../cjs/validator-cusip/index.js | 54 + .../cjs/validator-cusip/index.min.js | 11 + .../cjs/validator-date/index.js | 265 + .../cjs/validator-date/index.min.js | 11 + .../cjs/validator-different/index.js | 21 + .../cjs/validator-different/index.min.js | 11 + .../cjs/validator-digits/index.js | 19 + .../cjs/validator-digits/index.min.js | 11 + .../cjs/validator-ean/index.js | 33 + .../cjs/validator-ean/index.min.js | 11 + .../cjs/validator-ein/index.js | 121 + .../cjs/validator-ein/index.min.js | 11 + .../cjs/validator-email-address/index.js | 79 + .../cjs/validator-email-address/index.min.js | 11 + .../cjs/validator-file/index.js | 154 + .../cjs/validator-file/index.min.js | 11 + .../cjs/validator-greater-than/index.js | 32 + .../cjs/validator-greater-than/index.min.js | 11 + .../cjs/validator-grid/index.js | 34 + .../cjs/validator-grid/index.min.js | 11 + .../cjs/validator-hex/index.js | 21 + .../cjs/validator-hex/index.min.js | 11 + .../cjs/validator-iban/index.js | 198 + .../cjs/validator-iban/index.min.js | 11 + .../cjs/validator-id/index.js | 2737 +++ .../cjs/validator-id/index.min.js | 11 + .../cjs/validator-identical/index.js | 21 + .../cjs/validator-identical/index.min.js | 11 + .../cjs/validator-imei/index.js | 38 + .../cjs/validator-imei/index.min.js | 11 + .../cjs/validator-imo/index.js | 32 + .../cjs/validator-imo/index.min.js | 11 + .../cjs/validator-integer/index.js | 43 + .../cjs/validator-integer/index.min.js | 11 + .../cjs/validator-ip/index.js | 48 + .../cjs/validator-ip/index.min.js | 11 + .../cjs/validator-isbn/index.js | 90 + .../cjs/validator-isbn/index.min.js | 11 + .../cjs/validator-isin/index.js | 57 + .../cjs/validator-isin/index.min.js | 11 + .../cjs/validator-ismn/index.js | 63 + .../cjs/validator-ismn/index.min.js | 11 + .../cjs/validator-issn/index.js | 37 + .../cjs/validator-issn/index.min.js | 11 + .../cjs/validator-less-than/index.js | 32 + .../cjs/validator-less-than/index.min.js | 11 + .../cjs/validator-mac/index.js | 23 + .../cjs/validator-mac/index.min.js | 11 + .../cjs/validator-meid/index.js | 60 + .../cjs/validator-meid/index.min.js | 11 + .../cjs/validator-not-empty/index.js | 20 + .../cjs/validator-not-empty/index.min.js | 11 + .../cjs/validator-numeric/index.js | 50 + .../cjs/validator-numeric/index.min.js | 11 + .../cjs/validator-phone/index.js | 184 + .../cjs/validator-phone/index.min.js | 11 + .../cjs/validator-promise/index.js | 47 + .../cjs/validator-promise/index.min.js | 11 + .../cjs/validator-regexp/index.js | 30 + .../cjs/validator-regexp/index.min.js | 11 + .../cjs/validator-remote/index.js | 63 + .../cjs/validator-remote/index.min.js | 11 + .../cjs/validator-rtn/index.js | 33 + .../cjs/validator-rtn/index.min.js | 11 + .../cjs/validator-sedol/index.js | 34 + .../cjs/validator-sedol/index.min.js | 11 + .../cjs/validator-siren/index.js | 24 + .../cjs/validator-siren/index.min.js | 11 + .../cjs/validator-siret/index.js | 35 + .../cjs/validator-siret/index.min.js | 11 + .../cjs/validator-step/index.js | 62 + .../cjs/validator-step/index.min.js | 11 + .../cjs/validator-string-case/index.js | 37 + .../cjs/validator-string-case/index.min.js | 11 + .../cjs/validator-string-length/index.js | 74 + .../cjs/validator-string-length/index.min.js | 11 + .../cjs/validator-uri/index.js | 106 + .../cjs/validator-uri/index.min.js | 11 + .../cjs/validator-uuid/index.js | 42 + .../cjs/validator-uuid/index.min.js | 11 + .../cjs/validator-vat/index.js | 1904 ++ .../cjs/validator-vat/index.min.js | 11 + .../cjs/validator-vin/index.js | 72 + .../cjs/validator-vin/index.min.js | 11 + .../cjs/validator-zip-code/index.js | 196 + .../cjs/validator-zip-code/index.min.js | 11 + .../@form-validation/esm/bundle/full.js | 13169 ++++++++++++++ .../@form-validation/esm/bundle/full.min.js | 20 + .../@form-validation/esm/bundle/popular.js | 6022 +++++++ .../esm/bundle/popular.min.js | 20 + .../@form-validation/esm/core/index.js | 1346 ++ .../@form-validation/esm/core/index.min.js | 11 + .../@form-validation/esm/locales/ar_MA.js | 380 + .../@form-validation/esm/locales/ar_MA.min.js | 1 + .../@form-validation/esm/locales/bg_BG.js | 380 + .../@form-validation/esm/locales/bg_BG.min.js | 1 + .../@form-validation/esm/locales/ca_ES.js | 380 + .../@form-validation/esm/locales/ca_ES.min.js | 1 + .../@form-validation/esm/locales/cs_CZ.js | 380 + .../@form-validation/esm/locales/cs_CZ.min.js | 1 + .../@form-validation/esm/locales/da_DK.js | 380 + .../@form-validation/esm/locales/da_DK.min.js | 1 + .../@form-validation/esm/locales/de_DE.js | 380 + .../@form-validation/esm/locales/de_DE.min.js | 1 + .../@form-validation/esm/locales/el_GR.js | 380 + .../@form-validation/esm/locales/el_GR.min.js | 1 + .../@form-validation/esm/locales/en_US.js | 380 + .../@form-validation/esm/locales/en_US.min.js | 1 + .../@form-validation/esm/locales/es_CL.js | 380 + .../@form-validation/esm/locales/es_CL.min.js | 1 + .../@form-validation/esm/locales/es_ES.js | 380 + .../@form-validation/esm/locales/es_ES.min.js | 1 + .../@form-validation/esm/locales/eu_ES.js | 380 + .../@form-validation/esm/locales/eu_ES.min.js | 1 + .../@form-validation/esm/locales/fa_IR.js | 380 + .../@form-validation/esm/locales/fa_IR.min.js | 1 + .../@form-validation/esm/locales/fi_FI.js | 380 + .../@form-validation/esm/locales/fi_FI.min.js | 1 + .../@form-validation/esm/locales/fr_BE.js | 380 + .../@form-validation/esm/locales/fr_BE.min.js | 1 + .../@form-validation/esm/locales/fr_FR.js | 380 + .../@form-validation/esm/locales/fr_FR.min.js | 1 + .../@form-validation/esm/locales/he_IL.js | 380 + .../@form-validation/esm/locales/he_IL.min.js | 1 + .../@form-validation/esm/locales/hi_IN.js | 380 + .../@form-validation/esm/locales/hi_IN.min.js | 1 + .../@form-validation/esm/locales/hu_HU.js | 380 + .../@form-validation/esm/locales/hu_HU.min.js | 1 + .../@form-validation/esm/locales/id_ID.js | 380 + .../@form-validation/esm/locales/id_ID.min.js | 1 + .../@form-validation/esm/locales/it_IT.js | 380 + .../@form-validation/esm/locales/it_IT.min.js | 1 + .../@form-validation/esm/locales/ja_JP.js | 380 + .../@form-validation/esm/locales/ja_JP.min.js | 1 + .../@form-validation/esm/locales/nl_BE.js | 380 + .../@form-validation/esm/locales/nl_BE.min.js | 1 + .../@form-validation/esm/locales/nl_NL.js | 380 + .../@form-validation/esm/locales/nl_NL.min.js | 1 + .../@form-validation/esm/locales/no_NO.js | 380 + .../@form-validation/esm/locales/no_NO.min.js | 1 + .../@form-validation/esm/locales/pl_PL.js | 380 + .../@form-validation/esm/locales/pl_PL.min.js | 1 + .../@form-validation/esm/locales/pt_BR.js | 380 + .../@form-validation/esm/locales/pt_BR.min.js | 1 + .../@form-validation/esm/locales/pt_PT.js | 380 + .../@form-validation/esm/locales/pt_PT.min.js | 1 + .../@form-validation/esm/locales/ro_RO.js | 380 + .../@form-validation/esm/locales/ro_RO.min.js | 1 + .../@form-validation/esm/locales/ru_RU.js | 380 + .../@form-validation/esm/locales/ru_RU.min.js | 1 + .../@form-validation/esm/locales/sk_SK.js | 380 + .../@form-validation/esm/locales/sk_SK.min.js | 1 + .../@form-validation/esm/locales/sq_AL.js | 380 + .../@form-validation/esm/locales/sq_AL.min.js | 1 + .../@form-validation/esm/locales/sr_RS.js | 380 + .../@form-validation/esm/locales/sr_RS.min.js | 1 + .../@form-validation/esm/locales/sv_SE.js | 380 + .../@form-validation/esm/locales/sv_SE.min.js | 1 + .../@form-validation/esm/locales/th_TH.js | 380 + .../@form-validation/esm/locales/th_TH.min.js | 1 + .../@form-validation/esm/locales/tr_TR.js | 380 + .../@form-validation/esm/locales/tr_TR.min.js | 1 + .../@form-validation/esm/locales/ua_UA.js | 380 + .../@form-validation/esm/locales/ua_UA.min.js | 1 + .../@form-validation/esm/locales/vi_VN.js | 380 + .../@form-validation/esm/locales/vi_VN.min.js | 1 + .../@form-validation/esm/locales/zh_CN.js | 380 + .../@form-validation/esm/locales/zh_CN.min.js | 1 + .../@form-validation/esm/locales/zh_TW.js | 380 + .../@form-validation/esm/locales/zh_TW.min.js | 1 + .../esm/plugin-alias/index.js | 82 + .../esm/plugin-alias/index.min.js | 11 + .../@form-validation/esm/plugin-aria/index.js | 107 + .../esm/plugin-aria/index.min.js | 11 + .../esm/plugin-auto-focus/index.js | 91 + .../esm/plugin-auto-focus/index.min.js | 11 + .../esm/plugin-bootstrap/index.js | 83 + .../esm/plugin-bootstrap/index.min.js | 11 + .../esm/plugin-bootstrap3/index.js | 78 + .../esm/plugin-bootstrap3/index.min.js | 11 + .../esm/plugin-bootstrap5/index.js | 151 + .../esm/plugin-bootstrap5/index.min.js | 11 + .../esm/plugin-bulma/index.js | 83 + .../esm/plugin-bulma/index.min.js | 11 + .../esm/plugin-declarative/index.js | 284 + .../esm/plugin-declarative/index.min.js | 11 + .../esm/plugin-default-submit/index.js | 68 + .../esm/plugin-default-submit/index.min.js | 11 + .../esm/plugin-dependency/index.js | 69 + .../esm/plugin-dependency/index.min.js | 11 + .../esm/plugin-excluded/index.js | 68 + .../esm/plugin-excluded/index.min.js | 11 + .../esm/plugin-field-status/index.js | 120 + .../esm/plugin-field-status/index.min.js | 11 + .../esm/plugin-foundation/index.js | 73 + .../esm/plugin-foundation/index.min.js | 11 + .../esm/plugin-framework/index.js | 270 + .../esm/plugin-framework/index.min.js | 11 + .../@form-validation/esm/plugin-icon/index.js | 223 + .../esm/plugin-icon/index.min.js | 11 + .../index.js | 181 + .../index.min.js | 11 + .../@form-validation/esm/plugin-j/index.js | 22 + .../esm/plugin-j/index.min.js | 11 + .../@form-validation/esm/plugin-l10n/index.js | 74 + .../esm/plugin-l10n/index.min.js | 11 + .../esm/plugin-mailgun/index.js | 103 + .../esm/plugin-mailgun/index.min.js | 11 + .../esm/plugin-mandatory-icon/index.js | 173 + .../esm/plugin-mandatory-icon/index.min.js | 11 + .../esm/plugin-materialize/index.js | 70 + .../esm/plugin-materialize/index.min.js | 11 + .../esm/plugin-message/index.js | 282 + .../esm/plugin-message/index.min.js | 11 + .../esm/plugin-milligram/index.js | 68 + .../esm/plugin-milligram/index.min.js | 11 + .../@form-validation/esm/plugin-mini/index.js | 68 + .../esm/plugin-mini/index.min.js | 11 + .../@form-validation/esm/plugin-mui/index.js | 68 + .../esm/plugin-mui/index.min.js | 11 + .../esm/plugin-password-strength/index.js | 124 + .../esm/plugin-password-strength/index.min.js | 11 + .../@form-validation/esm/plugin-pure/index.js | 68 + .../esm/plugin-pure/index.min.js | 11 + .../esm/plugin-recaptcha/index.js | 256 + .../esm/plugin-recaptcha/index.min.js | 11 + .../esm/plugin-recaptcha3-token/index.js | 110 + .../esm/plugin-recaptcha3-token/index.min.js | 11 + .../esm/plugin-recaptcha3/index.js | 144 + .../esm/plugin-recaptcha3/index.min.js | 11 + .../esm/plugin-semantic/index.js | 92 + .../esm/plugin-semantic/index.min.js | 11 + .../esm/plugin-sequence/index.js | 140 + .../esm/plugin-sequence/index.min.js | 11 + .../esm/plugin-shoelace/index.js | 71 + .../esm/plugin-shoelace/index.min.js | 11 + .../esm/plugin-spectre/index.js | 70 + .../esm/plugin-spectre/index.min.js | 11 + .../esm/plugin-start-end-date/index.js | 128 + .../esm/plugin-start-end-date/index.min.js | 11 + .../esm/plugin-submit-button/index.js | 137 + .../esm/plugin-submit-button/index.min.js | 11 + .../esm/plugin-tachyons/index.js | 67 + .../esm/plugin-tachyons/index.min.js | 11 + .../esm/plugin-tooltip/index.js | 192 + .../esm/plugin-tooltip/index.min.js | 11 + .../esm/plugin-transformer/index.js | 63 + .../esm/plugin-transformer/index.min.js | 11 + .../esm/plugin-trigger/index.js | 193 + .../esm/plugin-trigger/index.min.js | 11 + .../esm/plugin-turnstile/index.js | 240 + .../esm/plugin-turnstile/index.min.js | 11 + .../esm/plugin-turret/index.js | 69 + .../esm/plugin-turret/index.min.js | 11 + .../esm/plugin-typing-animation/index.js | 100 + .../esm/plugin-typing-animation/index.min.js | 11 + .../esm/plugin-ui-kit/index.js | 68 + .../esm/plugin-ui-kit/index.min.js | 11 + .../esm/plugin-wizard/index.js | 239 + .../esm/plugin-wizard/index.min.js | 11 + .../@form-validation/esm/styles/index.css | 582 + .../@form-validation/esm/styles/index.min.css | 1 + .../esm/validator-base64/index.js | 17 + .../esm/validator-base64/index.min.js | 11 + .../esm/validator-between/index.js | 41 + .../esm/validator-between/index.min.js | 11 + .../esm/validator-bic/index.js | 22 + .../esm/validator-bic/index.min.js | 11 + .../esm/validator-blank/index.js | 18 + .../esm/validator-blank/index.min.js | 11 + .../esm/validator-callback/index.js | 20 + .../esm/validator-callback/index.min.js | 11 + .../esm/validator-choice/index.js | 38 + .../esm/validator-choice/index.min.js | 11 + .../esm/validator-color/index.js | 245 + .../esm/validator-color/index.min.js | 11 + .../esm/validator-credit-card/index.js | 208 + .../esm/validator-credit-card/index.min.js | 11 + .../esm/validator-cusip/index.js | 52 + .../esm/validator-cusip/index.min.js | 11 + .../esm/validator-date/index.js | 263 + .../esm/validator-date/index.min.js | 11 + .../esm/validator-different/index.js | 19 + .../esm/validator-different/index.min.js | 11 + .../esm/validator-digits/index.js | 17 + .../esm/validator-digits/index.min.js | 11 + .../esm/validator-ean/index.js | 31 + .../esm/validator-ean/index.min.js | 11 + .../esm/validator-ein/index.js | 119 + .../esm/validator-ein/index.min.js | 11 + .../esm/validator-email-address/index.js | 77 + .../esm/validator-email-address/index.min.js | 11 + .../esm/validator-file/index.js | 152 + .../esm/validator-file/index.min.js | 11 + .../esm/validator-greater-than/index.js | 30 + .../esm/validator-greater-than/index.min.js | 11 + .../esm/validator-grid/index.js | 32 + .../esm/validator-grid/index.min.js | 11 + .../esm/validator-hex/index.js | 19 + .../esm/validator-hex/index.min.js | 11 + .../esm/validator-iban/index.js | 196 + .../esm/validator-iban/index.min.js | 11 + .../esm/validator-id/index.js | 2735 +++ .../esm/validator-id/index.min.js | 11 + .../esm/validator-identical/index.js | 19 + .../esm/validator-identical/index.min.js | 11 + .../esm/validator-imei/index.js | 36 + .../esm/validator-imei/index.min.js | 11 + .../esm/validator-imo/index.js | 30 + .../esm/validator-imo/index.min.js | 11 + .../esm/validator-integer/index.js | 41 + .../esm/validator-integer/index.min.js | 11 + .../esm/validator-ip/index.js | 46 + .../esm/validator-ip/index.min.js | 11 + .../esm/validator-isbn/index.js | 88 + .../esm/validator-isbn/index.min.js | 11 + .../esm/validator-isin/index.js | 55 + .../esm/validator-isin/index.min.js | 11 + .../esm/validator-ismn/index.js | 61 + .../esm/validator-ismn/index.min.js | 11 + .../esm/validator-issn/index.js | 35 + .../esm/validator-issn/index.min.js | 11 + .../esm/validator-less-than/index.js | 30 + .../esm/validator-less-than/index.min.js | 11 + .../esm/validator-mac/index.js | 21 + .../esm/validator-mac/index.min.js | 11 + .../esm/validator-meid/index.js | 58 + .../esm/validator-meid/index.min.js | 11 + .../esm/validator-not-empty/index.js | 18 + .../esm/validator-not-empty/index.min.js | 11 + .../esm/validator-numeric/index.js | 48 + .../esm/validator-numeric/index.min.js | 11 + .../esm/validator-phone/index.js | 182 + .../esm/validator-phone/index.min.js | 11 + .../esm/validator-promise/index.js | 45 + .../esm/validator-promise/index.min.js | 11 + .../esm/validator-regexp/index.js | 28 + .../esm/validator-regexp/index.min.js | 11 + .../esm/validator-remote/index.js | 61 + .../esm/validator-remote/index.min.js | 11 + .../esm/validator-rtn/index.js | 31 + .../esm/validator-rtn/index.min.js | 11 + .../esm/validator-sedol/index.js | 32 + .../esm/validator-sedol/index.min.js | 11 + .../esm/validator-siren/index.js | 22 + .../esm/validator-siren/index.min.js | 11 + .../esm/validator-siret/index.js | 33 + .../esm/validator-siret/index.min.js | 11 + .../esm/validator-step/index.js | 60 + .../esm/validator-step/index.min.js | 11 + .../esm/validator-string-case/index.js | 35 + .../esm/validator-string-case/index.min.js | 11 + .../esm/validator-string-length/index.js | 72 + .../esm/validator-string-length/index.min.js | 11 + .../esm/validator-uri/index.js | 104 + .../esm/validator-uri/index.min.js | 11 + .../esm/validator-uuid/index.js | 40 + .../esm/validator-uuid/index.min.js | 11 + .../esm/validator-vat/index.js | 1902 ++ .../esm/validator-vat/index.min.js | 11 + .../esm/validator-vin/index.js | 70 + .../esm/validator-vin/index.min.js | 11 + .../esm/validator-zip-code/index.js | 194 + .../esm/validator-zip-code/index.min.js | 11 + .../@form-validation/umd/bundle/full.js | 13179 ++++++++++++++ .../@form-validation/umd/bundle/full.min.js | 20 + .../@form-validation/umd/bundle/popular.js | 6032 +++++++ .../umd/bundle/popular.min.js | 20 + .../@form-validation/umd/core/index.js | 1405 ++ .../@form-validation/umd/core/index.min.js | 11 + .../@form-validation/umd/locales/ar_MA.js | 388 + .../@form-validation/umd/locales/ar_MA.min.js | 1 + .../@form-validation/umd/locales/bg_BG.js | 388 + .../@form-validation/umd/locales/bg_BG.min.js | 1 + .../@form-validation/umd/locales/ca_ES.js | 388 + .../@form-validation/umd/locales/ca_ES.min.js | 1 + .../@form-validation/umd/locales/cs_CZ.js | 388 + .../@form-validation/umd/locales/cs_CZ.min.js | 1 + .../@form-validation/umd/locales/da_DK.js | 388 + .../@form-validation/umd/locales/da_DK.min.js | 1 + .../@form-validation/umd/locales/de_DE.js | 388 + .../@form-validation/umd/locales/de_DE.min.js | 1 + .../@form-validation/umd/locales/el_GR.js | 388 + .../@form-validation/umd/locales/el_GR.min.js | 1 + .../@form-validation/umd/locales/en_US.js | 388 + .../@form-validation/umd/locales/en_US.min.js | 1 + .../@form-validation/umd/locales/es_CL.js | 388 + .../@form-validation/umd/locales/es_CL.min.js | 1 + .../@form-validation/umd/locales/es_ES.js | 388 + .../@form-validation/umd/locales/es_ES.min.js | 1 + .../@form-validation/umd/locales/eu_ES.js | 388 + .../@form-validation/umd/locales/eu_ES.min.js | 1 + .../@form-validation/umd/locales/fa_IR.js | 388 + .../@form-validation/umd/locales/fa_IR.min.js | 1 + .../@form-validation/umd/locales/fi_FI.js | 388 + .../@form-validation/umd/locales/fi_FI.min.js | 1 + .../@form-validation/umd/locales/fr_BE.js | 388 + .../@form-validation/umd/locales/fr_BE.min.js | 1 + .../@form-validation/umd/locales/fr_FR.js | 388 + .../@form-validation/umd/locales/fr_FR.min.js | 1 + .../@form-validation/umd/locales/he_IL.js | 388 + .../@form-validation/umd/locales/he_IL.min.js | 1 + .../@form-validation/umd/locales/hi_IN.js | 388 + .../@form-validation/umd/locales/hi_IN.min.js | 1 + .../@form-validation/umd/locales/hu_HU.js | 388 + .../@form-validation/umd/locales/hu_HU.min.js | 1 + .../@form-validation/umd/locales/id_ID.js | 388 + .../@form-validation/umd/locales/id_ID.min.js | 1 + .../@form-validation/umd/locales/it_IT.js | 388 + .../@form-validation/umd/locales/it_IT.min.js | 1 + .../@form-validation/umd/locales/ja_JP.js | 388 + .../@form-validation/umd/locales/ja_JP.min.js | 1 + .../@form-validation/umd/locales/nl_BE.js | 388 + .../@form-validation/umd/locales/nl_BE.min.js | 1 + .../@form-validation/umd/locales/nl_NL.js | 388 + .../@form-validation/umd/locales/nl_NL.min.js | 1 + .../@form-validation/umd/locales/no_NO.js | 388 + .../@form-validation/umd/locales/no_NO.min.js | 1 + .../@form-validation/umd/locales/pl_PL.js | 388 + .../@form-validation/umd/locales/pl_PL.min.js | 1 + .../@form-validation/umd/locales/pt_BR.js | 388 + .../@form-validation/umd/locales/pt_BR.min.js | 1 + .../@form-validation/umd/locales/pt_PT.js | 388 + .../@form-validation/umd/locales/pt_PT.min.js | 1 + .../@form-validation/umd/locales/ro_RO.js | 388 + .../@form-validation/umd/locales/ro_RO.min.js | 1 + .../@form-validation/umd/locales/ru_RU.js | 388 + .../@form-validation/umd/locales/ru_RU.min.js | 1 + .../@form-validation/umd/locales/sk_SK.js | 388 + .../@form-validation/umd/locales/sk_SK.min.js | 1 + .../@form-validation/umd/locales/sq_AL.js | 388 + .../@form-validation/umd/locales/sq_AL.min.js | 1 + .../@form-validation/umd/locales/sr_RS.js | 388 + .../@form-validation/umd/locales/sr_RS.min.js | 1 + .../@form-validation/umd/locales/sv_SE.js | 388 + .../@form-validation/umd/locales/sv_SE.min.js | 1 + .../@form-validation/umd/locales/th_TH.js | 388 + .../@form-validation/umd/locales/th_TH.min.js | 1 + .../@form-validation/umd/locales/tr_TR.js | 388 + .../@form-validation/umd/locales/tr_TR.min.js | 1 + .../@form-validation/umd/locales/ua_UA.js | 388 + .../@form-validation/umd/locales/ua_UA.min.js | 1 + .../@form-validation/umd/locales/vi_VN.js | 388 + .../@form-validation/umd/locales/vi_VN.min.js | 1 + .../@form-validation/umd/locales/zh_CN.js | 388 + .../@form-validation/umd/locales/zh_CN.min.js | 1 + .../@form-validation/umd/locales/zh_TW.js | 388 + .../@form-validation/umd/locales/zh_TW.min.js | 1 + .../umd/plugin-alias/index.js | 88 + .../umd/plugin-alias/index.min.js | 11 + .../@form-validation/umd/plugin-aria/index.js | 113 + .../umd/plugin-aria/index.min.js | 11 + .../umd/plugin-auto-focus/index.js | 96 + .../umd/plugin-auto-focus/index.min.js | 11 + .../umd/plugin-bootstrap/index.js | 88 + .../umd/plugin-bootstrap/index.min.js | 11 + .../umd/plugin-bootstrap3/index.js | 83 + .../umd/plugin-bootstrap3/index.min.js | 11 + .../umd/plugin-bootstrap5/index.js | 156 + .../umd/plugin-bootstrap5/index.min.js | 11 + .../umd/plugin-bulma/index.js | 88 + .../umd/plugin-bulma/index.min.js | 11 + .../umd/plugin-declarative/index.js | 290 + .../umd/plugin-declarative/index.min.js | 11 + .../umd/plugin-default-submit/index.js | 74 + .../umd/plugin-default-submit/index.min.js | 11 + .../umd/plugin-dependency/index.js | 75 + .../umd/plugin-dependency/index.min.js | 11 + .../umd/plugin-excluded/index.js | 74 + .../umd/plugin-excluded/index.min.js | 11 + .../umd/plugin-field-status/index.js | 126 + .../umd/plugin-field-status/index.min.js | 11 + .../umd/plugin-foundation/index.js | 79 + .../umd/plugin-foundation/index.min.js | 11 + .../umd/plugin-framework/index.js | 275 + .../umd/plugin-framework/index.min.js | 11 + .../@form-validation/umd/plugin-icon/index.js | 229 + .../umd/plugin-icon/index.min.js | 11 + .../index.js | 187 + .../index.min.js | 11 + .../@form-validation/umd/plugin-j/index.js | 27 + .../umd/plugin-j/index.min.js | 11 + .../@form-validation/umd/plugin-l10n/index.js | 80 + .../umd/plugin-l10n/index.min.js | 11 + .../umd/plugin-mailgun/index.js | 108 + .../umd/plugin-mailgun/index.min.js | 11 + .../umd/plugin-mandatory-icon/index.js | 179 + .../umd/plugin-mandatory-icon/index.min.js | 11 + .../umd/plugin-materialize/index.js | 75 + .../umd/plugin-materialize/index.min.js | 11 + .../umd/plugin-message/index.js | 288 + .../umd/plugin-message/index.min.js | 11 + .../umd/plugin-milligram/index.js | 73 + .../umd/plugin-milligram/index.min.js | 11 + .../@form-validation/umd/plugin-mini/index.js | 73 + .../umd/plugin-mini/index.min.js | 11 + .../@form-validation/umd/plugin-mui/index.js | 73 + .../umd/plugin-mui/index.min.js | 11 + .../umd/plugin-password-strength/index.js | 130 + .../umd/plugin-password-strength/index.min.js | 11 + .../@form-validation/umd/plugin-pure/index.js | 73 + .../umd/plugin-pure/index.min.js | 11 + .../umd/plugin-recaptcha/index.js | 262 + .../umd/plugin-recaptcha/index.min.js | 11 + .../umd/plugin-recaptcha3-token/index.js | 116 + .../umd/plugin-recaptcha3-token/index.min.js | 11 + .../umd/plugin-recaptcha3/index.js | 150 + .../umd/plugin-recaptcha3/index.min.js | 11 + .../umd/plugin-semantic/index.js | 97 + .../umd/plugin-semantic/index.min.js | 11 + .../umd/plugin-sequence/index.js | 146 + .../umd/plugin-sequence/index.min.js | 11 + .../umd/plugin-shoelace/index.js | 76 + .../umd/plugin-shoelace/index.min.js | 11 + .../umd/plugin-spectre/index.js | 75 + .../umd/plugin-spectre/index.min.js | 11 + .../umd/plugin-start-end-date/index.js | 134 + .../umd/plugin-start-end-date/index.min.js | 11 + .../umd/plugin-submit-button/index.js | 143 + .../umd/plugin-submit-button/index.min.js | 11 + .../umd/plugin-tachyons/index.js | 72 + .../umd/plugin-tachyons/index.min.js | 11 + .../umd/plugin-tooltip/index.js | 198 + .../umd/plugin-tooltip/index.min.js | 11 + .../umd/plugin-transformer/index.js | 69 + .../umd/plugin-transformer/index.min.js | 11 + .../umd/plugin-trigger/index.js | 199 + .../umd/plugin-trigger/index.min.js | 11 + .../umd/plugin-turnstile/index.js | 246 + .../umd/plugin-turnstile/index.min.js | 11 + .../umd/plugin-turret/index.js | 74 + .../umd/plugin-turret/index.min.js | 11 + .../umd/plugin-typing-animation/index.js | 106 + .../umd/plugin-typing-animation/index.min.js | 11 + .../umd/plugin-ui-kit/index.js | 73 + .../umd/plugin-ui-kit/index.min.js | 11 + .../umd/plugin-wizard/index.js | 244 + .../umd/plugin-wizard/index.min.js | 11 + .../@form-validation/umd/styles/index.css | 582 + .../@form-validation/umd/styles/index.min.css | 1 + .../umd/validator-base64/index.js | 25 + .../umd/validator-base64/index.min.js | 11 + .../umd/validator-between/index.js | 47 + .../umd/validator-between/index.min.js | 11 + .../umd/validator-bic/index.js | 30 + .../umd/validator-bic/index.min.js | 11 + .../umd/validator-blank/index.js | 26 + .../umd/validator-blank/index.min.js | 11 + .../umd/validator-callback/index.js | 26 + .../umd/validator-callback/index.min.js | 11 + .../umd/validator-choice/index.js | 44 + .../umd/validator-choice/index.min.js | 11 + .../umd/validator-color/index.js | 253 + .../umd/validator-color/index.min.js | 11 + .../umd/validator-credit-card/index.js | 214 + .../umd/validator-credit-card/index.min.js | 11 + .../umd/validator-cusip/index.js | 60 + .../umd/validator-cusip/index.min.js | 11 + .../umd/validator-date/index.js | 269 + .../umd/validator-date/index.min.js | 11 + .../umd/validator-different/index.js | 27 + .../umd/validator-different/index.min.js | 11 + .../umd/validator-digits/index.js | 25 + .../umd/validator-digits/index.min.js | 11 + .../umd/validator-ean/index.js | 39 + .../umd/validator-ean/index.min.js | 11 + .../umd/validator-ein/index.js | 127 + .../umd/validator-ein/index.min.js | 11 + .../umd/validator-email-address/index.js | 83 + .../umd/validator-email-address/index.min.js | 11 + .../umd/validator-file/index.js | 160 + .../umd/validator-file/index.min.js | 11 + .../umd/validator-greater-than/index.js | 36 + .../umd/validator-greater-than/index.min.js | 11 + .../umd/validator-grid/index.js | 38 + .../umd/validator-grid/index.min.js | 11 + .../umd/validator-hex/index.js | 27 + .../umd/validator-hex/index.min.js | 11 + .../umd/validator-iban/index.js | 202 + .../umd/validator-iban/index.min.js | 11 + .../umd/validator-id/index.js | 2741 +++ .../umd/validator-id/index.min.js | 11 + .../umd/validator-identical/index.js | 27 + .../umd/validator-identical/index.min.js | 11 + .../umd/validator-imei/index.js | 42 + .../umd/validator-imei/index.min.js | 11 + .../umd/validator-imo/index.js | 38 + .../umd/validator-imo/index.min.js | 11 + .../umd/validator-integer/index.js | 47 + .../umd/validator-integer/index.min.js | 11 + .../umd/validator-ip/index.js | 52 + .../umd/validator-ip/index.min.js | 11 + .../umd/validator-isbn/index.js | 96 + .../umd/validator-isbn/index.min.js | 11 + .../umd/validator-isin/index.js | 63 + .../umd/validator-isin/index.min.js | 11 + .../umd/validator-ismn/index.js | 69 + .../umd/validator-ismn/index.min.js | 11 + .../umd/validator-issn/index.js | 43 + .../umd/validator-issn/index.min.js | 11 + .../umd/validator-less-than/index.js | 36 + .../umd/validator-less-than/index.min.js | 11 + .../umd/validator-mac/index.js | 29 + .../umd/validator-mac/index.min.js | 11 + .../umd/validator-meid/index.js | 64 + .../umd/validator-meid/index.min.js | 11 + .../umd/validator-not-empty/index.js | 26 + .../umd/validator-not-empty/index.min.js | 11 + .../umd/validator-numeric/index.js | 54 + .../umd/validator-numeric/index.min.js | 11 + .../umd/validator-phone/index.js | 188 + .../umd/validator-phone/index.min.js | 11 + .../umd/validator-promise/index.js | 51 + .../umd/validator-promise/index.min.js | 11 + .../umd/validator-regexp/index.js | 36 + .../umd/validator-regexp/index.min.js | 11 + .../umd/validator-remote/index.js | 67 + .../umd/validator-remote/index.min.js | 11 + .../umd/validator-rtn/index.js | 39 + .../umd/validator-rtn/index.min.js | 11 + .../umd/validator-sedol/index.js | 40 + .../umd/validator-sedol/index.min.js | 11 + .../umd/validator-siren/index.js | 28 + .../umd/validator-siren/index.min.js | 11 + .../umd/validator-siret/index.js | 41 + .../umd/validator-siret/index.min.js | 11 + .../umd/validator-step/index.js | 66 + .../umd/validator-step/index.min.js | 11 + .../umd/validator-string-case/index.js | 41 + .../umd/validator-string-case/index.min.js | 11 + .../umd/validator-string-length/index.js | 78 + .../umd/validator-string-length/index.min.js | 11 + .../umd/validator-uri/index.js | 110 + .../umd/validator-uri/index.min.js | 11 + .../umd/validator-uuid/index.js | 46 + .../umd/validator-uuid/index.min.js | 11 + .../umd/validator-vat/index.js | 1908 ++ .../umd/validator-vat/index.min.js | 11 + .../umd/validator-vin/index.js | 78 + .../umd/validator-vin/index.min.js | 11 + .../umd/validator-zip-code/index.js | 200 + .../umd/validator-zip-code/index.min.js | 11 + .../vendors/keenicons/duotone/Read Me.txt | 7 + .../keenicons/duotone/demo-files/demo.css | 152 + .../keenicons/duotone/demo-files/demo.js | 30 + .../vendors/keenicons/duotone/demo.html | 7948 +++++++++ .../duotone/fonts/keenicons-duotone.svg | 1109 ++ .../duotone/fonts/keenicons-duotone.ttf | Bin 0 -> 220176 bytes .../duotone/fonts/keenicons-duotone.woff | Bin 0 -> 220252 bytes .../vendors/keenicons/duotone/selection.json | 1 + .../vendors/keenicons/duotone/style.css | 5465 ++++++ .../vendors/keenicons/filled/Read Me.txt | 7 + .../keenicons/filled/demo-files/demo.css | 152 + .../keenicons/filled/demo-files/demo.js | 30 + .../vendors/keenicons/filled/demo.html | 7948 +++++++++ .../filled/fonts/keenicons-filled.svg | 1082 ++ .../filled/fonts/keenicons-filled.ttf | Bin 0 -> 431304 bytes .../filled/fonts/keenicons-filled.woff | Bin 0 -> 431380 bytes .../vendors/keenicons/filled/selection.json | 1 + .../vendors/keenicons/filled/style.css | 5276 ++++++ .../vendors/keenicons/outline/Read Me.txt | 7 + .../keenicons/outline/demo-files/demo.css | 152 + .../keenicons/outline/demo-files/demo.js | 30 + .../vendors/keenicons/outline/demo.html | 7948 +++++++++ .../outline/fonts/keenicons-outline.svg | 575 + .../outline/fonts/keenicons-outline.ttf | Bin 0 -> 323144 bytes .../outline/fonts/keenicons-outline.woff | Bin 0 -> 323220 bytes .../vendors/keenicons/outline/selection.json | 1 + .../vendors/keenicons/outline/style.css | 1721 ++ .../vendors/keenicons/solid/Read Me.txt | 7 + .../keenicons/solid/demo-files/demo.css | 152 + .../keenicons/solid/demo-files/demo.js | 30 + .../vendors/keenicons/solid/demo.html | 7948 +++++++++ .../keenicons/solid/fonts/keenicons-solid.svg | 575 + .../keenicons/solid/fonts/keenicons-solid.ttf | Bin 0 -> 223768 bytes .../solid/fonts/keenicons-solid.woff | Bin 0 -> 223844 bytes .../vendors/keenicons/solid/selection.json | 1 + .../vendors/keenicons/solid/style.css | 1721 ++ .../metronic/vendors/prismjs/prismjs.init.js | 12 + 1257 files changed, 267864 insertions(+) create mode 100644 resources/metronic/app/layouts/base.js create mode 100644 resources/metronic/core/components/accordion/accordion.ts create mode 100644 resources/metronic/core/components/accordion/index.ts create mode 100644 resources/metronic/core/components/accordion/types.ts create mode 100644 resources/metronic/core/components/collapse/collapse.ts create mode 100644 resources/metronic/core/components/collapse/index.ts create mode 100644 resources/metronic/core/components/collapse/types.ts create mode 100644 resources/metronic/core/components/component.ts create mode 100644 resources/metronic/core/components/config.ts create mode 100644 resources/metronic/core/components/config.umd.js create mode 100644 resources/metronic/core/components/constants.ts create mode 100644 resources/metronic/core/components/datatable/datatable.ts create mode 100644 resources/metronic/core/components/datatable/index.ts create mode 100644 resources/metronic/core/components/datatable/types.ts create mode 100644 resources/metronic/core/components/dismiss/dismiss.ts create mode 100644 resources/metronic/core/components/dismiss/index.ts create mode 100644 resources/metronic/core/components/dismiss/types.ts create mode 100644 resources/metronic/core/components/drawer/drawer.ts create mode 100644 resources/metronic/core/components/drawer/index.ts create mode 100644 resources/metronic/core/components/drawer/types.ts create mode 100644 resources/metronic/core/components/dropdown/dropdown.ts create mode 100644 resources/metronic/core/components/dropdown/index.ts create mode 100644 resources/metronic/core/components/dropdown/types.ts create mode 100644 resources/metronic/core/components/image-input/image-input.ts create mode 100644 resources/metronic/core/components/image-input/index.ts create mode 100644 resources/metronic/core/components/image-input/types.ts create mode 100644 resources/metronic/core/components/menu/index.ts create mode 100644 resources/metronic/core/components/menu/menu.ts create mode 100644 resources/metronic/core/components/menu/types.ts create mode 100644 resources/metronic/core/components/modal/index.ts create mode 100644 resources/metronic/core/components/modal/modal.ts create mode 100644 resources/metronic/core/components/modal/types.ts create mode 100644 resources/metronic/core/components/reparent/index.ts create mode 100644 resources/metronic/core/components/reparent/reparent.ts create mode 100644 resources/metronic/core/components/reparent/types.ts create mode 100644 resources/metronic/core/components/scrollable/index.ts create mode 100644 resources/metronic/core/components/scrollable/scrollable.ts create mode 100644 resources/metronic/core/components/scrollable/types.ts create mode 100644 resources/metronic/core/components/scrollspy/index.ts create mode 100644 resources/metronic/core/components/scrollspy/scrollspy.ts create mode 100644 resources/metronic/core/components/scrollspy/types.ts create mode 100644 resources/metronic/core/components/scrollto/index.ts create mode 100644 resources/metronic/core/components/scrollto/scrollto.ts create mode 100644 resources/metronic/core/components/scrollto/types.ts create mode 100644 resources/metronic/core/components/stepper/index.ts create mode 100644 resources/metronic/core/components/stepper/stepper.ts create mode 100644 resources/metronic/core/components/stepper/types.ts create mode 100644 resources/metronic/core/components/sticky/index.ts create mode 100644 resources/metronic/core/components/sticky/sticky.ts create mode 100644 resources/metronic/core/components/sticky/types.ts create mode 100644 resources/metronic/core/components/tabs/index.ts create mode 100644 resources/metronic/core/components/tabs/tabs.ts create mode 100644 resources/metronic/core/components/tabs/types.ts create mode 100644 resources/metronic/core/components/theme/index.ts create mode 100644 resources/metronic/core/components/theme/theme.ts create mode 100644 resources/metronic/core/components/theme/types.ts create mode 100644 resources/metronic/core/components/toggle-password/index.ts create mode 100644 resources/metronic/core/components/toggle-password/toggle-password.ts create mode 100644 resources/metronic/core/components/toggle-password/types.ts create mode 100644 resources/metronic/core/components/toggle/index.ts create mode 100644 resources/metronic/core/components/toggle/toggle.ts create mode 100644 resources/metronic/core/components/toggle/types.ts create mode 100644 resources/metronic/core/components/tooltip/index.ts create mode 100644 resources/metronic/core/components/tooltip/tooltip.ts create mode 100644 resources/metronic/core/components/tooltip/types.ts create mode 100644 resources/metronic/core/helpers/data.ts create mode 100644 resources/metronic/core/helpers/dom.ts create mode 100644 resources/metronic/core/helpers/event-handler.ts create mode 100644 resources/metronic/core/helpers/utils.ts create mode 100644 resources/metronic/core/index.spa.ts create mode 100644 resources/metronic/core/index.ts create mode 100644 resources/metronic/core/plugins/components/accordion.js create mode 100644 resources/metronic/core/plugins/components/apexcharts.js create mode 100644 resources/metronic/core/plugins/components/badge.js create mode 100644 resources/metronic/core/plugins/components/breakpoints.js create mode 100644 resources/metronic/core/plugins/components/btn-group.js create mode 100644 resources/metronic/core/plugins/components/btn.js create mode 100644 resources/metronic/core/plugins/components/card.js create mode 100644 resources/metronic/core/plugins/components/checkbox.js create mode 100644 resources/metronic/core/plugins/components/container.js create mode 100644 resources/metronic/core/plugins/components/drawer.js create mode 100644 resources/metronic/core/plugins/components/dropdown.js create mode 100644 resources/metronic/core/plugins/components/file-input.js create mode 100644 resources/metronic/core/plugins/components/image-input.js create mode 100644 resources/metronic/core/plugins/components/input-group.js create mode 100644 resources/metronic/core/plugins/components/input.js create mode 100644 resources/metronic/core/plugins/components/leaflet.js create mode 100644 resources/metronic/core/plugins/components/menu.js create mode 100644 resources/metronic/core/plugins/components/modal.js create mode 100644 resources/metronic/core/plugins/components/pagination.js create mode 100644 resources/metronic/core/plugins/components/popover.js create mode 100644 resources/metronic/core/plugins/components/progress.js create mode 100644 resources/metronic/core/plugins/components/radio.js create mode 100644 resources/metronic/core/plugins/components/range.js create mode 100644 resources/metronic/core/plugins/components/rating.js create mode 100644 resources/metronic/core/plugins/components/scrollable.js create mode 100644 resources/metronic/core/plugins/components/select.js create mode 100644 resources/metronic/core/plugins/components/switch.js create mode 100644 resources/metronic/core/plugins/components/table.js create mode 100644 resources/metronic/core/plugins/components/tabs.js create mode 100644 resources/metronic/core/plugins/components/textarea.js create mode 100644 resources/metronic/core/plugins/components/theme.js create mode 100644 resources/metronic/core/plugins/components/tooltip.js create mode 100644 resources/metronic/core/plugins/components/typography.js create mode 100644 resources/metronic/core/plugins/plugin.js create mode 100644 resources/metronic/core/types.ts create mode 100644 resources/metronic/css/base.css create mode 100644 resources/metronic/css/styles.css create mode 100644 resources/metronic/vendors/@form-validation/amd/bundle/full.js create mode 100644 resources/metronic/vendors/@form-validation/amd/bundle/full.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/bundle/popular.js create mode 100644 resources/metronic/vendors/@form-validation/amd/bundle/popular.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/core/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/core/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ar_MA.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ar_MA.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/bg_BG.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/bg_BG.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ca_ES.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ca_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/cs_CZ.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/cs_CZ.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/da_DK.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/da_DK.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/de_DE.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/de_DE.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/el_GR.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/el_GR.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/en_US.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/en_US.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/es_CL.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/es_CL.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/es_ES.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/es_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/eu_ES.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/eu_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fa_IR.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fa_IR.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fi_FI.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fi_FI.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fr_BE.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fr_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fr_FR.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/fr_FR.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/he_IL.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/he_IL.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/hi_IN.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/hi_IN.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/hu_HU.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/hu_HU.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/id_ID.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/id_ID.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/it_IT.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/it_IT.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ja_JP.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ja_JP.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/nl_BE.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/nl_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/nl_NL.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/nl_NL.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/no_NO.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/no_NO.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pl_PL.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pl_PL.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pt_BR.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pt_BR.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pt_PT.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/pt_PT.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ro_RO.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ro_RO.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ru_RU.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ru_RU.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sk_SK.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sk_SK.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sq_AL.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sq_AL.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sr_RS.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sr_RS.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sv_SE.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/sv_SE.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/th_TH.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/th_TH.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/tr_TR.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/tr_TR.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ua_UA.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/ua_UA.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/vi_VN.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/vi_VN.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/zh_CN.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/zh_CN.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/zh_TW.js create mode 100644 resources/metronic/vendors/@form-validation/amd/locales/zh_TW.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-alias/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-alias/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-aria/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-aria/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-auto-focus/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-auto-focus/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap3/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap5/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bootstrap5/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bulma/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-bulma/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-declarative/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-declarative/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-default-submit/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-default-submit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-dependency/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-dependency/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-excluded/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-excluded/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-field-status/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-field-status/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-foundation/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-foundation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-framework/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-framework/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-international-telephone-input/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-international-telephone-input/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-j/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-j/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-l10n/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-l10n/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mailgun/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mailgun/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mandatory-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mandatory-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-materialize/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-materialize/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-message/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-message/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-milligram/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-milligram/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mini/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mini/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mui/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-mui/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-password-strength/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-password-strength/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-pure/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-pure/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha3-token/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha3-token/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha3/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-recaptcha3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-semantic/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-semantic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-sequence/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-sequence/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-shoelace/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-shoelace/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-spectre/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-spectre/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-start-end-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-start-end-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-submit-button/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-submit-button/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-tachyons/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-tachyons/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-tooltip/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-tooltip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-transformer/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-transformer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-trigger/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-trigger/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-turnstile/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-turnstile/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-turret/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-turret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-typing-animation/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-typing-animation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-ui-kit/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-ui-kit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-wizard/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/plugin-wizard/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/styles/index.css create mode 100644 resources/metronic/vendors/@form-validation/amd/styles/index.min.css create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-base64/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-base64/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-between/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-between/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-bic/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-bic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-blank/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-blank/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-callback/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-callback/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-choice/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-choice/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-color/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-color/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-credit-card/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-credit-card/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-cusip/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-cusip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-different/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-different/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-digits/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-digits/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ean/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ean/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ein/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ein/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-email-address/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-email-address/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-file/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-file/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-greater-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-greater-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-grid/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-grid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-hex/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-hex/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-iban/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-iban/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-id/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-id/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-identical/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-identical/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-imei/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-imei/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-imo/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-imo/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-integer/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-integer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ip/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-isbn/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-isbn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-isin/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-isin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ismn/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-ismn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-issn/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-issn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-less-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-less-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-mac/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-mac/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-meid/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-meid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-not-empty/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-not-empty/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-numeric/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-numeric/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-phone/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-phone/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-promise/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-promise/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-regexp/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-regexp/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-remote/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-remote/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-rtn/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-rtn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-sedol/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-sedol/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-siren/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-siren/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-siret/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-siret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-step/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-step/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-string-case/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-string-case/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-string-length/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-string-length/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-uri/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-uri/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-uuid/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-uuid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-vat/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-vat/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-vin/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-vin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-zip-code/index.js create mode 100644 resources/metronic/vendors/@form-validation/amd/validator-zip-code/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/bundle/full.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/bundle/full.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/bundle/popular.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/bundle/popular.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/core/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/core/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ar_MA.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ar_MA.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/bg_BG.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/bg_BG.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ca_ES.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ca_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/cs_CZ.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/cs_CZ.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/da_DK.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/da_DK.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/de_DE.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/de_DE.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/el_GR.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/el_GR.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/en_US.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/en_US.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/es_CL.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/es_CL.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/es_ES.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/es_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/eu_ES.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/eu_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fa_IR.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fa_IR.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fi_FI.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fi_FI.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fr_BE.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fr_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fr_FR.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/fr_FR.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/he_IL.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/he_IL.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/hi_IN.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/hi_IN.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/hu_HU.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/hu_HU.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/id_ID.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/id_ID.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/it_IT.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/it_IT.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ja_JP.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ja_JP.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/nl_BE.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/nl_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/nl_NL.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/nl_NL.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/no_NO.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/no_NO.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pl_PL.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pl_PL.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pt_BR.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pt_BR.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pt_PT.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/pt_PT.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ro_RO.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ro_RO.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ru_RU.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ru_RU.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sk_SK.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sk_SK.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sq_AL.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sq_AL.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sr_RS.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sr_RS.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sv_SE.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/sv_SE.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/th_TH.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/th_TH.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/tr_TR.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/tr_TR.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ua_UA.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/ua_UA.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/vi_VN.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/vi_VN.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/zh_CN.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/zh_CN.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/zh_TW.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/locales/zh_TW.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-alias/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-alias/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-aria/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-aria/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-auto-focus/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-auto-focus/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap3/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap5/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bootstrap5/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bulma/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-bulma/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-declarative/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-declarative/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-default-submit/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-default-submit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-dependency/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-dependency/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-excluded/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-excluded/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-field-status/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-field-status/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-foundation/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-foundation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-framework/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-framework/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-international-telephone-input/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-international-telephone-input/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-j/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-j/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-l10n/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-l10n/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mailgun/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mailgun/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mandatory-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mandatory-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-materialize/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-materialize/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-message/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-message/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-milligram/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-milligram/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mini/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mini/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mui/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-mui/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-password-strength/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-password-strength/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-pure/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-pure/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha3-token/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha3-token/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha3/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-recaptcha3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-semantic/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-semantic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-sequence/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-sequence/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-shoelace/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-shoelace/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-spectre/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-spectre/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-start-end-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-start-end-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-submit-button/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-submit-button/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-tachyons/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-tachyons/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-tooltip/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-tooltip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-transformer/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-transformer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-trigger/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-trigger/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-turnstile/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-turnstile/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-turret/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-turret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-typing-animation/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-typing-animation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-ui-kit/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-ui-kit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-wizard/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/plugin-wizard/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/styles/index.css create mode 100644 resources/metronic/vendors/@form-validation/cjs/styles/index.min.css create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-base64/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-base64/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-between/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-between/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-bic/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-bic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-blank/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-blank/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-callback/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-callback/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-choice/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-choice/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-color/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-color/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-credit-card/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-credit-card/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-cusip/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-cusip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-different/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-different/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-digits/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-digits/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ean/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ean/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ein/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ein/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-email-address/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-email-address/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-file/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-file/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-greater-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-greater-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-grid/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-grid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-hex/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-hex/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-iban/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-iban/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-id/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-id/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-identical/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-identical/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-imei/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-imei/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-imo/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-imo/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-integer/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-integer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ip/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-isbn/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-isbn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-isin/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-isin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ismn/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-ismn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-issn/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-issn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-less-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-less-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-mac/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-mac/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-meid/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-meid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-not-empty/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-not-empty/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-numeric/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-numeric/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-phone/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-phone/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-promise/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-promise/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-regexp/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-regexp/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-remote/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-remote/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-rtn/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-rtn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-sedol/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-sedol/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-siren/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-siren/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-siret/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-siret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-step/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-step/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-string-case/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-string-case/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-string-length/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-string-length/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-uri/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-uri/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-uuid/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-uuid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-vat/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-vat/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-vin/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-vin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-zip-code/index.js create mode 100644 resources/metronic/vendors/@form-validation/cjs/validator-zip-code/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/bundle/full.js create mode 100644 resources/metronic/vendors/@form-validation/esm/bundle/full.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/bundle/popular.js create mode 100644 resources/metronic/vendors/@form-validation/esm/bundle/popular.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/core/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/core/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ar_MA.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ar_MA.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/bg_BG.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/bg_BG.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ca_ES.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ca_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/cs_CZ.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/cs_CZ.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/da_DK.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/da_DK.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/de_DE.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/de_DE.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/el_GR.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/el_GR.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/en_US.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/en_US.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/es_CL.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/es_CL.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/es_ES.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/es_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/eu_ES.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/eu_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fa_IR.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fa_IR.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fi_FI.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fi_FI.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fr_BE.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fr_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fr_FR.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/fr_FR.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/he_IL.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/he_IL.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/hi_IN.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/hi_IN.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/hu_HU.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/hu_HU.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/id_ID.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/id_ID.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/it_IT.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/it_IT.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ja_JP.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ja_JP.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/nl_BE.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/nl_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/nl_NL.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/nl_NL.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/no_NO.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/no_NO.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pl_PL.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pl_PL.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pt_BR.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pt_BR.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pt_PT.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/pt_PT.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ro_RO.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ro_RO.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ru_RU.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ru_RU.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sk_SK.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sk_SK.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sq_AL.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sq_AL.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sr_RS.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sr_RS.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sv_SE.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/sv_SE.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/th_TH.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/th_TH.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/tr_TR.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/tr_TR.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ua_UA.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/ua_UA.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/vi_VN.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/vi_VN.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/zh_CN.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/zh_CN.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/zh_TW.js create mode 100644 resources/metronic/vendors/@form-validation/esm/locales/zh_TW.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-alias/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-alias/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-aria/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-aria/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-auto-focus/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-auto-focus/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap3/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap5/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bootstrap5/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bulma/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-bulma/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-declarative/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-declarative/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-default-submit/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-default-submit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-dependency/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-dependency/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-excluded/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-excluded/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-field-status/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-field-status/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-foundation/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-foundation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-framework/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-framework/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-international-telephone-input/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-international-telephone-input/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-j/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-j/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-l10n/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-l10n/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mailgun/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mailgun/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mandatory-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mandatory-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-materialize/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-materialize/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-message/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-message/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-milligram/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-milligram/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mini/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mini/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mui/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-mui/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-password-strength/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-password-strength/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-pure/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-pure/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha3-token/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha3-token/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha3/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-recaptcha3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-semantic/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-semantic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-sequence/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-sequence/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-shoelace/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-shoelace/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-spectre/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-spectre/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-start-end-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-start-end-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-submit-button/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-submit-button/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-tachyons/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-tachyons/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-tooltip/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-tooltip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-transformer/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-transformer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-trigger/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-trigger/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-turnstile/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-turnstile/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-turret/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-turret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-typing-animation/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-typing-animation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-ui-kit/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-ui-kit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-wizard/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/plugin-wizard/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/styles/index.css create mode 100644 resources/metronic/vendors/@form-validation/esm/styles/index.min.css create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-base64/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-base64/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-between/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-between/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-bic/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-bic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-blank/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-blank/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-callback/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-callback/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-choice/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-choice/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-color/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-color/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-credit-card/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-credit-card/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-cusip/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-cusip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-different/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-different/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-digits/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-digits/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ean/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ean/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ein/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ein/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-email-address/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-email-address/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-file/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-file/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-greater-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-greater-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-grid/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-grid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-hex/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-hex/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-iban/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-iban/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-id/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-id/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-identical/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-identical/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-imei/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-imei/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-imo/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-imo/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-integer/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-integer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ip/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-isbn/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-isbn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-isin/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-isin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ismn/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-ismn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-issn/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-issn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-less-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-less-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-mac/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-mac/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-meid/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-meid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-not-empty/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-not-empty/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-numeric/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-numeric/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-phone/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-phone/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-promise/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-promise/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-regexp/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-regexp/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-remote/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-remote/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-rtn/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-rtn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-sedol/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-sedol/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-siren/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-siren/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-siret/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-siret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-step/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-step/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-string-case/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-string-case/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-string-length/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-string-length/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-uri/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-uri/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-uuid/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-uuid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-vat/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-vat/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-vin/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-vin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-zip-code/index.js create mode 100644 resources/metronic/vendors/@form-validation/esm/validator-zip-code/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/bundle/full.js create mode 100644 resources/metronic/vendors/@form-validation/umd/bundle/full.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/bundle/popular.js create mode 100644 resources/metronic/vendors/@form-validation/umd/bundle/popular.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/core/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/core/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ar_MA.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ar_MA.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/bg_BG.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/bg_BG.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ca_ES.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ca_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/cs_CZ.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/cs_CZ.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/da_DK.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/da_DK.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/de_DE.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/de_DE.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/el_GR.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/el_GR.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/en_US.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/en_US.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/es_CL.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/es_CL.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/es_ES.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/es_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/eu_ES.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/eu_ES.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fa_IR.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fa_IR.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fi_FI.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fi_FI.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fr_BE.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fr_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fr_FR.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/fr_FR.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/he_IL.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/he_IL.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/hi_IN.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/hi_IN.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/hu_HU.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/hu_HU.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/id_ID.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/id_ID.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/it_IT.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/it_IT.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ja_JP.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ja_JP.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/nl_BE.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/nl_BE.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/nl_NL.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/nl_NL.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/no_NO.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/no_NO.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pl_PL.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pl_PL.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pt_BR.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pt_BR.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pt_PT.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/pt_PT.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ro_RO.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ro_RO.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ru_RU.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ru_RU.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sk_SK.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sk_SK.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sq_AL.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sq_AL.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sr_RS.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sr_RS.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sv_SE.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/sv_SE.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/th_TH.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/th_TH.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/tr_TR.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/tr_TR.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ua_UA.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/ua_UA.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/vi_VN.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/vi_VN.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/zh_CN.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/zh_CN.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/zh_TW.js create mode 100644 resources/metronic/vendors/@form-validation/umd/locales/zh_TW.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-alias/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-alias/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-aria/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-aria/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-auto-focus/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-auto-focus/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap3/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap5/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bootstrap5/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bulma/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-bulma/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-declarative/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-declarative/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-default-submit/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-default-submit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-dependency/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-dependency/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-excluded/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-excluded/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-field-status/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-field-status/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-foundation/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-foundation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-framework/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-framework/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-international-telephone-input/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-international-telephone-input/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-j/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-j/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-l10n/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-l10n/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mailgun/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mailgun/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mandatory-icon/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mandatory-icon/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-materialize/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-materialize/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-message/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-message/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-milligram/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-milligram/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mini/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mini/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mui/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-mui/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-password-strength/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-password-strength/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-pure/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-pure/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha3-token/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha3-token/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha3/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-recaptcha3/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-semantic/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-semantic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-sequence/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-sequence/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-shoelace/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-shoelace/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-spectre/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-spectre/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-start-end-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-start-end-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-submit-button/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-submit-button/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-tachyons/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-tachyons/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-tooltip/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-tooltip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-transformer/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-transformer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-trigger/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-trigger/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-turnstile/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-turnstile/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-turret/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-turret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-typing-animation/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-typing-animation/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-ui-kit/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-ui-kit/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-wizard/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/plugin-wizard/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/styles/index.css create mode 100644 resources/metronic/vendors/@form-validation/umd/styles/index.min.css create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-base64/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-base64/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-between/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-between/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-bic/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-bic/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-blank/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-blank/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-callback/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-callback/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-choice/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-choice/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-color/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-color/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-credit-card/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-credit-card/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-cusip/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-cusip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-date/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-date/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-different/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-different/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-digits/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-digits/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ean/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ean/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ein/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ein/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-email-address/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-email-address/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-file/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-file/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-greater-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-greater-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-grid/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-grid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-hex/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-hex/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-iban/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-iban/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-id/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-id/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-identical/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-identical/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-imei/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-imei/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-imo/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-imo/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-integer/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-integer/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ip/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ip/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-isbn/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-isbn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-isin/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-isin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ismn/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-ismn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-issn/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-issn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-less-than/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-less-than/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-mac/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-mac/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-meid/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-meid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-not-empty/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-not-empty/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-numeric/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-numeric/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-phone/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-phone/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-promise/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-promise/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-regexp/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-regexp/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-remote/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-remote/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-rtn/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-rtn/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-sedol/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-sedol/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-siren/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-siren/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-siret/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-siret/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-step/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-step/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-string-case/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-string-case/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-string-length/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-string-length/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-uri/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-uri/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-uuid/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-uuid/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-vat/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-vat/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-vin/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-vin/index.min.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-zip-code/index.js create mode 100644 resources/metronic/vendors/@form-validation/umd/validator-zip-code/index.min.js create mode 100644 resources/metronic/vendors/keenicons/duotone/Read Me.txt create mode 100644 resources/metronic/vendors/keenicons/duotone/demo-files/demo.css create mode 100644 resources/metronic/vendors/keenicons/duotone/demo-files/demo.js create mode 100644 resources/metronic/vendors/keenicons/duotone/demo.html create mode 100644 resources/metronic/vendors/keenicons/duotone/fonts/keenicons-duotone.svg create mode 100644 resources/metronic/vendors/keenicons/duotone/fonts/keenicons-duotone.ttf create mode 100644 resources/metronic/vendors/keenicons/duotone/fonts/keenicons-duotone.woff create mode 100644 resources/metronic/vendors/keenicons/duotone/selection.json create mode 100644 resources/metronic/vendors/keenicons/duotone/style.css create mode 100644 resources/metronic/vendors/keenicons/filled/Read Me.txt create mode 100644 resources/metronic/vendors/keenicons/filled/demo-files/demo.css create mode 100644 resources/metronic/vendors/keenicons/filled/demo-files/demo.js create mode 100644 resources/metronic/vendors/keenicons/filled/demo.html create mode 100644 resources/metronic/vendors/keenicons/filled/fonts/keenicons-filled.svg create mode 100644 resources/metronic/vendors/keenicons/filled/fonts/keenicons-filled.ttf create mode 100644 resources/metronic/vendors/keenicons/filled/fonts/keenicons-filled.woff create mode 100644 resources/metronic/vendors/keenicons/filled/selection.json create mode 100644 resources/metronic/vendors/keenicons/filled/style.css create mode 100644 resources/metronic/vendors/keenicons/outline/Read Me.txt create mode 100644 resources/metronic/vendors/keenicons/outline/demo-files/demo.css create mode 100644 resources/metronic/vendors/keenicons/outline/demo-files/demo.js create mode 100644 resources/metronic/vendors/keenicons/outline/demo.html create mode 100644 resources/metronic/vendors/keenicons/outline/fonts/keenicons-outline.svg create mode 100644 resources/metronic/vendors/keenicons/outline/fonts/keenicons-outline.ttf create mode 100644 resources/metronic/vendors/keenicons/outline/fonts/keenicons-outline.woff create mode 100644 resources/metronic/vendors/keenicons/outline/selection.json create mode 100644 resources/metronic/vendors/keenicons/outline/style.css create mode 100644 resources/metronic/vendors/keenicons/solid/Read Me.txt create mode 100644 resources/metronic/vendors/keenicons/solid/demo-files/demo.css create mode 100644 resources/metronic/vendors/keenicons/solid/demo-files/demo.js create mode 100644 resources/metronic/vendors/keenicons/solid/demo.html create mode 100644 resources/metronic/vendors/keenicons/solid/fonts/keenicons-solid.svg create mode 100644 resources/metronic/vendors/keenicons/solid/fonts/keenicons-solid.ttf create mode 100644 resources/metronic/vendors/keenicons/solid/fonts/keenicons-solid.woff create mode 100644 resources/metronic/vendors/keenicons/solid/selection.json create mode 100644 resources/metronic/vendors/keenicons/solid/style.css create mode 100644 resources/metronic/vendors/prismjs/prismjs.init.js diff --git a/resources/metronic/app/layouts/base.js b/resources/metronic/app/layouts/base.js new file mode 100644 index 0000000..4dbab0c --- /dev/null +++ b/resources/metronic/app/layouts/base.js @@ -0,0 +1,67 @@ +class KTLayout { + static _isSidebarCollapse() { + return document.body.classList.contains('sidebar-collapse'); + } + + static _handleMegaMenu() { + const megamenuEl = document.querySelector('#megamenu'); + if (!megamenuEl) return; + + const menu = KTMenu.getInstance(megamenuEl); + menu.disable(); + + setTimeout(() => { + menu.enable(); + }, 500); + } + + static _handleSidebar() { + const sidebarToggle = KTToggle.getInstance(this.sidebarToggleEl); + sidebarToggle?.on('toggle', () => { + this.sidebarEl.classList.add('animating'); + + this._handleMegaMenu(); + + KTDom.transitionEnd(this.sidebarEl, () => { + this.sidebarEl.classList.remove('animating'); + }); + }); + } + + static _handleSidebarMenu() { + const menuEl = document.querySelector('#sidebar_menu'); + const scrollableEl = document.querySelector('#sidebar_scrollable'); + const menuActiveItemEl = menuEl.querySelector(".menu-item.active"); + + if (!menuActiveItemEl || KTDom.isVisibleInParent(menuActiveItemEl, scrollableEl)) { + return; + } + + scrollableEl.scroll({ + top: KTDom.getRelativeTopPosition(menuActiveItemEl, scrollableEl) - 100, + behavior: 'instant' + }); + } + + static init() { + this.sidebarEl = document.querySelector('#sidebar'); + this.sidebarWrapperEl = document.querySelector('#sidebar_wrapper'); + this.headerEl = document.querySelector('#header'); + this.sidebarToggleEl = document.querySelector('#sidebar_toggle'); + + if (this.sidebarEl && this.sidebarToggleEl) { + this._handleSidebar(); + this._handleSidebarMenu(); + } + } + + static isSidebarCollapse() { + return this._isSidebarCollapse(); + } +} + +KTDom.ready(() => { + KTLayout.init(); +}); + +export default KTLayout; \ No newline at end of file diff --git a/resources/metronic/core/components/accordion/accordion.ts b/resources/metronic/core/components/accordion/accordion.ts new file mode 100644 index 0000000..5d79cb1 --- /dev/null +++ b/resources/metronic/core/components/accordion/accordion.ts @@ -0,0 +1,171 @@ +import KTData from '../../helpers/data'; +import KTDom from '../../helpers/dom'; +import KTEventHandler from '../../helpers/event-handler'; +import KTComponent from '../component'; +import { KTAccordionInterface, KTAccordionConfigInterface } from './types'; + +export class KTAccordion extends KTComponent implements KTAccordionInterface { + protected override _name: string = 'accordion'; + protected override _defaultConfig: KTAccordionConfigInterface = { + hiddenClass: 'hidden', + activeClass: 'active', + expandAll: false + }; + protected override _config: KTAccordionConfigInterface = this._defaultConfig; + protected _accordionElements: NodeListOf; + + constructor(element: HTMLElement, config?: KTAccordionConfigInterface) { + super(); + + if (KTData.has(element as HTMLElement, this._name)) return; + + this._init(element); + this._buildConfig(config); + this._handlers(); + } + + protected _handlers(): void { + KTEventHandler.on(this._element, '[data-accordion-toggle]', 'click', (event: Event, target: HTMLElement) => { + event.preventDefault(); + const accordionElement = target.closest('[data-accordion-item]') as HTMLElement; + + if (accordionElement) this._toggle(accordionElement); + }); + } + + protected _toggle(accordionElement: HTMLElement): void { + const payload = { cancel: false }; + this._fireEvent('toggle', payload); + this._dispatchEvent('toggle', payload); + if (payload.cancel === true) { + return; + } + + if (accordionElement.classList.contains('active')) { + this._hide(accordionElement); + } else { + this._show(accordionElement); + } + } + + protected _show(accordionElement: HTMLElement): void { + if (accordionElement.hasAttribute('animating') || accordionElement.classList.contains(this._getOption('activeClass') as string)) return; + + const toggleElement = KTDom.child(accordionElement, '[data-accordion-toggle]'); + if (!toggleElement) return; + + const contentElement = KTDom.getElement(toggleElement.getAttribute('data-accordion-toggle')); + if (!contentElement) return; + + const payload = { cancel: false }; + this._fireEvent('show', payload); + this._dispatchEvent('show', payload); + if (payload.cancel === true) { + return; + } + + if (this._getOption('expandAll') as boolean === false) { + this._hideSiblings(accordionElement); + } + + accordionElement.setAttribute('aria-expanded', 'true'); + accordionElement.classList.add(this._getOption('activeClass') as string); + + accordionElement.setAttribute('animating', 'true'); + contentElement.classList.remove(this._getOption('hiddenClass') as string); + contentElement.style.height = `0px`; + KTDom.reflow(contentElement); + contentElement.style.height = `${contentElement.scrollHeight}px`; + + KTDom.transitionEnd(contentElement, () => { + accordionElement.removeAttribute('animating'); + contentElement.style.height = '' + + this._fireEvent('shown'); + this._dispatchEvent('shown'); + }); + } + + protected _hide(accordionElement: HTMLElement): void { + if (accordionElement.hasAttribute('animating') || !accordionElement.classList.contains(this._getOption('activeClass') as string)) return; + + const toggleElement = KTDom.child(accordionElement, '[data-accordion-toggle]'); + if (!toggleElement) return; + + const contentElement = KTDom.getElement(toggleElement.getAttribute('data-accordion-toggle')); + if (!contentElement) return; + + const payload = { cancel: false }; + this._fireEvent('hide', payload); + this._dispatchEvent('hide', payload); + if (payload.cancel === true) { + return; + } + + accordionElement.setAttribute('aria-expanded', 'false'); + + contentElement.style.height = `${contentElement.scrollHeight}px`; + KTDom.reflow(contentElement); + contentElement.style.height = '0px'; + accordionElement.setAttribute('animating', 'true'); + + KTDom.transitionEnd(contentElement, () => { + accordionElement.removeAttribute('animating'); + accordionElement.classList.remove(this._getOption('activeClass') as string); + contentElement.classList.add(this._getOption('hiddenClass') as string); + + this._fireEvent('hidden'); + this._dispatchEvent('hidden'); + }); + } + + protected _hideSiblings(accordionElement: HTMLElement): void { + const siblings = KTDom.siblings(accordionElement); + + siblings?.forEach((sibling) => { + this._hide(sibling as HTMLElement); + }); + } + + public show(accordionElement: HTMLElement): void { + this._show(accordionElement); + } + + public hide(accordionElement: HTMLElement): void { + this._hide(accordionElement); + } + + public toggle(accordionElement: HTMLElement): void { + this._toggle(accordionElement); + } + + public static getInstance(element: HTMLElement): KTAccordion { + if (!element) return null; + + if (KTData.has(element, 'accordion')) { + return KTData.get(element, 'accordion') as KTAccordion; + } + + if (element.getAttribute('data-accordion') === "true") { + return new KTAccordion(element); + } + + return null; + } + + public static getOrCreateInstance(element: HTMLElement, config?: KTAccordionConfigInterface): KTAccordion { + return this.getInstance(element) || new KTAccordion(element, config); + } + + public static createInstances(): void { + const elements = document.querySelectorAll('[data-accordion="true"]'); + + elements.forEach((element) => { + new KTAccordion(element as HTMLElement); + }); + } + + public static init(): void { + KTAccordion.createInstances(); + } +} diff --git a/resources/metronic/core/components/accordion/index.ts b/resources/metronic/core/components/accordion/index.ts new file mode 100644 index 0000000..a1411be --- /dev/null +++ b/resources/metronic/core/components/accordion/index.ts @@ -0,0 +1,2 @@ +export { KTAccordion } from './accordion'; +export type { KTAccordionConfigInterface, KTAccordionInterface } from './types'; diff --git a/resources/metronic/core/components/accordion/types.ts b/resources/metronic/core/components/accordion/types.ts new file mode 100644 index 0000000..1ee4894 --- /dev/null +++ b/resources/metronic/core/components/accordion/types.ts @@ -0,0 +1,11 @@ +export interface KTAccordionConfigInterface { + hiddenClass: string; + activeClass: string + expandAll: boolean; +} + +export interface KTAccordionInterface { + show(accordionElement: HTMLElement): void; + hide(accordionElement: HTMLElement): void; + toggle(accordionElement: HTMLElement): void; +} \ No newline at end of file diff --git a/resources/metronic/core/components/collapse/collapse.ts b/resources/metronic/core/components/collapse/collapse.ts new file mode 100644 index 0000000..8f3e7d4 --- /dev/null +++ b/resources/metronic/core/components/collapse/collapse.ts @@ -0,0 +1,179 @@ +/* eslint-disable max-len */ +/* eslint-disable require-jsdoc */ + +import KTData from '../../helpers/data'; +import KTDom from '../../helpers/dom'; +import KTComponent from '../component'; +import { KTCollapseInterface, KTCollapseConfigInterface } from './types'; + +export class KTCollapse extends KTComponent implements KTCollapseInterface { + protected override _name: string = 'collapse'; + protected override _defaultConfig: KTCollapseConfigInterface = { + hiddenClass: 'hidden', + activeClass: 'active', + target: '' + }; + protected override _config: KTCollapseConfigInterface = this._defaultConfig; + protected _isAnimating: boolean = false; + protected _targetElement: HTMLElement; + + constructor(element: HTMLElement, config?: KTCollapseConfigInterface) { + super(); + + if (KTData.has(element as HTMLElement, this._name)) return; + + this._init(element); + this._buildConfig(config); + + this._targetElement = this._getTargetElement(); + if (!this._targetElement) { + return; + } + + this._handlers(); + } + + private _getTargetElement(): HTMLElement | null { + return ( + KTDom.getElement(this._element.getAttribute('data-collapse') as string) || + KTDom.getElement(this._getOption('target') as string) + ); + } + + protected _isOpen(): boolean { + return this._targetElement.classList.contains(this._getOption('activeClass') as string); + } + + protected _handlers(): void { + this._element.addEventListener('click', (event: Event) => { + event.preventDefault(); + + this._toggle(); + }); + } + + protected _expand(): void { + if (this._isAnimating || this._isOpen()) { + return; + } + + const payload = { cancel: false }; + this._fireEvent('expand', payload); + this._dispatchEvent('expand', payload); + if (payload.cancel === true) { + return; + } + + if (this._element) { + this._element.setAttribute('aria-expanded', 'true'); + this._element.classList.add(this._getOption('activeClass') as string); + } + this._targetElement.classList.remove(this._getOption('hiddenClass') as string); + this._targetElement.classList.add(this._getOption('activeClass') as string); + + this._targetElement.style.height = '0px'; + this._targetElement.style.overflow = 'hidden'; + KTDom.reflow(this._targetElement); + this._targetElement.style.height = `${this._targetElement.scrollHeight}px`; + this._isAnimating = true; + + KTDom.transitionEnd(this._targetElement, () => { + this._isAnimating = false; + this._targetElement.style.height = ''; + this._targetElement.style.overflow = ''; + + this._fireEvent('expanded'); + this._dispatchEvent('expanded'); + }); + } + + protected _collapse(): void { + if (this._isAnimating || !this._isOpen()) { + return; + } + + const payload = { cancel: false }; + this._fireEvent('collapse', payload); + this._dispatchEvent('collapse', payload); + if (payload.cancel === true) { + return; + } + + if (!this._element) return; + this._element.setAttribute('aria-expanded', 'false'); + this._element.classList.remove(this._getOption('activeClass') as string); + this._targetElement.classList.remove(this._getOption('activeClass') as string); + + this._targetElement.style.height = `${this._targetElement.scrollHeight}px`; + KTDom.reflow(this._targetElement); + this._targetElement.style.height = `0px`; + this._targetElement.style.overflow = 'hidden'; + this._isAnimating = true; + + KTDom.transitionEnd(this._targetElement, () => { + this._isAnimating = false; + this._targetElement.classList.add(this._getOption('hiddenClass') as string); + this._targetElement.style.overflow = ''; + + this._fireEvent('collapsed'); + this._dispatchEvent('collapsed'); + }); + } + + protected _toggle(): void { + const payload = { cancel: false }; + this._fireEvent('toggle', payload); + this._dispatchEvent('toggle', payload); + if (payload.cancel === true) { + return; + } + + if (this._isOpen()) { + this._collapse(); + } else { + this._expand(); + } + } + + public expand(): void { + return this._expand(); + } + + public collapse(): void { + return this._collapse(); + } + + public isOpen(): boolean { + return this._isOpen(); + } + + public static getInstance(element: HTMLElement): KTCollapse { + if (!element) return null; + + if (KTData.has(element, 'collapse')) { + return KTData.get(element, 'collapse') as KTCollapse; + } + + if (element.getAttribute('data-collapse') !== "false") { + return new KTCollapse(element); + } + + return null; + } + + public static getOrCreateInstance(element: HTMLElement, config?: KTCollapseConfigInterface): KTCollapse { + return this.getInstance(element) || new KTCollapse(element, config); + } + + public static createInstances(): void { + const elements = document.querySelectorAll('[data-collapse]:not([data-collapse="false"]'); + + elements.forEach((element) => { + new KTCollapse(element as HTMLElement); + }); + } + + public static init(): void { + KTCollapse.createInstances(); + } +} diff --git a/resources/metronic/core/components/collapse/index.ts b/resources/metronic/core/components/collapse/index.ts new file mode 100644 index 0000000..d102a25 --- /dev/null +++ b/resources/metronic/core/components/collapse/index.ts @@ -0,0 +1,2 @@ +export { KTCollapse } from './collapse'; +export type { KTCollapseConfigInterface, KTCollapseInterface } from './types'; diff --git a/resources/metronic/core/components/collapse/types.ts b/resources/metronic/core/components/collapse/types.ts new file mode 100644 index 0000000..c57213e --- /dev/null +++ b/resources/metronic/core/components/collapse/types.ts @@ -0,0 +1,11 @@ +export interface KTCollapseConfigInterface { + hiddenClass: string; + activeClass: string; + target: string; +} + +export interface KTCollapseInterface { + collapse(): void; + expand(): void; + isOpen(): boolean; +} \ No newline at end of file diff --git a/resources/metronic/core/components/component.ts b/resources/metronic/core/components/component.ts new file mode 100644 index 0000000..f30d7ab --- /dev/null +++ b/resources/metronic/core/components/component.ts @@ -0,0 +1,147 @@ +/* eslint-disable guard-for-in */ +/* eslint-disable max-len */ +/* eslint-disable require-jsdoc */ + +declare global { + interface Window { + KTGlobalComponentsConfig: object; + } +} + +import KTData from '../helpers/data'; +import KTDom from '../helpers/dom'; +import KTUtils from '../helpers/utils'; +import KTGlobalComponentsConfig from './config'; +import {KTBreakpointType, KTOptionType} from '../types'; + +export default class KTComponent { + protected _name: string; + protected _defaultConfig: object; + protected _config: object; + protected _events: Map>; + protected _uid: string | null = null; + protected _element: HTMLElement | null = null; + + protected _init(element: HTMLElement | null) { + element = KTDom.getElement(element); + + if (!element) { + return; + } + + this._element = element; + this._events = new Map(); + this._uid = KTUtils.geUID(this._name); + + KTData.set(this._element, this._name, this); + } + + protected _fireEvent(eventType: string, payload: object = null): void { + this._events.get(eventType)?.forEach((callable) => { + callable(payload); + }); + } + + protected _dispatchEvent(eventType: string, payload: object = null): void { + const event = new CustomEvent(eventType, { + detail: { payload }, + bubbles: true, + cancelable: true, + composed: false, + }); + + if (!this._element) return; + this._element.dispatchEvent(event); + } + + protected _getOption(name: string): KTOptionType { + const value = this._config[name as keyof object]; + + if (value && (typeof value) === 'string') { + return this._getResponsiveOption(value); + } else { + return value; + } + } + + protected _getResponsiveOption(value: string): KTOptionType { + let result = null; + const width = KTDom.getViewPort().width; + const parts = String(value).split('|'); + + if (parts.length > 1) { + parts.every((part) => { + if (part.includes(':')) { + const [breakpointKey, breakpointValue] = part.split(':'); + const breakpoint = KTUtils.getBreakpoint(breakpointKey as KTBreakpointType); + + if (breakpoint <= width) { + result = breakpointValue; + return false; + } + } else { + result = part; + } + + return true; + }); + } else { + result = value; + } + + result = KTUtils.parseDataAttribute(result); + + return result; + } + + protected _getGlobalConfig(): object { + if (window.KTGlobalComponentsConfig && (window.KTGlobalComponentsConfig as object)[this._name as keyof object]) { + return (window.KTGlobalComponentsConfig as object)[this._name as keyof object] as object; + } else if (KTGlobalComponentsConfig && (KTGlobalComponentsConfig as object)[this._name as keyof object]) { + return (KTGlobalComponentsConfig as object)[this._name as keyof object] as object; + } else { + return {}; + } + } + + protected _buildConfig(config: object = {}): void { + if (!this._element) return; + + this._config = { + ...this._defaultConfig, + ...this._getGlobalConfig(), + ...KTDom.getDataAttributes(this._element, this._name), + ...config, + }; + } + + public dispose(): void { + if (!this._element) return; + KTData.remove(this._element, this._name); + } + + public on(eventType: string, callback: CallableFunction): string { + const eventId = KTUtils.geUID(); + + if (!this._events.get(eventType)) { + this._events.set(eventType, new Map()); + } + + this._events.get(eventType).set(eventId, callback); + + return eventId; + } + + public off(eventType: string, eventId: string): void { + this._events.get(eventType)?.delete(eventId); + } + + public getOption(name: string): KTOptionType { + return this._getOption(name as keyof object); + } + + public getElement(): HTMLElement { + if (!this._element) return null; + return this._element; + } +} diff --git a/resources/metronic/core/components/config.ts b/resources/metronic/core/components/config.ts new file mode 100644 index 0000000..1ee2016 --- /dev/null +++ b/resources/metronic/core/components/config.ts @@ -0,0 +1,25 @@ +/* eslint-disable max-len */ +const KTGlobalComponentsConfig = { + modal: { + backdropClass: 'transition-all duration-300', + }, + drawer: { + backdropClass: 'transition-all duration-300', + hiddenClass: 'hidden' + }, + collapse: { + hiddenClass: 'hidden', + }, + dismiss: { + hiddenClass: 'hidden', + }, + tabs: { + hiddenClass: 'hidden', + }, + accordion: { + hiddenClass: 'hidden', + } +}; + +export default KTGlobalComponentsConfig; + diff --git a/resources/metronic/core/components/config.umd.js b/resources/metronic/core/components/config.umd.js new file mode 100644 index 0000000..fe913c8 --- /dev/null +++ b/resources/metronic/core/components/config.umd.js @@ -0,0 +1,23 @@ +/* eslint-disable max-len */ +window.KTGlobalComponentsConfig = { + modal: { + backdropClass: 'transition-all duration-300', + }, + drawer: { + backdropClass: 'transition-all duration-300', + hiddenClass: 'hidden' + }, + collapse: { + hiddenClass: 'hidden', + }, + dismiss: { + hiddenClass: 'hidden', + }, + tabs: { + hiddenClass: 'hidden', + }, + accordion: { + hiddenClass: 'hidden', + } +}; + diff --git a/resources/metronic/core/components/constants.ts b/resources/metronic/core/components/constants.ts new file mode 100644 index 0000000..70b72cb --- /dev/null +++ b/resources/metronic/core/components/constants.ts @@ -0,0 +1,11 @@ +export const KT_ACCESSIBILITY_KEYS = [ + 'ArrowUp', + 'ArrowLeft', + 'ArrowDown', + 'ArrowRight', + 'Home', + 'End', + 'Escape', + 'Enter', + 'Tab', +]; \ No newline at end of file diff --git a/resources/metronic/core/components/datatable/datatable.ts b/resources/metronic/core/components/datatable/datatable.ts new file mode 100644 index 0000000..96b5e88 --- /dev/null +++ b/resources/metronic/core/components/datatable/datatable.ts @@ -0,0 +1,1580 @@ +import KTComponent from '../component'; +import { KTDataTableDataInterface, KTDataTableInterface, KTDataTableConfigInterface as KTDataTableConfigInterface, KTDataTableSortOrderInterface, KTDataTableStateInterface, KTDataTableColumnFilterInterface, KTDataTableAttributeInterface } from './types'; +import KTEventHandler from '../../helpers/event-handler'; +import { KTDatatableCheckChangePayloadInterface } from './types'; +import KTUtils from '../../helpers/utils'; +import KTComponents from '../../index'; +import KTData from '../../helpers/data'; + +/** + * Custom DataTable plugin class with server-side API, pagination, and sorting + * @classdesc A custom KTComponent class that integrates server-side API, pagination, and sorting functionality into a table. + * It supports fetching data from a server-side API, pagination, and sorting of the fetched data. + * @class + * @extends {KTComponent} + * @param {HTMLElement} element The table element + * @param {KTDataTableConfigInterface} [config] Additional configuration options + */ +export class KTDataTable extends KTComponent implements KTDataTableInterface { + protected override _name: string = 'datatable'; + protected override _config: KTDataTableConfigInterface; + protected override _defaultConfig: KTDataTableConfigInterface; + + private _tableElement: HTMLTableElement; + private _tbodyElement: HTMLTableSectionElement; + private _theadElement: HTMLTableSectionElement; + + private _infoElement: HTMLElement; + private _sizeElement: HTMLSelectElement; + private _paginationElement: HTMLElement; + + // Checkbox properties + private _headerChecked: boolean; + private _headerCheckElement: HTMLInputElement; + private _targetElements: NodeListOf; + private _checkboxListener = (event: MouseEvent) => { + this._checkboxToggle(event); // Toggle row checkbox state + }; + + // private _searchListener: (value: string) => void; + + private _data: T[] = []; + + constructor(element: HTMLElement, config?: KTDataTableConfigInterface) { + super(); + + if (KTData.has(element as HTMLElement, this._name)) return; + + this._defaultConfig = this._initDefaultConfig(config); + + this._init(element); + this._buildConfig(); + + // Store the instance directly on the element + (element as any).instance = this; + + this._initElements(); + + if (this._config.stateSave === false) { + this._deleteState(); + } + + if (this._config.stateSave) { + this._loadState(); + } + + this._initTableHeader(); + + this._updateData(); + + this._fireEvent('init'); + this._dispatchEvent('init'); + } + + /** + * Initialize default configuration for the datatable + * @param config User-provided configuration options + * @returns Default configuration merged with user-provided options + */ + private _initDefaultConfig(config?: KTDataTableConfigInterface): KTDataTableConfigInterface { + return { + /** + * HTTP method for server-side API call + */ + requestMethod: 'GET', + /** + * Custom HTTP headers for the API request + */ + requestHeaders: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + /** + * Pagination info template + */ + info: '{start}-{end} of {total}', + /** + * Info text when there is no data + */ + infoEmpty: 'No records found', + /** + * Available page sizes + */ + pageSizes: [5, 10, 20, 30, 50], + /** + * Default page size + */ + pageSize: 10, + /** + * Enable or disable pagination more button + */ + pageMore: true, + /** + * Maximum number of pages before enabling pagination more button + */ + pageMoreLimit: 3, + /** + * Pagination button templates + */ + pagination: { + number: { + /** + * CSS classes to be added to the pagination button + */ + class: 'btn', + /** + * Text to be displayed in the pagination button + */ + text: '{page}', + }, + previous: { + /** + * CSS classes to be added to the previous pagination button + */ + class: 'btn', + /** + * Text to be displayed in the previous pagination button + */ + text: '', + }, + next: { + /** + * CSS classes to be added to the next pagination button + */ + class: 'btn', + /** + * Text to be displayed in the next pagination button + */ + text: '', + }, + more: { + /** + * CSS classes to be added to the pagination more button + */ + class: 'btn', + /** + * Text to be displayed in the pagination more button + */ + text: '...', + } + }, + /** + * Sorting options + */ + sort: { + /** + * CSS classes to be added to the sortable headers + */ + classes: { + base: 'sort', + asc: 'asc', + desc: 'desc', + }, + /** + * Local sorting callback function + * Sorts the data array based on the sort field and order + * @param data Data array to be sorted + * @param sortField Property name of the data object to be sorted by + * @param sortOrder Sorting order (ascending or descending) + * @returns Sorted data array + */ + callback: (data: T[], sortField: keyof T | number, sortOrder: KTDataTableSortOrderInterface): T[] => { + /** + * Compares two values by converting them to strings and removing any HTML tags or white spaces + * @param a First value to be compared + * @param b Second value to be compared + * @returns 1 if a > b, -1 if a < b, 0 if a === b + */ + const compareValues = (a: unknown, b: unknown): number => { + const aText = String(a).replace(/<[^>]*>| /g, ''); + const bText = String(b).replace(/<[^>]*>| /g, ''); + return aText > bText ? (sortOrder === 'asc' ? 1 : -1) : (aText < bText ? (sortOrder === 'asc' ? -1 : 1) : 0); + }; + + return data.sort((a, b) => { + const aValue = a[sortField] as unknown; + const bValue = b[sortField] as unknown; + return compareValues(aValue, bValue); + }); + }, + }, + search: { + /** + * Delay in milliseconds before the search function is applied to the data array + * @default 500 + */ + delay: 500, // ms + /** + * Local search callback function + * Filters the data array based on the search string + * @param data Data array to be filtered + * @param search Search string used to filter the data array + * @returns Filtered data array + */ + callback: (data: T[], search: string): T[] => { + if (!data || !search) { + return []; + } + + return data.filter((item: T) => { + if (!item) { + return false; + } + + return Object.values(item).some((value: string | number | boolean) => { + if (typeof value !== 'string' && typeof value !== 'number' && typeof value !== 'boolean') { + return false; + } + + const valueText = String(value).replace(/<[^>]*>| /g, '').toLowerCase(); + return valueText.includes(search.toLowerCase()); + }); + }); + } + }, + /** + * Loading spinner options + */ + loading: { + /** + * Template to be displayed during data fetching process + */ + template: ` +
+
+ + + + + {content} +
+
+ `, + /** + * Loading text to be displayed in the template + */ + content: 'Loading...' + }, + /** + * Selectors of the elements to be targeted + */ + attributes: { + /** + * Data table element + */ + table: 'table[data-datatable-table="true"]', + /** + * Pagination info element + */ + info: '[data-datatable-info="true"]', + /** + * Page size dropdown element + */ + size: '[data-datatable-size="true"]', + /** + * Pagination element + */ + pagination: '[data-datatable-pagination="true"]', + /** + * Spinner element + */ + spinner: '[data-datatable-spinner="true"]', + /** + * Checkbox element + */ + check: '[data-datatable-check="true"]', + checkbox: '[data-datatable-row-check="true"]' + }, + /** + * Enable or disable state saving + */ + stateSave: true, + checkbox: { + checkedClass: 'checked' + }, + /** + * Private properties + */ + _state: {} as KTDataTableStateInterface, + + ...config + + } as KTDataTableConfigInterface; + } + + /** + * Initialize table, tbody, thead, info, size, and pagination elements + * @returns {void} + */ + private _initElements(): void { + /** + * Data table element + */ + this._tableElement = this._element.querySelector(this._config.attributes.table)!; + /** + * Table body element + */ + this._tbodyElement = this._tableElement.tBodies[0] || this._tableElement.createTBody(); + /** + * Table head element + */ + this._theadElement = this._tableElement.tHead!; + /** + * Pagination info element + */ + this._infoElement = this._element.querySelector(this._config.attributes.info)!; + /** + * Page size dropdown element + */ + this._sizeElement = this._element.querySelector(this._config.attributes.size)!; + /** + * Pagination element + */ + this._paginationElement = this._element.querySelector(this._config.attributes.pagination)!; + } + + /** + * Fetch data from the server or from the DOM if `apiEndpoint` is not defined. + * @returns {Promise} Promise which is resolved after data has been fetched and checkbox plugin initialized. + */ + private async _updateData(): Promise { + this._showSpinner(); // Show spinner before fetching data + + // Fetch data from the DOM and initialize the checkbox plugin + return (typeof this._config.apiEndpoint === 'undefined') + ? this._fetchDataFromLocal().then(this._finalize.bind(this) as () => Promise) + : this._fetchDataFromServer().then(this._finalize.bind(this) as () => Promise); + } + + /** + * Finalize data table after data has been fetched + * @returns {void} + */ + private _finalize(): void { + this._element.classList.add('datatable-initialized'); + + const headerCheckElement = this._element.querySelector(this._config.attributes.check); + if (headerCheckElement) { + this._initChecbox(headerCheckElement); + } + + this._attachSearchEvent(); + + if (typeof KTComponents !== "undefined") { + KTComponents.init(); + } + + /** + * Hide spinner + */ + this._hideSpinner(); + } + + /** + * Attach search event to the search input element + * @returns {void} + */ + private _attachSearchEvent(): void { + const tableId: string = this._tableId(); + const searchElement: HTMLInputElement | null = document.querySelector(`[data-datatable-search="#${tableId}"]`); + + if (searchElement) { + // Check if a debounced search function already exists + if ((searchElement as any)._debouncedSearch) { + // Remove the existing debounced event listener + searchElement.removeEventListener('keyup', (searchElement as any)._debouncedSearch); + } + + // Create a new debounced search function + const debouncedSearch = this._debounce(() => { + this.search(searchElement.value); + }, this._config.search.delay); + + // Store the new debounced function as a property of the element + (searchElement as any)._debouncedSearch = debouncedSearch; + + // Add the new debounced event listener + searchElement.addEventListener('keyup', debouncedSearch); + } + } + + /** + * Initialize the checkbox plugin + * @param {HTMLInputElement} headerCheckElement - The header checkbox element + * @returns {void} + */ + private _initChecbox(headerCheckElement: HTMLInputElement): void { + this._headerCheckElement = headerCheckElement; + this._headerChecked = headerCheckElement.checked; + + this._targetElements = this._element.querySelectorAll(this._config.attributes.checkbox) as NodeListOf; + + this._checkboxHandler(); + } + + /** + * Fetch data from the DOM + * Fetch data from the table element and save it to the `originalData` state property. + * This method is used when the data is not fetched from the server via an API endpoint. + */ + private async _fetchDataFromLocal(): Promise { + const { sortField, sortOrder, page, pageSize, search } = this.getState(); + let { originalData } = this.getState(); + + // If the table element or the original data is not defined, bail + if (!this._tableElement || originalData === undefined || this._tableConfigInvalidate() || this._localTableHeaderInvalidate() || this._localTableContentInvalidate()) { + this._deleteState(); + + const { originalData, originalDataAttributes } = this._localExtractTableContent(); + + this._config._state.originalData = originalData; + this._config._state.originalDataAttributes = originalDataAttributes; + } + + // Update the original data variable + originalData = this.getState().originalData; + + // Clone the original data + let _temp = this._data = [...originalData] as T[]; + + if (search) { + _temp = this._data = this._config.search.callback.call(this, this._data, search) as T[]; + } + + // If sorting is defined, sort the data + if (sortField !== undefined && sortOrder !== undefined && sortOrder !== '') { + if (typeof this._config.sort.callback === 'function') { + this._data = this._config.sort.callback.call(this, this._data, sortField as string, sortOrder) as T[]; + } + } + + // If there is data, slice it to the current page size + if (this._data?.length > 0) { + // Calculate the start and end indices for the current page + const startIndex = (page - 1) * pageSize; + const endIndex = startIndex + pageSize; + + this._data = this._data.slice(startIndex, endIndex) as T[]; + } + + // Determine number of total rows + this._config._state.totalItems = _temp.length; + + // Draw the data + await this._draw(); + } + + /** + * Checks if the table content has been invalidated by comparing the current checksum of the table body + * with the stored checksum in the state. If the checksums are different, the state is updated with the + * new checksum and `true` is returned. Otherwise, `false` is returned. + * + * @returns {boolean} `true` if the table content has been invalidated, `false` otherwise. + */ + private _localTableContentInvalidate(): boolean { + const checksum: string = KTUtils.checksum(JSON.stringify(this._tbodyElement.innerHTML)); + if (this.getState()._contentChecksum !== checksum) { + this._config._state._contentChecksum = checksum; + return true; + } + return false; + } + + private _tableConfigInvalidate(): boolean { + // Remove _data and _state from config + const { _data, _state, ...restConfig } = this._config; + const checksum: string = KTUtils.checksum(JSON.stringify(restConfig)); + if (_state._configChecksum !== checksum) { + this._config._state._configChecksum = checksum; + return true; + } + return false; + } + + /** + * Extracts the table content and returns it as an object containing an array of original data and an array of original data attributes. + * + * @returns {{originalData: T[], originalDataAttributes: KTDataTableAttributeInterface[]}} - An object containing an array of original data and an array of original data attributes. + */ + private _localExtractTableContent(): { originalData: T[]; originalDataAttributes: KTDataTableAttributeInterface[]; } { + const originalData: T[] = []; + const originalDataAttributes: KTDataTableAttributeInterface[] = []; + + const rows = this._tbodyElement.querySelectorAll('tr'); + + rows.forEach((row: HTMLTableRowElement) => { + const dataRow: T = {} as T; + const dataRowAttribute: KTDataTableAttributeInterface = {} as KTDataTableAttributeInterface; + + // Loop through each cell in the row + row.querySelectorAll('td').forEach((td: HTMLTableCellElement, index: number) => { + const attributes: { [key: string]: string; } = {}; + + // Copy all attributes to the cell data + Array.from(td.attributes).forEach((attr: Attr) => { + attributes[attr.name] = attr.value; + }); + + // Set the data for the current row and cell + dataRow[index as keyof T] = td.innerHTML?.trim() as T[keyof T]; + dataRowAttribute[index] = attributes; + }); + + // If the row has any data, add it to the original data array + if (Object.keys(dataRow).length > 0) { + originalData.push(dataRow); + originalDataAttributes.push(dataRowAttribute); + } + }); + + return { originalData, originalDataAttributes }; + } + + /** + * Check if the table header is invalidated + * @returns {boolean} - Returns true if the table header is invalidated, false otherwise + */ + private _localTableHeaderInvalidate(): boolean { + const { originalData } = this.getState(); + const currentTableHeaders = this._getTableHeaders()?.length || 0; + const totalColumns = originalData.length ? Object.keys(originalData[0]).length : 0; + + return currentTableHeaders !== totalColumns; + } + + /** + * Fetch data from the server + */ + private async _fetchDataFromServer(): Promise { + this._fireEvent('fetch'); + this._dispatchEvent('fetch'); + + const queryParams = this._getQueryParamsForFetchRequest(); + const response = await this._performFetchRequest(queryParams); + + let responseData = null; + + try { + responseData = await response.json(); + } catch (error) { + this._noticeOnTable('Error parsing API response as JSON: ' + String(error)); + return; + } + + this._fireEvent('fetched', { response: responseData }); + this._dispatchEvent('fetched', { response: responseData }); + + // Use the mapResponse function to transform the data if provided + if (typeof this._config.mapResponse === 'function') { + responseData = this._config.mapResponse.call(this, responseData); + } + + this._data = responseData.data; + + this._config._state.totalItems = responseData.totalCount; + + await this._draw(); + } + + /** + * Get the query params for a fetch request + * @returns The query params for the fetch request + */ + private _getQueryParamsForFetchRequest(): URLSearchParams { + // Get the current state of the datatable + const { page, pageSize, sortField, sortOrder, filters, search } = this.getState(); + + // Create a new URLSearchParams object to store the query params + let queryParams = new URLSearchParams(); + + // Add the current page number and page size to the query params + queryParams.set('page', String(page)); + queryParams.set('size', String(pageSize)); + + // If there is a sort order and field set, add them to the query params + if (sortOrder !== undefined) { + queryParams.set('sortOrder', String(sortOrder)); + } + + if (sortField !== undefined) { + queryParams.set('sortField', String(sortField)); + } + + // If there are any filters set, add them to the query params + if (Array.isArray(filters) && filters.length) { + queryParams.set('filters', JSON.stringify(filters.map((filter: KTDataTableColumnFilterInterface) => ({ + // Map the filter object to a simpler object with just the necessary properties + column: filter.column, + type: filter.type, + value: filter.value, + })))); + } + + if (search) { + queryParams.set('search', typeof search === 'object' ? JSON.stringify(search) : search); + } + + // If a mapRequest function is provided, call it with the query params object + if (typeof this._config.mapRequest === 'function') { + queryParams = this._config.mapRequest.call(this, queryParams); + } + + // Return the query params object + return queryParams; + } + + + private async _performFetchRequest(queryParams: URLSearchParams): Promise { + let requestMethod: RequestInit['method'] = this._config.requestMethod; + let requestBody: RequestInit['body'] | undefined = undefined; + + // If the request method is POST, send the query params as the request body + if (requestMethod === 'POST') { + requestBody = queryParams; + } else if (requestMethod === 'GET') { + // If the request method is GET, append the query params to the API endpoint + const apiEndpointWithQueryParams = new URL(this._config.apiEndpoint); + apiEndpointWithQueryParams.search = queryParams.toString(); + this._config.apiEndpoint = apiEndpointWithQueryParams.toString(); + } + + return fetch(this._config.apiEndpoint, { + method: requestMethod, + body: requestBody, + headers: this._config.requestHeaders + }).catch(error => { + this._noticeOnTable('Error performing fetch request: ' + String(error)); + throw error; + }); + } + + /** + * Update the table and pagination controls with new data + * @returns {Promise} A promise that resolves when the table and pagination controls are updated + */ + private async _draw(): Promise { + this._config._state.totalPages = Math.ceil(this.getState().totalItems / this.getState().pageSize) || 0; + + this._fireEvent('draw'); + this._dispatchEvent('draw'); + + this._dispose(); + + // Update the table and pagination controls + if (this._theadElement && this._tbodyElement) { + this._updateTable(); + } + + if (this._infoElement && this._paginationElement) { + this._updatePagination(); + } + + this._fireEvent('drew'); + this._dispatchEvent('drew'); + + this._hideSpinner(); // Hide spinner after data is fetched + + if (this._config.stateSave) { + this._saveState(); + } + } + + /** + * Update the HTML table with new data + * @returns {HTMLTableSectionElement} The new table body element + */ + private _updateTable(): HTMLTableSectionElement { + // Clear the existing table contents using a more efficient method + while (this._tableElement.tBodies.length) { + this._tableElement.removeChild(this._tableElement.tBodies[0]); + } + + // Create the table body with the new data + const tbodyElement = this._tableElement.createTBody() as HTMLTableSectionElement; + + this._updateTableContent(tbodyElement); + + return tbodyElement; + } + + /** + * Initialize the table header + * Add sort event listener to all sortable columns + */ + private _initTableHeader(): void { + if (!this._theadElement) { + return; + } + + // Set the initial sort icon + this._setSortIcon(this.getState().sortField, this.getState().sortOrder); + + // Get all the table headers + const headers = this._getTableHeaders(); + + // Loop through each table header + headers.forEach(header => { + // If the sort class is not found, it's not a sortable column + if (!header.querySelector(`.${this._config.sort.classes.base}`)) { + return; + } + + const sortAttribute = header.getAttribute('data-datatable-column-sort') || header.getAttribute('data-datatable-column'); + const sortField = sortAttribute ? (sortAttribute as keyof T) : header.cellIndex as keyof T; + + // Add click event listener to the header + header.addEventListener('click', () => { + const sortOrder = this._toggleSortOrder(sortField); + + this._setSortIcon(sortField, sortOrder); + this._sort(sortField); + }); + }); + } + + /** + * Returns an array of table headers as HTMLTableCellElement. + * @returns {HTMLTableCellElement[]} An array of table headers. + */ + private _getTableHeaders(): HTMLTableCellElement[] { + if (!this._theadElement) { + return []; + } + return Array.from(this._theadElement.querySelectorAll('th')) as HTMLTableCellElement[]; + } + + /** + * Sets the sort icon in the table header + * @param sortField The field to set the sort icon for + * @param sortOrder The sort order (ascending or descending) + */ + private _setSortIcon(sortField: keyof T, sortOrder: KTDataTableSortOrderInterface): void { + + const sortClass = sortOrder ? (sortOrder === 'asc' ? this._config.sort.classes.asc : this._config.sort.classes.desc) : ''; + + // Get the appropriate table header element + const th = typeof sortField === 'number' + ? this._theadElement.querySelectorAll('th')[sortField] + : this._theadElement.querySelector(`th[data-datatable-column="${String(sortField)}"], th[data-datatable-column-sort="${String(sortField)}"]`) as HTMLElement; + + if (th) { + const sortElement = th.querySelector(`.${this._config.sort.classes.base}`) as HTMLElement; + + if (sortElement) { + sortElement.className = `${this._config.sort.classes.base} ${sortClass}`.trim(); + } + } + } + + /** + * Toggles the sort order of a column + * @param sortField The field to toggle the sort order for + * @returns The new sort order (ascending, descending or unsorted) + */ + private _toggleSortOrder(sortField: keyof T | number): KTDataTableSortOrderInterface { + // If the sort field is the same as the current sort field, + // toggle the sort order. Otherwise, set the sort order to ascending. + return (() => { + if (this.getState().sortField === sortField) { + switch (this.getState().sortOrder) { + case 'asc': + return 'desc'; // Descending + case 'desc': + return ''; // Unsorted + default: + return 'asc'; // Ascending + } + } + return 'asc'; // Ascending + })(); + } + + /** + * Update the table content + * @param tbodyElement The table body element + * @returns {HTMLTableSectionElement} The updated table body element + */ + private _updateTableContent(tbodyElement: HTMLTableSectionElement): HTMLTableSectionElement { + const fragment = document.createDocumentFragment(); + + tbodyElement.textContent = ''; // Clear the tbody element + + if (this._data.length === 0) { + this._noticeOnTable(this._config.infoEmpty || ''); + return tbodyElement; + } + + this._data.forEach((item: T, rowIndex: number) => { + const row = document.createElement('tr'); + + if (!this._config.columns) { + const dataRowAttributes = this.getState().originalDataAttributes + ? this.getState().originalDataAttributes[rowIndex] + : null; + + Object.keys(item).forEach((key: keyof T | number, colIndex: number) => { + const td = document.createElement('td'); + td.innerHTML = item[key] as string; + + if (dataRowAttributes) { + for (const attr in dataRowAttributes[colIndex]) { + td.setAttribute(attr, dataRowAttributes[colIndex][attr]); + } + } + + row.appendChild(td); + }); + } else { + Object.keys(this._config.columns).forEach((key: keyof T) => { + const td = document.createElement('td'); + const columnDef = this._config.columns[key as string]; + + if (typeof columnDef.render === 'function') { + td.innerHTML = columnDef.render.call(this, item[key] as string, item, this) as string; + } else { + td.textContent = item[key] as string; + } + + if (typeof columnDef.createdCell === 'function') { + columnDef.createdCell.call(this, td, item[key], item, row); + } + + row.appendChild(td); + }); + } + + fragment.appendChild(row); + }); + + tbodyElement.appendChild(fragment); + return tbodyElement; + } + + /** + * Show a notice on the table + * @param message The message to show. If empty, the message will be removed + * @returns {void} + */ + private _noticeOnTable(message: string = ''): void { + const row = this._tbodyElement.insertRow(); + const cell = row.insertCell(); + cell.colSpan = this._getTableHeaders()?.length || 0; + cell.innerHTML = message; + } + + private _updatePagination(): void { + this._removeChildElements(this._sizeElement); + this._createPageSizeControls(this._sizeElement); + + this._removeChildElements(this._paginationElement); + this._createPaginationControls(this._infoElement, this._paginationElement); + } + + /** + * Removes all child elements from the given container element. + * @param container The container element to remove the child elements from. + */ + private _removeChildElements(container: HTMLElement): void { + if (!container) { + return; + } + + // Loop through all child elements of the container and remove them one by one + while (container.firstChild) { + // Remove the first child element (which is the first element in the list of child elements) + container.removeChild(container.firstChild); + } + } + + /** + * Creates a container element for the items per page selector. + * @param _sizeElement The element to create the page size controls in. + * @returns The container element. + */ + private _createPageSizeControls(_sizeElement: HTMLSelectElement): HTMLSelectElement { + // If no element is provided, return early + if (!_sizeElement) { + return _sizeElement; + } + + // Create