From 6fc40e41c3fce8112464d04c88db8754babb047c Mon Sep 17 00:00:00 2001 From: Martin Oppitz <6279703+deleonio@users.noreply.github.com> Date: Thu, 5 Dec 2024 20:34:18 +0100 Subject: [PATCH] feat: add new codicons and update existing codicon mappings --- .../components/assets/codicons/codicon.css | 55 +- .../components/assets/codicons/codicon.csv | 41 + .../components/assets/codicons/codicon.html | 328 ++++++ .../components/assets/codicons/codicon.svg | 2 +- .../components/assets/codicons/codicon.ttf | Bin 73504 -> 81808 bytes .../src/assets/@leanup/forms/bundle.js | 2 - .../src/assets/@leanup/forms/bundle.js.map | 1 - .../src/assets/@leanup/forms/index.js | 2 - .../src/assets/@leanup/forms/index.js.map | 1 - .../src/assets/@leanup/lib/bundle.js | 2 - .../src/assets/@leanup/lib/bundle.js.map | 1 - .../src/assets/@leanup/lib/index.js | 2 - .../src/assets/@leanup/lib/index.js.map | 1 - .../components/src/assets/codicons/LICENSE | 788 +++++++------- .../src/assets/codicons/LICENSE-CODE | 42 +- .../src/assets/codicons/codicon.css | 66 +- .../src/assets/codicons/codicon.csv | 50 +- .../src/assets/codicons/codicon.html | 394 ++++++- .../src/assets/codicons/codicon.svg | 2 +- .../src/assets/codicons/codicon.ttf | Bin 72504 -> 81808 bytes packages/components/src/assets/favicon.ico | Bin 7406 -> 0 bytes .../src/assets/images/abgrenzung.jpg | Bin 95716 -> 0 bytes .../components/src/assets/itzbund.logo.svg | 6 - packages/components/src/assets/kolibri.ico | Bin 0 -> 15086 bytes .../components/src/assets/kolibri.logo.svg | 31 - packages/components/src/assets/loader.css | 46 - .../src/assets/logo.kolibri.invert.svg | 9 - .../components/src/assets/logo.kolibri.svg | 9 - .../src/assets/logo.kolibri.text.invert.svg | 9 - .../src/assets/logo.kolibri.text.svg | 10 - .../assets/simulations/alert-simulation.js | 11 - .../assets/simulations/button-simulation.js | 8 - .../src/assets/simulations/form-simulation.js | 989 ------------------ .../simulations/form-simulation.textarea.js | 18 - .../form-simulation.weitere-cases.js | 33 - .../assets/simulations/modal-simulation.js | 31 - .../src/assets/simulations/nav-simulation.js | 163 --- .../simulations/pagination-simulation.js | 8 - .../assets/simulations/popover-simulation.js | 27 - .../assets/simulations/progress-simulation.js | 33 - .../simulations/smart-button-simulation.js | 35 - .../src/assets/simulations/spin-simulation.js | 21 - .../assets/simulations/table-simulation.js | 875 ---------------- .../src/assets/simulations/tabs-simulation.js | 43 - .../assets/simulations/toast-simulation.js | 17 - packages/components/src/assets/style.css | 139 --- packages/themes/.gitignore | 3 +- packages/themes/assets/README.md | 1 + packages/themes/assets/codicons/codicon.css | 55 +- packages/themes/assets/codicons/codicon.csv | 41 + packages/themes/assets/codicons/codicon.html | 328 ++++++ packages/themes/assets/codicons/codicon.svg | 2 +- packages/themes/assets/codicons/codicon.ttf | Bin 73504 -> 81808 bytes packages/themes/default/.gitignore | 3 + packages/themes/default/assets/README.md | 1 + packages/themes/default/package.json | 2 + packages/themes/ecl/.gitignore | 3 + packages/themes/ecl/assets/README.md | 1 + packages/themes/ecl/package.json | 2 + packages/themes/itzbund/.gitignore | 3 + packages/themes/itzbund/assets/README.md | 1 + packages/themes/itzbund/package.json | 2 + packages/themes/package.json | 2 + pnpm-lock.yaml | 120 ++- 64 files changed, 1852 insertions(+), 3069 deletions(-) delete mode 100644 packages/components/src/assets/@leanup/forms/bundle.js delete mode 100644 packages/components/src/assets/@leanup/forms/bundle.js.map delete mode 100644 packages/components/src/assets/@leanup/forms/index.js delete mode 100644 packages/components/src/assets/@leanup/forms/index.js.map delete mode 100644 packages/components/src/assets/@leanup/lib/bundle.js delete mode 100644 packages/components/src/assets/@leanup/lib/bundle.js.map delete mode 100644 packages/components/src/assets/@leanup/lib/index.js delete mode 100644 packages/components/src/assets/@leanup/lib/index.js.map delete mode 100644 packages/components/src/assets/favicon.ico delete mode 100644 packages/components/src/assets/images/abgrenzung.jpg delete mode 100644 packages/components/src/assets/itzbund.logo.svg create mode 100644 packages/components/src/assets/kolibri.ico delete mode 100644 packages/components/src/assets/kolibri.logo.svg delete mode 100644 packages/components/src/assets/loader.css delete mode 100644 packages/components/src/assets/logo.kolibri.invert.svg delete mode 100644 packages/components/src/assets/logo.kolibri.svg delete mode 100644 packages/components/src/assets/logo.kolibri.text.invert.svg delete mode 100644 packages/components/src/assets/logo.kolibri.text.svg delete mode 100644 packages/components/src/assets/simulations/alert-simulation.js delete mode 100644 packages/components/src/assets/simulations/button-simulation.js delete mode 100644 packages/components/src/assets/simulations/form-simulation.js delete mode 100644 packages/components/src/assets/simulations/form-simulation.textarea.js delete mode 100644 packages/components/src/assets/simulations/form-simulation.weitere-cases.js delete mode 100644 packages/components/src/assets/simulations/modal-simulation.js delete mode 100644 packages/components/src/assets/simulations/nav-simulation.js delete mode 100644 packages/components/src/assets/simulations/pagination-simulation.js delete mode 100644 packages/components/src/assets/simulations/popover-simulation.js delete mode 100644 packages/components/src/assets/simulations/progress-simulation.js delete mode 100644 packages/components/src/assets/simulations/smart-button-simulation.js delete mode 100644 packages/components/src/assets/simulations/spin-simulation.js delete mode 100644 packages/components/src/assets/simulations/table-simulation.js delete mode 100644 packages/components/src/assets/simulations/tabs-simulation.js delete mode 100644 packages/components/src/assets/simulations/toast-simulation.js delete mode 100644 packages/components/src/assets/style.css create mode 100644 packages/themes/assets/README.md create mode 100644 packages/themes/default/.gitignore create mode 100644 packages/themes/default/assets/README.md create mode 100644 packages/themes/ecl/.gitignore create mode 100644 packages/themes/ecl/assets/README.md create mode 100644 packages/themes/itzbund/.gitignore create mode 100644 packages/themes/itzbund/assets/README.md diff --git a/packages/components/assets/codicons/codicon.css b/packages/components/assets/codicons/codicon.css index 7a161449ab..739be06ee4 100644 --- a/packages/components/assets/codicons/codicon.css +++ b/packages/components/assets/codicons/codicon.css @@ -6,7 +6,7 @@ @font-face { font-family: "codicon"; font-display: block; - src: url("./codicon.ttf?2ab61cbaefbdf4c7c5589068100bee0c") format("truetype"); + src: url("./codicon.ttf?be64b7213e352cd7f91ef58198e71237") format("truetype"); } .codicon[class*='codicon-'] { @@ -72,6 +72,7 @@ .codicon-record-keys:before { content: "\ea65" } .codicon-keyboard:before { content: "\ea65" } .codicon-tag:before { content: "\ea66" } +.codicon-git-pull-request-label:before { content: "\ea66" } .codicon-tag-add:before { content: "\ea66" } .codicon-tag-remove:before { content: "\ea66" } .codicon-person:before { content: "\ea67" } @@ -264,6 +265,7 @@ .codicon-diff-removed:before { content: "\eadf" } .codicon-diff-renamed:before { content: "\eae0" } .codicon-diff:before { content: "\eae1" } +.codicon-diff-sidebyside:before { content: "\eae1" } .codicon-discard:before { content: "\eae2" } .codicon-editor-layout:before { content: "\eae3" } .codicon-empty-window:before { content: "\eae4" } @@ -327,6 +329,7 @@ .codicon-megaphone:before { content: "\eb1e" } .codicon-mention:before { content: "\eb1f" } .codicon-milestone:before { content: "\eb20" } +.codicon-git-pull-request-milestone:before { content: "\eb20" } .codicon-mortar-board:before { content: "\eb21" } .codicon-move:before { content: "\eb22" } .codicon-multiple-windows:before { content: "\eb23" } @@ -452,9 +455,11 @@ .codicon-menu:before { content: "\eb94" } .codicon-expand-all:before { content: "\eb95" } .codicon-feedback:before { content: "\eb96" } +.codicon-git-pull-request-reviewer:before { content: "\eb96" } .codicon-group-by-ref-type:before { content: "\eb97" } .codicon-ungroup-by-ref-type:before { content: "\eb98" } .codicon-account:before { content: "\eb99" } +.codicon-git-pull-request-assignee:before { content: "\eb99" } .codicon-bell-dot:before { content: "\eb9a" } .codicon-debug-console:before { content: "\eb9b" } .codicon-library:before { content: "\eb9c" } @@ -568,7 +573,11 @@ .codicon-blank:before { content: "\ec03" } .codicon-heart-filled:before { content: "\ec04" } .codicon-map:before { content: "\ec05" } +.codicon-map-horizontal:before { content: "\ec05" } +.codicon-fold-horizontal:before { content: "\ec05" } .codicon-map-filled:before { content: "\ec06" } +.codicon-map-horizontal-filled:before { content: "\ec06" } +.codicon-fold-horizontal-filled:before { content: "\ec06" } .codicon-circle-small:before { content: "\ec07" } .codicon-bell-slash:before { content: "\ec08" } .codicon-bell-slash-dot:before { content: "\ec09" } @@ -580,3 +589,47 @@ .codicon-send:before { content: "\ec0f" } .codicon-sparkle:before { content: "\ec10" } .codicon-insert:before { content: "\ec11" } +.codicon-mic:before { content: "\ec12" } +.codicon-thumbsdown-filled:before { content: "\ec13" } +.codicon-thumbsup-filled:before { content: "\ec14" } +.codicon-coffee:before { content: "\ec15" } +.codicon-snake:before { content: "\ec16" } +.codicon-game:before { content: "\ec17" } +.codicon-vr:before { content: "\ec18" } +.codicon-chip:before { content: "\ec19" } +.codicon-piano:before { content: "\ec1a" } +.codicon-music:before { content: "\ec1b" } +.codicon-mic-filled:before { content: "\ec1c" } +.codicon-repo-fetch:before { content: "\ec1d" } +.codicon-copilot:before { content: "\ec1e" } +.codicon-lightbulb-sparkle:before { content: "\ec1f" } +.codicon-robot:before { content: "\ec20" } +.codicon-sparkle-filled:before { content: "\ec21" } +.codicon-diff-single:before { content: "\ec22" } +.codicon-diff-multiple:before { content: "\ec23" } +.codicon-surround-with:before { content: "\ec24" } +.codicon-share:before { content: "\ec25" } +.codicon-git-stash:before { content: "\ec26" } +.codicon-git-stash-apply:before { content: "\ec27" } +.codicon-git-stash-pop:before { content: "\ec28" } +.codicon-vscode:before { content: "\ec29" } +.codicon-vscode-insiders:before { content: "\ec2a" } +.codicon-code-oss:before { content: "\ec2b" } +.codicon-run-coverage:before { content: "\ec2c" } +.codicon-run-all-coverage:before { content: "\ec2d" } +.codicon-coverage:before { content: "\ec2e" } +.codicon-github-project:before { content: "\ec2f" } +.codicon-map-vertical:before { content: "\ec30" } +.codicon-fold-vertical:before { content: "\ec30" } +.codicon-map-vertical-filled:before { content: "\ec31" } +.codicon-fold-vertical-filled:before { content: "\ec31" } +.codicon-go-to-search:before { content: "\ec32" } +.codicon-percentage:before { content: "\ec33" } +.codicon-sort-percentage:before { content: "\ec33" } +.codicon-attach:before { content: "\ec34" } +.codicon-go-to-editing-session:before { content: "\ec35" } +.codicon-edit-session:before { content: "\ec36" } +.codicon-code-review:before { content: "\ec37" } +.codicon-copilot-warning:before { content: "\ec38" } +.codicon-python:before { content: "\ec39" } +.codicon-git-fetch:before { content: "\f101" } diff --git a/packages/components/assets/codicons/codicon.csv b/packages/components/assets/codicons/codicon.csv index 1c8600cc0c..9ff6867799 100644 --- a/packages/components/assets/codicons/codicon.csv +++ b/packages/components/assets/codicons/codicon.csv @@ -17,6 +17,7 @@ arrow-small-right,,EA9F arrow-small-up,,EAA0 arrow-swap,,EBCB arrow-up,,EAA1 +attach,,EC34 azure-devops,,EBE8 azure,,EBD8 beaker-stop,,EBE1 @@ -46,6 +47,7 @@ chevron-down,,EAB4 chevron-left,,EAB5 chevron-right,,EAB6 chevron-up,,EAB7 +chip,,EC19 chrome-close,,EAB8 chrome-maximize,,EAB9 chrome-minimize,,EABA @@ -65,7 +67,10 @@ close,,EA76 cloud-download,,EAC2 cloud-upload,,EAC3 cloud,,EBAA +code-oss,,EC2B +code-review,,EC37 code,,EAC4 +coffee,,EC15 collapse-all,,EAC5 color-mode,,EAC6 combine,,EBB6 @@ -76,7 +81,10 @@ comment,,EA6B compass-active,,EBD7 compass-dot,,EBD6 compass,,EBD5 +copilot-warning,,EC38 +copilot,,EC1E copy,,EBCC +coverage,,EC2E credit-card,,EAC9 dash,,EACC dashboard,,EACD @@ -120,10 +128,13 @@ device-mobile,,EADB diff-added,,EADC diff-ignored,,EADD diff-modified,,EADE +diff-multiple,,EC23 diff-removed,,EADF diff-renamed,,EAE0 +diff-single,,EC22 diff,,EAE1 discard,,EAE2 +edit-session,,EC36 edit,,EA73 editor-layout,,EAE3 ellipsis,,EA7C @@ -157,11 +168,13 @@ folder-active,,EAF6 folder-library,,EBDF folder-opened,,EAF7 folder,,EA83 +game,,EC17 gear,,EAF8 gift,,EAF9 gist-secret,,EAFA git-commit,,EAFC git-compare,,EAFD +git-fetch,,F101 git-merge,,EAFE git-pull-request-closed,,EBDA git-pull-request-create,,EBBC @@ -169,12 +182,18 @@ git-pull-request-draft,,EBDB git-pull-request-go-to-changes,,EC0B git-pull-request-new-changes,,EC0C git-pull-request,,EA64 +git-stash-apply,,EC27 +git-stash-pop,,EC28 +git-stash,,EC26 github-action,,EAFF github-alt,,EB00 github-inverted,,EBA1 +github-project,,EC2F github,,EA84 globe,,EB01 +go-to-editing-session,,EC35 go-to-file,,EA94 +go-to-search,,EC32 grabber,,EB02 graph-left,,EBAD graph-line,,EBE2 @@ -223,6 +242,7 @@ layout-statusbar,,EBF5 layout,,EBEB library,,EB9C lightbulb-autofix,,EB13 +lightbulb-sparkle,,EC1F lightbulb,,EA61 link-external,,EB14 link,,EB15 @@ -241,17 +261,22 @@ magnet,,EBAE mail-read,,EB1B mail,,EB1C map-filled,,EC06 +map-vertical-filled,,EC31 +map-vertical,,EC30 map,,EC05 markdown,,EB1D megaphone,,EB1E mention,,EB1F menu,,EB94 merge,,EBAB +mic-filled,,EC1C +mic,,EC12 milestone,,EB20 mirror,,EA69 mortar-board,,EB21 move,,EB22 multiple-windows,,EB23 +music,,EC1B mute,,EB24 new-file,,EA7F new-folder,,EA80 @@ -268,8 +293,10 @@ package,,EB29 paintcan,,EB2A pass-filled,,EBB3 pass,,EBA4 +percentage,,EC33 person-add,,EBCD person,,EA67 +piano,,EC1A pie-chart,,EBE4 pin,,EB2B pinned-dirty,,EBB2 @@ -282,6 +309,7 @@ preview,,EB2F primitive-square,,EA72 project,,EB30 pulse,,EB31 +python,,EC39 question,,EB32 quote,,EB33 radio-tower,,EB34 @@ -300,6 +328,7 @@ replace-all,,EB3C replace,,EB3D reply,,EA7D repo-clone,,EB3E +repo-fetch,,EC1D repo-force-push,,EB3F repo-forked,,EA63 repo-pull,,EB40 @@ -307,14 +336,17 @@ repo-push,,EB41 repo,,EA62 report,,EB42 request-changes,,EB43 +robot,,EC20 rocket,,EB44 root-folder-opened,,EB45 root-folder,,EB46 rss,,EB47 ruby,,EB48 run-above,,EBBD +run-all-coverage,,EC2D run-all,,EB9E run-below,,EBBE +run-coverage,,EC2C run-errors,,EBDE save-all,,EB49 save-as,,EB4A @@ -330,12 +362,15 @@ server-process,,EBA2 server,,EB50 settings-gear,,EB51 settings,,EB52 +share,,EC25 shield,,EB53 sign-in,,EA6F sign-out,,EA6E smiley,,EB54 +snake,,EC16 sort-precedence,,EB55 source-control,,EA68 +sparkle-filled,,EC21 sparkle,,EC10 split-horizontal,,EB56 split-vertical,,EB57 @@ -344,6 +379,7 @@ star-empty,,EA6A star-full,,EB59 star-half,,EB5A stop-circle,,EBA5 +surround-with,,EC24 symbol-array,,EA8A symbol-boolean,,EA8F symbol-class,,EB5B @@ -386,7 +422,9 @@ terminal-ubuntu,,EBC9 terminal,,EA85 text-size,,EB69 three-bars,,EB6A +thumbsdown-filled,,EC13 thumbsdown,,EB6B +thumbsup-filled,,EC14 thumbsup,,EB6C tools,,EB6D trash,,EA81 @@ -412,6 +450,9 @@ vm-connect,,EBA9 vm-outline,,EB7A vm-running,,EB7B vm,,EA7A +vr,,EC18 +vscode-insiders,,EC2A +vscode,,EC29 wand,,EBCF warning,,EA6C watch,,EB7C diff --git a/packages/components/assets/codicons/codicon.html b/packages/components/assets/codicons/codicon.html index 609529d134..d883dd2483 100644 --- a/packages/components/assets/codicons/codicon.html +++ b/packages/components/assets/codicons/codicon.html @@ -297,6 +297,14 @@

codicon

arrow-up +
+ + + +
+ attach + +
@@ -529,6 +537,14 @@

codicon

chevron-up
+
+ + + +
+ chip + +
@@ -681,6 +697,22 @@

codicon

cloud
+
+ + + +
+ code-oss + +
+
+ + + +
+ code-review + +
@@ -689,6 +721,14 @@

codicon

code
+
+ + + +
+ coffee + +
@@ -769,6 +809,22 @@

codicon

compass
+
+ + + +
+ copilot-warning + +
+
+ + + +
+ copilot + +
@@ -777,6 +833,14 @@

codicon

copy
+
+ + + +
+ coverage + +
@@ -1121,6 +1185,14 @@

codicon

diff-modified
+
+ + + +
+ diff-multiple + +
@@ -1137,6 +1209,14 @@

codicon

diff-renamed
+
+ + + +
+ diff-single + +
@@ -1153,6 +1233,14 @@

codicon

discard
+
+ + + +
+ edit-session + +
@@ -1417,6 +1505,14 @@

codicon

folder
+
+ + + +
+ game + +
@@ -1465,6 +1561,14 @@

codicon

git-compare
+
+ + + +
+ git-fetch + +
@@ -1521,6 +1625,30 @@

codicon

git-pull-request
+
+ + + +
+ git-stash-apply + +
+
+ + + +
+ git-stash-pop + +
+
+ + + +
+ git-stash + +
@@ -1545,6 +1673,14 @@

codicon

github-inverted
+
+ + + +
+ github-project + +
@@ -1561,6 +1697,14 @@

codicon

globe
+
+ + + +
+ go-to-editing-session + +
@@ -1569,6 +1713,14 @@

codicon

go-to-file
+
+ + + +
+ go-to-search + +
@@ -1953,6 +2105,14 @@

codicon

lightbulb-autofix
+
+ + + +
+ lightbulb-sparkle + +
@@ -2097,6 +2257,22 @@

codicon

map-filled
+
+ + + +
+ map-vertical-filled + +
+
+ + + +
+ map-vertical + +
@@ -2145,6 +2321,22 @@

codicon

merge
+
+ + + +
+ mic-filled + +
+
+ + + +
+ mic + +
@@ -2185,6 +2377,14 @@

codicon

multiple-windows
+
+ + + +
+ music + +
@@ -2313,6 +2513,14 @@

codicon

pass
+
+ + + +
+ percentage + +
@@ -2329,6 +2537,14 @@

codicon

person
+
+ + + +
+ piano + +
@@ -2425,6 +2641,14 @@

codicon

pulse
+
+ + + +
+ python + +
@@ -2569,6 +2793,14 @@

codicon

repo-clone
+
+ + + +
+ repo-fetch + +
@@ -2625,6 +2857,14 @@

codicon

request-changes
+
+ + + +
+ robot + +
@@ -2673,6 +2913,14 @@

codicon

run-above
+
+ + + +
+ run-all-coverage + +
@@ -2689,6 +2937,14 @@

codicon

run-below
+
+ + + +
+ run-coverage + +
@@ -2809,6 +3065,14 @@

codicon

settings
+
+ + + +
+ share + +
@@ -2841,6 +3105,14 @@

codicon

smiley
+
+ + + +
+ snake + +
@@ -2857,6 +3129,14 @@

codicon

source-control
+
+ + + +
+ sparkle-filled + +
@@ -2921,6 +3201,14 @@

codicon

stop-circle
+
+ + + +
+ surround-with + +
@@ -3257,6 +3545,14 @@

codicon

three-bars
+
+ + + +
+ thumbsdown-filled + +
@@ -3265,6 +3561,14 @@

codicon

thumbsdown
+
+ + + +
+ thumbsup-filled + +
@@ -3465,6 +3769,30 @@

codicon

vm
+
+ + + +
+ vr + +
+
+ + + +
+ vscode-insiders + +
+
+ + + +
+ vscode + +
diff --git a/packages/components/assets/codicons/codicon.svg b/packages/components/assets/codicons/codicon.svg index 7f1b6ec25a..141bbdd3ae 100644 --- a/packages/components/assets/codicons/codicon.svg +++ b/packages/components/assets/codicons/codicon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/assets/codicons/codicon.ttf b/packages/components/assets/codicons/codicon.ttf index ea2309d11d3390a5cf2f8dac873808182dffc666..4a4d15cc2df09d0928d922b25be0135d064cd68b 100644 GIT binary patch delta 16695 zcma)@31C#^wa3r7Gjs3U*=O!-*_TOX0wjT~ldyykK$aj`WmUu%7L(z?{PKA+Y1|K>}O`fT5W{ODoBBtvLUSPw>1^B5hH3@0#{qcRi11m8>MP?A_SD ztxx%wzlHNrTwmDJzOi$t^=}Wf5|@(9|EI5v@<8`{H_ z%7;Ai68G@XTiX5CDvKd@fS#JO(hO>%nbb@zG@Itp0$NCm=nPs;XVMBZ3v0LR)DYZKoY{9-U7YP>Oca zx9B3em@c79>2kV)uA*ych=yr5T~DbS=tlZJ-9$g2o9Rb%3;mdGrJvAkw3mKLchb*r z(SEv%?xBY;Dj%b#=vjJ>j?hthkzS&g=~whR{hHpO-_V=%TY8KBOn;@n(Wmrx`kcOC zVk_I&!A^FupA8Ojh$EcCxm>`79ODu$Pw^D4;%ctpI#KpXVcVn_W%w4>W<9r@Z<|bOnkI@|Vr05!Ynk}5qGif4Ma499Jfm-#Wi=%BCz@O!v|KyoOHZwY-^LWgqY5J7_*{qC5C0 zs^W}P&Vq&CfBD!J6(FpC8l-gV>!8@t)KxUnA2poOXx3#3&_iU3%mJmogT$bOMC~_Apr**&BB5E3TP09kWNwo{iIFJ^3n&7) zLjuJ{rZ@+n;>bKtLf?fvU&8YtFF^ic!$sH;Edhk(F?UKh3-VhM=tnXylt5FGd65J< zlgx`H^eE)FCHxb}OC->!WL_$vDdt*S4dbKyGp{MkXK7s zJm?w;e-H9n35)YX5~yu5MK=I?0#aNDSQL0zV8zb0L#FqtR1S83EP*yB^HvG;I+>y_ z02-dm+a%ESWZo`;)+ckXgjPX{HUTgMWZofxNg(s55*POlNW@4hfD}hTv<{u<*F35aO0yl%q z|CGR&Ak&n<^&m4Xp&KAaCGbYb{G$YZ37LPAz(XPPeF^jNZ?Ju)JlZ6pJoX?2B}EkYf;)Ff!9T8s|5ZRrP4O+ z0Jvh5RwZ!CD6L80o>AH^fulxgT>_Vl(oPASH%hxCaN{WLmcXH-v_}Hhj?!KUoIFbV zGNAq6M8YqD=SS&)1U?|84GFwKN(UwI3n?9vz(b^TSOQ;>(h&)~MoLE|@E<9iB_Xt0 zI$MHr!IFb=VOX0C3zNeRz_6!!yeffV-xo((DP z2RsM!KP?^rcrN6037-TxL&EbQnWNcfwOXGv1L6N!})5duh`E#V6xMNI);1Sx6?_!3A_Q^1!(ikbqx3{un-@a2$e zBqD^77PSU^6=bJ`uYp`E`hP7>3}I)Tgl~fElJE~8MKb}u4N|lc;M*ZZD*@gI*)8Fp zLW&jxd?#d&g!e=CO872F(UO4gM*pWbN%$T}(X45C;;byE7<60AQl|3!ZSEJZ0T`V(MLN@>xb0LxQK ze@B9aDy2o=0xVf6{apzbuap-33=koq^ezb&w3NP5f~75`uaaPqOX;gKpgO%sTqD8C zm(tftum+~I7#D!bAjQJ~*2R?mo&+moN)Jo0R;KiB35k}wUV`;ArEidkuu%F&3D(q< z{=R6^?<0eCkYeBg`Up}CJix_}Ka}ta$eSfBGTI}-f}GMnlF-ADw@6qF;vY*`JpWb+ z$02_r;gsn2+ax?0@^%T<^_1Q#p_PzglmmVY@(u~jffOSium@6%cz{3vrGF-&ry=)C z*aCT%g!3Wq7X6P6A_kPcM}i<6r4L9%xGp^+K|F!d_ev01p!9tb#26?oW(c5GNYUJY zMUx+r@I#OfNLbwWpoB-n{1+zy0u+=!EFqDpXiC7#As>?LOYcHt%No} zz9m7phteW*fWQx>MWFyfK$I4R1qcSA6W_rOKwOB@{~;k!9mACgd7#5kg+JhA0>!FQTk63#G@$vz66meN`D|h zjEd6Y0RYh|N`E8~&UE_E5)#k*Sb|sqA{=u`pXdNhg=DxmooJ)>dl00jGJG$J8!QB;BeAdQNW1FC`) zH3B>lGDpJV8KRW{i$X#@2oN%)Q7AhBf`>F(Afb;T3k4WGyc7uxMFC=qG+Hb{l#xbb z61otwM8fAomP!zVq|vwp(MTFiND!B#(J~1=069Uz&p?WT1AZDZH3=I)b0Nzmyb`iP zf|w?aR!R`vq|wO|f>IovB4N?jqGbSLpEO!6p(i10B#4L7Xsra1Q5vn2G$BYzqxBMm zOKCJILEw}|8zgipWTOPZRQeEuRX}$S4HlK9EX9^)%e9tKYt-6febrWC>&O2+wvSYg zx?fwZ-C{4dFSH-fOY}D#S36#FeD3r)mpeB&&vRbs+~a)DrMQBwLRXV(gX?J2#kHo_lBRn|Vs!lDwY0>+Qbvx=_s&~~-ufIImk{nFF(a_Q`-0*s%+L+&1-?*&tyv99^Pc**W z`1#b_skKv=PTer|vZ;Hf9-8{mw908ar)N)JG5vz+Z%_YZMsUU*GoG07PE)XHThnmU zdozPGTV`H1bN|evGv95d=JMv{%@;K9pH()iW!CkxUTVoswajVR*>b4mliB67&zrq} z_M3CUb86>oo3m$beD12bZ=6&z&pxktUjMw;=Y2MR;rz?zk1m+AVCRBo7G^KJcHz6N z4Xuk?FKB(L^|M96Mbj6pJh}YjD^7lF@xsM>PjQ?w{gf+CIkY5y$>Jr0OO7mgZ^>W3 zare^j(y2@DJ$1^dTTXp?J7?O@oPOq(Gap-#zhcRXo)veTRe#o=mDwwIu6+CK)6c&0>}T7G+lJfT zJZJtnFRdD0b?>TI+8=BGXtjNHrPttOsY%i>h8L(>*)G9>vyhyYJ<9=Wy56~UOl(`+$HDU*j?RydC%p2 z&3)Z{SNDCksbtfVO%!Qu44ZC8j0OuVE{p9g?x)N@WJu)>ntMP*5$7&)}Mn8m_KS)YZp})jU?i zk(wq>)YXK79wqjDhb!XObINkr7xfve+Er#>mXEUnjzAV0xokxM6j?n}X#36+GxB!y8jYC<*0Dnlex6N(*2 zi-lr!$4S)1>S~UYtkJO3W&{ia#54cKb_}C5^ABe(x`?yJ((*!_@`?lErVPUuja)SC z6)gn~i9%(gP!_zBa^iKWfj1e@k0@R&2_h$yOhY=MWr{2c7^z9tCEAc}YiqnU^AF-| z!#H*f1OlwRc=&jJM+0qbFK*ft2)r1;3tX8e@=L+J$q^BFj%j#aD3Zi8wV0Rd5~#J8 zBU+*kRgP$pWF7lH*7eE0`jj5np_Mr*k6l?tdo=`JpIPhiclPoJ#S>-%oDlodIK zCyIma2_A?t7;W)_T4Wl8u~YHh*pK0WrzVEZon4($GpEYY1|h`oXFTpn<#2%i+#g#mRBWSi@cp6vNCqp&i z`r3G`K}*@$VYM4tMl50}4OMs8wARcvAP@Bgo(|^Z1YK%bc0;H*ba-D;q%l%t=q{hn z#aX&)*X%Zj%i$0sRZ|@<{r`8UFKpx{a+T6F}|PP9vHeKPLhASNRoTHVBWS~2$XQ=F)6;_7@3dPD<8Fk!^} z98%cgkH>s&8+&}JcZ%1d=oX9DZL?U_KvB@e>~IBxsuR8M(p0CWDHgAXEjG6=7I#}L z4y$VS*{6726Ai_()L-ED7sT=df&AH#L}fe@iB~2ft z^M!-DMX~BCnmJ%omZ&zn)$g%*RMl#;;~JY9@n)&)bs717!)m>OLs6YITdry!wA+j_ zw-F5g#-Cr3@6T*zMKbw`P1G>r4e&8k@f8M_V^Qa#XbP_BIs^>9iSb&Efhg5hZGEIR zqp?JT)g?~oi2}Uz##NdJZ-~(enp*r%n%>Kq&Z$N>)YK(JZ;kcZm;I1bBWV9>(X*RX zyWM5CpDs2od-d_wx3C9IuW3$IbGauho$$X~dx7YRl9NhY4rW)dD4<$1Jv4Q^^%I&! zF($gaQ!cWrXrs)=GbZioJ@R>-k!LwH=?mzEsY|Wgx$T&L5{g83AVdz(9UNH3Aht>_P zTybAYW?@749pe+Lv1%+_D2Yj#DV(qtFdIU^MAX%Y!X}Zd5ffU`5=|DU#7Lcn>tp#` z-J~QV9!sn^o(REc>G-ELFd7P}J@(67!foa3}PoOVrRx1u{- zn(kBMS6q>?H^&~zRH)5(t_kJ=X3=e?ug-V7!kL_a5{ZquedFdGjc=wb^2JJlw&v>c!S-H zceGff!1!d8!ExgQO&Sq?jx<0}y78DM_G87WI0VB~T@RlKGd?~ElOP@u+NQQXpEZ$y z8V-kAhl8;o{>DV4s3kP=dKuo6VZ5eg{h%{2729KIg}{4R$Li z>P(V;GnsN6+>w&dFKqIeTv)Zj7XRE>lw);)FU}og%#2 z$9fdzxGs`R#Iy)BW5%(G!Q#Xd!u_eM!APwa&lltRBBR>f;%@QO>-sT=qs5wClxa_6Vm_RyH$J(OOGm2`Id;uj#+a>}TEGRqmD+_gP=99D3;7&G#$w#xoQu zOSqC4h8g!2`XE%3sF6A>0v~o$0PbL8W6M#8W13_0gQxwZSZ`d%o^I-ZqozP+|$ZA zOZcXjUV5xF9*D;SXB)5Uv&(Tp^vqam2~RK#A9&(W*N%-TSs^bxAPZtfh#J6goT=0$ zv`A*&z`3c!WT~IVS~4NLmyEBH@ps_;Lymd_{^lt8{vVNIw= z49ZtHshI^)6W1iGBe*5PC1;%Z0_sYLN^c_b+PqV%A#~MYE+;r_TsQ zLx$Ih<&qoTs72Fl`8McbR&>o`$ycnU7N@3IYgCWZt=TlY-D!t*cG#VouHg@R1-hze zimEHhcw(EwZd2jjy1lNJh=fT#~KqD)6JMiUe5W%b#5vof<83`j9PsWqzAz08F z{~tQ&JYs^?GvSsZe2Feo?f%*dHjaj7BCE`5D)T-G$i>uMJn~ z7N@FvtuD^)^#<))Ae^7&a5?S1rTGr5<&5GSH~aF-CdBhR7zqK~;4dnlQdtsU_U4y` z@f6p9!)`=9ZX0?(l2tf9`w;uj^uW-R8(x-+W->9JU2xOj1j9m&`@We~Gn7lErLG3` z7lXM5EBEgixmeKT;)&$>+)-gy zqi$bb#3RdqZ%0IaQK~~k^dGWJ2s1C;@VbAJy*7;epxj`o^z9@zx z;0)&aPAJDkF2CQkOswISeNBmM5f8!!2W~7?#%#QX@#(@yOJJo6T~rzi#WQNC35zIA zcp$=13(X$KkdX#mm^Lk>)s3C5t%pH$d(jMuoJyx3D?RpA4eMh^E=KTRvN-DV?VGIU zByu^&IIRH}<$>?%`Ys0x$0NAO9$4lm)#JOwl@b3)(M@~C-4G4mnOHJ~%ttY4CKmC@ zasNmY&V_I{BGRFNb3J}!&ah`#$&|!l3`-_JjZnOa@{ZMTljLL#BQblM zIHQW8TajB`ycP$bX@zHn>4`s#UadF=y(%2dJbdY!z{wd53!@=86|NU*_sg}Nu!JF~ zVR11w&=2rL#cH}Kr6g;RhgjW-`=_D{Jka^bAz6=ds6`@>l?o))~)a{C;Jz%qIR>ftvoMurJi_o!l#eV(&d3TDfR-2-zCrz*gA-{6}A}#I> zdILgj>&VFt#hhic>sBlUk+gX1Hvd$&L$zQ>Q8lZ*o)0J}tJP|;SpB#r_y4@V(4RX2 z+8vKWT*&5d$G`Ff8cE+7a2^kSl_Ts`fX^{!;zP$XXcaoE3chYtP>od;$Lp%F-2Te` zSI>WSU#o$O1rJO3qr!KD4-~@!NEIG+B{y;SX5lNRgr6)DUn6bC9QQK!X&zTYgSE7( z)Y8~!f#}BEV+{3U(v@YY3;+FB%o=^g{@l}wXr&UEos5>dej#sP+dT(81QgiXO~j2bNU6 z%{7R(;+iin+2jgYx~zz;ZLoy0LY6$M%2rE(CFH_VC9?ougbPwQY!gRuMVHlP6&Jh5 z&hPNKRL#c1kFnW>G~^f?9^W57KXx2HM$0rsR>spR#i#1c;_LI|iL1K^!tV8AL|2RG zm0Fxa^ccRZmt#o;hY^Q?I}1}PrV6}m#GgZ2^^{muTMJf@4&x!%?TJO+kT!R&7V?H1 zR)vj4!J-f|RvX@kuCql|=FCx4OC$3!{jjb#Oy1Wwxu{l+I=uD;Sqto5N6_Zi9O@3E z&?xdcy&fxb#_S?#F&6SPc^HhnC-H*>@INqTkhGAxbnnX8+;Hia* z)qMOI3o)g541bwWqb635nYo;q(V6ZP6IvY3%x5?Y=+|K^vJm;4Y~<#-6%5L$w;zo``w>w1)#lBB$45vL;*W)gq31fkWOv(v*oFOB(D5P;I z?kmI$EQD;q{gYk(T%#2sw!m2UMsqqE^bzwH>kx4p8@<`E7iSEuK2kn(%aI8~|9+%` zw+$7&Fkz_eg>pV+=;jx4JQ{wZW_Q@J)odQy$dV)9u#L^^Yy_!vL7;0o`q}Tb;nPORj`Pd zhv9mK6U9}SOc7@L{C11( zd4&UW;_!r`6Fhc@s{Yv@4i|;Pol*>1vkkj7zf4m+0fy$q86}dJRUP*01;sv(^Sr{C z#o@L?dtkXM`bWl0glQA2*Z?9KP%|>_A`H8Dr-qklAra1!VN-1Ha@W1#gQ3~8e{0@KV3dS`qbI*squ|T5-!Y4j$xshaW9kbaKwse61>p0L;ep!maHE8 z&=1~^43)mW*LlL7LvOsFJLLNyD~iyU!>{9&oztx@jA#z_I$Ipxb?V4-??32Hi6~|k ze)b|>lFl28V`i3Im=bsgSB%#H(%Qi-6ZTC^C(M7LBoM@u>qD&AL$Okjkni8*T>3Iy z(~78NQAG25y^gTM>-B45H#3t`noIY2iakEvr3pia=0M2ExLLSalf`EEcI#^>s;6V=d#nW0+~M5UQwr?ZH#Z%CAuD7Pp11KeBnO)>Ux%9xBkRx=Wm5_Lzz>sLYc`dB7^w+CaH=SbRv@!a)CA# z8_}dFf_$fhxS9yG!q6O1Rf}cS#7usck`fCFV^=1ww%V=LR_pWy3uf4?2@3*M%L`>8 zii%MZmqjT&69=={Ze2O6Az8V=YKJw1uDlaK7E3YWOR9@ZPz*wWeGzOM7&iyr=)ve@0Re(l+ZCQwAQhHU`=~}hpV$={b0pF=fJ@F-kyVh^y8Pi7TmCV zroq*=wVi`&x^{OP{KGQuI&s-x`#@JkdtYDocK4V2eZ779@x9%SAWvB6!G71~)fIjH zy&F2$461V1wywK(b!TW@Z^dA5g~%7h8PD1wkFH&hTFB%;XL~;yu{FqNC;@->`gL7{ zt2cMAt{CWR??1P@bN4M_zOTr@FZe6aB7^JKw0BqF?rv24#ACb9i10+OW8?ZYV`nW$ z?*3MUYgOCE%>zi^7vY-<)^zp^qE#Jzo&5v7Jr(U89jZ*)`qsDi^zJ?<${RJcZ~I_Z zZ_n-{QNGRT=R^_o8?EXVGuk^SFHuv}UZtm%* z*owA3I6H^Sl?p#vedFqZj^3?3V;4KVJmQtf&3$914(<@zE?e2s@7*$x8IkLI2G)0= O1ys4e`}%zT_WuB?%(STh delta 9059 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.levels.SILENT){if(B=i,m!==!1&&oe(i),k.call(l,i,a),typeof console===t&&i=t}static isObject(e){return typeof e=="object"&&e!==null&&this.isArray(e)===!1}static isString(e,t=0){return typeof e=="string"&&e.length>=t}}const O=[];function W(){return"$$NODE_ENV$$"}class g{constructor(){}static log(e,t){switch(y.isObject(t.refObject)&&typeof t.refObject.constructor=="function"&&y.isString(t.refObject.constructor.name)&&(t.className=`[${t.refObject.constructor.name}]:`),O.push({date:new Date().toUTCString(),level:e,message:t}),e){case"trace":f.exports.trace(t);break;case"debug":f.exports.debug(t);break;case"info":f.exports.info(t);break;case"warn":f.exports.warn(t);break;case"error":f.exports.error(t)}}static trace(e,t){return this.log("trace",{messageText:e,refObject:t}),this}static debug(e,t){return this.log("debug",{messageText:e,refObject:t}),this}static info(e,t){return this.log("info",{messageText:e,refObject:t}),this}static warn(e,t){return this.log("warn",{messageText:e,refObject:t}),this}static error(e,t){return this.log("error",{messageText:e,refObject:t}),this}static get cache(){return[].concat(O)}}switch(g._instance=null,W()){case"development":f.exports.setDefaultLevel("trace");break;case"test":f.exports.setDefaultLevel("warn");break;case"production":f.exports.setDefaultLevel("error")}function Z(r,e){return y.isArray(r)?r.find(t=>e instanceof t)!==void 0:!1}function R(r){return r instanceof b?r.get():Array.isArray(r)?r:[r]}class b{constructor(e){this._instancesOf=[],this._items=[],this._protectedItems=[],this._instancesOf=Array.isArray(e)?e:[e]}get empty(){return this._items.length===0}get first(){return this._items.length>0?this._items[0]:null}forEach(e){this._items.forEach(e)}filter(e){return this._items.filter(e)}find(e){return this._items.find(e)}get last(){return this._items.length>0?this._items[this._items.length-1]:null}get length(){return this._items.length}add(e,t=!1){return R(e).filter(s=>{let o=!1;return this.contains(s)===!1?Z(this._instancesOf,s)?(t&&this._protectedItems.push(s),this._items.push(s),o=!0):g.debug("The item does not have a valid instance type.",this):g.debug("The item is already in the list.",this),o}).length>0}remove(e){return R(e).filter(t=>{let s=!1,o=this._protectedItems.indexOf(t);return o===-1?(o=this._items.indexOf(t),o>=0?(this._items.splice(o,1),s=!0):g.debug("The item is not in the list.",this)):g.debug("The item is protected and cannot be removed.",this),s}).length>0}set(e,t=!1){const s=this.clear(),o=this.add(e,t);return s||o}get(e){return isNaN(e)===!1&&typeof e=="number"?this._items.slice(0,e):this._items}clear(){const e=this._items.length;return this._items=this._items.filter(t=>this._protectedItems.indexOf(t)>=0),e!==this._items.length}contains(e){return this._items.indexOf(e)>-1}}class V{}class N{constructor(){this.formatters=new b(V)}format(e){return this.formatters.forEach(t=>{e=t.format(e)}),e}parse(e){return this.formatters.forEach(t=>{e=t.parse(e)}),e}}class v{constructor(e){this.state={message:"Ein unbekannter Fehler ist aufgetreten."},this.message=e}set message(e){y.isString(e,1)?this.state.message=e:g.debug("")}get message(){return this.state.message}}class S{constructor(){this.validators=new b(v)}validate(e,t=!1){const s=[];try{this.validators.forEach(o=>{if(o.isValid(e)===!1&&(s.push(o.message),t===!0))throw new Error("Only one error is enough. Be quick and stop the execution of other validation functions.")})}catch(o){}return s}}class F{constructor(e){this.changeListeners=new b(Function),this._errors=new Set,this._parentForms=[],this._name="unnamed",this._validationHandler=new S,this._notifyTimeout=setTimeout(()=>{},0),this.name=e}get name(){return this._name}set name(e){if(typeof e=="string")if(e.length>0)this._name=e;else throw new Error("The name of a control must have a min-length of 1.");else throw new Error("The name of a control must be a string.")}get error(){return this._errors.size>0?this._errors.values().next().value:null}getErrors(){return this._errors}get id(){let e=this.name;return this._parentForms.length>0&&(e=`${this._parentForms[0].id}_${e}`),e}get valid(){return this._errors.size===0}es5isValid(){return this._errors.size===0}findMeInParentForm(e){if(this===e)return!0;if(e instanceof p){const t=[];return this._parentForms.forEach(s=>{s.findMeInParentForm(e)===!0&&t.push(s)}),t.length>0}else return!1}addParentForm(e){if(this._parentForms.includes(e)===!1)if(e.findMeInParentForm(this)===!1)this._parentForms.push(e);else throw new Error(`The same form control (${e.name}) leads to a form control loop.`);else throw new Error(`An form control with the name '${e.name}' already exists.`)}removeParentForm(e){const t=this._parentForms.indexOf(e);if(t>=0)this._parentForms.splice(t,1);else throw new Error(`An form control with the name '${e.name}' does not exists.`)}setValidationHandler(e,t=null){this._validationHandler=e,this.validate(t)}validate(e){this._errors.clear(),this._validationHandler.validate(e).forEach(s=>{this._errors.add(s)}),this._parentForms.forEach(s=>{s.validate(e)})}notify(){this._notifyTimeout&&clearTimeout(this._notifyTimeout),this._notifyTimeout=setTimeout(()=>{this.changeListeners.forEach(e=>{e()})},0)}}n.InputControlTypes=void 0,function(r){r.checkbox="checkbox",r.date="date",r.email="email",r.number="number",r.password="password",r.radio="radio",r.select="select",r.slider="slider",r.text="text"}(n.InputControlTypes||(n.InputControlTypes={}));class T extends F{constructor(e,t){super(e);this._disabled=!1,this._info="",this._label="",this._mandatory=!1,this._placeholder="",this._readonly=!1,this._type="text",this._value=null,this._oldValue=null,this._valueTimeout=setTimeout(()=>{},0),this._formatHandler=new N,t&&(this.info=t.info?t.info:"",this.label=t.label?t.label:"",this.disabled=t.disabled?t.disabled:!1,this.mandatory=t.mandatory?t.mandatory:!1,this.readonly=t.readonly?t.readonly:!1,this.placeholder=t.placeholder?t.placeholder:"",this.type=t.type?t.type:"text",this.value=t.value?t.value:null)}get info(){return this._info}set info(e){if(typeof e=="string")this._info=e,this.notify();else throw new Error("The info of a input control must be a string.")}get disabled(){return this._disabled}set disabled(e){if(typeof e=="boolean")this._disabled=e,this.notify();else throw new Error("The disabled flag of a input control must be a string.")}get mandatory(){return this._mandatory}set mandatory(e){if(typeof e=="boolean")this._mandatory=e,this.notify();else throw new Error("The mandatory flag of a input control must be a string.")}get readonly(){return this._readonly}set readonly(e){if(typeof e=="boolean")this._readonly=e,this.notify();else throw new Error("The readonly flag of a input control must be a string.")}get label(){return this._label}set label(e){if(typeof e=="string")this._label=e,this.notify();else throw new Error("The label of a input control must be a string.")}get placeholder(){return this._placeholder}set placeholder(e){if(typeof e=="string")this._placeholder=e,this.notify();else throw new Error("The placeholder of a input control must be a string.")}get type(){return this._type.toString()}set type(e){if(typeof e=="string")switch(e){case"checkbox":case"date":case"email":case"number":case"password":case"radio":case"select":case"slider":case"text":this._type=e,this.notify();break;default:throw new Error("The type of a input control must be a of the following types: ???.")}else throw new Error("The type of a input control must be a string.")}get oldValue(){return this._oldValue}get value(){return this._value}set value(e){this._valueTimeout&&clearTimeout(this._valueTimeout),this._valueTimeout=setTimeout(()=>{this.validate(e),this._oldValue=this._value,this._value=e,this.notify()},0)}get modelValue(){return this.value}set modelValue(e){this.value=e}get viewValue(){return this._formatHandler.format(this.modelValue)}set viewValue(e){this.modelValue=this._formatHandler.parse(e)}setValidationHandler(e){super.setValidationHandler(e,this.value)}setFormatHandler(e){this._formatHandler=e}}class p extends F{constructor(){super(...arguments);this.controls=new b([p,T])}get disabled(){return this.controls.filter(e=>e.disabled===!1).length===0}set disabled(e){this.controls.forEach(t=>{t.disabled=e})}get readonly(){return this.controls.filter(e=>e.readonly===!1).length===0}set readonly(e){this.controls.forEach(t=>{t.readonly=e})}get valid(){return this.es5isValid()&&this.controls.filter(e=>e.valid===!1).length===0}addConrol(e){if(this.controls.contains(e)===!1)e.addParentForm(this),this.controls.add(e);else throw new Error(`A control with the same name '${e.name}' already exists.`)}removeControl(e){if(this.controls.contains(e)===!0)e instanceof F&&(e.removeParentForm(this),this.controls.remove(e));else throw new Error(`A control with the name '${e.name}' does not exists.`)}getControls(){return this.controls.get()}getControl(e){return this.controls.find(t=>t.name===e)}setData(e){console.log("FormControl.setData is currently not implemented.")}getData(){const e={};return this.controls.forEach(t=>{if(t instanceof p)e[t.name]=t.getData();else if(t instanceof T)e[t.name]=t.value;else throw new Error("The control is neither an instance of FormControl or InputControl.")}),e}setValidationHandler(e){super.setValidationHandler(e)}}class I{static createForm(e,t){const s=new p(e);for(const o in t)if(t.hasOwnProperty(o))if(typeof t[o]=="object"&&t[o]!==null)s.addConrol(I.createForm(o,t[o]));else{const E=new T(o);E.value=t[o],s.addConrol(E)}return s}}class C extends V{constructor(){super(...arguments);this.regExp=/([A-Z0-9]{1,4})/gi}format(e){if(typeof e=="string"){const t=e.match(this.regExp);if(Array.isArray(t))return t==null?void 0:t.join(" ")}return e}parse(e){return typeof e=="string"?e.replace(/ /g,""):e}}const q=new C;class M extends v{constructor(e="Bitte tragen Sie einen Wert ein."){super(e)}isValid(e){return e!=null&&e.toString().length>0}}const P=new M;class _ extends v{isValid(e){return P.isValid(e)===!1||this.validate(e)}}class A extends _{constructor(e,t="Bitte tragen Sie einen g\xFCltigen Wert ein."){super(t);this._regExp=/^/g,this.regExp=e}set regExp(e){e instanceof RegExp?this._regExp=e:g.debug("The regExp of the pattern validator should be type of RegExp.")}get regExp(){return this._regExp}validate(e){return this.regExp.test(e)}}class j extends A{validate(e){return super.validate(e)===!1}}const H=/^\d+$/;class U extends A{constructor(e="Der Wert ist keine Zahl."){super(H,e)}}const X=new U,$=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;class Q extends A{constructor(e="Die E-Mail-Adresse hat nicht das richtige Format."){super($,e)}}class K extends _{constructor(e="Bitte best\xE4tigen Sie."){super(e)}validate(e){return e===!0}}class Y extends _{constructor(e,t=`Die Eingabe darf nicht l\xE4nger als ${e} Zeichen sein.`){super(t);this.maxLength=e}validate(e){return y.isString(e)&&e.length<=this.maxLength}}class J extends _{constructor(e,t=`Die Eingabe darf nicht k\xFCrzer als ${e} Zeichen sein.`){super(t);this.minLength=e}validate(e){return y.isString(e)&&e.length>=this.minLength}}class ee extends _{constructor(e,t){super(t);this.validator=e}validate(e){return this.validator.isValid(e)===!1}}n.AbstractFormatter=V,n.AbstractValidator=v,n.DEFAULT_DIGITS_VALIDATOR=X,n.DEFAULT_IBAN_FORMATTER=q,n.DEFAULT_REQUIRED_VALIDATOR=P,n.DIGITS_VALIDATION_REGEXP=H,n.DigitsValidator=U,n.EMAIL_VALIDATION_REGEXP=$,n.EmailValidator=Q,n.FormControl=p,n.FormFactory=I,n.FormatHandler=N,n.IbanFormatter=C,n.InputControl=T,n.IsTrueValidator=K,n.MaxLengthValidator=Y,n.MinLengthValidator=J,n.NonRequiredValidator=_,n.NotPatternValidator=j,n.NotValidator=ee,n.PatternValidator=A,n.RequiredValidator=M,n.ValidationHandler=S,Object.defineProperty(n,"__esModule",{value:!0})}); -//# sourceMappingURL=bundle.js.map diff --git a/packages/components/src/assets/@leanup/forms/bundle.js.map b/packages/components/src/assets/@leanup/forms/bundle.js.map deleted file mode 100644 index 019524a029..0000000000 --- a/packages/components/src/assets/@leanup/forms/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../node_modules/loglevel/lib/loglevel.js","../node_modules/@leanup/lib/helpers/validator.js","../node_modules/@leanup/lib/helpers/log.js","../node_modules/@leanup/lib/pattern/list-of.js","../src/handlers/formatters/abstract.formatter.ts","../src/handlers/format.handler.ts","../src/handlers/validators/abstract.validator.ts","../src/handlers/validation.handler.ts","../src/controls/controls.ts","../src/handlers/formatters/iban.formatter.ts","../src/handlers/validators/required.validator.ts","../src/handlers/validators/non-required.validator.ts","../src/handlers/validators/pattern.validator.ts","../src/handlers/validators/digits.validator.ts","../src/handlers/validators/email.validator.ts","../src/handlers/validators/is-true.validator.ts","../src/handlers/validators/max-length.validator.ts","../src/handlers/validators/min-length.validator.ts","../src/handlers/validators/not.validator.ts"],"sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","export class Validator {\n constructor() { }\n static isNumber(any) {\n return isNaN(any) === false && typeof any === 'number';\n }\n static isArray(any, minLength = 0) {\n return Array.isArray(any) && any.length >= minLength;\n }\n static isObject(any) {\n return typeof any === 'object' && any !== null && this.isArray(any) === false;\n }\n static isString(any, minLength = 0) {\n return typeof any === 'string' && any.length >= minLength;\n }\n}\n//# sourceMappingURL=validator.js.map","import * as log from 'loglevel';\nimport { Validator } from './validator';\nconst LOG_CACHE = [];\nfunction getEnvironment() {\n return '$$NODE_ENV$$';\n}\nexport class Log {\n constructor() { }\n static log(level, message) {\n if (Validator.isObject(message.refObject) &&\n typeof message.refObject.constructor === 'function' &&\n Validator.isString(message.refObject.constructor.name)) {\n message.className = `[${message.refObject.constructor.name}]:`;\n }\n LOG_CACHE.push({\n date: new Date().toUTCString(),\n level,\n message,\n });\n switch (level) {\n case 'trace':\n log.trace(message);\n break;\n case 'debug':\n log.debug(message);\n break;\n case 'info':\n log.info(message);\n break;\n case 'warn':\n log.warn(message);\n break;\n case 'error':\n log.error(message);\n }\n if (getEnvironment() === 'development' && level === 'error') {\n throw new Error(`Execution in development mode was canceled. See the error log above.`);\n }\n }\n static trace(messageText, refObject) {\n this.log('trace', { messageText, refObject });\n return this;\n }\n static debug(messageText, refObject) {\n this.log('debug', { messageText, refObject });\n return this;\n }\n static info(messageText, refObject) {\n this.log('info', { messageText, refObject });\n return this;\n }\n static warn(messageText, refObject) {\n this.log('warn', { messageText, refObject });\n return this;\n }\n static error(messageText, refObject) {\n this.log('error', { messageText, refObject });\n return this;\n }\n static get cache() {\n return [].concat(LOG_CACHE);\n }\n}\nLog._instance = null;\nswitch (getEnvironment()) {\n case 'development':\n log.setDefaultLevel('trace');\n break;\n case 'test':\n log.setDefaultLevel('warn');\n break;\n case 'production':\n log.setDefaultLevel('error');\n}\n//# sourceMappingURL=log.js.map","import { Log } from '../helpers/log';\nimport { Validator } from '../helpers/validator';\nfunction isInstanceOf(instancesOf, item) {\n if (Validator.isArray(instancesOf)) {\n return (instancesOf.find((instanceOf) => {\n return item instanceof instanceOf;\n }) !== undefined);\n }\n return false;\n}\nfunction normalizeListOfItems(items) {\n return (items instanceof ListOf ? items.get() : Array.isArray(items) ? items : [items]);\n}\nexport class ListOf {\n constructor(instancesOf) {\n this._instancesOf = [];\n this._items = [];\n this._protectedItems = [];\n this._instancesOf = (Array.isArray(instancesOf) ? instancesOf : [instancesOf]);\n }\n get empty() {\n return this._items.length === 0;\n }\n get first() {\n if (this._items.length > 0) {\n return this._items[0];\n }\n else {\n return null;\n }\n }\n forEach(action) {\n this._items.forEach(action);\n }\n filter(action) {\n return this._items.filter(action);\n }\n find(action) {\n return this._items.find(action);\n }\n get last() {\n if (this._items.length > 0) {\n return this._items[this._items.length - 1];\n }\n else {\n return null;\n }\n }\n get length() {\n return this._items.length;\n }\n add(items, protect = false) {\n return (normalizeListOfItems(items).filter((item) => {\n let changed = false;\n if (this.contains(item) === false) {\n if (isInstanceOf(this._instancesOf, item)) {\n if (protect) {\n this._protectedItems.push(item);\n }\n this._items.push(item);\n changed = true;\n }\n else {\n Log.debug(`The item does not have a valid instance type.`, this);\n }\n }\n else {\n Log.debug(`The item is already in the list.`, this);\n }\n return changed;\n }).length > 0);\n }\n remove(items) {\n return (normalizeListOfItems(items).filter((item) => {\n let changed = false;\n let index = this._protectedItems.indexOf(item);\n if (index === -1) {\n index = this._items.indexOf(item);\n if (index >= 0) {\n this._items.splice(index, 1);\n changed = true;\n }\n else {\n Log.debug(`The item is not in the list.`, this);\n }\n }\n else {\n Log.debug(`The item is protected and cannot be removed.`, this);\n }\n return changed;\n }).length > 0);\n }\n set(items, protect = false) {\n const cleared = this.clear();\n const added = this.add(items, protect);\n return cleared || added;\n }\n get(length) {\n return isNaN(length) === false && typeof length === 'number' ? this._items.slice(0, length) : this._items;\n }\n clear() {\n const length = this._items.length;\n this._items = this._items.filter((item) => {\n return this._protectedItems.indexOf(item) >= 0;\n });\n return length !== this._items.length;\n }\n contains(item) {\n return this._items.indexOf(item) > -1;\n }\n}\n//# sourceMappingURL=list-of.js.map","export abstract class AbstractFormatter {\r\n abstract format(value: unknown): unknown;\r\n abstract parse(value: unknown): unknown;\r\n}\r\n","import { ListOf } from '@leanup/lib/pattern/list-of';\n\nimport { AbstractFormatter } from './formatters/abstract.formatter';\n\nexport class FormatHandler {\n public readonly formatters: ListOf = new ListOf(AbstractFormatter);\n\n public format(value: unknown): unknown {\n this.formatters.forEach((formatter: AbstractFormatter) => {\n value = formatter.format(value);\n });\n return value;\n }\n public parse(value: unknown): unknown {\n this.formatters.forEach((formatter: AbstractFormatter) => {\n value = formatter.parse(value);\n });\n return value;\n }\n}\n","import { Log } from '@leanup/lib/helpers/log';\r\nimport { Validator } from '@leanup/lib/helpers/validator';\r\n\r\nexport abstract class AbstractValidator {\r\n private readonly state = {\r\n message: `Ein unbekannter Fehler ist aufgetreten.`,\r\n };\r\n\r\n constructor(message: string) {\r\n this.message = message;\r\n }\r\n\r\n set message(message: string) {\r\n if (Validator.isString(message, 1)) {\r\n this.state.message = message;\r\n } else {\r\n Log.debug(``);\r\n }\r\n }\r\n get message(): string {\r\n return this.state.message;\r\n }\r\n\r\n abstract isValid(value: any): boolean;\r\n}\r\n","import { ListOf } from '@leanup/lib/pattern/list-of';\n\nimport { AbstractValidator } from './validators/abstract.validator';\n\nexport class ValidationHandler {\n public readonly validators: ListOf = new ListOf(AbstractValidator);\n\n public validate(value: unknown, fast = false): string[] {\n const errors: string[] = [];\n try {\n this.validators.forEach((validator: AbstractValidator) => {\n if (validator.isValid(value) === false) {\n errors.push(validator.message);\n if (fast === true) {\n throw new Error(`Only one error is enough. Be quick and stop the execution of other validation functions.`);\n }\n }\n });\n } catch (error) {\n // be fast\n }\n return errors;\n }\n}\n","import { ListOf } from '@leanup/lib/pattern/list-of';\n\nimport { FormatHandler } from '../handlers/format.handler';\nimport { ValidationHandler } from '../handlers/validation.handler';\n\nabstract class AbstractControl {\n public readonly changeListeners: ListOf = new ListOf(Function);\n\n private readonly _errors: Set = new Set();\n private readonly _parentForms: FormControl[] = [];\n private _name = 'unnamed';\n private _validationHandler: ValidationHandler = new ValidationHandler();\n private _notifyTimeout: NodeJS.Timeout = setTimeout(() => {}, 0);\n\n constructor(name: string) {\n this.name = name;\n }\n\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n if (typeof value === 'string') {\n if (value.length > 0) {\n this._name = value;\n } else {\n throw new Error('The name of a control must have a min-length of 1.');\n }\n } else {\n throw new Error('The name of a control must be a string.');\n }\n }\n\n get error(): string | null {\n if (this._errors.size > 0) {\n return this._errors.values().next().value;\n } else {\n return null;\n }\n }\n\n protected getErrors() {\n return this._errors;\n }\n\n get id(): string {\n let id = this.name;\n if (this._parentForms.length > 0) {\n id = `${this._parentForms[0].id}_${id}`;\n }\n return id;\n }\n\n get valid(): boolean {\n return this._errors.size === 0;\n }\n\n // ES5\n protected es5isValid(): boolean {\n return this._errors.size === 0;\n }\n\n public findMeInParentForm(control: AbstractControl): boolean {\n if (this === control) {\n return true;\n }\n if (control instanceof FormControl) {\n const findings: FormControl[] = [];\n this._parentForms.forEach((formControl: FormControl) => {\n if (formControl.findMeInParentForm(control) === true) {\n findings.push(formControl);\n }\n });\n return findings.length > 0;\n } else {\n return false;\n }\n }\n\n public addParentForm(form: FormControl) {\n if (this._parentForms.includes(form) === false) {\n if (form.findMeInParentForm(this) === false) {\n this._parentForms.push(form);\n } else {\n throw new Error(`The same form control (${form.name}) leads to a form control loop.`);\n }\n } else {\n throw new Error(`An form control with the name '${form.name}' already exists.`);\n }\n }\n\n public removeParentForm(form: FormControl) {\n const index = this._parentForms.indexOf(form);\n if (index >= 0) {\n this._parentForms.splice(index, 1);\n } else {\n throw new Error(`An form control with the name '${form.name}' does not exists.`);\n }\n }\n\n protected setValidationHandler(validationHandler: ValidationHandler, value: unknown = null) {\n this._validationHandler = validationHandler;\n this.validate(value);\n // this.notify(); redundant?!\n }\n\n protected validate(value: unknown) {\n this._errors.clear();\n const errors = this._validationHandler.validate(value);\n errors.forEach((error: string) => {\n this._errors.add(error);\n });\n this._parentForms.forEach((formControl: FormControl) => {\n formControl.validate(value);\n });\n }\n\n protected notify() {\n if (this._notifyTimeout) {\n clearTimeout(this._notifyTimeout);\n }\n this._notifyTimeout = setTimeout(() => {\n this.changeListeners.forEach((changeListener: Function) => {\n changeListener();\n });\n }, 0);\n }\n}\n\nexport enum InputControlTypes {\n checkbox = 'checkbox',\n date = 'date',\n email = 'email',\n number = 'number',\n password = 'password',\n radio = 'radio',\n select = 'select',\n slider = 'slider',\n text = 'text',\n}\nexport interface InputControlProps {\n info?: string;\n label?: string;\n disabled?: boolean;\n mandatory?: boolean;\n readonly?: boolean;\n placeholder?: string;\n type?: string;\n value?: unknown;\n}\n\nexport class InputControl extends AbstractControl implements InputControlProps {\n private _disabled = false;\n private _info = '';\n private _label = '';\n private _mandatory = false;\n private _placeholder = '';\n private _readonly = false;\n private _type = 'text';\n private _value: unknown = null;\n private _oldValue: unknown = null;\n private _valueTimeout: NodeJS.Timeout = setTimeout(() => {}, 0);\n private _formatHandler: FormatHandler = new FormatHandler();\n\n constructor(name: string, properties?: InputControlProps) {\n super(name);\n if (properties) {\n this.info = properties.info ? properties.info : '';\n this.label = properties.label ? properties.label : '';\n this.disabled = properties.disabled ? properties.disabled : false;\n this.mandatory = properties.mandatory ? properties.mandatory : false;\n this.readonly = properties.readonly ? properties.readonly : false;\n this.placeholder = properties.placeholder ? properties.placeholder : '';\n this.type = properties.type ? properties.type : 'text';\n this.value = properties.value ? properties.value : null;\n }\n }\n\n get info(): string {\n return this._info;\n }\n set info(value: string) {\n if (typeof value === 'string') {\n this._info = value;\n this.notify();\n } else {\n throw new Error('The info of a input control must be a string.');\n }\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n if (typeof value === 'boolean') {\n this._disabled = value;\n this.notify();\n } else {\n throw new Error('The disabled flag of a input control must be a string.');\n }\n }\n\n get mandatory(): boolean {\n return this._mandatory;\n }\n set mandatory(value: boolean) {\n if (typeof value === 'boolean') {\n this._mandatory = value;\n this.notify();\n } else {\n throw new Error('The mandatory flag of a input control must be a string.');\n }\n }\n\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n if (typeof value === 'boolean') {\n this._readonly = value;\n this.notify();\n } else {\n throw new Error('The readonly flag of a input control must be a string.');\n }\n }\n\n get label(): string {\n return this._label;\n }\n set label(value: string) {\n if (typeof value === 'string') {\n this._label = value;\n this.notify();\n } else {\n throw new Error('The label of a input control must be a string.');\n }\n }\n\n get placeholder(): string {\n return this._placeholder;\n }\n set placeholder(value: string) {\n if (typeof value === 'string') {\n this._placeholder = value;\n this.notify();\n } else {\n throw new Error('The placeholder of a input control must be a string.');\n }\n }\n\n get type(): string {\n return this._type.toString();\n }\n set type(value: string) {\n if (typeof value === 'string') {\n // https://developer.mozilla.org/de/docs/Web/HTML/Element/Input#Arten_des_%3Cinput%3E-Elements\n switch (value) {\n case 'checkbox':\n case 'date':\n case 'email':\n case 'number':\n case 'password':\n case 'radio':\n case 'select':\n case 'slider':\n case 'text':\n this._type = value;\n this.notify();\n break;\n default:\n throw new Error('The type of a input control must be a of the following types: ???.');\n }\n } else {\n throw new Error('The type of a input control must be a string.');\n }\n }\n\n get oldValue(): unknown {\n return this._oldValue;\n }\n\n get value(): unknown {\n return this._value;\n }\n set value(value: unknown) {\n if (this._valueTimeout) {\n clearTimeout(this._valueTimeout);\n }\n this._valueTimeout = setTimeout(() => {\n this.validate(value); // execution?!\n this._oldValue = this._value;\n this._value = value;\n this.notify();\n }, 0);\n }\n\n get modelValue(): unknown {\n return this.value;\n }\n set modelValue(value: unknown) {\n this.value = value;\n }\n\n get viewValue(): unknown {\n return this._formatHandler.format(this.modelValue);\n }\n set viewValue(value: unknown) {\n this.modelValue = this._formatHandler.parse(value);\n }\n\n public setValidationHandler(validationHandler: ValidationHandler) {\n super.setValidationHandler(validationHandler, this.value);\n }\n\n public setFormatHandler(formatHandler: FormatHandler) {\n this._formatHandler = formatHandler;\n }\n}\n\nexport class FormControl extends AbstractControl {\n private readonly controls: ListOf = new ListOf([FormControl, InputControl]);\n\n get disabled(): boolean {\n return (\n this.controls.filter((control: FormControl | InputControl) => {\n return control.disabled === false;\n }).length === 0\n );\n }\n set disabled(value: boolean) {\n this.controls.forEach((control: FormControl | InputControl) => {\n control.disabled = value;\n });\n }\n\n get readonly(): boolean {\n return (\n this.controls.filter((control: FormControl | InputControl) => {\n return control.readonly === false;\n }).length === 0\n );\n }\n set readonly(value: boolean) {\n this.controls.forEach((control: FormControl | InputControl) => {\n control.readonly = value;\n });\n }\n\n get valid(): boolean {\n return (\n this.es5isValid() && // ES5\n this.controls.filter((control: FormControl | InputControl) => {\n return control.valid === false;\n }).length === 0\n );\n }\n\n public addConrol(control: FormControl | InputControl): void {\n if (this.controls.contains(control) === false) {\n control.addParentForm(this);\n this.controls.add(control);\n } else {\n throw new Error(`A control with the same name '${control.name}' already exists.`);\n }\n }\n\n public removeControl(control: FormControl | InputControl): void {\n if (this.controls.contains(control) === true) {\n if (control instanceof AbstractControl) {\n control.removeParentForm(this);\n this.controls.remove(control);\n }\n } else {\n throw new Error(`A control with the name '${control.name}' does not exists.`);\n }\n }\n\n public getControls(): Array {\n return >this.controls.get();\n }\n\n public getControl(name: string): FormControl | InputControl {\n return this.controls.find((control: FormControl | InputControl) => {\n return control.name === name;\n });\n }\n\n public setData(_data: Object) {\n console.log('FormControl.setData is currently not implemented.');\n }\n\n public getData(): Object {\n const data: Record = {};\n this.controls.forEach((control: FormControl | InputControl) => {\n if (control instanceof FormControl) {\n data[control.name] = control.getData();\n } else if (control instanceof InputControl) {\n data[control.name] = control.value;\n } else {\n throw new Error(`The control is neither an instance of FormControl or InputControl.`);\n }\n });\n return data;\n }\n\n public setValidationHandler(validationHandler: ValidationHandler) {\n super.setValidationHandler(validationHandler);\n }\n}\n\nexport class FormFactory {\n static createForm(name: string, json: Record): FormControl {\n const form = new FormControl(name);\n for (const name in json) {\n if (json.hasOwnProperty(name)) {\n if (typeof json[name] === 'object' && json[name] !== null) {\n form.addConrol(FormFactory.createForm(name, json[name]));\n } else {\n const input = new InputControl(name);\n input.value = json[name];\n form.addConrol(input);\n }\n }\n }\n return form;\n }\n}\n","import { AbstractFormatter } from './abstract.formatter';\r\n\r\nexport class IbanFormatter extends AbstractFormatter {\r\n private regExp: RegExp = /([A-Z0-9]{1,4})/gi;\r\n\r\n public format(value: unknown): unknown {\r\n if (typeof value === 'string') {\r\n const matches: string[] | null = value.match(this.regExp);\r\n if (Array.isArray(matches)) {\r\n return matches?.join(' ');\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n public parse(value: unknown): unknown {\r\n if (typeof value === 'string') {\r\n return value.replace(/ /g, '');\r\n }\r\n return value;\r\n }\r\n}\r\n\r\nexport const DEFAULT_IBAN_FORMATTER = new IbanFormatter();\r\n","import { AbstractValidator } from './abstract.validator';\r\n\r\nexport class RequiredValidator extends AbstractValidator {\r\n constructor(message: string = 'Bitte tragen Sie einen Wert ein.') {\r\n super(message);\r\n }\r\n\r\n public isValid(value: any): boolean {\r\n return value !== undefined && value !== null && value.toString().length > 0;\r\n }\r\n}\r\n\r\nexport const DEFAULT_REQUIRED_VALIDATOR: RequiredValidator = new RequiredValidator();\r\n","import { AbstractValidator } from './abstract.validator';\r\nimport { DEFAULT_REQUIRED_VALIDATOR } from './required.validator';\r\n\r\nexport abstract class NonRequiredValidator extends AbstractValidator {\r\n public isValid(value: any): boolean {\r\n return DEFAULT_REQUIRED_VALIDATOR.isValid(value) === false || this.validate(value);\r\n }\r\n\r\n abstract validate(value: any): boolean;\r\n}\r\n","import { Log } from '@leanup/lib/helpers/log';\r\n\r\nimport { NonRequiredValidator } from './non-required.validator';\r\n\r\nexport class PatternValidator extends NonRequiredValidator {\r\n public _regExp: RegExp = /^/g;\r\n\r\n constructor(regExp: RegExp, message: string = 'Bitte tragen Sie einen gültigen Wert ein.') {\r\n super(message);\r\n this.regExp = regExp;\r\n }\r\n\r\n set regExp(regExp: RegExp) {\r\n if (regExp instanceof RegExp) {\r\n this._regExp = regExp;\r\n } else {\r\n Log.debug(`The regExp of the pattern validator should be type of RegExp.`);\r\n }\r\n }\r\n\r\n get regExp(): RegExp {\r\n return this._regExp;\r\n }\r\n\r\n public validate(value: any): boolean {\r\n return this.regExp.test(value);\r\n }\r\n}\r\n\r\nexport class NotPatternValidator extends PatternValidator {\r\n public validate(value: any): boolean {\r\n return super.validate(value) === false;\r\n }\r\n}\r\n","import { PatternValidator } from './pattern.validator';\r\n\r\nexport const DIGITS_VALIDATION_REGEXP: RegExp = /^\\d+$/;\r\n\r\nexport class DigitsValidator extends PatternValidator {\r\n constructor(message: string = 'Der Wert ist keine Zahl.') {\r\n super(DIGITS_VALIDATION_REGEXP, message);\r\n }\r\n}\r\n\r\nexport const DEFAULT_DIGITS_VALIDATOR = new DigitsValidator();\r\n","import { PatternValidator } from './pattern.validator';\r\n\r\nexport const EMAIL_VALIDATION_REGEXP: RegExp =\r\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\r\nexport class EmailValidator extends PatternValidator {\r\n constructor(message: string = 'Die E-Mail-Adresse hat nicht das richtige Format.') {\r\n super(EMAIL_VALIDATION_REGEXP, message);\r\n }\r\n}\r\n","import { NonRequiredValidator } from './non-required.validator';\r\n\r\nexport class IsTrueValidator extends NonRequiredValidator {\r\n constructor(message: string = 'Bitte bestätigen Sie.') {\r\n super(message);\r\n }\r\n\r\n public validate(value: any): boolean {\r\n return value === true;\r\n }\r\n}\r\n","import { Validator } from '@leanup/lib/helpers/validator';\r\n\r\nimport { NonRequiredValidator } from './non-required.validator';\r\n\r\nexport class MaxLengthValidator extends NonRequiredValidator {\r\n // --- Properties ---\r\n public maxLength: number;\r\n\r\n constructor(maxLength: number, message: string = `Die Eingabe darf nicht länger als ${maxLength} Zeichen sein.`) {\r\n super(message);\r\n this.maxLength = maxLength;\r\n }\r\n\r\n public validate(value: any): boolean {\r\n return Validator.isString(value) && value.length <= this.maxLength;\r\n }\r\n}\r\n","import { Validator } from '@leanup/lib/helpers/validator';\r\n\r\nimport { NonRequiredValidator } from './non-required.validator';\r\n\r\nexport class MinLengthValidator extends NonRequiredValidator {\r\n // --- Properties ---\r\n public minLength: number;\r\n\r\n constructor(minLength: number, message: string = `Die Eingabe darf nicht kürzer als ${minLength} Zeichen sein.`) {\r\n super(message);\r\n this.minLength = minLength;\r\n }\r\n\r\n public validate(value: any): boolean {\r\n return Validator.isString(value) && value.length >= this.minLength;\r\n }\r\n}\r\n","import { AbstractValidator } from './abstract.validator';\r\nimport { NonRequiredValidator } from './non-required.validator';\r\n\r\nexport class NotValidator extends NonRequiredValidator {\r\n // --- Properties ---\r\n public validator: AbstractValidator;\r\n\r\n constructor(validator: AbstractValidator, message: string) {\r\n super(message);\r\n this.validator = validator;\r\n }\r\n\r\n public validate(value: any): boolean {\r\n return this.validator.isValid(value) === false;\r\n }\r\n}\r\n"],"names":["this","log.trace","log.debug","log.info","log.warn","log.error","log.setDefaultLevel","InputControlTypes"],"mappings":"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"} \ No newline at end of file diff --git a/packages/components/src/assets/@leanup/forms/index.js b/packages/components/src/assets/@leanup/forms/index.js deleted file mode 100644 index e72cd776c1..0000000000 --- a/packages/components/src/assets/@leanup/forms/index.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@leanup/lib")):"function"==typeof define&&define.amd?define(["exports","@leanup/lib"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).LeanUpForm={},t.LeanUpLib)}(this,(function(t,e){"use strict";class r{}class s extends e.SetOf{constructor(){super(r),this.formatters=this}format(t){return this.formatters.forEach((e=>{t=e.format(t)})),t}parse(t){return this.formatters.forEach((e=>{t=e.parse(t)})),t}}class a{constructor(t){this.state={message:"An unknown validation error occurred."},this.message=t}set message(t){"string"==typeof t&&t.length>0?this.state.message=t:e.Log.error("The message of the validator should be type of string with a min-length of 1.")}get message(){return this.state.message}}class o extends e.SetOf{constructor(){super(a),this.validators=this,this.validators=this}validate(t,e=!1){const r=[];try{this.validators.forEach((s=>{if(!1===s.valid(t)&&(r.push(s.message),!0===e))throw new Error("Only one error is enough. Be quick and stop the execution of other validation functions.")}))}catch(t){}return r}}class n{constructor(t){this.changeListeners=new e.SetOf(Function),this._errors=new Set,this._parentForms=new Set,this._name="unnamed",this._validationHandler=new o,this.name=t}get name(){return this._name}set name(t){if("string"!=typeof t)throw new Error("The name of a control must be a string.");if(!(t.length>0))throw new Error("The name of a control must have a min-length of 1.");this._name=t}get error(){return this._errors.size>0?this._errors.values().next().value:null}getErrors(){return this._errors}get id(){let t=this.name;return this._parentForms.size>0&&(t=`${this._parentForms.values().next().value.id}_${t}`),t}get valid(){return 0===this._errors.size}findMeInParentForm(t){if(this===t)return!0;if(t instanceof h){const e=[];return this._parentForms.forEach((r=>{!0===r.findMeInParentForm(t)&&e.push(r)})),e.length>0}return!1}addParentForm(t){if(!1!==this._parentForms.has(t))throw new Error(`An form control with the name '${t.name}' already exists.`);if(!1!==t.findMeInParentForm(this))throw new Error(`The same form control (${t.name}) leads to a form control loop.`);this._parentForms.add(t)}removeParentForm(t){if(!0!==this._parentForms.has(t))throw new Error(`An form control with the name '${t.name}' does not exists.`);this._parentForms.delete(t)}setValidationHandler(t,e=null){this._validationHandler=t,this.validate(e),this.notify()}validate(t){this._errors.clear();this._validationHandler.validate(t).forEach((t=>{this._errors.add(t)})),this._parentForms.forEach((t=>{t.validate(t.getData())}))}notify(...t){this.changeListeners.forEach((e=>{e(...t)})),this._parentForms.forEach((t=>{t.notify(t.getData())}))}}var i;t.InputControlTypes=void 0,(i=t.InputControlTypes||(t.InputControlTypes={})).checkbox="checkbox",i.date="date",i.email="email",i.number="number",i.password="password",i.radio="radio",i.select="select",i.slider="slider",i.text="text";class l extends n{constructor(t,e){super(t),this._disabled=!1,this._label="",this._mandatory=!1,this._placeholder="",this._readonly=!1,this._type="text",this._value=null,this._oldValue=null,this._formatHandler=new s,"object"==typeof e&&null!==e&&(this.disabled=!0===e.disabled,this.label="string"==typeof e.label?e.label:"",this.mandatory=!0===e.mandatory,this.placeholder="string"==typeof e.placeholder?e.placeholder:"",this.readonly=!0===e.disabled,this.type="string"==typeof e.type?e.type:"text",this.value=void 0!==e.value?e.value:null)}get disabled(){return this._disabled}set disabled(t){if("boolean"!=typeof t)throw new Error("The disabled flag of a input control must be a string.");this._disabled=t,this.notify()}get mandatory(){return this._mandatory}set mandatory(t){if("boolean"!=typeof t)throw new Error("The mandatory flag of a input control must be a string.");this._mandatory=t,this.notify()}get readonly(){return this._readonly}set readonly(t){if("boolean"!=typeof t)throw new Error("The readonly flag of a input control must be a string.");this._readonly=t,this.notify()}get label(){return this._label}set label(t){if("string"!=typeof t)throw new Error("The label of a input control must be a string.");this._label=t,this.notify()}get placeholder(){return this._placeholder}set placeholder(t){if("string"!=typeof t)throw new Error("The placeholder of a input control must be a string.");this._placeholder=t,this.notify()}get type(){return this._type.toString()}set type(t){if("string"!=typeof t)throw new Error("The type of a input control must be a string.");switch(t){case"checkbox":case"date":case"email":case"number":case"password":case"radio":case"select":case"slider":case"text":this._type=t,this.notify();break;default:throw new Error("The type of a input control must be a of the following types: ???.")}}get oldValue(){return this._oldValue}get value(){return this._value}set value(t){this._oldValue=this._value,this._value=t,this.validate(t),this.notify()}get modelValue(){return this.value}set modelValue(t){this.value=t}get viewValue(){return this._formatHandler.format(this.modelValue)}set viewValue(t){this.modelValue=this._formatHandler.parse(t)}notify(){super.notify(this._value,this._oldValue)}setValidationHandler(t){super.setValidationHandler(t,this.value)}setFormatHandler(t){this._formatHandler=t}}class h extends n{constructor(){super(...arguments),this.controls=new Set}get disabled(){return 0===Array.from(this.controls).filter((t=>!1===t.disabled)).length}set disabled(t){this.controls.forEach((e=>{e.disabled=t}))}get readonly(){return 0===Array.from(this.controls).filter((t=>!1===t.readonly)).length}set readonly(t){this.controls.forEach((e=>{e.readonly=t}))}get valid(){return super.valid&&0===Array.from(this.controls).filter((t=>!1===t.valid)).length}addControl(t){if(!1!==this.controls.has(t))throw new Error(`A control with the same name '${t.name}' already exists.`);t.addParentForm(this),this.controls.add(t)}removeControl(t){if(!0!==this.controls.has(t))throw new Error(`A control with the name '${t.name}' does not exists.`);t instanceof n&&(t.removeParentForm(this),this.controls.delete(t))}getControls(){return Array.from(this.controls)}getControl(t){return Array.from(this.controls).find((e=>e.name===t))}getForms(){return Array.from(this.controls).filter((t=>t instanceof h))}getForm(t){return Array.from(this.getForms()).find((e=>e.name===t))}getInputs(){return Array.from(this.controls).filter((t=>t instanceof l))}getInput(t){return Array.from(this.getInputs()).find((e=>e.name===t))}setData(t){this.controls.forEach((e=>{if(void 0!==t[e.name])if(e instanceof h)e.setData(t[e.name]);else{if(!(e instanceof l))throw new Error("The control is neither an instance of FormControl or InputControl.");e.value=t[e.name]}}))}getData(){const t={};return this.controls.forEach((e=>{if(e instanceof h)t[e.name]=e.getData();else{if(!(e instanceof l))throw new Error("The control is neither an instance of FormControl or InputControl.");t[e.name]=e.value}})),t}setValidationHandler(t){super.setValidationHandler(t)}}class d{static createForm(t,e){const r=new h(t);for(const t in e)if(e.hasOwnProperty(t))if("object"==typeof e[t]&&null!==e[t])r.addControl(d.createForm(t,e[t]));else{const s=new l(t,{value:e[t]});r.addControl(s)}return r}}class u extends r{constructor(){super(...arguments),this.regExp=/([A-Z0-9]{1,4})/gi}format(t){if("string"==typeof t){const e=t.match(this.regExp);if(Array.isArray(e))return null==e?void 0:e.join(" ")}return t}parse(t){return"string"==typeof t?t.replace(/ /g,""):t}}const c=new u;class f extends a{constructor(t="Please enter a value."){super(t)}valid(t){return null!=t&&t.toString().length>0}}const m=new f;class p extends a{valid(t){return!1===m.valid(t)||this.validate(t)}}class g extends p{constructor(t,e="Please enter a valid value."){super(e),this._regExp=/^/g,this.regExp=t}set regExp(t){t instanceof RegExp?this._regExp=t:e.Log.debug("The regExp of the pattern validator should be type of RegExp.")}get regExp(){return this._regExp}validate(t){return this.regExp.test(t)}}const y=/^\d+$/;class v extends g{constructor(t="Please enter a number."){super(y,t)}}const _=new v,w=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;t.AbstractFormatter=r,t.AbstractValidator=a,t.DEFAULT_DIGITS_VALIDATOR=_,t.DEFAULT_IBAN_FORMATTER=c,t.DEFAULT_REQUIRED_VALIDATOR=m,t.DIGITS_VALIDATION_REGEXP=y,t.DigitsValidator=v,t.EMAIL_VALIDATION_REGEXP=w,t.EmailValidator=class extends g{constructor(t="The email address has not the correct format."){super(w,t)}},t.FormControl=h,t.FormFactory=d,t.FormatHandler=s,t.IbanFormatter=u,t.InputControl=l,t.IsTrueValidator=class extends p{constructor(t="Please confirm the note."){super(t)}validate(t){return!0===t}},t.MaxLengthValidator=class extends p{constructor(t,e=`The entry must not be longer than ${t} characters.`){super(e),this.maxLength=t}validate(t){return"string"==typeof t&&t.length<=this.maxLength}},t.MinLengthValidator=class extends p{constructor(t,e=`The entry must not be shorter than ${t} characters.`){super(e),this.minLength=t}validate(t){return"string"==typeof t&&t.length>=this.minLength}},t.NonRequiredValidator=p,t.NotPatternValidator=class extends g{validate(t){return!1===super.validate(t)}},t.NotValidator=class extends p{constructor(t,e){super(e),this.validator=t}validate(t){return!1===this.validator.valid(t)}},t.PatternValidator=g,t.RequiredValidator=f,t.ValidationHandler=o,Object.defineProperty(t,"__esModule",{value:!0})})); -//# sourceMappingURL=index.js.map diff --git a/packages/components/src/assets/@leanup/forms/index.js.map b/packages/components/src/assets/@leanup/forms/index.js.map deleted file mode 100644 index 425f6be95c..0000000000 --- a/packages/components/src/assets/@leanup/forms/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["../src/handlers/formatters/abstract.formatter.ts","../src/handlers/format.handler.ts","../src/handlers/validators/abstract.validator.ts","../src/handlers/validation.handler.ts","../src/controls/controls.ts","../src/handlers/formatters/iban.formatter.ts","../src/handlers/validators/required.validator.ts","../src/handlers/validators/non-required.validator.ts","../src/handlers/validators/pattern.validator.ts","../src/handlers/validators/digits.validator.ts","../src/handlers/validators/email.validator.ts","../src/handlers/validators/is-true.validator.ts","../src/handlers/validators/max-length.validator.ts","../src/handlers/validators/min-length.validator.ts","../src/handlers/validators/not.validator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AbstractFormatter","FormatHandler","SetOf","constructor","super","this","formatters","format","value","forEach","formatter","parse","AbstractValidator","message","state","length","Log","error","ValidationHandler","validators","validate","fast","errors","validator","valid","push","Error","AbstractControl","name","changeListeners","Function","_errors","Set","_parentForms","_name","_validationHandler","size","values","next","getErrors","id","findMeInParentForm","control","FormControl","findings","formControl","addParentForm","form","has","add","removeParentForm","delete","setValidationHandler","validationHandler","notify","clear","getData","args","changeListener","InputControlTypes","exports","InputControl","properties","_disabled","_label","_mandatory","_placeholder","_readonly","_type","_value","_oldValue","_formatHandler","disabled","label","mandatory","placeholder","readonly","type","undefined","toString","oldValue","modelValue","viewValue","setFormatHandler","formatHandler","controls","Array","from","filter","addControl","removeControl","getControls","getControl","find","getForms","getForm","getInputs","getInput","setData","data","FormFactory","static","json","hasOwnProperty","createForm","input","IbanFormatter","regExp","matches","match","isArray","join","replace","DEFAULT_IBAN_FORMATTER","RequiredValidator","DEFAULT_REQUIRED_VALIDATOR","NonRequiredValidator","PatternValidator","_regExp","RegExp","debug","test","DIGITS_VALIDATION_REGEXP","DigitsValidator","DEFAULT_DIGITS_VALIDATOR","EMAIL_VALIDATION_REGEXP","maxLength","minLength"],"mappings":"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"} \ No newline at end of file diff --git a/packages/components/src/assets/@leanup/lib/bundle.js b/packages/components/src/assets/@leanup/lib/bundle.js deleted file mode 100644 index 0033da6e20..0000000000 --- a/packages/components/src/assets/@leanup/lib/bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(a,p){typeof exports=="object"&&typeof module!="undefined"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(a=typeof globalThis!="undefined"?globalThis:a||self,p(a.LeanUpLib={}))})(this,function(a){"use strict";class p{constructor(){this.services=new Map}register(e,t){if(typeof e=="string"&&this.services.has(e)===!1)return this.services.set(e,t),this;throw new Error(`The service '${e}' is allready registered!`)}get(e){if(typeof e=="string"&&this.services.has(e)===!0)return this.services.get(e);throw new Error(`The service '${e}' is not registered!`)}}const D=new p;var R=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},g={exports:{}};(function(s){(function(e,t){s.exports?s.exports=t():e.log=t()})(R,function(){var e=function(){},t="undefined",f=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),c=["trace","debug","info","warn","error"];function T(n,l){var o=n[l];if(typeof o.bind=="function")return o.bind(n);try{return Function.prototype.bind.call(o,n)}catch(i){return function(){return Function.prototype.apply.apply(o,[n,arguments])}}}function j(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function k(n){return n==="debug"&&(n="log"),typeof console===t?!1:n==="trace"&&f?j:console[n]!==void 0?T(console,n):console.log!==void 0?T(console,"log"):e}function I(n,l){for(var o=0;o=0&&r<=i.levels.SILENT){if(A=r,h!==!1&&V(r),I.call(i,r,n),typeof console===t&&r=t}static isObject(e){return typeof e=="object"&&e!==null&&this.isArray(e)===!1}static isString(e,t=0){return typeof e=="string"&&e.length>=t}}const _=[];function x(){return"$$NODE_ENV$$"}class y{constructor(){}static log(e,t){switch(w.isObject(t.refObject)&&typeof t.refObject.constructor=="function"&&w.isString(t.refObject.constructor.name)&&(t.className=`[${t.refObject.constructor.name}]:`),_.push({date:new Date().toUTCString(),level:e,message:t}),e){case"trace":g.exports.trace(t);break;case"debug":g.exports.debug(t);break;case"info":g.exports.info(t);break;case"warn":g.exports.warn(t);break;case"error":g.exports.error(t)}}static trace(e,t){return this.log("trace",{messageText:e,refObject:t}),this}static debug(e,t){return this.log("debug",{messageText:e,refObject:t}),this}static info(e,t){return this.log("info",{messageText:e,refObject:t}),this}static warn(e,t){return this.log("warn",{messageText:e,refObject:t}),this}static error(e,t){return this.log("error",{messageText:e,refObject:t}),this}static get cache(){return[].concat(_)}}switch(y._instance=null,x()){case"development":g.exports.setDefaultLevel("trace");break;case"test":g.exports.setDefaultLevel("warn");break;case"production":g.exports.setDefaultLevel("error")}function F(s,e){return w.isArray(s)?s.find(t=>e instanceof t)!==void 0:!1}function L(s){return s instanceof E?s.get():Array.isArray(s)?s:[s]}class E{constructor(e){this._instancesOf=[],this._items=[],this._protectedItems=[],this._instancesOf=Array.isArray(e)?e:[e]}get empty(){return this._items.length===0}get first(){return this._items.length>0?this._items[0]:null}forEach(e){this._items.forEach(e)}filter(e){return this._items.filter(e)}find(e){return this._items.find(e)}get last(){return this._items.length>0?this._items[this._items.length-1]:null}get length(){return this._items.length}add(e,t=!1){return L(e).filter(f=>{let c=!1;return this.contains(f)===!1?F(this._instancesOf,f)?(t&&this._protectedItems.push(f),this._items.push(f),c=!0):y.debug("The item does not have a valid instance type.",this):y.debug("The item is already in the list.",this),c}).length>0}remove(e){return L(e).filter(t=>{let f=!1,c=this._protectedItems.indexOf(t);return c===-1?(c=this._items.indexOf(t),c>=0?(this._items.splice(c,1),f=!0):y.debug("The item is not in the list.",this)):y.debug("The item is protected and cannot be removed.",this),f}).length>0}set(e,t=!1){const f=this.clear(),c=this.add(e,t);return f||c}get(e){return isNaN(e)===!1&&typeof e=="number"?this._items.slice(0,e):this._items}clear(){const e=this._items.length;return this._items=this._items.filter(t=>this._protectedItems.indexOf(t)>=0),e!==this._items.length}contains(e){return this._items.indexOf(e)>-1}}const C=new Intl.NumberFormat("de-DE",{currency:"EUR",maximumFractionDigits:2,minimumFractionDigits:2});function M(s){return isNaN(s)===!1&&typeof s=="number"?C.format(s):""}const S=new Intl.DateTimeFormat("de-DE");function U(s){return s instanceof Date?S.format(s):""}a.DI=D,a.Injector=p,a.ListOf=E,a.Log=y,a.Validator=w,a.currency=M,a.date=U,Object.defineProperty(a,"__esModule",{value:!0})}); -//# sourceMappingURL=bundle.js.map diff --git a/packages/components/src/assets/@leanup/lib/bundle.js.map b/packages/components/src/assets/@leanup/lib/bundle.js.map deleted file mode 100644 index 8678bd7a2f..0000000000 --- a/packages/components/src/assets/@leanup/lib/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../src/helpers/injector.ts","../node_modules/loglevel/lib/loglevel.js","../src/helpers/validator.ts","../src/helpers/log.ts","../src/pattern/list-of.ts","../src/shares/filters.ts"],"sourcesContent":["export class Injector {\n private readonly services: Map = new Map();\n\n public register(identifier: string, service: T): Injector {\n if (\n typeof identifier === \"string\" &&\n this.services.has(identifier) === false\n ) {\n this.services.set(identifier, service);\n return this;\n } else {\n throw new Error(`The service '${identifier}' is allready registered!`);\n }\n }\n\n public get(identifier: string): T {\n if (\n typeof identifier === \"string\" &&\n this.services.has(identifier) === true\n ) {\n return this.services.get(identifier);\n } else {\n throw new Error(`The service '${identifier}' is not registered!`);\n }\n }\n}\n\nexport const DI: Injector = new Injector();\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","export class Validator {\n private constructor() {}\n\n public static isNumber(any: any): boolean {\n return isNaN(any) === false && typeof any === 'number';\n }\n\n public static isArray(any: any, minLength = 0): boolean {\n return Array.isArray(any) && any.length >= minLength;\n }\n\n public static isObject(any: any): boolean {\n return typeof any === 'object' && any !== null && this.isArray(any) === false;\n }\n\n public static isString(any: any, minLength = 0): boolean {\n return typeof any === 'string' && any.length >= minLength;\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\r\nimport * as log from 'loglevel';\r\n\r\nimport { Validator } from './validator';\r\n\r\nconst LOG_CACHE: Object[] = [];\r\n\r\n/**\r\n * Tiny hack\r\n */\r\nfunction getEnvironment(): string {\r\n return '$$NODE_ENV$$';\r\n}\r\n\r\ninterface LogMessage {\r\n className?: string;\r\n messageText: string;\r\n refObject?: unknown;\r\n}\r\n\r\nexport class Log {\r\n private static _instance: Log = null;\r\n\r\n private constructor() {}\r\n\r\n private static log(level: string, message: LogMessage): void {\r\n if (\r\n Validator.isObject(message.refObject) &&\r\n typeof message.refObject.constructor === 'function' &&\r\n Validator.isString(message.refObject.constructor.name)\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\r\n message.className = `[${message.refObject.constructor.name}]:`;\r\n }\r\n\r\n LOG_CACHE.push({\r\n date: new Date().toUTCString(),\r\n level,\r\n message,\r\n });\r\n\r\n switch (level) {\r\n case 'trace':\r\n log.trace(message);\r\n break;\r\n case 'debug':\r\n log.debug(message);\r\n break;\r\n case 'info':\r\n log.info(message);\r\n break;\r\n case 'warn':\r\n log.warn(message);\r\n break;\r\n case 'error':\r\n log.error(message);\r\n }\r\n if (getEnvironment() === 'development' && level === 'error') {\r\n throw new Error(`Execution in development mode was canceled. See the error log above.`);\r\n }\r\n }\r\n\r\n public static trace(messageText: string, refObject?: Object): Log {\r\n this.log('trace', { messageText, refObject });\r\n return this;\r\n }\r\n public static debug(messageText: string, refObject?: Object): Log {\r\n this.log('debug', { messageText, refObject });\r\n return this;\r\n }\r\n public static info(messageText: string, refObject?: Object): Log {\r\n this.log('info', { messageText, refObject });\r\n return this;\r\n }\r\n public static warn(messageText: string, refObject?: Object): Log {\r\n this.log('warn', { messageText, refObject });\r\n return this;\r\n }\r\n public static error(messageText: string, refObject?: Object): Log {\r\n this.log('error', { messageText, refObject });\r\n return this;\r\n }\r\n\r\n public static get cache(): Object[] {\r\n return [].concat(LOG_CACHE);\r\n }\r\n}\r\n\r\nswitch (getEnvironment()) {\r\n case 'development':\r\n log.setDefaultLevel('trace');\r\n break;\r\n case 'test':\r\n log.setDefaultLevel('warn');\r\n break;\r\n case 'production':\r\n log.setDefaultLevel('error');\r\n}\r\n","import { Log } from '../helpers/log';\r\nimport { Validator } from '../helpers/validator';\r\n\r\nfunction isInstanceOf(instancesOf: any[], item: any): boolean {\r\n if (Validator.isArray(instancesOf)) {\r\n return (\r\n instancesOf.find((instanceOf: any): boolean => {\r\n return item instanceof instanceOf;\r\n }) !== undefined\r\n );\r\n }\r\n return false;\r\n}\r\n\r\nfunction normalizeListOfItems(items: unknown | unknown[] | ListOf): unknown[] {\r\n return (items instanceof ListOf ? items.get() : Array.isArray(items) ? items : [items]);\r\n}\r\n\r\nexport class ListOf {\r\n private _instancesOf: unknown[] = [];\r\n private _items: T[] = [];\r\n private _protectedItems: unknown[] = [];\r\n\r\n constructor(instancesOf: unknown | unknown[]) {\r\n this._instancesOf = (Array.isArray(instancesOf) ? instancesOf : [instancesOf]);\r\n }\r\n\r\n get empty(): boolean {\r\n return this._items.length === 0;\r\n }\r\n\r\n get first(): T | null {\r\n if (this._items.length > 0) {\r\n return this._items[0];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public forEach(action: Function | any): void {\r\n this._items.forEach(action);\r\n }\r\n\r\n public filter(action: Function | any): T[] {\r\n return this._items.filter(action);\r\n }\r\n\r\n public find(action: Function | any): T {\r\n return this._items.find(action);\r\n }\r\n\r\n get last(): any {\r\n if (this._items.length > 0) {\r\n return this._items[this._items.length - 1];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get length(): number {\r\n return this._items.length;\r\n }\r\n\r\n public add(items: T | T[] | ListOf, protect = false): boolean {\r\n return (\r\n normalizeListOfItems(items).filter((item: T): boolean => {\r\n let changed = false;\r\n if (this.contains(item) === false) {\r\n if (isInstanceOf(this._instancesOf, item)) {\r\n if (protect) {\r\n this._protectedItems.push(item);\r\n }\r\n this._items.push(item);\r\n changed = true;\r\n } else {\r\n Log.debug(`The item does not have a valid instance type.`, this);\r\n }\r\n } else {\r\n Log.debug(`The item is already in the list.`, this);\r\n }\r\n return changed;\r\n }).length > 0\r\n );\r\n }\r\n\r\n public remove(items: T | T[] | ListOf): boolean {\r\n return (\r\n normalizeListOfItems(items).filter((item: any): boolean => {\r\n let changed = false;\r\n let index: number = this._protectedItems.indexOf(item);\r\n if (index === -1) {\r\n index = this._items.indexOf(item);\r\n if (index >= 0) {\r\n this._items.splice(index, 1);\r\n changed = true;\r\n } else {\r\n Log.debug(`The item is not in the list.`, this);\r\n }\r\n } else {\r\n Log.debug(`The item is protected and cannot be removed.`, this);\r\n }\r\n return changed;\r\n }).length > 0\r\n );\r\n }\r\n\r\n public set(items: T | T[] | ListOf, protect = false): any | boolean {\r\n const cleared: boolean = this.clear();\r\n const added: boolean = this.add(items, protect);\r\n return cleared || added;\r\n }\r\n\r\n public get(length?: number): T[] {\r\n return isNaN(length) === false && typeof length === 'number' ? this._items.slice(0, length) : this._items;\r\n }\r\n\r\n public clear(): boolean {\r\n const length: number = this._items.length;\r\n this._items = this._items.filter((item: T): boolean => {\r\n return this._protectedItems.indexOf(item) >= 0;\r\n });\r\n return length !== this._items.length;\r\n }\r\n\r\n public contains(item: T): boolean {\r\n return this._items.indexOf(item) > -1;\r\n }\r\n}\r\n","const CURRENCY_FORMATTER: Intl.NumberFormat = new Intl.NumberFormat('de-DE', {\n currency: 'EUR',\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n});\n\nexport function currency(value: number): string {\n if (isNaN(value) === false && typeof value === 'number') {\n return CURRENCY_FORMATTER.format(value);\n } else {\n return '';\n }\n}\n\n/**\n * https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n *\n * Missing config for leading 0's 1.1.1970 instead of 01.01.1970\n */\nconst DATE_FORMATTER: Intl.DateTimeFormat = new Intl.DateTimeFormat('de-DE');\n\nexport function date(value: Date): string {\n if (value instanceof Date) {\n return DATE_FORMATTER.format(value);\n } else {\n return '';\n }\n}\n"],"names":["this"],"mappings":"0PAAsB,CAAf,aAAP,eACoD,GAAI,KAE/C,SAAY,EAAoB,EAAsB,IAEzD,MAAO,IAAe,UACtB,KAAK,SAAS,IAAI,KAAgB,eAE7B,SAAS,IAAI,EAAY,GACvB,UAED,IAAI,OAAM,gBAAgB,8BAI7B,IAAO,EAAuB,IAEjC,MAAO,IAAe,UACtB,KAAK,SAAS,IAAI,KAAgB,SAExB,MAAK,SAAS,IAAI,QAEtB,IAAI,OAAM,gBAAgB,+BAKzB,GAAe,GAAI,oLCrBhC,AAAC,UAAU,EAAM,EAAY,CAIlB,AAAkC,EAAO,QAC5C,UAAiB,IAEjB,EAAK,IAAM,MAEjBA,EAAM,UAAY,CAIhB,GAAI,GAAO,UAAW,GAClB,EAAgB,YAChB,EAAQ,MAAO,UAAW,GAAmB,MAAO,QAAO,YAAc,GACzE,kBAAkB,KAAK,OAAO,UAAU,WAGxC,EAAa,CACb,QACA,QACA,OACA,OACA,SAIJ,WAAoB,EAAK,EAAY,CACjC,GAAI,GAAS,EAAI,GACjB,GAAI,MAAO,GAAO,MAAS,WACvB,MAAO,GAAO,KAAK,GAEnB,GAAI,CACA,MAAO,UAAS,UAAU,KAAK,KAAK,EAAQ,SACvC,EAAP,CAEE,MAAO,WAAW,CACd,MAAO,UAAS,UAAU,MAAM,MAAM,EAAQ,CAAC,EAAK,cAOpE,YAAsB,CAClB,AAAI,QAAQ,KACR,CAAI,QAAQ,IAAI,MACZ,QAAQ,IAAI,MAAM,QAAS,WAG3B,SAAS,UAAU,MAAM,MAAM,QAAQ,IAAK,CAAC,QAAS,aAG1D,QAAQ,OAAO,QAAQ,QAK/B,WAAoB,EAAY,CAK5B,MAJI,KAAe,SACf,GAAa,OAGb,MAAO,WAAY,EACZ,GACA,IAAe,SAAW,EAC1B,EACA,QAAQ,KAAgB,OACxB,EAAW,QAAS,GACpB,QAAQ,MAAQ,OAChB,EAAW,QAAS,OAEpB,EAMf,WAA+B,EAAO,EAAY,CAE9C,OAAS,GAAI,EAAG,EAAI,EAAW,OAAQ,IAAK,CACxC,GAAI,GAAa,EAAW,GAC5B,KAAK,GAAe,EAAI,EACpB,EACA,KAAK,cAAc,EAAY,EAAO,GAI9C,KAAK,IAAM,KAAK,MAKpB,WAAyC,EAAY,EAAO,EAAY,CACpE,MAAO,WAAY,CACf,AAAI,MAAO,WAAY,GACnB,GAAsB,KAAK,KAAM,EAAO,GACxC,KAAK,GAAY,MAAM,KAAM,aAOzC,WAA8B,EAAY,EAAO,EAAY,CAEzD,MAAO,GAAW,IACX,EAAgC,MAAM,KAAM,WAGvD,WAAgB,EAAM,EAAc,EAAS,CAC3C,GAAI,GAAO,KACP,EAEA,EAAa,WACjB,AAAI,MAAO,IAAS,SAClB,GAAc,IAAM,EACX,MAAO,IAAS,UACzB,GAAa,QAGf,WAAgC,EAAU,CACtC,GAAI,GAAa,GAAW,IAAa,UAAU,cAEnD,GAAI,QAAO,UAAW,GAAiB,CAAC,GAGxC,IAAI,CACA,OAAO,aAAa,GAAc,EAClC,aACK,EAAP,EAGF,GAAI,CACA,OAAO,SAAS,OACd,mBAAmB,GAAc,IAAM,EAAY,UAChD,EAAP,IAGN,YAA6B,CACzB,GAAI,GAEJ,GAAI,QAAO,UAAW,GAAiB,CAAC,GAExC,IAAI,CACA,EAAc,OAAO,aAAa,SAC7B,EAAP,EAGF,GAAI,MAAO,KAAgB,EACvB,GAAI,CACA,GAAI,GAAS,OAAO,SAAS,OACzB,EAAW,EAAO,QAClB,mBAAmB,GAAc,KACrC,AAAI,IAAa,IACb,GAAc,WAAW,KAAK,EAAO,MAAM,IAAW,UAErD,EAAP,EAIN,MAAI,GAAK,OAAO,KAAiB,QAC7B,GAAc,QAGX,GASX,EAAK,KAAO,EAEZ,EAAK,OAAS,CAAE,MAAS,EAAG,MAAS,EAAG,KAAQ,EAAG,KAAQ,EACvD,MAAS,EAAG,OAAU,GAE1B,EAAK,cAAgB,GAAW,EAEhC,EAAK,SAAW,UAAY,CACxB,MAAO,IAGX,EAAK,SAAW,SAAU,EAAO,EAAS,CAItC,GAHI,MAAO,IAAU,UAAY,EAAK,OAAO,EAAM,iBAAmB,QAClE,GAAQ,EAAK,OAAO,EAAM,gBAE1B,MAAO,IAAU,UAAY,GAAS,GAAK,GAAS,EAAK,OAAO,QAMhE,GALA,EAAe,EACX,IAAY,IACZ,EAAuB,GAE3B,EAAsB,KAAK,EAAM,EAAO,GACpC,MAAO,WAAY,GAAiB,EAAQ,EAAK,OAAO,OACxD,MAAO,uCAGX,MAAM,6CAA+C,GAI7D,EAAK,gBAAkB,SAAU,EAAO,CACpC,AAAK,KACD,EAAK,SAAS,EAAO,KAI7B,EAAK,UAAY,SAAS,EAAS,CAC/B,EAAK,SAAS,EAAK,OAAO,MAAO,IAGrC,EAAK,WAAa,SAAS,EAAS,CAChC,EAAK,SAAS,EAAK,OAAO,OAAQ,IAItC,GAAI,GAAe,IACnB,AAAI,GAAgB,MAChB,GAAe,GAAgB,KAAO,OAAS,GAEnD,EAAK,SAAS,EAAc,IAS9B,GAAI,GAAgB,GAAI,GAEpB,EAAiB,GACrB,EAAc,UAAY,SAAmB,EAAM,CAC/C,GAAK,MAAO,IAAS,UAAY,MAAO,IAAS,UAAa,IAAS,GACrE,KAAM,IAAI,WAAU,kDAGtB,GAAI,GAAS,EAAe,GAC5B,MAAK,IACH,GAAS,EAAe,GAAQ,GAAI,GAClC,EAAM,EAAc,WAAY,EAAc,gBAE3C,GAIX,GAAI,GAAQ,MAAO,UAAW,EAAiB,OAAO,IAAM,OAC5D,SAAc,WAAa,UAAW,CAClC,MAAI,OAAO,UAAW,GACf,OAAO,MAAQ,GAClB,QAAO,IAAM,GAGV,GAGX,EAAc,WAAa,UAAsB,CAC7C,MAAO,IAIX,EAAc,QAAa,EAEpB,gBChRY,CACb,aAAc,QAER,UAAS,EAAmB,OACjC,OAAM,KAAS,IAAS,MAAO,IAAQ,eAGlC,SAAQ,EAAU,EAAY,EAAY,OAC/C,OAAM,QAAQ,IAAQ,EAAI,QAAU,QAG/B,UAAS,EAAmB,OACjC,OAAO,IAAQ,UAAY,IAAQ,MAAQ,KAAK,QAAQ,KAAS,SAG5D,UAAS,EAAU,EAAY,EAAY,OAChD,OAAO,IAAQ,UAAY,EAAI,QAAU,GCXpD,KAAM,GAAsB,GAK5B,YAAkC,OACzB,sBASQ,CAGP,aAAc,QAEP,KAAI,EAAe,EAA2B,QAEzD,EAAU,SAAS,EAAQ,YAC3B,MAAO,GAAQ,UAAU,aAAgB,YACzC,EAAU,SAAS,EAAQ,UAAU,YAAY,UAGzC,UAAY,IAAI,EAAQ,UAAU,YAAY,YAG9C,KAAK,CACb,KAAM,GAAI,QAAO,cACjB,QACA,YAGM,OACD,wBACO,aAEP,wBACO,aAEP,sBACM,aAEN,sBACM,aAEN,wBACO,UAOF,OAAM,EAAqB,EAAyB,aAC3D,IAAI,QAAS,CAAE,cAAa,cAC1B,WAEK,OAAM,EAAqB,EAAyB,aAC3D,IAAI,QAAS,CAAE,cAAa,cAC1B,WAEK,MAAK,EAAqB,EAAyB,aAC1D,IAAI,OAAQ,CAAE,cAAa,cACzB,WAEK,MAAK,EAAqB,EAAyB,aAC1D,IAAI,OAAQ,CAAE,cAAa,cACzB,WAEK,OAAM,EAAqB,EAAyB,aAC3D,IAAI,QAAS,CAAE,cAAa,cAC1B,eAGS,QAAkB,OAC3B,GAAG,OAAO,IAIrB,OApEO,EACU,UAAiB,KAmE1B,SACD,wCACiB,mBAEjB,iCACiB,kBAEjB,uCACiB,SC7FxB,WAAsB,EAAoB,EAAoB,OACxD,GAAU,QAAQ,GAElB,EAAY,KAAK,AAAC,GACT,YAAgB,MAClB,OAGJ,GAGT,WAA8B,EAAyD,OAClE,aAAiB,GAAS,EAAM,MAAQ,MAAM,QAAQ,GAAS,EAAQ,CAAC,UAGtE,CAKrB,YAAY,EAAkC,mBAJZ,eACZ,wBACe,QAG9B,aAA2B,MAAM,QAAQ,GAAe,EAAc,CAAC,MAG1E,QAAiB,OACZ,MAAK,OAAO,SAAW,KAG5B,QAAkB,OAChB,MAAK,OAAO,OAAS,EAChB,KAAK,OAAO,GAEZ,KAIJ,QAAQ,EAA8B,MACtC,OAAO,QAAQ,GAGf,OAAO,EAA6B,OAClC,MAAK,OAAO,OAAO,GAGrB,KAAK,EAA2B,OAC9B,MAAK,OAAO,KAAK,MAGtB,OAAY,OACV,MAAK,OAAO,OAAS,EAChB,KAAK,OAAO,KAAK,OAAO,OAAS,GAEjC,QAIP,SAAiB,OACZ,MAAK,OAAO,OAGd,IAAI,EAA4B,EAAU,GAAgB,OAE7D,GAAqB,GAAO,OAAO,AAAC,GAAqB,IACnD,GAAU,SACV,MAAK,SAAS,KAAU,GACtB,EAAa,KAAK,aAAc,GAC9B,SACG,gBAAgB,KAAK,QAEvB,OAAO,KAAK,KACP,MAEN,MAAM,gDAAiD,QAGzD,MAAM,mCAAoC,MAEzC,IACN,OAAS,EAIT,OAAO,EAAqC,OAE/C,GAAqB,GAAO,OAAO,AAAC,GAAuB,IACrD,GAAU,GACV,EAAgB,KAAK,gBAAgB,QAAQ,SAC7C,KAAU,MACJ,KAAK,OAAO,QAAQ,GACxB,GAAS,QACN,OAAO,OAAO,EAAO,KAChB,MAEN,MAAM,+BAAgC,SAGxC,MAAM,+CAAgD,MAErD,IACN,OAAS,EAIT,IAAI,EAA4B,EAAU,GAAsB,MAC/D,GAAmB,KAAK,QACxB,EAAiB,KAAK,IAAI,EAAO,SAChC,IAAW,EAGb,IAAI,EAAsB,OACxB,OAAM,KAAY,IAAS,MAAO,IAAW,SAAW,KAAK,OAAO,MAAM,EAAG,GAAU,KAAK,OAG9F,OAAiB,MAChB,GAAiB,KAAK,OAAO,mBAC9B,OAAS,KAAK,OAAO,OAAO,AAAC,GACzB,KAAK,gBAAgB,QAAQ,IAAS,GAExC,IAAW,KAAK,OAAO,OAGzB,SAAS,EAAkB,OACzB,MAAK,OAAO,QAAQ,GAAQ,IC7HvC,KAAM,GAAwC,GAAI,MAAK,aAAa,QAAS,CAC3E,SAAU,MACV,sBAAuB,EACvB,sBAAuB,eAGA,EAAuB,OAC1C,OAAM,KAAW,IAAS,MAAO,IAAU,SACtC,EAAmB,OAAO,GAE1B,GASX,KAAM,GAAsC,GAAI,MAAK,eAAe,oBAE/C,EAAqB,OACpC,aAAiB,MACZ,EAAe,OAAO,GAEtB"} \ No newline at end of file diff --git a/packages/components/src/assets/@leanup/lib/index.js b/packages/components/src/assets/@leanup/lib/index.js deleted file mode 100644 index d97df3f8f6..0000000000 --- a/packages/components/src/assets/@leanup/lib/index.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).LeanUpLib={})}(this,(function(e){"use strict";class t extends HTMLElement{constructor(){super(),this.dom=this}render(){}connectedCallback(){this.render()}}class o{constructor(){this.services=new Map,this.lazyLoaders=new Set}register(e,t,o={lazy:!1}){if("string"==typeof e&&!1===this.services.has(e))return this.services.set(e,t),!0===(null==o?void 0:o.lazy)&&this.lazyLoaders.add(e),this;throw new Error(`The service '${e}' is allready registered!`)}get(e){if(this.lazyLoaders.has(e)&&(this.services.set(e,this.services.get(e)()),this.lazyLoaders.delete(e)),"string"==typeof e&&!0===this.services.has(e))return this.services.get(e);throw new Error(`The service '${e}' is not registered!`)}}const i=new o;var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},s={exports:{}};!function(e){var t,o;t=r,o=function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function r(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function n(i){return"debug"===i&&(i="log"),typeof console!==t&&("trace"===i&&o?s:void 0!==console[i]?r(console,i):void 0!==console.log?r(console,"log"):e)}function l(t,o){for(var r=0;r=0&&o<=n.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(s=o,!1!==r&&function(e){var o=(i[e]||"silent").toUpperCase();if(typeof window!==t&&a){try{return void(window.localStorage[a]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"="+o+";"}catch(e){}}}(o),l.call(n,o,e),typeof console===t&&o0?t.shieldStyle:"color: white; background: #666; font-weight: bold; font-size: 10px; padding: 2px 6px; border-radius: 3px; border: 1px solid #000"]}static getInstance(e,t={}){if("string"==typeof e&&e.length>0)return!1===l.instances.has(e)&&l.instances.set(e,new l(e)),l.instances.get(e);throw new Error("The identifier of the Logger must be a string with a min length of 1.")}log(e,t){switch("object"==typeof t.refObject&&null!==t.refObject&&"function"==typeof t.refObject.constructor&&"string"==typeof t.refObject.constructor.name&&(t.className=`[${t.refObject.constructor.name}]:`),n.push({date:(new Date).toUTCString(),level:e,message:t}),e){case"trace":s.exports.trace(...this.shield,t);break;case"debug":s.exports.debug(...this.shield,t);break;case"info":s.exports.info(...this.shield,t);break;case"warn":s.exports.warn(...this.shield,t);break;default:if(s.exports.error(...this.shield,t),"error"===e)throw new Error("↑ Execution in development mode was canceled. See the error log above.")}}trace(e,t){return this.log("trace",{messageText:e,refObject:t}),this}debug(e,t){return this.log("debug",{messageText:e,refObject:t}),this}info(e,t){return this.log("info",{messageText:e,refObject:t}),this}warn(e,t){return this.log("warn",{messageText:e,refObject:t}),this}error(e,t){return this.log("error",{messageText:e,refObject:t}),this}static get cache(){return[].concat(n)}}l.instances=new Map,s.exports.setDefaultLevel("trace");const a=l.getInstance("leanup");function c(e){return e instanceof d?e.get():Array.isArray(e)?e:[e]}class d{constructor(e){this.items=new Set,this.protectedItems=new Set,this.instancesOf=Array.isArray(e)?e:[e]}get empty(){return 0===this.items.size}get first(){return this.items.size>0?Array.from(this.items)[0]:null}forEach(e){this.items.forEach(e)}filter(e){return Array.from(this.items).filter(e)}find(e){return Array.from(this.items).find(e)}get last(){return this.items.size>0?Array.from(this.items)[this.items.size-1]:null}get length(){return a.debug("The attribute ListOf.length is deprecated - please use ListOf.size instead."),this.size}get size(){return this.items.size}add(e,t=!1){return c(e).filter((e=>{let o=!1;return!1===this.has(e)?!function(e,t){return!!Array.isArray(e)&&void 0!==e.find((e=>t instanceof e))}(this.instancesOf,e)?a.debug("The item does not have a valid instance type.",this):(t&&this.protectedItems.add(e),this.items.add(e),o=!0):a.debug("The item is already in the list.",this),o})).length>0}remove(e){return a.debug("The method ListOf.remove() is deprecated - please use ListOf.delete() instead."),this.delete(e)}delete(e){return c(e).filter((e=>{let t=!1;return!1===this.protectedItems.has(e)?this.items.has(e)?(this.items.delete(e),t=!0):a.debug("The item is not in the list.",this):a.debug("The item is protected and cannot be removed.",this),t})).length>0}set(e,t=!1){const o=this.clear(),i=this.add(e,t);return o||i}get(e){return!1===isNaN(e)&&"number"==typeof e?Array.from(this.items).slice(0,e):Array.from(this.items)}clear(){const e=this.items.size;return this.items.forEach((e=>{!1===this.protectedItems.has(e)&&this.items.delete(e)})),e!==this.items.size}contains(e){return a.debug("The method ListOf.contains() is deprecated - please use ListOf.has() instead."),this.items.has(e)}has(e){return this.items.has(e)}}const h=new Intl.NumberFormat("de-DE",{currency:"EUR",maximumFractionDigits:2,minimumFractionDigits:2});const u=new Intl.DateTimeFormat("de-DE");e.AbstractController=class{constructor(e){this.couple=e}doDistroy(){var e,t,o,i;"function"==typeof(null===(t=null===(e=this.couple)||void 0===e?void 0:e.hooks)||void 0===t?void 0:t.doDistroy)&&(null===(i=null===(o=this.couple)||void 0===o?void 0:o.hooks)||void 0===i||i.doDistroy())}doRender(){var e,t;"function"==typeof(null===(t=null===(e=this.couple)||void 0===e?void 0:e.hooks)||void 0===t?void 0:t.doRender)&&(clearTimeout(this.doRenderTimeout),this.doRenderTimeout=setTimeout((()=>{var e,t;null===(t=null===(e=this.couple)||void 0===e?void 0:e.hooks)||void 0===t||t.doRender()}),50))}},e.ArchController=()=>()=>{},e.ArchModel=()=>()=>{},e.ArchService=()=>()=>{},e.ArchView=()=>()=>{},e.DI=i,e.Injector=o,e.Log=a,e.Logger=l,e.SetOf=d,e.VanillaComponent=t,e.currency=function(e){return!1===isNaN(e)&&"number"==typeof e?h.format(e):""},e.date=function(e){return e instanceof Date?u.format(e):""},Object.defineProperty(e,"__esModule",{value:!0})})); -//# sourceMappingURL=index.js.map diff --git a/packages/components/src/assets/@leanup/lib/index.js.map b/packages/components/src/assets/@leanup/lib/index.js.map deleted file mode 100644 index 42a5b43699..0000000000 --- a/packages/components/src/assets/@leanup/lib/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["../src/components/vanilla.ts","../src/helpers/injector.ts","../node_modules/loglevel/lib/loglevel.js","../src/helpers/log.ts","../src/pattern/list-of.ts","../src/shares/filters.ts","../src/architecture/controller.ts","../src/architecture/decorators.ts"],"sourcesContent":[null,null,"/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n",null,null,null,null,null],"names":["VanillaComponent","HTMLElement","constructor","super","this","dom","render","connectedCallback","Injector","services","Map","lazyLoaders","Set","register","identifier","lazyLoaderOrService","options","lazy","has","set","add","Error","get","delete","DI","root","definition","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","log","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","currentLevel","self","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","cookie","document","location","indexOf","encodeURIComponent","exec","slice","levels","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","toUpperCase","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","module","exports","LOG_CACHE","shield","shieldStyle","static","instances","message","refObject","className","push","date","Date","toUTCString","loglevel.trace","loglevel.debug","loglevel.info","loglevel.warn","loglevel.error","messageText","info","warn","error","cache","concat","loglevel.setDefaultLevel","Log","getInstance","normalizeSetOfItems","items","SetOf","Array","isArray","instancesOf","protectedItems","empty","size","first","from","forEach","action","filter","find","last","protect","item","changed","instanceOf","isInstanceOf","remove","cleared","clear","added","isNaN","contains","CURRENCY_FORMATTER","Intl","NumberFormat","currency","maximumFractionDigits","minimumFractionDigits","DATE_FORMATTER","DateTimeFormat","couple","doDistroy","_b","_a","hooks","_d","_c","doRender","clearTimeout","doRenderTimeout","setTimeout","value","format"],"mappings":"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"} \ No newline at end of file diff --git a/packages/components/src/assets/codicons/LICENSE b/packages/components/src/assets/codicons/LICENSE index a2c95fc155..085c3ca0c4 100644 --- a/packages/components/src/assets/codicons/LICENSE +++ b/packages/components/src/assets/codicons/LICENSE @@ -1,395 +1,395 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/packages/components/src/assets/codicons/LICENSE-CODE b/packages/components/src/assets/codicons/LICENSE-CODE index 9e841e7a26..3d8b93bc79 100644 --- a/packages/components/src/assets/codicons/LICENSE-CODE +++ b/packages/components/src/assets/codicons/LICENSE-CODE @@ -1,21 +1,21 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE + MIT License + + Copyright (c) Microsoft Corporation. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/packages/components/src/assets/codicons/codicon.css b/packages/components/src/assets/codicons/codicon.css index 404f5e1031..739be06ee4 100644 --- a/packages/components/src/assets/codicons/codicon.css +++ b/packages/components/src/assets/codicons/codicon.css @@ -6,7 +6,7 @@ @font-face { font-family: "codicon"; font-display: block; - src: url("./codicon.ttf?0e5b0adf625a37fbcd638d31f0fe72aa") format("truetype"); + src: url("./codicon.ttf?be64b7213e352cd7f91ef58198e71237") format("truetype"); } .codicon[class*='codicon-'] { @@ -72,6 +72,7 @@ .codicon-record-keys:before { content: "\ea65" } .codicon-keyboard:before { content: "\ea65" } .codicon-tag:before { content: "\ea66" } +.codicon-git-pull-request-label:before { content: "\ea66" } .codicon-tag-add:before { content: "\ea66" } .codicon-tag-remove:before { content: "\ea66" } .codicon-person:before { content: "\ea67" } @@ -107,6 +108,7 @@ .codicon-debug-breakpoint:before { content: "\ea71" } .codicon-debug-breakpoint-disabled:before { content: "\ea71" } .codicon-debug-hint:before { content: "\ea71" } +.codicon-terminal-decoration-success:before { content: "\ea71" } .codicon-primitive-square:before { content: "\ea72" } .codicon-edit:before { content: "\ea73" } .codicon-pencil:before { content: "\ea73" } @@ -226,7 +228,9 @@ .codicon-chrome-minimize:before { content: "\eaba" } .codicon-chrome-restore:before { content: "\eabb" } .codicon-circle-outline:before { content: "\eabc" } +.codicon-circle:before { content: "\eabc" } .codicon-debug-breakpoint-unverified:before { content: "\eabc" } +.codicon-terminal-decoration-incomplete:before { content: "\eabc" } .codicon-circle-slash:before { content: "\eabd" } .codicon-circuit-board:before { content: "\eabe" } .codicon-clear-all:before { content: "\eabf" } @@ -261,6 +265,7 @@ .codicon-diff-removed:before { content: "\eadf" } .codicon-diff-renamed:before { content: "\eae0" } .codicon-diff:before { content: "\eae1" } +.codicon-diff-sidebyside:before { content: "\eae1" } .codicon-discard:before { content: "\eae2" } .codicon-editor-layout:before { content: "\eae3" } .codicon-empty-window:before { content: "\eae4" } @@ -324,6 +329,7 @@ .codicon-megaphone:before { content: "\eb1e" } .codicon-mention:before { content: "\eb1f" } .codicon-milestone:before { content: "\eb20" } +.codicon-git-pull-request-milestone:before { content: "\eb20" } .codicon-mortar-board:before { content: "\eb21" } .codicon-move:before { content: "\eb22" } .codicon-multiple-windows:before { content: "\eb23" } @@ -435,6 +441,7 @@ .codicon-debug-stackframe-active:before { content: "\eb89" } .codicon-circle-small-filled:before { content: "\eb8a" } .codicon-debug-stackframe-dot:before { content: "\eb8a" } +.codicon-terminal-decoration-mark:before { content: "\eb8a" } .codicon-debug-stackframe:before { content: "\eb8b" } .codicon-debug-stackframe-focused:before { content: "\eb8b" } .codicon-debug-breakpoint-unsupported:before { content: "\eb8c" } @@ -448,9 +455,11 @@ .codicon-menu:before { content: "\eb94" } .codicon-expand-all:before { content: "\eb95" } .codicon-feedback:before { content: "\eb96" } +.codicon-git-pull-request-reviewer:before { content: "\eb96" } .codicon-group-by-ref-type:before { content: "\eb97" } .codicon-ungroup-by-ref-type:before { content: "\eb98" } .codicon-account:before { content: "\eb99" } +.codicon-git-pull-request-assignee:before { content: "\eb99" } .codicon-bell-dot:before { content: "\eb9a" } .codicon-debug-console:before { content: "\eb9b" } .codicon-library:before { content: "\eb9c" } @@ -479,6 +488,7 @@ .codicon-pinned-dirty:before { content: "\ebb2" } .codicon-pass-filled:before { content: "\ebb3" } .codicon-circle-large-filled:before { content: "\ebb4" } +.codicon-circle-large:before { content: "\ebb5" } .codicon-circle-large-outline:before { content: "\ebb5" } .codicon-combine:before { content: "\ebb6" } .codicon-gather:before { content: "\ebb6" } @@ -552,6 +562,7 @@ .codicon-indent:before { content: "\ebf9" } .codicon-record-small:before { content: "\ebfa" } .codicon-error-small:before { content: "\ebfb" } +.codicon-terminal-decoration-error:before { content: "\ebfb" } .codicon-arrow-circle-down:before { content: "\ebfc" } .codicon-arrow-circle-left:before { content: "\ebfd" } .codicon-arrow-circle-right:before { content: "\ebfe" } @@ -562,10 +573,63 @@ .codicon-blank:before { content: "\ec03" } .codicon-heart-filled:before { content: "\ec04" } .codicon-map:before { content: "\ec05" } +.codicon-map-horizontal:before { content: "\ec05" } +.codicon-fold-horizontal:before { content: "\ec05" } .codicon-map-filled:before { content: "\ec06" } +.codicon-map-horizontal-filled:before { content: "\ec06" } +.codicon-fold-horizontal-filled:before { content: "\ec06" } .codicon-circle-small:before { content: "\ec07" } .codicon-bell-slash:before { content: "\ec08" } .codicon-bell-slash-dot:before { content: "\ec09" } .codicon-comment-unresolved:before { content: "\ec0a" } .codicon-git-pull-request-go-to-changes:before { content: "\ec0b" } .codicon-git-pull-request-new-changes:before { content: "\ec0c" } +.codicon-search-fuzzy:before { content: "\ec0d" } +.codicon-comment-draft:before { content: "\ec0e" } +.codicon-send:before { content: "\ec0f" } +.codicon-sparkle:before { content: "\ec10" } +.codicon-insert:before { content: "\ec11" } +.codicon-mic:before { content: "\ec12" } +.codicon-thumbsdown-filled:before { content: "\ec13" } +.codicon-thumbsup-filled:before { content: "\ec14" } +.codicon-coffee:before { content: "\ec15" } +.codicon-snake:before { content: "\ec16" } +.codicon-game:before { content: "\ec17" } +.codicon-vr:before { content: "\ec18" } +.codicon-chip:before { content: "\ec19" } +.codicon-piano:before { content: "\ec1a" } +.codicon-music:before { content: "\ec1b" } +.codicon-mic-filled:before { content: "\ec1c" } +.codicon-repo-fetch:before { content: "\ec1d" } +.codicon-copilot:before { content: "\ec1e" } +.codicon-lightbulb-sparkle:before { content: "\ec1f" } +.codicon-robot:before { content: "\ec20" } +.codicon-sparkle-filled:before { content: "\ec21" } +.codicon-diff-single:before { content: "\ec22" } +.codicon-diff-multiple:before { content: "\ec23" } +.codicon-surround-with:before { content: "\ec24" } +.codicon-share:before { content: "\ec25" } +.codicon-git-stash:before { content: "\ec26" } +.codicon-git-stash-apply:before { content: "\ec27" } +.codicon-git-stash-pop:before { content: "\ec28" } +.codicon-vscode:before { content: "\ec29" } +.codicon-vscode-insiders:before { content: "\ec2a" } +.codicon-code-oss:before { content: "\ec2b" } +.codicon-run-coverage:before { content: "\ec2c" } +.codicon-run-all-coverage:before { content: "\ec2d" } +.codicon-coverage:before { content: "\ec2e" } +.codicon-github-project:before { content: "\ec2f" } +.codicon-map-vertical:before { content: "\ec30" } +.codicon-fold-vertical:before { content: "\ec30" } +.codicon-map-vertical-filled:before { content: "\ec31" } +.codicon-fold-vertical-filled:before { content: "\ec31" } +.codicon-go-to-search:before { content: "\ec32" } +.codicon-percentage:before { content: "\ec33" } +.codicon-sort-percentage:before { content: "\ec33" } +.codicon-attach:before { content: "\ec34" } +.codicon-go-to-editing-session:before { content: "\ec35" } +.codicon-edit-session:before { content: "\ec36" } +.codicon-code-review:before { content: "\ec37" } +.codicon-copilot-warning:before { content: "\ec38" } +.codicon-python:before { content: "\ec39" } +.codicon-git-fetch:before { content: "\f101" } diff --git a/packages/components/src/assets/codicons/codicon.csv b/packages/components/src/assets/codicons/codicon.csv index 0fd7d656ad..9ff6867799 100644 --- a/packages/components/src/assets/codicons/codicon.csv +++ b/packages/components/src/assets/codicons/codicon.csv @@ -17,6 +17,7 @@ arrow-small-right,,EA9F arrow-small-up,,EAA0 arrow-swap,,EBCB arrow-up,,EAA1 +attach,,EC34 azure-devops,,EBE8 azure,,EBD8 beaker-stop,,EBE1 @@ -46,17 +47,18 @@ chevron-down,,EAB4 chevron-left,,EAB5 chevron-right,,EAB6 chevron-up,,EAB7 +chip,,EC19 chrome-close,,EAB8 chrome-maximize,,EAB9 chrome-minimize,,EABA chrome-restore,,EABB circle-filled,,EA71 circle-large-filled,,EBB4 -circle-large-outline,,EBB5 -circle-outline,,EABC +circle-large,,EBB5 circle-slash,,EABD circle-small-filled,,EB8A circle-small,,EC07 +circle,,EABC circuit-board,,EABE clear-all,,EABF clippy,,EAC0 @@ -65,17 +67,24 @@ close,,EA76 cloud-download,,EAC2 cloud-upload,,EAC3 cloud,,EBAA +code-oss,,EC2B +code-review,,EC37 code,,EAC4 +coffee,,EC15 collapse-all,,EAC5 color-mode,,EAC6 combine,,EBB6 comment-discussion,,EAC7 +comment-draft,,EC0E comment-unresolved,,EC0A comment,,EA6B compass-active,,EBD7 compass-dot,,EBD6 compass,,EBD5 +copilot-warning,,EC38 +copilot,,EC1E copy,,EBCC +coverage,,EC2E credit-card,,EAC9 dash,,EACC dashboard,,EACD @@ -119,10 +128,13 @@ device-mobile,,EADB diff-added,,EADC diff-ignored,,EADD diff-modified,,EADE +diff-multiple,,EC23 diff-removed,,EADF diff-renamed,,EAE0 +diff-single,,EC22 diff,,EAE1 discard,,EAE2 +edit-session,,EC36 edit,,EA73 editor-layout,,EAE3 ellipsis,,EA7C @@ -156,11 +168,13 @@ folder-active,,EAF6 folder-library,,EBDF folder-opened,,EAF7 folder,,EA83 +game,,EC17 gear,,EAF8 gift,,EAF9 gist-secret,,EAFA git-commit,,EAFC git-compare,,EAFD +git-fetch,,F101 git-merge,,EAFE git-pull-request-closed,,EBDA git-pull-request-create,,EBBC @@ -168,12 +182,18 @@ git-pull-request-draft,,EBDB git-pull-request-go-to-changes,,EC0B git-pull-request-new-changes,,EC0C git-pull-request,,EA64 +git-stash-apply,,EC27 +git-stash-pop,,EC28 +git-stash,,EC26 github-action,,EAFF github-alt,,EB00 github-inverted,,EBA1 +github-project,,EC2F github,,EA84 globe,,EB01 +go-to-editing-session,,EC35 go-to-file,,EA94 +go-to-search,,EC32 grabber,,EB02 graph-left,,EBAD graph-line,,EBE2 @@ -190,6 +210,7 @@ hubot,,EB08 inbox,,EB09 indent,,EBF9 info,,EA74 +insert,,EC11 inspect,,EBD1 issue-draft,,EBD9 issue-reopened,,EB0B @@ -221,6 +242,7 @@ layout-statusbar,,EBF5 layout,,EBEB library,,EB9C lightbulb-autofix,,EB13 +lightbulb-sparkle,,EC1F lightbulb,,EA61 link-external,,EB14 link,,EB15 @@ -239,17 +261,22 @@ magnet,,EBAE mail-read,,EB1B mail,,EB1C map-filled,,EC06 +map-vertical-filled,,EC31 +map-vertical,,EC30 map,,EC05 markdown,,EB1D megaphone,,EB1E mention,,EB1F menu,,EB94 merge,,EBAB +mic-filled,,EC1C +mic,,EC12 milestone,,EB20 mirror,,EA69 mortar-board,,EB21 move,,EB22 multiple-windows,,EB23 +music,,EC1B mute,,EB24 new-file,,EA7F new-folder,,EA80 @@ -266,8 +293,10 @@ package,,EB29 paintcan,,EB2A pass-filled,,EBB3 pass,,EBA4 +percentage,,EC33 person-add,,EBCD person,,EA67 +piano,,EC1A pie-chart,,EBE4 pin,,EB2B pinned-dirty,,EBB2 @@ -280,6 +309,7 @@ preview,,EB2F primitive-square,,EA72 project,,EB30 pulse,,EB31 +python,,EC39 question,,EB32 quote,,EB33 radio-tower,,EB34 @@ -298,6 +328,7 @@ replace-all,,EB3C replace,,EB3D reply,,EA7D repo-clone,,EB3E +repo-fetch,,EC1D repo-force-push,,EB3F repo-forked,,EA63 repo-pull,,EB40 @@ -305,33 +336,42 @@ repo-push,,EB41 repo,,EA62 report,,EB42 request-changes,,EB43 +robot,,EC20 rocket,,EB44 root-folder-opened,,EB45 root-folder,,EB46 rss,,EB47 ruby,,EB48 run-above,,EBBD +run-all-coverage,,EC2D run-all,,EB9E run-below,,EBBE +run-coverage,,EC2C run-errors,,EBDE save-all,,EB49 save-as,,EB4A save,,EB4B screen-full,,EB4C screen-normal,,EB4D +search-fuzzy,,EC0D search-stop,,EB4E search,,EA6D +send,,EC0F server-environment,,EBA3 server-process,,EBA2 server,,EB50 settings-gear,,EB51 settings,,EB52 +share,,EC25 shield,,EB53 sign-in,,EA6F sign-out,,EA6E smiley,,EB54 +snake,,EC16 sort-precedence,,EB55 source-control,,EA68 +sparkle-filled,,EC21 +sparkle,,EC10 split-horizontal,,EB56 split-vertical,,EB57 squirrel,,EB58 @@ -339,6 +379,7 @@ star-empty,,EA6A star-full,,EB59 star-half,,EB5A stop-circle,,EBA5 +surround-with,,EC24 symbol-array,,EA8A symbol-boolean,,EA8F symbol-class,,EB5B @@ -381,7 +422,9 @@ terminal-ubuntu,,EBC9 terminal,,EA85 text-size,,EB69 three-bars,,EB6A +thumbsdown-filled,,EC13 thumbsdown,,EB6B +thumbsup-filled,,EC14 thumbsup,,EB6C tools,,EB6D trash,,EA81 @@ -407,6 +450,9 @@ vm-connect,,EBA9 vm-outline,,EB7A vm-running,,EB7B vm,,EA7A +vr,,EC18 +vscode-insiders,,EC2A +vscode,,EC29 wand,,EBCF warning,,EA6C watch,,EB7C diff --git a/packages/components/src/assets/codicons/codicon.html b/packages/components/src/assets/codicons/codicon.html index ec8a322495..d883dd2483 100644 --- a/packages/components/src/assets/codicons/codicon.html +++ b/packages/components/src/assets/codicons/codicon.html @@ -297,6 +297,14 @@

codicon

arrow-up
+
+ + + +
+ attach + +
@@ -529,6 +537,14 @@

codicon

chevron-up
+
+ + + +
+ chip + +
@@ -577,20 +593,12 @@

codicon

circle-large-filled
-
- - - -
- circle-large-outline - -
-
+
- +
- circle-outline + circle-large
@@ -617,6 +625,14 @@

codicon

circle-small
+
+ + + +
+ circle + +
@@ -681,6 +697,22 @@

codicon

cloud
+
+ + + +
+ code-oss + +
+
+ + + +
+ code-review + +
@@ -689,6 +721,14 @@

codicon

code
+
+ + + +
+ coffee + +
@@ -721,6 +761,14 @@

codicon

comment-discussion
+
+ + + +
+ comment-draft + +
@@ -761,6 +809,22 @@

codicon

compass
+
+ + + +
+ copilot-warning + +
+
+ + + +
+ copilot + +
@@ -769,6 +833,14 @@

codicon

copy
+
+ + + +
+ coverage + +
@@ -1113,6 +1185,14 @@

codicon

diff-modified
+
+ + + +
+ diff-multiple + +
@@ -1129,6 +1209,14 @@

codicon

diff-renamed
+
+ + + +
+ diff-single + +
@@ -1145,6 +1233,14 @@

codicon

discard
+
+ + + +
+ edit-session + +
@@ -1409,6 +1505,14 @@

codicon

folder
+
+ + + +
+ game + +
@@ -1457,6 +1561,14 @@

codicon

git-compare
+
+ + + +
+ git-fetch + +
@@ -1513,6 +1625,30 @@

codicon

git-pull-request
+
+ + + +
+ git-stash-apply + +
+
+ + + +
+ git-stash-pop + +
+
+ + + +
+ git-stash + +
@@ -1537,6 +1673,14 @@

codicon

github-inverted
+
+ + + +
+ github-project + +
@@ -1553,6 +1697,14 @@

codicon

globe
+
+ + + +
+ go-to-editing-session + +
@@ -1561,6 +1713,14 @@

codicon

go-to-file
+
+ + + +
+ go-to-search + +
@@ -1689,6 +1849,14 @@

codicon

info
+
+ + + +
+ insert + +
@@ -1937,6 +2105,14 @@

codicon

lightbulb-autofix
+
+ + + +
+ lightbulb-sparkle + +
@@ -2081,6 +2257,22 @@

codicon

map-filled
+
+ + + +
+ map-vertical-filled + +
+
+ + + +
+ map-vertical + +
@@ -2129,6 +2321,22 @@

codicon

merge
+
+ + + +
+ mic-filled + +
+
+ + + +
+ mic + +
@@ -2169,6 +2377,14 @@

codicon

multiple-windows
+
+ + + +
+ music + +
@@ -2297,6 +2513,14 @@

codicon

pass
+
+ + + +
+ percentage + +
@@ -2313,6 +2537,14 @@

codicon

person
+
+ + + +
+ piano + +
@@ -2409,6 +2641,14 @@

codicon

pulse
+
+ + + +
+ python + +
@@ -2553,6 +2793,14 @@

codicon

repo-clone
+
+ + + +
+ repo-fetch + +
@@ -2609,6 +2857,14 @@

codicon

request-changes
+
+ + + +
+ robot + +
@@ -2657,6 +2913,14 @@

codicon

run-above
+
+ + + +
+ run-all-coverage + +
@@ -2673,6 +2937,14 @@

codicon

run-below
+
+ + + +
+ run-coverage + +
@@ -2721,6 +2993,14 @@

codicon

screen-normal
+
+ + + +
+ search-fuzzy + +
@@ -2737,6 +3017,14 @@

codicon

search
+
+ + + +
+ send + +
@@ -2777,6 +3065,14 @@

codicon

settings
+
+ + + +
+ share + +
@@ -2809,6 +3105,14 @@

codicon

smiley
+
+ + + +
+ snake + +
@@ -2825,6 +3129,22 @@

codicon

source-control
+
+ + + +
+ sparkle-filled + +
+
+ + + +
+ sparkle + +
@@ -2881,6 +3201,14 @@

codicon

stop-circle
+
+ + + +
+ surround-with + +
@@ -3217,6 +3545,14 @@

codicon

three-bars
+
+ + + +
+ thumbsdown-filled + +
@@ -3225,6 +3561,14 @@

codicon

thumbsdown
+
+ + + +
+ thumbsup-filled + +
@@ -3425,6 +3769,30 @@

codicon

vm
+
+ + + +
+ vr + +
+
+ + + +
+ vscode-insiders + +
+
+ + + +
+ vscode + +
@@ -3663,11 +4031,11 @@

codicon

description: 'dot round bullet' }, { - name: 'circle-large-outline', + name: 'circle-large', description: 'dot round bullet' }, { - name: 'circle-outline', + name: 'circle', description: 'dot round small bullet unverified breakpoint' }, { diff --git a/packages/components/src/assets/codicons/codicon.svg b/packages/components/src/assets/codicons/codicon.svg index 7689b4d9f5..141bbdd3ae 100644 --- a/packages/components/src/assets/codicons/codicon.svg +++ b/packages/components/src/assets/codicons/codicon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/components/src/assets/codicons/codicon.ttf b/packages/components/src/assets/codicons/codicon.ttf index 5abfa748fb56c712c19d127f550727acc3fabe59..4a4d15cc2df09d0928d922b25be0135d064cd68b 100644 GIT binary patch delta 18350 zcmcJXd0-sHmH*%CndzSHxu@sSeT+0C+d8asBpfwR=?N@zhzp6Cdei9MyBce6ywsiKl1+Fe9(wm9$$~N@uS|2Qad4QM63)kPeQ|H+mhR#9zdqPbTvmpI@AdZ$4sE-*{Uzc=K2gpPF^*Q^ zQfxo`;KL8NS{(WKKmJ+v2#)^zC%^pd)#EuiAAI-^uI4ISKP0l&SXWqIv!1n{%eXR2<*|vv zO$x^SYiT{bLa*>re#LeWCv5a*KAo4)5uU~A8+Zy2a*%h?>HG|Lb07E8wbaB7^cDIU zD>RRKPWmYwqR04q{AIe5NBAP%&tK&E{xrdFCmbE%C^qEl!QEv6-OHm#s@XeDi;^Jxq9(-3W^9ki2n(QdkcE~JYn zO?&7|w3jZSOX)JYg7(qZ=o%WP5gMiIDgAZ2fxbcCq;Jtp^lkbMeV1;g@6j!EkZz|t z=uTX87u`+w(!=PDkJFR%3_VNF(J^|SUZ5B0=kzN5f__QAqSxqO>2>-O{e}KYf2V)Y z2lOEm+u6YeyV%VEHaWy$j&dI7a}gJFoXfZ}&C|J->$sj9xrv*(g=g?gp3C#NjZfnF zyns*UQ+N@#^Qn9qTJQ^e1~2C``7A!0JNP_a!=1dAyLc0C=JRr{ z4}Xa-=DmC=U&fd76}*qX##i$&f0Mt(xA3ieh|{<89efwx&G+!Ve3Z8?^qzd-XRdgNw zn2(?{$7ln+!==2EM={7A;f=h36MO;Ja4W6i$7w!$({wdG#WpVFIW(24xSUedOzr%2 zewe?{V|*Wt@d`ed3#gZm@eBMs-^2&_+ZaXP<(v6N3ecHcK?nFp)Ix^=s)Rg z`Yrv2zd^Ib>~>P!lBVg8+JnERi{&^jDA=l8|`&Z4#&{vbIZT9^?)QR2Nx0B~W5y ziNXSkLhhD8v5_Ut0jM~#E|AbyAup8hLdc7dzu0gIc0^48VR5WI63&7Ak_7sZtcxYk zlw|FdKxdM5iG&`5{IZ0<2YIOk8kMZeBy=U@3b$~^IM+A24Tr>Qf?`!Ei?0#1QZBEwB z66kfZ#Jd1!c(QJhK-ZIXs{~q~tb-C-11ahRzz~pin*=6-tlK3p4rJXSfter+b(6jUj7H0&7FoeG=Fmvc4~Y1tRNy32YHr zV$1+oB{akX*a0w5WIZT>sUqtk35*t54@+Ra$T}*4AtUP%2}~MUk4j+N$PzsQz|4{L zxC91|tRF~dE~IFfC(^j64T&F0U=PW9QUc3J)>9JLNV1-mz*>^^BMIy#ShzLNF41eO+E{{?ISj4oL(N??A;dPxF9OqLj+04ABNmnAUHWc`Z- zW}2*5Brw=y{agamP1dUt7;&z9%=EIV1hlEB83^_m1NL)O1aXb^{2Le?K7@KDJ5PYHcXyye>xxGiM; zQ33~stal`EWyt!I1WpZE?@Hj_ko9K?938U$B7w_8)?X!Xe#m-H0yl`Pze(T_k@a_w z#sAghh=MNZ5cZl(2Z)A_l zHb`+l;FBQ5{eb6V{Aa`i055=?CE=4HXG{1L$W{q2f}A7ac1V#S;8P(*hJa6l6d3|u z3Mn!K`~}GQ5_;(F|#9_z5H~knppR7fSfYkQYh# zCy=7BfS-dD%?9|VkfPZDzX&Os4Pb^z8PRM2b4|)zBEhVaGGCTp{)zD~+7nJy35=>MnBia^V%1W89N-%k)jA&-!0SPALl=-%V9)bLh zgheO*u7t(&Z!lD^P%{(<185}_3X$gyV{E>u3J3b>}(T-wh z0v7EkIvC&^uPKbC&&1A8B?zHVMw9@Mc(BM7Agn?eQ5t{%3uRuEAk;#cmm~7gqbLlkl2?A4;d0T=I6=lQ&0D@JNc}F6A>CB%bB%b%K1feX-{8@sa7G?e-L3j&Z&0nzr zB;NKt31VK9`I|(E|B}%D;U&d0(ZELLYEy6N?4pXC43MPjVeG`kH*nM1+);oXFP%(fLI@mM zl*St+t%#A*c#{OtQW{T55I3dqW(l1E*&;zKmHvp%DxiCYV5j(1eAdY86V`;N2Hx!8GFFVkN$t}V4H$?YrFfg5U7Z_iyyS8z>H(9Jo2~day3I zF}N@IcXNfA{!VCR*d3l8zBGJK_-Ld$a&crlx+Hp6^fxhQtT;A3HaE5;wkFmayC%n< zGc{*^&NaD8ZguY5+}*iP=DwTf&1=eAmbWqQhP5`$6mr6sWJ4;`VyW<`4 zr^~!$%ge4U`+IqQ`Qq|bHk$ zZLhnf-dR7texUw=hFC*-VZ-`{`x@SAbT{s9e4)wRG^^=~R9k8&^~>hA=8@)CThx}q zmZp~FEf=&LXnCULjg}8)8xo1}Htd+Aan)Sx4_hyG? z-!}V+*>ARnT6eaNw7xYbG^cIO<#XKRWBVDuTVA;QtmSttPrr7i`^;~i`Iobn zopr}qFQ4_^+4*M=oqg@u53F#n*tp_5E8aZEdCshJwx9F(%EFaPSN5*F?cAnw53I^v zwP)2EtIt|}db(SV*;k}jY=lrR@1v|)M5g{4&!s~S+2 zC~G_gq8}@!hICTPmS2=MTAyl6cAyOH?TPm6KZw<)dHgsC23dRl=!wja1v@&P-?}vz zd_IW9T$v~G+X!DLPekK6uHkv%XbR8N;y!Lnq6&N*)sl^P|ELyCHM0L*U9a&srS;%$ zt-`22esO83x1wT>r?k{Fg*D@lUZXYXhi?gl-UtMhZCI*pR5ltJm#1-Q zHP7ZK>L(PL$#qSsaDAkyArWuZ(oQz)PE*T@B`l?>>V`vW&u)YAP=D~LP+nfhtybhV zhfBjp50yk)q9vy8_WRwOqpMEM=`h@eA^NAL8gBjncBnsM<|p%VibAEKmgeT>SV_s! zW)4IHW3?x}%4y?7qo`PE_o7{5SQtrSA){7Ia#-}$`o^T_0istFuxKc}WKuSkY`J(? z9E#S@#^ovWXmlX<=bOR)^78ib@q7mD)CfwB=%-110#05lS+JZNgiC$ZUkl}oI{wpzm9YW~;0yJeLnre!odBPzr znn*S^RI@5}qpFrjs+t-v75!Hnh~PB-tHI|OqO}{E<|v8AhE!9kNvn%OGl)iPXi6o# z9D=^UL+e@@Pbz_i=H&f%EOnj>Fz4mllWg~tp2y1tXNis5S$CrLZR|zWYnn^d+@2}R zru@&^UL=~L?Bp`H!R!u|1XX*sg=S3Fep0h3=2W+D`d+7sI?8Um6Vj>PyMh&)>9B=F z1K^Evd{Nb5!yt6nRW%U!tU3?b92bjL@%bF;QpFJz&kA-(=q(kDW{`z zzl(1L@(}fbTblB5G8IilTe%T$952-p@uqsw^Hi-#L*Hv?RSFd^Yai>K9KE&1o9_u% zEYgi&VbJ6D_@af;WHcw_=*E6fG&3U+O-3TgYO#r4)y(Ll zx%m3Qiy2v=SXwoUSl%hjTQV;07nTKPFD~p%N}R6Y`9Tv;fSXS>Dm{ z)oG3(K5_{)dk+dz^QVI??b$PX&12I%51Yr(VQtwwh3T~ozr14WDrt1Y{$v^cSqYwP zb_9`ifB&JDev!5KTfO?TG98|G&f^m=>A(^NMhK>?b(q~z3Th!+J$R!qw4o4q!Nz*= zx|%;qhn!_VRso$r$h1B zoGz$tV zP=Rs4z=dKhO$gU3q%PNW<4{Q~!5s3Jmg@TTUVpGKUKH?qJQ2;#Y#PCshdr^NVd7gQ z2Rt-0FE5#w2WwY=dpcqaL-wkTsEj9f*Y6M?&!s{w74Uq$D~LEm>C*-EDW|qjv52(8Bq4hr^z) zeg)G%{F#6azw2Gx1}h&DRvAgNBq}U(tT|dz{)yY1;z6cU+{(sWNT17vdGA=>=4Wj4 z?U?r3@M&B?#J)^)Ee%QoO_qZHgoYEH4L#Z4;W^Db)!X5ReKk#t(POKEKU~B7WuthT3Y9wH_tm$@6hq*4~PB1_Vz$Hyb32V zShE8*4QF|>0RM-~KQGg_w`}?B{DfloNIS@v%??!5*0OjK8uzo`^z$;iv!|!l)7IuW z_tP(j7CLw6e&v+O428}V9yYq6)ODivlJ!!FMxp(-2H_>Qw6q;FjAMH6=+S1e7wo`} ze(b5EWBwg2N?PhN?+I0d0F0USpHq!Oy@(bOZIaC)t4pIeiY^gv9O(!Oopz{0XtPA3 zxufG2Jvh@dvyyX!%YNBq$IBDJL?XD_d{sZG5+_8dgm8W=5(JCrDu{JY5 z7Esvf3b@*0%|53djT9v+=FSPhl`<8NzoD_1i*rJ~3p@+Xt?=N6{EG5in_<{|aEfEI zeKuA!SL&q3P&m(w7?EH!5U6ab(#7Ov?8#l{XzM?+K$8t1qGKO3UEzOrnkI#& zk$M^1=M#yR^77T?<*dqM$B&EInrRO2yP|lk>x$poCMvoBl|K{T)gay`eAGFN4LkyS zsn@O*GAb1Mt59g)RbXm7Vp2BjRM8NQO@M zW(^0Su^4F-N6F45%q|N+e9u-R(%Z$ zY}ORj$xCBC!=W&&gW)wzuc11aS+T1wk7MG&Dsr&F4^z~!_A6iF(h1EZ#)BYn@ZiYE z@#Dvi?S;0x#B4{`9-DL3AWwx|&Z;nRkx*yQ`SJEchxYEp=sR|-8FTB28xD=VakXxj zErJg*h0c{eP`w5ni%|^EWyAg{`|sHw$A44yv(|?A&O9-MvO|{MM^sqc6BeOp%xjTt zG(LyL94d@XS3if*O|*E=j`$AzbyYg|J8LSl+pDnuk7l#E?PRap(XO9-iWggNGmX7< zoq_MALx_R4i3o2B`dPRQiBuwmmWNMKk9z{#N&<}QBc9@1!{@-2y3M8PKD(Q9`+Om%7K{|;7;cx-zpT)}tluon z^RU0LVoIXGiyjul4S|x%>D6UHW?x}N1W$1f8cs9j^*GS0qB+Hr3JFU_*%lZ+I{KoF zwUC8z;)d&ti3yDMUjsCgID?{PKL$%vZe80>39FT#cB=Ul8@mGT@6Nkzb4&5lH_;mPz6HU{JzE zX#8KY*G7vc$I7wS9SFFWiy*-A&nS^2>P56^ zY~S_e%7ovep@X{7)sl#HKtGqq!-=eFZpF-26JD8cUWBzvpwCDrC#$D0ho3mz&;%#J z<3l|p^Qv6|#0uD7JEBh-$$ZW;&uqp;1>ibe-*2#R#zI@2!R1D| zp4cz0j0VQ;yy3v4Yo_7zBwMzSg(xP?LA)n5=`(7=;Sw%bR61Fh@k}0>KjIxxvgHZ5 zvxUnWb)#s|`Yzd`tw-HQ_sHx-%mZaxEzU;$CXzTnV@qz{hG8Q{CMLC-_*@fit_aKt zC+Cyfj|Jw?i4fi>LD&l_y4(mFCulZnf;A>|g;37{-Q4j<#g~wZm#0h1!w! zJ9q4v?;VD_{lSMHBHB=i5a9wW2kl2c62rHZvpOD18@V+m8gKwATzH!ppZG)f)k@<~ z*uwcPzz5<3*z`W2y(b*EzM3_6^eU2!{YXWA6S zCX}~RabEvV?@qJb?obr<UW*vWr}jU6{?q$fJ={)sox(>K{xtl;IOc?^m}OLR zD@Se;^M|yUJBY+*NQXJ!v)ps0*WKJ~FRv}PwY1nEdNB4FUH$mveV9(jo7*Q7<&&p& zE$}X1?!D8D6&J_ErX)M4#0PnkeKjrSgL-xvg+)4{CgiN(M5;&x2tTv@BNN4&|GC9{ zKN!SYEcdvptFwh^_+()mcozh5qetGH@P~3SV0_TK2ptQD>N9f|F*#Ye9iLe>%@ZYR z|72dss$-X|5>Wxt(UtF?L#1mz_WJ+)r9Zn(-e12y`?6d9N5;r+Y}JD%V;=VZBTymU zXENeni65f`5R8dqq2w&_-BL|IuvlM_9w&l9S;xOII|0Bglap(qUog2Ii4;Zf*DPkRK3DT6_Nw7R>N)v2X~QF8 zQHEXj2Av3>}%I98(@FqF&vk%+%vY(_APEXG7KJ1vGo@$tO{HkZf1KaZ{{M|4aP zN}|x&rYR=p6A8}FAN(^TzODWUhy7c9SVu>!6OHidL;skxqfvZ8rs5Z8#R%zO5g0yN z63!Y%EDU8TiP?3+i}+?!sum7;vKIOmIzTAtaBaj3#g5~0fTwQSal@tSHhXV6srpj9 zQoNGuO*GRh3aE zBDHy8rx7z)@u&zQ6gY#$!GIYLc-#fUFF*2iZXE7?v`)>cl+^I;kCthtmwOQeEE@jR zqf^yzxryZ1Igh@oh=BylQwf(em{nJK87W-14FI2mnRHNi9Bt z2%_7yz;kjqHycYlM??#=@x|bo6^KAaDm+svJVoVG;NIbaK%pDgdZWpzWOR9;FoY|! zp`42=M6j}=qA0h#Vr=>kN_Ykw8QA4qluSiX1G6YpHR>BPNdyH=?|big3qr9MUyOCL z)7c;BclPOLuRZT9MJx}T{=`b##Qaz|7dhzOv&2$9;?z;}RCHJwz<`eogNn7kdc=NY zFOPr5HCO?_H6LBF)g88Nv?JQP*%r)x{9+^Z@#%gPt5!{7 z%+-mQsal%GdImgsAIDQ@Q3U4T%)^fmgBf!TtcZlQy6N%Sjy8l84D(?)EmKQ;VQs+z zE$j;$c7@F)p^`8&=5W5KuCq;5=FeADTMP4X{U{c3Y7X_+lr*R@!{=O-v&iW)LXLoD zsJqQ#v&84}dF@l;&O zrZC*paH(2|A26a5CgS+Z2ER2CPRMGTtj@_cr%*ZKa8~2MQ$o9rVCsrke2tm!43`!J z!)|YW(7!&C9pQ(3k%%wi$Kpzx-<>e?4BhDxK{e+gu`ylFd|gkt{T3`G9x^R2^N$}l94#-v}0u@S3TV}d6%Z4OMmqIv`s$Dc_PDto}st9{?bG>1QuG_Pz(Du)( z(ex*(6f1kW2M(&uBZ3n$_5V`Mmx-M1#zfAd435w<|6A3g=2fNG!5>w9-6wO-mSL>; z$4_AaOKMp}$Ax2;kAQFW@I}9hc1+H)P7KhfJW|LBEXC^iK}$?O^@lNH5XnA6cK`D1 z9vjC^*~Zl zj`~eCtr|YnA8^`q?@Jt6T*1o@+Yog%z6O4Kf@KoKd0$ zIdzeMUR3J$x-KY=+YFBrMhTHAQJoVrJG__(3O#iQ~sx#F5!Xy*d1A>k5~grRHLmnm4>VQ!spQCTI9~COW(+bMO=A3di$n zpLTj3_F#kN*4P$z+C0u%T|S>HcME~pmlz76V_XZ#^gS}c*| z;Ae;8E0t3w7D=+f3#eCo4pE9lPU+iWej~g&p_*Y!gu%fIiHx*lSMAF2VoCWagw)F) zrR&?VBvKO90zRJ+F?_y&CU&!0Ijy;Mzqi!u*WH?M>re}bN1Hc^`AUu0jGRclTY^RK z5`6oh8b(R19iK%+eC_^->e6)=7KGY;5q#RvTrN$3+)lQNhF{h?(A|o}!iFi@p&^_U z@8(TIyEMV{AY7wmXTj)Q8vG4aynMrv(<>_XL9Jrw+Q04a+U*VaA2K-XZ$*mo{d!5}rYtf?F4tvsuDENwE zS%{KSl*DaQiqFBp9Cq4Q&1+6oFM?hld+cx5I`ISWd|4QHSQ^4**@EG_k1|YcWm+s# zoPo&?+jSiAVuB#k3erOpX&cfPPo(WgUp0|-U}ARTL|Vo1`zO){mPDTvX(t})q6E7~ zf2nXnsjVHwPxrrStEJk}{WiXE)MMvj{@IagJ1@4aQf^faDu_sc}#g+`GN9;@Rer3go?+qh};N}bPhyVq?R zSl82C)zdk!VbpJMji$;YqjL=YLa}pQUsrck-{7Dtn;7WczNveMU8L1@ee2hEk6vqV zgV(dJZ_AeM-l3|lfzI_qqt6)Jn((db>)+JVH&nHwbD(!q?*?sRA2;{!!eh604|Hzm zKH_rmUzO85U7OaguiCP$XJ}J@Pq#a}H_*KW7j;eUi2qkfmn(Z_5RdEWwu`jZwP|o& z=RlXcyKB=>)nNDF;HJLbBU8NiA3xY|!{`@%T<2KdJ+yA)=s_RfSmE0sE*t6`+*sAw z-`}&#^U;2PU%!50Z}en8Pg(56{>E)q@?(l}bs-eCrkuQof znYAI0uHS^WkjcUB&H?0pnV+xK)J?sE-2+2M@&foDDg*;Pn>K75TDz@hZPj3Z=fL?r z-J?Gb^7l(j{9jO`W}cqt}Lbi>CJP8rs;`JBt6^#w{*mpu4}X zN>t!D z{o%*EYEWxfJ8j$pok>a8uKmP?T!4#W$Z-8q^)rvRr|~VeV{{gEz35o`PA)Wb#zxO@ zGe>_m)o}YDqc1whXi{gVxcz6IftthZ$Q#AE81(iO&`}8d+i!(W@{U?`?c4!Q@TSRuWJ6^hjHI*s;6^wj>qvid}pLjxG!42 zm(zGLJ9#W!;qU|+%@1=GkKxg@o=P}Cx6z-elLm7OwNV0Zr!5rbUTmSC=x4r@o~1|W z_q>{C(4D-9Z{m8M%ab|8O+1fh(;s*`&xdMEWJV_(6iZHWksD3%P%@=bH%ghJH&sanbK+7d=M%=qWlt2kB4rG(AJl(es#&FVIW$ z7dk;N(@A=TUZvOQV@%o(`i%ZTU(lDN(M9^2zNPQzGX0bOML*KN=_(U5o7l`TY-2Zj z*~flP2y-GQaWbcHDtF^d&f;v&;atw+9^8|Ab3W!bk6L}I(;i-HxPve<9i+{y)xQ-jRkr(h1Udp%e?HuMcdUcQev@%_Ao+j%Q*;|M>(JNQxl4gZ!O4FWHQ zoF}jovQfY?CT)IL9dPp%$OQsVfLtihXvijkVO6w60#`vc3p@t0MSw9NtyO?oAWc0S zPzhw408>HQ5`n_Ep|Dhd{UB|b082vJa)Aazt`J~dNLwku&X9JCKnakm1lS(ZZWUmK zNLwwC>a2Pm;9iio6NS|QMv64`C4jjiZH+)bL*604gpqa~7&Fq=3NUM=-6hcPA=e44 z9(uO`qet330;%6nngP5BP0}{t1n^Ce_X@1Wbfds?A@3J>GUR4~)mT3uuo@!OQ^0Dh z+XbEtxmBP)Kt3q&bjWQA6K+6w}_4r#{(_#e{#EWi_yc3gl@BJD*1-ifrA6l&@XLE$d~To!33 z1UN6!UKZfSNINOOp^^5A0M|y^YXY1cX{Q9ZJJS9t!10lGT7U~A?G1ruLx#`b0N@u% zdsBdiB<-vKUrE|q0=y<^=LGmq(%u%}NlAN0fKMguT>;*ewD$z~SaOR}_U4UCB?K6Sa zKz^>q|8w+yElw^7@cN|vLxBG$?F#{s0BK(eaQCEX0-^)bbOCV!X`KQh2GYI~5Ic}| zQ9u+y+SdX-fbrKZ35YC6`$j;FLE5(hq7Bl%6A*Whc3D6KLfZENViD4Q5D=A+_D=!v z329dZL@K2HOF+y*+K(WN1MNiN-$GZox&V73mHE@fGQ@ z0wOKaodRMm(p>_gFVfut;xN+Vx`6&)K_Om1a7MaEK$u3lS3tl6kc zO_d3(dL9&5^}JkQ)$iGbHRnG?sta?63VAb2fg4zt~Lj-IF zNgpb(>S2|@s#C)RR-GCyuhy}ChQ)vHkgt6q&3ST%Btz^ake0;@*W z2&@`8R$$f0aRRGGju%)p02?~e0jmZ~6j(K2lEA6~wF0XL-6XJj&}4ztk53W!M#!lG zs|VdIu=?$30;}JiE`(X#I747{<4l3ojk5$+H~vas_5Eyt)%SA*R^QJRSk=`DtYp2w z4Ui#$8zCFi_@j~+;AEb_OCZ&kfR{qf7x*?vbsgZ_Ar}g23F%D&uYp`7sN90yEbv;$ z7J=`AY!!H&x_Pm{cSE)bd=I2*2;h4mRYL&Z2f0k(O_0k4z8`Xhz*`_!3fvBPi@;kU zR|&ig@>USWfg>oa7WffJ)lbk%EseIx1X1?(V6|FwX?%oDngQ5flD<)( znUG3L0DDf-m6iZ@pQI}-0qjFb-`oYd(}2PQ0yd|lEA;_vQ%P6q1K6;VuG9yxbtU~l z0h?ITl_~+Yv!p9c0y+%2T~PTf{UJeRZ1jf(YISSP)=mL?X3~Er(0<5W0uP5&Ljrghfr#Jb<%$?VB1dm0fD}P{DZ(o$b)M9alodYbaf%1o{)zG zj)RN}*z%M9Cjpy((w`QP1|VIj8_-C|BLcTVJ|pmE$Y%vs^XEB%*Q@paJWc>|2&5ks zNU7%qfy*I}3EUs@&jNA{q#qY31o@)CJ0V{ZSPjKr1Xe?ILg3|)FDo$qyaI)j0;_fV ziomx(zAEr4$kznE74mffsSVQqM?jK;^iu+jh5W04#0Tl81yYmv4FSmzEax*g0OUnT ze^VgUtFr=fC8WP4AZtSUIRW_-(%%-4Ng@3m0XY@Y-xZKuA^kl8c^18Pe5C05k{kV*yDT(mxT9t|9%rfW!^y9RgA~q<<C|nX$I#~ZkK#qy@Zv|wVNdHbi-ih?f0y0pfe=i^xMfwi{vQnh~ zQy?|gR|I6LNdK2WYC``A;&DLwiu8XAbVqw*Mr9Zy)yV?VS=5QSu0UdoIa+_;lu@UH$fFL(nNeq~KzrI} zWcLUgt{TS~_ZZKadYLwx&YKJIZ-)7R`E|k7a+Zww)_H^v0PP=oZbD#5ytH@R3+U2_H9`0^*Z*@Nx zml!uOZhhST_~iJN@h`<+@WgpiJ)1nAdc!r|{XUm(xUbQ-#<$tG)3@Ju+;`gdt-sa3 z!N1%8ZNl7yO$j>_-VbC4Y6H!IZGl69R|7vLrX~(aT$*@yk|n7uX-3k%q*s$JCcBc0 zlE)>tChtl?i`$Af7w;)PS^RPF z)e>Jxen~^gu9C~8C8bkKpDR6Eda>-TvK?i|$}RMldt*+W%_3f};!>WcY7`9=UHauf$?AR;g^2ardJ2CEu8;fo{HonLBUE{S0vnOnyaCTz;#I}haPrN!Qxi%bA z+rM^v?ef~=wdZg0+%);73zK6eS53Zi@)MKKPQE;)*OcQ^E>BIL+HiB)&7*F9b((2f z^R#W#&P*RU{m$tpXT;1HK4Zg-cV-sOoH%pGtddz9XK$QaHMe>0mb%osA$3i4ch$X9 z-=qFyh(d9p^ibc>kkHQ1`G)j{1q}!1rOz8PZ+l}}ug2#ZwfO_)H_zXRdOjk8Ki3JsYqLszLRSZFLQ36=%R ziUJ9N1gp!CSESBLOY#ai(`vC=e5elkv#h0foIhAxn&n4r>898OYh0YepOTj1i;YW9 zGTSXilP$rXXiuc(9 z-*Csoq!!vucBj*dQ=8dr^LxCOSck!A#aHpM77Gg2c()~X_u78_;*yi=((u})U-X-% zt+wd=6(^0+TW?)siB4L3zz`jMce$bcoAs-s{tZ*D(YGJ?G-ia-m;;U>02O5Ui><}} ztN>)5)gLGhmgZT}uf-MDKh<7uhsV>=aoOwjc)e>q9qRnMjt+`meb{D-R_r{(nYca= zzX7F`cH`pG+z$CH_IRqjxPPzL8|}So2^Z$zg1~eloWM!7RI4d)^WDpmZB?N-S zR!c&05r!)_E7Qe(OPV2=5X|$TDp;14X*rSHJw78TmR;R)ec1^~-2;A0yxkS=3^;9W zqbc5PG+JE#obHJ^ezy5iT&YPl@s7AklP$^R8SZ9|O-lFp^18)&{aI;w9-GaZ+0DcD z8213Dy?a8p^u(Tt?qr{x*;yX&#Al~rzO~ox>xfqD&o)GVI`SO*f0iXTSejebor8XBAc)x>2<9oW zMjo--hnAO@?=2r_iHWfc9O(2h`+7Tb`Z=?`xz6GoXNilGY#laFt`}OineAqqhkedN zF7GtAGdl&BZQ6|Ml5?D;?O&h%G_0H+avNwYAgIyZT+~T%THAju*85QE(1|boH*4yih9!K0z(sOx5PHN>(aY&GmpWemRyxo1*g67y?>*ir zqU%z(CwlOVmqW@HIS^wes#gY_rPiMxQy7oWa&u`Onxu4%C#$AG`K84iciCp^6IT|t zc~)6_*b6(VtE>BXa&z$?gM8H1$697PddS!#!@hT$w^dbpq66MyWBXU{Y>yVacft@| z_dz;GJ3gFh3?q{1vWHf@yc2Vff`~E?!`?^f$Y04>d8NUwDJil`A!tgTQjxM0Xz?#~ zRbFq~0IPLCOheaks7HOU__ubQ_URf&UZnadl4g zM8`TqwBP6T-2U<-@$I*N85S`Jt5Zh}4wmVQ}L zLLdzAg zVC4sKU=W7g#RJ`bH~w$2_`GHZC<+_d8taNRnJpgQ1W$&~ki+q=m^iE3=yE3qysnBk zw>Lh~Y{kc%81He#k3mHs+3hmAt#L7~c+N5Q+~#n*6Ws3gHjBgW0qI;WNAA+-6^fBYnC(J!s8v7~^dwgVB}aOU+dZQSq#J zG-c2|7`6X0;dxkYdDcMgbp!s0v#QG3pOgO2f)}}}997OrqDZx!H$?h5c=wThv3%Hh z9smrW?& zf4ywRJJ3h3mo2D|UN74bOuwkgG5Apj<+3fJW#dl;Dk7d7yuh!B?9AcYU^XMExtzg| z9~qR(V~ml{dh+*2&iBHf7DTN1JS)prH@~f}DOAujr)^%Spk>+8ruoew*Y!#{jV#XR zK9MK$d4kDQ*HRxzEZ~yJv;rPv#%b#qWqbyIIr z-&pJCFR7c;R)56U4{!b>Gm5xxWLptG6q!=YJrgbS<}YnrHrG6_sby}+KCh)enu2lkVtHIq6<6G+T#H>(Qv)?M5%l!*(Ae0Bef#!d z%9JT^aB#pczx;yJr%z+qvSr}&`A}6=#l3s?ux;Bm#Ky+bahT!r&p*fE!-p|z)-1TW zx#7x{E6~=~#CxI3z3nLFfua2+qZ8) z2ti6p3jX-x51c=L9xGR_L{Lx=G&D5u=+PtW*s%lS#*IVo-o5ee-8&pTdK5Qq+`zhZ z>ku9uj-EYx;?=8HC@wBWa&j{I_3MY9fBqTO)z!$z$bg@pA5>ISaQE(AY~8vQF)=ad z)vFgi`|L9uI&=tWX=%88`7(wNACB(byW{E8r`WxFHzrM*1Y28MeD~dV5DJA@xNsr7 zy}hAUCxX1ZJk)7jS67D(8#Z9{=+Q7VG{l=XZ!mrObPO0U0KfnKJI8GFK;K74PO-+T1iwiDYx`frMS7X?) zVRU_H;mMOH*tKgHCQh6P8yg#Z`|YAR?c2B0#Uz4-g$2I+@=KJLmt)YN zLCDF;L1<_wdi3alqM{-sCMKe9-@f?q#~)EuRfQ!>mSD(`Ay86M!ks&JuzB-lL`O%% z#KZ)jeDVnn95{fPGiSot*%=~{2p2D2#Hv-R5E2rCZr!@!@#DwXxpOBbOqc*`YioS- z%{Qp5ti*x^3*hPL2{}1A)YjG_H#Zmh`uf}_d#=Y9-w#SEC9Z~Im@A5!IW>%6KztN9dCAGsF**(b3AO${jDFqRd zZTsTj`|;1Nmm+|WB0#7>$ivI&gWr#@uF1tr&5~C@u!DEvZ5XaQBAd`|JX-2$LXU{J zoLHp#B{blCglTr?cu!aTXhQM}9}toTiW>lJLVRCb3z4R@>3;z3@rY4_@-32#w;Gln zj|kC7NDr67Ntn!fe!Xjby({ubd<=wj#c=&d7`m1hQX$L;n14}{(S`nh-ym^zrorC#=_lb{wiXmIzqTLu}(GE|n?>Bhf^l+3f)F8DS{vtVvNnWru z4%LzjNTz>6Vqn`B?ulr6X3X%p1qya{a_Q$C^GtQyk6&}uV&A7wY{K?)xaiC9Psui{ zG{XUVRNiP>a)C>c>3=0A=!RC!D|B*H_g4s|cr|U5_DAwmVdIVS{(ahyKMU99Aiokp zHaN}tzu90~b~*E`q3~EEW;YK=rhgJ&W%@iVbLvK+6GL-F9tP`BJ{)74;Y5nJc$)l1 zfVtWzPM3hWT3KDbtT1o%U8iiivPcV_Y`T;A#ui&QQq)UBaf*i_eP$>*jztDY65m1E zKOuWk{Qb_;`1N5qbz-~^dF>@n%@Hnep@?#mdy(3w~X(p+lj zLD8r~JW+z1@oqK`4y!2Moq;B6JpeK!a1zTpl6prEHC;Q#d1Z8FCU92LX7Hr|lG_ST z%zD1v$pr=U8+aULW_Ar+I>oOD&F3b1Ty+rb=oH1(XD#oi(kY%CxZlHd{A#lP34aaH zn~bSm&=fnd1>SZ%B)t zNQ#`q02ohY9F=iWSw1S^qO$xmJ3G4-2j!g;NqH!b7a`@Mixw^Fl#jlThstu$dGqGM z-QB%IE-K-n|B8c3_@}F@E5|_v0)do=N_Z#ZoQ!YE^32lGQjTZJa?HTMK#pgYmy7W5 z;X~x-=W~2h!ZFvbUCVJyS$^4;TXw`NWjQ6|lWn;qJ06}iLvy9f zfMoA~NKW-+$R7JeQR7UjBoNv7;`O$IU1`V@R8=qSDBjmCZi|N^d^`;|D9&pJwB#3k zZ0!>nU{QiYA8YjCxp$N25G`@5)zd2EMp>=`N#7(e%|9&eU^{)8IjeGRR`JLnbB%ON z#sRCio+`dptbI5YL0BDCIV*r^Ug*nyrIN!gkvB-K<+7jrUl;X_fYo#8bU1fylDy*~LdS z61<{X@&)l-qTQ0+9MbFor(@mMOw`Esnkv)(Q1$)!W%&aoYdI!$OlFvS34IXF_xB#J zVx~6<q||&#_5Jki)H&XZ;=QmPoCtoYAy@HWm+xME}4GLGhGaaAly;09aNG%X?+9=c2nKsY#Yo-UYy_KD< zn7+)kTONCWt&#WdL$FJ5rEDLXTw5GiRYQ?`lfA+K-Bd>1_*1uKK_$o@vr zZpt^EJ?nfwz{6U)W` diff --git a/packages/components/src/assets/images/abgrenzung.jpg b/packages/components/src/assets/images/abgrenzung.jpg deleted file mode 100644 index 9006ccaa7ede94d4400937969d8d5844a00b986c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95716 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 diff --git a/packages/components/src/assets/itzbund.logo.svg b/packages/components/src/assets/itzbund.logo.svg deleted file mode 100644 index 46b1351947..0000000000 --- a/packages/components/src/assets/itzbund.logo.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/packages/components/src/assets/kolibri.ico b/packages/components/src/assets/kolibri.ico new file mode 100644 index 0000000000000000000000000000000000000000..77859ee3f9079a92d97dc6899d57d5b1c5b9bb38 GIT binary patch literal 15086 zcmeHO2~?EV75)JmLr;#;HX3bgV-l0-Y10_nYOGN}6LF7w)TE8ZnAl1*3o0PU2q>c9 zf-CMOE*Q}$#)T-By6=iaji`Vk3WzKMvU7XCJIu(y05iiZcuwy*kAMD|_ujqlzWeUG z8;WA5I4B)DDEw@rgukjNofJiB)28CRsiGwCcTM?;-zPLul-b;&9rxiO${23=UZAb| zQPW={YRs(!US+V?Z-#$GI>GAU6R6Thjh8Pm{)*VGw9fHg%q;mD6cTXNB;z5rB4+ zbY$k;1PUJcnyu+KiFWY%@aAChct@eBU2MvKleYcggL@P@_AQ$F_a~G7)4NxbXLpAu zlK+n$X3~m@-9>JmMEOa+dWKZJo6)qcitv9L%g~OX@sxQt(Ii>4_Mn2?Y+Ct+iEG7C0;gpeoGI`N=>4W(d}gqbm-^vAbN@SV!=QD#AjlEgFO=m*7%Cd=%Zh=2LJvo z8tj=!OS(dVL;gT3C%HV9p9=niel+OWhI%HTDGP_jsCS_Gw152fskUqh6!XPu`-XpLHh4Tz<|2 zqi|TVb7@I2#U2c&WfQtc!(F!K>t51UP3}R<|J9Xky$&?@gI8$j_)fG%HHyCT8cYvT zZdj5mqvpna7V=>`3LM;8c<$5Fk-RGGJKPD7AJD(fy$`8ed7t=w{nY;SFypRKcr4NR z-pxxicSKvENo*p~|LU`=KErmj@Z&$z>M!3VpPs*dY&UVgEi*^c>ByC|JM>G6UhhXI zb}Xff2R4fxax3n*oR!RbiIkg}N(H%DR8){prNu>5URGw7r4&8NrOh)w(8|3==V+du z-5hAi_`iv5P0Y4P`g8lOBX3uMNB>(=+`HpEP`Yj@GEX8aJ zqF+wzHQT!)X1Kel(re z2cC*-Raqy#$G#v213Agh$)J+rLY587#`D03@1_rx{nnwK>6!6f6Or{rW8M^fi8VlP z`t|)SuftBeUdRg0JNB@c<=UEXY+Iq&3=v&W0qBklN^~1agYWi7+ zLN{VRYz>H+taI-xbU`+-2hh<~eZ;cTQr1gD)cu(E+h&iY;zH}{7Ja;m*%%~e61?|z zaisk#JmfB^+825-%*~11`7Xu1g&3)=0kR9dh;xV-!(l!H>N}=7W%=0|;xi&XgjkBL z0r%mWuUy482^i2)?(?#;(i+J^3@d2(%XDacfLZSN8W9=t1N&BoHU!9>Id{Y>boKa; ze681hucur)Puqh&6Pmu$b{55>b(vl*bP7U})^4F*%U>aL-GpT;SM(fko4`}KjD%OBC z8C}0&#Wm=y->9^PhF(8|v#L`+QwZW;RFot<`Ii_x9TY`{r`_WxUjGkG>a_^)_KEurT>trQt z{Fxl%oAS18@SokYj^knW61PK4Ch_87bIV|@Jb>>QJnD7vlM(YqZPW3HP^;$Re_G`u z_~&!HQsvrI;x~~Czp$Du4PR;Ypcgpi|2oY?KA&SX9$h&X&aoS77BrOE}Lmi)${`cT^G8 z7LPH7M-ubl91i#`yvH7JoAv(hI2Q3H=XD)L9{l<~M|+mION=lg@Durb=-XLza_4f2 z`_DGfABaU5RZGM2hnS5A=f5`|Sw83K_-Mta3Zy82^hr13j z59ojFIdWoqmVCqe7$N&D=a1LBn{yzAc{y~C@gk;dF1T?vn%C4^*6#D}Ga>_;ygYKD z;0bgBaxdlv z-}|IlHh?mcuUDh9wl8j+i@9R{P4OP+ zYS<#M1AKcmVP3T4JJEq{@i!=f^V3nQyt(FU3#BJr)f=;ct&W-+_ztiWQRe}>4Rw65 zWAd}_3k~|@3;CZ#V>(JM8Fk?*zAM3tthC#N+OOIGYl1I@+SH8Xc**CYZa$mG8Uk@K z5wgClRCWLBXAaWM^D%}DEzV9)78^J(D^1%Ud3=3q)OJvRfc!@1q~Fn-U$4?v-z%S= Z@{W9G>YQJF9jkn&J-;fBd726s`#*UK!(IRY literal 0 HcmV?d00001 diff --git a/packages/components/src/assets/kolibri.logo.svg b/packages/components/src/assets/kolibri.logo.svg deleted file mode 100644 index 03faf0fe40..0000000000 --- a/packages/components/src/assets/kolibri.logo.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/packages/components/src/assets/loader.css b/packages/components/src/assets/loader.css deleted file mode 100644 index 767570d6e5..0000000000 --- a/packages/components/src/assets/loader.css +++ /dev/null @@ -1,46 +0,0 @@ -/* https://github.com/vineethtrv/css-loader */ -.loader { - width: 48px; - height: 48px; - border: 3px dotted #3d3d3d; - border-style: solid solid dotted dotted; - border-radius: 50%; - display: inline-block; - position: relative; - box-sizing: border-box; - animation: rotation 4s linear infinite; -} -.loader::after { - content: ''; - box-sizing: border-box; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - margin: auto; - border: 3px dotted #ff3d00; - border-style: solid solid dotted; - width: 24px; - height: 24px; - border-radius: 50%; - animation: rotationBack 2s linear infinite; - transform-origin: center center; -} - -@keyframes rotation { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -@keyframes rotationBack { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(-360deg); - } -} diff --git a/packages/components/src/assets/logo.kolibri.invert.svg b/packages/components/src/assets/logo.kolibri.invert.svg deleted file mode 100644 index 956c447e34..0000000000 --- a/packages/components/src/assets/logo.kolibri.invert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - diff --git a/packages/components/src/assets/logo.kolibri.svg b/packages/components/src/assets/logo.kolibri.svg deleted file mode 100644 index e07240132a..0000000000 --- a/packages/components/src/assets/logo.kolibri.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - diff --git a/packages/components/src/assets/logo.kolibri.text.invert.svg b/packages/components/src/assets/logo.kolibri.text.invert.svg deleted file mode 100644 index 150d009baa..0000000000 --- a/packages/components/src/assets/logo.kolibri.text.invert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - KoliBri - diff --git a/packages/components/src/assets/logo.kolibri.text.svg b/packages/components/src/assets/logo.kolibri.text.svg deleted file mode 100644 index c526919e60..0000000000 --- a/packages/components/src/assets/logo.kolibri.text.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - KoliBri - diff --git a/packages/components/src/assets/simulations/alert-simulation.js b/packages/components/src/assets/simulations/alert-simulation.js deleted file mode 100644 index 5578828d82..0000000000 --- a/packages/components/src/assets/simulations/alert-simulation.js +++ /dev/null @@ -1,11 +0,0 @@ -const on = { - onClose: console.log, -}; -const timeout = setTimeout(() => { - document.querySelectorAll('kol-alert').forEach((alert) => { - if (Math.random() > 0.5) { - alert._on = on; - alert.setAttribute('_has-closer', ''); - } - }); -}, 2500); diff --git a/packages/components/src/assets/simulations/button-simulation.js b/packages/components/src/assets/simulations/button-simulation.js deleted file mode 100644 index 4b2245fcf9..0000000000 --- a/packages/components/src/assets/simulations/button-simulation.js +++ /dev/null @@ -1,8 +0,0 @@ -var buttons = document.querySelectorAll('kol-button.not-used'); -buttons.forEach((button) => { - button._on = { - onClick: () => { - alert(`Button "${button._label}" wurde geklickt.`); - }, - }; -}); diff --git a/packages/components/src/assets/simulations/form-simulation.js b/packages/components/src/assets/simulations/form-simulation.js deleted file mode 100644 index 3c869e266f..0000000000 --- a/packages/components/src/assets/simulations/form-simulation.js +++ /dev/null @@ -1,989 +0,0 @@ -const FORMULAR_FORM = LeanUpForm.FormFactory.createForm('anschrift', { - anschrift: { - anrede: { - ansprache: 'Frau', - vorname: 'Elke', - nachname: 'Mustermann', - }, - adresse: { - strasse: 'Musterstraße', - hausnummer: '1a', - ort: 'Musterstadt', - plz: '54321', - }, - }, - email: '', - text: '', - datum: '2000-12-24', - password: 'Passwort', - betrag: 45, - status: 0, - agb: null, - datenschutz: null, -}); - -console.log(FORMULAR_FORM); - -const ANSCHRIFT_FORM = FORMULAR_FORM.getControl('anschrift'); -const ANREDE_FORM = ANSCHRIFT_FORM.getControl('anrede'); -const ANREDE_ANSPRACHE_INPUT = ANREDE_FORM.getControl('ansprache'); -const ANREDE_VORNAME_INPUT = ANREDE_FORM.getControl('vorname'); -const ANREDE_NACHNAME_INPUT = ANREDE_FORM.getControl('nachname'); - -ANREDE_ANSPRACHE_INPUT.label = 'Anrede'; -ANREDE_ANSPRACHE_INPUT.mandatory = true; -ANREDE_VORNAME_INPUT.label = 'Vorname'; -ANREDE_VORNAME_INPUT.mandatory = true; -ANREDE_VORNAME_INPUT.info = 'Bitte geben Sie einen schönen Vorname ein.'; -ANREDE_NACHNAME_INPUT.label = 'Nachname'; - -ANREDE_VORNAME_INPUT.changeListeners.add((...args) => { - console.log(...args); -}); - -class DemoFehler extends LeanUpForm.AbstractValidator { - constructor() { - super('Test'); - } - isValid(value) { - if ((typeof value === 'string' && value.length > 5) || (typeof value === 'boolean' && value === false)) { - return false; - } - return true; - } -} - -class DemoFormatter extends LeanUpForm.AbstractFormatter { - format(value) { - return value.toLocaleUpperCase(); - } - parse(value) { - return value; - } -} - -class Demo4SignSepFormatter extends LeanUpForm.AbstractFormatter { - format(value) { - const words = value.match(/(.{1,4})/g); - return Array.isArray(words) ? words.join(' ') : value; - } - parse(value) { - return value.replace(/ +/g, ''); - } -} - -class DemoMaxLength extends LeanUpForm.AbstractFormatter { - format(value) { - return value; - } - parse(value) { - return value.substring(0, 6); - } -} - -const VALIDATION_HANDLER = new LeanUpForm.ValidationHandler(); -VALIDATION_HANDLER.validators.add(new DemoFehler()); -ANREDE_VORNAME_INPUT.setValidationHandler(VALIDATION_HANDLER); -ANREDE_NACHNAME_INPUT.setValidationHandler(VALIDATION_HANDLER); - -const FORMAT_HANDLER = new LeanUpForm.FormatHandler(); -FORMAT_HANDLER.formatters.add([new DemoFormatter(), new Demo4SignSepFormatter(), new DemoMaxLength()]); -ANREDE_VORNAME_INPUT.setFormatHandler(FORMAT_HANDLER); - -document.querySelector('#kol-input-text')._control = ANREDE_VORNAME_INPUT; - -// console.log(VALIDATION_HANDLER); -// console.log(ANREDE_VORNAME_INPUT); -// console.log(ANREDE_NACHNAME_INPUT); - -const ADRESSE_FORM = ANSCHRIFT_FORM.getControl('adresse'); -const ADRESSE_STRASSE_INPUT = ADRESSE_FORM.getControl('strasse'); -const ADRESSE_HAUSNUMMER_INPUT = ADRESSE_FORM.getControl('hausnummer'); -const ADRESSE_PLZ_INPUT = ADRESSE_FORM.getControl('plz'); -const ADRESSE_ORT_INPUT = ADRESSE_FORM.getControl('ort'); - -ADRESSE_STRASSE_INPUT.label = 'Straße'; -ADRESSE_HAUSNUMMER_INPUT.label = 'Hausnummer'; -ADRESSE_PLZ_INPUT.label = 'Postleitzahl'; -ADRESSE_ORT_INPUT.label = 'Ort'; - -const STATUS_INPUT = FORMULAR_FORM.getControl('status'); -const EMAIL_INPUT = FORMULAR_FORM.getControl('email'); -const TEXT_INPUT = FORMULAR_FORM.getControl('text'); -const BETRAG_INPUT = FORMULAR_FORM.getControl('betrag'); -const AGB_INPUT = FORMULAR_FORM.getControl('agb'); -const DATENSCHUTZ_INPUT = FORMULAR_FORM.getControl('datenschutz'); - -STATUS_INPUT.label = 'Status'; -EMAIL_INPUT.label = 'E-Mail-Adresse'; -// EMAIL_INPUT.mandatory = true; -EMAIL_INPUT.info = 'Bitte geben Sie hier eine E-Mail-Adresse ein.'; -TEXT_INPUT.label = 'Text'; -TEXT_INPUT.mandatory = true; -TEXT_INPUT.setValidationHandler(VALIDATION_HANDLER); -BETRAG_INPUT.label = 'Betrag'; -BETRAG_INPUT.mandatory = true; -BETRAG_INPUT.setValidationHandler(VALIDATION_HANDLER); -AGB_INPUT.label = 'Ich akzeptiere die Allgemeinen Geschäftsbedingungen.'; -AGB_INPUT.mandatory = true; -AGB_INPUT.setValidationHandler(VALIDATION_HANDLER); -DATENSCHUTZ_INPUT.label = 'Ich akzeptiere die Datenschutzerklärung.'; - -const PASSWORD_INPUT = FORMULAR_FORM.getControl('password'); -const DATUM_INPUT = FORMULAR_FORM.getControl('datum'); -PASSWORD_INPUT.label = 'Passwort'; -DATUM_INPUT.label = 'Datum'; - -ANREDE_ANSPRACHE_INPUT.readonly = true; -ANREDE_ANSPRACHE_INPUT.changeListeners.add((value) => { - ANREDE_VORNAME_INPUT.disabled = !ANREDE_VORNAME_INPUT.disabled; - ANREDE_NACHNAME_INPUT.readonly = !ANREDE_NACHNAME_INPUT.readonly; - AGB_INPUT.readonly = !AGB_INPUT.readonly; - DATENSCHUTZ_INPUT.disabled = !DATENSCHUTZ_INPUT.disabled; -}); -ANREDE_VORNAME_INPUT.changeListeners.add(() => { - // document.querySelector('#vorname').setAttribute('_error', ANREDE_VORNAME_INPUT.error); -}); -ANREDE_NACHNAME_INPUT.changeListeners.add(() => { - document.querySelector('#nachname').setAttribute('_readonly', ANREDE_NACHNAME_INPUT.readonly); -}); -// EMAIL_INPUT.changeListeners.add(() => { -// document.querySelector('#email').setAttribute('_error', EMAIL_INPUT.error); -// document.querySelector('#email').setAttribute('_disabled', EMAIL_INPUT.disabled); -// }); -// AGB_INPUT.changeListeners.add((value) => { -// ANREDE_ANSPRACHE_INPUT.disabled = !ANREDE_ANSPRACHE_INPUT.disabled; -// }); - -function domReady() { - document.querySelector('#anrede-adapter')._control = ANREDE_ANSPRACHE_INPUT; - const ANREDE_ANSPRACHE_OPTIONS = [ - { - label: 'Herr', - value: 'Herr', - }, - { - label: 'Frau', - value: 'Frau', - }, - ]; - document.querySelectorAll('kol-input-radido').forEach((inputRadio) => { - inputRadio._list = ANREDE_ANSPRACHE_OPTIONS; - inputRadio._on = { - onChange: console.log, - }; - }); - - // document.querySelector('#vorname')._control = ANREDE_VORNAME_INPUT; - // document.querySelector('#nachname')._control = ANREDE_NACHNAME_INPUT; - - document.querySelector('kol-form').addEventListener('submit', (event) => { - event.stopPropagation(); - console.log(event, ANREDE_FORM.getData()); - }); - // document.querySelector('#strasse')._control = ADRESSE_STRASSE_INPUT; - // document.querySelector('#hausnummer')._control = ADRESSE_HAUSNUMMER_INPUT; - // document.querySelector('#plz')._control = ADRESSE_PLZ_INPUT; - // document.querySelector('#ort')._control = ADRESSE_ORT_INPUT; - - // document.querySelector('#status')._control = STATUS_INPUT; - const STATUS_OPTIONS = [ - { - value: null, - label: '- keine Auswahl -', - }, - { - label: 'Optgroup 1', - options: [ - { - value: 'a1', - label: 'A1', - }, - { - disabled: true, - value: 'b1', - label: 'B1', - }, - { - label: 'Optgroup 2', - options: [ - { - value: 'a2', - label: 'A2', - }, - { - value: 'b2', - label: 'B2', - }, - ], - }, - { - value: 'c1', - label: 'C1', - }, - ], - }, - { - value: '1', - label: 'Gute Laune', - }, - { - value: '2', - label: 'Geht so', - }, - { - value: '3', - label: 'Schlechte Laune', - }, - { - value: '4', - label: 'ich_bin_ein_echt_langes_zusammengesetztes_Worte_und_versuche_das_Layout_zu_brechen', - }, - ]; - // document.querySelector('#status')._options = STATUS_OPTIONS; - - // document.querySelector('#email')._control = EMAIL_INPUT; - // document.querySelector('#email').setAttribute('_mandatory', EMAIL_INPUT.mandatory); - // document.querySelector('#email').setAttribute('_info', EMAIL_INPUT.info); - - // document.querySelector('#texteingabe')._control = TEXT_INPUT; - // document.querySelector('#slider')._control = BETRAG_INPUT; - - document.querySelectorAll('.datenschutz-checkbox').forEach((input) => { - input._control = AGB_INPUT; - }); - document.querySelector('#new-input-checkbox')._control = AGB_INPUT; - document.querySelector('#new-input-checkbox-leanup')._control = AGB_INPUT; - document.querySelectorAll('kol-input-radio.herr-frau').forEach((input) => { - input._list = ANREDE_ANSPRACHE_OPTIONS; - }); - - document.querySelector('#kol-input-text')._control = ANREDE_VORNAME_INPUT; - document.querySelector('kol-input-text.vorname')._list = NAMEN; - - document.querySelector('#new-input-email')._control = EMAIL_INPUT; - document.querySelector('#new-input-color')._control = new LeanUpForm.InputControl('color', { - label: 'Farbe', - value: '#ff0000', - }); - document.querySelector('#new-input-file')._control = new LeanUpForm.InputControl('file', { - label: 'Datei(en) hochladen', - }); - document.querySelector('#new-input-range')._control = BETRAG_INPUT; - - document.querySelector('#new-textarea')._control = TEXT_INPUT; - const interval = setInterval(() => { - TEXT_INPUT.value = `${TEXT_INPUT.value}A`; - document.querySelector('kol-textarea[_hide-label=""]')._value = TEXT_INPUT.value; - }, 1000); - const timeout = setTimeout(() => { - clearInterval(interval); - clearTimeout(timeout); - }, 10); - STATUS_INPUT.value = `['c1','2']`; - document.querySelectorAll('kol-select').forEach((select) => { - select._on = { - onChange: console.log, - }; - }); - document.querySelectorAll('kol-select.list4value').forEach((select) => { - select._list = - "[{'value':null,'label':'- keine Auswahl -'},{'label':'Optgroup 1','options':[{'value':'a1','label':'A1'},{'disabled':true,'value':'b1','label':'B1'},{'label':'Optgroup 2','options':[{'value':'a2','label':'A2'},{'value':'b2','label':'B2'}]},{'value':'c1','label':'C1'}]},{'value':'1','label':'Gute Laune'},{'value':'2','label':'Geht so'},{'value':'3','label':'Schlechte Laune'},{'value':'4','label':'ich_bin_ein_echt_langes_zusammengesetztes_Worte_und_versuche_das_Layout_zu_brechen'}]"; - }); - document.querySelectorAll('kol-select.value4list').forEach((select) => { - select._value = STATUS_INPUT.value; - }); - setTimeout(() => { - document.querySelectorAll('kol-select.value4list').forEach((select) => { - select._list = - "[{'value':null,'label':'- keine Auswahl -'},{'label':'Optgroup 1','options':[{'value':'a1','label':'A1'},{'disabled':true,'value':'b1','label':'B1'},{'label':'Optgroup 2','options':[{'value':'a2','label':'A2'},{'value':'b2','label':'B2'}]},{'value':'c1','label':'C1'}]},{'value':'1','label':'Gute Laune'},{'value':'2','label':'Geht so'},{'value':'3','label':'Schlechte Laune'},{'value':'4','label':'ich_bin_ein_echt_langes_zusammengesetztes_Worte_und_versuche_das_Layout_zu_brechen'}]"; - }); - document.querySelectorAll('.select-adapter').forEach((select) => { - select._control = STATUS_INPUT; - }); - document.querySelectorAll('kol-select.list4value').forEach((select) => { - select._value = STATUS_INPUT.value; - }); - }, 5000); - - document.querySelector('#new-input-date')._control = DATUM_INPUT; - - document.querySelector('#filter-table')._data = DATA; - document.querySelector('#filter-input')._on = { - onChange: (event) => { - console.log(event.target.value); - document.querySelector('#filter-table')._data = DATA.filter((tupel) => { - const regExp = new RegExp(event.target.value, 'i'); - return ( - regExp.test(tupel.montag) || regExp.test(tupel.dienstag) || regExp.test(tupel.mittwoch) || regExp.test(tupel.donnerstag) || regExp.test(tupel.freitag) - ); - }); - }, - }; - - var fixSelect = document.querySelector('#fix-select-multi'); - if (fixSelect instanceof HTMLElement) { - fixSelect._list = [ - { label: 'Baum', value: Date.now() }, - { label: 'Baum', value: Date.now() }, - ]; - fixSelect._on = { - // onClick: (...args) => { - // console.log('onClick', args); - // }, - onChange: (...args) => { - console.log('onChange', args); - setTimeout(() => { - fixSelect._list = [{ label: 'Baum', value: Date.now() }].concat(fixSelect._list); - setTimeout(() => { - console.log(fixSelect._value); - }, 100); - }, 100); - }, - }; - } -} - -document.onreadystatechange = function () { - if (document.readyState == 'complete') { - setTimeout(domReady, 1000); - } -}; - -const DATA = [ - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Hong', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, -]; - -const NAMEN = [ - 'Lucy', - 'Lukas', - 'Ella', - 'Konstantin', - 'Amy', - 'Ben', - 'Emely', - 'Jonas', - 'Finja', - 'Elias', - 'Amelie', - 'Niklas', - 'Luise', - 'David', - 'Frieda', - 'Oskar', - 'Katharina', - 'Philipp', - 'Romy', - 'Leon', - 'Juna', - 'Noah', - 'Theresa', - 'Luis', - 'Eva', - 'Paul', - 'Julia', - 'Finn', - 'Anna', - 'Felix', - 'Carla', - 'Julian', - 'Paulina', - 'Maximilian', - 'Elisabeth', - 'Henry', - 'Rosa', - 'Tim', - 'Mia', - 'Karl', - 'Maya', - 'Friedrich', - 'Selma', - 'Peter', - 'Edda', - 'Quirin', - 'Flora', - 'Liam', - 'Berenike', - 'Linus', - 'Simone', - 'Quentin', - 'Elena', - 'Paul', - 'Meike', - 'Johannes', - 'Susanne', - 'Alexander', - 'Annika', - 'Anton', - 'Augusta', - 'Aras', - 'Alba', - 'Asis', - 'Wilma', - 'Adrian', - 'Annegret', - 'Arthur', - 'Aglaia', - 'Adam', - 'Aaliyah', - 'Arian', - 'Annabelle', - 'Amos', - 'Alma', - 'Arik', - 'Alicia', - 'Ake', - 'Anette', - 'Altfried', - 'Astrid', - 'Ari', - 'Anisha', - 'Andreas', - 'Antke', - 'Allessandro', - 'Abigail', - 'Achim', - 'Aideen', - 'Ben', - 'Aini', - 'Bela', - 'Aida', - 'Baldur', - 'Aamenah', - 'Benedikt', - 'Ariane', - 'Beat', - 'Adriana', - 'Bernd', - 'Alexandra', - 'Bertram', - 'Ava', - 'Blue', - 'Arielle', - 'Badi', - 'Allissa', - 'Batiste', - 'Aamu', - 'Bastian', - 'Arzu', - 'Caleb', - 'Anouk', - 'Caspar', - 'Andrea', - 'Calvin', - 'Bianca', - 'Cadmus', - 'Blanka', - 'Christoph', - 'Benita', - 'Cedrik', - 'Bettina', - 'Camern', - 'Bamika', - 'Carsten', - 'Bente', - 'Cainan', - 'Barbara', - 'Cem', - 'Berit', - 'Carl', - 'Bentje', - 'Cyranus', - 'Birte', - 'Curt', - 'Brigitte', - 'Daniel', - 'Christiane', - 'Dominik', - 'Charlotte', - 'Darius', - 'Catherina', - 'Dario', - 'Caroline', - 'Dag', - 'Caren', - 'Diminic', - 'Caecilia', - 'Damian', - 'Celine', - 'Diego', - 'Coco', - 'Dieter', - 'Chaya', - 'Demian', - 'Dalia', - 'Dewis', - 'Deenah', - 'Dirk', - 'Daphne', - 'Donald', - 'Delia', - 'Enzo', - 'Dari', - 'Emil', - 'Doerte', - 'Erik', - 'Djamila', - 'Edwin', - 'Dominique', - 'Eliah', - 'Doerte', - 'Ethan', - 'Dorothee', - 'Erwin', - 'Emira', - 'Eliot', - 'Emily', - 'Enes', - 'Elif', - 'Emilio', - 'Ellen', - 'Ebbo', - 'Enna', - 'Eberhard', - 'Ebba', - 'Edgar', - 'Eleni', - 'Fabrizius', - 'Freya', - 'Finn', - 'Fiona', - 'Fabian', - 'Franziska', - 'Fabio', - 'Luzia', - 'Finjas', - 'Fabienne', - 'Franz', - 'Mädchen', - 'Jungen', - 'Fiona', - 'Falko', - 'Felina', - 'Fatih', - 'Felicitas', - 'Fynn', - 'Fabia', - 'Flavio', - 'Fabiola', - 'Fady', - 'Fabrizia', - 'Fritz', - 'Filomae', - 'Falko', - 'Floris', - 'Gabriel', - 'Fae', - 'Gustav', - 'Fanny', - 'Guiseppe', - 'Fritzi', - 'Günter', - 'Greta', - 'Gerhard', - 'Gabrielle', - 'Georg', - 'Grit', - 'Gel', - 'Gwen', - 'Gerald', - 'Gabi', - 'Geoffrey', - 'Gila', - 'Gismund', - 'Giorgina', - 'Giulio', - 'Gisele', - 'Godo', - 'Heike', - 'Henri', - 'Hanna', - 'Hannes', - 'Helena', - 'Henry', - 'Haima', - 'Henrik', - 'Heike', - 'Hendrik', - 'Helen', - 'Heiko', - 'Isabell', - 'Haku', - 'Ida', - 'Hanno', - 'Ilona', - 'Hugo', - 'Ingrid', - 'Henryk', - 'Iris', - 'Hardy', - 'Ira', - 'Hagar', - 'Iara', - 'Hafiz', - 'Ivette', - 'Haile', - 'Irma', - 'Hakan', - 'Jardis', - 'Hasso', - 'Juni', - 'Harry', - 'Juna', - 'Hauke', - 'Josephine', - 'Harun', - 'Jella', - 'Hayo', - 'Jill', - 'Idil', - 'Jennifer', - 'Ian', - 'Jakobine', - 'Izzy', - 'Jessika', - 'Ibrahim', - 'Julie', - 'Igor', - 'Jasmin', - 'Jack', - 'Joana', - 'Jules', - 'Jaqueline', - 'Julian', - 'Jonna', - 'Jan', - 'Jean', - 'Jakob', - 'Janis', - 'Jaap', - 'Jodi', - 'Jonathan', - 'Jen', - 'Jannik', - 'Justyna', - 'Jona', - 'Jutta', - 'Jannis', - 'Kathleen', - 'Joel', - 'Kayra', - 'Jonte', - 'Klara', - 'Jarin', - 'Kiara', - 'Jörn', - 'Kathrin', - 'Jari', - 'Catrin', - 'Jannik', - 'Kiki', - 'Jukka', - 'Judith', - 'Samo', - 'Celia', - 'Jaakov', - 'Kaaria', - 'Jeremy', - 'Kerstin', - 'Jarne', - 'Kim', - 'Kilian', - 'Kader', - 'Kai', - 'Kaisa', - 'Kylan', - 'Liv', - 'Kristian', - 'Livia', - 'Kasper', - 'Louisa', - 'Kadmos', - 'Lucy', - 'Klaus', - 'Lina', - 'Kaarle', - 'Lena', - 'Kevin', - 'Leonie', - 'Kadir', - 'Lea', - 'Konrad', - 'Leni', - 'Lukas', - 'Lotta', - 'Leon', - 'Laura', - 'Leopold', - 'Lara', - 'Luca', - 'Lia', - 'Linas', - 'Lisa', - 'Roland', - 'Luna', - 'Leo', - 'Linda', - 'Lennard', - 'Laureen', - 'Luke', - 'Liv', - 'Lenny', - 'Liz', - 'Lasse', - 'Mona', - 'Lion', - 'Mareen', - 'Luca', - 'Mathilda', - 'Lutz', - 'Marlene', - 'Levi', - 'Marianne', - 'Matthias', - 'Mara', - 'Moritz', - 'Mina', - 'Meteo', - 'Magdalena', - 'Mats', - 'Miriam', - 'Matthis', - 'Marianne', - 'Mattes', - 'Martje', - 'Milo', - 'Maeve', - 'Mika', - 'Mae', - 'Maxim', - 'Mädchen', - 'Jungen', - 'Nadja', - 'Marlon', - 'Nadine', - 'Mark', - 'Nele', - 'Matti', - 'Nora', - 'Max', - 'Nina', - 'Morris', - 'Nada', - 'Miran', - 'Nadeshda', - 'Miro', - 'Nancy', - 'Niklas', - 'Nova', - 'Nika', - 'Nika', - 'Niko', - 'Nike', - 'Nabil', - 'Oda', - 'Noel', - 'Odilie', - 'Nils', - 'Okka', - 'Nick', - 'Olea', - 'Neo', - 'Odett', - 'Nadeem', - 'Olivia', - 'Namo', - 'Odilia', - 'Nepomuk', - 'Oana', - 'Oscar', - 'Pia', - 'Ole', - 'Paula', - 'Oliver', - 'Phlomena', - 'Olivier', - 'Paloma', - 'Onur', - 'Paris', - 'Owen', - 'Paola', - 'Obbo', - 'Poppy', - 'Idil', - 'Panja', - 'Otto', - 'Pardis', - 'Oswald', - 'Quirine', - 'Paul', - 'Quinta', - 'Phil', - 'Qara', - 'Patrick', - 'Ria', - 'Paavo', - 'Rita', - 'Pamir', - 'Raina', - 'Pascal', - 'Rabea', - 'Peter', - 'Radost', - 'Quinn', - 'Rabi', - 'Quazim', - 'Ronina', - 'Kasimir', - 'Rae', - 'René', - 'Radia', - 'Riko', - 'Svea', - 'Robin', - 'Smila', - 'Raphael', - 'Sofia', - 'Rudi', - 'Sonja', - 'Remigius', - 'Sophie', - 'Richard', - 'Stella', - 'Radi', - 'Sarah', - 'Rainer', - 'Silvie', - 'Rasmus', - 'Silke', - 'Ruben', - 'Sila', - 'Samuel', - 'Siri', - 'Stefan', - 'Sarah', - 'Sascha', - 'Saara', - 'Serkan', - 'Svenja', - 'Marco', - 'Sabine', - 'Manuel', - 'Sandra', - 'Tom', - 'Tiffanie', - 'Tim', - 'Thea', - 'Theo', - 'Tilda', - 'Theodor', - 'Tardis', - 'Thilo', - 'Tamina', - 'Till', - 'Tamy', - 'Timo', - 'Trudi', - 'Tino', - 'Tea', - 'Tiny', - 'Tima', - 'Taylor', - 'Tabia', - 'Titus', - 'Tassja', - 'Tristan', - 'Tilla', - 'Tizian', - 'Tabita', - 'Todd', - 'Tahua', - 'Thomas', - 'Uli', - 'Taavi', - 'Ulrike', - 'Tillmann', - 'Ute', - 'Uwe', - 'Uda', - 'Udo', - 'Ulla', - 'Ugor', - 'Ulrika', - 'Ulrich', - 'Ulva', - 'Uli', - 'Ulvi', - 'Ulas', - 'Uma', - 'Ulf', - 'Violeta', - 'Volker', - 'Victoria', - 'Vinzent', - 'Vanessa', - 'Valentin', - 'Valentine', - 'Vitus', - 'Valeska', - 'Volker', - 'Wandy', - 'Valentin', - 'Waris', - 'Vidu', - 'Walli', - 'Valerio', - 'Waltraud', - 'Wilhelm', - 'Wanda', - 'William', - 'Xenia', - 'Will', - 'Xani', - 'Walter', - 'Xanthe', - 'Wanja', - 'Yvonne', - 'Wadi', - 'Yu', - 'Walid', - 'Yla', - 'Xaver', - 'Zoe', - 'Yannis', - 'Zilla', - 'Yannik', - 'Zuri', - 'Yoshi', - 'Zamira', - 'Yunus', -]; - -document.querySelector('kol-input-text.vorname')._list = NAMEN; diff --git a/packages/components/src/assets/simulations/form-simulation.textarea.js b/packages/components/src/assets/simulations/form-simulation.textarea.js deleted file mode 100644 index 8b8bc45ec4..0000000000 --- a/packages/components/src/assets/simulations/form-simulation.textarea.js +++ /dev/null @@ -1,18 +0,0 @@ -const textAreas = document.querySelectorAll('off-kol-textarea'); -let timeout; - -if (textAreas) { - textAreas.forEach((textarea) => { - window.textarea = textarea; - textarea._value = ''; - textarea._on = { - onChange: (event) => { - clearTimeout(timeout); - setTimeout(() => { - console.log(event, textarea); - textarea._value = ''; - }, 1000); - }, - }; - }); -} diff --git a/packages/components/src/assets/simulations/form-simulation.weitere-cases.js b/packages/components/src/assets/simulations/form-simulation.weitere-cases.js deleted file mode 100644 index 22871b826e..0000000000 --- a/packages/components/src/assets/simulations/form-simulation.weitere-cases.js +++ /dev/null @@ -1,33 +0,0 @@ -const CHECKBOX2 = new LeanUpForm.InputControl('checkbox'); -CHECKBOX2.changeListeners.add(console.log); - -document.querySelectorAll('#change-checkbox').forEach((checkbox) => { - checkbox._control = CHECKBOX2; - checkbox._on = { - onChange: console.warn, - }; -}); - -function outlineLogs(event) { - event.preventDefault(); - const data = new FormData(event.target); - console.log([...data.entries()]); -} -function onNativeSubmit(event) { - console.log('native form', event); - outlineLogs(event); -} -function onKoliBriSubmit(event) { - console.log('kolibri form', event); - outlineLogs(event); -} - -document.querySelectorAll('form').forEach((form) => { - form.onsubmit = onNativeSubmit; -}); - -document.querySelectorAll('kol-form').forEach((kolForm) => { - kolForm._on = { - onSubmit: onKoliBriSubmit, - }; -}); diff --git a/packages/components/src/assets/simulations/modal-simulation.js b/packages/components/src/assets/simulations/modal-simulation.js deleted file mode 100644 index ae89b8f7c2..0000000000 --- a/packages/components/src/assets/simulations/modal-simulation.js +++ /dev/null @@ -1,31 +0,0 @@ -function openModal(modal, trigger) { - modal._activeElement = trigger; -} -function closeModal(modal) { - modal._activeElement = null; -} - -function setModalFunctions(triggerSelector, modalSelector, closeSelector) { - const trigger = document.querySelector(triggerSelector); - const modal = document.querySelector(modalSelector); - const close = document.querySelector(closeSelector); - if (modal) { - if (trigger) { - trigger._on = { - onClick: openModal(modal, trigger), - }; - } - modal._on = { - onClose: closeModal(modal), - }; - } - if (close) { - close._on = { - onClick: closeModal(modal), - }; - } -} - -setModalFunctions('#modal-open-1', '#modal-1'); -setModalFunctions('#modal-open-2', '#modal-2'); -setModalFunctions('#tooltip_button', '#overviewModal'); diff --git a/packages/components/src/assets/simulations/nav-simulation.js b/packages/components/src/assets/simulations/nav-simulation.js deleted file mode 100644 index 1e662deee2..0000000000 --- a/packages/components/src/assets/simulations/nav-simulation.js +++ /dev/null @@ -1,163 +0,0 @@ -const navTest = document.querySelector('#nav-test'); -if (navTest) { - navTest._links = [ - { - _label: '1 Navigationspunkt mit sehr langem Link-Test', - _href: '#asdf', - _icons: 'codicon codicon-flame', - }, - { - _label: '2 Navigationspunkt und ich_bin_ein_echt_langes_zusammengesetztes_Worte_und_versuche_das_Layout_zu_brechen', - _on: { - onClick: () => { - alert('hallo'); - }, - }, - _icons: 'codicon codicon-flame', - }, - { - _label: '3 Navigationspunkt mit viel Text zu was testen', - _href: '#abc', - _icons: 'codicon codicon-flame', - _children: [ - { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-flame' }, - { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-flame', _target: 'asdasd' }, - { - _icons: 'codicon codicon-flame', - _label: '3.3 Navigationspunkt', - _href: '#abc3.3', - _children: [ - { _icons: 'codicon codicon-flame', _label: '3.3.1 Navigationspunkt', _href: '#abc' }, - { _icons: 'codicon codicon-flame', _label: '3.3.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { - _icons: 'codicon codicon-flame', - _label: '3.4 Navigationspunkt', - _href: '#abc3.4', - _children: [ - { _icons: 'codicon codicon-flame', _label: '3.4.1 Navigationspunkt', _href: '#abc' }, - { _icons: 'codicon codicon-flame', _label: '3.4.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { _icons: 'codicon codicon-flame', _label: '3.5 Navigationspunkt', _href: '#abc' }, - ], - }, - { - _label: '4 Navigationspunkt mit viel Text zu was testen', - _icons: 'codicon codicon-flame', - _children: [ - { _label: '4.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-flame' }, - { _label: '4.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-flame', _target: 'asdasd' }, - { - _icons: 'codicon codicon-flame', - _label: '4.3 Navigationspunkt', - _href: '#abc', - _children: [ - { _icons: 'codicon codicon-flame', _label: '4.3.1 Navigationspunkt', _href: '#abc' }, - { _icons: 'codicon codicon-flame', _label: '4.3.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { - _icons: 'codicon codicon-flame', - _label: '4.4 Navigationspunkt', - _href: '#abc', - _children: [ - { _icons: 'codicon codicon-flame', _label: '4.4.1 Navigationspunkt', _href: '#abc' }, - { _icons: 'codicon codicon-flame', _label: '4.4.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { _icons: 'codicon codicon-flame', _label: '4.5 Navigationspunkt', _href: '#abc' }, - ], - }, - ]; -} - -const clickNav = document.querySelector('#click-nav'); -if (clickNav) { - clickNav._links = [ - { - _label: '1 Navigationspunkt mit sehr langem Link-Test', - _on: { - onClick: () => { - alert('hallo'); - }, - }, - _icons: 'icofont-woodpecker', - }, - { - _label: '2 Navigationspunkt und ich_bin_ein_echt_langes_zusammengesetztes_Worte_und_versuche_das_Layout_zu_brechen', - _on: { - onClick: () => { - alert('hallo'); - }, - }, - _icons: 'icofont-woodpecker', - }, - { - _active: true, - _label: '3 Navigationspunkt', - _href: '#abc', - _icons: 'icofont-woodpecker', - _children: [ - { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'icofont-woodpecker' }, - { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'icofont-woodpecker', _target: 'asdasd' }, - { - _active: true, - _label: '3.3 Navigationspunkt', - _href: '#abc', - _children: [ - { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' }, - { _label: '3.3.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { - _label: '3.4 Navigationspunkt', - _href: '#abc', - _children: [ - { _label: '3.4.1 Navigationspunkt', _href: '#abc' }, - { _label: '3.4.2 Navigationspunkt', _href: '#abc' }, - ], - }, - { _label: '3.5 Navigationspunkt', _href: '#abc' }, - ], - }, - { _label: '4 Navigationspunkt', _href: '#abc' }, - ]; -} - -setTimeout(() => { - const mainNav = document.querySelector('#main-nav'); - const mainNavElements = document.querySelectorAll('main > kol-accordion'); - const numberOfChildren = 6; - if (mainNav && mainNavElements?.length > 0) { - populateNavFromElements(mainNav, mainNavElements, numberOfChildren); - } -}, 1000); - -function createEntry(c) { - return { - _label: c.getAttribute('_heading'), - _href: `#${c.id}`, - _icons: 'codicon codicon-flame', - }; -} - -function populateNavFromElements(nav, elements, numberOfChildren) { - const result = []; - let counter = 0; - let parentCount = 0; - let currentParent = null; - elements.forEach((c) => { - if (counter >= numberOfChildren) counter = 0; - if (counter === 0) { - const n = parentCount * numberOfChildren; - currentParent = { _label: `Komponente ${n + 1} bis ${n + numberOfChildren}`, _icons: 'codicon codicon-flame', _children: [] }; - result.push(currentParent); - parentCount++; - } - currentParent._children.push(createEntry(c)); - counter++; - }); - nav._links = result; -} diff --git a/packages/components/src/assets/simulations/pagination-simulation.js b/packages/components/src/assets/simulations/pagination-simulation.js deleted file mode 100644 index cced95e9ea..0000000000 --- a/packages/components/src/assets/simulations/pagination-simulation.js +++ /dev/null @@ -1,8 +0,0 @@ -var buttons = document.querySelectorAll('kol-pagination'); -buttons.forEach((button) => { - button._on = { - onClick: (event, page) => { - alert(`Pagination "${page}" wurde geklickt.`); - }, - }; -}); diff --git a/packages/components/src/assets/simulations/popover-simulation.js b/packages/components/src/assets/simulations/popover-simulation.js deleted file mode 100644 index 6bbe1bf22d..0000000000 --- a/packages/components/src/assets/simulations/popover-simulation.js +++ /dev/null @@ -1,27 +0,0 @@ -const buttonTop = document.querySelector('#popover-button-top'); -const buttonRight = document.querySelector('#popover-button-right'); -const buttonBottom = document.querySelector('#popover-button-bottom'); -const buttonLeft = document.querySelector('#popover-button-left'); -const buttonLogin = document.querySelector('#popover-button-login'); - -const popoverTop = document.querySelector('#popover-top'); -const popoverRight = document.querySelector('#popover-right'); -const popoverBottom = document.querySelector('#popover-bottom'); -const popoverLeft = document.querySelector('#popover-left'); -const popoverLogin = document.querySelector('#popover-login'); - -if (buttonTop && popoverTop) { - buttonTop._on = { onClick: () => popoverTop.setAttribute('_show', '') }; -} -if (buttonRight && popoverRight) { - buttonRight._on = { onClick: () => popoverRight.setAttribute('_show', '') }; -} -if (buttonBottom && popoverBottom) { - buttonBottom._on = { onClick: () => popoverBottom.setAttribute('_show', '') }; -} -if (buttonLeft && popoverLeft) { - buttonLeft._on = { onClick: () => popoverLeft.setAttribute('_show', '') }; -} -if (buttonLogin && popoverLogin) { - buttonLogin._on = { onClick: () => popoverLogin.setAttribute('_show', '') }; -} diff --git a/packages/components/src/assets/simulations/progress-simulation.js b/packages/components/src/assets/simulations/progress-simulation.js deleted file mode 100644 index 31a1ea653b..0000000000 --- a/packages/components/src/assets/simulations/progress-simulation.js +++ /dev/null @@ -1,33 +0,0 @@ -const simButtons = document.querySelectorAll('kol-button[class*="progress"]'); -const progressBars = document.querySelectorAll('kol-progress[class*="progress"]'); - -function runProcess(index) { - let percent = 0; - console.log(simButtons[index], index); - simButtons[index].setAttribute('_disabled', 'true'); - const interval = setInterval(() => { - if (percent <= 100) { - progressBars[index].setAttribute('_value', percent); - percent += 1; - } else { - clearInterval(interval); - simButtons[index].removeAttribute('_disabled'); - } - }, 50); -} - -simButtons.forEach((button, index) => { - button._on = { - onClick: () => { - runProcess(index); - }, - }; -}); - -const schnitzelWert = document.querySelector('[_id="schnitzelwert"]'); -const progressOut = document.querySelector('[_id="schnitzelfortschritt"]'); -if (schnitzelWert && progressOut) schnitzelWert._on = { onChange: onSchnitzelChange }; - -function onSchnitzelChange(e, value) { - progressOut.setAttribute('_value', value); -} diff --git a/packages/components/src/assets/simulations/smart-button-simulation.js b/packages/components/src/assets/simulations/smart-button-simulation.js deleted file mode 100644 index 60557fb144..0000000000 --- a/packages/components/src/assets/simulations/smart-button-simulation.js +++ /dev/null @@ -1,35 +0,0 @@ -setTimeout(() => { - const smartButtons = document.querySelectorAll('.smart-button'); - smartButtons.forEach((smartButton) => { - smartButton._smartButton = { - _label: 'Password einblenden', - _icons: { left: { icon: 'icofont-eye' } }, - _hideLabel: true, - _tooltipAlign: 'left', - _on: { - onClick: () => { - smartButton._smartButton = { - ...smartButton._smartButton, - _icons: { - left: { - icon: smartButton._smartButton._icon.left.icon === 'icofont-eye' ? 'icofont-eye-blocked' : 'icofont-eye', - }, - }, - _label: smartButton._smartButton._icon.left.icon === 'icofont-eye' ? 'Password ausblenden' : 'Password einblenden', - }; - }, - }, - }; - }); -}, 2500); - -document.querySelector('#input-text')._smartButton = { - _customClass: 'bg-purple', - _disabled: false, - _icons: { left: { icon: 'codicon codicon-home' } }, - _id: 'text_smartbutton', - _label: 'aria-label', - _on: { onclick: console.log }, - _tooltipAlign: 'top', - _variant: 'danger', -}; diff --git a/packages/components/src/assets/simulations/spin-simulation.js b/packages/components/src/assets/simulations/spin-simulation.js deleted file mode 100644 index 01ece31711..0000000000 --- a/packages/components/src/assets/simulations/spin-simulation.js +++ /dev/null @@ -1,21 +0,0 @@ -let button = document.querySelector('kol-button[_label="Aktion ausführen"]'); - -if (button) { - button._on = { - onClick: () => { - button.setAttribute('_disabled', 'true'); - var spins = document.querySelectorAll('kol-spin'); - spins.forEach((spin) => { - spin.removeAttribute('style'); - spin.setAttribute('_show', 'true'); - }); - let timeout = setTimeout(() => { - clearTimeout(timeout); - spins.forEach((spin) => { - spin.removeAttribute('_show'); - }); - button.removeAttribute('_disabled'); - }, 7500); - }, - }; -} diff --git a/packages/components/src/assets/simulations/table-simulation.js b/packages/components/src/assets/simulations/table-simulation.js deleted file mode 100644 index bfc7047748..0000000000 --- a/packages/components/src/assets/simulations/table-simulation.js +++ /dev/null @@ -1,875 +0,0 @@ -const TABLE_HEADERS_H = { - horizontal: [ - [ - { - label: 'Werktage', - colSpan: 5, - }, - { - label: 'Wochenende', - colSpan: 2, - }, - ], - [ - { - key: 'montag', - label: 'Montag', - render: (el, data) => { - const button = document.createElement('kol-button'); - button.setAttribute('_label', data.label); - button.setAttribute('data-theme', 'default'); - button.setAttribute('style', 'font-size: 75%'); - button.setAttribute('exportparts', 'button,normal'); - button._on = { onClick: console.log }; - el.innerHTML = ''; - el.appendChild(button); - }, - compareFn: (first, second) => { - if (first.montag < second.montag) { - return -1; - } - if (first.montag > second.montag) { - return 1; - } - return 0; - }, - sort: (data) => { - return data.sort((first, second) => { - if (first.montag < second.montag) { - return -1; - } - if (first.montag > second.montag) { - return 1; - } - return 0; - }); - }, - sortDirection: 'ASC', - textAlign: 'right', - }, - { - key: 'dienstag', - label: 'Dienstag', - render: (el, data) => (el.innerHTML = ``), - compareFn: (first, second) => { - if (first.dienstag < second.dienstag) { - return -1; - } - if (first.dienstag > second.dienstag) { - return 1; - } - return 0; - }, - sortDirection: 'DESC', - }, - { - key: 'mittwoch', - label: 'Mittwoch', - compareFn: (first, second) => { - if (first.mittwoch < second.mittwoch) { - return -1; - } - if (first.mittwoch > second.mittwoch) { - return 1; - } - return 0; - }, - sortDirection: 'NOC', - render: (el, data) => (el.innerHTML = ``), - }, - { - key: 'donnerstag', - label: 'Donnerstag', - render: (el, data) => (el.innerHTML = ``), - }, - { - key: 'freitag', - label: 'Freitag', - render: (el, data) => (el.innerHTML = ``), - }, - { - key: 'samstag', - label: 'Samstag', - render: (el, data) => (el.innerHTML = ``), - }, - { - key: 'sonntag', - label: 'Sonntag', - render: (el, data) => (el.innerHTML = ``), - }, - ], - ], -}; -const TABLE_HEADERS_V = { - vertical: [ - [ - { - label: 'Früh', - }, - { - label: 'Mittag', - }, - { - label: 'Abend', - }, - { - label: 'Nacht', - }, - ], - ], -}; -const TABLE_HEADERS_H_V = { - horizontal: [ - [ - { - label: '', - rowSpan: 2, - asTd: true, - }, - ...TABLE_HEADERS_H.horizontal[0], - ], - [...TABLE_HEADERS_H.horizontal[1]], - ], - ...TABLE_HEADERS_V, -}; -const TABLE_2_HEADERS = { - horizontal: [ - [ - { - asTd: true, - colSpan: 2, - }, - ].concat(TABLE_HEADERS_V), - ], - vertical: [ - [ - { - ...TABLE_HEADERS_H.horizontal[0][0], - rowSpan: TABLE_HEADERS_H.horizontal[0][0].colSpan, - colSpan: undefined, - }, - { - ...TABLE_HEADERS_H.horizontal[0][1], - rowSpan: TABLE_HEADERS_H.horizontal[0][1].colSpan, - colSpan: undefined, - }, - ], - ].concat([TABLE_HEADERS_H.horizontal[1]]), -}; -const TABLE_NVDA_HEADERS = { - horizontal: [ - [ - { label: 'Juni', key: 'juni', sort: (data) => data.sort((a, b) => sortTable(a, b, 'juni', 'number')) }, - { label: 'April', key: 'april', sort: (data) => data.sort((a, b) => sortTable(a, b, 'april', 'number')) }, - { label: 'Mai', key: 'mai', sort: (data) => data.sort((a, b) => sortTable(a, b, 'mai', 'number')) }, - { label: 'Juli', key: 'juli', sort: (data) => data.sort((a, b) => sortTable(a, b, 'juli', 'number')) }, - { label: 'August', key: 'august', sort: (data) => data.sort((a, b) => sortTable(a, b, 'august', 'number')) }, - { label: 'September', key: 'september', sort: (data) => data.sort((a, b) => sortTable(a, b, 'september', 'number')) }, - ], - ], -}; - -const TABLE_DATA = [ - { - montag: 'Alex', - dienstag: 'Hong', - mittwoch: 'Kevin', - donnerstag: 'Fabian', - freitag: 'Alex', - samstag: 'Kevin', - sonntag: 'Hong', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, -]; -const TABLE_DATA_SHORT = TABLE_DATA.slice(0, -1); -const TABLE_PAGED_DATA = [ - { - montag: 'Alex', - dienstag: 'Anna', - mittwoch: 'Amalia', - donnerstag: 'Arthur', - freitag: 'Alex', - samstag: 'Andrea', - sonntag: 'Arnold', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Finn', - dienstag: 'Roger', - mittwoch: 'Christian', - donnerstag: 'Caspar', - freitag: 'David', - samstag: 'Bernard', - sonntag: 'Anna', - }, - { - montag: 'Alex', - dienstag: 'Anna', - mittwoch: 'Amalia', - donnerstag: 'Arthur', - freitag: 'Alex', - samstag: 'Andrea', - sonntag: 'Arnold', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Finn', - dienstag: 'Roger', - mittwoch: 'Christian', - donnerstag: 'Caspar', - freitag: 'David', - samstag: 'Bernard', - sonntag: 'Anna', - }, - { - montag: 'Alex', - dienstag: 'Anna', - mittwoch: 'Amalia', - donnerstag: 'Arthur', - freitag: 'Alex', - samstag: 'Andrea', - sonntag: 'Arnold', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Finn', - dienstag: 'Roger', - mittwoch: 'Christian', - donnerstag: 'Caspar', - freitag: 'David', - samstag: 'Bernard', - sonntag: 'Anna', - }, - { - montag: 'Alex', - dienstag: 'Anna', - mittwoch: 'Amalia', - donnerstag: 'Arthur', - freitag: 'Alex', - samstag: 'Andrea', - sonntag: 'Arnold', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Finn', - dienstag: 'Roger', - mittwoch: 'Christian', - donnerstag: 'Caspar', - freitag: 'David', - samstag: 'Bernard', - sonntag: 'Anna', - }, - { - montag: 'Alex', - dienstag: 'Anna', - mittwoch: 'Amalia', - donnerstag: 'Arthur', - freitag: 'Alex', - samstag: 'Andrea', - sonntag: 'Arnold', - }, - { - montag: 'Helena', - dienstag: 'Fabian', - mittwoch: 'Marie', - donnerstag: 'Ben', - freitag: 'Marcus', - samstag: 'Alex', - sonntag: 'Marcus', - }, - { - montag: 'Fabian', - dienstag: 'Helena', - mittwoch: 'Fabian', - donnerstag: 'Maya', - freitag: 'Ben', - samstag: 'Alex', - sonntag: 'Helena', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Hong', - dienstag: 'Alex', - mittwoch: 'Kevin', - donnerstag: 'Maya', - freitag: 'Fabian', - samstag: 'Helena', - sonntag: 'Alex', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Samuel', - dienstag: 'Selena', - mittwoch: 'Sandra', - donnerstag: 'Salim', - freitag: 'Robert', - samstag: 'Richard', - sonntag: 'Pamela', - }, - { - montag: 'Finn', - dienstag: 'Roger', - mittwoch: 'Christian', - donnerstag: 'Caspar', - freitag: 'David', - samstag: 'Bernard', - sonntag: 'Anna', - }, -]; -const TABLE_2_DATA = [ - { montag: 'Alex', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Helena', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Marcus' }, - { montag: 'Fabian', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, - { montag: 'Hong', dienstag: 'Marie', mittwoch: 'Kevin', donnerstag: 'Maya', freitag: 'Ben' }, -]; -const TABLE_NVDA_DATA = [ - { april: '97', mai: '99', juni: '100', juli: '101', august: '102', september: '105' }, - { april: '11', mai: '13', juni: '13', juli: '13', august: '12', september: '12' }, - { april: '86', mai: '85', juni: '87', juli: '88', august: '87', september: '90' }, - { april: '11', mai: '12', juni: '12', juli: '11', august: '12', september: '12' }, - { april: '42', mai: '41', juni: '42', juli: '43', august: '39', september: '42' }, - { april: '100', mai: '99', juni: '98', juli: '99', august: '102', september: '109' }, -]; - -const TABLE_FOOT_DATA = [ - { - montag: '1', - dienstag: '2', - mittwoch: '3', - donnerstag: '4', - freitag: '5', - samstag: '6', - sonntag: '7', - }, -]; - -const PAGINATION_1 = { - _boundaryCount: 0, - _page: 3, - _pageSize: 20, - _pageSizeOptions: [5, 10, 20, 50, 100], - _on: { - onClick: console.log, - onChangePage: console.log, - onChangePageSize: console.log, - }, -}; -const PAGINATION_2 = { - _boundaryCount: 0, - _page: 3, - _pageSize: 10, - _pageSizeOptions: [5, 10, 20, 50, 100], - _on: { - onClick: console.log, - onChangePage: console.log, - onChangePageSize: console.log, - }, -}; - -function setTableData(tableID, caption, data, header, footer) { - setTimeout(() => { - const table = document.querySelector(tableID); - if (table) { - table._label = caption; - table._data = data; - if (header) table._headers = header; - if (footer) table._dataFoot = footer; - } - }, 500); -} -function setMultipleTableData(tableClass, caption, data, header, footer) { - setTimeout(() => { - const tables = document.querySelectorAll(tableClass); - tables.forEach((table) => { - table._label = caption; - table._data = data; - if (header) table._headers = header; - if (footer) table._dataFoot = footer; - }); - }, 500); -} - -function sortTable(a, b, key, type) { - if (!type) type = 'string'; - switch (type) { - case 'number': - return parseFloat(a[key]) - parseFloat(b[key]); - case 'string': - return a[key].localeCompare(b[key]); - } -} - -setTableData('#table-1a', 'header: h/v, data: short, foot', TABLE_DATA_SHORT, TABLE_HEADERS_H_V, TABLE_FOOT_DATA); -setTableData('#table-1b', 'header: h, data: short, foot', TABLE_DATA_SHORT, TABLE_HEADERS_H, TABLE_FOOT_DATA); -setTableData('#table-1c', 'header: h, data: short', TABLE_DATA_SHORT, TABLE_HEADERS_H); -setTableData('#table-1d', 'header: h/v, data: default', TABLE_DATA, TABLE_HEADERS_H_V); - -setTableData('#table-2', '2 Header, Daten Vertikal, Sort and Render', TABLE_2_DATA, TABLE_2_HEADERS); - -setTableData('#table-3a', 'header: h, data: paged', TABLE_PAGED_DATA, TABLE_HEADERS_H); -setTableData('#table-3b', 'header: h, data: paged, pagination-1', TABLE_PAGED_DATA, TABLE_HEADERS_H, undefined, PAGINATION_1); - -setTableData('#table-4', 'header: h, data: paged, pagination-2', TABLE_PAGED_DATA, TABLE_HEADERS_H, undefined, PAGINATION_2); - -setTableData('#nvda', 'Sortiertest NVDA', TABLE_NVDA_DATA, TABLE_NVDA_HEADERS); - -const dayTableHeaders = { - horizontal: [ - [ - { label: '', colSpan: 1, rowSpan: 1, asTd: true }, - { label: 'Tag', key: 'day' }, - { label: 'Info', key: 'info' }, - ], - ], - vertical: [ - [ - { label: '1', key: '1' }, - { label: '2', key: '2' }, - { label: '3', key: '3' }, - { label: '4', key: '4' }, - { label: '5', key: '5' }, - ], - ], -}; -const dayTableData = [ - { day: 'Montag', info: 'Herr Mohn' }, - { day: 'Dienstag', info: 'Dienst' }, - { day: 'Mittwoch', info: 'Mitte der Woche' }, - { day: 'Donnerstag', info: 'Donner' }, - { day: 'Freitag', info: 'frei' }, -]; -setTableData('day_table', 'DayTable', dayTableData, dayTableHeaders); diff --git a/packages/components/src/assets/simulations/tabs-simulation.js b/packages/components/src/assets/simulations/tabs-simulation.js deleted file mode 100644 index a2f641d855..0000000000 --- a/packages/components/src/assets/simulations/tabs-simulation.js +++ /dev/null @@ -1,43 +0,0 @@ -setTimeout(() => { - const callback = (name) => { - return (event, index) => { - console.log(name, event, index); - }; - }; - let tabs = document.querySelector('#tabs-with-events'); - if (tabs) { - tabs._on = { - onCreate: { - label: 'Neu Text anpassbar', - callback: callback('onCreate'), - }, - onSelect: callback('onSelect'), - }; - tabs._tabs = [ - { _label: 'Tab 1', _icons: 'fa-solid fa-house' }, - { _label: 'Tab 2', _cta: 'primary' }, - { _label: 'Tab 3', _disabled: true }, - { - _label: 'Tab 4', - _on: { - onClose: callback('onClose'), - }, - }, - { - _label: 'Tab 5', - _on: { - onClose: true, - }, - }, - { _label: 'Tab 6' }, - { _label: 'Tab 7' }, - { _label: 'Tab 8' }, - ]; - } - tabs = document.querySelector('#tabs-with-create'); - if (tabs) { - tabs._on = { - onCreate: callback('onCreate'), - }; - } -}, 2500); diff --git a/packages/components/src/assets/simulations/toast-simulation.js b/packages/components/src/assets/simulations/toast-simulation.js deleted file mode 100644 index 89dbf2fa0d..0000000000 --- a/packages/components/src/assets/simulations/toast-simulation.js +++ /dev/null @@ -1,17 +0,0 @@ -var toastButtons = document.querySelectorAll('kol-button[_label="Toast starten"]'); - -toastButtons.forEach((button) => { - button._on = { - onClick: createAndShowToast, - }; -}); - -function createAndShowToast() { - const toast = document.createElement('kol-toast'); - toast.setAttribute('_label', 'Ich bin ein Toast!'); - toast.setAttribute('_level', '3'); - toast.setAttribute('_show-duration', '10000'); - toast.setAttribute('_type', 'info'); - toast.innerText = `Ich werde in 10 Sekunden automatisch wieder ausgeblendet.`; - document.body.appendChild(toast); -} diff --git a/packages/components/src/assets/style.css b/packages/components/src/assets/style.css deleted file mode 100644 index 5466656312..0000000000 --- a/packages/components/src/assets/style.css +++ /dev/null @@ -1,139 +0,0 @@ -body, -* { - margin: 0; -} - -* { - box-sizing: border-box; -} - -.container { - display: grid; - gap: 1.5rem; - margin-inline: auto; - padding-inline: 2rem; -} - -.font-80 { - font-size: 80%; -} -.font-60 { - font-size: 60%; -} - -.gap { - gap: 0.5rem; -} - -.grid { - display: grid; -} - -.kol-accordion p, -.kol-card p { - padding: 0; - text-align: justify; - margin: 0; -} - -.divide-y > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 0; - border: 0; - border-style: solid; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.kol-accordion div[slot='content'], -.kol-accordion div[slot='header'] { - padding: 0.5rem; -} - -.kol-logo { - width: 18%; -} - -.kol-badge[_icon='ui-rating'], -.kol-badge[_label='Und ich!'] { - font-weight: 600; -} - -.kol-button.min-width { - display: inline-block; - margin-bottom: 0.1rem; - margin-right: 0.1rem; - width: 8rem; -} - -.kol-logo { - display: block; - width: 175px; -} - -.bordered { - border: 1px solid var(--kolibri-border-color); - border-radius: var(--kolibri-border-radius); -} - -.bg-black { - background-color: black; -} -.bg-blueviolet { - background-color: blueviolet; -} - -.p-b { - padding-block: 0.5rem; -} -.p-i { - padding-inline: 1rem; -} - -.row { - background-color: white; - border: 1px solid #bbb; - border-radius: 5px; - box-shadow: 5px 5px 5px #eee; - padding: 0.5rem 0; - margin: 0.5rem 0; -} - -.col-12 { - overflow: hidden; - padding-block: 0.25rem; -} - -hr { - background-color: #850550; - margin: 0; -} -div.hr { - text-align: center; - font-weight: 600; - color: white; - margin: 0; - padding: 0.5rem; - background-color: #850550; -} - -.kol-card[_level='5'], -.kol-card[_level='6'] { - display: block; -} - -.kol-icon[_icon='codicon codicon-home'], -.kol-icon[_icon='fa-solid fa-house'], -.kol-icon[_icon='icofont-home'], -.kol-icon[_icon='ti ti-home'] { - color: #00646b; - font-size: 500%; -} - -.kol-logo { - margin: 0.25rem; -} - -.kol-nav.max-width { - display: block; - max-width: 20em; -} diff --git a/packages/themes/.gitignore b/packages/themes/.gitignore index d87e487235..c1974021ce 100644 --- a/packages/themes/.gitignore +++ b/packages/themes/.gitignore @@ -1,2 +1,3 @@ -.reports/ +assets/codicons/ +assets/kolibri.ico test-results/ diff --git a/packages/themes/assets/README.md b/packages/themes/assets/README.md new file mode 100644 index 0000000000..6547204bf3 --- /dev/null +++ b/packages/themes/assets/README.md @@ -0,0 +1 @@ +The assets folder typically contains all the static files that your project needs to function, that are not directly related to the codebase. These can include images, stylesheets (CSS files), scripts (JavaScript files), fonts, and other multimedia content. These files are often served directly to the user by the server, and are essential for the correct visual presentation and functionality of your application. diff --git a/packages/themes/assets/codicons/codicon.css b/packages/themes/assets/codicons/codicon.css index 7a161449ab..739be06ee4 100644 --- a/packages/themes/assets/codicons/codicon.css +++ b/packages/themes/assets/codicons/codicon.css @@ -6,7 +6,7 @@ @font-face { font-family: "codicon"; font-display: block; - src: url("./codicon.ttf?2ab61cbaefbdf4c7c5589068100bee0c") format("truetype"); + src: url("./codicon.ttf?be64b7213e352cd7f91ef58198e71237") format("truetype"); } .codicon[class*='codicon-'] { @@ -72,6 +72,7 @@ .codicon-record-keys:before { content: "\ea65" } .codicon-keyboard:before { content: "\ea65" } .codicon-tag:before { content: "\ea66" } +.codicon-git-pull-request-label:before { content: "\ea66" } .codicon-tag-add:before { content: "\ea66" } .codicon-tag-remove:before { content: "\ea66" } .codicon-person:before { content: "\ea67" } @@ -264,6 +265,7 @@ .codicon-diff-removed:before { content: "\eadf" } .codicon-diff-renamed:before { content: "\eae0" } .codicon-diff:before { content: "\eae1" } +.codicon-diff-sidebyside:before { content: "\eae1" } .codicon-discard:before { content: "\eae2" } .codicon-editor-layout:before { content: "\eae3" } .codicon-empty-window:before { content: "\eae4" } @@ -327,6 +329,7 @@ .codicon-megaphone:before { content: "\eb1e" } .codicon-mention:before { content: "\eb1f" } .codicon-milestone:before { content: "\eb20" } +.codicon-git-pull-request-milestone:before { content: "\eb20" } .codicon-mortar-board:before { content: "\eb21" } .codicon-move:before { content: "\eb22" } .codicon-multiple-windows:before { content: "\eb23" } @@ -452,9 +455,11 @@ .codicon-menu:before { content: "\eb94" } .codicon-expand-all:before { content: "\eb95" } .codicon-feedback:before { content: "\eb96" } +.codicon-git-pull-request-reviewer:before { content: "\eb96" } .codicon-group-by-ref-type:before { content: "\eb97" } .codicon-ungroup-by-ref-type:before { content: "\eb98" } .codicon-account:before { content: "\eb99" } +.codicon-git-pull-request-assignee:before { content: "\eb99" } .codicon-bell-dot:before { content: "\eb9a" } .codicon-debug-console:before { content: "\eb9b" } .codicon-library:before { content: "\eb9c" } @@ -568,7 +573,11 @@ .codicon-blank:before { content: "\ec03" } .codicon-heart-filled:before { content: "\ec04" } .codicon-map:before { content: "\ec05" } +.codicon-map-horizontal:before { content: "\ec05" } +.codicon-fold-horizontal:before { content: "\ec05" } .codicon-map-filled:before { content: "\ec06" } +.codicon-map-horizontal-filled:before { content: "\ec06" } +.codicon-fold-horizontal-filled:before { content: "\ec06" } .codicon-circle-small:before { content: "\ec07" } .codicon-bell-slash:before { content: "\ec08" } .codicon-bell-slash-dot:before { content: "\ec09" } @@ -580,3 +589,47 @@ .codicon-send:before { content: "\ec0f" } .codicon-sparkle:before { content: "\ec10" } .codicon-insert:before { content: "\ec11" } +.codicon-mic:before { content: "\ec12" } +.codicon-thumbsdown-filled:before { content: "\ec13" } +.codicon-thumbsup-filled:before { content: "\ec14" } +.codicon-coffee:before { content: "\ec15" } +.codicon-snake:before { content: "\ec16" } +.codicon-game:before { content: "\ec17" } +.codicon-vr:before { content: "\ec18" } +.codicon-chip:before { content: "\ec19" } +.codicon-piano:before { content: "\ec1a" } +.codicon-music:before { content: "\ec1b" } +.codicon-mic-filled:before { content: "\ec1c" } +.codicon-repo-fetch:before { content: "\ec1d" } +.codicon-copilot:before { content: "\ec1e" } +.codicon-lightbulb-sparkle:before { content: "\ec1f" } +.codicon-robot:before { content: "\ec20" } +.codicon-sparkle-filled:before { content: "\ec21" } +.codicon-diff-single:before { content: "\ec22" } +.codicon-diff-multiple:before { content: "\ec23" } +.codicon-surround-with:before { content: "\ec24" } +.codicon-share:before { content: "\ec25" } +.codicon-git-stash:before { content: "\ec26" } +.codicon-git-stash-apply:before { content: "\ec27" } +.codicon-git-stash-pop:before { content: "\ec28" } +.codicon-vscode:before { content: "\ec29" } +.codicon-vscode-insiders:before { content: "\ec2a" } +.codicon-code-oss:before { content: "\ec2b" } +.codicon-run-coverage:before { content: "\ec2c" } +.codicon-run-all-coverage:before { content: "\ec2d" } +.codicon-coverage:before { content: "\ec2e" } +.codicon-github-project:before { content: "\ec2f" } +.codicon-map-vertical:before { content: "\ec30" } +.codicon-fold-vertical:before { content: "\ec30" } +.codicon-map-vertical-filled:before { content: "\ec31" } +.codicon-fold-vertical-filled:before { content: "\ec31" } +.codicon-go-to-search:before { content: "\ec32" } +.codicon-percentage:before { content: "\ec33" } +.codicon-sort-percentage:before { content: "\ec33" } +.codicon-attach:before { content: "\ec34" } +.codicon-go-to-editing-session:before { content: "\ec35" } +.codicon-edit-session:before { content: "\ec36" } +.codicon-code-review:before { content: "\ec37" } +.codicon-copilot-warning:before { content: "\ec38" } +.codicon-python:before { content: "\ec39" } +.codicon-git-fetch:before { content: "\f101" } diff --git a/packages/themes/assets/codicons/codicon.csv b/packages/themes/assets/codicons/codicon.csv index 1c8600cc0c..9ff6867799 100644 --- a/packages/themes/assets/codicons/codicon.csv +++ b/packages/themes/assets/codicons/codicon.csv @@ -17,6 +17,7 @@ arrow-small-right,,EA9F arrow-small-up,,EAA0 arrow-swap,,EBCB arrow-up,,EAA1 +attach,,EC34 azure-devops,,EBE8 azure,,EBD8 beaker-stop,,EBE1 @@ -46,6 +47,7 @@ chevron-down,,EAB4 chevron-left,,EAB5 chevron-right,,EAB6 chevron-up,,EAB7 +chip,,EC19 chrome-close,,EAB8 chrome-maximize,,EAB9 chrome-minimize,,EABA @@ -65,7 +67,10 @@ close,,EA76 cloud-download,,EAC2 cloud-upload,,EAC3 cloud,,EBAA +code-oss,,EC2B +code-review,,EC37 code,,EAC4 +coffee,,EC15 collapse-all,,EAC5 color-mode,,EAC6 combine,,EBB6 @@ -76,7 +81,10 @@ comment,,EA6B compass-active,,EBD7 compass-dot,,EBD6 compass,,EBD5 +copilot-warning,,EC38 +copilot,,EC1E copy,,EBCC +coverage,,EC2E credit-card,,EAC9 dash,,EACC dashboard,,EACD @@ -120,10 +128,13 @@ device-mobile,,EADB diff-added,,EADC diff-ignored,,EADD diff-modified,,EADE +diff-multiple,,EC23 diff-removed,,EADF diff-renamed,,EAE0 +diff-single,,EC22 diff,,EAE1 discard,,EAE2 +edit-session,,EC36 edit,,EA73 editor-layout,,EAE3 ellipsis,,EA7C @@ -157,11 +168,13 @@ folder-active,,EAF6 folder-library,,EBDF folder-opened,,EAF7 folder,,EA83 +game,,EC17 gear,,EAF8 gift,,EAF9 gist-secret,,EAFA git-commit,,EAFC git-compare,,EAFD +git-fetch,,F101 git-merge,,EAFE git-pull-request-closed,,EBDA git-pull-request-create,,EBBC @@ -169,12 +182,18 @@ git-pull-request-draft,,EBDB git-pull-request-go-to-changes,,EC0B git-pull-request-new-changes,,EC0C git-pull-request,,EA64 +git-stash-apply,,EC27 +git-stash-pop,,EC28 +git-stash,,EC26 github-action,,EAFF github-alt,,EB00 github-inverted,,EBA1 +github-project,,EC2F github,,EA84 globe,,EB01 +go-to-editing-session,,EC35 go-to-file,,EA94 +go-to-search,,EC32 grabber,,EB02 graph-left,,EBAD graph-line,,EBE2 @@ -223,6 +242,7 @@ layout-statusbar,,EBF5 layout,,EBEB library,,EB9C lightbulb-autofix,,EB13 +lightbulb-sparkle,,EC1F lightbulb,,EA61 link-external,,EB14 link,,EB15 @@ -241,17 +261,22 @@ magnet,,EBAE mail-read,,EB1B mail,,EB1C map-filled,,EC06 +map-vertical-filled,,EC31 +map-vertical,,EC30 map,,EC05 markdown,,EB1D megaphone,,EB1E mention,,EB1F menu,,EB94 merge,,EBAB +mic-filled,,EC1C +mic,,EC12 milestone,,EB20 mirror,,EA69 mortar-board,,EB21 move,,EB22 multiple-windows,,EB23 +music,,EC1B mute,,EB24 new-file,,EA7F new-folder,,EA80 @@ -268,8 +293,10 @@ package,,EB29 paintcan,,EB2A pass-filled,,EBB3 pass,,EBA4 +percentage,,EC33 person-add,,EBCD person,,EA67 +piano,,EC1A pie-chart,,EBE4 pin,,EB2B pinned-dirty,,EBB2 @@ -282,6 +309,7 @@ preview,,EB2F primitive-square,,EA72 project,,EB30 pulse,,EB31 +python,,EC39 question,,EB32 quote,,EB33 radio-tower,,EB34 @@ -300,6 +328,7 @@ replace-all,,EB3C replace,,EB3D reply,,EA7D repo-clone,,EB3E +repo-fetch,,EC1D repo-force-push,,EB3F repo-forked,,EA63 repo-pull,,EB40 @@ -307,14 +336,17 @@ repo-push,,EB41 repo,,EA62 report,,EB42 request-changes,,EB43 +robot,,EC20 rocket,,EB44 root-folder-opened,,EB45 root-folder,,EB46 rss,,EB47 ruby,,EB48 run-above,,EBBD +run-all-coverage,,EC2D run-all,,EB9E run-below,,EBBE +run-coverage,,EC2C run-errors,,EBDE save-all,,EB49 save-as,,EB4A @@ -330,12 +362,15 @@ server-process,,EBA2 server,,EB50 settings-gear,,EB51 settings,,EB52 +share,,EC25 shield,,EB53 sign-in,,EA6F sign-out,,EA6E smiley,,EB54 +snake,,EC16 sort-precedence,,EB55 source-control,,EA68 +sparkle-filled,,EC21 sparkle,,EC10 split-horizontal,,EB56 split-vertical,,EB57 @@ -344,6 +379,7 @@ star-empty,,EA6A star-full,,EB59 star-half,,EB5A stop-circle,,EBA5 +surround-with,,EC24 symbol-array,,EA8A symbol-boolean,,EA8F symbol-class,,EB5B @@ -386,7 +422,9 @@ terminal-ubuntu,,EBC9 terminal,,EA85 text-size,,EB69 three-bars,,EB6A +thumbsdown-filled,,EC13 thumbsdown,,EB6B +thumbsup-filled,,EC14 thumbsup,,EB6C tools,,EB6D trash,,EA81 @@ -412,6 +450,9 @@ vm-connect,,EBA9 vm-outline,,EB7A vm-running,,EB7B vm,,EA7A +vr,,EC18 +vscode-insiders,,EC2A +vscode,,EC29 wand,,EBCF warning,,EA6C watch,,EB7C diff --git a/packages/themes/assets/codicons/codicon.html b/packages/themes/assets/codicons/codicon.html index 609529d134..d883dd2483 100644 --- a/packages/themes/assets/codicons/codicon.html +++ b/packages/themes/assets/codicons/codicon.html @@ -297,6 +297,14 @@

codicon

arrow-up
+
+ + + +
+ attach + +
@@ -529,6 +537,14 @@

codicon

chevron-up
+
+ + + +
+ chip + +
@@ -681,6 +697,22 @@

codicon

cloud
+
+ + + +
+ code-oss + +
+
+ + + +
+ code-review + +
@@ -689,6 +721,14 @@

codicon

code
+
+ + + +
+ coffee + +
@@ -769,6 +809,22 @@

codicon

compass
+
+ + + +
+ copilot-warning + +
+
+ + + +
+ copilot + +
@@ -777,6 +833,14 @@

codicon

copy
+
+ + + +
+ coverage + +
@@ -1121,6 +1185,14 @@

codicon

diff-modified
+
+ + + +
+ diff-multiple + +
@@ -1137,6 +1209,14 @@

codicon

diff-renamed
+
+ + + +
+ diff-single + +
@@ -1153,6 +1233,14 @@

codicon

discard
+
+ + + +
+ edit-session + +
@@ -1417,6 +1505,14 @@

codicon

folder
+
+ + + +
+ game + +
@@ -1465,6 +1561,14 @@

codicon

git-compare
+
+ + + +
+ git-fetch + +
@@ -1521,6 +1625,30 @@

codicon

git-pull-request
+
+ + + +
+ git-stash-apply + +
+
+ + + +
+ git-stash-pop + +
+
+ + + +
+ git-stash + +
@@ -1545,6 +1673,14 @@

codicon

github-inverted
+
+ + + +
+ github-project + +
@@ -1561,6 +1697,14 @@

codicon

globe
+
+ + + +
+ go-to-editing-session + +
@@ -1569,6 +1713,14 @@

codicon

go-to-file
+
+ + + +
+ go-to-search + +
@@ -1953,6 +2105,14 @@

codicon

lightbulb-autofix
+
+ + + +
+ lightbulb-sparkle + +
@@ -2097,6 +2257,22 @@

codicon

map-filled
+
+ + + +
+ map-vertical-filled + +
+
+ + + +
+ map-vertical + +
@@ -2145,6 +2321,22 @@

codicon

merge
+
+ + + +
+ mic-filled + +
+
+ + + +
+ mic + +
@@ -2185,6 +2377,14 @@

codicon

multiple-windows
+
+ + + +
+ music + +
@@ -2313,6 +2513,14 @@

codicon

pass
+
+ + + +
+ percentage + +
@@ -2329,6 +2537,14 @@

codicon

person
+
+ + + +
+ piano + +
@@ -2425,6 +2641,14 @@

codicon

pulse
+
+ + + +
+ python + +
@@ -2569,6 +2793,14 @@

codicon

repo-clone
+
+ + + +
+ repo-fetch + +
@@ -2625,6 +2857,14 @@

codicon

request-changes
+
+ + + +
+ robot + +
@@ -2673,6 +2913,14 @@

codicon

run-above
+
+ + + +
+ run-all-coverage + +
@@ -2689,6 +2937,14 @@

codicon

run-below
+
+ + + +
+ run-coverage + +
@@ -2809,6 +3065,14 @@

codicon

settings
+
+ + + +
+ share + +
@@ -2841,6 +3105,14 @@

codicon

smiley
+
+ + + +
+ snake + +
@@ -2857,6 +3129,14 @@

codicon

source-control
+
+ + + +
+ sparkle-filled + +
@@ -2921,6 +3201,14 @@

codicon

stop-circle
+
+ + + +
+ surround-with + +
@@ -3257,6 +3545,14 @@

codicon

three-bars
+
+ + + +
+ thumbsdown-filled + +
@@ -3265,6 +3561,14 @@

codicon

thumbsdown
+
+ + + +
+ thumbsup-filled + +
@@ -3465,6 +3769,30 @@

codicon

vm
+
+ + + +
+ vr + +
+
+ + + +
+ vscode-insiders + +
+
+ + + +
+ vscode + +
diff --git a/packages/themes/assets/codicons/codicon.svg b/packages/themes/assets/codicons/codicon.svg index 7f1b6ec25a..141bbdd3ae 100644 --- a/packages/themes/assets/codicons/codicon.svg +++ b/packages/themes/assets/codicons/codicon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/themes/assets/codicons/codicon.ttf b/packages/themes/assets/codicons/codicon.ttf index ea2309d11d3390a5cf2f8dac873808182dffc666..4a4d15cc2df09d0928d922b25be0135d064cd68b 100644 GIT binary patch delta 16695 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 O1ys4e`}%zT_WuB?%(STh delta 9059 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