From 09671c76513bafcc2a16e51f93e509507555a473 Mon Sep 17 00:00:00 2001 From: hurui <177768073@qq.com> Date: Fri, 12 Apr 2024 15:51:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .angular/cache/17.0.7/high-web/.tsbuildinfo | 2 +- .../cache/17.0.7/vite/deps/_metadata.json | 188 +- .../cache/17.0.7/vite/deps/chunk-2CQTWQUI.js | 720 - .../17.0.7/vite/deps/chunk-2CQTWQUI.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-55A2ZGND.js | 116 - .../17.0.7/vite/deps/chunk-55A2ZGND.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js | 791 - .../17.0.7/vite/deps/chunk-5MZJ5XYV.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-6RXUTAFR.js | 309 - .../17.0.7/vite/deps/chunk-6RXUTAFR.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-6U656R5M.js | 4992 ------ .../17.0.7/vite/deps/chunk-6U656R5M.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-D5ODNR6D.js | 574 - .../17.0.7/vite/deps/chunk-D5ODNR6D.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-E6XJDY45.js | 2373 --- .../17.0.7/vite/deps/chunk-E6XJDY45.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-FGZVIKKA.js | 191 - .../17.0.7/vite/deps/chunk-FGZVIKKA.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-KMGBCF4T.js | 760 - .../17.0.7/vite/deps/chunk-KMGBCF4T.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-M5GY4FCO.js | 275 - .../17.0.7/vite/deps/chunk-M5GY4FCO.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-QP2OUFNR.js | 430 - .../17.0.7/vite/deps/chunk-QP2OUFNR.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-T745QDCV.js | 14666 ---------------- .../17.0.7/vite/deps/chunk-T745QDCV.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-VWMHIMW7.js | 1376 -- .../17.0.7/vite/deps/chunk-VWMHIMW7.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-WB57DPWD.js | 233 - .../17.0.7/vite/deps/chunk-WB57DPWD.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-WKTPWT5U.js | 1928 -- .../17.0.7/vite/deps/chunk-WKTPWT5U.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-XAGDQPFO.js | 213 - .../17.0.7/vite/deps/chunk-XAGDQPFO.js.map | 7 - .../cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js | 1225 -- .../17.0.7/vite/deps/chunk-ZHMJ6SNN.js.map | 7 - .../vite/deps/ng-zorro-antd_breadcrumb.js | 30 +- .../17.0.7/vite/deps/ng-zorro-antd_button.js | 8 +- .../vite/deps/ng-zorro-antd_carousel.js | 18 +- .../vite/deps/ng-zorro-antd_checkbox.js | 18 +- .../17.0.7/vite/deps/ng-zorro-antd_drawer.js | 1073 -- .../vite/deps/ng-zorro-antd_drawer.js.map | 7 - .../17.0.7/vite/deps/ng-zorro-antd_form.js | 50 +- .../17.0.7/vite/deps/ng-zorro-antd_grid.js | 8 +- .../17.0.7/vite/deps/ng-zorro-antd_i18n.js | 4 +- .../17.0.7/vite/deps/ng-zorro-antd_icon.js | 6 +- .../17.0.7/vite/deps/ng-zorro-antd_input.js | 30 +- .../17.0.7/vite/deps/ng-zorro-antd_layout.js | 30 +- .../17.0.7/vite/deps/ng-zorro-antd_menu.js | 20 +- .../17.0.7/vite/deps/ng-zorro-antd_message.js | 24 +- .../17.0.7/vite/deps/ng-zorro-antd_slider.js | 24 +- .../17.0.7/vite/deps/ng-zorro-antd_tabs.js | 44 +- .gitignore | 2 +- src/app/app.routes.ts | 5 + src/app/pages/body/index/index.component.html | 62 +- src/app/pages/body/index/index.component.ts | 32 +- src/app/pages/body/menu/menu.module.ts | 12 + src/app/pages/body/tab/tab.component.html | 4 +- src/app/pages/body/tab/tab.component.ts | 9 +- .../pages/index/index/index.component.html | 2 +- src/app/pages/menu/menu.component.html | 1 - src/app/pages/menu/menu.component.spec.ts | 23 - src/app/pages/menu/menu.component.ts | 12 - src/app/pages/system/menu/menu.component.html | 26 + .../{ => system}/menu/menu.component.less | 0 src/app/pages/system/menu/menu.component.ts | 37 + src/app/pages/system/system.module.ts | 12 + src/app/pages/system/system.routes.ts | 6 + src/app/servies/menu/menu.service.ts | 49 + 69 files changed, 458 insertions(+), 32711 deletions(-) delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js delete mode 100644 .angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js.map delete mode 100644 .angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js delete mode 100644 .angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js.map create mode 100644 src/app/pages/body/menu/menu.module.ts delete mode 100644 src/app/pages/menu/menu.component.html delete mode 100644 src/app/pages/menu/menu.component.spec.ts delete mode 100644 src/app/pages/menu/menu.component.ts create mode 100644 src/app/pages/system/menu/menu.component.html rename src/app/pages/{ => system}/menu/menu.component.less (100%) create mode 100644 src/app/pages/system/menu/menu.component.ts create mode 100644 src/app/pages/system/system.module.ts create mode 100644 src/app/pages/system/system.routes.ts create mode 100644 src/app/servies/menu/menu.service.ts diff --git a/.angular/cache/17.0.7/high-web/.tsbuildinfo b/.angular/cache/17.0.7/high-web/.tsbuildinfo index 0ffe1b1..7e1d183 100644 --- a/.angular/cache/17.0.7/high-web/.tsbuildinfo +++ b/.angular/cache/17.0.7/high-web/.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/tslib/tslib.d.ts","../../../../src/main.ngtypecheck.ts","../../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../../node_modules/rxjs/dist/types/index.d.ts","../../../../node_modules/@angular/core/primitives/signals/index.d.ts","../../../../node_modules/@angular/core/index.d.ts","../../../../node_modules/@angular/common/index.d.ts","../../../../node_modules/@angular/common/http/index.d.ts","../../../../node_modules/@angular/platform-browser/index.d.ts","../../../../src/app/app.config.ngtypecheck.ts","../../../../node_modules/@angular/router/index.d.ts","../../../../src/app/app.routes.ngtypecheck.ts","../../../../node_modules/@angular/cdk/bidi/index.d.ts","../../../../node_modules/@angular/cdk/platform/index.d.ts","../../../../node_modules/@angular/cdk/layout/index.d.ts","../../../../node_modules/ng-zorro-antd/core/services/resize.d.ts","../../../../node_modules/ng-zorro-antd/core/types/any.d.ts","../../../../node_modules/ng-zorro-antd/core/types/common-wrap.d.ts","../../../../node_modules/ng-zorro-antd/core/types/direction.d.ts","../../../../node_modules/ng-zorro-antd/core/types/indexable.d.ts","../../../../node_modules/ng-zorro-antd/core/types/ng-class.d.ts","../../../../node_modules/ng-zorro-antd/core/types/size.d.ts","../../../../node_modules/ng-zorro-antd/core/types/template.d.ts","../../../../node_modules/ng-zorro-antd/core/types/shape.d.ts","../../../../node_modules/ng-zorro-antd/core/types/compare-with.d.ts","../../../../node_modules/ng-zorro-antd/core/types/control-value-accessor.d.ts","../../../../node_modules/ng-zorro-antd/core/types/convert-input.d.ts","../../../../node_modules/ng-zorro-antd/core/types/input-observable.d.ts","../../../../node_modules/ng-zorro-antd/core/types/type.d.ts","../../../../node_modules/ng-zorro-antd/core/types/status.d.ts","../../../../node_modules/ng-zorro-antd/core/types/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/types/index.d.ts","../../../../node_modules/ng-zorro-antd/core/services/singleton.d.ts","../../../../node_modules/ng-zorro-antd/core/services/drag.d.ts","../../../../node_modules/ng-zorro-antd/core/services/scroll.d.ts","../../../../node_modules/ng-zorro-antd/core/services/breakpoint.d.ts","../../../../node_modules/ng-zorro-antd/core/services/destroy.d.ts","../../../../node_modules/ng-zorro-antd/core/services/image-preload.d.ts","../../../../node_modules/ng-zorro-antd/core/services/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/services/index.d.ts","../../../../node_modules/ng-zorro-antd/grid/row.directive.d.ts","../../../../node_modules/ng-zorro-antd/grid/col.directive.d.ts","../../../../node_modules/ng-zorro-antd/grid/grid.module.d.ts","../../../../node_modules/ng-zorro-antd/grid/public-api.d.ts","../../../../node_modules/ng-zorro-antd/grid/index.d.ts","../../../../node_modules/@ant-design/icons-angular/types.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.service.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.directive.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.module.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.error.d.ts","../../../../node_modules/@ant-design/icons-angular/utils.d.ts","../../../../node_modules/@ant-design/icons-angular/manifest.d.ts","../../../../node_modules/@ant-design/icons-angular/public_api.d.ts","../../../../node_modules/@ant-design/icons-angular/index.d.ts","../../../../node_modules/ng-zorro-antd/core/config/config.d.ts","../../../../node_modules/ng-zorro-antd/core/config/config.service.d.ts","../../../../node_modules/ng-zorro-antd/core/config/css-variables.d.ts","../../../../node_modules/ng-zorro-antd/core/config/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/config/index.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.service.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.directive.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.module.d.ts","../../../../node_modules/ng-zorro-antd/icon/icons.d.ts","../../../../node_modules/ng-zorro-antd/icon/public-api.d.ts","../../../../node_modules/ng-zorro-antd/icon/index.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.types.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.service.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu.service.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-item.component.d.ts","../../../../node_modules/@angular/cdk/collections/index.d.ts","../../../../node_modules/@angular/cdk/coercion/index.d.ts","../../../../node_modules/@angular/cdk/scrolling/index.d.ts","../../../../node_modules/@angular/cdk/portal/index.d.ts","../../../../node_modules/@angular/cdk/overlay/index.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/nz-no-animation.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/nz-no-animation.module.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/index.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/nz-connected-overlay.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/nz-overlay.module.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/overlay-position.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/index.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.directive.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-group.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-divider.directive.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-title.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-inline-child.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-non-inline-child.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.module.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.token.d.ts","../../../../node_modules/ng-zorro-antd/menu/public-api.d.ts","../../../../node_modules/ng-zorro-antd/menu/index.d.ts","../../../../src/app/pages/body/index/index.component.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/layout/content.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/footer.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/header.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/sider.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/layout.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/sider-trigger.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/layout.module.d.ts","../../../../node_modules/ng-zorro-antd/layout/public-api.d.ts","../../../../node_modules/ng-zorro-antd/layout/index.d.ts","../../../../node_modules/@angular/animations/index.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-menu.component.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown.directive.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-a.directive.d.ts","../../../../node_modules/ng-zorro-antd/button/button.component.d.ts","../../../../node_modules/ng-zorro-antd/button/button-group.component.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/transition-patch.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/transition-patch.module.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/index.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave-renderer.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave.module.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/index.d.ts","../../../../node_modules/ng-zorro-antd/button/button.module.d.ts","../../../../node_modules/ng-zorro-antd/button/public-api.d.ts","../../../../node_modules/ng-zorro-antd/button/index.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-button.directive.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/context-menu.service.module.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown.module.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/context-menu.service.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/public-api.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/index.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb-item.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb-separator.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.module.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/public-api.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/index.d.ts","../../../../src/app/data/menu/menu.namespace.ngtypecheck.ts","../../../../src/app/data/menu/menu.namespace.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-add-button.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/interfaces.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabs-ink-bar.directive.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.service.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.directive.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.module.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/public-api.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/index.d.ts","../../../../node_modules/@angular/cdk/observers/index.d.ts","../../../../node_modules/@angular/cdk/a11y/index.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-link.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-item.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-operation.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-bar.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-body.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-scroll-list.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-close-button.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabset.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabs.module.d.ts","../../../../node_modules/ng-zorro-antd/tabs/public-api.d.ts","../../../../node_modules/ng-zorro-antd/tabs/index.d.ts","../../../../src/app/pages/body/tab/tab.component.ngtypecheck.ts","../../../../src/app/pages/body/tab/tab.component.ts","../../../../src/app/pages/body/index/index.component.ts","../../../../src/app/utils/initguard.service.ngtypecheck.ts","../../../../src/app/data/login/localstorage.namespace.ngtypecheck.ts","../../../../src/app/data/login/localstorage.namespace.ts","../../../../src/app/utils/localstorage.service.ngtypecheck.ts","../../../../src/app/utils/localstorage.service.ts","../../../../src/app/utils/initguard.service.ts","../../../../src/app/pages/login/login.routes.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel-content.directive.d.ts","../../../../node_modules/ng-zorro-antd/carousel/typings.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/base-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel.component.d.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel.module.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/opacity-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/transform-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/experimental/transform-no-loop-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/experimental/flip-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/public-api.d.ts","../../../../node_modules/ng-zorro-antd/carousel/index.d.ts","../../../../node_modules/@angular/forms/index.d.ts","../../../../node_modules/ng-zorro-antd/form/form.directive.d.ts","../../../../node_modules/ng-zorro-antd/form/form-item.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-label.component.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-status.service.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-no-status.service.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-item-feedback-icon.component.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-patch.module.d.ts","../../../../node_modules/ng-zorro-antd/core/form/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/form/index.d.ts","../../../../node_modules/date-fns/typings.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.interface.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.service.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.pipe.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.module.d.ts","../../../../node_modules/ng-zorro-antd/core/time/candy-date.d.ts","../../../../node_modules/ng-zorro-antd/core/time/time.d.ts","../../../../node_modules/ng-zorro-antd/core/time/time-parser.d.ts","../../../../node_modules/ng-zorro-antd/core/time/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/time/index.d.ts","../../../../node_modules/ng-zorro-antd/i18n/date-config.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.token.d.ts","../../../../node_modules/ng-zorro-antd/i18n/date-helper.service.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ar_eg.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/az_az.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/bg_bg.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/bn_bd.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/by_by.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ca_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/cs_cz.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/da_dk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/de_de.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/el_gr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/en_gb.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/en_us.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/es_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/et_ee.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fa_ir.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fi_fi.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_be.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_ca.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_fr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ga_ie.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/gl_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/he_il.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hi_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hr_hr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hu_hu.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hy_am.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/id_id.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/is_is.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/it_it.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ja_jp.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ka_ge.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/km_kh.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kk_kz.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kmr_iq.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kn_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ko_kr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ku_iq.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/lt_lt.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/lv_lv.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/mk_mk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ml_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/mn_mn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ms_my.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nb_no.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ne_np.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nl_be.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nl_nl.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pl_pl.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pt_br.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pt_pt.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ro_ro.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ru_ru.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sk_sk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sl_si.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sr_rs.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sv_se.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ta_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/th_th.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/tr_tr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/uk_ua.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ur_pk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/vi_vn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_cn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_hk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_tw.d.ts","../../../../node_modules/ng-zorro-antd/i18n/public-api.d.ts","../../../../node_modules/ng-zorro-antd/i18n/index.d.ts","../../../../node_modules/ng-zorro-antd/form/form-control.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-text.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-split.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form.module.d.ts","../../../../node_modules/ng-zorro-antd/form/public-api.d.ts","../../../../node_modules/ng-zorro-antd/form/index.d.ts","../../../../node_modules/ng-zorro-antd/input/input.directive.d.ts","../../../../node_modules/ng-zorro-antd/input/input-group.component.d.ts","../../../../node_modules/ng-zorro-antd/input/textarea-count.component.d.ts","../../../../node_modules/ng-zorro-antd/input/autosize.directive.d.ts","../../../../node_modules/ng-zorro-antd/input/input-group-slot.component.d.ts","../../../../node_modules/ng-zorro-antd/input/input.module.d.ts","../../../../node_modules/ng-zorro-antd/input/public-api.d.ts","../../../../node_modules/ng-zorro-antd/input/index.d.ts","../../../../node_modules/ng-zorro-antd/core/color/color.d.ts","../../../../node_modules/ng-zorro-antd/core/color/generate.d.ts","../../../../node_modules/ng-zorro-antd/core/color/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/color/index.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/base.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/tooltip.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/tooltip.module.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/public-api.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/index.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.service.d.ts","../../../../node_modules/ng-zorro-antd/slider/typings.d.ts","../../../../node_modules/ng-zorro-antd/slider/handle.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/track.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/step.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/marks.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.module.d.ts","../../../../node_modules/ng-zorro-antd/slider/public-api.d.ts","../../../../node_modules/ng-zorro-antd/slider/index.d.ts","../../../../src/app/pages/login/login/login.component.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox-wrapper.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox-group.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox.module.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/public-api.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/index.d.ts","../../../../src/app/data/login/login.namespace.ngtypecheck.ts","../../../../src/app/data/login/login.namespace.ts","../../../../src/app/utils/mathutils.service.ngtypecheck.ts","../../../../src/app/utils/mathutils.service.ts","../../../../node_modules/ng-zorro-antd/message/typings.d.ts","../../../../node_modules/ng-zorro-antd/message/base.d.ts","../../../../node_modules/ng-zorro-antd/message/message-container.component.d.ts","../../../../node_modules/ng-zorro-antd/message/message.component.d.ts","../../../../node_modules/ng-zorro-antd/message/message.module.d.ts","../../../../node_modules/ng-zorro-antd/message/message.service.d.ts","../../../../node_modules/ng-zorro-antd/message/public-api.d.ts","../../../../node_modules/ng-zorro-antd/message/index.d.ts","../../../../src/app/servies/login/login.service.ngtypecheck.ts","../../../../src/environments/environment.ngtypecheck.ts","../../../../src/environments/environment.ts","../../../../src/app/servies/login/login.service.ts","../../../../src/app/pages/login/login/login.component.ts","../../../../src/app/pages/login/login.routes.ts","../../../../src/app/pages/index/index.routes.ngtypecheck.ts","../../../../src/app/pages/index/index/index.component.ngtypecheck.ts","../../../../src/app/pages/index/index/index.component.ts","../../../../src/app/pages/index/index.routes.ts","../../../../src/app/app.routes.ts","../../../../node_modules/@angular/common/locales/zh.d.ts","../../../../node_modules/@angular/animations/browser/index.d.ts","../../../../node_modules/@angular/platform-browser/animations/index.d.ts","../../../../src/app/app.config.ts","../../../../src/app/app.component.ngtypecheck.ts","../../../../src/app/app.component.ts","../../../../src/main.ts","../../../../src/main.server.ngtypecheck.ts","../../../../src/app/app.config.server.ngtypecheck.ts","../../../../node_modules/@angular/platform-server/index.d.ts","../../../../src/app/app.config.server.ts","../../../../src/main.server.ts","../../../../server.ngtypecheck.ts","../../../../node_modules/@angular/ssr/index.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/buffer/index.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/file.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/filereader.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/mime/index.d.ts","../../../../node_modules/@types/send/index.d.ts","../../../../node_modules/@types/qs/index.d.ts","../../../../node_modules/@types/range-parser/index.d.ts","../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../node_modules/@types/http-errors/index.d.ts","../../../../node_modules/@types/serve-static/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/body-parser/index.d.ts","../../../../node_modules/@types/express/index.d.ts","../../../../server.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","2a25d0b3b0c0d5aa9a70635ee33a96f7e0bec5801386954c30680895b214c933","140500c8700a92c38e83d4fd45ac8286a253196956eec51421972e545a4ebb98","071bb591c12282944182a8f6deb88db0e40cbac7865440d884ffcbd2c22a71e1","a13adf241eff1ea22356848130ec6f1a50ca1ec1261a8c16d9cb8e395316462a","2e04efd4f8cf3f3e7feb461b3c43152de857800f52ec0b0abfc23e3f505e5781","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","40108ecf79f6e648c451725e01a462ee234a5e90d40430b14744728a334042bc","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","f9b8fedff6c1b0e53221b7890999346cf22f3ffe5fae4e94438530e8e131f5ac","2a7e6241c05770b21ac324f8d6162f53d54f2278cc532a90d21ad7f3c9d6d5f2","1401c9b5b14a8ed7c26f0a504904e1e14bd98b6cbfa4789b0c58eb4ed3e0c799","cccbd41eadd9eb95b06ae129f9fdc2bd97af2fb74edaa4d0feb608488ae0b358","7f8d4c66991cc8beabba3f6cd41c95a083be5f26216ec602b9d0dc7041e04e52","6b443897b39aa381a121d5ed377dc116a6bfc00bcedd069c1406a813dcb4252b","79df8ad48f1e6dfc725f12370cbef8368dd0270bc5c509b2d2100eb62bd32d92","3eac1a527c1a699a01c80aefc247faab8f6fc57b8a18c5dbb50fe7ac9b40de3f","5efc06564f1cf26ef2368c78efdcff70bc62bca08318b02323e2a8b08aa0f608","c62dd22be9abc5c964da33d130b00c4161d7701b8061120b0bd0acf523c42bbd","35aab9cfabc7fad736427e2ed3876257d20cb0826a6c5772401f70b624490d73","5bd166ebcd6c1cb758e70b1866ada6ec23fcaef8633107563ed3ebf95608a2dd","ab470f41a5c3d537b6fc6dd97824ea42f19df285dd2730e22a03f4140eb6a7b9","bb5748a92eed1968ba874b09fe4443a862bf83dd4454aa413a82a6bddf1a629c","e467429b5d588a6cdcb76587d8538ff1e88c6a574c7855029b99e9faa81502a7","b1e513cfe8a71d242ebdca2b04edb7c33624a5e46e3f72c7387478537144ff3b","2ce9f335f847338d25e74b6a800dfa460d1c02959f9d837052e7d47d0396c1ae","a2ec3c64e012294320eca1e860a234abc98f891a25cef5b92d8240601b89ae9b","a4f0485fd9c6133d2cf6574b70288ea49f4544d8fe6da2e367e0702b030c4fc4","ba5e4c01dfcd9c3e1a84ada9a6f9547ebfcd9bf76fc1e0f8250aa63112d410b5","829ccc49b6d32f39fef37a4f3cd964df11439719cfd05a633479bbd4a8116227","4100aee047b0ae7d2314abeba45180b11e396e2b77839c8a701776924ab748b1","9de4f0200c0a6648bfd081cd08b13039f8a89296943ef689ff708bb85d348b1c","f4bbdd4ab3199fc9ce2589211af7b6fd4ed6cebf0088599a6fecc4d11f6a9136","bcd04a5a0a86e67dda69b13b12ce66132863f9730de3a26b292729272367541f","2d86a6efd9a3924bd088c2e14a38bb584c2afd1833ddfb45e9a4a711869c4903","a11ba77c32b76a5d3bfbed16ed4bcdc321f3374e2a0f8e8ea5ed7704b5c3ba0a","3d21cfae4c52397c19fc6cb4decfc839e41532d00c6d4264b730e747022ab15e","6b67105ed49975c125f4472161bc996c19564b8eed07d67d762b0bd3a2cdba56","d85333b813aa0175226d8736c8320037fdf2f7f19afd1c553f9f05196116bf1c","3e7d04c9c7a4a8966226eed8fd1bd12462368914d2157460a06fd775dbefa0cd","5c445c08257e713b5bfe67eee956a5befe88be9a05b1534275e5265aca6eb896","82a1d9f11bbccdab1911e55017c45b723aa6c3a5c5da785f14ff9aa2def55514","3bd88eac730cafb5ee35b5ae13ded04c7821d949c34b5849238bd5c026311ebf","8dd98bf3983a25cdb076d31d5a6b4b18039d463e2c0e23b7307384c4edb5ead6","9c8cf5aa465386f10353efb80823dbed51e0d0196565f176c8111cc6026688b6","91e6bca66381ac9a853e5483050f7835d094fa0bfc0c5544d9b2519411b86706","57133d9d582a4f4fd436a33f0f42e682b1d39d69c5d9a5adad5d7e369c248b98","ef7990368a6a8c09ec4dabe518d15978718013846e6ca18523c2c283b9bc74ab","1fd6fea9b14ffa264260465cbb09991d42da07c6f95235e85bc1281d93e2ad08","fc8db740d2a63c970b913f2969f5ae4b8997deb46c337b8a11a81c03068360ea","9ca73f6ee630cecd2179636661e7b19094370b6851875dfcb6f80132f5c3a387","c60fbfe5d019ce9b911a4ccfcfa9e5229dc9fb1e67cb78495518b08490ac913d","f5e15285963a3485170f709701e8a0a867d637a0ba8ac75ba92a48b4b6c05afb","51cf45d64866a264925a9eeb41713bb427101c11f99e93defb3e72658c4af803","cbc60fb36a57868c4387e622948c3ada0b2953a9f1648e7178690ea37be380f6","b4e6ef7b866196bf46009551a7dd2b01300f95917f24d58d004eb72be6432553","a3dd80e71a8239407f2d906d1d838f45db15a1e433142334b1616fb1f74afdbf","fad4dab531c4e5c79f783f2d59aa4c695a9142be27c451462481f6531b7aaa4b","2e7768cb0e8204575fa0f1488d3d31ac95f2d5e920838c1df16fd34149807aff","c344ba0d586fb697b66bc665bd8d0b35e128b6baa5aca93a0b4c55a6fc9bd210","c2641084cb01af256e9c17fadf95749e6999d1a51259aa543111ce18d2ce133d","62f01f1e1ec4144979d99b918d3cbe443d14b4d8fe6d390e1e44549e9a217489","0c9d432c1c1c69cbdfc63f578b5a6bcd3a06c5be803c26a4b297b57f1da2312e","eec0fd4c7832b9d121698c7ee244bc98cd197a6ee42534d486cd9574eee40a0b","7ecea4c9a6cdd58e40a1f256acfd5a5c4b00e5adf7310f71a660bb2c4d1f7c23","cafa24b3e301a16117e5494de3505a8827c40849fe921b1f75a11f79eeb74ae3","ef32a2c8f06426f20a08d801238e167e9155a8341d1177a7446077be50c8a63e","ddf66648b065311cbc226d6585caa14b37f461698d525857aff60c988b66a6c9","c7e95e3e3988837ae5dc96a6f8b1360de33aaffe12be966418a7e00c8fc7f6c9","7172d4edfc661bc427a1b0f16cfd0261f5255a5a96f3c5add90eca4cf5c4eb1a","93b9f9aac69e01179892697a9d7dd1582f68582ddccc31e94d2c87f063fc700a","9982b7049712023c649e877e6812e2e06ed9249296f2a2d3b51d917f244be4c4","0b8f8981fa81638ca5a3d10174cfc199038b168cb3e7ac4548803f96a0d39d82","516160edba90fe695dabece2f2061b1f4410e1918e9e7d0d57c61c9ffafb3a5e","395981256c3a1af362058fe97f7195d44ec3443260b96766649e6f4d85513b42","6a26538b86e3044028bd01bba54f4efc5c62a7595f96191834513f506109df74","a6c6c2e81efb6c03547bcbe8b09b2a94f0f7f5ec3234cc2123bebe7487749c83","bdec7c3a64765eaace37f2dbf32944f26cec6a8cee4d5b77ae4d07c90e6fc970","d537ee66e2554c96c63ce60caf28076a7478bb34cdd8f88809abeca7931862c0","91252869322804ff931952f9a4c12301681f0728ffc2e574d7c858d04fb54a6d","86de9d676578eb21786318470077f0764a0d2669b032bcf463397142a1c9a163","0aa40ede23b85ee78889e97ae8fec583dafa733b32d269d5928911f62600219c","50a28aa624aba5300de078cee97311cd1da1bd2a9f936493c423e34b96dd9a0c","a9db178b3a5707bd21d051cb626988b29b61baa60d212d4d0fe90b62c7d58716","7ecf0b80eded1937eecbddb36f20cb2d7144fd430d5b1d25a1855207a0fcd381","c88ded4dc1952ec6f5f56b398dff49eb07b8a2838cbe5f0e9cc7553d74236685","845a152b65ac30d47142fbbfa19c73c7d849a0a9232b01589ca847cb96d74c16","28ff71809d8e0194822b92fcaffc2a4f22e56603e0e5fcd6f286fc5b2398c1b0","0d8fad4fc16a5a0f5568e4ff597e5c9556fe2a1c942d6bb84fa8dc228f9bfe14","868be3b56c220bf33cbd7fceee7818aec5d4bc2e0e49a382ea1a53497c4933db","fda33341c6373ec91c0c4b1ab8af633cf7da2a9848aa797997ec2351285e5178",{"version":"ffed33e0ea42887ea82d6cef263b736da8e4994b1bc3c7354ceeeecd75d51743","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"47f84f10b9c759f75c0a9ecf8f367baf4995c4fe018228391cb65e689ba46cf0","9294e09a3396e7adb3470248873caec3de1d771bf2d233fa5bab1b150870a6fa","c28b8ec18d8fc89d4117d18c278a850de5a29cb3147195489709bdfa1474dc5c","4fb47e3c233f3597f6543977f8d2af03d350c0a6a3483176be2550606cf8202e","a9d0ff42c7dbf3edb3d2bfaf0ec9e6921f97f0a9de070852a985fedfa35e48f7","42453b0f1789cd76ab9b9fed3ad6acedf70ba10c7d0dc6c40cb95951db618d6b","a845229f3a271bc00e95882a44e74f2dda5551e399bbbc066d6ef508eed99916","06ea97d41486ec229c47a5e16144e373e2fffd4a26181a987338ab13d189efb4","1c24693cb55fb0478c6b446ed9d5ba4e076139601a84fc16717987b974077b44","91514ad47ab59e654f4a71943fc6ddf477b06f821fc04ff698e7340ecaedbac1","35653f4b93ee91e2220f372f6bdb446759e0806df2c2948f3e718424161a688c","9c2db9c634f77374074ba35536c510d7abee72b748c6f584254acecc3d9a06b5","fd2b097c9361b5a9910b56e0805a38ef62cb09af726fcc0002b7a993b7838f22","6f42db9e79ef2f8f75b792eebb389950497a58cfe1932acd09b09bd256acdf58","3ac44a422e919afdc3e21a9b4d626673172e18b76b97f730f8d4c0bfa6411565","a433c2f564a3c941eb05cbc41caf7c0d55c0d3c4a86d3e6db793a83dd4ac1599","af62115326b735db1b0ffaceda6fda2e1dcbbb14c5d752a99323d4a65b8a4198","aa5faf80aa97adbf6767faf1c28df7ac42aaaa8ca1066d7e03bc64a1cdb0056e","ca0fc466697d8a2252e0f721b1a88fd165fddd73497c1859491035aa61a0cebd","6f1c5a6ae31084488f48fc78f8acdc9f17b0833004102a9e1c8ad405335a2777","7b04f9659dceea386d3e7a71417a88636cbf7942b0cf313a973db9e79fd4011d","a60d106fc617d5a4ef1d784b430847d270ea334fe2531ae2a4c06c6cc15cb614","d2d9657fb39bca36caecb3d9d08e8197cbf639e6e33b661131fd656f3ea15b1c","e3a60f48af0a29cfc9238f1e2a8fa21624f1c8f80150814c2f6489934dd9c889","b4e723b6cebfdab805a6d63f9127cdc8d6c310993ea2503523247095f973d4ec","7f5b3c5d1485d10d9f6bb1e48b6467331688d23a7fbc4257664a78e971cf9985","60ca9978647761b3c40c18068a1aaa8cd477899dc92df68b4f2e1e92c4d9b8e1","1e218fb115c7f697af3fd2b276ffc101ead9cbff02a69779123c24afc6b8cf9d","c54217bffbff1434b1f05c0abd161e315f2cca16ceb2274077348a789f914f67","b6f843360b25e775baaca51ea2a574fa18fd59294998925ea720fa95b44134c9","503408eaf5058213cba791a6b7d06b66aa5538872131316283335e0afa90f8c6","31781da84adf99ff7412d91c3b592854f4c13685bbc85f781fbd5bb08bf8cb0c","75aafd13ea88e55ac6bbe55813ba03ecaa31b0d7d8128f3959108cb4f91c1ea5","89b2af233f8878bf95ecb8557b39d18ca821c6aca5273044a1d9496a4aa1ec33","a31dc99e8a4fa673b3e4251c6e5d741572af7936dca59978eba45817114f23c5","fe2e77e59c5bdb8fc8ba9823d21b3b21960a5702dca86e82c097065860f14b25","5634484f094491a24dfa775e2be5d6304b4517fbc54065e7ae4e6589b9f46563","d18160b08927fbc0370511df6bf3c6147fb472a8c2638f82096ba4b92aee8103","d75b6926bb6986e3319419943ae6660d487f483a8995aa1489a47046a387cb0e","d301931e78a7bf83720b67937598beaf2fa1604b6dfeb24d256881ab439c717b",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"b9bca31471abd55f6bf648641a3267c7176ab0052de43ef614646284809c3990","signature":"8fff57dfffe7f0bddd41267bbbcb9034d0f836c7cdfbbe3d998dbda9851b7538"},"77461e08bea619444df98b1e404a4eee2320ff30e7db7e657db70a3c799ca1ae","b1b98a42f3f6de2b9661cb1dae8f6a3bc514533d11ba54efd531e09adcac5d6f","5e5e278a6c6fe064c0ff74094f13d09a9608b8ea49c8ad06b37b457e5c822f21","d4b09a3550aae362905da95d0120246ff166dd5fa63a0a5faa069761484efc1e","bda9470a90487aafeda418220fa98d8c58f2d0764d5f25f517dd8734ee9774dd","73e31e7ab4cf17f89c7c3f9118282b871ebf8c648205c2b684ce3c6b1ab8dd38","506ef97ba37c3153a83c53aa742b8bc271e295e68a7f7f3015db7770696a17a3","c7133873697db1e243d43b206b6ec01b961793bd94b0285ad1621565e10825eb","b5782eecab1e0c4dc090000bffe710cfe76649d3c4480eaa142ca8a8e5eafa24","e7d5b3fe910be641ad98b54072c90423a90d285108b1aa0fb440b27bb31bd0ed","eb698b0678be92d270fa5ca69c70c374e0c9b772493c1131a383113ca8816e41","a46345bb2e9bc9d4997808442d6b6000764bea01e82c5097b8d32bce1a29ad06","1795d21b51b716119ec2ab8358c6161f39f039b95489e2964331a0fb3fc2fb91","5c0280f649695c072e81977028ffdb862d696ae3e2a291457784ad65407dcf45","a80c0352e00303ff7024dc349b538b3be352e425ee7774e4c699379359fe0cfa","6fd3d7ca0eee74a1fdd80cbf29a1fc65d8d187e0b53c2478dc7a257fdea7ad14","c2e0b5c4fea9d7356c237f123c25def45a91460155e9bde4d2bf54b7bde6fef8","3e458159a6f8b1fdc6abfc84d64e922547b5c29a59e8bf1024848dcfa350eb01","4564829f496d3b88a825693afe441f4d64c342487e7b2b3e27cd81edd2865b6e","a565a3f0158a047840f6057866a28369791df2d3868389166db88d05cd73f0ad","664c4264d4ff2df0fcc2215e3b4ed49a1ad4991a60999c2025fbe0d81637c443","ec3ceccf5b3a0b7aa261fbe09fb4a88199f193de54c6578490e6f6c949e7b182","6df84c050f9b624825247c3a35b27b90005b40dd61ce395bba26b08a86da0173",{"version":"9b7d4e335757e73864bb8c12c4e41231313ddfc66016f6efbebc441adde9ed4d","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"3c2af37a741e9b008aca4862ee81849753f870ff3f43a1921e982f32970f7bcf","signature":"101e579eb19f10045cab5eb436804e03b315faa6a08c303017424f53e71d89d5"},{"version":"04e8a1111721e17c382d8cf08912558f0031500325c38d459ea6ed4ca35066ed","signature":"5e30cba15886757c7ef704ba5204a316e3fcf1077cf3391589a0abfb834548f3"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"1139f32dae7d552a6debc96d36389108606f8dabb4fb6c313d8f9ca0b0ebf96b","signature":"f347a3f9f9105a8c6a5e34d17ff8a2b28cef41c774b68f2e3e868312ab8428ba"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"4ee3bf01747944bde62be7db61a11a23575475f8e540cfcec24ce326da318948","signature":"22acfb60e12c9e194f5e66c2a7c2cc5bbaf83857aecb053b1cdd53efdbc8288e"},{"version":"69ce9796b121256de68180643d8f418b5551fc17c6e37be0a8615b2b73fb064a","signature":"877c71e6a7dc8bcb1ca727453f53cbca541a55562e3600f0f0de42d325a3212f"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"f9f3f98dca5ea378cce212d4cd89733ec2d976c6da66b4c75f33f5bc1093d2f6","30f1c7606e663da2fcbb7a040bff88a163812d2ad5e3895479e8470b58f07c0f","10140f9820b668e6bf65d747437068df02a9f6e994e55e4c6422259ecee084b3","4e36ea5aee2a66e82249367d813966b0916097cf9ea420349036c6fbef4146c0","495114c33cf472e7fb7d1a423b5fd75427fa82bfe6c2807a99ec373bed518d72","3a8751b6fd22b4dd21e04fd1a61512bcfe8a0600c33c6b091b0d95e814e7b177","d94a6011e6638c44150188268695489a332214b3835b3697ddbd78fb062d9dd0","4531c4e014df4d29708e55174bdf64520323dbb9254e2034b5b8f6e9490d97bf","573a6f2379b3f6d5e7fc36e691e34600ebb8ab0a6bd2682b96d9721b1a8059d1","15e2c5015d44a2b55df5eeba50dae228f404c7daf8910a50a8bfb159f63ab9e6","73c8b895ae734fc095273ed81f6e2ee2108c9268626bc9bc295ef72b3a1ce8ef","8639d3940e64e07c47579793f7c4add0422cc985e9f2cb0e9579f81f149504ae","e3cd075e7df0038318e173732a8d326f6cd040da92045a78af1140f9261f2568","d5499fb1feedc46b53f0e77c7201a24bcaba04a6bf9ce11bf0a2b96c32f10a68","85fd3e2ca5bd2381e08e45c370af340bf4308c9039a40d37cc250185f91eb330","6b136cfef6ac0e1cfde0ea2fd4d1c17c022c5b3d51592dccfb3b56353c2e6b1a","97babe2c3c84a74019559529a296f94a2d0e84356ffb837f2d3d653da6de1fbf","429349e6b779053c191cb29b12bae9f06d0970571fe47ead5d8ddc588f23818b","fda3da7aa15d73fa44ac99822f31bf4767a576db7c726291317d876e7846b937","36ee3b67458d308f7f75f8a8907e41b4a269de73c84c354935332af87797921d","b46e6db5aa43eabb567741d2dc92ca5eb9f0fc368357ebec02c42c8ebb4b14e3",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true},"f2d2d91de69fce66ae234019bf19498a996db213872fdc93b156d10eeff5a024","b3a98e8b67d802052c0ad867922743c87cda4c1fc53ae47faed880917f316022","0700aa0e353f816c408d4397cd77ef1509342588f45b65d9d3d616f421502f60","7f4f21af940c59c8f73d432c2a1c33084a861e9af63051ae0995d7bc36a87083","47db7253e3a5b0751035de3a5cb7781ab69885f82021ce5829aeacc9dc3f800f","5a22bf3611194a0d76884b3db71ed6ce1b187784cc6e82eb640f6f90615d2ac7","10a98655b5004f205d644bcdf76dab8fb3a24e9b4d16c6a662646c505d063ab5","e91c0d18807b1554682e1b6e1ab4b1163c2a7bd0e7bf0e1db95a5f370dc88521","12d55621010f9bbf7c3f350ce2ee65196e1868831f7e6cf72662f9c56ef3de6c","8834542917db95340d2f54a5da2cc4dafa2d6fea37d66707c9ba2c0fbd65ac56","1e38e79884cbd440fefc5af70b3d39e12cd9fb2e91bfb0c6d547b4347996e723","d68b8f1244eb6ad752dc795c9ce124bb50eddc2558179ae5610d100e7b5b814c","bfcecc03930b4a53ea87fe95683e4f1a6a0dde7381681ad48097c6ff76a54102","95b40beddb339052d70695b5d92bf6dab9a9c6217094328391901f57501de42b","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","28cac2e4cd57b4a5a21d52af678c33e0f4e59d7429678891a821f198db50a454","5e315f58156c203360b5925dc469f830a13d83655c42ade472aee07fef269de0","032b5f9e36a973da01d121491ad023656ba756854c9db6c0516e9c336fbb7862","7aa1161bc4ccec053b6c1e2b9e641fdabac7169779cf35fcd54d63212677c288","c5bcfb5b3606412b008f3babe6846b4927e369159916d3e31528882e25587b67","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","3435cec2d6928caab4a2c43ae290a72e34c89682a6a6887f8dff768529a2b8d7","b561cd703ca0b908c800355587c02e0c661156122530a5ca8f38a6f7ca76d9f1","7d09685dced16070e0092e5801dd6ea996ce76ac0df9852604982fcedb31becc","1303b3f08025ede7993a094b1e91e22bcb62758ca6e31a47ccdaed86de34453f","b561cd703ca0b908c800355587c02e0c661156122530a5ca8f38a6f7ca76d9f1","a2060daabf477596c79dd0ff40e7fffdd5f891b452335cf1e2b76e49e9801b49","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","87f0b178eb55e73830caaee7919ebf1268fb5c40fe47bce767cd2d7629a44717","d8cb69683211b609db45d7d446cf31ef4a9f30ecb1b4583ebfa42828cc613f8e","0d7ac69770bc84f7d1aed70a0f2d82206d149604b5ddf0cbf5ff392406f0f27a","a798d0d15869f63b9f383c5e1265e8d7b5e0f84181d62b0806072e53ad52d6e0","dfd7e342b20e0766f8752179f13d49f9c0f43c4cc1fed9954bdad782651ba902","3435cec2d6928caab4a2c43ae290a72e34c89682a6a6887f8dff768529a2b8d7","8cff76d263a287a10227241ee1fefa4ec5cdc7026d503b278837bb295c22568c","d0b951e00ba5730b4c31a83e50bcb8faf3945042309a92fa22d18b738cc8ad1c","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","b0ac49c3fc1ea98cc2e02e245de2bc98c0d80062e9fedca379d7704652661723","8620ca455bd084145a8cac4cfcc82fc89b6ddd23a604f4a67fa3ec0da71da315","c03f1378b65ff3b24845cb6d0c4ab5822dc828558dcb65433a0b2d45bcdc6cc8","f6241bdd3e97c582e867bdb0ad44787898e664f25372ba65da185e127fd3c09e","ad687590f999dacf925752b19aeeefee0da0eed59aaaf7aca093c68c2d70d031","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","78afeb65ace2d2c73d8a490e4862c414f8d7548fd8c3a2442e0acae7455f697d","fdbc67a48a8bdfda11eba5895a10c646b42df1ff36ac972bb68b8cd30fcf54d7","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","b8558f896e7b51cd5ec060a4414d192013520d0655a5c9afba5602e239b68cc4","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","fb724be8946142e90d685e6cc5685f4744f972a9a4f637297533d07dbbd9d6ce","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","81a0056c95c5894f04778e642403d61f190ff7a5287e3558e9481d59868e2c51","319376b531de69c15e647ebe15e4dc4cdb7576a28f4a81380f97f84d89e3be80","c7e26262caaf8fc70ac97ef41a37e50c98973704d62dd7f79f72ca80e6443c9b","7347450f058389e5cd0aeb7b4a205e8a225baee820b2ed28d5e8971793f2ee94","b39bb4b6ce62a15b986f85f9f75e111bfa1cc7059f8cfadd83094353be051408","6eca582f214127d5e70fb5c7d7a52ddaccbcd4990f1886b0d684518ea89807ab","31ada020d9a7668ff1899f1cbf31dacd65d5ca4cb731c74b5493a0f5dce271f5","f82984b8375de304eadcd43938f0b9967f993cff251e762fba49526d9b921d14","09898b8db1dfdfb0aea25a70adffff507671e643e4a112e033350c06eeaf989b","fcb4a735202385a30e97e9d8f5d00aa17105e5e6e68af176fadf250f2a500e37","83488bc112bbd43d904a0b96911d1b71d9725a0004aac7fc46de8e09b1d53a23","1174c1d2ad97c769186616321a2145d022668a7e74ce0ff341971daedfa6154c","c22c37ac8f707477b4d69c280c4ff8cdcc6bf5907f061280eca0072f38e04810","2888895b1588e20afbea35fc92ece80c310af5b7b3fa2bb5576142e6add41442","4b993221700523a05782de87bc71c74bbdb0e791f7cfdc11aa7b4ce6ecfeb300","2d3b5d752096f82e05f8664741ab2dbeff26750cadabf65877653357b785ed43","9b66005a7e5c58c20fac57cafcb0d1ec5cc243df91d355035b5b93fe9c811e41","ca4df64273cc7d0e96254e02d6ceae366eace4df6bbb2b8caf35f38d9348341d","fdc516ece7d33203cbbf503fd1b43fb89b969365b6c5b6552c65a37fcc2138af","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","81a0056c95c5894f04778e642403d61f190ff7a5287e3558e9481d59868e2c51","7aa3dde497f25b65d420acebd19354a4495368f6de1cb9d82074da62133db9c2","eef99c2d020325efd8fc2b21de171f71dddcfdededbe3acb797039e1aecb367e","eef99c2d020325efd8fc2b21de171f71dddcfdededbe3acb797039e1aecb367e","775780594dd67c23713ab139f06935f890b1b1b394c85d3522bc79393bdcbb4d","a2ff87dfedb2ec15723094a0b8370d1e5f795838fed73f69bab109b237515c38","2c6609d5a162dabef6404ad6f731327aabb6eaf30a877bb9001fa393f349a680","2e6e36f9c27ddc01b2a104b92ca3f178945b4ec375a3bd556073a3af0a4365d3","b01ec93f00d618730c453dd3fe453926c5fe452a500245014b8fb64e104adcee","fabc6f872dcd6208ab4ee5328c46ffe029e285d936a36152abee239ee1fb99c7","adde1222d7d49b91834b20b75686a762ed0726f5d34dcbda10a1aafa9ba419a4","ba3c7425794b5fe14eb7329ff97aa00f649e82d4891061e033db161b599663af","ba2b1305141ede23483b0f247b2ec3637d7b038b37598346692f7e9e08c75d2a","becea824046b5a36370b7956d271d7fd5ec033af2ebc78c166e360e602e97b92","f945d505b83c966214b80c53d8e7a2d77ec36a7e7a477a88cd09542d183ec83c","af1a9850747573f5c950082157276400d8612fede62af01f8b45629ff61bc975","4d3da7d3b12b46bc9d226706c12cb04387c74038f6fc651d0ece5fe6987230a3","f08169e1605cc96786b8e4a0cf19d853b8f585d25084daf009dc63e212e35c59","cde20424d6e6995855f4cb9f61c067cd215fc1dfeab88749350a4f76253ffae4","c8311ce839580c0875f9ff6aca0a9041f199aac8f674856b77c388983212bdf5","24cf439dc53195a9a22676407e7011c58a362eb5fa2fc32971820556959432d2","fb1fe16e53cea82b5ed56575c7c56671bb7ce502858e7ad5be512cfc816da29b","cd8b02b35bb2cdda78cf08448d5771a4b4f911c5743512a0fd6a6f23979c4dac","4392be558b8509e9624975f047d73286a08d97381ee55899b0227b670b2284bd","b7341adf64ef336742c7b4a68945f9c6e715d15c0ccd2eb6eeda503b39d92653","8fe0068df1a39fb8ecc14562adb77f5923d93f049e3d8a14a76982d0ef49ed80","a56df75b4f9e15358ec312a4ac991e2ab4cbe9656a99114c44530a51b1a0329a","2c37d3aed9fd6034ada2871eed49aa1e532444bca0bbdb27fe6d9cd4e4ba1d6e","8c6b5041b4b9dcc18c40d8d0615028e759d470a4810b1537bacfbd20c92243c4","e53e2f59a1b10434a1eeea3ad2bf0ed363ba88aa01681d68422dc9044ef50d52","af8f17871b68bfcc90f5941444844266c7c0a9328db0dee1414f47d0d1fd8e88","13fdf424f48b67e5fd7e4f25b6400a7fbdd28a0cff99d7d0400b76e4587a8879","13fe00c8acf8d4d8a50aee4c6805faa237b832e8b182154142647ab097808f6b","3cb14bc0d01a1bb99bda29c2366d570954496704ba8ac1f73060ba6ae99a18df","50f9dfb63997fcc83723ec64d6e7c07394022e994dff7984c55c31ffbc028e5e","b1e295cf3c02dee08816417f57ab7559906e55d706dd2b78f8dc045f88d93aaa","9bb720df292acbfd7e53bc0e8110b291f7ef83c16189da325eca9a58ca26ff82","f8a8c916f284fd68e8124f98110847d724fc503bf472a32eab36c95298920b2b","9803c925f6d559f0bce9a0e938b3ca5b192eec1fc5f0e727a75f514dc08f4e49",{"version":"b93e7bb0b556ded822cdcf1fdf2def46dc9dec23f9283101c592885e6a9586df","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"892621c0131da61968e74ecdb17cdc1cd456e5d1a2db6d77f297c61e4c0773e8","6a8cb539556c1fb6054fa624bc691d0560e7334c06da3f1fc82e0b18e61614b8","de360cd42110490e00c1bb52af87118d5044a8a8054d8dc574087821c9f10b75","8a6ccbe6549c01938fa62d1682f5f1e987ac1924672ed8c8f5ab8d825719decd","7ab9bda66d3066b6164fb656c0c4598fcea5aac89ca96c2da1e049e41769acc8","12f6b1e992132ff669f790beece38ecaa19f2f0db75b7eae92e8dcc5f22b0a34",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ffc06cc59bfc4559f4845fd58694e934c20e4271413c48e4b3ec35a2afbd80a7","signature":"b4c749acb1b02fe0b336d3e89a98d3ee797f41144e7a2917d69a86c012fe9c5b"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"224212aaf624457d4d33e5b8f2bdc2a97ba1e7e487577ee239121a7be84a92c8","signature":"9ee11ad4f320cc402171301b600f529964208d145c82f986d89762679ba43d81"},"ad46be6d7b16fde6ba09fa11a8bdaa963a076d10fa85e8f7cd6a0904062993e1","e657d17c2b9494dfd8a9c6ea35a50214c324f9640c3fd9d63f414bd1f806623e","caf99be297c13988c93dcbd85ac2a65e1a44a428de6c6281478f21686c18a11f","1de8238b7283b31b2cfc8bf4c08c836223d8cefe4fdbdebebf580c59c0b539a6","451a214b2ce4d71b0c6c87a8a10bd4f0bb9d70d6630527da1f3a6fbce0abbffe","21c91e8fd1c8469ac883a5d0e88ee2328f21e761f0d266ef413b0177cdd14a8f","028a4ca49c9f57503e269e11143d17fe86d07b57aa6ad0ff033e37f90069720c","8d0d9d6605b72eb8a2ddb127b630898497fa49ed0adc018f8af55b6bc008c04f",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"76352867f048fb1d055fc08a535f66368a3da114087bb4dfbc5745b73326a9b4","signature":"fe91775da1ed96e5f3cce5a0d62e81419cd4d9c32f478d2913b6fe2a199f6446"},{"version":"a6a5edb26bbc5319a89418e10393eb4f2f61319678b36dcd6394f4963626becf","signature":"5d0aa813eab35a144b4a18ce7beb91d9f22e61452f89b89cf892b404c810804e"},{"version":"17b09eb510cb668276e7436893c1419927f032eddcf579a349b42cb722c9c4d3","signature":"30bb526fbe0a8035ee3a97f62a7a15e126f5f3b4049f306ab134cca27fdbd877"},"ac607c31d42e0aeadc871af07a970af6e76295d63a89d78b5cb8ca27cfea1c8f",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"3a77ffcd5fccbfeeb51ae6b89047dc3658a172db8038782c8b06d367bd63360d","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"b3f712d9f966913ef45b1c9564ec16a0b9ea8368ca40f4dd5f6cfad368f17ebe","signature":"5d36df79871ce6b50ba986cabef382fa5727402ffadc2f6e75eafbc71f3000e1"},{"version":"a894e61b2be096d05faae4a0a57f1710e77ac4b7b9d1be3439fe817f816e8bff","signature":"f281d14d888f10a1131ba9da34445667a044737805d87cd4b1854219abce4814"},"e4edffdb2ef5251caba9aa8a541bdb1158e454c4ceba7301174a10d009af6bcf","9f516737132195476737f2113aa684138738d1285a8bc4d36f403fdcb220fb35","947ce778adc2efb03431cf740955df030620dd160bf6176c0a6e414e57d1423e","780821233ebeb2dd4134de92da1a24f5f56bcc558a2e0dddf76b7c5dd572e20d",{"version":"38a6de73d94fddd9e0c6debc7d8790d1050b8b3c23c9a71865de74c26d31b83d","signature":"55bb18d80ab4836734d6b6075750b673bec340bcaed10fed842407a1fdeb3657"},{"version":"3a14e17beb52aaf8f037bbeff8c0479407bb5893e8f55407143430cda8ef96aa","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"e389f6f63acbbf67132e3bb8c2780884bc4769abe8e19f18a45418e5af21e08b","signature":"fdfbd78f7f5c54884fc2efd20efbd81968b887f3335c974c94dc3db6dd58c02f"},{"version":"abed2fcecfc488c97265276567a7eaeac7acb0abf954ab6fd6ccfbab2243b3e5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","c5a251297fd8eeb861c0e98430de6ea5099e8febac0985edcf5d75feb4c6ce27",{"version":"fd66a97fb95c2ba224478a122a335c2d89202bc5b989a2d58db6aae3db2f85ce","signature":"776e8ea041798d892337df5348635cfcbc1fe9bad68b87d2a8a6f6cbacbbd72b"},{"version":"7adc736dd362f3694bfa0ead421710e99a78f81ba82ca176f190f95d452ea921","signature":"9c60c89de612b6471ab99cd4b57bb1e2b3b5821d9cf81723838d6c8324ed2c36"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","955133b47df2272da61dbb50fda84b0e0732d96f5614a373718719b4bc429641","3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"b6a4a51bc749ad882c33d98563ff5a94716ca884bfde949a8c97bad530e4ee2c","affectsGlobalScope":true},"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49",{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","c9e6ea53a25729dbb5b5bb6960db4387df2f8e88add9cbf36b6ff590481134f9","3e95e6310d49db6d575ac6c2896c02761426aa5aab0b18169f971151c709b770","7eb0662b995994db248290a0f0a1d8ed685991a162ff9eb4dee36f099cccd0d9","bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true},"a019c9782ea4e21c83881c780cebce8ad86e3f78122619336eacbd87e47fe674","021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"c874bfffe38a94b129077eaba4e26575972d545d5d04cd64e90c02d2c029ead6","f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true},{"version":"4ee9304173804c2c6dff4fcb8ad900619a4078b30d37f7e455236836e8e87a45","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","4b1ff655bd8edd879dd4f04f15338ce0109f58ccb424165d44fa07e7ea39c4bf",{"version":"6fa61015444e843013443f2e5ca6bee5f033cbf361f953fd932abb0c029b73b2","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","24b8c93eb91a64a6fbb877a295cfac4c10aa4660599970c954a99d33697534a3","76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02",{"version":"ca619678b887ae262316673b55bb358c517593d3b6b96c1271972716c699da32","affectsGlobalScope":true},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true},"d1ef1d8516286380fd0a6f498f1650d374a8cb5f03d91633b6124e4fb8fb131d","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204",{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","fedd311d427fdafac411b4e0edc0d1014668853679e021e04717a6de45ff5c0c","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04",{"version":"5c0aca385504ae10a42d367e71b6ca644f5012c56568a23495f44d1868e0a5f7","signature":"cdb9a6bec80e1b795ce332c1ce77969dd94d800d45da3b25253d5fcce74f53ae"}],"root":[60,586,587,591,592,691],"options":{"declaration":false,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"module":7,"noEmitOnError":false,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"outDir":"../../../..","skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":false},"fileIdsList":[[251,350,437],[251,437],[249,251,259,391,437],[249,251,437],[249,251,259,437],[249,251,316,437],[249,251,252,258,259,317,318,437],[249,251,258,259,315,316,437],[249,251,252,437],[437],[249,250,437],[251,254,437,581],[251,252,253,437],[251,253,254,437,582],[249,251,252,254,256,437],[251,291,292,437],[251,293,437],[249,251,253,254,291,437],[298,437],[291,437],[291,292,293,294,295,296,297,437],[437,646,680,688],[437,646,680],[437,643,646,680,682,683,684],[437,683,685,687,689],[437,594],[437,630],[437,631,636,664],[437,632,643,644,651,661,672],[437,632,633,643,651],[437,634,673],[437,635,636,644,652],[437,636,661,669],[437,637,639,643,651],[437,638],[437,639,640],[437,643],[437,641,643],[437,630,643],[437,643,644,645,661,672],[437,643,644,645,658,661,664],[437,628,677],[437,639,643,646,651,661,672],[437,643,644,646,647,651,661,669,672],[437,646,648,661,669,672],[437,594,595,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679],[437,643,649],[437,650,672,677],[437,639,643,651,661],[437,652],[437,653],[437,630,654],[437,655,671,677],[437,656],[437,657],[437,643,658,659],[437,658,660,673,675],[437,631,643,661,662,663,664],[437,631,661,663],[437,661,662],[437,664],[437,665],[437,630,661],[437,643,667,668],[437,667,668],[437,636,651,661,669],[437,670],[437,651,671],[437,631,646,657,672],[437,636,673],[437,661,674],[437,650,675],[437,676],[437,631,636,643,645,654,661,672,675,677],[437,661,678],[437,644,661,680,681],[437,646,680,681,686],[251,373,374,437],[251,256,258,277,374,437],[251,375,376,377,437],[379,437],[375,376,377,378,437],[251,258,437],[251,258,277,304,437],[251,354,355,359,364,437],[366,437],[354,355,365,437],[251,258,259,277,285,304,416,417,418,437],[251,416,419,437],[425,437],[416,417,418,419,420,421,422,423,424,437],[249,251,259,277,416,417,437],[249,251,416,418,437],[249,251,259,416,417,418,437],[251,258,416,418,437],[389,437],[386,387,388,437],[251,277,386,437],[251,387,437],[251,258,277,392,427,437],[251,437,552],[251,258,277,392,427,436,437,551],[251,437,551,552,553],[437,555],[437,551,552,553,554],[437,533],[437,531,532],[251,254,258,277,285,299,437],[249,251,277,300,437],[300,437],[303,437],[300,301,302,437],[435,437],[251,277,437],[251,252,310,433,437],[249,251,277,437],[431,432,433,434,437],[322,437],[251,320,437],[320,321,437],[327,437],[251,285,319,437],[251,324,437],[319,437],[324,325,326,437],[249,251,260,261,437],[251,259,277,437],[284,437],[261,278,279,280,281,282,283,437],[277,437],[437,445],[437,442,443,444],[358,437],[356,357,437],[251,356,437],[262,437],[276,437],[262,263,264,265,266,267,268,269,270,271,272,273,274,275,437],[363,437],[251,277,360,437],[251,361,437],[360,361,362,437],[251,277,319,351,437],[251,367,437],[249,251,258,277,323,339,350,437],[251,259,277,304,319,351,437],[251,339,351,352,353,368,369,437],[372,437],[351,352,353,368,369,370,371,437],[251,277,427,428,429,436,437,516],[251,277,299,428,437],[249,251,258,277,299,304,437],[251,290,428,429,430,437,517,518,519],[437,521],[428,429,430,437,517,518,519,520],[251,258,286,437],[251,286,287,437],[289,437],[286,287,288,437],[249,251,258,259,260,277,285,437],[251,437,446],[251,437,439,446,447],[437,515],[251,437,440],[251,437,439],[249,251,277,437,438],[251,437,438],[437,438,439,440,441,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514],[251,277,299,305,437],[251,299,306,437],[249,251,253,254,259,277,299,304,437],[299,437],[309,437],[305,306,307,308,437],[251,259,285,437],[437,529],[251,258,277,392,436,437,523],[249,251,258,277,427,436,437],[251,437,523,524,525,526,527],[437,523,524,525,526,527,528],[251,437,523],[348,437],[251,258,344,437],[251,341,342,343,344,345,346,437],[341,342,343,344,345,346,347,437],[251,285,437],[251,259,277,285,339,437],[338,437],[249,251,256,258,277,312,313,437],[251,258,277,311,312,314,329,437],[251,314,329,330,331,332,333,334,335,437],[249,251,277,311,437],[251,312,437],[311,312,313,314,329,330,331,332,333,334,335,336,337,437],[251,258,277,311,437],[251,258,311,437],[251,258,259,277,311,312,313,314,319,323,328,437],[249,251,277,311,312,437],[249,251,285,304,319,350,437,561],[437,567],[251,258,304,437,562],[251,437,561,562],[251,437,563,564],[251,285,319,437,561,562,563],[437,561,562,563,564,565,566],[251,258,277,437,539,540,541],[437,548],[251,277,437,541],[437,540,541,542,543,544,545,546,547],[251,258,259,277,427,437,540,541,542],[251,437,542,543,544,545,546],[251,258,277,437],[404,437],[249,277,437],[383,384,385,393,394,395,396,397,398,399,400,401,402,403,437],[251,256,384,437],[251,258,277,319,383,384,385,390,395,396,437],[251,392,394,437],[251,277,395,437],[249,251,384,437],[249,251,277,384,393,437],[251,384,437],[251,383,385,393,394,395,396,397,398,399,400,401,402,437],[249,251,256,258,277,304,384,394,397,437],[249,251,258,277,304,319,323,328,437],[437,538],[437,535,536,537],[251,258,277,323,437,534,535],[251,437,536],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,184,193,195,196,197,198,199,200,202,203,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,437],[106,437],[62,65,437],[64,437],[64,65,437],[61,62,63,65,437],[62,64,65,222,437],[65,437],[61,64,106,437],[64,65,222,437],[64,230,437],[62,64,65,437],[74,437],[97,437],[118,437],[64,65,106,437],[65,113,437],[64,65,106,124,437],[64,65,124,437],[65,165,437],[65,106,437],[61,65,183,437],[61,65,184,437],[206,437],[190,192,437],[201,437],[190,437],[61,65,183,190,191,437],[183,184,192,437],[204,437],[61,65,190,191,192,437],[63,64,65,437],[61,65,437],[62,64,184,185,186,187,437],[106,184,185,186,187,437],[184,186,437],[64,185,186,188,189,193,437],[61,64,437],[65,208,437],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,437],[194,437],[437,605,609,672],[437,605,661,672],[437,600],[437,602,605,669,672],[437,651,669],[437,680],[437,600,680],[437,602,605,651,672],[437,597,598,601,604,631,643,661,672],[437,597,603],[437,601,605,631,664,672,680],[437,631,680],[437,621,631,680],[437,599,600,680],[437,605],[437,599,600,601,602,603,604,605,606,607,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627],[437,605,612,613],[437,603,605,613,614],[437,604],[437,597,600,605],[437,605,609,613,614],[437,609],[437,603,605,608,672],[437,597,602,603,605,609,612],[437,631,661],[437,600,605,621,631,677,680],[59,437],[59,252,437,591,593,653,672,690],[59,437,585],[59,251,252,256,437],[59,251,437,583,589],[59,251,252,253,254,256,414,427,437,516,579,580,582],[59,256,408,414,437,574,578],[59,251,252,290,310,339,408,437],[59,251,252,256,290,310,339,349,350,380,382,405,407,437],[59,251,252,405,407,437],[59,251,252,256,405,437],[59,256,437,577],[59,437,577],[59,251,252,405,437],[59,256,437,573],[59,251,252,290,367,426,427,437,522,530,549,573],[59,251,252,256,290,367,411,413,426,427,437,522,530,549,556,558,560,568,572,632],[59,251,253,437,571],[59,251,256,411,413,437],[59,251,437],[59,254,437,585,590],[59,254,437,583,585],[690],[251],[256],[256,413,427,568,572],[253],[256,413]],"referencedMap":[[581,1],[350,2],[392,3],[258,2],[316,2],[315,4],[260,5],[391,6],[319,7],[259,2],[318,2],[317,8],[253,9],[252,4],[580,10],[251,11],[250,10],[427,4],[582,12],[254,13],[589,14],[256,15],[593,2],[293,16],[295,10],[294,17],[292,18],[299,19],[297,20],[298,21],[291,10],[296,20],[689,22],[688,23],[685,24],[690,25],[686,10],[681,10],[594,26],[595,26],[630,27],[631,28],[632,29],[633,30],[634,31],[635,32],[636,33],[637,34],[638,35],[639,36],[640,36],[642,37],[641,38],[643,39],[644,40],[645,41],[629,42],[679,10],[646,43],[647,44],[648,45],[680,46],[649,47],[650,48],[651,49],[652,50],[653,51],[654,52],[655,53],[656,54],[657,55],[658,56],[659,56],[660,57],[661,58],[663,59],[662,60],[664,61],[665,62],[666,63],[667,64],[668,65],[669,66],[670,67],[671,68],[672,69],[673,70],[674,71],[675,72],[676,73],[677,74],[678,75],[683,10],[684,10],[682,76],[687,77],[596,10],[437,10],[375,78],[377,2],[376,79],[374,2],[378,80],[380,81],[379,82],[355,83],[354,84],[365,85],[367,86],[366,87],[416,2],[419,88],[420,89],[426,90],[425,91],[418,92],[424,93],[423,94],[421,93],[422,94],[417,95],[390,96],[389,97],[387,98],[388,99],[386,4],[553,100],[551,101],[552,102],[554,103],[556,104],[555,105],[531,10],[532,10],[534,106],[533,107],[300,108],[301,109],[302,110],[304,111],[303,112],[436,113],[433,114],[432,4],[434,115],[431,116],[435,117],[323,118],[320,114],[321,119],[322,120],[328,121],[324,122],[325,123],[326,124],[327,125],[281,126],[282,4],[279,4],[283,127],[285,128],[284,129],[261,4],[280,114],[278,114],[442,130],[446,131],[445,132],[444,10],[443,10],[359,133],[358,134],[356,114],[357,135],[262,10],[263,136],[270,136],[271,136],[272,10],[264,10],[277,137],[265,136],[273,4],[266,136],[276,138],[269,10],[267,10],[275,10],[268,2],[274,10],[364,139],[360,114],[361,140],[362,141],[363,142],[371,143],[369,2],[353,2],[368,144],[351,145],[352,146],[370,147],[373,148],[372,149],[517,150],[429,2],[430,151],[519,2],[518,2],[428,152],[520,153],[522,154],[521,155],[287,156],[288,157],[290,158],[289,159],[286,160],[447,161],[449,162],[516,163],[450,10],[451,10],[452,10],[453,10],[454,10],[455,10],[456,10],[457,10],[458,10],[459,10],[460,10],[461,10],[462,10],[463,10],[464,10],[465,10],[466,10],[467,10],[468,10],[469,10],[470,10],[471,10],[472,10],[473,10],[474,10],[475,10],[476,10],[477,10],[478,10],[479,10],[480,10],[482,10],[481,10],[483,10],[484,10],[485,10],[486,10],[487,10],[488,10],[489,10],[490,10],[491,10],[492,10],[493,10],[494,10],[495,10],[496,10],[497,10],[498,10],[499,10],[500,10],[501,10],[502,10],[503,10],[504,10],[505,10],[506,10],[507,10],[508,10],[509,10],[510,10],[511,10],[512,10],[513,10],[514,10],[438,10],[441,164],[440,165],[439,166],[448,167],[515,168],[306,169],[307,170],[305,171],[308,172],[310,173],[309,174],[526,175],[530,176],[527,2],[524,177],[523,178],[528,179],[529,180],[525,181],[341,2],[342,2],[343,2],[349,182],[345,183],[347,184],[348,185],[346,186],[344,187],[339,188],[332,2],[331,2],[314,189],[330,190],[336,191],[312,192],[337,193],[311,10],[338,194],[334,195],[335,195],[333,196],[329,197],[313,198],[562,199],[568,200],[563,201],[564,202],[565,203],[566,204],[567,205],[561,4],[542,206],[549,207],[546,208],[548,209],[543,210],[547,211],[540,2],[545,208],[544,212],[541,10],[405,213],[384,214],[404,215],[383,114],[398,2],[400,114],[393,216],[397,217],[395,218],[396,219],[399,220],[394,221],[401,2],[385,222],[403,223],[402,224],[535,225],[539,226],[538,227],[536,228],[537,229],[249,230],[222,10],[200,231],[198,231],[248,232],[213,233],[212,233],[113,234],[64,235],[220,234],[221,234],[223,236],[224,234],[225,237],[124,238],[226,234],[197,234],[227,234],[228,239],[229,234],[230,233],[231,240],[232,234],[233,234],[234,234],[235,234],[236,233],[237,234],[238,234],[239,234],[240,234],[241,241],[242,234],[243,234],[244,234],[245,234],[246,234],[63,232],[66,237],[67,237],[68,237],[69,237],[70,237],[71,237],[72,237],[73,234],[75,242],[76,237],[74,237],[77,237],[78,237],[79,237],[80,237],[81,237],[82,237],[83,234],[84,237],[85,237],[86,237],[87,237],[88,237],[89,234],[90,237],[91,237],[92,237],[93,237],[94,237],[95,237],[96,234],[98,243],[97,237],[99,237],[100,237],[101,237],[102,237],[103,241],[104,234],[105,234],[119,244],[107,245],[108,237],[109,237],[110,234],[111,237],[112,237],[114,246],[115,237],[116,237],[117,237],[118,237],[120,237],[121,237],[122,237],[123,237],[125,247],[126,237],[127,237],[128,237],[129,234],[130,237],[131,248],[132,248],[133,248],[134,234],[135,237],[136,237],[137,237],[142,237],[138,237],[139,234],[140,237],[141,234],[143,237],[144,237],[145,237],[146,237],[147,237],[148,237],[149,234],[150,237],[151,237],[152,237],[153,237],[154,237],[155,237],[156,237],[157,237],[158,237],[159,237],[160,237],[161,237],[162,237],[163,237],[164,237],[165,237],[166,249],[167,237],[168,237],[169,237],[170,237],[171,237],[172,237],[173,234],[174,234],[175,234],[176,234],[177,234],[178,237],[179,237],[180,237],[181,237],[199,250],[247,234],[184,251],[183,252],[207,253],[206,254],[202,255],[201,254],[203,256],[192,257],[190,258],[205,259],[204,256],[191,10],[193,260],[106,261],[62,262],[61,237],[196,10],[188,263],[189,264],[186,10],[187,265],[185,237],[194,266],[65,267],[214,10],[215,10],[208,10],[211,233],[210,10],[216,10],[217,10],[209,268],[218,10],[219,10],[182,269],[195,270],[59,10],[57,10],[58,10],[10,10],[12,10],[11,10],[2,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[19,10],[20,10],[3,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[8,10],[48,10],[45,10],[46,10],[47,10],[49,10],[9,10],[50,10],[51,10],[52,10],[55,10],[53,10],[54,10],[1,10],[56,10],[612,271],[619,272],[611,271],[626,273],[603,274],[602,275],[625,276],[620,277],[623,278],[605,279],[604,280],[600,281],[599,282],[622,283],[601,284],[606,285],[607,10],[610,285],[597,10],[628,286],[627,285],[614,287],[615,288],[617,289],[613,290],[616,291],[621,276],[608,292],[609,293],[618,294],[598,295],[624,296],[592,297],[691,298],[584,299],[585,300],[255,297],[588,297],[590,301],[583,302],[257,297],[579,303],[410,297],[411,297],[557,297],[558,297],[381,297],[382,297],[340,304],[408,305],[406,306],[407,307],[575,297],[578,308],[576,309],[577,310],[415,297],[574,311],[550,312],[573,313],[569,297],[572,314],[409,297],[414,315],[412,297],[413,316],[559,297],[560,297],[570,297],[571,297],[60,297],[587,297],[591,317],[586,318]],"exportedModulesMap":[[581,1],[350,2],[392,3],[258,2],[316,2],[315,4],[260,5],[391,6],[319,7],[259,2],[318,2],[317,8],[253,9],[252,4],[580,10],[251,11],[250,10],[427,4],[582,12],[254,13],[589,14],[256,15],[593,2],[293,16],[295,10],[294,17],[292,18],[299,19],[297,20],[298,21],[291,10],[296,20],[689,22],[688,23],[685,24],[690,25],[686,10],[681,10],[594,26],[595,26],[630,27],[631,28],[632,29],[633,30],[634,31],[635,32],[636,33],[637,34],[638,35],[639,36],[640,36],[642,37],[641,38],[643,39],[644,40],[645,41],[629,42],[679,10],[646,43],[647,44],[648,45],[680,46],[649,47],[650,48],[651,49],[652,50],[653,51],[654,52],[655,53],[656,54],[657,55],[658,56],[659,56],[660,57],[661,58],[663,59],[662,60],[664,61],[665,62],[666,63],[667,64],[668,65],[669,66],[670,67],[671,68],[672,69],[673,70],[674,71],[675,72],[676,73],[677,74],[678,75],[683,10],[684,10],[682,76],[687,77],[596,10],[437,10],[375,78],[377,2],[376,79],[374,2],[378,80],[380,81],[379,82],[355,83],[354,84],[365,85],[367,86],[366,87],[416,2],[419,88],[420,89],[426,90],[425,91],[418,92],[424,93],[423,94],[421,93],[422,94],[417,95],[390,96],[389,97],[387,98],[388,99],[386,4],[553,100],[551,101],[552,102],[554,103],[556,104],[555,105],[531,10],[532,10],[534,106],[533,107],[300,108],[301,109],[302,110],[304,111],[303,112],[436,113],[433,114],[432,4],[434,115],[431,116],[435,117],[323,118],[320,114],[321,119],[322,120],[328,121],[324,122],[325,123],[326,124],[327,125],[281,126],[282,4],[279,4],[283,127],[285,128],[284,129],[261,4],[280,114],[278,114],[442,130],[446,131],[445,132],[444,10],[443,10],[359,133],[358,134],[356,114],[357,135],[262,10],[263,136],[270,136],[271,136],[272,10],[264,10],[277,137],[265,136],[273,4],[266,136],[276,138],[269,10],[267,10],[275,10],[268,2],[274,10],[364,139],[360,114],[361,140],[362,141],[363,142],[371,143],[369,2],[353,2],[368,144],[351,145],[352,146],[370,147],[373,148],[372,149],[517,150],[429,2],[430,151],[519,2],[518,2],[428,152],[520,153],[522,154],[521,155],[287,156],[288,157],[290,158],[289,159],[286,160],[447,161],[449,162],[516,163],[450,10],[451,10],[452,10],[453,10],[454,10],[455,10],[456,10],[457,10],[458,10],[459,10],[460,10],[461,10],[462,10],[463,10],[464,10],[465,10],[466,10],[467,10],[468,10],[469,10],[470,10],[471,10],[472,10],[473,10],[474,10],[475,10],[476,10],[477,10],[478,10],[479,10],[480,10],[482,10],[481,10],[483,10],[484,10],[485,10],[486,10],[487,10],[488,10],[489,10],[490,10],[491,10],[492,10],[493,10],[494,10],[495,10],[496,10],[497,10],[498,10],[499,10],[500,10],[501,10],[502,10],[503,10],[504,10],[505,10],[506,10],[507,10],[508,10],[509,10],[510,10],[511,10],[512,10],[513,10],[514,10],[438,10],[441,164],[440,165],[439,166],[448,167],[515,168],[306,169],[307,170],[305,171],[308,172],[310,173],[309,174],[526,175],[530,176],[527,2],[524,177],[523,178],[528,179],[529,180],[525,181],[341,2],[342,2],[343,2],[349,182],[345,183],[347,184],[348,185],[346,186],[344,187],[339,188],[332,2],[331,2],[314,189],[330,190],[336,191],[312,192],[337,193],[311,10],[338,194],[334,195],[335,195],[333,196],[329,197],[313,198],[562,199],[568,200],[563,201],[564,202],[565,203],[566,204],[567,205],[561,4],[542,206],[549,207],[546,208],[548,209],[543,210],[547,211],[540,2],[545,208],[544,212],[541,10],[405,213],[384,214],[404,215],[383,114],[398,2],[400,114],[393,216],[397,217],[395,218],[396,219],[399,220],[394,221],[401,2],[385,222],[403,223],[402,224],[535,225],[539,226],[538,227],[536,228],[537,229],[249,230],[222,10],[200,231],[198,231],[248,232],[213,233],[212,233],[113,234],[64,235],[220,234],[221,234],[223,236],[224,234],[225,237],[124,238],[226,234],[197,234],[227,234],[228,239],[229,234],[230,233],[231,240],[232,234],[233,234],[234,234],[235,234],[236,233],[237,234],[238,234],[239,234],[240,234],[241,241],[242,234],[243,234],[244,234],[245,234],[246,234],[63,232],[66,237],[67,237],[68,237],[69,237],[70,237],[71,237],[72,237],[73,234],[75,242],[76,237],[74,237],[77,237],[78,237],[79,237],[80,237],[81,237],[82,237],[83,234],[84,237],[85,237],[86,237],[87,237],[88,237],[89,234],[90,237],[91,237],[92,237],[93,237],[94,237],[95,237],[96,234],[98,243],[97,237],[99,237],[100,237],[101,237],[102,237],[103,241],[104,234],[105,234],[119,244],[107,245],[108,237],[109,237],[110,234],[111,237],[112,237],[114,246],[115,237],[116,237],[117,237],[118,237],[120,237],[121,237],[122,237],[123,237],[125,247],[126,237],[127,237],[128,237],[129,234],[130,237],[131,248],[132,248],[133,248],[134,234],[135,237],[136,237],[137,237],[142,237],[138,237],[139,234],[140,237],[141,234],[143,237],[144,237],[145,237],[146,237],[147,237],[148,237],[149,234],[150,237],[151,237],[152,237],[153,237],[154,237],[155,237],[156,237],[157,237],[158,237],[159,237],[160,237],[161,237],[162,237],[163,237],[164,237],[165,237],[166,249],[167,237],[168,237],[169,237],[170,237],[171,237],[172,237],[173,234],[174,234],[175,234],[176,234],[177,234],[178,237],[179,237],[180,237],[181,237],[199,250],[247,234],[184,251],[183,252],[207,253],[206,254],[202,255],[201,254],[203,256],[192,257],[190,258],[205,259],[204,256],[191,10],[193,260],[106,261],[62,262],[61,237],[196,10],[188,263],[189,264],[186,10],[187,265],[185,237],[194,266],[65,267],[214,10],[215,10],[208,10],[211,233],[210,10],[216,10],[217,10],[209,268],[218,10],[219,10],[182,269],[195,270],[59,10],[57,10],[58,10],[10,10],[12,10],[11,10],[2,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[19,10],[20,10],[3,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[8,10],[48,10],[45,10],[46,10],[47,10],[49,10],[9,10],[50,10],[51,10],[52,10],[55,10],[53,10],[54,10],[1,10],[56,10],[612,271],[619,272],[611,271],[626,273],[603,274],[602,275],[625,276],[620,277],[623,278],[605,279],[604,280],[600,281],[599,282],[622,283],[601,284],[606,285],[607,10],[610,285],[597,10],[628,286],[627,285],[614,287],[615,288],[617,289],[613,290],[616,291],[621,276],[608,292],[609,293],[618,294],[598,295],[624,296],[592,297],[691,319],[255,297],[588,297],[590,320],[583,320],[257,297],[579,303],[578,321],[574,311],[573,322],[572,323],[414,324],[413,320],[60,297],[587,297],[591,320]],"semanticDiagnosticsPerFile":[581,350,392,258,316,315,260,391,319,259,318,317,253,252,580,251,250,427,582,254,589,256,593,293,295,294,292,299,297,298,291,296,689,688,685,690,686,681,594,595,630,631,632,633,634,635,636,637,638,639,640,642,641,643,644,645,629,679,646,647,648,680,649,650,651,652,653,654,655,656,657,658,659,660,661,663,662,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,683,684,682,687,596,437,375,377,376,374,378,380,379,355,354,365,367,366,416,419,420,426,425,418,424,423,421,422,417,390,389,387,388,386,553,551,552,554,556,555,531,532,534,533,300,301,302,304,303,436,433,432,434,431,435,323,320,321,322,328,324,325,326,327,281,282,279,283,285,284,261,280,278,442,446,445,444,443,359,358,356,357,262,263,270,271,272,264,277,265,273,266,276,269,267,275,268,274,364,360,361,362,363,371,369,353,368,351,352,370,373,372,517,429,430,519,518,428,520,522,521,287,288,290,289,286,447,449,516,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,482,481,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,438,441,440,439,448,515,306,307,305,308,310,309,526,530,527,524,523,528,529,525,341,342,343,349,345,347,348,346,344,339,332,331,314,330,336,312,337,311,338,334,335,333,329,313,562,568,563,564,565,566,567,561,542,549,546,548,543,547,540,545,544,541,405,384,404,383,398,400,393,397,395,396,399,394,401,385,403,402,535,539,538,536,537,249,222,200,198,248,213,212,113,64,220,221,223,224,225,124,226,197,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,63,66,67,68,69,70,71,72,73,75,76,74,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,98,97,99,100,101,102,103,104,105,119,107,108,109,110,111,112,114,115,116,117,118,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,142,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,199,247,184,183,207,206,202,201,203,192,190,205,204,191,193,106,62,61,196,188,189,186,187,185,194,65,214,215,208,211,210,216,217,209,218,219,182,195,59,57,58,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,56,612,619,611,626,603,602,625,620,623,605,604,600,599,622,601,606,607,610,597,628,627,614,615,617,613,616,621,608,609,618,598,624,691,585,590,583,579,411,558,382,408,407,578,577,574,573,572,414,413,560,571,591,586]},"version":"5.2.2"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/tslib/tslib.d.ts","../../../../src/main.ngtypecheck.ts","../../../../node_modules/rxjs/dist/types/internal/subscription.d.ts","../../../../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../../../../node_modules/rxjs/dist/types/internal/operator.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/types.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../../../../node_modules/rxjs/dist/types/internal/subject.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/notification.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../../../../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../../../../node_modules/rxjs/dist/types/operators/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../../../../node_modules/rxjs/dist/types/testing/index.d.ts","../../../../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../../../../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../../../../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../../../../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../../../../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../../../../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../../../../node_modules/rxjs/dist/types/internal/config.d.ts","../../../../node_modules/rxjs/dist/types/index.d.ts","../../../../node_modules/@angular/core/primitives/signals/index.d.ts","../../../../node_modules/@angular/core/index.d.ts","../../../../node_modules/@angular/common/index.d.ts","../../../../node_modules/@angular/common/http/index.d.ts","../../../../node_modules/@angular/platform-browser/index.d.ts","../../../../src/app/app.config.ngtypecheck.ts","../../../../node_modules/@angular/router/index.d.ts","../../../../src/app/app.routes.ngtypecheck.ts","../../../../node_modules/@angular/cdk/bidi/index.d.ts","../../../../node_modules/@angular/cdk/platform/index.d.ts","../../../../node_modules/@angular/cdk/layout/index.d.ts","../../../../node_modules/ng-zorro-antd/core/services/resize.d.ts","../../../../node_modules/ng-zorro-antd/core/types/any.d.ts","../../../../node_modules/ng-zorro-antd/core/types/common-wrap.d.ts","../../../../node_modules/ng-zorro-antd/core/types/direction.d.ts","../../../../node_modules/ng-zorro-antd/core/types/indexable.d.ts","../../../../node_modules/ng-zorro-antd/core/types/ng-class.d.ts","../../../../node_modules/ng-zorro-antd/core/types/size.d.ts","../../../../node_modules/ng-zorro-antd/core/types/template.d.ts","../../../../node_modules/ng-zorro-antd/core/types/shape.d.ts","../../../../node_modules/ng-zorro-antd/core/types/compare-with.d.ts","../../../../node_modules/ng-zorro-antd/core/types/control-value-accessor.d.ts","../../../../node_modules/ng-zorro-antd/core/types/convert-input.d.ts","../../../../node_modules/ng-zorro-antd/core/types/input-observable.d.ts","../../../../node_modules/ng-zorro-antd/core/types/type.d.ts","../../../../node_modules/ng-zorro-antd/core/types/status.d.ts","../../../../node_modules/ng-zorro-antd/core/types/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/types/index.d.ts","../../../../node_modules/ng-zorro-antd/core/services/singleton.d.ts","../../../../node_modules/ng-zorro-antd/core/services/drag.d.ts","../../../../node_modules/ng-zorro-antd/core/services/scroll.d.ts","../../../../node_modules/ng-zorro-antd/core/services/breakpoint.d.ts","../../../../node_modules/ng-zorro-antd/core/services/destroy.d.ts","../../../../node_modules/ng-zorro-antd/core/services/image-preload.d.ts","../../../../node_modules/ng-zorro-antd/core/services/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/services/index.d.ts","../../../../node_modules/ng-zorro-antd/grid/row.directive.d.ts","../../../../node_modules/ng-zorro-antd/grid/col.directive.d.ts","../../../../node_modules/ng-zorro-antd/grid/grid.module.d.ts","../../../../node_modules/ng-zorro-antd/grid/public-api.d.ts","../../../../node_modules/ng-zorro-antd/grid/index.d.ts","../../../../node_modules/@ant-design/icons-angular/types.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.service.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.directive.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.module.d.ts","../../../../node_modules/@ant-design/icons-angular/component/icon.error.d.ts","../../../../node_modules/@ant-design/icons-angular/utils.d.ts","../../../../node_modules/@ant-design/icons-angular/manifest.d.ts","../../../../node_modules/@ant-design/icons-angular/public_api.d.ts","../../../../node_modules/@ant-design/icons-angular/index.d.ts","../../../../node_modules/ng-zorro-antd/core/config/config.d.ts","../../../../node_modules/ng-zorro-antd/core/config/config.service.d.ts","../../../../node_modules/ng-zorro-antd/core/config/css-variables.d.ts","../../../../node_modules/ng-zorro-antd/core/config/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/config/index.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.service.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.directive.d.ts","../../../../node_modules/ng-zorro-antd/icon/icon.module.d.ts","../../../../node_modules/ng-zorro-antd/icon/icons.d.ts","../../../../node_modules/ng-zorro-antd/icon/public-api.d.ts","../../../../node_modules/ng-zorro-antd/icon/index.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.types.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.service.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu.service.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-item.component.d.ts","../../../../node_modules/@angular/cdk/collections/index.d.ts","../../../../node_modules/@angular/cdk/coercion/index.d.ts","../../../../node_modules/@angular/cdk/scrolling/index.d.ts","../../../../node_modules/@angular/cdk/portal/index.d.ts","../../../../node_modules/@angular/cdk/overlay/index.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/nz-no-animation.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/nz-no-animation.module.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/no-animation/index.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/nz-connected-overlay.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/nz-overlay.module.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/overlay-position.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/overlay/index.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.directive.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-group.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu-divider.directive.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-title.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-inline-child.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/submenu-non-inline-child.component.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.module.d.ts","../../../../node_modules/ng-zorro-antd/menu/menu.token.d.ts","../../../../node_modules/ng-zorro-antd/menu/public-api.d.ts","../../../../node_modules/ng-zorro-antd/menu/index.d.ts","../../../../src/app/pages/body/index/index.component.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/layout/content.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/footer.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/header.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/sider.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/layout.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/sider-trigger.component.d.ts","../../../../node_modules/ng-zorro-antd/layout/layout.module.d.ts","../../../../node_modules/ng-zorro-antd/layout/public-api.d.ts","../../../../node_modules/ng-zorro-antd/layout/index.d.ts","../../../../node_modules/@angular/animations/index.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-menu.component.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown.directive.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-a.directive.d.ts","../../../../node_modules/ng-zorro-antd/button/button.component.d.ts","../../../../node_modules/ng-zorro-antd/button/button-group.component.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/transition-patch.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/transition-patch.module.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/transition-patch/index.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave-renderer.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave.directive.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/nz-wave.module.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/wave/index.d.ts","../../../../node_modules/ng-zorro-antd/button/button.module.d.ts","../../../../node_modules/ng-zorro-antd/button/public-api.d.ts","../../../../node_modules/ng-zorro-antd/button/index.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown-button.directive.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/context-menu.service.module.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/dropdown.module.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/context-menu.service.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/public-api.d.ts","../../../../node_modules/ng-zorro-antd/dropdown/index.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb-item.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb-separator.component.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/breadcrumb.module.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/public-api.d.ts","../../../../node_modules/ng-zorro-antd/breadcrumb/index.d.ts","../../../../src/app/data/menu/menu.namespace.ngtypecheck.ts","../../../../src/app/data/menu/menu.namespace.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-add-button.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/interfaces.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabs-ink-bar.directive.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.service.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.directive.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/resize-observer.module.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/public-api.d.ts","../../../../node_modules/ng-zorro-antd/cdk/resize-observer/index.d.ts","../../../../node_modules/@angular/cdk/observers/index.d.ts","../../../../node_modules/@angular/cdk/a11y/index.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-link.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-item.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-operation.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-nav-bar.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-body.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-scroll-list.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab-close-button.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tab.directive.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabset.component.d.ts","../../../../node_modules/ng-zorro-antd/tabs/tabs.module.d.ts","../../../../node_modules/ng-zorro-antd/tabs/public-api.d.ts","../../../../node_modules/ng-zorro-antd/tabs/index.d.ts","../../../../src/app/pages/body/tab/tab.component.ngtypecheck.ts","../../../../src/app/pages/body/tab/tab.component.ts","../../../../src/app/utils/localstorage.service.ngtypecheck.ts","../../../../src/app/utils/localstorage.service.ts","../../../../src/app/data/login/localstorage.namespace.ngtypecheck.ts","../../../../src/app/data/login/localstorage.namespace.ts","../../../../src/app/pages/body/index/index.component.ts","../../../../src/app/utils/initguard.service.ngtypecheck.ts","../../../../src/app/utils/initguard.service.ts","../../../../src/app/pages/login/login.routes.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel-content.directive.d.ts","../../../../node_modules/ng-zorro-antd/carousel/typings.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/base-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel.component.d.ts","../../../../node_modules/ng-zorro-antd/carousel/carousel.module.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/opacity-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/transform-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/experimental/transform-no-loop-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/strategies/experimental/flip-strategy.d.ts","../../../../node_modules/ng-zorro-antd/carousel/public-api.d.ts","../../../../node_modules/ng-zorro-antd/carousel/index.d.ts","../../../../node_modules/@angular/forms/index.d.ts","../../../../node_modules/ng-zorro-antd/form/form.directive.d.ts","../../../../node_modules/ng-zorro-antd/form/form-item.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-label.component.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-status.service.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-no-status.service.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-item-feedback-icon.component.d.ts","../../../../node_modules/ng-zorro-antd/core/form/nz-form-patch.module.d.ts","../../../../node_modules/ng-zorro-antd/core/form/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/form/index.d.ts","../../../../node_modules/date-fns/typings.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.interface.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.service.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.pipe.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.module.d.ts","../../../../node_modules/ng-zorro-antd/core/time/candy-date.d.ts","../../../../node_modules/ng-zorro-antd/core/time/time.d.ts","../../../../node_modules/ng-zorro-antd/core/time/time-parser.d.ts","../../../../node_modules/ng-zorro-antd/core/time/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/time/index.d.ts","../../../../node_modules/ng-zorro-antd/i18n/date-config.d.ts","../../../../node_modules/ng-zorro-antd/i18n/nz-i18n.token.d.ts","../../../../node_modules/ng-zorro-antd/i18n/date-helper.service.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ar_eg.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/az_az.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/bg_bg.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/bn_bd.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/by_by.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ca_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/cs_cz.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/da_dk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/de_de.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/el_gr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/en_gb.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/en_us.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/es_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/et_ee.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fa_ir.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fi_fi.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_be.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_ca.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/fr_fr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ga_ie.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/gl_es.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/he_il.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hi_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hr_hr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hu_hu.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/hy_am.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/id_id.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/is_is.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/it_it.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ja_jp.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ka_ge.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/km_kh.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kk_kz.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kmr_iq.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/kn_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ko_kr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ku_iq.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/lt_lt.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/lv_lv.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/mk_mk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ml_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/mn_mn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ms_my.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nb_no.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ne_np.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nl_be.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/nl_nl.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pl_pl.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pt_br.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/pt_pt.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ro_ro.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ru_ru.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sk_sk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sl_si.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sr_rs.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/sv_se.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ta_in.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/th_th.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/tr_tr.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/uk_ua.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/ur_pk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/vi_vn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_cn.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_hk.d.ts","../../../../node_modules/ng-zorro-antd/i18n/languages/zh_tw.d.ts","../../../../node_modules/ng-zorro-antd/i18n/public-api.d.ts","../../../../node_modules/ng-zorro-antd/i18n/index.d.ts","../../../../node_modules/ng-zorro-antd/form/form-control.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-text.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form-split.component.d.ts","../../../../node_modules/ng-zorro-antd/form/form.module.d.ts","../../../../node_modules/ng-zorro-antd/form/public-api.d.ts","../../../../node_modules/ng-zorro-antd/form/index.d.ts","../../../../node_modules/ng-zorro-antd/input/input.directive.d.ts","../../../../node_modules/ng-zorro-antd/input/input-group.component.d.ts","../../../../node_modules/ng-zorro-antd/input/textarea-count.component.d.ts","../../../../node_modules/ng-zorro-antd/input/autosize.directive.d.ts","../../../../node_modules/ng-zorro-antd/input/input-group-slot.component.d.ts","../../../../node_modules/ng-zorro-antd/input/input.module.d.ts","../../../../node_modules/ng-zorro-antd/input/public-api.d.ts","../../../../node_modules/ng-zorro-antd/input/index.d.ts","../../../../node_modules/ng-zorro-antd/core/color/color.d.ts","../../../../node_modules/ng-zorro-antd/core/color/generate.d.ts","../../../../node_modules/ng-zorro-antd/core/color/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/color/index.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/base.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/tooltip.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/tooltip.module.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/public-api.d.ts","../../../../node_modules/ng-zorro-antd/tooltip/index.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.service.d.ts","../../../../node_modules/ng-zorro-antd/slider/typings.d.ts","../../../../node_modules/ng-zorro-antd/slider/handle.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/track.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/step.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/marks.component.d.ts","../../../../node_modules/ng-zorro-antd/slider/slider.module.d.ts","../../../../node_modules/ng-zorro-antd/slider/public-api.d.ts","../../../../node_modules/ng-zorro-antd/slider/index.d.ts","../../../../src/app/pages/login/login/login.component.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox-wrapper.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox-group.component.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/checkbox.module.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/public-api.d.ts","../../../../node_modules/ng-zorro-antd/checkbox/index.d.ts","../../../../src/app/data/login/login.namespace.ngtypecheck.ts","../../../../src/app/data/login/login.namespace.ts","../../../../src/app/utils/mathutils.service.ngtypecheck.ts","../../../../src/app/utils/mathutils.service.ts","../../../../node_modules/ng-zorro-antd/message/typings.d.ts","../../../../node_modules/ng-zorro-antd/message/base.d.ts","../../../../node_modules/ng-zorro-antd/message/message-container.component.d.ts","../../../../node_modules/ng-zorro-antd/message/message.component.d.ts","../../../../node_modules/ng-zorro-antd/message/message.module.d.ts","../../../../node_modules/ng-zorro-antd/message/message.service.d.ts","../../../../node_modules/ng-zorro-antd/message/public-api.d.ts","../../../../node_modules/ng-zorro-antd/message/index.d.ts","../../../../src/app/servies/login/login.service.ngtypecheck.ts","../../../../src/environments/environment.ngtypecheck.ts","../../../../src/environments/environment.ts","../../../../src/app/servies/login/login.service.ts","../../../../src/app/pages/login/login/login.component.ts","../../../../src/app/pages/login/login.routes.ts","../../../../src/app/pages/index/index.routes.ngtypecheck.ts","../../../../src/app/pages/index/index/index.component.ngtypecheck.ts","../../../../src/app/pages/index/index/index.component.ts","../../../../src/app/pages/index/index.routes.ts","../../../../src/app/pages/system/system.routes.ngtypecheck.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-base.definitions.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-base.service.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-base-node.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-service.resolver.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-base.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/nz-tree-base-util.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/public-api.d.ts","../../../../node_modules/ng-zorro-antd/core/tree/index.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-node.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-indent.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-node-switcher.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-node-checkbox.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-node-title.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree-drop-indicator.component.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree.module.d.ts","../../../../node_modules/ng-zorro-antd/tree/tree.service.d.ts","../../../../node_modules/ng-zorro-antd/tree/public-api.d.ts","../../../../node_modules/ng-zorro-antd/tree/index.d.ts","../../../../src/app/pages/system/menu/menu.component.ngtypecheck.ts","../../../../src/app/servies/menu/menu.service.ngtypecheck.ts","../../../../src/app/utils/objectdata.service.ngtypecheck.ts","../../../../src/app/utils/objectdata.service.ts","../../../../src/app/servies/menu/menu.service.ts","../../../../src/app/pages/system/menu/menu.component.ts","../../../../src/app/pages/system/system.routes.ts","../../../../src/app/app.routes.ts","../../../../node_modules/@angular/common/locales/zh.d.ts","../../../../node_modules/@angular/animations/browser/index.d.ts","../../../../node_modules/@angular/platform-browser/animations/index.d.ts","../../../../src/app/app.config.ts","../../../../src/app/app.component.ngtypecheck.ts","../../../../src/app/app.component.ts","../../../../src/main.ts","../../../../src/main.server.ngtypecheck.ts","../../../../src/app/app.config.server.ngtypecheck.ts","../../../../node_modules/@angular/platform-server/index.d.ts","../../../../src/app/app.config.server.ts","../../../../src/main.server.ts","../../../../server.ngtypecheck.ts","../../../../node_modules/@angular/ssr/index.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/buffer/index.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/file.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/filereader.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/mime/index.d.ts","../../../../node_modules/@types/send/index.d.ts","../../../../node_modules/@types/qs/index.d.ts","../../../../node_modules/@types/range-parser/index.d.ts","../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../node_modules/@types/http-errors/index.d.ts","../../../../node_modules/@types/serve-static/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/body-parser/index.d.ts","../../../../node_modules/@types/express/index.d.ts","../../../../server.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc",{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","2a25d0b3b0c0d5aa9a70635ee33a96f7e0bec5801386954c30680895b214c933","140500c8700a92c38e83d4fd45ac8286a253196956eec51421972e545a4ebb98","071bb591c12282944182a8f6deb88db0e40cbac7865440d884ffcbd2c22a71e1","a13adf241eff1ea22356848130ec6f1a50ca1ec1261a8c16d9cb8e395316462a","2e04efd4f8cf3f3e7feb461b3c43152de857800f52ec0b0abfc23e3f505e5781","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","40108ecf79f6e648c451725e01a462ee234a5e90d40430b14744728a334042bc","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","f9b8fedff6c1b0e53221b7890999346cf22f3ffe5fae4e94438530e8e131f5ac","2a7e6241c05770b21ac324f8d6162f53d54f2278cc532a90d21ad7f3c9d6d5f2","1401c9b5b14a8ed7c26f0a504904e1e14bd98b6cbfa4789b0c58eb4ed3e0c799","cccbd41eadd9eb95b06ae129f9fdc2bd97af2fb74edaa4d0feb608488ae0b358","7f8d4c66991cc8beabba3f6cd41c95a083be5f26216ec602b9d0dc7041e04e52","6b443897b39aa381a121d5ed377dc116a6bfc00bcedd069c1406a813dcb4252b","79df8ad48f1e6dfc725f12370cbef8368dd0270bc5c509b2d2100eb62bd32d92","3eac1a527c1a699a01c80aefc247faab8f6fc57b8a18c5dbb50fe7ac9b40de3f","5efc06564f1cf26ef2368c78efdcff70bc62bca08318b02323e2a8b08aa0f608","c62dd22be9abc5c964da33d130b00c4161d7701b8061120b0bd0acf523c42bbd","35aab9cfabc7fad736427e2ed3876257d20cb0826a6c5772401f70b624490d73","5bd166ebcd6c1cb758e70b1866ada6ec23fcaef8633107563ed3ebf95608a2dd","ab470f41a5c3d537b6fc6dd97824ea42f19df285dd2730e22a03f4140eb6a7b9","bb5748a92eed1968ba874b09fe4443a862bf83dd4454aa413a82a6bddf1a629c","e467429b5d588a6cdcb76587d8538ff1e88c6a574c7855029b99e9faa81502a7","b1e513cfe8a71d242ebdca2b04edb7c33624a5e46e3f72c7387478537144ff3b","2ce9f335f847338d25e74b6a800dfa460d1c02959f9d837052e7d47d0396c1ae","a2ec3c64e012294320eca1e860a234abc98f891a25cef5b92d8240601b89ae9b","a4f0485fd9c6133d2cf6574b70288ea49f4544d8fe6da2e367e0702b030c4fc4","ba5e4c01dfcd9c3e1a84ada9a6f9547ebfcd9bf76fc1e0f8250aa63112d410b5","829ccc49b6d32f39fef37a4f3cd964df11439719cfd05a633479bbd4a8116227","4100aee047b0ae7d2314abeba45180b11e396e2b77839c8a701776924ab748b1","9de4f0200c0a6648bfd081cd08b13039f8a89296943ef689ff708bb85d348b1c","f4bbdd4ab3199fc9ce2589211af7b6fd4ed6cebf0088599a6fecc4d11f6a9136","bcd04a5a0a86e67dda69b13b12ce66132863f9730de3a26b292729272367541f","2d86a6efd9a3924bd088c2e14a38bb584c2afd1833ddfb45e9a4a711869c4903","a11ba77c32b76a5d3bfbed16ed4bcdc321f3374e2a0f8e8ea5ed7704b5c3ba0a","3d21cfae4c52397c19fc6cb4decfc839e41532d00c6d4264b730e747022ab15e","6b67105ed49975c125f4472161bc996c19564b8eed07d67d762b0bd3a2cdba56","d85333b813aa0175226d8736c8320037fdf2f7f19afd1c553f9f05196116bf1c","3e7d04c9c7a4a8966226eed8fd1bd12462368914d2157460a06fd775dbefa0cd","5c445c08257e713b5bfe67eee956a5befe88be9a05b1534275e5265aca6eb896","82a1d9f11bbccdab1911e55017c45b723aa6c3a5c5da785f14ff9aa2def55514","3bd88eac730cafb5ee35b5ae13ded04c7821d949c34b5849238bd5c026311ebf","8dd98bf3983a25cdb076d31d5a6b4b18039d463e2c0e23b7307384c4edb5ead6","9c8cf5aa465386f10353efb80823dbed51e0d0196565f176c8111cc6026688b6","91e6bca66381ac9a853e5483050f7835d094fa0bfc0c5544d9b2519411b86706","57133d9d582a4f4fd436a33f0f42e682b1d39d69c5d9a5adad5d7e369c248b98","ef7990368a6a8c09ec4dabe518d15978718013846e6ca18523c2c283b9bc74ab","1fd6fea9b14ffa264260465cbb09991d42da07c6f95235e85bc1281d93e2ad08","fc8db740d2a63c970b913f2969f5ae4b8997deb46c337b8a11a81c03068360ea","9ca73f6ee630cecd2179636661e7b19094370b6851875dfcb6f80132f5c3a387","c60fbfe5d019ce9b911a4ccfcfa9e5229dc9fb1e67cb78495518b08490ac913d","f5e15285963a3485170f709701e8a0a867d637a0ba8ac75ba92a48b4b6c05afb","51cf45d64866a264925a9eeb41713bb427101c11f99e93defb3e72658c4af803","cbc60fb36a57868c4387e622948c3ada0b2953a9f1648e7178690ea37be380f6","b4e6ef7b866196bf46009551a7dd2b01300f95917f24d58d004eb72be6432553","a3dd80e71a8239407f2d906d1d838f45db15a1e433142334b1616fb1f74afdbf","fad4dab531c4e5c79f783f2d59aa4c695a9142be27c451462481f6531b7aaa4b","2e7768cb0e8204575fa0f1488d3d31ac95f2d5e920838c1df16fd34149807aff","c344ba0d586fb697b66bc665bd8d0b35e128b6baa5aca93a0b4c55a6fc9bd210","c2641084cb01af256e9c17fadf95749e6999d1a51259aa543111ce18d2ce133d","62f01f1e1ec4144979d99b918d3cbe443d14b4d8fe6d390e1e44549e9a217489","0c9d432c1c1c69cbdfc63f578b5a6bcd3a06c5be803c26a4b297b57f1da2312e","eec0fd4c7832b9d121698c7ee244bc98cd197a6ee42534d486cd9574eee40a0b","7ecea4c9a6cdd58e40a1f256acfd5a5c4b00e5adf7310f71a660bb2c4d1f7c23","cafa24b3e301a16117e5494de3505a8827c40849fe921b1f75a11f79eeb74ae3","ef32a2c8f06426f20a08d801238e167e9155a8341d1177a7446077be50c8a63e","ddf66648b065311cbc226d6585caa14b37f461698d525857aff60c988b66a6c9","c7e95e3e3988837ae5dc96a6f8b1360de33aaffe12be966418a7e00c8fc7f6c9","7172d4edfc661bc427a1b0f16cfd0261f5255a5a96f3c5add90eca4cf5c4eb1a","93b9f9aac69e01179892697a9d7dd1582f68582ddccc31e94d2c87f063fc700a","9982b7049712023c649e877e6812e2e06ed9249296f2a2d3b51d917f244be4c4","0b8f8981fa81638ca5a3d10174cfc199038b168cb3e7ac4548803f96a0d39d82","516160edba90fe695dabece2f2061b1f4410e1918e9e7d0d57c61c9ffafb3a5e","395981256c3a1af362058fe97f7195d44ec3443260b96766649e6f4d85513b42","6a26538b86e3044028bd01bba54f4efc5c62a7595f96191834513f506109df74","a6c6c2e81efb6c03547bcbe8b09b2a94f0f7f5ec3234cc2123bebe7487749c83","bdec7c3a64765eaace37f2dbf32944f26cec6a8cee4d5b77ae4d07c90e6fc970","d537ee66e2554c96c63ce60caf28076a7478bb34cdd8f88809abeca7931862c0","91252869322804ff931952f9a4c12301681f0728ffc2e574d7c858d04fb54a6d","86de9d676578eb21786318470077f0764a0d2669b032bcf463397142a1c9a163","0aa40ede23b85ee78889e97ae8fec583dafa733b32d269d5928911f62600219c","50a28aa624aba5300de078cee97311cd1da1bd2a9f936493c423e34b96dd9a0c","a9db178b3a5707bd21d051cb626988b29b61baa60d212d4d0fe90b62c7d58716","7ecf0b80eded1937eecbddb36f20cb2d7144fd430d5b1d25a1855207a0fcd381","c88ded4dc1952ec6f5f56b398dff49eb07b8a2838cbe5f0e9cc7553d74236685","845a152b65ac30d47142fbbfa19c73c7d849a0a9232b01589ca847cb96d74c16","28ff71809d8e0194822b92fcaffc2a4f22e56603e0e5fcd6f286fc5b2398c1b0","0d8fad4fc16a5a0f5568e4ff597e5c9556fe2a1c942d6bb84fa8dc228f9bfe14","868be3b56c220bf33cbd7fceee7818aec5d4bc2e0e49a382ea1a53497c4933db","fda33341c6373ec91c0c4b1ab8af633cf7da2a9848aa797997ec2351285e5178",{"version":"3d3ccc1cf11dc39bdd9ef3d9d0f1a6c0d63b59d8110b87e9e7369b2a25236b79","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"47f84f10b9c759f75c0a9ecf8f367baf4995c4fe018228391cb65e689ba46cf0","9294e09a3396e7adb3470248873caec3de1d771bf2d233fa5bab1b150870a6fa","c28b8ec18d8fc89d4117d18c278a850de5a29cb3147195489709bdfa1474dc5c","4fb47e3c233f3597f6543977f8d2af03d350c0a6a3483176be2550606cf8202e","a9d0ff42c7dbf3edb3d2bfaf0ec9e6921f97f0a9de070852a985fedfa35e48f7","42453b0f1789cd76ab9b9fed3ad6acedf70ba10c7d0dc6c40cb95951db618d6b","a845229f3a271bc00e95882a44e74f2dda5551e399bbbc066d6ef508eed99916","06ea97d41486ec229c47a5e16144e373e2fffd4a26181a987338ab13d189efb4","1c24693cb55fb0478c6b446ed9d5ba4e076139601a84fc16717987b974077b44","91514ad47ab59e654f4a71943fc6ddf477b06f821fc04ff698e7340ecaedbac1","35653f4b93ee91e2220f372f6bdb446759e0806df2c2948f3e718424161a688c","9c2db9c634f77374074ba35536c510d7abee72b748c6f584254acecc3d9a06b5","fd2b097c9361b5a9910b56e0805a38ef62cb09af726fcc0002b7a993b7838f22","6f42db9e79ef2f8f75b792eebb389950497a58cfe1932acd09b09bd256acdf58","3ac44a422e919afdc3e21a9b4d626673172e18b76b97f730f8d4c0bfa6411565","a433c2f564a3c941eb05cbc41caf7c0d55c0d3c4a86d3e6db793a83dd4ac1599","af62115326b735db1b0ffaceda6fda2e1dcbbb14c5d752a99323d4a65b8a4198","aa5faf80aa97adbf6767faf1c28df7ac42aaaa8ca1066d7e03bc64a1cdb0056e","ca0fc466697d8a2252e0f721b1a88fd165fddd73497c1859491035aa61a0cebd","6f1c5a6ae31084488f48fc78f8acdc9f17b0833004102a9e1c8ad405335a2777","7b04f9659dceea386d3e7a71417a88636cbf7942b0cf313a973db9e79fd4011d","a60d106fc617d5a4ef1d784b430847d270ea334fe2531ae2a4c06c6cc15cb614","d2d9657fb39bca36caecb3d9d08e8197cbf639e6e33b661131fd656f3ea15b1c","e3a60f48af0a29cfc9238f1e2a8fa21624f1c8f80150814c2f6489934dd9c889","b4e723b6cebfdab805a6d63f9127cdc8d6c310993ea2503523247095f973d4ec","7f5b3c5d1485d10d9f6bb1e48b6467331688d23a7fbc4257664a78e971cf9985","60ca9978647761b3c40c18068a1aaa8cd477899dc92df68b4f2e1e92c4d9b8e1","1e218fb115c7f697af3fd2b276ffc101ead9cbff02a69779123c24afc6b8cf9d","c54217bffbff1434b1f05c0abd161e315f2cca16ceb2274077348a789f914f67","b6f843360b25e775baaca51ea2a574fa18fd59294998925ea720fa95b44134c9","503408eaf5058213cba791a6b7d06b66aa5538872131316283335e0afa90f8c6","31781da84adf99ff7412d91c3b592854f4c13685bbc85f781fbd5bb08bf8cb0c","75aafd13ea88e55ac6bbe55813ba03ecaa31b0d7d8128f3959108cb4f91c1ea5","89b2af233f8878bf95ecb8557b39d18ca821c6aca5273044a1d9496a4aa1ec33","a31dc99e8a4fa673b3e4251c6e5d741572af7936dca59978eba45817114f23c5","fe2e77e59c5bdb8fc8ba9823d21b3b21960a5702dca86e82c097065860f14b25","5634484f094491a24dfa775e2be5d6304b4517fbc54065e7ae4e6589b9f46563","d18160b08927fbc0370511df6bf3c6147fb472a8c2638f82096ba4b92aee8103","d75b6926bb6986e3319419943ae6660d487f483a8995aa1489a47046a387cb0e","d301931e78a7bf83720b67937598beaf2fa1604b6dfeb24d256881ab439c717b",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"b9bca31471abd55f6bf648641a3267c7176ab0052de43ef614646284809c3990","signature":"8fff57dfffe7f0bddd41267bbbcb9034d0f836c7cdfbbe3d998dbda9851b7538"},"77461e08bea619444df98b1e404a4eee2320ff30e7db7e657db70a3c799ca1ae","b1b98a42f3f6de2b9661cb1dae8f6a3bc514533d11ba54efd531e09adcac5d6f","5e5e278a6c6fe064c0ff74094f13d09a9608b8ea49c8ad06b37b457e5c822f21","d4b09a3550aae362905da95d0120246ff166dd5fa63a0a5faa069761484efc1e","bda9470a90487aafeda418220fa98d8c58f2d0764d5f25f517dd8734ee9774dd","73e31e7ab4cf17f89c7c3f9118282b871ebf8c648205c2b684ce3c6b1ab8dd38","506ef97ba37c3153a83c53aa742b8bc271e295e68a7f7f3015db7770696a17a3","c7133873697db1e243d43b206b6ec01b961793bd94b0285ad1621565e10825eb","b5782eecab1e0c4dc090000bffe710cfe76649d3c4480eaa142ca8a8e5eafa24","e7d5b3fe910be641ad98b54072c90423a90d285108b1aa0fb440b27bb31bd0ed","eb698b0678be92d270fa5ca69c70c374e0c9b772493c1131a383113ca8816e41","a46345bb2e9bc9d4997808442d6b6000764bea01e82c5097b8d32bce1a29ad06","1795d21b51b716119ec2ab8358c6161f39f039b95489e2964331a0fb3fc2fb91","5c0280f649695c072e81977028ffdb862d696ae3e2a291457784ad65407dcf45","a80c0352e00303ff7024dc349b538b3be352e425ee7774e4c699379359fe0cfa","6fd3d7ca0eee74a1fdd80cbf29a1fc65d8d187e0b53c2478dc7a257fdea7ad14","c2e0b5c4fea9d7356c237f123c25def45a91460155e9bde4d2bf54b7bde6fef8","3e458159a6f8b1fdc6abfc84d64e922547b5c29a59e8bf1024848dcfa350eb01","4564829f496d3b88a825693afe441f4d64c342487e7b2b3e27cd81edd2865b6e","a565a3f0158a047840f6057866a28369791df2d3868389166db88d05cd73f0ad","664c4264d4ff2df0fcc2215e3b4ed49a1ad4991a60999c2025fbe0d81637c443","ec3ceccf5b3a0b7aa261fbe09fb4a88199f193de54c6578490e6f6c949e7b182","6df84c050f9b624825247c3a35b27b90005b40dd61ce395bba26b08a86da0173",{"version":"921b36b49f184c72be358fc3387b08500af658765874f3fcf9c3e54a66f2f3c8","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"c575b861350120eb188e36643902f50c4c95dfdfa99f319118dd4032a684f357","signature":"4f792de60b8e7ceb2b0f77689be6b6ccb5f2be4a11c6f714afe477b475052ba9"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"4ee3bf01747944bde62be7db61a11a23575475f8e540cfcec24ce326da318948","signature":"22acfb60e12c9e194f5e66c2a7c2cc5bbaf83857aecb053b1cdd53efdbc8288e"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"1139f32dae7d552a6debc96d36389108606f8dabb4fb6c313d8f9ca0b0ebf96b","signature":"f347a3f9f9105a8c6a5e34d17ff8a2b28cef41c774b68f2e3e868312ab8428ba"},{"version":"d3e1a0b76104e6da501ebc1be7a073cc89ee9f3853cd834e76ed389c8077c815","signature":"f2866dc5699cf33decd630c8d4071bbc0d8d812036d70bc95dc2599616467bd3"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"69ce9796b121256de68180643d8f418b5551fc17c6e37be0a8615b2b73fb064a","signature":"877c71e6a7dc8bcb1ca727453f53cbca541a55562e3600f0f0de42d325a3212f"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"f9f3f98dca5ea378cce212d4cd89733ec2d976c6da66b4c75f33f5bc1093d2f6","30f1c7606e663da2fcbb7a040bff88a163812d2ad5e3895479e8470b58f07c0f","10140f9820b668e6bf65d747437068df02a9f6e994e55e4c6422259ecee084b3","4e36ea5aee2a66e82249367d813966b0916097cf9ea420349036c6fbef4146c0","495114c33cf472e7fb7d1a423b5fd75427fa82bfe6c2807a99ec373bed518d72","3a8751b6fd22b4dd21e04fd1a61512bcfe8a0600c33c6b091b0d95e814e7b177","d94a6011e6638c44150188268695489a332214b3835b3697ddbd78fb062d9dd0","4531c4e014df4d29708e55174bdf64520323dbb9254e2034b5b8f6e9490d97bf","573a6f2379b3f6d5e7fc36e691e34600ebb8ab0a6bd2682b96d9721b1a8059d1","15e2c5015d44a2b55df5eeba50dae228f404c7daf8910a50a8bfb159f63ab9e6","73c8b895ae734fc095273ed81f6e2ee2108c9268626bc9bc295ef72b3a1ce8ef","8639d3940e64e07c47579793f7c4add0422cc985e9f2cb0e9579f81f149504ae","e3cd075e7df0038318e173732a8d326f6cd040da92045a78af1140f9261f2568","d5499fb1feedc46b53f0e77c7201a24bcaba04a6bf9ce11bf0a2b96c32f10a68","85fd3e2ca5bd2381e08e45c370af340bf4308c9039a40d37cc250185f91eb330","6b136cfef6ac0e1cfde0ea2fd4d1c17c022c5b3d51592dccfb3b56353c2e6b1a","97babe2c3c84a74019559529a296f94a2d0e84356ffb837f2d3d653da6de1fbf","429349e6b779053c191cb29b12bae9f06d0970571fe47ead5d8ddc588f23818b","fda3da7aa15d73fa44ac99822f31bf4767a576db7c726291317d876e7846b937","36ee3b67458d308f7f75f8a8907e41b4a269de73c84c354935332af87797921d","b46e6db5aa43eabb567741d2dc92ca5eb9f0fc368357ebec02c42c8ebb4b14e3",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true},"f2d2d91de69fce66ae234019bf19498a996db213872fdc93b156d10eeff5a024","b3a98e8b67d802052c0ad867922743c87cda4c1fc53ae47faed880917f316022","0700aa0e353f816c408d4397cd77ef1509342588f45b65d9d3d616f421502f60","7f4f21af940c59c8f73d432c2a1c33084a861e9af63051ae0995d7bc36a87083","47db7253e3a5b0751035de3a5cb7781ab69885f82021ce5829aeacc9dc3f800f","5a22bf3611194a0d76884b3db71ed6ce1b187784cc6e82eb640f6f90615d2ac7","10a98655b5004f205d644bcdf76dab8fb3a24e9b4d16c6a662646c505d063ab5","e91c0d18807b1554682e1b6e1ab4b1163c2a7bd0e7bf0e1db95a5f370dc88521","12d55621010f9bbf7c3f350ce2ee65196e1868831f7e6cf72662f9c56ef3de6c","8834542917db95340d2f54a5da2cc4dafa2d6fea37d66707c9ba2c0fbd65ac56","1e38e79884cbd440fefc5af70b3d39e12cd9fb2e91bfb0c6d547b4347996e723","d68b8f1244eb6ad752dc795c9ce124bb50eddc2558179ae5610d100e7b5b814c","bfcecc03930b4a53ea87fe95683e4f1a6a0dde7381681ad48097c6ff76a54102","95b40beddb339052d70695b5d92bf6dab9a9c6217094328391901f57501de42b","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","28cac2e4cd57b4a5a21d52af678c33e0f4e59d7429678891a821f198db50a454","5e315f58156c203360b5925dc469f830a13d83655c42ade472aee07fef269de0","032b5f9e36a973da01d121491ad023656ba756854c9db6c0516e9c336fbb7862","7aa1161bc4ccec053b6c1e2b9e641fdabac7169779cf35fcd54d63212677c288","c5bcfb5b3606412b008f3babe6846b4927e369159916d3e31528882e25587b67","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","3435cec2d6928caab4a2c43ae290a72e34c89682a6a6887f8dff768529a2b8d7","b561cd703ca0b908c800355587c02e0c661156122530a5ca8f38a6f7ca76d9f1","7d09685dced16070e0092e5801dd6ea996ce76ac0df9852604982fcedb31becc","1303b3f08025ede7993a094b1e91e22bcb62758ca6e31a47ccdaed86de34453f","b561cd703ca0b908c800355587c02e0c661156122530a5ca8f38a6f7ca76d9f1","a2060daabf477596c79dd0ff40e7fffdd5f891b452335cf1e2b76e49e9801b49","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","c4165b29627fca8c10d1abec3e021dbcc1281f08eee0ab95afab821918651958","87f0b178eb55e73830caaee7919ebf1268fb5c40fe47bce767cd2d7629a44717","d8cb69683211b609db45d7d446cf31ef4a9f30ecb1b4583ebfa42828cc613f8e","0d7ac69770bc84f7d1aed70a0f2d82206d149604b5ddf0cbf5ff392406f0f27a","a798d0d15869f63b9f383c5e1265e8d7b5e0f84181d62b0806072e53ad52d6e0","dfd7e342b20e0766f8752179f13d49f9c0f43c4cc1fed9954bdad782651ba902","3435cec2d6928caab4a2c43ae290a72e34c89682a6a6887f8dff768529a2b8d7","8cff76d263a287a10227241ee1fefa4ec5cdc7026d503b278837bb295c22568c","d0b951e00ba5730b4c31a83e50bcb8faf3945042309a92fa22d18b738cc8ad1c","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","b0ac49c3fc1ea98cc2e02e245de2bc98c0d80062e9fedca379d7704652661723","8620ca455bd084145a8cac4cfcc82fc89b6ddd23a604f4a67fa3ec0da71da315","c03f1378b65ff3b24845cb6d0c4ab5822dc828558dcb65433a0b2d45bcdc6cc8","f6241bdd3e97c582e867bdb0ad44787898e664f25372ba65da185e127fd3c09e","ad687590f999dacf925752b19aeeefee0da0eed59aaaf7aca093c68c2d70d031","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","78afeb65ace2d2c73d8a490e4862c414f8d7548fd8c3a2442e0acae7455f697d","fdbc67a48a8bdfda11eba5895a10c646b42df1ff36ac972bb68b8cd30fcf54d7","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","b8558f896e7b51cd5ec060a4414d192013520d0655a5c9afba5602e239b68cc4","7ae9bdbc119d322babb1805ccc2d3c6917b9eb5835749a2ad88f7ec1f5ee0ba8","fb724be8946142e90d685e6cc5685f4744f972a9a4f637297533d07dbbd9d6ce","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","81a0056c95c5894f04778e642403d61f190ff7a5287e3558e9481d59868e2c51","319376b531de69c15e647ebe15e4dc4cdb7576a28f4a81380f97f84d89e3be80","c7e26262caaf8fc70ac97ef41a37e50c98973704d62dd7f79f72ca80e6443c9b","7347450f058389e5cd0aeb7b4a205e8a225baee820b2ed28d5e8971793f2ee94","b39bb4b6ce62a15b986f85f9f75e111bfa1cc7059f8cfadd83094353be051408","6eca582f214127d5e70fb5c7d7a52ddaccbcd4990f1886b0d684518ea89807ab","31ada020d9a7668ff1899f1cbf31dacd65d5ca4cb731c74b5493a0f5dce271f5","f82984b8375de304eadcd43938f0b9967f993cff251e762fba49526d9b921d14","09898b8db1dfdfb0aea25a70adffff507671e643e4a112e033350c06eeaf989b","fcb4a735202385a30e97e9d8f5d00aa17105e5e6e68af176fadf250f2a500e37","83488bc112bbd43d904a0b96911d1b71d9725a0004aac7fc46de8e09b1d53a23","1174c1d2ad97c769186616321a2145d022668a7e74ce0ff341971daedfa6154c","c22c37ac8f707477b4d69c280c4ff8cdcc6bf5907f061280eca0072f38e04810","2888895b1588e20afbea35fc92ece80c310af5b7b3fa2bb5576142e6add41442","4b993221700523a05782de87bc71c74bbdb0e791f7cfdc11aa7b4ce6ecfeb300","2d3b5d752096f82e05f8664741ab2dbeff26750cadabf65877653357b785ed43","9b66005a7e5c58c20fac57cafcb0d1ec5cc243df91d355035b5b93fe9c811e41","ca4df64273cc7d0e96254e02d6ceae366eace4df6bbb2b8caf35f38d9348341d","fdc516ece7d33203cbbf503fd1b43fb89b969365b6c5b6552c65a37fcc2138af","25478f7c35c6cc147786fa39aee2ef41f1e9dae95a947f00c9a9f6ff5d8dfc2e","81a0056c95c5894f04778e642403d61f190ff7a5287e3558e9481d59868e2c51","7aa3dde497f25b65d420acebd19354a4495368f6de1cb9d82074da62133db9c2","eef99c2d020325efd8fc2b21de171f71dddcfdededbe3acb797039e1aecb367e","eef99c2d020325efd8fc2b21de171f71dddcfdededbe3acb797039e1aecb367e","775780594dd67c23713ab139f06935f890b1b1b394c85d3522bc79393bdcbb4d","a2ff87dfedb2ec15723094a0b8370d1e5f795838fed73f69bab109b237515c38","2c6609d5a162dabef6404ad6f731327aabb6eaf30a877bb9001fa393f349a680","2e6e36f9c27ddc01b2a104b92ca3f178945b4ec375a3bd556073a3af0a4365d3","b01ec93f00d618730c453dd3fe453926c5fe452a500245014b8fb64e104adcee","fabc6f872dcd6208ab4ee5328c46ffe029e285d936a36152abee239ee1fb99c7","adde1222d7d49b91834b20b75686a762ed0726f5d34dcbda10a1aafa9ba419a4","ba3c7425794b5fe14eb7329ff97aa00f649e82d4891061e033db161b599663af","ba2b1305141ede23483b0f247b2ec3637d7b038b37598346692f7e9e08c75d2a","becea824046b5a36370b7956d271d7fd5ec033af2ebc78c166e360e602e97b92","f945d505b83c966214b80c53d8e7a2d77ec36a7e7a477a88cd09542d183ec83c","af1a9850747573f5c950082157276400d8612fede62af01f8b45629ff61bc975","4d3da7d3b12b46bc9d226706c12cb04387c74038f6fc651d0ece5fe6987230a3","f08169e1605cc96786b8e4a0cf19d853b8f585d25084daf009dc63e212e35c59","cde20424d6e6995855f4cb9f61c067cd215fc1dfeab88749350a4f76253ffae4","c8311ce839580c0875f9ff6aca0a9041f199aac8f674856b77c388983212bdf5","24cf439dc53195a9a22676407e7011c58a362eb5fa2fc32971820556959432d2","fb1fe16e53cea82b5ed56575c7c56671bb7ce502858e7ad5be512cfc816da29b","cd8b02b35bb2cdda78cf08448d5771a4b4f911c5743512a0fd6a6f23979c4dac","4392be558b8509e9624975f047d73286a08d97381ee55899b0227b670b2284bd","b7341adf64ef336742c7b4a68945f9c6e715d15c0ccd2eb6eeda503b39d92653","8fe0068df1a39fb8ecc14562adb77f5923d93f049e3d8a14a76982d0ef49ed80","a56df75b4f9e15358ec312a4ac991e2ab4cbe9656a99114c44530a51b1a0329a","2c37d3aed9fd6034ada2871eed49aa1e532444bca0bbdb27fe6d9cd4e4ba1d6e","8c6b5041b4b9dcc18c40d8d0615028e759d470a4810b1537bacfbd20c92243c4","e53e2f59a1b10434a1eeea3ad2bf0ed363ba88aa01681d68422dc9044ef50d52","af8f17871b68bfcc90f5941444844266c7c0a9328db0dee1414f47d0d1fd8e88","13fdf424f48b67e5fd7e4f25b6400a7fbdd28a0cff99d7d0400b76e4587a8879","13fe00c8acf8d4d8a50aee4c6805faa237b832e8b182154142647ab097808f6b","3cb14bc0d01a1bb99bda29c2366d570954496704ba8ac1f73060ba6ae99a18df","50f9dfb63997fcc83723ec64d6e7c07394022e994dff7984c55c31ffbc028e5e","b1e295cf3c02dee08816417f57ab7559906e55d706dd2b78f8dc045f88d93aaa","9bb720df292acbfd7e53bc0e8110b291f7ef83c16189da325eca9a58ca26ff82","f8a8c916f284fd68e8124f98110847d724fc503bf472a32eab36c95298920b2b","9803c925f6d559f0bce9a0e938b3ca5b192eec1fc5f0e727a75f514dc08f4e49",{"version":"b93e7bb0b556ded822cdcf1fdf2def46dc9dec23f9283101c592885e6a9586df","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},"892621c0131da61968e74ecdb17cdc1cd456e5d1a2db6d77f297c61e4c0773e8","6a8cb539556c1fb6054fa624bc691d0560e7334c06da3f1fc82e0b18e61614b8","de360cd42110490e00c1bb52af87118d5044a8a8054d8dc574087821c9f10b75","8a6ccbe6549c01938fa62d1682f5f1e987ac1924672ed8c8f5ab8d825719decd","7ab9bda66d3066b6164fb656c0c4598fcea5aac89ca96c2da1e049e41769acc8","12f6b1e992132ff669f790beece38ecaa19f2f0db75b7eae92e8dcc5f22b0a34",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ffc06cc59bfc4559f4845fd58694e934c20e4271413c48e4b3ec35a2afbd80a7","signature":"b4c749acb1b02fe0b336d3e89a98d3ee797f41144e7a2917d69a86c012fe9c5b"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"224212aaf624457d4d33e5b8f2bdc2a97ba1e7e487577ee239121a7be84a92c8","signature":"9ee11ad4f320cc402171301b600f529964208d145c82f986d89762679ba43d81"},"ad46be6d7b16fde6ba09fa11a8bdaa963a076d10fa85e8f7cd6a0904062993e1","e657d17c2b9494dfd8a9c6ea35a50214c324f9640c3fd9d63f414bd1f806623e","caf99be297c13988c93dcbd85ac2a65e1a44a428de6c6281478f21686c18a11f","1de8238b7283b31b2cfc8bf4c08c836223d8cefe4fdbdebebf580c59c0b539a6","451a214b2ce4d71b0c6c87a8a10bd4f0bb9d70d6630527da1f3a6fbce0abbffe","21c91e8fd1c8469ac883a5d0e88ee2328f21e761f0d266ef413b0177cdd14a8f","028a4ca49c9f57503e269e11143d17fe86d07b57aa6ad0ff033e37f90069720c","8d0d9d6605b72eb8a2ddb127b630898497fa49ed0adc018f8af55b6bc008c04f",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"76352867f048fb1d055fc08a535f66368a3da114087bb4dfbc5745b73326a9b4","signature":"fe91775da1ed96e5f3cce5a0d62e81419cd4d9c32f478d2913b6fe2a199f6446"},{"version":"a6a5edb26bbc5319a89418e10393eb4f2f61319678b36dcd6394f4963626becf","signature":"5d0aa813eab35a144b4a18ce7beb91d9f22e61452f89b89cf892b404c810804e"},{"version":"17b09eb510cb668276e7436893c1419927f032eddcf579a349b42cb722c9c4d3","signature":"30bb526fbe0a8035ee3a97f62a7a15e126f5f3b4049f306ab134cca27fdbd877"},"ac607c31d42e0aeadc871af07a970af6e76295d63a89d78b5cb8ca27cfea1c8f",{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"3a77ffcd5fccbfeeb51ae6b89047dc3658a172db8038782c8b06d367bd63360d","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"7bcb15e7c7cc0700073c85df48e2ffaa178f193b87e5a00b3eae3dac6fdcf18f","signature":"5d36df79871ce6b50ba986cabef382fa5727402ffadc2f6e75eafbc71f3000e1"},{"version":"d593f9b187455fdf42acba09680d4a16247015f618d41092b6eaf29a9ff3bc9e","signature":"f281d14d888f10a1131ba9da34445667a044737805d87cd4b1854219abce4814"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},"0037b0b3380948406c77421bec158bf7cfbca2ec515e04d3739cc5b486b2c5c4","7d9746262041fff9f56e7bfdc4002aa778b31802a4a3a7e88bb02f738186ba2b","cd7918c44d49973232c82a59d7e2fc99101a9d8df48eecb8ffb74b4ec9f03b7f","43c74ff4793d3f39ae5425d40ce993bc7c1587c340d57174f6e39b2322042aed","1d3d8f49c18ff44b8eafec5c28c67e3857e5b248f33e124b520a3ad5eddd73a0","3a3ee5c3cc2042b106a322c9585e2ed18f4092df796e0dd04abfe72b5f3db612","9f92365b21a12a8f9b0e1477b43c426d9a35b0330ebb09737f51815b41d0ab15","1cc0ee07534c288517bebef6046fe23fef2e2a7aa54ecdc7607cc5f09f5c7267","6216d6b951a28da6416554cb33d2337b2e42de4e0dc0410f1904dd334c5524e8","49b35c9171111aad770a01e3114523cba5aba348d863a4bfb84b92a46434b81b","dd460f019b71074c979aac0f415cfe6723c067629423bd665f696b4de49593d0","bd26ca4c5ff3ca39fb0dadb511926c397c3466458e7e117f0b6c5ddd9dcd5a88","b912aaa6449f0fc33a28fe0560ac77186afea745f93a7b9b55405309c3f331af","97f315672e8bc8fef3d2991b1f06ff5860fa8185b952ac0d648f05633b25835d","2ca8195a4bd7534233df328b9a8363001068fea513f5c9546c42e6c2f38d1596","53cd4ba4cff7857d22d822f45d996c83cbdae8e601ee63a3b2c80dbee3f5782b","f289516267bb1a806b883ffb1549cc016598f89e6aa0a3d31d0db6c6c1fa9473","a27a60405eedf0870ad380feb0f170a012a0c322aa3ca89004fda5cce6c59bfd","19ed885da368a9bae375220d33479f966fe59ef4296e7cf5f1a7dc1784b1e2eb",{"version":"220ae7ac6878340171934d6c237ceacf2bd9b02a1fedb0cfcb34e8979b3e9e84","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","signature":"da14a67372982ca6e605fea114900b492b3316618581634e0ce72afbcb09baca"},{"version":"8bce268aaa7f883029138a7138bf3655f976a414adc00fa0af9152321f80dfd7","signature":"ff972b31978df36bf5bea6e1d53e099af1f477227829093ccd9c9ce68298c739"},{"version":"69ecea2aaf22da7ce7d647ad29c8f7b783f098d07a1953c28a491ec38b6d7e9d","signature":"1365572ec08ff4e77e73be4a664ff9e31389e7a0d0798692c519ac74c0f746d4"},{"version":"ddae87121b9cdb5b07b8be308c1cb9e80d44a0b053af7c613f03761db3eae903","signature":"81e01a920a089e44a3c69249b4ea2d2ccda445e3ef763cdece2ab57104e5d282"},"467220c0854e91341b8efd75ae59759cbc518dc1fd87c07fb71699f2580f6a91",{"version":"34904e61f7bcde52f7161922804c34ad785ea2f2431b994c43ad9178611db857","signature":"fe23f4b686e191a57f63331b1016a7c543e2f86cd96e678d9034ffa71f777ba3"},"9f516737132195476737f2113aa684138738d1285a8bc4d36f403fdcb220fb35","947ce778adc2efb03431cf740955df030620dd160bf6176c0a6e414e57d1423e","780821233ebeb2dd4134de92da1a24f5f56bcc558a2e0dddf76b7c5dd572e20d",{"version":"38a6de73d94fddd9e0c6debc7d8790d1050b8b3c23c9a71865de74c26d31b83d","signature":"55bb18d80ab4836734d6b6075750b673bec340bcaed10fed842407a1fdeb3657"},{"version":"3a14e17beb52aaf8f037bbeff8c0479407bb5893e8f55407143430cda8ef96aa","signature":"b52dcd199c97746007e4589749483d8b943e6bac0bbf6a90c0b9c7be86f9b793"},{"version":"e389f6f63acbbf67132e3bb8c2780884bc4769abe8e19f18a45418e5af21e08b","signature":"fdfbd78f7f5c54884fc2efd20efbd81968b887f3335c974c94dc3db6dd58c02f"},{"version":"abed2fcecfc488c97265276567a7eaeac7acb0abf954ab6fd6ccfbab2243b3e5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","c5a251297fd8eeb861c0e98430de6ea5099e8febac0985edcf5d75feb4c6ce27",{"version":"fd66a97fb95c2ba224478a122a335c2d89202bc5b989a2d58db6aae3db2f85ce","signature":"776e8ea041798d892337df5348635cfcbc1fe9bad68b87d2a8a6f6cbacbbd72b"},{"version":"7adc736dd362f3694bfa0ead421710e99a78f81ba82ca176f190f95d452ea921","signature":"9c60c89de612b6471ab99cd4b57bb1e2b3b5821d9cf81723838d6c8324ed2c36"},"ddd578018a259d1c494c834bdd8707769d07d1eb64f87f5217560cd2181b9e93","955133b47df2272da61dbb50fda84b0e0732d96f5614a373718719b4bc429641","3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"49026435d21e3d7559d723af3ae48f73ec28f9cba651b41bd2ac991012836122","affectsGlobalScope":true},"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89",{"version":"b6a4a51bc749ad882c33d98563ff5a94716ca884bfde949a8c97bad530e4ee2c","affectsGlobalScope":true},"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49",{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","c9e6ea53a25729dbb5b5bb6960db4387df2f8e88add9cbf36b6ff590481134f9","3e95e6310d49db6d575ac6c2896c02761426aa5aab0b18169f971151c709b770","7eb0662b995994db248290a0f0a1d8ed685991a162ff9eb4dee36f099cccd0d9","bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true},"a019c9782ea4e21c83881c780cebce8ad86e3f78122619336eacbd87e47fe674","021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2",{"version":"089867511b37a534ae71f3d9bc97acc0b925b7f5dbec113f98c4b49224c694eb","affectsGlobalScope":true},"c874bfffe38a94b129077eaba4e26575972d545d5d04cd64e90c02d2c029ead6","f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c",{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true},{"version":"4ee9304173804c2c6dff4fcb8ad900619a4078b30d37f7e455236836e8e87a45","affectsGlobalScope":true},"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","d3e22aaa84d935196f465fff6645f88bb41352736c3130285eea0f2489c5f183","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","4b1ff655bd8edd879dd4f04f15338ce0109f58ccb424165d44fa07e7ea39c4bf",{"version":"6fa61015444e843013443f2e5ca6bee5f033cbf361f953fd932abb0c029b73b2","affectsGlobalScope":true},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true},"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","24b8c93eb91a64a6fbb877a295cfac4c10aa4660599970c954a99d33697534a3","76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02",{"version":"ca619678b887ae262316673b55bb358c517593d3b6b96c1271972716c699da32","affectsGlobalScope":true},{"version":"0c312a7c5dec6c616f754d3a4b16318ce8d1cb912dfb3dfa0e808f45e66cbb21","affectsGlobalScope":true},"d1ef1d8516286380fd0a6f498f1650d374a8cb5f03d91633b6124e4fb8fb131d","fecdf44bec4ee9c5188e5f2f58c292c9689c02520900dceaaa6e76594de6da90","2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204",{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true},"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","fedd311d427fdafac411b4e0edc0d1014668853679e021e04717a6de45ff5c0c","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04",{"version":"5c0aca385504ae10a42d367e71b6ca644f5012c56568a23495f44d1868e0a5f7","signature":"cdb9a6bec80e1b795ce332c1ce77969dd94d800d45da3b25253d5fcce74f53ae"}],"root":[60,613,614,618,619,718],"options":{"declaration":false,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"module":7,"noEmitOnError":false,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"outDir":"../../../..","skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","useDefineForClassFields":false},"fileIdsList":[[251,350,437],[251,437],[249,251,259,391,437],[249,251,437],[249,251,259,437],[249,251,316,437],[249,251,252,258,259,317,318,437],[249,251,258,259,315,316,437],[249,251,252,437],[437],[249,250,437],[251,254,437,608],[251,252,253,437],[251,253,254,437,609],[249,251,252,254,256,437],[251,291,292,437],[251,293,437],[249,251,253,254,291,437],[298,437],[291,437],[291,292,293,294,295,296,297,437],[437,673,707,715],[437,673,707],[437,670,673,707,709,710,711],[437,710,712,714,716],[437,621],[437,657],[437,658,663,691],[437,659,670,671,678,688,699],[437,659,660,670,678],[437,661,700],[437,662,663,671,679],[437,663,688,696],[437,664,666,670,678],[437,665],[437,666,667],[437,670],[437,668,670],[437,657,670],[437,670,671,672,688,699],[437,670,671,672,685,688,691],[437,655,704],[437,666,670,673,678,688,699],[437,670,671,673,674,678,688,696,699],[437,673,675,688,696,699],[437,621,622,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706],[437,670,676],[437,677,699,704],[437,666,670,678,688],[437,679],[437,680],[437,657,681],[437,682,698,704],[437,683],[437,684],[437,670,685,686],[437,685,687,700,702],[437,658,670,688,689,690,691],[437,658,688,690],[437,688,689],[437,691],[437,692],[437,657,688],[437,670,694,695],[437,694,695],[437,663,678,688,696],[437,697],[437,678,698],[437,658,673,684,699],[437,663,700],[437,688,701],[437,677,702],[437,703],[437,658,663,670,672,681,688,699,702,704],[437,688,705],[437,671,688,707,708],[437,673,707,708,713],[251,373,374,437],[251,256,258,277,374,437],[251,375,376,377,437],[379,437],[375,376,377,378,437],[251,258,437],[251,258,277,304,437],[251,354,355,359,364,437],[366,437],[354,355,365,437],[251,258,259,277,285,304,416,417,418,437],[251,416,419,437],[425,437],[416,417,418,419,420,421,422,423,424,437],[249,251,259,277,416,417,437],[249,251,416,418,437],[249,251,259,416,417,418,437],[251,258,416,418,437],[389,437],[386,387,388,437],[251,277,386,437],[251,387,437],[251,258,277,392,427,437],[251,437,552],[251,258,277,392,427,436,437,551],[251,437,551,552,553],[437,555],[437,551,552,553,554],[437,533],[437,531,532],[251,254,258,277,285,299,437],[249,251,277,300,437],[300,437],[303,437],[300,301,302,437],[435,437],[251,277,437],[251,252,310,433,437],[249,251,277,437],[431,432,433,434,437],[322,437],[251,320,437],[320,321,437],[327,437],[251,285,319,437],[251,324,437],[319,437],[324,325,326,437],[249,251,260,261,437],[251,259,277,437],[284,437],[261,278,279,280,281,282,283,437],[277,437],[437,445],[437,442,443,444],[358,437],[356,357,437],[251,356,437],[437,586],[277,437,580,581],[277,437,582],[277,437,581,582],[437,582],[249,251,277,437,580,582],[251,437,581],[437,580,581,582,583,584,585],[262,437],[276,437],[262,263,264,265,266,267,268,269,270,271,272,273,274,275,437],[363,437],[251,277,360,437],[251,361,437],[360,361,362,437],[251,277,319,351,437],[251,367,437],[249,251,258,277,323,339,350,437],[251,259,277,304,319,351,437],[251,339,351,352,353,368,369,437],[372,437],[351,352,353,368,369,370,371,437],[251,277,427,428,429,436,437,516],[251,277,299,428,437],[249,251,258,277,299,304,437],[251,290,428,429,430,437,517,518,519],[437,521],[428,429,430,437,517,518,519,520],[251,258,286,437],[251,286,287,437],[289,437],[286,287,288,437],[249,251,258,259,260,277,285,437],[251,437,446],[251,437,439,446,447],[437,515],[251,437,440],[251,437,439],[249,251,277,437,438],[251,437,438],[437,438,439,440,441,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514],[251,277,299,305,437],[251,299,306,437],[249,251,253,254,259,277,299,304,437],[299,437],[309,437],[305,306,307,308,437],[251,259,285,437],[437,529],[251,258,277,392,436,437,523],[249,251,258,277,427,436,437],[251,437,523,524,525,526,527],[437,523,524,525,526,527,528],[251,437,523],[348,437],[251,258,344,437],[251,341,342,343,344,345,346,437],[341,342,343,344,345,346,347,437],[251,285,437],[251,259,277,285,339,437],[338,437],[249,251,256,258,277,312,313,437],[251,258,277,311,312,314,329,437],[251,314,329,330,331,332,333,334,335,437],[249,251,277,311,437],[251,312,437],[311,312,313,314,329,330,331,332,333,334,335,336,337,437],[251,258,277,311,437],[251,258,311,437],[251,258,259,277,311,312,313,314,319,323,328,437],[249,251,277,311,312,437],[249,251,285,304,319,350,437,561],[437,567],[251,258,304,437,562],[251,437,561,562],[251,437,563,564],[251,285,319,437,561,562,563],[437,561,562,563,564,565,566],[251,258,277,437,539,540,541],[437,548],[251,277,437,541],[437,540,541,542,543,544,545,546,547],[251,258,259,277,427,437,540,541,542],[251,437,542,543,544,545,546],[251,258,277,437],[404,437],[249,277,437],[383,384,385,393,394,395,396,397,398,399,400,401,402,403,437],[251,256,384,437],[251,258,277,319,383,384,385,390,395,396,437],[251,392,394,437],[251,277,395,437],[249,251,384,437],[249,251,277,384,393,437],[251,384,437],[251,383,385,393,394,395,396,397,398,399,400,401,402,437],[249,251,256,258,277,304,384,394,397,437],[249,251,258,277,304,319,323,328,437],[437,538],[437,535,536,537],[251,258,277,323,437,534,535],[251,437,536],[437,597],[437,587,588,589,590,591,592,593,595,596],[251,437,587],[249,251,277,323,437,587],[249,251,258,277,304,317,323,427,437,587],[251,437,588,589,590,591,592,593,594],[61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,180,181,182,184,193,195,196,197,198,199,200,202,203,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,437],[106,437],[62,65,437],[64,437],[64,65,437],[61,62,63,65,437],[62,64,65,222,437],[65,437],[61,64,106,437],[64,65,222,437],[64,230,437],[62,64,65,437],[74,437],[97,437],[118,437],[64,65,106,437],[65,113,437],[64,65,106,124,437],[64,65,124,437],[65,165,437],[65,106,437],[61,65,183,437],[61,65,184,437],[206,437],[190,192,437],[201,437],[190,437],[61,65,183,190,191,437],[183,184,192,437],[204,437],[61,65,190,191,192,437],[63,64,65,437],[61,65,437],[62,64,184,185,186,187,437],[106,184,185,186,187,437],[184,186,437],[64,185,186,188,189,193,437],[61,64,437],[65,208,437],[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,437],[194,437],[437,632,636,699],[437,632,688,699],[437,627],[437,629,632,696,699],[437,678,696],[437,707],[437,627,707],[437,629,632,678,699],[437,624,625,628,631,658,670,688,699],[437,624,630],[437,628,632,658,691,699,707],[437,658,707],[437,648,658,707],[437,626,627,707],[437,632],[437,626,627,628,629,630,631,632,633,634,636,637,638,639,640,641,642,643,644,645,646,647,649,650,651,652,653,654],[437,632,639,640],[437,630,632,640,641],[437,631],[437,624,627,632],[437,632,636,640,641],[437,636],[437,630,632,635,699],[437,624,629,630,632,636,639],[437,658,688],[437,627,632,648,658,704,707],[59,437],[59,252,437,618,620,680,699,717],[59,437,612],[59,251,252,256,437],[59,251,437,610,616],[59,251,252,253,254,256,414,427,437,516,606,607,609],[59,256,412,414,437,574,578,605],[59,251,252,290,310,339,412,437],[59,251,252,256,290,310,339,349,350,380,382,405,407,409,411,437],[59,251,252,405,407,437],[59,251,252,256,405,437],[59,256,437,577],[59,437,577],[59,251,252,405,437],[59,256,437,573],[59,251,252,290,367,426,427,437,522,530,549,573],[59,251,252,256,290,367,409,411,426,427,437,522,530,549,556,558,560,568,572,659],[59,251,437,598,604],[59,251,252,310,373,382,437,598,603],[59,256,437,604],[59,251,253,437,571],[59,251,253,437,571,602],[59,251,256,409,411,437],[59,251,437],[59,254,437,612,617],[59,254,437,610,612],[717],[251],[256],[409],[256,409,427,568,572],[603],[253],[256,409]],"referencedMap":[[608,1],[350,2],[392,3],[258,2],[316,2],[315,4],[260,5],[391,6],[319,7],[259,2],[318,2],[317,8],[253,9],[252,4],[607,10],[251,11],[250,10],[427,4],[609,12],[254,13],[616,14],[256,15],[620,2],[293,16],[295,10],[294,17],[292,18],[299,19],[297,20],[298,21],[291,10],[296,20],[716,22],[715,23],[712,24],[717,25],[713,10],[708,10],[621,26],[622,26],[657,27],[658,28],[659,29],[660,30],[661,31],[662,32],[663,33],[664,34],[665,35],[666,36],[667,36],[669,37],[668,38],[670,39],[671,40],[672,41],[656,42],[706,10],[673,43],[674,44],[675,45],[707,46],[676,47],[677,48],[678,49],[679,50],[680,51],[681,52],[682,53],[683,54],[684,55],[685,56],[686,56],[687,57],[688,58],[690,59],[689,60],[691,61],[692,62],[693,63],[694,64],[695,65],[696,66],[697,67],[698,68],[699,69],[700,70],[701,71],[702,72],[703,73],[704,74],[705,75],[710,10],[711,10],[709,76],[714,77],[623,10],[437,10],[375,78],[377,2],[376,79],[374,2],[378,80],[380,81],[379,82],[355,83],[354,84],[365,85],[367,86],[366,87],[416,2],[419,88],[420,89],[426,90],[425,91],[418,92],[424,93],[423,94],[421,93],[422,94],[417,95],[390,96],[389,97],[387,98],[388,99],[386,4],[553,100],[551,101],[552,102],[554,103],[556,104],[555,105],[531,10],[532,10],[534,106],[533,107],[300,108],[301,109],[302,110],[304,111],[303,112],[436,113],[433,114],[432,4],[434,115],[431,116],[435,117],[323,118],[320,114],[321,119],[322,120],[328,121],[324,122],[325,123],[326,124],[327,125],[281,126],[282,4],[279,4],[283,127],[285,128],[284,129],[261,4],[280,114],[278,114],[442,130],[446,131],[445,132],[444,10],[443,10],[359,133],[358,134],[356,114],[357,135],[587,136],[582,137],[585,138],[584,139],[580,140],[581,141],[583,142],[586,143],[262,10],[263,144],[270,144],[271,144],[272,10],[264,10],[277,145],[265,144],[273,4],[266,144],[276,146],[269,10],[267,10],[275,10],[268,2],[274,10],[364,147],[360,114],[361,148],[362,149],[363,150],[371,151],[369,2],[353,2],[368,152],[351,153],[352,154],[370,155],[373,156],[372,157],[517,158],[429,2],[430,159],[519,2],[518,2],[428,160],[520,161],[522,162],[521,163],[287,164],[288,165],[290,166],[289,167],[286,168],[447,169],[449,170],[516,171],[450,10],[451,10],[452,10],[453,10],[454,10],[455,10],[456,10],[457,10],[458,10],[459,10],[460,10],[461,10],[462,10],[463,10],[464,10],[465,10],[466,10],[467,10],[468,10],[469,10],[470,10],[471,10],[472,10],[473,10],[474,10],[475,10],[476,10],[477,10],[478,10],[479,10],[480,10],[482,10],[481,10],[483,10],[484,10],[485,10],[486,10],[487,10],[488,10],[489,10],[490,10],[491,10],[492,10],[493,10],[494,10],[495,10],[496,10],[497,10],[498,10],[499,10],[500,10],[501,10],[502,10],[503,10],[504,10],[505,10],[506,10],[507,10],[508,10],[509,10],[510,10],[511,10],[512,10],[513,10],[514,10],[438,10],[441,172],[440,173],[439,174],[448,175],[515,176],[306,177],[307,178],[305,179],[308,180],[310,181],[309,182],[526,183],[530,184],[527,2],[524,185],[523,186],[528,187],[529,188],[525,189],[341,2],[342,2],[343,2],[349,190],[345,191],[347,192],[348,193],[346,194],[344,195],[339,196],[332,2],[331,2],[314,197],[330,198],[336,199],[312,200],[337,201],[311,10],[338,202],[334,203],[335,203],[333,204],[329,205],[313,206],[562,207],[568,208],[563,209],[564,210],[565,211],[566,212],[567,213],[561,4],[542,214],[549,215],[546,216],[548,217],[543,218],[547,219],[540,2],[545,216],[544,220],[541,10],[405,221],[384,222],[404,223],[383,114],[398,2],[400,114],[393,224],[397,225],[395,226],[396,227],[399,228],[394,229],[401,2],[385,230],[403,231],[402,232],[535,233],[539,234],[538,235],[536,236],[537,237],[598,238],[597,239],[594,114],[590,2],[592,2],[591,240],[593,240],[589,241],[588,242],[595,243],[596,240],[249,244],[222,10],[200,245],[198,245],[248,246],[213,247],[212,247],[113,248],[64,249],[220,248],[221,248],[223,250],[224,248],[225,251],[124,252],[226,248],[197,248],[227,248],[228,253],[229,248],[230,247],[231,254],[232,248],[233,248],[234,248],[235,248],[236,247],[237,248],[238,248],[239,248],[240,248],[241,255],[242,248],[243,248],[244,248],[245,248],[246,248],[63,246],[66,251],[67,251],[68,251],[69,251],[70,251],[71,251],[72,251],[73,248],[75,256],[76,251],[74,251],[77,251],[78,251],[79,251],[80,251],[81,251],[82,251],[83,248],[84,251],[85,251],[86,251],[87,251],[88,251],[89,248],[90,251],[91,251],[92,251],[93,251],[94,251],[95,251],[96,248],[98,257],[97,251],[99,251],[100,251],[101,251],[102,251],[103,255],[104,248],[105,248],[119,258],[107,259],[108,251],[109,251],[110,248],[111,251],[112,251],[114,260],[115,251],[116,251],[117,251],[118,251],[120,251],[121,251],[122,251],[123,251],[125,261],[126,251],[127,251],[128,251],[129,248],[130,251],[131,262],[132,262],[133,262],[134,248],[135,251],[136,251],[137,251],[142,251],[138,251],[139,248],[140,251],[141,248],[143,251],[144,251],[145,251],[146,251],[147,251],[148,251],[149,248],[150,251],[151,251],[152,251],[153,251],[154,251],[155,251],[156,251],[157,251],[158,251],[159,251],[160,251],[161,251],[162,251],[163,251],[164,251],[165,251],[166,263],[167,251],[168,251],[169,251],[170,251],[171,251],[172,251],[173,248],[174,248],[175,248],[176,248],[177,248],[178,251],[179,251],[180,251],[181,251],[199,264],[247,248],[184,265],[183,266],[207,267],[206,268],[202,269],[201,268],[203,270],[192,271],[190,272],[205,273],[204,270],[191,10],[193,274],[106,275],[62,276],[61,251],[196,10],[188,277],[189,278],[186,10],[187,279],[185,251],[194,280],[65,281],[214,10],[215,10],[208,10],[211,247],[210,10],[216,10],[217,10],[209,282],[218,10],[219,10],[182,283],[195,284],[59,10],[57,10],[58,10],[10,10],[12,10],[11,10],[2,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[19,10],[20,10],[3,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[8,10],[48,10],[45,10],[46,10],[47,10],[49,10],[9,10],[50,10],[51,10],[52,10],[55,10],[53,10],[54,10],[1,10],[56,10],[639,285],[646,286],[638,285],[653,287],[630,288],[629,289],[652,290],[647,291],[650,292],[632,293],[631,294],[627,295],[626,296],[649,297],[628,298],[633,299],[634,10],[637,299],[624,10],[655,300],[654,299],[641,301],[642,302],[644,303],[640,304],[643,305],[648,290],[635,306],[636,307],[645,308],[625,309],[651,310],[619,311],[718,312],[611,313],[612,314],[255,311],[615,311],[617,315],[610,316],[257,311],[606,317],[410,311],[411,311],[557,311],[558,311],[381,311],[382,311],[340,318],[412,319],[406,320],[407,321],[575,311],[578,322],[576,323],[577,324],[415,311],[574,325],[550,326],[573,327],[599,328],[604,329],[579,311],[605,330],[569,311],[572,331],[600,311],[603,332],[413,311],[414,333],[408,311],[409,334],[559,311],[560,311],[601,311],[602,311],[570,311],[571,311],[60,311],[614,311],[618,335],[613,336]],"exportedModulesMap":[[608,1],[350,2],[392,3],[258,2],[316,2],[315,4],[260,5],[391,6],[319,7],[259,2],[318,2],[317,8],[253,9],[252,4],[607,10],[251,11],[250,10],[427,4],[609,12],[254,13],[616,14],[256,15],[620,2],[293,16],[295,10],[294,17],[292,18],[299,19],[297,20],[298,21],[291,10],[296,20],[716,22],[715,23],[712,24],[717,25],[713,10],[708,10],[621,26],[622,26],[657,27],[658,28],[659,29],[660,30],[661,31],[662,32],[663,33],[664,34],[665,35],[666,36],[667,36],[669,37],[668,38],[670,39],[671,40],[672,41],[656,42],[706,10],[673,43],[674,44],[675,45],[707,46],[676,47],[677,48],[678,49],[679,50],[680,51],[681,52],[682,53],[683,54],[684,55],[685,56],[686,56],[687,57],[688,58],[690,59],[689,60],[691,61],[692,62],[693,63],[694,64],[695,65],[696,66],[697,67],[698,68],[699,69],[700,70],[701,71],[702,72],[703,73],[704,74],[705,75],[710,10],[711,10],[709,76],[714,77],[623,10],[437,10],[375,78],[377,2],[376,79],[374,2],[378,80],[380,81],[379,82],[355,83],[354,84],[365,85],[367,86],[366,87],[416,2],[419,88],[420,89],[426,90],[425,91],[418,92],[424,93],[423,94],[421,93],[422,94],[417,95],[390,96],[389,97],[387,98],[388,99],[386,4],[553,100],[551,101],[552,102],[554,103],[556,104],[555,105],[531,10],[532,10],[534,106],[533,107],[300,108],[301,109],[302,110],[304,111],[303,112],[436,113],[433,114],[432,4],[434,115],[431,116],[435,117],[323,118],[320,114],[321,119],[322,120],[328,121],[324,122],[325,123],[326,124],[327,125],[281,126],[282,4],[279,4],[283,127],[285,128],[284,129],[261,4],[280,114],[278,114],[442,130],[446,131],[445,132],[444,10],[443,10],[359,133],[358,134],[356,114],[357,135],[587,136],[582,137],[585,138],[584,139],[580,140],[581,141],[583,142],[586,143],[262,10],[263,144],[270,144],[271,144],[272,10],[264,10],[277,145],[265,144],[273,4],[266,144],[276,146],[269,10],[267,10],[275,10],[268,2],[274,10],[364,147],[360,114],[361,148],[362,149],[363,150],[371,151],[369,2],[353,2],[368,152],[351,153],[352,154],[370,155],[373,156],[372,157],[517,158],[429,2],[430,159],[519,2],[518,2],[428,160],[520,161],[522,162],[521,163],[287,164],[288,165],[290,166],[289,167],[286,168],[447,169],[449,170],[516,171],[450,10],[451,10],[452,10],[453,10],[454,10],[455,10],[456,10],[457,10],[458,10],[459,10],[460,10],[461,10],[462,10],[463,10],[464,10],[465,10],[466,10],[467,10],[468,10],[469,10],[470,10],[471,10],[472,10],[473,10],[474,10],[475,10],[476,10],[477,10],[478,10],[479,10],[480,10],[482,10],[481,10],[483,10],[484,10],[485,10],[486,10],[487,10],[488,10],[489,10],[490,10],[491,10],[492,10],[493,10],[494,10],[495,10],[496,10],[497,10],[498,10],[499,10],[500,10],[501,10],[502,10],[503,10],[504,10],[505,10],[506,10],[507,10],[508,10],[509,10],[510,10],[511,10],[512,10],[513,10],[514,10],[438,10],[441,172],[440,173],[439,174],[448,175],[515,176],[306,177],[307,178],[305,179],[308,180],[310,181],[309,182],[526,183],[530,184],[527,2],[524,185],[523,186],[528,187],[529,188],[525,189],[341,2],[342,2],[343,2],[349,190],[345,191],[347,192],[348,193],[346,194],[344,195],[339,196],[332,2],[331,2],[314,197],[330,198],[336,199],[312,200],[337,201],[311,10],[338,202],[334,203],[335,203],[333,204],[329,205],[313,206],[562,207],[568,208],[563,209],[564,210],[565,211],[566,212],[567,213],[561,4],[542,214],[549,215],[546,216],[548,217],[543,218],[547,219],[540,2],[545,216],[544,220],[541,10],[405,221],[384,222],[404,223],[383,114],[398,2],[400,114],[393,224],[397,225],[395,226],[396,227],[399,228],[394,229],[401,2],[385,230],[403,231],[402,232],[535,233],[539,234],[538,235],[536,236],[537,237],[598,238],[597,239],[594,114],[590,2],[592,2],[591,240],[593,240],[589,241],[588,242],[595,243],[596,240],[249,244],[222,10],[200,245],[198,245],[248,246],[213,247],[212,247],[113,248],[64,249],[220,248],[221,248],[223,250],[224,248],[225,251],[124,252],[226,248],[197,248],[227,248],[228,253],[229,248],[230,247],[231,254],[232,248],[233,248],[234,248],[235,248],[236,247],[237,248],[238,248],[239,248],[240,248],[241,255],[242,248],[243,248],[244,248],[245,248],[246,248],[63,246],[66,251],[67,251],[68,251],[69,251],[70,251],[71,251],[72,251],[73,248],[75,256],[76,251],[74,251],[77,251],[78,251],[79,251],[80,251],[81,251],[82,251],[83,248],[84,251],[85,251],[86,251],[87,251],[88,251],[89,248],[90,251],[91,251],[92,251],[93,251],[94,251],[95,251],[96,248],[98,257],[97,251],[99,251],[100,251],[101,251],[102,251],[103,255],[104,248],[105,248],[119,258],[107,259],[108,251],[109,251],[110,248],[111,251],[112,251],[114,260],[115,251],[116,251],[117,251],[118,251],[120,251],[121,251],[122,251],[123,251],[125,261],[126,251],[127,251],[128,251],[129,248],[130,251],[131,262],[132,262],[133,262],[134,248],[135,251],[136,251],[137,251],[142,251],[138,251],[139,248],[140,251],[141,248],[143,251],[144,251],[145,251],[146,251],[147,251],[148,251],[149,248],[150,251],[151,251],[152,251],[153,251],[154,251],[155,251],[156,251],[157,251],[158,251],[159,251],[160,251],[161,251],[162,251],[163,251],[164,251],[165,251],[166,263],[167,251],[168,251],[169,251],[170,251],[171,251],[172,251],[173,248],[174,248],[175,248],[176,248],[177,248],[178,251],[179,251],[180,251],[181,251],[199,264],[247,248],[184,265],[183,266],[207,267],[206,268],[202,269],[201,268],[203,270],[192,271],[190,272],[205,273],[204,270],[191,10],[193,274],[106,275],[62,276],[61,251],[196,10],[188,277],[189,278],[186,10],[187,279],[185,251],[194,280],[65,281],[214,10],[215,10],[208,10],[211,247],[210,10],[216,10],[217,10],[209,282],[218,10],[219,10],[182,283],[195,284],[59,10],[57,10],[58,10],[10,10],[12,10],[11,10],[2,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[19,10],[20,10],[3,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[8,10],[48,10],[45,10],[46,10],[47,10],[49,10],[9,10],[50,10],[51,10],[52,10],[55,10],[53,10],[54,10],[1,10],[56,10],[639,285],[646,286],[638,285],[653,287],[630,288],[629,289],[652,290],[647,291],[650,292],[632,293],[631,294],[627,295],[626,296],[649,297],[628,298],[633,299],[634,10],[637,299],[624,10],[655,300],[654,299],[641,301],[642,302],[644,303],[640,304],[643,305],[648,290],[635,306],[636,307],[645,308],[625,309],[651,310],[619,311],[718,337],[255,311],[615,311],[617,338],[610,338],[257,311],[606,339],[412,340],[578,339],[574,325],[573,341],[604,342],[605,330],[572,343],[603,343],[414,344],[409,338],[60,311],[614,311],[618,338]],"semanticDiagnosticsPerFile":[608,350,392,258,316,315,260,391,319,259,318,317,253,252,607,251,250,427,609,254,616,256,620,293,295,294,292,299,297,298,291,296,716,715,712,717,713,708,621,622,657,658,659,660,661,662,663,664,665,666,667,669,668,670,671,672,656,706,673,674,675,707,676,677,678,679,680,681,682,683,684,685,686,687,688,690,689,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,710,711,709,714,623,437,375,377,376,374,378,380,379,355,354,365,367,366,416,419,420,426,425,418,424,423,421,422,417,390,389,387,388,386,553,551,552,554,556,555,531,532,534,533,300,301,302,304,303,436,433,432,434,431,435,323,320,321,322,328,324,325,326,327,281,282,279,283,285,284,261,280,278,442,446,445,444,443,359,358,356,357,587,582,585,584,580,581,583,586,262,263,270,271,272,264,277,265,273,266,276,269,267,275,268,274,364,360,361,362,363,371,369,353,368,351,352,370,373,372,517,429,430,519,518,428,520,522,521,287,288,290,289,286,447,449,516,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,482,481,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,438,441,440,439,448,515,306,307,305,308,310,309,526,530,527,524,523,528,529,525,341,342,343,349,345,347,348,346,344,339,332,331,314,330,336,312,337,311,338,334,335,333,329,313,562,568,563,564,565,566,567,561,542,549,546,548,543,547,540,545,544,541,405,384,404,383,398,400,393,397,395,396,399,394,401,385,403,402,535,539,538,536,537,598,597,594,590,592,591,593,589,588,595,596,249,222,200,198,248,213,212,113,64,220,221,223,224,225,124,226,197,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,63,66,67,68,69,70,71,72,73,75,76,74,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,98,97,99,100,101,102,103,104,105,119,107,108,109,110,111,112,114,115,116,117,118,120,121,122,123,125,126,127,128,129,130,131,132,133,134,135,136,137,142,138,139,140,141,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,199,247,184,183,207,206,202,201,203,192,190,205,204,191,193,106,62,61,196,188,189,186,187,185,194,65,214,215,208,211,210,216,217,209,218,219,182,195,59,57,58,10,12,11,2,13,14,15,16,17,18,19,20,3,4,21,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,8,48,45,46,47,49,9,50,51,52,55,53,54,1,56,639,646,638,653,630,629,652,647,650,632,631,627,626,649,628,633,634,637,624,655,654,641,642,644,640,643,648,635,636,645,625,651,718,612,617,610,606,411,558,382,412,407,578,577,574,573,604,605,572,603,414,409,560,602,571,618,613]},"version":"5.2.2"} \ No newline at end of file diff --git a/.angular/cache/17.0.7/vite/deps/_metadata.json b/.angular/cache/17.0.7/vite/deps/_metadata.json index 8997a26..e850e08 100644 --- a/.angular/cache/17.0.7/vite/deps/_metadata.json +++ b/.angular/cache/17.0.7/vite/deps/_metadata.json @@ -1,191 +1,200 @@ { - "hash": "f2c549cf", - "browserHash": "6460fb2f", + "hash": "88038483", + "browserHash": "5ef39866", "optimized": { + "@angular/animations": { + "src": "../../../../../node_modules/@angular/animations/fesm2022/animations.mjs", + "file": "@angular_animations.js", + "fileHash": "809a02fb", + "needsInterop": false + }, "@angular/common": { "src": "../../../../../node_modules/@angular/common/fesm2022/common.mjs", "file": "@angular_common.js", - "fileHash": "59595a21", + "fileHash": "84f4329d", "needsInterop": false }, "@angular/common/http": { "src": "../../../../../node_modules/@angular/common/fesm2022/http.mjs", "file": "@angular_common_http.js", - "fileHash": "2c57824c", + "fileHash": "76586bff", "needsInterop": false }, "@angular/common/locales/zh": { "src": "../../../../../node_modules/@angular/common/locales/zh.mjs", "file": "@angular_common_locales_zh.js", - "fileHash": "bb85227d", + "fileHash": "6017edb4", "needsInterop": false }, "@angular/core": { "src": "../../../../../node_modules/@angular/core/fesm2022/core.mjs", "file": "@angular_core.js", - "fileHash": "f3b036a6", + "fileHash": "f8c9868f", "needsInterop": false }, "@angular/forms": { "src": "../../../../../node_modules/@angular/forms/fesm2022/forms.mjs", "file": "@angular_forms.js", - "fileHash": "895ea0a9", + "fileHash": "429061e0", "needsInterop": false }, "@angular/platform-browser": { "src": "../../../../../node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs", "file": "@angular_platform-browser.js", - "fileHash": "3477a2a2", + "fileHash": "7b63e7a1", "needsInterop": false }, "@angular/platform-browser/animations": { "src": "../../../../../node_modules/@angular/platform-browser/fesm2022/animations.mjs", "file": "@angular_platform-browser_animations.js", - "fileHash": "37b95759", + "fileHash": "f48204c1", "needsInterop": false }, "@angular/router": { "src": "../../../../../node_modules/@angular/router/fesm2022/router.mjs", "file": "@angular_router.js", - "fileHash": "03f6ea04", + "fileHash": "52deb9fe", + "needsInterop": false + }, + "ng-zorro-antd/breadcrumb": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-breadcrumb.mjs", + "file": "ng-zorro-antd_breadcrumb.js", + "fileHash": "0cf8cf86", "needsInterop": false }, "ng-zorro-antd/button": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-button.mjs", "file": "ng-zorro-antd_button.js", - "fileHash": "10e41c15", + "fileHash": "ef565dc3", "needsInterop": false }, "ng-zorro-antd/carousel": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-carousel.mjs", "file": "ng-zorro-antd_carousel.js", - "fileHash": "e182053d", + "fileHash": "ce54ae7f", "needsInterop": false }, "ng-zorro-antd/checkbox": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-checkbox.mjs", "file": "ng-zorro-antd_checkbox.js", - "fileHash": "4236d5cd", + "fileHash": "dc1d3456", + "needsInterop": false + }, + "ng-zorro-antd/dropdown": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-dropdown.mjs", + "file": "ng-zorro-antd_dropdown.js", + "fileHash": "0b661e23", "needsInterop": false }, "ng-zorro-antd/form": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-form.mjs", "file": "ng-zorro-antd_form.js", - "fileHash": "e14855e4", + "fileHash": "f209f997", "needsInterop": false }, "ng-zorro-antd/grid": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-grid.mjs", "file": "ng-zorro-antd_grid.js", - "fileHash": "3f1a0f26", + "fileHash": "86145a31", "needsInterop": false }, "ng-zorro-antd/i18n": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-i18n.mjs", "file": "ng-zorro-antd_i18n.js", - "fileHash": "f58def7c", + "fileHash": "d7b1f1ed", + "needsInterop": false + }, + "ng-zorro-antd/icon": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-icon.mjs", + "file": "ng-zorro-antd_icon.js", + "fileHash": "612c8079", "needsInterop": false }, "ng-zorro-antd/input": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-input.mjs", "file": "ng-zorro-antd_input.js", - "fileHash": "039d5013", - "needsInterop": false - }, - "ng-zorro-antd/message": { - "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-message.mjs", - "file": "ng-zorro-antd_message.js", - "fileHash": "ce0966f1", - "needsInterop": false - }, - "ng-zorro-antd/slider": { - "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-slider.mjs", - "file": "ng-zorro-antd_slider.js", - "fileHash": "d5dd996a", + "fileHash": "f8038bf0", "needsInterop": false }, "ng-zorro-antd/layout": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-layout.mjs", "file": "ng-zorro-antd_layout.js", - "fileHash": "5184b024", - "needsInterop": false - }, - "ng-zorro-antd/breadcrumb": { - "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-breadcrumb.mjs", - "file": "ng-zorro-antd_breadcrumb.js", - "fileHash": "a30d135a", + "fileHash": "ffd2dad7", "needsInterop": false }, "ng-zorro-antd/menu": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-menu.mjs", "file": "ng-zorro-antd_menu.js", - "fileHash": "8c79e727", + "fileHash": "fddf30bb", "needsInterop": false }, - "@angular/animations": { - "src": "../../../../../node_modules/@angular/animations/fesm2022/animations.mjs", - "file": "@angular_animations.js", - "fileHash": "4591f2a0", + "ng-zorro-antd/message": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-message.mjs", + "file": "ng-zorro-antd_message.js", + "fileHash": "b05b5e15", "needsInterop": false }, - "ng-zorro-antd/icon": { - "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-icon.mjs", - "file": "ng-zorro-antd_icon.js", - "fileHash": "106b5b91", + "ng-zorro-antd/slider": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-slider.mjs", + "file": "ng-zorro-antd_slider.js", + "fileHash": "13f32c53", "needsInterop": false }, "ng-zorro-antd/tabs": { "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-tabs.mjs", "file": "ng-zorro-antd_tabs.js", - "fileHash": "bb33851d", + "fileHash": "ff0f3616", "needsInterop": false }, - "ng-zorro-antd/drawer": { - "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-drawer.mjs", - "file": "ng-zorro-antd_drawer.js", - "fileHash": "b3ae3835", + "ng-zorro-antd/tree": { + "src": "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-tree.mjs", + "file": "ng-zorro-antd_tree.js", + "fileHash": "4039d652", "needsInterop": false } }, "chunks": { - "chunk-2CQTWQUI": { - "file": "chunk-2CQTWQUI.js" + "chunk-EISFVYMQ": { + "file": "chunk-EISFVYMQ.js" }, - "chunk-WKTPWT5U": { - "file": "chunk-WKTPWT5U.js" + "chunk-VMSZ6GWB": { + "file": "chunk-VMSZ6GWB.js" }, - "chunk-CZEXXPIB": { - "file": "chunk-CZEXXPIB.js" + "chunk-C33RY4ER": { + "file": "chunk-C33RY4ER.js" }, - "chunk-5MZJ5XYV": { - "file": "chunk-5MZJ5XYV.js" + "chunk-5AGOG3VI": { + "file": "chunk-5AGOG3VI.js" }, - "chunk-6RXUTAFR": { - "file": "chunk-6RXUTAFR.js" + "chunk-4OID6NLN": { + "file": "chunk-4OID6NLN.js" }, - "chunk-QP2OUFNR": { - "file": "chunk-QP2OUFNR.js" + "chunk-D4IIJHV7": { + "file": "chunk-D4IIJHV7.js" }, - "chunk-FGZVIKKA": { - "file": "chunk-FGZVIKKA.js" + "chunk-KUR2ZJJB": { + "file": "chunk-KUR2ZJJB.js" }, - "chunk-T745QDCV": { - "file": "chunk-T745QDCV.js" + "chunk-YGBKDI43": { + "file": "chunk-YGBKDI43.js" }, - "chunk-XAGDQPFO": { - "file": "chunk-XAGDQPFO.js" + "chunk-RSMXCRFI": { + "file": "chunk-RSMXCRFI.js" + }, + "chunk-CZEXXPIB": { + "file": "chunk-CZEXXPIB.js" }, - "chunk-D5ODNR6D": { - "file": "chunk-D5ODNR6D.js" + "chunk-K4MSLGWI": { + "file": "chunk-K4MSLGWI.js" }, - "chunk-55A2ZGND": { - "file": "chunk-55A2ZGND.js" + "chunk-NOHVXVKW": { + "file": "chunk-NOHVXVKW.js" }, - "chunk-E6XJDY45": { - "file": "chunk-E6XJDY45.js" + "chunk-XDMUMVNQ": { + "file": "chunk-XDMUMVNQ.js" }, - "chunk-6U656R5M": { - "file": "chunk-6U656R5M.js" + "chunk-RJWK6JFA": { + "file": "chunk-RJWK6JFA.js" }, "chunk-VOD2PKZN": { "file": "chunk-VOD2PKZN.js" @@ -193,29 +202,26 @@ "chunk-JGP5BR6B": { "file": "chunk-JGP5BR6B.js" }, - "chunk-WB57DPWD": { - "file": "chunk-WB57DPWD.js" + "chunk-A7MWZ3GO": { + "file": "chunk-A7MWZ3GO.js" }, - "chunk-D4IIJHV7": { - "file": "chunk-D4IIJHV7.js" - }, - "chunk-KMGBCF4T": { - "file": "chunk-KMGBCF4T.js" - }, - "chunk-VWMHIMW7": { - "file": "chunk-VWMHIMW7.js" - }, - "chunk-ZHMJ6SNN": { - "file": "chunk-ZHMJ6SNN.js" + "chunk-Q646SFZH": { + "file": "chunk-Q646SFZH.js" }, "chunk-6NZ2BEBG": { "file": "chunk-6NZ2BEBG.js" }, + "chunk-G327EOBL": { + "file": "chunk-G327EOBL.js" + }, + "chunk-DASIIA63": { + "file": "chunk-DASIIA63.js" + }, "chunk-IAC53GOD": { "file": "chunk-IAC53GOD.js" }, - "chunk-M5GY4FCO": { - "file": "chunk-M5GY4FCO.js" + "chunk-SATQCK6M": { + "file": "chunk-SATQCK6M.js" }, "chunk-ECVKT3ZH": { "file": "chunk-ECVKT3ZH.js" diff --git a/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js b/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js deleted file mode 100644 index 367ca55..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js +++ /dev/null @@ -1,720 +0,0 @@ -import { - MenuService, - NzIsMenuInsideDropDownToken, - NzMenuModule -} from "./chunk-WKTPWT5U.js"; -import { - POSITION_MAP -} from "./chunk-6RXUTAFR.js"; -import { - slideMotion -} from "./chunk-XAGDQPFO.js"; -import { - NzNoAnimationDirective -} from "./chunk-55A2ZGND.js"; -import { - ConnectionPositionPair, - Overlay, - TemplatePortal -} from "./chunk-6U656R5M.js"; -import { - ESCAPE, - hasModifierKey -} from "./chunk-JGP5BR6B.js"; -import { - NzButtonGroupComponent -} from "./chunk-KMGBCF4T.js"; -import { - NzConfigService, - WithConfig -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - InputBoolean -} from "./chunk-M5GY4FCO.js"; -import { - NgClass, - NgStyle -} from "./chunk-OSQBUYO6.js"; -import { - BehaviorSubject, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - Directive, - EMPTY, - ElementRef, - EventEmitter, - Host, - Injectable, - Input, - NgModule, - NgZone, - Optional, - Output, - Renderer2, - Subject, - Subscription, - TemplateRef, - ViewChild, - ViewContainerRef, - ViewEncapsulation$1, - __decorate, - auditTime, - combineLatest, - distinctUntilChanged, - filter, - first, - fromEvent, - map, - mapTo, - merge, - setClassMetadata, - switchMap, - takeUntil, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵStandaloneFeature, - ɵɵclassProp, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵgetCurrentView, - ɵɵinject, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnextContext, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵresetView, - ɵɵrestoreView, - ɵɵtemplate, - ɵɵviewQuery -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-dropdown.mjs -function NzDropdownMenuComponent_ng_template_0_Template(rf, ctx) { - if (rf & 1) { - const _r2 = ɵɵgetCurrentView(); - ɵɵelementStart(0, "div", 0); - ɵɵlistener("@slideMotion.done", function NzDropdownMenuComponent_ng_template_0_Template_div_animation_slideMotion_done_0_listener($event) { - ɵɵrestoreView(_r2); - const ctx_r1 = ɵɵnextContext(); - return ɵɵresetView(ctx_r1.onAnimationEvent($event)); - })("mouseenter", function NzDropdownMenuComponent_ng_template_0_Template_div_mouseenter_0_listener() { - ɵɵrestoreView(_r2); - const ctx_r3 = ɵɵnextContext(); - return ɵɵresetView(ctx_r3.setMouseState(true)); - })("mouseleave", function NzDropdownMenuComponent_ng_template_0_Template_div_mouseleave_0_listener() { - ɵɵrestoreView(_r2); - const ctx_r4 = ɵɵnextContext(); - return ɵɵresetView(ctx_r4.setMouseState(false)); - }); - ɵɵprojection(1); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r0 = ɵɵnextContext(); - ɵɵclassProp("ant-dropdown-rtl", ctx_r0.dir === "rtl"); - ɵɵproperty("ngClass", ctx_r0.nzOverlayClassName)("ngStyle", ctx_r0.nzOverlayStyle)("@slideMotion", void 0)("@.disabled", !!(ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation))("nzNoAnimation", ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation); - } -} -var _c0 = ["*"]; -var NZ_CONFIG_MODULE_NAME = "dropDown"; -var listOfPositions = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topRight, POSITION_MAP.topLeft]; -var _NzDropDownDirective = class _NzDropDownDirective { - setDropdownMenuValue(key, value) { - if (this.nzDropdownMenu) { - this.nzDropdownMenu.setValue(key, value); - } - } - constructor(nzConfigService, elementRef, overlay, renderer, viewContainerRef, platform) { - this.nzConfigService = nzConfigService; - this.elementRef = elementRef; - this.overlay = overlay; - this.renderer = renderer; - this.viewContainerRef = viewContainerRef; - this.platform = platform; - this._nzModuleName = NZ_CONFIG_MODULE_NAME; - this.overlayRef = null; - this.destroy$ = new Subject(); - this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elementRef.nativeElement).withLockedPosition().withTransformOriginOn(".ant-dropdown"); - this.inputVisible$ = new BehaviorSubject(false); - this.nzTrigger$ = new BehaviorSubject("hover"); - this.overlayClose$ = new Subject(); - this.nzDropdownMenu = null; - this.nzTrigger = "hover"; - this.nzMatchWidthElement = null; - this.nzBackdrop = false; - this.nzClickHide = true; - this.nzDisabled = false; - this.nzVisible = false; - this.nzOverlayClassName = ""; - this.nzOverlayStyle = {}; - this.nzPlacement = "bottomLeft"; - this.nzVisibleChange = new EventEmitter(); - } - ngAfterViewInit() { - if (this.nzDropdownMenu) { - const nativeElement = this.elementRef.nativeElement; - const hostMouseState$ = merge(fromEvent(nativeElement, "mouseenter").pipe(mapTo(true)), fromEvent(nativeElement, "mouseleave").pipe(mapTo(false))); - const menuMouseState$ = this.nzDropdownMenu.mouseState$; - const mergedMouseState$ = merge(menuMouseState$, hostMouseState$); - const hostClickState$ = fromEvent(nativeElement, "click").pipe(map(() => !this.nzVisible)); - const visibleStateByTrigger$ = this.nzTrigger$.pipe(switchMap((trigger) => { - if (trigger === "hover") { - return mergedMouseState$; - } else if (trigger === "click") { - return hostClickState$; - } else { - return EMPTY; - } - })); - const descendantMenuItemClick$ = this.nzDropdownMenu.descendantMenuItemClick$.pipe(filter(() => this.nzClickHide), mapTo(false)); - const domTriggerVisible$ = merge(visibleStateByTrigger$, descendantMenuItemClick$, this.overlayClose$).pipe(filter(() => !this.nzDisabled)); - const visible$ = merge(this.inputVisible$, domTriggerVisible$); - combineLatest([visible$, this.nzDropdownMenu.isChildSubMenuOpen$]).pipe(map(([visible, sub]) => visible || sub), auditTime(150), distinctUntilChanged(), filter(() => this.platform.isBrowser), takeUntil(this.destroy$)).subscribe((visible) => { - const element = this.nzMatchWidthElement ? this.nzMatchWidthElement.nativeElement : nativeElement; - const triggerWidth = element.getBoundingClientRect().width; - if (this.nzVisible !== visible) { - this.nzVisibleChange.emit(visible); - } - this.nzVisible = visible; - if (visible) { - if (!this.overlayRef) { - this.overlayRef = this.overlay.create({ - positionStrategy: this.positionStrategy, - minWidth: triggerWidth, - disposeOnNavigation: true, - hasBackdrop: this.nzBackdrop && this.nzTrigger === "click", - scrollStrategy: this.overlay.scrollStrategies.reposition() - }); - merge(this.overlayRef.backdropClick(), this.overlayRef.detachments(), this.overlayRef.outsidePointerEvents().pipe(filter((e) => !this.elementRef.nativeElement.contains(e.target))), this.overlayRef.keydownEvents().pipe(filter((e) => e.keyCode === ESCAPE && !hasModifierKey(e)))).pipe(takeUntil(this.destroy$)).subscribe(() => { - this.overlayClose$.next(false); - }); - } else { - const overlayConfig = this.overlayRef.getConfig(); - overlayConfig.minWidth = triggerWidth; - } - this.positionStrategy.withPositions([POSITION_MAP[this.nzPlacement], ...listOfPositions]); - if (!this.portal || this.portal.templateRef !== this.nzDropdownMenu.templateRef) { - this.portal = new TemplatePortal(this.nzDropdownMenu.templateRef, this.viewContainerRef); - } - this.overlayRef.attach(this.portal); - } else { - if (this.overlayRef) { - this.overlayRef.detach(); - } - } - }); - this.nzDropdownMenu.animationStateChange$.pipe(takeUntil(this.destroy$)).subscribe((event) => { - if (event.toState === "void") { - if (this.overlayRef) { - this.overlayRef.dispose(); - } - this.overlayRef = null; - } - }); - } - } - ngOnDestroy() { - this.destroy$.next(true); - this.destroy$.complete(); - if (this.overlayRef) { - this.overlayRef.dispose(); - this.overlayRef = null; - } - } - ngOnChanges(changes) { - const { - nzVisible, - nzDisabled, - nzOverlayClassName, - nzOverlayStyle, - nzTrigger - } = changes; - if (nzTrigger) { - this.nzTrigger$.next(this.nzTrigger); - } - if (nzVisible) { - this.inputVisible$.next(this.nzVisible); - } - if (nzDisabled) { - const nativeElement = this.elementRef.nativeElement; - if (this.nzDisabled) { - this.renderer.setAttribute(nativeElement, "disabled", ""); - this.inputVisible$.next(false); - } else { - this.renderer.removeAttribute(nativeElement, "disabled"); - } - } - if (nzOverlayClassName) { - this.setDropdownMenuValue("nzOverlayClassName", this.nzOverlayClassName); - } - if (nzOverlayStyle) { - this.setDropdownMenuValue("nzOverlayStyle", this.nzOverlayStyle); - } - } -}; -_NzDropDownDirective.ɵfac = function NzDropDownDirective_Factory(t) { - return new (t || _NzDropDownDirective)(ɵɵdirectiveInject(NzConfigService), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Overlay), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(Platform)); -}; -_NzDropDownDirective.ɵdir = ɵɵdefineDirective({ - type: _NzDropDownDirective, - selectors: [["", "nz-dropdown", ""]], - hostAttrs: [1, "ant-dropdown-trigger"], - inputs: { - nzDropdownMenu: "nzDropdownMenu", - nzTrigger: "nzTrigger", - nzMatchWidthElement: "nzMatchWidthElement", - nzBackdrop: "nzBackdrop", - nzClickHide: "nzClickHide", - nzDisabled: "nzDisabled", - nzVisible: "nzVisible", - nzOverlayClassName: "nzOverlayClassName", - nzOverlayStyle: "nzOverlayStyle", - nzPlacement: "nzPlacement" - }, - outputs: { - nzVisibleChange: "nzVisibleChange" - }, - exportAs: ["nzDropdown"], - standalone: true, - features: [ɵɵNgOnChangesFeature] -}); -var NzDropDownDirective = _NzDropDownDirective; -__decorate([WithConfig(), InputBoolean()], NzDropDownDirective.prototype, "nzBackdrop", void 0); -__decorate([InputBoolean()], NzDropDownDirective.prototype, "nzClickHide", void 0); -__decorate([InputBoolean()], NzDropDownDirective.prototype, "nzDisabled", void 0); -__decorate([InputBoolean()], NzDropDownDirective.prototype, "nzVisible", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDropDownDirective, [{ - type: Directive, - args: [{ - selector: "[nz-dropdown]", - exportAs: "nzDropdown", - host: { - class: "ant-dropdown-trigger" - }, - standalone: true - }] - }], () => [{ - type: NzConfigService - }, { - type: ElementRef - }, { - type: Overlay - }, { - type: Renderer2 - }, { - type: ViewContainerRef - }, { - type: Platform - }], { - nzDropdownMenu: [{ - type: Input - }], - nzTrigger: [{ - type: Input - }], - nzMatchWidthElement: [{ - type: Input - }], - nzBackdrop: [{ - type: Input - }], - nzClickHide: [{ - type: Input - }], - nzDisabled: [{ - type: Input - }], - nzVisible: [{ - type: Input - }], - nzOverlayClassName: [{ - type: Input - }], - nzOverlayStyle: [{ - type: Input - }], - nzPlacement: [{ - type: Input - }], - nzVisibleChange: [{ - type: Output - }] - }); -})(); -var _NzContextMenuServiceModule = class _NzContextMenuServiceModule { -}; -_NzContextMenuServiceModule.ɵfac = function NzContextMenuServiceModule_Factory(t) { - return new (t || _NzContextMenuServiceModule)(); -}; -_NzContextMenuServiceModule.ɵmod = ɵɵdefineNgModule({ - type: _NzContextMenuServiceModule -}); -_NzContextMenuServiceModule.ɵinj = ɵɵdefineInjector({}); -var NzContextMenuServiceModule = _NzContextMenuServiceModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzContextMenuServiceModule, [{ - type: NgModule - }], null, null); -})(); -var _NzDropDownADirective = class _NzDropDownADirective { - constructor() { - } -}; -_NzDropDownADirective.ɵfac = function NzDropDownADirective_Factory(t) { - return new (t || _NzDropDownADirective)(); -}; -_NzDropDownADirective.ɵdir = ɵɵdefineDirective({ - type: _NzDropDownADirective, - selectors: [["a", "nz-dropdown", ""]], - hostAttrs: [1, "ant-dropdown-link"], - standalone: true -}); -var NzDropDownADirective = _NzDropDownADirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDropDownADirective, [{ - type: Directive, - args: [{ - selector: "a[nz-dropdown]", - host: { - class: "ant-dropdown-link" - }, - standalone: true - }] - }], () => [], null); -})(); -var _NzDropdownButtonDirective = class _NzDropdownButtonDirective { - constructor(renderer, nzButtonGroupComponent, elementRef) { - this.renderer = renderer; - this.nzButtonGroupComponent = nzButtonGroupComponent; - this.elementRef = elementRef; - } - ngAfterViewInit() { - const parentElement = this.renderer.parentNode(this.elementRef.nativeElement); - if (this.nzButtonGroupComponent && parentElement) { - this.renderer.addClass(parentElement, "ant-dropdown-button"); - } - } -}; -_NzDropdownButtonDirective.ɵfac = function NzDropdownButtonDirective_Factory(t) { - return new (t || _NzDropdownButtonDirective)(ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzButtonGroupComponent, 9), ɵɵdirectiveInject(ElementRef)); -}; -_NzDropdownButtonDirective.ɵdir = ɵɵdefineDirective({ - type: _NzDropdownButtonDirective, - selectors: [["", "nz-button", "", "nz-dropdown", ""]], - standalone: true -}); -var NzDropdownButtonDirective = _NzDropdownButtonDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDropdownButtonDirective, [{ - type: Directive, - args: [{ - selector: "[nz-button][nz-dropdown]", - standalone: true - }] - }], () => [{ - type: Renderer2 - }, { - type: NzButtonGroupComponent, - decorators: [{ - type: Host - }, { - type: Optional - }] - }, { - type: ElementRef - }], null); -})(); -var _NzDropdownMenuComponent = class _NzDropdownMenuComponent { - onAnimationEvent(event) { - this.animationStateChange$.emit(event); - } - setMouseState(visible) { - this.mouseState$.next(visible); - } - setValue(key, value) { - this[key] = value; - this.cdr.markForCheck(); - } - constructor(cdr, elementRef, renderer, viewContainerRef, nzMenuService, directionality, noAnimation) { - this.cdr = cdr; - this.elementRef = elementRef; - this.renderer = renderer; - this.viewContainerRef = viewContainerRef; - this.nzMenuService = nzMenuService; - this.directionality = directionality; - this.noAnimation = noAnimation; - this.mouseState$ = new BehaviorSubject(false); - this.isChildSubMenuOpen$ = this.nzMenuService.isChildSubMenuOpen$; - this.descendantMenuItemClick$ = this.nzMenuService.descendantMenuItemClick$; - this.animationStateChange$ = new EventEmitter(); - this.nzOverlayClassName = ""; - this.nzOverlayStyle = {}; - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - ngOnInit() { - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.detectChanges(); - }); - this.dir = this.directionality.value; - } - ngAfterContentInit() { - this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzDropdownMenuComponent.ɵfac = function NzDropdownMenuComponent_Factory(t) { - return new (t || _NzDropdownMenuComponent)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(MenuService), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(NzNoAnimationDirective, 9)); -}; -_NzDropdownMenuComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzDropdownMenuComponent, - selectors: [["nz-dropdown-menu"]], - viewQuery: function NzDropdownMenuComponent_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(TemplateRef, 7); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.templateRef = _t.first); - } - }, - exportAs: ["nzDropdownMenu"], - standalone: true, - features: [ɵɵProvidersFeature([ - MenuService, - /** menu is inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useValue: true - } - ]), ɵɵStandaloneFeature], - ngContentSelectors: _c0, - decls: 1, - vars: 0, - consts: [[1, "ant-dropdown", 3, "ngClass", "ngStyle", "nzNoAnimation", "mouseenter", "mouseleave"]], - template: function NzDropdownMenuComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵtemplate(0, NzDropdownMenuComponent_ng_template_0_Template, 2, 7, "ng-template"); - } - }, - dependencies: [NgClass, NgStyle, NzNoAnimationDirective], - encapsulation: 2, - data: { - animation: [slideMotion] - }, - changeDetection: 0 -}); -var NzDropdownMenuComponent = _NzDropdownMenuComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDropdownMenuComponent, [{ - type: Component, - args: [{ - selector: `nz-dropdown-menu`, - exportAs: `nzDropdownMenu`, - animations: [slideMotion], - providers: [ - MenuService, - /** menu is inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useValue: true - } - ], - template: ` - -
- -
-
- `, - preserveWhitespaces: false, - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [NgClass, NgStyle, NzNoAnimationDirective], - standalone: true - }] - }], () => [{ - type: ChangeDetectorRef - }, { - type: ElementRef - }, { - type: Renderer2 - }, { - type: ViewContainerRef - }, { - type: MenuService - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: NzNoAnimationDirective, - decorators: [{ - type: Host - }, { - type: Optional - }] - }], { - templateRef: [{ - type: ViewChild, - args: [TemplateRef, { - static: true - }] - }] - }); -})(); -var _NzDropDownModule = class _NzDropDownModule { -}; -_NzDropDownModule.ɵfac = function NzDropDownModule_Factory(t) { - return new (t || _NzDropDownModule)(); -}; -_NzDropDownModule.ɵmod = ɵɵdefineNgModule({ - type: _NzDropDownModule, - imports: [NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective, NzContextMenuServiceModule], - exports: [NzMenuModule, NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective] -}); -_NzDropDownModule.ɵinj = ɵɵdefineInjector({ - imports: [NzContextMenuServiceModule, NzMenuModule] -}); -var NzDropDownModule = _NzDropDownModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDropDownModule, [{ - type: NgModule, - args: [{ - imports: [NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective, NzContextMenuServiceModule], - exports: [NzMenuModule, NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective] - }] - }], null, null); -})(); -var LIST_OF_POSITIONS = [new ConnectionPositionPair({ - originX: "start", - originY: "top" -}, { - overlayX: "start", - overlayY: "top" -}), new ConnectionPositionPair({ - originX: "start", - originY: "top" -}, { - overlayX: "start", - overlayY: "bottom" -}), new ConnectionPositionPair({ - originX: "start", - originY: "top" -}, { - overlayX: "end", - overlayY: "bottom" -}), new ConnectionPositionPair({ - originX: "start", - originY: "top" -}, { - overlayX: "end", - overlayY: "top" -})]; -var _NzContextMenuService = class _NzContextMenuService { - constructor(ngZone, overlay) { - this.ngZone = ngZone; - this.overlay = overlay; - this.overlayRef = null; - this.closeSubscription = Subscription.EMPTY; - } - create($event, nzDropdownMenuComponent) { - this.close(true); - const { - x, - y - } = $event; - if ($event instanceof MouseEvent) { - $event.preventDefault(); - } - const positionStrategy = this.overlay.position().flexibleConnectedTo({ - x, - y - }).withPositions(LIST_OF_POSITIONS).withTransformOriginOn(".ant-dropdown"); - this.overlayRef = this.overlay.create({ - positionStrategy, - disposeOnNavigation: true, - scrollStrategy: this.overlay.scrollStrategies.close() - }); - this.closeSubscription = new Subscription(); - this.closeSubscription.add(nzDropdownMenuComponent.descendantMenuItemClick$.subscribe(() => this.close())); - this.closeSubscription.add(this.ngZone.runOutsideAngular(() => merge(fromEvent(document, "click").pipe( - filter((event) => !!this.overlayRef && !this.overlayRef.overlayElement.contains(event.target)), - /** handle firefox contextmenu event **/ - filter((event) => event.button !== 2) - ), fromEvent(document, "keydown").pipe(filter((event) => event.key === "Escape"))).pipe(first()).subscribe(() => this.ngZone.run(() => this.close())))); - return this.overlayRef.attach(new TemplatePortal(nzDropdownMenuComponent.templateRef, nzDropdownMenuComponent.viewContainerRef)); - } - close(clear = false) { - if (this.overlayRef) { - this.overlayRef.detach(); - if (clear) { - this.overlayRef.dispose(); - } - this.overlayRef = null; - this.closeSubscription.unsubscribe(); - } - } -}; -_NzContextMenuService.ɵfac = function NzContextMenuService_Factory(t) { - return new (t || _NzContextMenuService)(ɵɵinject(NgZone), ɵɵinject(Overlay)); -}; -_NzContextMenuService.ɵprov = ɵɵdefineInjectable({ - token: _NzContextMenuService, - factory: _NzContextMenuService.ɵfac, - providedIn: NzContextMenuServiceModule -}); -var NzContextMenuService = _NzContextMenuService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzContextMenuService, [{ - type: Injectable, - args: [{ - providedIn: NzContextMenuServiceModule - }] - }], () => [{ - type: NgZone - }, { - type: Overlay - }], null); -})(); - -export { - NzDropDownDirective, - NzDropdownMenuComponent, - NzDropDownModule -}; -//# sourceMappingURL=chunk-2CQTWQUI.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js.map b/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js.map deleted file mode 100644 index c3a9bba..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-2CQTWQUI.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-dropdown.mjs"], - "sourcesContent": ["import { __decorate } from 'tslib';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport * as i0 from '@angular/core';\nimport { EventEmitter, Directive, Input, Output, NgModule, Host, Optional, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Injectable } from '@angular/core';\nimport { Subject, BehaviorSubject, fromEvent, merge, EMPTY, combineLatest, Subscription } from 'rxjs';\nimport { mapTo, map, switchMap, filter, takeUntil, auditTime, distinctUntilChanged, first } from 'rxjs/operators';\nimport * as i1 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { POSITION_MAP } from 'ng-zorro-antd/core/overlay';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nimport * as i2 from '@angular/cdk/overlay';\nimport { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport * as i3 from '@angular/cdk/platform';\nimport * as i1$2 from 'ng-zorro-antd/menu';\nimport { MenuService, NzIsMenuInsideDropDownToken, NzMenuModule } from 'ng-zorro-antd/menu';\nimport * as i1$1 from 'ng-zorro-antd/button';\nimport { NgClass, NgStyle } from '@angular/common';\nimport { slideMotion } from 'ng-zorro-antd/core/animation';\nimport * as i3$1 from 'ng-zorro-antd/core/no-animation';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport * as i2$1 from '@angular/cdk/bidi';\nfunction NzDropdownMenuComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵlistener(\"@slideMotion.done\", function NzDropdownMenuComponent_ng_template_0_Template_div_animation_slideMotion_done_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.onAnimationEvent($event));\n })(\"mouseenter\", function NzDropdownMenuComponent_ng_template_0_Template_div_mouseenter_0_listener() {\n i0.ɵɵrestoreView(_r2);\n const ctx_r3 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r3.setMouseState(true));\n })(\"mouseleave\", function NzDropdownMenuComponent_ng_template_0_Template_div_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r2);\n const ctx_r4 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r4.setMouseState(false));\n });\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"ant-dropdown-rtl\", ctx_r0.dir === \"rtl\");\n i0.ɵɵproperty(\"ngClass\", ctx_r0.nzOverlayClassName)(\"ngStyle\", ctx_r0.nzOverlayStyle)(\"@slideMotion\", undefined)(\"@.disabled\", !!(ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation))(\"nzNoAnimation\", ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation);\n }\n}\nconst _c0 = [\"*\"];\nconst NZ_CONFIG_MODULE_NAME = 'dropDown';\nconst listOfPositions = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topRight, POSITION_MAP.topLeft];\nclass NzDropDownDirective {\n setDropdownMenuValue(key, value) {\n if (this.nzDropdownMenu) {\n this.nzDropdownMenu.setValue(key, value);\n }\n }\n constructor(nzConfigService, elementRef, overlay, renderer, viewContainerRef, platform) {\n this.nzConfigService = nzConfigService;\n this.elementRef = elementRef;\n this.overlay = overlay;\n this.renderer = renderer;\n this.viewContainerRef = viewContainerRef;\n this.platform = platform;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.overlayRef = null;\n this.destroy$ = new Subject();\n this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elementRef.nativeElement).withLockedPosition().withTransformOriginOn('.ant-dropdown');\n this.inputVisible$ = new BehaviorSubject(false);\n this.nzTrigger$ = new BehaviorSubject('hover');\n this.overlayClose$ = new Subject();\n this.nzDropdownMenu = null;\n this.nzTrigger = 'hover';\n this.nzMatchWidthElement = null;\n this.nzBackdrop = false;\n this.nzClickHide = true;\n this.nzDisabled = false;\n this.nzVisible = false;\n this.nzOverlayClassName = '';\n this.nzOverlayStyle = {};\n this.nzPlacement = 'bottomLeft';\n this.nzVisibleChange = new EventEmitter();\n }\n ngAfterViewInit() {\n if (this.nzDropdownMenu) {\n const nativeElement = this.elementRef.nativeElement;\n /** host mouse state **/\n const hostMouseState$ = merge(fromEvent(nativeElement, 'mouseenter').pipe(mapTo(true)), fromEvent(nativeElement, 'mouseleave').pipe(mapTo(false)));\n /** menu mouse state **/\n const menuMouseState$ = this.nzDropdownMenu.mouseState$;\n /** merged mouse state **/\n const mergedMouseState$ = merge(menuMouseState$, hostMouseState$);\n /** host click state **/\n const hostClickState$ = fromEvent(nativeElement, 'click').pipe(map(() => !this.nzVisible));\n /** visible state switch by nzTrigger **/\n const visibleStateByTrigger$ = this.nzTrigger$.pipe(switchMap(trigger => {\n if (trigger === 'hover') {\n return mergedMouseState$;\n } else if (trigger === 'click') {\n return hostClickState$;\n } else {\n return EMPTY;\n }\n }));\n const descendantMenuItemClick$ = this.nzDropdownMenu.descendantMenuItemClick$.pipe(filter(() => this.nzClickHide), mapTo(false));\n const domTriggerVisible$ = merge(visibleStateByTrigger$, descendantMenuItemClick$, this.overlayClose$).pipe(filter(() => !this.nzDisabled));\n const visible$ = merge(this.inputVisible$, domTriggerVisible$);\n combineLatest([visible$, this.nzDropdownMenu.isChildSubMenuOpen$]).pipe(map(([visible, sub]) => visible || sub), auditTime(150), distinctUntilChanged(), filter(() => this.platform.isBrowser), takeUntil(this.destroy$)).subscribe(visible => {\n const element = this.nzMatchWidthElement ? this.nzMatchWidthElement.nativeElement : nativeElement;\n const triggerWidth = element.getBoundingClientRect().width;\n if (this.nzVisible !== visible) {\n this.nzVisibleChange.emit(visible);\n }\n this.nzVisible = visible;\n if (visible) {\n /** set up overlayRef **/\n if (!this.overlayRef) {\n /** new overlay **/\n this.overlayRef = this.overlay.create({\n positionStrategy: this.positionStrategy,\n minWidth: triggerWidth,\n disposeOnNavigation: true,\n hasBackdrop: this.nzBackdrop && this.nzTrigger === 'click',\n scrollStrategy: this.overlay.scrollStrategies.reposition()\n });\n merge(this.overlayRef.backdropClick(), this.overlayRef.detachments(), this.overlayRef.outsidePointerEvents().pipe(filter(e => !this.elementRef.nativeElement.contains(e.target))), this.overlayRef.keydownEvents().pipe(filter(e => e.keyCode === ESCAPE && !hasModifierKey(e)))).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.overlayClose$.next(false);\n });\n } else {\n /** update overlay config **/\n const overlayConfig = this.overlayRef.getConfig();\n overlayConfig.minWidth = triggerWidth;\n }\n /** open dropdown with animation **/\n this.positionStrategy.withPositions([POSITION_MAP[this.nzPlacement], ...listOfPositions]);\n /** reset portal if needed **/\n if (!this.portal || this.portal.templateRef !== this.nzDropdownMenu.templateRef) {\n this.portal = new TemplatePortal(this.nzDropdownMenu.templateRef, this.viewContainerRef);\n }\n this.overlayRef.attach(this.portal);\n } else {\n /** detach overlayRef if needed **/\n if (this.overlayRef) {\n this.overlayRef.detach();\n }\n }\n });\n this.nzDropdownMenu.animationStateChange$.pipe(takeUntil(this.destroy$)).subscribe(event => {\n if (event.toState === 'void') {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n }\n });\n }\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n ngOnChanges(changes) {\n const {\n nzVisible,\n nzDisabled,\n nzOverlayClassName,\n nzOverlayStyle,\n nzTrigger\n } = changes;\n if (nzTrigger) {\n this.nzTrigger$.next(this.nzTrigger);\n }\n if (nzVisible) {\n this.inputVisible$.next(this.nzVisible);\n }\n if (nzDisabled) {\n const nativeElement = this.elementRef.nativeElement;\n if (this.nzDisabled) {\n this.renderer.setAttribute(nativeElement, 'disabled', '');\n this.inputVisible$.next(false);\n } else {\n this.renderer.removeAttribute(nativeElement, 'disabled');\n }\n }\n if (nzOverlayClassName) {\n this.setDropdownMenuValue('nzOverlayClassName', this.nzOverlayClassName);\n }\n if (nzOverlayStyle) {\n this.setDropdownMenuValue('nzOverlayStyle', this.nzOverlayStyle);\n }\n }\n static {\n this.ɵfac = function NzDropDownDirective_Factory(t) {\n return new (t || NzDropDownDirective)(i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.Overlay), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i3.Platform));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzDropDownDirective,\n selectors: [[\"\", \"nz-dropdown\", \"\"]],\n hostAttrs: [1, \"ant-dropdown-trigger\"],\n inputs: {\n nzDropdownMenu: \"nzDropdownMenu\",\n nzTrigger: \"nzTrigger\",\n nzMatchWidthElement: \"nzMatchWidthElement\",\n nzBackdrop: \"nzBackdrop\",\n nzClickHide: \"nzClickHide\",\n nzDisabled: \"nzDisabled\",\n nzVisible: \"nzVisible\",\n nzOverlayClassName: \"nzOverlayClassName\",\n nzOverlayStyle: \"nzOverlayStyle\",\n nzPlacement: \"nzPlacement\"\n },\n outputs: {\n nzVisibleChange: \"nzVisibleChange\"\n },\n exportAs: [\"nzDropdown\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n__decorate([WithConfig(), InputBoolean()], NzDropDownDirective.prototype, \"nzBackdrop\", void 0);\n__decorate([InputBoolean()], NzDropDownDirective.prototype, \"nzClickHide\", void 0);\n__decorate([InputBoolean()], NzDropDownDirective.prototype, \"nzDisabled\", void 0);\n__decorate([InputBoolean()], NzDropDownDirective.prototype, \"nzVisible\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDropDownDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-dropdown]',\n exportAs: 'nzDropdown',\n host: {\n class: 'ant-dropdown-trigger'\n },\n standalone: true\n }]\n }], () => [{\n type: i1.NzConfigService\n }, {\n type: i0.ElementRef\n }, {\n type: i2.Overlay\n }, {\n type: i0.Renderer2\n }, {\n type: i0.ViewContainerRef\n }, {\n type: i3.Platform\n }], {\n nzDropdownMenu: [{\n type: Input\n }],\n nzTrigger: [{\n type: Input\n }],\n nzMatchWidthElement: [{\n type: Input\n }],\n nzBackdrop: [{\n type: Input\n }],\n nzClickHide: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input\n }],\n nzVisible: [{\n type: Input\n }],\n nzOverlayClassName: [{\n type: Input\n }],\n nzOverlayStyle: [{\n type: Input\n }],\n nzPlacement: [{\n type: Input\n }],\n nzVisibleChange: [{\n type: Output\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzContextMenuServiceModule {\n static {\n this.ɵfac = function NzContextMenuServiceModule_Factory(t) {\n return new (t || NzContextMenuServiceModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzContextMenuServiceModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzContextMenuServiceModule, [{\n type: NgModule\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDropDownADirective {\n constructor() {}\n static {\n this.ɵfac = function NzDropDownADirective_Factory(t) {\n return new (t || NzDropDownADirective)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzDropDownADirective,\n selectors: [[\"a\", \"nz-dropdown\", \"\"]],\n hostAttrs: [1, \"ant-dropdown-link\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDropDownADirective, [{\n type: Directive,\n args: [{\n selector: 'a[nz-dropdown]',\n host: {\n class: 'ant-dropdown-link'\n },\n standalone: true\n }]\n }], () => [], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDropdownButtonDirective {\n constructor(renderer, nzButtonGroupComponent, elementRef) {\n this.renderer = renderer;\n this.nzButtonGroupComponent = nzButtonGroupComponent;\n this.elementRef = elementRef;\n }\n ngAfterViewInit() {\n const parentElement = this.renderer.parentNode(this.elementRef.nativeElement);\n if (this.nzButtonGroupComponent && parentElement) {\n this.renderer.addClass(parentElement, 'ant-dropdown-button');\n }\n }\n static {\n this.ɵfac = function NzDropdownButtonDirective_Factory(t) {\n return new (t || NzDropdownButtonDirective)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1$1.NzButtonGroupComponent, 9), i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzDropdownButtonDirective,\n selectors: [[\"\", \"nz-button\", \"\", \"nz-dropdown\", \"\"]],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDropdownButtonDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-button][nz-dropdown]',\n standalone: true\n }]\n }], () => [{\n type: i0.Renderer2\n }, {\n type: i1$1.NzButtonGroupComponent,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }, {\n type: i0.ElementRef\n }], null);\n})();\nclass NzDropdownMenuComponent {\n onAnimationEvent(event) {\n this.animationStateChange$.emit(event);\n }\n setMouseState(visible) {\n this.mouseState$.next(visible);\n }\n setValue(key, value) {\n this[key] = value;\n this.cdr.markForCheck();\n }\n constructor(cdr, elementRef, renderer, viewContainerRef, nzMenuService, directionality, noAnimation) {\n this.cdr = cdr;\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.viewContainerRef = viewContainerRef;\n this.nzMenuService = nzMenuService;\n this.directionality = directionality;\n this.noAnimation = noAnimation;\n this.mouseState$ = new BehaviorSubject(false);\n this.isChildSubMenuOpen$ = this.nzMenuService.isChildSubMenuOpen$;\n this.descendantMenuItemClick$ = this.nzMenuService.descendantMenuItemClick$;\n this.animationStateChange$ = new EventEmitter();\n this.nzOverlayClassName = '';\n this.nzOverlayStyle = {};\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n }\n ngAfterContentInit() {\n this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement);\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzDropdownMenuComponent_Factory(t) {\n return new (t || NzDropdownMenuComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i1$2.MenuService), i0.ɵɵdirectiveInject(i2$1.Directionality, 8), i0.ɵɵdirectiveInject(i3$1.NzNoAnimationDirective, 9));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzDropdownMenuComponent,\n selectors: [[\"nz-dropdown-menu\"]],\n viewQuery: function NzDropdownMenuComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(TemplateRef, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templateRef = _t.first);\n }\n },\n exportAs: [\"nzDropdownMenu\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([MenuService, /** menu is inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useValue: true\n }]), i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n consts: [[1, \"ant-dropdown\", 3, \"ngClass\", \"ngStyle\", \"nzNoAnimation\", \"mouseenter\", \"mouseleave\"]],\n template: function NzDropdownMenuComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵtemplate(0, NzDropdownMenuComponent_ng_template_0_Template, 2, 7, \"ng-template\");\n }\n },\n dependencies: [NgClass, NgStyle, NzNoAnimationDirective],\n encapsulation: 2,\n data: {\n animation: [slideMotion]\n },\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDropdownMenuComponent, [{\n type: Component,\n args: [{\n selector: `nz-dropdown-menu`,\n exportAs: `nzDropdownMenu`,\n animations: [slideMotion],\n providers: [MenuService, /** menu is inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useValue: true\n }],\n template: `\n \n \n \n \n \n `,\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, NgStyle, NzNoAnimationDirective],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: i0.ViewContainerRef\n }, {\n type: i1$2.MenuService\n }, {\n type: i2$1.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i3$1.NzNoAnimationDirective,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }], {\n templateRef: [{\n type: ViewChild,\n args: [TemplateRef, {\n static: true\n }]\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDropDownModule {\n static {\n this.ɵfac = function NzDropDownModule_Factory(t) {\n return new (t || NzDropDownModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzDropDownModule,\n imports: [NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective, NzContextMenuServiceModule],\n exports: [NzMenuModule, NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [NzContextMenuServiceModule, NzMenuModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDropDownModule, [{\n type: NgModule,\n args: [{\n imports: [NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective, NzContextMenuServiceModule],\n exports: [NzMenuModule, NzDropDownDirective, NzDropDownADirective, NzDropdownMenuComponent, NzDropdownButtonDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst LIST_OF_POSITIONS = [new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n}, {\n overlayX: 'start',\n overlayY: 'top'\n}), new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n}, {\n overlayX: 'start',\n overlayY: 'bottom'\n}), new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n}, {\n overlayX: 'end',\n overlayY: 'bottom'\n}), new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n}, {\n overlayX: 'end',\n overlayY: 'top'\n})];\nclass NzContextMenuService {\n constructor(ngZone, overlay) {\n this.ngZone = ngZone;\n this.overlay = overlay;\n this.overlayRef = null;\n this.closeSubscription = Subscription.EMPTY;\n }\n create($event, nzDropdownMenuComponent) {\n this.close(true);\n const {\n x,\n y\n } = $event;\n if ($event instanceof MouseEvent) {\n $event.preventDefault();\n }\n const positionStrategy = this.overlay.position().flexibleConnectedTo({\n x,\n y\n }).withPositions(LIST_OF_POSITIONS).withTransformOriginOn('.ant-dropdown');\n this.overlayRef = this.overlay.create({\n positionStrategy,\n disposeOnNavigation: true,\n scrollStrategy: this.overlay.scrollStrategies.close()\n });\n this.closeSubscription = new Subscription();\n this.closeSubscription.add(nzDropdownMenuComponent.descendantMenuItemClick$.subscribe(() => this.close()));\n this.closeSubscription.add(this.ngZone.runOutsideAngular(() => merge(fromEvent(document, 'click').pipe(filter(event => !!this.overlayRef && !this.overlayRef.overlayElement.contains(event.target)), /** handle firefox contextmenu event **/\n filter(event => event.button !== 2)), fromEvent(document, 'keydown').pipe(filter(event => event.key === 'Escape'))).pipe(first()).subscribe(() => this.ngZone.run(() => this.close()))));\n return this.overlayRef.attach(new TemplatePortal(nzDropdownMenuComponent.templateRef, nzDropdownMenuComponent.viewContainerRef));\n }\n close(clear = false) {\n if (this.overlayRef) {\n this.overlayRef.detach();\n if (clear) {\n this.overlayRef.dispose();\n }\n this.overlayRef = null;\n this.closeSubscription.unsubscribe();\n }\n }\n static {\n this.ɵfac = function NzContextMenuService_Factory(t) {\n return new (t || NzContextMenuService)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i2.Overlay));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzContextMenuService,\n factory: NzContextMenuService.ɵfac,\n providedIn: NzContextMenuServiceModule\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzContextMenuService, [{\n type: Injectable,\n args: [{\n providedIn: NzContextMenuServiceModule\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i2.Overlay\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzContextMenuService, NzContextMenuServiceModule, NzDropDownADirective, NzDropDownDirective, NzDropDownModule, NzDropdownButtonDirective, NzDropdownMenuComponent };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js b/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js deleted file mode 100644 index d855a3b..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js +++ /dev/null @@ -1,116 +0,0 @@ -import { - InputBoolean, - coerceElement -} from "./chunk-M5GY4FCO.js"; -import { - ANIMATION_MODULE_TYPE, - Directive, - ElementRef, - Inject, - Input, - NgModule, - Optional, - Renderer2, - __decorate, - setClassMetadata, - ɵɵNgOnChangesFeature, - ɵɵdefineDirective, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-no-animation.mjs -var DISABLED_CLASSNAME = "nz-animate-disabled"; -var _NzNoAnimationDirective = class _NzNoAnimationDirective { - constructor(element, renderer, animationType) { - this.element = element; - this.renderer = renderer; - this.animationType = animationType; - this.nzNoAnimation = false; - } - ngOnChanges() { - this.updateClass(); - } - ngAfterViewInit() { - this.updateClass(); - } - updateClass() { - const element = coerceElement(this.element); - if (!element) { - return; - } - if (this.nzNoAnimation || this.animationType === "NoopAnimations") { - this.renderer.addClass(element, DISABLED_CLASSNAME); - } else { - this.renderer.removeClass(element, DISABLED_CLASSNAME); - } - } -}; -_NzNoAnimationDirective.ɵfac = function NzNoAnimationDirective_Factory(t) { - return new (t || _NzNoAnimationDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); -}; -_NzNoAnimationDirective.ɵdir = ɵɵdefineDirective({ - type: _NzNoAnimationDirective, - selectors: [["", "nzNoAnimation", ""]], - inputs: { - nzNoAnimation: "nzNoAnimation" - }, - exportAs: ["nzNoAnimation"], - standalone: true, - features: [ɵɵNgOnChangesFeature] -}); -var NzNoAnimationDirective = _NzNoAnimationDirective; -__decorate([InputBoolean()], NzNoAnimationDirective.prototype, "nzNoAnimation", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzNoAnimationDirective, [{ - type: Directive, - args: [{ - selector: "[nzNoAnimation]", - exportAs: "nzNoAnimation", - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: Renderer2 - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [ANIMATION_MODULE_TYPE] - }] - }], { - nzNoAnimation: [{ - type: Input - }] - }); -})(); -var _NzNoAnimationModule = class _NzNoAnimationModule { -}; -_NzNoAnimationModule.ɵfac = function NzNoAnimationModule_Factory(t) { - return new (t || _NzNoAnimationModule)(); -}; -_NzNoAnimationModule.ɵmod = ɵɵdefineNgModule({ - type: _NzNoAnimationModule, - imports: [NzNoAnimationDirective], - exports: [NzNoAnimationDirective] -}); -_NzNoAnimationModule.ɵinj = ɵɵdefineInjector({}); -var NzNoAnimationModule = _NzNoAnimationModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzNoAnimationModule, [{ - type: NgModule, - args: [{ - imports: [NzNoAnimationDirective], - exports: [NzNoAnimationDirective] - }] - }], null, null); -})(); - -export { - NzNoAnimationDirective -}; -//# sourceMappingURL=chunk-55A2ZGND.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js.map b/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js.map deleted file mode 100644 index e5361c8..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-55A2ZGND.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-no-animation.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Directive, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { __decorate } from 'tslib';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nconst DISABLED_CLASSNAME = 'nz-animate-disabled';\nclass NzNoAnimationDirective {\n constructor(element, renderer, animationType) {\n this.element = element;\n this.renderer = renderer;\n this.animationType = animationType;\n this.nzNoAnimation = false;\n }\n ngOnChanges() {\n this.updateClass();\n }\n ngAfterViewInit() {\n this.updateClass();\n }\n updateClass() {\n const element = coerceElement(this.element);\n if (!element) {\n return;\n }\n if (this.nzNoAnimation || this.animationType === 'NoopAnimations') {\n this.renderer.addClass(element, DISABLED_CLASSNAME);\n } else {\n this.renderer.removeClass(element, DISABLED_CLASSNAME);\n }\n }\n static {\n this.ɵfac = function NzNoAnimationDirective_Factory(t) {\n return new (t || NzNoAnimationDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzNoAnimationDirective,\n selectors: [[\"\", \"nzNoAnimation\", \"\"]],\n inputs: {\n nzNoAnimation: \"nzNoAnimation\"\n },\n exportAs: [\"nzNoAnimation\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n__decorate([InputBoolean()], NzNoAnimationDirective.prototype, \"nzNoAnimation\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzNoAnimationDirective, [{\n type: Directive,\n args: [{\n selector: '[nzNoAnimation]',\n exportAs: 'nzNoAnimation',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }]\n }], {\n nzNoAnimation: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzNoAnimationModule {\n static {\n this.ɵfac = function NzNoAnimationModule_Factory(t) {\n return new (t || NzNoAnimationModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzNoAnimationModule,\n imports: [NzNoAnimationDirective],\n exports: [NzNoAnimationDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzNoAnimationModule, [{\n type: NgModule,\n args: [{\n imports: [NzNoAnimationDirective],\n exports: [NzNoAnimationDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzNoAnimationDirective, NzNoAnimationModule };\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAM,qBAAqB;AAC3B,IAAM,0BAAN,MAAM,wBAAuB;AAAA,EAC3B,YAAY,SAAS,UAAU,eAAe;AAC5C,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,gBAAgB;AACrB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,cAAc;AACZ,SAAK,YAAY;AAAA,EACnB;AAAA,EACA,kBAAkB;AAChB,SAAK,YAAY;AAAA,EACnB;AAAA,EACA,cAAc;AACZ,UAAM,UAAU,cAAc,KAAK,OAAO;AAC1C,QAAI,CAAC,SAAS;AACZ;AAAA,IACF;AACA,QAAI,KAAK,iBAAiB,KAAK,kBAAkB,kBAAkB;AACjE,WAAK,SAAS,SAAS,SAAS,kBAAkB;AAAA,IACpD,OAAO;AACL,WAAK,SAAS,YAAY,SAAS,kBAAkB;AAAA,IACvD;AAAA,EACF;AAkBF;AAhBI,wBAAK,OAAO,SAAS,+BAA+B,GAAG;AACrD,SAAO,KAAK,KAAK,yBAA2B,kBAAqB,UAAU,GAAM,kBAAqB,SAAS,GAAM,kBAAkB,uBAAuB,CAAC,CAAC;AAClK;AAGA,wBAAK,OAAyB,kBAAkB;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC;AAAA,EACrC,QAAQ;AAAA,IACN,eAAe;AAAA,EACjB;AAAA,EACA,UAAU,CAAC,eAAe;AAAA,EAC1B,YAAY;AAAA,EACZ,UAAU,CAAI,oBAAoB;AACpC,CAAC;AAvCL,IAAM,yBAAN;AA0CA,WAAW,CAAC,aAAa,CAAC,GAAG,uBAAuB,WAAW,iBAAiB,MAAM;AAAA,CACrF,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,wBAAwB,CAAC;AAAA,IAC/F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,qBAAqB;AAAA,IAC9B,CAAC;AAAA,EACH,CAAC,GAAG;AAAA,IACF,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AAMH,IAAM,uBAAN,MAAM,qBAAoB;AAgB1B;AAdI,qBAAK,OAAO,SAAS,4BAA4B,GAAG;AAClD,SAAO,KAAK,KAAK,sBAAqB;AACxC;AAGA,qBAAK,OAAyB,iBAAiB;AAAA,EAC7C,MAAM;AAAA,EACN,SAAS,CAAC,sBAAsB;AAAA,EAChC,SAAS,CAAC,sBAAsB;AAClC,CAAC;AAGD,qBAAK,OAAyB,iBAAiB,CAAC,CAAC;AAdrD,IAAM,sBAAN;AAAA,CAiBC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,qBAAqB,CAAC;AAAA,IAC5F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,sBAAsB;AAAA,MAChC,SAAS,CAAC,sBAAsB;AAAA,IAClC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js b/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js deleted file mode 100644 index 9f95f46..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js +++ /dev/null @@ -1,791 +0,0 @@ -import { - DEFAULT_TOOLTIP_POSITIONS, - NzConnectedOverlayDirective, - NzOverlayModule, - POSITION_MAP, - getPlacementName -} from "./chunk-6RXUTAFR.js"; -import { - zoomBigMotion -} from "./chunk-XAGDQPFO.js"; -import { - NzNoAnimationDirective -} from "./chunk-55A2ZGND.js"; -import { - CdkConnectedOverlay, - OverlayModule -} from "./chunk-6U656R5M.js"; -import { - NzOutletModule, - NzStringTemplateOutletDirective -} from "./chunk-VOD2PKZN.js"; -import { - NzConfigService, - isPresetColor -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - InputBoolean, - isNotNil, - toBoolean -} from "./chunk-M5GY4FCO.js"; -import { - NgClass, - NgStyle -} from "./chunk-OSQBUYO6.js"; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - Directive, - ElementRef, - EventEmitter, - Host, - Input, - NgModule, - Optional, - Output, - Renderer2, - Subject, - TemplateRef, - ViewChild, - ViewContainerRef, - ViewEncapsulation$1, - __decorate, - asapScheduler, - delay, - distinctUntilChanged, - filter, - setClassMetadata, - takeUntil, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵStandaloneFeature, - ɵɵadvance, - ɵɵclassProp, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵelementContainerEnd, - ɵɵelementContainerStart, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnextContext, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵtemplate, - ɵɵtemplateRefExtractor, - ɵɵtext, - ɵɵtextInterpolate, - ɵɵviewQuery -} from "./chunk-FGESKT7O.js"; -import { - __spreadProps, - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-tooltip.mjs -var _c0 = ["overlay"]; -function NzToolTipComponent_ng_template_0_ng_container_5_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵtext(1); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r2 = ɵɵnextContext(2); - ɵɵadvance(1); - ɵɵtextInterpolate(ctx_r2.nzTitle); - } -} -function NzToolTipComponent_ng_template_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4); - ɵɵelement(3, "span", 5); - ɵɵelementEnd(); - ɵɵelementStart(4, "div", 6); - ɵɵtemplate(5, NzToolTipComponent_ng_template_0_ng_container_5_Template, 2, 1, "ng-container", 7); - ɵɵelementEnd()()(); - } - if (rf & 2) { - const ctx_r0 = ɵɵnextContext(); - ɵɵclassProp("ant-tooltip-rtl", ctx_r0.dir === "rtl"); - ɵɵproperty("ngClass", ctx_r0._classMap)("ngStyle", ctx_r0.nzOverlayStyle)("@.disabled", !!(ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation))("nzNoAnimation", ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation)("@zoomBigMotion", "active"); - ɵɵadvance(3); - ɵɵproperty("ngStyle", ctx_r0._contentStyleMap); - ɵɵadvance(1); - ɵɵproperty("ngStyle", ctx_r0._contentStyleMap); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx_r0.nzTitle)("nzStringTemplateOutletContext", ctx_r0.nzTitleContext); - } -} -var _NzTooltipBaseDirective = class _NzTooltipBaseDirective { - /** - * This true title that would be used in other parts on this component. - */ - get _title() { - return this.title || this.directiveTitle || null; - } - get _content() { - return this.content || this.directiveContent || null; - } - get _trigger() { - return typeof this.trigger !== "undefined" ? this.trigger : "hover"; - } - get _placement() { - const p = this.placement; - return Array.isArray(p) && p.length > 0 ? p : typeof p === "string" && p ? [p] : ["top"]; - } - get _visible() { - return (typeof this.visible !== "undefined" ? this.visible : this.internalVisible) || false; - } - get _mouseEnterDelay() { - return this.mouseEnterDelay || 0.15; - } - get _mouseLeaveDelay() { - return this.mouseLeaveDelay || 0.1; - } - get _overlayClassName() { - return this.overlayClassName || null; - } - get _overlayStyle() { - return this.overlayStyle || null; - } - getProxyPropertyMap() { - return { - noAnimation: ["noAnimation", () => !!this.noAnimation] - }; - } - constructor(elementRef, hostView, renderer, noAnimation, nzConfigService) { - this.elementRef = elementRef; - this.hostView = hostView; - this.renderer = renderer; - this.noAnimation = noAnimation; - this.nzConfigService = nzConfigService; - this.visibleChange = new EventEmitter(); - this.internalVisible = false; - this.destroy$ = new Subject(); - this.triggerDisposables = []; - } - ngOnChanges(changes) { - const { - trigger - } = changes; - if (trigger && !trigger.isFirstChange()) { - this.registerTriggers(); - } - if (this.component) { - this.updatePropertiesByChanges(changes); - } - } - ngAfterViewInit() { - this.createComponent(); - this.registerTriggers(); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - this.clearTogglingTimer(); - this.removeTriggerListeners(); - } - show() { - this.component?.show(); - } - hide() { - this.component?.hide(); - } - /** - * Force the component to update its position. - */ - updatePosition() { - if (this.component) { - this.component.updatePosition(); - } - } - /** - * Create a dynamic tooltip component. This method can be override. - */ - createComponent() { - const componentRef = this.componentRef; - this.component = componentRef.instance; - this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), componentRef.location.nativeElement); - this.component.setOverlayOrigin(this.origin || this.elementRef); - this.initProperties(); - const ngVisibleChange$ = this.component.nzVisibleChange.pipe(distinctUntilChanged()); - ngVisibleChange$.pipe(takeUntil(this.destroy$)).subscribe((visible) => { - this.internalVisible = visible; - this.visibleChange.emit(visible); - }); - ngVisibleChange$.pipe(filter((visible) => visible), delay(0, asapScheduler), filter(() => Boolean(this.component?.overlay?.overlayRef)), takeUntil(this.destroy$)).subscribe(() => { - this.component?.updatePosition(); - }); - } - registerTriggers() { - const el = this.elementRef.nativeElement; - const trigger = this.trigger; - this.removeTriggerListeners(); - if (trigger === "hover") { - let overlayElement; - this.triggerDisposables.push(this.renderer.listen(el, "mouseenter", () => { - this.delayEnterLeave(true, true, this._mouseEnterDelay); - })); - this.triggerDisposables.push(this.renderer.listen(el, "mouseleave", () => { - this.delayEnterLeave(true, false, this._mouseLeaveDelay); - if (this.component?.overlay.overlayRef && !overlayElement) { - overlayElement = this.component.overlay.overlayRef.overlayElement; - this.triggerDisposables.push(this.renderer.listen(overlayElement, "mouseenter", () => { - this.delayEnterLeave(false, true, this._mouseEnterDelay); - })); - this.triggerDisposables.push(this.renderer.listen(overlayElement, "mouseleave", () => { - this.delayEnterLeave(false, false, this._mouseLeaveDelay); - })); - } - })); - } else if (trigger === "focus") { - this.triggerDisposables.push(this.renderer.listen(el, "focusin", () => this.show())); - this.triggerDisposables.push(this.renderer.listen(el, "focusout", () => this.hide())); - } else if (trigger === "click") { - this.triggerDisposables.push(this.renderer.listen(el, "click", (e) => { - e.preventDefault(); - this.show(); - })); - } - } - updatePropertiesByChanges(changes) { - this.updatePropertiesByKeys(Object.keys(changes)); - } - updatePropertiesByKeys(keys) { - const mappingProperties = __spreadValues({ - // common mappings - title: ["nzTitle", () => this._title], - directiveTitle: ["nzTitle", () => this._title], - content: ["nzContent", () => this._content], - directiveContent: ["nzContent", () => this._content], - trigger: ["nzTrigger", () => this._trigger], - placement: ["nzPlacement", () => this._placement], - visible: ["nzVisible", () => this._visible], - mouseEnterDelay: ["nzMouseEnterDelay", () => this._mouseEnterDelay], - mouseLeaveDelay: ["nzMouseLeaveDelay", () => this._mouseLeaveDelay], - overlayClassName: ["nzOverlayClassName", () => this._overlayClassName], - overlayStyle: ["nzOverlayStyle", () => this._overlayStyle], - arrowPointAtCenter: ["nzArrowPointAtCenter", () => this.arrowPointAtCenter], - cdkConnectedOverlayPush: ["cdkConnectedOverlayPush", () => this.cdkConnectedOverlayPush] - }, this.getProxyPropertyMap()); - (keys || Object.keys(mappingProperties).filter((key) => !key.startsWith("directive"))).forEach((property) => { - if (mappingProperties[property]) { - const [name, valueFn] = mappingProperties[property]; - this.updateComponentValue(name, valueFn()); - } - }); - this.component?.updateByDirective(); - } - initProperties() { - this.updatePropertiesByKeys(); - } - updateComponentValue(key, value) { - if (typeof value !== "undefined") { - this.component[key] = value; - } - } - delayEnterLeave(isOrigin, isEnter, delay2 = -1) { - if (this.delayTimer) { - this.clearTogglingTimer(); - } else if (delay2 > 0) { - this.delayTimer = setTimeout(() => { - this.delayTimer = void 0; - isEnter ? this.show() : this.hide(); - }, delay2 * 1e3); - } else { - isEnter && isOrigin ? this.show() : this.hide(); - } - } - removeTriggerListeners() { - this.triggerDisposables.forEach((dispose) => dispose()); - this.triggerDisposables.length = 0; - } - clearTogglingTimer() { - if (this.delayTimer) { - clearTimeout(this.delayTimer); - this.delayTimer = void 0; - } - } -}; -_NzTooltipBaseDirective.ɵfac = function NzTooltipBaseDirective_Factory(t) { - return new (t || _NzTooltipBaseDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzNoAnimationDirective), ɵɵdirectiveInject(NzConfigService)); -}; -_NzTooltipBaseDirective.ɵdir = ɵɵdefineDirective({ - type: _NzTooltipBaseDirective, - features: [ɵɵNgOnChangesFeature] -}); -var NzTooltipBaseDirective = _NzTooltipBaseDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzTooltipBaseDirective, [{ - type: Directive - }], () => [{ - type: ElementRef - }, { - type: ViewContainerRef - }, { - type: Renderer2 - }, { - type: NzNoAnimationDirective - }, { - type: NzConfigService - }], null); -})(); -var _NzTooltipBaseComponent = class _NzTooltipBaseComponent { - set nzVisible(value) { - const visible = toBoolean(value); - if (this._visible !== visible) { - this._visible = visible; - this.nzVisibleChange.next(visible); - } - } - get nzVisible() { - return this._visible; - } - set nzTrigger(value) { - this._trigger = value; - } - get nzTrigger() { - return this._trigger; - } - set nzPlacement(value) { - const preferredPosition = value.map((placement) => POSITION_MAP[placement]); - this._positions = [...preferredPosition, ...DEFAULT_TOOLTIP_POSITIONS]; - } - constructor(cdr, directionality, noAnimation) { - this.cdr = cdr; - this.directionality = directionality; - this.noAnimation = noAnimation; - this.nzTitle = null; - this.nzContent = null; - this.nzArrowPointAtCenter = false; - this.nzOverlayStyle = {}; - this.nzBackdrop = false; - this.cdkConnectedOverlayPush = true; - this.nzVisibleChange = new Subject(); - this._visible = false; - this._trigger = "hover"; - this.preferredPlacement = "top"; - this.dir = "ltr"; - this._classMap = {}; - this._prefix = "ant-tooltip"; - this._positions = [...DEFAULT_TOOLTIP_POSITIONS]; - this.destroy$ = new Subject(); - } - ngOnInit() { - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.detectChanges(); - }); - this.dir = this.directionality.value; - } - ngOnDestroy() { - this.nzVisibleChange.complete(); - this.destroy$.next(); - this.destroy$.complete(); - } - show() { - if (this.nzVisible) { - return; - } - if (!this.isEmpty()) { - this.nzVisible = true; - this.nzVisibleChange.next(true); - this.cdr.detectChanges(); - } - if (this.origin && this.overlay && this.overlay.overlayRef && this.overlay.overlayRef.getDirection() === "rtl") { - this.overlay.overlayRef.setDirection("ltr"); - } - } - hide() { - if (!this.nzVisible) { - return; - } - this.nzVisible = false; - this.nzVisibleChange.next(false); - this.cdr.detectChanges(); - } - updateByDirective() { - this.updateStyles(); - this.cdr.detectChanges(); - Promise.resolve().then(() => { - this.updatePosition(); - this.updateVisibilityByTitle(); - }); - } - /** - * Force the component to update its position. - */ - updatePosition() { - if (this.origin && this.overlay && this.overlay.overlayRef) { - this.overlay.overlayRef.updatePosition(); - } - } - onPositionChange(position) { - this.preferredPlacement = getPlacementName(position); - this.updateStyles(); - this.cdr.detectChanges(); - } - setOverlayOrigin(origin) { - this.origin = origin; - this.cdr.markForCheck(); - } - onClickOutside(event) { - if (!this.origin.nativeElement.contains(event.target) && this.nzTrigger !== null) { - this.hide(); - } - } - /** - * Hide the component while the content is empty. - */ - updateVisibilityByTitle() { - if (this.isEmpty()) { - this.hide(); - } - } - updateStyles() { - this._classMap = { - [this.nzOverlayClassName]: true, - [`${this._prefix}-placement-${this.preferredPlacement}`]: true - }; - } -}; -_NzTooltipBaseComponent.ɵfac = function NzTooltipBaseComponent_Factory(t) { - return new (t || _NzTooltipBaseComponent)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(NzNoAnimationDirective)); -}; -_NzTooltipBaseComponent.ɵdir = ɵɵdefineDirective({ - type: _NzTooltipBaseComponent, - viewQuery: function NzTooltipBaseComponent_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(_c0, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.overlay = _t.first); - } - } -}); -var NzTooltipBaseComponent = _NzTooltipBaseComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzTooltipBaseComponent, [{ - type: Directive - }], () => [{ - type: ChangeDetectorRef - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: NzNoAnimationDirective - }], { - overlay: [{ - type: ViewChild, - args: ["overlay", { - static: false - }] - }] - }); -})(); -function isTooltipEmpty(value) { - return value instanceof TemplateRef ? false : value === "" || !isNotNil(value); -} -var _NzTooltipDirective = class _NzTooltipDirective extends NzTooltipBaseDirective { - constructor(elementRef, hostView, renderer, noAnimation) { - super(elementRef, hostView, renderer, noAnimation); - this.titleContext = null; - this.trigger = "hover"; - this.placement = "top"; - this.cdkConnectedOverlayPush = true; - this.visibleChange = new EventEmitter(); - this.componentRef = this.hostView.createComponent(NzToolTipComponent); - } - getProxyPropertyMap() { - return __spreadProps(__spreadValues({}, super.getProxyPropertyMap()), { - nzTooltipColor: ["nzColor", () => this.nzTooltipColor], - titleContext: ["nzTitleContext", () => this.titleContext] - }); - } -}; -_NzTooltipDirective.ɵfac = function NzTooltipDirective_Factory(t) { - return new (t || _NzTooltipDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzNoAnimationDirective, 9)); -}; -_NzTooltipDirective.ɵdir = ɵɵdefineDirective({ - type: _NzTooltipDirective, - selectors: [["", "nz-tooltip", ""]], - hostVars: 2, - hostBindings: function NzTooltipDirective_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-tooltip-open", ctx.visible); - } - }, - inputs: { - title: ["nzTooltipTitle", "title"], - titleContext: ["nzTooltipTitleContext", "titleContext"], - directiveTitle: ["nz-tooltip", "directiveTitle"], - trigger: ["nzTooltipTrigger", "trigger"], - placement: ["nzTooltipPlacement", "placement"], - origin: ["nzTooltipOrigin", "origin"], - visible: ["nzTooltipVisible", "visible"], - mouseEnterDelay: ["nzTooltipMouseEnterDelay", "mouseEnterDelay"], - mouseLeaveDelay: ["nzTooltipMouseLeaveDelay", "mouseLeaveDelay"], - overlayClassName: ["nzTooltipOverlayClassName", "overlayClassName"], - overlayStyle: ["nzTooltipOverlayStyle", "overlayStyle"], - arrowPointAtCenter: ["nzTooltipArrowPointAtCenter", "arrowPointAtCenter"], - cdkConnectedOverlayPush: "cdkConnectedOverlayPush", - nzTooltipColor: "nzTooltipColor" - }, - outputs: { - visibleChange: "nzTooltipVisibleChange" - }, - exportAs: ["nzTooltip"], - standalone: true, - features: [ɵɵInheritDefinitionFeature] -}); -var NzTooltipDirective = _NzTooltipDirective; -__decorate([InputBoolean()], NzTooltipDirective.prototype, "arrowPointAtCenter", void 0); -__decorate([InputBoolean()], NzTooltipDirective.prototype, "cdkConnectedOverlayPush", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzTooltipDirective, [{ - type: Directive, - args: [{ - selector: "[nz-tooltip]", - exportAs: "nzTooltip", - host: { - "[class.ant-tooltip-open]": "visible" - }, - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: ViewContainerRef - }, { - type: Renderer2 - }, { - type: NzNoAnimationDirective, - decorators: [{ - type: Host - }, { - type: Optional - }] - }], { - title: [{ - type: Input, - args: ["nzTooltipTitle"] - }], - titleContext: [{ - type: Input, - args: ["nzTooltipTitleContext"] - }], - directiveTitle: [{ - type: Input, - args: ["nz-tooltip"] - }], - trigger: [{ - type: Input, - args: ["nzTooltipTrigger"] - }], - placement: [{ - type: Input, - args: ["nzTooltipPlacement"] - }], - origin: [{ - type: Input, - args: ["nzTooltipOrigin"] - }], - visible: [{ - type: Input, - args: ["nzTooltipVisible"] - }], - mouseEnterDelay: [{ - type: Input, - args: ["nzTooltipMouseEnterDelay"] - }], - mouseLeaveDelay: [{ - type: Input, - args: ["nzTooltipMouseLeaveDelay"] - }], - overlayClassName: [{ - type: Input, - args: ["nzTooltipOverlayClassName"] - }], - overlayStyle: [{ - type: Input, - args: ["nzTooltipOverlayStyle"] - }], - arrowPointAtCenter: [{ - type: Input, - args: ["nzTooltipArrowPointAtCenter"] - }], - cdkConnectedOverlayPush: [{ - type: Input - }], - nzTooltipColor: [{ - type: Input - }], - visibleChange: [{ - type: Output, - args: ["nzTooltipVisibleChange"] - }] - }); -})(); -var _NzToolTipComponent = class _NzToolTipComponent extends NzTooltipBaseComponent { - constructor(cdr, directionality, noAnimation) { - super(cdr, directionality, noAnimation); - this.nzTitle = null; - this.nzTitleContext = null; - this._contentStyleMap = {}; - } - isEmpty() { - return isTooltipEmpty(this.nzTitle); - } - updateStyles() { - const isColorPreset = this.nzColor && isPresetColor(this.nzColor); - this._classMap = { - [this.nzOverlayClassName]: true, - [`${this._prefix}-placement-${this.preferredPlacement}`]: true, - [`${this._prefix}-${this.nzColor}`]: isColorPreset - }; - this._contentStyleMap = { - backgroundColor: !!this.nzColor && !isColorPreset ? this.nzColor : null, - "--color": this.nzColor - }; - } -}; -_NzToolTipComponent.ɵfac = function NzToolTipComponent_Factory(t) { - return new (t || _NzToolTipComponent)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(NzNoAnimationDirective, 9)); -}; -_NzToolTipComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzToolTipComponent, - selectors: [["nz-tooltip"]], - exportAs: ["nzTooltipComponent"], - standalone: true, - features: [ɵɵInheritDefinitionFeature, ɵɵStandaloneFeature], - decls: 2, - vars: 5, - consts: [["cdkConnectedOverlay", "", "nzConnectedOverlay", "", 3, "cdkConnectedOverlayOrigin", "cdkConnectedOverlayOpen", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPush", "nzArrowPointAtCenter", "overlayOutsideClick", "detach", "positionChange"], ["overlay", "cdkConnectedOverlay"], [1, "ant-tooltip", 3, "ngClass", "ngStyle", "nzNoAnimation"], [1, "ant-tooltip-content"], [1, "ant-tooltip-arrow"], [1, "ant-tooltip-arrow-content", 3, "ngStyle"], [1, "ant-tooltip-inner", 3, "ngStyle"], [4, "nzStringTemplateOutlet", "nzStringTemplateOutletContext"]], - template: function NzToolTipComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵtemplate(0, NzToolTipComponent_ng_template_0_Template, 6, 11, "ng-template", 0, 1, ɵɵtemplateRefExtractor); - ɵɵlistener("overlayOutsideClick", function NzToolTipComponent_Template_ng_template_overlayOutsideClick_0_listener($event) { - return ctx.onClickOutside($event); - })("detach", function NzToolTipComponent_Template_ng_template_detach_0_listener() { - return ctx.hide(); - })("positionChange", function NzToolTipComponent_Template_ng_template_positionChange_0_listener($event) { - return ctx.onPositionChange($event); - }); - } - if (rf & 2) { - ɵɵproperty("cdkConnectedOverlayOrigin", ctx.origin)("cdkConnectedOverlayOpen", ctx._visible)("cdkConnectedOverlayPositions", ctx._positions)("cdkConnectedOverlayPush", ctx.cdkConnectedOverlayPush)("nzArrowPointAtCenter", ctx.nzArrowPointAtCenter); - } - }, - dependencies: [OverlayModule, CdkConnectedOverlay, NgClass, NgStyle, NzNoAnimationDirective, NzOutletModule, NzStringTemplateOutletDirective, NzOverlayModule, NzConnectedOverlayDirective], - encapsulation: 2, - data: { - animation: [zoomBigMotion] - }, - changeDetection: 0 -}); -var NzToolTipComponent = _NzToolTipComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzToolTipComponent, [{ - type: Component, - args: [{ - selector: "nz-tooltip", - exportAs: "nzTooltipComponent", - changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation$1.None, - animations: [zoomBigMotion], - template: ` - -
-
-
- -
-
- {{ nzTitle }} -
-
-
-
- `, - preserveWhitespaces: false, - imports: [OverlayModule, NgClass, NgStyle, NzNoAnimationDirective, NzOutletModule, NzOverlayModule], - standalone: true - }] - }], () => [{ - type: ChangeDetectorRef - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: NzNoAnimationDirective, - decorators: [{ - type: Host - }, { - type: Optional - }] - }], null); -})(); -var _NzToolTipModule = class _NzToolTipModule { -}; -_NzToolTipModule.ɵfac = function NzToolTipModule_Factory(t) { - return new (t || _NzToolTipModule)(); -}; -_NzToolTipModule.ɵmod = ɵɵdefineNgModule({ - type: _NzToolTipModule, - imports: [NzToolTipComponent, NzTooltipDirective], - exports: [NzToolTipComponent, NzTooltipDirective] -}); -_NzToolTipModule.ɵinj = ɵɵdefineInjector({ - imports: [NzToolTipComponent] -}); -var NzToolTipModule = _NzToolTipModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzToolTipModule, [{ - type: NgModule, - args: [{ - imports: [NzToolTipComponent, NzTooltipDirective], - exports: [NzToolTipComponent, NzTooltipDirective] - }] - }], null, null); -})(); - -export { - NzTooltipDirective, - NzToolTipModule -}; -//# sourceMappingURL=chunk-5MZJ5XYV.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js.map b/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js.map deleted file mode 100644 index 4ab1ce7..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-5MZJ5XYV.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-tooltip.mjs"], - "sourcesContent": ["import { __decorate } from 'tslib';\nimport * as i3$1 from '@angular/cdk/overlay';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgClass, NgStyle } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { EventEmitter, Directive, Optional, ViewChild, TemplateRef, Host, Input, Output, Component, ChangeDetectionStrategy, ViewEncapsulation, NgModule } from '@angular/core';\nimport { zoomBigMotion } from 'ng-zorro-antd/core/animation';\nimport { isPresetColor } from 'ng-zorro-antd/core/color';\nimport * as i1 from 'ng-zorro-antd/core/no-animation';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport * as i4 from 'ng-zorro-antd/core/outlet';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport * as i5 from 'ng-zorro-antd/core/overlay';\nimport { POSITION_MAP, DEFAULT_TOOLTIP_POSITIONS, getPlacementName, NzOverlayModule } from 'ng-zorro-antd/core/overlay';\nimport { toBoolean, isNotNil, InputBoolean } from 'ng-zorro-antd/core/util';\nimport { Subject, asapScheduler } from 'rxjs';\nimport { distinctUntilChanged, takeUntil, filter, delay } from 'rxjs/operators';\nimport * as i2 from 'ng-zorro-antd/core/config';\nimport * as i3 from '@angular/cdk/bidi';\nconst _c0 = [\"overlay\"];\nfunction NzToolTipComponent_ng_template_0_ng_container_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r2.nzTitle);\n }\n}\nfunction NzToolTipComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 2)(1, \"div\", 3)(2, \"div\", 4);\n i0.ɵɵelement(3, \"span\", 5);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"div\", 6);\n i0.ɵɵtemplate(5, NzToolTipComponent_ng_template_0_ng_container_5_Template, 2, 1, \"ng-container\", 7);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"ant-tooltip-rtl\", ctx_r0.dir === \"rtl\");\n i0.ɵɵproperty(\"ngClass\", ctx_r0._classMap)(\"ngStyle\", ctx_r0.nzOverlayStyle)(\"@.disabled\", !!(ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation))(\"nzNoAnimation\", ctx_r0.noAnimation == null ? null : ctx_r0.noAnimation.nzNoAnimation)(\"@zoomBigMotion\", \"active\");\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngStyle\", ctx_r0._contentStyleMap);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngStyle\", ctx_r0._contentStyleMap);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx_r0.nzTitle)(\"nzStringTemplateOutletContext\", ctx_r0.nzTitleContext);\n }\n}\nclass NzTooltipBaseDirective {\n /**\n * This true title that would be used in other parts on this component.\n */\n get _title() {\n return this.title || this.directiveTitle || null;\n }\n get _content() {\n return this.content || this.directiveContent || null;\n }\n get _trigger() {\n return typeof this.trigger !== 'undefined' ? this.trigger : 'hover';\n }\n get _placement() {\n const p = this.placement;\n return Array.isArray(p) && p.length > 0 ? p : typeof p === 'string' && p ? [p] : ['top'];\n }\n get _visible() {\n return (typeof this.visible !== 'undefined' ? this.visible : this.internalVisible) || false;\n }\n get _mouseEnterDelay() {\n return this.mouseEnterDelay || 0.15;\n }\n get _mouseLeaveDelay() {\n return this.mouseLeaveDelay || 0.1;\n }\n get _overlayClassName() {\n return this.overlayClassName || null;\n }\n get _overlayStyle() {\n return this.overlayStyle || null;\n }\n getProxyPropertyMap() {\n return {\n noAnimation: ['noAnimation', () => !!this.noAnimation]\n };\n }\n constructor(elementRef, hostView, renderer, noAnimation, nzConfigService) {\n this.elementRef = elementRef;\n this.hostView = hostView;\n this.renderer = renderer;\n this.noAnimation = noAnimation;\n this.nzConfigService = nzConfigService;\n this.visibleChange = new EventEmitter();\n this.internalVisible = false;\n this.destroy$ = new Subject();\n this.triggerDisposables = [];\n }\n ngOnChanges(changes) {\n const {\n trigger\n } = changes;\n if (trigger && !trigger.isFirstChange()) {\n this.registerTriggers();\n }\n if (this.component) {\n this.updatePropertiesByChanges(changes);\n }\n }\n ngAfterViewInit() {\n this.createComponent();\n this.registerTriggers();\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n // Clear toggling timer. Issue #3875 #4317 #4386\n this.clearTogglingTimer();\n this.removeTriggerListeners();\n }\n show() {\n this.component?.show();\n }\n hide() {\n this.component?.hide();\n }\n /**\n * Force the component to update its position.\n */\n updatePosition() {\n if (this.component) {\n this.component.updatePosition();\n }\n }\n /**\n * Create a dynamic tooltip component. This method can be override.\n */\n createComponent() {\n const componentRef = this.componentRef;\n this.component = componentRef.instance;\n // Remove the component's DOM because it should be in the overlay container.\n this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), componentRef.location.nativeElement);\n this.component.setOverlayOrigin(this.origin || this.elementRef);\n this.initProperties();\n const ngVisibleChange$ = this.component.nzVisibleChange.pipe(distinctUntilChanged());\n ngVisibleChange$.pipe(takeUntil(this.destroy$)).subscribe(visible => {\n this.internalVisible = visible;\n this.visibleChange.emit(visible);\n });\n // In some cases, the rendering takes into account the height at which the `arrow` is in wrong place,\n // so `cdk` sets the container position incorrectly.\n // To avoid this, after placing the `arrow` in the correct position, we should `re-calculate` the position of the `overlay`.\n ngVisibleChange$.pipe(filter(visible => visible), delay(0, asapScheduler), filter(() => Boolean(this.component?.overlay?.overlayRef)), takeUntil(this.destroy$)).subscribe(() => {\n this.component?.updatePosition();\n });\n }\n registerTriggers() {\n // When the method gets invoked, all properties has been synced to the dynamic component.\n // After removing the old API, we can just check the directive's own `nzTrigger`.\n const el = this.elementRef.nativeElement;\n const trigger = this.trigger;\n this.removeTriggerListeners();\n if (trigger === 'hover') {\n let overlayElement;\n this.triggerDisposables.push(this.renderer.listen(el, 'mouseenter', () => {\n this.delayEnterLeave(true, true, this._mouseEnterDelay);\n }));\n this.triggerDisposables.push(this.renderer.listen(el, 'mouseleave', () => {\n this.delayEnterLeave(true, false, this._mouseLeaveDelay);\n if (this.component?.overlay.overlayRef && !overlayElement) {\n overlayElement = this.component.overlay.overlayRef.overlayElement;\n this.triggerDisposables.push(this.renderer.listen(overlayElement, 'mouseenter', () => {\n this.delayEnterLeave(false, true, this._mouseEnterDelay);\n }));\n this.triggerDisposables.push(this.renderer.listen(overlayElement, 'mouseleave', () => {\n this.delayEnterLeave(false, false, this._mouseLeaveDelay);\n }));\n }\n }));\n } else if (trigger === 'focus') {\n this.triggerDisposables.push(this.renderer.listen(el, 'focusin', () => this.show()));\n this.triggerDisposables.push(this.renderer.listen(el, 'focusout', () => this.hide()));\n } else if (trigger === 'click') {\n this.triggerDisposables.push(this.renderer.listen(el, 'click', e => {\n e.preventDefault();\n this.show();\n }));\n }\n // Else do nothing because user wants to control the visibility programmatically.\n }\n\n updatePropertiesByChanges(changes) {\n this.updatePropertiesByKeys(Object.keys(changes));\n }\n updatePropertiesByKeys(keys) {\n const mappingProperties = {\n // common mappings\n title: ['nzTitle', () => this._title],\n directiveTitle: ['nzTitle', () => this._title],\n content: ['nzContent', () => this._content],\n directiveContent: ['nzContent', () => this._content],\n trigger: ['nzTrigger', () => this._trigger],\n placement: ['nzPlacement', () => this._placement],\n visible: ['nzVisible', () => this._visible],\n mouseEnterDelay: ['nzMouseEnterDelay', () => this._mouseEnterDelay],\n mouseLeaveDelay: ['nzMouseLeaveDelay', () => this._mouseLeaveDelay],\n overlayClassName: ['nzOverlayClassName', () => this._overlayClassName],\n overlayStyle: ['nzOverlayStyle', () => this._overlayStyle],\n arrowPointAtCenter: ['nzArrowPointAtCenter', () => this.arrowPointAtCenter],\n cdkConnectedOverlayPush: ['cdkConnectedOverlayPush', () => this.cdkConnectedOverlayPush],\n ...this.getProxyPropertyMap()\n };\n (keys || Object.keys(mappingProperties).filter(key => !key.startsWith('directive'))).forEach(property => {\n if (mappingProperties[property]) {\n const [name, valueFn] = mappingProperties[property];\n this.updateComponentValue(name, valueFn());\n }\n });\n this.component?.updateByDirective();\n }\n initProperties() {\n this.updatePropertiesByKeys();\n }\n updateComponentValue(key, value) {\n if (typeof value !== 'undefined') {\n // @ts-ignore\n this.component[key] = value;\n }\n }\n delayEnterLeave(isOrigin, isEnter, delay = -1) {\n if (this.delayTimer) {\n this.clearTogglingTimer();\n } else if (delay > 0) {\n this.delayTimer = setTimeout(() => {\n this.delayTimer = undefined;\n isEnter ? this.show() : this.hide();\n }, delay * 1000);\n } else {\n // `isOrigin` is used due to the tooltip will not hide immediately\n // (may caused by the fade-out animation).\n isEnter && isOrigin ? this.show() : this.hide();\n }\n }\n removeTriggerListeners() {\n this.triggerDisposables.forEach(dispose => dispose());\n this.triggerDisposables.length = 0;\n }\n clearTogglingTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = undefined;\n }\n }\n static {\n this.ɵfac = function NzTooltipBaseDirective_Factory(t) {\n return new (t || NzTooltipBaseDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.NzNoAnimationDirective), i0.ɵɵdirectiveInject(i2.NzConfigService));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzTooltipBaseDirective,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTooltipBaseDirective, [{\n type: Directive\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.ViewContainerRef\n }, {\n type: i0.Renderer2\n }, {\n type: i1.NzNoAnimationDirective\n }, {\n type: i2.NzConfigService\n }], null);\n})();\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nclass NzTooltipBaseComponent {\n set nzVisible(value) {\n const visible = toBoolean(value);\n if (this._visible !== visible) {\n this._visible = visible;\n this.nzVisibleChange.next(visible);\n }\n }\n get nzVisible() {\n return this._visible;\n }\n set nzTrigger(value) {\n this._trigger = value;\n }\n get nzTrigger() {\n return this._trigger;\n }\n set nzPlacement(value) {\n const preferredPosition = value.map(placement => POSITION_MAP[placement]);\n this._positions = [...preferredPosition, ...DEFAULT_TOOLTIP_POSITIONS];\n }\n constructor(cdr, directionality, noAnimation) {\n this.cdr = cdr;\n this.directionality = directionality;\n this.noAnimation = noAnimation;\n this.nzTitle = null;\n this.nzContent = null;\n this.nzArrowPointAtCenter = false;\n this.nzOverlayStyle = {};\n this.nzBackdrop = false;\n this.cdkConnectedOverlayPush = true;\n this.nzVisibleChange = new Subject();\n this._visible = false;\n this._trigger = 'hover';\n this.preferredPlacement = 'top';\n this.dir = 'ltr';\n this._classMap = {};\n this._prefix = 'ant-tooltip';\n this._positions = [...DEFAULT_TOOLTIP_POSITIONS];\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n }\n ngOnDestroy() {\n this.nzVisibleChange.complete();\n this.destroy$.next();\n this.destroy$.complete();\n }\n show() {\n if (this.nzVisible) {\n return;\n }\n if (!this.isEmpty()) {\n this.nzVisible = true;\n this.nzVisibleChange.next(true);\n this.cdr.detectChanges();\n }\n // for ltr for overlay to display tooltip in correct placement in rtl direction.\n if (this.origin && this.overlay && this.overlay.overlayRef && this.overlay.overlayRef.getDirection() === 'rtl') {\n this.overlay.overlayRef.setDirection('ltr');\n }\n }\n hide() {\n if (!this.nzVisible) {\n return;\n }\n this.nzVisible = false;\n this.nzVisibleChange.next(false);\n this.cdr.detectChanges();\n }\n updateByDirective() {\n this.updateStyles();\n this.cdr.detectChanges();\n Promise.resolve().then(() => {\n this.updatePosition();\n this.updateVisibilityByTitle();\n });\n }\n /**\n * Force the component to update its position.\n */\n updatePosition() {\n if (this.origin && this.overlay && this.overlay.overlayRef) {\n this.overlay.overlayRef.updatePosition();\n }\n }\n onPositionChange(position) {\n this.preferredPlacement = getPlacementName(position);\n this.updateStyles();\n // We have to trigger immediate change detection or the element would blink.\n this.cdr.detectChanges();\n }\n setOverlayOrigin(origin) {\n this.origin = origin;\n this.cdr.markForCheck();\n }\n onClickOutside(event) {\n if (!this.origin.nativeElement.contains(event.target) && this.nzTrigger !== null) {\n this.hide();\n }\n }\n /**\n * Hide the component while the content is empty.\n */\n updateVisibilityByTitle() {\n if (this.isEmpty()) {\n this.hide();\n }\n }\n updateStyles() {\n this._classMap = {\n [this.nzOverlayClassName]: true,\n [`${this._prefix}-placement-${this.preferredPlacement}`]: true\n };\n }\n static {\n this.ɵfac = function NzTooltipBaseComponent_Factory(t) {\n return new (t || NzTooltipBaseComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.Directionality, 8), i0.ɵɵdirectiveInject(i1.NzNoAnimationDirective));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzTooltipBaseComponent,\n viewQuery: function NzTooltipBaseComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.overlay = _t.first);\n }\n }\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTooltipBaseComponent, [{\n type: Directive\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i3.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i1.NzNoAnimationDirective\n }], {\n overlay: [{\n type: ViewChild,\n args: ['overlay', {\n static: false\n }]\n }]\n });\n})();\nfunction isTooltipEmpty(value) {\n return value instanceof TemplateRef ? false : value === '' || !isNotNil(value);\n}\nclass NzTooltipDirective extends NzTooltipBaseDirective {\n constructor(elementRef, hostView, renderer, noAnimation) {\n super(elementRef, hostView, renderer, noAnimation);\n this.titleContext = null;\n this.trigger = 'hover';\n this.placement = 'top';\n this.cdkConnectedOverlayPush = true;\n // eslint-disable-next-line @angular-eslint/no-output-rename\n this.visibleChange = new EventEmitter();\n this.componentRef = this.hostView.createComponent(NzToolTipComponent);\n }\n getProxyPropertyMap() {\n return {\n ...super.getProxyPropertyMap(),\n nzTooltipColor: ['nzColor', () => this.nzTooltipColor],\n titleContext: ['nzTitleContext', () => this.titleContext]\n };\n }\n static {\n this.ɵfac = function NzTooltipDirective_Factory(t) {\n return new (t || NzTooltipDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.NzNoAnimationDirective, 9));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzTooltipDirective,\n selectors: [[\"\", \"nz-tooltip\", \"\"]],\n hostVars: 2,\n hostBindings: function NzTooltipDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-tooltip-open\", ctx.visible);\n }\n },\n inputs: {\n title: [\"nzTooltipTitle\", \"title\"],\n titleContext: [\"nzTooltipTitleContext\", \"titleContext\"],\n directiveTitle: [\"nz-tooltip\", \"directiveTitle\"],\n trigger: [\"nzTooltipTrigger\", \"trigger\"],\n placement: [\"nzTooltipPlacement\", \"placement\"],\n origin: [\"nzTooltipOrigin\", \"origin\"],\n visible: [\"nzTooltipVisible\", \"visible\"],\n mouseEnterDelay: [\"nzTooltipMouseEnterDelay\", \"mouseEnterDelay\"],\n mouseLeaveDelay: [\"nzTooltipMouseLeaveDelay\", \"mouseLeaveDelay\"],\n overlayClassName: [\"nzTooltipOverlayClassName\", \"overlayClassName\"],\n overlayStyle: [\"nzTooltipOverlayStyle\", \"overlayStyle\"],\n arrowPointAtCenter: [\"nzTooltipArrowPointAtCenter\", \"arrowPointAtCenter\"],\n cdkConnectedOverlayPush: \"cdkConnectedOverlayPush\",\n nzTooltipColor: \"nzTooltipColor\"\n },\n outputs: {\n visibleChange: \"nzTooltipVisibleChange\"\n },\n exportAs: [\"nzTooltip\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n__decorate([InputBoolean()], NzTooltipDirective.prototype, \"arrowPointAtCenter\", void 0);\n__decorate([InputBoolean()], NzTooltipDirective.prototype, \"cdkConnectedOverlayPush\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTooltipDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-tooltip]',\n exportAs: 'nzTooltip',\n host: {\n '[class.ant-tooltip-open]': 'visible'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.ViewContainerRef\n }, {\n type: i0.Renderer2\n }, {\n type: i1.NzNoAnimationDirective,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }], {\n title: [{\n type: Input,\n args: ['nzTooltipTitle']\n }],\n titleContext: [{\n type: Input,\n args: ['nzTooltipTitleContext']\n }],\n directiveTitle: [{\n type: Input,\n args: ['nz-tooltip']\n }],\n trigger: [{\n type: Input,\n args: ['nzTooltipTrigger']\n }],\n placement: [{\n type: Input,\n args: ['nzTooltipPlacement']\n }],\n origin: [{\n type: Input,\n args: ['nzTooltipOrigin']\n }],\n visible: [{\n type: Input,\n args: ['nzTooltipVisible']\n }],\n mouseEnterDelay: [{\n type: Input,\n args: ['nzTooltipMouseEnterDelay']\n }],\n mouseLeaveDelay: [{\n type: Input,\n args: ['nzTooltipMouseLeaveDelay']\n }],\n overlayClassName: [{\n type: Input,\n args: ['nzTooltipOverlayClassName']\n }],\n overlayStyle: [{\n type: Input,\n args: ['nzTooltipOverlayStyle']\n }],\n arrowPointAtCenter: [{\n type: Input,\n args: ['nzTooltipArrowPointAtCenter']\n }],\n cdkConnectedOverlayPush: [{\n type: Input\n }],\n nzTooltipColor: [{\n type: Input\n }],\n visibleChange: [{\n type: Output,\n args: ['nzTooltipVisibleChange']\n }]\n });\n})();\nclass NzToolTipComponent extends NzTooltipBaseComponent {\n constructor(cdr, directionality, noAnimation) {\n super(cdr, directionality, noAnimation);\n this.nzTitle = null;\n this.nzTitleContext = null;\n this._contentStyleMap = {};\n }\n isEmpty() {\n return isTooltipEmpty(this.nzTitle);\n }\n updateStyles() {\n const isColorPreset = this.nzColor && isPresetColor(this.nzColor);\n this._classMap = {\n [this.nzOverlayClassName]: true,\n [`${this._prefix}-placement-${this.preferredPlacement}`]: true,\n [`${this._prefix}-${this.nzColor}`]: isColorPreset\n };\n this._contentStyleMap = {\n backgroundColor: !!this.nzColor && !isColorPreset ? this.nzColor : null,\n '--color': this.nzColor\n };\n }\n static {\n this.ɵfac = function NzToolTipComponent_Factory(t) {\n return new (t || NzToolTipComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.Directionality, 8), i0.ɵɵdirectiveInject(i1.NzNoAnimationDirective, 9));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzToolTipComponent,\n selectors: [[\"nz-tooltip\"]],\n exportAs: [\"nzTooltipComponent\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n decls: 2,\n vars: 5,\n consts: [[\"cdkConnectedOverlay\", \"\", \"nzConnectedOverlay\", \"\", 3, \"cdkConnectedOverlayOrigin\", \"cdkConnectedOverlayOpen\", \"cdkConnectedOverlayPositions\", \"cdkConnectedOverlayPush\", \"nzArrowPointAtCenter\", \"overlayOutsideClick\", \"detach\", \"positionChange\"], [\"overlay\", \"cdkConnectedOverlay\"], [1, \"ant-tooltip\", 3, \"ngClass\", \"ngStyle\", \"nzNoAnimation\"], [1, \"ant-tooltip-content\"], [1, \"ant-tooltip-arrow\"], [1, \"ant-tooltip-arrow-content\", 3, \"ngStyle\"], [1, \"ant-tooltip-inner\", 3, \"ngStyle\"], [4, \"nzStringTemplateOutlet\", \"nzStringTemplateOutletContext\"]],\n template: function NzToolTipComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzToolTipComponent_ng_template_0_Template, 6, 11, \"ng-template\", 0, 1, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵlistener(\"overlayOutsideClick\", function NzToolTipComponent_Template_ng_template_overlayOutsideClick_0_listener($event) {\n return ctx.onClickOutside($event);\n })(\"detach\", function NzToolTipComponent_Template_ng_template_detach_0_listener() {\n return ctx.hide();\n })(\"positionChange\", function NzToolTipComponent_Template_ng_template_positionChange_0_listener($event) {\n return ctx.onPositionChange($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"cdkConnectedOverlayOrigin\", ctx.origin)(\"cdkConnectedOverlayOpen\", ctx._visible)(\"cdkConnectedOverlayPositions\", ctx._positions)(\"cdkConnectedOverlayPush\", ctx.cdkConnectedOverlayPush)(\"nzArrowPointAtCenter\", ctx.nzArrowPointAtCenter);\n }\n },\n dependencies: [OverlayModule, i3$1.CdkConnectedOverlay, NgClass, NgStyle, NzNoAnimationDirective, NzOutletModule, i4.NzStringTemplateOutletDirective, NzOverlayModule, i5.NzConnectedOverlayDirective],\n encapsulation: 2,\n data: {\n animation: [zoomBigMotion]\n },\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzToolTipComponent, [{\n type: Component,\n args: [{\n selector: 'nz-tooltip',\n exportAs: 'nzTooltipComponent',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [zoomBigMotion],\n template: `\n \n \n
\n
\n \n
\n
\n {{ nzTitle }}\n
\n
\n \n \n `,\n preserveWhitespaces: false,\n imports: [OverlayModule, NgClass, NgStyle, NzNoAnimationDirective, NzOutletModule, NzOverlayModule],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i3.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i1.NzNoAnimationDirective,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzToolTipModule {\n static {\n this.ɵfac = function NzToolTipModule_Factory(t) {\n return new (t || NzToolTipModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzToolTipModule,\n imports: [NzToolTipComponent, NzTooltipDirective],\n exports: [NzToolTipComponent, NzTooltipDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [NzToolTipComponent]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzToolTipModule, [{\n type: NgModule,\n args: [{\n imports: [NzToolTipComponent, NzTooltipDirective],\n exports: [NzToolTipComponent, NzTooltipDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzToolTipComponent, NzToolTipModule, NzTooltipBaseComponent, NzTooltipBaseDirective, NzTooltipDirective, isTooltipEmpty };\n"], - "mappings": "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", - "names": ["delay"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js b/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js deleted file mode 100644 index 7fed394..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js +++ /dev/null @@ -1,309 +0,0 @@ -import { - NzDestroyService -} from "./chunk-D5ODNR6D.js"; -import { - CdkConnectedOverlay, - CdkOverlayOrigin, - ConnectionPositionPair -} from "./chunk-6U656R5M.js"; -import { - InputBoolean -} from "./chunk-M5GY4FCO.js"; -import { - Directive, - ElementRef, - Input, - NgModule, - __decorate, - setClassMetadata, - takeUntil, - ɵɵProvidersFeature, - ɵɵdefineDirective, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-overlay.mjs -var POSITION_MAP = { - top: new ConnectionPositionPair({ - originX: "center", - originY: "top" - }, { - overlayX: "center", - overlayY: "bottom" - }), - topCenter: new ConnectionPositionPair({ - originX: "center", - originY: "top" - }, { - overlayX: "center", - overlayY: "bottom" - }), - topLeft: new ConnectionPositionPair({ - originX: "start", - originY: "top" - }, { - overlayX: "start", - overlayY: "bottom" - }), - topRight: new ConnectionPositionPair({ - originX: "end", - originY: "top" - }, { - overlayX: "end", - overlayY: "bottom" - }), - right: new ConnectionPositionPair({ - originX: "end", - originY: "center" - }, { - overlayX: "start", - overlayY: "center" - }), - rightTop: new ConnectionPositionPair({ - originX: "end", - originY: "top" - }, { - overlayX: "start", - overlayY: "top" - }), - rightBottom: new ConnectionPositionPair({ - originX: "end", - originY: "bottom" - }, { - overlayX: "start", - overlayY: "bottom" - }), - bottom: new ConnectionPositionPair({ - originX: "center", - originY: "bottom" - }, { - overlayX: "center", - overlayY: "top" - }), - bottomCenter: new ConnectionPositionPair({ - originX: "center", - originY: "bottom" - }, { - overlayX: "center", - overlayY: "top" - }), - bottomLeft: new ConnectionPositionPair({ - originX: "start", - originY: "bottom" - }, { - overlayX: "start", - overlayY: "top" - }), - bottomRight: new ConnectionPositionPair({ - originX: "end", - originY: "bottom" - }, { - overlayX: "end", - overlayY: "top" - }), - left: new ConnectionPositionPair({ - originX: "start", - originY: "center" - }, { - overlayX: "end", - overlayY: "center" - }), - leftTop: new ConnectionPositionPair({ - originX: "start", - originY: "top" - }, { - overlayX: "end", - overlayY: "top" - }), - leftBottom: new ConnectionPositionPair({ - originX: "start", - originY: "bottom" - }, { - overlayX: "end", - overlayY: "bottom" - }) -}; -var DEFAULT_TOOLTIP_POSITIONS = [POSITION_MAP.top, POSITION_MAP.right, POSITION_MAP.bottom, POSITION_MAP.left]; -var DEFAULT_CASCADER_POSITIONS = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topLeft, POSITION_MAP.topRight, POSITION_MAP.topCenter, POSITION_MAP.bottomCenter]; -var DEFAULT_MENTION_TOP_POSITIONS = [new ConnectionPositionPair({ - originX: "start", - originY: "bottom" -}, { - overlayX: "start", - overlayY: "bottom" -}), new ConnectionPositionPair({ - originX: "start", - originY: "bottom" -}, { - overlayX: "end", - overlayY: "bottom" -})]; -var DEFAULT_MENTION_BOTTOM_POSITIONS = [POSITION_MAP.bottomLeft, new ConnectionPositionPair({ - originX: "start", - originY: "bottom" -}, { - overlayX: "end", - overlayY: "top" -})]; -function getPlacementName(position) { - for (const placement in POSITION_MAP) { - if (position.connectionPair.originX === POSITION_MAP[placement].originX && position.connectionPair.originY === POSITION_MAP[placement].originY && position.connectionPair.overlayX === POSITION_MAP[placement].overlayX && position.connectionPair.overlayY === POSITION_MAP[placement].overlayY) { - return placement; - } - } - return void 0; -} -var DATE_PICKER_POSITION_MAP = { - bottomLeft: new ConnectionPositionPair({ - originX: "start", - originY: "bottom" - }, { - overlayX: "start", - overlayY: "top" - }, void 0, 2), - topLeft: new ConnectionPositionPair({ - originX: "start", - originY: "top" - }, { - overlayX: "start", - overlayY: "bottom" - }, void 0, -2), - bottomRight: new ConnectionPositionPair({ - originX: "end", - originY: "bottom" - }, { - overlayX: "end", - overlayY: "top" - }, void 0, 2), - topRight: new ConnectionPositionPair({ - originX: "end", - originY: "top" - }, { - overlayX: "end", - overlayY: "bottom" - }, void 0, -2) -}; -var DEFAULT_DATE_PICKER_POSITIONS = [DATE_PICKER_POSITION_MAP.bottomLeft, DATE_PICKER_POSITION_MAP.topLeft, DATE_PICKER_POSITION_MAP.bottomRight, DATE_PICKER_POSITION_MAP.topRight]; -var _NzConnectedOverlayDirective = class _NzConnectedOverlayDirective { - constructor(cdkConnectedOverlay, nzDestroyService) { - this.cdkConnectedOverlay = cdkConnectedOverlay; - this.nzDestroyService = nzDestroyService; - this.nzArrowPointAtCenter = false; - this.cdkConnectedOverlay.backdropClass = "nz-overlay-transparent-backdrop"; - this.cdkConnectedOverlay.positionChange.pipe(takeUntil(this.nzDestroyService)).subscribe((position) => { - if (this.nzArrowPointAtCenter) { - this.updateArrowPosition(position); - } - }); - } - updateArrowPosition(position) { - const originRect = this.getOriginRect(); - const placement = getPlacementName(position); - let offsetX = 0; - let offsetY = 0; - if (placement === "topLeft" || placement === "bottomLeft") { - offsetX = originRect.width / 2 - 14; - } else if (placement === "topRight" || placement === "bottomRight") { - offsetX = -(originRect.width / 2 - 14); - } else if (placement === "leftTop" || placement === "rightTop") { - offsetY = originRect.height / 2 - 10; - } else if (placement === "leftBottom" || placement === "rightBottom") { - offsetY = -(originRect.height / 2 - 10); - } - if (this.cdkConnectedOverlay.offsetX !== offsetX || this.cdkConnectedOverlay.offsetY !== offsetY) { - this.cdkConnectedOverlay.offsetY = offsetY; - this.cdkConnectedOverlay.offsetX = offsetX; - this.cdkConnectedOverlay.overlayRef.updatePosition(); - } - } - getFlexibleConnectedPositionStrategyOrigin() { - if (this.cdkConnectedOverlay.origin instanceof CdkOverlayOrigin) { - return this.cdkConnectedOverlay.origin.elementRef; - } else { - return this.cdkConnectedOverlay.origin; - } - } - getOriginRect() { - const origin = this.getFlexibleConnectedPositionStrategyOrigin(); - if (origin instanceof ElementRef) { - return origin.nativeElement.getBoundingClientRect(); - } - if (origin instanceof Element) { - return origin.getBoundingClientRect(); - } - const width = origin.width || 0; - const height = origin.height || 0; - return { - top: origin.y, - bottom: origin.y + height, - left: origin.x, - right: origin.x + width, - height, - width - }; - } -}; -_NzConnectedOverlayDirective.ɵfac = function NzConnectedOverlayDirective_Factory(t) { - return new (t || _NzConnectedOverlayDirective)(ɵɵdirectiveInject(CdkConnectedOverlay), ɵɵdirectiveInject(NzDestroyService)); -}; -_NzConnectedOverlayDirective.ɵdir = ɵɵdefineDirective({ - type: _NzConnectedOverlayDirective, - selectors: [["", "cdkConnectedOverlay", "", "nzConnectedOverlay", ""]], - inputs: { - nzArrowPointAtCenter: "nzArrowPointAtCenter" - }, - exportAs: ["nzConnectedOverlay"], - features: [ɵɵProvidersFeature([NzDestroyService])] -}); -var NzConnectedOverlayDirective = _NzConnectedOverlayDirective; -__decorate([InputBoolean()], NzConnectedOverlayDirective.prototype, "nzArrowPointAtCenter", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzConnectedOverlayDirective, [{ - type: Directive, - args: [{ - selector: "[cdkConnectedOverlay][nzConnectedOverlay]", - exportAs: "nzConnectedOverlay", - providers: [NzDestroyService] - }] - }], () => [{ - type: CdkConnectedOverlay - }, { - type: NzDestroyService - }], { - nzArrowPointAtCenter: [{ - type: Input - }] - }); -})(); -var _NzOverlayModule = class _NzOverlayModule { -}; -_NzOverlayModule.ɵfac = function NzOverlayModule_Factory(t) { - return new (t || _NzOverlayModule)(); -}; -_NzOverlayModule.ɵmod = ɵɵdefineNgModule({ - type: _NzOverlayModule, - declarations: [NzConnectedOverlayDirective], - exports: [NzConnectedOverlayDirective] -}); -_NzOverlayModule.ɵinj = ɵɵdefineInjector({}); -var NzOverlayModule = _NzOverlayModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzOverlayModule, [{ - type: NgModule, - args: [{ - declarations: [NzConnectedOverlayDirective], - exports: [NzConnectedOverlayDirective] - }] - }], null, null); -})(); - -export { - POSITION_MAP, - DEFAULT_TOOLTIP_POSITIONS, - getPlacementName, - NzConnectedOverlayDirective, - NzOverlayModule -}; -//# sourceMappingURL=chunk-6RXUTAFR.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js.map b/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js.map deleted file mode 100644 index fc8983e..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-6RXUTAFR.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-overlay.mjs"], - "sourcesContent": ["import { __decorate } from 'tslib';\nimport * as i1 from '@angular/cdk/overlay';\nimport { ConnectionPositionPair, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport * as i0 from '@angular/core';\nimport { ElementRef, Directive, Input, NgModule } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i2 from 'ng-zorro-antd/core/services';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst POSITION_MAP = {\n top: new ConnectionPositionPair({\n originX: 'center',\n originY: 'top'\n }, {\n overlayX: 'center',\n overlayY: 'bottom'\n }),\n topCenter: new ConnectionPositionPair({\n originX: 'center',\n originY: 'top'\n }, {\n overlayX: 'center',\n overlayY: 'bottom'\n }),\n topLeft: new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n }, {\n overlayX: 'start',\n overlayY: 'bottom'\n }),\n topRight: new ConnectionPositionPair({\n originX: 'end',\n originY: 'top'\n }, {\n overlayX: 'end',\n overlayY: 'bottom'\n }),\n right: new ConnectionPositionPair({\n originX: 'end',\n originY: 'center'\n }, {\n overlayX: 'start',\n overlayY: 'center'\n }),\n rightTop: new ConnectionPositionPair({\n originX: 'end',\n originY: 'top'\n }, {\n overlayX: 'start',\n overlayY: 'top'\n }),\n rightBottom: new ConnectionPositionPair({\n originX: 'end',\n originY: 'bottom'\n }, {\n overlayX: 'start',\n overlayY: 'bottom'\n }),\n bottom: new ConnectionPositionPair({\n originX: 'center',\n originY: 'bottom'\n }, {\n overlayX: 'center',\n overlayY: 'top'\n }),\n bottomCenter: new ConnectionPositionPair({\n originX: 'center',\n originY: 'bottom'\n }, {\n overlayX: 'center',\n overlayY: 'top'\n }),\n bottomLeft: new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n }, {\n overlayX: 'start',\n overlayY: 'top'\n }),\n bottomRight: new ConnectionPositionPair({\n originX: 'end',\n originY: 'bottom'\n }, {\n overlayX: 'end',\n overlayY: 'top'\n }),\n left: new ConnectionPositionPair({\n originX: 'start',\n originY: 'center'\n }, {\n overlayX: 'end',\n overlayY: 'center'\n }),\n leftTop: new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n }, {\n overlayX: 'end',\n overlayY: 'top'\n }),\n leftBottom: new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n }, {\n overlayX: 'end',\n overlayY: 'bottom'\n })\n};\nconst DEFAULT_TOOLTIP_POSITIONS = [POSITION_MAP.top, POSITION_MAP.right, POSITION_MAP.bottom, POSITION_MAP.left];\nconst DEFAULT_CASCADER_POSITIONS = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topLeft, POSITION_MAP.topRight, POSITION_MAP.topCenter, POSITION_MAP.bottomCenter];\nconst DEFAULT_MENTION_TOP_POSITIONS = [new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n}, {\n overlayX: 'start',\n overlayY: 'bottom'\n}), new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n}, {\n overlayX: 'end',\n overlayY: 'bottom'\n})];\nconst DEFAULT_MENTION_BOTTOM_POSITIONS = [POSITION_MAP.bottomLeft, new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n}, {\n overlayX: 'end',\n overlayY: 'top'\n})];\nfunction getPlacementName(position) {\n for (const placement in POSITION_MAP) {\n if (position.connectionPair.originX === POSITION_MAP[placement].originX && position.connectionPair.originY === POSITION_MAP[placement].originY && position.connectionPair.overlayX === POSITION_MAP[placement].overlayX && position.connectionPair.overlayY === POSITION_MAP[placement].overlayY) {\n return placement;\n }\n }\n return undefined;\n}\nconst DATE_PICKER_POSITION_MAP = {\n bottomLeft: new ConnectionPositionPair({\n originX: 'start',\n originY: 'bottom'\n }, {\n overlayX: 'start',\n overlayY: 'top'\n }, undefined, 2),\n topLeft: new ConnectionPositionPair({\n originX: 'start',\n originY: 'top'\n }, {\n overlayX: 'start',\n overlayY: 'bottom'\n }, undefined, -2),\n bottomRight: new ConnectionPositionPair({\n originX: 'end',\n originY: 'bottom'\n }, {\n overlayX: 'end',\n overlayY: 'top'\n }, undefined, 2),\n topRight: new ConnectionPositionPair({\n originX: 'end',\n originY: 'top'\n }, {\n overlayX: 'end',\n overlayY: 'bottom'\n }, undefined, -2)\n};\nconst DEFAULT_DATE_PICKER_POSITIONS = [DATE_PICKER_POSITION_MAP.bottomLeft, DATE_PICKER_POSITION_MAP.topLeft, DATE_PICKER_POSITION_MAP.bottomRight, DATE_PICKER_POSITION_MAP.topRight];\nclass NzConnectedOverlayDirective {\n constructor(cdkConnectedOverlay, nzDestroyService) {\n this.cdkConnectedOverlay = cdkConnectedOverlay;\n this.nzDestroyService = nzDestroyService;\n this.nzArrowPointAtCenter = false;\n this.cdkConnectedOverlay.backdropClass = 'nz-overlay-transparent-backdrop';\n this.cdkConnectedOverlay.positionChange.pipe(takeUntil(this.nzDestroyService)).subscribe(position => {\n if (this.nzArrowPointAtCenter) {\n this.updateArrowPosition(position);\n }\n });\n }\n updateArrowPosition(position) {\n const originRect = this.getOriginRect();\n const placement = getPlacementName(position);\n let offsetX = 0;\n let offsetY = 0;\n if (placement === 'topLeft' || placement === 'bottomLeft') {\n offsetX = originRect.width / 2 - 14;\n } else if (placement === 'topRight' || placement === 'bottomRight') {\n offsetX = -(originRect.width / 2 - 14);\n } else if (placement === 'leftTop' || placement === 'rightTop') {\n offsetY = originRect.height / 2 - 10;\n } else if (placement === 'leftBottom' || placement === 'rightBottom') {\n offsetY = -(originRect.height / 2 - 10);\n }\n if (this.cdkConnectedOverlay.offsetX !== offsetX || this.cdkConnectedOverlay.offsetY !== offsetY) {\n this.cdkConnectedOverlay.offsetY = offsetY;\n this.cdkConnectedOverlay.offsetX = offsetX;\n this.cdkConnectedOverlay.overlayRef.updatePosition();\n }\n }\n getFlexibleConnectedPositionStrategyOrigin() {\n if (this.cdkConnectedOverlay.origin instanceof CdkOverlayOrigin) {\n return this.cdkConnectedOverlay.origin.elementRef;\n } else {\n return this.cdkConnectedOverlay.origin;\n }\n }\n getOriginRect() {\n const origin = this.getFlexibleConnectedPositionStrategyOrigin();\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n static {\n this.ɵfac = function NzConnectedOverlayDirective_Factory(t) {\n return new (t || NzConnectedOverlayDirective)(i0.ɵɵdirectiveInject(i1.CdkConnectedOverlay), i0.ɵɵdirectiveInject(i2.NzDestroyService));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzConnectedOverlayDirective,\n selectors: [[\"\", \"cdkConnectedOverlay\", \"\", \"nzConnectedOverlay\", \"\"]],\n inputs: {\n nzArrowPointAtCenter: \"nzArrowPointAtCenter\"\n },\n exportAs: [\"nzConnectedOverlay\"],\n features: [i0.ɵɵProvidersFeature([NzDestroyService])]\n });\n }\n}\n__decorate([InputBoolean()], NzConnectedOverlayDirective.prototype, \"nzArrowPointAtCenter\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzConnectedOverlayDirective, [{\n type: Directive,\n args: [{\n selector: '[cdkConnectedOverlay][nzConnectedOverlay]',\n exportAs: 'nzConnectedOverlay',\n providers: [NzDestroyService]\n }]\n }], () => [{\n type: i1.CdkConnectedOverlay\n }, {\n type: i2.NzDestroyService\n }], {\n nzArrowPointAtCenter: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzOverlayModule {\n static {\n this.ɵfac = function NzOverlayModule_Factory(t) {\n return new (t || NzOverlayModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzOverlayModule,\n declarations: [NzConnectedOverlayDirective],\n exports: [NzConnectedOverlayDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzOverlayModule, [{\n type: NgModule,\n args: [{\n declarations: [NzConnectedOverlayDirective],\n exports: [NzConnectedOverlayDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DATE_PICKER_POSITION_MAP, DEFAULT_CASCADER_POSITIONS, DEFAULT_DATE_PICKER_POSITIONS, DEFAULT_MENTION_BOTTOM_POSITIONS, DEFAULT_MENTION_TOP_POSITIONS, DEFAULT_TOOLTIP_POSITIONS, NzConnectedOverlayDirective, NzOverlayModule, POSITION_MAP, getPlacementName };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js b/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js deleted file mode 100644 index 6f19629..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js +++ /dev/null @@ -1,4992 +0,0 @@ -import { - ESCAPE, - hasModifierKey -} from "./chunk-JGP5BR6B.js"; -import { - BidiModule, - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - Platform, - _getEventTarget, - _isTestEnvironment, - getRtlScrollAxisType, - supportsScrollBehavior -} from "./chunk-IAC53GOD.js"; -import { - coerceArray, - coerceCssPixelValue, - coerceElement, - coerceNumberProperty -} from "./chunk-M5GY4FCO.js"; -import { - DOCUMENT, - Location -} from "./chunk-OSQBUYO6.js"; -import { - ANIMATION_MODULE_TYPE, - ApplicationRef, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ComponentFactoryResolver$1, - ConnectableObservable, - Directive, - ElementRef, - EventEmitter, - Inject, - Injectable, - InjectionToken, - Injector, - Input, - IterableDiffers, - NgModule, - NgZone, - Observable, - Optional, - Output, - SkipSelf, - Subject, - Subscription, - TemplateRef, - ViewChild, - ViewContainerRef, - ViewEncapsulation$1, - animationFrameScheduler, - asapScheduler, - auditTime, - booleanAttribute, - distinctUntilChanged, - filter, - forwardRef, - fromEvent, - inject, - isObservable, - merge, - of, - pairwise, - setClassMetadata, - shareReplay, - startWith, - switchMap, - take, - takeUntil, - takeWhile, - ɵɵInheritDefinitionFeature, - ɵɵInputTransformsFeature, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵStandaloneFeature, - ɵɵadvance, - ɵɵclassProp, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵgetInheritedFactory, - ɵɵinject, - ɵɵloadQuery, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵqueryRefresh, - ɵɵstyleProp, - ɵɵviewQuery -} from "./chunk-FGESKT7O.js"; -import { - __spreadProps, - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/@angular/cdk/fesm2022/collections.mjs -var DataSource = class { -}; -function isDataSource(value) { - return value && typeof value.connect === "function" && !(value instanceof ConnectableObservable); -} -var ArrayDataSource = class extends DataSource { - constructor(_data) { - super(); - this._data = _data; - } - connect() { - return isObservable(this._data) ? this._data : of(this._data); - } - disconnect() { - } -}; -var _RecycleViewRepeaterStrategy = class { - constructor() { - this.viewCacheSize = 20; - this._viewCache = []; - } - /** Apply changes to the DOM. */ - applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) { - changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => { - let view; - let operation; - if (record.previousIndex == null) { - const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex); - view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record)); - operation = view ? 1 : 0; - } else if (currentIndex == null) { - this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef); - operation = 3; - } else { - view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record)); - operation = 2; - } - if (itemViewChanged) { - itemViewChanged({ - context: view?.context, - operation, - record - }); - } - }); - } - detach() { - for (const view of this._viewCache) { - view.destroy(); - } - this._viewCache = []; - } - /** - * Inserts a view for a new item, either from the cache or by creating a new - * one. Returns `undefined` if the item was inserted into a cached view. - */ - _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) { - const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef); - if (cachedView) { - cachedView.context.$implicit = value; - return void 0; - } - const viewArgs = viewArgsFactory(); - return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index); - } - /** Detaches the view at the given index and inserts into the view cache. */ - _detachAndCacheView(index, viewContainerRef) { - const detachedView = viewContainerRef.detach(index); - this._maybeCacheView(detachedView, viewContainerRef); - } - /** Moves view at the previous index to the current index. */ - _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) { - const view = viewContainerRef.get(adjustedPreviousIndex); - viewContainerRef.move(view, currentIndex); - view.context.$implicit = value; - return view; - } - /** - * Cache the given detached view. If the cache is full, the view will be - * destroyed. - */ - _maybeCacheView(view, viewContainerRef) { - if (this._viewCache.length < this.viewCacheSize) { - this._viewCache.push(view); - } else { - const index = viewContainerRef.indexOf(view); - if (index === -1) { - view.destroy(); - } else { - viewContainerRef.remove(index); - } - } - } - /** Inserts a recycled view from the cache at the given index. */ - _insertViewFromCache(index, viewContainerRef) { - const cachedView = this._viewCache.pop(); - if (cachedView) { - viewContainerRef.insert(cachedView, index); - } - return cachedView || null; - } -}; -var _UniqueSelectionDispatcher = class _UniqueSelectionDispatcher { - constructor() { - this._listeners = []; - } - /** - * Notify other items that selection for the given name has been set. - * @param id ID of the item. - * @param name Name of the item. - */ - notify(id, name) { - for (let listener of this._listeners) { - listener(id, name); - } - } - /** - * Listen for future changes to item selection. - * @return Function used to deregister listener - */ - listen(listener) { - this._listeners.push(listener); - return () => { - this._listeners = this._listeners.filter((registered) => { - return listener !== registered; - }); - }; - } - ngOnDestroy() { - this._listeners = []; - } -}; -_UniqueSelectionDispatcher.ɵfac = function UniqueSelectionDispatcher_Factory(t) { - return new (t || _UniqueSelectionDispatcher)(); -}; -_UniqueSelectionDispatcher.ɵprov = ɵɵdefineInjectable({ - token: _UniqueSelectionDispatcher, - factory: _UniqueSelectionDispatcher.ɵfac, - providedIn: "root" -}); -var UniqueSelectionDispatcher = _UniqueSelectionDispatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(UniqueSelectionDispatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -var _VIEW_REPEATER_STRATEGY = new InjectionToken("_ViewRepeater"); - -// node_modules/@angular/cdk/fesm2022/scrolling.mjs -var _c0 = ["contentWrapper"]; -var _c1 = ["*"]; -var VIRTUAL_SCROLL_STRATEGY = new InjectionToken("VIRTUAL_SCROLL_STRATEGY"); -var FixedSizeVirtualScrollStrategy = class { - /** - * @param itemSize The size of the items in the virtually scrolling list. - * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more - * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more. - */ - constructor(itemSize, minBufferPx, maxBufferPx) { - this._scrolledIndexChange = new Subject(); - this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged()); - this._viewport = null; - this._itemSize = itemSize; - this._minBufferPx = minBufferPx; - this._maxBufferPx = maxBufferPx; - } - /** - * Attaches this scroll strategy to a viewport. - * @param viewport The viewport to attach this strategy to. - */ - attach(viewport) { - this._viewport = viewport; - this._updateTotalContentSize(); - this._updateRenderedRange(); - } - /** Detaches this scroll strategy from the currently attached viewport. */ - detach() { - this._scrolledIndexChange.complete(); - this._viewport = null; - } - /** - * Update the item size and buffer size. - * @param itemSize The size of the items in the virtually scrolling list. - * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more - * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more. - */ - updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) { - if (maxBufferPx < minBufferPx && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx"); - } - this._itemSize = itemSize; - this._minBufferPx = minBufferPx; - this._maxBufferPx = maxBufferPx; - this._updateTotalContentSize(); - this._updateRenderedRange(); - } - /** @docs-private Implemented as part of VirtualScrollStrategy. */ - onContentScrolled() { - this._updateRenderedRange(); - } - /** @docs-private Implemented as part of VirtualScrollStrategy. */ - onDataLengthChanged() { - this._updateTotalContentSize(); - this._updateRenderedRange(); - } - /** @docs-private Implemented as part of VirtualScrollStrategy. */ - onContentRendered() { - } - /** @docs-private Implemented as part of VirtualScrollStrategy. */ - onRenderedOffsetChanged() { - } - /** - * Scroll to the offset for the given index. - * @param index The index of the element to scroll to. - * @param behavior The ScrollBehavior to use when scrolling. - */ - scrollToIndex(index, behavior) { - if (this._viewport) { - this._viewport.scrollToOffset(index * this._itemSize, behavior); - } - } - /** Update the viewport's total content size. */ - _updateTotalContentSize() { - if (!this._viewport) { - return; - } - this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize); - } - /** Update the viewport's rendered range. */ - _updateRenderedRange() { - if (!this._viewport) { - return; - } - const renderedRange = this._viewport.getRenderedRange(); - const newRange = { - start: renderedRange.start, - end: renderedRange.end - }; - const viewportSize = this._viewport.getViewportSize(); - const dataLength = this._viewport.getDataLength(); - let scrollOffset = this._viewport.measureScrollOffset(); - let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0; - if (newRange.end > dataLength) { - const maxVisibleItems = Math.ceil(viewportSize / this._itemSize); - const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems)); - if (firstVisibleIndex != newVisibleIndex) { - firstVisibleIndex = newVisibleIndex; - scrollOffset = newVisibleIndex * this._itemSize; - newRange.start = Math.floor(firstVisibleIndex); - } - newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems)); - } - const startBuffer = scrollOffset - newRange.start * this._itemSize; - if (startBuffer < this._minBufferPx && newRange.start != 0) { - const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize); - newRange.start = Math.max(0, newRange.start - expandStart); - newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize)); - } else { - const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize); - if (endBuffer < this._minBufferPx && newRange.end != dataLength) { - const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize); - if (expandEnd > 0) { - newRange.end = Math.min(dataLength, newRange.end + expandEnd); - newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize)); - } - } - } - this._viewport.setRenderedRange(newRange); - this._viewport.setRenderedContentOffset(this._itemSize * newRange.start); - this._scrolledIndexChange.next(Math.floor(firstVisibleIndex)); - } -}; -function _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) { - return fixedSizeDir._scrollStrategy; -} -var _CdkFixedSizeVirtualScroll = class _CdkFixedSizeVirtualScroll { - constructor() { - this._itemSize = 20; - this._minBufferPx = 100; - this._maxBufferPx = 200; - this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx); - } - /** The size of the items in the list (in pixels). */ - get itemSize() { - return this._itemSize; - } - set itemSize(value) { - this._itemSize = coerceNumberProperty(value); - } - /** - * The minimum amount of buffer rendered beyond the viewport (in pixels). - * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px. - */ - get minBufferPx() { - return this._minBufferPx; - } - set minBufferPx(value) { - this._minBufferPx = coerceNumberProperty(value); - } - /** - * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px. - */ - get maxBufferPx() { - return this._maxBufferPx; - } - set maxBufferPx(value) { - this._maxBufferPx = coerceNumberProperty(value); - } - ngOnChanges() { - this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx); - } -}; -_CdkFixedSizeVirtualScroll.ɵfac = function CdkFixedSizeVirtualScroll_Factory(t) { - return new (t || _CdkFixedSizeVirtualScroll)(); -}; -_CdkFixedSizeVirtualScroll.ɵdir = ɵɵdefineDirective({ - type: _CdkFixedSizeVirtualScroll, - selectors: [["cdk-virtual-scroll-viewport", "itemSize", ""]], - inputs: { - itemSize: "itemSize", - minBufferPx: "minBufferPx", - maxBufferPx: "maxBufferPx" - }, - standalone: true, - features: [ɵɵProvidersFeature([{ - provide: VIRTUAL_SCROLL_STRATEGY, - useFactory: _fixedSizeVirtualScrollStrategyFactory, - deps: [forwardRef(() => _CdkFixedSizeVirtualScroll)] - }]), ɵɵNgOnChangesFeature] -}); -var CdkFixedSizeVirtualScroll = _CdkFixedSizeVirtualScroll; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkFixedSizeVirtualScroll, [{ - type: Directive, - args: [{ - selector: "cdk-virtual-scroll-viewport[itemSize]", - standalone: true, - providers: [{ - provide: VIRTUAL_SCROLL_STRATEGY, - useFactory: _fixedSizeVirtualScrollStrategyFactory, - deps: [forwardRef(() => CdkFixedSizeVirtualScroll)] - }] - }] - }], null, { - itemSize: [{ - type: Input - }], - minBufferPx: [{ - type: Input - }], - maxBufferPx: [{ - type: Input - }] - }); -})(); -var DEFAULT_SCROLL_TIME = 20; -var _ScrollDispatcher = class _ScrollDispatcher { - constructor(_ngZone, _platform, document2) { - this._ngZone = _ngZone; - this._platform = _platform; - this._scrolled = new Subject(); - this._globalSubscription = null; - this._scrolledCount = 0; - this.scrollContainers = /* @__PURE__ */ new Map(); - this._document = document2; - } - /** - * Registers a scrollable instance with the service and listens for its scrolled events. When the - * scrollable is scrolled, the service emits the event to its scrolled observable. - * @param scrollable Scrollable instance to be registered. - */ - register(scrollable) { - if (!this.scrollContainers.has(scrollable)) { - this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable))); - } - } - /** - * De-registers a Scrollable reference and unsubscribes from its scroll event observable. - * @param scrollable Scrollable instance to be deregistered. - */ - deregister(scrollable) { - const scrollableReference = this.scrollContainers.get(scrollable); - if (scrollableReference) { - scrollableReference.unsubscribe(); - this.scrollContainers.delete(scrollable); - } - } - /** - * Returns an observable that emits an event whenever any of the registered Scrollable - * references (or window, document, or body) fire a scrolled event. Can provide a time in ms - * to override the default "throttle" time. - * - * **Note:** in order to avoid hitting change detection for every scroll event, - * all of the events emitted from this stream will be run outside the Angular zone. - * If you need to update any data bindings as a result of a scroll event, you have - * to run the callback using `NgZone.run`. - */ - scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) { - if (!this._platform.isBrowser) { - return of(); - } - return new Observable((observer) => { - if (!this._globalSubscription) { - this._addGlobalListener(); - } - const subscription = auditTimeInMs > 0 ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) : this._scrolled.subscribe(observer); - this._scrolledCount++; - return () => { - subscription.unsubscribe(); - this._scrolledCount--; - if (!this._scrolledCount) { - this._removeGlobalListener(); - } - }; - }); - } - ngOnDestroy() { - this._removeGlobalListener(); - this.scrollContainers.forEach((_, container) => this.deregister(container)); - this._scrolled.complete(); - } - /** - * Returns an observable that emits whenever any of the - * scrollable ancestors of an element are scrolled. - * @param elementOrElementRef Element whose ancestors to listen for. - * @param auditTimeInMs Time to throttle the scroll events. - */ - ancestorScrolled(elementOrElementRef, auditTimeInMs) { - const ancestors = this.getAncestorScrollContainers(elementOrElementRef); - return this.scrolled(auditTimeInMs).pipe(filter((target) => { - return !target || ancestors.indexOf(target) > -1; - })); - } - /** Returns all registered Scrollables that contain the provided element. */ - getAncestorScrollContainers(elementOrElementRef) { - const scrollingContainers = []; - this.scrollContainers.forEach((_subscription, scrollable) => { - if (this._scrollableContainsElement(scrollable, elementOrElementRef)) { - scrollingContainers.push(scrollable); - } - }); - return scrollingContainers; - } - /** Use defaultView of injected document if available or fallback to global window reference */ - _getWindow() { - return this._document.defaultView || window; - } - /** Returns true if the element is contained within the provided Scrollable. */ - _scrollableContainsElement(scrollable, elementOrElementRef) { - let element = coerceElement(elementOrElementRef); - let scrollableElement = scrollable.getElementRef().nativeElement; - do { - if (element == scrollableElement) { - return true; - } - } while (element = element.parentElement); - return false; - } - /** Sets up the global scroll listeners. */ - _addGlobalListener() { - this._globalSubscription = this._ngZone.runOutsideAngular(() => { - const window2 = this._getWindow(); - return fromEvent(window2.document, "scroll").subscribe(() => this._scrolled.next()); - }); - } - /** Cleans up the global scroll listener. */ - _removeGlobalListener() { - if (this._globalSubscription) { - this._globalSubscription.unsubscribe(); - this._globalSubscription = null; - } - } -}; -_ScrollDispatcher.ɵfac = function ScrollDispatcher_Factory(t) { - return new (t || _ScrollDispatcher)(ɵɵinject(NgZone), ɵɵinject(Platform), ɵɵinject(DOCUMENT, 8)); -}; -_ScrollDispatcher.ɵprov = ɵɵdefineInjectable({ - token: _ScrollDispatcher, - factory: _ScrollDispatcher.ɵfac, - providedIn: "root" -}); -var ScrollDispatcher = _ScrollDispatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ScrollDispatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: NgZone - }, { - type: Platform - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var _CdkScrollable = class _CdkScrollable { - constructor(elementRef, scrollDispatcher, ngZone, dir) { - this.elementRef = elementRef; - this.scrollDispatcher = scrollDispatcher; - this.ngZone = ngZone; - this.dir = dir; - this._destroyed = new Subject(); - this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, "scroll").pipe(takeUntil(this._destroyed)).subscribe(observer))); - } - ngOnInit() { - this.scrollDispatcher.register(this); - } - ngOnDestroy() { - this.scrollDispatcher.deregister(this); - this._destroyed.next(); - this._destroyed.complete(); - } - /** Returns observable that emits when a scroll event is fired on the host element. */ - elementScrolled() { - return this._elementScrolled; - } - /** Gets the ElementRef for the viewport. */ - getElementRef() { - return this.elementRef; - } - /** - * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo - * method, since browsers are not consistent about what scrollLeft means in RTL. For this method - * left and right always refer to the left and right side of the scrolling container irrespective - * of the layout direction. start and end refer to left and right in an LTR context and vice-versa - * in an RTL context. - * @param options specified the offsets to scroll to. - */ - scrollTo(options) { - const el = this.elementRef.nativeElement; - const isRtl = this.dir && this.dir.value == "rtl"; - if (options.left == null) { - options.left = isRtl ? options.end : options.start; - } - if (options.right == null) { - options.right = isRtl ? options.start : options.end; - } - if (options.bottom != null) { - options.top = el.scrollHeight - el.clientHeight - options.bottom; - } - if (isRtl && getRtlScrollAxisType() != 0) { - if (options.left != null) { - options.right = el.scrollWidth - el.clientWidth - options.left; - } - if (getRtlScrollAxisType() == 2) { - options.left = options.right; - } else if (getRtlScrollAxisType() == 1) { - options.left = options.right ? -options.right : options.right; - } - } else { - if (options.right != null) { - options.left = el.scrollWidth - el.clientWidth - options.right; - } - } - this._applyScrollToOptions(options); - } - _applyScrollToOptions(options) { - const el = this.elementRef.nativeElement; - if (supportsScrollBehavior()) { - el.scrollTo(options); - } else { - if (options.top != null) { - el.scrollTop = options.top; - } - if (options.left != null) { - el.scrollLeft = options.left; - } - } - } - /** - * Measures the scroll offset relative to the specified edge of the viewport. This method can be - * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent - * about what scrollLeft means in RTL. The values returned by this method are normalized such that - * left and right always refer to the left and right side of the scrolling container irrespective - * of the layout direction. start and end refer to left and right in an LTR context and vice-versa - * in an RTL context. - * @param from The edge to measure from. - */ - measureScrollOffset(from) { - const LEFT = "left"; - const RIGHT = "right"; - const el = this.elementRef.nativeElement; - if (from == "top") { - return el.scrollTop; - } - if (from == "bottom") { - return el.scrollHeight - el.clientHeight - el.scrollTop; - } - const isRtl = this.dir && this.dir.value == "rtl"; - if (from == "start") { - from = isRtl ? RIGHT : LEFT; - } else if (from == "end") { - from = isRtl ? LEFT : RIGHT; - } - if (isRtl && getRtlScrollAxisType() == 2) { - if (from == LEFT) { - return el.scrollWidth - el.clientWidth - el.scrollLeft; - } else { - return el.scrollLeft; - } - } else if (isRtl && getRtlScrollAxisType() == 1) { - if (from == LEFT) { - return el.scrollLeft + el.scrollWidth - el.clientWidth; - } else { - return -el.scrollLeft; - } - } else { - if (from == LEFT) { - return el.scrollLeft; - } else { - return el.scrollWidth - el.clientWidth - el.scrollLeft; - } - } - } -}; -_CdkScrollable.ɵfac = function CdkScrollable_Factory(t) { - return new (t || _CdkScrollable)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ScrollDispatcher), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(Directionality, 8)); -}; -_CdkScrollable.ɵdir = ɵɵdefineDirective({ - type: _CdkScrollable, - selectors: [["", "cdk-scrollable", ""], ["", "cdkScrollable", ""]], - standalone: true -}); -var CdkScrollable = _CdkScrollable; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkScrollable, [{ - type: Directive, - args: [{ - selector: "[cdk-scrollable], [cdkScrollable]", - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: ScrollDispatcher - }, { - type: NgZone - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], null); -})(); -var DEFAULT_RESIZE_TIME = 20; -var _ViewportRuler = class _ViewportRuler { - constructor(_platform, ngZone, document2) { - this._platform = _platform; - this._change = new Subject(); - this._changeListener = (event) => { - this._change.next(event); - }; - this._document = document2; - ngZone.runOutsideAngular(() => { - if (_platform.isBrowser) { - const window2 = this._getWindow(); - window2.addEventListener("resize", this._changeListener); - window2.addEventListener("orientationchange", this._changeListener); - } - this.change().subscribe(() => this._viewportSize = null); - }); - } - ngOnDestroy() { - if (this._platform.isBrowser) { - const window2 = this._getWindow(); - window2.removeEventListener("resize", this._changeListener); - window2.removeEventListener("orientationchange", this._changeListener); - } - this._change.complete(); - } - /** Returns the viewport's width and height. */ - getViewportSize() { - if (!this._viewportSize) { - this._updateViewportSize(); - } - const output = { - width: this._viewportSize.width, - height: this._viewportSize.height - }; - if (!this._platform.isBrowser) { - this._viewportSize = null; - } - return output; - } - /** Gets a ClientRect for the viewport's bounds. */ - getViewportRect() { - const scrollPosition = this.getViewportScrollPosition(); - const { - width, - height - } = this.getViewportSize(); - return { - top: scrollPosition.top, - left: scrollPosition.left, - bottom: scrollPosition.top + height, - right: scrollPosition.left + width, - height, - width - }; - } - /** Gets the (top, left) scroll position of the viewport. */ - getViewportScrollPosition() { - if (!this._platform.isBrowser) { - return { - top: 0, - left: 0 - }; - } - const document2 = this._document; - const window2 = this._getWindow(); - const documentElement = document2.documentElement; - const documentRect = documentElement.getBoundingClientRect(); - const top = -documentRect.top || document2.body.scrollTop || window2.scrollY || documentElement.scrollTop || 0; - const left = -documentRect.left || document2.body.scrollLeft || window2.scrollX || documentElement.scrollLeft || 0; - return { - top, - left - }; - } - /** - * Returns a stream that emits whenever the size of the viewport changes. - * This stream emits outside of the Angular zone. - * @param throttleTime Time in milliseconds to throttle the stream. - */ - change(throttleTime = DEFAULT_RESIZE_TIME) { - return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change; - } - /** Use defaultView of injected document if available or fallback to global window reference */ - _getWindow() { - return this._document.defaultView || window; - } - /** Updates the cached viewport size. */ - _updateViewportSize() { - const window2 = this._getWindow(); - this._viewportSize = this._platform.isBrowser ? { - width: window2.innerWidth, - height: window2.innerHeight - } : { - width: 0, - height: 0 - }; - } -}; -_ViewportRuler.ɵfac = function ViewportRuler_Factory(t) { - return new (t || _ViewportRuler)(ɵɵinject(Platform), ɵɵinject(NgZone), ɵɵinject(DOCUMENT, 8)); -}; -_ViewportRuler.ɵprov = ɵɵdefineInjectable({ - token: _ViewportRuler, - factory: _ViewportRuler.ɵfac, - providedIn: "root" -}); -var ViewportRuler = _ViewportRuler; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ViewportRuler, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: Platform - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var VIRTUAL_SCROLLABLE = new InjectionToken("VIRTUAL_SCROLLABLE"); -var _CdkVirtualScrollable = class _CdkVirtualScrollable extends CdkScrollable { - constructor(elementRef, scrollDispatcher, ngZone, dir) { - super(elementRef, scrollDispatcher, ngZone, dir); - } - /** - * Measure the viewport size for the provided orientation. - * - * @param orientation The orientation to measure the size from. - */ - measureViewportSize(orientation) { - const viewportEl = this.elementRef.nativeElement; - return orientation === "horizontal" ? viewportEl.clientWidth : viewportEl.clientHeight; - } -}; -_CdkVirtualScrollable.ɵfac = function CdkVirtualScrollable_Factory(t) { - return new (t || _CdkVirtualScrollable)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ScrollDispatcher), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(Directionality, 8)); -}; -_CdkVirtualScrollable.ɵdir = ɵɵdefineDirective({ - type: _CdkVirtualScrollable, - features: [ɵɵInheritDefinitionFeature] -}); -var CdkVirtualScrollable = _CdkVirtualScrollable; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkVirtualScrollable, [{ - type: Directive - }], () => [{ - type: ElementRef - }, { - type: ScrollDispatcher - }, { - type: NgZone - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], null); -})(); -function rangesEqual(r1, r2) { - return r1.start == r2.start && r1.end == r2.end; -} -var SCROLL_SCHEDULER = typeof requestAnimationFrame !== "undefined" ? animationFrameScheduler : asapScheduler; -var _CdkVirtualScrollViewport = class _CdkVirtualScrollViewport extends CdkVirtualScrollable { - /** The direction the viewport scrolls. */ - get orientation() { - return this._orientation; - } - set orientation(orientation) { - if (this._orientation !== orientation) { - this._orientation = orientation; - this._calculateSpacerSize(); - } - } - constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler, scrollable) { - super(elementRef, scrollDispatcher, ngZone, dir); - this.elementRef = elementRef; - this._changeDetectorRef = _changeDetectorRef; - this._scrollStrategy = _scrollStrategy; - this.scrollable = scrollable; - this._platform = inject(Platform); - this._detachedSubject = new Subject(); - this._renderedRangeSubject = new Subject(); - this._orientation = "vertical"; - this.appendOnly = false; - this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe((index) => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index))))); - this.renderedRangeStream = this._renderedRangeSubject; - this._totalContentSize = 0; - this._totalContentWidth = ""; - this._totalContentHeight = ""; - this._renderedRange = { - start: 0, - end: 0 - }; - this._dataLength = 0; - this._viewportSize = 0; - this._renderedContentOffset = 0; - this._renderedContentOffsetNeedsRewrite = false; - this._isChangeDetectionPending = false; - this._runAfterChangeDetection = []; - this._viewportChanges = Subscription.EMPTY; - if (!_scrollStrategy && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.'); - } - this._viewportChanges = viewportRuler.change().subscribe(() => { - this.checkViewportSize(); - }); - if (!this.scrollable) { - this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"); - this.scrollable = this; - } - } - ngOnInit() { - if (!this._platform.isBrowser) { - return; - } - if (this.scrollable === this) { - super.ngOnInit(); - } - this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => { - this._measureViewportSize(); - this._scrollStrategy.attach(this); - this.scrollable.elementScrolled().pipe( - // Start off with a fake scroll event so we properly detect our initial position. - startWith(null), - // Collect multiple events into one until the next animation frame. This way if - // there are multiple scroll events in the same frame we only need to recheck - // our layout once. - auditTime(0, SCROLL_SCHEDULER), - // Usually `elementScrolled` is completed when the scrollable is destroyed, but - // that may not be the case if a `CdkVirtualScrollableElement` is used so we have - // to unsubscribe here just in case. - takeUntil(this._destroyed) - ).subscribe(() => this._scrollStrategy.onContentScrolled()); - this._markChangeDetectionNeeded(); - })); - } - ngOnDestroy() { - this.detach(); - this._scrollStrategy.detach(); - this._renderedRangeSubject.complete(); - this._detachedSubject.complete(); - this._viewportChanges.unsubscribe(); - super.ngOnDestroy(); - } - /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */ - attach(forOf) { - if (this._forOf && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("CdkVirtualScrollViewport is already attached."); - } - this.ngZone.runOutsideAngular(() => { - this._forOf = forOf; - this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe((data) => { - const newLength = data.length; - if (newLength !== this._dataLength) { - this._dataLength = newLength; - this._scrollStrategy.onDataLengthChanged(); - } - this._doChangeDetection(); - }); - }); - } - /** Detaches the current `CdkVirtualForOf`. */ - detach() { - this._forOf = null; - this._detachedSubject.next(); - } - /** Gets the length of the data bound to this viewport (in number of items). */ - getDataLength() { - return this._dataLength; - } - /** Gets the size of the viewport (in pixels). */ - getViewportSize() { - return this._viewportSize; - } - // TODO(mmalerba): This is technically out of sync with what's really rendered until a render - // cycle happens. I'm being careful to only call it after the render cycle is complete and before - // setting it to something else, but its error prone and should probably be split into - // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM. - /** Get the current rendered range of items. */ - getRenderedRange() { - return this._renderedRange; - } - measureBoundingClientRectWithScrollOffset(from) { - return this.getElementRef().nativeElement.getBoundingClientRect()[from]; - } - /** - * Sets the total size of all content (in pixels), including content that is not currently - * rendered. - */ - setTotalContentSize(size) { - if (this._totalContentSize !== size) { - this._totalContentSize = size; - this._calculateSpacerSize(); - this._markChangeDetectionNeeded(); - } - } - /** Sets the currently rendered range of indices. */ - setRenderedRange(range) { - if (!rangesEqual(this._renderedRange, range)) { - if (this.appendOnly) { - range = { - start: 0, - end: Math.max(this._renderedRange.end, range.end) - }; - } - this._renderedRangeSubject.next(this._renderedRange = range); - this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered()); - } - } - /** - * Gets the offset from the start of the viewport to the start of the rendered data (in pixels). - */ - getOffsetToRenderedContentStart() { - return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset; - } - /** - * Sets the offset from the start of the viewport to either the start or end of the rendered data - * (in pixels). - */ - setRenderedContentOffset(offset, to = "to-start") { - offset = this.appendOnly && to === "to-start" ? 0 : offset; - const isRtl = this.dir && this.dir.value == "rtl"; - const isHorizontal = this.orientation == "horizontal"; - const axis = isHorizontal ? "X" : "Y"; - const axisDirection = isHorizontal && isRtl ? -1 : 1; - let transform = `translate${axis}(${Number(axisDirection * offset)}px)`; - this._renderedContentOffset = offset; - if (to === "to-end") { - transform += ` translate${axis}(-100%)`; - this._renderedContentOffsetNeedsRewrite = true; - } - if (this._renderedContentTransform != transform) { - this._renderedContentTransform = transform; - this._markChangeDetectionNeeded(() => { - if (this._renderedContentOffsetNeedsRewrite) { - this._renderedContentOffset -= this.measureRenderedContentSize(); - this._renderedContentOffsetNeedsRewrite = false; - this.setRenderedContentOffset(this._renderedContentOffset); - } else { - this._scrollStrategy.onRenderedOffsetChanged(); - } - }); - } - } - /** - * Scrolls to the given offset from the start of the viewport. Please note that this is not always - * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left - * direction, this would be the equivalent of setting a fictional `scrollRight` property. - * @param offset The offset to scroll to. - * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`. - */ - scrollToOffset(offset, behavior = "auto") { - const options = { - behavior - }; - if (this.orientation === "horizontal") { - options.start = offset; - } else { - options.top = offset; - } - this.scrollable.scrollTo(options); - } - /** - * Scrolls to the offset for the given index. - * @param index The index of the element to scroll to. - * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`. - */ - scrollToIndex(index, behavior = "auto") { - this._scrollStrategy.scrollToIndex(index, behavior); - } - /** - * Gets the current scroll offset from the start of the scrollable (in pixels). - * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start' - * in horizontal mode. - */ - measureScrollOffset(from) { - let measureScrollOffset; - if (this.scrollable == this) { - measureScrollOffset = (_from) => super.measureScrollOffset(_from); - } else { - measureScrollOffset = (_from) => this.scrollable.measureScrollOffset(_from); - } - return Math.max(0, measureScrollOffset(from ?? (this.orientation === "horizontal" ? "start" : "top")) - this.measureViewportOffset()); - } - /** - * Measures the offset of the viewport from the scrolling container - * @param from The edge to measure from. - */ - measureViewportOffset(from) { - let fromRect; - const LEFT = "left"; - const RIGHT = "right"; - const isRtl = this.dir?.value == "rtl"; - if (from == "start") { - fromRect = isRtl ? RIGHT : LEFT; - } else if (from == "end") { - fromRect = isRtl ? LEFT : RIGHT; - } else if (from) { - fromRect = from; - } else { - fromRect = this.orientation === "horizontal" ? "left" : "top"; - } - const scrollerClientRect = this.scrollable.measureBoundingClientRectWithScrollOffset(fromRect); - const viewportClientRect = this.elementRef.nativeElement.getBoundingClientRect()[fromRect]; - return viewportClientRect - scrollerClientRect; - } - /** Measure the combined size of all of the rendered items. */ - measureRenderedContentSize() { - const contentEl = this._contentWrapper.nativeElement; - return this.orientation === "horizontal" ? contentEl.offsetWidth : contentEl.offsetHeight; - } - /** - * Measure the total combined size of the given range. Throws if the range includes items that are - * not rendered. - */ - measureRangeSize(range) { - if (!this._forOf) { - return 0; - } - return this._forOf.measureRangeSize(range, this.orientation); - } - /** Update the viewport dimensions and re-render. */ - checkViewportSize() { - this._measureViewportSize(); - this._scrollStrategy.onDataLengthChanged(); - } - /** Measure the viewport size. */ - _measureViewportSize() { - this._viewportSize = this.scrollable.measureViewportSize(this.orientation); - } - /** Queue up change detection to run. */ - _markChangeDetectionNeeded(runAfter) { - if (runAfter) { - this._runAfterChangeDetection.push(runAfter); - } - if (!this._isChangeDetectionPending) { - this._isChangeDetectionPending = true; - this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => { - this._doChangeDetection(); - })); - } - } - /** Run change detection. */ - _doChangeDetection() { - this._isChangeDetectionPending = false; - this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform; - this.ngZone.run(() => this._changeDetectorRef.markForCheck()); - const runAfterChangeDetection = this._runAfterChangeDetection; - this._runAfterChangeDetection = []; - for (const fn of runAfterChangeDetection) { - fn(); - } - } - /** Calculates the `style.width` and `style.height` for the spacer element. */ - _calculateSpacerSize() { - this._totalContentHeight = this.orientation === "horizontal" ? "" : `${this._totalContentSize}px`; - this._totalContentWidth = this.orientation === "horizontal" ? `${this._totalContentSize}px` : ""; - } -}; -_CdkVirtualScrollViewport.ɵfac = function CdkVirtualScrollViewport_Factory(t) { - return new (t || _CdkVirtualScrollViewport)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(VIRTUAL_SCROLL_STRATEGY, 8), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(ScrollDispatcher), ɵɵdirectiveInject(ViewportRuler), ɵɵdirectiveInject(VIRTUAL_SCROLLABLE, 8)); -}; -_CdkVirtualScrollViewport.ɵcmp = ɵɵdefineComponent({ - type: _CdkVirtualScrollViewport, - selectors: [["cdk-virtual-scroll-viewport"]], - viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(_c0, 7); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx._contentWrapper = _t.first); - } - }, - hostAttrs: [1, "cdk-virtual-scroll-viewport"], - hostVars: 4, - hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("cdk-virtual-scroll-orientation-horizontal", ctx.orientation === "horizontal")("cdk-virtual-scroll-orientation-vertical", ctx.orientation !== "horizontal"); - } - }, - inputs: { - orientation: "orientation", - appendOnly: ["appendOnly", "appendOnly", booleanAttribute] - }, - outputs: { - scrolledIndexChange: "scrolledIndexChange" - }, - standalone: true, - features: [ɵɵProvidersFeature([{ - provide: CdkScrollable, - useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport, - deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], _CdkVirtualScrollViewport] - }]), ɵɵInputTransformsFeature, ɵɵInheritDefinitionFeature, ɵɵStandaloneFeature], - ngContentSelectors: _c1, - decls: 4, - vars: 4, - consts: [[1, "cdk-virtual-scroll-content-wrapper"], ["contentWrapper", ""], [1, "cdk-virtual-scroll-spacer"]], - template: function CdkVirtualScrollViewport_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵelementStart(0, "div", 0, 1); - ɵɵprojection(2); - ɵɵelementEnd(); - ɵɵelement(3, "div", 2); - } - if (rf & 2) { - ɵɵadvance(3); - ɵɵstyleProp("width", ctx._totalContentWidth)("height", ctx._totalContentHeight); - } - }, - styles: ["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"], - encapsulation: 2, - changeDetection: 0 -}); -var CdkVirtualScrollViewport = _CdkVirtualScrollViewport; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkVirtualScrollViewport, [{ - type: Component, - args: [{ - selector: "cdk-virtual-scroll-viewport", - host: { - "class": "cdk-virtual-scroll-viewport", - "[class.cdk-virtual-scroll-orientation-horizontal]": 'orientation === "horizontal"', - "[class.cdk-virtual-scroll-orientation-vertical]": 'orientation !== "horizontal"' - }, - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - standalone: true, - providers: [{ - provide: CdkScrollable, - useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport, - deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport] - }], - template: '\n
\n \n
\n\n
\n', - styles: ["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"] - }] - }], () => [{ - type: ElementRef - }, { - type: ChangeDetectorRef - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [VIRTUAL_SCROLL_STRATEGY] - }] - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: ScrollDispatcher - }, { - type: ViewportRuler - }, { - type: CdkVirtualScrollable, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [VIRTUAL_SCROLLABLE] - }] - }], { - orientation: [{ - type: Input - }], - appendOnly: [{ - type: Input, - args: [{ - transform: booleanAttribute - }] - }], - scrolledIndexChange: [{ - type: Output - }], - _contentWrapper: [{ - type: ViewChild, - args: ["contentWrapper", { - static: true - }] - }] - }); -})(); -function getOffset(orientation, direction, node) { - const el = node; - if (!el.getBoundingClientRect) { - return 0; - } - const rect = el.getBoundingClientRect(); - if (orientation === "horizontal") { - return direction === "start" ? rect.left : rect.right; - } - return direction === "start" ? rect.top : rect.bottom; -} -var _CdkVirtualForOf = class _CdkVirtualForOf { - /** The DataSource to display. */ - get cdkVirtualForOf() { - return this._cdkVirtualForOf; - } - set cdkVirtualForOf(value) { - this._cdkVirtualForOf = value; - if (isDataSource(value)) { - this._dataSourceChanges.next(value); - } else { - this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || []))); - } - } - /** - * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and - * the item and produces a value to be used as the item's identity when tracking changes. - */ - get cdkVirtualForTrackBy() { - return this._cdkVirtualForTrackBy; - } - set cdkVirtualForTrackBy(fn) { - this._needsUpdate = true; - this._cdkVirtualForTrackBy = fn ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) : void 0; - } - /** The template used to stamp out new elements. */ - set cdkVirtualForTemplate(value) { - if (value) { - this._needsUpdate = true; - this._template = value; - } - } - /** - * The size of the cache used to store templates that are not being used for re-use later. - * Setting the cache size to `0` will disable caching. Defaults to 20 templates. - */ - get cdkVirtualForTemplateCacheSize() { - return this._viewRepeater.viewCacheSize; - } - set cdkVirtualForTemplateCacheSize(size) { - this._viewRepeater.viewCacheSize = coerceNumberProperty(size); - } - constructor(_viewContainerRef, _template, _differs, _viewRepeater, _viewport, ngZone) { - this._viewContainerRef = _viewContainerRef; - this._template = _template; - this._differs = _differs; - this._viewRepeater = _viewRepeater; - this._viewport = _viewport; - this.viewChange = new Subject(); - this._dataSourceChanges = new Subject(); - this.dataStream = this._dataSourceChanges.pipe( - // Start off with null `DataSource`. - startWith(null), - // Bundle up the previous and current data sources so we can work with both. - pairwise(), - // Use `_changeDataSource` to disconnect from the previous data source and connect to the - // new one, passing back a stream of data changes which we run through `switchMap` to give - // us a data stream that emits the latest data from whatever the current `DataSource` is. - switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), - // Replay the last emitted data when someone subscribes. - shareReplay(1) - ); - this._differ = null; - this._needsUpdate = false; - this._destroyed = new Subject(); - this.dataStream.subscribe((data) => { - this._data = data; - this._onRenderedDataChange(); - }); - this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe((range) => { - this._renderedRange = range; - if (this.viewChange.observers.length) { - ngZone.run(() => this.viewChange.next(this._renderedRange)); - } - this._onRenderedDataChange(); - }); - this._viewport.attach(this); - } - /** - * Measures the combined size (width for horizontal orientation, height for vertical) of all items - * in the specified range. Throws an error if the range includes items that are not currently - * rendered. - */ - measureRangeSize(range, orientation) { - if (range.start >= range.end) { - return 0; - } - if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error(`Error: attempted to measure an item that isn't rendered.`); - } - const renderedStartIndex = range.start - this._renderedRange.start; - const rangeLen = range.end - range.start; - let firstNode; - let lastNode; - for (let i = 0; i < rangeLen; i++) { - const view = this._viewContainerRef.get(i + renderedStartIndex); - if (view && view.rootNodes.length) { - firstNode = lastNode = view.rootNodes[0]; - break; - } - } - for (let i = rangeLen - 1; i > -1; i--) { - const view = this._viewContainerRef.get(i + renderedStartIndex); - if (view && view.rootNodes.length) { - lastNode = view.rootNodes[view.rootNodes.length - 1]; - break; - } - } - return firstNode && lastNode ? getOffset(orientation, "end", lastNode) - getOffset(orientation, "start", firstNode) : 0; - } - ngDoCheck() { - if (this._differ && this._needsUpdate) { - const changes = this._differ.diff(this._renderedItems); - if (!changes) { - this._updateContext(); - } else { - this._applyChanges(changes); - } - this._needsUpdate = false; - } - } - ngOnDestroy() { - this._viewport.detach(); - this._dataSourceChanges.next(void 0); - this._dataSourceChanges.complete(); - this.viewChange.complete(); - this._destroyed.next(); - this._destroyed.complete(); - this._viewRepeater.detach(); - } - /** React to scroll state changes in the viewport. */ - _onRenderedDataChange() { - if (!this._renderedRange) { - return; - } - this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end); - if (!this._differ) { - this._differ = this._differs.find(this._renderedItems).create((index, item) => { - return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item; - }); - } - this._needsUpdate = true; - } - /** Swap out one `DataSource` for another. */ - _changeDataSource(oldDs, newDs) { - if (oldDs) { - oldDs.disconnect(this); - } - this._needsUpdate = true; - return newDs ? newDs.connect(this) : of(); - } - /** Update the `CdkVirtualForOfContext` for all views. */ - _updateContext() { - const count = this._data.length; - let i = this._viewContainerRef.length; - while (i--) { - const view = this._viewContainerRef.get(i); - view.context.index = this._renderedRange.start + i; - view.context.count = count; - this._updateComputedContextProperties(view.context); - view.detectChanges(); - } - } - /** Apply changes to the DOM. */ - _applyChanges(changes) { - this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), (record) => record.item); - changes.forEachIdentityChange((record) => { - const view = this._viewContainerRef.get(record.currentIndex); - view.context.$implicit = record.item; - }); - const count = this._data.length; - let i = this._viewContainerRef.length; - while (i--) { - const view = this._viewContainerRef.get(i); - view.context.index = this._renderedRange.start + i; - view.context.count = count; - this._updateComputedContextProperties(view.context); - } - } - /** Update the computed properties on the `CdkVirtualForOfContext`. */ - _updateComputedContextProperties(context) { - context.first = context.index === 0; - context.last = context.index === context.count - 1; - context.even = context.index % 2 === 0; - context.odd = !context.even; - } - _getEmbeddedViewArgs(record, index) { - return { - templateRef: this._template, - context: { - $implicit: record.item, - // It's guaranteed that the iterable is not "undefined" or "null" because we only - // generate views for elements if the "cdkVirtualForOf" iterable has elements. - cdkVirtualForOf: this._cdkVirtualForOf, - index: -1, - count: -1, - first: false, - last: false, - odd: false, - even: false - }, - index - }; - } -}; -_CdkVirtualForOf.ɵfac = function CdkVirtualForOf_Factory(t) { - return new (t || _CdkVirtualForOf)(ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(TemplateRef), ɵɵdirectiveInject(IterableDiffers), ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), ɵɵdirectiveInject(CdkVirtualScrollViewport, 4), ɵɵdirectiveInject(NgZone)); -}; -_CdkVirtualForOf.ɵdir = ɵɵdefineDirective({ - type: _CdkVirtualForOf, - selectors: [["", "cdkVirtualFor", "", "cdkVirtualForOf", ""]], - inputs: { - cdkVirtualForOf: "cdkVirtualForOf", - cdkVirtualForTrackBy: "cdkVirtualForTrackBy", - cdkVirtualForTemplate: "cdkVirtualForTemplate", - cdkVirtualForTemplateCacheSize: "cdkVirtualForTemplateCacheSize" - }, - standalone: true, - features: [ɵɵProvidersFeature([{ - provide: _VIEW_REPEATER_STRATEGY, - useClass: _RecycleViewRepeaterStrategy - }])] -}); -var CdkVirtualForOf = _CdkVirtualForOf; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkVirtualForOf, [{ - type: Directive, - args: [{ - selector: "[cdkVirtualFor][cdkVirtualForOf]", - providers: [{ - provide: _VIEW_REPEATER_STRATEGY, - useClass: _RecycleViewRepeaterStrategy - }], - standalone: true - }] - }], () => [{ - type: ViewContainerRef - }, { - type: TemplateRef - }, { - type: IterableDiffers - }, { - type: _RecycleViewRepeaterStrategy, - decorators: [{ - type: Inject, - args: [_VIEW_REPEATER_STRATEGY] - }] - }, { - type: CdkVirtualScrollViewport, - decorators: [{ - type: SkipSelf - }] - }, { - type: NgZone - }], { - cdkVirtualForOf: [{ - type: Input - }], - cdkVirtualForTrackBy: [{ - type: Input - }], - cdkVirtualForTemplate: [{ - type: Input - }], - cdkVirtualForTemplateCacheSize: [{ - type: Input - }] - }); -})(); -var _CdkVirtualScrollableElement = class _CdkVirtualScrollableElement extends CdkVirtualScrollable { - constructor(elementRef, scrollDispatcher, ngZone, dir) { - super(elementRef, scrollDispatcher, ngZone, dir); - } - measureBoundingClientRectWithScrollOffset(from) { - return this.getElementRef().nativeElement.getBoundingClientRect()[from] - this.measureScrollOffset(from); - } -}; -_CdkVirtualScrollableElement.ɵfac = function CdkVirtualScrollableElement_Factory(t) { - return new (t || _CdkVirtualScrollableElement)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ScrollDispatcher), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(Directionality, 8)); -}; -_CdkVirtualScrollableElement.ɵdir = ɵɵdefineDirective({ - type: _CdkVirtualScrollableElement, - selectors: [["", "cdkVirtualScrollingElement", ""]], - hostAttrs: [1, "cdk-virtual-scrollable"], - standalone: true, - features: [ɵɵProvidersFeature([{ - provide: VIRTUAL_SCROLLABLE, - useExisting: _CdkVirtualScrollableElement - }]), ɵɵInheritDefinitionFeature] -}); -var CdkVirtualScrollableElement = _CdkVirtualScrollableElement; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkVirtualScrollableElement, [{ - type: Directive, - args: [{ - selector: "[cdkVirtualScrollingElement]", - providers: [{ - provide: VIRTUAL_SCROLLABLE, - useExisting: CdkVirtualScrollableElement - }], - standalone: true, - host: { - "class": "cdk-virtual-scrollable" - } - }] - }], () => [{ - type: ElementRef - }, { - type: ScrollDispatcher - }, { - type: NgZone - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], null); -})(); -var _CdkVirtualScrollableWindow = class _CdkVirtualScrollableWindow extends CdkVirtualScrollable { - constructor(scrollDispatcher, ngZone, dir) { - super(new ElementRef(document.documentElement), scrollDispatcher, ngZone, dir); - this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(document, "scroll").pipe(takeUntil(this._destroyed)).subscribe(observer))); - } - measureBoundingClientRectWithScrollOffset(from) { - return this.getElementRef().nativeElement.getBoundingClientRect()[from]; - } -}; -_CdkVirtualScrollableWindow.ɵfac = function CdkVirtualScrollableWindow_Factory(t) { - return new (t || _CdkVirtualScrollableWindow)(ɵɵdirectiveInject(ScrollDispatcher), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(Directionality, 8)); -}; -_CdkVirtualScrollableWindow.ɵdir = ɵɵdefineDirective({ - type: _CdkVirtualScrollableWindow, - selectors: [["cdk-virtual-scroll-viewport", "scrollWindow", ""]], - standalone: true, - features: [ɵɵProvidersFeature([{ - provide: VIRTUAL_SCROLLABLE, - useExisting: _CdkVirtualScrollableWindow - }]), ɵɵInheritDefinitionFeature] -}); -var CdkVirtualScrollableWindow = _CdkVirtualScrollableWindow; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkVirtualScrollableWindow, [{ - type: Directive, - args: [{ - selector: "cdk-virtual-scroll-viewport[scrollWindow]", - providers: [{ - provide: VIRTUAL_SCROLLABLE, - useExisting: CdkVirtualScrollableWindow - }], - standalone: true - }] - }], () => [{ - type: ScrollDispatcher - }, { - type: NgZone - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], null); -})(); -var _CdkScrollableModule = class _CdkScrollableModule { -}; -_CdkScrollableModule.ɵfac = function CdkScrollableModule_Factory(t) { - return new (t || _CdkScrollableModule)(); -}; -_CdkScrollableModule.ɵmod = ɵɵdefineNgModule({ - type: _CdkScrollableModule, - imports: [CdkScrollable], - exports: [CdkScrollable] -}); -_CdkScrollableModule.ɵinj = ɵɵdefineInjector({}); -var CdkScrollableModule = _CdkScrollableModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkScrollableModule, [{ - type: NgModule, - args: [{ - exports: [CdkScrollable], - imports: [CdkScrollable] - }] - }], null, null); -})(); -var _ScrollingModule = class _ScrollingModule { -}; -_ScrollingModule.ɵfac = function ScrollingModule_Factory(t) { - return new (t || _ScrollingModule)(); -}; -_ScrollingModule.ɵmod = ɵɵdefineNgModule({ - type: _ScrollingModule, - imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement], - exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableWindow, CdkVirtualScrollableElement] -}); -_ScrollingModule.ɵinj = ɵɵdefineInjector({ - imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule] -}); -var ScrollingModule = _ScrollingModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ScrollingModule, [{ - type: NgModule, - args: [{ - imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement], - exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableWindow, CdkVirtualScrollableElement] - }] - }], null, null); -})(); - -// node_modules/@angular/cdk/fesm2022/portal.mjs -function throwNullPortalError() { - throw Error("Must provide a portal to attach"); -} -function throwPortalAlreadyAttachedError() { - throw Error("Host already has a portal attached"); -} -function throwPortalOutletAlreadyDisposedError() { - throw Error("This PortalOutlet has already been disposed"); -} -function throwUnknownPortalTypeError() { - throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal."); -} -function throwNullPortalOutletError() { - throw Error("Attempting to attach a portal to a null PortalOutlet"); -} -function throwNoPortalAttachedError() { - throw Error("Attempting to detach a portal that is not attached to a host"); -} -var Portal = class { - /** Attach this portal to a host. */ - attach(host) { - if (typeof ngDevMode === "undefined" || ngDevMode) { - if (host == null) { - throwNullPortalOutletError(); - } - if (host.hasAttached()) { - throwPortalAlreadyAttachedError(); - } - } - this._attachedHost = host; - return host.attach(this); - } - /** Detach this portal from its host */ - detach() { - let host = this._attachedHost; - if (host != null) { - this._attachedHost = null; - host.detach(); - } else if (typeof ngDevMode === "undefined" || ngDevMode) { - throwNoPortalAttachedError(); - } - } - /** Whether this portal is attached to a host. */ - get isAttached() { - return this._attachedHost != null; - } - /** - * Sets the PortalOutlet reference without performing `attach()`. This is used directly by - * the PortalOutlet when it is performing an `attach()` or `detach()`. - */ - setAttachedHost(host) { - this._attachedHost = host; - } -}; -var ComponentPortal = class extends Portal { - constructor(component, viewContainerRef, injector, componentFactoryResolver, projectableNodes) { - super(); - this.component = component; - this.viewContainerRef = viewContainerRef; - this.injector = injector; - this.componentFactoryResolver = componentFactoryResolver; - this.projectableNodes = projectableNodes; - } -}; -var TemplatePortal = class extends Portal { - constructor(templateRef, viewContainerRef, context, injector) { - super(); - this.templateRef = templateRef; - this.viewContainerRef = viewContainerRef; - this.context = context; - this.injector = injector; - } - get origin() { - return this.templateRef.elementRef; - } - /** - * Attach the portal to the provided `PortalOutlet`. - * When a context is provided it will override the `context` property of the `TemplatePortal` - * instance. - */ - attach(host, context = this.context) { - this.context = context; - return super.attach(host); - } - detach() { - this.context = void 0; - return super.detach(); - } -}; -var DomPortal = class extends Portal { - constructor(element) { - super(); - this.element = element instanceof ElementRef ? element.nativeElement : element; - } -}; -var BasePortalOutlet = class { - constructor() { - this._isDisposed = false; - this.attachDomPortal = null; - } - /** Whether this host has an attached portal. */ - hasAttached() { - return !!this._attachedPortal; - } - /** Attaches a portal. */ - attach(portal) { - if (typeof ngDevMode === "undefined" || ngDevMode) { - if (!portal) { - throwNullPortalError(); - } - if (this.hasAttached()) { - throwPortalAlreadyAttachedError(); - } - if (this._isDisposed) { - throwPortalOutletAlreadyDisposedError(); - } - } - if (portal instanceof ComponentPortal) { - this._attachedPortal = portal; - return this.attachComponentPortal(portal); - } else if (portal instanceof TemplatePortal) { - this._attachedPortal = portal; - return this.attachTemplatePortal(portal); - } else if (this.attachDomPortal && portal instanceof DomPortal) { - this._attachedPortal = portal; - return this.attachDomPortal(portal); - } - if (typeof ngDevMode === "undefined" || ngDevMode) { - throwUnknownPortalTypeError(); - } - } - /** Detaches a previously attached portal. */ - detach() { - if (this._attachedPortal) { - this._attachedPortal.setAttachedHost(null); - this._attachedPortal = null; - } - this._invokeDisposeFn(); - } - /** Permanently dispose of this portal host. */ - dispose() { - if (this.hasAttached()) { - this.detach(); - } - this._invokeDisposeFn(); - this._isDisposed = true; - } - /** @docs-private */ - setDisposeFn(fn) { - this._disposeFn = fn; - } - _invokeDisposeFn() { - if (this._disposeFn) { - this._disposeFn(); - this._disposeFn = null; - } - } -}; -var DomPortalOutlet = class extends BasePortalOutlet { - /** - * @param outletElement Element into which the content is projected. - * @param _componentFactoryResolver Used to resolve the component factory. - * Only required when attaching component portals. - * @param _appRef Reference to the application. Only used in component portals when there - * is no `ViewContainerRef` available. - * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't - * have one. Only used for component portals. - * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually - * become a required parameter. - */ - constructor(outletElement, _componentFactoryResolver, _appRef, _defaultInjector, _document) { - super(); - this.outletElement = outletElement; - this._componentFactoryResolver = _componentFactoryResolver; - this._appRef = _appRef; - this._defaultInjector = _defaultInjector; - this.attachDomPortal = (portal) => { - if (!this._document && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("Cannot attach DOM portal without _document constructor parameter"); - } - const element = portal.element; - if (!element.parentNode && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("DOM portal content must be attached to a parent node."); - } - const anchorNode = this._document.createComment("dom-portal"); - element.parentNode.insertBefore(anchorNode, element); - this.outletElement.appendChild(element); - this._attachedPortal = portal; - super.setDisposeFn(() => { - if (anchorNode.parentNode) { - anchorNode.parentNode.replaceChild(element, anchorNode); - } - }); - }; - this._document = _document; - } - /** - * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver. - * @param portal Portal to be attached - * @returns Reference to the created component. - */ - attachComponentPortal(portal) { - const resolver = portal.componentFactoryResolver || this._componentFactoryResolver; - if ((typeof ngDevMode === "undefined" || ngDevMode) && !resolver) { - throw Error("Cannot attach component portal to outlet without a ComponentFactoryResolver."); - } - const componentFactory = resolver.resolveComponentFactory(portal.component); - let componentRef; - if (portal.viewContainerRef) { - componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector, portal.projectableNodes || void 0); - this.setDisposeFn(() => componentRef.destroy()); - } else { - if ((typeof ngDevMode === "undefined" || ngDevMode) && !this._appRef) { - throw Error("Cannot attach component portal to outlet without an ApplicationRef."); - } - componentRef = componentFactory.create(portal.injector || this._defaultInjector || Injector.NULL); - this._appRef.attachView(componentRef.hostView); - this.setDisposeFn(() => { - if (this._appRef.viewCount > 0) { - this._appRef.detachView(componentRef.hostView); - } - componentRef.destroy(); - }); - } - this.outletElement.appendChild(this._getComponentRootNode(componentRef)); - this._attachedPortal = portal; - return componentRef; - } - /** - * Attaches a template portal to the DOM as an embedded view. - * @param portal Portal to be attached. - * @returns Reference to the created embedded view. - */ - attachTemplatePortal(portal) { - let viewContainer = portal.viewContainerRef; - let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, { - injector: portal.injector - }); - viewRef.rootNodes.forEach((rootNode) => this.outletElement.appendChild(rootNode)); - viewRef.detectChanges(); - this.setDisposeFn(() => { - let index = viewContainer.indexOf(viewRef); - if (index !== -1) { - viewContainer.remove(index); - } - }); - this._attachedPortal = portal; - return viewRef; - } - /** - * Clears out a portal from the DOM. - */ - dispose() { - super.dispose(); - this.outletElement.remove(); - } - /** Gets the root HTMLElement for an instantiated component. */ - _getComponentRootNode(componentRef) { - return componentRef.hostView.rootNodes[0]; - } -}; -var _CdkPortal = class _CdkPortal extends TemplatePortal { - constructor(templateRef, viewContainerRef) { - super(templateRef, viewContainerRef); - } -}; -_CdkPortal.ɵfac = function CdkPortal_Factory(t) { - return new (t || _CdkPortal)(ɵɵdirectiveInject(TemplateRef), ɵɵdirectiveInject(ViewContainerRef)); -}; -_CdkPortal.ɵdir = ɵɵdefineDirective({ - type: _CdkPortal, - selectors: [["", "cdkPortal", ""]], - exportAs: ["cdkPortal"], - features: [ɵɵInheritDefinitionFeature] -}); -var CdkPortal = _CdkPortal; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkPortal, [{ - type: Directive, - args: [{ - selector: "[cdkPortal]", - exportAs: "cdkPortal" - }] - }], () => [{ - type: TemplateRef - }, { - type: ViewContainerRef - }], null); -})(); -var _TemplatePortalDirective = class _TemplatePortalDirective extends CdkPortal { -}; -_TemplatePortalDirective.ɵfac = (() => { - let ɵTemplatePortalDirective_BaseFactory; - return function TemplatePortalDirective_Factory(t) { - return (ɵTemplatePortalDirective_BaseFactory || (ɵTemplatePortalDirective_BaseFactory = ɵɵgetInheritedFactory(_TemplatePortalDirective)))(t || _TemplatePortalDirective); - }; -})(); -_TemplatePortalDirective.ɵdir = ɵɵdefineDirective({ - type: _TemplatePortalDirective, - selectors: [["", "cdk-portal", ""], ["", "portal", ""]], - exportAs: ["cdkPortal"], - features: [ɵɵProvidersFeature([{ - provide: CdkPortal, - useExisting: _TemplatePortalDirective - }]), ɵɵInheritDefinitionFeature] -}); -var TemplatePortalDirective = _TemplatePortalDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(TemplatePortalDirective, [{ - type: Directive, - args: [{ - selector: "[cdk-portal], [portal]", - exportAs: "cdkPortal", - providers: [{ - provide: CdkPortal, - useExisting: TemplatePortalDirective - }] - }] - }], null, null); -})(); -var _CdkPortalOutlet = class _CdkPortalOutlet extends BasePortalOutlet { - constructor(_componentFactoryResolver, _viewContainerRef, _document) { - super(); - this._componentFactoryResolver = _componentFactoryResolver; - this._viewContainerRef = _viewContainerRef; - this._isInitialized = false; - this.attached = new EventEmitter(); - this.attachDomPortal = (portal) => { - if (!this._document && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("Cannot attach DOM portal without _document constructor parameter"); - } - const element = portal.element; - if (!element.parentNode && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("DOM portal content must be attached to a parent node."); - } - const anchorNode = this._document.createComment("dom-portal"); - portal.setAttachedHost(this); - element.parentNode.insertBefore(anchorNode, element); - this._getRootNode().appendChild(element); - this._attachedPortal = portal; - super.setDisposeFn(() => { - if (anchorNode.parentNode) { - anchorNode.parentNode.replaceChild(element, anchorNode); - } - }); - }; - this._document = _document; - } - /** Portal associated with the Portal outlet. */ - get portal() { - return this._attachedPortal; - } - set portal(portal) { - if (this.hasAttached() && !portal && !this._isInitialized) { - return; - } - if (this.hasAttached()) { - super.detach(); - } - if (portal) { - super.attach(portal); - } - this._attachedPortal = portal || null; - } - /** Component or view reference that is attached to the portal. */ - get attachedRef() { - return this._attachedRef; - } - ngOnInit() { - this._isInitialized = true; - } - ngOnDestroy() { - super.dispose(); - this._attachedRef = this._attachedPortal = null; - } - /** - * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver. - * - * @param portal Portal to be attached to the portal outlet. - * @returns Reference to the created component. - */ - attachComponentPortal(portal) { - portal.setAttachedHost(this); - const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef; - const resolver = portal.componentFactoryResolver || this._componentFactoryResolver; - const componentFactory = resolver.resolveComponentFactory(portal.component); - const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector, portal.projectableNodes || void 0); - if (viewContainerRef !== this._viewContainerRef) { - this._getRootNode().appendChild(ref.hostView.rootNodes[0]); - } - super.setDisposeFn(() => ref.destroy()); - this._attachedPortal = portal; - this._attachedRef = ref; - this.attached.emit(ref); - return ref; - } - /** - * Attach the given TemplatePortal to this PortalHost as an embedded View. - * @param portal Portal to be attached. - * @returns Reference to the created embedded view. - */ - attachTemplatePortal(portal) { - portal.setAttachedHost(this); - const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, { - injector: portal.injector - }); - super.setDisposeFn(() => this._viewContainerRef.clear()); - this._attachedPortal = portal; - this._attachedRef = viewRef; - this.attached.emit(viewRef); - return viewRef; - } - /** Gets the root node of the portal outlet. */ - _getRootNode() { - const nativeElement = this._viewContainerRef.element.nativeElement; - return nativeElement.nodeType === nativeElement.ELEMENT_NODE ? nativeElement : nativeElement.parentNode; - } -}; -_CdkPortalOutlet.ɵfac = function CdkPortalOutlet_Factory(t) { - return new (t || _CdkPortalOutlet)(ɵɵdirectiveInject(ComponentFactoryResolver$1), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(DOCUMENT)); -}; -_CdkPortalOutlet.ɵdir = ɵɵdefineDirective({ - type: _CdkPortalOutlet, - selectors: [["", "cdkPortalOutlet", ""]], - inputs: { - portal: ["cdkPortalOutlet", "portal"] - }, - outputs: { - attached: "attached" - }, - exportAs: ["cdkPortalOutlet"], - features: [ɵɵInheritDefinitionFeature] -}); -var CdkPortalOutlet = _CdkPortalOutlet; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkPortalOutlet, [{ - type: Directive, - args: [{ - selector: "[cdkPortalOutlet]", - exportAs: "cdkPortalOutlet", - inputs: ["portal: cdkPortalOutlet"] - }] - }], () => [{ - type: ComponentFactoryResolver$1 - }, { - type: ViewContainerRef - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], { - attached: [{ - type: Output - }] - }); -})(); -var _PortalHostDirective = class _PortalHostDirective extends CdkPortalOutlet { -}; -_PortalHostDirective.ɵfac = (() => { - let ɵPortalHostDirective_BaseFactory; - return function PortalHostDirective_Factory(t) { - return (ɵPortalHostDirective_BaseFactory || (ɵPortalHostDirective_BaseFactory = ɵɵgetInheritedFactory(_PortalHostDirective)))(t || _PortalHostDirective); - }; -})(); -_PortalHostDirective.ɵdir = ɵɵdefineDirective({ - type: _PortalHostDirective, - selectors: [["", "cdkPortalHost", ""], ["", "portalHost", ""]], - inputs: { - portal: ["cdkPortalHost", "portal"] - }, - exportAs: ["cdkPortalHost"], - features: [ɵɵProvidersFeature([{ - provide: CdkPortalOutlet, - useExisting: _PortalHostDirective - }]), ɵɵInheritDefinitionFeature] -}); -var PortalHostDirective = _PortalHostDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(PortalHostDirective, [{ - type: Directive, - args: [{ - selector: "[cdkPortalHost], [portalHost]", - exportAs: "cdkPortalHost", - inputs: ["portal: cdkPortalHost"], - providers: [{ - provide: CdkPortalOutlet, - useExisting: PortalHostDirective - }] - }] - }], null, null); -})(); -var _PortalModule = class _PortalModule { -}; -_PortalModule.ɵfac = function PortalModule_Factory(t) { - return new (t || _PortalModule)(); -}; -_PortalModule.ɵmod = ɵɵdefineNgModule({ - type: _PortalModule, - declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], - exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] -}); -_PortalModule.ɵinj = ɵɵdefineInjector({}); -var PortalModule = _PortalModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(PortalModule, [{ - type: NgModule, - args: [{ - exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], - declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] - }] - }], null, null); -})(); - -// node_modules/@angular/cdk/fesm2022/overlay.mjs -var scrollBehaviorSupported = supportsScrollBehavior(); -var BlockScrollStrategy = class { - constructor(_viewportRuler, document2) { - this._viewportRuler = _viewportRuler; - this._previousHTMLStyles = { - top: "", - left: "" - }; - this._isEnabled = false; - this._document = document2; - } - /** Attaches this scroll strategy to an overlay. */ - attach() { - } - /** Blocks page-level scroll while the attached overlay is open. */ - enable() { - if (this._canBeEnabled()) { - const root = this._document.documentElement; - this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition(); - this._previousHTMLStyles.left = root.style.left || ""; - this._previousHTMLStyles.top = root.style.top || ""; - root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left); - root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top); - root.classList.add("cdk-global-scrollblock"); - this._isEnabled = true; - } - } - /** Unblocks page-level scroll while the attached overlay is open. */ - disable() { - if (this._isEnabled) { - const html = this._document.documentElement; - const body = this._document.body; - const htmlStyle = html.style; - const bodyStyle = body.style; - const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || ""; - const previousBodyScrollBehavior = bodyStyle.scrollBehavior || ""; - this._isEnabled = false; - htmlStyle.left = this._previousHTMLStyles.left; - htmlStyle.top = this._previousHTMLStyles.top; - html.classList.remove("cdk-global-scrollblock"); - if (scrollBehaviorSupported) { - htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = "auto"; - } - window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top); - if (scrollBehaviorSupported) { - htmlStyle.scrollBehavior = previousHtmlScrollBehavior; - bodyStyle.scrollBehavior = previousBodyScrollBehavior; - } - } - } - _canBeEnabled() { - const html = this._document.documentElement; - if (html.classList.contains("cdk-global-scrollblock") || this._isEnabled) { - return false; - } - const body = this._document.body; - const viewport = this._viewportRuler.getViewportSize(); - return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width; - } -}; -function getMatScrollStrategyAlreadyAttachedError() { - return Error(`Scroll strategy has already been attached.`); -} -var CloseScrollStrategy = class { - constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) { - this._scrollDispatcher = _scrollDispatcher; - this._ngZone = _ngZone; - this._viewportRuler = _viewportRuler; - this._config = _config; - this._scrollSubscription = null; - this._detach = () => { - this.disable(); - if (this._overlayRef.hasAttached()) { - this._ngZone.run(() => this._overlayRef.detach()); - } - }; - } - /** Attaches this scroll strategy to an overlay. */ - attach(overlayRef) { - if (this._overlayRef && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw getMatScrollStrategyAlreadyAttachedError(); - } - this._overlayRef = overlayRef; - } - /** Enables the closing of the attached overlay on scroll. */ - enable() { - if (this._scrollSubscription) { - return; - } - const stream = this._scrollDispatcher.scrolled(0).pipe(filter((scrollable) => { - return !scrollable || !this._overlayRef.overlayElement.contains(scrollable.getElementRef().nativeElement); - })); - if (this._config && this._config.threshold && this._config.threshold > 1) { - this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top; - this._scrollSubscription = stream.subscribe(() => { - const scrollPosition = this._viewportRuler.getViewportScrollPosition().top; - if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) { - this._detach(); - } else { - this._overlayRef.updatePosition(); - } - }); - } else { - this._scrollSubscription = stream.subscribe(this._detach); - } - } - /** Disables the closing the attached overlay on scroll. */ - disable() { - if (this._scrollSubscription) { - this._scrollSubscription.unsubscribe(); - this._scrollSubscription = null; - } - } - detach() { - this.disable(); - this._overlayRef = null; - } -}; -var NoopScrollStrategy = class { - /** Does nothing, as this scroll strategy is a no-op. */ - enable() { - } - /** Does nothing, as this scroll strategy is a no-op. */ - disable() { - } - /** Does nothing, as this scroll strategy is a no-op. */ - attach() { - } -}; -function isElementScrolledOutsideView(element, scrollContainers) { - return scrollContainers.some((containerBounds) => { - const outsideAbove = element.bottom < containerBounds.top; - const outsideBelow = element.top > containerBounds.bottom; - const outsideLeft = element.right < containerBounds.left; - const outsideRight = element.left > containerBounds.right; - return outsideAbove || outsideBelow || outsideLeft || outsideRight; - }); -} -function isElementClippedByScrolling(element, scrollContainers) { - return scrollContainers.some((scrollContainerRect) => { - const clippedAbove = element.top < scrollContainerRect.top; - const clippedBelow = element.bottom > scrollContainerRect.bottom; - const clippedLeft = element.left < scrollContainerRect.left; - const clippedRight = element.right > scrollContainerRect.right; - return clippedAbove || clippedBelow || clippedLeft || clippedRight; - }); -} -var RepositionScrollStrategy = class { - constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) { - this._scrollDispatcher = _scrollDispatcher; - this._viewportRuler = _viewportRuler; - this._ngZone = _ngZone; - this._config = _config; - this._scrollSubscription = null; - } - /** Attaches this scroll strategy to an overlay. */ - attach(overlayRef) { - if (this._overlayRef && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw getMatScrollStrategyAlreadyAttachedError(); - } - this._overlayRef = overlayRef; - } - /** Enables repositioning of the attached overlay on scroll. */ - enable() { - if (!this._scrollSubscription) { - const throttle = this._config ? this._config.scrollThrottle : 0; - this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => { - this._overlayRef.updatePosition(); - if (this._config && this._config.autoClose) { - const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect(); - const { - width, - height - } = this._viewportRuler.getViewportSize(); - const parentRects = [{ - width, - height, - bottom: height, - right: width, - top: 0, - left: 0 - }]; - if (isElementScrolledOutsideView(overlayRect, parentRects)) { - this.disable(); - this._ngZone.run(() => this._overlayRef.detach()); - } - } - }); - } - } - /** Disables repositioning of the attached overlay on scroll. */ - disable() { - if (this._scrollSubscription) { - this._scrollSubscription.unsubscribe(); - this._scrollSubscription = null; - } - } - detach() { - this.disable(); - this._overlayRef = null; - } -}; -var _ScrollStrategyOptions = class _ScrollStrategyOptions { - constructor(_scrollDispatcher, _viewportRuler, _ngZone, document2) { - this._scrollDispatcher = _scrollDispatcher; - this._viewportRuler = _viewportRuler; - this._ngZone = _ngZone; - this.noop = () => new NoopScrollStrategy(); - this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config); - this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document); - this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config); - this._document = document2; - } -}; -_ScrollStrategyOptions.ɵfac = function ScrollStrategyOptions_Factory(t) { - return new (t || _ScrollStrategyOptions)(ɵɵinject(ScrollDispatcher), ɵɵinject(ViewportRuler), ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); -}; -_ScrollStrategyOptions.ɵprov = ɵɵdefineInjectable({ - token: _ScrollStrategyOptions, - factory: _ScrollStrategyOptions.ɵfac, - providedIn: "root" -}); -var ScrollStrategyOptions = _ScrollStrategyOptions; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ScrollStrategyOptions, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: ScrollDispatcher - }, { - type: ViewportRuler - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var OverlayConfig = class { - constructor(config) { - this.scrollStrategy = new NoopScrollStrategy(); - this.panelClass = ""; - this.hasBackdrop = false; - this.backdropClass = "cdk-overlay-dark-backdrop"; - this.disposeOnNavigation = false; - if (config) { - const configKeys = Object.keys(config); - for (const key of configKeys) { - if (config[key] !== void 0) { - this[key] = config[key]; - } - } - } - } -}; -var ConnectionPositionPair = class { - constructor(origin, overlay, offsetX, offsetY, panelClass) { - this.offsetX = offsetX; - this.offsetY = offsetY; - this.panelClass = panelClass; - this.originX = origin.originX; - this.originY = origin.originY; - this.overlayX = overlay.overlayX; - this.overlayY = overlay.overlayY; - } -}; -var ConnectedOverlayPositionChange = class { - constructor(connectionPair, scrollableViewProperties) { - this.connectionPair = connectionPair; - this.scrollableViewProperties = scrollableViewProperties; - } -}; -function validateVerticalPosition(property, value) { - if (value !== "top" && value !== "bottom" && value !== "center") { - throw Error(`ConnectedPosition: Invalid ${property} "${value}". Expected "top", "bottom" or "center".`); - } -} -function validateHorizontalPosition(property, value) { - if (value !== "start" && value !== "end" && value !== "center") { - throw Error(`ConnectedPosition: Invalid ${property} "${value}". Expected "start", "end" or "center".`); - } -} -var _BaseOverlayDispatcher = class _BaseOverlayDispatcher { - constructor(document2) { - this._attachedOverlays = []; - this._document = document2; - } - ngOnDestroy() { - this.detach(); - } - /** Add a new overlay to the list of attached overlay refs. */ - add(overlayRef) { - this.remove(overlayRef); - this._attachedOverlays.push(overlayRef); - } - /** Remove an overlay from the list of attached overlay refs. */ - remove(overlayRef) { - const index = this._attachedOverlays.indexOf(overlayRef); - if (index > -1) { - this._attachedOverlays.splice(index, 1); - } - if (this._attachedOverlays.length === 0) { - this.detach(); - } - } -}; -_BaseOverlayDispatcher.ɵfac = function BaseOverlayDispatcher_Factory(t) { - return new (t || _BaseOverlayDispatcher)(ɵɵinject(DOCUMENT)); -}; -_BaseOverlayDispatcher.ɵprov = ɵɵdefineInjectable({ - token: _BaseOverlayDispatcher, - factory: _BaseOverlayDispatcher.ɵfac, - providedIn: "root" -}); -var BaseOverlayDispatcher = _BaseOverlayDispatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BaseOverlayDispatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var _OverlayKeyboardDispatcher = class _OverlayKeyboardDispatcher extends BaseOverlayDispatcher { - constructor(document2, _ngZone) { - super(document2); - this._ngZone = _ngZone; - this._keydownListener = (event) => { - const overlays = this._attachedOverlays; - for (let i = overlays.length - 1; i > -1; i--) { - if (overlays[i]._keydownEvents.observers.length > 0) { - const keydownEvents = overlays[i]._keydownEvents; - if (this._ngZone) { - this._ngZone.run(() => keydownEvents.next(event)); - } else { - keydownEvents.next(event); - } - break; - } - } - }; - } - /** Add a new overlay to the list of attached overlay refs. */ - add(overlayRef) { - super.add(overlayRef); - if (!this._isAttached) { - if (this._ngZone) { - this._ngZone.runOutsideAngular(() => this._document.body.addEventListener("keydown", this._keydownListener)); - } else { - this._document.body.addEventListener("keydown", this._keydownListener); - } - this._isAttached = true; - } - } - /** Detaches the global keyboard event listener. */ - detach() { - if (this._isAttached) { - this._document.body.removeEventListener("keydown", this._keydownListener); - this._isAttached = false; - } - } -}; -_OverlayKeyboardDispatcher.ɵfac = function OverlayKeyboardDispatcher_Factory(t) { - return new (t || _OverlayKeyboardDispatcher)(ɵɵinject(DOCUMENT), ɵɵinject(NgZone, 8)); -}; -_OverlayKeyboardDispatcher.ɵprov = ɵɵdefineInjectable({ - token: _OverlayKeyboardDispatcher, - factory: _OverlayKeyboardDispatcher.ɵfac, - providedIn: "root" -}); -var OverlayKeyboardDispatcher = _OverlayKeyboardDispatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(OverlayKeyboardDispatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: NgZone, - decorators: [{ - type: Optional - }] - }], null); -})(); -var _OverlayOutsideClickDispatcher = class _OverlayOutsideClickDispatcher extends BaseOverlayDispatcher { - constructor(document2, _platform, _ngZone) { - super(document2); - this._platform = _platform; - this._ngZone = _ngZone; - this._cursorStyleIsSet = false; - this._pointerDownListener = (event) => { - this._pointerDownEventTarget = _getEventTarget(event); - }; - this._clickListener = (event) => { - const target = _getEventTarget(event); - const origin = event.type === "click" && this._pointerDownEventTarget ? this._pointerDownEventTarget : target; - this._pointerDownEventTarget = null; - const overlays = this._attachedOverlays.slice(); - for (let i = overlays.length - 1; i > -1; i--) { - const overlayRef = overlays[i]; - if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) { - continue; - } - if (overlayRef.overlayElement.contains(target) || overlayRef.overlayElement.contains(origin)) { - break; - } - const outsidePointerEvents = overlayRef._outsidePointerEvents; - if (this._ngZone) { - this._ngZone.run(() => outsidePointerEvents.next(event)); - } else { - outsidePointerEvents.next(event); - } - } - }; - } - /** Add a new overlay to the list of attached overlay refs. */ - add(overlayRef) { - super.add(overlayRef); - if (!this._isAttached) { - const body = this._document.body; - if (this._ngZone) { - this._ngZone.runOutsideAngular(() => this._addEventListeners(body)); - } else { - this._addEventListeners(body); - } - if (this._platform.IOS && !this._cursorStyleIsSet) { - this._cursorOriginalValue = body.style.cursor; - body.style.cursor = "pointer"; - this._cursorStyleIsSet = true; - } - this._isAttached = true; - } - } - /** Detaches the global keyboard event listener. */ - detach() { - if (this._isAttached) { - const body = this._document.body; - body.removeEventListener("pointerdown", this._pointerDownListener, true); - body.removeEventListener("click", this._clickListener, true); - body.removeEventListener("auxclick", this._clickListener, true); - body.removeEventListener("contextmenu", this._clickListener, true); - if (this._platform.IOS && this._cursorStyleIsSet) { - body.style.cursor = this._cursorOriginalValue; - this._cursorStyleIsSet = false; - } - this._isAttached = false; - } - } - _addEventListeners(body) { - body.addEventListener("pointerdown", this._pointerDownListener, true); - body.addEventListener("click", this._clickListener, true); - body.addEventListener("auxclick", this._clickListener, true); - body.addEventListener("contextmenu", this._clickListener, true); - } -}; -_OverlayOutsideClickDispatcher.ɵfac = function OverlayOutsideClickDispatcher_Factory(t) { - return new (t || _OverlayOutsideClickDispatcher)(ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(NgZone, 8)); -}; -_OverlayOutsideClickDispatcher.ɵprov = ɵɵdefineInjectable({ - token: _OverlayOutsideClickDispatcher, - factory: _OverlayOutsideClickDispatcher.ɵfac, - providedIn: "root" -}); -var OverlayOutsideClickDispatcher = _OverlayOutsideClickDispatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(OverlayOutsideClickDispatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }, { - type: NgZone, - decorators: [{ - type: Optional - }] - }], null); -})(); -var _OverlayContainer = class _OverlayContainer { - constructor(document2, _platform) { - this._platform = _platform; - this._document = document2; - } - ngOnDestroy() { - this._containerElement?.remove(); - } - /** - * This method returns the overlay container element. It will lazily - * create the element the first time it is called to facilitate using - * the container in non-browser environments. - * @returns the container element - */ - getContainerElement() { - if (!this._containerElement) { - this._createContainer(); - } - return this._containerElement; - } - /** - * Create the overlay container element, which is simply a div - * with the 'cdk-overlay-container' class on the document body. - */ - _createContainer() { - const containerClass = "cdk-overlay-container"; - if (this._platform.isBrowser || _isTestEnvironment()) { - const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform="server"], .${containerClass}[platform="test"]`); - for (let i = 0; i < oppositePlatformContainers.length; i++) { - oppositePlatformContainers[i].remove(); - } - } - const container = this._document.createElement("div"); - container.classList.add(containerClass); - if (_isTestEnvironment()) { - container.setAttribute("platform", "test"); - } else if (!this._platform.isBrowser) { - container.setAttribute("platform", "server"); - } - this._document.body.appendChild(container); - this._containerElement = container; - } -}; -_OverlayContainer.ɵfac = function OverlayContainer_Factory(t) { - return new (t || _OverlayContainer)(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); -}; -_OverlayContainer.ɵprov = ɵɵdefineInjectable({ - token: _OverlayContainer, - factory: _OverlayContainer.ɵfac, - providedIn: "root" -}); -var OverlayContainer = _OverlayContainer; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(OverlayContainer, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }], null); -})(); -var OverlayRef = class { - constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false) { - this._portalOutlet = _portalOutlet; - this._host = _host; - this._pane = _pane; - this._config = _config; - this._ngZone = _ngZone; - this._keyboardDispatcher = _keyboardDispatcher; - this._document = _document; - this._location = _location; - this._outsideClickDispatcher = _outsideClickDispatcher; - this._animationsDisabled = _animationsDisabled; - this._backdropElement = null; - this._backdropClick = new Subject(); - this._attachments = new Subject(); - this._detachments = new Subject(); - this._locationChanges = Subscription.EMPTY; - this._backdropClickHandler = (event) => this._backdropClick.next(event); - this._backdropTransitionendHandler = (event) => { - this._disposeBackdrop(event.target); - }; - this._keydownEvents = new Subject(); - this._outsidePointerEvents = new Subject(); - if (_config.scrollStrategy) { - this._scrollStrategy = _config.scrollStrategy; - this._scrollStrategy.attach(this); - } - this._positionStrategy = _config.positionStrategy; - } - /** The overlay's HTML element */ - get overlayElement() { - return this._pane; - } - /** The overlay's backdrop HTML element. */ - get backdropElement() { - return this._backdropElement; - } - /** - * Wrapper around the panel element. Can be used for advanced - * positioning where a wrapper with specific styling is - * required around the overlay pane. - */ - get hostElement() { - return this._host; - } - /** - * Attaches content, given via a Portal, to the overlay. - * If the overlay is configured to have a backdrop, it will be created. - * - * @param portal Portal instance to which to attach the overlay. - * @returns The portal attachment result. - */ - attach(portal) { - if (!this._host.parentElement && this._previousHostParent) { - this._previousHostParent.appendChild(this._host); - } - const attachResult = this._portalOutlet.attach(portal); - if (this._positionStrategy) { - this._positionStrategy.attach(this); - } - this._updateStackingOrder(); - this._updateElementSize(); - this._updateElementDirection(); - if (this._scrollStrategy) { - this._scrollStrategy.enable(); - } - this._ngZone.onStable.pipe(take(1)).subscribe(() => { - if (this.hasAttached()) { - this.updatePosition(); - } - }); - this._togglePointerEvents(true); - if (this._config.hasBackdrop) { - this._attachBackdrop(); - } - if (this._config.panelClass) { - this._toggleClasses(this._pane, this._config.panelClass, true); - } - this._attachments.next(); - this._keyboardDispatcher.add(this); - if (this._config.disposeOnNavigation) { - this._locationChanges = this._location.subscribe(() => this.dispose()); - } - this._outsideClickDispatcher.add(this); - if (typeof attachResult?.onDestroy === "function") { - attachResult.onDestroy(() => { - if (this.hasAttached()) { - this._ngZone.runOutsideAngular(() => Promise.resolve().then(() => this.detach())); - } - }); - } - return attachResult; - } - /** - * Detaches an overlay from a portal. - * @returns The portal detachment result. - */ - detach() { - if (!this.hasAttached()) { - return; - } - this.detachBackdrop(); - this._togglePointerEvents(false); - if (this._positionStrategy && this._positionStrategy.detach) { - this._positionStrategy.detach(); - } - if (this._scrollStrategy) { - this._scrollStrategy.disable(); - } - const detachmentResult = this._portalOutlet.detach(); - this._detachments.next(); - this._keyboardDispatcher.remove(this); - this._detachContentWhenStable(); - this._locationChanges.unsubscribe(); - this._outsideClickDispatcher.remove(this); - return detachmentResult; - } - /** Cleans up the overlay from the DOM. */ - dispose() { - const isAttached = this.hasAttached(); - if (this._positionStrategy) { - this._positionStrategy.dispose(); - } - this._disposeScrollStrategy(); - this._disposeBackdrop(this._backdropElement); - this._locationChanges.unsubscribe(); - this._keyboardDispatcher.remove(this); - this._portalOutlet.dispose(); - this._attachments.complete(); - this._backdropClick.complete(); - this._keydownEvents.complete(); - this._outsidePointerEvents.complete(); - this._outsideClickDispatcher.remove(this); - this._host?.remove(); - this._previousHostParent = this._pane = this._host = null; - if (isAttached) { - this._detachments.next(); - } - this._detachments.complete(); - } - /** Whether the overlay has attached content. */ - hasAttached() { - return this._portalOutlet.hasAttached(); - } - /** Gets an observable that emits when the backdrop has been clicked. */ - backdropClick() { - return this._backdropClick; - } - /** Gets an observable that emits when the overlay has been attached. */ - attachments() { - return this._attachments; - } - /** Gets an observable that emits when the overlay has been detached. */ - detachments() { - return this._detachments; - } - /** Gets an observable of keydown events targeted to this overlay. */ - keydownEvents() { - return this._keydownEvents; - } - /** Gets an observable of pointer events targeted outside this overlay. */ - outsidePointerEvents() { - return this._outsidePointerEvents; - } - /** Gets the current overlay configuration, which is immutable. */ - getConfig() { - return this._config; - } - /** Updates the position of the overlay based on the position strategy. */ - updatePosition() { - if (this._positionStrategy) { - this._positionStrategy.apply(); - } - } - /** Switches to a new position strategy and updates the overlay position. */ - updatePositionStrategy(strategy) { - if (strategy === this._positionStrategy) { - return; - } - if (this._positionStrategy) { - this._positionStrategy.dispose(); - } - this._positionStrategy = strategy; - if (this.hasAttached()) { - strategy.attach(this); - this.updatePosition(); - } - } - /** Update the size properties of the overlay. */ - updateSize(sizeConfig) { - this._config = __spreadValues(__spreadValues({}, this._config), sizeConfig); - this._updateElementSize(); - } - /** Sets the LTR/RTL direction for the overlay. */ - setDirection(dir) { - this._config = __spreadProps(__spreadValues({}, this._config), { - direction: dir - }); - this._updateElementDirection(); - } - /** Add a CSS class or an array of classes to the overlay pane. */ - addPanelClass(classes) { - if (this._pane) { - this._toggleClasses(this._pane, classes, true); - } - } - /** Remove a CSS class or an array of classes from the overlay pane. */ - removePanelClass(classes) { - if (this._pane) { - this._toggleClasses(this._pane, classes, false); - } - } - /** - * Returns the layout direction of the overlay panel. - */ - getDirection() { - const direction = this._config.direction; - if (!direction) { - return "ltr"; - } - return typeof direction === "string" ? direction : direction.value; - } - /** Switches to a new scroll strategy. */ - updateScrollStrategy(strategy) { - if (strategy === this._scrollStrategy) { - return; - } - this._disposeScrollStrategy(); - this._scrollStrategy = strategy; - if (this.hasAttached()) { - strategy.attach(this); - strategy.enable(); - } - } - /** Updates the text direction of the overlay panel. */ - _updateElementDirection() { - this._host.setAttribute("dir", this.getDirection()); - } - /** Updates the size of the overlay element based on the overlay config. */ - _updateElementSize() { - if (!this._pane) { - return; - } - const style = this._pane.style; - style.width = coerceCssPixelValue(this._config.width); - style.height = coerceCssPixelValue(this._config.height); - style.minWidth = coerceCssPixelValue(this._config.minWidth); - style.minHeight = coerceCssPixelValue(this._config.minHeight); - style.maxWidth = coerceCssPixelValue(this._config.maxWidth); - style.maxHeight = coerceCssPixelValue(this._config.maxHeight); - } - /** Toggles the pointer events for the overlay pane element. */ - _togglePointerEvents(enablePointer) { - this._pane.style.pointerEvents = enablePointer ? "" : "none"; - } - /** Attaches a backdrop for this overlay. */ - _attachBackdrop() { - const showingClass = "cdk-overlay-backdrop-showing"; - this._backdropElement = this._document.createElement("div"); - this._backdropElement.classList.add("cdk-overlay-backdrop"); - if (this._animationsDisabled) { - this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"); - } - if (this._config.backdropClass) { - this._toggleClasses(this._backdropElement, this._config.backdropClass, true); - } - this._host.parentElement.insertBefore(this._backdropElement, this._host); - this._backdropElement.addEventListener("click", this._backdropClickHandler); - if (!this._animationsDisabled && typeof requestAnimationFrame !== "undefined") { - this._ngZone.runOutsideAngular(() => { - requestAnimationFrame(() => { - if (this._backdropElement) { - this._backdropElement.classList.add(showingClass); - } - }); - }); - } else { - this._backdropElement.classList.add(showingClass); - } - } - /** - * Updates the stacking order of the element, moving it to the top if necessary. - * This is required in cases where one overlay was detached, while another one, - * that should be behind it, was destroyed. The next time both of them are opened, - * the stacking will be wrong, because the detached element's pane will still be - * in its original DOM position. - */ - _updateStackingOrder() { - if (this._host.nextSibling) { - this._host.parentNode.appendChild(this._host); - } - } - /** Detaches the backdrop (if any) associated with the overlay. */ - detachBackdrop() { - const backdropToDetach = this._backdropElement; - if (!backdropToDetach) { - return; - } - if (this._animationsDisabled) { - this._disposeBackdrop(backdropToDetach); - return; - } - backdropToDetach.classList.remove("cdk-overlay-backdrop-showing"); - this._ngZone.runOutsideAngular(() => { - backdropToDetach.addEventListener("transitionend", this._backdropTransitionendHandler); - }); - backdropToDetach.style.pointerEvents = "none"; - this._backdropTimeout = this._ngZone.runOutsideAngular(() => setTimeout(() => { - this._disposeBackdrop(backdropToDetach); - }, 500)); - } - /** Toggles a single CSS class or an array of classes on an element. */ - _toggleClasses(element, cssClasses, isAdd) { - const classes = coerceArray(cssClasses || []).filter((c) => !!c); - if (classes.length) { - isAdd ? element.classList.add(...classes) : element.classList.remove(...classes); - } - } - /** Detaches the overlay content next time the zone stabilizes. */ - _detachContentWhenStable() { - this._ngZone.runOutsideAngular(() => { - const subscription = this._ngZone.onStable.pipe(takeUntil(merge(this._attachments, this._detachments))).subscribe(() => { - if (!this._pane || !this._host || this._pane.children.length === 0) { - if (this._pane && this._config.panelClass) { - this._toggleClasses(this._pane, this._config.panelClass, false); - } - if (this._host && this._host.parentElement) { - this._previousHostParent = this._host.parentElement; - this._host.remove(); - } - subscription.unsubscribe(); - } - }); - }); - } - /** Disposes of a scroll strategy. */ - _disposeScrollStrategy() { - const scrollStrategy = this._scrollStrategy; - if (scrollStrategy) { - scrollStrategy.disable(); - if (scrollStrategy.detach) { - scrollStrategy.detach(); - } - } - } - /** Removes a backdrop element from the DOM. */ - _disposeBackdrop(backdrop) { - if (backdrop) { - backdrop.removeEventListener("click", this._backdropClickHandler); - backdrop.removeEventListener("transitionend", this._backdropTransitionendHandler); - backdrop.remove(); - if (this._backdropElement === backdrop) { - this._backdropElement = null; - } - } - if (this._backdropTimeout) { - clearTimeout(this._backdropTimeout); - this._backdropTimeout = void 0; - } - } -}; -var boundingBoxClass = "cdk-overlay-connected-position-bounding-box"; -var cssUnitPattern = /([A-Za-z%]+)$/; -var FlexibleConnectedPositionStrategy = class { - /** Ordered list of preferred positions, from most to least desirable. */ - get positions() { - return this._preferredPositions; - } - constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) { - this._viewportRuler = _viewportRuler; - this._document = _document; - this._platform = _platform; - this._overlayContainer = _overlayContainer; - this._lastBoundingBoxSize = { - width: 0, - height: 0 - }; - this._isPushed = false; - this._canPush = true; - this._growAfterOpen = false; - this._hasFlexibleDimensions = true; - this._positionLocked = false; - this._viewportMargin = 0; - this._scrollables = []; - this._preferredPositions = []; - this._positionChanges = new Subject(); - this._resizeSubscription = Subscription.EMPTY; - this._offsetX = 0; - this._offsetY = 0; - this._appliedPanelClasses = []; - this.positionChanges = this._positionChanges; - this.setOrigin(connectedTo); - } - /** Attaches this position strategy to an overlay. */ - attach(overlayRef) { - if (this._overlayRef && overlayRef !== this._overlayRef && (typeof ngDevMode === "undefined" || ngDevMode)) { - throw Error("This position strategy is already attached to an overlay"); - } - this._validatePositions(); - overlayRef.hostElement.classList.add(boundingBoxClass); - this._overlayRef = overlayRef; - this._boundingBox = overlayRef.hostElement; - this._pane = overlayRef.overlayElement; - this._isDisposed = false; - this._isInitialRender = true; - this._lastPosition = null; - this._resizeSubscription.unsubscribe(); - this._resizeSubscription = this._viewportRuler.change().subscribe(() => { - this._isInitialRender = true; - this.apply(); - }); - } - /** - * Updates the position of the overlay element, using whichever preferred position relative - * to the origin best fits on-screen. - * - * The selection of a position goes as follows: - * - If any positions fit completely within the viewport as-is, - * choose the first position that does so. - * - If flexible dimensions are enabled and at least one satisfies the given minimum width/height, - * choose the position with the greatest available size modified by the positions' weight. - * - If pushing is enabled, take the position that went off-screen the least and push it - * on-screen. - * - If none of the previous criteria were met, use the position that goes off-screen the least. - * @docs-private - */ - apply() { - if (this._isDisposed || !this._platform.isBrowser) { - return; - } - if (!this._isInitialRender && this._positionLocked && this._lastPosition) { - this.reapplyLastPosition(); - return; - } - this._clearPanelClasses(); - this._resetOverlayElementStyles(); - this._resetBoundingBoxStyles(); - this._viewportRect = this._getNarrowedViewportRect(); - this._originRect = this._getOriginRect(); - this._overlayRect = this._pane.getBoundingClientRect(); - this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect(); - const originRect = this._originRect; - const overlayRect = this._overlayRect; - const viewportRect = this._viewportRect; - const containerRect = this._containerRect; - const flexibleFits = []; - let fallback; - for (let pos of this._preferredPositions) { - let originPoint = this._getOriginPoint(originRect, containerRect, pos); - let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos); - let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos); - if (overlayFit.isCompletelyWithinViewport) { - this._isPushed = false; - this._applyPosition(pos, originPoint); - return; - } - if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) { - flexibleFits.push({ - position: pos, - origin: originPoint, - overlayRect, - boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos) - }); - continue; - } - if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) { - fallback = { - overlayFit, - overlayPoint, - originPoint, - position: pos, - overlayRect - }; - } - } - if (flexibleFits.length) { - let bestFit = null; - let bestScore = -1; - for (const fit of flexibleFits) { - const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1); - if (score > bestScore) { - bestScore = score; - bestFit = fit; - } - } - this._isPushed = false; - this._applyPosition(bestFit.position, bestFit.origin); - return; - } - if (this._canPush) { - this._isPushed = true; - this._applyPosition(fallback.position, fallback.originPoint); - return; - } - this._applyPosition(fallback.position, fallback.originPoint); - } - detach() { - this._clearPanelClasses(); - this._lastPosition = null; - this._previousPushAmount = null; - this._resizeSubscription.unsubscribe(); - } - /** Cleanup after the element gets destroyed. */ - dispose() { - if (this._isDisposed) { - return; - } - if (this._boundingBox) { - extendStyles(this._boundingBox.style, { - top: "", - left: "", - right: "", - bottom: "", - height: "", - width: "", - alignItems: "", - justifyContent: "" - }); - } - if (this._pane) { - this._resetOverlayElementStyles(); - } - if (this._overlayRef) { - this._overlayRef.hostElement.classList.remove(boundingBoxClass); - } - this.detach(); - this._positionChanges.complete(); - this._overlayRef = this._boundingBox = null; - this._isDisposed = true; - } - /** - * This re-aligns the overlay element with the trigger in its last calculated position, - * even if a position higher in the "preferred positions" list would now fit. This - * allows one to re-align the panel without changing the orientation of the panel. - */ - reapplyLastPosition() { - if (this._isDisposed || !this._platform.isBrowser) { - return; - } - const lastPosition = this._lastPosition; - if (lastPosition) { - this._originRect = this._getOriginRect(); - this._overlayRect = this._pane.getBoundingClientRect(); - this._viewportRect = this._getNarrowedViewportRect(); - this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect(); - const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition); - this._applyPosition(lastPosition, originPoint); - } else { - this.apply(); - } - } - /** - * Sets the list of Scrollable containers that host the origin element so that - * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every - * Scrollable must be an ancestor element of the strategy's origin element. - */ - withScrollableContainers(scrollables) { - this._scrollables = scrollables; - return this; - } - /** - * Adds new preferred positions. - * @param positions List of positions options for this overlay. - */ - withPositions(positions) { - this._preferredPositions = positions; - if (positions.indexOf(this._lastPosition) === -1) { - this._lastPosition = null; - } - this._validatePositions(); - return this; - } - /** - * Sets a minimum distance the overlay may be positioned to the edge of the viewport. - * @param margin Required margin between the overlay and the viewport edge in pixels. - */ - withViewportMargin(margin) { - this._viewportMargin = margin; - return this; - } - /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */ - withFlexibleDimensions(flexibleDimensions = true) { - this._hasFlexibleDimensions = flexibleDimensions; - return this; - } - /** Sets whether the overlay can grow after the initial open via flexible width/height. */ - withGrowAfterOpen(growAfterOpen = true) { - this._growAfterOpen = growAfterOpen; - return this; - } - /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */ - withPush(canPush = true) { - this._canPush = canPush; - return this; - } - /** - * Sets whether the overlay's position should be locked in after it is positioned - * initially. When an overlay is locked in, it won't attempt to reposition itself - * when the position is re-applied (e.g. when the user scrolls away). - * @param isLocked Whether the overlay should locked in. - */ - withLockedPosition(isLocked = true) { - this._positionLocked = isLocked; - return this; - } - /** - * Sets the origin, relative to which to position the overlay. - * Using an element origin is useful for building components that need to be positioned - * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be - * used for cases like contextual menus which open relative to the user's pointer. - * @param origin Reference to the new origin. - */ - setOrigin(origin) { - this._origin = origin; - return this; - } - /** - * Sets the default offset for the overlay's connection point on the x-axis. - * @param offset New offset in the X axis. - */ - withDefaultOffsetX(offset) { - this._offsetX = offset; - return this; - } - /** - * Sets the default offset for the overlay's connection point on the y-axis. - * @param offset New offset in the Y axis. - */ - withDefaultOffsetY(offset) { - this._offsetY = offset; - return this; - } - /** - * Configures that the position strategy should set a `transform-origin` on some elements - * inside the overlay, depending on the current position that is being applied. This is - * useful for the cases where the origin of an animation can change depending on the - * alignment of the overlay. - * @param selector CSS selector that will be used to find the target - * elements onto which to set the transform origin. - */ - withTransformOriginOn(selector) { - this._transformOriginSelector = selector; - return this; - } - /** - * Gets the (x, y) coordinate of a connection point on the origin based on a relative position. - */ - _getOriginPoint(originRect, containerRect, pos) { - let x; - if (pos.originX == "center") { - x = originRect.left + originRect.width / 2; - } else { - const startX = this._isRtl() ? originRect.right : originRect.left; - const endX = this._isRtl() ? originRect.left : originRect.right; - x = pos.originX == "start" ? startX : endX; - } - if (containerRect.left < 0) { - x -= containerRect.left; - } - let y; - if (pos.originY == "center") { - y = originRect.top + originRect.height / 2; - } else { - y = pos.originY == "top" ? originRect.top : originRect.bottom; - } - if (containerRect.top < 0) { - y -= containerRect.top; - } - return { - x, - y - }; - } - /** - * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and - * origin point to which the overlay should be connected. - */ - _getOverlayPoint(originPoint, overlayRect, pos) { - let overlayStartX; - if (pos.overlayX == "center") { - overlayStartX = -overlayRect.width / 2; - } else if (pos.overlayX === "start") { - overlayStartX = this._isRtl() ? -overlayRect.width : 0; - } else { - overlayStartX = this._isRtl() ? 0 : -overlayRect.width; - } - let overlayStartY; - if (pos.overlayY == "center") { - overlayStartY = -overlayRect.height / 2; - } else { - overlayStartY = pos.overlayY == "top" ? 0 : -overlayRect.height; - } - return { - x: originPoint.x + overlayStartX, - y: originPoint.y + overlayStartY - }; - } - /** Gets how well an overlay at the given point will fit within the viewport. */ - _getOverlayFit(point, rawOverlayRect, viewport, position) { - const overlay = getRoundedBoundingClientRect(rawOverlayRect); - let { - x, - y - } = point; - let offsetX = this._getOffset(position, "x"); - let offsetY = this._getOffset(position, "y"); - if (offsetX) { - x += offsetX; - } - if (offsetY) { - y += offsetY; - } - let leftOverflow = 0 - x; - let rightOverflow = x + overlay.width - viewport.width; - let topOverflow = 0 - y; - let bottomOverflow = y + overlay.height - viewport.height; - let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow); - let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow); - let visibleArea = visibleWidth * visibleHeight; - return { - visibleArea, - isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea, - fitsInViewportVertically: visibleHeight === overlay.height, - fitsInViewportHorizontally: visibleWidth == overlay.width - }; - } - /** - * Whether the overlay can fit within the viewport when it may resize either its width or height. - * @param fit How well the overlay fits in the viewport at some position. - * @param point The (x, y) coordinates of the overlay at some position. - * @param viewport The geometry of the viewport. - */ - _canFitWithFlexibleDimensions(fit, point, viewport) { - if (this._hasFlexibleDimensions) { - const availableHeight = viewport.bottom - point.y; - const availableWidth = viewport.right - point.x; - const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight); - const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth); - const verticalFit = fit.fitsInViewportVertically || minHeight != null && minHeight <= availableHeight; - const horizontalFit = fit.fitsInViewportHorizontally || minWidth != null && minWidth <= availableWidth; - return verticalFit && horizontalFit; - } - return false; - } - /** - * Gets the point at which the overlay can be "pushed" on-screen. If the overlay is larger than - * the viewport, the top-left corner will be pushed on-screen (with overflow occurring on the - * right and bottom). - * - * @param start Starting point from which the overlay is pushed. - * @param rawOverlayRect Dimensions of the overlay. - * @param scrollPosition Current viewport scroll position. - * @returns The point at which to position the overlay after pushing. This is effectively a new - * originPoint. - */ - _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) { - if (this._previousPushAmount && this._positionLocked) { - return { - x: start.x + this._previousPushAmount.x, - y: start.y + this._previousPushAmount.y - }; - } - const overlay = getRoundedBoundingClientRect(rawOverlayRect); - const viewport = this._viewportRect; - const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0); - const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0); - const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0); - const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0); - let pushX = 0; - let pushY = 0; - if (overlay.width <= viewport.width) { - pushX = overflowLeft || -overflowRight; - } else { - pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0; - } - if (overlay.height <= viewport.height) { - pushY = overflowTop || -overflowBottom; - } else { - pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0; - } - this._previousPushAmount = { - x: pushX, - y: pushY - }; - return { - x: start.x + pushX, - y: start.y + pushY - }; - } - /** - * Applies a computed position to the overlay and emits a position change. - * @param position The position preference - * @param originPoint The point on the origin element where the overlay is connected. - */ - _applyPosition(position, originPoint) { - this._setTransformOrigin(position); - this._setOverlayElementStyles(originPoint, position); - this._setBoundingBoxStyles(originPoint, position); - if (position.panelClass) { - this._addPanelClasses(position.panelClass); - } - this._lastPosition = position; - if (this._positionChanges.observers.length) { - const scrollableViewProperties = this._getScrollVisibility(); - const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties); - this._positionChanges.next(changeEvent); - } - this._isInitialRender = false; - } - /** Sets the transform origin based on the configured selector and the passed-in position. */ - _setTransformOrigin(position) { - if (!this._transformOriginSelector) { - return; - } - const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector); - let xOrigin; - let yOrigin = position.overlayY; - if (position.overlayX === "center") { - xOrigin = "center"; - } else if (this._isRtl()) { - xOrigin = position.overlayX === "start" ? "right" : "left"; - } else { - xOrigin = position.overlayX === "start" ? "left" : "right"; - } - for (let i = 0; i < elements.length; i++) { - elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`; - } - } - /** - * Gets the position and size of the overlay's sizing container. - * - * This method does no measuring and applies no styles so that we can cheaply compute the - * bounds for all positions and choose the best fit based on these results. - */ - _calculateBoundingBoxRect(origin, position) { - const viewport = this._viewportRect; - const isRtl = this._isRtl(); - let height, top, bottom; - if (position.overlayY === "top") { - top = origin.y; - height = viewport.height - top + this._viewportMargin; - } else if (position.overlayY === "bottom") { - bottom = viewport.height - origin.y + this._viewportMargin * 2; - height = viewport.height - bottom + this._viewportMargin; - } else { - const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y); - const previousHeight = this._lastBoundingBoxSize.height; - height = smallestDistanceToViewportEdge * 2; - top = origin.y - smallestDistanceToViewportEdge; - if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) { - top = origin.y - previousHeight / 2; - } - } - const isBoundedByRightViewportEdge = position.overlayX === "start" && !isRtl || position.overlayX === "end" && isRtl; - const isBoundedByLeftViewportEdge = position.overlayX === "end" && !isRtl || position.overlayX === "start" && isRtl; - let width, left, right; - if (isBoundedByLeftViewportEdge) { - right = viewport.width - origin.x + this._viewportMargin; - width = origin.x - this._viewportMargin; - } else if (isBoundedByRightViewportEdge) { - left = origin.x; - width = viewport.right - origin.x; - } else { - const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x); - const previousWidth = this._lastBoundingBoxSize.width; - width = smallestDistanceToViewportEdge * 2; - left = origin.x - smallestDistanceToViewportEdge; - if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) { - left = origin.x - previousWidth / 2; - } - } - return { - top, - left, - bottom, - right, - width, - height - }; - } - /** - * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the - * origin's connection point and stretches to the bounds of the viewport. - * - * @param origin The point on the origin element where the overlay is connected. - * @param position The position preference - */ - _setBoundingBoxStyles(origin, position) { - const boundingBoxRect = this._calculateBoundingBoxRect(origin, position); - if (!this._isInitialRender && !this._growAfterOpen) { - boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height); - boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width); - } - const styles = {}; - if (this._hasExactPosition()) { - styles.top = styles.left = "0"; - styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = ""; - styles.width = styles.height = "100%"; - } else { - const maxHeight = this._overlayRef.getConfig().maxHeight; - const maxWidth = this._overlayRef.getConfig().maxWidth; - styles.height = coerceCssPixelValue(boundingBoxRect.height); - styles.top = coerceCssPixelValue(boundingBoxRect.top); - styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom); - styles.width = coerceCssPixelValue(boundingBoxRect.width); - styles.left = coerceCssPixelValue(boundingBoxRect.left); - styles.right = coerceCssPixelValue(boundingBoxRect.right); - if (position.overlayX === "center") { - styles.alignItems = "center"; - } else { - styles.alignItems = position.overlayX === "end" ? "flex-end" : "flex-start"; - } - if (position.overlayY === "center") { - styles.justifyContent = "center"; - } else { - styles.justifyContent = position.overlayY === "bottom" ? "flex-end" : "flex-start"; - } - if (maxHeight) { - styles.maxHeight = coerceCssPixelValue(maxHeight); - } - if (maxWidth) { - styles.maxWidth = coerceCssPixelValue(maxWidth); - } - } - this._lastBoundingBoxSize = boundingBoxRect; - extendStyles(this._boundingBox.style, styles); - } - /** Resets the styles for the bounding box so that a new positioning can be computed. */ - _resetBoundingBoxStyles() { - extendStyles(this._boundingBox.style, { - top: "0", - left: "0", - right: "0", - bottom: "0", - height: "", - width: "", - alignItems: "", - justifyContent: "" - }); - } - /** Resets the styles for the overlay pane so that a new positioning can be computed. */ - _resetOverlayElementStyles() { - extendStyles(this._pane.style, { - top: "", - left: "", - bottom: "", - right: "", - position: "", - transform: "" - }); - } - /** Sets positioning styles to the overlay element. */ - _setOverlayElementStyles(originPoint, position) { - const styles = {}; - const hasExactPosition = this._hasExactPosition(); - const hasFlexibleDimensions = this._hasFlexibleDimensions; - const config = this._overlayRef.getConfig(); - if (hasExactPosition) { - const scrollPosition = this._viewportRuler.getViewportScrollPosition(); - extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition)); - extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition)); - } else { - styles.position = "static"; - } - let transformString = ""; - let offsetX = this._getOffset(position, "x"); - let offsetY = this._getOffset(position, "y"); - if (offsetX) { - transformString += `translateX(${offsetX}px) `; - } - if (offsetY) { - transformString += `translateY(${offsetY}px)`; - } - styles.transform = transformString.trim(); - if (config.maxHeight) { - if (hasExactPosition) { - styles.maxHeight = coerceCssPixelValue(config.maxHeight); - } else if (hasFlexibleDimensions) { - styles.maxHeight = ""; - } - } - if (config.maxWidth) { - if (hasExactPosition) { - styles.maxWidth = coerceCssPixelValue(config.maxWidth); - } else if (hasFlexibleDimensions) { - styles.maxWidth = ""; - } - } - extendStyles(this._pane.style, styles); - } - /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */ - _getExactOverlayY(position, originPoint, scrollPosition) { - let styles = { - top: "", - bottom: "" - }; - let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position); - if (this._isPushed) { - overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition); - } - if (position.overlayY === "bottom") { - const documentHeight = this._document.documentElement.clientHeight; - styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`; - } else { - styles.top = coerceCssPixelValue(overlayPoint.y); - } - return styles; - } - /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */ - _getExactOverlayX(position, originPoint, scrollPosition) { - let styles = { - left: "", - right: "" - }; - let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position); - if (this._isPushed) { - overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition); - } - let horizontalStyleProperty; - if (this._isRtl()) { - horizontalStyleProperty = position.overlayX === "end" ? "left" : "right"; - } else { - horizontalStyleProperty = position.overlayX === "end" ? "right" : "left"; - } - if (horizontalStyleProperty === "right") { - const documentWidth = this._document.documentElement.clientWidth; - styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`; - } else { - styles.left = coerceCssPixelValue(overlayPoint.x); - } - return styles; - } - /** - * Gets the view properties of the trigger and overlay, including whether they are clipped - * or completely outside the view of any of the strategy's scrollables. - */ - _getScrollVisibility() { - const originBounds = this._getOriginRect(); - const overlayBounds = this._pane.getBoundingClientRect(); - const scrollContainerBounds = this._scrollables.map((scrollable) => { - return scrollable.getElementRef().nativeElement.getBoundingClientRect(); - }); - return { - isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds), - isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds), - isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds), - isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds) - }; - } - /** Subtracts the amount that an element is overflowing on an axis from its length. */ - _subtractOverflows(length, ...overflows) { - return overflows.reduce((currentValue, currentOverflow) => { - return currentValue - Math.max(currentOverflow, 0); - }, length); - } - /** Narrows the given viewport rect by the current _viewportMargin. */ - _getNarrowedViewportRect() { - const width = this._document.documentElement.clientWidth; - const height = this._document.documentElement.clientHeight; - const scrollPosition = this._viewportRuler.getViewportScrollPosition(); - return { - top: scrollPosition.top + this._viewportMargin, - left: scrollPosition.left + this._viewportMargin, - right: scrollPosition.left + width - this._viewportMargin, - bottom: scrollPosition.top + height - this._viewportMargin, - width: width - 2 * this._viewportMargin, - height: height - 2 * this._viewportMargin - }; - } - /** Whether the we're dealing with an RTL context */ - _isRtl() { - return this._overlayRef.getDirection() === "rtl"; - } - /** Determines whether the overlay uses exact or flexible positioning. */ - _hasExactPosition() { - return !this._hasFlexibleDimensions || this._isPushed; - } - /** Retrieves the offset of a position along the x or y axis. */ - _getOffset(position, axis) { - if (axis === "x") { - return position.offsetX == null ? this._offsetX : position.offsetX; - } - return position.offsetY == null ? this._offsetY : position.offsetY; - } - /** Validates that the current position match the expected values. */ - _validatePositions() { - if (typeof ngDevMode === "undefined" || ngDevMode) { - if (!this._preferredPositions.length) { - throw Error("FlexibleConnectedPositionStrategy: At least one position is required."); - } - this._preferredPositions.forEach((pair) => { - validateHorizontalPosition("originX", pair.originX); - validateVerticalPosition("originY", pair.originY); - validateHorizontalPosition("overlayX", pair.overlayX); - validateVerticalPosition("overlayY", pair.overlayY); - }); - } - } - /** Adds a single CSS class or an array of classes on the overlay panel. */ - _addPanelClasses(cssClasses) { - if (this._pane) { - coerceArray(cssClasses).forEach((cssClass) => { - if (cssClass !== "" && this._appliedPanelClasses.indexOf(cssClass) === -1) { - this._appliedPanelClasses.push(cssClass); - this._pane.classList.add(cssClass); - } - }); - } - } - /** Clears the classes that the position strategy has applied from the overlay panel. */ - _clearPanelClasses() { - if (this._pane) { - this._appliedPanelClasses.forEach((cssClass) => { - this._pane.classList.remove(cssClass); - }); - this._appliedPanelClasses = []; - } - } - /** Returns the ClientRect of the current origin. */ - _getOriginRect() { - const origin = this._origin; - if (origin instanceof ElementRef) { - return origin.nativeElement.getBoundingClientRect(); - } - if (origin instanceof Element) { - return origin.getBoundingClientRect(); - } - const width = origin.width || 0; - const height = origin.height || 0; - return { - top: origin.y, - bottom: origin.y + height, - left: origin.x, - right: origin.x + width, - height, - width - }; - } -}; -function extendStyles(destination, source) { - for (let key in source) { - if (source.hasOwnProperty(key)) { - destination[key] = source[key]; - } - } - return destination; -} -function getPixelValue(input) { - if (typeof input !== "number" && input != null) { - const [value, units] = input.split(cssUnitPattern); - return !units || units === "px" ? parseFloat(value) : null; - } - return input || null; -} -function getRoundedBoundingClientRect(clientRect) { - return { - top: Math.floor(clientRect.top), - right: Math.floor(clientRect.right), - bottom: Math.floor(clientRect.bottom), - left: Math.floor(clientRect.left), - width: Math.floor(clientRect.width), - height: Math.floor(clientRect.height) - }; -} -var wrapperClass = "cdk-global-overlay-wrapper"; -var GlobalPositionStrategy = class { - constructor() { - this._cssPosition = "static"; - this._topOffset = ""; - this._bottomOffset = ""; - this._alignItems = ""; - this._xPosition = ""; - this._xOffset = ""; - this._width = ""; - this._height = ""; - this._isDisposed = false; - } - attach(overlayRef) { - const config = overlayRef.getConfig(); - this._overlayRef = overlayRef; - if (this._width && !config.width) { - overlayRef.updateSize({ - width: this._width - }); - } - if (this._height && !config.height) { - overlayRef.updateSize({ - height: this._height - }); - } - overlayRef.hostElement.classList.add(wrapperClass); - this._isDisposed = false; - } - /** - * Sets the top position of the overlay. Clears any previously set vertical position. - * @param value New top offset. - */ - top(value = "") { - this._bottomOffset = ""; - this._topOffset = value; - this._alignItems = "flex-start"; - return this; - } - /** - * Sets the left position of the overlay. Clears any previously set horizontal position. - * @param value New left offset. - */ - left(value = "") { - this._xOffset = value; - this._xPosition = "left"; - return this; - } - /** - * Sets the bottom position of the overlay. Clears any previously set vertical position. - * @param value New bottom offset. - */ - bottom(value = "") { - this._topOffset = ""; - this._bottomOffset = value; - this._alignItems = "flex-end"; - return this; - } - /** - * Sets the right position of the overlay. Clears any previously set horizontal position. - * @param value New right offset. - */ - right(value = "") { - this._xOffset = value; - this._xPosition = "right"; - return this; - } - /** - * Sets the overlay to the start of the viewport, depending on the overlay direction. - * This will be to the left in LTR layouts and to the right in RTL. - * @param offset Offset from the edge of the screen. - */ - start(value = "") { - this._xOffset = value; - this._xPosition = "start"; - return this; - } - /** - * Sets the overlay to the end of the viewport, depending on the overlay direction. - * This will be to the right in LTR layouts and to the left in RTL. - * @param offset Offset from the edge of the screen. - */ - end(value = "") { - this._xOffset = value; - this._xPosition = "end"; - return this; - } - /** - * Sets the overlay width and clears any previously set width. - * @param value New width for the overlay - * @deprecated Pass the `width` through the `OverlayConfig`. - * @breaking-change 8.0.0 - */ - width(value = "") { - if (this._overlayRef) { - this._overlayRef.updateSize({ - width: value - }); - } else { - this._width = value; - } - return this; - } - /** - * Sets the overlay height and clears any previously set height. - * @param value New height for the overlay - * @deprecated Pass the `height` through the `OverlayConfig`. - * @breaking-change 8.0.0 - */ - height(value = "") { - if (this._overlayRef) { - this._overlayRef.updateSize({ - height: value - }); - } else { - this._height = value; - } - return this; - } - /** - * Centers the overlay horizontally with an optional offset. - * Clears any previously set horizontal position. - * - * @param offset Overlay offset from the horizontal center. - */ - centerHorizontally(offset = "") { - this.left(offset); - this._xPosition = "center"; - return this; - } - /** - * Centers the overlay vertically with an optional offset. - * Clears any previously set vertical position. - * - * @param offset Overlay offset from the vertical center. - */ - centerVertically(offset = "") { - this.top(offset); - this._alignItems = "center"; - return this; - } - /** - * Apply the position to the element. - * @docs-private - */ - apply() { - if (!this._overlayRef || !this._overlayRef.hasAttached()) { - return; - } - const styles = this._overlayRef.overlayElement.style; - const parentStyles = this._overlayRef.hostElement.style; - const config = this._overlayRef.getConfig(); - const { - width, - height, - maxWidth, - maxHeight - } = config; - const shouldBeFlushHorizontally = (width === "100%" || width === "100vw") && (!maxWidth || maxWidth === "100%" || maxWidth === "100vw"); - const shouldBeFlushVertically = (height === "100%" || height === "100vh") && (!maxHeight || maxHeight === "100%" || maxHeight === "100vh"); - const xPosition = this._xPosition; - const xOffset = this._xOffset; - const isRtl = this._overlayRef.getConfig().direction === "rtl"; - let marginLeft = ""; - let marginRight = ""; - let justifyContent = ""; - if (shouldBeFlushHorizontally) { - justifyContent = "flex-start"; - } else if (xPosition === "center") { - justifyContent = "center"; - if (isRtl) { - marginRight = xOffset; - } else { - marginLeft = xOffset; - } - } else if (isRtl) { - if (xPosition === "left" || xPosition === "end") { - justifyContent = "flex-end"; - marginLeft = xOffset; - } else if (xPosition === "right" || xPosition === "start") { - justifyContent = "flex-start"; - marginRight = xOffset; - } - } else if (xPosition === "left" || xPosition === "start") { - justifyContent = "flex-start"; - marginLeft = xOffset; - } else if (xPosition === "right" || xPosition === "end") { - justifyContent = "flex-end"; - marginRight = xOffset; - } - styles.position = this._cssPosition; - styles.marginLeft = shouldBeFlushHorizontally ? "0" : marginLeft; - styles.marginTop = shouldBeFlushVertically ? "0" : this._topOffset; - styles.marginBottom = this._bottomOffset; - styles.marginRight = shouldBeFlushHorizontally ? "0" : marginRight; - parentStyles.justifyContent = justifyContent; - parentStyles.alignItems = shouldBeFlushVertically ? "flex-start" : this._alignItems; - } - /** - * Cleans up the DOM changes from the position strategy. - * @docs-private - */ - dispose() { - if (this._isDisposed || !this._overlayRef) { - return; - } - const styles = this._overlayRef.overlayElement.style; - const parent = this._overlayRef.hostElement; - const parentStyles = parent.style; - parent.classList.remove(wrapperClass); - parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop = styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = ""; - this._overlayRef = null; - this._isDisposed = true; - } -}; -var _OverlayPositionBuilder = class _OverlayPositionBuilder { - constructor(_viewportRuler, _document, _platform, _overlayContainer) { - this._viewportRuler = _viewportRuler; - this._document = _document; - this._platform = _platform; - this._overlayContainer = _overlayContainer; - } - /** - * Creates a global position strategy. - */ - global() { - return new GlobalPositionStrategy(); - } - /** - * Creates a flexible position strategy. - * @param origin Origin relative to which to position the overlay. - */ - flexibleConnectedTo(origin) { - return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer); - } -}; -_OverlayPositionBuilder.ɵfac = function OverlayPositionBuilder_Factory(t) { - return new (t || _OverlayPositionBuilder)(ɵɵinject(ViewportRuler), ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(OverlayContainer)); -}; -_OverlayPositionBuilder.ɵprov = ɵɵdefineInjectable({ - token: _OverlayPositionBuilder, - factory: _OverlayPositionBuilder.ɵfac, - providedIn: "root" -}); -var OverlayPositionBuilder = _OverlayPositionBuilder; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(OverlayPositionBuilder, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: ViewportRuler - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }, { - type: OverlayContainer - }], null); -})(); -var nextUniqueId = 0; -var _Overlay = class _Overlay { - constructor(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher, _animationsModuleType) { - this.scrollStrategies = scrollStrategies; - this._overlayContainer = _overlayContainer; - this._componentFactoryResolver = _componentFactoryResolver; - this._positionBuilder = _positionBuilder; - this._keyboardDispatcher = _keyboardDispatcher; - this._injector = _injector; - this._ngZone = _ngZone; - this._document = _document; - this._directionality = _directionality; - this._location = _location; - this._outsideClickDispatcher = _outsideClickDispatcher; - this._animationsModuleType = _animationsModuleType; - } - /** - * Creates an overlay. - * @param config Configuration applied to the overlay. - * @returns Reference to the created overlay. - */ - create(config) { - const host = this._createHostElement(); - const pane = this._createPaneElement(host); - const portalOutlet = this._createPortalOutlet(pane); - const overlayConfig = new OverlayConfig(config); - overlayConfig.direction = overlayConfig.direction || this._directionality.value; - return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher, this._animationsModuleType === "NoopAnimations"); - } - /** - * Gets a position builder that can be used, via fluent API, - * to construct and configure a position strategy. - * @returns An overlay position builder. - */ - position() { - return this._positionBuilder; - } - /** - * Creates the DOM element for an overlay and appends it to the overlay container. - * @returns Newly-created pane element - */ - _createPaneElement(host) { - const pane = this._document.createElement("div"); - pane.id = `cdk-overlay-${nextUniqueId++}`; - pane.classList.add("cdk-overlay-pane"); - host.appendChild(pane); - return pane; - } - /** - * Creates the host element that wraps around an overlay - * and can be used for advanced positioning. - * @returns Newly-create host element. - */ - _createHostElement() { - const host = this._document.createElement("div"); - this._overlayContainer.getContainerElement().appendChild(host); - return host; - } - /** - * Create a DomPortalOutlet into which the overlay content can be loaded. - * @param pane The DOM element to turn into a portal outlet. - * @returns A portal outlet for the given DOM element. - */ - _createPortalOutlet(pane) { - if (!this._appRef) { - this._appRef = this._injector.get(ApplicationRef); - } - return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document); - } -}; -_Overlay.ɵfac = function Overlay_Factory(t) { - return new (t || _Overlay)(ɵɵinject(ScrollStrategyOptions), ɵɵinject(OverlayContainer), ɵɵinject(ComponentFactoryResolver$1), ɵɵinject(OverlayPositionBuilder), ɵɵinject(OverlayKeyboardDispatcher), ɵɵinject(Injector), ɵɵinject(NgZone), ɵɵinject(DOCUMENT), ɵɵinject(Directionality), ɵɵinject(Location), ɵɵinject(OverlayOutsideClickDispatcher), ɵɵinject(ANIMATION_MODULE_TYPE, 8)); -}; -_Overlay.ɵprov = ɵɵdefineInjectable({ - token: _Overlay, - factory: _Overlay.ɵfac, - providedIn: "root" -}); -var Overlay = _Overlay; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Overlay, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: ScrollStrategyOptions - }, { - type: OverlayContainer - }, { - type: ComponentFactoryResolver$1 - }, { - type: OverlayPositionBuilder - }, { - type: OverlayKeyboardDispatcher - }, { - type: Injector - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Directionality - }, { - type: Location - }, { - type: OverlayOutsideClickDispatcher - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [ANIMATION_MODULE_TYPE] - }, { - type: Optional - }] - }], null); -})(); -var defaultPositionList = [{ - originX: "start", - originY: "bottom", - overlayX: "start", - overlayY: "top" -}, { - originX: "start", - originY: "top", - overlayX: "start", - overlayY: "bottom" -}, { - originX: "end", - originY: "top", - overlayX: "end", - overlayY: "bottom" -}, { - originX: "end", - originY: "bottom", - overlayX: "end", - overlayY: "top" -}]; -var CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken("cdk-connected-overlay-scroll-strategy", { - providedIn: "root", - factory: () => { - const overlay = inject(Overlay); - return () => overlay.scrollStrategies.reposition(); - } -}); -var _CdkOverlayOrigin = class _CdkOverlayOrigin { - constructor(elementRef) { - this.elementRef = elementRef; - } -}; -_CdkOverlayOrigin.ɵfac = function CdkOverlayOrigin_Factory(t) { - return new (t || _CdkOverlayOrigin)(ɵɵdirectiveInject(ElementRef)); -}; -_CdkOverlayOrigin.ɵdir = ɵɵdefineDirective({ - type: _CdkOverlayOrigin, - selectors: [["", "cdk-overlay-origin", ""], ["", "overlay-origin", ""], ["", "cdkOverlayOrigin", ""]], - exportAs: ["cdkOverlayOrigin"], - standalone: true -}); -var CdkOverlayOrigin = _CdkOverlayOrigin; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkOverlayOrigin, [{ - type: Directive, - args: [{ - selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", - exportAs: "cdkOverlayOrigin", - standalone: true - }] - }], () => [{ - type: ElementRef - }], null); -})(); -var _CdkConnectedOverlay = class _CdkConnectedOverlay { - /** The offset in pixels for the overlay connection point on the x-axis */ - get offsetX() { - return this._offsetX; - } - set offsetX(offsetX) { - this._offsetX = offsetX; - if (this._position) { - this._updatePositionStrategy(this._position); - } - } - /** The offset in pixels for the overlay connection point on the y-axis */ - get offsetY() { - return this._offsetY; - } - set offsetY(offsetY) { - this._offsetY = offsetY; - if (this._position) { - this._updatePositionStrategy(this._position); - } - } - /** Whether the overlay should be disposed of when the user goes backwards/forwards in history. */ - get disposeOnNavigation() { - return this._disposeOnNavigation; - } - set disposeOnNavigation(value) { - this._disposeOnNavigation = value; - } - // TODO(jelbourn): inputs for size, scroll behavior, animation, etc. - constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) { - this._overlay = _overlay; - this._dir = _dir; - this._backdropSubscription = Subscription.EMPTY; - this._attachSubscription = Subscription.EMPTY; - this._detachSubscription = Subscription.EMPTY; - this._positionSubscription = Subscription.EMPTY; - this._disposeOnNavigation = false; - this.viewportMargin = 0; - this.open = false; - this.disableClose = false; - this.hasBackdrop = false; - this.lockPosition = false; - this.flexibleDimensions = false; - this.growAfterOpen = false; - this.push = false; - this.backdropClick = new EventEmitter(); - this.positionChange = new EventEmitter(); - this.attach = new EventEmitter(); - this.detach = new EventEmitter(); - this.overlayKeydown = new EventEmitter(); - this.overlayOutsideClick = new EventEmitter(); - this._templatePortal = new TemplatePortal(templateRef, viewContainerRef); - this._scrollStrategyFactory = scrollStrategyFactory; - this.scrollStrategy = this._scrollStrategyFactory(); - } - /** The associated overlay reference. */ - get overlayRef() { - return this._overlayRef; - } - /** The element's layout direction. */ - get dir() { - return this._dir ? this._dir.value : "ltr"; - } - ngOnDestroy() { - this._attachSubscription.unsubscribe(); - this._detachSubscription.unsubscribe(); - this._backdropSubscription.unsubscribe(); - this._positionSubscription.unsubscribe(); - if (this._overlayRef) { - this._overlayRef.dispose(); - } - } - ngOnChanges(changes) { - if (this._position) { - this._updatePositionStrategy(this._position); - this._overlayRef.updateSize({ - width: this.width, - minWidth: this.minWidth, - height: this.height, - minHeight: this.minHeight - }); - if (changes["origin"] && this.open) { - this._position.apply(); - } - } - if (changes["open"]) { - this.open ? this._attachOverlay() : this._detachOverlay(); - } - } - /** Creates an overlay */ - _createOverlay() { - if (!this.positions || !this.positions.length) { - this.positions = defaultPositionList; - } - const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig()); - this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit()); - this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit()); - overlayRef.keydownEvents().subscribe((event) => { - this.overlayKeydown.next(event); - if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) { - event.preventDefault(); - this._detachOverlay(); - } - }); - this._overlayRef.outsidePointerEvents().subscribe((event) => { - this.overlayOutsideClick.next(event); - }); - } - /** Builds the overlay config based on the directive's inputs */ - _buildConfig() { - const positionStrategy = this._position = this.positionStrategy || this._createPositionStrategy(); - const overlayConfig = new OverlayConfig({ - direction: this._dir, - positionStrategy, - scrollStrategy: this.scrollStrategy, - hasBackdrop: this.hasBackdrop, - disposeOnNavigation: this.disposeOnNavigation - }); - if (this.width || this.width === 0) { - overlayConfig.width = this.width; - } - if (this.height || this.height === 0) { - overlayConfig.height = this.height; - } - if (this.minWidth || this.minWidth === 0) { - overlayConfig.minWidth = this.minWidth; - } - if (this.minHeight || this.minHeight === 0) { - overlayConfig.minHeight = this.minHeight; - } - if (this.backdropClass) { - overlayConfig.backdropClass = this.backdropClass; - } - if (this.panelClass) { - overlayConfig.panelClass = this.panelClass; - } - return overlayConfig; - } - /** Updates the state of a position strategy, based on the values of the directive inputs. */ - _updatePositionStrategy(positionStrategy) { - const positions = this.positions.map((currentPosition) => ({ - originX: currentPosition.originX, - originY: currentPosition.originY, - overlayX: currentPosition.overlayX, - overlayY: currentPosition.overlayY, - offsetX: currentPosition.offsetX || this.offsetX, - offsetY: currentPosition.offsetY || this.offsetY, - panelClass: currentPosition.panelClass || void 0 - })); - return positionStrategy.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(positions).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector); - } - /** Returns the position strategy of the overlay to be set on the overlay config */ - _createPositionStrategy() { - const strategy = this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin()); - this._updatePositionStrategy(strategy); - return strategy; - } - _getFlexibleConnectedPositionStrategyOrigin() { - if (this.origin instanceof CdkOverlayOrigin) { - return this.origin.elementRef; - } else { - return this.origin; - } - } - /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */ - _attachOverlay() { - if (!this._overlayRef) { - this._createOverlay(); - } else { - this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop; - } - if (!this._overlayRef.hasAttached()) { - this._overlayRef.attach(this._templatePortal); - } - if (this.hasBackdrop) { - this._backdropSubscription = this._overlayRef.backdropClick().subscribe((event) => { - this.backdropClick.emit(event); - }); - } else { - this._backdropSubscription.unsubscribe(); - } - this._positionSubscription.unsubscribe(); - if (this.positionChange.observers.length > 0) { - this._positionSubscription = this._position.positionChanges.pipe(takeWhile(() => this.positionChange.observers.length > 0)).subscribe((position) => { - this.positionChange.emit(position); - if (this.positionChange.observers.length === 0) { - this._positionSubscription.unsubscribe(); - } - }); - } - } - /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */ - _detachOverlay() { - if (this._overlayRef) { - this._overlayRef.detach(); - } - this._backdropSubscription.unsubscribe(); - this._positionSubscription.unsubscribe(); - } -}; -_CdkConnectedOverlay.ɵfac = function CdkConnectedOverlay_Factory(t) { - return new (t || _CdkConnectedOverlay)(ɵɵdirectiveInject(Overlay), ɵɵdirectiveInject(TemplateRef), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY), ɵɵdirectiveInject(Directionality, 8)); -}; -_CdkConnectedOverlay.ɵdir = ɵɵdefineDirective({ - type: _CdkConnectedOverlay, - selectors: [["", "cdk-connected-overlay", ""], ["", "connected-overlay", ""], ["", "cdkConnectedOverlay", ""]], - inputs: { - origin: ["cdkConnectedOverlayOrigin", "origin"], - positions: ["cdkConnectedOverlayPositions", "positions"], - positionStrategy: ["cdkConnectedOverlayPositionStrategy", "positionStrategy"], - offsetX: ["cdkConnectedOverlayOffsetX", "offsetX"], - offsetY: ["cdkConnectedOverlayOffsetY", "offsetY"], - width: ["cdkConnectedOverlayWidth", "width"], - height: ["cdkConnectedOverlayHeight", "height"], - minWidth: ["cdkConnectedOverlayMinWidth", "minWidth"], - minHeight: ["cdkConnectedOverlayMinHeight", "minHeight"], - backdropClass: ["cdkConnectedOverlayBackdropClass", "backdropClass"], - panelClass: ["cdkConnectedOverlayPanelClass", "panelClass"], - viewportMargin: ["cdkConnectedOverlayViewportMargin", "viewportMargin"], - scrollStrategy: ["cdkConnectedOverlayScrollStrategy", "scrollStrategy"], - open: ["cdkConnectedOverlayOpen", "open"], - disableClose: ["cdkConnectedOverlayDisableClose", "disableClose"], - transformOriginSelector: ["cdkConnectedOverlayTransformOriginOn", "transformOriginSelector"], - hasBackdrop: ["cdkConnectedOverlayHasBackdrop", "hasBackdrop", booleanAttribute], - lockPosition: ["cdkConnectedOverlayLockPosition", "lockPosition", booleanAttribute], - flexibleDimensions: ["cdkConnectedOverlayFlexibleDimensions", "flexibleDimensions", booleanAttribute], - growAfterOpen: ["cdkConnectedOverlayGrowAfterOpen", "growAfterOpen", booleanAttribute], - push: ["cdkConnectedOverlayPush", "push", booleanAttribute], - disposeOnNavigation: ["cdkConnectedOverlayDisposeOnNavigation", "disposeOnNavigation", booleanAttribute] - }, - outputs: { - backdropClick: "backdropClick", - positionChange: "positionChange", - attach: "attach", - detach: "detach", - overlayKeydown: "overlayKeydown", - overlayOutsideClick: "overlayOutsideClick" - }, - exportAs: ["cdkConnectedOverlay"], - standalone: true, - features: [ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature] -}); -var CdkConnectedOverlay = _CdkConnectedOverlay; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkConnectedOverlay, [{ - type: Directive, - args: [{ - selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", - exportAs: "cdkConnectedOverlay", - standalone: true - }] - }], () => [{ - type: Overlay - }, { - type: TemplateRef - }, { - type: ViewContainerRef - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY] - }] - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - origin: [{ - type: Input, - args: ["cdkConnectedOverlayOrigin"] - }], - positions: [{ - type: Input, - args: ["cdkConnectedOverlayPositions"] - }], - positionStrategy: [{ - type: Input, - args: ["cdkConnectedOverlayPositionStrategy"] - }], - offsetX: [{ - type: Input, - args: ["cdkConnectedOverlayOffsetX"] - }], - offsetY: [{ - type: Input, - args: ["cdkConnectedOverlayOffsetY"] - }], - width: [{ - type: Input, - args: ["cdkConnectedOverlayWidth"] - }], - height: [{ - type: Input, - args: ["cdkConnectedOverlayHeight"] - }], - minWidth: [{ - type: Input, - args: ["cdkConnectedOverlayMinWidth"] - }], - minHeight: [{ - type: Input, - args: ["cdkConnectedOverlayMinHeight"] - }], - backdropClass: [{ - type: Input, - args: ["cdkConnectedOverlayBackdropClass"] - }], - panelClass: [{ - type: Input, - args: ["cdkConnectedOverlayPanelClass"] - }], - viewportMargin: [{ - type: Input, - args: ["cdkConnectedOverlayViewportMargin"] - }], - scrollStrategy: [{ - type: Input, - args: ["cdkConnectedOverlayScrollStrategy"] - }], - open: [{ - type: Input, - args: ["cdkConnectedOverlayOpen"] - }], - disableClose: [{ - type: Input, - args: ["cdkConnectedOverlayDisableClose"] - }], - transformOriginSelector: [{ - type: Input, - args: ["cdkConnectedOverlayTransformOriginOn"] - }], - hasBackdrop: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayHasBackdrop", - transform: booleanAttribute - }] - }], - lockPosition: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayLockPosition", - transform: booleanAttribute - }] - }], - flexibleDimensions: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayFlexibleDimensions", - transform: booleanAttribute - }] - }], - growAfterOpen: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayGrowAfterOpen", - transform: booleanAttribute - }] - }], - push: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayPush", - transform: booleanAttribute - }] - }], - disposeOnNavigation: [{ - type: Input, - args: [{ - alias: "cdkConnectedOverlayDisposeOnNavigation", - transform: booleanAttribute - }] - }], - backdropClick: [{ - type: Output - }], - positionChange: [{ - type: Output - }], - attach: [{ - type: Output - }], - detach: [{ - type: Output - }], - overlayKeydown: [{ - type: Output - }], - overlayOutsideClick: [{ - type: Output - }] - }); -})(); -function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) { - return () => overlay.scrollStrategies.reposition(); -} -var CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = { - provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY, - deps: [Overlay], - useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY -}; -var _OverlayModule = class _OverlayModule { -}; -_OverlayModule.ɵfac = function OverlayModule_Factory(t) { - return new (t || _OverlayModule)(); -}; -_OverlayModule.ɵmod = ɵɵdefineNgModule({ - type: _OverlayModule, - imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin], - exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] -}); -_OverlayModule.ɵinj = ɵɵdefineInjector({ - providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], - imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule] -}); -var OverlayModule = _OverlayModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(OverlayModule, [{ - type: NgModule, - args: [{ - imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin], - exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule], - providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER] - }] - }], null, null); -})(); -var _FullscreenOverlayContainer = class _FullscreenOverlayContainer extends OverlayContainer { - constructor(_document, platform) { - super(_document, platform); - } - ngOnDestroy() { - super.ngOnDestroy(); - if (this._fullScreenEventName && this._fullScreenListener) { - this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener); - } - } - _createContainer() { - super._createContainer(); - this._adjustParentForFullscreenChange(); - this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange()); - } - _adjustParentForFullscreenChange() { - if (!this._containerElement) { - return; - } - const fullscreenElement = this.getFullscreenElement(); - const parent = fullscreenElement || this._document.body; - parent.appendChild(this._containerElement); - } - _addFullscreenChangeListener(fn) { - const eventName = this._getEventName(); - if (eventName) { - if (this._fullScreenListener) { - this._document.removeEventListener(eventName, this._fullScreenListener); - } - this._document.addEventListener(eventName, fn); - this._fullScreenListener = fn; - } - } - _getEventName() { - if (!this._fullScreenEventName) { - const _document = this._document; - if (_document.fullscreenEnabled) { - this._fullScreenEventName = "fullscreenchange"; - } else if (_document.webkitFullscreenEnabled) { - this._fullScreenEventName = "webkitfullscreenchange"; - } else if (_document.mozFullScreenEnabled) { - this._fullScreenEventName = "mozfullscreenchange"; - } else if (_document.msFullscreenEnabled) { - this._fullScreenEventName = "MSFullscreenChange"; - } - } - return this._fullScreenEventName; - } - /** - * When the page is put into fullscreen mode, a specific element is specified. - * Only that element and its children are visible when in fullscreen mode. - */ - getFullscreenElement() { - const _document = this._document; - return _document.fullscreenElement || _document.webkitFullscreenElement || _document.mozFullScreenElement || _document.msFullscreenElement || null; - } -}; -_FullscreenOverlayContainer.ɵfac = function FullscreenOverlayContainer_Factory(t) { - return new (t || _FullscreenOverlayContainer)(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); -}; -_FullscreenOverlayContainer.ɵprov = ɵɵdefineInjectable({ - token: _FullscreenOverlayContainer, - factory: _FullscreenOverlayContainer.ɵfac, - providedIn: "root" -}); -var FullscreenOverlayContainer = _FullscreenOverlayContainer; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FullscreenOverlayContainer, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }], null); -})(); - -export { - ViewportRuler, - ComponentPortal, - TemplatePortal, - CdkPortalOutlet, - PortalModule, - OverlayConfig, - ConnectionPositionPair, - OverlayKeyboardDispatcher, - Overlay, - CdkOverlayOrigin, - CdkConnectedOverlay, - OverlayModule -}; -//# sourceMappingURL=chunk-6U656R5M.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js.map b/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js.map deleted file mode 100644 index f0f030a..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-6U656R5M.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@angular/cdk/fesm2022/collections.mjs", "../../../../../node_modules/@angular/cdk/fesm2022/scrolling.mjs", "../../../../../node_modules/@angular/cdk/fesm2022/portal.mjs", "../../../../../node_modules/@angular/cdk/fesm2022/overlay.mjs"], - "sourcesContent": ["import { ConnectableObservable, isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\nclass DataSource {}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource. We also can't use `isObservable`\n // here, because of some internal apps.\n return value && typeof value.connect === 'function' && !(value instanceof ConnectableObservable);\n}\n\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() {}\n}\n\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* _ViewRepeaterOperation.INSERTED */;\n } else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n } else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record\n });\n }\n });\n }\n detach() {}\n}\n\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* _ViewRepeaterOperation.INSERTED */ : 0 /* _ViewRepeaterOperation.REPLACED */;\n } else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* _ViewRepeaterOperation.REMOVED */;\n } else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* _ViewRepeaterOperation.MOVED */;\n }\n\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n } else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n } else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true, compareWith) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n this.compareWith = compareWith;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n } else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /**\n * Selects a value or an array of values.\n * @param values The values to select\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Deselects a value or an array of values.\n * @param values The values to deselect\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Sets the selected values\n * @param values The new selected values\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n setSelection(...values) {\n this._verifyValueAssignment(values);\n const oldValues = this.selected;\n const newSelectedSet = new Set(values);\n values.forEach(value => this._markSelected(value));\n oldValues.filter(value => !newSelectedSet.has(value)).forEach(value => this._unmarkSelected(value));\n const changed = this._hasQueuedChanges();\n this._emitChangeEvent();\n return changed;\n }\n /**\n * Toggles a value between selected and deselected.\n * @param value The value to toggle\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n toggle(value) {\n return this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n * @param flushEvent Whether to flush the changes in an event.\n * If false, the changes to the selection will be flushed along with the next event.\n * @return Whether the selection changed as a result of this call\n * @breaking-change 16.0.0 make return type boolean\n */\n clear(flushEvent = true) {\n this._unmarkAll();\n const changed = this._hasQueuedChanges();\n if (flushEvent) {\n this._emitChangeEvent();\n }\n return changed;\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(this._getConcreteValue(value));\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n value = this._getConcreteValue(value);\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n if (!this.isSelected(value)) {\n this._selection.add(value);\n }\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n value = this._getConcreteValue(value);\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n /** Whether there are queued up change to be emitted. */\n _hasQueuedChanges() {\n return !!(this._deselectedToEmit.length || this._selectedToEmit.length);\n }\n /** Returns a value that is comparable to inputValue by applying compareWith function, returns the same inputValue otherwise. */\n _getConcreteValue(inputValue) {\n if (!this.compareWith) {\n return inputValue;\n } else {\n for (let selectedValue of this._selection) {\n if (this.compareWith(inputValue, selectedValue)) {\n return selectedValue;\n }\n }\n return inputValue;\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter(registered => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n static {\n this.ɵfac = function UniqueSelectionDispatcher_Factory(t) {\n return new (t || UniqueSelectionDispatcher)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: UniqueSelectionDispatcher,\n factory: UniqueSelectionDispatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(UniqueSelectionDispatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n", "import { coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, inject, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, ElementRef, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior, Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/** The injection token used to specify the virtual scrolling strategy. */\nconst _c0 = [\"contentWrapper\"];\nconst _c1 = [\"*\"];\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = {\n start: renderedRange.start,\n end: renderedRange.end\n };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n } else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n static {\n this.ɵfac = function CdkFixedSizeVirtualScroll_Factory(t) {\n return new (t || CdkFixedSizeVirtualScroll)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkFixedSizeVirtualScroll,\n selectors: [[\"cdk-virtual-scroll-viewport\", \"itemSize\", \"\"]],\n inputs: {\n itemSize: \"itemSize\",\n minBufferPx: \"minBufferPx\",\n maxBufferPx: \"maxBufferPx\"\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]), i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkFixedSizeVirtualScroll, [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n standalone: true,\n providers: [{\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)]\n }]\n }]\n }], null, {\n itemSize: [{\n type: Input\n }],\n minBufferPx: [{\n type: Input\n }],\n maxBufferPx: [{\n type: Input\n }]\n });\n})();\n\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * De-registers a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable(observer => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0 ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while (element = element.parentElement);\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n static {\n this.ɵfac = function ScrollDispatcher_Factory(t) {\n return new (t || ScrollDispatcher)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(DOCUMENT, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ScrollDispatcher,\n factory: ScrollDispatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ScrollDispatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i1.Platform\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable(observer => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll').pipe(takeUntil(this._destroyed)).subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top = el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* RtlScrollAxisType.NORMAL */) {\n if (options.left != null) {\n options.right = el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n options.left = options.right;\n } else if (getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n } else {\n if (options.right != null) {\n options.left = el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n } else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n } else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* RtlScrollAxisType.INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n } else {\n return el.scrollLeft;\n }\n } else if (isRtl && getRtlScrollAxisType() == 1 /* RtlScrollAxisType.NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n } else {\n return -el.scrollLeft;\n }\n } else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n } else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n static {\n this.ɵfac = function CdkScrollable_Factory(t) {\n return new (t || CdkScrollable)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkScrollable,\n selectors: [[\"\", \"cdk-scrollable\", \"\"], [\"\", \"cdkScrollable\", \"\"]],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkScrollable, [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: ScrollDispatcher\n }, {\n type: i0.NgZone\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\n\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = event => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => this._viewportSize = null);\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = {\n width: this._viewportSize.width,\n height: this._viewportSize.height\n };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const {\n width,\n height\n } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return {\n top: 0,\n left: 0\n };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top || document.body.scrollTop || window.scrollY || documentElement.scrollTop || 0;\n const left = -documentRect.left || document.body.scrollLeft || window.scrollX || documentElement.scrollLeft || 0;\n return {\n top,\n left\n };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser ? {\n width: window.innerWidth,\n height: window.innerHeight\n } : {\n width: 0,\n height: 0\n };\n }\n static {\n this.ɵfac = function ViewportRuler_Factory(t) {\n return new (t || ViewportRuler)(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ViewportRuler,\n factory: ViewportRuler.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ViewportRuler, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\nconst VIRTUAL_SCROLLABLE = new InjectionToken('VIRTUAL_SCROLLABLE');\n/**\n * Extending the {@link CdkScrollable} to be used as scrolling container for virtual scrolling.\n */\nclass CdkVirtualScrollable extends CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n /**\n * Measure the viewport size for the provided orientation.\n *\n * @param orientation The orientation to measure the size from.\n */\n measureViewportSize(orientation) {\n const viewportEl = this.elementRef.nativeElement;\n return orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n static {\n this.ɵfac = function CdkVirtualScrollable_Factory(t) {\n return new (t || CdkVirtualScrollable)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkVirtualScrollable,\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkVirtualScrollable, [{\n type: Directive\n }], () => [{\n type: i0.ElementRef\n }, {\n type: ScrollDispatcher\n }, {\n type: i0.NgZone\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\n\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkVirtualScrollable {\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler, scrollable) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n this.scrollable = scrollable;\n this._platform = inject(Platform);\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n this.appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable(observer => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = {\n start: 0,\n end: 0\n };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n if (!this.scrollable) {\n // No scrollable is provided, so the virtual-scroll-viewport needs to become a scrollable\n this.elementRef.nativeElement.classList.add('cdk-virtual-scrollable');\n this.scrollable = this;\n }\n }\n ngOnInit() {\n // Scrolling depends on the element dimensions which we can't get during SSR.\n if (!this._platform.isBrowser) {\n return;\n }\n if (this.scrollable === this) {\n super.ngOnInit();\n }\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.scrollable.elementScrolled().pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null),\n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER),\n // Usually `elementScrolled` is completed when the scrollable is destroyed, but\n // that may not be the case if a `CdkVirtualScrollableElement` is used so we have\n // to unsubscribe here just in case.\n takeUntil(this._destroyed)).subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = {\n start: 0,\n end: Math.max(this._renderedRange.end, range.end)\n };\n }\n this._renderedRangeSubject.next(this._renderedRange = range);\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // In appendOnly, we always start from the top\n offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n } else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = {\n behavior\n };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n } else {\n options.top = offset;\n }\n this.scrollable.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the scrollable (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n // This is to break the call cycle\n let measureScrollOffset;\n if (this.scrollable == this) {\n measureScrollOffset = _from => super.measureScrollOffset(_from);\n } else {\n measureScrollOffset = _from => this.scrollable.measureScrollOffset(_from);\n }\n return Math.max(0, measureScrollOffset(from ?? (this.orientation === 'horizontal' ? 'start' : 'top')) - this.measureViewportOffset());\n }\n /**\n * Measures the offset of the viewport from the scrolling container\n * @param from The edge to measure from.\n */\n measureViewportOffset(from) {\n let fromRect;\n const LEFT = 'left';\n const RIGHT = 'right';\n const isRtl = this.dir?.value == 'rtl';\n if (from == 'start') {\n fromRect = isRtl ? RIGHT : LEFT;\n } else if (from == 'end') {\n fromRect = isRtl ? LEFT : RIGHT;\n } else if (from) {\n fromRect = from;\n } else {\n fromRect = this.orientation === 'horizontal' ? 'left' : 'top';\n }\n const scrollerClientRect = this.scrollable.measureBoundingClientRectWithScrollOffset(fromRect);\n const viewportClientRect = this.elementRef.nativeElement.getBoundingClientRect()[fromRect];\n return viewportClientRect - scrollerClientRect;\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n this._viewportSize = this.scrollable.measureViewportSize(this.orientation);\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight = this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth = this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n static {\n this.ɵfac = function CdkVirtualScrollViewport_Factory(t) {\n return new (t || CdkVirtualScrollViewport)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(VIRTUAL_SCROLL_STRATEGY, 8), i0.ɵɵdirectiveInject(i2.Directionality, 8), i0.ɵɵdirectiveInject(ScrollDispatcher), i0.ɵɵdirectiveInject(ViewportRuler), i0.ɵɵdirectiveInject(VIRTUAL_SCROLLABLE, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CdkVirtualScrollViewport,\n selectors: [[\"cdk-virtual-scroll-viewport\"]],\n viewQuery: function CdkVirtualScrollViewport_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._contentWrapper = _t.first);\n }\n },\n hostAttrs: [1, \"cdk-virtual-scroll-viewport\"],\n hostVars: 4,\n hostBindings: function CdkVirtualScrollViewport_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"cdk-virtual-scroll-orientation-horizontal\", ctx.orientation === \"horizontal\")(\"cdk-virtual-scroll-orientation-vertical\", ctx.orientation !== \"horizontal\");\n }\n },\n inputs: {\n orientation: \"orientation\",\n appendOnly: [\"appendOnly\", \"appendOnly\", booleanAttribute]\n },\n outputs: {\n scrolledIndexChange: \"scrolledIndexChange\"\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport]\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c1,\n decls: 4,\n vars: 4,\n consts: [[1, \"cdk-virtual-scroll-content-wrapper\"], [\"contentWrapper\", \"\"], [1, \"cdk-virtual-scroll-spacer\"]],\n template: function CdkVirtualScrollViewport_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0, 1);\n i0.ɵɵprojection(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(3, \"div\", 2);\n }\n if (rf & 2) {\n i0.ɵɵadvance(3);\n i0.ɵɵstyleProp(\"width\", ctx._totalContentWidth)(\"height\", ctx._totalContentHeight);\n }\n },\n styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkVirtualScrollViewport, [{\n type: Component,\n args: [{\n selector: 'cdk-virtual-scroll-viewport',\n host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n providers: [{\n provide: CdkScrollable,\n useFactory: (virtualScrollable, viewport) => virtualScrollable || viewport,\n deps: [[new Optional(), new Inject(VIRTUAL_SCROLLABLE)], CdkVirtualScrollViewport]\n }],\n template: \"\\n
\\n \\n
\\n\\n
\\n\",\n styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}\"]\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }]\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: ScrollDispatcher\n }, {\n type: ViewportRuler\n }, {\n type: CdkVirtualScrollable,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLLABLE]\n }]\n }], {\n orientation: [{\n type: Input\n }],\n appendOnly: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n scrolledIndexChange: [{\n type: Output\n }],\n _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', {\n static: true\n }]\n }]\n });\n})();\n\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n } else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item) : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n constructor( /** The view container to add items to. */\n _viewContainerRef, /** The template to use when stamping out new items. */\n _template, /** The set of available differs. */\n _differs, /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null),\n // Bundle up the previous and current data sources so we can work with both.\n pairwise(),\n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)),\n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n if (this.viewChange.observers.length) {\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n }\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode) : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n } else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange(record => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false\n },\n index\n };\n }\n static {\n this.ɵfac = function CdkVirtualForOf_Factory(t) {\n return new (t || CdkVirtualForOf)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(_VIEW_REPEATER_STRATEGY), i0.ɵɵdirectiveInject(CdkVirtualScrollViewport, 4), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkVirtualForOf,\n selectors: [[\"\", \"cdkVirtualFor\", \"\", \"cdkVirtualForOf\", \"\"]],\n inputs: {\n cdkVirtualForOf: \"cdkVirtualForOf\",\n cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\",\n cdkVirtualForTemplate: \"cdkVirtualForTemplate\",\n cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\"\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: _VIEW_REPEATER_STRATEGY,\n useClass: _RecycleViewRepeaterStrategy\n }])]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkVirtualForOf, [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{\n provide: _VIEW_REPEATER_STRATEGY,\n useClass: _RecycleViewRepeaterStrategy\n }],\n standalone: true\n }]\n }], () => [{\n type: i0.ViewContainerRef\n }, {\n type: i0.TemplateRef\n }, {\n type: i0.IterableDiffers\n }, {\n type: i2$1._RecycleViewRepeaterStrategy,\n decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }]\n }, {\n type: CdkVirtualScrollViewport,\n decorators: [{\n type: SkipSelf\n }]\n }, {\n type: i0.NgZone\n }], {\n cdkVirtualForOf: [{\n type: Input\n }],\n cdkVirtualForTrackBy: [{\n type: Input\n }],\n cdkVirtualForTemplate: [{\n type: Input\n }],\n cdkVirtualForTemplateCacheSize: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Provides a virtual scrollable for the element it is attached to.\n */\nclass CdkVirtualScrollableElement extends CdkVirtualScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from] - this.measureScrollOffset(from);\n }\n static {\n this.ɵfac = function CdkVirtualScrollableElement_Factory(t) {\n return new (t || CdkVirtualScrollableElement)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkVirtualScrollableElement,\n selectors: [[\"\", \"cdkVirtualScrollingElement\", \"\"]],\n hostAttrs: [1, \"cdk-virtual-scrollable\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLLABLE,\n useExisting: CdkVirtualScrollableElement\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkVirtualScrollableElement, [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualScrollingElement]',\n providers: [{\n provide: VIRTUAL_SCROLLABLE,\n useExisting: CdkVirtualScrollableElement\n }],\n standalone: true,\n host: {\n 'class': 'cdk-virtual-scrollable'\n }\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: ScrollDispatcher\n }, {\n type: i0.NgZone\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\n\n/**\n * Provides as virtual scrollable for the global / window scrollbar.\n */\nclass CdkVirtualScrollableWindow extends CdkVirtualScrollable {\n constructor(scrollDispatcher, ngZone, dir) {\n super(new ElementRef(document.documentElement), scrollDispatcher, ngZone, dir);\n this._elementScrolled = new Observable(observer => this.ngZone.runOutsideAngular(() => fromEvent(document, 'scroll').pipe(takeUntil(this._destroyed)).subscribe(observer)));\n }\n measureBoundingClientRectWithScrollOffset(from) {\n return this.getElementRef().nativeElement.getBoundingClientRect()[from];\n }\n static {\n this.ɵfac = function CdkVirtualScrollableWindow_Factory(t) {\n return new (t || CdkVirtualScrollableWindow)(i0.ɵɵdirectiveInject(ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkVirtualScrollableWindow,\n selectors: [[\"cdk-virtual-scroll-viewport\", \"scrollWindow\", \"\"]],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: VIRTUAL_SCROLLABLE,\n useExisting: CdkVirtualScrollableWindow\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkVirtualScrollableWindow, [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[scrollWindow]',\n providers: [{\n provide: VIRTUAL_SCROLLABLE,\n useExisting: CdkVirtualScrollableWindow\n }],\n standalone: true\n }]\n }], () => [{\n type: ScrollDispatcher\n }, {\n type: i0.NgZone\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\nclass CdkScrollableModule {\n static {\n this.ɵfac = function CdkScrollableModule_Factory(t) {\n return new (t || CdkScrollableModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: CdkScrollableModule,\n imports: [CdkScrollable],\n exports: [CdkScrollable]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkScrollableModule, [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n imports: [CdkScrollable]\n }]\n }], null, null);\n})();\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n static {\n this.ɵfac = function ScrollingModule_Factory(t) {\n return new (t || ScrollingModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ScrollingModule,\n imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement],\n exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableWindow, CdkVirtualScrollableElement]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [BidiModule, CdkScrollableModule, BidiModule, CdkScrollableModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ScrollingModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule, CdkScrollableModule, CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollableWindow, CdkVirtualScrollableElement],\n exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollableWindow, CdkVirtualScrollableElement]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, CdkVirtualScrollable, CdkVirtualScrollableElement, CdkVirtualScrollableWindow, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLLABLE, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n", "import * as i0 from '@angular/core';\nimport { ElementRef, Injector, Directive, EventEmitter, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' + 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver, projectableNodes) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n this.projectableNodes = projectableNodes;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor( /** The embedded template that will be used to instantiate an embedded View in the host. */\n templateRef, /** Reference to the ViewContainer into which the template will be stamped out. */\n viewContainerRef, /** Contextual data to be passed in to the embedded view. */\n context, /** The injector to use for the embedded view. */\n injector) {\n super();\n this.templateRef = templateRef;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n this.injector = injector;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n } else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n } else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {}\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _componentFactoryResolver Used to resolve the component factory.\n * Only required when attaching component portals.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually\n * become a required parameter.\n */\n constructor( /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector,\n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = portal => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !resolver) {\n throw Error('Cannot attach component portal to outlet without a ComponentFactoryResolver.');\n }\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector, portal.projectableNodes || undefined);\n this.setDisposeFn(() => componentRef.destroy());\n } else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n componentRef = componentFactory.create(portal.injector || this._defaultInjector || Injector.NULL);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (this._appRef.viewCount > 0) {\n this._appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector\n });\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n this.outletElement.remove();\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {}\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n static {\n this.ɵfac = function CdkPortal_Factory(t) {\n return new (t || CdkPortal)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkPortal,\n selectors: [[\"\", \"cdkPortal\", \"\"]],\n exportAs: [\"cdkPortal\"],\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkPortal, [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal'\n }]\n }], () => [{\n type: i0.TemplateRef\n }, {\n type: i0.ViewContainerRef\n }], null);\n})();\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵTemplatePortalDirective_BaseFactory;\n return function TemplatePortalDirective_Factory(t) {\n return (ɵTemplatePortalDirective_BaseFactory || (ɵTemplatePortalDirective_BaseFactory = i0.ɵɵgetInheritedFactory(TemplatePortalDirective)))(t || TemplatePortalDirective);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TemplatePortalDirective,\n selectors: [[\"\", \"cdk-portal\", \"\"], [\"\", \"portal\", \"\"]],\n exportAs: [\"cdkPortal\"],\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TemplatePortalDirective, [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [{\n provide: CdkPortal,\n useExisting: TemplatePortalDirective\n }]\n }]\n }], null, null);\n})();\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef,\n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = portal => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal || null;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedRef = this._attachedPortal = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector, portal.projectableNodes || undefined);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context, {\n injector: portal.injector\n });\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return nativeElement.nodeType === nativeElement.ELEMENT_NODE ? nativeElement : nativeElement.parentNode;\n }\n static {\n this.ɵfac = function CdkPortalOutlet_Factory(t) {\n return new (t || CdkPortalOutlet)(i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(DOCUMENT));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkPortalOutlet,\n selectors: [[\"\", \"cdkPortalOutlet\", \"\"]],\n inputs: {\n portal: [\"cdkPortalOutlet\", \"portal\"]\n },\n outputs: {\n attached: \"attached\"\n },\n exportAs: [\"cdkPortalOutlet\"],\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkPortalOutlet, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet']\n }]\n }], () => [{\n type: i0.ComponentFactoryResolver\n }, {\n type: i0.ViewContainerRef\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], {\n attached: [{\n type: Output\n }]\n });\n})();\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵPortalHostDirective_BaseFactory;\n return function PortalHostDirective_Factory(t) {\n return (ɵPortalHostDirective_BaseFactory || (ɵPortalHostDirective_BaseFactory = i0.ɵɵgetInheritedFactory(PortalHostDirective)))(t || PortalHostDirective);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: PortalHostDirective,\n selectors: [[\"\", \"cdkPortalHost\", \"\"], [\"\", \"portalHost\", \"\"]],\n inputs: {\n portal: [\"cdkPortalHost\", \"portal\"]\n },\n exportAs: [\"cdkPortalHost\"],\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PortalHostDirective, [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [{\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective\n }]\n }]\n }], null, null);\n})();\nclass PortalModule {\n static {\n this.ɵfac = function PortalModule_Factory(t) {\n return new (t || PortalModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PortalModule,\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PortalModule, [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n", "import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i6 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, Optional, ElementRef, ApplicationRef, ANIMATION_MODULE_TYPE, InjectionToken, inject, Directive, EventEmitter, booleanAttribute, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, _isTestEnvironment } from '@angular/cdk/platform';\nimport { filter, take, takeUntil, takeWhile } from 'rxjs/operators';\nimport * as i5 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = {\n top: '',\n left: ''\n };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() {}\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0).pipe(filter(scrollable => {\n return !scrollable || !this._overlayRef.overlayElement.contains(scrollable.getElementRef().nativeElement);\n }));\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n } else {\n this._overlayRef.updatePosition();\n }\n });\n } else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() {}\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() {}\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() {}\n}\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const {\n width,\n height\n } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{\n width,\n height,\n bottom: height,\n right: width,\n top: 0,\n left: 0\n }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = config => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = config => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n static {\n this.ɵfac = function ScrollStrategyOptions_Factory(t) {\n return new (t || ScrollStrategyOptions)(i0.ɵɵinject(i1.ScrollDispatcher), i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ScrollStrategyOptions,\n factory: ScrollStrategyOptions.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ScrollStrategyOptions, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.ScrollDispatcher\n }, {\n type: i1.ViewportRuler\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\n\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the possible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, /** Offset along the X axis. */\n offsetX, /** Offset along the Y axis. */\n offsetY, /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor( /** The position used as a result of this change. */\n connectionPair, /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` + `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` + `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n static {\n this.ɵfac = function BaseOverlayDispatcher_Factory(t) {\n return new (t || BaseOverlayDispatcher)(i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BaseOverlayDispatcher,\n factory: BaseOverlayDispatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BaseOverlayDispatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document, /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._ngZone = _ngZone;\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = event => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n const keydownEvents = overlays[i]._keydownEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => keydownEvents.next(event));\n } else {\n keydownEvents.next(event);\n }\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._document.body.addEventListener('keydown', this._keydownListener));\n } else {\n this._document.body.addEventListener('keydown', this._keydownListener);\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n static {\n this.ɵfac = function OverlayKeyboardDispatcher_Factory(t) {\n return new (t || OverlayKeyboardDispatcher)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i0.NgZone, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OverlayKeyboardDispatcher,\n factory: OverlayKeyboardDispatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(OverlayKeyboardDispatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i0.NgZone,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\n\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform, /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = event => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = event => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget ? this._pointerDownEventTarget : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) || overlayRef.overlayElement.contains(origin)) {\n break;\n }\n const outsidePointerEvents = overlayRef._outsidePointerEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => outsidePointerEvents.next(event));\n } else {\n outsidePointerEvents.next(event);\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._addEventListeners(body));\n } else {\n this._addEventListeners(body);\n }\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n _addEventListeners(body) {\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n }\n static {\n this.ɵfac = function OverlayOutsideClickDispatcher_Factory(t) {\n return new (t || OverlayOutsideClickDispatcher)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1$1.Platform), i0.ɵɵinject(i0.NgZone, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OverlayOutsideClickDispatcher,\n factory: OverlayOutsideClickDispatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(OverlayOutsideClickDispatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1$1.Platform\n }, {\n type: i0.NgZone,\n decorators: [{\n type: Optional\n }]\n }], null);\n})();\n\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].remove();\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n } else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n static {\n this.ɵfac = function OverlayContainer_Factory(t) {\n return new (t || OverlayContainer)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1$1.Platform));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OverlayContainer,\n factory: OverlayContainer.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(OverlayContainer, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1$1.Platform\n }], null);\n})();\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher, _animationsDisabled = false) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._animationsDisabled = _animationsDisabled;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = event => this._backdropClick.next(event);\n this._backdropTransitionendHandler = event => {\n this._disposeBackdrop(event.target);\n };\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n // Insert the host into the DOM before attaching the portal, otherwise\n // the animations module will skip animations on repeat attachments.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n const attachResult = this._portalOutlet.attach(portal);\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n // TODO(crisbeto): the null check is here, because the portal outlet returns `any`.\n // We should be guaranteed for the result to be `ComponentRef | EmbeddedViewRef`, but\n // `instanceof EmbeddedViewRef` doesn't appear to work at the moment.\n if (typeof attachResult?.onDestroy === 'function') {\n // In most cases we control the portal and we know when it is being detached so that\n // we can finish the disposal process. The exception is if the user passes in a custom\n // `ViewContainerRef` that isn't destroyed through the overlay API. Note that we use\n // `detach` here instead of `dispose`, because we don't know if the user intends to\n // reattach the overlay at a later point. It also has the advantage of waiting for animations.\n attachResult.onDestroy(() => {\n if (this.hasAttached()) {\n // We have to delay the `detach` call, because detaching immediately prevents\n // other destroy hooks from running. This is likely a framework bug similar to\n // https://github.com/angular/angular/issues/46119\n this._ngZone.runOutsideAngular(() => Promise.resolve().then(() => this.detach()));\n }\n });\n }\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n this._host?.remove();\n this._previousHostParent = this._pane = this._host = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = {\n ...this._config,\n ...sizeConfig\n };\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = {\n ...this._config,\n direction: dir\n };\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._animationsDisabled) {\n this._backdropElement.classList.add('cdk-overlay-backdrop-noop-animation');\n }\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (!this._animationsDisabled && typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n } else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n if (this._animationsDisabled) {\n this._disposeBackdrop(backdropToDetach);\n return;\n }\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', this._backdropTransitionendHandler);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n this._backdropTimeout = this._ngZone.runOutsideAngular(() => setTimeout(() => {\n this._disposeBackdrop(backdropToDetach);\n }, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classes = coerceArray(cssClasses || []).filter(c => !!c);\n if (classes.length) {\n isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n }\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable.pipe(takeUntil(merge(this._attachments, this._detachments))).subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._host.remove();\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n backdrop.removeEventListener('click', this._backdropClickHandler);\n backdrop.removeEventListener('transitionend', this._backdropTransitionendHandler);\n backdrop.remove();\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n if (this._backdropTimeout) {\n clearTimeout(this._backdropTimeout);\n this._backdropTimeout = undefined;\n }\n }\n}\n\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = {\n width: 0,\n height: 0\n };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && overlayRef !== this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satisfies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin, the overlay and the container to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n const containerRect = this._containerRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, containerRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos)\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = {\n overlayFit,\n overlayPoint,\n originPoint,\n position: pos,\n overlayRect\n };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: ''\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n const lastPosition = this._lastPosition;\n if (lastPosition) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n } else {\n this.apply();\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, containerRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + originRect.width / 2;\n } else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n // When zooming in Safari the container rectangle contains negative values for the position\n // and we need to re-add them to the calculated coordinates.\n if (containerRect.left < 0) {\n x -= containerRect.left;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + originRect.height / 2;\n } else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n // Normally the containerRect's top value would be zero, however when the overlay is attached to an input\n // (e.g. in an autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n // Additionally, when zooming in Safari this fixes the vertical position.\n if (containerRect.top < 0) {\n y -= containerRect.top;\n }\n return {\n x,\n y\n };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n } else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n } else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n } else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let {\n x,\n y\n } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = x + overlay.width - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = y + overlay.height - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlay at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically || minHeight != null && minHeight <= availableHeight;\n const horizontalFit = fit.fitsInViewportHorizontally || minWidth != null && minWidth <= availableWidth;\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occurring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param rawOverlayRect Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n } else {\n pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n } else {\n pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n }\n this._previousPushAmount = {\n x: pushX,\n y: pushY\n };\n return {\n x: start.x + pushX,\n y: start.y + pushY\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n } else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n } else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n } else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n } else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - previousHeight / 2;\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = position.overlayX === 'start' && !isRtl || position.overlayX === 'end' && isRtl;\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = position.overlayX === 'end' && !isRtl || position.overlayX === 'start' && isRtl;\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n } else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n } else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - previousWidth / 2;\n }\n }\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width,\n height\n };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stretches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n } else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n } else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n } else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: ''\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: ''\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n } else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n } else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n } else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = {\n top: '',\n bottom: ''\n };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n } else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = {\n left: '',\n right: ''\n };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n } else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n } else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds)\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - 2 * this._viewportMargin,\n height: height - 2 * this._viewportMargin\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breaking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return !units || units === 'px' ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height)\n };\n}\nconst STANDARD_DROPDOWN_BELOW_POSITIONS = [{\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n}, {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n}, {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n}, {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n}];\nconst STANDARD_DROPDOWN_ADJACENT_POSITIONS = [{\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n}, {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n}, {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n}, {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n}];\n\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._alignItems = '';\n this._xPosition = '';\n this._xOffset = '';\n this._width = '';\n this._height = '';\n this._isDisposed = false;\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({\n width: this._width\n });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({\n height: this._height\n });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._xOffset = value;\n this._xPosition = 'left';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._xOffset = value;\n this._xPosition = 'right';\n return this;\n }\n /**\n * Sets the overlay to the start of the viewport, depending on the overlay direction.\n * This will be to the left in LTR layouts and to the right in RTL.\n * @param offset Offset from the edge of the screen.\n */\n start(value = '') {\n this._xOffset = value;\n this._xPosition = 'start';\n return this;\n }\n /**\n * Sets the overlay to the end of the viewport, depending on the overlay direction.\n * This will be to the right in LTR layouts and to the left in RTL.\n * @param offset Offset from the edge of the screen.\n */\n end(value = '') {\n this._xOffset = value;\n this._xPosition = 'end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({\n width: value\n });\n } else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({\n height: value\n });\n } else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._xPosition = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const {\n width,\n height,\n maxWidth,\n maxHeight\n } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') && (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') && (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n const xPosition = this._xPosition;\n const xOffset = this._xOffset;\n const isRtl = this._overlayRef.getConfig().direction === 'rtl';\n let marginLeft = '';\n let marginRight = '';\n let justifyContent = '';\n if (shouldBeFlushHorizontally) {\n justifyContent = 'flex-start';\n } else if (xPosition === 'center') {\n justifyContent = 'center';\n if (isRtl) {\n marginRight = xOffset;\n } else {\n marginLeft = xOffset;\n }\n } else if (isRtl) {\n if (xPosition === 'left' || xPosition === 'end') {\n justifyContent = 'flex-end';\n marginLeft = xOffset;\n } else if (xPosition === 'right' || xPosition === 'start') {\n justifyContent = 'flex-start';\n marginRight = xOffset;\n }\n } else if (xPosition === 'left' || xPosition === 'start') {\n justifyContent = 'flex-start';\n marginLeft = xOffset;\n } else if (xPosition === 'right' || xPosition === 'end') {\n justifyContent = 'flex-end';\n marginRight = xOffset;\n }\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : marginLeft;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = shouldBeFlushHorizontally ? '0' : marginRight;\n parentStyles.justifyContent = justifyContent;\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent = parentStyles.alignItems = styles.marginTop = styles.marginBottom = styles.marginLeft = styles.marginRight = styles.position = '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n static {\n this.ɵfac = function OverlayPositionBuilder_Factory(t) {\n return new (t || OverlayPositionBuilder)(i0.ɵɵinject(i1.ViewportRuler), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1$1.Platform), i0.ɵɵinject(OverlayContainer));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: OverlayPositionBuilder,\n factory: OverlayPositionBuilder.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(OverlayPositionBuilder, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.ViewportRuler\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1$1.Platform\n }, {\n type: OverlayContainer\n }], null);\n})();\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor( /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher, _animationsModuleType) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._animationsModuleType = _animationsModuleType;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher, this._animationsModuleType === 'NoopAnimations');\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n static {\n this.ɵfac = function Overlay_Factory(t) {\n return new (t || Overlay)(i0.ɵɵinject(ScrollStrategyOptions), i0.ɵɵinject(OverlayContainer), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(OverlayPositionBuilder), i0.ɵɵinject(OverlayKeyboardDispatcher), i0.ɵɵinject(i0.Injector), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i5.Directionality), i0.ɵɵinject(i6.Location), i0.ɵɵinject(OverlayOutsideClickDispatcher), i0.ɵɵinject(ANIMATION_MODULE_TYPE, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: Overlay,\n factory: Overlay.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Overlay, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: ScrollStrategyOptions\n }, {\n type: OverlayContainer\n }, {\n type: i0.ComponentFactoryResolver\n }, {\n type: OverlayPositionBuilder\n }, {\n type: OverlayKeyboardDispatcher\n }, {\n type: i0.Injector\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i5.Directionality\n }, {\n type: i6.Location\n }, {\n type: OverlayOutsideClickDispatcher\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }, {\n type: Optional\n }]\n }], null);\n})();\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [{\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n}, {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n}, {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n}, {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n}];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy', {\n providedIn: 'root',\n factory: () => {\n const overlay = inject(Overlay);\n return () => overlay.scrollStrategies.reposition();\n }\n});\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor( /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n static {\n this.ɵfac = function CdkOverlayOrigin_Factory(t) {\n return new (t || CdkOverlayOrigin)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkOverlayOrigin,\n selectors: [[\"\", \"cdk-overlay-origin\", \"\"], [\"\", \"overlay-origin\", \"\"], [\"\", \"cdkOverlayOrigin\", \"\"]],\n exportAs: [\"cdkOverlayOrigin\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkOverlayOrigin, [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }], null);\n})();\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() {\n return this._offsetX;\n }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() {\n return this._offsetY;\n }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether the overlay should be disposed of when the user goes backwards/forwards in history. */\n get disposeOnNavigation() {\n return this._disposeOnNavigation;\n }\n set disposeOnNavigation(value) {\n this._disposeOnNavigation = value;\n }\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n this._disposeOnNavigation = false;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Whether or not the overlay should attach a backdrop. */\n this.hasBackdrop = false;\n /** Whether or not the overlay should be locked when scrolling. */\n this.lockPosition = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this.flexibleDimensions = false;\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n this.growAfterOpen = false;\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n this.push = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = this._overlayRef = this._overlay.create(this._buildConfig());\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe(event => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe(event => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = this._position = this.positionStrategy || this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop,\n disposeOnNavigation: this.disposeOnNavigation\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined\n }));\n return positionStrategy.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(positions).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n _getFlexibleConnectedPositionStrategyOrigin() {\n if (this.origin instanceof CdkOverlayOrigin) {\n return this.origin.elementRef;\n } else {\n return this.origin;\n }\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n } else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n } else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges.pipe(takeWhile(() => this.positionChange.observers.length > 0)).subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n static {\n this.ɵfac = function CdkConnectedOverlay_Factory(t) {\n return new (t || CdkConnectedOverlay)(i0.ɵɵdirectiveInject(Overlay), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY), i0.ɵɵdirectiveInject(i5.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkConnectedOverlay,\n selectors: [[\"\", \"cdk-connected-overlay\", \"\"], [\"\", \"connected-overlay\", \"\"], [\"\", \"cdkConnectedOverlay\", \"\"]],\n inputs: {\n origin: [\"cdkConnectedOverlayOrigin\", \"origin\"],\n positions: [\"cdkConnectedOverlayPositions\", \"positions\"],\n positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"],\n offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"],\n offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"],\n width: [\"cdkConnectedOverlayWidth\", \"width\"],\n height: [\"cdkConnectedOverlayHeight\", \"height\"],\n minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"],\n minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"],\n backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"],\n panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"],\n viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"],\n scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"],\n open: [\"cdkConnectedOverlayOpen\", \"open\"],\n disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"],\n transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"],\n hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\", booleanAttribute],\n lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\", booleanAttribute],\n flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\", booleanAttribute],\n growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\", booleanAttribute],\n push: [\"cdkConnectedOverlayPush\", \"push\", booleanAttribute],\n disposeOnNavigation: [\"cdkConnectedOverlayDisposeOnNavigation\", \"disposeOnNavigation\", booleanAttribute]\n },\n outputs: {\n backdropClick: \"backdropClick\",\n positionChange: \"positionChange\",\n attach: \"attach\",\n detach: \"detach\",\n overlayKeydown: \"overlayKeydown\",\n overlayOutsideClick: \"overlayOutsideClick\"\n },\n exportAs: [\"cdkConnectedOverlay\"],\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkConnectedOverlay, [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay',\n standalone: true\n }]\n }], () => [{\n type: Overlay\n }, {\n type: i0.TemplateRef\n }, {\n type: i0.ViewContainerRef\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }]\n }, {\n type: i5.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }],\n positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }],\n positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }],\n offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }],\n offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }],\n width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }],\n height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }],\n minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }],\n minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }],\n backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }],\n panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }],\n viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }],\n scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }],\n open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }],\n disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }],\n transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }],\n hasBackdrop: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayHasBackdrop',\n transform: booleanAttribute\n }]\n }],\n lockPosition: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayLockPosition',\n transform: booleanAttribute\n }]\n }],\n flexibleDimensions: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayFlexibleDimensions',\n transform: booleanAttribute\n }]\n }],\n growAfterOpen: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayGrowAfterOpen',\n transform: booleanAttribute\n }]\n }],\n push: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayPush',\n transform: booleanAttribute\n }]\n }],\n disposeOnNavigation: [{\n type: Input,\n args: [{\n alias: 'cdkConnectedOverlayDisposeOnNavigation',\n transform: booleanAttribute\n }]\n }],\n backdropClick: [{\n type: Output\n }],\n positionChange: [{\n type: Output\n }],\n attach: [{\n type: Output\n }],\n detach: [{\n type: Output\n }],\n overlayKeydown: [{\n type: Output\n }],\n overlayOutsideClick: [{\n type: Output\n }]\n });\n})();\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY\n};\nclass OverlayModule {\n static {\n this.ɵfac = function OverlayModule_Factory(t) {\n return new (t || OverlayModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: OverlayModule,\n imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n imports: [BidiModule, PortalModule, ScrollingModule, ScrollingModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(OverlayModule, [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule, CdkConnectedOverlay, CdkOverlayOrigin],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER]\n }]\n }], null, null);\n})();\n\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n } else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n } else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n } else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return _document.fullscreenElement || _document.webkitFullscreenElement || _document.mozFullScreenElement || _document.msFullscreenElement || null;\n }\n static {\n this.ɵfac = function FullscreenOverlayContainer_Factory(t) {\n return new (t || FullscreenOverlayContainer)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1$1.Platform));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FullscreenOverlayContainer,\n factory: FullscreenOverlayContainer.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FullscreenOverlayContainer, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1$1.Platform\n }], null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, STANDARD_DROPDOWN_ADJACENT_POSITIONS, STANDARD_DROPDOWN_BELOW_POSITIONS, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };\n"], - "mappings": "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", - "names": ["document", "window", "document", "document"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js b/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js deleted file mode 100644 index 946c199..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js +++ /dev/null @@ -1,574 +0,0 @@ -import { - MediaMatcher -} from "./chunk-WB57DPWD.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - environment, - getEventPosition, - isTouchEvent -} from "./chunk-M5GY4FCO.js"; -import { - DOCUMENT -} from "./chunk-OSQBUYO6.js"; -import { - Inject, - Injectable, - NgZone, - RendererFactory2, - Subject, - auditTime, - distinctUntilChanged, - filter, - finalize, - map, - setClassMetadata, - startWith, - takeUntil, - ɵɵdefineInjectable, - ɵɵgetInheritedFactory, - ɵɵinject -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-polyfill.mjs -var availablePrefixes = ["moz", "ms", "webkit"]; -function requestAnimationFramePolyfill() { - let lastTime = 0; - return function(callback) { - const currTime = (/* @__PURE__ */ new Date()).getTime(); - const timeToCall = Math.max(0, 16 - (currTime - lastTime)); - const id = setTimeout(() => { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return id; - }; -} -function getRequestAnimationFrame() { - if (typeof window === "undefined") { - return () => 0; - } - if (window.requestAnimationFrame) { - return window.requestAnimationFrame.bind(window); - } - const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0]; - return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill(); -} -var reqAnimFrame = getRequestAnimationFrame(); - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-services.mjs -var NOOP = () => { -}; -var _NzResizeService = class _NzResizeService { - constructor(ngZone, rendererFactory2) { - this.ngZone = ngZone; - this.rendererFactory2 = rendererFactory2; - this.resizeSource$ = new Subject(); - this.listeners = 0; - this.disposeHandle = NOOP; - this.handler = () => { - this.ngZone.run(() => { - this.resizeSource$.next(); - }); - }; - this.renderer = this.rendererFactory2.createRenderer(null, null); - } - ngOnDestroy() { - this.handler = NOOP; - } - subscribe() { - this.registerListener(); - return this.resizeSource$.pipe(auditTime(16), finalize(() => this.unregisterListener())); - } - unsubscribe() { - this.unregisterListener(); - } - registerListener() { - if (this.listeners === 0) { - this.ngZone.runOutsideAngular(() => { - this.disposeHandle = this.renderer.listen("window", "resize", this.handler); - }); - } - this.listeners += 1; - } - unregisterListener() { - this.listeners -= 1; - if (this.listeners === 0) { - this.disposeHandle(); - this.disposeHandle = NOOP; - } - } -}; -_NzResizeService.ɵfac = function NzResizeService_Factory(t) { - return new (t || _NzResizeService)(ɵɵinject(NgZone), ɵɵinject(RendererFactory2)); -}; -_NzResizeService.ɵprov = ɵɵdefineInjectable({ - token: _NzResizeService, - factory: _NzResizeService.ɵfac, - providedIn: "root" -}); -var NzResizeService = _NzResizeService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzResizeService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: NgZone - }, { - type: RendererFactory2 - }], null); -})(); -var testSingleRegistry = /* @__PURE__ */ new Map(); -var _NzSingletonService = class _NzSingletonService { - constructor() { - this._singletonRegistry = /* @__PURE__ */ new Map(); - } - get singletonRegistry() { - return environment.isTestMode ? testSingleRegistry : this._singletonRegistry; - } - registerSingletonWithKey(key, target) { - const alreadyHave = this.singletonRegistry.has(key); - const item = alreadyHave ? this.singletonRegistry.get(key) : this.withNewTarget(target); - if (!alreadyHave) { - this.singletonRegistry.set(key, item); - } - } - unregisterSingletonWithKey(key) { - if (this.singletonRegistry.has(key)) { - this.singletonRegistry.delete(key); - } - } - getSingletonWithKey(key) { - return this.singletonRegistry.has(key) ? this.singletonRegistry.get(key).target : null; - } - withNewTarget(target) { - return { - target - }; - } -}; -_NzSingletonService.ɵfac = function NzSingletonService_Factory(t) { - return new (t || _NzSingletonService)(); -}; -_NzSingletonService.ɵprov = ɵɵdefineInjectable({ - token: _NzSingletonService, - factory: _NzSingletonService.ɵfac, - providedIn: "root" -}); -var NzSingletonService = _NzSingletonService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSingletonService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -function getPagePosition(event) { - const e = getEventPosition(event); - return { - x: e.pageX, - y: e.pageY - }; -} -var _NzDragService = class _NzDragService { - constructor(rendererFactory2) { - this.draggingThreshold = 5; - this.currentDraggingSequence = null; - this.currentStartingPoint = null; - this.handleRegistry = /* @__PURE__ */ new Set(); - this.renderer = rendererFactory2.createRenderer(null, null); - } - requestDraggingSequence(event) { - if (!this.handleRegistry.size) { - this.registerDraggingHandler(isTouchEvent(event)); - } - if (this.currentDraggingSequence) { - this.currentDraggingSequence.complete(); - } - this.currentStartingPoint = getPagePosition(event); - this.currentDraggingSequence = new Subject(); - return this.currentDraggingSequence.pipe(map((e) => ({ - x: e.pageX - this.currentStartingPoint.x, - y: e.pageY - this.currentStartingPoint.y - })), filter((e) => Math.abs(e.x) > this.draggingThreshold || Math.abs(e.y) > this.draggingThreshold), finalize(() => this.teardownDraggingSequence())); - } - registerDraggingHandler(isTouch) { - if (isTouch) { - this.handleRegistry.add({ - teardown: this.renderer.listen("document", "touchmove", (e) => { - if (this.currentDraggingSequence) { - this.currentDraggingSequence.next(e.touches[0] || e.changedTouches[0]); - } - }) - }); - this.handleRegistry.add({ - teardown: this.renderer.listen("document", "touchend", () => { - if (this.currentDraggingSequence) { - this.currentDraggingSequence.complete(); - } - }) - }); - } else { - this.handleRegistry.add({ - teardown: this.renderer.listen("document", "mousemove", (e) => { - if (this.currentDraggingSequence) { - this.currentDraggingSequence.next(e); - } - }) - }); - this.handleRegistry.add({ - teardown: this.renderer.listen("document", "mouseup", () => { - if (this.currentDraggingSequence) { - this.currentDraggingSequence.complete(); - } - }) - }); - } - } - teardownDraggingSequence() { - this.currentDraggingSequence = null; - } -}; -_NzDragService.ɵfac = function NzDragService_Factory(t) { - return new (t || _NzDragService)(ɵɵinject(RendererFactory2)); -}; -_NzDragService.ɵprov = ɵɵdefineInjectable({ - token: _NzDragService, - factory: _NzDragService.ɵfac, - providedIn: "root" -}); -var NzDragService = _NzDragService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDragService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: RendererFactory2 - }], null); -})(); -function easeInOutCubic(t, b, c, d) { - const cc = c - b; - let tt = t / (d / 2); - if (tt < 1) { - return cc / 2 * tt * tt * tt + b; - } else { - return cc / 2 * ((tt -= 2) * tt * tt + 2) + b; - } -} -var _NzScrollService = class _NzScrollService { - constructor(ngZone, doc) { - this.ngZone = ngZone; - this.doc = doc; - } - /** Set the position of the scroll bar of `el`. */ - setScrollTop(el, topValue = 0) { - if (el === window) { - this.doc.body.scrollTop = topValue; - this.doc.documentElement.scrollTop = topValue; - } else { - el.scrollTop = topValue; - } - } - /** Get position of `el` against window. */ - getOffset(el) { - const ret = { - top: 0, - left: 0 - }; - if (!el || !el.getClientRects().length) { - return ret; - } - const rect = el.getBoundingClientRect(); - if (rect.width || rect.height) { - const doc = el.ownerDocument.documentElement; - ret.top = rect.top - doc.clientTop; - ret.left = rect.left - doc.clientLeft; - } else { - ret.top = rect.top; - ret.left = rect.left; - } - return ret; - } - /** Get the position of the scoll bar of `el`. */ - // TODO: remove '| Window' as the fallback already happens here - getScroll(target, top = true) { - if (typeof window === "undefined") { - return 0; - } - const method = top ? "scrollTop" : "scrollLeft"; - let result = 0; - if (this.isWindow(target)) { - result = target[top ? "pageYOffset" : "pageXOffset"]; - } else if (target instanceof Document) { - result = target.documentElement[method]; - } else if (target) { - result = target[method]; - } - if (target && !this.isWindow(target) && typeof result !== "number") { - result = (target.ownerDocument || target).documentElement[method]; - } - return result; - } - isWindow(obj) { - return obj !== null && obj !== void 0 && obj === obj.window; - } - /** - * Scroll `el` to some position with animation. - * - * @param containerEl container, `window` by default - * @param y Scroll to `top`, 0 by default - */ - scrollTo(containerEl, y = 0, options = {}) { - const target = containerEl ? containerEl : window; - const scrollTop = this.getScroll(target); - const startTime = Date.now(); - const { - easing, - callback, - duration = 450 - } = options; - const frameFunc = () => { - const timestamp = Date.now(); - const time = timestamp - startTime; - const nextScrollTop = (easing || easeInOutCubic)(time > duration ? duration : time, scrollTop, y, duration); - if (this.isWindow(target)) { - target.scrollTo(window.pageXOffset, nextScrollTop); - } else if (target instanceof HTMLDocument || target.constructor.name === "HTMLDocument") { - target.documentElement.scrollTop = nextScrollTop; - } else { - target.scrollTop = nextScrollTop; - } - if (time < duration) { - reqAnimFrame(frameFunc); - } else if (typeof callback === "function") { - this.ngZone.run(callback); - } - }; - this.ngZone.runOutsideAngular(() => reqAnimFrame(frameFunc)); - } -}; -_NzScrollService.ɵfac = function NzScrollService_Factory(t) { - return new (t || _NzScrollService)(ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); -}; -_NzScrollService.ɵprov = ɵɵdefineInjectable({ - token: _NzScrollService, - factory: _NzScrollService.ɵfac, - providedIn: "root" -}); -var NzScrollService = _NzScrollService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzScrollService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var NzBreakpointEnum; -(function(NzBreakpointEnum2) { - NzBreakpointEnum2["xxl"] = "xxl"; - NzBreakpointEnum2["xl"] = "xl"; - NzBreakpointEnum2["lg"] = "lg"; - NzBreakpointEnum2["md"] = "md"; - NzBreakpointEnum2["sm"] = "sm"; - NzBreakpointEnum2["xs"] = "xs"; -})(NzBreakpointEnum || (NzBreakpointEnum = {})); -var gridResponsiveMap = { - xs: "(max-width: 575px)", - sm: "(min-width: 576px)", - md: "(min-width: 768px)", - lg: "(min-width: 992px)", - xl: "(min-width: 1200px)", - xxl: "(min-width: 1600px)" -}; -var siderResponsiveMap = { - xs: "(max-width: 479.98px)", - sm: "(max-width: 575.98px)", - md: "(max-width: 767.98px)", - lg: "(max-width: 991.98px)", - xl: "(max-width: 1199.98px)", - xxl: "(max-width: 1599.98px)" -}; -var _NzBreakpointService = class _NzBreakpointService { - constructor(resizeService, mediaMatcher) { - this.resizeService = resizeService; - this.mediaMatcher = mediaMatcher; - this.destroy$ = new Subject(); - this.resizeService.subscribe().pipe(takeUntil(this.destroy$)).subscribe(() => { - }); - } - ngOnDestroy() { - this.destroy$.next(); - } - subscribe(breakpointMap, fullMap) { - if (fullMap) { - const get = () => this.matchMedia(breakpointMap, true); - return this.resizeService.subscribe().pipe(map(get), startWith(get()), distinctUntilChanged((x, y) => x[0] === y[0]), map((x) => x[1])); - } else { - const get = () => this.matchMedia(breakpointMap); - return this.resizeService.subscribe().pipe(map(get), startWith(get()), distinctUntilChanged()); - } - } - matchMedia(breakpointMap, fullMap) { - let bp = NzBreakpointEnum.md; - const breakpointBooleanMap = {}; - Object.keys(breakpointMap).map((breakpoint) => { - const castBP = breakpoint; - const matched = this.mediaMatcher.matchMedia(gridResponsiveMap[castBP]).matches; - breakpointBooleanMap[breakpoint] = matched; - if (matched) { - bp = castBP; - } - }); - if (fullMap) { - return [bp, breakpointBooleanMap]; - } else { - return bp; - } - } -}; -_NzBreakpointService.ɵfac = function NzBreakpointService_Factory(t) { - return new (t || _NzBreakpointService)(ɵɵinject(NzResizeService), ɵɵinject(MediaMatcher)); -}; -_NzBreakpointService.ɵprov = ɵɵdefineInjectable({ - token: _NzBreakpointService, - factory: _NzBreakpointService.ɵfac, - providedIn: "root" -}); -var NzBreakpointService = _NzBreakpointService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzBreakpointService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: NzResizeService - }, { - type: MediaMatcher - }], null); -})(); -var _NzDestroyService = class _NzDestroyService extends Subject { - ngOnDestroy() { - this.next(); - this.complete(); - } -}; -_NzDestroyService.ɵfac = (() => { - let ɵNzDestroyService_BaseFactory; - return function NzDestroyService_Factory(t) { - return (ɵNzDestroyService_BaseFactory || (ɵNzDestroyService_BaseFactory = ɵɵgetInheritedFactory(_NzDestroyService)))(t || _NzDestroyService); - }; -})(); -_NzDestroyService.ɵprov = ɵɵdefineInjectable({ - token: _NzDestroyService, - factory: _NzDestroyService.ɵfac -}); -var NzDestroyService = _NzDestroyService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDestroyService, [{ - type: Injectable - }], null, null); -})(); -var _ImagePreloadService = class _ImagePreloadService { - constructor(document, platform) { - this.document = document; - this.platform = platform; - this.counter = /* @__PURE__ */ new Map(); - this.linkRefs = /* @__PURE__ */ new Map(); - } - addPreload(option) { - if (this.platform.isBrowser) { - return () => void 0; - } - const uniqueKey = `${option.src}${option.srcset}`; - let currentCount = this.counter.get(uniqueKey) || 0; - currentCount++; - this.counter.set(uniqueKey, currentCount); - if (!this.linkRefs.has(uniqueKey)) { - const linkNode = this.appendPreloadLink(option); - this.linkRefs.set(uniqueKey, linkNode); - } - return () => { - if (this.counter.has(uniqueKey)) { - let count = this.counter.get(uniqueKey); - count--; - if (count === 0) { - const linkNode = this.linkRefs.get(uniqueKey); - this.removePreloadLink(linkNode); - this.counter.delete(uniqueKey); - this.linkRefs.delete(uniqueKey); - } else { - this.counter.set(uniqueKey, count); - } - } - }; - } - appendPreloadLink(option) { - const linkNode = this.document.createElement("link"); - linkNode.setAttribute("rel", "preload"); - linkNode.setAttribute("as", "image"); - linkNode.setAttribute("href", option.src); - if (option.srcset) { - linkNode.setAttribute("imagesrcset", option.srcset); - } - this.document.head.appendChild(linkNode); - return linkNode; - } - removePreloadLink(linkNode) { - if (this.document.head.contains(linkNode)) { - this.document.head.removeChild(linkNode); - } - } -}; -_ImagePreloadService.ɵfac = function ImagePreloadService_Factory(t) { - return new (t || _ImagePreloadService)(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); -}; -_ImagePreloadService.ɵprov = ɵɵdefineInjectable({ - token: _ImagePreloadService, - factory: _ImagePreloadService.ɵfac, - providedIn: "root" -}); -var ImagePreloadService = _ImagePreloadService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ImagePreloadService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }], null); -})(); - -export { - reqAnimFrame, - NzResizeService, - NzSingletonService, - NzDragService, - gridResponsiveMap, - siderResponsiveMap, - NzBreakpointService, - NzDestroyService -}; -//# sourceMappingURL=chunk-D5ODNR6D.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js.map b/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js.map deleted file mode 100644 index 9ed51da..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-D5ODNR6D.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-polyfill.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-services.mjs"], - "sourcesContent": ["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/* eslint-disable no-invalid-this */\nconst availablePrefixes = ['moz', 'ms', 'webkit'];\nfunction requestAnimationFramePolyfill() {\n let lastTime = 0;\n return function (callback) {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = setTimeout(() => {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\nfunction getRequestAnimationFrame() {\n if (typeof window === 'undefined') {\n return () => 0;\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n const prefix = availablePrefixes.filter(key => `${key}RequestAnimationFrame` in window)[0];\n return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\nfunction cancelRequestAnimationFrame(id) {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixes.filter(key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window)[0];\n return prefix\n ? (window[`${prefix}CancelAnimationFrame`] ||\n window[`${prefix}CancelRequestAnimationFrame`])\n // @ts-ignore\n .call(this, id)\n : clearTimeout(id);\n}\nconst reqAnimFrame = getRequestAnimationFrame();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { cancelRequestAnimationFrame, reqAnimFrame };\n\n", "import * as i0 from '@angular/core';\nimport { Injectable, Inject } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { auditTime, finalize, map, filter, takeUntil, startWith, distinctUntilChanged } from 'rxjs/operators';\nimport { environment } from 'ng-zorro-antd/core/environments';\nimport { getEventPosition, isTouchEvent } from 'ng-zorro-antd/core/util';\nimport { DOCUMENT } from '@angular/common';\nimport { reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport * as i2 from '@angular/cdk/layout';\nimport * as i1 from '@angular/cdk/platform';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NOOP = () => {};\nclass NzResizeService {\n constructor(ngZone, rendererFactory2) {\n this.ngZone = ngZone;\n this.rendererFactory2 = rendererFactory2;\n this.resizeSource$ = new Subject();\n this.listeners = 0;\n this.disposeHandle = NOOP;\n this.handler = () => {\n this.ngZone.run(() => {\n this.resizeSource$.next();\n });\n };\n this.renderer = this.rendererFactory2.createRenderer(null, null);\n }\n ngOnDestroy() {\n // Caretaker note: the `handler` is an instance property (it's not defined on the class prototype).\n // The `handler` captures `this` and prevents the `NzResizeService` from being GC'd.\n this.handler = NOOP;\n }\n subscribe() {\n this.registerListener();\n return this.resizeSource$.pipe(auditTime(16), finalize(() => this.unregisterListener()));\n }\n unsubscribe() {\n this.unregisterListener();\n }\n registerListener() {\n if (this.listeners === 0) {\n this.ngZone.runOutsideAngular(() => {\n this.disposeHandle = this.renderer.listen('window', 'resize', this.handler);\n });\n }\n this.listeners += 1;\n }\n unregisterListener() {\n this.listeners -= 1;\n if (this.listeners === 0) {\n this.disposeHandle();\n this.disposeHandle = NOOP;\n }\n }\n static {\n this.ɵfac = function NzResizeService_Factory(t) {\n return new (t || NzResizeService)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.RendererFactory2));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzResizeService,\n factory: NzResizeService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzResizeService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i0.RendererFactory2\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * When running in test, singletons should not be destroyed. So we keep references of singletons\n * in this global variable.\n */\nconst testSingleRegistry = new Map();\n/**\n * Some singletons should have life cycle that is same to Angular's. This service make sure that\n * those singletons get destroyed in HMR.\n */\nclass NzSingletonService {\n constructor() {\n /**\n * This registry is used to register singleton in dev mode.\n * So that singletons get destroyed when hot module reload happens.\n *\n * This works in prod mode too but with no specific effect.\n */\n this._singletonRegistry = new Map();\n }\n get singletonRegistry() {\n return environment.isTestMode ? testSingleRegistry : this._singletonRegistry;\n }\n registerSingletonWithKey(key, target) {\n const alreadyHave = this.singletonRegistry.has(key);\n const item = alreadyHave ? this.singletonRegistry.get(key) : this.withNewTarget(target);\n if (!alreadyHave) {\n this.singletonRegistry.set(key, item);\n }\n }\n unregisterSingletonWithKey(key) {\n if (this.singletonRegistry.has(key)) {\n this.singletonRegistry.delete(key);\n }\n }\n getSingletonWithKey(key) {\n return this.singletonRegistry.has(key) ? this.singletonRegistry.get(key).target : null;\n }\n withNewTarget(target) {\n return {\n target\n };\n }\n static {\n this.ɵfac = function NzSingletonService_Factory(t) {\n return new (t || NzSingletonService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzSingletonService,\n factory: NzSingletonService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSingletonService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction getPagePosition(event) {\n const e = getEventPosition(event);\n return {\n x: e.pageX,\n y: e.pageY\n };\n}\n/**\n * This module provide a global dragging service to other components.\n */\nclass NzDragService {\n constructor(rendererFactory2) {\n this.draggingThreshold = 5;\n this.currentDraggingSequence = null;\n this.currentStartingPoint = null;\n this.handleRegistry = new Set();\n this.renderer = rendererFactory2.createRenderer(null, null);\n }\n requestDraggingSequence(event) {\n if (!this.handleRegistry.size) {\n this.registerDraggingHandler(isTouchEvent(event));\n }\n // Complete last dragging sequence if a new target is dragged.\n if (this.currentDraggingSequence) {\n this.currentDraggingSequence.complete();\n }\n this.currentStartingPoint = getPagePosition(event);\n this.currentDraggingSequence = new Subject();\n return this.currentDraggingSequence.pipe(map(e => ({\n x: e.pageX - this.currentStartingPoint.x,\n y: e.pageY - this.currentStartingPoint.y\n })), filter(e => Math.abs(e.x) > this.draggingThreshold || Math.abs(e.y) > this.draggingThreshold), finalize(() => this.teardownDraggingSequence()));\n }\n registerDraggingHandler(isTouch) {\n if (isTouch) {\n this.handleRegistry.add({\n teardown: this.renderer.listen('document', 'touchmove', e => {\n if (this.currentDraggingSequence) {\n this.currentDraggingSequence.next(e.touches[0] || e.changedTouches[0]);\n }\n })\n });\n this.handleRegistry.add({\n teardown: this.renderer.listen('document', 'touchend', () => {\n if (this.currentDraggingSequence) {\n this.currentDraggingSequence.complete();\n }\n })\n });\n } else {\n this.handleRegistry.add({\n teardown: this.renderer.listen('document', 'mousemove', e => {\n if (this.currentDraggingSequence) {\n this.currentDraggingSequence.next(e);\n }\n })\n });\n this.handleRegistry.add({\n teardown: this.renderer.listen('document', 'mouseup', () => {\n if (this.currentDraggingSequence) {\n this.currentDraggingSequence.complete();\n }\n })\n });\n }\n }\n teardownDraggingSequence() {\n this.currentDraggingSequence = null;\n }\n static {\n this.ɵfac = function NzDragService_Factory(t) {\n return new (t || NzDragService)(i0.ɵɵinject(i0.RendererFactory2));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzDragService,\n factory: NzDragService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDragService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.RendererFactory2\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n let tt = t / (d / 2);\n if (tt < 1) {\n return cc / 2 * tt * tt * tt + b;\n } else {\n return cc / 2 * ((tt -= 2) * tt * tt + 2) + b;\n }\n}\nclass NzScrollService {\n constructor(ngZone, doc) {\n this.ngZone = ngZone;\n this.doc = doc;\n }\n /** Set the position of the scroll bar of `el`. */\n setScrollTop(el, topValue = 0) {\n if (el === window) {\n this.doc.body.scrollTop = topValue;\n this.doc.documentElement.scrollTop = topValue;\n } else {\n el.scrollTop = topValue;\n }\n }\n /** Get position of `el` against window. */\n getOffset(el) {\n const ret = {\n top: 0,\n left: 0\n };\n if (!el || !el.getClientRects().length) {\n return ret;\n }\n const rect = el.getBoundingClientRect();\n if (rect.width || rect.height) {\n const doc = el.ownerDocument.documentElement;\n ret.top = rect.top - doc.clientTop;\n ret.left = rect.left - doc.clientLeft;\n } else {\n ret.top = rect.top;\n ret.left = rect.left;\n }\n return ret;\n }\n /** Get the position of the scoll bar of `el`. */\n // TODO: remove '| Window' as the fallback already happens here\n getScroll(target, top = true) {\n if (typeof window === 'undefined') {\n return 0;\n }\n const method = top ? 'scrollTop' : 'scrollLeft';\n let result = 0;\n if (this.isWindow(target)) {\n result = target[top ? 'pageYOffset' : 'pageXOffset'];\n } else if (target instanceof Document) {\n result = target.documentElement[method];\n } else if (target) {\n result = target[method];\n }\n if (target && !this.isWindow(target) && typeof result !== 'number') {\n result = (target.ownerDocument || target).documentElement[method];\n }\n return result;\n }\n isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n }\n /**\n * Scroll `el` to some position with animation.\n *\n * @param containerEl container, `window` by default\n * @param y Scroll to `top`, 0 by default\n */\n scrollTo(containerEl, y = 0, options = {}) {\n const target = containerEl ? containerEl : window;\n const scrollTop = this.getScroll(target);\n const startTime = Date.now();\n const {\n easing,\n callback,\n duration = 450\n } = options;\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = (easing || easeInOutCubic)(time > duration ? duration : time, scrollTop, y, duration);\n if (this.isWindow(target)) {\n target.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (target instanceof HTMLDocument || target.constructor.name === 'HTMLDocument') {\n target.documentElement.scrollTop = nextScrollTop;\n } else {\n target.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n reqAnimFrame(frameFunc);\n } else if (typeof callback === 'function') {\n // Caretaker note: the `frameFunc` is called within the `` zone, but we have to re-enter\n // the Angular zone when calling custom callback to be backwards-compatible.\n this.ngZone.run(callback);\n }\n };\n // Caretaker note: the `requestAnimationFrame` triggers change detection, but updating a `scrollTop` property or\n // calling `window.scrollTo` doesn't require Angular to run `ApplicationRef.tick()`.\n this.ngZone.runOutsideAngular(() => reqAnimFrame(frameFunc));\n }\n static {\n this.ɵfac = function NzScrollService_Factory(t) {\n return new (t || NzScrollService)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzScrollService,\n factory: NzScrollService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzScrollService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\nvar NzBreakpointEnum;\n(function (NzBreakpointEnum) {\n NzBreakpointEnum[\"xxl\"] = \"xxl\";\n NzBreakpointEnum[\"xl\"] = \"xl\";\n NzBreakpointEnum[\"lg\"] = \"lg\";\n NzBreakpointEnum[\"md\"] = \"md\";\n NzBreakpointEnum[\"sm\"] = \"sm\";\n NzBreakpointEnum[\"xs\"] = \"xs\";\n})(NzBreakpointEnum || (NzBreakpointEnum = {}));\nconst gridResponsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nconst siderResponsiveMap = {\n xs: '(max-width: 479.98px)',\n sm: '(max-width: 575.98px)',\n md: '(max-width: 767.98px)',\n lg: '(max-width: 991.98px)',\n xl: '(max-width: 1199.98px)',\n xxl: '(max-width: 1599.98px)'\n};\nclass NzBreakpointService {\n constructor(resizeService, mediaMatcher) {\n this.resizeService = resizeService;\n this.mediaMatcher = mediaMatcher;\n this.destroy$ = new Subject();\n this.resizeService.subscribe().pipe(takeUntil(this.destroy$)).subscribe(() => {});\n }\n ngOnDestroy() {\n this.destroy$.next();\n }\n subscribe(breakpointMap, fullMap) {\n if (fullMap) {\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const get = () => this.matchMedia(breakpointMap, true);\n return this.resizeService.subscribe().pipe(map(get), startWith(get()), distinctUntilChanged((x, y) => x[0] === y[0]), map(x => x[1]));\n } else {\n // eslint-disable-next-line @typescript-eslint/explicit-function-return-type\n const get = () => this.matchMedia(breakpointMap);\n return this.resizeService.subscribe().pipe(map(get), startWith(get()), distinctUntilChanged());\n }\n }\n matchMedia(breakpointMap, fullMap) {\n let bp = NzBreakpointEnum.md;\n const breakpointBooleanMap = {};\n Object.keys(breakpointMap).map(breakpoint => {\n const castBP = breakpoint;\n const matched = this.mediaMatcher.matchMedia(gridResponsiveMap[castBP]).matches;\n breakpointBooleanMap[breakpoint] = matched;\n if (matched) {\n bp = castBP;\n }\n });\n if (fullMap) {\n return [bp, breakpointBooleanMap];\n } else {\n return bp;\n }\n }\n static {\n this.ɵfac = function NzBreakpointService_Factory(t) {\n return new (t || NzBreakpointService)(i0.ɵɵinject(NzResizeService), i0.ɵɵinject(i2.MediaMatcher));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzBreakpointService,\n factory: NzBreakpointService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzBreakpointService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: NzResizeService\n }, {\n type: i2.MediaMatcher\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDestroyService extends Subject {\n ngOnDestroy() {\n this.next();\n this.complete();\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵNzDestroyService_BaseFactory;\n return function NzDestroyService_Factory(t) {\n return (ɵNzDestroyService_BaseFactory || (ɵNzDestroyService_BaseFactory = i0.ɵɵgetInheritedFactory(NzDestroyService)))(t || NzDestroyService);\n };\n })();\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzDestroyService,\n factory: NzDestroyService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDestroyService, [{\n type: Injectable\n }], null, null);\n})();\nclass ImagePreloadService {\n constructor(document, platform) {\n this.document = document;\n this.platform = platform;\n this.counter = new Map();\n this.linkRefs = new Map();\n }\n addPreload(option) {\n if (this.platform.isBrowser) {\n return () => void 0;\n }\n const uniqueKey = `${option.src}${option.srcset}`;\n let currentCount = this.counter.get(uniqueKey) || 0;\n currentCount++;\n this.counter.set(uniqueKey, currentCount);\n if (!this.linkRefs.has(uniqueKey)) {\n const linkNode = this.appendPreloadLink(option);\n this.linkRefs.set(uniqueKey, linkNode);\n }\n return () => {\n if (this.counter.has(uniqueKey)) {\n let count = this.counter.get(uniqueKey);\n count--;\n if (count === 0) {\n const linkNode = this.linkRefs.get(uniqueKey);\n this.removePreloadLink(linkNode);\n this.counter.delete(uniqueKey);\n this.linkRefs.delete(uniqueKey);\n } else {\n this.counter.set(uniqueKey, count);\n }\n }\n };\n }\n appendPreloadLink(option) {\n const linkNode = this.document.createElement('link');\n linkNode.setAttribute('rel', 'preload');\n linkNode.setAttribute('as', 'image');\n linkNode.setAttribute('href', option.src);\n if (option.srcset) {\n linkNode.setAttribute('imagesrcset', option.srcset);\n }\n this.document.head.appendChild(linkNode);\n return linkNode;\n }\n removePreloadLink(linkNode) {\n if (this.document.head.contains(linkNode)) {\n this.document.head.removeChild(linkNode);\n }\n }\n static {\n this.ɵfac = function ImagePreloadService_Factory(t) {\n return new (t || ImagePreloadService)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.Platform));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ImagePreloadService,\n factory: ImagePreloadService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ImagePreloadService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1.Platform\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ImagePreloadService, NzBreakpointEnum, NzBreakpointService, NzDestroyService, NzDragService, NzResizeService, NzScrollService, NzSingletonService, gridResponsiveMap, siderResponsiveMap };\n"], - "mappings": "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", - "names": ["NzBreakpointEnum"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js b/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js deleted file mode 100644 index dd6ff51..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js +++ /dev/null @@ -1,2373 +0,0 @@ -import { - A, - ALT, - CONTROL, - DOWN_ARROW, - END, - HOME, - LEFT_ARROW, - MAC_META, - META, - NINE, - PAGE_DOWN, - PAGE_UP, - RIGHT_ARROW, - SHIFT, - TAB, - UP_ARROW, - Z, - ZERO, - hasModifierKey -} from "./chunk-JGP5BR6B.js"; -import { - BreakpointObserver -} from "./chunk-WB57DPWD.js"; -import { - Platform, - _getEventTarget, - _getFocusedElementPierceShadowDom, - _getShadowRoot, - normalizePassiveListenerOptions -} from "./chunk-IAC53GOD.js"; -import { - coerceElement, - coerceNumberProperty -} from "./chunk-M5GY4FCO.js"; -import { - DOCUMENT -} from "./chunk-OSQBUYO6.js"; -import { - APP_ID, - BehaviorSubject, - Directive, - ElementRef, - EventEmitter, - Inject, - Injectable, - InjectionToken, - Input, - NgModule, - NgZone, - Observable, - Optional, - Output, - QueryList, - Subject, - Subscription, - booleanAttribute, - debounceTime, - distinctUntilChanged, - filter, - inject, - map, - of, - setClassMetadata, - skip, - take, - takeUntil, - tap, - ɵɵInputTransformsFeature, - ɵɵNgOnChangesFeature, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵinject -} from "./chunk-FGESKT7O.js"; -import { - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/@angular/cdk/fesm2022/observers.mjs -var _MutationObserverFactory = class _MutationObserverFactory { - create(callback) { - return typeof MutationObserver === "undefined" ? null : new MutationObserver(callback); - } -}; -_MutationObserverFactory.ɵfac = function MutationObserverFactory_Factory(t) { - return new (t || _MutationObserverFactory)(); -}; -_MutationObserverFactory.ɵprov = ɵɵdefineInjectable({ - token: _MutationObserverFactory, - factory: _MutationObserverFactory.ɵfac, - providedIn: "root" -}); -var MutationObserverFactory = _MutationObserverFactory; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MutationObserverFactory, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -var _ContentObserver = class _ContentObserver { - constructor(_mutationObserverFactory) { - this._mutationObserverFactory = _mutationObserverFactory; - this._observedElements = /* @__PURE__ */ new Map(); - } - ngOnDestroy() { - this._observedElements.forEach((_, element) => this._cleanupObserver(element)); - } - observe(elementOrRef) { - const element = coerceElement(elementOrRef); - return new Observable((observer) => { - const stream = this._observeElement(element); - const subscription = stream.subscribe(observer); - return () => { - subscription.unsubscribe(); - this._unobserveElement(element); - }; - }); - } - /** - * Observes the given element by using the existing MutationObserver if available, or creating a - * new one if not. - */ - _observeElement(element) { - if (!this._observedElements.has(element)) { - const stream = new Subject(); - const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations)); - if (observer) { - observer.observe(element, { - characterData: true, - childList: true, - subtree: true - }); - } - this._observedElements.set(element, { - observer, - stream, - count: 1 - }); - } else { - this._observedElements.get(element).count++; - } - return this._observedElements.get(element).stream; - } - /** - * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is - * observing this element. - */ - _unobserveElement(element) { - if (this._observedElements.has(element)) { - this._observedElements.get(element).count--; - if (!this._observedElements.get(element).count) { - this._cleanupObserver(element); - } - } - } - /** Clean up the underlying MutationObserver for the specified element. */ - _cleanupObserver(element) { - if (this._observedElements.has(element)) { - const { - observer, - stream - } = this._observedElements.get(element); - if (observer) { - observer.disconnect(); - } - stream.complete(); - this._observedElements.delete(element); - } - } -}; -_ContentObserver.ɵfac = function ContentObserver_Factory(t) { - return new (t || _ContentObserver)(ɵɵinject(MutationObserverFactory)); -}; -_ContentObserver.ɵprov = ɵɵdefineInjectable({ - token: _ContentObserver, - factory: _ContentObserver.ɵfac, - providedIn: "root" -}); -var ContentObserver = _ContentObserver; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ContentObserver, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: MutationObserverFactory - }], null); -})(); -var _CdkObserveContent = class _CdkObserveContent { - /** - * Whether observing content is disabled. This option can be used - * to disconnect the underlying MutationObserver until it is needed. - */ - get disabled() { - return this._disabled; - } - set disabled(value) { - this._disabled = value; - this._disabled ? this._unsubscribe() : this._subscribe(); - } - /** Debounce interval for emitting the changes. */ - get debounce() { - return this._debounce; - } - set debounce(value) { - this._debounce = coerceNumberProperty(value); - this._subscribe(); - } - constructor(_contentObserver, _elementRef, _ngZone) { - this._contentObserver = _contentObserver; - this._elementRef = _elementRef; - this._ngZone = _ngZone; - this.event = new EventEmitter(); - this._disabled = false; - this._currentSubscription = null; - } - ngAfterContentInit() { - if (!this._currentSubscription && !this.disabled) { - this._subscribe(); - } - } - ngOnDestroy() { - this._unsubscribe(); - } - _subscribe() { - this._unsubscribe(); - const stream = this._contentObserver.observe(this._elementRef); - this._ngZone.runOutsideAngular(() => { - this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event); - }); - } - _unsubscribe() { - this._currentSubscription?.unsubscribe(); - } -}; -_CdkObserveContent.ɵfac = function CdkObserveContent_Factory(t) { - return new (t || _CdkObserveContent)(ɵɵdirectiveInject(ContentObserver), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NgZone)); -}; -_CdkObserveContent.ɵdir = ɵɵdefineDirective({ - type: _CdkObserveContent, - selectors: [["", "cdkObserveContent", ""]], - inputs: { - disabled: ["cdkObserveContentDisabled", "disabled", booleanAttribute], - debounce: "debounce" - }, - outputs: { - event: "cdkObserveContent" - }, - exportAs: ["cdkObserveContent"], - features: [ɵɵInputTransformsFeature] -}); -var CdkObserveContent = _CdkObserveContent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkObserveContent, [{ - type: Directive, - args: [{ - selector: "[cdkObserveContent]", - exportAs: "cdkObserveContent" - }] - }], () => [{ - type: ContentObserver - }, { - type: ElementRef - }, { - type: NgZone - }], { - event: [{ - type: Output, - args: ["cdkObserveContent"] - }], - disabled: [{ - type: Input, - args: [{ - alias: "cdkObserveContentDisabled", - transform: booleanAttribute - }] - }], - debounce: [{ - type: Input - }] - }); -})(); -var _ObserversModule = class _ObserversModule { -}; -_ObserversModule.ɵfac = function ObserversModule_Factory(t) { - return new (t || _ObserversModule)(); -}; -_ObserversModule.ɵmod = ɵɵdefineNgModule({ - type: _ObserversModule, - declarations: [CdkObserveContent], - exports: [CdkObserveContent] -}); -_ObserversModule.ɵinj = ɵɵdefineInjector({ - providers: [MutationObserverFactory] -}); -var ObserversModule = _ObserversModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ObserversModule, [{ - type: NgModule, - args: [{ - exports: [CdkObserveContent], - declarations: [CdkObserveContent], - providers: [MutationObserverFactory] - }] - }], null, null); -})(); - -// node_modules/@angular/cdk/fesm2022/a11y.mjs -var ID_DELIMITER = " "; -function addAriaReferencedId(el, attr, id) { - const ids = getAriaReferenceIds(el, attr); - if (ids.some((existingId) => existingId.trim() == id.trim())) { - return; - } - ids.push(id.trim()); - el.setAttribute(attr, ids.join(ID_DELIMITER)); -} -function removeAriaReferencedId(el, attr, id) { - const ids = getAriaReferenceIds(el, attr); - const filteredIds = ids.filter((val) => val != id.trim()); - if (filteredIds.length) { - el.setAttribute(attr, filteredIds.join(ID_DELIMITER)); - } else { - el.removeAttribute(attr); - } -} -function getAriaReferenceIds(el, attr) { - return (el.getAttribute(attr) || "").match(/\S+/g) || []; -} -var CDK_DESCRIBEDBY_ID_PREFIX = "cdk-describedby-message"; -var CDK_DESCRIBEDBY_HOST_ATTRIBUTE = "cdk-describedby-host"; -var nextId = 0; -var _AriaDescriber = class _AriaDescriber { - constructor(_document, _platform) { - this._platform = _platform; - this._messageRegistry = /* @__PURE__ */ new Map(); - this._messagesContainer = null; - this._id = `${nextId++}`; - this._document = _document; - this._id = inject(APP_ID) + "-" + nextId++; - } - describe(hostElement, message, role) { - if (!this._canBeDescribed(hostElement, message)) { - return; - } - const key = getKey(message, role); - if (typeof message !== "string") { - setMessageId(message, this._id); - this._messageRegistry.set(key, { - messageElement: message, - referenceCount: 0 - }); - } else if (!this._messageRegistry.has(key)) { - this._createMessageElement(message, role); - } - if (!this._isElementDescribedByMessage(hostElement, key)) { - this._addMessageReference(hostElement, key); - } - } - removeDescription(hostElement, message, role) { - if (!message || !this._isElementNode(hostElement)) { - return; - } - const key = getKey(message, role); - if (this._isElementDescribedByMessage(hostElement, key)) { - this._removeMessageReference(hostElement, key); - } - if (typeof message === "string") { - const registeredMessage = this._messageRegistry.get(key); - if (registeredMessage && registeredMessage.referenceCount === 0) { - this._deleteMessageElement(key); - } - } - if (this._messagesContainer?.childNodes.length === 0) { - this._messagesContainer.remove(); - this._messagesContainer = null; - } - } - /** Unregisters all created message elements and removes the message container. */ - ngOnDestroy() { - const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}="${this._id}"]`); - for (let i = 0; i < describedElements.length; i++) { - this._removeCdkDescribedByReferenceIds(describedElements[i]); - describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE); - } - this._messagesContainer?.remove(); - this._messagesContainer = null; - this._messageRegistry.clear(); - } - /** - * Creates a new element in the visually hidden message container element with the message - * as its content and adds it to the message registry. - */ - _createMessageElement(message, role) { - const messageElement = this._document.createElement("div"); - setMessageId(messageElement, this._id); - messageElement.textContent = message; - if (role) { - messageElement.setAttribute("role", role); - } - this._createMessagesContainer(); - this._messagesContainer.appendChild(messageElement); - this._messageRegistry.set(getKey(message, role), { - messageElement, - referenceCount: 0 - }); - } - /** Deletes the message element from the global messages container. */ - _deleteMessageElement(key) { - this._messageRegistry.get(key)?.messageElement?.remove(); - this._messageRegistry.delete(key); - } - /** Creates the global container for all aria-describedby messages. */ - _createMessagesContainer() { - if (this._messagesContainer) { - return; - } - const containerClassName = "cdk-describedby-message-container"; - const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform="server"]`); - for (let i = 0; i < serverContainers.length; i++) { - serverContainers[i].remove(); - } - const messagesContainer = this._document.createElement("div"); - messagesContainer.style.visibility = "hidden"; - messagesContainer.classList.add(containerClassName); - messagesContainer.classList.add("cdk-visually-hidden"); - if (this._platform && !this._platform.isBrowser) { - messagesContainer.setAttribute("platform", "server"); - } - this._document.body.appendChild(messagesContainer); - this._messagesContainer = messagesContainer; - } - /** Removes all cdk-describedby messages that are hosted through the element. */ - _removeCdkDescribedByReferenceIds(element) { - const originalReferenceIds = getAriaReferenceIds(element, "aria-describedby").filter((id) => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0); - element.setAttribute("aria-describedby", originalReferenceIds.join(" ")); - } - /** - * Adds a message reference to the element using aria-describedby and increments the registered - * message's reference count. - */ - _addMessageReference(element, key) { - const registeredMessage = this._messageRegistry.get(key); - addAriaReferencedId(element, "aria-describedby", registeredMessage.messageElement.id); - element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id); - registeredMessage.referenceCount++; - } - /** - * Removes a message reference from the element using aria-describedby - * and decrements the registered message's reference count. - */ - _removeMessageReference(element, key) { - const registeredMessage = this._messageRegistry.get(key); - registeredMessage.referenceCount--; - removeAriaReferencedId(element, "aria-describedby", registeredMessage.messageElement.id); - element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE); - } - /** Returns true if the element has been described by the provided message ID. */ - _isElementDescribedByMessage(element, key) { - const referenceIds = getAriaReferenceIds(element, "aria-describedby"); - const registeredMessage = this._messageRegistry.get(key); - const messageId = registeredMessage && registeredMessage.messageElement.id; - return !!messageId && referenceIds.indexOf(messageId) != -1; - } - /** Determines whether a message can be described on a particular element. */ - _canBeDescribed(element, message) { - if (!this._isElementNode(element)) { - return false; - } - if (message && typeof message === "object") { - return true; - } - const trimmedMessage = message == null ? "" : `${message}`.trim(); - const ariaLabel = element.getAttribute("aria-label"); - return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false; - } - /** Checks whether a node is an Element node. */ - _isElementNode(element) { - return element.nodeType === this._document.ELEMENT_NODE; - } -}; -_AriaDescriber.ɵfac = function AriaDescriber_Factory(t) { - return new (t || _AriaDescriber)(ɵɵinject(DOCUMENT), ɵɵinject(Platform)); -}; -_AriaDescriber.ɵprov = ɵɵdefineInjectable({ - token: _AriaDescriber, - factory: _AriaDescriber.ɵfac, - providedIn: "root" -}); -var AriaDescriber = _AriaDescriber; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(AriaDescriber, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: Platform - }], null); -})(); -function getKey(message, role) { - return typeof message === "string" ? `${role || ""}/${message}` : message; -} -function setMessageId(element, serviceId) { - if (!element.id) { - element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${serviceId}-${nextId++}`; - } -} -var ListKeyManager = class { - constructor(_items) { - this._items = _items; - this._activeItemIndex = -1; - this._activeItem = null; - this._wrap = false; - this._letterKeyStream = new Subject(); - this._typeaheadSubscription = Subscription.EMPTY; - this._vertical = true; - this._allowedModifierKeys = []; - this._homeAndEnd = false; - this._pageUpAndDown = { - enabled: false, - delta: 10 - }; - this._skipPredicateFn = (item) => item.disabled; - this._pressedLetters = []; - this.tabOut = new Subject(); - this.change = new Subject(); - if (_items instanceof QueryList) { - this._itemChangesSubscription = _items.changes.subscribe((newItems) => { - if (this._activeItem) { - const itemArray = newItems.toArray(); - const newIndex = itemArray.indexOf(this._activeItem); - if (newIndex > -1 && newIndex !== this._activeItemIndex) { - this._activeItemIndex = newIndex; - } - } - }); - } - } - /** - * Sets the predicate function that determines which items should be skipped by the - * list key manager. - * @param predicate Function that determines whether the given item should be skipped. - */ - skipPredicate(predicate) { - this._skipPredicateFn = predicate; - return this; - } - /** - * Configures wrapping mode, which determines whether the active item will wrap to - * the other end of list when there are no more items in the given direction. - * @param shouldWrap Whether the list should wrap when reaching the end. - */ - withWrap(shouldWrap = true) { - this._wrap = shouldWrap; - return this; - } - /** - * Configures whether the key manager should be able to move the selection vertically. - * @param enabled Whether vertical selection should be enabled. - */ - withVerticalOrientation(enabled = true) { - this._vertical = enabled; - return this; - } - /** - * Configures the key manager to move the selection horizontally. - * Passing in `null` will disable horizontal movement. - * @param direction Direction in which the selection can be moved. - */ - withHorizontalOrientation(direction) { - this._horizontal = direction; - return this; - } - /** - * Modifier keys which are allowed to be held down and whose default actions will be prevented - * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys. - */ - withAllowedModifierKeys(keys) { - this._allowedModifierKeys = keys; - return this; - } - /** - * Turns on typeahead mode which allows users to set the active item by typing. - * @param debounceInterval Time to wait after the last keystroke before setting the active item. - */ - withTypeAhead(debounceInterval = 200) { - if ((typeof ngDevMode === "undefined" || ngDevMode) && this._items.length && this._items.some((item) => typeof item.getLabel !== "function")) { - throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method."); - } - this._typeaheadSubscription.unsubscribe(); - this._typeaheadSubscription = this._letterKeyStream.pipe(tap((letter) => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(""))).subscribe((inputString) => { - const items = this._getItemsArray(); - for (let i = 1; i < items.length + 1; i++) { - const index = (this._activeItemIndex + i) % items.length; - const item = items[index]; - if (!this._skipPredicateFn(item) && item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) { - this.setActiveItem(index); - break; - } - } - this._pressedLetters = []; - }); - return this; - } - /** Cancels the current typeahead sequence. */ - cancelTypeahead() { - this._pressedLetters = []; - return this; - } - /** - * Configures the key manager to activate the first and last items - * respectively when the Home or End key is pressed. - * @param enabled Whether pressing the Home or End key activates the first/last item. - */ - withHomeAndEnd(enabled = true) { - this._homeAndEnd = enabled; - return this; - } - /** - * Configures the key manager to activate every 10th, configured or first/last element in up/down direction - * respectively when the Page-Up or Page-Down key is pressed. - * @param enabled Whether pressing the Page-Up or Page-Down key activates the first/last item. - * @param delta Whether pressing the Home or End key activates the first/last item. - */ - withPageUpDown(enabled = true, delta = 10) { - this._pageUpAndDown = { - enabled, - delta - }; - return this; - } - setActiveItem(item) { - const previousActiveItem = this._activeItem; - this.updateActiveItem(item); - if (this._activeItem !== previousActiveItem) { - this.change.next(this._activeItemIndex); - } - } - /** - * Sets the active item depending on the key event passed in. - * @param event Keyboard event to be used for determining which element should be active. - */ - onKeydown(event) { - const keyCode = event.keyCode; - const modifiers = ["altKey", "ctrlKey", "metaKey", "shiftKey"]; - const isModifierAllowed = modifiers.every((modifier) => { - return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1; - }); - switch (keyCode) { - case TAB: - this.tabOut.next(); - return; - case DOWN_ARROW: - if (this._vertical && isModifierAllowed) { - this.setNextItemActive(); - break; - } else { - return; - } - case UP_ARROW: - if (this._vertical && isModifierAllowed) { - this.setPreviousItemActive(); - break; - } else { - return; - } - case RIGHT_ARROW: - if (this._horizontal && isModifierAllowed) { - this._horizontal === "rtl" ? this.setPreviousItemActive() : this.setNextItemActive(); - break; - } else { - return; - } - case LEFT_ARROW: - if (this._horizontal && isModifierAllowed) { - this._horizontal === "rtl" ? this.setNextItemActive() : this.setPreviousItemActive(); - break; - } else { - return; - } - case HOME: - if (this._homeAndEnd && isModifierAllowed) { - this.setFirstItemActive(); - break; - } else { - return; - } - case END: - if (this._homeAndEnd && isModifierAllowed) { - this.setLastItemActive(); - break; - } else { - return; - } - case PAGE_UP: - if (this._pageUpAndDown.enabled && isModifierAllowed) { - const targetIndex = this._activeItemIndex - this._pageUpAndDown.delta; - this._setActiveItemByIndex(targetIndex > 0 ? targetIndex : 0, 1); - break; - } else { - return; - } - case PAGE_DOWN: - if (this._pageUpAndDown.enabled && isModifierAllowed) { - const targetIndex = this._activeItemIndex + this._pageUpAndDown.delta; - const itemsLength = this._getItemsArray().length; - this._setActiveItemByIndex(targetIndex < itemsLength ? targetIndex : itemsLength - 1, -1); - break; - } else { - return; - } - default: - if (isModifierAllowed || hasModifierKey(event, "shiftKey")) { - if (event.key && event.key.length === 1) { - this._letterKeyStream.next(event.key.toLocaleUpperCase()); - } else if (keyCode >= A && keyCode <= Z || keyCode >= ZERO && keyCode <= NINE) { - this._letterKeyStream.next(String.fromCharCode(keyCode)); - } - } - return; - } - this._pressedLetters = []; - event.preventDefault(); - } - /** Index of the currently active item. */ - get activeItemIndex() { - return this._activeItemIndex; - } - /** The active item. */ - get activeItem() { - return this._activeItem; - } - /** Gets whether the user is currently typing into the manager using the typeahead feature. */ - isTyping() { - return this._pressedLetters.length > 0; - } - /** Sets the active item to the first enabled item in the list. */ - setFirstItemActive() { - this._setActiveItemByIndex(0, 1); - } - /** Sets the active item to the last enabled item in the list. */ - setLastItemActive() { - this._setActiveItemByIndex(this._items.length - 1, -1); - } - /** Sets the active item to the next enabled item in the list. */ - setNextItemActive() { - this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1); - } - /** Sets the active item to a previous enabled item in the list. */ - setPreviousItemActive() { - this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive() : this._setActiveItemByDelta(-1); - } - updateActiveItem(item) { - const itemArray = this._getItemsArray(); - const index = typeof item === "number" ? item : itemArray.indexOf(item); - const activeItem = itemArray[index]; - this._activeItem = activeItem == null ? null : activeItem; - this._activeItemIndex = index; - } - /** Cleans up the key manager. */ - destroy() { - this._typeaheadSubscription.unsubscribe(); - this._itemChangesSubscription?.unsubscribe(); - this._letterKeyStream.complete(); - this.tabOut.complete(); - this.change.complete(); - this._pressedLetters = []; - } - /** - * This method sets the active item, given a list of items and the delta between the - * currently active item and the new active item. It will calculate differently - * depending on whether wrap mode is turned on. - */ - _setActiveItemByDelta(delta) { - this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta); - } - /** - * Sets the active item properly given "wrap" mode. In other words, it will continue to move - * down the list until it finds an item that is not disabled, and it will wrap if it - * encounters either end of the list. - */ - _setActiveInWrapMode(delta) { - const items = this._getItemsArray(); - for (let i = 1; i <= items.length; i++) { - const index = (this._activeItemIndex + delta * i + items.length) % items.length; - const item = items[index]; - if (!this._skipPredicateFn(item)) { - this.setActiveItem(index); - return; - } - } - } - /** - * Sets the active item properly given the default mode. In other words, it will - * continue to move down the list until it finds an item that is not disabled. If - * it encounters either end of the list, it will stop and not wrap. - */ - _setActiveInDefaultMode(delta) { - this._setActiveItemByIndex(this._activeItemIndex + delta, delta); - } - /** - * Sets the active item to the first enabled item starting at the index specified. If the - * item is disabled, it will move in the fallbackDelta direction until it either - * finds an enabled item or encounters the end of the list. - */ - _setActiveItemByIndex(index, fallbackDelta) { - const items = this._getItemsArray(); - if (!items[index]) { - return; - } - while (this._skipPredicateFn(items[index])) { - index += fallbackDelta; - if (!items[index]) { - return; - } - } - this.setActiveItem(index); - } - /** Returns the items as an array. */ - _getItemsArray() { - return this._items instanceof QueryList ? this._items.toArray() : this._items; - } -}; -var FocusKeyManager = class extends ListKeyManager { - constructor() { - super(...arguments); - this._origin = "program"; - } - /** - * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls. - * @param origin Focus origin to be used when focusing items. - */ - setFocusOrigin(origin) { - this._origin = origin; - return this; - } - setActiveItem(item) { - super.setActiveItem(item); - if (this.activeItem) { - this.activeItem.focus(this._origin); - } - } -}; -var _InteractivityChecker = class _InteractivityChecker { - constructor(_platform) { - this._platform = _platform; - } - /** - * Gets whether an element is disabled. - * - * @param element Element to be checked. - * @returns Whether the element is disabled. - */ - isDisabled(element) { - return element.hasAttribute("disabled"); - } - /** - * Gets whether an element is visible for the purposes of interactivity. - * - * This will capture states like `display: none` and `visibility: hidden`, but not things like - * being clipped by an `overflow: hidden` parent or being outside the viewport. - * - * @returns Whether the element is visible. - */ - isVisible(element) { - return hasGeometry(element) && getComputedStyle(element).visibility === "visible"; - } - /** - * Gets whether an element can be reached via Tab key. - * Assumes that the element has already been checked with isFocusable. - * - * @param element Element to be checked. - * @returns Whether the element is tabbable. - */ - isTabbable(element) { - if (!this._platform.isBrowser) { - return false; - } - const frameElement = getFrameElement(getWindow(element)); - if (frameElement) { - if (getTabIndexValue(frameElement) === -1) { - return false; - } - if (!this.isVisible(frameElement)) { - return false; - } - } - let nodeName = element.nodeName.toLowerCase(); - let tabIndexValue = getTabIndexValue(element); - if (element.hasAttribute("contenteditable")) { - return tabIndexValue !== -1; - } - if (nodeName === "iframe" || nodeName === "object") { - return false; - } - if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) { - return false; - } - if (nodeName === "audio") { - if (!element.hasAttribute("controls")) { - return false; - } - return tabIndexValue !== -1; - } - if (nodeName === "video") { - if (tabIndexValue === -1) { - return false; - } - if (tabIndexValue !== null) { - return true; - } - return this._platform.FIREFOX || element.hasAttribute("controls"); - } - return element.tabIndex >= 0; - } - /** - * Gets whether an element can be focused by the user. - * - * @param element Element to be checked. - * @param config The config object with options to customize this method's behavior - * @returns Whether the element is focusable. - */ - isFocusable(element, config) { - return isPotentiallyFocusable(element) && !this.isDisabled(element) && (config?.ignoreVisibility || this.isVisible(element)); - } -}; -_InteractivityChecker.ɵfac = function InteractivityChecker_Factory(t) { - return new (t || _InteractivityChecker)(ɵɵinject(Platform)); -}; -_InteractivityChecker.ɵprov = ɵɵdefineInjectable({ - token: _InteractivityChecker, - factory: _InteractivityChecker.ɵfac, - providedIn: "root" -}); -var InteractivityChecker = _InteractivityChecker; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(InteractivityChecker, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: Platform - }], null); -})(); -function getFrameElement(window2) { - try { - return window2.frameElement; - } catch { - return null; - } -} -function hasGeometry(element) { - return !!(element.offsetWidth || element.offsetHeight || typeof element.getClientRects === "function" && element.getClientRects().length); -} -function isNativeFormElement(element) { - let nodeName = element.nodeName.toLowerCase(); - return nodeName === "input" || nodeName === "select" || nodeName === "button" || nodeName === "textarea"; -} -function isHiddenInput(element) { - return isInputElement(element) && element.type == "hidden"; -} -function isAnchorWithHref(element) { - return isAnchorElement(element) && element.hasAttribute("href"); -} -function isInputElement(element) { - return element.nodeName.toLowerCase() == "input"; -} -function isAnchorElement(element) { - return element.nodeName.toLowerCase() == "a"; -} -function hasValidTabIndex(element) { - if (!element.hasAttribute("tabindex") || element.tabIndex === void 0) { - return false; - } - let tabIndex = element.getAttribute("tabindex"); - return !!(tabIndex && !isNaN(parseInt(tabIndex, 10))); -} -function getTabIndexValue(element) { - if (!hasValidTabIndex(element)) { - return null; - } - const tabIndex = parseInt(element.getAttribute("tabindex") || "", 10); - return isNaN(tabIndex) ? -1 : tabIndex; -} -function isPotentiallyTabbableIOS(element) { - let nodeName = element.nodeName.toLowerCase(); - let inputType = nodeName === "input" && element.type; - return inputType === "text" || inputType === "password" || nodeName === "select" || nodeName === "textarea"; -} -function isPotentiallyFocusable(element) { - if (isHiddenInput(element)) { - return false; - } - return isNativeFormElement(element) || isAnchorWithHref(element) || element.hasAttribute("contenteditable") || hasValidTabIndex(element); -} -function getWindow(node) { - return node.ownerDocument && node.ownerDocument.defaultView || window; -} -var FocusTrap = class { - /** Whether the focus trap is active. */ - get enabled() { - return this._enabled; - } - set enabled(value) { - this._enabled = value; - if (this._startAnchor && this._endAnchor) { - this._toggleAnchorTabIndex(value, this._startAnchor); - this._toggleAnchorTabIndex(value, this._endAnchor); - } - } - constructor(_element, _checker, _ngZone, _document, deferAnchors = false) { - this._element = _element; - this._checker = _checker; - this._ngZone = _ngZone; - this._document = _document; - this._hasAttached = false; - this.startAnchorListener = () => this.focusLastTabbableElement(); - this.endAnchorListener = () => this.focusFirstTabbableElement(); - this._enabled = true; - if (!deferAnchors) { - this.attachAnchors(); - } - } - /** Destroys the focus trap by cleaning up the anchors. */ - destroy() { - const startAnchor = this._startAnchor; - const endAnchor = this._endAnchor; - if (startAnchor) { - startAnchor.removeEventListener("focus", this.startAnchorListener); - startAnchor.remove(); - } - if (endAnchor) { - endAnchor.removeEventListener("focus", this.endAnchorListener); - endAnchor.remove(); - } - this._startAnchor = this._endAnchor = null; - this._hasAttached = false; - } - /** - * Inserts the anchors into the DOM. This is usually done automatically - * in the constructor, but can be deferred for cases like directives with `*ngIf`. - * @returns Whether the focus trap managed to attach successfully. This may not be the case - * if the target element isn't currently in the DOM. - */ - attachAnchors() { - if (this._hasAttached) { - return true; - } - this._ngZone.runOutsideAngular(() => { - if (!this._startAnchor) { - this._startAnchor = this._createAnchor(); - this._startAnchor.addEventListener("focus", this.startAnchorListener); - } - if (!this._endAnchor) { - this._endAnchor = this._createAnchor(); - this._endAnchor.addEventListener("focus", this.endAnchorListener); - } - }); - if (this._element.parentNode) { - this._element.parentNode.insertBefore(this._startAnchor, this._element); - this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling); - this._hasAttached = true; - } - return this._hasAttached; - } - /** - * Waits for the zone to stabilize, then focuses the first tabbable element. - * @returns Returns a promise that resolves with a boolean, depending - * on whether focus was moved successfully. - */ - focusInitialElementWhenReady(options) { - return new Promise((resolve) => { - this._executeOnStable(() => resolve(this.focusInitialElement(options))); - }); - } - /** - * Waits for the zone to stabilize, then focuses - * the first tabbable element within the focus trap region. - * @returns Returns a promise that resolves with a boolean, depending - * on whether focus was moved successfully. - */ - focusFirstTabbableElementWhenReady(options) { - return new Promise((resolve) => { - this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options))); - }); - } - /** - * Waits for the zone to stabilize, then focuses - * the last tabbable element within the focus trap region. - * @returns Returns a promise that resolves with a boolean, depending - * on whether focus was moved successfully. - */ - focusLastTabbableElementWhenReady(options) { - return new Promise((resolve) => { - this._executeOnStable(() => resolve(this.focusLastTabbableElement(options))); - }); - } - /** - * Get the specified boundary element of the trapped region. - * @param bound The boundary to get (start or end of trapped region). - * @returns The boundary element. - */ - _getRegionBoundary(bound) { - const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], [cdkFocusRegion${bound}], [cdk-focus-${bound}]`); - if (typeof ngDevMode === "undefined" || ngDevMode) { - for (let i = 0; i < markers.length; i++) { - if (markers[i].hasAttribute(`cdk-focus-${bound}`)) { - console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', use 'cdkFocusRegion${bound}' instead. The deprecated attribute will be removed in 8.0.0.`, markers[i]); - } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) { - console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', use 'cdkFocusRegion${bound}' instead. The deprecated attribute will be removed in 8.0.0.`, markers[i]); - } - } - } - if (bound == "start") { - return markers.length ? markers[0] : this._getFirstTabbableElement(this._element); - } - return markers.length ? markers[markers.length - 1] : this._getLastTabbableElement(this._element); - } - /** - * Focuses the element that should be focused when the focus trap is initialized. - * @returns Whether focus was moved successfully. - */ - focusInitialElement(options) { - const redirectToElement = this._element.querySelector(`[cdk-focus-initial], [cdkFocusInitial]`); - if (redirectToElement) { - if ((typeof ngDevMode === "undefined" || ngDevMode) && redirectToElement.hasAttribute(`cdk-focus-initial`)) { - console.warn(`Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead. The deprecated attribute will be removed in 8.0.0`, redirectToElement); - } - if ((typeof ngDevMode === "undefined" || ngDevMode) && !this._checker.isFocusable(redirectToElement)) { - console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement); - } - if (!this._checker.isFocusable(redirectToElement)) { - const focusableChild = this._getFirstTabbableElement(redirectToElement); - focusableChild?.focus(options); - return !!focusableChild; - } - redirectToElement.focus(options); - return true; - } - return this.focusFirstTabbableElement(options); - } - /** - * Focuses the first tabbable element within the focus trap region. - * @returns Whether focus was moved successfully. - */ - focusFirstTabbableElement(options) { - const redirectToElement = this._getRegionBoundary("start"); - if (redirectToElement) { - redirectToElement.focus(options); - } - return !!redirectToElement; - } - /** - * Focuses the last tabbable element within the focus trap region. - * @returns Whether focus was moved successfully. - */ - focusLastTabbableElement(options) { - const redirectToElement = this._getRegionBoundary("end"); - if (redirectToElement) { - redirectToElement.focus(options); - } - return !!redirectToElement; - } - /** - * Checks whether the focus trap has successfully been attached. - */ - hasAttached() { - return this._hasAttached; - } - /** Get the first tabbable element from a DOM subtree (inclusive). */ - _getFirstTabbableElement(root) { - if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) { - return root; - } - const children = root.children; - for (let i = 0; i < children.length; i++) { - const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getFirstTabbableElement(children[i]) : null; - if (tabbableChild) { - return tabbableChild; - } - } - return null; - } - /** Get the last tabbable element from a DOM subtree (inclusive). */ - _getLastTabbableElement(root) { - if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) { - return root; - } - const children = root.children; - for (let i = children.length - 1; i >= 0; i--) { - const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getLastTabbableElement(children[i]) : null; - if (tabbableChild) { - return tabbableChild; - } - } - return null; - } - /** Creates an anchor element. */ - _createAnchor() { - const anchor = this._document.createElement("div"); - this._toggleAnchorTabIndex(this._enabled, anchor); - anchor.classList.add("cdk-visually-hidden"); - anchor.classList.add("cdk-focus-trap-anchor"); - anchor.setAttribute("aria-hidden", "true"); - return anchor; - } - /** - * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap. - * @param isEnabled Whether the focus trap is enabled. - * @param anchor Anchor on which to toggle the tabindex. - */ - _toggleAnchorTabIndex(isEnabled, anchor) { - isEnabled ? anchor.setAttribute("tabindex", "0") : anchor.removeAttribute("tabindex"); - } - /** - * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape. - * @param enabled: Whether the anchors should trap Tab. - */ - toggleAnchors(enabled) { - if (this._startAnchor && this._endAnchor) { - this._toggleAnchorTabIndex(enabled, this._startAnchor); - this._toggleAnchorTabIndex(enabled, this._endAnchor); - } - } - /** Executes a function when the zone is stable. */ - _executeOnStable(fn) { - if (this._ngZone.isStable) { - fn(); - } else { - this._ngZone.onStable.pipe(take(1)).subscribe(fn); - } - } -}; -var _FocusTrapFactory = class _FocusTrapFactory { - constructor(_checker, _ngZone, _document) { - this._checker = _checker; - this._ngZone = _ngZone; - this._document = _document; - } - /** - * Creates a focus-trapped region around the given element. - * @param element The element around which focus will be trapped. - * @param deferCaptureElements Defers the creation of focus-capturing elements to be done - * manually by the user. - * @returns The created focus trap instance. - */ - create(element, deferCaptureElements = false) { - return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements); - } -}; -_FocusTrapFactory.ɵfac = function FocusTrapFactory_Factory(t) { - return new (t || _FocusTrapFactory)(ɵɵinject(InteractivityChecker), ɵɵinject(NgZone), ɵɵinject(DOCUMENT)); -}; -_FocusTrapFactory.ɵprov = ɵɵdefineInjectable({ - token: _FocusTrapFactory, - factory: _FocusTrapFactory.ɵfac, - providedIn: "root" -}); -var FocusTrapFactory = _FocusTrapFactory; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FocusTrapFactory, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: InteractivityChecker - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var _CdkTrapFocus = class _CdkTrapFocus { - /** Whether the focus trap is active. */ - get enabled() { - return this.focusTrap.enabled; - } - set enabled(value) { - this.focusTrap.enabled = value; - } - constructor(_elementRef, _focusTrapFactory, _document) { - this._elementRef = _elementRef; - this._focusTrapFactory = _focusTrapFactory; - this._previouslyFocusedElement = null; - this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true); - } - ngOnDestroy() { - this.focusTrap.destroy(); - if (this._previouslyFocusedElement) { - this._previouslyFocusedElement.focus(); - this._previouslyFocusedElement = null; - } - } - ngAfterContentInit() { - this.focusTrap.attachAnchors(); - if (this.autoCapture) { - this._captureFocus(); - } - } - ngDoCheck() { - if (!this.focusTrap.hasAttached()) { - this.focusTrap.attachAnchors(); - } - } - ngOnChanges(changes) { - const autoCaptureChange = changes["autoCapture"]; - if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture && this.focusTrap.hasAttached()) { - this._captureFocus(); - } - } - _captureFocus() { - this._previouslyFocusedElement = _getFocusedElementPierceShadowDom(); - this.focusTrap.focusInitialElementWhenReady(); - } -}; -_CdkTrapFocus.ɵfac = function CdkTrapFocus_Factory(t) { - return new (t || _CdkTrapFocus)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(FocusTrapFactory), ɵɵdirectiveInject(DOCUMENT)); -}; -_CdkTrapFocus.ɵdir = ɵɵdefineDirective({ - type: _CdkTrapFocus, - selectors: [["", "cdkTrapFocus", ""]], - inputs: { - enabled: ["cdkTrapFocus", "enabled", booleanAttribute], - autoCapture: ["cdkTrapFocusAutoCapture", "autoCapture", booleanAttribute] - }, - exportAs: ["cdkTrapFocus"], - features: [ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature] -}); -var CdkTrapFocus = _CdkTrapFocus; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkTrapFocus, [{ - type: Directive, - args: [{ - selector: "[cdkTrapFocus]", - exportAs: "cdkTrapFocus" - }] - }], () => [{ - type: ElementRef - }, { - type: FocusTrapFactory - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], { - enabled: [{ - type: Input, - args: [{ - alias: "cdkTrapFocus", - transform: booleanAttribute - }] - }], - autoCapture: [{ - type: Input, - args: [{ - alias: "cdkTrapFocusAutoCapture", - transform: booleanAttribute - }] - }] - }); -})(); -var ConfigurableFocusTrap = class extends FocusTrap { - /** Whether the FocusTrap is enabled. */ - get enabled() { - return this._enabled; - } - set enabled(value) { - this._enabled = value; - if (this._enabled) { - this._focusTrapManager.register(this); - } else { - this._focusTrapManager.deregister(this); - } - } - constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) { - super(_element, _checker, _ngZone, _document, config.defer); - this._focusTrapManager = _focusTrapManager; - this._inertStrategy = _inertStrategy; - this._focusTrapManager.register(this); - } - /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */ - destroy() { - this._focusTrapManager.deregister(this); - super.destroy(); - } - /** @docs-private Implemented as part of ManagedFocusTrap. */ - _enable() { - this._inertStrategy.preventFocus(this); - this.toggleAnchors(true); - } - /** @docs-private Implemented as part of ManagedFocusTrap. */ - _disable() { - this._inertStrategy.allowFocus(this); - this.toggleAnchors(false); - } -}; -var FOCUS_TRAP_INERT_STRATEGY = new InjectionToken("FOCUS_TRAP_INERT_STRATEGY"); -var EventListenerFocusTrapInertStrategy = class { - constructor() { - this._listener = null; - } - /** Adds a document event listener that keeps focus inside the FocusTrap. */ - preventFocus(focusTrap) { - if (this._listener) { - focusTrap._document.removeEventListener("focus", this._listener, true); - } - this._listener = (e) => this._trapFocus(focusTrap, e); - focusTrap._ngZone.runOutsideAngular(() => { - focusTrap._document.addEventListener("focus", this._listener, true); - }); - } - /** Removes the event listener added in preventFocus. */ - allowFocus(focusTrap) { - if (!this._listener) { - return; - } - focusTrap._document.removeEventListener("focus", this._listener, true); - this._listener = null; - } - /** - * Refocuses the first element in the FocusTrap if the focus event target was outside - * the FocusTrap. - * - * This is an event listener callback. The event listener is added in runOutsideAngular, - * so all this code runs outside Angular as well. - */ - _trapFocus(focusTrap, event) { - const target = event.target; - const focusTrapRoot = focusTrap._element; - if (target && !focusTrapRoot.contains(target) && !target.closest?.("div.cdk-overlay-pane")) { - setTimeout(() => { - if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) { - focusTrap.focusFirstTabbableElement(); - } - }); - } - } -}; -var _FocusTrapManager = class _FocusTrapManager { - constructor() { - this._focusTrapStack = []; - } - /** - * Disables the FocusTrap at the top of the stack, and then pushes - * the new FocusTrap onto the stack. - */ - register(focusTrap) { - this._focusTrapStack = this._focusTrapStack.filter((ft) => ft !== focusTrap); - let stack = this._focusTrapStack; - if (stack.length) { - stack[stack.length - 1]._disable(); - } - stack.push(focusTrap); - focusTrap._enable(); - } - /** - * Removes the FocusTrap from the stack, and activates the - * FocusTrap that is the new top of the stack. - */ - deregister(focusTrap) { - focusTrap._disable(); - const stack = this._focusTrapStack; - const i = stack.indexOf(focusTrap); - if (i !== -1) { - stack.splice(i, 1); - if (stack.length) { - stack[stack.length - 1]._enable(); - } - } - } -}; -_FocusTrapManager.ɵfac = function FocusTrapManager_Factory(t) { - return new (t || _FocusTrapManager)(); -}; -_FocusTrapManager.ɵprov = ɵɵdefineInjectable({ - token: _FocusTrapManager, - factory: _FocusTrapManager.ɵfac, - providedIn: "root" -}); -var FocusTrapManager = _FocusTrapManager; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FocusTrapManager, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], null, null); -})(); -var _ConfigurableFocusTrapFactory = class _ConfigurableFocusTrapFactory { - constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) { - this._checker = _checker; - this._ngZone = _ngZone; - this._focusTrapManager = _focusTrapManager; - this._document = _document; - this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy(); - } - create(element, config = { - defer: false - }) { - let configObject; - if (typeof config === "boolean") { - configObject = { - defer: config - }; - } else { - configObject = config; - } - return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject); - } -}; -_ConfigurableFocusTrapFactory.ɵfac = function ConfigurableFocusTrapFactory_Factory(t) { - return new (t || _ConfigurableFocusTrapFactory)(ɵɵinject(InteractivityChecker), ɵɵinject(NgZone), ɵɵinject(FocusTrapManager), ɵɵinject(DOCUMENT), ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8)); -}; -_ConfigurableFocusTrapFactory.ɵprov = ɵɵdefineInjectable({ - token: _ConfigurableFocusTrapFactory, - factory: _ConfigurableFocusTrapFactory.ɵfac, - providedIn: "root" -}); -var ConfigurableFocusTrapFactory = _ConfigurableFocusTrapFactory; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ConfigurableFocusTrapFactory, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: InteractivityChecker - }, { - type: NgZone - }, { - type: FocusTrapManager - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [FOCUS_TRAP_INERT_STRATEGY] - }] - }], null); -})(); -function isFakeMousedownFromScreenReader(event) { - return event.buttons === 0 || event.detail === 0; -} -function isFakeTouchstartFromScreenReader(event) { - const touch = event.touches && event.touches[0] || event.changedTouches && event.changedTouches[0]; - return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) && (touch.radiusY == null || touch.radiusY === 1); -} -var INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken("cdk-input-modality-detector-options"); -var INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = { - ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT] -}; -var TOUCH_BUFFER_MS = 650; -var modalityEventListenerOptions = normalizePassiveListenerOptions({ - passive: true, - capture: true -}); -var _InputModalityDetector = class _InputModalityDetector { - /** The most recently detected input modality. */ - get mostRecentModality() { - return this._modality.value; - } - constructor(_platform, ngZone, document2, options) { - this._platform = _platform; - this._mostRecentTarget = null; - this._modality = new BehaviorSubject(null); - this._lastTouchMs = 0; - this._onKeydown = (event) => { - if (this._options?.ignoreKeys?.some((keyCode) => keyCode === event.keyCode)) { - return; - } - this._modality.next("keyboard"); - this._mostRecentTarget = _getEventTarget(event); - }; - this._onMousedown = (event) => { - if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) { - return; - } - this._modality.next(isFakeMousedownFromScreenReader(event) ? "keyboard" : "mouse"); - this._mostRecentTarget = _getEventTarget(event); - }; - this._onTouchstart = (event) => { - if (isFakeTouchstartFromScreenReader(event)) { - this._modality.next("keyboard"); - return; - } - this._lastTouchMs = Date.now(); - this._modality.next("touch"); - this._mostRecentTarget = _getEventTarget(event); - }; - this._options = __spreadValues(__spreadValues({}, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS), options); - this.modalityDetected = this._modality.pipe(skip(1)); - this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged()); - if (_platform.isBrowser) { - ngZone.runOutsideAngular(() => { - document2.addEventListener("keydown", this._onKeydown, modalityEventListenerOptions); - document2.addEventListener("mousedown", this._onMousedown, modalityEventListenerOptions); - document2.addEventListener("touchstart", this._onTouchstart, modalityEventListenerOptions); - }); - } - } - ngOnDestroy() { - this._modality.complete(); - if (this._platform.isBrowser) { - document.removeEventListener("keydown", this._onKeydown, modalityEventListenerOptions); - document.removeEventListener("mousedown", this._onMousedown, modalityEventListenerOptions); - document.removeEventListener("touchstart", this._onTouchstart, modalityEventListenerOptions); - } - } -}; -_InputModalityDetector.ɵfac = function InputModalityDetector_Factory(t) { - return new (t || _InputModalityDetector)(ɵɵinject(Platform), ɵɵinject(NgZone), ɵɵinject(DOCUMENT), ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8)); -}; -_InputModalityDetector.ɵprov = ɵɵdefineInjectable({ - token: _InputModalityDetector, - factory: _InputModalityDetector.ɵfac, - providedIn: "root" -}); -var InputModalityDetector = _InputModalityDetector; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(InputModalityDetector, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: Platform - }, { - type: NgZone - }, { - type: Document, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [INPUT_MODALITY_DETECTOR_OPTIONS] - }] - }], null); -})(); -var LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken("liveAnnouncerElement", { - providedIn: "root", - factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY -}); -function LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() { - return null; -} -var LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken("LIVE_ANNOUNCER_DEFAULT_OPTIONS"); -var uniqueIds = 0; -var _LiveAnnouncer = class _LiveAnnouncer { - constructor(elementToken, _ngZone, _document, _defaultOptions) { - this._ngZone = _ngZone; - this._defaultOptions = _defaultOptions; - this._document = _document; - this._liveElement = elementToken || this._createLiveElement(); - } - announce(message, ...args) { - const defaultOptions = this._defaultOptions; - let politeness; - let duration; - if (args.length === 1 && typeof args[0] === "number") { - duration = args[0]; - } else { - [politeness, duration] = args; - } - this.clear(); - clearTimeout(this._previousTimeout); - if (!politeness) { - politeness = defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : "polite"; - } - if (duration == null && defaultOptions) { - duration = defaultOptions.duration; - } - this._liveElement.setAttribute("aria-live", politeness); - if (this._liveElement.id) { - this._exposeAnnouncerToModals(this._liveElement.id); - } - return this._ngZone.runOutsideAngular(() => { - if (!this._currentPromise) { - this._currentPromise = new Promise((resolve) => this._currentResolve = resolve); - } - clearTimeout(this._previousTimeout); - this._previousTimeout = setTimeout(() => { - this._liveElement.textContent = message; - if (typeof duration === "number") { - this._previousTimeout = setTimeout(() => this.clear(), duration); - } - this._currentResolve(); - this._currentPromise = this._currentResolve = void 0; - }, 100); - return this._currentPromise; - }); - } - /** - * Clears the current text from the announcer element. Can be used to prevent - * screen readers from reading the text out again while the user is going - * through the page landmarks. - */ - clear() { - if (this._liveElement) { - this._liveElement.textContent = ""; - } - } - ngOnDestroy() { - clearTimeout(this._previousTimeout); - this._liveElement?.remove(); - this._liveElement = null; - this._currentResolve?.(); - this._currentPromise = this._currentResolve = void 0; - } - _createLiveElement() { - const elementClass = "cdk-live-announcer-element"; - const previousElements = this._document.getElementsByClassName(elementClass); - const liveEl = this._document.createElement("div"); - for (let i = 0; i < previousElements.length; i++) { - previousElements[i].remove(); - } - liveEl.classList.add(elementClass); - liveEl.classList.add("cdk-visually-hidden"); - liveEl.setAttribute("aria-atomic", "true"); - liveEl.setAttribute("aria-live", "polite"); - liveEl.id = `cdk-live-announcer-${uniqueIds++}`; - this._document.body.appendChild(liveEl); - return liveEl; - } - /** - * Some browsers won't expose the accessibility node of the live announcer element if there is an - * `aria-modal` and the live announcer is outside of it. This method works around the issue by - * pointing the `aria-owns` of all modals to the live announcer element. - */ - _exposeAnnouncerToModals(id) { - const modals = this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]'); - for (let i = 0; i < modals.length; i++) { - const modal = modals[i]; - const ariaOwns = modal.getAttribute("aria-owns"); - if (!ariaOwns) { - modal.setAttribute("aria-owns", id); - } else if (ariaOwns.indexOf(id) === -1) { - modal.setAttribute("aria-owns", ariaOwns + " " + id); - } - } - } -}; -_LiveAnnouncer.ɵfac = function LiveAnnouncer_Factory(t) { - return new (t || _LiveAnnouncer)(ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), ɵɵinject(NgZone), ɵɵinject(DOCUMENT), ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8)); -}; -_LiveAnnouncer.ɵprov = ɵɵdefineInjectable({ - token: _LiveAnnouncer, - factory: _LiveAnnouncer.ɵfac, - providedIn: "root" -}); -var LiveAnnouncer = _LiveAnnouncer; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(LiveAnnouncer, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [LIVE_ANNOUNCER_ELEMENT_TOKEN] - }] - }, { - type: NgZone - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS] - }] - }], null); -})(); -var _CdkAriaLive = class _CdkAriaLive { - /** The aria-live politeness level to use when announcing messages. */ - get politeness() { - return this._politeness; - } - set politeness(value) { - this._politeness = value === "off" || value === "assertive" ? value : "polite"; - if (this._politeness === "off") { - if (this._subscription) { - this._subscription.unsubscribe(); - this._subscription = null; - } - } else if (!this._subscription) { - this._subscription = this._ngZone.runOutsideAngular(() => { - return this._contentObserver.observe(this._elementRef).subscribe(() => { - const elementText = this._elementRef.nativeElement.textContent; - if (elementText !== this._previousAnnouncedText) { - this._liveAnnouncer.announce(elementText, this._politeness, this.duration); - this._previousAnnouncedText = elementText; - } - }); - }); - } - } - constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) { - this._elementRef = _elementRef; - this._liveAnnouncer = _liveAnnouncer; - this._contentObserver = _contentObserver; - this._ngZone = _ngZone; - this._politeness = "polite"; - } - ngOnDestroy() { - if (this._subscription) { - this._subscription.unsubscribe(); - } - } -}; -_CdkAriaLive.ɵfac = function CdkAriaLive_Factory(t) { - return new (t || _CdkAriaLive)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(LiveAnnouncer), ɵɵdirectiveInject(ContentObserver), ɵɵdirectiveInject(NgZone)); -}; -_CdkAriaLive.ɵdir = ɵɵdefineDirective({ - type: _CdkAriaLive, - selectors: [["", "cdkAriaLive", ""]], - inputs: { - politeness: ["cdkAriaLive", "politeness"], - duration: ["cdkAriaLiveDuration", "duration"] - }, - exportAs: ["cdkAriaLive"] -}); -var CdkAriaLive = _CdkAriaLive; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkAriaLive, [{ - type: Directive, - args: [{ - selector: "[cdkAriaLive]", - exportAs: "cdkAriaLive" - }] - }], () => [{ - type: ElementRef - }, { - type: LiveAnnouncer - }, { - type: ContentObserver - }, { - type: NgZone - }], { - politeness: [{ - type: Input, - args: ["cdkAriaLive"] - }], - duration: [{ - type: Input, - args: ["cdkAriaLiveDuration"] - }] - }); -})(); -var FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken("cdk-focus-monitor-default-options"); -var captureEventListenerOptions = normalizePassiveListenerOptions({ - passive: true, - capture: true -}); -var _FocusMonitor = class _FocusMonitor { - constructor(_ngZone, _platform, _inputModalityDetector, document2, options) { - this._ngZone = _ngZone; - this._platform = _platform; - this._inputModalityDetector = _inputModalityDetector; - this._origin = null; - this._windowFocused = false; - this._originFromTouchInteraction = false; - this._elementInfo = /* @__PURE__ */ new Map(); - this._monitoredElementCount = 0; - this._rootNodeFocusListenerCount = /* @__PURE__ */ new Map(); - this._windowFocusListener = () => { - this._windowFocused = true; - this._windowFocusTimeoutId = window.setTimeout(() => this._windowFocused = false); - }; - this._stopInputModalityDetector = new Subject(); - this._rootNodeFocusAndBlurListener = (event) => { - const target = _getEventTarget(event); - for (let element = target; element; element = element.parentElement) { - if (event.type === "focus") { - this._onFocus(event, element); - } else { - this._onBlur(event, element); - } - } - }; - this._document = document2; - this._detectionMode = options?.detectionMode || 0; - } - monitor(element, checkChildren = false) { - const nativeElement = coerceElement(element); - if (!this._platform.isBrowser || nativeElement.nodeType !== 1) { - return of(); - } - const rootNode = _getShadowRoot(nativeElement) || this._getDocument(); - const cachedInfo = this._elementInfo.get(nativeElement); - if (cachedInfo) { - if (checkChildren) { - cachedInfo.checkChildren = true; - } - return cachedInfo.subject; - } - const info = { - checkChildren, - subject: new Subject(), - rootNode - }; - this._elementInfo.set(nativeElement, info); - this._registerGlobalListeners(info); - return info.subject; - } - stopMonitoring(element) { - const nativeElement = coerceElement(element); - const elementInfo = this._elementInfo.get(nativeElement); - if (elementInfo) { - elementInfo.subject.complete(); - this._setClasses(nativeElement); - this._elementInfo.delete(nativeElement); - this._removeGlobalListeners(elementInfo); - } - } - focusVia(element, origin, options) { - const nativeElement = coerceElement(element); - const focusedElement = this._getDocument().activeElement; - if (nativeElement === focusedElement) { - this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info)); - } else { - this._setOrigin(origin); - if (typeof nativeElement.focus === "function") { - nativeElement.focus(options); - } - } - } - ngOnDestroy() { - this._elementInfo.forEach((_info, element) => this.stopMonitoring(element)); - } - /** Access injected document if available or fallback to global document reference */ - _getDocument() { - return this._document || document; - } - /** Use defaultView of injected document if available or fallback to global window reference */ - _getWindow() { - const doc = this._getDocument(); - return doc.defaultView || window; - } - _getFocusOrigin(focusEventTarget) { - if (this._origin) { - if (this._originFromTouchInteraction) { - return this._shouldBeAttributedToTouch(focusEventTarget) ? "touch" : "program"; - } else { - return this._origin; - } - } - if (this._windowFocused && this._lastFocusOrigin) { - return this._lastFocusOrigin; - } - if (focusEventTarget && this._isLastInteractionFromInputLabel(focusEventTarget)) { - return "mouse"; - } - return "program"; - } - /** - * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a - * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we - * handle a focus event following a touch interaction, we need to determine whether (1) the focus - * event was directly caused by the touch interaction or (2) the focus event was caused by a - * subsequent programmatic focus call triggered by the touch interaction. - * @param focusEventTarget The target of the focus event under examination. - */ - _shouldBeAttributedToTouch(focusEventTarget) { - return this._detectionMode === 1 || !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget); - } - /** - * Sets the focus classes on the element based on the given focus origin. - * @param element The element to update the classes on. - * @param origin The focus origin. - */ - _setClasses(element, origin) { - element.classList.toggle("cdk-focused", !!origin); - element.classList.toggle("cdk-touch-focused", origin === "touch"); - element.classList.toggle("cdk-keyboard-focused", origin === "keyboard"); - element.classList.toggle("cdk-mouse-focused", origin === "mouse"); - element.classList.toggle("cdk-program-focused", origin === "program"); - } - /** - * Updates the focus origin. If we're using immediate detection mode, we schedule an async - * function to clear the origin at the end of a timeout. The duration of the timeout depends on - * the origin being set. - * @param origin The origin to set. - * @param isFromInteraction Whether we are setting the origin from an interaction event. - */ - _setOrigin(origin, isFromInteraction = false) { - this._ngZone.runOutsideAngular(() => { - this._origin = origin; - this._originFromTouchInteraction = origin === "touch" && isFromInteraction; - if (this._detectionMode === 0) { - clearTimeout(this._originTimeoutId); - const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1; - this._originTimeoutId = setTimeout(() => this._origin = null, ms); - } - }); - } - /** - * Handles focus events on a registered element. - * @param event The focus event. - * @param element The monitored element. - */ - _onFocus(event, element) { - const elementInfo = this._elementInfo.get(element); - const focusEventTarget = _getEventTarget(event); - if (!elementInfo || !elementInfo.checkChildren && element !== focusEventTarget) { - return; - } - this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo); - } - /** - * Handles blur events on a registered element. - * @param event The blur event. - * @param element The monitored element. - */ - _onBlur(event, element) { - const elementInfo = this._elementInfo.get(element); - if (!elementInfo || elementInfo.checkChildren && event.relatedTarget instanceof Node && element.contains(event.relatedTarget)) { - return; - } - this._setClasses(element); - this._emitOrigin(elementInfo, null); - } - _emitOrigin(info, origin) { - if (info.subject.observers.length) { - this._ngZone.run(() => info.subject.next(origin)); - } - } - _registerGlobalListeners(elementInfo) { - if (!this._platform.isBrowser) { - return; - } - const rootNode = elementInfo.rootNode; - const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0; - if (!rootNodeFocusListeners) { - this._ngZone.runOutsideAngular(() => { - rootNode.addEventListener("focus", this._rootNodeFocusAndBlurListener, captureEventListenerOptions); - rootNode.addEventListener("blur", this._rootNodeFocusAndBlurListener, captureEventListenerOptions); - }); - } - this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1); - if (++this._monitoredElementCount === 1) { - this._ngZone.runOutsideAngular(() => { - const window2 = this._getWindow(); - window2.addEventListener("focus", this._windowFocusListener); - }); - this._inputModalityDetector.modalityDetected.pipe(takeUntil(this._stopInputModalityDetector)).subscribe((modality) => { - this._setOrigin( - modality, - true - /* isFromInteraction */ - ); - }); - } - } - _removeGlobalListeners(elementInfo) { - const rootNode = elementInfo.rootNode; - if (this._rootNodeFocusListenerCount.has(rootNode)) { - const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode); - if (rootNodeFocusListeners > 1) { - this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1); - } else { - rootNode.removeEventListener("focus", this._rootNodeFocusAndBlurListener, captureEventListenerOptions); - rootNode.removeEventListener("blur", this._rootNodeFocusAndBlurListener, captureEventListenerOptions); - this._rootNodeFocusListenerCount.delete(rootNode); - } - } - if (!--this._monitoredElementCount) { - const window2 = this._getWindow(); - window2.removeEventListener("focus", this._windowFocusListener); - this._stopInputModalityDetector.next(); - clearTimeout(this._windowFocusTimeoutId); - clearTimeout(this._originTimeoutId); - } - } - /** Updates all the state on an element once its focus origin has changed. */ - _originChanged(element, origin, elementInfo) { - this._setClasses(element, origin); - this._emitOrigin(elementInfo, origin); - this._lastFocusOrigin = origin; - } - /** - * Collects the `MonitoredElementInfo` of a particular element and - * all of its ancestors that have enabled `checkChildren`. - * @param element Element from which to start the search. - */ - _getClosestElementsInfo(element) { - const results = []; - this._elementInfo.forEach((info, currentElement) => { - if (currentElement === element || info.checkChildren && currentElement.contains(element)) { - results.push([currentElement, info]); - } - }); - return results; - } - /** - * Returns whether an interaction is likely to have come from the user clicking the `label` of - * an `input` or `textarea` in order to focus it. - * @param focusEventTarget Target currently receiving focus. - */ - _isLastInteractionFromInputLabel(focusEventTarget) { - const { - _mostRecentTarget: mostRecentTarget, - mostRecentModality - } = this._inputModalityDetector; - if (mostRecentModality !== "mouse" || !mostRecentTarget || mostRecentTarget === focusEventTarget || focusEventTarget.nodeName !== "INPUT" && focusEventTarget.nodeName !== "TEXTAREA" || focusEventTarget.disabled) { - return false; - } - const labels = focusEventTarget.labels; - if (labels) { - for (let i = 0; i < labels.length; i++) { - if (labels[i].contains(mostRecentTarget)) { - return true; - } - } - } - return false; - } -}; -_FocusMonitor.ɵfac = function FocusMonitor_Factory(t) { - return new (t || _FocusMonitor)(ɵɵinject(NgZone), ɵɵinject(Platform), ɵɵinject(InputModalityDetector), ɵɵinject(DOCUMENT, 8), ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8)); -}; -_FocusMonitor.ɵprov = ɵɵdefineInjectable({ - token: _FocusMonitor, - factory: _FocusMonitor.ɵfac, - providedIn: "root" -}); -var FocusMonitor = _FocusMonitor; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(FocusMonitor, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: NgZone - }, { - type: Platform - }, { - type: InputModalityDetector - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [FOCUS_MONITOR_DEFAULT_OPTIONS] - }] - }], null); -})(); -var _CdkMonitorFocus = class _CdkMonitorFocus { - constructor(_elementRef, _focusMonitor) { - this._elementRef = _elementRef; - this._focusMonitor = _focusMonitor; - this._focusOrigin = null; - this.cdkFocusChange = new EventEmitter(); - } - get focusOrigin() { - return this._focusOrigin; - } - ngAfterViewInit() { - const element = this._elementRef.nativeElement; - this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute("cdkMonitorSubtreeFocus")).subscribe((origin) => { - this._focusOrigin = origin; - this.cdkFocusChange.emit(origin); - }); - } - ngOnDestroy() { - this._focusMonitor.stopMonitoring(this._elementRef); - if (this._monitorSubscription) { - this._monitorSubscription.unsubscribe(); - } - } -}; -_CdkMonitorFocus.ɵfac = function CdkMonitorFocus_Factory(t) { - return new (t || _CdkMonitorFocus)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(FocusMonitor)); -}; -_CdkMonitorFocus.ɵdir = ɵɵdefineDirective({ - type: _CdkMonitorFocus, - selectors: [["", "cdkMonitorElementFocus", ""], ["", "cdkMonitorSubtreeFocus", ""]], - outputs: { - cdkFocusChange: "cdkFocusChange" - }, - exportAs: ["cdkMonitorFocus"] -}); -var CdkMonitorFocus = _CdkMonitorFocus; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(CdkMonitorFocus, [{ - type: Directive, - args: [{ - selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", - exportAs: "cdkMonitorFocus" - }] - }], () => [{ - type: ElementRef - }, { - type: FocusMonitor - }], { - cdkFocusChange: [{ - type: Output - }] - }); -})(); -var BLACK_ON_WHITE_CSS_CLASS = "cdk-high-contrast-black-on-white"; -var WHITE_ON_BLACK_CSS_CLASS = "cdk-high-contrast-white-on-black"; -var HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = "cdk-high-contrast-active"; -var _HighContrastModeDetector = class _HighContrastModeDetector { - constructor(_platform, document2) { - this._platform = _platform; - this._document = document2; - this._breakpointSubscription = inject(BreakpointObserver).observe("(forced-colors: active)").subscribe(() => { - if (this._hasCheckedHighContrastMode) { - this._hasCheckedHighContrastMode = false; - this._applyBodyHighContrastModeCssClasses(); - } - }); - } - /** Gets the current high-contrast-mode for the page. */ - getHighContrastMode() { - if (!this._platform.isBrowser) { - return 0; - } - const testElement = this._document.createElement("div"); - testElement.style.backgroundColor = "rgb(1,2,3)"; - testElement.style.position = "absolute"; - this._document.body.appendChild(testElement); - const documentWindow = this._document.defaultView || window; - const computedStyle = documentWindow && documentWindow.getComputedStyle ? documentWindow.getComputedStyle(testElement) : null; - const computedColor = (computedStyle && computedStyle.backgroundColor || "").replace(/ /g, ""); - testElement.remove(); - switch (computedColor) { - case "rgb(0,0,0)": - case "rgb(45,50,54)": - case "rgb(32,32,32)": - return 2; - case "rgb(255,255,255)": - case "rgb(255,250,239)": - return 1; - } - return 0; - } - ngOnDestroy() { - this._breakpointSubscription.unsubscribe(); - } - /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */ - _applyBodyHighContrastModeCssClasses() { - if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) { - const bodyClasses = this._document.body.classList; - bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS); - this._hasCheckedHighContrastMode = true; - const mode = this.getHighContrastMode(); - if (mode === 1) { - bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS); - } else if (mode === 2) { - bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS); - } - } - } -}; -_HighContrastModeDetector.ɵfac = function HighContrastModeDetector_Factory(t) { - return new (t || _HighContrastModeDetector)(ɵɵinject(Platform), ɵɵinject(DOCUMENT)); -}; -_HighContrastModeDetector.ɵprov = ɵɵdefineInjectable({ - token: _HighContrastModeDetector, - factory: _HighContrastModeDetector.ɵfac, - providedIn: "root" -}); -var HighContrastModeDetector = _HighContrastModeDetector; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(HighContrastModeDetector, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: Platform - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [DOCUMENT] - }] - }], null); -})(); -var _A11yModule = class _A11yModule { - constructor(highContrastModeDetector) { - highContrastModeDetector._applyBodyHighContrastModeCssClasses(); - } -}; -_A11yModule.ɵfac = function A11yModule_Factory(t) { - return new (t || _A11yModule)(ɵɵinject(HighContrastModeDetector)); -}; -_A11yModule.ɵmod = ɵɵdefineNgModule({ - type: _A11yModule, - declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], - imports: [ObserversModule], - exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] -}); -_A11yModule.ɵinj = ɵɵdefineInjector({ - imports: [ObserversModule] -}); -var A11yModule = _A11yModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(A11yModule, [{ - type: NgModule, - args: [{ - imports: [ObserversModule], - declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], - exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] - }] - }], () => [{ - type: HighContrastModeDetector - }], null); -})(); - -export { - FocusKeyManager, - FocusTrapFactory, - FocusMonitor, - CdkMonitorFocus, - A11yModule -}; -//# sourceMappingURL=chunk-E6XJDY45.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js.map b/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js.map deleted file mode 100644 index 7aab48b..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-E6XJDY45.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@angular/cdk/fesm2022/observers.mjs", "../../../../../node_modules/@angular/cdk/fesm2022/a11y.mjs"], - "sourcesContent": ["import { coerceElement, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, booleanAttribute, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n static {\n this.ɵfac = function MutationObserverFactory_Factory(t) {\n return new (t || MutationObserverFactory)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MutationObserverFactory,\n factory: MutationObserverFactory.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(MutationObserverFactory, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable(observer => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true\n });\n }\n this._observedElements.set(element, {\n observer,\n stream,\n count: 1\n });\n } else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const {\n observer,\n stream\n } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n static {\n this.ɵfac = function ContentObserver_Factory(t) {\n return new (t || ContentObserver)(i0.ɵɵinject(MutationObserverFactory));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ContentObserver,\n factory: ContentObserver.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ContentObserver, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: MutationObserverFactory\n }], null);\n})();\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = value;\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() {\n return this._debounce;\n }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n static {\n this.ɵfac = function CdkObserveContent_Factory(t) {\n return new (t || CdkObserveContent)(i0.ɵɵdirectiveInject(ContentObserver), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkObserveContent,\n selectors: [[\"\", \"cdkObserveContent\", \"\"]],\n inputs: {\n disabled: [\"cdkObserveContentDisabled\", \"disabled\", booleanAttribute],\n debounce: \"debounce\"\n },\n outputs: {\n event: \"cdkObserveContent\"\n },\n exportAs: [\"cdkObserveContent\"],\n features: [i0.ɵɵInputTransformsFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkObserveContent, [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent'\n }]\n }], () => [{\n type: ContentObserver\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n event: [{\n type: Output,\n args: ['cdkObserveContent']\n }],\n disabled: [{\n type: Input,\n args: [{\n alias: 'cdkObserveContentDisabled',\n transform: booleanAttribute\n }]\n }],\n debounce: [{\n type: Input\n }]\n });\n})();\nclass ObserversModule {\n static {\n this.ɵfac = function ObserversModule_Factory(t) {\n return new (t || ObserversModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ObserversModule,\n declarations: [CdkObserveContent],\n exports: [CdkObserveContent]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [MutationObserverFactory]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ObserversModule, [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n", "import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, APP_ID, Injectable, Inject, QueryList, booleanAttribute, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, PAGE_DOWN, PAGE_UP, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n } else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document,\n /**\n * @deprecated To be turned into a required parameter.\n * @breaking-change 14.0.0\n */\n _platform) {\n this._platform = _platform;\n /** Map of all registered message elements that have been placed into the document. */\n this._messageRegistry = new Map();\n /** Container for all registered messages. */\n this._messagesContainer = null;\n /** Unique ID for the service. */\n this._id = `${nextId++}`;\n this._document = _document;\n this._id = inject(APP_ID) + '-' + nextId++;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message, this._id);\n this._messageRegistry.set(key, {\n messageElement: message,\n referenceCount: 0\n });\n } else if (!this._messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = this._messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (this._messagesContainer?.childNodes.length === 0) {\n this._messagesContainer.remove();\n this._messagesContainer = null;\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n this._messagesContainer?.remove();\n this._messagesContainer = null;\n this._messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement, this._id);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n this._messagesContainer.appendChild(messageElement);\n this._messageRegistry.set(getKey(message, role), {\n messageElement,\n referenceCount: 0\n });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n this._messageRegistry.get(key)?.messageElement?.remove();\n this._messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (this._messagesContainer) {\n return;\n }\n const containerClassName = 'cdk-describedby-message-container';\n const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n for (let i = 0; i < serverContainers.length; i++) {\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n serverContainers[i].remove();\n }\n const messagesContainer = this._document.createElement('div');\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add(containerClassName);\n messagesContainer.classList.add('cdk-visually-hidden');\n // @breaking-change 14.0.0 Remove null check for `_platform`.\n if (this._platform && !this._platform.isBrowser) {\n messagesContainer.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(messagesContainer);\n this._messagesContainer = messagesContainer;\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = this._messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n static {\n this.ɵfac = function AriaDescriber_Factory(t) {\n return new (t || AriaDescriber)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.Platform));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AriaDescriber,\n factory: AriaDescriber.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AriaDescriber, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1.Platform\n }], null);\n})();\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element, serviceId) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${serviceId}-${nextId++}`;\n }\n}\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n this._pageUpAndDown = {\n enabled: false,\n delta: 10\n };\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = item => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n this._itemChangesSubscription = _items.changes.subscribe(newItems => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && this._items.length && this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream.pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(''))).subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) && item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /** Cancels the current typeahead sequence. */\n cancelTypeahead() {\n this._pressedLetters = [];\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n /**\n * Configures the key manager to activate every 10th, configured or first/last element in up/down direction\n * respectively when the Page-Up or Page-Down key is pressed.\n * @param enabled Whether pressing the Page-Up or Page-Down key activates the first/last item.\n * @param delta Whether pressing the Home or End key activates the first/last item.\n */\n withPageUpDown(enabled = true, delta = 10) {\n this._pageUpAndDown = {\n enabled,\n delta\n };\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n } else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n } else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n } else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n } else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n } else {\n return;\n }\n case PAGE_UP:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex - this._pageUpAndDown.delta;\n this._setActiveItemByIndex(targetIndex > 0 ? targetIndex : 0, 1);\n break;\n } else {\n return;\n }\n case PAGE_DOWN:\n if (this._pageUpAndDown.enabled && isModifierAllowed) {\n const targetIndex = this._activeItemIndex + this._pageUpAndDown.delta;\n const itemsLength = this._getItemsArray().length;\n this._setActiveItemByIndex(targetIndex < itemsLength ? targetIndex : itemsLength - 1, -1);\n break;\n } else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n } else if (keyCode >= A && keyCode <= Z || keyCode >= ZERO && keyCode <= NINE) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive() : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /** Cleans up the key manager. */\n destroy() {\n this._typeaheadSubscription.unsubscribe();\n this._itemChangesSubscription?.unsubscribe();\n this._letterKeyStream.complete();\n this.tabOut.complete();\n this.change.complete();\n this._pressedLetters = [];\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether it is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return isPotentiallyFocusable(element) && !this.isDisabled(element) && (config?.ignoreVisibility || this.isVisible(element));\n }\n static {\n this.ɵfac = function InteractivityChecker_Factory(t) {\n return new (t || InteractivityChecker)(i0.ɵɵinject(i1.Platform));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InteractivityChecker,\n factory: InteractivityChecker.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InteractivityChecker, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }], null);\n})();\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n } catch {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth || element.offsetHeight || typeof element.getClientRects === 'function' && element.getClientRects().length);\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return nodeName === 'input' || nodeName === 'select' || nodeName === 'button' || nodeName === 'textarea';\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return inputType === 'text' || inputType === 'password' || nodeName === 'select' || nodeName === 'textarea';\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return isNativeFormElement(element) || isAnchorWithHref(element) || element.hasAttribute('contenteditable') || hasValidTabIndex(element);\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return node.ownerDocument && node.ownerDocument.defaultView || window;\n}\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` + `use 'cdkFocusRegion${bound}' instead. The deprecated ` + `attribute will be removed in 8.0.0.`, markers[i]);\n } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` + `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` + `will be removed in 8.0.0.`, markers[i]);\n }\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length ? markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` + `use 'cdkFocusInitial' instead. The deprecated attribute ` + `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild?.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getFirstTabbableElement(children[i]) : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ? this._getLastTabbableElement(children[i]) : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n } else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n static {\n this.ɵfac = function FocusTrapFactory_Factory(t) {\n return new (t || FocusTrapFactory)(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FocusTrapFactory,\n factory: FocusTrapFactory.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FocusTrapFactory, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: InteractivityChecker\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = value;\n }\n constructor(_elementRef, _focusTrapFactory,\n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange && !autoCaptureChange.firstChange && this.autoCapture && this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n static {\n this.ɵfac = function CdkTrapFocus_Factory(t) {\n return new (t || CdkTrapFocus)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(FocusTrapFactory), i0.ɵɵdirectiveInject(DOCUMENT));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTrapFocus,\n selectors: [[\"\", \"cdkTrapFocus\", \"\"]],\n inputs: {\n enabled: [\"cdkTrapFocus\", \"enabled\", booleanAttribute],\n autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\", booleanAttribute]\n },\n exportAs: [\"cdkTrapFocus\"],\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkTrapFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus'\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: FocusTrapFactory\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], {\n enabled: [{\n type: Input,\n args: [{\n alias: 'cdkTrapFocus',\n transform: booleanAttribute\n }]\n }],\n autoCapture: [{\n type: Input,\n args: [{\n alias: 'cdkTrapFocusAutoCapture',\n transform: booleanAttribute\n }]\n }]\n });\n})();\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n } else {\n this._focusTrapManager.deregister(this);\n }\n }\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = e => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n static {\n this.ɵfac = function FocusTrapManager_Factory(t) {\n return new (t || FocusTrapManager)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FocusTrapManager,\n factory: FocusTrapManager.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FocusTrapManager, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], null, null);\n})();\n\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = {\n defer: false\n }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = {\n defer: config\n };\n } else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n static {\n this.ɵfac = function ConfigurableFocusTrapFactory_Factory(t) {\n return new (t || ConfigurableFocusTrapFactory)(i0.ɵɵinject(InteractivityChecker), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(FocusTrapManager), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(FOCUS_TRAP_INERT_STRATEGY, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ConfigurableFocusTrapFactory,\n factory: ConfigurableFocusTrapFactory.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ConfigurableFocusTrapFactory, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: InteractivityChecker\n }, {\n type: i0.NgZone\n }, {\n type: FocusTrapManager\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }]\n }], null);\n})();\n\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when `event.buttons` is zero, or\n // `event.detail` is zero depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `detail` works on Chrome, but fails on Firefox.\n return event.buttons === 0 || event.detail === 0;\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = event.touches && event.touches[0] || event.changedTouches && event.changedTouches[0];\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return !!touch && touch.identifier === -1 && (touch.radiusX == null || touch.radiusX === 1) && (touch.radiusY == null || touch.radiusY === 1);\n}\n\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT]\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = event => {\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = event => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = event => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = {\n ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n ...options\n };\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n static {\n this.ɵfac = function InputModalityDetector_Factory(t) {\n return new (t || InputModalityDetector)(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(INPUT_MODALITY_DETECTOR_OPTIONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InputModalityDetector,\n factory: InputModalityDetector.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InputModalityDetector, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }, {\n type: i0.NgZone\n }, {\n type: Document,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }]\n }], null);\n})();\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\nlet uniqueIds = 0;\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n } else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness = defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n if (this._liveElement.id) {\n this._exposeAnnouncerToModals(this._liveElement.id);\n }\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n if (!this._currentPromise) {\n this._currentPromise = new Promise(resolve => this._currentResolve = resolve);\n }\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n this._currentResolve();\n this._currentPromise = this._currentResolve = undefined;\n }, 100);\n return this._currentPromise;\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n this._liveElement?.remove();\n this._liveElement = null;\n this._currentResolve?.();\n this._currentPromise = this._currentResolve = undefined;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n liveEl.id = `cdk-live-announcer-${uniqueIds++}`;\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n /**\n * Some browsers won't expose the accessibility node of the live announcer element if there is an\n * `aria-modal` and the live announcer is outside of it. This method works around the issue by\n * pointing the `aria-owns` of all modals to the live announcer element.\n */\n _exposeAnnouncerToModals(id) {\n // TODO(http://github.com/angular/components/issues/26853): consider de-duplicating this with\n // the `SnakBarContainer` and other usages.\n //\n // Note that the selector here is limited to CDK overlays at the moment in order to reduce the\n // section of the DOM we need to look through. This should cover all the cases we support, but\n // the selector can be expanded if it turns out to be too narrow.\n const modals = this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal=\"true\"]');\n for (let i = 0; i < modals.length; i++) {\n const modal = modals[i];\n const ariaOwns = modal.getAttribute('aria-owns');\n if (!ariaOwns) {\n modal.setAttribute('aria-owns', id);\n } else if (ariaOwns.indexOf(id) === -1) {\n modal.setAttribute('aria-owns', ariaOwns + ' ' + id);\n }\n }\n }\n static {\n this.ɵfac = function LiveAnnouncer_Factory(t) {\n return new (t || LiveAnnouncer)(i0.ɵɵinject(LIVE_ANNOUNCER_ELEMENT_TOKEN, 8), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(LIVE_ANNOUNCER_DEFAULT_OPTIONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LiveAnnouncer,\n factory: LiveAnnouncer.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LiveAnnouncer, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }]\n }, {\n type: i0.NgZone\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }]\n }], null);\n})();\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n } else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness, this.duration);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n static {\n this.ɵfac = function CdkAriaLive_Factory(t) {\n return new (t || CdkAriaLive)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(LiveAnnouncer), i0.ɵɵdirectiveInject(i1$1.ContentObserver), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkAriaLive,\n selectors: [[\"\", \"cdkAriaLive\", \"\"]],\n inputs: {\n politeness: [\"cdkAriaLive\", \"politeness\"],\n duration: [\"cdkAriaLiveDuration\", \"duration\"]\n },\n exportAs: [\"cdkAriaLive\"]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkAriaLive, [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive'\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: LiveAnnouncer\n }, {\n type: i1$1.ContentObserver\n }, {\n type: i0.NgZone\n }], {\n politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }],\n duration: [{\n type: Input,\n args: ['cdkAriaLiveDuration']\n }]\n });\n})();\n\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = window.setTimeout(() => this._windowFocused = false);\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = event => {\n const target = _getEventTarget(event);\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n if (event.type === 'focus') {\n this._onFocus(event, element);\n } else {\n this._onBlur(event, element);\n }\n }\n };\n this._document = document;\n this._detectionMode = options?.detectionMode || 0 /* FocusMonitorDetectionMode.IMMEDIATE */;\n }\n\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n // Note: we don't want the observable to emit at all so we don't pass any parameters.\n return of();\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n } else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n } else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n if (this._windowFocused && this._lastFocusOrigin) {\n return this._lastFocusOrigin;\n }\n // If the interaction is coming from an input label, we consider it a mouse interactions.\n // This is a special case where focus moves on `click`, rather than `mousedown` which breaks\n // our detection, because all our assumptions are for `mousedown`. We need to handle this\n // special case, because it's very common for checkboxes and radio buttons.\n if (focusEventTarget && this._isLastInteractionFromInputLabel(focusEventTarget)) {\n return 'mouse';\n }\n return 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return this._detectionMode === 1 /* FocusMonitorDetectionMode.EVENTUAL */ || !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget);\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* FocusMonitorDetectionMode.IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => this._origin = null, ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || !elementInfo.checkChildren && element !== focusEventTarget) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo || elementInfo.checkChildren && event.relatedTarget instanceof Node && element.contains(event.relatedTarget)) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo, null);\n }\n _emitOrigin(info, origin) {\n if (info.subject.observers.length) {\n this._ngZone.run(() => info.subject.next(origin));\n }\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected.pipe(takeUntil(this._stopInputModalityDetector)).subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n } else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (! --this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || info.checkChildren && currentElement.contains(element)) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n /**\n * Returns whether an interaction is likely to have come from the user clicking the `label` of\n * an `input` or `textarea` in order to focus it.\n * @param focusEventTarget Target currently receiving focus.\n */\n _isLastInteractionFromInputLabel(focusEventTarget) {\n const {\n _mostRecentTarget: mostRecentTarget,\n mostRecentModality\n } = this._inputModalityDetector;\n // If the last interaction used the mouse on an element contained by one of the labels\n // of an `input`/`textarea` that is currently focused, it is very likely that the\n // user redirected focus using the label.\n if (mostRecentModality !== 'mouse' || !mostRecentTarget || mostRecentTarget === focusEventTarget || focusEventTarget.nodeName !== 'INPUT' && focusEventTarget.nodeName !== 'TEXTAREA' || focusEventTarget.disabled) {\n return false;\n }\n const labels = focusEventTarget.labels;\n if (labels) {\n for (let i = 0; i < labels.length; i++) {\n if (labels[i].contains(mostRecentTarget)) {\n return true;\n }\n }\n }\n return false;\n }\n static {\n this.ɵfac = function FocusMonitor_Factory(t) {\n return new (t || FocusMonitor)(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i1.Platform), i0.ɵɵinject(InputModalityDetector), i0.ɵɵinject(DOCUMENT, 8), i0.ɵɵinject(FOCUS_MONITOR_DEFAULT_OPTIONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FocusMonitor,\n factory: FocusMonitor.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(FocusMonitor, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i1.Platform\n }, {\n type: InputModalityDetector\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }]\n }], null);\n})();\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this._focusOrigin = null;\n this.cdkFocusChange = new EventEmitter();\n }\n get focusOrigin() {\n return this._focusOrigin;\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor.monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus')).subscribe(origin => {\n this._focusOrigin = origin;\n this.cdkFocusChange.emit(origin);\n });\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n static {\n this.ɵfac = function CdkMonitorFocus_Factory(t) {\n return new (t || CdkMonitorFocus)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(FocusMonitor));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkMonitorFocus,\n selectors: [[\"\", \"cdkMonitorElementFocus\", \"\"], [\"\", \"cdkMonitorSubtreeFocus\", \"\"]],\n outputs: {\n cdkFocusChange: \"cdkFocusChange\"\n },\n exportAs: [\"cdkMonitorFocus\"]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CdkMonitorFocus, [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n exportAs: 'cdkMonitorFocus'\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: FocusMonitor\n }], {\n cdkFocusChange: [{\n type: Output\n }]\n });\n})();\n\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n this._breakpointSubscription = inject(BreakpointObserver).observe('(forced-colors: active)').subscribe(() => {\n if (this._hasCheckedHighContrastMode) {\n this._hasCheckedHighContrastMode = false;\n this._applyBodyHighContrastModeCssClasses();\n }\n });\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* HighContrastMode.NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle ? documentWindow.getComputedStyle(testElement) : null;\n const computedColor = (computedStyle && computedStyle.backgroundColor || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n // Pre Windows 11 dark theme.\n case 'rgb(0,0,0)':\n // Windows 11 dark themes.\n case 'rgb(45,50,54)':\n case 'rgb(32,32,32)':\n return 2 /* HighContrastMode.WHITE_ON_BLACK */;\n // Pre Windows 11 light theme.\n case 'rgb(255,255,255)':\n // Windows 11 light theme.\n case 'rgb(255,250,239)':\n return 1 /* HighContrastMode.BLACK_ON_WHITE */;\n }\n\n return 0 /* HighContrastMode.NONE */;\n }\n\n ngOnDestroy() {\n this._breakpointSubscription.unsubscribe();\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* HighContrastMode.BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, BLACK_ON_WHITE_CSS_CLASS);\n } else if (mode === 2 /* HighContrastMode.WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS, WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n static {\n this.ɵfac = function HighContrastModeDetector_Factory(t) {\n return new (t || HighContrastModeDetector)(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(DOCUMENT));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HighContrastModeDetector,\n factory: HighContrastModeDetector.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(HighContrastModeDetector, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }], null);\n})();\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n static {\n this.ɵfac = function A11yModule_Factory(t) {\n return new (t || A11yModule)(i0.ɵɵinject(HighContrastModeDetector));\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: A11yModule,\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n imports: [ObserversModule],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [ObserversModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(A11yModule, [{\n type: NgModule,\n args: [{\n imports: [ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus]\n }]\n }], () => [{\n type: HighContrastModeDetector\n }], null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, addAriaReferencedId, getAriaReferenceIds, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader, removeAriaReferencedId };\n"], - "mappings": "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", - "names": ["window", "document"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js b/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js deleted file mode 100644 index e3deb4a..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js +++ /dev/null @@ -1,191 +0,0 @@ -import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import { - CommonModule, - NgIf -} from "./chunk-OSQBUYO6.js"; -import { - BehaviorSubject, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - Injectable, - Input, - NgModule, - ReplaySubject, - ViewEncapsulation$1, - setClassMetadata, - ɵɵNgOnChangesFeature, - ɵɵclassProp, - ɵɵdefineComponent, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵnextContext, - ɵɵproperty, - ɵɵtemplate -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-form.mjs -function NzFormItemFeedbackIconComponent_span_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 1); - } - if (rf & 2) { - const ctx_r0 = ɵɵnextContext(); - ɵɵproperty("nzType", ctx_r0.iconType); - } -} -var _NzFormStatusService = class _NzFormStatusService { - constructor() { - this.formStatusChanges = new ReplaySubject(1); - } -}; -_NzFormStatusService.ɵfac = function NzFormStatusService_Factory(t) { - return new (t || _NzFormStatusService)(); -}; -_NzFormStatusService.ɵprov = ɵɵdefineInjectable({ - token: _NzFormStatusService, - factory: _NzFormStatusService.ɵfac -}); -var NzFormStatusService = _NzFormStatusService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzFormStatusService, [{ - type: Injectable - }], null, null); -})(); -var _NzFormNoStatusService = class _NzFormNoStatusService { - constructor() { - this.noFormStatus = new BehaviorSubject(false); - } -}; -_NzFormNoStatusService.ɵfac = function NzFormNoStatusService_Factory(t) { - return new (t || _NzFormNoStatusService)(); -}; -_NzFormNoStatusService.ɵprov = ɵɵdefineInjectable({ - token: _NzFormNoStatusService, - factory: _NzFormNoStatusService.ɵfac -}); -var NzFormNoStatusService = _NzFormNoStatusService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzFormNoStatusService, [{ - type: Injectable - }], null, null); -})(); -var iconTypeMap = { - error: "close-circle-fill", - validating: "loading", - success: "check-circle-fill", - warning: "exclamation-circle-fill" -}; -var _NzFormItemFeedbackIconComponent = class _NzFormItemFeedbackIconComponent { - constructor(cdr) { - this.cdr = cdr; - this.status = ""; - this.iconType = null; - } - ngOnChanges(_changes) { - this.updateIcon(); - } - updateIcon() { - this.iconType = this.status ? iconTypeMap[this.status] : null; - this.cdr.markForCheck(); - } -}; -_NzFormItemFeedbackIconComponent.ɵfac = function NzFormItemFeedbackIconComponent_Factory(t) { - return new (t || _NzFormItemFeedbackIconComponent)(ɵɵdirectiveInject(ChangeDetectorRef)); -}; -_NzFormItemFeedbackIconComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzFormItemFeedbackIconComponent, - selectors: [["nz-form-item-feedback-icon"]], - hostAttrs: [1, "ant-form-item-feedback-icon"], - hostVars: 8, - hostBindings: function NzFormItemFeedbackIconComponent_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-form-item-feedback-icon-error", ctx.status === "error")("ant-form-item-feedback-icon-warning", ctx.status === "warning")("ant-form-item-feedback-icon-success", ctx.status === "success")("ant-form-item-feedback-icon-validating", ctx.status === "validating"); - } - }, - inputs: { - status: "status" - }, - exportAs: ["nzFormFeedbackIcon"], - features: [ɵɵNgOnChangesFeature], - decls: 1, - vars: 1, - consts: [["nz-icon", "", 3, "nzType", 4, "ngIf"], ["nz-icon", "", 3, "nzType"]], - template: function NzFormItemFeedbackIconComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵtemplate(0, NzFormItemFeedbackIconComponent_span_0_Template, 1, 1, "span", 0); - } - if (rf & 2) { - ɵɵproperty("ngIf", ctx.iconType); - } - }, - dependencies: [NgIf, NzIconDirective], - encapsulation: 2, - changeDetection: 0 -}); -var NzFormItemFeedbackIconComponent = _NzFormItemFeedbackIconComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzFormItemFeedbackIconComponent, [{ - type: Component, - args: [{ - selector: "nz-form-item-feedback-icon", - exportAs: "nzFormFeedbackIcon", - preserveWhitespaces: false, - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` `, - host: { - class: "ant-form-item-feedback-icon", - "[class.ant-form-item-feedback-icon-error]": 'status==="error"', - "[class.ant-form-item-feedback-icon-warning]": 'status==="warning"', - "[class.ant-form-item-feedback-icon-success]": 'status==="success"', - "[class.ant-form-item-feedback-icon-validating]": 'status==="validating"' - } - }] - }], () => [{ - type: ChangeDetectorRef - }], { - status: [{ - type: Input - }] - }); -})(); -var _NzFormPatchModule = class _NzFormPatchModule { -}; -_NzFormPatchModule.ɵfac = function NzFormPatchModule_Factory(t) { - return new (t || _NzFormPatchModule)(); -}; -_NzFormPatchModule.ɵmod = ɵɵdefineNgModule({ - type: _NzFormPatchModule, - declarations: [NzFormItemFeedbackIconComponent], - imports: [CommonModule, NzIconModule], - exports: [NzFormItemFeedbackIconComponent] -}); -_NzFormPatchModule.ɵinj = ɵɵdefineInjector({ - imports: [CommonModule, NzIconModule] -}); -var NzFormPatchModule = _NzFormPatchModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzFormPatchModule, [{ - type: NgModule, - args: [{ - imports: [CommonModule, NzIconModule], - exports: [NzFormItemFeedbackIconComponent], - declarations: [NzFormItemFeedbackIconComponent] - }] - }], null, null); -})(); - -export { - NzFormStatusService, - NzFormNoStatusService, - NzFormItemFeedbackIconComponent, - NzFormPatchModule -}; -//# sourceMappingURL=chunk-FGZVIKKA.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js.map b/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js.map deleted file mode 100644 index 99985f2..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-FGZVIKKA.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-form.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Injectable, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';\nimport { ReplaySubject, BehaviorSubject } from 'rxjs';\nimport * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i2 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction NzFormItemFeedbackIconComponent_span_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 1);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"nzType\", ctx_r0.iconType);\n }\n}\nclass NzFormStatusService {\n constructor() {\n this.formStatusChanges = new ReplaySubject(1);\n }\n static {\n this.ɵfac = function NzFormStatusService_Factory(t) {\n return new (t || NzFormStatusService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzFormStatusService,\n factory: NzFormStatusService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzFormStatusService, [{\n type: Injectable\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n// Used in input-group/input-number-group to make sure components in addon work well\nclass NzFormNoStatusService {\n constructor() {\n this.noFormStatus = new BehaviorSubject(false);\n }\n static {\n this.ɵfac = function NzFormNoStatusService_Factory(t) {\n return new (t || NzFormNoStatusService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzFormNoStatusService,\n factory: NzFormNoStatusService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzFormNoStatusService, [{\n type: Injectable\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst iconTypeMap = {\n error: 'close-circle-fill',\n validating: 'loading',\n success: 'check-circle-fill',\n warning: 'exclamation-circle-fill'\n};\nclass NzFormItemFeedbackIconComponent {\n constructor(cdr) {\n this.cdr = cdr;\n this.status = '';\n this.iconType = null;\n }\n ngOnChanges(_changes) {\n this.updateIcon();\n }\n updateIcon() {\n this.iconType = this.status ? iconTypeMap[this.status] : null;\n this.cdr.markForCheck();\n }\n static {\n this.ɵfac = function NzFormItemFeedbackIconComponent_Factory(t) {\n return new (t || NzFormItemFeedbackIconComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzFormItemFeedbackIconComponent,\n selectors: [[\"nz-form-item-feedback-icon\"]],\n hostAttrs: [1, \"ant-form-item-feedback-icon\"],\n hostVars: 8,\n hostBindings: function NzFormItemFeedbackIconComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-form-item-feedback-icon-error\", ctx.status === \"error\")(\"ant-form-item-feedback-icon-warning\", ctx.status === \"warning\")(\"ant-form-item-feedback-icon-success\", ctx.status === \"success\")(\"ant-form-item-feedback-icon-validating\", ctx.status === \"validating\");\n }\n },\n inputs: {\n status: \"status\"\n },\n exportAs: [\"nzFormFeedbackIcon\"],\n features: [i0.ɵɵNgOnChangesFeature],\n decls: 1,\n vars: 1,\n consts: [[\"nz-icon\", \"\", 3, \"nzType\", 4, \"ngIf\"], [\"nz-icon\", \"\", 3, \"nzType\"]],\n template: function NzFormItemFeedbackIconComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzFormItemFeedbackIconComponent_span_0_Template, 1, 1, \"span\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.iconType);\n }\n },\n dependencies: [i1.NgIf, i2.NzIconDirective],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzFormItemFeedbackIconComponent, [{\n type: Component,\n args: [{\n selector: 'nz-form-item-feedback-icon',\n exportAs: 'nzFormFeedbackIcon',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` `,\n host: {\n class: 'ant-form-item-feedback-icon',\n '[class.ant-form-item-feedback-icon-error]': 'status===\"error\"',\n '[class.ant-form-item-feedback-icon-warning]': 'status===\"warning\"',\n '[class.ant-form-item-feedback-icon-success]': 'status===\"success\"',\n '[class.ant-form-item-feedback-icon-validating]': 'status===\"validating\"'\n }\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }], {\n status: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzFormPatchModule {\n static {\n this.ɵfac = function NzFormPatchModule_Factory(t) {\n return new (t || NzFormPatchModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzFormPatchModule,\n declarations: [NzFormItemFeedbackIconComponent],\n imports: [CommonModule, NzIconModule],\n exports: [NzFormItemFeedbackIconComponent]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule, NzIconModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzFormPatchModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, NzIconModule],\n exports: [NzFormItemFeedbackIconComponent],\n declarations: [NzFormItemFeedbackIconComponent]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzFormItemFeedbackIconComponent, NzFormNoStatusService, NzFormPatchModule, NzFormStatusService };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js b/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js deleted file mode 100644 index 47fc483..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js +++ /dev/null @@ -1,760 +0,0 @@ -import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import { - NzConfigService, - WithConfig -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - InputBoolean -} from "./chunk-M5GY4FCO.js"; -import { - NgIf -} from "./chunk-OSQBUYO6.js"; -import { - ANIMATION_MODULE_TYPE, - CSP_NONCE, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ContentChild, - Directive, - ElementRef, - Inject, - InjectionToken, - Input, - NgModule, - NgZone, - Optional, - PLATFORM_ID, - Renderer2, - Subject, - ViewEncapsulation$1, - __decorate, - filter, - fromEvent, - makeEnvironmentProviders, - setClassMetadata, - startWith, - takeUntil, - ɵɵNgOnChangesFeature, - ɵɵStandaloneFeature, - ɵɵattribute, - ɵɵclassProp, - ɵɵcontentQuery, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵloadQuery, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵtemplate -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-transition-patch.mjs -var _NzTransitionPatchDirective = class _NzTransitionPatchDirective { - setHiddenAttribute() { - if (this.hidden) { - if (typeof this.hidden === "string") { - this.renderer.setAttribute(this.elementRef.nativeElement, "hidden", this.hidden); - } else { - this.renderer.setAttribute(this.elementRef.nativeElement, "hidden", ""); - } - } else { - this.renderer.removeAttribute(this.elementRef.nativeElement, "hidden"); - } - } - constructor(elementRef, renderer) { - this.elementRef = elementRef; - this.renderer = renderer; - this.hidden = null; - this.renderer.setAttribute(this.elementRef.nativeElement, "hidden", ""); - } - ngOnChanges() { - this.setHiddenAttribute(); - } - ngAfterViewInit() { - this.setHiddenAttribute(); - } -}; -_NzTransitionPatchDirective.ɵfac = function NzTransitionPatchDirective_Factory(t) { - return new (t || _NzTransitionPatchDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2)); -}; -_NzTransitionPatchDirective.ɵdir = ɵɵdefineDirective({ - type: _NzTransitionPatchDirective, - selectors: [["", "nz-button", ""], ["nz-button-group"], ["", "nz-icon", ""], ["", "nz-menu-item", ""], ["", "nz-submenu", ""], ["nz-select-top-control"], ["nz-select-placeholder"], ["nz-input-group"]], - inputs: { - hidden: "hidden" - }, - standalone: true, - features: [ɵɵNgOnChangesFeature] -}); -var NzTransitionPatchDirective = _NzTransitionPatchDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzTransitionPatchDirective, [{ - type: Directive, - args: [{ - selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: Renderer2 - }], { - hidden: [{ - type: Input - }] - }); -})(); -var _NzTransitionPatchModule = class _NzTransitionPatchModule { -}; -_NzTransitionPatchModule.ɵfac = function NzTransitionPatchModule_Factory(t) { - return new (t || _NzTransitionPatchModule)(); -}; -_NzTransitionPatchModule.ɵmod = ɵɵdefineNgModule({ - type: _NzTransitionPatchModule, - imports: [NzTransitionPatchDirective], - exports: [NzTransitionPatchDirective] -}); -_NzTransitionPatchModule.ɵinj = ɵɵdefineInjector({}); -var NzTransitionPatchModule = _NzTransitionPatchModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzTransitionPatchModule, [{ - type: NgModule, - args: [{ - imports: [NzTransitionPatchDirective], - exports: [NzTransitionPatchDirective] - }] - }], null, null); -})(); - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-wave.mjs -var NzWaveRenderer = class { - get waveAttributeName() { - return this.insertExtraNode ? "ant-click-animating" : "ant-click-animating-without-extra-node"; - } - constructor(triggerElement, ngZone, insertExtraNode, platformId, cspNonce) { - this.triggerElement = triggerElement; - this.ngZone = ngZone; - this.insertExtraNode = insertExtraNode; - this.platformId = platformId; - this.cspNonce = cspNonce; - this.waveTransitionDuration = 400; - this.styleForPseudo = null; - this.extraNode = null; - this.lastTime = 0; - this.onClick = (event) => { - if (!this.triggerElement || !this.triggerElement.getAttribute || this.triggerElement.getAttribute("disabled") || event.target.tagName === "INPUT" || this.triggerElement.className.indexOf("disabled") >= 0) { - return; - } - this.fadeOutWave(); - }; - this.platform = new Platform(this.platformId); - this.clickHandler = this.onClick.bind(this); - this.bindTriggerEvent(); - } - bindTriggerEvent() { - if (this.platform.isBrowser) { - this.ngZone.runOutsideAngular(() => { - this.removeTriggerEvent(); - if (this.triggerElement) { - this.triggerElement.addEventListener("click", this.clickHandler, true); - } - }); - } - } - removeTriggerEvent() { - if (this.triggerElement) { - this.triggerElement.removeEventListener("click", this.clickHandler, true); - } - } - removeStyleAndExtraNode() { - if (this.styleForPseudo && document.body.contains(this.styleForPseudo)) { - document.body.removeChild(this.styleForPseudo); - this.styleForPseudo = null; - } - if (this.insertExtraNode && this.triggerElement.contains(this.extraNode)) { - this.triggerElement.removeChild(this.extraNode); - } - } - destroy() { - this.removeTriggerEvent(); - this.removeStyleAndExtraNode(); - } - fadeOutWave() { - const node = this.triggerElement; - const waveColor = this.getWaveColor(node); - node.setAttribute(this.waveAttributeName, "true"); - if (Date.now() < this.lastTime + this.waveTransitionDuration) { - return; - } - if (this.isValidColor(waveColor)) { - if (!this.styleForPseudo) { - this.styleForPseudo = document.createElement("style"); - if (this.cspNonce) { - this.styleForPseudo.nonce = this.cspNonce; - } - } - this.styleForPseudo.innerHTML = ` - [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node { - --antd-wave-shadow-color: ${waveColor}; - }`; - document.body.appendChild(this.styleForPseudo); - } - if (this.insertExtraNode) { - if (!this.extraNode) { - this.extraNode = document.createElement("div"); - } - this.extraNode.className = "ant-click-animating-node"; - node.appendChild(this.extraNode); - } - this.lastTime = Date.now(); - this.runTimeoutOutsideZone(() => { - node.removeAttribute(this.waveAttributeName); - this.removeStyleAndExtraNode(); - }, this.waveTransitionDuration); - } - isValidColor(color) { - return !!color && color !== "#ffffff" && color !== "rgb(255, 255, 255)" && this.isNotGrey(color) && !/rgba\(\d*, \d*, \d*, 0\)/.test(color) && color !== "transparent"; - } - isNotGrey(color) { - const match = color.match(/rgba?\((\d*), (\d*), (\d*)(, [\.\d]*)?\)/); - if (match && match[1] && match[2] && match[3]) { - return !(match[1] === match[2] && match[2] === match[3]); - } - return true; - } - getWaveColor(node) { - const nodeStyle = getComputedStyle(node); - return nodeStyle.getPropertyValue("border-top-color") || // Firefox Compatible - nodeStyle.getPropertyValue("border-color") || nodeStyle.getPropertyValue("background-color"); - } - runTimeoutOutsideZone(fn, delay) { - this.ngZone.runOutsideAngular(() => setTimeout(fn, delay)); - } -}; -var NZ_WAVE_GLOBAL_DEFAULT_CONFIG = { - disabled: false -}; -var NZ_WAVE_GLOBAL_CONFIG = new InjectionToken("nz-wave-global-options"); -function provideNzWave(config) { - return makeEnvironmentProviders([{ - provide: NZ_WAVE_GLOBAL_CONFIG, - useValue: config - }]); -} -var _NzWaveDirective = class _NzWaveDirective { - get disabled() { - return this.waveDisabled; - } - get rendererRef() { - return this.waveRenderer; - } - constructor(ngZone, elementRef, config, animationType, platformId, cspNonce) { - this.ngZone = ngZone; - this.elementRef = elementRef; - this.config = config; - this.animationType = animationType; - this.platformId = platformId; - this.cspNonce = cspNonce; - this.nzWaveExtraNode = false; - this.waveDisabled = false; - this.waveDisabled = this.isConfigDisabled(); - } - isConfigDisabled() { - let disabled = false; - if (this.config && typeof this.config.disabled === "boolean") { - disabled = this.config.disabled; - } - if (this.animationType === "NoopAnimations") { - disabled = true; - } - return disabled; - } - ngOnDestroy() { - if (this.waveRenderer) { - this.waveRenderer.destroy(); - } - } - ngOnInit() { - this.renderWaveIfEnabled(); - } - renderWaveIfEnabled() { - if (!this.waveDisabled && this.elementRef.nativeElement) { - this.waveRenderer = new NzWaveRenderer(this.elementRef.nativeElement, this.ngZone, this.nzWaveExtraNode, this.platformId, this.cspNonce); - } - } - disable() { - this.waveDisabled = true; - if (this.waveRenderer) { - this.waveRenderer.removeTriggerEvent(); - this.waveRenderer.removeStyleAndExtraNode(); - } - } - enable() { - this.waveDisabled = this.isConfigDisabled() || false; - if (this.waveRenderer) { - this.waveRenderer.bindTriggerEvent(); - } - } -}; -_NzWaveDirective.ɵfac = function NzWaveDirective_Factory(t) { - return new (t || _NzWaveDirective)(ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NZ_WAVE_GLOBAL_CONFIG, 8), ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), ɵɵdirectiveInject(PLATFORM_ID), ɵɵdirectiveInject(CSP_NONCE, 8)); -}; -_NzWaveDirective.ɵdir = ɵɵdefineDirective({ - type: _NzWaveDirective, - selectors: [["", "nz-wave", ""], ["button", "nz-button", "", 3, "nzType", "link", 3, "nzType", "text"]], - inputs: { - nzWaveExtraNode: "nzWaveExtraNode" - }, - exportAs: ["nzWave"], - standalone: true -}); -var NzWaveDirective = _NzWaveDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzWaveDirective, [{ - type: Directive, - args: [{ - selector: '[nz-wave],button[nz-button]:not([nzType="link"]):not([nzType="text"])', - exportAs: "nzWave", - standalone: true - }] - }], () => [{ - type: NgZone - }, { - type: ElementRef - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_WAVE_GLOBAL_CONFIG] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [ANIMATION_MODULE_TYPE] - }] - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [PLATFORM_ID] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [CSP_NONCE] - }] - }], { - nzWaveExtraNode: [{ - type: Input - }] - }); -})(); -var _NzWaveModule = class _NzWaveModule { -}; -_NzWaveModule.ɵfac = function NzWaveModule_Factory(t) { - return new (t || _NzWaveModule)(); -}; -_NzWaveModule.ɵmod = ɵɵdefineNgModule({ - type: _NzWaveModule, - imports: [NzWaveDirective], - exports: [NzWaveDirective] -}); -_NzWaveModule.ɵinj = ɵɵdefineInjector({ - providers: [provideNzWave(NZ_WAVE_GLOBAL_DEFAULT_CONFIG)] -}); -var NzWaveModule = _NzWaveModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzWaveModule, [{ - type: NgModule, - args: [{ - imports: [NzWaveDirective], - exports: [NzWaveDirective], - providers: [provideNzWave(NZ_WAVE_GLOBAL_DEFAULT_CONFIG)] - }] - }], null, null); -})(); - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-button.mjs -var _c0 = ["nz-button", ""]; -function NzButtonComponent_span_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 1); - } -} -var _c1 = ["*"]; -var NZ_CONFIG_MODULE_NAME = "button"; -var _NzButtonComponent = class _NzButtonComponent { - insertSpan(nodes, renderer) { - nodes.forEach((node) => { - if (node.nodeName === "#text") { - const span = renderer.createElement("span"); - const parent = renderer.parentNode(node); - renderer.insertBefore(parent, span, node); - renderer.appendChild(span, node); - } - }); - } - get iconOnly() { - const listOfNode = Array.from(this.elementRef?.nativeElement?.childNodes || []); - const noText = listOfNode.every((node) => node.nodeName !== "#text"); - const noSpan = listOfNode.filter((node) => { - return !(node.nodeName === "#comment" || !!node?.attributes?.getNamedItem("nz-icon")); - }).length == 0; - const isIconOnly = !!this.nzIconDirectiveElement && noSpan && noText; - return isIconOnly; - } - constructor(ngZone, elementRef, cdr, renderer, nzConfigService, directionality) { - this.ngZone = ngZone; - this.elementRef = elementRef; - this.cdr = cdr; - this.renderer = renderer; - this.nzConfigService = nzConfigService; - this.directionality = directionality; - this._nzModuleName = NZ_CONFIG_MODULE_NAME; - this.nzBlock = false; - this.nzGhost = false; - this.nzSearch = false; - this.nzLoading = false; - this.nzDanger = false; - this.disabled = false; - this.tabIndex = null; - this.nzType = null; - this.nzShape = null; - this.nzSize = "default"; - this.dir = "ltr"; - this.destroy$ = new Subject(); - this.loading$ = new Subject(); - this.nzConfigService.getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME).pipe(takeUntil(this.destroy$)).subscribe(() => { - this.cdr.markForCheck(); - }); - } - ngOnInit() { - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.detectChanges(); - }); - this.dir = this.directionality.value; - this.ngZone.runOutsideAngular(() => { - fromEvent(this.elementRef.nativeElement, "click", { - capture: true - }).pipe(takeUntil(this.destroy$)).subscribe((event) => { - if (this.disabled && event.target?.tagName === "A" || this.nzLoading) { - event.preventDefault(); - event.stopImmediatePropagation(); - } - }); - }); - } - ngOnChanges(changes) { - const { - nzLoading - } = changes; - if (nzLoading) { - this.loading$.next(this.nzLoading); - } - } - ngAfterViewInit() { - this.insertSpan(this.elementRef.nativeElement.childNodes, this.renderer); - } - ngAfterContentInit() { - this.loading$.pipe(startWith(this.nzLoading), filter(() => !!this.nzIconDirectiveElement), takeUntil(this.destroy$)).subscribe((loading) => { - const nativeElement = this.nzIconDirectiveElement.nativeElement; - if (loading) { - this.renderer.setStyle(nativeElement, "display", "none"); - } else { - this.renderer.removeStyle(nativeElement, "display"); - } - }); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzButtonComponent.ɵfac = function NzButtonComponent_Factory(t) { - return new (t || _NzButtonComponent)(ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzConfigService), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzButtonComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzButtonComponent, - selectors: [["button", "nz-button", ""], ["a", "nz-button", ""]], - contentQueries: function NzButtonComponent_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, NzIconDirective, 5, ElementRef); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.nzIconDirectiveElement = _t.first); - } - }, - hostAttrs: [1, "ant-btn"], - hostVars: 32, - hostBindings: function NzButtonComponent_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵattribute("tabindex", ctx.disabled ? -1 : ctx.tabIndex === null ? null : ctx.tabIndex)("disabled", ctx.disabled || null); - ɵɵclassProp("ant-btn-primary", ctx.nzType === "primary")("ant-btn-dashed", ctx.nzType === "dashed")("ant-btn-link", ctx.nzType === "link")("ant-btn-text", ctx.nzType === "text")("ant-btn-circle", ctx.nzShape === "circle")("ant-btn-round", ctx.nzShape === "round")("ant-btn-lg", ctx.nzSize === "large")("ant-btn-sm", ctx.nzSize === "small")("ant-btn-dangerous", ctx.nzDanger)("ant-btn-loading", ctx.nzLoading)("ant-btn-background-ghost", ctx.nzGhost)("ant-btn-block", ctx.nzBlock)("ant-input-search-button", ctx.nzSearch)("ant-btn-rtl", ctx.dir === "rtl")("ant-btn-icon-only", ctx.iconOnly); - } - }, - inputs: { - nzBlock: "nzBlock", - nzGhost: "nzGhost", - nzSearch: "nzSearch", - nzLoading: "nzLoading", - nzDanger: "nzDanger", - disabled: "disabled", - tabIndex: "tabIndex", - nzType: "nzType", - nzShape: "nzShape", - nzSize: "nzSize" - }, - exportAs: ["nzButton"], - standalone: true, - features: [ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - attrs: _c0, - ngContentSelectors: _c1, - decls: 2, - vars: 1, - consts: [["nz-icon", "", "nzType", "loading", 4, "ngIf"], ["nz-icon", "", "nzType", "loading"]], - template: function NzButtonComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵtemplate(0, NzButtonComponent_span_0_Template, 1, 0, "span", 0); - ɵɵprojection(1); - } - if (rf & 2) { - ɵɵproperty("ngIf", ctx.nzLoading); - } - }, - dependencies: [NzIconModule, NzIconDirective, NgIf], - encapsulation: 2, - changeDetection: 0 -}); -var NzButtonComponent = _NzButtonComponent; -__decorate([InputBoolean()], NzButtonComponent.prototype, "nzBlock", void 0); -__decorate([InputBoolean()], NzButtonComponent.prototype, "nzGhost", void 0); -__decorate([InputBoolean()], NzButtonComponent.prototype, "nzSearch", void 0); -__decorate([InputBoolean()], NzButtonComponent.prototype, "nzLoading", void 0); -__decorate([InputBoolean()], NzButtonComponent.prototype, "nzDanger", void 0); -__decorate([InputBoolean()], NzButtonComponent.prototype, "disabled", void 0); -__decorate([WithConfig()], NzButtonComponent.prototype, "nzSize", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzButtonComponent, [{ - type: Component, - args: [{ - selector: "button[nz-button], a[nz-button]", - exportAs: "nzButton", - preserveWhitespaces: false, - changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation$1.None, - template: ` - - - `, - host: { - class: "ant-btn", - "[class.ant-btn-primary]": `nzType === 'primary'`, - "[class.ant-btn-dashed]": `nzType === 'dashed'`, - "[class.ant-btn-link]": `nzType === 'link'`, - "[class.ant-btn-text]": `nzType === 'text'`, - "[class.ant-btn-circle]": `nzShape === 'circle'`, - "[class.ant-btn-round]": `nzShape === 'round'`, - "[class.ant-btn-lg]": `nzSize === 'large'`, - "[class.ant-btn-sm]": `nzSize === 'small'`, - "[class.ant-btn-dangerous]": `nzDanger`, - "[class.ant-btn-loading]": `nzLoading`, - "[class.ant-btn-background-ghost]": `nzGhost`, - "[class.ant-btn-block]": `nzBlock`, - "[class.ant-input-search-button]": `nzSearch`, - "[class.ant-btn-rtl]": `dir === 'rtl'`, - "[class.ant-btn-icon-only]": `iconOnly`, - "[attr.tabindex]": "disabled ? -1 : (tabIndex === null ? null : tabIndex)", - "[attr.disabled]": "disabled || null" - }, - imports: [NzIconModule, NgIf], - standalone: true - }] - }], () => [{ - type: NgZone - }, { - type: ElementRef - }, { - type: ChangeDetectorRef - }, { - type: Renderer2 - }, { - type: NzConfigService - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzIconDirectiveElement: [{ - type: ContentChild, - args: [NzIconDirective, { - read: ElementRef - }] - }], - nzBlock: [{ - type: Input - }], - nzGhost: [{ - type: Input - }], - nzSearch: [{ - type: Input - }], - nzLoading: [{ - type: Input - }], - nzDanger: [{ - type: Input - }], - disabled: [{ - type: Input - }], - tabIndex: [{ - type: Input - }], - nzType: [{ - type: Input - }], - nzShape: [{ - type: Input - }], - nzSize: [{ - type: Input - }] - }); -})(); -var _NzButtonGroupComponent = class _NzButtonGroupComponent { - constructor(directionality) { - this.directionality = directionality; - this.nzSize = "default"; - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - ngOnInit() { - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - }); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzButtonGroupComponent.ɵfac = function NzButtonGroupComponent_Factory(t) { - return new (t || _NzButtonGroupComponent)(ɵɵdirectiveInject(Directionality, 8)); -}; -_NzButtonGroupComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzButtonGroupComponent, - selectors: [["nz-button-group"]], - hostAttrs: [1, "ant-btn-group"], - hostVars: 6, - hostBindings: function NzButtonGroupComponent_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-btn-group-lg", ctx.nzSize === "large")("ant-btn-group-sm", ctx.nzSize === "small")("ant-btn-group-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - nzSize: "nzSize" - }, - exportAs: ["nzButtonGroup"], - standalone: true, - features: [ɵɵStandaloneFeature], - ngContentSelectors: _c1, - decls: 1, - vars: 0, - template: function NzButtonGroupComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵprojection(0); - } - }, - encapsulation: 2, - changeDetection: 0 -}); -var NzButtonGroupComponent = _NzButtonGroupComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzButtonGroupComponent, [{ - type: Component, - args: [{ - selector: "nz-button-group", - exportAs: "nzButtonGroup", - changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation$1.None, - host: { - class: "ant-btn-group", - "[class.ant-btn-group-lg]": `nzSize === 'large'`, - "[class.ant-btn-group-sm]": `nzSize === 'small'`, - "[class.ant-btn-group-rtl]": `dir === 'rtl'` - }, - preserveWhitespaces: false, - template: ` `, - standalone: true - }] - }], () => [{ - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzSize: [{ - type: Input - }] - }); -})(); -var _NzButtonModule = class _NzButtonModule { -}; -_NzButtonModule.ɵfac = function NzButtonModule_Factory(t) { - return new (t || _NzButtonModule)(); -}; -_NzButtonModule.ɵmod = ɵɵdefineNgModule({ - type: _NzButtonModule, - imports: [NzButtonComponent, NzButtonGroupComponent], - exports: [NzButtonComponent, NzButtonGroupComponent, NzTransitionPatchModule, NzWaveModule] -}); -_NzButtonModule.ɵinj = ɵɵdefineInjector({ - imports: [NzButtonComponent, NzTransitionPatchModule, NzWaveModule] -}); -var NzButtonModule = _NzButtonModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzButtonModule, [{ - type: NgModule, - args: [{ - imports: [NzButtonComponent, NzButtonGroupComponent], - exports: [NzButtonComponent, NzButtonGroupComponent, NzTransitionPatchModule, NzWaveModule] - }] - }], null, null); -})(); - -export { - NzButtonComponent, - NzButtonGroupComponent, - NzButtonModule -}; -//# sourceMappingURL=chunk-KMGBCF4T.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js.map b/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js.map deleted file mode 100644 index 8630654..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-KMGBCF4T.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-transition-patch.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-wave.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-button.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Directive, Input, NgModule } from '@angular/core';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * hack the bug\n * angular router change with unexpected transition trigger after calling applicationRef.attachView\n * https://github.com/angular/angular/issues/34718\n */\nclass NzTransitionPatchDirective {\n setHiddenAttribute() {\n if (this.hidden) {\n if (typeof this.hidden === 'string') {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', this.hidden);\n } else {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\n }\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n }\n }\n constructor(elementRef, renderer) {\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.hidden = null;\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\n }\n ngOnChanges() {\n this.setHiddenAttribute();\n }\n ngAfterViewInit() {\n this.setHiddenAttribute();\n }\n static {\n this.ɵfac = function NzTransitionPatchDirective_Factory(t) {\n return new (t || NzTransitionPatchDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzTransitionPatchDirective,\n selectors: [[\"\", \"nz-button\", \"\"], [\"nz-button-group\"], [\"\", \"nz-icon\", \"\"], [\"\", \"nz-menu-item\", \"\"], [\"\", \"nz-submenu\", \"\"], [\"nz-select-top-control\"], [\"nz-select-placeholder\"], [\"nz-input-group\"]],\n inputs: {\n hidden: \"hidden\"\n },\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTransitionPatchDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group',\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }], {\n hidden: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzTransitionPatchModule {\n static {\n this.ɵfac = function NzTransitionPatchModule_Factory(t) {\n return new (t || NzTransitionPatchModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzTransitionPatchModule,\n imports: [NzTransitionPatchDirective],\n exports: [NzTransitionPatchDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzTransitionPatchModule, [{\n type: NgModule,\n args: [{\n imports: [NzTransitionPatchDirective],\n exports: [NzTransitionPatchDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzTransitionPatchDirective as ɵNzTransitionPatchDirective, NzTransitionPatchModule as ɵNzTransitionPatchModule };\n", "import { Platform } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders, PLATFORM_ID, CSP_NONCE, Directive, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzWaveRenderer {\n get waveAttributeName() {\n return this.insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n }\n constructor(triggerElement, ngZone, insertExtraNode, platformId, cspNonce) {\n this.triggerElement = triggerElement;\n this.ngZone = ngZone;\n this.insertExtraNode = insertExtraNode;\n this.platformId = platformId;\n this.cspNonce = cspNonce;\n this.waveTransitionDuration = 400;\n this.styleForPseudo = null;\n this.extraNode = null;\n this.lastTime = 0;\n this.onClick = event => {\n if (!this.triggerElement || !this.triggerElement.getAttribute || this.triggerElement.getAttribute('disabled') || event.target.tagName === 'INPUT' || this.triggerElement.className.indexOf('disabled') >= 0) {\n return;\n }\n this.fadeOutWave();\n };\n this.platform = new Platform(this.platformId);\n this.clickHandler = this.onClick.bind(this);\n this.bindTriggerEvent();\n }\n bindTriggerEvent() {\n if (this.platform.isBrowser) {\n this.ngZone.runOutsideAngular(() => {\n this.removeTriggerEvent();\n if (this.triggerElement) {\n this.triggerElement.addEventListener('click', this.clickHandler, true);\n }\n });\n }\n }\n removeTriggerEvent() {\n if (this.triggerElement) {\n this.triggerElement.removeEventListener('click', this.clickHandler, true);\n }\n }\n removeStyleAndExtraNode() {\n if (this.styleForPseudo && document.body.contains(this.styleForPseudo)) {\n document.body.removeChild(this.styleForPseudo);\n this.styleForPseudo = null;\n }\n if (this.insertExtraNode && this.triggerElement.contains(this.extraNode)) {\n this.triggerElement.removeChild(this.extraNode);\n }\n }\n destroy() {\n this.removeTriggerEvent();\n this.removeStyleAndExtraNode();\n }\n fadeOutWave() {\n const node = this.triggerElement;\n const waveColor = this.getWaveColor(node);\n node.setAttribute(this.waveAttributeName, 'true');\n if (Date.now() < this.lastTime + this.waveTransitionDuration) {\n return;\n }\n if (this.isValidColor(waveColor)) {\n if (!this.styleForPseudo) {\n this.styleForPseudo = document.createElement('style');\n if (this.cspNonce) {\n this.styleForPseudo.nonce = this.cspNonce;\n }\n }\n this.styleForPseudo.innerHTML = `\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ${waveColor};\n }`;\n document.body.appendChild(this.styleForPseudo);\n }\n if (this.insertExtraNode) {\n if (!this.extraNode) {\n this.extraNode = document.createElement('div');\n }\n this.extraNode.className = 'ant-click-animating-node';\n node.appendChild(this.extraNode);\n }\n this.lastTime = Date.now();\n this.runTimeoutOutsideZone(() => {\n node.removeAttribute(this.waveAttributeName);\n this.removeStyleAndExtraNode();\n }, this.waveTransitionDuration);\n }\n isValidColor(color) {\n return !!color && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && this.isNotGrey(color) && !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(color) && color !== 'transparent';\n }\n isNotGrey(color) {\n const match = color.match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n }\n getWaveColor(node) {\n const nodeStyle = getComputedStyle(node);\n return nodeStyle.getPropertyValue('border-top-color') ||\n // Firefox Compatible\n nodeStyle.getPropertyValue('border-color') || nodeStyle.getPropertyValue('background-color');\n }\n runTimeoutOutsideZone(fn, delay) {\n this.ngZone.runOutsideAngular(() => setTimeout(fn, delay));\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NZ_WAVE_GLOBAL_DEFAULT_CONFIG = {\n disabled: false\n};\nconst NZ_WAVE_GLOBAL_CONFIG = new InjectionToken('nz-wave-global-options');\nfunction provideNzWave(config) {\n return makeEnvironmentProviders([{\n provide: NZ_WAVE_GLOBAL_CONFIG,\n useValue: config\n }]);\n}\nclass NzWaveDirective {\n get disabled() {\n return this.waveDisabled;\n }\n get rendererRef() {\n return this.waveRenderer;\n }\n constructor(ngZone, elementRef, config, animationType, platformId, cspNonce) {\n this.ngZone = ngZone;\n this.elementRef = elementRef;\n this.config = config;\n this.animationType = animationType;\n this.platformId = platformId;\n this.cspNonce = cspNonce;\n this.nzWaveExtraNode = false;\n this.waveDisabled = false;\n this.waveDisabled = this.isConfigDisabled();\n }\n isConfigDisabled() {\n let disabled = false;\n if (this.config && typeof this.config.disabled === 'boolean') {\n disabled = this.config.disabled;\n }\n if (this.animationType === 'NoopAnimations') {\n disabled = true;\n }\n return disabled;\n }\n ngOnDestroy() {\n if (this.waveRenderer) {\n this.waveRenderer.destroy();\n }\n }\n ngOnInit() {\n this.renderWaveIfEnabled();\n }\n renderWaveIfEnabled() {\n if (!this.waveDisabled && this.elementRef.nativeElement) {\n this.waveRenderer = new NzWaveRenderer(this.elementRef.nativeElement, this.ngZone, this.nzWaveExtraNode, this.platformId, this.cspNonce);\n }\n }\n disable() {\n this.waveDisabled = true;\n if (this.waveRenderer) {\n this.waveRenderer.removeTriggerEvent();\n this.waveRenderer.removeStyleAndExtraNode();\n }\n }\n enable() {\n // config priority\n this.waveDisabled = this.isConfigDisabled() || false;\n if (this.waveRenderer) {\n this.waveRenderer.bindTriggerEvent();\n }\n }\n static {\n this.ɵfac = function NzWaveDirective_Factory(t) {\n return new (t || NzWaveDirective)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(NZ_WAVE_GLOBAL_CONFIG, 8), i0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(CSP_NONCE, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzWaveDirective,\n selectors: [[\"\", \"nz-wave\", \"\"], [\"button\", \"nz-button\", \"\", 3, \"nzType\", \"link\", 3, \"nzType\", \"text\"]],\n inputs: {\n nzWaveExtraNode: \"nzWaveExtraNode\"\n },\n exportAs: [\"nzWave\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzWaveDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])',\n exportAs: 'nzWave',\n standalone: true\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i0.ElementRef\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_WAVE_GLOBAL_CONFIG]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CSP_NONCE]\n }]\n }], {\n nzWaveExtraNode: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzWaveModule {\n static {\n this.ɵfac = function NzWaveModule_Factory(t) {\n return new (t || NzWaveModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzWaveModule,\n imports: [NzWaveDirective],\n exports: [NzWaveDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [provideNzWave(NZ_WAVE_GLOBAL_DEFAULT_CONFIG)]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzWaveModule, [{\n type: NgModule,\n args: [{\n imports: [NzWaveDirective],\n exports: [NzWaveDirective],\n providers: [provideNzWave(NZ_WAVE_GLOBAL_DEFAULT_CONFIG)]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NZ_WAVE_GLOBAL_CONFIG, NZ_WAVE_GLOBAL_DEFAULT_CONFIG, NzWaveDirective, NzWaveModule, NzWaveRenderer, provideNzWave };\n", "import { __decorate } from 'tslib';\nimport { NgIf } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, ContentChild, Input, NgModule } from '@angular/core';\nimport { Subject, fromEvent } from 'rxjs';\nimport { takeUntil, startWith, filter } from 'rxjs/operators';\nimport * as i1 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nimport * as i3 from 'ng-zorro-antd/icon';\nimport { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';\nimport * as i2 from '@angular/cdk/bidi';\nimport { ɵNzTransitionPatchModule as _NzTransitionPatchModule } from 'ng-zorro-antd/core/transition-patch';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nconst _c0 = [\"nz-button\", \"\"];\nfunction NzButtonComponent_span_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 1);\n }\n}\nconst _c1 = [\"*\"];\nconst NZ_CONFIG_MODULE_NAME = 'button';\nclass NzButtonComponent {\n insertSpan(nodes, renderer) {\n nodes.forEach(node => {\n if (node.nodeName === '#text') {\n const span = renderer.createElement('span');\n const parent = renderer.parentNode(node);\n renderer.insertBefore(parent, span, node);\n renderer.appendChild(span, node);\n }\n });\n }\n get iconOnly() {\n const listOfNode = Array.from(this.elementRef?.nativeElement?.childNodes || []);\n const noText = listOfNode.every(node => node.nodeName !== '#text');\n // ignore icon and comment\n const noSpan = listOfNode.filter(node => {\n return !(node.nodeName === '#comment' || !!node?.attributes?.getNamedItem('nz-icon'));\n }).length == 0;\n const isIconOnly = !!this.nzIconDirectiveElement && noSpan && noText;\n return isIconOnly;\n }\n constructor(ngZone, elementRef, cdr, renderer, nzConfigService, directionality) {\n this.ngZone = ngZone;\n this.elementRef = elementRef;\n this.cdr = cdr;\n this.renderer = renderer;\n this.nzConfigService = nzConfigService;\n this.directionality = directionality;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.nzBlock = false;\n this.nzGhost = false;\n this.nzSearch = false;\n this.nzLoading = false;\n this.nzDanger = false;\n this.disabled = false;\n this.tabIndex = null;\n this.nzType = null;\n this.nzShape = null;\n this.nzSize = 'default';\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n this.loading$ = new Subject();\n this.nzConfigService.getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n ngOnInit() {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.dir = this.directionality.value;\n this.ngZone.runOutsideAngular(() => {\n // Caretaker note: this event listener could've been added through `host.click` or `HostListener`.\n // The compiler generates the `ɵɵlistener` instruction which wraps the actual listener internally into the\n // function, which runs `markDirty()` before running the actual listener (the decorated class method).\n // Since we're preventing the default behavior and stopping event propagation this doesn't require Angular to run the change detection.\n fromEvent(this.elementRef.nativeElement, 'click', {\n capture: true\n }).pipe(takeUntil(this.destroy$)).subscribe(event => {\n if (this.disabled && event.target?.tagName === 'A' || this.nzLoading) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n });\n });\n }\n ngOnChanges(changes) {\n const {\n nzLoading\n } = changes;\n if (nzLoading) {\n this.loading$.next(this.nzLoading);\n }\n }\n ngAfterViewInit() {\n this.insertSpan(this.elementRef.nativeElement.childNodes, this.renderer);\n }\n ngAfterContentInit() {\n this.loading$.pipe(startWith(this.nzLoading), filter(() => !!this.nzIconDirectiveElement), takeUntil(this.destroy$)).subscribe(loading => {\n const nativeElement = this.nzIconDirectiveElement.nativeElement;\n if (loading) {\n this.renderer.setStyle(nativeElement, 'display', 'none');\n } else {\n this.renderer.removeStyle(nativeElement, 'display');\n }\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzButtonComponent_Factory(t) {\n return new (t || NzButtonComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzButtonComponent,\n selectors: [[\"button\", \"nz-button\", \"\"], [\"a\", \"nz-button\", \"\"]],\n contentQueries: function NzButtonComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzIconDirective, 5, ElementRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nzIconDirectiveElement = _t.first);\n }\n },\n hostAttrs: [1, \"ant-btn\"],\n hostVars: 32,\n hostBindings: function NzButtonComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"tabindex\", ctx.disabled ? -1 : ctx.tabIndex === null ? null : ctx.tabIndex)(\"disabled\", ctx.disabled || null);\n i0.ɵɵclassProp(\"ant-btn-primary\", ctx.nzType === \"primary\")(\"ant-btn-dashed\", ctx.nzType === \"dashed\")(\"ant-btn-link\", ctx.nzType === \"link\")(\"ant-btn-text\", ctx.nzType === \"text\")(\"ant-btn-circle\", ctx.nzShape === \"circle\")(\"ant-btn-round\", ctx.nzShape === \"round\")(\"ant-btn-lg\", ctx.nzSize === \"large\")(\"ant-btn-sm\", ctx.nzSize === \"small\")(\"ant-btn-dangerous\", ctx.nzDanger)(\"ant-btn-loading\", ctx.nzLoading)(\"ant-btn-background-ghost\", ctx.nzGhost)(\"ant-btn-block\", ctx.nzBlock)(\"ant-input-search-button\", ctx.nzSearch)(\"ant-btn-rtl\", ctx.dir === \"rtl\")(\"ant-btn-icon-only\", ctx.iconOnly);\n }\n },\n inputs: {\n nzBlock: \"nzBlock\",\n nzGhost: \"nzGhost\",\n nzSearch: \"nzSearch\",\n nzLoading: \"nzLoading\",\n nzDanger: \"nzDanger\",\n disabled: \"disabled\",\n tabIndex: \"tabIndex\",\n nzType: \"nzType\",\n nzShape: \"nzShape\",\n nzSize: \"nzSize\"\n },\n exportAs: [\"nzButton\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n attrs: _c0,\n ngContentSelectors: _c1,\n decls: 2,\n vars: 1,\n consts: [[\"nz-icon\", \"\", \"nzType\", \"loading\", 4, \"ngIf\"], [\"nz-icon\", \"\", \"nzType\", \"loading\"]],\n template: function NzButtonComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵtemplate(0, NzButtonComponent_span_0_Template, 1, 0, \"span\", 0);\n i0.ɵɵprojection(1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.nzLoading);\n }\n },\n dependencies: [NzIconModule, i3.NzIconDirective, NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"nzBlock\", void 0);\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"nzGhost\", void 0);\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"nzSearch\", void 0);\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"nzLoading\", void 0);\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"nzDanger\", void 0);\n__decorate([InputBoolean()], NzButtonComponent.prototype, \"disabled\", void 0);\n__decorate([WithConfig()], NzButtonComponent.prototype, \"nzSize\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzButtonComponent, [{\n type: Component,\n args: [{\n selector: 'button[nz-button], a[nz-button]',\n exportAs: 'nzButton',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \n `,\n host: {\n class: 'ant-btn',\n '[class.ant-btn-primary]': `nzType === 'primary'`,\n '[class.ant-btn-dashed]': `nzType === 'dashed'`,\n '[class.ant-btn-link]': `nzType === 'link'`,\n '[class.ant-btn-text]': `nzType === 'text'`,\n '[class.ant-btn-circle]': `nzShape === 'circle'`,\n '[class.ant-btn-round]': `nzShape === 'round'`,\n '[class.ant-btn-lg]': `nzSize === 'large'`,\n '[class.ant-btn-sm]': `nzSize === 'small'`,\n '[class.ant-btn-dangerous]': `nzDanger`,\n '[class.ant-btn-loading]': `nzLoading`,\n '[class.ant-btn-background-ghost]': `nzGhost`,\n '[class.ant-btn-block]': `nzBlock`,\n '[class.ant-input-search-button]': `nzSearch`,\n '[class.ant-btn-rtl]': `dir === 'rtl'`,\n '[class.ant-btn-icon-only]': `iconOnly`,\n '[attr.tabindex]': 'disabled ? -1 : (tabIndex === null ? null : tabIndex)',\n '[attr.disabled]': 'disabled || null'\n },\n imports: [NzIconModule, NgIf],\n standalone: true\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i0.ElementRef\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i0.Renderer2\n }, {\n type: i1.NzConfigService\n }, {\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzIconDirectiveElement: [{\n type: ContentChild,\n args: [NzIconDirective, {\n read: ElementRef\n }]\n }],\n nzBlock: [{\n type: Input\n }],\n nzGhost: [{\n type: Input\n }],\n nzSearch: [{\n type: Input\n }],\n nzLoading: [{\n type: Input\n }],\n nzDanger: [{\n type: Input\n }],\n disabled: [{\n type: Input\n }],\n tabIndex: [{\n type: Input\n }],\n nzType: [{\n type: Input\n }],\n nzShape: [{\n type: Input\n }],\n nzSize: [{\n type: Input\n }]\n });\n})();\nclass NzButtonGroupComponent {\n constructor(directionality) {\n this.directionality = directionality;\n this.nzSize = 'default';\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzButtonGroupComponent_Factory(t) {\n return new (t || NzButtonGroupComponent)(i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzButtonGroupComponent,\n selectors: [[\"nz-button-group\"]],\n hostAttrs: [1, \"ant-btn-group\"],\n hostVars: 6,\n hostBindings: function NzButtonGroupComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-btn-group-lg\", ctx.nzSize === \"large\")(\"ant-btn-group-sm\", ctx.nzSize === \"small\")(\"ant-btn-group-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n nzSize: \"nzSize\"\n },\n exportAs: [\"nzButtonGroup\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c1,\n decls: 1,\n vars: 0,\n template: function NzButtonGroupComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzButtonGroupComponent, [{\n type: Component,\n args: [{\n selector: 'nz-button-group',\n exportAs: 'nzButtonGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ant-btn-group',\n '[class.ant-btn-group-lg]': `nzSize === 'large'`,\n '[class.ant-btn-group-sm]': `nzSize === 'small'`,\n '[class.ant-btn-group-rtl]': `dir === 'rtl'`\n },\n preserveWhitespaces: false,\n template: ` `,\n standalone: true\n }]\n }], () => [{\n type: i2.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzSize: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzButtonModule {\n static {\n this.ɵfac = function NzButtonModule_Factory(t) {\n return new (t || NzButtonModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzButtonModule,\n imports: [NzButtonComponent, NzButtonGroupComponent],\n exports: [NzButtonComponent, NzButtonGroupComponent, _NzTransitionPatchModule, NzWaveModule]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [NzButtonComponent, _NzTransitionPatchModule, NzWaveModule]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzButtonModule, [{\n type: NgModule,\n args: [{\n imports: [NzButtonComponent, NzButtonGroupComponent],\n exports: [NzButtonComponent, NzButtonGroupComponent, _NzTransitionPatchModule, NzWaveModule]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzButtonComponent, NzButtonGroupComponent, NzButtonModule };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js b/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js deleted file mode 100644 index 96dfc6d..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js +++ /dev/null @@ -1,275 +0,0 @@ -import { - ElementRef, - Subject, - from, - isDevMode, - isObservable, - of, - take -} from "./chunk-FGESKT7O.js"; - -// node_modules/@angular/cdk/fesm2022/coercion.mjs -function coerceBooleanProperty(value) { - return value != null && `${value}` !== "false"; -} -function coerceNumberProperty(value, fallbackValue = 0) { - return _isNumberValue(value) ? Number(value) : fallbackValue; -} -function _isNumberValue(value) { - return !isNaN(parseFloat(value)) && !isNaN(Number(value)); -} -function coerceArray(value) { - return Array.isArray(value) ? value : [value]; -} -function coerceCssPixelValue(value) { - if (value == null) { - return ""; - } - return typeof value === "string" ? value : `${value}px`; -} -function coerceElement(elementOrRef) { - return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef; -} - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-environments.mjs -var environment = { - isTestMode: false -}; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-logger.mjs -var record = {}; -var PREFIX = "[NG-ZORRO]:"; -function notRecorded(...args) { - const asRecord = args.reduce((acc, c) => acc + c.toString(), ""); - if (record[asRecord]) { - return false; - } else { - record[asRecord] = true; - return true; - } -} -function consoleCommonBehavior(consoleFunc, ...args) { - if (environment.isTestMode || isDevMode() && notRecorded(...args)) { - consoleFunc(...args); - } -} -var warn = (...args) => consoleCommonBehavior((...arg) => console.warn(PREFIX, ...arg), ...args); - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-util.mjs -function arraysEqual(array1, array2) { - if (!array1 || !array2 || array1.length !== array2.length) { - return false; - } - const len = array1.length; - for (let i = 0; i < len; i++) { - if (array1[i] !== array2[i]) { - return false; - } - } - return true; -} -function isNotNil(value) { - return typeof value !== "undefined" && value !== null; -} -function isNil(value) { - return typeof value === "undefined" || value === null; -} -function toBoolean(value) { - return coerceBooleanProperty(value); -} -function toNumber(value, fallbackValue = 0) { - return _isNumberValue(value) ? Number(value) : fallbackValue; -} -function toCssPixel(value) { - return coerceCssPixelValue(value); -} -function propDecoratorFactory(name, fallback) { - function propDecorator(target, propName, originalDescriptor) { - const privatePropName = `$$__zorroPropDecorator__${propName}`; - if (Object.prototype.hasOwnProperty.call(target, privatePropName)) { - warn(`The prop "${privatePropName}" is already exist, it will be overrided by ${name} decorator.`); - } - Object.defineProperty(target, privatePropName, { - configurable: true, - writable: true - }); - return { - get() { - return originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName]; - }, - set(value) { - if (originalDescriptor && originalDescriptor.set) { - originalDescriptor.set.bind(this)(fallback(value)); - } - this[privatePropName] = fallback(value); - } - }; - } - return propDecorator; -} -function InputBoolean() { - return propDecoratorFactory("InputBoolean", toBoolean); -} -function InputNumber(fallbackValue) { - return propDecoratorFactory("InputNumber", (value) => toNumber(value, fallbackValue)); -} -function silentEvent(e) { - e.stopPropagation(); - e.preventDefault(); -} -function getElementOffset(elem) { - if (!elem.getClientRects().length) { - return { top: 0, left: 0 }; - } - const rect = elem.getBoundingClientRect(); - const win = elem.ownerDocument.defaultView; - return { - top: rect.top + win.pageYOffset, - left: rect.left + win.pageXOffset - }; -} -function isTouchEvent(event) { - return event.type.startsWith("touch"); -} -function getEventPosition(event) { - return isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : event; -} -function isPromise(obj) { - return !!obj && typeof obj.then === "function" && typeof obj.catch === "function"; -} -function getPercent(min, max, value) { - return (value - min) / (max - min) * 100; -} -function getPrecision(num) { - const numStr = num.toString(); - const dotIndex = numStr.indexOf("."); - return dotIndex >= 0 ? numStr.length - dotIndex - 1 : 0; -} -function ensureNumberInRange(num, min, max) { - if (isNaN(num) || num < min) { - return min; - } else if (num > max) { - return max; - } else { - return num; - } -} -var isBrowser = typeof window !== "undefined"; -var isFirefox = isBrowser && window.mozInnerScreenX != null; -function inNextTick() { - const timer = new Subject(); - Promise.resolve().then(() => timer.next()); - return timer.pipe(take(1)); -} -function wrapIntoObservable(value) { - if (isObservable(value)) { - return value; - } - if (isPromise(value)) { - return from(Promise.resolve(value)); - } - return of(value); -} -function canUseDom() { - return !!(typeof window !== "undefined" && window.document && window.document.createElement); -} -var MARK_KEY = `rc-util-key`; -function getMark({ mark } = {}) { - if (mark) { - return mark.startsWith("data-") ? mark : `data-${mark}`; - } - return MARK_KEY; -} -function getContainer(option) { - if (option.attachTo) { - return option.attachTo; - } - const head = document.querySelector("head"); - return head || document.body; -} -function injectCSS(css, options = {}) { - if (!canUseDom()) { - return null; - } - const styleNode = document.createElement("style"); - if (options.cspNonce) { - styleNode.nonce = options.cspNonce; - } - styleNode.innerHTML = css; - const container = getContainer(options); - const { firstChild } = container; - if (options.prepend && container.prepend) { - container.prepend(styleNode); - } else if (options.prepend && firstChild) { - container.insertBefore(styleNode, firstChild); - } else { - container.appendChild(styleNode); - } - return styleNode; -} -var containerCache = /* @__PURE__ */ new Map(); -function findExistNode(key, option = {}) { - const container = getContainer(option); - return Array.from(containerCache.get(container)?.children || []).find((node) => node.tagName === "STYLE" && node.getAttribute(getMark(option)) === key); -} -function updateCSS(css, key, options = {}) { - const container = getContainer(options); - if (!containerCache.has(container)) { - const placeholderStyle = injectCSS("", options); - const { parentNode } = placeholderStyle; - containerCache.set(container, parentNode); - parentNode.removeChild(placeholderStyle); - } - const existNode = findExistNode(key, options); - if (existNode) { - if (options.cspNonce && existNode.nonce !== options.cspNonce) { - existNode.nonce = options.cspNonce; - } - if (existNode.innerHTML !== css) { - existNode.innerHTML = css; - } - return existNode; - } - const newNode = injectCSS(css, options); - newNode?.setAttribute(getMark(options), key); - return newNode; -} -function getStatusClassNames(prefixCls, status, hasFeedback) { - return { - [`${prefixCls}-status-success`]: status === "success", - [`${prefixCls}-status-warning`]: status === "warning", - [`${prefixCls}-status-error`]: status === "error", - [`${prefixCls}-status-validating`]: status === "validating", - [`${prefixCls}-has-feedback`]: hasFeedback - }; -} - -export { - coerceNumberProperty, - coerceArray, - coerceCssPixelValue, - coerceElement, - environment, - PREFIX, - warn, - arraysEqual, - isNotNil, - isNil, - toBoolean, - toCssPixel, - InputBoolean, - InputNumber, - silentEvent, - getElementOffset, - isTouchEvent, - getEventPosition, - getPercent, - getPrecision, - ensureNumberInRange, - inNextTick, - wrapIntoObservable, - canUseDom, - updateCSS, - getStatusClassNames -}; -//# sourceMappingURL=chunk-M5GY4FCO.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js.map b/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js.map deleted file mode 100644 index 3b83a05..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-M5GY4FCO.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@angular/cdk/fesm2022/coercion.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-environments.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-logger.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-util.mjs"], - "sourcesContent": ["import { ElementRef } from '@angular/core';\n\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n\n", "/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst environment = {\n isTestMode: false\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { environment };\n\n", "import { isDevMode } from '@angular/core';\nimport { environment } from 'ng-zorro-antd/core/environments';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst record = {};\nconst PREFIX = '[NG-ZORRO]:';\nfunction notRecorded(...args) {\n const asRecord = args.reduce((acc, c) => acc + c.toString(), '');\n if (record[asRecord]) {\n return false;\n }\n else {\n record[asRecord] = true;\n return true;\n }\n}\nfunction consoleCommonBehavior(consoleFunc, ...args) {\n if (environment.isTestMode || (isDevMode() && notRecorded(...args))) {\n consoleFunc(...args);\n }\n}\n// Warning should only be printed in dev mode and only once.\nconst warn = (...args) => consoleCommonBehavior((...arg) => console.warn(PREFIX, ...arg), ...args);\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nconst warnDeprecation = (...args) => {\n if (!environment.isTestMode) {\n const stack = new Error().stack;\n return consoleCommonBehavior((...arg) => console.warn(PREFIX, 'deprecated:', ...arg, stack), ...args);\n }\n else {\n return () => { };\n }\n};\n// Log should only be printed in dev mode.\nconst log = (...args) => {\n if (isDevMode()) {\n console.log(PREFIX, ...args);\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PREFIX, log, warn, warnDeprecation };\n\n", "import { TemplateRef } from '@angular/core';\nimport { coerceBooleanProperty, _isNumberValue, coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { Subject, isObservable, from, of } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction toArray(value) {\n let ret;\n if (value == null) {\n ret = [];\n }\n else if (!Array.isArray(value)) {\n ret = [value];\n }\n else {\n ret = value;\n }\n return ret;\n}\nfunction arraysEqual(array1, array2) {\n if (!array1 || !array2 || array1.length !== array2.length) {\n return false;\n }\n const len = array1.length;\n for (let i = 0; i < len; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction shallowCopyArray(source) {\n return source.slice();\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction isNotNil(value) {\n return typeof value !== 'undefined' && value !== null;\n}\nfunction isNil(value) {\n return typeof value === 'undefined' || value === null;\n}\n/**\n * Examine if two objects are shallowly equaled.\n */\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let idx = 0; idx < keysA.length; idx++) {\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isNonEmptyString(value) {\n return typeof value === 'string' && value !== '';\n}\nfunction isTemplateRef(value) {\n return value instanceof TemplateRef;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction toBoolean(value) {\n return coerceBooleanProperty(value);\n}\nfunction toNumber(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\nfunction toCssPixel(value) {\n return coerceCssPixelValue(value);\n}\n// eslint-disable no-invalid-this\n/**\n * Get the function-property type's value\n */\nfunction valueFunctionProp(prop, ...args) {\n return typeof prop === 'function' ? prop(...args) : prop;\n}\nfunction propDecoratorFactory(name, fallback) {\n function propDecorator(target, propName, originalDescriptor) {\n const privatePropName = `$$__zorroPropDecorator__${propName}`;\n if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {\n warn(`The prop \"${privatePropName}\" is already exist, it will be overrided by ${name} decorator.`);\n }\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true\n });\n return {\n get() {\n return originalDescriptor && originalDescriptor.get\n ? originalDescriptor.get.bind(this)()\n : this[privatePropName];\n },\n set(value) {\n if (originalDescriptor && originalDescriptor.set) {\n originalDescriptor.set.bind(this)(fallback(value));\n }\n this[privatePropName] = fallback(value);\n }\n };\n }\n return propDecorator;\n}\n/**\n * Input decorator that handle a prop to do get/set automatically with toBoolean\n *\n * Why not using @InputBoolean alone without @Input? AOT needs @Input to be visible\n *\n * @howToUse\n * ```\n * @Input() @InputBoolean() visible: boolean = false;\n *\n * // Act as below:\n * // @Input()\n * // get visible() { return this.__visible; }\n * // set visible(value) { this.__visible = value; }\n * // __visible = false;\n * ```\n */\nfunction InputBoolean() {\n return propDecoratorFactory('InputBoolean', toBoolean);\n}\nfunction InputCssPixel() {\n return propDecoratorFactory('InputCssPixel', toCssPixel);\n}\nfunction InputNumber(fallbackValue) {\n return propDecoratorFactory('InputNumber', (value) => toNumber(value, fallbackValue));\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Silent an event by stopping and preventing it.\n */\nfunction silentEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\nfunction getElementOffset(elem) {\n if (!elem.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n const rect = elem.getBoundingClientRect();\n const win = elem.ownerDocument.defaultView;\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n}\n/**\n * Investigate if an event is a `TouchEvent`.\n */\nfunction isTouchEvent(event) {\n return event.type.startsWith('touch');\n}\nfunction getEventPosition(event) {\n return isTouchEvent(event) ? event.touches[0] || event.changedTouches[0] : event;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction getRegExp(prefix) {\n const prefixArray = Array.isArray(prefix) ? prefix : [prefix];\n let prefixToken = prefixArray.join('').replace(/(\\$|\\^)/g, '\\\\$1');\n if (prefixArray.length > 1) {\n prefixToken = `[${prefixToken}]`;\n }\n return new RegExp(`(\\\\s|^)(${prefixToken})[^\\\\s]*`, 'g');\n}\nfunction getMentions(value, prefix = '@') {\n if (typeof value !== 'string') {\n return [];\n }\n const regex = getRegExp(prefix);\n const mentions = value.match(regex);\n return mentions !== null ? mentions.map(e => e.trim()) : [];\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Much like lodash.\n */\nfunction padStart(toPad, length, element) {\n if (toPad.length > length) {\n return toPad;\n }\n const joined = `${getRepeatedElement(length, element)}${toPad}`;\n return joined.slice(joined.length - length, joined.length);\n}\nfunction padEnd(toPad, length, element) {\n const joined = `${toPad}${getRepeatedElement(length, element)}`;\n return joined.slice(0, length);\n}\nfunction getRepeatedElement(length, element) {\n return Array(length).fill(element).join('');\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction isPromise(obj) {\n return !!obj && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction getPercent(min, max, value) {\n return ((value - min) / (max - min)) * 100;\n}\nfunction getPrecision(num) {\n const numStr = num.toString();\n const dotIndex = numStr.indexOf('.');\n return dotIndex >= 0 ? numStr.length - dotIndex - 1 : 0;\n}\nfunction ensureNumberInRange(num, min, max) {\n if (isNaN(num) || num < min) {\n return min;\n }\n else if (num > max) {\n return max;\n }\n else {\n return num;\n }\n}\nfunction isNumberFinite(value) {\n return typeof value === 'number' && isFinite(value);\n}\nfunction toDecimal(value, decimal) {\n return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);\n}\nfunction sum(input, initial = 0) {\n return input.reduce((previous, current) => previous + current, initial);\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction scrollIntoView(node) {\n const nodeAsAny = node;\n if (nodeAsAny.scrollIntoViewIfNeeded) {\n /* eslint-disable-next-line @typescript-eslint/dot-notation */\n nodeAsAny.scrollIntoViewIfNeeded(false);\n return;\n }\n if (node.scrollIntoView) {\n node.scrollIntoView(false);\n return;\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n// from https://github.com/component/textarea-caret-position\n// We'll copy the properties below into the mirror div.\n// Note that some browsers, such as Firefox, do not concatenate properties\n// into their shorthand (e.g. padding-top, padding-bottom etc. -> padding),\n// so we have to list every single property explicitly.\nconst properties = [\n 'direction',\n 'boxSizing',\n 'width',\n 'height',\n 'overflowX',\n 'overflowY',\n 'borderTopWidth',\n 'borderRightWidth',\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderStyle',\n 'paddingTop',\n 'paddingRight',\n 'paddingBottom',\n 'paddingLeft',\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font\n 'fontStyle',\n 'fontVariant',\n 'fontWeight',\n 'fontStretch',\n 'fontSize',\n 'fontSizeAdjust',\n 'lineHeight',\n 'fontFamily',\n 'textAlign',\n 'textTransform',\n 'textIndent',\n 'textDecoration',\n 'letterSpacing',\n 'wordSpacing',\n 'tabSize',\n 'MozTabSize'\n];\nconst isBrowser = typeof window !== 'undefined';\nconst isFirefox = isBrowser && window.mozInnerScreenX != null;\nconst _parseInt = (str) => parseInt(str, 10);\nfunction getCaretCoordinates(element, position, options) {\n if (!isBrowser) {\n throw new Error('textarea-caret-position#getCaretCoordinates should only be called in a browser');\n }\n const debug = (options && options.debug) || false;\n if (debug) {\n const el = document.querySelector('#input-textarea-caret-position-mirror-div');\n if (el) {\n el.parentNode.removeChild(el);\n }\n }\n // The mirror div will replicate the textarea's style\n const div = document.createElement('div');\n div.id = 'input-textarea-caret-position-mirror-div';\n document.body.appendChild(div);\n const style = div.style;\n const computed = window.getComputedStyle ? window.getComputedStyle(element) : element.currentStyle; // currentStyle for IE < 9\n const isInput = element.nodeName === 'INPUT';\n // Default textarea styles\n style.whiteSpace = 'pre-wrap';\n if (!isInput) {\n style.wordWrap = 'break-word'; // only for textarea-s\n }\n // Position off-screen\n style.position = 'absolute'; // required to return coordinates properly\n if (!debug) {\n style.visibility = 'hidden';\n } // not 'display: none' because we want rendering\n // Transfer the element's properties to the div\n properties.forEach((prop) => {\n if (isInput && prop === 'lineHeight') {\n // Special case for s because text is rendered centered and line height may be != height\n style.lineHeight = computed.height;\n }\n else {\n // @ts-ignore\n style[prop] = computed[prop];\n }\n });\n if (isFirefox) {\n // Firefox lies about the overflow property for textareas: https://bugzilla.mozilla.org/show_bug.cgi?id=984275\n if (element.scrollHeight > _parseInt(computed.height)) {\n style.overflowY = 'scroll';\n }\n }\n else {\n style.overflow = 'hidden'; // for Chrome to not render a scrollbar; IE keeps overflowY = 'scroll'\n }\n div.textContent = element.value.substring(0, position);\n // The second special handling for input type=\"text\" vs textarea:\n // spaces need to be replaced with non-breaking spaces - http://stackoverflow.com/a/13402035/1269037\n if (isInput) {\n div.textContent = div.textContent.replace(/\\s/g, '\\u00a0');\n }\n const span = document.createElement('span');\n // Wrapping must be replicated *exactly*, including when a long word gets\n // onto the next line, with whitespace at the end of the line before (#7).\n // The *only* reliable way to do that is to copy the *entire* rest of the\n // textarea's content into the created at the caret position.\n // For inputs, just '.' would be enough, but no need to bother.\n span.textContent = element.value.substring(position) || '.'; // || because a completely empty faux span doesn't render at all\n div.appendChild(span);\n const coordinates = {\n top: span.offsetTop + _parseInt(computed.borderTopWidth),\n left: span.offsetLeft + _parseInt(computed.borderLeftWidth),\n height: _parseInt(computed.lineHeight)\n };\n if (debug) {\n span.style.backgroundColor = '#eee';\n createDebugEle(element, coordinates);\n }\n else {\n document.body.removeChild(div);\n }\n return coordinates;\n}\nfunction createDebugEle(element, coordinates) {\n const fontSize = getComputedStyle(element).getPropertyValue('font-size');\n const rect = document.querySelector('#DEBUG') || document.createElement('div');\n document.body.appendChild(rect);\n rect.id = 'DEBUG';\n rect.style.position = 'absolute';\n rect.style.backgroundColor = 'red';\n rect.style.height = fontSize;\n rect.style.width = '1px';\n rect.style.top = `${element.getBoundingClientRect().top - element.scrollTop + window.pageYOffset + coordinates.top}px`;\n rect.style.left = `${element.getBoundingClientRect().left - element.scrollLeft + window.pageXOffset + coordinates.left}px`;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction isStyleSupport(styleName) {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n const { documentElement } = window.document;\n return styleNameList.some(name => name in documentElement.style);\n }\n return false;\n}\nfunction getStyleAsText(styles) {\n if (!styles) {\n return '';\n }\n return Object.keys(styles)\n .map(key => {\n const val = styles[key];\n return `${key}:${typeof val === 'string' ? val : `${val}px`}`;\n })\n .join(';');\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n// We only handle element & text node.\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nlet ellipsisContainer;\nconst wrapperStyle = {\n padding: '0',\n margin: '0',\n display: 'inline',\n lineHeight: 'inherit'\n};\nfunction pxToNumber(value) {\n if (!value) {\n return 0;\n }\n const match = value.match(/^\\d*(\\.\\d*)?/);\n return match ? Number(match[0]) : 0;\n}\nfunction styleToString(style) {\n // There are some different behavior between Firefox & Chrome.\n // We have to handle this ourself.\n const styleNames = Array.prototype.slice.apply(style);\n return styleNames.map(name => `${name}: ${style.getPropertyValue(name)};`).join('');\n}\nfunction mergeChildren(children) {\n const childList = [];\n children.forEach((child) => {\n const prevChild = childList[childList.length - 1];\n if (prevChild && child.nodeType === TEXT_NODE && prevChild.nodeType === TEXT_NODE) {\n prevChild.data += child.data;\n }\n else {\n childList.push(child);\n }\n });\n return childList;\n}\nfunction measure(originEle, rows, contentNodes, fixedContent, ellipsisStr, suffixStr = '') {\n if (!ellipsisContainer) {\n ellipsisContainer = document.createElement('div');\n ellipsisContainer.setAttribute('aria-hidden', 'true');\n document.body.appendChild(ellipsisContainer);\n }\n // Get origin style\n const originStyle = window.getComputedStyle(originEle);\n const originCSS = styleToString(originStyle);\n const lineHeight = pxToNumber(originStyle.lineHeight);\n const maxHeight = Math.round(lineHeight * (rows + 1) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom));\n // Set shadow\n ellipsisContainer.setAttribute('style', originCSS);\n ellipsisContainer.style.position = 'fixed';\n ellipsisContainer.style.left = '0';\n ellipsisContainer.style.height = 'auto';\n ellipsisContainer.style.minHeight = 'auto';\n ellipsisContainer.style.maxHeight = 'auto';\n ellipsisContainer.style.top = '-999999px';\n ellipsisContainer.style.zIndex = '-1000';\n // clean up css overflow\n ellipsisContainer.style.textOverflow = 'clip';\n ellipsisContainer.style.whiteSpace = 'normal';\n ellipsisContainer.style.webkitLineClamp = 'none';\n const contentList = mergeChildren(contentNodes);\n const container = document.createElement('div');\n const contentContainer = document.createElement('span');\n const suffixContainer = document.createTextNode(suffixStr);\n const fixedContainer = document.createElement('span');\n // Add styles in container\n Object.assign(container.style, wrapperStyle);\n Object.assign(contentContainer.style, wrapperStyle);\n Object.assign(fixedContainer.style, wrapperStyle);\n contentList.forEach(n => {\n contentContainer.appendChild(n);\n });\n contentContainer.appendChild(suffixContainer);\n fixedContent.forEach(node => {\n fixedContainer.appendChild(node.cloneNode(true));\n });\n container.appendChild(contentContainer);\n container.appendChild(fixedContainer);\n // Render in the fake container\n ellipsisContainer.appendChild(container);\n // Check if ellipsis in measure div is height enough for content\n function inRange() {\n return ellipsisContainer.offsetHeight < maxHeight;\n }\n if (inRange()) {\n const text = ellipsisContainer.innerHTML;\n ellipsisContainer.removeChild(container);\n return { contentNodes, text, ellipsis: false };\n }\n // We should clone the childNode since they're controlled by React and we can't reuse it without warning\n const childNodes = Array.prototype.slice\n .apply(ellipsisContainer.childNodes[0].childNodes[0].cloneNode(true).childNodes)\n .filter(({ nodeType }) => nodeType !== COMMENT_NODE);\n const fixedNodes = Array.prototype.slice.apply(ellipsisContainer.childNodes[0].childNodes[1].cloneNode(true).childNodes);\n ellipsisContainer.removeChild(container);\n // ========================= Find match ellipsis content =========================\n ellipsisContainer.innerHTML = '';\n // Create origin content holder\n const ellipsisContentHolder = document.createElement('span');\n ellipsisContainer.appendChild(ellipsisContentHolder);\n const ellipsisTextNode = document.createTextNode(ellipsisStr + suffixStr);\n ellipsisContentHolder.appendChild(ellipsisTextNode);\n fixedNodes.forEach(childNode => {\n ellipsisContainer.appendChild(childNode);\n });\n // Append before fixed nodes\n function appendChildNode(node) {\n ellipsisContentHolder.insertBefore(node, ellipsisTextNode);\n }\n // Get maximum text\n function measureText(textNode, fullText, startLoc = 0, endLoc = fullText.length, lastSuccessLoc = 0) {\n const midLoc = Math.floor((startLoc + endLoc) / 2);\n textNode.textContent = fullText.slice(0, midLoc);\n if (startLoc >= endLoc - 1) {\n // Loop when step is small\n for (let step = endLoc; step >= startLoc; step -= 1) {\n const currentStepText = fullText.slice(0, step);\n textNode.textContent = currentStepText;\n if (inRange() || !currentStepText) {\n return step === fullText.length\n ? {\n finished: false,\n node: document.createTextNode(fullText)\n }\n : {\n finished: true,\n node: document.createTextNode(currentStepText)\n };\n }\n }\n }\n if (inRange()) {\n return measureText(textNode, fullText, midLoc, endLoc, midLoc);\n }\n else {\n return measureText(textNode, fullText, startLoc, midLoc, lastSuccessLoc);\n }\n }\n function measureNode(childNode, index) {\n const type = childNode.nodeType;\n if (type === ELEMENT_NODE) {\n // We don't split element, it will keep if whole element can be displayed.\n // appendChildNode(childNode);\n if (inRange()) {\n return {\n finished: false,\n node: contentList[index]\n };\n }\n // Clean up if can not pull in\n ellipsisContentHolder.removeChild(childNode);\n return {\n finished: true,\n node: null\n };\n }\n else if (type === TEXT_NODE) {\n const fullText = childNode.textContent || '';\n const textNode = document.createTextNode(fullText);\n appendChildNode(textNode);\n return measureText(textNode, fullText);\n }\n // Not handle other type of content\n // PS: This code should not be attached after react 16\n return {\n finished: false,\n node: null\n };\n }\n const ellipsisNodes = [];\n childNodes.some((childNode, index) => {\n const { finished, node } = measureNode(childNode, index);\n if (node) {\n ellipsisNodes.push(node);\n }\n return finished;\n });\n const result = {\n contentNodes: ellipsisNodes,\n text: ellipsisContainer.innerHTML,\n ellipsis: true\n };\n while (ellipsisContainer.firstChild) {\n ellipsisContainer.removeChild(ellipsisContainer.firstChild);\n }\n return result;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nlet scrollbarVerticalSize;\nlet scrollbarHorizontalSize;\n// Measure scrollbar width for padding body during modal show/hide\nconst scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px'\n};\nfunction measureScrollbar(direction = 'vertical', prefix = 'ant') {\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n const isVertical = direction === 'vertical';\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n }\n else if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n const scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(scrollProp => {\n // @ts-ignore\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n });\n // apply hide scrollbar className ahead\n scrollDiv.className = `${prefix}-hide-scrollbar scroll-div-append-to-body`;\n // Append related overflow style\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n }\n else {\n scrollDiv.style.overflowX = 'scroll';\n }\n document.body.appendChild(scrollDiv);\n let size = 0;\n if (isVertical) {\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n scrollbarVerticalSize = size;\n }\n else {\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n scrollbarHorizontalSize = size;\n }\n document.body.removeChild(scrollDiv);\n return size;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction ensureInBounds(value, boundValue) {\n return value ? (value < boundValue ? value : boundValue) : boundValue;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction inNextTick() {\n const timer = new Subject();\n Promise.resolve().then(() => timer.next());\n return timer.pipe(take(1));\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction wrapIntoObservable(value) {\n if (isObservable(value)) {\n return value;\n }\n if (isPromise(value)) {\n // Use `Promise.resolve()` to wrap promise-like instances.\n return from(Promise.resolve(value));\n }\n return of(value);\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Sync from rc-util [https://github.com/react-component/util]\n */\nfunction canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Sync from rc-util [https://github.com/react-component/util]\n */\nconst MARK_KEY = `rc-util-key`;\nfunction getMark({ mark } = {}) {\n if (mark) {\n return mark.startsWith('data-') ? mark : `data-${mark}`;\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n const head = document.querySelector('head');\n return head || document.body;\n}\nfunction injectCSS(css, options = {}) {\n if (!canUseDom()) {\n return null;\n }\n const styleNode = document.createElement('style');\n if (options.cspNonce) {\n styleNode.nonce = options.cspNonce;\n }\n styleNode.innerHTML = css;\n const container = getContainer(options);\n const { firstChild } = container;\n if (options.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n }\n else if (options.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n }\n else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nconst containerCache = new Map();\nfunction findExistNode(key, option = {}) {\n const container = getContainer(option);\n return Array.from(containerCache.get(container)?.children || []).find(node => node.tagName === 'STYLE' && node.getAttribute(getMark(option)) === key);\n}\nfunction removeCSS(key, option = {}) {\n const existNode = findExistNode(key, option);\n existNode?.parentNode?.removeChild(existNode);\n}\nfunction updateCSS(css, key, options = {}) {\n const container = getContainer(options);\n // Get real parent\n if (!containerCache.has(container)) {\n const placeholderStyle = injectCSS('', options);\n // @ts-ignore\n const { parentNode } = placeholderStyle;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n const existNode = findExistNode(key, options);\n if (existNode) {\n if (options.cspNonce && existNode.nonce !== options.cspNonce) {\n existNode.nonce = options.cspNonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n const newNode = injectCSS(css, options);\n newNode?.setAttribute(getMark(options), key);\n return newNode;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction getStatusClassNames(prefixCls, status, hasFeedback) {\n return {\n [`${prefixCls}-status-success`]: status === 'success',\n [`${prefixCls}-status-warning`]: status === 'warning',\n [`${prefixCls}-status-error`]: status === 'error',\n [`${prefixCls}-status-validating`]: status === 'validating',\n [`${prefixCls}-has-feedback`]: hasFeedback\n };\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { InputBoolean, InputCssPixel, InputNumber, arraysEqual, canUseDom, createDebugEle, ensureInBounds, ensureNumberInRange, getCaretCoordinates, getElementOffset, getEventPosition, getMentions, getPercent, getPrecision, getRegExp, getRepeatedElement, getStatusClassNames, getStyleAsText, inNextTick, injectCSS, isNil, isNonEmptyString, isNotNil, isNumberFinite, isPromise, isStyleSupport, isTemplateRef, isTouchEvent, measure, measureScrollbar, padEnd, padStart, properties, pxToNumber, removeCSS, scrollIntoView, shallowCopyArray, shallowEqual, silentEvent, sum, toArray, toBoolean, toCssPixel, toDecimal, toNumber, updateCSS, valueFunctionProp, wrapIntoObservable };\n\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js b/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js deleted file mode 100644 index 8151afa..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js +++ /dev/null @@ -1,430 +0,0 @@ -import { - NzBreakpointService, - gridResponsiveMap -} from "./chunk-D5ODNR6D.js"; -import { - MediaMatcher -} from "./chunk-WB57DPWD.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - isNotNil -} from "./chunk-M5GY4FCO.js"; -import { - Directive, - ElementRef, - Host, - Input, - NgModule, - NgZone, - Optional, - Renderer2, - ReplaySubject, - Subject, - setClassMetadata, - takeUntil, - ɵɵNgOnChangesFeature, - ɵɵclassProp, - ɵɵdefineDirective, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵstyleProp -} from "./chunk-FGESKT7O.js"; -import { - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-grid.mjs -var _NzRowDirective = class _NzRowDirective { - getGutter() { - const results = [null, null]; - const gutter = this.nzGutter || 0; - const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, null]; - normalizedGutter.forEach((g, index) => { - if (typeof g === "object" && g !== null) { - results[index] = null; - Object.keys(gridResponsiveMap).map((screen) => { - const bp = screen; - if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) { - results[index] = g[bp]; - } - }); - } else { - results[index] = Number(g) || null; - } - }); - return results; - } - setGutterStyle() { - const [horizontalGutter, verticalGutter] = this.getGutter(); - this.actualGutter$.next([horizontalGutter, verticalGutter]); - const renderGutter = (name, gutter) => { - const nativeElement = this.elementRef.nativeElement; - if (gutter !== null) { - this.renderer.setStyle(nativeElement, name, `-${gutter / 2}px`); - } - }; - renderGutter("margin-left", horizontalGutter); - renderGutter("margin-right", horizontalGutter); - renderGutter("margin-top", verticalGutter); - renderGutter("margin-bottom", verticalGutter); - } - constructor(elementRef, renderer, mediaMatcher, ngZone, platform, breakpointService, directionality) { - this.elementRef = elementRef; - this.renderer = renderer; - this.mediaMatcher = mediaMatcher; - this.ngZone = ngZone; - this.platform = platform; - this.breakpointService = breakpointService; - this.directionality = directionality; - this.nzAlign = null; - this.nzJustify = null; - this.nzGutter = null; - this.actualGutter$ = new ReplaySubject(1); - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - ngOnInit() { - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - }); - this.setGutterStyle(); - } - ngOnChanges(changes) { - if (changes.nzGutter) { - this.setGutterStyle(); - } - } - ngAfterViewInit() { - if (this.platform.isBrowser) { - this.breakpointService.subscribe(gridResponsiveMap).pipe(takeUntil(this.destroy$)).subscribe(() => { - this.setGutterStyle(); - }); - } - } - ngOnDestroy() { - this.destroy$.next(true); - this.destroy$.complete(); - } -}; -_NzRowDirective.ɵfac = function NzRowDirective_Factory(t) { - return new (t || _NzRowDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(MediaMatcher), ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(Platform), ɵɵdirectiveInject(NzBreakpointService), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzRowDirective.ɵdir = ɵɵdefineDirective({ - type: _NzRowDirective, - selectors: [["", "nz-row", ""], ["nz-row"], ["nz-form-item"]], - hostAttrs: [1, "ant-row"], - hostVars: 20, - hostBindings: function NzRowDirective_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-row-top", ctx.nzAlign === "top")("ant-row-middle", ctx.nzAlign === "middle")("ant-row-bottom", ctx.nzAlign === "bottom")("ant-row-start", ctx.nzJustify === "start")("ant-row-end", ctx.nzJustify === "end")("ant-row-center", ctx.nzJustify === "center")("ant-row-space-around", ctx.nzJustify === "space-around")("ant-row-space-between", ctx.nzJustify === "space-between")("ant-row-space-evenly", ctx.nzJustify === "space-evenly")("ant-row-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - nzAlign: "nzAlign", - nzJustify: "nzJustify", - nzGutter: "nzGutter" - }, - exportAs: ["nzRow"], - standalone: true, - features: [ɵɵNgOnChangesFeature] -}); -var NzRowDirective = _NzRowDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzRowDirective, [{ - type: Directive, - args: [{ - selector: "[nz-row],nz-row,nz-form-item", - exportAs: "nzRow", - host: { - class: "ant-row", - "[class.ant-row-top]": `nzAlign === 'top'`, - "[class.ant-row-middle]": `nzAlign === 'middle'`, - "[class.ant-row-bottom]": `nzAlign === 'bottom'`, - "[class.ant-row-start]": `nzJustify === 'start'`, - "[class.ant-row-end]": `nzJustify === 'end'`, - "[class.ant-row-center]": `nzJustify === 'center'`, - "[class.ant-row-space-around]": `nzJustify === 'space-around'`, - "[class.ant-row-space-between]": `nzJustify === 'space-between'`, - "[class.ant-row-space-evenly]": `nzJustify === 'space-evenly'`, - "[class.ant-row-rtl]": `dir === "rtl"` - }, - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: Renderer2 - }, { - type: MediaMatcher - }, { - type: NgZone - }, { - type: Platform - }, { - type: NzBreakpointService - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzAlign: [{ - type: Input - }], - nzJustify: [{ - type: Input - }], - nzGutter: [{ - type: Input - }] - }); -})(); -var _NzColDirective = class _NzColDirective { - setHostClassMap() { - const hostClassMap = __spreadValues({ - ["ant-col"]: true, - [`ant-col-${this.nzSpan}`]: isNotNil(this.nzSpan), - [`ant-col-order-${this.nzOrder}`]: isNotNil(this.nzOrder), - [`ant-col-offset-${this.nzOffset}`]: isNotNil(this.nzOffset), - [`ant-col-pull-${this.nzPull}`]: isNotNil(this.nzPull), - [`ant-col-push-${this.nzPush}`]: isNotNil(this.nzPush), - ["ant-col-rtl"]: this.dir === "rtl" - }, this.generateClass()); - for (const i in this.classMap) { - if (this.classMap.hasOwnProperty(i)) { - this.renderer.removeClass(this.elementRef.nativeElement, i); - } - } - this.classMap = __spreadValues({}, hostClassMap); - for (const i in this.classMap) { - if (this.classMap.hasOwnProperty(i) && this.classMap[i]) { - this.renderer.addClass(this.elementRef.nativeElement, i); - } - } - } - setHostFlexStyle() { - this.hostFlexStyle = this.parseFlex(this.nzFlex); - } - parseFlex(flex) { - if (typeof flex === "number") { - return `${flex} ${flex} auto`; - } else if (typeof flex === "string") { - if (/^\d+(\.\d+)?(px|em|rem|%)$/.test(flex)) { - return `0 0 ${flex}`; - } - } - return flex; - } - generateClass() { - const listOfSizeInputName = ["nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"]; - const listClassMap = {}; - listOfSizeInputName.forEach((name) => { - const sizeName = name.replace("nz", "").toLowerCase(); - if (isNotNil(this[name])) { - if (typeof this[name] === "number" || typeof this[name] === "string") { - listClassMap[`ant-col-${sizeName}-${this[name]}`] = true; - } else { - const embedded = this[name]; - const prefixArray = ["span", "pull", "push", "offset", "order"]; - prefixArray.forEach((prefix) => { - const prefixClass = prefix === "span" ? "-" : `-${prefix}-`; - listClassMap[`ant-col-${sizeName}${prefixClass}${embedded[prefix]}`] = embedded && isNotNil(embedded[prefix]); - }); - } - } - }); - return listClassMap; - } - constructor(elementRef, nzRowDirective, renderer, directionality) { - this.elementRef = elementRef; - this.nzRowDirective = nzRowDirective; - this.renderer = renderer; - this.directionality = directionality; - this.classMap = {}; - this.destroy$ = new Subject(); - this.hostFlexStyle = null; - this.dir = "ltr"; - this.nzFlex = null; - this.nzSpan = null; - this.nzOrder = null; - this.nzOffset = null; - this.nzPush = null; - this.nzPull = null; - this.nzXs = null; - this.nzSm = null; - this.nzMd = null; - this.nzLg = null; - this.nzXl = null; - this.nzXXl = null; - } - ngOnInit() { - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.setHostClassMap(); - }); - this.setHostClassMap(); - this.setHostFlexStyle(); - } - ngOnChanges(changes) { - this.setHostClassMap(); - const { - nzFlex - } = changes; - if (nzFlex) { - this.setHostFlexStyle(); - } - } - ngAfterViewInit() { - if (this.nzRowDirective) { - this.nzRowDirective.actualGutter$.pipe(takeUntil(this.destroy$)).subscribe(([horizontalGutter, verticalGutter]) => { - const renderGutter = (name, gutter) => { - const nativeElement = this.elementRef.nativeElement; - if (gutter !== null) { - this.renderer.setStyle(nativeElement, name, `${gutter / 2}px`); - } - }; - renderGutter("padding-left", horizontalGutter); - renderGutter("padding-right", horizontalGutter); - renderGutter("padding-top", verticalGutter); - renderGutter("padding-bottom", verticalGutter); - }); - } - } - ngOnDestroy() { - this.destroy$.next(true); - this.destroy$.complete(); - } -}; -_NzColDirective.ɵfac = function NzColDirective_Factory(t) { - return new (t || _NzColDirective)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NzRowDirective, 9), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzColDirective.ɵdir = ɵɵdefineDirective({ - type: _NzColDirective, - selectors: [["", "nz-col", ""], ["nz-col"], ["nz-form-control"], ["nz-form-label"]], - hostVars: 2, - hostBindings: function NzColDirective_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵstyleProp("flex", ctx.hostFlexStyle); - } - }, - inputs: { - nzFlex: "nzFlex", - nzSpan: "nzSpan", - nzOrder: "nzOrder", - nzOffset: "nzOffset", - nzPush: "nzPush", - nzPull: "nzPull", - nzXs: "nzXs", - nzSm: "nzSm", - nzMd: "nzMd", - nzLg: "nzLg", - nzXl: "nzXl", - nzXXl: "nzXXl" - }, - exportAs: ["nzCol"], - standalone: true, - features: [ɵɵNgOnChangesFeature] -}); -var NzColDirective = _NzColDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzColDirective, [{ - type: Directive, - args: [{ - selector: "[nz-col],nz-col,nz-form-control,nz-form-label", - exportAs: "nzCol", - host: { - "[style.flex]": "hostFlexStyle" - }, - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: NzRowDirective, - decorators: [{ - type: Optional - }, { - type: Host - }] - }, { - type: Renderer2 - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzFlex: [{ - type: Input - }], - nzSpan: [{ - type: Input - }], - nzOrder: [{ - type: Input - }], - nzOffset: [{ - type: Input - }], - nzPush: [{ - type: Input - }], - nzPull: [{ - type: Input - }], - nzXs: [{ - type: Input - }], - nzSm: [{ - type: Input - }], - nzMd: [{ - type: Input - }], - nzLg: [{ - type: Input - }], - nzXl: [{ - type: Input - }], - nzXXl: [{ - type: Input - }] - }); -})(); -var _NzGridModule = class _NzGridModule { -}; -_NzGridModule.ɵfac = function NzGridModule_Factory(t) { - return new (t || _NzGridModule)(); -}; -_NzGridModule.ɵmod = ɵɵdefineNgModule({ - type: _NzGridModule, - imports: [NzColDirective, NzRowDirective], - exports: [NzColDirective, NzRowDirective] -}); -_NzGridModule.ɵinj = ɵɵdefineInjector({}); -var NzGridModule = _NzGridModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzGridModule, [{ - type: NgModule, - args: [{ - imports: [NzColDirective, NzRowDirective], - exports: [NzColDirective, NzRowDirective] - }] - }], null, null); -})(); - -export { - NzRowDirective, - NzColDirective, - NzGridModule -}; -//# sourceMappingURL=chunk-QP2OUFNR.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js.map b/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js.map deleted file mode 100644 index 2ccbdf7..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-QP2OUFNR.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-grid.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Directive, Optional, Input, Host, NgModule } from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i3 from 'ng-zorro-antd/core/services';\nimport { gridResponsiveMap } from 'ng-zorro-antd/core/services';\nimport * as i1 from '@angular/cdk/layout';\nimport * as i2 from '@angular/cdk/platform';\nimport * as i4 from '@angular/cdk/bidi';\nimport { isNotNil } from 'ng-zorro-antd/core/util';\nclass NzRowDirective {\n getGutter() {\n const results = [null, null];\n const gutter = this.nzGutter || 0;\n const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, null];\n normalizedGutter.forEach((g, index) => {\n if (typeof g === 'object' && g !== null) {\n results[index] = null;\n Object.keys(gridResponsiveMap).map(screen => {\n const bp = screen;\n if (this.mediaMatcher.matchMedia(gridResponsiveMap[bp]).matches && g[bp]) {\n results[index] = g[bp];\n }\n });\n } else {\n results[index] = Number(g) || null;\n }\n });\n return results;\n }\n setGutterStyle() {\n const [horizontalGutter, verticalGutter] = this.getGutter();\n this.actualGutter$.next([horizontalGutter, verticalGutter]);\n const renderGutter = (name, gutter) => {\n const nativeElement = this.elementRef.nativeElement;\n if (gutter !== null) {\n this.renderer.setStyle(nativeElement, name, `-${gutter / 2}px`);\n }\n };\n renderGutter('margin-left', horizontalGutter);\n renderGutter('margin-right', horizontalGutter);\n renderGutter('margin-top', verticalGutter);\n renderGutter('margin-bottom', verticalGutter);\n }\n constructor(elementRef, renderer, mediaMatcher, ngZone, platform, breakpointService, directionality) {\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.mediaMatcher = mediaMatcher;\n this.ngZone = ngZone;\n this.platform = platform;\n this.breakpointService = breakpointService;\n this.directionality = directionality;\n this.nzAlign = null;\n this.nzJustify = null;\n this.nzGutter = null;\n this.actualGutter$ = new ReplaySubject(1);\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n });\n this.setGutterStyle();\n }\n ngOnChanges(changes) {\n if (changes.nzGutter) {\n this.setGutterStyle();\n }\n }\n ngAfterViewInit() {\n if (this.platform.isBrowser) {\n this.breakpointService.subscribe(gridResponsiveMap).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.setGutterStyle();\n });\n }\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzRowDirective_Factory(t) {\n return new (t || NzRowDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.MediaMatcher), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.Platform), i0.ɵɵdirectiveInject(i3.NzBreakpointService), i0.ɵɵdirectiveInject(i4.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzRowDirective,\n selectors: [[\"\", \"nz-row\", \"\"], [\"nz-row\"], [\"nz-form-item\"]],\n hostAttrs: [1, \"ant-row\"],\n hostVars: 20,\n hostBindings: function NzRowDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-row-top\", ctx.nzAlign === \"top\")(\"ant-row-middle\", ctx.nzAlign === \"middle\")(\"ant-row-bottom\", ctx.nzAlign === \"bottom\")(\"ant-row-start\", ctx.nzJustify === \"start\")(\"ant-row-end\", ctx.nzJustify === \"end\")(\"ant-row-center\", ctx.nzJustify === \"center\")(\"ant-row-space-around\", ctx.nzJustify === \"space-around\")(\"ant-row-space-between\", ctx.nzJustify === \"space-between\")(\"ant-row-space-evenly\", ctx.nzJustify === \"space-evenly\")(\"ant-row-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n nzAlign: \"nzAlign\",\n nzJustify: \"nzJustify\",\n nzGutter: \"nzGutter\"\n },\n exportAs: [\"nzRow\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzRowDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-row],nz-row,nz-form-item',\n exportAs: 'nzRow',\n host: {\n class: 'ant-row',\n '[class.ant-row-top]': `nzAlign === 'top'`,\n '[class.ant-row-middle]': `nzAlign === 'middle'`,\n '[class.ant-row-bottom]': `nzAlign === 'bottom'`,\n '[class.ant-row-start]': `nzJustify === 'start'`,\n '[class.ant-row-end]': `nzJustify === 'end'`,\n '[class.ant-row-center]': `nzJustify === 'center'`,\n '[class.ant-row-space-around]': `nzJustify === 'space-around'`,\n '[class.ant-row-space-between]': `nzJustify === 'space-between'`,\n '[class.ant-row-space-evenly]': `nzJustify === 'space-evenly'`,\n '[class.ant-row-rtl]': `dir === \"rtl\"`\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: i1.MediaMatcher\n }, {\n type: i0.NgZone\n }, {\n type: i2.Platform\n }, {\n type: i3.NzBreakpointService\n }, {\n type: i4.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzAlign: [{\n type: Input\n }],\n nzJustify: [{\n type: Input\n }],\n nzGutter: [{\n type: Input\n }]\n });\n})();\nclass NzColDirective {\n setHostClassMap() {\n const hostClassMap = {\n ['ant-col']: true,\n [`ant-col-${this.nzSpan}`]: isNotNil(this.nzSpan),\n [`ant-col-order-${this.nzOrder}`]: isNotNil(this.nzOrder),\n [`ant-col-offset-${this.nzOffset}`]: isNotNil(this.nzOffset),\n [`ant-col-pull-${this.nzPull}`]: isNotNil(this.nzPull),\n [`ant-col-push-${this.nzPush}`]: isNotNil(this.nzPush),\n ['ant-col-rtl']: this.dir === 'rtl',\n ...this.generateClass()\n };\n for (const i in this.classMap) {\n if (this.classMap.hasOwnProperty(i)) {\n this.renderer.removeClass(this.elementRef.nativeElement, i);\n }\n }\n this.classMap = {\n ...hostClassMap\n };\n for (const i in this.classMap) {\n if (this.classMap.hasOwnProperty(i) && this.classMap[i]) {\n this.renderer.addClass(this.elementRef.nativeElement, i);\n }\n }\n }\n setHostFlexStyle() {\n this.hostFlexStyle = this.parseFlex(this.nzFlex);\n }\n parseFlex(flex) {\n if (typeof flex === 'number') {\n return `${flex} ${flex} auto`;\n } else if (typeof flex === 'string') {\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return `0 0 ${flex}`;\n }\n }\n return flex;\n }\n generateClass() {\n const listOfSizeInputName = ['nzXs', 'nzSm', 'nzMd', 'nzLg', 'nzXl', 'nzXXl'];\n const listClassMap = {};\n listOfSizeInputName.forEach(name => {\n const sizeName = name.replace('nz', '').toLowerCase();\n if (isNotNil(this[name])) {\n if (typeof this[name] === 'number' || typeof this[name] === 'string') {\n listClassMap[`ant-col-${sizeName}-${this[name]}`] = true;\n } else {\n const embedded = this[name];\n const prefixArray = ['span', 'pull', 'push', 'offset', 'order'];\n prefixArray.forEach(prefix => {\n const prefixClass = prefix === 'span' ? '-' : `-${prefix}-`;\n listClassMap[`ant-col-${sizeName}${prefixClass}${embedded[prefix]}`] = embedded && isNotNil(embedded[prefix]);\n });\n }\n }\n });\n return listClassMap;\n }\n constructor(elementRef, nzRowDirective, renderer, directionality) {\n this.elementRef = elementRef;\n this.nzRowDirective = nzRowDirective;\n this.renderer = renderer;\n this.directionality = directionality;\n this.classMap = {};\n this.destroy$ = new Subject();\n this.hostFlexStyle = null;\n this.dir = 'ltr';\n this.nzFlex = null;\n this.nzSpan = null;\n this.nzOrder = null;\n this.nzOffset = null;\n this.nzPush = null;\n this.nzPull = null;\n this.nzXs = null;\n this.nzSm = null;\n this.nzMd = null;\n this.nzLg = null;\n this.nzXl = null;\n this.nzXXl = null;\n }\n ngOnInit() {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.setHostClassMap();\n });\n this.setHostClassMap();\n this.setHostFlexStyle();\n }\n ngOnChanges(changes) {\n this.setHostClassMap();\n const {\n nzFlex\n } = changes;\n if (nzFlex) {\n this.setHostFlexStyle();\n }\n }\n ngAfterViewInit() {\n if (this.nzRowDirective) {\n this.nzRowDirective.actualGutter$.pipe(takeUntil(this.destroy$)).subscribe(([horizontalGutter, verticalGutter]) => {\n const renderGutter = (name, gutter) => {\n const nativeElement = this.elementRef.nativeElement;\n if (gutter !== null) {\n this.renderer.setStyle(nativeElement, name, `${gutter / 2}px`);\n }\n };\n renderGutter('padding-left', horizontalGutter);\n renderGutter('padding-right', horizontalGutter);\n renderGutter('padding-top', verticalGutter);\n renderGutter('padding-bottom', verticalGutter);\n });\n }\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzColDirective_Factory(t) {\n return new (t || NzColDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(NzRowDirective, 9), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i4.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzColDirective,\n selectors: [[\"\", \"nz-col\", \"\"], [\"nz-col\"], [\"nz-form-control\"], [\"nz-form-label\"]],\n hostVars: 2,\n hostBindings: function NzColDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵstyleProp(\"flex\", ctx.hostFlexStyle);\n }\n },\n inputs: {\n nzFlex: \"nzFlex\",\n nzSpan: \"nzSpan\",\n nzOrder: \"nzOrder\",\n nzOffset: \"nzOffset\",\n nzPush: \"nzPush\",\n nzPull: \"nzPull\",\n nzXs: \"nzXs\",\n nzSm: \"nzSm\",\n nzMd: \"nzMd\",\n nzLg: \"nzLg\",\n nzXl: \"nzXl\",\n nzXXl: \"nzXXl\"\n },\n exportAs: [\"nzCol\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzColDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-col],nz-col,nz-form-control,nz-form-label',\n exportAs: 'nzCol',\n host: {\n '[style.flex]': 'hostFlexStyle'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: NzRowDirective,\n decorators: [{\n type: Optional\n }, {\n type: Host\n }]\n }, {\n type: i0.Renderer2\n }, {\n type: i4.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzFlex: [{\n type: Input\n }],\n nzSpan: [{\n type: Input\n }],\n nzOrder: [{\n type: Input\n }],\n nzOffset: [{\n type: Input\n }],\n nzPush: [{\n type: Input\n }],\n nzPull: [{\n type: Input\n }],\n nzXs: [{\n type: Input\n }],\n nzSm: [{\n type: Input\n }],\n nzMd: [{\n type: Input\n }],\n nzLg: [{\n type: Input\n }],\n nzXl: [{\n type: Input\n }],\n nzXXl: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzGridModule {\n static {\n this.ɵfac = function NzGridModule_Factory(t) {\n return new (t || NzGridModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzGridModule,\n imports: [NzColDirective, NzRowDirective],\n exports: [NzColDirective, NzRowDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzGridModule, [{\n type: NgModule,\n args: [{\n imports: [NzColDirective, NzRowDirective],\n exports: [NzColDirective, NzRowDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NzColDirective, NzGridModule, NzRowDirective };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js b/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js deleted file mode 100644 index 95ce01b..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js +++ /dev/null @@ -1,14666 +0,0 @@ -import { - isNotNil, - warn -} from "./chunk-M5GY4FCO.js"; -import { - FormStyle, - TranslationWidth, - formatDate, - getLocaleDayPeriods -} from "./chunk-OSQBUYO6.js"; -import { - BehaviorSubject, - Inject, - Injectable, - InjectionToken, - NgModule, - Optional, - Pipe, - inject, - makeEnvironmentProviders, - setClassMetadata, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdefinePipe, - ɵɵdirectiveInject, - ɵɵinject -} from "./chunk-FGESKT7O.js"; -import { - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/@babel/runtime/helpers/esm/typeof.js -function _typeof(o) { - "@babel/helpers - typeof"; - return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { - return typeof o2; - } : function(o2) { - return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; - }, _typeof(o); -} - -// node_modules/date-fns/esm/_lib/toInteger/index.js -function toInteger(dirtyNumber) { - if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { - return NaN; - } - var number = Number(dirtyNumber); - if (isNaN(number)) { - return number; - } - return number < 0 ? Math.ceil(number) : Math.floor(number); -} - -// node_modules/date-fns/esm/_lib/requiredArgs/index.js -function requiredArgs(required, args) { - if (args.length < required) { - throw new TypeError(required + " argument" + (required > 1 ? "s" : "") + " required, but only " + args.length + " present"); - } -} - -// node_modules/date-fns/esm/toDate/index.js -function toDate(argument) { - requiredArgs(1, arguments); - var argStr = Object.prototype.toString.call(argument); - if (argument instanceof Date || _typeof(argument) === "object" && argStr === "[object Date]") { - return new Date(argument.getTime()); - } else if (typeof argument === "number" || argStr === "[object Number]") { - return new Date(argument); - } else { - if ((typeof argument === "string" || argStr === "[object String]") && typeof console !== "undefined") { - console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"); - console.warn(new Error().stack); - } - return /* @__PURE__ */ new Date(NaN); - } -} - -// node_modules/date-fns/esm/addMilliseconds/index.js -function addMilliseconds(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var timestamp = toDate(dirtyDate).getTime(); - var amount = toInteger(dirtyAmount); - return new Date(timestamp + amount); -} - -// node_modules/date-fns/esm/_lib/defaultOptions/index.js -var defaultOptions = {}; -function getDefaultOptions() { - return defaultOptions; -} - -// node_modules/date-fns/esm/startOfWeek/index.js -function startOfWeek(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - requiredArgs(1, arguments); - var defaultOptions2 = getDefaultOptions(); - var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); - } - var date = toDate(dirtyDate); - var day = date.getDay(); - var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; - date.setDate(date.getDate() - diff); - date.setHours(0, 0, 0, 0); - return date; -} - -// node_modules/date-fns/esm/startOfISOWeek/index.js -function startOfISOWeek(dirtyDate) { - requiredArgs(1, arguments); - return startOfWeek(dirtyDate, { - weekStartsOn: 1 - }); -} - -// node_modules/date-fns/esm/getISOWeekYear/index.js -function getISOWeekYear(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var year = date.getFullYear(); - var fourthOfJanuaryOfNextYear = /* @__PURE__ */ new Date(0); - fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); - fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); - var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear); - var fourthOfJanuaryOfThisYear = /* @__PURE__ */ new Date(0); - fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4); - fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0); - var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear); - if (date.getTime() >= startOfNextYear.getTime()) { - return year + 1; - } else if (date.getTime() >= startOfThisYear.getTime()) { - return year; - } else { - return year - 1; - } -} - -// node_modules/date-fns/esm/startOfISOWeekYear/index.js -function startOfISOWeekYear(dirtyDate) { - requiredArgs(1, arguments); - var year = getISOWeekYear(dirtyDate); - var fourthOfJanuary = /* @__PURE__ */ new Date(0); - fourthOfJanuary.setFullYear(year, 0, 4); - fourthOfJanuary.setHours(0, 0, 0, 0); - var date = startOfISOWeek(fourthOfJanuary); - return date; -} - -// node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js -function getTimezoneOffsetInMilliseconds(date) { - var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); - utcDate.setUTCFullYear(date.getFullYear()); - return date.getTime() - utcDate.getTime(); -} - -// node_modules/date-fns/esm/constants/index.js -var daysInYear = 365.2425; -var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1e3; -var millisecondsInMinute = 6e4; -var millisecondsInHour = 36e5; -var millisecondsInSecond = 1e3; -var minTime = -maxTime; -var secondsInHour = 3600; -var secondsInDay = secondsInHour * 24; -var secondsInWeek = secondsInDay * 7; -var secondsInYear = secondsInDay * daysInYear; -var secondsInMonth = secondsInYear / 12; -var secondsInQuarter = secondsInMonth * 3; - -// node_modules/date-fns/esm/isDate/index.js -function isDate(value) { - requiredArgs(1, arguments); - return value instanceof Date || _typeof(value) === "object" && Object.prototype.toString.call(value) === "[object Date]"; -} - -// node_modules/date-fns/esm/isValid/index.js -function isValid(dirtyDate) { - requiredArgs(1, arguments); - if (!isDate(dirtyDate) && typeof dirtyDate !== "number") { - return false; - } - var date = toDate(dirtyDate); - return !isNaN(Number(date)); -} - -// node_modules/date-fns/esm/subMilliseconds/index.js -function subMilliseconds(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var amount = toInteger(dirtyAmount); - return addMilliseconds(dirtyDate, -amount); -} - -// node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js -var MILLISECONDS_IN_DAY = 864e5; -function getUTCDayOfYear(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var timestamp = date.getTime(); - date.setUTCMonth(0, 1); - date.setUTCHours(0, 0, 0, 0); - var startOfYearTimestamp = date.getTime(); - var difference = timestamp - startOfYearTimestamp; - return Math.floor(difference / MILLISECONDS_IN_DAY) + 1; -} - -// node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js -function startOfUTCISOWeek(dirtyDate) { - requiredArgs(1, arguments); - var weekStartsOn = 1; - var date = toDate(dirtyDate); - var day = date.getUTCDay(); - var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; - date.setUTCDate(date.getUTCDate() - diff); - date.setUTCHours(0, 0, 0, 0); - return date; -} - -// node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js -function getUTCISOWeekYear(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var year = date.getUTCFullYear(); - var fourthOfJanuaryOfNextYear = /* @__PURE__ */ new Date(0); - fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4); - fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0); - var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear); - var fourthOfJanuaryOfThisYear = /* @__PURE__ */ new Date(0); - fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4); - fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0); - var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear); - if (date.getTime() >= startOfNextYear.getTime()) { - return year + 1; - } else if (date.getTime() >= startOfThisYear.getTime()) { - return year; - } else { - return year - 1; - } -} - -// node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js -function startOfUTCISOWeekYear(dirtyDate) { - requiredArgs(1, arguments); - var year = getUTCISOWeekYear(dirtyDate); - var fourthOfJanuary = /* @__PURE__ */ new Date(0); - fourthOfJanuary.setUTCFullYear(year, 0, 4); - fourthOfJanuary.setUTCHours(0, 0, 0, 0); - var date = startOfUTCISOWeek(fourthOfJanuary); - return date; -} - -// node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js -var MILLISECONDS_IN_WEEK = 6048e5; -function getUTCISOWeek(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); - return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; -} - -// node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js -function startOfUTCWeek(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - requiredArgs(1, arguments); - var defaultOptions2 = getDefaultOptions(); - var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); - } - var date = toDate(dirtyDate); - var day = date.getUTCDay(); - var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; - date.setUTCDate(date.getUTCDate() - diff); - date.setUTCHours(0, 0, 0, 0); - return date; -} - -// node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js -function getUTCWeekYear(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var year = date.getUTCFullYear(); - var defaultOptions2 = getDefaultOptions(); - var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); - if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { - throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively"); - } - var firstWeekOfNextYear = /* @__PURE__ */ new Date(0); - firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate); - firstWeekOfNextYear.setUTCHours(0, 0, 0, 0); - var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options); - var firstWeekOfThisYear = /* @__PURE__ */ new Date(0); - firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate); - firstWeekOfThisYear.setUTCHours(0, 0, 0, 0); - var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options); - if (date.getTime() >= startOfNextYear.getTime()) { - return year + 1; - } else if (date.getTime() >= startOfThisYear.getTime()) { - return year; - } else { - return year - 1; - } -} - -// node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js -function startOfUTCWeekYear(dirtyDate, options) { - var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - requiredArgs(1, arguments); - var defaultOptions2 = getDefaultOptions(); - var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1); - var year = getUTCWeekYear(dirtyDate, options); - var firstWeek = /* @__PURE__ */ new Date(0); - firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate); - firstWeek.setUTCHours(0, 0, 0, 0); - var date = startOfUTCWeek(firstWeek, options); - return date; -} - -// node_modules/date-fns/esm/_lib/getUTCWeek/index.js -var MILLISECONDS_IN_WEEK2 = 6048e5; -function getUTCWeek(dirtyDate, options) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); - return Math.round(diff / MILLISECONDS_IN_WEEK2) + 1; -} - -// node_modules/date-fns/esm/_lib/addLeadingZeros/index.js -function addLeadingZeros(number, targetLength) { - var sign = number < 0 ? "-" : ""; - var output = Math.abs(number).toString(); - while (output.length < targetLength) { - output = "0" + output; - } - return sign + output; -} - -// node_modules/date-fns/esm/_lib/format/lightFormatters/index.js -var formatters = { - // Year - y: function y(date, token) { - var signedYear = date.getUTCFullYear(); - var year = signedYear > 0 ? signedYear : 1 - signedYear; - return addLeadingZeros(token === "yy" ? year % 100 : year, token.length); - }, - // Month - M: function M(date, token) { - var month = date.getUTCMonth(); - return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2); - }, - // Day of the month - d: function d(date, token) { - return addLeadingZeros(date.getUTCDate(), token.length); - }, - // AM or PM - a: function a(date, token) { - var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? "pm" : "am"; - switch (token) { - case "a": - case "aa": - return dayPeriodEnumValue.toUpperCase(); - case "aaa": - return dayPeriodEnumValue; - case "aaaaa": - return dayPeriodEnumValue[0]; - case "aaaa": - default: - return dayPeriodEnumValue === "am" ? "a.m." : "p.m."; - } - }, - // Hour [1-12] - h: function h(date, token) { - return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length); - }, - // Hour [0-23] - H: function H(date, token) { - return addLeadingZeros(date.getUTCHours(), token.length); - }, - // Minute - m: function m(date, token) { - return addLeadingZeros(date.getUTCMinutes(), token.length); - }, - // Second - s: function s(date, token) { - return addLeadingZeros(date.getUTCSeconds(), token.length); - }, - // Fraction of second - S: function S(date, token) { - var numberOfDigits = token.length; - var milliseconds2 = date.getUTCMilliseconds(); - var fractionalSeconds = Math.floor(milliseconds2 * Math.pow(10, numberOfDigits - 3)); - return addLeadingZeros(fractionalSeconds, token.length); - } -}; -var lightFormatters_default = formatters; - -// node_modules/date-fns/esm/_lib/format/formatters/index.js -var dayPeriodEnum = { - am: "am", - pm: "pm", - midnight: "midnight", - noon: "noon", - morning: "morning", - afternoon: "afternoon", - evening: "evening", - night: "night" -}; -var formatters2 = { - // Era - G: function G(date, token, localize2) { - var era = date.getUTCFullYear() > 0 ? 1 : 0; - switch (token) { - case "G": - case "GG": - case "GGG": - return localize2.era(era, { - width: "abbreviated" - }); - case "GGGGG": - return localize2.era(era, { - width: "narrow" - }); - case "GGGG": - default: - return localize2.era(era, { - width: "wide" - }); - } - }, - // Year - y: function y2(date, token, localize2) { - if (token === "yo") { - var signedYear = date.getUTCFullYear(); - var year = signedYear > 0 ? signedYear : 1 - signedYear; - return localize2.ordinalNumber(year, { - unit: "year" - }); - } - return lightFormatters_default.y(date, token); - }, - // Local week-numbering year - Y: function Y(date, token, localize2, options) { - var signedWeekYear = getUTCWeekYear(date, options); - var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; - if (token === "YY") { - var twoDigitYear = weekYear % 100; - return addLeadingZeros(twoDigitYear, 2); - } - if (token === "Yo") { - return localize2.ordinalNumber(weekYear, { - unit: "year" - }); - } - return addLeadingZeros(weekYear, token.length); - }, - // ISO week-numbering year - R: function R(date, token) { - var isoWeekYear = getUTCISOWeekYear(date); - return addLeadingZeros(isoWeekYear, token.length); - }, - // Extended year. This is a single number designating the year of this calendar system. - // The main difference between `y` and `u` localizers are B.C. years: - // | Year | `y` | `u` | - // |------|-----|-----| - // | AC 1 | 1 | 1 | - // | BC 1 | 1 | 0 | - // | BC 2 | 2 | -1 | - // Also `yy` always returns the last two digits of a year, - // while `uu` pads single digit years to 2 characters and returns other years unchanged. - u: function u(date, token) { - var year = date.getUTCFullYear(); - return addLeadingZeros(year, token.length); - }, - // Quarter - Q: function Q(date, token, localize2) { - var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); - switch (token) { - case "Q": - return String(quarter); - case "QQ": - return addLeadingZeros(quarter, 2); - case "Qo": - return localize2.ordinalNumber(quarter, { - unit: "quarter" - }); - case "QQQ": - return localize2.quarter(quarter, { - width: "abbreviated", - context: "formatting" - }); - case "QQQQQ": - return localize2.quarter(quarter, { - width: "narrow", - context: "formatting" - }); - case "QQQQ": - default: - return localize2.quarter(quarter, { - width: "wide", - context: "formatting" - }); - } - }, - // Stand-alone quarter - q: function q(date, token, localize2) { - var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); - switch (token) { - case "q": - return String(quarter); - case "qq": - return addLeadingZeros(quarter, 2); - case "qo": - return localize2.ordinalNumber(quarter, { - unit: "quarter" - }); - case "qqq": - return localize2.quarter(quarter, { - width: "abbreviated", - context: "standalone" - }); - case "qqqqq": - return localize2.quarter(quarter, { - width: "narrow", - context: "standalone" - }); - case "qqqq": - default: - return localize2.quarter(quarter, { - width: "wide", - context: "standalone" - }); - } - }, - // Month - M: function M2(date, token, localize2) { - var month = date.getUTCMonth(); - switch (token) { - case "M": - case "MM": - return lightFormatters_default.M(date, token); - case "Mo": - return localize2.ordinalNumber(month + 1, { - unit: "month" - }); - case "MMM": - return localize2.month(month, { - width: "abbreviated", - context: "formatting" - }); - case "MMMMM": - return localize2.month(month, { - width: "narrow", - context: "formatting" - }); - case "MMMM": - default: - return localize2.month(month, { - width: "wide", - context: "formatting" - }); - } - }, - // Stand-alone month - L: function L(date, token, localize2) { - var month = date.getUTCMonth(); - switch (token) { - case "L": - return String(month + 1); - case "LL": - return addLeadingZeros(month + 1, 2); - case "Lo": - return localize2.ordinalNumber(month + 1, { - unit: "month" - }); - case "LLL": - return localize2.month(month, { - width: "abbreviated", - context: "standalone" - }); - case "LLLLL": - return localize2.month(month, { - width: "narrow", - context: "standalone" - }); - case "LLLL": - default: - return localize2.month(month, { - width: "wide", - context: "standalone" - }); - } - }, - // Local week of year - w: function w(date, token, localize2, options) { - var week = getUTCWeek(date, options); - if (token === "wo") { - return localize2.ordinalNumber(week, { - unit: "week" - }); - } - return addLeadingZeros(week, token.length); - }, - // ISO week of year - I: function I(date, token, localize2) { - var isoWeek = getUTCISOWeek(date); - if (token === "Io") { - return localize2.ordinalNumber(isoWeek, { - unit: "week" - }); - } - return addLeadingZeros(isoWeek, token.length); - }, - // Day of the month - d: function d2(date, token, localize2) { - if (token === "do") { - return localize2.ordinalNumber(date.getUTCDate(), { - unit: "date" - }); - } - return lightFormatters_default.d(date, token); - }, - // Day of year - D: function D(date, token, localize2) { - var dayOfYear = getUTCDayOfYear(date); - if (token === "Do") { - return localize2.ordinalNumber(dayOfYear, { - unit: "dayOfYear" - }); - } - return addLeadingZeros(dayOfYear, token.length); - }, - // Day of week - E: function E(date, token, localize2) { - var dayOfWeek = date.getUTCDay(); - switch (token) { - case "E": - case "EE": - case "EEE": - return localize2.day(dayOfWeek, { - width: "abbreviated", - context: "formatting" - }); - case "EEEEE": - return localize2.day(dayOfWeek, { - width: "narrow", - context: "formatting" - }); - case "EEEEEE": - return localize2.day(dayOfWeek, { - width: "short", - context: "formatting" - }); - case "EEEE": - default: - return localize2.day(dayOfWeek, { - width: "wide", - context: "formatting" - }); - } - }, - // Local day of week - e: function e(date, token, localize2, options) { - var dayOfWeek = date.getUTCDay(); - var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; - switch (token) { - case "e": - return String(localDayOfWeek); - case "ee": - return addLeadingZeros(localDayOfWeek, 2); - case "eo": - return localize2.ordinalNumber(localDayOfWeek, { - unit: "day" - }); - case "eee": - return localize2.day(dayOfWeek, { - width: "abbreviated", - context: "formatting" - }); - case "eeeee": - return localize2.day(dayOfWeek, { - width: "narrow", - context: "formatting" - }); - case "eeeeee": - return localize2.day(dayOfWeek, { - width: "short", - context: "formatting" - }); - case "eeee": - default: - return localize2.day(dayOfWeek, { - width: "wide", - context: "formatting" - }); - } - }, - // Stand-alone local day of week - c: function c(date, token, localize2, options) { - var dayOfWeek = date.getUTCDay(); - var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; - switch (token) { - case "c": - return String(localDayOfWeek); - case "cc": - return addLeadingZeros(localDayOfWeek, token.length); - case "co": - return localize2.ordinalNumber(localDayOfWeek, { - unit: "day" - }); - case "ccc": - return localize2.day(dayOfWeek, { - width: "abbreviated", - context: "standalone" - }); - case "ccccc": - return localize2.day(dayOfWeek, { - width: "narrow", - context: "standalone" - }); - case "cccccc": - return localize2.day(dayOfWeek, { - width: "short", - context: "standalone" - }); - case "cccc": - default: - return localize2.day(dayOfWeek, { - width: "wide", - context: "standalone" - }); - } - }, - // ISO day of week - i: function i(date, token, localize2) { - var dayOfWeek = date.getUTCDay(); - var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; - switch (token) { - case "i": - return String(isoDayOfWeek); - case "ii": - return addLeadingZeros(isoDayOfWeek, token.length); - case "io": - return localize2.ordinalNumber(isoDayOfWeek, { - unit: "day" - }); - case "iii": - return localize2.day(dayOfWeek, { - width: "abbreviated", - context: "formatting" - }); - case "iiiii": - return localize2.day(dayOfWeek, { - width: "narrow", - context: "formatting" - }); - case "iiiiii": - return localize2.day(dayOfWeek, { - width: "short", - context: "formatting" - }); - case "iiii": - default: - return localize2.day(dayOfWeek, { - width: "wide", - context: "formatting" - }); - } - }, - // AM or PM - a: function a2(date, token, localize2) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; - switch (token) { - case "a": - case "aa": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "abbreviated", - context: "formatting" - }); - case "aaa": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "abbreviated", - context: "formatting" - }).toLowerCase(); - case "aaaaa": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "narrow", - context: "formatting" - }); - case "aaaa": - default: - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "wide", - context: "formatting" - }); - } - }, - // AM, PM, midnight, noon - b: function b(date, token, localize2) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue; - if (hours === 12) { - dayPeriodEnumValue = dayPeriodEnum.noon; - } else if (hours === 0) { - dayPeriodEnumValue = dayPeriodEnum.midnight; - } else { - dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am"; - } - switch (token) { - case "b": - case "bb": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "abbreviated", - context: "formatting" - }); - case "bbb": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "abbreviated", - context: "formatting" - }).toLowerCase(); - case "bbbbb": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "narrow", - context: "formatting" - }); - case "bbbb": - default: - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "wide", - context: "formatting" - }); - } - }, - // in the morning, in the afternoon, in the evening, at night - B: function B(date, token, localize2) { - var hours = date.getUTCHours(); - var dayPeriodEnumValue; - if (hours >= 17) { - dayPeriodEnumValue = dayPeriodEnum.evening; - } else if (hours >= 12) { - dayPeriodEnumValue = dayPeriodEnum.afternoon; - } else if (hours >= 4) { - dayPeriodEnumValue = dayPeriodEnum.morning; - } else { - dayPeriodEnumValue = dayPeriodEnum.night; - } - switch (token) { - case "B": - case "BB": - case "BBB": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "abbreviated", - context: "formatting" - }); - case "BBBBB": - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "narrow", - context: "formatting" - }); - case "BBBB": - default: - return localize2.dayPeriod(dayPeriodEnumValue, { - width: "wide", - context: "formatting" - }); - } - }, - // Hour [1-12] - h: function h2(date, token, localize2) { - if (token === "ho") { - var hours = date.getUTCHours() % 12; - if (hours === 0) - hours = 12; - return localize2.ordinalNumber(hours, { - unit: "hour" - }); - } - return lightFormatters_default.h(date, token); - }, - // Hour [0-23] - H: function H2(date, token, localize2) { - if (token === "Ho") { - return localize2.ordinalNumber(date.getUTCHours(), { - unit: "hour" - }); - } - return lightFormatters_default.H(date, token); - }, - // Hour [0-11] - K: function K(date, token, localize2) { - var hours = date.getUTCHours() % 12; - if (token === "Ko") { - return localize2.ordinalNumber(hours, { - unit: "hour" - }); - } - return addLeadingZeros(hours, token.length); - }, - // Hour [1-24] - k: function k(date, token, localize2) { - var hours = date.getUTCHours(); - if (hours === 0) - hours = 24; - if (token === "ko") { - return localize2.ordinalNumber(hours, { - unit: "hour" - }); - } - return addLeadingZeros(hours, token.length); - }, - // Minute - m: function m2(date, token, localize2) { - if (token === "mo") { - return localize2.ordinalNumber(date.getUTCMinutes(), { - unit: "minute" - }); - } - return lightFormatters_default.m(date, token); - }, - // Second - s: function s2(date, token, localize2) { - if (token === "so") { - return localize2.ordinalNumber(date.getUTCSeconds(), { - unit: "second" - }); - } - return lightFormatters_default.s(date, token); - }, - // Fraction of second - S: function S2(date, token) { - return lightFormatters_default.S(date, token); - }, - // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) - X: function X(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - if (timezoneOffset === 0) { - return "Z"; - } - switch (token) { - case "X": - return formatTimezoneWithOptionalMinutes(timezoneOffset); - case "XXXX": - case "XX": - return formatTimezone(timezoneOffset); - case "XXXXX": - case "XXX": - default: - return formatTimezone(timezoneOffset, ":"); - } - }, - // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) - x: function x(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - case "x": - return formatTimezoneWithOptionalMinutes(timezoneOffset); - case "xxxx": - case "xx": - return formatTimezone(timezoneOffset); - case "xxxxx": - case "xxx": - default: - return formatTimezone(timezoneOffset, ":"); - } - }, - // Timezone (GMT) - O: function O(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - case "O": - case "OO": - case "OOO": - return "GMT" + formatTimezoneShort(timezoneOffset, ":"); - case "OOOO": - default: - return "GMT" + formatTimezone(timezoneOffset, ":"); - } - }, - // Timezone (specific non-location) - z: function z(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timezoneOffset = originalDate.getTimezoneOffset(); - switch (token) { - case "z": - case "zz": - case "zzz": - return "GMT" + formatTimezoneShort(timezoneOffset, ":"); - case "zzzz": - default: - return "GMT" + formatTimezone(timezoneOffset, ":"); - } - }, - // Seconds timestamp - t: function t(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timestamp = Math.floor(originalDate.getTime() / 1e3); - return addLeadingZeros(timestamp, token.length); - }, - // Milliseconds timestamp - T: function T(date, token, _localize, options) { - var originalDate = options._originalDate || date; - var timestamp = originalDate.getTime(); - return addLeadingZeros(timestamp, token.length); - } -}; -function formatTimezoneShort(offset, dirtyDelimiter) { - var sign = offset > 0 ? "-" : "+"; - var absOffset = Math.abs(offset); - var hours = Math.floor(absOffset / 60); - var minutes = absOffset % 60; - if (minutes === 0) { - return sign + String(hours); - } - var delimiter = dirtyDelimiter || ""; - return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2); -} -function formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) { - if (offset % 60 === 0) { - var sign = offset > 0 ? "-" : "+"; - return sign + addLeadingZeros(Math.abs(offset) / 60, 2); - } - return formatTimezone(offset, dirtyDelimiter); -} -function formatTimezone(offset, dirtyDelimiter) { - var delimiter = dirtyDelimiter || ""; - var sign = offset > 0 ? "-" : "+"; - var absOffset = Math.abs(offset); - var hours = addLeadingZeros(Math.floor(absOffset / 60), 2); - var minutes = addLeadingZeros(absOffset % 60, 2); - return sign + hours + delimiter + minutes; -} -var formatters_default = formatters2; - -// node_modules/date-fns/esm/_lib/format/longFormatters/index.js -var dateLongFormatter = function dateLongFormatter2(pattern, formatLong2) { - switch (pattern) { - case "P": - return formatLong2.date({ - width: "short" - }); - case "PP": - return formatLong2.date({ - width: "medium" - }); - case "PPP": - return formatLong2.date({ - width: "long" - }); - case "PPPP": - default: - return formatLong2.date({ - width: "full" - }); - } -}; -var timeLongFormatter = function timeLongFormatter2(pattern, formatLong2) { - switch (pattern) { - case "p": - return formatLong2.time({ - width: "short" - }); - case "pp": - return formatLong2.time({ - width: "medium" - }); - case "ppp": - return formatLong2.time({ - width: "long" - }); - case "pppp": - default: - return formatLong2.time({ - width: "full" - }); - } -}; -var dateTimeLongFormatter = function dateTimeLongFormatter2(pattern, formatLong2) { - var matchResult = pattern.match(/(P+)(p+)?/) || []; - var datePattern = matchResult[1]; - var timePattern = matchResult[2]; - if (!timePattern) { - return dateLongFormatter(pattern, formatLong2); - } - var dateTimeFormat; - switch (datePattern) { - case "P": - dateTimeFormat = formatLong2.dateTime({ - width: "short" - }); - break; - case "PP": - dateTimeFormat = formatLong2.dateTime({ - width: "medium" - }); - break; - case "PPP": - dateTimeFormat = formatLong2.dateTime({ - width: "long" - }); - break; - case "PPPP": - default: - dateTimeFormat = formatLong2.dateTime({ - width: "full" - }); - break; - } - return dateTimeFormat.replace("{{date}}", dateLongFormatter(datePattern, formatLong2)).replace("{{time}}", timeLongFormatter(timePattern, formatLong2)); -}; -var longFormatters = { - p: timeLongFormatter, - P: dateTimeLongFormatter -}; -var longFormatters_default = longFormatters; - -// node_modules/date-fns/esm/_lib/protectedTokens/index.js -var protectedDayOfYearTokens = ["D", "DD"]; -var protectedWeekYearTokens = ["YY", "YYYY"]; -function isProtectedDayOfYearToken(token) { - return protectedDayOfYearTokens.indexOf(token) !== -1; -} -function isProtectedWeekYearToken(token) { - return protectedWeekYearTokens.indexOf(token) !== -1; -} -function throwProtectedError(token, format2, input) { - if (token === "YYYY") { - throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(format2, "`) for formatting years to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === "YY") { - throw new RangeError("Use `yy` instead of `YY` (in `".concat(format2, "`) for formatting years to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === "D") { - throw new RangeError("Use `d` instead of `D` (in `".concat(format2, "`) for formatting days of the month to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } else if (token === "DD") { - throw new RangeError("Use `dd` instead of `DD` (in `".concat(format2, "`) for formatting days of the month to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md")); - } -} - -// node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js -var formatDistanceLocale = { - lessThanXSeconds: { - one: "less than a second", - other: "less than {{count}} seconds" - }, - xSeconds: { - one: "1 second", - other: "{{count}} seconds" - }, - halfAMinute: "half a minute", - lessThanXMinutes: { - one: "less than a minute", - other: "less than {{count}} minutes" - }, - xMinutes: { - one: "1 minute", - other: "{{count}} minutes" - }, - aboutXHours: { - one: "about 1 hour", - other: "about {{count}} hours" - }, - xHours: { - one: "1 hour", - other: "{{count}} hours" - }, - xDays: { - one: "1 day", - other: "{{count}} days" - }, - aboutXWeeks: { - one: "about 1 week", - other: "about {{count}} weeks" - }, - xWeeks: { - one: "1 week", - other: "{{count}} weeks" - }, - aboutXMonths: { - one: "about 1 month", - other: "about {{count}} months" - }, - xMonths: { - one: "1 month", - other: "{{count}} months" - }, - aboutXYears: { - one: "about 1 year", - other: "about {{count}} years" - }, - xYears: { - one: "1 year", - other: "{{count}} years" - }, - overXYears: { - one: "over 1 year", - other: "over {{count}} years" - }, - almostXYears: { - one: "almost 1 year", - other: "almost {{count}} years" - } -}; -var formatDistance = function formatDistance2(token, count, options) { - var result; - var tokenValue = formatDistanceLocale[token]; - if (typeof tokenValue === "string") { - result = tokenValue; - } else if (count === 1) { - result = tokenValue.one; - } else { - result = tokenValue.other.replace("{{count}}", count.toString()); - } - if (options !== null && options !== void 0 && options.addSuffix) { - if (options.comparison && options.comparison > 0) { - return "in " + result; - } else { - return result + " ago"; - } - } - return result; -}; -var formatDistance_default = formatDistance; - -// node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js -function buildFormatLongFn(args) { - return function() { - var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; - var width = options.width ? String(options.width) : args.defaultWidth; - var format2 = args.formats[width] || args.formats[args.defaultWidth]; - return format2; - }; -} - -// node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js -var dateFormats = { - full: "EEEE, MMMM do, y", - long: "MMMM do, y", - medium: "MMM d, y", - short: "MM/dd/yyyy" -}; -var timeFormats = { - full: "h:mm:ss a zzzz", - long: "h:mm:ss a z", - medium: "h:mm:ss a", - short: "h:mm a" -}; -var dateTimeFormats = { - full: "{{date}} 'at' {{time}}", - long: "{{date}} 'at' {{time}}", - medium: "{{date}}, {{time}}", - short: "{{date}}, {{time}}" -}; -var formatLong = { - date: buildFormatLongFn({ - formats: dateFormats, - defaultWidth: "full" - }), - time: buildFormatLongFn({ - formats: timeFormats, - defaultWidth: "full" - }), - dateTime: buildFormatLongFn({ - formats: dateTimeFormats, - defaultWidth: "full" - }) -}; -var formatLong_default = formatLong; - -// node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js -var formatRelativeLocale = { - lastWeek: "'last' eeee 'at' p", - yesterday: "'yesterday at' p", - today: "'today at' p", - tomorrow: "'tomorrow at' p", - nextWeek: "eeee 'at' p", - other: "P" -}; -var formatRelative = function formatRelative2(token, _date, _baseDate, _options) { - return formatRelativeLocale[token]; -}; -var formatRelative_default = formatRelative; - -// node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js -function buildLocalizeFn(args) { - return function(dirtyIndex, options) { - var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone"; - var valuesArray; - if (context === "formatting" && args.formattingValues) { - var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; - var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth; - valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; - } else { - var _defaultWidth = args.defaultWidth; - var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth; - valuesArray = args.values[_width] || args.values[_defaultWidth]; - } - var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; - return valuesArray[index]; - }; -} - -// node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js -var eraValues = { - narrow: ["B", "A"], - abbreviated: ["BC", "AD"], - wide: ["Before Christ", "Anno Domini"] -}; -var quarterValues = { - narrow: ["1", "2", "3", "4"], - abbreviated: ["Q1", "Q2", "Q3", "Q4"], - wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] -}; -var monthValues = { - narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], - abbreviated: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], - wide: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] -}; -var dayValues = { - narrow: ["S", "M", "T", "W", "T", "F", "S"], - short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], - abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], - wide: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] -}; -var dayPeriodValues = { - narrow: { - am: "a", - pm: "p", - midnight: "mi", - noon: "n", - morning: "morning", - afternoon: "afternoon", - evening: "evening", - night: "night" - }, - abbreviated: { - am: "AM", - pm: "PM", - midnight: "midnight", - noon: "noon", - morning: "morning", - afternoon: "afternoon", - evening: "evening", - night: "night" - }, - wide: { - am: "a.m.", - pm: "p.m.", - midnight: "midnight", - noon: "noon", - morning: "morning", - afternoon: "afternoon", - evening: "evening", - night: "night" - } -}; -var formattingDayPeriodValues = { - narrow: { - am: "a", - pm: "p", - midnight: "mi", - noon: "n", - morning: "in the morning", - afternoon: "in the afternoon", - evening: "in the evening", - night: "at night" - }, - abbreviated: { - am: "AM", - pm: "PM", - midnight: "midnight", - noon: "noon", - morning: "in the morning", - afternoon: "in the afternoon", - evening: "in the evening", - night: "at night" - }, - wide: { - am: "a.m.", - pm: "p.m.", - midnight: "midnight", - noon: "noon", - morning: "in the morning", - afternoon: "in the afternoon", - evening: "in the evening", - night: "at night" - } -}; -var ordinalNumber = function ordinalNumber2(dirtyNumber, _options) { - var number = Number(dirtyNumber); - var rem100 = number % 100; - if (rem100 > 20 || rem100 < 10) { - switch (rem100 % 10) { - case 1: - return number + "st"; - case 2: - return number + "nd"; - case 3: - return number + "rd"; - } - } - return number + "th"; -}; -var localize = { - ordinalNumber, - era: buildLocalizeFn({ - values: eraValues, - defaultWidth: "wide" - }), - quarter: buildLocalizeFn({ - values: quarterValues, - defaultWidth: "wide", - argumentCallback: function argumentCallback(quarter) { - return quarter - 1; - } - }), - month: buildLocalizeFn({ - values: monthValues, - defaultWidth: "wide" - }), - day: buildLocalizeFn({ - values: dayValues, - defaultWidth: "wide" - }), - dayPeriod: buildLocalizeFn({ - values: dayPeriodValues, - defaultWidth: "wide", - formattingValues: formattingDayPeriodValues, - defaultFormattingWidth: "wide" - }) -}; -var localize_default = localize; - -// node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js -function buildMatchFn(args) { - return function(string) { - var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var width = options.width; - var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; - var matchResult = string.match(matchPattern); - if (!matchResult) { - return null; - } - var matchedString = matchResult[0]; - var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; - var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function(pattern) { - return pattern.test(matchedString); - }) : findKey(parsePatterns, function(pattern) { - return pattern.test(matchedString); - }); - var value; - value = args.valueCallback ? args.valueCallback(key) : key; - value = options.valueCallback ? options.valueCallback(value) : value; - var rest = string.slice(matchedString.length); - return { - value, - rest - }; - }; -} -function findKey(object, predicate) { - for (var key in object) { - if (object.hasOwnProperty(key) && predicate(object[key])) { - return key; - } - } - return void 0; -} -function findIndex(array, predicate) { - for (var key = 0; key < array.length; key++) { - if (predicate(array[key])) { - return key; - } - } - return void 0; -} - -// node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js -function buildMatchPatternFn(args) { - return function(string) { - var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var matchResult = string.match(args.matchPattern); - if (!matchResult) - return null; - var matchedString = matchResult[0]; - var parseResult = string.match(args.parsePattern); - if (!parseResult) - return null; - var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; - value = options.valueCallback ? options.valueCallback(value) : value; - var rest = string.slice(matchedString.length); - return { - value, - rest - }; - }; -} - -// node_modules/date-fns/esm/locale/en-US/_lib/match/index.js -var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; -var parseOrdinalNumberPattern = /\d+/i; -var matchEraPatterns = { - narrow: /^(b|a)/i, - abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, - wide: /^(before christ|before common era|anno domini|common era)/i -}; -var parseEraPatterns = { - any: [/^b/i, /^(a|c)/i] -}; -var matchQuarterPatterns = { - narrow: /^[1234]/i, - abbreviated: /^q[1234]/i, - wide: /^[1234](th|st|nd|rd)? quarter/i -}; -var parseQuarterPatterns = { - any: [/1/i, /2/i, /3/i, /4/i] -}; -var matchMonthPatterns = { - narrow: /^[jfmasond]/i, - abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, - wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i -}; -var parseMonthPatterns = { - narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], - any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] -}; -var matchDayPatterns = { - narrow: /^[smtwf]/i, - short: /^(su|mo|tu|we|th|fr|sa)/i, - abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, - wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i -}; -var parseDayPatterns = { - narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], - any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] -}; -var matchDayPeriodPatterns = { - narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, - any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i -}; -var parseDayPeriodPatterns = { - any: { - am: /^a/i, - pm: /^p/i, - midnight: /^mi/i, - noon: /^no/i, - morning: /morning/i, - afternoon: /afternoon/i, - evening: /evening/i, - night: /night/i - } -}; -var match = { - ordinalNumber: buildMatchPatternFn({ - matchPattern: matchOrdinalNumberPattern, - parsePattern: parseOrdinalNumberPattern, - valueCallback: function valueCallback(value) { - return parseInt(value, 10); - } - }), - era: buildMatchFn({ - matchPatterns: matchEraPatterns, - defaultMatchWidth: "wide", - parsePatterns: parseEraPatterns, - defaultParseWidth: "any" - }), - quarter: buildMatchFn({ - matchPatterns: matchQuarterPatterns, - defaultMatchWidth: "wide", - parsePatterns: parseQuarterPatterns, - defaultParseWidth: "any", - valueCallback: function valueCallback2(index) { - return index + 1; - } - }), - month: buildMatchFn({ - matchPatterns: matchMonthPatterns, - defaultMatchWidth: "wide", - parsePatterns: parseMonthPatterns, - defaultParseWidth: "any" - }), - day: buildMatchFn({ - matchPatterns: matchDayPatterns, - defaultMatchWidth: "wide", - parsePatterns: parseDayPatterns, - defaultParseWidth: "any" - }), - dayPeriod: buildMatchFn({ - matchPatterns: matchDayPeriodPatterns, - defaultMatchWidth: "any", - parsePatterns: parseDayPeriodPatterns, - defaultParseWidth: "any" - }) -}; -var match_default = match; - -// node_modules/date-fns/esm/locale/en-US/index.js -var locale = { - code: "en-US", - formatDistance: formatDistance_default, - formatLong: formatLong_default, - formatRelative: formatRelative_default, - localize: localize_default, - match: match_default, - options: { - weekStartsOn: 0, - firstWeekContainsDate: 1 - } -}; -var en_US_default = locale; - -// node_modules/date-fns/esm/_lib/defaultLocale/index.js -var defaultLocale_default = en_US_default; - -// node_modules/date-fns/esm/format/index.js -var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; -var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; -var escapedStringRegExp = /^'([^]*?)'?$/; -var doubleQuoteRegExp = /''/g; -var unescapedLatinCharacterRegExp = /[a-zA-Z]/; -function format(dirtyDate, dirtyFormatStr, options) { - var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4; - requiredArgs(2, arguments); - var formatStr = String(dirtyFormatStr); - var defaultOptions2 = getDefaultOptions(); - var locale2 = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions2.locale) !== null && _ref !== void 0 ? _ref : defaultLocale_default; - var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions2.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); - if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { - throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively"); - } - var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions2.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions2.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); - } - if (!locale2.localize) { - throw new RangeError("locale must contain localize property"); - } - if (!locale2.formatLong) { - throw new RangeError("locale must contain formatLong property"); - } - var originalDate = toDate(dirtyDate); - if (!isValid(originalDate)) { - throw new RangeError("Invalid time value"); - } - var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate); - var utcDate = subMilliseconds(originalDate, timezoneOffset); - var formatterOptions = { - firstWeekContainsDate, - weekStartsOn, - locale: locale2, - _originalDate: originalDate - }; - var result = formatStr.match(longFormattingTokensRegExp).map(function(substring) { - var firstCharacter = substring[0]; - if (firstCharacter === "p" || firstCharacter === "P") { - var longFormatter = longFormatters_default[firstCharacter]; - return longFormatter(substring, locale2.formatLong); - } - return substring; - }).join("").match(formattingTokensRegExp).map(function(substring) { - if (substring === "''") { - return "'"; - } - var firstCharacter = substring[0]; - if (firstCharacter === "'") { - return cleanEscapedString(substring); - } - var formatter = formatters_default[firstCharacter]; - if (formatter) { - if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) { - throwProtectedError(substring, dirtyFormatStr, String(dirtyDate)); - } - if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) { - throwProtectedError(substring, dirtyFormatStr, String(dirtyDate)); - } - return formatter(utcDate, substring, locale2.localize, formatterOptions); - } - if (firstCharacter.match(unescapedLatinCharacterRegExp)) { - throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"); - } - return substring; - }).join(""); - return result; -} -function cleanEscapedString(input) { - var matched = input.match(escapedStringRegExp); - if (!matched) { - return input; - } - return matched[1].replace(doubleQuoteRegExp, "'"); -} - -// node_modules/date-fns/esm/_lib/assign/index.js -function assign(target, object) { - if (target == null) { - throw new TypeError("assign requires that input parameter not be null or undefined"); - } - for (var property in object) { - if (Object.prototype.hasOwnProperty.call(object, property)) { - ; - target[property] = object[property]; - } - } - return target; -} - -// node_modules/date-fns/esm/formatDistanceStrict/index.js -var MILLISECONDS_IN_MINUTE = 1e3 * 60; -var MINUTES_IN_DAY = 60 * 24; -var MINUTES_IN_MONTH = MINUTES_IN_DAY * 30; -var MINUTES_IN_YEAR = MINUTES_IN_DAY * 365; - -// node_modules/date-fns/esm/getISOWeek/index.js -var MILLISECONDS_IN_WEEK3 = 6048e5; -function getISOWeek(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime(); - return Math.round(diff / MILLISECONDS_IN_WEEK3) + 1; -} - -// node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js -var MILLISECONDS_IN_DAY2 = 24 * 60 * 60 * 1e3; - -// node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js -function _arrayLikeToArray(arr, len) { - if (len == null || len > arr.length) - len = arr.length; - for (var i2 = 0, arr2 = new Array(len); i2 < len; i2++) - arr2[i2] = arr[i2]; - return arr2; -} - -// node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js -function _unsupportedIterableToArray(o, minLen) { - if (!o) - return; - if (typeof o === "string") - return _arrayLikeToArray(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) - n = o.constructor.name; - if (n === "Map" || n === "Set") - return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return _arrayLikeToArray(o, minLen); -} - -// node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js -function _createForOfIteratorHelper(o, allowArrayLike) { - var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; - if (!it) { - if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it) - o = it; - var i2 = 0; - var F = function F2() { - }; - return { - s: F, - n: function n() { - if (i2 >= o.length) - return { - done: true - }; - return { - done: false, - value: o[i2++] - }; - }, - e: function e2(_e) { - throw _e; - }, - f: F - }; - } - throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); - } - var normalCompletion = true, didErr = false, err; - return { - s: function s3() { - it = it.call(o); - }, - n: function n() { - var step = it.next(); - normalCompletion = step.done; - return step; - }, - e: function e2(_e2) { - didErr = true; - err = _e2; - }, - f: function f() { - try { - if (!normalCompletion && it["return"] != null) - it["return"](); - } finally { - if (didErr) - throw err; - } - } - }; -} - -// node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} - -// node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf(o, p); -} - -// node_modules/@babel/runtime/helpers/esm/inherits.js -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - Object.defineProperty(subClass, "prototype", { - writable: false - }); - if (superClass) - _setPrototypeOf(subClass, superClass); -} - -// node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf2(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf(o); -} - -// node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js -function _isNativeReflectConstruct() { - if (typeof Reflect === "undefined" || !Reflect.construct) - return false; - if (Reflect.construct.sham) - return false; - if (typeof Proxy === "function") - return true; - try { - Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { - })); - return true; - } catch (e2) { - return false; - } -} - -// node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js -function _possibleConstructorReturn(self, call) { - if (call && (_typeof(call) === "object" || typeof call === "function")) { - return call; - } else if (call !== void 0) { - throw new TypeError("Derived constructors may only return object or undefined"); - } - return _assertThisInitialized(self); -} - -// node_modules/@babel/runtime/helpers/esm/createSuper.js -function _createSuper(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct(); - return function _createSuperInternal() { - var Super = _getPrototypeOf(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn(this, result); - }; -} - -// node_modules/@babel/runtime/helpers/esm/classCallCheck.js -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -// node_modules/@babel/runtime/helpers/esm/toPrimitive.js -function _toPrimitive(input, hint) { - if (_typeof(input) !== "object" || input === null) - return input; - var prim = input[Symbol.toPrimitive]; - if (prim !== void 0) { - var res = prim.call(input, hint || "default"); - if (_typeof(res) !== "object") - return res; - throw new TypeError("@@toPrimitive must return a primitive value."); - } - return (hint === "string" ? String : Number)(input); -} - -// node_modules/@babel/runtime/helpers/esm/toPropertyKey.js -function _toPropertyKey(arg) { - var key = _toPrimitive(arg, "string"); - return _typeof(key) === "symbol" ? key : String(key); -} - -// node_modules/@babel/runtime/helpers/esm/createClass.js -function _defineProperties(target, props) { - for (var i2 = 0; i2 < props.length; i2++) { - var descriptor = props[i2]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) - descriptor.writable = true; - Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} - -// node_modules/@babel/runtime/helpers/esm/defineProperty.js -function _defineProperty(obj, key, value) { - key = _toPropertyKey(key); - if (key in obj) { - Object.defineProperty(obj, key, { - value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - return obj; -} - -// node_modules/date-fns/esm/parse/_lib/Setter.js -var TIMEZONE_UNIT_PRIORITY = 10; -var Setter = function() { - function Setter2() { - _classCallCheck(this, Setter2); - _defineProperty(this, "priority", void 0); - _defineProperty(this, "subPriority", 0); - } - _createClass(Setter2, [{ - key: "validate", - value: function validate(_utcDate, _options) { - return true; - } - }]); - return Setter2; -}(); -var ValueSetter = function(_Setter) { - _inherits(ValueSetter2, _Setter); - var _super = _createSuper(ValueSetter2); - function ValueSetter2(value, validateValue, setValue, priority, subPriority) { - var _this; - _classCallCheck(this, ValueSetter2); - _this = _super.call(this); - _this.value = value; - _this.validateValue = validateValue; - _this.setValue = setValue; - _this.priority = priority; - if (subPriority) { - _this.subPriority = subPriority; - } - return _this; - } - _createClass(ValueSetter2, [{ - key: "validate", - value: function validate(utcDate, options) { - return this.validateValue(utcDate, this.value, options); - } - }, { - key: "set", - value: function set2(utcDate, flags, options) { - return this.setValue(utcDate, flags, this.value, options); - } - }]); - return ValueSetter2; -}(Setter); -var DateToSystemTimezoneSetter = function(_Setter2) { - _inherits(DateToSystemTimezoneSetter2, _Setter2); - var _super2 = _createSuper(DateToSystemTimezoneSetter2); - function DateToSystemTimezoneSetter2() { - var _this2; - _classCallCheck(this, DateToSystemTimezoneSetter2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this2 = _super2.call.apply(_super2, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this2), "priority", TIMEZONE_UNIT_PRIORITY); - _defineProperty(_assertThisInitialized(_this2), "subPriority", -1); - return _this2; - } - _createClass(DateToSystemTimezoneSetter2, [{ - key: "set", - value: function set2(date, flags) { - if (flags.timestampIsSet) { - return date; - } - var convertedDate = /* @__PURE__ */ new Date(0); - convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()); - convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()); - return convertedDate; - } - }]); - return DateToSystemTimezoneSetter2; -}(Setter); - -// node_modules/date-fns/esm/parse/_lib/Parser.js -var Parser = function() { - function Parser2() { - _classCallCheck(this, Parser2); - _defineProperty(this, "incompatibleTokens", void 0); - _defineProperty(this, "priority", void 0); - _defineProperty(this, "subPriority", void 0); - } - _createClass(Parser2, [{ - key: "run", - value: function run(dateString, token, match2, options) { - var result = this.parse(dateString, token, match2, options); - if (!result) { - return null; - } - return { - setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority), - rest: result.rest - }; - } - }, { - key: "validate", - value: function validate(_utcDate, _value, _options) { - return true; - } - }]); - return Parser2; -}(); - -// node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js -var EraParser = function(_Parser) { - _inherits(EraParser2, _Parser); - var _super = _createSuper(EraParser2); - function EraParser2() { - var _this; - _classCallCheck(this, EraParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 140); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["R", "u", "t", "T"]); - return _this; - } - _createClass(EraParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "G": - case "GG": - case "GGG": - return match2.era(dateString, { - width: "abbreviated" - }) || match2.era(dateString, { - width: "narrow" - }); - case "GGGGG": - return match2.era(dateString, { - width: "narrow" - }); - case "GGGG": - default: - return match2.era(dateString, { - width: "wide" - }) || match2.era(dateString, { - width: "abbreviated" - }) || match2.era(dateString, { - width: "narrow" - }); - } - } - }, { - key: "set", - value: function set2(date, flags, value) { - flags.era = value; - date.setUTCFullYear(value, 0, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return EraParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/constants.js -var numericPatterns = { - month: /^(1[0-2]|0?\d)/, - // 0 to 12 - date: /^(3[0-1]|[0-2]?\d)/, - // 0 to 31 - dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, - // 0 to 366 - week: /^(5[0-3]|[0-4]?\d)/, - // 0 to 53 - hour23h: /^(2[0-3]|[0-1]?\d)/, - // 0 to 23 - hour24h: /^(2[0-4]|[0-1]?\d)/, - // 0 to 24 - hour11h: /^(1[0-1]|0?\d)/, - // 0 to 11 - hour12h: /^(1[0-2]|0?\d)/, - // 0 to 12 - minute: /^[0-5]?\d/, - // 0 to 59 - second: /^[0-5]?\d/, - // 0 to 59 - singleDigit: /^\d/, - // 0 to 9 - twoDigits: /^\d{1,2}/, - // 0 to 99 - threeDigits: /^\d{1,3}/, - // 0 to 999 - fourDigits: /^\d{1,4}/, - // 0 to 9999 - anyDigitsSigned: /^-?\d+/, - singleDigitSigned: /^-?\d/, - // 0 to 9, -0 to -9 - twoDigitsSigned: /^-?\d{1,2}/, - // 0 to 99, -0 to -99 - threeDigitsSigned: /^-?\d{1,3}/, - // 0 to 999, -0 to -999 - fourDigitsSigned: /^-?\d{1,4}/ - // 0 to 9999, -0 to -9999 -}; -var timezonePatterns = { - basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/, - basic: /^([+-])(\d{2})(\d{2})|Z/, - basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/, - extended: /^([+-])(\d{2}):(\d{2})|Z/, - extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/ -}; - -// node_modules/date-fns/esm/parse/_lib/utils.js -function mapValue(parseFnResult, mapFn) { - if (!parseFnResult) { - return parseFnResult; - } - return { - value: mapFn(parseFnResult.value), - rest: parseFnResult.rest - }; -} -function parseNumericPattern(pattern, dateString) { - var matchResult = dateString.match(pattern); - if (!matchResult) { - return null; - } - return { - value: parseInt(matchResult[0], 10), - rest: dateString.slice(matchResult[0].length) - }; -} -function parseTimezonePattern(pattern, dateString) { - var matchResult = dateString.match(pattern); - if (!matchResult) { - return null; - } - if (matchResult[0] === "Z") { - return { - value: 0, - rest: dateString.slice(1) - }; - } - var sign = matchResult[1] === "+" ? 1 : -1; - var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0; - var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0; - var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0; - return { - value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond), - rest: dateString.slice(matchResult[0].length) - }; -} -function parseAnyDigitsSigned(dateString) { - return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString); -} -function parseNDigits(n, dateString) { - switch (n) { - case 1: - return parseNumericPattern(numericPatterns.singleDigit, dateString); - case 2: - return parseNumericPattern(numericPatterns.twoDigits, dateString); - case 3: - return parseNumericPattern(numericPatterns.threeDigits, dateString); - case 4: - return parseNumericPattern(numericPatterns.fourDigits, dateString); - default: - return parseNumericPattern(new RegExp("^\\d{1," + n + "}"), dateString); - } -} -function parseNDigitsSigned(n, dateString) { - switch (n) { - case 1: - return parseNumericPattern(numericPatterns.singleDigitSigned, dateString); - case 2: - return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString); - case 3: - return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString); - case 4: - return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString); - default: - return parseNumericPattern(new RegExp("^-?\\d{1," + n + "}"), dateString); - } -} -function dayPeriodEnumToHours(dayPeriod) { - switch (dayPeriod) { - case "morning": - return 4; - case "evening": - return 17; - case "pm": - case "noon": - case "afternoon": - return 12; - case "am": - case "midnight": - case "night": - default: - return 0; - } -} -function normalizeTwoDigitYear(twoDigitYear, currentYear) { - var isCommonEra = currentYear > 0; - var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear; - var result; - if (absCurrentYear <= 50) { - result = twoDigitYear || 100; - } else { - var rangeEnd = absCurrentYear + 50; - var rangeEndCentury = Math.floor(rangeEnd / 100) * 100; - var isPreviousCentury = twoDigitYear >= rangeEnd % 100; - result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0); - } - return isCommonEra ? result : 1 - result; -} -function isLeapYearIndex(year) { - return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; -} - -// node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js -var YearParser = function(_Parser) { - _inherits(YearParser2, _Parser); - var _super = _createSuper(YearParser2); - function YearParser2() { - var _this; - _classCallCheck(this, YearParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 130); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(YearParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - var valueCallback3 = function valueCallback4(year) { - return { - year, - isTwoDigitYear: token === "yy" - }; - }; - switch (token) { - case "y": - return mapValue(parseNDigits(4, dateString), valueCallback3); - case "yo": - return mapValue(match2.ordinalNumber(dateString, { - unit: "year" - }), valueCallback3); - default: - return mapValue(parseNDigits(token.length, dateString), valueCallback3); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value.isTwoDigitYear || value.year > 0; - } - }, { - key: "set", - value: function set2(date, flags, value) { - var currentYear = date.getUTCFullYear(); - if (value.isTwoDigitYear) { - var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear); - date.setUTCFullYear(normalizedTwoDigitYear, 0, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year; - date.setUTCFullYear(year, 0, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return YearParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js -var LocalWeekYearParser = function(_Parser) { - _inherits(LocalWeekYearParser2, _Parser); - var _super = _createSuper(LocalWeekYearParser2); - function LocalWeekYearParser2() { - var _this; - _classCallCheck(this, LocalWeekYearParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 130); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "R", "u", "Q", "q", "M", "L", "I", "d", "D", "i", "t", "T"]); - return _this; - } - _createClass(LocalWeekYearParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - var valueCallback3 = function valueCallback4(year) { - return { - year, - isTwoDigitYear: token === "YY" - }; - }; - switch (token) { - case "Y": - return mapValue(parseNDigits(4, dateString), valueCallback3); - case "Yo": - return mapValue(match2.ordinalNumber(dateString, { - unit: "year" - }), valueCallback3); - default: - return mapValue(parseNDigits(token.length, dateString), valueCallback3); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value.isTwoDigitYear || value.year > 0; - } - }, { - key: "set", - value: function set2(date, flags, value, options) { - var currentYear = getUTCWeekYear(date, options); - if (value.isTwoDigitYear) { - var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear); - date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate); - date.setUTCHours(0, 0, 0, 0); - return startOfUTCWeek(date, options); - } - var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year; - date.setUTCFullYear(year, 0, options.firstWeekContainsDate); - date.setUTCHours(0, 0, 0, 0); - return startOfUTCWeek(date, options); - } - }]); - return LocalWeekYearParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js -var ISOWeekYearParser = function(_Parser) { - _inherits(ISOWeekYearParser2, _Parser); - var _super = _createSuper(ISOWeekYearParser2); - function ISOWeekYearParser2() { - var _this; - _classCallCheck(this, ISOWeekYearParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 130); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["G", "y", "Y", "u", "Q", "q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]); - return _this; - } - _createClass(ISOWeekYearParser2, [{ - key: "parse", - value: function parse2(dateString, token) { - if (token === "R") { - return parseNDigitsSigned(4, dateString); - } - return parseNDigitsSigned(token.length, dateString); - } - }, { - key: "set", - value: function set2(_date, _flags, value) { - var firstWeekOfYear = /* @__PURE__ */ new Date(0); - firstWeekOfYear.setUTCFullYear(value, 0, 4); - firstWeekOfYear.setUTCHours(0, 0, 0, 0); - return startOfUTCISOWeek(firstWeekOfYear); - } - }]); - return ISOWeekYearParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js -var ExtendedYearParser = function(_Parser) { - _inherits(ExtendedYearParser2, _Parser); - var _super = _createSuper(ExtendedYearParser2); - function ExtendedYearParser2() { - var _this; - _classCallCheck(this, ExtendedYearParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 130); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(ExtendedYearParser2, [{ - key: "parse", - value: function parse2(dateString, token) { - if (token === "u") { - return parseNDigitsSigned(4, dateString); - } - return parseNDigitsSigned(token.length, dateString); - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCFullYear(value, 0, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return ExtendedYearParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js -var QuarterParser = function(_Parser) { - _inherits(QuarterParser2, _Parser); - var _super = _createSuper(QuarterParser2); - function QuarterParser2() { - var _this; - _classCallCheck(this, QuarterParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 120); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(QuarterParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "Q": - case "QQ": - return parseNDigits(token.length, dateString); - case "Qo": - return match2.ordinalNumber(dateString, { - unit: "quarter" - }); - case "QQQ": - return match2.quarter(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.quarter(dateString, { - width: "narrow", - context: "formatting" - }); - case "QQQQQ": - return match2.quarter(dateString, { - width: "narrow", - context: "formatting" - }); - case "QQQQ": - default: - return match2.quarter(dateString, { - width: "wide", - context: "formatting" - }) || match2.quarter(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.quarter(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 4; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMonth((value - 1) * 3, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return QuarterParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js -var StandAloneQuarterParser = function(_Parser) { - _inherits(StandAloneQuarterParser2, _Parser); - var _super = _createSuper(StandAloneQuarterParser2); - function StandAloneQuarterParser2() { - var _this; - _classCallCheck(this, StandAloneQuarterParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 120); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "Q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(StandAloneQuarterParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "q": - case "qq": - return parseNDigits(token.length, dateString); - case "qo": - return match2.ordinalNumber(dateString, { - unit: "quarter" - }); - case "qqq": - return match2.quarter(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.quarter(dateString, { - width: "narrow", - context: "standalone" - }); - case "qqqqq": - return match2.quarter(dateString, { - width: "narrow", - context: "standalone" - }); - case "qqqq": - default: - return match2.quarter(dateString, { - width: "wide", - context: "standalone" - }) || match2.quarter(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.quarter(dateString, { - width: "narrow", - context: "standalone" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 4; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMonth((value - 1) * 3, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return StandAloneQuarterParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js -var MonthParser = function(_Parser) { - _inherits(MonthParser2, _Parser); - var _super = _createSuper(MonthParser2); - function MonthParser2() { - var _this; - _classCallCheck(this, MonthParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "L", "w", "I", "D", "i", "e", "c", "t", "T"]); - _defineProperty(_assertThisInitialized(_this), "priority", 110); - return _this; - } - _createClass(MonthParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - var valueCallback3 = function valueCallback4(value) { - return value - 1; - }; - switch (token) { - case "M": - return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback3); - case "MM": - return mapValue(parseNDigits(2, dateString), valueCallback3); - case "Mo": - return mapValue(match2.ordinalNumber(dateString, { - unit: "month" - }), valueCallback3); - case "MMM": - return match2.month(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.month(dateString, { - width: "narrow", - context: "formatting" - }); - case "MMMMM": - return match2.month(dateString, { - width: "narrow", - context: "formatting" - }); - case "MMMM": - default: - return match2.month(dateString, { - width: "wide", - context: "formatting" - }) || match2.month(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.month(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 11; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMonth(value, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return MonthParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js -var StandAloneMonthParser = function(_Parser) { - _inherits(StandAloneMonthParser2, _Parser); - var _super = _createSuper(StandAloneMonthParser2); - function StandAloneMonthParser2() { - var _this; - _classCallCheck(this, StandAloneMonthParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 110); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "M", "w", "I", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(StandAloneMonthParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - var valueCallback3 = function valueCallback4(value) { - return value - 1; - }; - switch (token) { - case "L": - return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback3); - case "LL": - return mapValue(parseNDigits(2, dateString), valueCallback3); - case "Lo": - return mapValue(match2.ordinalNumber(dateString, { - unit: "month" - }), valueCallback3); - case "LLL": - return match2.month(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.month(dateString, { - width: "narrow", - context: "standalone" - }); - case "LLLLL": - return match2.month(dateString, { - width: "narrow", - context: "standalone" - }); - case "LLLL": - default: - return match2.month(dateString, { - width: "wide", - context: "standalone" - }) || match2.month(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.month(dateString, { - width: "narrow", - context: "standalone" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 11; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMonth(value, 1); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return StandAloneMonthParser2; -}(Parser); - -// node_modules/date-fns/esm/_lib/setUTCWeek/index.js -function setUTCWeek(dirtyDate, dirtyWeek, options) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var week = toInteger(dirtyWeek); - var diff = getUTCWeek(date, options) - week; - date.setUTCDate(date.getUTCDate() - diff * 7); - return date; -} - -// node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js -var LocalWeekParser = function(_Parser) { - _inherits(LocalWeekParser2, _Parser); - var _super = _createSuper(LocalWeekParser2); - function LocalWeekParser2() { - var _this; - _classCallCheck(this, LocalWeekParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 100); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "i", "t", "T"]); - return _this; - } - _createClass(LocalWeekParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "w": - return parseNumericPattern(numericPatterns.week, dateString); - case "wo": - return match2.ordinalNumber(dateString, { - unit: "week" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 53; - } - }, { - key: "set", - value: function set2(date, _flags, value, options) { - return startOfUTCWeek(setUTCWeek(date, value, options), options); - } - }]); - return LocalWeekParser2; -}(Parser); - -// node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js -function setUTCISOWeek(dirtyDate, dirtyISOWeek) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var isoWeek = toInteger(dirtyISOWeek); - var diff = getUTCISOWeek(date) - isoWeek; - date.setUTCDate(date.getUTCDate() - diff * 7); - return date; -} - -// node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js -var ISOWeekParser = function(_Parser) { - _inherits(ISOWeekParser2, _Parser); - var _super = _createSuper(ISOWeekParser2); - function ISOWeekParser2() { - var _this; - _classCallCheck(this, ISOWeekParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 100); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]); - return _this; - } - _createClass(ISOWeekParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "I": - return parseNumericPattern(numericPatterns.week, dateString); - case "Io": - return match2.ordinalNumber(dateString, { - unit: "week" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 53; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - return startOfUTCISOWeek(setUTCISOWeek(date, value)); - } - }]); - return ISOWeekParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js -var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -var DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -var DateParser = function(_Parser) { - _inherits(DateParser2, _Parser); - var _super = _createSuper(DateParser2); - function DateParser2() { - var _this; - _classCallCheck(this, DateParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "subPriority", 1); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "w", "I", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(DateParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "d": - return parseNumericPattern(numericPatterns.date, dateString); - case "do": - return match2.ordinalNumber(dateString, { - unit: "date" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(date, value) { - var year = date.getUTCFullYear(); - var isLeapYear2 = isLeapYearIndex(year); - var month = date.getUTCMonth(); - if (isLeapYear2) { - return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month]; - } else { - return value >= 1 && value <= DAYS_IN_MONTH[month]; - } - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCDate(value); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return DateParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js -var DayOfYearParser = function(_Parser) { - _inherits(DayOfYearParser2, _Parser); - var _super = _createSuper(DayOfYearParser2); - function DayOfYearParser2() { - var _this; - _classCallCheck(this, DayOfYearParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "subpriority", 1); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "M", "L", "w", "I", "d", "E", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(DayOfYearParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "D": - case "DD": - return parseNumericPattern(numericPatterns.dayOfYear, dateString); - case "Do": - return match2.ordinalNumber(dateString, { - unit: "date" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(date, value) { - var year = date.getUTCFullYear(); - var isLeapYear2 = isLeapYearIndex(year); - if (isLeapYear2) { - return value >= 1 && value <= 366; - } else { - return value >= 1 && value <= 365; - } - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMonth(0, value); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return DayOfYearParser2; -}(Parser); - -// node_modules/date-fns/esm/_lib/setUTCDay/index.js -function setUTCDay(dirtyDate, dirtyDay, options) { - var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2; - requiredArgs(2, arguments); - var defaultOptions2 = getDefaultOptions(); - var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions2.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0); - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); - } - var date = toDate(dirtyDate); - var day = toInteger(dirtyDay); - var currentDay = date.getUTCDay(); - var remainder = day % 7; - var dayIndex = (remainder + 7) % 7; - var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay; - date.setUTCDate(date.getUTCDate() + diff); - return date; -} - -// node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js -var DayParser = function(_Parser) { - _inherits(DayParser2, _Parser); - var _super = _createSuper(DayParser2); - function DayParser2() { - var _this; - _classCallCheck(this, DayParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass(DayParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "E": - case "EE": - case "EEE": - return match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "EEEEE": - return match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "EEEEEE": - return match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "EEEE": - default: - return match2.day(dateString, { - width: "wide", - context: "formatting" - }) || match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 6; - } - }, { - key: "set", - value: function set2(date, _flags, value, options) { - date = setUTCDay(date, value, options); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return DayParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js -var LocalDayParser = function(_Parser) { - _inherits(LocalDayParser2, _Parser); - var _super = _createSuper(LocalDayParser2); - function LocalDayParser2() { - var _this; - _classCallCheck(this, LocalDayParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "c", "t", "T"]); - return _this; - } - _createClass(LocalDayParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2, options) { - var valueCallback3 = function valueCallback4(value) { - var wholeWeekDays = Math.floor((value - 1) / 7) * 7; - return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; - }; - switch (token) { - case "e": - case "ee": - return mapValue(parseNDigits(token.length, dateString), valueCallback3); - case "eo": - return mapValue(match2.ordinalNumber(dateString, { - unit: "day" - }), valueCallback3); - case "eee": - return match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "eeeee": - return match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "eeeeee": - return match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - case "eeee": - default: - return match2.day(dateString, { - width: "wide", - context: "formatting" - }) || match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 6; - } - }, { - key: "set", - value: function set2(date, _flags, value, options) { - date = setUTCDay(date, value, options); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return LocalDayParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js -var StandAloneLocalDayParser = function(_Parser) { - _inherits(StandAloneLocalDayParser2, _Parser); - var _super = _createSuper(StandAloneLocalDayParser2); - function StandAloneLocalDayParser2() { - var _this; - _classCallCheck(this, StandAloneLocalDayParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "e", "t", "T"]); - return _this; - } - _createClass(StandAloneLocalDayParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2, options) { - var valueCallback3 = function valueCallback4(value) { - var wholeWeekDays = Math.floor((value - 1) / 7) * 7; - return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; - }; - switch (token) { - case "c": - case "cc": - return mapValue(parseNDigits(token.length, dateString), valueCallback3); - case "co": - return mapValue(match2.ordinalNumber(dateString, { - unit: "day" - }), valueCallback3); - case "ccc": - return match2.day(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.day(dateString, { - width: "short", - context: "standalone" - }) || match2.day(dateString, { - width: "narrow", - context: "standalone" - }); - case "ccccc": - return match2.day(dateString, { - width: "narrow", - context: "standalone" - }); - case "cccccc": - return match2.day(dateString, { - width: "short", - context: "standalone" - }) || match2.day(dateString, { - width: "narrow", - context: "standalone" - }); - case "cccc": - default: - return match2.day(dateString, { - width: "wide", - context: "standalone" - }) || match2.day(dateString, { - width: "abbreviated", - context: "standalone" - }) || match2.day(dateString, { - width: "short", - context: "standalone" - }) || match2.day(dateString, { - width: "narrow", - context: "standalone" - }); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 6; - } - }, { - key: "set", - value: function set2(date, _flags, value, options) { - date = setUTCDay(date, value, options); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return StandAloneLocalDayParser2; -}(Parser); - -// node_modules/date-fns/esm/_lib/setUTCISODay/index.js -function setUTCISODay(dirtyDate, dirtyDay) { - requiredArgs(2, arguments); - var day = toInteger(dirtyDay); - if (day % 7 === 0) { - day = day - 7; - } - var weekStartsOn = 1; - var date = toDate(dirtyDate); - var currentDay = date.getUTCDay(); - var remainder = day % 7; - var dayIndex = (remainder + 7) % 7; - var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay; - date.setUTCDate(date.getUTCDate() + diff); - return date; -} - -// node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js -var ISODayParser = function(_Parser) { - _inherits(ISODayParser2, _Parser); - var _super = _createSuper(ISODayParser2); - function ISODayParser2() { - var _this; - _classCallCheck(this, ISODayParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 90); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "E", "e", "c", "t", "T"]); - return _this; - } - _createClass(ISODayParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - var valueCallback3 = function valueCallback4(value) { - if (value === 0) { - return 7; - } - return value; - }; - switch (token) { - case "i": - case "ii": - return parseNDigits(token.length, dateString); - case "io": - return match2.ordinalNumber(dateString, { - unit: "day" - }); - case "iii": - return mapValue(match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }), valueCallback3); - case "iiiii": - return mapValue(match2.day(dateString, { - width: "narrow", - context: "formatting" - }), valueCallback3); - case "iiiiii": - return mapValue(match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }), valueCallback3); - case "iiii": - default: - return mapValue(match2.day(dateString, { - width: "wide", - context: "formatting" - }) || match2.day(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.day(dateString, { - width: "short", - context: "formatting" - }) || match2.day(dateString, { - width: "narrow", - context: "formatting" - }), valueCallback3); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 7; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date = setUTCISODay(date, value); - date.setUTCHours(0, 0, 0, 0); - return date; - } - }]); - return ISODayParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js -var AMPMParser = function(_Parser) { - _inherits(AMPMParser2, _Parser); - var _super = _createSuper(AMPMParser2); - function AMPMParser2() { - var _this; - _classCallCheck(this, AMPMParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 80); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["b", "B", "H", "k", "t", "T"]); - return _this; - } - _createClass(AMPMParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "a": - case "aa": - case "aaa": - return match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "aaaaa": - return match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "aaaa": - default: - return match2.dayPeriod(dateString, { - width: "wide", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); - return date; - } - }]); - return AMPMParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js -var AMPMMidnightParser = function(_Parser) { - _inherits(AMPMMidnightParser2, _Parser); - var _super = _createSuper(AMPMMidnightParser2); - function AMPMMidnightParser2() { - var _this; - _classCallCheck(this, AMPMMidnightParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 80); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["a", "B", "H", "k", "t", "T"]); - return _this; - } - _createClass(AMPMMidnightParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "b": - case "bb": - case "bbb": - return match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "bbbbb": - return match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "bbbb": - default: - return match2.dayPeriod(dateString, { - width: "wide", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); - return date; - } - }]); - return AMPMMidnightParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js -var DayPeriodParser = function(_Parser) { - _inherits(DayPeriodParser2, _Parser); - var _super = _createSuper(DayPeriodParser2); - function DayPeriodParser2() { - var _this; - _classCallCheck(this, DayPeriodParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 80); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["a", "b", "t", "T"]); - return _this; - } - _createClass(DayPeriodParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "B": - case "BB": - case "BBB": - return match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "BBBBB": - return match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - case "BBBB": - default: - return match2.dayPeriod(dateString, { - width: "wide", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "abbreviated", - context: "formatting" - }) || match2.dayPeriod(dateString, { - width: "narrow", - context: "formatting" - }); - } - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); - return date; - } - }]); - return DayPeriodParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js -var Hour1to12Parser = function(_Parser) { - _inherits(Hour1to12Parser2, _Parser); - var _super = _createSuper(Hour1to12Parser2); - function Hour1to12Parser2() { - var _this; - _classCallCheck(this, Hour1to12Parser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 70); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["H", "K", "k", "t", "T"]); - return _this; - } - _createClass(Hour1to12Parser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "h": - return parseNumericPattern(numericPatterns.hour12h, dateString); - case "ho": - return match2.ordinalNumber(dateString, { - unit: "hour" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 12; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - var isPM = date.getUTCHours() >= 12; - if (isPM && value < 12) { - date.setUTCHours(value + 12, 0, 0, 0); - } else if (!isPM && value === 12) { - date.setUTCHours(0, 0, 0, 0); - } else { - date.setUTCHours(value, 0, 0, 0); - } - return date; - } - }]); - return Hour1to12Parser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js -var Hour0to23Parser = function(_Parser) { - _inherits(Hour0to23Parser2, _Parser); - var _super = _createSuper(Hour0to23Parser2); - function Hour0to23Parser2() { - var _this; - _classCallCheck(this, Hour0to23Parser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 70); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["a", "b", "h", "K", "k", "t", "T"]); - return _this; - } - _createClass(Hour0to23Parser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "H": - return parseNumericPattern(numericPatterns.hour23h, dateString); - case "Ho": - return match2.ordinalNumber(dateString, { - unit: "hour" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 23; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCHours(value, 0, 0, 0); - return date; - } - }]); - return Hour0to23Parser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js -var Hour0To11Parser = function(_Parser) { - _inherits(Hour0To11Parser2, _Parser); - var _super = _createSuper(Hour0To11Parser2); - function Hour0To11Parser2() { - var _this; - _classCallCheck(this, Hour0To11Parser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 70); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["h", "H", "k", "t", "T"]); - return _this; - } - _createClass(Hour0To11Parser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "K": - return parseNumericPattern(numericPatterns.hour11h, dateString); - case "Ko": - return match2.ordinalNumber(dateString, { - unit: "hour" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 11; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - var isPM = date.getUTCHours() >= 12; - if (isPM && value < 12) { - date.setUTCHours(value + 12, 0, 0, 0); - } else { - date.setUTCHours(value, 0, 0, 0); - } - return date; - } - }]); - return Hour0To11Parser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js -var Hour1To24Parser = function(_Parser) { - _inherits(Hour1To24Parser2, _Parser); - var _super = _createSuper(Hour1To24Parser2); - function Hour1To24Parser2() { - var _this; - _classCallCheck(this, Hour1To24Parser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 70); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["a", "b", "h", "H", "K", "t", "T"]); - return _this; - } - _createClass(Hour1To24Parser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "k": - return parseNumericPattern(numericPatterns.hour24h, dateString); - case "ko": - return match2.ordinalNumber(dateString, { - unit: "hour" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 1 && value <= 24; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - var hours = value <= 24 ? value % 24 : value; - date.setUTCHours(hours, 0, 0, 0); - return date; - } - }]); - return Hour1To24Parser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js -var MinuteParser = function(_Parser) { - _inherits(MinuteParser2, _Parser); - var _super = _createSuper(MinuteParser2); - function MinuteParser2() { - var _this; - _classCallCheck(this, MinuteParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 60); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass(MinuteParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "m": - return parseNumericPattern(numericPatterns.minute, dateString); - case "mo": - return match2.ordinalNumber(dateString, { - unit: "minute" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 59; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMinutes(value, 0, 0); - return date; - } - }]); - return MinuteParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js -var SecondParser = function(_Parser) { - _inherits(SecondParser2, _Parser); - var _super = _createSuper(SecondParser2); - function SecondParser2() { - var _this; - _classCallCheck(this, SecondParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 50); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass(SecondParser2, [{ - key: "parse", - value: function parse2(dateString, token, match2) { - switch (token) { - case "s": - return parseNumericPattern(numericPatterns.second, dateString); - case "so": - return match2.ordinalNumber(dateString, { - unit: "second" - }); - default: - return parseNDigits(token.length, dateString); - } - } - }, { - key: "validate", - value: function validate(_date, value) { - return value >= 0 && value <= 59; - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCSeconds(value, 0); - return date; - } - }]); - return SecondParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js -var FractionOfSecondParser = function(_Parser) { - _inherits(FractionOfSecondParser2, _Parser); - var _super = _createSuper(FractionOfSecondParser2); - function FractionOfSecondParser2() { - var _this; - _classCallCheck(this, FractionOfSecondParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 30); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass(FractionOfSecondParser2, [{ - key: "parse", - value: function parse2(dateString, token) { - var valueCallback3 = function valueCallback4(value) { - return Math.floor(value * Math.pow(10, -token.length + 3)); - }; - return mapValue(parseNDigits(token.length, dateString), valueCallback3); - } - }, { - key: "set", - value: function set2(date, _flags, value) { - date.setUTCMilliseconds(value); - return date; - } - }]); - return FractionOfSecondParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js -var ISOTimezoneWithZParser = function(_Parser) { - _inherits(ISOTimezoneWithZParser2, _Parser); - var _super = _createSuper(ISOTimezoneWithZParser2); - function ISOTimezoneWithZParser2() { - var _this; - _classCallCheck(this, ISOTimezoneWithZParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 10); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["t", "T", "x"]); - return _this; - } - _createClass(ISOTimezoneWithZParser2, [{ - key: "parse", - value: function parse2(dateString, token) { - switch (token) { - case "X": - return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString); - case "XX": - return parseTimezonePattern(timezonePatterns.basic, dateString); - case "XXXX": - return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString); - case "XXXXX": - return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString); - case "XXX": - default: - return parseTimezonePattern(timezonePatterns.extended, dateString); - } - } - }, { - key: "set", - value: function set2(date, flags, value) { - if (flags.timestampIsSet) { - return date; - } - return new Date(date.getTime() - value); - } - }]); - return ISOTimezoneWithZParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js -var ISOTimezoneParser = function(_Parser) { - _inherits(ISOTimezoneParser2, _Parser); - var _super = _createSuper(ISOTimezoneParser2); - function ISOTimezoneParser2() { - var _this; - _classCallCheck(this, ISOTimezoneParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 10); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ["t", "T", "X"]); - return _this; - } - _createClass(ISOTimezoneParser2, [{ - key: "parse", - value: function parse2(dateString, token) { - switch (token) { - case "x": - return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString); - case "xx": - return parseTimezonePattern(timezonePatterns.basic, dateString); - case "xxxx": - return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString); - case "xxxxx": - return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString); - case "xxx": - default: - return parseTimezonePattern(timezonePatterns.extended, dateString); - } - } - }, { - key: "set", - value: function set2(date, flags, value) { - if (flags.timestampIsSet) { - return date; - } - return new Date(date.getTime() - value); - } - }]); - return ISOTimezoneParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js -var TimestampSecondsParser = function(_Parser) { - _inherits(TimestampSecondsParser2, _Parser); - var _super = _createSuper(TimestampSecondsParser2); - function TimestampSecondsParser2() { - var _this; - _classCallCheck(this, TimestampSecondsParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 40); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", "*"); - return _this; - } - _createClass(TimestampSecondsParser2, [{ - key: "parse", - value: function parse2(dateString) { - return parseAnyDigitsSigned(dateString); - } - }, { - key: "set", - value: function set2(_date, _flags, value) { - return [new Date(value * 1e3), { - timestampIsSet: true - }]; - } - }]); - return TimestampSecondsParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js -var TimestampMillisecondsParser = function(_Parser) { - _inherits(TimestampMillisecondsParser2, _Parser); - var _super = _createSuper(TimestampMillisecondsParser2); - function TimestampMillisecondsParser2() { - var _this; - _classCallCheck(this, TimestampMillisecondsParser2); - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - _this = _super.call.apply(_super, [this].concat(args)); - _defineProperty(_assertThisInitialized(_this), "priority", 20); - _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", "*"); - return _this; - } - _createClass(TimestampMillisecondsParser2, [{ - key: "parse", - value: function parse2(dateString) { - return parseAnyDigitsSigned(dateString); - } - }, { - key: "set", - value: function set2(_date, _flags, value) { - return [new Date(value), { - timestampIsSet: true - }]; - } - }]); - return TimestampMillisecondsParser2; -}(Parser); - -// node_modules/date-fns/esm/parse/_lib/parsers/index.js -var parsers = { - G: new EraParser(), - y: new YearParser(), - Y: new LocalWeekYearParser(), - R: new ISOWeekYearParser(), - u: new ExtendedYearParser(), - Q: new QuarterParser(), - q: new StandAloneQuarterParser(), - M: new MonthParser(), - L: new StandAloneMonthParser(), - w: new LocalWeekParser(), - I: new ISOWeekParser(), - d: new DateParser(), - D: new DayOfYearParser(), - E: new DayParser(), - e: new LocalDayParser(), - c: new StandAloneLocalDayParser(), - i: new ISODayParser(), - a: new AMPMParser(), - b: new AMPMMidnightParser(), - B: new DayPeriodParser(), - h: new Hour1to12Parser(), - H: new Hour0to23Parser(), - K: new Hour0To11Parser(), - k: new Hour1To24Parser(), - m: new MinuteParser(), - s: new SecondParser(), - S: new FractionOfSecondParser(), - X: new ISOTimezoneWithZParser(), - x: new ISOTimezoneParser(), - t: new TimestampSecondsParser(), - T: new TimestampMillisecondsParser() -}; - -// node_modules/date-fns/esm/parse/index.js -var formattingTokensRegExp2 = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; -var longFormattingTokensRegExp2 = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; -var escapedStringRegExp2 = /^'([^]*?)'?$/; -var doubleQuoteRegExp2 = /''/g; -var notWhitespaceRegExp = /\S/; -var unescapedLatinCharacterRegExp2 = /[a-zA-Z]/; -function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) { - var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4; - requiredArgs(3, arguments); - var dateString = String(dirtyDateString); - var formatString = String(dirtyFormatString); - var defaultOptions2 = getDefaultOptions(); - var locale2 = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions2.locale) !== null && _ref !== void 0 ? _ref : defaultLocale_default; - if (!locale2.match) { - throw new RangeError("locale must contain match property"); - } - var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions2.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions2.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1); - if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { - throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively"); - } - var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions2.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions2.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0); - if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { - throw new RangeError("weekStartsOn must be between 0 and 6 inclusively"); - } - if (formatString === "") { - if (dateString === "") { - return toDate(dirtyReferenceDate); - } else { - return /* @__PURE__ */ new Date(NaN); - } - } - var subFnOptions = { - firstWeekContainsDate, - weekStartsOn, - locale: locale2 - }; - var setters = [new DateToSystemTimezoneSetter()]; - var tokens = formatString.match(longFormattingTokensRegExp2).map(function(substring) { - var firstCharacter = substring[0]; - if (firstCharacter in longFormatters_default) { - var longFormatter = longFormatters_default[firstCharacter]; - return longFormatter(substring, locale2.formatLong); - } - return substring; - }).join("").match(formattingTokensRegExp2); - var usedTokens = []; - var _iterator = _createForOfIteratorHelper(tokens), _step; - try { - var _loop = function _loop2() { - var token = _step.value; - if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) { - throwProtectedError(token, formatString, dirtyDateString); - } - if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) { - throwProtectedError(token, formatString, dirtyDateString); - } - var firstCharacter = token[0]; - var parser = parsers[firstCharacter]; - if (parser) { - var incompatibleTokens = parser.incompatibleTokens; - if (Array.isArray(incompatibleTokens)) { - var incompatibleToken = usedTokens.find(function(usedToken) { - return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter; - }); - if (incompatibleToken) { - throw new RangeError("The format string mustn't contain `".concat(incompatibleToken.fullToken, "` and `").concat(token, "` at the same time")); - } - } else if (parser.incompatibleTokens === "*" && usedTokens.length > 0) { - throw new RangeError("The format string mustn't contain `".concat(token, "` and any other token at the same time")); - } - usedTokens.push({ - token: firstCharacter, - fullToken: token - }); - var parseResult = parser.run(dateString, token, locale2.match, subFnOptions); - if (!parseResult) { - return { - v: /* @__PURE__ */ new Date(NaN) - }; - } - setters.push(parseResult.setter); - dateString = parseResult.rest; - } else { - if (firstCharacter.match(unescapedLatinCharacterRegExp2)) { - throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`"); - } - if (token === "''") { - token = "'"; - } else if (firstCharacter === "'") { - token = cleanEscapedString2(token); - } - if (dateString.indexOf(token) === 0) { - dateString = dateString.slice(token.length); - } else { - return { - v: /* @__PURE__ */ new Date(NaN) - }; - } - } - }; - for (_iterator.s(); !(_step = _iterator.n()).done; ) { - var _ret = _loop(); - if (_typeof(_ret) === "object") - return _ret.v; - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) { - return /* @__PURE__ */ new Date(NaN); - } - var uniquePrioritySetters = setters.map(function(setter2) { - return setter2.priority; - }).sort(function(a3, b2) { - return b2 - a3; - }).filter(function(priority, index, array) { - return array.indexOf(priority) === index; - }).map(function(priority) { - return setters.filter(function(setter2) { - return setter2.priority === priority; - }).sort(function(a3, b2) { - return b2.subPriority - a3.subPriority; - }); - }).map(function(setterArray) { - return setterArray[0]; - }); - var date = toDate(dirtyReferenceDate); - if (isNaN(date.getTime())) { - return /* @__PURE__ */ new Date(NaN); - } - var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date)); - var flags = {}; - var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters), _step2; - try { - for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) { - var setter = _step2.value; - if (!setter.validate(utcDate, subFnOptions)) { - return /* @__PURE__ */ new Date(NaN); - } - var result = setter.set(utcDate, flags, subFnOptions); - if (Array.isArray(result)) { - utcDate = result[0]; - assign(flags, result[1]); - } else { - utcDate = result; - } - } - } catch (err) { - _iterator2.e(err); - } finally { - _iterator2.f(); - } - return utcDate; -} -function cleanEscapedString2(input) { - return input.match(escapedStringRegExp2)[1].replace(doubleQuoteRegExp2, "'"); -} - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-time.mjs -var timeUnits = [ - ["Y", 1e3 * 60 * 60 * 24 * 365], - ["M", 1e3 * 60 * 60 * 24 * 30], - ["D", 1e3 * 60 * 60 * 24], - ["H", 1e3 * 60 * 60], - ["m", 1e3 * 60], - ["s", 1e3], - ["S", 1] - // million seconds -]; -var NgTimeParser = class { - constructor(format2, localeId) { - this.format = format2; - this.localeId = localeId; - this.regex = null; - this.matchMap = { - hour: null, - minute: null, - second: null, - periodNarrow: null, - periodWide: null, - periodAbbreviated: null - }; - this.genRegexp(); - } - toDate(str) { - const result = this.getTimeResult(str); - const time = /* @__PURE__ */ new Date(); - if (isNotNil(result?.hour)) { - time.setHours(result.hour); - } - if (isNotNil(result?.minute)) { - time.setMinutes(result.minute); - } - if (isNotNil(result?.second)) { - time.setSeconds(result.second); - } - if (result?.period === 1 && time.getHours() < 12) { - time.setHours(time.getHours() + 12); - } - return time; - } - getTimeResult(str) { - const match2 = this.regex.exec(str); - let period = null; - if (match2) { - if (isNotNil(this.matchMap.periodNarrow)) { - period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Narrow).indexOf(match2[this.matchMap.periodNarrow + 1]); - } - if (isNotNil(this.matchMap.periodWide)) { - period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Wide).indexOf(match2[this.matchMap.periodWide + 1]); - } - if (isNotNil(this.matchMap.periodAbbreviated)) { - period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Abbreviated).indexOf(match2[this.matchMap.periodAbbreviated + 1]); - } - return { - hour: isNotNil(this.matchMap.hour) ? Number.parseInt(match2[this.matchMap.hour + 1], 10) : null, - minute: isNotNil(this.matchMap.minute) ? Number.parseInt(match2[this.matchMap.minute + 1], 10) : null, - second: isNotNil(this.matchMap.second) ? Number.parseInt(match2[this.matchMap.second + 1], 10) : null, - period - }; - } else { - return null; - } - } - genRegexp() { - let regexStr = this.format.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$&"); - const hourRegex = /h{1,2}/i; - const minuteRegex = /m{1,2}/; - const secondRegex = /s{1,2}/; - const periodNarrow = /aaaaa/; - const periodWide = /aaaa/; - const periodAbbreviated = /a{1,3}/; - const hourMatch = hourRegex.exec(this.format); - const minuteMatch = minuteRegex.exec(this.format); - const secondMatch = secondRegex.exec(this.format); - const periodNarrowMatch = periodNarrow.exec(this.format); - let periodWideMatch = null; - let periodAbbreviatedMatch = null; - if (!periodNarrowMatch) { - periodWideMatch = periodWide.exec(this.format); - } - if (!periodWideMatch && !periodNarrowMatch) { - periodAbbreviatedMatch = periodAbbreviated.exec(this.format); - } - const matchs = [hourMatch, minuteMatch, secondMatch, periodNarrowMatch, periodWideMatch, periodAbbreviatedMatch].filter((m3) => !!m3).sort((a3, b2) => a3.index - b2.index); - matchs.forEach((match2, index) => { - switch (match2) { - case hourMatch: - this.matchMap.hour = index; - regexStr = regexStr.replace(hourRegex, "(\\d{1,2})"); - break; - case minuteMatch: - this.matchMap.minute = index; - regexStr = regexStr.replace(minuteRegex, "(\\d{1,2})"); - break; - case secondMatch: - this.matchMap.second = index; - regexStr = regexStr.replace(secondRegex, "(\\d{1,2})"); - break; - case periodNarrowMatch: - this.matchMap.periodNarrow = index; - const periodsNarrow = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Narrow).join("|"); - regexStr = regexStr.replace(periodNarrow, `(${periodsNarrow})`); - break; - case periodWideMatch: - this.matchMap.periodWide = index; - const periodsWide = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Wide).join("|"); - regexStr = regexStr.replace(periodWide, `(${periodsWide})`); - break; - case periodAbbreviatedMatch: - this.matchMap.periodAbbreviated = index; - const periodsAbbreviated = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Abbreviated).join("|"); - regexStr = regexStr.replace(periodAbbreviated, `(${periodsAbbreviated})`); - break; - } - }); - this.regex = new RegExp(regexStr); - } -}; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-i18n.mjs -var en_US = { - locale: "en", - Pagination: { - items_per_page: "/ page", - jump_to: "Go to", - jump_to_confirm: "confirm", - page: "Page", - prev_page: "Previous Page", - next_page: "Next Page", - prev_5: "Previous 5 Pages", - next_5: "Next 5 Pages", - prev_3: "Previous 3 Pages", - next_3: "Next 3 Pages", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_US", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "select time", - dateSelect: "select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - TimePicker: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - }, - Calendar: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_US", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "select time", - dateSelect: "select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - global: { - placeholder: "Please select" - }, - Table: { - filterTitle: "Filter menu", - filterConfirm: "OK", - filterReset: "Reset", - filterEmptyText: "No filters", - emptyText: "No data", - selectAll: "Select current page", - selectInvert: "Invert current page", - selectionAll: "Select all data", - sortTitle: "Sort", - expand: "Expand row", - collapse: "Collapse row", - triggerDesc: "Click to sort descending", - triggerAsc: "Click to sort ascending", - cancelSort: "Click to cancel sorting", - filterCheckall: "Select all items", - filterSearchPlaceholder: "Search in filters", - selectNone: "Clear all data" - }, - Modal: { - okText: "OK", - cancelText: "Cancel", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Cancel" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Search here", - itemUnit: "item", - itemsUnit: "items", - remove: "Remove", - selectCurrent: "Select current page", - removeCurrent: "Remove current page", - selectAll: "Select all data", - removeAll: "Remove all data", - selectInvert: "Invert current page" - }, - Upload: { - uploading: "Uploading...", - removeFile: "Remove file", - uploadError: "Upload error", - previewFile: "Preview file", - downloadFile: "Download file" - }, - Empty: { - description: "No Data" - }, - Icon: { - icon: "icon" - }, - Text: { - edit: "Edit", - copy: "Copy", - copied: "Copied", - expand: "Expand" - }, - PageHeader: { - back: "Back" - }, - Image: { - preview: "Preview" - }, - CronExpression: { - cronError: "Invalid cron expression", - second: "second", - minute: "minute", - hour: "hour", - day: "day", - month: "month", - week: "week" - }, - QRCode: { - expired: "QR code expired", - refresh: "Refresh" - } -}; -var zh_CN = { - locale: "zh-cn", - Pagination: { - items_per_page: "条/页", - jump_to: "跳至", - jump_to_confirm: "确定", - page: "页", - prev_page: "上一页", - next_page: "下一页", - prev_5: "向前 5 页", - next_5: "向后 5 页", - prev_3: "向前 3 页", - next_3: "向后 3 页", - page_size: "页码" - }, - DatePicker: { - lang: { - placeholder: "请选择日期", - yearPlaceholder: "请选择年份", - quarterPlaceholder: "请选择季度", - monthPlaceholder: "请选择月份", - weekPlaceholder: "请选择周", - rangePlaceholder: ["开始日期", "结束日期"], - rangeYearPlaceholder: ["开始年份", "结束年份"], - rangeMonthPlaceholder: ["开始月份", "结束月份"], - rangeWeekPlaceholder: ["开始周", "结束周"], - locale: "zh_CN", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "确定", - timeSelect: "选择时间", - dateSelect: "选择日期", - weekSelect: "选择周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上个月 (翻页上键)", - nextMonth: "下个月 (翻页下键)", - monthSelect: "选择月份", - yearSelect: "选择年份", - decadeSelect: "选择年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH时mm分ss秒", - previousYear: "上一年 (Control键加左方向键)", - nextYear: "下一年 (Control键加右方向键)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世纪", - nextCentury: "下一世纪" - }, - timePickerLocale: { - placeholder: "请选择时间", - rangePlaceholder: ["开始时间", "结束时间"] - } - }, - TimePicker: { - placeholder: "请选择时间", - rangePlaceholder: ["开始时间", "结束时间"] - }, - Calendar: { - lang: { - placeholder: "请选择日期", - yearPlaceholder: "请选择年份", - quarterPlaceholder: "请选择季度", - monthPlaceholder: "请选择月份", - weekPlaceholder: "请选择周", - rangePlaceholder: ["开始日期", "结束日期"], - rangeYearPlaceholder: ["开始年份", "结束年份"], - rangeMonthPlaceholder: ["开始月份", "结束月份"], - rangeWeekPlaceholder: ["开始周", "结束周"], - locale: "zh_CN", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "确定", - timeSelect: "选择时间", - dateSelect: "选择日期", - weekSelect: "选择周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上个月 (翻页上键)", - nextMonth: "下个月 (翻页下键)", - monthSelect: "选择月份", - yearSelect: "选择年份", - decadeSelect: "选择年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH时mm分ss秒", - previousYear: "上一年 (Control键加左方向键)", - nextYear: "下一年 (Control键加右方向键)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世纪", - nextCentury: "下一世纪" - }, - timePickerLocale: { - placeholder: "请选择时间", - rangePlaceholder: ["开始时间", "结束时间"] - } - }, - global: { - placeholder: "请选择" - }, - Table: { - filterTitle: "筛选", - filterConfirm: "确定", - filterReset: "重置", - filterEmptyText: "无筛选项", - selectAll: "全选当页", - selectInvert: "反选当页", - selectionAll: "全选所有", - sortTitle: "排序", - expand: "展开行", - collapse: "关闭行", - triggerDesc: "点击降序", - triggerAsc: "点击升序", - cancelSort: "取消排序", - filterCheckall: "全选", - filterSearchPlaceholder: "在筛选项中搜索", - selectNone: "清空所有" - }, - Modal: { - okText: "确定", - cancelText: "取消", - justOkText: "知道了" - }, - Popconfirm: { - cancelText: "取消", - okText: "确定" - }, - Transfer: { - searchPlaceholder: "请输入搜索内容", - itemUnit: "项", - itemsUnit: "项", - remove: "删除", - selectCurrent: "全选当页", - removeCurrent: "删除当页", - selectAll: "全选所有", - removeAll: "删除全部", - selectInvert: "反选当页" - }, - Upload: { - uploading: "文件上传中", - removeFile: "删除文件", - uploadError: "上传错误", - previewFile: "预览文件", - downloadFile: "下载文件" - }, - Empty: { - description: "暂无数据" - }, - Icon: { - icon: "图标" - }, - Text: { - edit: "编辑", - copy: "复制", - copied: "复制成功", - expand: "展开" - }, - PageHeader: { - back: "返回" - }, - Image: { - preview: "预览" - }, - CronExpression: { - cronError: "cron 表达式不合法", - second: "秒", - minute: "分钟", - hour: "小时", - day: "日", - month: "月", - week: "周" - }, - QRCode: { - expired: "二维码过期", - refresh: "点击刷新" - } -}; -var NZ_I18N = new InjectionToken("nz-i18n"); -function provideNzI18n(config) { - return makeEnvironmentProviders([{ - provide: NZ_I18N, - useValue: config - }]); -} -var NZ_DATE_LOCALE = new InjectionToken("nz-date-locale"); -var _NzI18nService = class _NzI18nService { - get localeChange() { - return this._change.asObservable(); - } - constructor(locale2, dateLocale) { - this._change = new BehaviorSubject(this._locale); - this.setLocale(locale2 || zh_CN); - this.setDateLocale(dateLocale || null); - } - // [NOTE] Performance issue: this method may called by every change detections - // TODO: cache more deeply paths for performance - translate(path, data) { - let content = this._getObjectPath(this._locale, path); - if (typeof content === "string") { - if (data) { - Object.keys(data).forEach((key) => content = content.replace(new RegExp(`%${key}%`, "g"), data[key])); - } - return content; - } - return path; - } - /** - * Set/Change current locale globally throughout the WHOLE application - * NOTE: If called at runtime, rendered interface may not change along with the locale change, - * because this do not trigger another render schedule. - * - * @param locale The translating letters - */ - setLocale(locale2) { - if (this._locale && this._locale.locale === locale2.locale) { - return; - } - this._locale = locale2; - this._change.next(locale2); - } - getLocale() { - return this._locale; - } - getLocaleId() { - return this._locale ? this._locale.locale : ""; - } - setDateLocale(dateLocale) { - this.dateLocale = dateLocale; - } - getDateLocale() { - return this.dateLocale; - } - /** - * Get locale data - * - * @param path dot paths for finding exist value from locale data, eg. "a.b.c" - * @param defaultValue default value if the result is not "truthy" - */ - getLocaleData(path, defaultValue) { - const result = path ? this._getObjectPath(this._locale, path) : this._locale; - if (!result && !defaultValue) { - warn(`Missing translations for "${path}" in language "${this._locale.locale}". -You can use "NzI18nService.setLocale" as a temporary fix. -Welcome to submit a pull request to help us optimize the translations! -https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md`); - } - return result || defaultValue || this._getObjectPath(en_US, path) || {}; - } - _getObjectPath(obj, path) { - let res = obj; - const paths = path.split("."); - const depth = paths.length; - let index = 0; - while (res && index < depth) { - res = res[paths[index++]]; - } - return index === depth ? res : null; - } -}; -_NzI18nService.ɵfac = function NzI18nService_Factory(t2) { - return new (t2 || _NzI18nService)(ɵɵinject(NZ_I18N, 8), ɵɵinject(NZ_DATE_LOCALE, 8)); -}; -_NzI18nService.ɵprov = ɵɵdefineInjectable({ - token: _NzI18nService, - factory: _NzI18nService.ɵfac, - providedIn: "root" -}); -var NzI18nService = _NzI18nService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzI18nService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_I18N] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_DATE_LOCALE] - }] - }], null); -})(); -var _NzI18nPipe = class _NzI18nPipe { - constructor(_locale) { - this._locale = _locale; - } - transform(path, keyValue) { - return this._locale.translate(path, keyValue); - } -}; -_NzI18nPipe.ɵfac = function NzI18nPipe_Factory(t2) { - return new (t2 || _NzI18nPipe)(ɵɵdirectiveInject(NzI18nService, 16)); -}; -_NzI18nPipe.ɵpipe = ɵɵdefinePipe({ - name: "nzI18n", - type: _NzI18nPipe, - pure: true, - standalone: true -}); -var NzI18nPipe = _NzI18nPipe; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzI18nPipe, [{ - type: Pipe, - args: [{ - name: "nzI18n", - standalone: true - }] - }], () => [{ - type: NzI18nService - }], null); -})(); -var _NzI18nModule = class _NzI18nModule { -}; -_NzI18nModule.ɵfac = function NzI18nModule_Factory(t2) { - return new (t2 || _NzI18nModule)(); -}; -_NzI18nModule.ɵmod = ɵɵdefineNgModule({ - type: _NzI18nModule, - imports: [NzI18nPipe], - exports: [NzI18nPipe] -}); -_NzI18nModule.ɵinj = ɵɵdefineInjector({}); -var NzI18nModule = _NzI18nModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzI18nModule, [{ - type: NgModule, - args: [{ - imports: [NzI18nPipe], - exports: [NzI18nPipe] - }] - }], null, null); -})(); -var NZ_DATE_CONFIG = new InjectionToken("date-config"); -var NZ_DATE_CONFIG_DEFAULT = { - firstDayOfWeek: void 0 -}; -function mergeDateConfig(config) { - return __spreadValues(__spreadValues({}, NZ_DATE_CONFIG_DEFAULT), config); -} -function DATE_HELPER_SERVICE_FACTORY() { - const i18n = inject(NzI18nService); - const config = inject(NZ_DATE_CONFIG, { - optional: true - }); - return i18n.getDateLocale() ? new DateHelperByDateFns(i18n, config) : new DateHelperByDatePipe(i18n, config); -} -var _DateHelperService = class _DateHelperService { - constructor(i18n, config) { - this.i18n = i18n; - this.config = mergeDateConfig(config); - } -}; -_DateHelperService.ɵfac = function DateHelperService_Factory(t2) { - return new (t2 || _DateHelperService)(ɵɵinject(NzI18nService), ɵɵinject(NZ_DATE_CONFIG, 8)); -}; -_DateHelperService.ɵprov = ɵɵdefineInjectable({ - token: _DateHelperService, - factory: () => DATE_HELPER_SERVICE_FACTORY(), - providedIn: "root" -}); -var DateHelperService = _DateHelperService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(DateHelperService, [{ - type: Injectable, - args: [{ - providedIn: "root", - useFactory: DATE_HELPER_SERVICE_FACTORY - }] - }], () => [{ - type: NzI18nService - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_DATE_CONFIG] - }] - }], null); -})(); -var DateHelperByDateFns = class extends DateHelperService { - getISOWeek(date) { - return getISOWeek(date); - } - // Use date-fns's "weekStartsOn" to support different locale when "config.firstDayOfWeek" is null - // https://github.com/date-fns/date-fns/blob/v2.0.0-alpha.27/src/locale/en-US/index.js#L23 - getFirstDayOfWeek() { - let defaultWeekStartsOn; - try { - defaultWeekStartsOn = this.i18n.getDateLocale().options.weekStartsOn; - } catch (e2) { - defaultWeekStartsOn = 1; - } - return this.config.firstDayOfWeek == null ? defaultWeekStartsOn : this.config.firstDayOfWeek; - } - /** - * Format a date - * - * @see https://date-fns.org/docs/format#description - * @param date Date - * @param formatStr format string - */ - format(date, formatStr) { - return date ? format(date, formatStr, { - locale: this.i18n.getDateLocale() - }) : ""; - } - parseDate(text, formatStr) { - return parse(text, formatStr, /* @__PURE__ */ new Date(), { - locale: this.i18n.getDateLocale(), - weekStartsOn: this.getFirstDayOfWeek() - }); - } - parseTime(text, formatStr) { - return this.parseDate(text, formatStr); - } -}; -var DateHelperByDatePipe = class extends DateHelperService { - getISOWeek(date) { - return +this.format(date, "w"); - } - getFirstDayOfWeek() { - if (this.config.firstDayOfWeek === void 0) { - const locale2 = this.i18n.getLocaleId(); - return locale2 && ["zh-cn", "zh-tw"].indexOf(locale2.toLowerCase()) > -1 ? 1 : 0; - } - return this.config.firstDayOfWeek; - } - format(date, formatStr) { - return date ? formatDate(date, formatStr, this.i18n.getLocaleId()) : ""; - } - parseDate(text) { - return new Date(text); - } - parseTime(text, formatStr) { - const parser = new NgTimeParser(formatStr, this.i18n.getLocaleId()); - return parser.toDate(text); - } -}; -var ar_EG = { - locale: "ar", - Pagination: { - items_per_page: "/ الصفحة", - jump_to: "الذهاب إلى", - jump_to_confirm: "تأكيد", - page: "الصفحة", - prev_page: "الصفحة السابقة", - next_page: "الصفحة التالية", - prev_5: "خمس صفحات سابقة", - next_5: "خمس صفحات تالية", - prev_3: "ثلاث صفحات سابقة", - next_3: "ثلاث صفحات تالية", - page_size: "مقاس الصفحه" - }, - DatePicker: { - lang: { - placeholder: "اختيار التاريخ", - yearPlaceholder: "اختيار السنة", - quarterPlaceholder: "اختيار الربع", - monthPlaceholder: "اختيار الشهر", - weekPlaceholder: "اختيار الأسبوع", - rangePlaceholder: ["البداية", "النهاية"], - rangeYearPlaceholder: ["سنة البداية", "سنة النهاية"], - rangeMonthPlaceholder: ["شهر البداية", "شهر النهاية"], - rangeWeekPlaceholder: ["أسبوع البداية", "أسبوع النهاية"], - locale: "ar_EG", - today: "اليوم", - now: "الأن", - backToToday: "العودة إلى اليوم", - ok: "تأكيد", - clear: "مسح", - month: "الشهر", - year: "السنة", - timeSelect: "اختيار الوقت", - dateSelect: "اختيار التاريخ", - weekSelect: "اختيار الأسبوع", - monthSelect: "اختيار الشهر", - yearSelect: "اختيار السنة", - decadeSelect: "اختيار العقد", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "الشهر السابق (PageUp)", - nextMonth: "الشهر التالى(PageDown)", - previousYear: "العام السابق (Control + left)", - nextYear: "العام التالى (Control + right)", - previousDecade: "العقد السابق", - nextDecade: "العقد التالى", - previousCentury: "القرن السابق", - nextCentury: "القرن التالى" - }, - timePickerLocale: { - placeholder: "اختيار الوقت" - }, - dateFormat: "DD-MM-YYYY", - monthFormat: "MM-YYYY", - dateTimeFormat: "DD-MM-YYYY HH:mm:ss", - weekFormat: "wo-YYYY" - }, - TimePicker: { - placeholder: "اختيار الوقت" - }, - Calendar: { - lang: { - placeholder: "اختيار التاريخ", - yearPlaceholder: "اختيار السنة", - quarterPlaceholder: "اختيار الربع", - monthPlaceholder: "اختيار الشهر", - weekPlaceholder: "اختيار الأسبوع", - rangePlaceholder: ["البداية", "النهاية"], - rangeYearPlaceholder: ["سنة البداية", "سنة النهاية"], - rangeMonthPlaceholder: ["شهر البداية", "شهر النهاية"], - rangeWeekPlaceholder: ["أسبوع البداية", "أسبوع النهاية"], - locale: "ar_EG", - today: "اليوم", - now: "الأن", - backToToday: "العودة إلى اليوم", - ok: "تأكيد", - clear: "مسح", - month: "الشهر", - year: "السنة", - timeSelect: "اختيار الوقت", - dateSelect: "اختيار التاريخ", - weekSelect: "اختيار الأسبوع", - monthSelect: "اختيار الشهر", - yearSelect: "اختيار السنة", - decadeSelect: "اختيار العقد", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "الشهر السابق (PageUp)", - nextMonth: "الشهر التالى(PageDown)", - previousYear: "العام السابق (Control + left)", - nextYear: "العام التالى (Control + right)", - previousDecade: "العقد السابق", - nextDecade: "العقد التالى", - previousCentury: "القرن السابق", - nextCentury: "القرن التالى" - }, - timePickerLocale: { - placeholder: "اختيار الوقت" - }, - dateFormat: "DD-MM-YYYY", - monthFormat: "MM-YYYY", - dateTimeFormat: "DD-MM-YYYY HH:mm:ss", - weekFormat: "wo-YYYY" - }, - global: { - placeholder: "يرجى التحديد" - }, - Table: { - filterTitle: "الفلاتر", - filterConfirm: "تأكيد", - filterReset: "إعادة ضبط", - selectAll: "اختيار الكل", - selectInvert: "إلغاء الاختيار", - selectionAll: "حدد جميع البيانات", - sortTitle: "رتب", - expand: "توسيع الصف", - collapse: "طي الصف", - triggerDesc: "ترتيب تنازلي", - triggerAsc: "ترتيب تصاعدي", - cancelSort: "إلغاء الترتيب" - }, - Modal: { - okText: "تأكيد", - cancelText: "إلغاء", - justOkText: "تأكيد" - }, - Popconfirm: { - okText: "تأكيد", - cancelText: "إلغاء" - }, - Transfer: { - searchPlaceholder: "ابحث هنا", - itemUnit: "عنصر", - itemsUnit: "عناصر" - }, - Upload: { - uploading: "جاري الرفع...", - removeFile: "احذف الملف", - uploadError: "مشكلة فى الرفع", - previewFile: "استعرض الملف", - downloadFile: "تحميل الملف" - }, - Empty: { - description: "لا توجد بيانات" - }, - Icon: { - icon: "أيقونة" - }, - Text: { - edit: "تعديل", - copy: "نسخ", - copied: "نقل", - expand: "وسع" - }, - PageHeader: { - back: "عودة" - } -}; -var az_AZ = { - locale: "az", - Pagination: { - items_per_page: "/ səhifə", - jump_to: "Get", - jump_to_confirm: "təsdiqlə", - page: "", - prev_page: "Əvvəlki Səhifə", - next_page: "Növbəti Səhifə", - prev_5: "Əvvəlki 5 Səhifə", - next_5: "Növbəti 5 Səhifə", - prev_3: "Əvvəlki 3 Səhifə", - next_3: "Növbəti 3 Səhifə", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Tarix seçin", - rangePlaceholder: ["Başlama tarixi", "Bitmə tarixi"], - locale: "az_AZ", - today: "Bugün", - now: "İndi", - backToToday: "Bugünə qayıt", - ok: "Təsdiq", - clear: "Təmizlə", - month: "Ay", - year: "İl", - timeSelect: "vaxtı seç", - dateSelect: "tarixi seç", - weekSelect: "Həftə seç", - monthSelect: "Ay seç", - yearSelect: "il seç", - decadeSelect: "Onillik seçin", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Əvvəlki ay (PageUp)", - nextMonth: "Növbəti ay (PageDown)", - previousYear: "Sonuncu il (Control + left)", - nextYear: "Növbəti il (Control + right)", - previousDecade: "Sonuncu onillik", - nextDecade: "Növbəti onillik", - previousCentury: "Sonuncu əsr", - nextCentury: "Növbəti əsr" - }, - timePickerLocale: { - placeholder: "Vaxtı seç" - } - }, - TimePicker: { - placeholder: "Vaxtı seç" - }, - Calendar: { - lang: { - placeholder: "Tarix seçin", - rangePlaceholder: ["Başlama tarixi", "Bitmə tarixi"], - locale: "az_AZ", - today: "Bugün", - now: "İndi", - backToToday: "Bugünə qayıt", - ok: "Təsdiq", - clear: "Təmizlə", - month: "Ay", - year: "İl", - timeSelect: "vaxtı seç", - dateSelect: "tarixi seç", - weekSelect: "Həftə seç", - monthSelect: "Ay seç", - yearSelect: "il seç", - decadeSelect: "Onillik seçin", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Əvvəlki ay (PageUp)", - nextMonth: "Növbəti ay (PageDown)", - previousYear: "Sonuncu il (Control + left)", - nextYear: "Növbəti il (Control + right)", - previousDecade: "Sonuncu onillik", - nextDecade: "Növbəti onillik", - previousCentury: "Sonuncu əsr", - nextCentury: "Növbəti əsr" - }, - timePickerLocale: { - placeholder: "Vaxtı seç" - } - }, - Table: { - filterTitle: "Filter menyu", - filterConfirm: "Axtar", - filterReset: "Sıfırla", - emptyText: "Məlumat yoxdur", - selectAll: "Cari səhifəni seç", - selectInvert: "Invert current page" - }, - Modal: { - okText: "Bəli", - cancelText: "Ləğv et", - justOkText: "Bəli" - }, - Popconfirm: { - okText: "Bəli", - cancelText: "Ləğv et" - }, - Transfer: { - titles: ["", ""], - notFoundContent: "Tapılmadı", - searchPlaceholder: "Burada axtar", - itemUnit: "item", - itemsUnit: "items" - }, - Select: { - notFoundContent: "Tapılmadı" - }, - Upload: { - uploading: "Yüklənir...", - removeFile: "Faylı sil", - uploadError: "Yükləmə xətası", - previewFile: "Fayla önbaxış" - } -}; -var bg_BG = { - locale: "bg", - Pagination: { - items_per_page: "/ страница", - jump_to: "Към", - jump_to_confirm: "потвърждавам", - page: "", - prev_page: "Предишна страница", - next_page: "Следваща страница", - prev_5: "Предишни 5 страници", - next_5: "Следващи 5 страници", - prev_3: "Предишни 3 страници", - next_3: "Следващи 3 страници", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Избор на дата", - rangePlaceholder: ["Начална", "Крайна"], - locale: "bg_BG", - today: "Днес", - now: "Сега", - backToToday: "Към днес", - ok: "Добре", - clear: "Изчистване", - month: "Месец", - year: "Година", - timeSelect: "Избор на час", - dateSelect: "Избор на дата", - monthSelect: "Избор на месец", - yearSelect: "Избор на година", - decadeSelect: "Десетилетие", - yearFormat: "YYYY", - dateFormat: "D M YYYY", - dayFormat: "D", - dateTimeFormat: "D M YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Предишен месец (PageUp)", - nextMonth: "Следващ месец (PageDown)", - previousYear: "Последна година (Control + left)", - nextYear: "Следваща година (Control + right)", - previousDecade: "Предишно десетилетие", - nextDecade: "Следващо десетилетие", - previousCentury: "Последен век", - nextCentury: "Следващ век" - }, - timePickerLocale: { - placeholder: "Избор на час" - } - }, - TimePicker: { - placeholder: "Избор на час" - }, - Calendar: { - lang: { - placeholder: "Избор на дата", - rangePlaceholder: ["Начална", "Крайна"], - locale: "bg_BG", - today: "Днес", - now: "Сега", - backToToday: "Към днес", - ok: "Добре", - clear: "Изчистване", - month: "Месец", - year: "Година", - timeSelect: "Избор на час", - dateSelect: "Избор на дата", - monthSelect: "Избор на месец", - yearSelect: "Избор на година", - decadeSelect: "Десетилетие", - yearFormat: "YYYY", - dateFormat: "D M YYYY", - dayFormat: "D", - dateTimeFormat: "D M YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Предишен месец (PageUp)", - nextMonth: "Следващ месец (PageDown)", - previousYear: "Последна година (Control + left)", - nextYear: "Следваща година (Control + right)", - previousDecade: "Предишно десетилетие", - nextDecade: "Следващо десетилетие", - previousCentury: "Последен век", - nextCentury: "Следващ век" - }, - timePickerLocale: { - placeholder: "Избор на час" - } - }, - Table: { - filterTitle: "Филтриране", - filterConfirm: "Добре", - filterReset: "Нулриане", - selectAll: "Избор на текуща страница", - selectInvert: "Обръщане" - }, - Modal: { - okText: "Добре", - cancelText: "Отказ", - justOkText: "Добре" - }, - Popconfirm: { - okText: "Добре", - cancelText: "Отказ" - }, - Transfer: { - searchPlaceholder: "Търсене", - itemUnit: "избор", - itemsUnit: "избори" - }, - Upload: { - uploading: "Качване...", - removeFile: "Премахване", - uploadError: "Грешка при качването", - previewFile: "Преглед", - downloadFile: "Свали файл" - }, - Empty: { - description: "Няма данни" - } -}; -var bn_BD = { - locale: "bn-bd", - Pagination: { - items_per_page: "/ পৃষ্ঠা", - jump_to: "যাও", - jump_to_confirm: "নিশ্চিত", - page: "পৃষ্ঠা", - prev_page: "আগের পৃষ্ঠা", - next_page: "পরের পৃষ্ঠা", - prev_5: "পূর্ববর্তী ৫ পৃষ্ঠা", - next_5: "পরবর্তী ৫ পৃষ্ঠা", - prev_3: "পূর্ববর্তী ৩ পৃষ্ঠা", - next_3: "পরবর্তী ৩ পৃষ্ঠা", - page_size: "পাতার আকার" - }, - DatePicker: { - lang: { - placeholder: "তারিখ নির্বাচন", - yearPlaceholder: "বছর নির্বাচন", - quarterPlaceholder: "কোয়ার্টার নির্বাচন", - monthPlaceholder: "মাস নির্বাচন", - weekPlaceholder: "সপ্তাহ নির্বাচন", - rangePlaceholder: ["শুরুর তারিখ", "শেষ তারিখ"], - rangeYearPlaceholder: ["শুরুর বছর", "শেষ বছর"], - rangeMonthPlaceholder: ["শুরুর মাস", "শেষ মাস"], - rangeWeekPlaceholder: ["শুরুর সপ্তাহ", "শেষ সপ্তাহ"], - locale: "bn_BD", - today: "আজ", - now: "এখন", - backToToday: "আজকে ফিরে চলুন", - ok: "ওকে", - clear: "পরিস্কার", - month: "মাস", - year: "বছর", - timeSelect: "সময় নির্বাচন", - dateSelect: "তারিখ নির্বাচন", - weekSelect: "সপ্তাহ পছন্দ করুন", - monthSelect: "মাস পছন্দ করুন", - yearSelect: "বছর পছন্দ করুন", - decadeSelect: "একটি দশক পছন্দ করুন", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "গত মাস (PageUp)", - nextMonth: "আগামী মাস (PageDown)", - previousYear: "গত বছর (Control + left)", - nextYear: "আগামী বছর (Control + right)", - previousDecade: "গত দশক", - nextDecade: "পরের দশক", - previousCentury: "গত শতাব্দী", - nextCentury: "পরের শতাব্দী" - }, - timePickerLocale: { - placeholder: "সময় নির্বাচন", - rangePlaceholder: ["সময় শুরু", "শেষ সময়"] - } - }, - TimePicker: { - placeholder: "সময় নির্বাচন", - rangePlaceholder: ["সময় শুরু", "শেষ সময়"] - }, - Calendar: { - lang: { - placeholder: "তারিখ নির্বাচন", - yearPlaceholder: "বছর নির্বাচন", - quarterPlaceholder: "কোয়ার্টার নির্বাচন", - monthPlaceholder: "মাস নির্বাচন", - weekPlaceholder: "সপ্তাহ নির্বাচন", - rangePlaceholder: ["শুরুর তারিখ", "শেষ তারিখ"], - rangeYearPlaceholder: ["শুরুর বছর", "শেষ বছর"], - rangeMonthPlaceholder: ["শুরুর মাস", "শেষ মাস"], - rangeWeekPlaceholder: ["শুরুর সপ্তাহ", "শেষ সপ্তাহ"], - locale: "bn_BD", - today: "আজ", - now: "এখন", - backToToday: "আজকে ফিরে চলুন", - ok: "ওকে", - clear: "পরিস্কার", - month: "মাস", - year: "বছর", - timeSelect: "সময় নির্বাচন", - dateSelect: "তারিখ নির্বাচন", - weekSelect: "সপ্তাহ পছন্দ করুন", - monthSelect: "মাস পছন্দ করুন", - yearSelect: "বছর পছন্দ করুন", - decadeSelect: "একটি দশক পছন্দ করুন", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "গত মাস (PageUp)", - nextMonth: "আগামী মাস (PageDown)", - previousYear: "গত বছর (Control + left)", - nextYear: "আগামী বছর (Control + right)", - previousDecade: "গত দশক", - nextDecade: "পরের দশক", - previousCentury: "গত শতাব্দী", - nextCentury: "পরের শতাব্দী" - }, - timePickerLocale: { - placeholder: "সময় নির্বাচন", - rangePlaceholder: ["সময় শুরু", "শেষ সময়"] - } - }, - global: { - placeholder: "অনুগ্রহ করে নির্বাচন করুন" - }, - Table: { - filterTitle: "ফিল্টার মেনু", - filterConfirm: "ঠিক", - filterReset: "রিসেট", - filterEmptyText: "ফিল্টার নেই", - emptyText: "কোনও ডেটা নেই", - selectAll: "বর্তমান পৃষ্ঠা নির্বাচন করুন", - selectInvert: "বর্তমান পৃষ্ঠাটি উল্টে দিন", - selectNone: "সমস্ত ডেটা সাফ করুন", - selectionAll: "সমস্ত ডেটা নির্বাচন করুন", - sortTitle: "সাজান", - expand: "সারি প্রসারিত করুন", - collapse: "সারি সঙ্কুচিত করুন", - triggerDesc: "অবতরণকে সাজানোর জন্য ক্লিক করুন", - triggerAsc: "আরোহী বাছাই করতে ক্লিক করুন", - cancelSort: "বাছাই বাতিল করতে ক্লিক করুন" - }, - Modal: { - okText: "ঠিক", - cancelText: "বাতিল", - justOkText: "ঠিক" - }, - Popconfirm: { - okText: "ঠিক", - cancelText: "বাতিল" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "এখানে অনুসন্ধান", - itemUnit: "আইটেম", - itemsUnit: "আইটেমসমূহ", - remove: "অপসারণ", - selectCurrent: "বর্তমান পৃষ্ঠা নির্বাচন করুন", - removeCurrent: "বর্তমান পৃষ্ঠাটি সরান", - selectAll: "সমস্ত ডেটা নির্বাচন করুন", - removeAll: "সমস্ত ডেটা সরান", - selectInvert: "বর্তমান পৃষ্ঠাটি উল্টে দিন" - }, - Upload: { - uploading: "আপলোড হচ্ছে ...", - removeFile: "ফাইল সরান", - uploadError: "আপলোডে সমস্যা", - previewFile: "ফাইলের পূর্বরূপ", - downloadFile: "ফাইল ডাউনলোড" - }, - Empty: { - description: "কোনও ডেটা নেই" - }, - Icon: { - icon: "আইকন" - }, - Text: { - edit: "সম্পাদনা", - copy: "অনুলিপি", - copied: "অনুলিপি হয়েছে", - expand: "বিস্তৃত করা" - }, - PageHeader: { - back: "পেছনে" - }, - Image: { - preview: "পূর্বরূপ" - } -}; -var by_BY = { - locale: "by", - Pagination: { - items_per_page: "/старонка", - jump_to: "Перайсці", - jump_to_confirm: "Пацвердзіць", - page: "", - prev_page: "Назад", - next_page: "Наперад", - prev_5: "Папярэднія 5", - next_5: "Наступныя 5", - prev_3: "Папярэднія 3", - next_3: "Наступныя 3", - page_size: "памер старонкі" - }, - DatePicker: { - lang: { - placeholder: "Выберыце дату", - yearPlaceholder: "Выберыце год", - quarterPlaceholder: "Выберыце квартал", - monthPlaceholder: "Выберыце месяц", - weekPlaceholder: "Выберыце тыдзень", - rangePlaceholder: ["Пачатковая дата", "Канчатковая дата"], - rangeYearPlaceholder: ["Пачатковы год", "Год заканчэння"], - rangeMonthPlaceholder: ["Пачатковы месяц", "Канчатковы месяц"], - rangeWeekPlaceholder: ["Пачатковы тыдзень", "Канчатковы тыдзень"], - locale: "by_BY", - today: "Сёння", - now: "Зараз", - backToToday: "Дадзеная дата", - ok: "Ok", - clear: "Ачысціць", - month: "Месяц", - year: "Год", - timeSelect: "Выбраць час", - dateSelect: "Выбраць дату", - weekSelect: "Выбраць тыдзень", - monthSelect: "Выбраць месяц", - yearSelect: "Выбраць год", - decadeSelect: "Выбраць дзесяцігоддзе", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Папярэдні месяц (PageUp)", - nextMonth: "Наступны месяц (PageDown)", - previousYear: "Папярэдні год (Control + left)", - nextYear: "Наступны год (Control + right)", - previousDecade: "Папярэдняе дзесяцігоддзе", - nextDecade: "Наступнае дзесяцігоддзе", - previousCentury: "Папярэдні век", - nextCentury: "Наступны век" - }, - timePickerLocale: { - placeholder: "Выберыце час", - rangePlaceholder: ["Час пачатку", "Час заканчэння"] - } - }, - TimePicker: { - placeholder: "Выберыце час", - rangePlaceholder: ["Час пачатку", "Час заканчэння"] - }, - Calendar: { - lang: { - placeholder: "Выберыце дату", - yearPlaceholder: "Выберыце год", - quarterPlaceholder: "Выберыце квартал", - monthPlaceholder: "Выберыце месяц", - weekPlaceholder: "Выберыце тыдзень", - rangePlaceholder: ["Пачатковая дата", "Канчатковая дата"], - rangeYearPlaceholder: ["Пачатковы год", "Год заканчэння"], - rangeMonthPlaceholder: ["Пачатковы месяц", "Канчатковы месяц"], - rangeWeekPlaceholder: ["Пачатковы тыдзень", "Канчатковы тыдзень"], - locale: "by_BY", - today: "Сёння", - now: "Зараз", - backToToday: "Дадзеная дата", - ok: "Ok", - clear: "Ачысціць", - month: "Месяц", - year: "Год", - timeSelect: "Выбраць час", - dateSelect: "Выбраць дату", - weekSelect: "Выбраць тыдзень", - monthSelect: "Выбраць месяц", - yearSelect: "Выбраць год", - decadeSelect: "Выбраць дзесяцігоддзе", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Папярэдні месяц (PageUp)", - nextMonth: "Наступны месяц (PageDown)", - previousYear: "Папярэдні год (Control + left)", - nextYear: "Наступны год (Control + right)", - previousDecade: "Папярэдняе дзесяцігоддзе", - nextDecade: "Наступнае дзесяцігоддзе", - previousCentury: "Папярэдні век", - nextCentury: "Наступны век" - }, - timePickerLocale: { - placeholder: "Выберыце час", - rangePlaceholder: ["Час пачатку", "Час заканчэння"] - } - }, - global: { - placeholder: "Калі ласка выберыце" - }, - Table: { - filterTitle: "Фільтр", - filterConfirm: "OK", - filterReset: "Скінуць", - filterEmptyText: "Без фільтраў", - emptyText: "Няма дадзеных", - selectAll: "Выбраць усе", - selectInvert: "Інвертаваць выбар", - selectionAll: "Выбраць усе дадзеныя", - sortTitle: "Сартаванне", - expand: "Разгарнуць радок", - collapse: "Згарнуць радок", - triggerDesc: "Націсніце для сартавання па змяншэнні", - triggerAsc: "Націсніце для сартавання па ўзросту", - cancelSort: "Націсніце, каб адмяніць сартаванне" - }, - Modal: { - okText: "OK", - cancelText: "Адмена", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Адмена" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Пошук", - itemUnit: "элем.", - itemsUnit: "элем.", - remove: "Выдаліць", - selectAll: "Выбраць усе дадзеныя", - selectCurrent: "Вылучыць дадзеную старонку", - selectInvert: "Паказаць у зваротным парадку", - removeAll: "Выдаліць усе дадзеныя", - removeCurrent: "Выдаліць дадзеную старонку" - }, - Upload: { - uploading: "Загрузка...", - removeFile: "Выдаліць файл", - uploadError: "Адбылася памылка пры загрузцы", - previewFile: "Прадпрагляд файла", - downloadFile: "Загрузіць файл" - }, - Empty: { - description: "Няма дадзеных" - }, - Icon: { - icon: "Іконка" - }, - Text: { - edit: "Рэдагаваць", - copy: "Капіяваць", - copied: "Капіяванне завершана", - expand: "Разгарнуць" - }, - PageHeader: { - back: "Назад" - } -}; -var ca_ES = { - locale: "ca", - Pagination: { - items_per_page: "/ pàgina", - jump_to: "Anar a", - jump_to_confirm: "Confirma", - page: "", - prev_page: "Pàgina prèvia", - next_page: "Pàgina següent", - prev_5: "5 pàgines prèvies", - next_5: "5 pàgines següents", - prev_3: "3 pàgines prèvies", - next_3: "3 pàgines següents", - page_size: "mida de la pàgina" - }, - DatePicker: { - lang: { - placeholder: "Seleccionar data", - rangePlaceholder: ["Data inicial", "Data final"], - locale: "ca_ES", - today: "Avui", - now: "Ara", - backToToday: "Tornar a avui", - ok: "Acceptar", - clear: "Netejar", - month: "Mes", - year: "Any", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar data", - monthSelect: "Escollir un mes", - yearSelect: "Escollir un any", - decadeSelect: "Escollir una dècada", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (PageUp)", - nextMonth: "Mes següent (PageDown)", - previousYear: "Any anterior (Control + left)", - nextYear: "Mes següent (Control + right)", - previousDecade: "Dècada anterior", - nextDecade: "Dècada següent", - previousCentury: "Segle anterior", - nextCentury: "Segle següent" - }, - timePickerLocale: { - placeholder: "Seleccionar hora" - } - }, - TimePicker: { - placeholder: "Seleccionar hora" - }, - Calendar: { - lang: { - placeholder: "Seleccionar data", - rangePlaceholder: ["Data inicial", "Data final"], - locale: "ca_ES", - today: "Avui", - now: "Ara", - backToToday: "Tornar a avui", - ok: "Acceptar", - clear: "Netejar", - month: "Mes", - year: "Any", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar data", - monthSelect: "Escollir un mes", - yearSelect: "Escollir un any", - decadeSelect: "Escollir una dècada", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (PageUp)", - nextMonth: "Mes següent (PageDown)", - previousYear: "Any anterior (Control + left)", - nextYear: "Mes següent (Control + right)", - previousDecade: "Dècada anterior", - nextDecade: "Dècada següent", - previousCentury: "Segle anterior", - nextCentury: "Segle següent" - }, - timePickerLocale: { - placeholder: "Seleccionar hora" - } - }, - global: { - placeholder: "Seleccionar" - }, - Table: { - filterTitle: "Filtrar el menú", - filterConfirm: "D’acord", - filterReset: "Reiniciar", - filterEmptyText: "Sense filtres", - selectAll: "Seleccionar la pàgina actual", - selectInvert: "Invertir la selecció", - selectionAll: "Seleccionar-ho tot", - sortTitle: "Ordenar", - expand: "Ampliar la fila", - collapse: "Plegar la fila", - triggerDesc: "Ordre descendent", - triggerAsc: "Ordre ascendent", - cancelSort: "Desactivar l’ordre" - }, - Modal: { - okText: "D’acord", - cancelText: "Cancel·lar", - justOkText: "D’acord" - }, - Popconfirm: { - okText: "D’acord", - cancelText: "Cancel·lar" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Cercar", - itemUnit: "ítem", - itemsUnit: "ítems", - remove: "Eliminar", - selectCurrent: "Seleccionar la pàgina actual", - removeCurrent: "Eliminar la selecció", - selectAll: "Seleccionar-ho tot", - removeAll: "Eliminar-ho tot", - selectInvert: "Invertir la selecció" - }, - Upload: { - uploading: "Carregant…", - removeFile: "Eliminar el fitxer", - uploadError: "Error de càrrega", - previewFile: "Vista prèvia del fitxer", - downloadFile: "Baixar el fitxer" - }, - Empty: { - description: "Sense dades" - }, - Icon: { - icon: "icona" - }, - Text: { - edit: "Editar", - copy: "Copiar", - copied: "Copiat", - expand: "Ampliar" - }, - PageHeader: { - back: "Enrere" - } -}; -var cs_CZ = { - locale: "cs", - Pagination: { - items_per_page: "/ strana", - jump_to: "Přejít", - jump_to_confirm: "potvrdit", - page: "", - prev_page: "Předchozí strana", - next_page: "Následující strana", - prev_5: "Předchozích 5 stran", - next_5: "Následujících 5 stran", - prev_3: "Předchozí 3 strany", - next_3: "Následující 3 strany", - page_size: "velikost stránky" - }, - DatePicker: { - lang: { - placeholder: "Vybrat datum", - rangePlaceholder: ["Od", "Do"], - locale: "cs_CZ", - today: "Dnes", - now: "Nyní", - backToToday: "Zpět na dnešek", - ok: "Ok", - clear: "Vymazat", - month: "Měsíc", - year: "Rok", - timeSelect: "Vybrat čas", - dateSelect: "Vybrat datum", - monthSelect: "Vyberte měsíc", - yearSelect: "Vyberte rok", - decadeSelect: "Vyberte dekádu", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Předchozí měsíc (PageUp)", - nextMonth: "Následující (PageDown)", - previousYear: "Předchozí rok (Control + left)", - nextYear: "Následující rok (Control + right)", - previousDecade: "Předchozí dekáda", - nextDecade: "Následující dekáda", - previousCentury: "Předchozí století", - nextCentury: "Následující století" - }, - timePickerLocale: { - placeholder: "Vybrat čas" - } - }, - TimePicker: { - placeholder: "Vybrat čas" - }, - Calendar: { - lang: { - placeholder: "Vybrat datum", - rangePlaceholder: ["Od", "Do"], - locale: "cs_CZ", - today: "Dnes", - now: "Nyní", - backToToday: "Zpět na dnešek", - ok: "Ok", - clear: "Vymazat", - month: "Měsíc", - year: "Rok", - timeSelect: "Vybrat čas", - dateSelect: "Vybrat datum", - monthSelect: "Vyberte měsíc", - yearSelect: "Vyberte rok", - decadeSelect: "Vyberte dekádu", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Předchozí měsíc (PageUp)", - nextMonth: "Následující (PageDown)", - previousYear: "Předchozí rok (Control + left)", - nextYear: "Následující rok (Control + right)", - previousDecade: "Předchozí dekáda", - nextDecade: "Následující dekáda", - previousCentury: "Předchozí století", - nextCentury: "Následující století" - }, - timePickerLocale: { - placeholder: "Vybrat čas" - } - }, - global: { - placeholder: "Prosím vyber" - }, - Table: { - filterTitle: "Filtr", - filterConfirm: "Potvrdit", - filterReset: "Obnovit", - filterEmptyText: "Žádné filtry", - selectAll: "Vybrat všechny řádky na současné stránce", - selectInvert: "Invertovat výběr na současné stránce", - selectionAll: "Vybrat všechny řádky", - sortTitle: "Řadit", - expand: "Rozbalit řádek", - collapse: "Zabalit řádek", - triggerDesc: "Klikni pro sestupné řazení", - triggerAsc: "Klikni pro vzestupné řazení", - cancelSort: "Klikni pro zrušení řazení" - }, - Modal: { - okText: "OK", - cancelText: "Storno", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Storno" - }, - Transfer: { - searchPlaceholder: "Vyhledávání", - itemUnit: "položka", - itemsUnit: "položek" - }, - Upload: { - uploading: "Nahrávání...", - removeFile: "Odstranit soubor", - uploadError: "Chyba při nahrávání", - previewFile: "Zobrazit soubor", - downloadFile: "Stáhnout soubor" - }, - Empty: { - description: "Žádná data" - } -}; -var da_DK = { - locale: "da", - DatePicker: { - lang: { - placeholder: "Vælg dato", - rangePlaceholder: ["Startdato", "Slutdato"], - locale: "da_DK", - today: "I dag", - now: "Nu", - backToToday: "Gå til i dag", - ok: "Ok", - clear: "Ryd", - month: "Måned", - year: "År", - timeSelect: "Vælg tidspunkt", - dateSelect: "Vælg dato", - monthSelect: "Vælg måned", - yearSelect: "Vælg år", - decadeSelect: "Vælg årti", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Forrige måned (Page Up)", - nextMonth: "Næste måned (Page Down)", - previousYear: "Forrige år (Ctrl-venstre pil)", - nextYear: "Næste år (Ctrl-højre pil)", - previousDecade: "Forrige årti", - nextDecade: "Næste årti", - previousCentury: "Forrige århundrede", - nextCentury: "Næste århundrede" - }, - timePickerLocale: { - placeholder: "Vælg tid", - rangePlaceholder: ["Starttidspunkt", "Sluttidspunkt"] - } - }, - TimePicker: { - placeholder: "Vælg tid", - rangePlaceholder: ["Starttidspunkt", "Sluttidspunkt"] - }, - Calendar: { - lang: { - placeholder: "Vælg dato", - rangePlaceholder: ["Startdato", "Slutdato"], - locale: "da_DK", - today: "I dag", - now: "Nu", - backToToday: "Gå til i dag", - ok: "Ok", - clear: "Ryd", - month: "Måned", - year: "År", - timeSelect: "Vælg tidspunkt", - dateSelect: "Vælg dato", - monthSelect: "Vælg måned", - yearSelect: "Vælg år", - decadeSelect: "Vælg årti", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Forrige måned (Page Up)", - nextMonth: "Næste måned (Page Down)", - previousYear: "Forrige år (Ctrl-venstre pil)", - nextYear: "Næste år (Ctrl-højre pil)", - previousDecade: "Forrige årti", - nextDecade: "Næste årti", - previousCentury: "Forrige århundrede", - nextCentury: "Næste århundrede" - }, - timePickerLocale: { - placeholder: "Vælg tid", - rangePlaceholder: ["Starttidspunkt", "Sluttidspunkt"] - } - }, - Pagination: { - items_per_page: "/ side", - jump_to: "Gå til", - jump_to_confirm: "bekræft", - page: "Side", - prev_page: "Forrige Side", - next_page: "Næste Side", - prev_5: "Forrige 5 Sider", - next_5: "Næste 5 Sider", - prev_3: "Forrige 3 Sider", - next_3: "Næste 3 Sider", - page_size: "sidestørrelse" - }, - Table: { - filterTitle: "Filtermenu", - filterConfirm: "OK", - filterReset: "Nulstil", - selectAll: "Vælg alle", - selectInvert: "Invertér valg", - filterEmptyText: "Ingen filtre", - emptyText: "Ingen data", - selectNone: "Ryd alt data", - selectionAll: "Vælg alt data", - sortTitle: "Sortér", - expand: "Udvid række", - collapse: "Flet række", - triggerDesc: "Klik for at sortere faldende", - triggerAsc: "Klik for at sortere stigende", - cancelSort: "Klik for at annullere sortering" - }, - Modal: { - okText: "OK", - cancelText: "Afbryd", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Afbryd" - }, - Transfer: { - searchPlaceholder: "Søg her", - itemUnit: "element", - itemsUnit: "elementer" - }, - Upload: { - uploading: "Uploader...", - removeFile: "Fjern fil", - uploadError: "Fejl ved upload", - previewFile: "Forhåndsvisning", - downloadFile: "Download fil" - }, - Empty: { - description: "Ingen data" - } -}; -var de_DE = { - locale: "de", - Pagination: { - items_per_page: "/ Seite", - jump_to: "Gehe zu", - jump_to_confirm: "bestätigen", - page: "Seite", - prev_page: "Vorherige Seite", - next_page: "Nächste Seite", - prev_5: "5 Seiten zurück", - next_5: "5 Seiten vor", - prev_3: "3 Seiten zurück", - next_3: "3 Seiten vor", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Datum auswählen", - yearPlaceholder: "Jahr auswählen", - quarterPlaceholder: "Quartal auswählen", - monthPlaceholder: "Monat auswählen", - weekPlaceholder: "Woche auswählen", - rangePlaceholder: ["Startdatum", "Enddatum"], - rangeYearPlaceholder: ["Startjahr", "Endjahr"], - rangeMonthPlaceholder: ["Startmonat", "Endmonat"], - rangeWeekPlaceholder: ["Startwoche", "Endwoche"], - locale: "de_DE", - today: "Heute", - now: "Jetzt", - backToToday: "Zurück zu Heute", - ok: "OK", - clear: "Zurücksetzen", - month: "Monat", - year: "Jahr", - timeSelect: "Zeit wählen", - dateSelect: "Datum wählen", - weekSelect: "Woche wählen", - monthSelect: "Wähle einen Monat", - yearSelect: "Wähle ein Jahr", - decadeSelect: "Wähle ein Jahrzehnt", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorheriger Monat (PageUp)", - nextMonth: "Nächster Monat (PageDown)", - previousYear: "Vorheriges Jahr (Ctrl + left)", - nextYear: "Nächstes Jahr (Ctrl + right)", - previousDecade: "Vorheriges Jahrzehnt", - nextDecade: "Nächstes Jahrzehnt", - previousCentury: "Vorheriges Jahrhundert", - nextCentury: "Nächstes Jahrhundert" - }, - timePickerLocale: { - placeholder: "Zeit auswählen", - rangePlaceholder: ["Startzeit", "Endzeit"] - } - }, - TimePicker: { - placeholder: "Zeit auswählen" - }, - Calendar: { - lang: { - placeholder: "Datum auswählen", - yearPlaceholder: "Jahr auswählen", - quarterPlaceholder: "Quartal auswählen", - monthPlaceholder: "Monat auswählen", - weekPlaceholder: "Woche auswählen", - rangePlaceholder: ["Startdatum", "Enddatum"], - rangeYearPlaceholder: ["Startjahr", "Endjahr"], - rangeMonthPlaceholder: ["Startmonat", "Endmonat"], - rangeWeekPlaceholder: ["Startwoche", "Endwoche"], - locale: "de_DE", - today: "Heute", - now: "Jetzt", - backToToday: "Zurück zu Heute", - ok: "OK", - clear: "Zurücksetzen", - month: "Monat", - year: "Jahr", - timeSelect: "Zeit wählen", - dateSelect: "Datum wählen", - weekSelect: "Woche wählen", - monthSelect: "Wähle einen Monat", - yearSelect: "Wähle ein Jahr", - decadeSelect: "Wähle ein Jahrzehnt", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorheriger Monat (PageUp)", - nextMonth: "Nächster Monat (PageDown)", - previousYear: "Vorheriges Jahr (Ctrl + left)", - nextYear: "Nächstes Jahr (Ctrl + right)", - previousDecade: "Vorheriges Jahrzehnt", - nextDecade: "Nächstes Jahrzehnt", - previousCentury: "Vorheriges Jahrhundert", - nextCentury: "Nächstes Jahrhundert" - }, - timePickerLocale: { - placeholder: "Zeit auswählen", - rangePlaceholder: ["Startzeit", "Endzeit"] - } - }, - global: { - placeholder: "Bitte auswählen" - }, - Table: { - filterTitle: "Filter-Menü", - filterConfirm: "OK", - filterReset: "Zurücksetzen", - filterEmptyText: "Keine Filter", - emptyText: "Keine Daten", - selectAll: "Selektiere Alle", - selectInvert: "Selektion Invertieren", - selectionAll: "Wählen Sie alle Daten aus", - sortTitle: "Sortieren", - expand: "Zeile erweitern", - collapse: "Zeile reduzieren", - triggerDesc: "Klicken zur absteigenden Sortierung", - triggerAsc: "Klicken zur aufsteigenden Sortierung", - cancelSort: "Klicken zum Abbrechen der Sortierung" - }, - Modal: { - okText: "OK", - cancelText: "Abbrechen", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Abbrechen" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Suchen", - itemUnit: "Eintrag", - itemsUnit: "Einträge", - remove: "Entfernen", - selectCurrent: "Alle auf aktueller Seite auswählen", - removeCurrent: "Auswahl auf aktueller Seite aufheben", - selectAll: "Alle auswählen", - removeAll: "Auswahl aufheben", - selectInvert: "Auswahl umkehren" - }, - Upload: { - uploading: "Hochladen...", - removeFile: "Datei entfernen", - uploadError: "Fehler beim Hochladen", - previewFile: "Dateivorschau", - downloadFile: "Download-Datei" - }, - Empty: { - description: "Keine Daten" - }, - Text: { - edit: "Bearbeiten", - copy: "Kopieren", - copied: "Kopiert", - expand: "Erweitern" - }, - PageHeader: { - back: "Zurück" - }, - Image: { - preview: "Vorschau" - } -}; -var el_GR = { - locale: "el", - Pagination: { - items_per_page: "/ σελίδα", - jump_to: "Μετάβαση", - jump_to_confirm: "επιβεβαιώνω", - page: "", - prev_page: "Προηγούμενη Σελίδα", - next_page: "Επόμενη Σελίδα", - prev_5: "Προηγούμενες 5 Σελίδες", - next_5: "Επόμενες 5 σελίδες", - prev_3: "Προηγούμενες 3 Σελίδες", - next_3: "Επόμενες 3 Σελίδες", - page_size: "Μέγεθος σελίδας" - }, - DatePicker: { - lang: { - placeholder: "Επιλέξτε ημερομηνία", - rangePlaceholder: ["Αρχική ημερομηνία", "Τελική ημερομηνία"], - locale: "el_GR", - today: "Σήμερα", - now: "Τώρα", - backToToday: "Πίσω στη σημερινή μέρα", - ok: "Ok", - clear: "Καθαρισμός", - month: "Μήνας", - year: "Έτος", - timeSelect: "Επιλογή ώρας", - dateSelect: "Επιλογή ημερομηνίας", - monthSelect: "Επιλογή μήνα", - yearSelect: "Επιλογή έτους", - decadeSelect: "Επιλογή δεκαετίας", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Προηγούμενος μήνας (PageUp)", - nextMonth: "Επόμενος μήνας (PageDown)", - previousYear: "Προηγούμενο έτος (Control + αριστερά)", - nextYear: "Επόμενο έτος (Control + δεξιά)", - previousDecade: "Προηγούμενη δεκαετία", - nextDecade: "Επόμενη δεκαετία", - previousCentury: "Προηγούμενος αιώνας", - nextCentury: "Επόμενος αιώνας" - }, - timePickerLocale: { - placeholder: "Επιλέξτε ώρα" - } - }, - TimePicker: { - placeholder: "Επιλέξτε ώρα" - }, - Calendar: { - lang: { - placeholder: "Επιλέξτε ημερομηνία", - rangePlaceholder: ["Αρχική ημερομηνία", "Τελική ημερομηνία"], - locale: "el_GR", - today: "Σήμερα", - now: "Τώρα", - backToToday: "Πίσω στη σημερινή μέρα", - ok: "Ok", - clear: "Καθαρισμός", - month: "Μήνας", - year: "Έτος", - timeSelect: "Επιλογή ώρας", - dateSelect: "Επιλογή ημερομηνίας", - monthSelect: "Επιλογή μήνα", - yearSelect: "Επιλογή έτους", - decadeSelect: "Επιλογή δεκαετίας", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Προηγούμενος μήνας (PageUp)", - nextMonth: "Επόμενος μήνας (PageDown)", - previousYear: "Προηγούμενο έτος (Control + αριστερά)", - nextYear: "Επόμενο έτος (Control + δεξιά)", - previousDecade: "Προηγούμενη δεκαετία", - nextDecade: "Επόμενη δεκαετία", - previousCentury: "Προηγούμενος αιώνας", - nextCentury: "Επόμενος αιώνας" - }, - timePickerLocale: { - placeholder: "Επιλέξτε ώρα" - } - }, - Table: { - filterTitle: "Μενού φίλτρων", - filterConfirm: "ΟΚ", - filterReset: "Επαναφορά", - selectAll: "Επιλογή τρέχουσας σελίδας", - selectInvert: "Αντιστροφή τρέχουσας σελίδας" - }, - Modal: { - okText: "ΟΚ", - cancelText: "Άκυρο", - justOkText: "ΟΚ" - }, - Popconfirm: { - okText: "ΟΚ", - cancelText: "Άκυρο" - }, - Transfer: { - searchPlaceholder: "Αναζήτηση", - itemUnit: "αντικείμενο", - itemsUnit: "αντικείμενα" - }, - Upload: { - uploading: "Μεταφόρτωση...", - removeFile: "Αφαίρεση αρχείου", - uploadError: "Σφάλμα μεταφόρτωσης", - previewFile: "Προεπισκόπηση αρχείου", - downloadFile: "Λήψη αρχείου" - }, - Empty: { - description: "Δεν υπάρχουν δεδομένα" - } -}; -var en_GB = { - locale: "en-gb", - Pagination: { - items_per_page: "/ page", - jump_to: "Go to", - jump_to_confirm: "confirm", - page: "Page", - prev_page: "Previous Page", - next_page: "Next Page", - prev_5: "Previous 5 Pages", - next_5: "Next 5 Pages", - prev_3: "Previous 3 Pages", - next_3: "Next 3 Pages", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_GB", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "Select time", - dateSelect: "Select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - TimePicker: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - }, - Calendar: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_GB", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "Select time", - dateSelect: "Select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - global: { - placeholder: "Please select" - }, - Table: { - filterTitle: "Filter menu", - filterConfirm: "OK", - filterReset: "Reset", - filterEmptyText: "No filters", - emptyText: "No data", - selectAll: "Select current page", - selectInvert: "Invert current page", - selectionAll: "Select all data", - sortTitle: "Sort", - expand: "Expand row", - collapse: "Collapse row", - triggerDesc: "Click to sort descending", - triggerAsc: "Click to sort ascending", - cancelSort: "Click to cancel sorting", - selectNone: "Clear all data" - }, - Modal: { - okText: "OK", - cancelText: "Cancel", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Cancel" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Search here", - itemUnit: "item", - itemsUnit: "items", - remove: "Remove", - selectCurrent: "Select current page", - removeCurrent: "Remove current page", - selectAll: "Select all data", - removeAll: "Remove all data", - selectInvert: "Invert current page" - }, - Upload: { - uploading: "Uploading...", - removeFile: "Remove file", - uploadError: "Upload error", - previewFile: "Preview file", - downloadFile: "Download file" - }, - Empty: { - description: "No data" - }, - Icon: { - icon: "icon" - }, - Text: { - edit: "Edit", - copy: "Copy", - copied: "Copied", - expand: "Expand" - }, - PageHeader: { - back: "Back" - } -}; -var es_ES = { - locale: "es", - Pagination: { - items_per_page: "/ página", - jump_to: "Ir a", - jump_to_confirm: "confirmar", - page: "Página", - prev_page: "Página anterior", - next_page: "Página siguiente", - prev_5: "5 páginas previas", - next_5: "5 páginas siguientes", - prev_3: "3 páginas previas", - next_3: "3 páginas siguientes", - page_size: "tamaño de página" - }, - DatePicker: { - lang: { - placeholder: "Seleccionar fecha", - yearPlaceholder: "Seleccionar año", - quarterPlaceholder: "Seleccionar trimestre", - monthPlaceholder: "Seleccionar mes", - weekPlaceholder: "Seleccionar semana", - rangePlaceholder: ["Fecha inicial", "Fecha final"], - rangeYearPlaceholder: ["Año inicial", "Año final"], - rangeMonthPlaceholder: ["Mes inicial", "Mes final"], - rangeWeekPlaceholder: ["Semana inicial", "Semana final"], - locale: "es_ES", - today: "Hoy", - now: "Ahora", - backToToday: "Volver a hoy", - ok: "Aceptar", - clear: "Limpiar", - month: "Mes", - year: "Año", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar fecha", - weekSelect: "Elegir una semana", - monthSelect: "Elegir un mes", - yearSelect: "Elegir un año", - decadeSelect: "Elegir una década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (PageUp)", - nextMonth: "Mes siguiente (PageDown)", - previousYear: "Año anterior (Control + left)", - nextYear: "Año siguiente (Control + right)", - previousDecade: "Década anterior", - nextDecade: "Década siguiente", - previousCentury: "Siglo anterior", - nextCentury: "Siglo siguiente" - }, - timePickerLocale: { - placeholder: "Seleccionar hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - } - }, - TimePicker: { - placeholder: "Seleccionar hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - }, - Calendar: { - lang: { - placeholder: "Seleccionar fecha", - yearPlaceholder: "Seleccionar año", - quarterPlaceholder: "Seleccionar trimestre", - monthPlaceholder: "Seleccionar mes", - weekPlaceholder: "Seleccionar semana", - rangePlaceholder: ["Fecha inicial", "Fecha final"], - rangeYearPlaceholder: ["Año inicial", "Año final"], - rangeMonthPlaceholder: ["Mes inicial", "Mes final"], - rangeWeekPlaceholder: ["Semana inicial", "Semana final"], - locale: "es_ES", - today: "Hoy", - now: "Ahora", - backToToday: "Volver a hoy", - ok: "Aceptar", - clear: "Limpiar", - month: "Mes", - year: "Año", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar fecha", - weekSelect: "Elegir una semana", - monthSelect: "Elegir un mes", - yearSelect: "Elegir un año", - decadeSelect: "Elegir una década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (AvPág)", - nextMonth: "Mes siguiente (RePág)", - previousYear: "Año anterior (Control + izquierda)", - nextYear: "Año siguiente (Control + derecha)", - previousDecade: "Década anterior", - nextDecade: "Década siguiente", - previousCentury: "Siglo anterior", - nextCentury: "Siglo siguiente" - }, - timePickerLocale: { - placeholder: "Seleccionar hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - } - }, - global: { - placeholder: "Seleccione" - }, - Table: { - filterTitle: "Filtrar menú", - filterConfirm: "Aceptar", - filterReset: "Reiniciar", - filterEmptyText: "Sin filtros", - emptyText: "Sin datos", - selectAll: "Seleccionar todo", - selectInvert: "Invertir selección", - selectionAll: "Seleccionar todos los datos", - sortTitle: "Ordenar", - expand: "Expandir fila", - collapse: "Colapsar fila", - triggerDesc: "Click para ordenar descendentemente", - triggerAsc: "Click para ordenar ascendentemenre", - cancelSort: "Click para cancelar ordenación", - filterCheckall: "Seleccionar todos los filtros", - filterSearchPlaceholder: "Buscar en filtros", - selectNone: "Vaciar todo" - }, - Modal: { - okText: "Aceptar", - cancelText: "Cancelar", - justOkText: "Aceptar" - }, - Popconfirm: { - okText: "Aceptar", - cancelText: "Cancelar" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Buscar aquí", - itemUnit: "elemento", - itemsUnit: "elementos", - remove: "Eliminar", - selectCurrent: "Seleccionar página actual", - removeCurrent: "Eliminar página actual", - selectAll: "Seleccionar todos los datos", - removeAll: "Eliminar todos los datos", - selectInvert: "Invertir página actual" - }, - Upload: { - uploading: "Subiendo...", - removeFile: "Eliminar archivo", - uploadError: "Error al subir el archivo", - previewFile: "Vista previa", - downloadFile: "Descargar archivo" - }, - Empty: { - description: "No hay datos" - }, - Icon: { - icon: "icono" - }, - Text: { - edit: "Editar", - copy: "Copiar", - copied: "Copiado", - expand: "Expandir" - }, - PageHeader: { - back: "Volver" - }, - Image: { - preview: "Previsualización" - } -}; -var et_EE = { - locale: "et", - Pagination: { - items_per_page: "/ leheküljel", - jump_to: "Hüppa", - jump_to_confirm: "Kinnitage", - page: "", - prev_page: "Eelmine leht", - next_page: "Järgmine leht", - prev_5: "Eelmised 5 lehekülge", - next_5: "Järgmised 5 lehekülge", - prev_3: "Eelmised 3 lehekülge", - next_3: "Järgmised 3 lehekülge", - page_size: "lehe suurus" - }, - DatePicker: { - lang: { - placeholder: "Vali kuupäev", - rangePlaceholder: ["Algus kuupäev", "Lõpu kuupäev"], - locale: "et_EE", - today: "Täna", - now: "Praegu", - backToToday: "Tagasi tänase juurde", - ok: "Ok", - clear: "Tühista", - month: "Kuu", - year: "Aasta", - timeSelect: "Vali aeg", - dateSelect: "Vali kuupäev", - monthSelect: "Vali kuu", - yearSelect: "Vali aasta", - decadeSelect: "Vali dekaad", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Eelmine kuu (PageUp)", - nextMonth: "Järgmine kuu (PageDown)", - previousYear: "Eelmine aasta (Control + left)", - nextYear: "Järgmine aasta (Control + right)", - previousDecade: "Eelmine dekaad", - nextDecade: "Järgmine dekaad", - previousCentury: "Eelmine sajand", - nextCentury: "Järgmine sajand" - }, - timePickerLocale: { - placeholder: "Vali aeg" - } - }, - TimePicker: { - placeholder: "Vali aeg" - }, - Calendar: { - lang: { - placeholder: "Vali kuupäev", - rangePlaceholder: ["Algus kuupäev", "Lõpu kuupäev"], - locale: "et_EE", - today: "Täna", - now: "Praegu", - backToToday: "Tagasi tänase juurde", - ok: "Ok", - clear: "Tühista", - month: "Kuu", - year: "Aasta", - timeSelect: "Vali aeg", - dateSelect: "Vali kuupäev", - monthSelect: "Vali kuu", - yearSelect: "Vali aasta", - decadeSelect: "Vali dekaad", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Eelmine kuu (PageUp)", - nextMonth: "Järgmine kuu (PageDown)", - previousYear: "Eelmine aasta (Control + left)", - nextYear: "Järgmine aasta (Control + right)", - previousDecade: "Eelmine dekaad", - nextDecade: "Järgmine dekaad", - previousCentury: "Eelmine sajand", - nextCentury: "Järgmine sajand" - }, - timePickerLocale: { - placeholder: "Vali aeg" - } - }, - Table: { - filterTitle: "Filtri menüü", - filterConfirm: "OK", - filterReset: "Nulli", - selectAll: "Vali kõik", - selectInvert: "Inverteeri valik", - filterEmptyText: "Filtreid pole", - filterCheckall: "Vali kõik", - filterSearchPlaceholder: "Otsi filtritest", - emptyText: "Andmed puuduvad", - selectNone: "Kustuta kõik andmed", - selectionAll: "Vali kõik andmed", - sortTitle: "Sorteeri", - expand: "Laienda rida", - collapse: "Ahenda rida", - triggerDesc: "Klõpsa kahanevalt sortimiseks", - triggerAsc: "Klõpsa kasvavalt sortimiseks", - cancelSort: "Klõpsa sortimise tühistamiseks" - }, - Modal: { - okText: "OK", - cancelText: "Tühista", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Tühista" - }, - Transfer: { - searchPlaceholder: "Otsi siit", - itemUnit: "kogus", - itemsUnit: "kogused", - titles: ["", ""], - remove: "Eemalda", - selectCurrent: "Vali praegune leht", - removeCurrent: "Eemalda praegune leht", - selectAll: "Vali kõik", - removeAll: "Eemalda kõik andmed", - selectInvert: "Inverteeri valik" - }, - Upload: { - uploading: "Üleslaadimine...", - removeFile: "Eemalda fail", - uploadError: "Üleslaadimise tõrge", - previewFile: "Faili eelvaade", - downloadFile: "Lae fail alla" - }, - Empty: { - description: "Andmed puuduvad" - }, - global: { - placeholder: "Palun vali" - }, - Icon: { - icon: "ikoon" - }, - Text: { - edit: "Muuda", - copy: "Kopeeri", - copied: "Kopeeritud", - expand: "Laienda" - }, - PageHeader: { - back: "Tagasi" - }, - Image: { - preview: "Eelvaade" - } -}; -var fa_IR = { - locale: "fa", - Pagination: { - items_per_page: "/ صفحه", - jump_to: "برو به", - jump_to_confirm: "تایید", - page: "", - prev_page: "صفحه قبلی", - next_page: "صفحه بعدی", - prev_5: "۵ صفحه قبلی", - next_5: "۵ صفحه بعدی", - prev_3: "۳ صفحه قبلی", - next_3: "۳ صفحه بعدی", - page_size: "اندازه صفحه" - }, - DatePicker: { - lang: { - placeholder: "انتخاب تاریخ", - yearPlaceholder: "انتخاب سال", - quarterPlaceholder: "انتخاب فصل", - monthPlaceholder: "انتخاب ماه", - weekPlaceholder: "انتخاب هفته", - rangePlaceholder: ["تاریخ شروع", "تاریخ پایان"], - rangeYearPlaceholder: ["سال شروع", "سال پایان"], - rangeMonthPlaceholder: ["ماه شروع", "ماه پایان"], - rangeWeekPlaceholder: ["هفته شروع", "هفته پایان"], - locale: "fa_IR", - today: "امروز", - now: "اکنون", - backToToday: "بازگشت به روز", - ok: "باشه", - clear: "پاک کردن", - month: "ماه", - year: "سال", - timeSelect: "انتخاب زمان", - dateSelect: "انتخاب تاریخ", - weekSelect: "یک هفته رو انتخاب کنید", - monthSelect: "یک ماه را انتخاب کنید", - yearSelect: "یک سال را انتخاب کنید", - decadeSelect: "یک دهه را انتخاب کنید", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "ماه قبل (PageUp)", - nextMonth: "ماه بعد (PageDown)", - previousYear: "سال قبل (Control + left)", - nextYear: "سال بعد (Control + right)", - previousDecade: "دهه قبل", - nextDecade: "دهه بعد", - previousCentury: "قرن قبل", - nextCentury: "قرن بعد" - }, - timePickerLocale: { - placeholder: "انتخاب زمان", - rangePlaceholder: ["زمان شروع", "زمان پایان"] - } - }, - TimePicker: { - placeholder: "انتخاب زمان", - rangePlaceholder: ["زمان شروع", "زمان پایان"] - }, - Calendar: { - lang: { - placeholder: "انتخاب تاریخ", - yearPlaceholder: "انتخاب سال", - quarterPlaceholder: "انتخاب فصل", - monthPlaceholder: "انتخاب ماه", - weekPlaceholder: "انتخاب هفته", - rangePlaceholder: ["تاریخ شروع", "تاریخ پایان"], - rangeYearPlaceholder: ["سال شروع", "سال پایان"], - rangeMonthPlaceholder: ["ماه شروع", "ماه پایان"], - rangeWeekPlaceholder: ["هفته شروع", "هفته پایان"], - locale: "fa_IR", - today: "امروز", - now: "اکنون", - backToToday: "بازگشت به روز", - ok: "باشه", - clear: "پاک کردن", - month: "ماه", - year: "سال", - timeSelect: "انتخاب زمان", - dateSelect: "انتخاب تاریخ", - weekSelect: "انتخاب هفته", - monthSelect: "یک ماه را انتخاب کنید", - yearSelect: "یک سال را انتخاب کنید", - decadeSelect: "یک دهه را انتخاب کنید", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "ماه قبل (PageUp)", - nextMonth: "ماه بعد (PageDown)", - previousYear: "سال قبل (Control + left)", - nextYear: "سال بعد (Control + right)", - previousDecade: "دهه قبل", - nextDecade: "دهه بعد", - previousCentury: "قرن قبل", - nextCentury: "قرن بعد" - }, - timePickerLocale: { - placeholder: "انتخاب زمان", - rangePlaceholder: ["زمان شروع", "زمان پایان"] - } - }, - global: { - placeholder: "لطفا انتخاب کنید" - }, - Table: { - filterTitle: "منوی فیلتر", - filterConfirm: "تایید", - filterReset: "پاک کردن", - filterEmptyText: "بدون فیلتر", - emptyText: "بدون داده", - selectAll: "انتخاب صفحه‌ی کنونی", - selectInvert: "معکوس کردن انتخاب‌ها در صفحه ی کنونی", - selectionAll: "انتخاب همه داده‌ها", - sortTitle: "مرتب سازی", - expand: "باز شدن ردیف", - collapse: "بستن ردیف", - triggerDesc: "ترتیب نزولی", - triggerAsc: "ترتیب صعودی", - cancelSort: "لغوِ ترتیبِ داده شده", - filterCheckall: "انتخاب همه موارد", - filterSearchPlaceholder: "جست‌و‌جو در فیلتر‌ها", - selectNone: "انتخاب هیچکدام" - }, - Modal: { - okText: "تایید", - cancelText: "لغو", - justOkText: "تایید" - }, - Popconfirm: { - okText: "تایید", - cancelText: "لغو" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "جستجو", - itemUnit: "عدد", - itemsUnit: "عدد", - remove: "حذف", - selectCurrent: "انتخاب صفحه فعلی", - removeCurrent: "پاک کردن انتخاب‌های صفحه فعلی", - selectAll: "انتخاب همه", - removeAll: "پاک کردن همه انتخاب‌ها", - selectInvert: "معکوس کردن انتخاب‌ها در صفحه ی کنونی" - }, - Upload: { - uploading: "در حال آپلود...", - removeFile: "حذف فایل", - uploadError: "خطا در آپلود", - previewFile: "مشاهده‌ی فایل", - downloadFile: "دریافت فایل" - }, - Empty: { - description: "داده‌ای موجود نیست" - }, - Icon: { - icon: "آیکن" - }, - Text: { - edit: "ویرایش", - copy: "کپی", - copied: "کپی شد", - expand: "توسعه" - }, - PageHeader: { - back: "برگشت" - }, - Image: { - preview: "نمایش" - }, - CronExpression: { - cronError: "Invalid cron expression", - second: "ثانیه", - minute: "دقیقه", - hour: "ساعت", - day: "روز", - month: "ماه", - week: "هفته" - }, - QRCode: { - expired: "کد QR منقضی شده است", - refresh: "تازه کردن" - } -}; -var fi_FI = { - locale: "fi", - Pagination: { - items_per_page: "/ sivu", - jump_to: "Mene", - jump_to_confirm: "Potvrdite", - page: "Sivu", - prev_page: "Edellinen sivu", - next_page: "Seuraava sivu", - prev_5: "Edelliset 5 sivua", - next_5: "Seuraavat 5 sivua", - prev_3: "Edelliset 3 sivua", - next_3: "Seuraavat 3 sivua", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Valitse päivä", - rangePlaceholder: ["Alkamispäivä", "Päättymispäivä"], - locale: "fi_FI", - today: "Tänään", - now: "Nyt", - backToToday: "Tämä päivä", - ok: "Ok", - clear: "Tyhjennä", - month: "Kuukausi", - year: "Vuosi", - timeSelect: "Valise aika", - dateSelect: "Valitse päivä", - monthSelect: "Valitse kuukausi", - yearSelect: "Valitse vuosi", - decadeSelect: "Valitse vuosikymmen", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Edellinen kuukausi (PageUp)", - nextMonth: "Seuraava kuukausi (PageDown)", - previousYear: "Edellinen vuosi (Control + left)", - nextYear: "Seuraava vuosi (Control + right)", - previousDecade: "Edellinen vuosikymmen", - nextDecade: "Seuraava vuosikymmen", - previousCentury: "Edellinen vuosisata", - nextCentury: "Seuraava vuosisata" - }, - timePickerLocale: { - placeholder: "Valitse aika" - } - }, - TimePicker: { - placeholder: "Valitse aika" - }, - Calendar: { - lang: { - placeholder: "Valitse päivä", - rangePlaceholder: ["Alkamispäivä", "Päättymispäivä"], - locale: "fi_FI", - today: "Tänään", - now: "Nyt", - backToToday: "Tämä päivä", - ok: "Ok", - clear: "Tyhjennä", - month: "Kuukausi", - year: "Vuosi", - timeSelect: "Valise aika", - dateSelect: "Valitse päivä", - monthSelect: "Valitse kuukausi", - yearSelect: "Valitse vuosi", - decadeSelect: "Valitse vuosikymmen", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Edellinen kuukausi (PageUp)", - nextMonth: "Seuraava kuukausi (PageDown)", - previousYear: "Edellinen vuosi (Control + left)", - nextYear: "Seuraava vuosi (Control + right)", - previousDecade: "Edellinen vuosikymmen", - nextDecade: "Seuraava vuosikymmen", - previousCentury: "Edellinen vuosisata", - nextCentury: "Seuraava vuosisata" - }, - timePickerLocale: { - placeholder: "Valitse aika" - } - }, - Table: { - filterTitle: "Suodatus valikko", - filterConfirm: "OK", - filterReset: "Tyhjennä", - selectAll: "Valitse kaikki", - selectInvert: "Valitse päinvastoin", - sortTitle: "Lajittele", - triggerDesc: "Lajittele laskevasti", - triggerAsc: "Lajittele nousevasti", - cancelSort: "Peruuta lajittelu" - }, - Modal: { - okText: "OK", - cancelText: "Peruuta", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Peruuta" - }, - Transfer: { - searchPlaceholder: "Etsi täältä", - itemUnit: "kohde", - itemsUnit: "kohdetta" - }, - Upload: { - uploading: "Lähetetään...", - removeFile: "Poista tiedosto", - uploadError: "Virhe lähetyksessä", - previewFile: "Esikatsele tiedostoa", - downloadFile: "Lataa tiedosto" - }, - Empty: { - description: "Ei kohteita" - }, - Text: { - edit: "Muokkaa", - copy: "Kopioi", - copied: "Kopioitu", - expand: "Näytä lisää" - } -}; -var fr_BE = { - locale: "fr", - Pagination: { - items_per_page: "/ page", - jump_to: "Aller à", - jump_to_confirm: "confirmer", - page: "Page", - prev_page: "Page précédente", - next_page: "Page suivante", - prev_5: "5 Pages précédentes", - next_5: "5 Pages suivantes", - prev_3: "3 Pages précédentes", - next_3: "3 Pages suivantes", - page_size: "taille de la page" - }, - DatePicker: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_BE", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - weekSelect: "Choisissez une semaine", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - TimePicker: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - }, - Calendar: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_BE", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - global: { - placeholder: "Sélectionner" - }, - Table: { - filterTitle: "Filtrer", - filterConfirm: "OK", - filterReset: "Réinitialiser", - selectAll: "Sélectionner la page actuelle", - selectInvert: "Inverser la sélection de la page actuelle", - selectionAll: "Sélectionner toutes les données", - sortTitle: "Trier", - expand: "Développer la ligne", - collapse: "Réduire la ligne", - triggerDesc: "Trier par ordre décroissant", - triggerAsc: "Trier par ordre croissant", - cancelSort: "Annuler le tri", - filterEmptyText: "Aucun filtre", - emptyText: "Aucune donnée", - selectNone: "Désélectionner toutes les données" - }, - Modal: { - okText: "OK", - cancelText: "Annuler", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annuler" - }, - Transfer: { - searchPlaceholder: "Rechercher", - itemUnit: "élément", - itemsUnit: "éléments", - titles: ["", ""], - remove: "Désélectionner", - selectCurrent: "Sélectionner la page actuelle", - removeCurrent: "Désélectionner la page actuelle", - selectAll: "Sélectionner toutes les données", - removeAll: "Désélectionner toutes les données", - selectInvert: "Inverser la sélection de la page actuelle" - }, - Empty: { - description: "Aucune donnée" - }, - Upload: { - uploading: "Téléchargement...", - removeFile: "Effacer le fichier", - uploadError: "Erreur de téléchargement", - previewFile: "Fichier de prévisualisation", - downloadFile: "Télécharger un fichier" - }, - Text: { - edit: "Éditer", - copy: "Copier", - copied: "Copie effectuée", - expand: "Développer" - }, - PageHeader: { - back: "Retour" - }, - Icon: { - icon: "icône" - }, - Image: { - preview: "Aperçu" - }, - CronExpression: { - cronError: "Expression CRON invalide", - second: "seconde", - minute: "minute", - hour: "heure", - day: "jour", - month: "mois", - week: "semaine" - }, - QRCode: { - expired: "QR code expiré", - refresh: "Rafraîchir" - } -}; -var fr_CA = { - locale: "fr", - Pagination: { - items_per_page: "/ page", - jump_to: "Aller à", - jump_to_confirm: "confirmer", - page: "Page", - prev_page: "Page précédente", - next_page: "Page suivante", - prev_5: "5 Pages précédentes", - next_5: "5 Pages suivantes", - prev_3: "3 Pages précédentes", - next_3: "3 Pages suivantes", - page_size: "taille de la page" - }, - DatePicker: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_CA", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - weekSelect: "Choisissez une semaine", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - TimePicker: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - }, - Calendar: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_CA", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - global: { - placeholder: "Sélectionner" - }, - Table: { - filterTitle: "Filtrer", - filterConfirm: "OK", - filterReset: "Réinitialiser", - selectAll: "Sélectionner la page actuelle", - selectInvert: "Inverser la sélection de la page actuelle", - selectionAll: "Sélectionner toutes les données", - sortTitle: "Trier", - expand: "Développer la ligne", - collapse: "Réduire la ligne", - triggerDesc: "Trier par ordre décroissant", - triggerAsc: "Trier par ordre croissant", - cancelSort: "Annuler le tri", - filterEmptyText: "Aucun filtre", - emptyText: "Aucune donnée", - selectNone: "Désélectionner toutes les données" - }, - Modal: { - okText: "OK", - cancelText: "Annuler", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annuler" - }, - Transfer: { - searchPlaceholder: "Rechercher", - itemUnit: "élément", - itemsUnit: "éléments", - titles: ["", ""], - remove: "Désélectionner", - selectCurrent: "Sélectionner la page actuelle", - removeCurrent: "Désélectionner la page actuelle", - selectAll: "Sélectionner toutes les données", - removeAll: "Désélectionner toutes les données", - selectInvert: "Inverser la sélection de la page actuelle" - }, - Empty: { - description: "Aucune donnée" - }, - Upload: { - uploading: "Téléchargement...", - removeFile: "Effacer le fichier", - uploadError: "Erreur de téléchargement", - previewFile: "Fichier de prévisualisation", - downloadFile: "Télécharger un fichier" - }, - Text: { - edit: "Éditer", - copy: "Copier", - copied: "Copie effectuée", - expand: "Développer" - }, - PageHeader: { - back: "Retour" - }, - Icon: { - icon: "icône" - }, - Image: { - preview: "Aperçu" - }, - CronExpression: { - cronError: "Expression CRON invalide", - second: "seconde", - minute: "minute", - hour: "heure", - day: "jour", - month: "mois", - week: "semaine" - }, - QRCode: { - expired: "QR code expiré", - refresh: "Rafraîchir" - } -}; -var fr_FR = { - locale: "fr", - Pagination: { - items_per_page: "/ page", - jump_to: "Aller à", - jump_to_confirm: "confirmer", - page: "Page", - prev_page: "Page précédente", - next_page: "Page suivante", - prev_5: "5 Pages précédentes", - next_5: "5 Pages suivantes", - prev_3: "3 Pages précédentes", - next_3: "3 Pages suivantes", - page_size: "taille de la page" - }, - DatePicker: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_FR", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - weekSelect: "Choisissez une semaine", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - TimePicker: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - }, - Calendar: { - lang: { - placeholder: "Sélectionner une date", - yearPlaceholder: "Sélectionner une année", - quarterPlaceholder: "Sélectionner un trimestre", - monthPlaceholder: "Sélectionner un mois", - weekPlaceholder: "Sélectionner une semaine", - rangePlaceholder: ["Date de début", "Date de fin"], - rangeYearPlaceholder: ["Année de début", "Année de fin"], - rangeMonthPlaceholder: ["Mois de début", "Mois de fin"], - rangeWeekPlaceholder: ["Semaine de début", "Semaine de fin"], - locale: "fr_FR", - today: "Aujourd'hui", - now: "Maintenant", - backToToday: "Aujourd'hui", - ok: "Ok", - clear: "Rétablir", - month: "Mois", - year: "Année", - timeSelect: "Sélectionner l'heure", - dateSelect: "Sélectionner la date", - monthSelect: "Choisissez un mois", - yearSelect: "Choisissez une année", - decadeSelect: "Choisissez une décennie", - yearFormat: "YYYY", - dateFormat: "DD/MM/YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mois précédent (PageUp)", - nextMonth: "Mois suivant (PageDown)", - previousYear: "Année précédente (Ctrl + gauche)", - nextYear: "Année prochaine (Ctrl + droite)", - previousDecade: "Décennie précédente", - nextDecade: "Décennie suivante", - previousCentury: "Siècle précédent", - nextCentury: "Siècle suivant" - }, - timePickerLocale: { - placeholder: "Sélectionner l'heure", - rangePlaceholder: ["Heure de début", "Heure de fin"] - } - }, - global: { - placeholder: "Sélectionner" - }, - Table: { - filterTitle: "Filtrer", - filterConfirm: "OK", - filterReset: "Réinitialiser", - selectAll: "Sélectionner la page actuelle", - selectInvert: "Inverser la sélection de la page actuelle", - selectionAll: "Sélectionner toutes les données", - sortTitle: "Trier", - expand: "Développer la ligne", - collapse: "Réduire la ligne", - triggerDesc: "Trier par ordre décroissant", - triggerAsc: "Trier par ordre croissant", - cancelSort: "Annuler le tri", - filterEmptyText: "Aucun filtre", - emptyText: "Aucune donnée", - selectNone: "Désélectionner toutes les données" - }, - Modal: { - okText: "OK", - cancelText: "Annuler", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annuler" - }, - Transfer: { - searchPlaceholder: "Rechercher", - itemUnit: "élément", - itemsUnit: "éléments", - titles: ["", ""], - remove: "Désélectionner", - selectCurrent: "Sélectionner la page actuelle", - removeCurrent: "Désélectionner la page actuelle", - selectAll: "Sélectionner toutes les données", - removeAll: "Désélectionner toutes les données", - selectInvert: "Inverser la sélection de la page actuelle" - }, - Empty: { - description: "Aucune donnée" - }, - Upload: { - uploading: "Téléchargement...", - removeFile: "Effacer le fichier", - uploadError: "Erreur de téléchargement", - previewFile: "Fichier de prévisualisation", - downloadFile: "Télécharger un fichier" - }, - Text: { - edit: "Éditer", - copy: "Copier", - copied: "Copie effectuée", - expand: "Développer" - }, - PageHeader: { - back: "Retour" - }, - Icon: { - icon: "icône" - }, - Image: { - preview: "Aperçu" - }, - CronExpression: { - cronError: "Expression CRON invalide", - second: "seconde", - minute: "minute", - hour: "heure", - day: "jour", - month: "mois", - week: "semaine" - }, - QRCode: { - expired: "QR code expiré", - refresh: "Rafraîchir" - } -}; -var ga_IE = { - locale: "ga", - Pagination: { - items_per_page: "/ leathanach", - jump_to: "Téigh", - jump_to_confirm: "dheimhnigh", - page: "", - prev_page: "Leathanach Roimhe Seo", - next_page: "An chéad leathanach eile", - prev_5: "5 leathanach roimhe seo", - next_5: "Ar Aghaidh 5 Leathanaigh", - prev_3: "3 leathanach roimhe seo", - next_3: "Ar Aghaidh 3 Leathanaigh", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Roghnaigh dáta", - yearPlaceholder: "Roghnaigh bliain", - quarterPlaceholder: "Roghnaigh ráithe", - monthPlaceholder: "Roghnaigh mí", - weekPlaceholder: "Roghnaigh seachtain", - rangePlaceholder: ["Dáta tosaigh", "Dáta deiridh"], - rangeYearPlaceholder: ["Tús na bliana", "Deireadh na bliana"], - rangeMonthPlaceholder: ["Tosaigh mhí", "Deireadh mhí"], - rangeWeekPlaceholder: ["Tosaigh an tseachtain", "Deireadh na seachtaine"], - locale: "ga_IE", - today: "inniu", - now: "anois", - backToToday: "Ar ais inniu", - ok: "ceart go leor", - clear: "soiléir", - month: "mhí", - year: "bhliain", - timeSelect: "roghnaigh am", - dateSelect: "roghnaigh dáta", - weekSelect: "Roghnaigh seachtain", - monthSelect: "Roghnaigh mí", - yearSelect: "Roghnaigh bliain", - decadeSelect: "Roghnaigh deich mbliana", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "An mhí roimhe seo (PageUp)", - nextMonth: "An mhí seo chugainn (PageDown)", - previousYear: "Anuraidh (Control + left)", - nextYear: "An bhliain seo chugainn (Control + right)", - previousDecade: "Le deich mbliana anuas", - nextDecade: "Deich mbliana amach romhainn", - previousCentury: "An chéid seo caite", - nextCentury: "An chéad aois eile" - }, - timePickerLocale: { - placeholder: "Roghnaigh am", - rangePlaceholder: ["Am tosaigh", "Am deiridh"] - } - }, - TimePicker: { - placeholder: "Roghnaigh am", - rangePlaceholder: ["Am tosaigh", "Am deiridh"] - }, - Calendar: { - lang: { - placeholder: "Roghnaigh dáta", - yearPlaceholder: "Roghnaigh bliain", - quarterPlaceholder: "Roghnaigh ráithe", - monthPlaceholder: "Roghnaigh mí", - weekPlaceholder: "Roghnaigh seachtain", - rangePlaceholder: ["Dáta tosaigh", "Dáta deiridh"], - rangeYearPlaceholder: ["Tús na bliana", "Deireadh na bliana"], - rangeMonthPlaceholder: ["Tosaigh mhí", "Deireadh mhí"], - rangeWeekPlaceholder: ["Tosaigh an tseachtain", "Deireadh na seachtaine"], - locale: "ga_IE", - today: "inniu", - now: "anois", - backToToday: "Ar ais inniu", - ok: "ceart go leor", - clear: "soiléir", - month: "mhí", - year: "bhliain", - timeSelect: "roghnaigh am", - dateSelect: "roghnaigh dáta", - weekSelect: "Roghnaigh seachtain", - monthSelect: "Roghnaigh mí", - yearSelect: "Roghnaigh bliain", - decadeSelect: "Roghnaigh deich mbliana", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "An mhí roimhe seo (PageUp)", - nextMonth: "An mhí seo chugainn (PageDown)", - previousYear: "Anuraidh (Control + left)", - nextYear: "An bhliain seo chugainn (Control + right)", - previousDecade: "Le deich mbliana anuas", - nextDecade: "Deich mbliana amach romhainn", - previousCentury: "An chéid seo caite", - nextCentury: "An chéad aois eile" - }, - timePickerLocale: { - placeholder: "Roghnaigh am", - rangePlaceholder: ["Am tosaigh", "Am deiridh"] - } - }, - global: { - placeholder: "Please select" - }, - Table: { - filterTitle: "Filter menu", - filterConfirm: "OK", - filterReset: "Reset", - selectAll: "Select current page", - selectInvert: "Invert current page", - selectionAll: "Select all data", - sortTitle: "Sort", - expand: "Expand row", - collapse: "Collapse row", - triggerDesc: "Click to sort descending", - triggerAsc: "Click to sort ascending", - cancelSort: "Click to cancel sorting" - }, - Modal: { - okText: "OK", - cancelText: "Cancel", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Cancel" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Search here", - itemUnit: "item", - itemsUnit: "items", - remove: "Remove", - selectCurrent: "Select current page", - removeCurrent: "Remove current page", - selectAll: "Select all data", - removeAll: "Remove all data", - selectInvert: "Invert current page" - }, - Upload: { - uploading: "Uploading...", - removeFile: "Remove file", - uploadError: "Upload error", - previewFile: "Preview file", - downloadFile: "Download file" - }, - Empty: { - description: "No Data" - }, - Icon: { - icon: "icon" - }, - Text: { - edit: "Edit", - copy: "Copy", - copied: "Copied", - expand: "Expand" - }, - PageHeader: { - back: "Back" - } -}; -var gl_ES = { - locale: "gl", - Pagination: { - items_per_page: "/ páxina", - jump_to: "Ir a", - jump_to_confirm: "confirmar", - page: "", - prev_page: "Páxina anterior", - next_page: "Páxina seguinte", - prev_5: "5 páxinas previas", - next_5: "5 páxinas seguintes", - prev_3: "3 páxinas previas", - next_3: "3 páxinas seguintes", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Escolla data", - rangePlaceholder: ["Data inicial", "Data final"], - locale: "gl_ES", - today: "Hoxe", - now: "Agora", - backToToday: "Voltar a hoxe", - ok: "Aceptar", - clear: "Limpar", - month: "Mes", - year: "Ano", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar data", - monthSelect: "Elexir un mes", - yearSelect: "Elexir un año", - decadeSelect: "Elexir unha década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (PageUp)", - nextMonth: "Mes seguinte (PageDown)", - previousYear: "Ano anterior (Control + left)", - nextYear: "Ano seguinte (Control + right)", - previousDecade: "Década anterior", - nextDecade: "Década seguinte", - previousCentury: "Século anterior", - nextCentury: "Século seguinte" - }, - timePickerLocale: { - placeholder: "Escolla hora" - } - }, - TimePicker: { - placeholder: "Escolla hora" - }, - Calendar: { - lang: { - placeholder: "Escolla data", - rangePlaceholder: ["Data inicial", "Data final"], - locale: "gl_ES", - today: "Hoxe", - now: "Agora", - backToToday: "Voltar a hoxe", - ok: "Aceptar", - clear: "Limpar", - month: "Mes", - year: "Ano", - timeSelect: "Seleccionar hora", - dateSelect: "Seleccionar data", - monthSelect: "Elexir un mes", - yearSelect: "Elexir un año", - decadeSelect: "Elexir unha década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Mes anterior (PageUp)", - nextMonth: "Mes seguinte (PageDown)", - previousYear: "Ano anterior (Control + left)", - nextYear: "Ano seguinte (Control + right)", - previousDecade: "Década anterior", - nextDecade: "Década seguinte", - previousCentury: "Século anterior", - nextCentury: "Século seguinte" - }, - timePickerLocale: { - placeholder: "Escolla hora" - } - }, - global: { - placeholder: "Escolla" - }, - Table: { - filterTitle: "Filtrar menú", - filterConfirm: "Aceptar", - filterReset: "Reiniciar", - selectAll: "Seleccionar todo", - selectInvert: "Invertir selección", - sortTitle: "Ordenar" - }, - Modal: { - okText: "Aceptar", - cancelText: "Cancelar", - justOkText: "Aceptar" - }, - Popconfirm: { - okText: "Aceptar", - cancelText: "Cancelar" - }, - Transfer: { - searchPlaceholder: "Buscar aquí", - itemUnit: "elemento", - itemsUnit: "elementos" - }, - Upload: { - uploading: "Subindo...", - removeFile: "Eliminar arquivo", - uploadError: "Error ao subir o arquivo", - previewFile: "Vista previa", - downloadFile: "Descargar arquivo" - }, - Empty: { - description: "Non hai datos" - }, - Icon: { - icon: "icona" - }, - Text: { - edit: "editar", - copy: "copiar", - copied: "copiado", - expand: "expandir" - }, - PageHeader: { - back: "voltar" - } -}; -var he_IL = { - locale: "he", - Pagination: { - items_per_page: "/ עמוד", - jump_to: "עבור אל", - jump_to_confirm: "אישור", - page: "", - prev_page: "העמוד הקודם", - next_page: "העמוד הבא", - prev_5: "5 עמודים קודמים", - next_5: "5 עמודים הבאים", - prev_3: "3 עמודים קודמים", - next_3: "3 עמודים הבאים", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "בחר תאריך", - rangePlaceholder: ["תאריך התחלה", "תאריך סיום"], - locale: "he_IL", - today: "היום", - now: "עכשיו", - backToToday: "חזור להיום", - ok: "אישור", - clear: "איפוס", - month: "חודש", - year: "שנה", - timeSelect: "בחר שעה", - dateSelect: "בחר תאריך", - weekSelect: "בחר שבוע", - monthSelect: "בחר חודש", - yearSelect: "בחר שנה", - decadeSelect: "בחר עשור", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "חודש קודם (PageUp)", - nextMonth: "חודש הבא (PageDown)", - previousYear: "שנה שעברה (Control + left)", - nextYear: "שנה הבאה (Control + right)", - previousDecade: "העשור הקודם", - nextDecade: "העשור הבא", - previousCentury: "המאה הקודמת", - nextCentury: "המאה הבאה" - }, - timePickerLocale: { - placeholder: "בחר שעה" - } - }, - TimePicker: { - placeholder: "בחר שעה" - }, - Calendar: { - lang: { - placeholder: "בחר תאריך", - rangePlaceholder: ["תאריך התחלה", "תאריך סיום"], - locale: "he_IL", - today: "היום", - now: "עכשיו", - backToToday: "חזור להיום", - ok: "אישור", - clear: "איפוס", - month: "חודש", - year: "שנה", - timeSelect: "בחר שעה", - dateSelect: "בחר תאריך", - weekSelect: "בחר שבוע", - monthSelect: "בחר חודש", - yearSelect: "בחר שנה", - decadeSelect: "בחר עשור", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "חודש קודם (PageUp)", - nextMonth: "חודש הבא (PageDown)", - previousYear: "שנה שעברה (Control + left)", - nextYear: "שנה הבאה (Control + right)", - previousDecade: "העשור הקודם", - nextDecade: "העשור הבא", - previousCentury: "המאה הקודמת", - nextCentury: "המאה הבאה" - }, - timePickerLocale: { - placeholder: "בחר שעה" - } - }, - global: { - placeholder: "אנא בחר" - }, - Table: { - filterTitle: "תפריט סינון", - filterConfirm: "אישור", - filterReset: "איפוס", - selectAll: "בחר הכל", - selectInvert: "הפוך בחירה", - selectionAll: "בחר את כל הנתונים", - sortTitle: "מיון", - expand: "הרחב שורה", - collapse: "צמצם שורהw", - triggerDesc: "לחץ על מיון לפי סדר יורד", - triggerAsc: "לחץ על מיון לפי סדר עולה", - cancelSort: "לחץ כדי לבטל את המיון" - }, - Modal: { - okText: "אישור", - cancelText: "ביטול", - justOkText: "אישור" - }, - Popconfirm: { - okText: "אישור", - cancelText: "ביטול" - }, - Transfer: { - searchPlaceholder: "חפש כאן", - itemUnit: "פריט", - itemsUnit: "פריטים" - }, - Upload: { - uploading: "מעלה...", - removeFile: "הסר קובץ", - uploadError: "שגיאת העלאה", - previewFile: "הצג קובץ", - downloadFile: "הורד קובץ" - }, - Empty: { - description: "אין מידע" - }, - Icon: { - icon: "סמל" - }, - Text: { - edit: "ערוך", - copy: "העתק", - copied: "הועתק", - expand: "הרחב" - }, - PageHeader: { - back: "חזרה" - } -}; -var hi_IN = { - locale: "hi", - Pagination: { - items_per_page: "/ पृष्ठ", - jump_to: "इस पर चलें", - jump_to_confirm: "पुष्टि करें", - page: "", - prev_page: "पिछला पृष्ठ", - next_page: "अगला पृष्ठ", - prev_5: "पिछले 5 पृष्ठ", - next_5: "अगले 5 पृष्ठ", - prev_3: "पिछले 3 पृष्ठ", - next_3: "अगले 3 पेज", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "तारीख़ चुनें", - rangePlaceholder: ["प्रारंभ तिथि", "समाप्ति तिथि"], - locale: "hi_IN", - today: "आज", - now: "अभी", - backToToday: "आज तक", - ok: "ठीक", - clear: "स्पष्ट", - month: "महीना", - year: "साल", - timeSelect: "समय का चयन करें", - dateSelect: "तारीख़ चुनें", - weekSelect: "एक सप्ताह चुनें", - monthSelect: "एक महीना चुनें", - yearSelect: "एक वर्ष चुनें", - decadeSelect: "एक दशक चुनें", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "पिछला महीना (पेजअप)", - nextMonth: "अगले महीने (पेजडाउन)", - previousYear: "पिछले साल (Ctrl + बाएं)", - nextYear: "अगले साल (Ctrl + दाहिना)", - previousDecade: "पिछला दशक", - nextDecade: "अगले दशक", - previousCentury: "पीछ्ली शताब्दी", - nextCentury: "अगली सदी", - yearPlaceholder: "वर्ष चुनें", - quarterPlaceholder: "तिमाही चुनें", - monthPlaceholder: "महीना चुनिए", - weekPlaceholder: "सप्ताह चुनें", - rangeYearPlaceholder: ["आरंभिक वर्ष", "अंत वर्ष"], - rangeMonthPlaceholder: ["आरंभिक महीना", "अंत महीना"], - rangeWeekPlaceholder: ["आरंभिक सप्ताह", "अंत सप्ताह"] - }, - timePickerLocale: { - placeholder: "समय का चयन करें", - rangePlaceholder: ["आरंभिक समय", "अंत समय"] - } - }, - TimePicker: { - placeholder: "समय का चयन करें", - rangePlaceholder: ["आरंभिक समय", "अंत समय"] - }, - Calendar: { - lang: { - placeholder: "तारीख़ चुनें", - rangePlaceholder: ["प्रारंभ तिथि", "समाप्ति तिथि"], - locale: "hi_IN", - today: "आज", - now: "अभी", - backToToday: "आज तक", - ok: "ठीक", - clear: "स्पष्ट", - month: "महीना", - year: "साल", - timeSelect: "समय का चयन करें", - dateSelect: "तारीख़ चुनें", - weekSelect: "एक सप्ताह चुनें", - monthSelect: "एक महीना चुनें", - yearSelect: "एक वर्ष चुनें", - decadeSelect: "एक दशक चुनें", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "पिछला महीना (पेजअप)", - nextMonth: "अगले महीने (पेजडाउन)", - previousYear: "पिछले साल (Ctrl + बाएं)", - nextYear: "अगले साल (Ctrl + दाहिना)", - previousDecade: "पिछला दशक", - nextDecade: "अगले दशक", - previousCentury: "पीछ्ली शताब्दी", - nextCentury: "अगली सदी", - yearPlaceholder: "वर्ष चुनें", - quarterPlaceholder: "तिमाही चुनें", - monthPlaceholder: "महीना चुनिए", - weekPlaceholder: "सप्ताह चुनें", - rangeYearPlaceholder: ["आरंभिक वर्ष", "अंत वर्ष"], - rangeMonthPlaceholder: ["आरंभिक महीना", "अंत महीना"], - rangeWeekPlaceholder: ["आरंभिक सप्ताह", "अंत सप्ताह"] - }, - timePickerLocale: { - placeholder: "समय का चयन करें", - rangePlaceholder: ["आरंभिक समय", "अंत समय"] - } - }, - global: { - placeholder: "कृपया चुनें" - }, - Table: { - filterTitle: "सूची बंद करें", - filterConfirm: "अच्छी तरह से", - filterReset: "रीसेट", - emptyText: "कोई जानकारी नहीं", - selectAll: "वर्तमान पृष्ठ का चयन करें", - selectInvert: "वर्तमान पृष्ठ घुमाएं", - sortTitle: "द्वारा क्रमबद्ध करें", - filterEmptyText: "कोई फ़िल्टर नहीं", - selectNone: "सभी डेटा साफ़ करें", - selectionAll: "सभी डेटा का चयन करें", - expand: "पंक्ति का विस्तार करें", - collapse: "पंक्ति संक्षिप्त करें", - triggerDesc: "अवरोही क्रमित करने के लिए क्लिक करें", - triggerAsc: "आरोही क्रमित करने के लिए क्लिक करें", - cancelSort: "छँटाई रद्द करने के लिए क्लिक करें" - }, - Modal: { - okText: "अच्छी तरह से", - cancelText: "रद्द करना", - justOkText: "अच्छी तरह से" - }, - Popconfirm: { - okText: "अच्छी तरह से", - cancelText: "रद्द करना" - }, - Transfer: { - titles: ["", ""], - notFoundContent: "नहीं मिला", - searchPlaceholder: "यहां खोजें", - itemUnit: "तत्त्व", - itemsUnit: "विषय-वस्तु", - remove: "हटाए", - selectCurrent: "वर्तमान पृष्ठ का चयन करें", - removeCurrent: "वर्तमान पृष्ठ हटाएं", - selectAll: "सभी डेटा का चयन करें", - removeAll: "सभी डेटा हटाएं", - selectInvert: "वर्तमान पृष्ठ को उल्टा करें" - }, - Select: { - notFoundContent: "नहीं मिला" - }, - Upload: { - uploading: "अपलोड हो रहा...", - removeFile: "फ़ाइल निकालें", - uploadError: "अपलोड में त्रुटि", - previewFile: "फ़ाइल पूर्वावलोकन", - downloadFile: "फ़ाइल डाउनलोड करें" - }, - Empty: { - description: "कोई आकड़ा उपलब्ध नहीं है" - }, - Icon: { - icon: "आइकन" - }, - Text: { - edit: "संपादित करें", - copy: "प्रतिलिपि", - copied: "कॉपी किया गया", - expand: "विस्तार" - }, - PageHeader: { - back: "वापस" - }, - Image: { - preview: "पूर्वावलोकन" - } -}; -var hr_HR = { - locale: "hr", - Pagination: { - items_per_page: "/ str", - jump_to: "Idi na", - jump_to_confirm: "potvrdi", - page: "", - prev_page: "Prijašnja stranica", - next_page: "Sljedeća stranica", - prev_5: "Prijašnjih 5 stranica", - next_5: "Sljedećih 5 stranica", - prev_3: "Prijašnje 3 stranice", - next_3: "Sljedeće 3 stranice", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Odaberite datum", - rangePlaceholder: ["Početni datum", "Završni datum"], - locale: "hr_HR", - today: "Danas", - now: "Sad", - backToToday: "Natrag na danas", - ok: "Ok", - clear: "Očisti", - month: "Mjesec", - year: "Godina", - timeSelect: "odaberite vrijeme", - dateSelect: "odaberite datum", - weekSelect: "Odaberite tjedan", - monthSelect: "Odaberite mjesec", - yearSelect: "Odaberite godinu", - decadeSelect: "Odaberite desetljeće", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Prošli mjesec (PageUp)", - nextMonth: "Sljedeći mjesec (PageDown)", - previousYear: "Prošla godina (Control + left)", - nextYear: "Sljedeća godina (Control + right)", - previousDecade: "Prošlo desetljeće", - nextDecade: "Sljedeće desetljeće", - previousCentury: "Prošlo stoljeće", - nextCentury: "Sljedeće stoljeće", - yearPlaceholder: "Odaberite godinu", - quarterPlaceholder: "Odaberite četvrtinu", - monthPlaceholder: "Odaberite mjesec", - weekPlaceholder: "Odaberite tjedan", - rangeYearPlaceholder: ["Početna godina", "Završna godina"], - rangeMonthPlaceholder: ["Početni mjesec", "Završni mjesec"], - rangeWeekPlaceholder: ["Početni tjedan", "Završni tjedan"] - }, - timePickerLocale: { - placeholder: "Odaberite vrijeme", - rangePlaceholder: ["Vrijeme početka", "Vrijeme završetka"] - } - }, - TimePicker: { - placeholder: "Odaberite vrijeme", - rangePlaceholder: ["Vrijeme početka", "Vrijeme završetka"] - }, - Calendar: { - lang: { - placeholder: "Odaberite datum", - rangePlaceholder: ["Početni datum", "Završni datum"], - locale: "hr_HR", - today: "Danas", - now: "Sad", - backToToday: "Natrag na danas", - ok: "Ok", - clear: "Očisti", - month: "Mjesec", - year: "Godina", - timeSelect: "odaberite vrijeme", - dateSelect: "odaberite datum", - weekSelect: "Odaberite tjedan", - monthSelect: "Odaberite mjesec", - yearSelect: "Odaberite godinu", - decadeSelect: "Odaberite desetljeće", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Prošli mjesec (PageUp)", - nextMonth: "Sljedeći mjesec (PageDown)", - previousYear: "Prošla godina (Control + left)", - nextYear: "Sljedeća godina (Control + right)", - previousDecade: "Prošlo desetljeće", - nextDecade: "Sljedeće desetljeće", - previousCentury: "Prošlo stoljeće", - nextCentury: "Sljedeće stoljeće", - yearPlaceholder: "Odaberite godinu", - quarterPlaceholder: "Odaberite četvrtinu", - monthPlaceholder: "Odaberite mjesec", - weekPlaceholder: "Odaberite tjedan", - rangeYearPlaceholder: ["Početna godina", "Završna godina"], - rangeMonthPlaceholder: ["Početni mjesec", "Završni mjesec"], - rangeWeekPlaceholder: ["Početni tjedan", "Završni tjedan"] - }, - timePickerLocale: { - placeholder: "Odaberite vrijeme", - rangePlaceholder: ["Vrijeme početka", "Vrijeme završetka"] - } - }, - global: { - placeholder: "Molimo označite" - }, - Table: { - filterTitle: "Filter meni", - filterConfirm: "OK", - filterReset: "Reset", - selectAll: "Označi trenutnu stranicu", - selectInvert: "Invertiraj trenutnu stranicu", - sortTitle: "Sortiraj", - filterEmptyText: "Nema filtera", - emptyText: "Nema podataka", - selectionAll: "Odaberite sve podatke", - expand: "Proširi redak", - collapse: "Sažmi redak", - triggerDesc: "Kliknite za sortiranje silazno", - triggerAsc: "Kliknite za sortiranje uzlazno", - cancelSort: "Kliknite da biste otkazali sortiranje" - }, - Modal: { - okText: "OK", - cancelText: "Odustani", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Odustani" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Pretraži ovdje", - itemUnit: "stavka", - itemsUnit: "stavke", - remove: "Ukloniti", - selectCurrent: "Odaberite trenutnu stranicu", - removeCurrent: "Ukloni trenutnu stranicu", - selectAll: "Odaberite sve podatke", - removeAll: "Uklonite sve podatke", - selectInvert: "Obrni trenutnu stranicu" - }, - Upload: { - uploading: "Upload u tijeku...", - removeFile: "Makni datoteku", - uploadError: "Greška kod uploada", - previewFile: "Pogledaj datoteku", - downloadFile: "Preuzmi datoteku" - }, - Empty: { - description: "Nema podataka" - }, - Icon: { - icon: "ikona" - }, - Text: { - edit: "Uredi", - copy: "Kopiraj", - copied: "Kopiranje uspješno", - expand: "Proširi" - }, - PageHeader: { - back: "Natrag" - }, - Image: { - preview: "Pregled" - } -}; -var hu_HU = { - locale: "hu", - Pagination: { - items_per_page: "/ oldal", - jump_to: "Ugrás", - jump_to_confirm: "megerősít", - page: "", - prev_page: "Előző oldal", - next_page: "Következő oldal", - prev_5: "Előző 5 oldal", - next_5: "Következő 5 oldal", - prev_3: "Előző 3 oldal", - next_3: "Következő 3 oldal", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Válasszon dátumot", - yearPlaceholder: "Válasszon évet", - quarterPlaceholder: "Válasszon negyedévet", - monthPlaceholder: "Válasszon hónapot", - weekPlaceholder: "Válasszon hetet", - rangePlaceholder: ["Kezdő dátum", "Befejezés dátuma"], - rangeYearPlaceholder: ["Kezdő év", "Befejezés éve"], - rangeMonthPlaceholder: ["Kezdő hónap", "Befejezés hónapja"], - rangeWeekPlaceholder: ["Kezdő hét", "Befejezés hete"], - locale: "hu_HU", - today: "Ma", - now: "Most", - backToToday: "Vissza a mai napra", - ok: "Ok", - clear: "Törlés", - month: "Hónap", - year: "Év", - timeSelect: "Időpont kiválasztása", - dateSelect: "Dátum kiválasztása", - weekSelect: "Hét kiválasztása", - monthSelect: "Hónap kiválasztása", - yearSelect: "Év kiválasztása", - decadeSelect: "Évtized kiválasztása", - yearFormat: "YYYY", - dateFormat: "YYYY/MM/DD", - dayFormat: "DD", - dateTimeFormat: "YYYY/MM/DD HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Előző hónap (PageUp)", - nextMonth: "Következő hónap (PageDown)", - previousYear: "Múlt év (Control + left)", - nextYear: "Jövő év (Control + right)", - previousDecade: "Előző évtized", - nextDecade: "Következő évtized", - previousCentury: "Múlt évszázad", - nextCentury: "Jövő évszázad" - }, - timePickerLocale: { - placeholder: "Válasszon időt", - rangePlaceholder: ["Kezdő idő", "Befejezés ideje"] - } - }, - TimePicker: { - placeholder: "Válasszon időt", - rangePlaceholder: ["Kezdő idő", "Befejezés ideje"] - }, - Calendar: { - lang: { - placeholder: "Válasszon dátumot", - yearPlaceholder: "Válasszon évet", - quarterPlaceholder: "Válasszon negyedévet", - monthPlaceholder: "Válasszon hónapot", - weekPlaceholder: "Válasszon hetet", - rangePlaceholder: ["Kezdő dátum", "Befejezés dátuma"], - rangeYearPlaceholder: ["Kezdő év", "Befejezés éve"], - rangeMonthPlaceholder: ["Kezdő hónap", "Befejezés hónapja"], - rangeWeekPlaceholder: ["Kezdő hét", "Befejezés hete"], - locale: "hu_HU", - today: "Ma", - now: "Most", - backToToday: "Vissza a mai napra", - ok: "Ok", - clear: "Törlés", - month: "Hónap", - year: "Év", - timeSelect: "Időpont kiválasztása", - dateSelect: "Dátum kiválasztása", - weekSelect: "Hét kiválasztása", - monthSelect: "Hónap kiválasztása", - yearSelect: "Év kiválasztása", - decadeSelect: "Évtized kiválasztása", - yearFormat: "YYYY", - dateFormat: "YYYY/MM/DD", - dayFormat: "DD", - dateTimeFormat: "YYYY/MM/DD HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Előző hónap (PageUp)", - nextMonth: "Következő hónap (PageDown)", - previousYear: "Múlt év (Control + left)", - nextYear: "Jövő év (Control + right)", - previousDecade: "Előző évtized", - nextDecade: "Következő évtized", - previousCentury: "Múlt évszázad", - nextCentury: "Jövő évszázad" - }, - timePickerLocale: { - placeholder: "Válasszon időt", - rangePlaceholder: ["Kezdő idő", "Befejezés ideje"] - } - }, - global: { - placeholder: "Kérlek, válassz" - }, - Table: { - filterTitle: "Szűrők", - filterConfirm: "Alkalmazás", - filterReset: "Visszaállítás", - filterEmptyText: "No filters", - emptyText: "Nincs adat", - selectAll: "Jelenlegi oldal kiválasztása", - selectInvert: "Jelenlegi oldal inverze", - selectionAll: "Összes adat kiválasztása", - sortTitle: "Rendezés", - expand: "Sor kinyitása", - collapse: "Sor becsukása", - triggerDesc: "Kattintson a csökkenő sorrendbe rendezéshez", - triggerAsc: "Kattintson a növekvő sorrendbe rendezéshez", - cancelSort: "Kattintson a rendezés visszavonásához", - selectNone: "Összes visszavonása" - }, - Modal: { - okText: "Alkalmazás", - cancelText: "Visszavonás", - justOkText: "Alkalmazás" - }, - Popconfirm: { - okText: "Alkalmazás", - cancelText: "Visszavonás" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Keresés", - itemUnit: "elem", - itemsUnit: "elemek", - remove: "Eltávolít", - selectCurrent: "Jelenlegi oldal kiválasztása", - removeCurrent: "Jelenlegi oldal eltávolítása", - selectAll: "Összes adat kiválasztása", - removeAll: "Összes adat eltávolítása", - selectInvert: "Jelenlegi oldal inverze" - }, - Upload: { - uploading: "Feltöltés...", - removeFile: "Fájl eltávolítása", - uploadError: "Feltöltési hiba", - previewFile: "Fájl előnézet", - downloadFile: "Fájl letöltése" - }, - Empty: { - description: "Nincs adat" - }, - Icon: { - icon: "ikon" - }, - Text: { - edit: "Szerkesztés", - copy: "Másolás", - copied: "Másolva", - expand: "Kiterjesztés" - }, - PageHeader: { - back: "Vissza" - } -}; -var hy_AM = { - locale: "hy-am", - Pagination: { - items_per_page: "/ էջ", - jump_to: "Գնալ", - jump_to_confirm: "հաստատել", - page: "", - prev_page: "Նախորդ Էջ", - next_page: "Հաջորդ Էջ", - prev_5: "Նախորդ 5 Էջերը", - next_5: "Հաջորդ 5 Էջերը", - prev_3: "Նախորդ 3 Էջերը", - next_3: "Հաջորդ 3 Էջերը" - }, - DatePicker: { - lang: { - locale: "hy-am", - placeholder: "Ընտրեք ամսաթիվը", - rangePlaceholder: ["Մեկնարկի ամսաթիվ", "Ավարտի ամսաթիվը"], - today: "Այսօր", - now: "Հիմա", - backToToday: "Վերադառնալ այսօր", - ok: "Օկ", - clear: "Մաքրել", - month: "Ամիս", - year: "Տարի", - timeSelect: "ընտրեք ժամը", - dateSelect: "ընտրեք ամսաթիվը", - weekSelect: "Ընտրեք շաբաթը", - monthSelect: "Ընտրեք ամիսը", - yearSelect: "Ընտրեք տարին", - decadeSelect: "Ընտրեք տասնամյակը", - yearFormat: "YYYY", - dateFormat: "DD/MM//YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM//YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Անցած ամիս (PageUp)", - nextMonth: "Մյուս ամիս (PageDown)", - previousYear: "Անցած տարի (Control + left)", - nextYear: "Մյուս տարի (Control + right)", - previousDecade: "Անցած տասնամյակ", - nextDecade: "Մյուս տասնամյակ", - previousCentury: "Անցած դար", - nextCentury: "Մյուս դար" - }, - timePickerLocale: { - placeholder: "Ընտրեք ժամը" - } - }, - TimePicker: { - placeholder: "Ընտրեք ժամը" - }, - Calendar: { - lang: { - locale: "hy-am", - placeholder: "Ընտրեք ամսաթիվը", - rangePlaceholder: ["Մեկնարկի ամսաթիվ", "Ավարտի ամսաթիվը"], - today: "Այսօր", - now: "Հիմա", - backToToday: "Վերադառնալ այսօր", - ok: "Օկ", - clear: "Մաքրել", - month: "Ամիս", - year: "Տարի", - timeSelect: "ընտրեք ժամը", - dateSelect: "ընտրեք ամսաթիվը", - weekSelect: "Ընտրեք շաբաթը", - monthSelect: "Ընտրեք ամիսը", - yearSelect: "Ընտրեք տարին", - decadeSelect: "Ընտրեք տասնամյակը", - yearFormat: "YYYY", - dateFormat: "DD/MM//YYYY", - dayFormat: "DD", - dateTimeFormat: "DD/MM//YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Անցած ամիս (PageUp)", - nextMonth: "Մյուս ամիս (PageDown)", - previousYear: "Անցած տարի (Control + left)", - nextYear: "Մյուս տարի (Control + right)", - previousDecade: "Անցած տասնամյակ", - nextDecade: "Մյուս տասնամյակ", - previousCentury: "Անցած դար", - nextCentury: "Մյուս դար" - }, - timePickerLocale: { - placeholder: "Ընտրեք ժամը" - } - }, - global: { - placeholder: "Ընտրեք" - }, - Table: { - filterTitle: "ֆիլտրի ընտրացանկ", - filterConfirm: "ֆիլտրել", - filterReset: "Զրոյացնել", - selectAll: "Ընտրեք ընթացիկ էջը", - selectInvert: "Փոխարկել ընթացիկ էջը", - sortTitle: "Տեսակավորել", - expand: "Ընդլայնեք տողը", - collapse: "Կրճատել տողը" - }, - Modal: { - okText: "Օկ", - cancelText: "Չեղարկել", - justOkText: "Օկ" - }, - Popconfirm: { - okText: "Հաստատել", - cancelText: "Մերժել" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Որոնեք այստեղ", - itemUnit: "պարագան", - itemsUnit: "պարագաները" - }, - Upload: { - uploading: "Ներբեռնում...", - removeFile: "Հեռացնել ֆայլը", - uploadError: "Ներբեռնման սխալ", - previewFile: "Դիտել ֆայլը", - downloadFile: "Ներբեռնել ֆայլը" - }, - Empty: { - description: "Տվյալներ չկան" - }, - Icon: { - icon: "պատկեր" - }, - Text: { - edit: "Խմբագրել", - copy: "Պատճենել", - copied: "Պատճենվել է", - expand: "Տեսնել ավելին" - }, - PageHeader: { - back: "Հետ" - } -}; -var id_ID = { - locale: "id", - Pagination: { - items_per_page: "/ halaman", - jump_to: "Menuju", - jump_to_confirm: "konfirmasi", - page: "Halaman", - prev_page: "Halaman Sebelumnya", - next_page: "Halaman Berikutnya", - prev_5: "5 Halaman Sebelumnya", - next_5: "5 Halaman Berikutnya", - prev_3: "3 Halaman Sebelumnya", - next_3: "3 Halaman Berikutnya", - page_size: "ukuran halaman" - }, - DatePicker: { - lang: { - placeholder: "Pilih tanggal", - rangePlaceholder: ["Mulai tanggal", "Tanggal akhir"], - locale: "id_ID", - today: "Hari ini", - now: "Sekarang", - backToToday: "Kembali ke hari ini", - ok: "Baik", - clear: "Bersih", - month: "Bulan", - year: "Tahun", - timeSelect: "pilih waktu", - dateSelect: "pilih tanggal", - weekSelect: "Pilih satu minggu", - monthSelect: "Pilih satu bulan", - yearSelect: "Pilih satu tahun", - decadeSelect: "Pilih satu dekade", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Bulan sebelumnya (PageUp)", - nextMonth: "Bulan selanjutnya (PageDown)", - previousYear: "Tahun lalu (Control + kiri)", - nextYear: "Tahun selanjutnya (Kontrol + kanan)", - previousDecade: "Dekade terakhir", - nextDecade: "Dekade berikutnya", - previousCentury: "Abad terakhir", - nextCentury: "Abad berikutnya" - }, - timePickerLocale: { - placeholder: "Pilih waktu" - } - }, - TimePicker: { - placeholder: "Pilih waktu" - }, - Calendar: { - lang: { - placeholder: "Pilih tanggal", - rangePlaceholder: ["Mulai tanggal", "Tanggal akhir"], - locale: "id_ID", - today: "Hari ini", - now: "Sekarang", - backToToday: "Kembali ke hari ini", - ok: "Baik", - clear: "Bersih", - month: "Bulan", - year: "Tahun", - timeSelect: "pilih waktu", - dateSelect: "pilih tanggal", - weekSelect: "Pilih satu minggu", - monthSelect: "Pilih satu bulan", - yearSelect: "Pilih satu tahun", - decadeSelect: "Pilih satu dekade", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Bulan sebelumnya (PageUp)", - nextMonth: "Bulan selanjutnya (PageDown)", - previousYear: "Tahun lalu (Control + kiri)", - nextYear: "Tahun selanjutnya (Kontrol + kanan)", - previousDecade: "Dekade terakhir", - nextDecade: "Dekade berikutnya", - previousCentury: "Abad terakhir", - nextCentury: "Abad berikutnya" - }, - timePickerLocale: { - placeholder: "Pilih waktu" - } - }, - Table: { - filterTitle: "Saring", - filterConfirm: "OK", - filterReset: "Hapus", - selectAll: "Pilih semua di halaman ini", - selectInvert: "Balikkan pilihan di halaman ini", - sortTitle: "Urutkan" - }, - Modal: { - okText: "OK", - cancelText: "Batal", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Batal" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Cari", - itemUnit: "item", - itemsUnit: "item" - }, - Upload: { - uploading: "Mengunggah...", - removeFile: "Hapus file", - uploadError: "Kesalahan pengunggahan", - previewFile: "File pratinjau", - downloadFile: "Unduh berkas" - }, - Empty: { - description: "Tidak ada data" - } -}; -var is_IS = { - locale: "is", - Pagination: { - items_per_page: "/ síðu", - jump_to: "Síða", - jump_to_confirm: "staðfest", - page: "", - prev_page: "Fyrri síða", - next_page: "Næsta síða", - prev_5: "Til baka 5 síður", - next_5: "Áfram 5 síður", - prev_3: "Til baka 3 síður", - next_3: "Áfram 3 síður", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Veldu dag", - rangePlaceholder: ["Upphafsdagur", "Lokadagur"], - locale: "is_IS", - today: "Í dag", - now: "Núna", - backToToday: "Til baka til dagsins í dag", - ok: "Í lagi", - clear: "Hreinsa", - month: "Mánuður", - year: "Ár", - timeSelect: "Velja tíma", - dateSelect: "Velja dag", - monthSelect: "Velja mánuð", - yearSelect: "Velja ár", - decadeSelect: "Velja áratug", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Fyrri mánuður (PageUp)", - nextMonth: "Næsti mánuður (PageDown)", - previousYear: "Fyrra ár (Control + left)", - nextYear: "Næsta ár (Control + right)", - previousDecade: "Fyrri áratugur", - nextDecade: "Næsti áratugur", - previousCentury: "Fyrri öld", - nextCentury: "Næsta öld" - }, - timePickerLocale: { - placeholder: "Velja tíma" - } - }, - TimePicker: { - placeholder: "Velja tíma" - }, - Calendar: { - lang: { - placeholder: "Veldu dag", - rangePlaceholder: ["Upphafsdagur", "Lokadagur"], - locale: "is_IS", - today: "Í dag", - now: "Núna", - backToToday: "Til baka til dagsins í dag", - ok: "Í lagi", - clear: "Hreinsa", - month: "Mánuður", - year: "Ár", - timeSelect: "Velja tíma", - dateSelect: "Velja dag", - monthSelect: "Velja mánuð", - yearSelect: "Velja ár", - decadeSelect: "Velja áratug", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Fyrri mánuður (PageUp)", - nextMonth: "Næsti mánuður (PageDown)", - previousYear: "Fyrra ár (Control + left)", - nextYear: "Næsta ár (Control + right)", - previousDecade: "Fyrri áratugur", - nextDecade: "Næsti áratugur", - previousCentury: "Fyrri öld", - nextCentury: "Næsta öld" - }, - timePickerLocale: { - placeholder: "Velja tíma" - } - }, - Table: { - filterTitle: "Afmarkanir", - filterConfirm: "Staðfesta", - filterReset: "Núllstilla", - selectAll: "Velja allt", - selectInvert: "Viðsnúa vali" - }, - Modal: { - okText: "Áfram", - cancelText: "Hætta við", - justOkText: "Í lagi" - }, - Popconfirm: { - okText: "Áfram", - cancelText: "Hætta við" - }, - Transfer: { - searchPlaceholder: "Leita hér", - itemUnit: "færsla", - itemsUnit: "færslur" - }, - Upload: { - uploading: "Hleð upp...", - removeFile: "Fjarlægja skrá", - uploadError: "Villa við að hlaða upp", - previewFile: "Forskoða skrá", - downloadFile: "Hlaða niður skrá" - }, - Empty: { - description: "Engin gögn" - } -}; -var it_IT = { - locale: "it", - Pagination: { - items_per_page: "/ pagina", - jump_to: "vai a", - jump_to_confirm: "Conferma", - page: "Pagina", - prev_page: "Pagina precedente", - next_page: "Pagina successiva", - prev_5: "Precedente 5 pagine", - next_5: "Prossime 5 pagine", - prev_3: "Precedente 3 pagine", - next_3: "Prossime 3 pagine", - page_size: "dimensioni della pagina" - }, - DatePicker: { - lang: { - placeholder: "Selezionare la data", - yearPlaceholder: "Selezionare l'anno", - quarterPlaceholder: "Selezionare il trimestre", - monthPlaceholder: "Selezionare il mese", - weekPlaceholder: "Selezionare la settimana", - rangePlaceholder: ["Data d'inizio", "Data di fine"], - rangeYearPlaceholder: ["Anno d'inizio", "Anno di fine"], - rangeMonthPlaceholder: ["Mese d'inizio ", "Mese di fine"], - rangeWeekPlaceholder: ["Settimana d'inizio", "Settimana di fine"], - locale: "it_IT", - today: "Oggi", - now: "Adesso", - backToToday: "Torna ad oggi", - ok: "Ok", - clear: "Cancella", - month: "Mese", - year: "Anno", - timeSelect: "Seleziona l'ora", - dateSelect: "Seleziona la data", - weekSelect: "Seleziona la settimana", - monthSelect: "Seleziona il mese", - yearSelect: "Seleziona l'anno", - decadeSelect: "Seleziona il decennio", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Il mese scorso (PageUp)", - nextMonth: "Il prossimo mese (PageDown)", - previousYear: "L'anno scorso (Control + sinistra)", - nextYear: "L'anno prossimo (Control + destra)", - previousDecade: "Ultimo decennio", - nextDecade: "Prossimo decennio", - previousCentury: "Secolo precedente", - nextCentury: "Prossimo secolo" - }, - timePickerLocale: { - placeholder: "Selezionare l'orario", - rangePlaceholder: ["Ora d'inizio", "Ora di fine"] - } - }, - TimePicker: { - placeholder: "Selezionare l'orario", - rangePlaceholder: ["Ora d'inizio", "Ora di fine"] - }, - Calendar: { - lang: { - placeholder: "Selezionare la data", - yearPlaceholder: "Selezionare l'anno", - quarterPlaceholder: "Selezionare il trimestre", - monthPlaceholder: "Selezionare il mese", - weekPlaceholder: "Selezionare la settimana", - rangePlaceholder: ["Data d'inizio", "Data di fine"], - rangeYearPlaceholder: ["Anno d'inizio", "Anno di fine"], - rangeMonthPlaceholder: ["Mese d'inizio ", "Mese di fine"], - rangeWeekPlaceholder: ["Settimana d'inizio", "Settimana di fine"], - locale: "it_IT", - today: "Oggi", - now: "Adesso", - backToToday: "Torna ad oggi", - ok: "Ok", - clear: "Cancella", - month: "Mese", - year: "Anno", - timeSelect: "Seleziona l'ora", - weekSelect: "Seleziona la settimana", - dateSelect: "Seleziona la data", - monthSelect: "Seleziona il mese", - yearSelect: "Seleziona l'anno", - decadeSelect: "Seleziona il decennio", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Il mese scorso (PageUp)", - nextMonth: "Il prossimo mese (PageDown)", - previousYear: "L'anno scorso (Control + sinistra)", - nextYear: "L'anno prossimo (Control + destra)", - previousDecade: "Ultimo decennio", - nextDecade: "Prossimo decennio", - previousCentury: "Secolo precedente", - nextCentury: "Prossimo secolo" - }, - timePickerLocale: { - placeholder: "Selezionare l'orario", - rangePlaceholder: ["Ora d'inizio", "Ora di fine"] - } - }, - global: { - placeholder: "Selezionare" - }, - Table: { - filterTitle: "Menù Filtro", - filterConfirm: "OK", - filterReset: "Reset", - filterEmptyText: "Nessun filtro", - emptyText: "Nessun dato", - selectAll: "Seleziona pagina corrente", - selectInvert: "Inverti selezione nella pagina corrente", - selectionAll: "Seleziona tutti i dati", - sortTitle: "Ordina", - expand: "Esapandi riga", - collapse: "Chiudi riga", - triggerDesc: "Clicca per ordinare in modo discendente", - triggerAsc: "Clicca per ordinare in modo ascendente", - cancelSort: "Clicca per eliminare i filtri", - filterCheckall: "Seleziona tutto", - filterSearchPlaceholder: "Cerca nei filtri", - selectNone: "Pulisci tutti i dati" - }, - Modal: { - okText: "OK", - cancelText: "Annulla", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annulla" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Cerca qui", - itemUnit: "elemento", - itemsUnit: "elementi", - remove: "Rimuovi", - selectCurrent: "Seleziona pagina corrente", - removeCurrent: "Rimuovi pagina corrente", - selectAll: "Selezione tutti i dati", - removeAll: "Rimuovi tutti i dati", - selectInvert: "Inverti selezione nella pagina corrente" - }, - Upload: { - uploading: "Caricamento...", - removeFile: "Rimuovi il file", - uploadError: "Errore di caricamento", - previewFile: "Anteprima file", - downloadFile: "Download file" - }, - Empty: { - description: "Nessun dato" - }, - Icon: { - icon: "icona" - }, - Text: { - edit: "modifica", - copy: "copia", - copied: "copia effettuata", - expand: "espandi" - }, - PageHeader: { - back: "Indietro" - }, - Image: { - preview: "Anteprima" - } -}; -var ja_JP = { - locale: "ja", - Pagination: { - items_per_page: "件 / ページ", - jump_to: "移動", - jump_to_confirm: "確認する", - page: "ページ", - prev_page: "前のページ", - next_page: "次のページ", - prev_5: "前 5ページ", - next_5: "次 5ページ", - prev_3: "前 3ページ", - next_3: "次 3ページ", - page_size: "ページサイズ" - }, - DatePicker: { - lang: { - placeholder: "日付を選択", - rangePlaceholder: ["開始日付", "終了日付"], - locale: "ja_JP", - today: "今日", - now: "現在時刻", - backToToday: "今日に戻る", - ok: "決定", - timeSelect: "時間を選択", - dateSelect: "日時を選択", - weekSelect: "週を選択", - clear: "クリア", - month: "月", - year: "年", - previousMonth: "前月 (ページアップキー)", - nextMonth: "翌月 (ページダウンキー)", - monthSelect: "月を選択", - yearSelect: "年を選択", - decadeSelect: "年代を選択", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "前年 (Controlを押しながら左キー)", - nextYear: "翌年 (Controlを押しながら右キー)", - previousDecade: "前の年代", - nextDecade: "次の年代", - previousCentury: "前の世紀", - nextCentury: "次の世紀" - }, - timePickerLocale: { - placeholder: "時間を選択", - rangePlaceholder: ["開始時間", "終了時間"] - } - }, - TimePicker: { - placeholder: "時間を選択", - rangePlaceholder: ["開始時間", "終了時間"] - }, - Calendar: { - lang: { - placeholder: "日付を選択", - rangePlaceholder: ["開始日付", "終了日付"], - locale: "ja_JP", - today: "今日", - now: "現在時刻", - backToToday: "今日に戻る", - ok: "決定", - timeSelect: "時間を選択", - dateSelect: "日時を選択", - weekSelect: "週を選択", - clear: "クリア", - month: "月", - year: "年", - previousMonth: "前月 (ページアップキー)", - nextMonth: "翌月 (ページダウンキー)", - monthSelect: "月を選択", - yearSelect: "年を選択", - decadeSelect: "年代を選択", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "前年 (Controlを押しながら左キー)", - nextYear: "翌年 (Controlを押しながら右キー)", - previousDecade: "前の年代", - nextDecade: "次の年代", - previousCentury: "前の世紀", - nextCentury: "次の世紀" - }, - timePickerLocale: { - placeholder: "時間を選択", - rangePlaceholder: ["開始時間", "終了時間"] - } - }, - Table: { - filterTitle: "フィルター", - filterConfirm: "OK", - filterReset: "リセット", - filterEmptyText: "フィルターなし", - selectAll: "ページ単位で選択", - selectInvert: "ページ単位で反転", - selectionAll: "すべてを選択", - sortTitle: "ソート", - expand: "展開する", - collapse: "折り畳む", - triggerDesc: "クリックで降順にソート", - triggerAsc: "クリックで昇順にソート", - cancelSort: "ソートをキャンセル" - }, - Modal: { - okText: "OK", - cancelText: "キャンセル", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "キャンセル" - }, - Transfer: { - searchPlaceholder: "ここを検索", - itemUnit: "アイテム", - itemsUnit: "アイテム" - }, - Upload: { - uploading: "アップロード中...", - removeFile: "ファイルを削除", - uploadError: "アップロードエラー", - previewFile: "ファイルをプレビュー", - downloadFile: "ダウンロードファイル" - }, - Empty: { - description: "データがありません" - } -}; -var ka_GE = { - locale: "ka", - Pagination: { - items_per_page: "/ გვერდი.", - jump_to: "გადასვლა", - jump_to_confirm: "დადასტურება", - page: "", - prev_page: "წინა გვერდი", - next_page: "შემდეგი გვერდი", - prev_5: "წინა 5 გვერდი", - next_5: "შემდეგი 5 გვერდი", - prev_3: "წინა 3 გვერდი", - next_3: "შემდეგი 3 გვერდი", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "აირჩიეთ თარიღი", - yearPlaceholder: "აირჩიეთ წელი", - quarterPlaceholder: "აირჩიეთ მეოთხედი", - monthPlaceholder: "აირჩიეთ თვე", - weekPlaceholder: "აირჩიეთ კვირა", - rangePlaceholder: ["საწყისი თარიღი", "საბოლოო თარიღი"], - rangeYearPlaceholder: ["საწყისი წელი", "საბოლოო წელი"], - rangeMonthPlaceholder: ["საწყისი თვე", "საბოლოო თვე"], - rangeWeekPlaceholder: ["საწყისი კვირა", "საბოლოო კვირა"], - locale: "ka_GE", - today: "დღეს", - now: "ახლა", - backToToday: "მიმდინარე თარიღი", - ok: "Ok", - clear: "გასუფთავება", - month: "თვე", - year: "წელი", - timeSelect: "დროის არჩევა", - dateSelect: "თარიღის არჩევა", - weekSelect: "კვირის არჩევა", - monthSelect: "თვის არჩევა", - yearSelect: "წლის არჩევა", - decadeSelect: "ათწლეულის არჩევა", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "წინა თვე (PageUp)", - nextMonth: "მომდევნო თვე (PageDown)", - previousYear: "წინა წელი (Control + left)", - nextYear: "მომდევნო წელი (Control + right)", - previousDecade: "წინა ათწლეული", - nextDecade: "მომდევნო ათწლეული", - previousCentury: "გასული საუკუნე", - nextCentury: "მომდევნო საუკუნე" - }, - timePickerLocale: { - placeholder: "აირჩიეთ დრო", - rangePlaceholder: ["საწყისი თარიღი", "საბოლოო თარიღი"] - } - }, - TimePicker: { - placeholder: "აირჩიეთ დრო", - rangePlaceholder: ["საწყისი თარიღი", "საბოლოო თარიღი"] - }, - Calendar: { - lang: { - placeholder: "აირჩიეთ თარიღი", - yearPlaceholder: "აირჩიეთ წელი", - quarterPlaceholder: "აირჩიეთ მეოთხედი", - monthPlaceholder: "აირჩიეთ თვე", - weekPlaceholder: "აირჩიეთ კვირა", - rangePlaceholder: ["საწყისი თარიღი", "საბოლოო თარიღი"], - rangeYearPlaceholder: ["საწყისი წელი", "საბოლოო წელი"], - rangeMonthPlaceholder: ["საწყისი თვე", "საბოლოო თვე"], - rangeWeekPlaceholder: ["საწყისი კვირა", "საბოლოო კვირა"], - locale: "ka_GE", - today: "დღეს", - now: "ახლა", - backToToday: "მიმდინარე თარიღი", - ok: "Ok", - clear: "გასუფთავება", - month: "თვე", - year: "წელი", - timeSelect: "დროის არჩევა", - dateSelect: "თარიღის არჩევა", - weekSelect: "კვირის არჩევა", - monthSelect: "თვის არჩევა", - yearSelect: "წლის არჩევა", - decadeSelect: "ათწლეულის არჩევა", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "წინა თვე (PageUp)", - nextMonth: "მომდევნო თვე (PageDown)", - previousYear: "წინა წელი (Control + left)", - nextYear: "მომდევნო წელი (Control + right)", - previousDecade: "წინა ათწლეული", - nextDecade: "მომდევნო ათწლეული", - previousCentury: "გასული საუკუნე", - nextCentury: "მომდევნო საუკუნე" - }, - timePickerLocale: { - placeholder: "აირჩიეთ დრო", - rangePlaceholder: ["საწყისი თარიღი", "საბოლოო თარიღი"] - } - }, - global: { - placeholder: "გთხოვთ აირჩიოთ" - }, - Table: { - filterTitle: "ფილტრის მენიუ", - filterConfirm: "კარგი", - filterReset: "გასუფთავება", - filterEmptyText: "ფილტრები არაა", - emptyText: "ინფორმაცია არაა", - selectAll: "აირჩიეთ მიმდინარე გვერდი", - selectInvert: "შეაბრუნეთ მიმდინარე გვერდი", - selectionAll: "ყველას მონიშვნა", - sortTitle: "დალაგება", - expand: "სტრიქონის გაშლა", - collapse: "სტრიქონის შეკუმშვა", - triggerDesc: "დაღმავალი დალაგება", - triggerAsc: "აღმავალი დალაგება", - cancelSort: "დალაგების გაუქმება", - selectNone: "მონაცემების გასუფთავება" - }, - Modal: { - okText: "კარგი", - cancelText: "გაუქმება", - justOkText: "ოკ" - }, - Popconfirm: { - okText: "კარგი", - cancelText: "გაუქმება" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "მოძებნე აქ", - itemUnit: "ერთეული", - itemsUnit: "ერთეულები", - remove: "ამოშლა", - selectCurrent: "მიმდინარე გვერდის არჩევა", - removeCurrent: "მიმდინარე გვერდის ამოშლა", - selectAll: "ყველას მონიშვნა", - removeAll: "ყველას წაშლა", - selectInvert: "მიმდინარე გვერდის შებრუნება" - }, - Upload: { - uploading: "იტვირთება...", - removeFile: "ფაილის ამოშლა", - uploadError: "ატვირთვის შეცდომა", - previewFile: "ფაილის გადახედვა", - downloadFile: "ფაილის ჩამოტვირთვა" - }, - Empty: { - description: "ინფორმაცია არაა" - }, - Icon: { - icon: "ხატულა" - }, - Text: { - edit: "რედაქტირება", - copy: "ასლი", - copied: "ასლი აღებულია", - expand: "გაშლა" - }, - PageHeader: { - back: "უკან" - }, - Image: { - preview: "გადახედვა" - } -}; -var km_KH = { - locale: "km", - Pagination: { - items_per_page: "/ ទំព័រ", - jump_to: "លោត​ទៅ", - jump_to_confirm: "បញ្ជាក់", - page: "ទំព័រ", - prev_page: "ទំព័រ​មុន", - next_page: "ទំព័រ​​បន្ទាប់", - prev_5: "៥ ទំព័រថយក្រោយ", - next_5: "៥ ទំព័រទៅមុខ", - prev_3: "៣ ទំព័រថយក្រោយ", - next_3: "៣ ទំព័រទៅមុខ", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "រើសថ្ងៃ", - yearPlaceholder: "រើសឆ្នាំ", - quarterPlaceholder: "រើសត្រីមាស", - monthPlaceholder: "រើសខែ", - weekPlaceholder: "រើសសប្តាហ៍", - rangePlaceholder: ["ថ្ងៃចាប់ផ្ដើម", "ថ្ងៃបញ្ចប់"], - rangeYearPlaceholder: ["ឆ្នាំចាប់ផ្ដើម", "ឆ្នាំបញ្ចប់"], - rangeMonthPlaceholder: ["ខែចាប់ផ្ដើម", "ខែបញ្ចប់"], - rangeWeekPlaceholder: ["សប្ដាហ៍ចាប់ផ្ដើម", "សប្ដាហ៍បញ្ចប់"], - locale: "km", - today: "ថ្ងៃនេះ", - now: "ឥឡូវ​នេះ", - backToToday: "ត្រលប់ទៅថ្ងៃនេះ", - ok: "កំណត់", - timeSelect: "រយៈពេលជ្រើសរើស", - dateSelect: "ជ្រើសរើសកាលបរិច្ឆេទ", - weekSelect: "ជ្រើសរើសសប្តាហ៍", - clear: "ច្បាស់", - month: "ខែ", - year: "ឆ្នាំ", - previousMonth: "ខែមុន (ឡើងទំព័រ)", - nextMonth: "ខែបន្ទាប់ (ប៊ូតុងចុះទំព័រ)", - monthSelect: "ជ្រើសរើសខែ", - yearSelect: "ជ្រើសរើសឆ្នាំ", - decadeSelect: "ជ្រើសរើសអាយុ", - yearFormat: "YYYY", - dayFormat: "D", - dateFormat: "YYYY-M-D", - dateTimeFormat: "YYYY-M-D HH:mm:ss", - previousYear: "ឆ្នាំមុន (Controlគ្រាប់ចុចបូកព្រួញខាងឆ្វេង)", - nextYear: "ឆ្នាំក្រោយ (Control គ្រាប់ចុចបូកព្រួញស្ដាំ)", - previousDecade: "ជំនាន់ចុងក្រោយ", - nextDecade: "ជំនាន់​ក្រោយ", - previousCentury: "សតវត្សចុងក្រោយ", - nextCentury: "សតវត្សរ៍បន្ទាប់", - monthBeforeYear: true - }, - timePickerLocale: { - placeholder: "រើសម៉ោង", - rangePlaceholder: ["ម៉ោងចប់ផ្ដើម", "ម៉ោងបញ្ចប់"] - } - }, - TimePicker: { - placeholder: "រើសម៉ោង", - rangePlaceholder: ["ម៉ោងចប់ផ្ដើម", "ម៉ោងបញ្ចប់"] - }, - Calendar: { - lang: { - placeholder: "រើសថ្ងៃ", - yearPlaceholder: "រើសឆ្នាំ", - quarterPlaceholder: "រើសត្រីមាស", - monthPlaceholder: "រើសខែ", - weekPlaceholder: "រើសសប្តាហ៍", - rangePlaceholder: ["ថ្ងៃចាប់ផ្ដើម", "ថ្ងៃបញ្ចប់"], - rangeYearPlaceholder: ["ឆ្នាំចាប់ផ្ដើម", "ឆ្នាំបញ្ចប់"], - rangeMonthPlaceholder: ["ខែចាប់ផ្ដើម", "ខែបញ្ចប់"], - rangeWeekPlaceholder: ["សប្ដាហ៍ចាប់ផ្ដើម", "សប្ដាហ៍បញ្ចប់"], - locale: "km", - today: "ថ្ងៃនេះ", - now: "ឥឡូវ​នេះ", - backToToday: "ត្រលប់ទៅថ្ងៃនេះ", - ok: "កំណត់", - timeSelect: "រយៈពេលជ្រើសរើស", - dateSelect: "ជ្រើសរើសកាលបរិច្ឆេទ", - weekSelect: "ជ្រើសរើសសប្តាហ៍", - clear: "ច្បាស់", - month: "ខែ", - year: "ឆ្នាំ", - previousMonth: "ខែមុន (ឡើងទំព័រ)", - nextMonth: "ខែបន្ទាប់ (ប៊ូតុងចុះទំព័រ)", - monthSelect: "ជ្រើសរើសខែ", - yearSelect: "ជ្រើសរើសឆ្នាំ", - decadeSelect: "ជ្រើសរើសអាយុ", - yearFormat: "YYYY", - dayFormat: "D", - dateFormat: "YYYY-M-D", - dateTimeFormat: "YYYY-M-D HH:mm:ss", - previousYear: "ឆ្នាំមុន (Controlគ្រាប់ចុចបូកព្រួញខាងឆ្វេង)", - nextYear: "ឆ្នាំក្រោយ (Control គ្រាប់ចុចបូកព្រួញស្ដាំ)", - previousDecade: "ជំនាន់ចុងក្រោយ", - nextDecade: "ជំនាន់​ក្រោយ", - previousCentury: "សតវត្សចុងក្រោយ", - nextCentury: "សតវត្សរ៍បន្ទាប់", - monthBeforeYear: true - }, - timePickerLocale: { - placeholder: "រើសម៉ោង", - rangePlaceholder: ["ម៉ោងចប់ផ្ដើម", "ម៉ោងបញ្ចប់"] - } - }, - global: { - placeholder: "សូមជ្រើសរើស" - }, - Table: { - filterTitle: "បញ្ចីតម្រៀប", - filterConfirm: "យល់ព្រម", - filterReset: "ត្រឡប់ដើម", - filterEmptyText: "គ្មានបញ្ចីតម្រៀប", - emptyText: "គ្មានទិន្នន័យ", - selectAll: "រើសក្នុងទំព័រនេះ", - selectInvert: "បញ្ច្រាសក្នុងទំព័រនេះ", - selectNone: "លុបចេញទាំងអស់", - selectionAll: "រើសយកទាំងអស់", - sortTitle: "តម្រៀប", - expand: "ពន្លាត", - collapse: "បិតបាំង", - triggerDesc: "ចុចដើម្បីរៀបតាមលំដាប់ធំ", - triggerAsc: "ចុចដើម្បីរៀបតាមលំដាប់តូច​", - cancelSort: "ចុចដើម្បីបោះបង់" - }, - Modal: { - okText: "យល់ព្រម", - cancelText: "បោះបង់", - justOkText: "យល់ព្រម" - }, - Popconfirm: { - okText: "យល់ព្រម", - cancelText: "បោះបង់" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "ស្វែងរកនៅទីនេះ", - itemUnit: "item", - itemsUnit: "items", - remove: "លុប", - selectCurrent: "រើសទំព័របច្ចុប្បន្ន", - removeCurrent: "លុបទំព័របច្ចុប្បន្ន", - selectAll: "រើសទិន្នន័យទាំងអស់", - removeAll: "លុបទិន្នន័យទាំងអស់", - selectInvert: "បញ្ច្រាសទំព័របច្ចុប្បន្ន" - }, - Upload: { - uploading: "កំពុងបញ្ចូលឡើង...", - removeFile: "លុបឯកសារ", - uploadError: "បញ្ចូលមិនជោកជ័យ", - previewFile: "មើលឯកសារ", - downloadFile: "ទាញយកឯកសារ" - }, - Empty: { - description: "គ្មានទិន្នន័យ" - }, - Icon: { - icon: "icon" - }, - Text: { - edit: "កែ", - copy: "Copy", - copied: "Copied", - expand: "ពង្រីក" - }, - PageHeader: { - back: "Back" - } -}; -var kk_KZ = { - locale: "kk", - Pagination: { - items_per_page: "/ бет", - jump_to: "Секіру", - jump_to_confirm: "Растау", - page: "", - prev_page: "Артқа", - next_page: "Алға", - prev_5: "Алдыңғы 5", - next_5: "Келесі 5", - prev_3: "Алдыңғы 3", - next_3: "Келесі 3", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Күнді таңдаңыз", - yearPlaceholder: "Жылды таңдаңыз", - quarterPlaceholder: "Тоқсанды таңдаңыз", - monthPlaceholder: "Айды таңдаңыз", - weekPlaceholder: "Аптаны таңдаңыз", - rangePlaceholder: ["Бастау күні", "Аяқталу күні"], - rangeYearPlaceholder: ["Бастау жылы", "Аяқталу жылы"], - rangeMonthPlaceholder: ["Бастау айы", "Аяқталу айы"], - rangeWeekPlaceholder: ["Бастау апта", "Аяқталу апта"], - locale: "kk_KZ", - today: "Бүгін", - now: "Қазір", - backToToday: "Ағымдағы күн", - ok: "Таңдау", - clear: "Таза", - month: "Ай", - year: "Жыл", - timeSelect: "Уақытты таңдау", - dateSelect: "Күнді таңдау", - monthSelect: "Айды таңдаңыз", - yearSelect: "Жылды таңдаңыз", - decadeSelect: "Онжылды таңдаңыз", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Алдыңғы ай (PageUp)", - nextMonth: "Келесі ай (PageDown)", - previousYear: "Алдыңғы жыл (Control + left)", - nextYear: "Келесі жыл (Control + right)", - previousDecade: "Алдыңғы онжылдық", - nextDecade: "Келесі онжылдық", - previousCentury: "Алдыңғы ғасыр", - nextCentury: "Келесі ғасыр" - }, - timePickerLocale: { - placeholder: "Уақытты таңдаңыз", - rangePlaceholder: ["Бастау уақыты", "Аяқталу уақыты"] - } - }, - TimePicker: { - placeholder: "Уақытты таңдаңыз", - rangePlaceholder: ["Бастау уақыты", "Аяқталу уақыты"] - }, - Calendar: { - lang: { - placeholder: "Күнді таңдаңыз", - yearPlaceholder: "Жылды таңдаңыз", - quarterPlaceholder: "Тоқсанды таңдаңыз", - monthPlaceholder: "Айды таңдаңыз", - weekPlaceholder: "Аптаны таңдаңыз", - rangePlaceholder: ["Бастау күні", "Аяқталу күні"], - rangeYearPlaceholder: ["Бастау жылы", "Аяқталу жылы"], - rangeMonthPlaceholder: ["Бастау айы", "Аяқталу айы"], - rangeWeekPlaceholder: ["Бастау апта", "Аяқталу апта"], - locale: "kk_KZ", - today: "Бүгін", - now: "Қазір", - backToToday: "Ағымдағы күн", - ok: "Таңдау", - clear: "Таза", - month: "Ай", - year: "Жыл", - timeSelect: "Уақытты таңдау", - dateSelect: "Күнді таңдау", - monthSelect: "Айды таңдаңыз", - yearSelect: "Жылды таңдаңыз", - decadeSelect: "Онжылды таңдаңыз", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Алдыңғы ай (PageUp)", - nextMonth: "Келесі ай (PageDown)", - previousYear: "Алдыңғы жыл (Control + left)", - nextYear: "Келесі жыл (Control + right)", - previousDecade: "Алдыңғы онжылдық", - nextDecade: "Келесі онжылдық", - previousCentury: "Алдыңғы ғасыр", - nextCentury: "Келесі ғасыр" - }, - timePickerLocale: { - placeholder: "Уақытты таңдаңыз", - rangePlaceholder: ["Бастау уақыты", "Аяқталу уақыты"] - } - }, - global: { - placeholder: "Таңдаңыз" - }, - Table: { - filterTitle: "Фильтр", - filterConfirm: "OK", - filterReset: "Тазарту", - filterEmptyText: "Фильтр жоқ", - emptyText: "Деректер жоқ", - selectAll: "Барлығын таңдау", - selectInvert: "Таңдауды төңкеру", - selectionAll: "Барлық деректерді таңдаңыз", - sortTitle: "Сұрыптау", - expand: "Жолды жазу", - collapse: "Жолды бүктеу", - triggerDesc: "Төмендеуді сұрыптау үшін басыңыз", - triggerAsc: "Өсу ретімен сұрыптау үшін басыңыз", - cancelSort: "Сұрыптаудан бас тарту үшін басыңыз" - }, - Modal: { - okText: "Жарайды", - cancelText: "Болдырмау", - justOkText: "Жарайды" - }, - Popconfirm: { - okText: "Жарайды", - cancelText: "Болдырмау" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Іздеу", - itemUnit: "элемент.", - itemsUnit: "элемент.", - remove: "Жою", - selectAll: "Барлық деректерді таңдау", - selectCurrent: "Ағымдағы бетті таңдау", - selectInvert: "Кері тәртіпте көрсету", - removeAll: "Барлық деректерді жою", - removeCurrent: "Ағымдағы парақты өшіру" - }, - Upload: { - uploading: "Жүктеу...", - removeFile: "Файлды жою", - uploadError: "Жүктеу кезінде қате пайда болды", - previewFile: "Файлды алдын ала қарау", - downloadFile: "Файлды жүктеу" - }, - Empty: { - description: "Деректер жоқ" - }, - Icon: { - icon: "белгішесі" - }, - Text: { - edit: "Өңдеу", - copy: "Көшіру", - copied: "Көшірілді", - expand: "Жазу" - }, - PageHeader: { - back: "Артқа" - } -}; -var kmr_IQ = { - locale: "ku", - Pagination: { - items_per_page: "/ rûpel", - jump_to: "Biçe", - jump_to_confirm: "piştrast bike", - page: "", - prev_page: "Rûpelê Pêş", - next_page: "Rûpelê Paş", - prev_5: "5 Rûpelên Pêş", - next_5: "5 Rûpelên Paş", - prev_3: "3 Rûpelên Pêş", - next_3: "3 Rûpelên Paş", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Dîrok hilbijêre", - rangePlaceholder: ["Dîroka destpêkê", "Dîroka dawîn"], - locale: "ku", - today: "Îro", - now: "Niha", - backToToday: "Vegere îro", - ok: "Temam", - clear: "Paqij bike", - month: "Meh", - year: "Sal", - timeSelect: "Demê hilbijêre", - dateSelect: "Dîrok hilbijêre", - monthSelect: "Meh hilbijêre", - yearSelect: "Sal hilbijêre", - decadeSelect: "Dehsal hilbijêre", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Meha peş (PageUp))", - nextMonth: "Meha paş (PageDown)", - previousYear: "Sala peş (Control + şep)", - nextYear: "Sala paş (Control + rast)", - previousDecade: "Dehsalen peş", - nextDecade: "Dehsalen paş", - previousCentury: "Sedsalen peş", - nextCentury: "Sedsalen paş" - }, - timePickerLocale: { - placeholder: "Demê hilbijêre" - } - }, - TimePicker: { - placeholder: "Demê hilbijêre" - }, - Calendar: { - lang: { - placeholder: "Dîrok hilbijêre", - rangePlaceholder: ["Dîroka destpêkê", "Dîroka dawîn"], - locale: "ku", - today: "Îro", - now: "Niha", - backToToday: "Vegere îro", - ok: "Temam", - clear: "Paqij bike", - month: "Meh", - year: "Sal", - timeSelect: "Demê hilbijêre", - dateSelect: "Dîrok hilbijêre", - monthSelect: "Meh hilbijêre", - yearSelect: "Sal hilbijêre", - decadeSelect: "Dehsal hilbijêre", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Meha peş (PageUp))", - nextMonth: "Meha paş (PageDown)", - previousYear: "Sala peş (Control + şep)", - nextYear: "Sala paş (Control + rast)", - previousDecade: "Dehsalen peş", - nextDecade: "Dehsalen paş", - previousCentury: "Sedsalen peş", - nextCentury: "Sedsalen paş" - }, - timePickerLocale: { - placeholder: "Demê hilbijêre" - } - }, - Table: { - filterTitle: "Menuê peldanka", - filterConfirm: "Temam", - filterReset: "Jê bibe", - selectAll: "Hemî hilbijêre", - selectInvert: "Hilbijartinan veguhere" - }, - Modal: { - okText: "Temam", - cancelText: "Betal ke", - justOkText: "Temam" - }, - Popconfirm: { - okText: "Temam", - cancelText: "Betal ke" - }, - Transfer: { - searchPlaceholder: "Lêgerîn", - itemUnit: "tişt", - itemsUnit: "tişt" - }, - Upload: { - uploading: "Bardike...", - removeFile: "Pelê rabike", - uploadError: "Xeta barkirine", - previewFile: "Pelê pêşbibîne", - downloadFile: "Pelê dakêşin" - }, - Empty: { - description: "Agahî tune" - } -}; -var kn_IN = { - locale: "kn", - Pagination: { - items_per_page: "/ ಪುಟ", - jump_to: "ಜಿಗಿತವನ್ನು", - jump_to_confirm: "ಖಚಿತಪಡಿಸಲು ಜಿಗಿತವನ್ನು", - page: "", - prev_page: "ಹಿಂದಿನ ಪುಟ", - next_page: "ಮುಂದಿನ ಪುಟ", - prev_5: "ಹಿಂದಿನ 5 ಪುಟಗಳು", - next_5: "ಮುಂದಿನ 5 ಪುಟಗಳು", - prev_3: "ಹಿಂದಿನ 3 ಪುಟಗಳು", - next_3: "ಮುಂದಿನ 3 ಪುಟಗಳು", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ", - rangePlaceholder: ["ಪ್ರಾರಂಭ ದಿನಾಂಕ", "ಅಂತಿಮ ದಿನಾಂಕ"], - locale: "kn_IN", - today: "ಇಂದು", - now: "ಈಗ", - backToToday: "ಇಂದು ಹಿಂದಿರುಗಿ", - ok: "ಸರಿ", - clear: "ಸ್ಪಷ್ಟ", - month: "ತಿಂಗಳು", - year: "ವರ್ಷ", - timeSelect: "ಸಮಯ ಆಯ್ಕೆಮಾಡಿ", - dateSelect: "ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ", - weekSelect: "ಒಂದು ವಾರದ ಆರಿಸಿ", - monthSelect: "ಒಂದು ತಿಂಗಳು ಆಯ್ಕೆಮಾಡಿ", - yearSelect: "ಒಂದು ವರ್ಷ ಆರಿಸಿ", - decadeSelect: "ಒಂದು ದಶಕದ ಆಯ್ಕೆಮಾಡಿ", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "ಹಿಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಅಪ್)", - nextMonth: "ಮುಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಡೌನ್)", - previousYear: "ಕಳೆದ ವರ್ಷ (Ctrl + ಎಡ)", - nextYear: "ಮುಂದಿನ ವರ್ಷ (Ctrl + ಬಲ)", - previousDecade: "ಕಳೆದ ದಶಕ", - nextDecade: "ಮುಂದಿನ ದಶಕ", - previousCentury: "ಕಳೆದ ಶತಮಾನ", - nextCentury: "ಮುಂದಿನ ಶತಮಾನ" - }, - timePickerLocale: { - placeholder: "ಸಮಯ ಆಯ್ಕೆಮಾಡಿ" - } - }, - TimePicker: { - placeholder: "ಸಮಯ ಆಯ್ಕೆಮಾಡಿ" - }, - Calendar: { - lang: { - placeholder: "ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ", - rangePlaceholder: ["ಪ್ರಾರಂಭ ದಿನಾಂಕ", "ಅಂತಿಮ ದಿನಾಂಕ"], - locale: "kn_IN", - today: "ಇಂದು", - now: "ಈಗ", - backToToday: "ಇಂದು ಹಿಂದಿರುಗಿ", - ok: "ಸರಿ", - clear: "ಸ್ಪಷ್ಟ", - month: "ತಿಂಗಳು", - year: "ವರ್ಷ", - timeSelect: "ಸಮಯ ಆಯ್ಕೆಮಾಡಿ", - dateSelect: "ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ", - weekSelect: "ಒಂದು ವಾರದ ಆರಿಸಿ", - monthSelect: "ಒಂದು ತಿಂಗಳು ಆಯ್ಕೆಮಾಡಿ", - yearSelect: "ಒಂದು ವರ್ಷ ಆರಿಸಿ", - decadeSelect: "ಒಂದು ದಶಕದ ಆಯ್ಕೆಮಾಡಿ", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "ಹಿಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಅಪ್)", - nextMonth: "ಮುಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಡೌನ್)", - previousYear: "ಕಳೆದ ವರ್ಷ (Ctrl + ಎಡ)", - nextYear: "ಮುಂದಿನ ವರ್ಷ (Ctrl + ಬಲ)", - previousDecade: "ಕಳೆದ ದಶಕ", - nextDecade: "ಮುಂದಿನ ದಶಕ", - previousCentury: "ಕಳೆದ ಶತಮಾನ", - nextCentury: "ಮುಂದಿನ ಶತಮಾನ" - }, - timePickerLocale: { - placeholder: "ಸಮಯ ಆಯ್ಕೆಮಾಡಿ" - } - }, - global: { - placeholder: "ದಯವಿಟ್ಟು ಆರಿಸಿ" - }, - Table: { - filterTitle: "ಪಟ್ಟಿ ಸೋಸಿ", - filterConfirm: "ಸರಿ", - filterReset: "ಮರುಹೊಂದಿಸಿ", - emptyText: "ಮಾಹಿತಿ ಇಲ್ಲ", - selectAll: "ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಆಯ್ಕೆಮಾಡಿ", - selectInvert: "ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ತಿರುಗಿಸಿ", - sortTitle: "ವಿಂಗಡಿಸಿ" - }, - Modal: { - okText: "ಸರಿ", - cancelText: "ರದ್ದು", - justOkText: "ಸರಿ" - }, - Popconfirm: { - okText: "ಸರಿ", - cancelText: "ರದ್ದು" - }, - Transfer: { - titles: ["", ""], - notFoundContent: "ದೊರೆತಿಲ್ಲ", - searchPlaceholder: "ಇಲ್ಲಿ ಹುಡುಕಿ", - itemUnit: "ವಿಷಯ", - itemsUnit: "ವಿಷಯಗಳು" - }, - Select: { - notFoundContent: "ದೊರೆತಿಲ್ಲ" - }, - Upload: { - uploading: "ಏರಿಸಿ...", - removeFile: "ಫೈಲ್ ತೆಗೆದುಹಾಕಿ", - uploadError: "ಏರಿಸುವ ದೋಷ", - previewFile: "ಫೈಲ್ ಮುನ್ನೋಟ", - downloadFile: "ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ" - } -}; -var ko_KR = { - locale: "ko", - Pagination: { - items_per_page: "/ 쪽", - jump_to: "이동하기", - jump_to_confirm: "확인하다", - page: "페이지", - prev_page: "이전 페이지", - next_page: "다음 페이지", - prev_5: "이전 5 페이지", - next_5: "다음 5 페이지", - prev_3: "이전 3 페이지", - next_3: "다음 3 페이지", - page_size: "페이지 크기" - }, - DatePicker: { - lang: { - placeholder: "날짜 선택", - rangePlaceholder: ["시작일", "종료일"], - locale: "ko_KR", - today: "오늘", - now: "현재 시각", - backToToday: "오늘로 돌아가기", - ok: "확인", - clear: "지우기", - month: "월", - year: "년", - timeSelect: "시간 선택", - dateSelect: "날짜 선택", - monthSelect: "달 선택", - yearSelect: "연 선택", - decadeSelect: "연대 선택", - yearFormat: "YYYY년", - dateFormat: "YYYY-MM-DD", - dayFormat: "Do", - dateTimeFormat: "YYYY-MM-DD HH:mm:ss", - monthBeforeYear: false, - previousMonth: "이전 달 (PageUp)", - nextMonth: "다음 달 (PageDown)", - previousYear: "이전 해 (Control + left)", - nextYear: "다음 해 (Control + right)", - previousDecade: "이전 연대", - nextDecade: "다음 연대", - previousCentury: "이전 세기", - nextCentury: "다음 세기" - }, - timePickerLocale: { - placeholder: "시간 선택", - rangePlaceholder: ["시작 시간", "종료 시간"] - } - }, - TimePicker: { - placeholder: "시간 선택", - rangePlaceholder: ["시작 시간", "종료 시간"] - }, - Calendar: { - lang: { - placeholder: "날짜 선택", - rangePlaceholder: ["시작일", "종료일"], - locale: "ko_KR", - today: "오늘", - now: "현재 시각", - backToToday: "오늘로 돌아가기", - ok: "확인", - clear: "지우기", - month: "월", - year: "년", - timeSelect: "시간 선택", - dateSelect: "날짜 선택", - monthSelect: "달 선택", - yearSelect: "연 선택", - decadeSelect: "연대 선택", - yearFormat: "YYYY년", - dateFormat: "YYYY-MM-DD", - dayFormat: "Do", - dateTimeFormat: "YYYY-MM-DD HH:mm:ss", - monthBeforeYear: false, - previousMonth: "이전 달 (PageUp)", - nextMonth: "다음 달 (PageDown)", - previousYear: "이전 해 (Control + left)", - nextYear: "다음 해 (Control + right)", - previousDecade: "이전 연대", - nextDecade: "다음 연대", - previousCentury: "이전 세기", - nextCentury: "다음 세기" - }, - timePickerLocale: { - placeholder: "시간 선택", - rangePlaceholder: ["시작 시간", "종료 시간"] - } - }, - Table: { - filterTitle: "필터 메뉴", - filterConfirm: "확인", - filterReset: "초기화", - selectAll: "모두 선택", - selectInvert: "선택 반전", - filterEmptyText: "필터 없음", - emptyText: "데이터 없음" - }, - Modal: { - okText: "확인", - cancelText: "취소", - justOkText: "확인" - }, - Popconfirm: { - okText: "확인", - cancelText: "취소" - }, - Transfer: { - searchPlaceholder: "여기에 검색하세요", - itemUnit: "개", - itemsUnit: "개" - }, - Upload: { - uploading: "업로드 중...", - removeFile: "파일 삭제", - uploadError: "업로드 실패", - previewFile: "파일 미리보기", - downloadFile: "파일 다운로드" - }, - Empty: { - description: "데이터 없음" - } -}; -var ku_IQ = { - locale: "ku-iq", - Pagination: { - items_per_page: "/ rûpel", - jump_to: "Biçe", - jump_to_confirm: "piştrast bike", - page: "", - prev_page: "Rûpelê Pêş", - next_page: "Rûpelê Paş", - prev_5: "5 Rûpelên Pêş", - next_5: "5 Rûpelên Paş", - prev_3: "3 Rûpelên Pêş", - next_3: "3 Rûpelên Paş", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Dîrok hilbijêre", - rangePlaceholder: ["Dîroka destpêkê", "Dîroka dawîn"], - locale: "ku", - today: "Îro", - now: "Niha", - backToToday: "Vegere îro", - ok: "Temam", - clear: "Paqij bike", - month: "Meh", - year: "Sal", - timeSelect: "Demê hilbijêre", - dateSelect: "Dîrok hilbijêre", - monthSelect: "Meh hilbijêre", - yearSelect: "Sal hilbijêre", - decadeSelect: "Dehsal hilbijêre", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Meha peş (PageUp))", - nextMonth: "Meha paş (PageDown)", - previousYear: "Sala peş (Control + şep)", - nextYear: "Sala paş (Control + rast)", - previousDecade: "Dehsalen peş", - nextDecade: "Dehsalen paş", - previousCentury: "Sedsalen peş", - nextCentury: "Sedsalen paş" - }, - timePickerLocale: { - placeholder: "Demê hilbijêre" - } - }, - TimePicker: { - placeholder: "Demê hilbijêre" - }, - Calendar: { - lang: { - placeholder: "Dîrok hilbijêre", - rangePlaceholder: ["Dîroka destpêkê", "Dîroka dawîn"], - locale: "ku", - today: "Îro", - now: "Niha", - backToToday: "Vegere îro", - ok: "Temam", - clear: "Paqij bike", - month: "Meh", - year: "Sal", - timeSelect: "Demê hilbijêre", - dateSelect: "Dîrok hilbijêre", - monthSelect: "Meh hilbijêre", - yearSelect: "Sal hilbijêre", - decadeSelect: "Dehsal hilbijêre", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Meha peş (PageUp))", - nextMonth: "Meha paş (PageDown)", - previousYear: "Sala peş (Control + şep)", - nextYear: "Sala paş (Control + rast)", - previousDecade: "Dehsalen peş", - nextDecade: "Dehsalen paş", - previousCentury: "Sedsalen peş", - nextCentury: "Sedsalen paş" - }, - timePickerLocale: { - placeholder: "Demê hilbijêre" - } - }, - Table: { - filterTitle: "Menuê peldanka", - filterConfirm: "Temam", - filterReset: "Jê bibe", - selectAll: "Hemî hilbijêre", - selectInvert: "Hilbijartinan veguhere" - }, - Modal: { - okText: "Temam", - cancelText: "Betal ke", - justOkText: "Temam" - }, - Popconfirm: { - okText: "Temam", - cancelText: "Betal ke" - }, - Transfer: { - searchPlaceholder: "Lêgerîn", - itemUnit: "tişt", - itemsUnit: "tişt" - }, - Upload: { - uploading: "Bardike...", - removeFile: "Pelê rabike", - uploadError: "Xeta barkirine", - previewFile: "Pelê pêşbibîne", - downloadFile: "Pelê dakêşin" - }, - Empty: { - description: "Agahî tune" - } -}; -var lt_LT = { - locale: "lt", - Pagination: { - items_per_page: "/ psl.", - jump_to: "Pereiti", - jump_to_confirm: "patvirtinti", - page: "", - prev_page: "Atgal", - next_page: "Pirmyn", - prev_5: "Grįžti 5 pls.", - next_5: "Peršokti 5 pls.", - prev_3: "Grįžti 3 pls.", - next_3: "Peršokti 3 pls.", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Pasirinkite datą", - yearPlaceholder: "Pasirinkite metus", - quarterPlaceholder: "Pasirinkite ketvirtį", - monthPlaceholder: "Pasirinkite mėnesį", - weekPlaceholder: "Pasirinkite savaitę", - rangePlaceholder: ["Pradžios data", "Pabaigos data"], - rangeYearPlaceholder: ["Pradžios metai", "Pabaigos metai"], - rangeMonthPlaceholder: ["Pradžios mėnesis", "Pabaigos mėnesis"], - rangeWeekPlaceholder: ["Pradžios savaitė", "Pabaigos savaitė"], - locale: "lt_LT", - today: "Šiandien", - now: "Dabar", - backToToday: "Rodyti šiandien", - ok: "Gerai", - clear: "Išvalyti", - month: "Mėnesis", - year: "Metai", - timeSelect: "Pasirinkti laiką", - dateSelect: "Pasirinkti datą", - monthSelect: "Pasirinkti mėnesį", - yearSelect: "Pasirinkti metus", - decadeSelect: "Pasirinkti dešimtmetį", - yearFormat: "YYYY", - dateFormat: "YYYY-MM-DD", - dayFormat: "DD", - dateTimeFormat: "YYYY-MM-DD HH:MM:SS", - monthBeforeYear: true, - previousMonth: "Buvęs mėnesis (PageUp)", - nextMonth: "Sekantis mėnesis (PageDown)", - previousYear: "Buvę metai (Control + left)", - nextYear: "Sekantis metai (Control + right)", - previousDecade: "Buvęs dešimtmetis", - nextDecade: "Sekantis dešimtmetis", - previousCentury: "Buvęs amžius", - nextCentury: "Sekantis amžius" - }, - timePickerLocale: { - placeholder: "Pasirinkite laiką", - rangePlaceholder: ["Pradžios laikas", "Pabaigos laikas"] - } - }, - TimePicker: { - placeholder: "Pasirinkite laiką", - rangePlaceholder: ["Pradžios laikas", "Pabaigos laikas"] - }, - Calendar: { - lang: { - placeholder: "Pasirinkite datą", - yearPlaceholder: "Pasirinkite metus", - quarterPlaceholder: "Pasirinkite ketvirtį", - monthPlaceholder: "Pasirinkite mėnesį", - weekPlaceholder: "Pasirinkite savaitę", - rangePlaceholder: ["Pradžios data", "Pabaigos data"], - rangeYearPlaceholder: ["Pradžios metai", "Pabaigos metai"], - rangeMonthPlaceholder: ["Pradžios mėnesis", "Pabaigos mėnesis"], - rangeWeekPlaceholder: ["Pradžios savaitė", "Pabaigos savaitė"], - locale: "lt_LT", - today: "Šiandien", - now: "Dabar", - backToToday: "Rodyti šiandien", - ok: "Gerai", - clear: "Išvalyti", - month: "Mėnesis", - year: "Metai", - timeSelect: "Pasirinkti laiką", - dateSelect: "Pasirinkti datą", - monthSelect: "Pasirinkti mėnesį", - yearSelect: "Pasirinkti metus", - decadeSelect: "Pasirinkti dešimtmetį", - yearFormat: "YYYY", - dateFormat: "YYYY-MM-DD", - dayFormat: "DD", - dateTimeFormat: "YYYY-MM-DD HH:MM:SS", - monthBeforeYear: true, - previousMonth: "Buvęs mėnesis (PageUp)", - nextMonth: "Sekantis mėnesis (PageDown)", - previousYear: "Buvę metai (Control + left)", - nextYear: "Sekantis metai (Control + right)", - previousDecade: "Buvęs dešimtmetis", - nextDecade: "Sekantis dešimtmetis", - previousCentury: "Buvęs amžius", - nextCentury: "Sekantis amžius" - }, - timePickerLocale: { - placeholder: "Pasirinkite laiką", - rangePlaceholder: ["Pradžios laikas", "Pabaigos laikas"] - } - }, - Table: { - filterTitle: "Filtras", - filterConfirm: "Gerai", - filterReset: "Atstatyti", - filterEmptyText: "Be filtrų", - emptyText: "Nėra duomenų", - selectAll: "Pasirinkti viską", - selectInvert: "Apversti pasirinkimą", - selectionAll: "Rinktis visus", - sortTitle: "Rikiavimas", - expand: "Išskleisti", - collapse: "Suskleisti", - triggerDesc: "Spustelėkite norėdami rūšiuoti mažėjančia tvarka", - triggerAsc: "Spustelėkite norėdami rūšiuoti didėjančia tvarka", - cancelSort: "Spustelėkite, kad atšauktumėte rūšiavimą" - }, - Modal: { - okText: "Taip", - cancelText: "Atšaukti", - justOkText: "Gerai" - }, - Popconfirm: { - okText: "Taip", - cancelText: "Atšaukti" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Paieška", - itemUnit: "vnt.", - itemsUnit: "vnt.", - remove: "Pašalinti", - selectAll: "Pasirinkti visus", - selectCurrent: "Pasirinkite dabartinį puslapį", - selectInvert: "Atkeist pasirinkimą", - removeAll: "Ištrinti visus duomenis", - removeCurrent: "Ištrinti dabartinį puslapį" - }, - Upload: { - uploading: "Gaunami duomenys...", - removeFile: "Ištrinti failą", - uploadError: "Įkeliant įvyko klaida", - previewFile: "Failo peržiūra", - downloadFile: "Įkelti failą" - }, - Empty: { - description: "Nėra duomenų" - }, - Icon: { - icon: "piktograma" - }, - Text: { - edit: "Redaguoti", - copy: "Kopijuoti", - copied: "Nukopijuota", - expand: "Plačiau" - }, - PageHeader: { - back: "Atgal" - } -}; -var lv_LV = { - locale: "lv", - Pagination: { - items_per_page: "/ lappuse", - jump_to: "iet uz", - jump_to_confirm: "apstiprināt", - page: "", - prev_page: "Iepriekšējā lapa", - next_page: "Nākamā lapaspuse", - prev_5: "Iepriekšējās 5 lapas", - next_5: "Nākamās 5 lapas", - prev_3: "Iepriekšējās 3 lapas", - next_3: "Nākamās 3 lapas", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Izvēlieties datumu", - rangePlaceholder: ["Sākuma datums", "Beigu datums"], - locale: "lv_LV", - today: "Šodien", - now: "Tagad", - backToToday: "Atpakaļ pie šodienas", - ok: "Ok", - clear: "Skaidrs", - month: "Mēnesis", - year: "Gads", - timeSelect: "Izvēlieties laiku", - dateSelect: "Izvēlieties datumu", - monthSelect: "Izvēlieties mēnesi", - yearSelect: "Izvēlieties gadu", - decadeSelect: "Izvēlieties desmit gadus", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Iepriekšējais mēnesis (PageUp)", - nextMonth: "Nākammēnes (PageDown)", - previousYear: "Pagājušais gads (Control + left)", - nextYear: "Nākamgad (Control + right)", - previousDecade: "Pēdējā desmitgadē", - nextDecade: "Nākamā desmitgade", - previousCentury: "Pagājušajā gadsimtā", - nextCentury: "Nākamajā gadsimtā" - }, - timePickerLocale: { - placeholder: "Izvēlieties laiku" - } - }, - TimePicker: { - placeholder: "Izvēlieties laiku" - }, - Calendar: { - lang: { - placeholder: "Izvēlieties datumu", - rangePlaceholder: ["Sākuma datums", "Beigu datums"], - locale: "lv_LV", - today: "Šodien", - now: "Tagad", - backToToday: "Atpakaļ pie šodienas", - ok: "Ok", - clear: "Skaidrs", - month: "Mēnesis", - year: "Gads", - timeSelect: "Izvēlieties laiku", - dateSelect: "Izvēlieties datumu", - monthSelect: "Izvēlieties mēnesi", - yearSelect: "Izvēlieties gadu", - decadeSelect: "Izvēlieties desmit gadus", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Iepriekšējais mēnesis (PageUp)", - nextMonth: "Nākammēnes (PageDown)", - previousYear: "Pagājušais gads (Control + left)", - nextYear: "Nākamgad (Control + right)", - previousDecade: "Pēdējā desmitgadē", - nextDecade: "Nākamā desmitgade", - previousCentury: "Pagājušajā gadsimtā", - nextCentury: "Nākamajā gadsimtā" - }, - timePickerLocale: { - placeholder: "Izvēlieties laiku" - } - }, - Table: { - filterTitle: "Filtrēšanas izvēlne", - filterConfirm: "OK", - filterReset: "Atiestatīt", - selectAll: "Atlasiet pašreizējo lapu", - selectInvert: "Pārvērst pašreizējo lapu" - }, - Modal: { - okText: "OK", - cancelText: "Atcelt", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Atcelt" - }, - Transfer: { - searchPlaceholder: "Meklēt šeit", - itemUnit: "vienumu", - itemsUnit: "vienumus" - }, - Upload: { - uploading: "Augšupielāde...", - removeFile: "Noņemt failu", - uploadError: "Augšupielādes kļūda", - previewFile: "Priekšskatiet failu", - downloadFile: "Lejupielādēt failu" - }, - Empty: { - description: "Nav datu" - } -}; -var mk_MK = { - locale: "mk", - Pagination: { - items_per_page: "/ стр", - jump_to: "Оди на", - jump_to_confirm: "потврди", - page: "", - prev_page: "Претходна страница", - next_page: "Наредна страница", - prev_5: "Претходни 5 страници", - next_5: "Наредни 5 страници", - prev_3: "Претходни 3 страници", - next_3: "Наредни 3 страници", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Избери датум", - rangePlaceholder: ["Од датум", "До датум"], - locale: "mk_MK", - today: "Денес", - now: "Сега", - backToToday: "Назад до денес", - ok: "ОК", - clear: "Избриши", - month: "Месец", - year: "Година", - timeSelect: "Избери време", - dateSelect: "Избери датум", - monthSelect: "Избери месец", - yearSelect: "Избери година", - decadeSelect: "Избери деценија", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Претходен месец (PageUp)", - nextMonth: "Нареден месец (PageDown)", - previousYear: "Претходна година (Control + left)", - nextYear: "Наредна година (Control + right)", - previousDecade: "Претходна деценија", - nextDecade: "Наредна деценија", - previousCentury: "Претходен век", - nextCentury: "Нареден век" - }, - timePickerLocale: { - placeholder: "Избери време" - } - }, - TimePicker: { - placeholder: "Избери време" - }, - Calendar: { - lang: { - placeholder: "Избери датум", - rangePlaceholder: ["Од датум", "До датум"], - locale: "mk_MK", - today: "Денес", - now: "Сега", - backToToday: "Назад до денес", - ok: "ОК", - clear: "Избриши", - month: "Месец", - year: "Година", - timeSelect: "Избери време", - dateSelect: "Избери датум", - monthSelect: "Избери месец", - yearSelect: "Избери година", - decadeSelect: "Избери деценија", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Претходен месец (PageUp)", - nextMonth: "Нареден месец (PageDown)", - previousYear: "Претходна година (Control + left)", - nextYear: "Наредна година (Control + right)", - previousDecade: "Претходна деценија", - nextDecade: "Наредна деценија", - previousCentury: "Претходен век", - nextCentury: "Нареден век" - }, - timePickerLocale: { - placeholder: "Избери време" - } - }, - global: { - placeholder: "Ве молиме означете" - }, - Table: { - filterTitle: "Мени за филтрирање", - filterConfirm: "ОК", - filterReset: "Избриши", - selectAll: "Одбери страница", - selectInvert: "Инвертирај страница" - }, - Modal: { - okText: "ОК", - cancelText: "Откажи", - justOkText: "ОК" - }, - Popconfirm: { - okText: "ОК", - cancelText: "Откажи" - }, - Transfer: { - searchPlaceholder: "Пребарај тука", - itemUnit: "предмет", - itemsUnit: "предмети" - }, - Upload: { - uploading: "Се прикачува...", - removeFile: "Избриши фајл", - uploadError: "Грешка при прикачување", - previewFile: "Прикажи фајл", - downloadFile: "Преземи фајл" - }, - Empty: { - description: "Нема податоци" - }, - Icon: { - icon: "Икона" - }, - Text: { - edit: "Уреди", - copy: "Копирај", - copied: "Копирано", - expand: "Зголеми" - }, - PageHeader: { - back: "Назад" - } -}; -var ml_IN = { - locale: "ml", - Pagination: { - items_per_page: "/ പേജ്", - jump_to: "അടുത്തത്", - jump_to_confirm: "ഉറപ്പാക്കുക", - page: "", - prev_page: "മുൻപുള്ള പേജ്", - next_page: "അടുത്ത പേജ്", - prev_5: "മുൻപുള്ള 5 പേജുകൾ", - next_5: "അടുത്ത 5 പേജുകൾ", - prev_3: "മുൻപുള്ള 3 പേജുകൾ", - next_3: "അടുത്ത 3 പേജുകൾ", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "തിയതി തിരഞ്ഞെടുക്കുക", - yearPlaceholder: "വർഷം തിരഞ്ഞെടുക്കുക", - quarterPlaceholder: "ത്രൈമാസം തിരഞ്ഞെടുക്കുക", - monthPlaceholder: "മാസം തിരഞ്ഞെടുക്കുക", - weekPlaceholder: "വാരം തിരഞ്ഞെടുക്കുക", - rangePlaceholder: ["ആരംഭ ദിനം", "അവസാന ദിനം"], - rangeYearPlaceholder: ["ആരംഭ വർഷം", "അവസാന വർഷം"], - rangeMonthPlaceholder: ["ആരംഭ മാസം", "അവസാന മാസം"], - rangeWeekPlaceholder: ["ആരംഭ വാരം", "അവസാന വാരം"], - locale: "ml_IN", - today: "ഇന്ന്", - now: "ഇപ്പോൾ", - backToToday: "ഇന്നത്തെ ദിവസത്തിലേക്ക് തിരിച്ചു പോകുക", - ok: "ശരിയാണ്", - clear: "നീക്കം ചെയ്യുക", - month: "മാസം", - year: "വർഷം", - timeSelect: "സമയം തിരഞ്ഞെടുക്കുക", - dateSelect: "ദിവസം തിരഞ്ഞെടുക്കുക", - weekSelect: "വാരം തിരഞ്ഞെടുക്കുക", - monthSelect: "മാസം തിരഞ്ഞെടുക്കുക", - yearSelect: "വർഷം തിരഞ്ഞെടുക്കുക", - decadeSelect: "ദശാബ്ദം തിരഞ്ഞെടുക്കുക", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "കഴിഞ്ഞ മാസം (PageUp)", - nextMonth: "അടുത്ത മാസം (PageDown)", - previousYear: "കഴിഞ്ഞ വർഷം (Control + left)", - nextYear: "അടുത്ത വർഷം (Control + right)", - previousDecade: "കഴിഞ്ഞ ദശാബ്ദം", - nextDecade: "അടുത്ത ദശാബ്ദം", - previousCentury: "കഴിഞ്ഞ നൂറ്റാണ്ട്", - nextCentury: "അടുത്ത നൂറ്റാണ്ട്" - }, - timePickerLocale: { - placeholder: "സമയം തിരഞ്ഞെടുക്കുക", - rangePlaceholder: ["ആരംഭ സമയം", "അവസാന സമയം"] - } - }, - TimePicker: { - placeholder: "സമയം തിരഞ്ഞെടുക്കുക", - rangePlaceholder: ["ആരംഭ സമയം", "അവസാന സമയം"] - }, - Calendar: { - lang: { - placeholder: "തിയതി തിരഞ്ഞെടുക്കുക", - yearPlaceholder: "വർഷം തിരഞ്ഞെടുക്കുക", - quarterPlaceholder: "ത്രൈമാസം തിരഞ്ഞെടുക്കുക", - monthPlaceholder: "മാസം തിരഞ്ഞെടുക്കുക", - weekPlaceholder: "വാരം തിരഞ്ഞെടുക്കുക", - rangePlaceholder: ["ആരംഭ ദിനം", "അവസാന ദിനം"], - rangeYearPlaceholder: ["ആരംഭ വർഷം", "അവസാന വർഷം"], - rangeMonthPlaceholder: ["ആരംഭ മാസം", "അവസാന മാസം"], - rangeWeekPlaceholder: ["ആരംഭ വാരം", "അവസാന വാരം"], - locale: "ml_IN", - today: "ഇന്ന്", - now: "ഇപ്പോൾ", - backToToday: "ഇന്നത്തെ ദിവസത്തിലേക്ക് തിരിച്ചു പോകുക", - ok: "ശരിയാണ്", - clear: "നീക്കം ചെയ്യുക", - month: "മാസം", - year: "വർഷം", - timeSelect: "സമയം തിരഞ്ഞെടുക്കുക", - dateSelect: "ദിവസം തിരഞ്ഞെടുക്കുക", - weekSelect: "വാരം തിരഞ്ഞെടുക്കുക", - monthSelect: "മാസം തിരഞ്ഞെടുക്കുക", - yearSelect: "വർഷം തിരഞ്ഞെടുക്കുക", - decadeSelect: "ദശാബ്ദം തിരഞ്ഞെടുക്കുക", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "കഴിഞ്ഞ മാസം (PageUp)", - nextMonth: "അടുത്ത മാസം (PageDown)", - previousYear: "കഴിഞ്ഞ വർഷം (Control + left)", - nextYear: "അടുത്ത വർഷം (Control + right)", - previousDecade: "കഴിഞ്ഞ ദശാബ്ദം", - nextDecade: "അടുത്ത ദശാബ്ദം", - previousCentury: "കഴിഞ്ഞ നൂറ്റാണ്ട്", - nextCentury: "അടുത്ത നൂറ്റാണ്ട്" - }, - timePickerLocale: { - placeholder: "സമയം തിരഞ്ഞെടുക്കുക", - rangePlaceholder: ["ആരംഭ സമയം", "അവസാന സമയം"] - } - }, - global: { - placeholder: "ദയവായി തിരഞ്ഞെടുക്കുക" - }, - Table: { - filterTitle: "ഫിൽറ്റർ", - filterConfirm: "ശരിയാണ്", - filterReset: "പുനഃക്രമീകരിക്കുക", - filterEmptyText: "ഫിൽറ്ററുകളൊന്നുമില്ല", - emptyText: "ഡാറ്റയൊന്നുമില്ല", - selectAll: "നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക", - selectInvert: "നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക", - selectNone: "എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക", - selectionAll: "എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക", - sortTitle: "ക്രമമാക്കുക", - expand: "വരി വികസിപ്പിക്കുക", - collapse: "വരി ചുരുക്കുക", - triggerDesc: "അവരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക", - triggerAsc: "ആരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക", - cancelSort: "ക്രമീകരണം ഒഴിവാക്കുന്നതിനായി ക്ലിക്ക് ചെയ്യുക" - }, - Modal: { - okText: "ശരിയാണ്", - cancelText: "റദ്ദാക്കുക", - justOkText: "ശരിയാണ്" - }, - Popconfirm: { - okText: "ശരിയാണ്", - cancelText: "റദ്ദാക്കുക" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "ഇവിടെ തിരയുക", - itemUnit: "ഇനം", - itemsUnit: "ഇനങ്ങൾ", - remove: "നീക്കം ചെയ്യുക", - selectCurrent: "നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക", - removeCurrent: "നിലവിലെ പേജ് നീക്കം ചെയ്യുക", - selectAll: "എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക", - removeAll: "എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക", - selectInvert: "നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക" - }, - Upload: { - uploading: "അപ്‌ലോഡ് ചെയ്തു കൊണ്ടിരിക്കുന്നു...", - removeFile: "ഫയൽ നീക്കം ചെയ്യുക", - uploadError: "അപ്‌ലോഡിൽ പിശക് സംഭവിച്ചിരിക്കുന്നു", - previewFile: "ഫയൽ പ്രിവ്യൂ ചെയ്യുക", - downloadFile: "ഫയൽ ഡൗൺലോഡ് ചെയ്യുക" - }, - Empty: { - description: "ഡാറ്റയൊന്നുമില്ല" - }, - Icon: { - icon: "ഐക്കൺ" - }, - Text: { - edit: "തിരുത്തുക", - copy: "കോപ്പി ചെയ്യുക", - copied: "കോപ്പി ചെയ്തു", - expand: "വികസിപ്പിക്കുക" - }, - PageHeader: { - back: "തിരികെ" - }, - Image: { - preview: "പ്രിവ്യൂ" - } -}; -var mn_MN = { - locale: "mn-mn", - Pagination: { - items_per_page: "/ хуудас", - jump_to: "Шилжих", - jump_to_confirm: "сонгох", - page: "", - prev_page: "Өмнөх хуудас", - next_page: "Дараагийн хуудас", - prev_5: "Дараагийн 5 хуудас", - next_5: "Дараагийн 5 хуудас", - prev_3: "Дараагийн 3 хуудас", - next_3: "Дараагийн 3 хуудас", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Огноо сонгох", - rangePlaceholder: ["Эхлэх огноо", "Дуусах огноо"], - locale: "mn_MN", - today: "Өнөөдөр", - now: "Одоо", - backToToday: "Өнөөдөрлүү буцах", - ok: "Ok", - clear: "Цэвэрлэх", - month: "Сар", - year: "Жил", - timeSelect: "Цаг сонгох", - dateSelect: "Огноо сонгох", - weekSelect: "7 хоног сонгох", - monthSelect: "Сар сонгох", - yearSelect: "Жил сонгох", - decadeSelect: "Арван сонгох", - yearFormat: "YYYY", - dateFormat: "YYYY/MM/DD", - dayFormat: "DD", - dateTimeFormat: "YYYY/MM/DD HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Өмнөх сар (PageUp)", - nextMonth: "Дараа сар (PageDown)", - previousYear: "Өмнөх жил (Control + left)", - nextYear: "Дараа жил (Control + right)", - previousDecade: "Өмнөх арван", - nextDecade: "Дараа арван", - previousCentury: "Өмнөх зуун", - nextCentury: "Дараа зуун" - }, - timePickerLocale: { - placeholder: "Цаг сонгох" - } - }, - TimePicker: { - placeholder: "Цаг сонгох" - }, - Calendar: { - lang: { - placeholder: "Огноо сонгох", - rangePlaceholder: ["Эхлэх огноо", "Дуусах огноо"], - locale: "mn_MN", - today: "Өнөөдөр", - now: "Одоо", - backToToday: "Өнөөдөрлүү буцах", - ok: "Ok", - clear: "Цэвэрлэх", - month: "Сар", - year: "Жил", - timeSelect: "Цаг сонгох", - dateSelect: "Огноо сонгох", - weekSelect: "7 хоног сонгох", - monthSelect: "Сар сонгох", - yearSelect: "Жил сонгох", - decadeSelect: "Арван сонгох", - yearFormat: "YYYY", - dateFormat: "YYYY/MM/DD", - dayFormat: "DD", - dateTimeFormat: "YYYY/MM/DD HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Өмнөх сар (PageUp)", - nextMonth: "Дараа сар (PageDown)", - previousYear: "Өмнөх жил (Control + left)", - nextYear: "Дараа жил (Control + right)", - previousDecade: "Өмнөх арван", - nextDecade: "Дараа арван", - previousCentury: "Өмнөх зуун", - nextCentury: "Дараа зуун" - }, - timePickerLocale: { - placeholder: "Цаг сонгох" - } - }, - Table: { - filterTitle: "Хайх цэс", - filterConfirm: "OK", - filterReset: "Цэвэрлэх", - selectAll: "Бүгдийг сонгох", - selectInvert: "Бусдыг сонгох" - }, - Modal: { - okText: "OK", - cancelText: "Цуцлах", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Цуцлах" - }, - Transfer: { - searchPlaceholder: "Хайх", - itemUnit: "Зүйл", - itemsUnit: "Зүйлүүд" - }, - Upload: { - uploading: "Хуулж байна...", - removeFile: "Файл устгах", - uploadError: "Хуулахад алдаа гарлаа", - previewFile: "Файлыг түргэн үзэх", - downloadFile: "Файлыг татах" - }, - Empty: { - description: "Мэдээлэл байхгүй байна" - } -}; -var ms_MY = { - locale: "ms-my", - Pagination: { - items_per_page: "/ halaman", - jump_to: "Lompat ke", - jump_to_confirm: "Sahkan", - page: "", - prev_page: "Halaman sebelumnya", - next_page: "Halam seterusnya", - prev_5: "5 halaman sebelum", - next_5: "5 halaman seterusnya", - prev_3: "3 halaman sebelumnya", - next_3: "3 halaman seterusnya", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Pilih tarikh", - rangePlaceholder: ["Tarikh mula", "Tarikh akhir"], - locale: "ms_MY", - today: "Hari ini", - now: "Sekarang", - backToToday: "Kembali ke hari ini", - ok: "Ok", - timeSelect: "Pilih masa", - dateSelect: "Pilih tarikh", - weekSelect: "Pilih minggu", - clear: "Padam", - month: "Bulan", - year: "Tahun", - previousMonth: "Bulan lepas", - nextMonth: "Bulan depan", - monthSelect: "Pilih bulan", - yearSelect: "Pilih tahun", - decadeSelect: "Pilih dekad", - yearFormat: "YYYY", - dayFormat: "D", - dateFormat: "M/D/YYYY", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - previousYear: "Tahun lepas (Ctrl+left)", - nextYear: "Tahun depan (Ctrl+right)", - previousDecade: "Dekad lepas", - nextDecade: "Dekad depan", - previousCentury: "Abad lepas", - nextCentury: "Abad depan" - }, - timePickerLocale: { - placeholder: "Sila pilih masa" - } - }, - TimePicker: { - placeholder: "Sila pilih masa" - }, - Calendar: { - lang: { - placeholder: "Pilih tarikh", - rangePlaceholder: ["Tarikh mula", "Tarikh akhir"], - locale: "ms_MY", - today: "Hari ini", - now: "Sekarang", - backToToday: "Kembali ke hari ini", - ok: "Ok", - timeSelect: "Pilih masa", - dateSelect: "Pilih tarikh", - weekSelect: "Pilih minggu", - clear: "Padam", - month: "Bulan", - year: "Tahun", - previousMonth: "Bulan lepas", - nextMonth: "Bulan depan", - monthSelect: "Pilih bulan", - yearSelect: "Pilih tahun", - decadeSelect: "Pilih dekad", - yearFormat: "YYYY", - dayFormat: "D", - dateFormat: "M/D/YYYY", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - previousYear: "Tahun lepas (Ctrl+left)", - nextYear: "Tahun depan (Ctrl+right)", - previousDecade: "Dekad lepas", - nextDecade: "Dekad depan", - previousCentury: "Abad lepas", - nextCentury: "Abad depan" - }, - timePickerLocale: { - placeholder: "Sila pilih masa" - } - }, - global: { - placeholder: "Sila pilih" - }, - PageHeader: { - back: "Kembali" - }, - Text: { - edit: "Sunting", - copy: "Salin", - copied: "Berjaya menyalin", - expand: "Kembang" - }, - Empty: { - description: "Tiada data" - }, - Table: { - filterTitle: "Cari dengan tajuk", - filterConfirm: "OK", - filterReset: "Menetapkan semula", - emptyText: "Tiada data", - selectAll: "Pilih semua", - selectInvert: "Terbalikkan" - }, - Modal: { - okText: "OK", - cancelText: "Batal", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Batal" - }, - Transfer: { - notFoundContent: "Tidak dijumpai", - searchPlaceholder: "Carian di sini", - itemUnit: "item", - itemsUnit: "item" - }, - Icon: { - icon: "ikon" - }, - Select: { - notFoundContent: "Tidak Dijumpai" - }, - Upload: { - uploading: "Sedang memuat naik...", - removeFile: "Buang fail", - uploadError: "Masalah muat naik", - previewFile: "Tengok fail", - downloadFile: "Muat turun fail" - } -}; -var nb_NO = { - locale: "nb", - Pagination: { - items_per_page: "/ side", - jump_to: "Gå til side", - page: "Side", - prev_page: "Forrige side", - next_page: "Neste side", - prev_5: "5 forrige", - next_5: "5 neste", - prev_3: "3 forrige", - next_3: "3 neste", - page_size: "sidestørrelse" - }, - DatePicker: { - lang: { - placeholder: "Velg dato", - yearPlaceholder: "Velg år", - quarterPlaceholder: "Velg kvartal", - monthPlaceholder: "Velg måned", - weekPlaceholder: "Velg uke", - rangePlaceholder: ["Startdato", "Sluttdato"], - rangeYearPlaceholder: ["Startår", "Sluttår"], - rangeMonthPlaceholder: ["Startmåned", "Sluttmåned"], - rangeWeekPlaceholder: ["Start uke", "Sluttuke"], - locale: "nb_NO", - today: "I dag", - now: "Nå", - backToToday: "Gå til i dag", - ok: "Ok", - clear: "Annuller", - month: "Måned", - year: "År", - timeSelect: "Velg tidspunkt", - dateSelect: "Velg dato", - weekSelect: "Velg uke", - monthSelect: "Velg måned", - yearSelect: "Velg år", - decadeSelect: "Velg tiår", - yearFormat: "YYYY", - dateFormat: "DD.MM.YYYY", - dayFormat: "DD", - dateTimeFormat: "DD.MM.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Forrige måned (PageUp)", - nextMonth: "Neste måned (PageDown)", - previousYear: "Forrige år (Control + venstre)", - nextYear: "Neste år (Control + høyre)", - previousDecade: "Forrige tiår", - nextDecade: "Neste tiår", - previousCentury: "Forrige århundre", - nextCentury: "Neste århundre" - }, - timePickerLocale: { - placeholder: "Velg tid", - rangePlaceholder: ["Starttid", "Sluttid"] - } - }, - TimePicker: { - placeholder: "Velg tid", - rangePlaceholder: ["Starttid", "Sluttid"] - }, - Calendar: { - lang: { - placeholder: "Velg dato", - yearPlaceholder: "Velg år", - quarterPlaceholder: "Velg kvartal", - monthPlaceholder: "Velg måned", - weekPlaceholder: "Velg uke", - rangePlaceholder: ["Startdato", "Sluttdato"], - rangeYearPlaceholder: ["Startår", "Sluttår"], - rangeMonthPlaceholder: ["Startmåned", "Sluttmåned"], - rangeWeekPlaceholder: ["Start uke", "Sluttuke"], - locale: "nb_NO", - today: "I dag", - now: "Nå", - backToToday: "Gå til i dag", - ok: "Ok", - clear: "Annuller", - month: "Måned", - year: "År", - timeSelect: "Velg tidspunkt", - dateSelect: "Velg dato", - weekSelect: "Velg uke", - monthSelect: "Velg måned", - yearSelect: "Velg år", - decadeSelect: "Velg tiår", - yearFormat: "YYYY", - dateFormat: "DD.MM.YYYY", - dayFormat: "DD", - dateTimeFormat: "DD.MM.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Forrige måned (PageUp)", - nextMonth: "Neste måned (PageDown)", - previousYear: "Forrige år (Control + venstre)", - nextYear: "Neste år (Control + høyre)", - previousDecade: "Forrige tiår", - nextDecade: "Neste tiår", - previousCentury: "Forrige århundre", - nextCentury: "Neste århundre" - }, - timePickerLocale: { - placeholder: "Velg tid", - rangePlaceholder: ["Starttid", "Sluttid"] - } - }, - global: { - placeholder: "Vennligst velg" - }, - Table: { - filterTitle: "Filtermeny", - filterConfirm: "OK", - filterReset: "Nullstill", - filterEmptyText: "Ingen filtre", - selectAll: "Velg alle", - selectInvert: "Inverter gjeldende side", - selectionAll: "Velg all data", - sortTitle: "Sorter", - expand: "Utvid rad", - collapse: "Skjul rad", - triggerDesc: "Sorter data i synkende rekkefølge", - triggerAsc: "Sorterer data i stigende rekkefølge", - cancelSort: "Klikk for å avbryte sorteringen" - }, - Modal: { - okText: "OK", - cancelText: "Avbryt", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Avbryt" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Søk her", - itemUnit: "element", - itemsUnit: "elementer", - remove: "Fjern", - selectCurrent: "Velg gjeldende side", - removeCurrent: "Fjern gjeldende side", - selectAll: "Velg all data", - removeAll: "Fjern all data", - selectInvert: "Inverter gjeldende side" - }, - Upload: { - uploading: "Laster opp...", - removeFile: "Fjern fil", - uploadError: "Feil ved opplastning", - previewFile: "Forhåndsvisning", - downloadFile: "Last ned fil" - }, - Empty: { - description: "Ingen data" - }, - Icon: { - icon: "ikon" - }, - Text: { - edit: "Rediger", - copy: "Kopier", - copied: "Kopiert", - expand: "Utvid" - }, - PageHeader: { - back: "Tilbake" - } -}; -var ne_NP = { - locale: "ne-np", - Pagination: { - items_per_page: "/ page", - jump_to: "Go to", - jump_to_confirm: "confirm", - page: "Page", - prev_page: "Previous Page", - next_page: "Next Page", - prev_5: "Previous 5 Pages", - next_5: "Next 5 Pages", - prev_3: "Previous 3 Pages", - next_3: "Next 3 Pages", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_US", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "select time", - dateSelect: "select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - TimePicker: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - }, - Calendar: { - lang: { - placeholder: "Select date", - yearPlaceholder: "Select year", - quarterPlaceholder: "Select quarter", - monthPlaceholder: "Select month", - weekPlaceholder: "Select week", - rangePlaceholder: ["Start date", "End date"], - rangeYearPlaceholder: ["Start year", "End year"], - rangeMonthPlaceholder: ["Start month", "End month"], - rangeWeekPlaceholder: ["Start week", "End week"], - locale: "en_US", - today: "Today", - now: "Now", - backToToday: "Back to today", - ok: "Ok", - clear: "Clear", - month: "Month", - year: "Year", - timeSelect: "select time", - dateSelect: "select date", - weekSelect: "Choose a week", - monthSelect: "Choose a month", - yearSelect: "Choose a year", - decadeSelect: "Choose a decade", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Previous month (PageUp)", - nextMonth: "Next month (PageDown)", - previousYear: "Last year (Control + left)", - nextYear: "Next year (Control + right)", - previousDecade: "Last decade", - nextDecade: "Next decade", - previousCentury: "Last century", - nextCentury: "Next century" - }, - timePickerLocale: { - placeholder: "Select time", - rangePlaceholder: ["Start time", "End time"] - } - }, - Table: { - filterTitle: "फिल्टर मेनु", - filterConfirm: "हो", - filterReset: "रीसेट", - selectAll: "सबै छान्नुुहोस्", - selectInvert: "छनौट उल्टाउनुहोस" - }, - Modal: { - okText: "हो", - cancelText: "होईन", - justOkText: "हो" - }, - Popconfirm: { - okText: "हो", - cancelText: "होईन" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "यहाँ खोज्नुहोस्", - itemUnit: "वस्तु", - itemsUnit: "वस्तुहरू" - }, - Upload: { - uploading: "अपलोड गर्दै...", - removeFile: "फाइल हटाउनुहोस्", - uploadError: "अप्लोडमा समस्या भयो", - previewFile: "फाइल पूर्वावलोकन गर्नुहोस्", - downloadFile: "डाउनलोड फाइल" - }, - Empty: { - description: "डाटा छैन" - } -}; -var nl_BE = { - locale: "nl-be", - Pagination: { - items_per_page: "/ pagina", - jump_to: "Ga naar", - jump_to_confirm: "bevestigen", - page: "", - prev_page: "Vorige pagina", - next_page: "Volgende pagina", - prev_5: "Vorige 5 pagina's", - next_5: "Volgende 5 pagina's", - prev_3: "Vorige 3 pagina's", - next_3: "Volgende 3 pagina's", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Selecteer datum", - rangePlaceholder: ["Begin datum", "Eind datum"], - locale: "nl_BE", - today: "Vandaag", - now: "Nu", - backToToday: "Terug naar vandaag", - ok: "Ok", - clear: "Reset", - month: "Maand", - year: "Jaar", - timeSelect: "Selecteer tijd", - dateSelect: "Selecteer datum", - monthSelect: "Kies een maand", - yearSelect: "Kies een jaar", - decadeSelect: "Kies een decennium", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorige maand (PageUp)", - nextMonth: "Volgende maand (PageDown)", - previousYear: "Vorig jaar (Control + left)", - nextYear: "Volgend jaar (Control + right)", - previousDecade: "Vorig decennium", - nextDecade: "Volgend decennium", - previousCentury: "Vorige eeuw", - nextCentury: "Volgende eeuw", - monthPlaceholder: "Selecteer maand", - quarterPlaceholder: "Selecteer kwartaal", - rangeMonthPlaceholder: ["Begin maand", "Eind maand"], - rangeWeekPlaceholder: ["Begin week", "Eind week"], - rangeYearPlaceholder: ["Begin jaar", "Eind jaar"], - weekPlaceholder: "Selecteer week", - yearPlaceholder: "Selecteer jaar" - }, - timePickerLocale: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - } - }, - TimePicker: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - }, - Calendar: { - lang: { - placeholder: "Selecteer datum", - rangePlaceholder: ["Begin datum", "Eind datum"], - locale: "nl_BE", - today: "Vandaag", - now: "Nu", - backToToday: "Terug naar vandaag", - ok: "Ok", - clear: "Reset", - month: "Maand", - year: "Jaar", - timeSelect: "Selecteer tijd", - dateSelect: "Selecteer datum", - monthSelect: "Kies een maand", - yearSelect: "Kies een jaar", - decadeSelect: "Kies een decennium", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorige maand (PageUp)", - nextMonth: "Volgende maand (PageDown)", - previousYear: "Vorig jaar (Control + left)", - nextYear: "Volgend jaar (Control + right)", - previousDecade: "Vorig decennium", - nextDecade: "Volgend decennium", - previousCentury: "Vorige eeuw", - nextCentury: "Volgende eeuw", - monthPlaceholder: "Selecteer maand", - quarterPlaceholder: "Selecteer kwartaal", - rangeMonthPlaceholder: ["Begin maand", "Eind maand"], - rangeWeekPlaceholder: ["Begin week", "Eind week"], - rangeYearPlaceholder: ["Begin jaar", "Eind jaar"], - weekPlaceholder: "Selecteer week", - yearPlaceholder: "Selecteer jaar" - }, - timePickerLocale: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - } - }, - Table: { - filterTitle: "Filteren", - filterConfirm: "OK", - filterReset: "Reset", - selectAll: "Selecteer huidige pagina", - selectInvert: "Keer volgorde om", - cancelSort: "Klik om sortering te annuleren", - collapse: "Rij inklappen", - emptyText: "Geen data", - expand: "Rij uitklappen", - filterEmptyText: "Geen filters", - selectNone: "Maak selectie leeg", - selectionAll: "Selecteer alle data", - sortTitle: "Sorteren", - triggerAsc: "Klik om oplopend te sorteren", - triggerDesc: "Klik om aflopend te sorteren" - }, - Modal: { - okText: "OK", - cancelText: "Annuleer", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annuleer" - }, - Transfer: { - searchPlaceholder: "Zoek hier", - itemUnit: "item", - itemsUnit: "items", - remove: "Verwijder", - removeAll: "Verwijder alles", - removeCurrent: "Verwijder huidige pagina", - selectAll: "Selecteer alles", - selectCurrent: "Selecteer huidige pagina", - selectInvert: "Huidige pagina omkeren", - titles: ["", ""] - }, - Upload: { - uploading: "Uploaden...", - removeFile: "Verwijder bestand", - uploadError: "Fout tijdens uploaden", - previewFile: "Preview file", - downloadFile: "Bestand downloaden" - }, - Empty: { - description: "Geen gegevens" - }, - global: { - placeholder: "Maak een selectie" - }, - Icon: { - icon: "icoon" - }, - Text: { - edit: "Bewerken", - copy: "kopiëren", - copied: "Gekopieerd", - expand: "Uitklappen" - }, - PageHeader: { - back: "Terug" - }, - Image: { - preview: "Voorbeeld" - } -}; -var nl_NL = { - locale: "nl", - Pagination: { - items_per_page: "/ pagina", - jump_to: "Ga naar", - jump_to_confirm: "bevestigen", - page: "Pagina", - prev_page: "Vorige pagina", - next_page: "Volgende pagina", - prev_5: "Vorige 5 pagina's", - next_5: "Volgende 5 pagina's", - prev_3: "Vorige 3 pagina's", - next_3: "Volgende 3 pagina's", - page_size: "pagina grootte" - }, - DatePicker: { - lang: { - placeholder: "Selecteer datum", - rangePlaceholder: ["Begin datum", "Eind datum"], - locale: "nl_NL", - today: "Vandaag", - now: "Nu", - backToToday: "Terug naar vandaag", - ok: "Ok", - clear: "Reset", - month: "Maand", - year: "Jaar", - timeSelect: "Selecteer tijd", - dateSelect: "Selecteer datum", - monthSelect: "Kies een maand", - yearSelect: "Kies een jaar", - decadeSelect: "Kies een decennium", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorige maand (PageUp)", - nextMonth: "Volgende maand (PageDown)", - previousYear: "Vorig jaar (Control + left)", - nextYear: "Volgend jaar (Control + right)", - previousDecade: "Vorig decennium", - nextDecade: "Volgend decennium", - previousCentury: "Vorige eeuw", - nextCentury: "Volgende eeuw", - monthPlaceholder: "Selecteer maand", - quarterPlaceholder: "Selecteer kwartaal", - rangeMonthPlaceholder: ["Begin maand", "Eind maand"], - rangeWeekPlaceholder: ["Begin week", "Eind week"], - rangeYearPlaceholder: ["Begin jaar", "Eind jaar"], - weekPlaceholder: "Selecteer week", - yearPlaceholder: "Selecteer jaar" - }, - timePickerLocale: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - } - }, - TimePicker: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - }, - Calendar: { - lang: { - placeholder: "Selecteer datum", - rangePlaceholder: ["Begin datum", "Eind datum"], - locale: "nl_NL", - today: "Vandaag", - now: "Nu", - backToToday: "Terug naar vandaag", - ok: "Ok", - clear: "Reset", - month: "Maand", - year: "Jaar", - timeSelect: "Selecteer tijd", - dateSelect: "Selecteer datum", - monthSelect: "Kies een maand", - yearSelect: "Kies een jaar", - decadeSelect: "Kies een decennium", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Vorige maand (PageUp)", - nextMonth: "Volgende maand (PageDown)", - previousYear: "Vorig jaar (Control + left)", - nextYear: "Volgend jaar (Control + right)", - previousDecade: "Vorig decennium", - nextDecade: "Volgend decennium", - previousCentury: "Vorige eeuw", - nextCentury: "Volgende eeuw", - monthPlaceholder: "Selecteer maand", - quarterPlaceholder: "Selecteer kwartaal", - rangeMonthPlaceholder: ["Begin maand", "Eind maand"], - rangeWeekPlaceholder: ["Begin week", "Eind week"], - rangeYearPlaceholder: ["Begin jaar", "Eind jaar"], - weekPlaceholder: "Selecteer week", - yearPlaceholder: "Selecteer jaar" - }, - timePickerLocale: { - placeholder: "Selecteer tijd", - rangePlaceholder: ["Start tijd", "Eind tijd"] - } - }, - global: { - placeholder: "Maak een selectie" - }, - Table: { - filterTitle: "Filteren", - filterConfirm: "OK", - filterReset: "Reset", - selectAll: "Selecteer huidige pagina", - selectInvert: "Keer volgorde om", - sortTitle: "Sorteren", - expand: "Rij uitklappen", - collapse: "Rij inklappen", - cancelSort: "Klik om sortering te annuleren", - emptyText: "Geen data", - filterEmptyText: "Geen filters", - selectNone: "Maak selectie leeg", - selectionAll: "Selecteer alle data", - triggerAsc: "Klik om oplopend te sorteren", - triggerDesc: "Klik om aflopend te sorteren" - }, - Modal: { - okText: "OK", - cancelText: "Annuleer", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Annuleer" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Zoek hier", - itemUnit: "item", - itemsUnit: "items", - remove: "Verwijder", - removeAll: "Verwijder alles", - removeCurrent: "Verwijder huidige pagina", - selectAll: "Selecteer alles", - selectCurrent: "Selecteer huidige pagina", - selectInvert: "Huidige pagina omkeren" - }, - Upload: { - uploading: "Uploaden...", - removeFile: "Verwijder bestand", - uploadError: "Fout tijdens uploaden", - previewFile: "Preview file", - downloadFile: "Bestand downloaden" - }, - Empty: { - description: "Geen gegevens" - }, - Icon: { - icon: "icoon" - }, - Text: { - edit: "Bewerken", - copy: "kopiëren", - copied: "Gekopieerd", - expand: "Uitklappen" - }, - PageHeader: { - back: "Terug" - }, - Image: { - preview: "Voorbeeld" - } -}; -var pl_PL = { - locale: "pl", - Pagination: { - items_per_page: "na stronę", - jump_to: "Idź do", - jump_to_confirm: "potwierdź", - page: "", - prev_page: "Poprzednia strona", - next_page: "Następna strona", - prev_5: "Poprzednie 5 stron", - next_5: "Następne 5 stron", - prev_3: "Poprzednie 3 strony", - next_3: "Następne 3 strony", - page_size: "rozmiar strony" - }, - DatePicker: { - lang: { - placeholder: "Wybierz datę", - yearPlaceholder: "Wybierz rok", - monthPlaceholder: "Wybierz miesiąc", - weekPlaceholder: "Wybierz tydzień", - rangePlaceholder: ["Data początkowa", "Data końcowa"], - rangeYearPlaceholder: ["Początkowy rok", "Końcowy rok"], - rangeMonthPlaceholder: ["Początkowy miesiąc", "Końcowy miesiąc"], - rangeWeekPlaceholder: ["Początkowy tydzień", "Końcowy tydzień"], - locale: "pl_PL", - today: "Dzisiaj", - now: "Teraz", - backToToday: "Ustaw dzisiaj", - ok: "Ok", - clear: "Wyczyść", - month: "Miesiąc", - year: "Rok", - timeSelect: "Ustaw czas", - dateSelect: "Ustaw datę", - monthSelect: "Wybierz miesiąc", - yearSelect: "Wybierz rok", - decadeSelect: "Wybierz dekadę", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Poprzedni miesiąc (PageUp)", - nextMonth: "Następny miesiąc (PageDown)", - previousYear: "Ostatni rok (Ctrl + left)", - nextYear: "Następny rok (Ctrl + right)", - previousDecade: "Ostatnia dekada", - nextDecade: "Następna dekada", - previousCentury: "Ostatni wiek", - nextCentury: "Następny wiek" - }, - timePickerLocale: { - placeholder: "Wybierz godzinę" - } - }, - TimePicker: { - placeholder: "Wybierz godzinę" - }, - Calendar: { - lang: { - placeholder: "Wybierz datę", - rangePlaceholder: ["Data początkowa", "Data końcowa"], - locale: "pl_PL", - today: "Dzisiaj", - now: "Teraz", - backToToday: "Ustaw dzisiaj", - ok: "Ok", - clear: "Wyczyść", - month: "Miesiąc", - year: "Rok", - timeSelect: "Ustaw czas", - dateSelect: "Ustaw datę", - monthSelect: "Wybierz miesiąc", - yearSelect: "Wybierz rok", - decadeSelect: "Wybierz dekadę", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Poprzedni miesiąc (PageUp)", - nextMonth: "Następny miesiąc (PageDown)", - previousYear: "Ostatni rok (Ctrl + left)", - nextYear: "Następny rok (Ctrl + right)", - previousDecade: "Ostatnia dekada", - nextDecade: "Następna dekada", - previousCentury: "Ostatni wiek", - nextCentury: "Następny wiek" - }, - timePickerLocale: { - placeholder: "Wybierz godzinę" - } - }, - Table: { - filterTitle: "Menu filtra", - filterConfirm: "OK", - filterReset: "Usuń filtry", - selectAll: "Zaznacz bieżącą stronę", - selectInvert: "Odwróć zaznaczenie", - triggerDesc: "Sortuj malejąco", - triggerAsc: "Sortuj rosnąco", - cancelSort: "Usuń sortowanie", - filterEmptyText: "Brak filtrów", - filterCheckall: "Wybierz wszystkie elementy", - filterSearchPlaceholder: "Szukaj w filtrach", - emptyText: "Brak danych", - selectNone: "Wyczyść", - selectionAll: "Wybierz wszystkie", - sortTitle: "Sortowanie", - expand: "Rozwiń wiersz", - collapse: "Zwiń wiersz" - }, - Modal: { - okText: "OK", - cancelText: "Anuluj", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Anuluj" - }, - Transfer: { - searchPlaceholder: "Szukaj", - itemUnit: "obiekt", - itemsUnit: "obiekty", - titles: ["", ""], - remove: "Usuń", - selectCurrent: "Wybierz aktualną stronę", - removeCurrent: "Usuń aktualną stronę", - selectAll: "Wybierz wszystkie", - removeAll: "Usuń wszystkie", - selectInvert: "Odwróć wybór" - }, - Upload: { - uploading: "Wysyłanie...", - removeFile: "Usuń plik", - uploadError: "Błąd wysyłania", - previewFile: "Podejrzyj plik", - downloadFile: "Pobieranie pliku" - }, - Empty: { - description: "Brak danych" - }, - global: { - placeholder: "Wybierz" - }, - Icon: { - icon: "Ikona" - }, - Text: { - edit: "Edytuj", - copy: "Kopiuj", - copied: "Skopiowany", - expand: "Rozwiń" - }, - PageHeader: { - back: "Wstecz" - }, - Image: { - preview: "Podgląd" - } -}; -var pt_BR = { - locale: "pt-br", - Pagination: { - items_per_page: "/ página", - jump_to: "Vá até", - jump_to_confirm: "confirme", - page: "Página", - prev_page: "Página anterior", - next_page: "Próxima página", - prev_5: "5 páginas anteriores", - next_5: "5 próximas páginas", - prev_3: "3 páginas anteriores", - next_3: "3 próximas páginas", - page_size: "tamanho da página" - }, - DatePicker: { - lang: { - placeholder: "Selecionar data", - yearPlaceholder: "Selecionar ano", - quarterPlaceholder: "Selecionar trimestre", - monthPlaceholder: "Selecionar mês", - weekPlaceholder: "Selecionar semana", - rangePlaceholder: ["Data inicial", "Data final"], - rangeYearPlaceholder: ["Ano inicial", "Ano Final"], - rangeMonthPlaceholder: ["Mês inicial", "Mês final"], - rangeWeekPlaceholder: ["Semana inicial", "Semana final"], - locale: "pt_BR", - today: "Hoje", - now: "Agora", - backToToday: "Voltar para hoje", - ok: "Ok", - clear: "Limpar", - month: "Mês", - year: "Ano", - timeSelect: "Selecionar hora", - dateSelect: "Selecionar data", - weekSelect: "Escolher semana", - monthSelect: "Escolher mês", - yearSelect: "Escolher ano", - decadeSelect: "Escolher década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: false, - previousMonth: "Mês anterior (PageUp)", - nextMonth: "Próximo mês (PageDown)", - previousYear: "Ano anterior (Control + esquerda)", - nextYear: "Próximo ano (Control + direita)", - previousDecade: "Década anterior", - nextDecade: "Próxima década", - previousCentury: "Século anterior", - nextCentury: "Próximo século", - shortWeekDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], - shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] - }, - timePickerLocale: { - placeholder: "Hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - } - }, - TimePicker: { - placeholder: "Hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - }, - Calendar: { - lang: { - placeholder: "Selecionar data", - yearPlaceholder: "Selecionar ano", - quarterPlaceholder: "Selecionar trimestre", - monthPlaceholder: "Selecionar mês", - weekPlaceholder: "Selecionar semana", - rangePlaceholder: ["Data inicial", "Data final"], - rangeYearPlaceholder: ["Ano inicial", "Ano Final"], - rangeMonthPlaceholder: ["Mês inicial", "Mês final"], - rangeWeekPlaceholder: ["Semana inicial", "Semana final"], - locale: "pt_BR", - today: "Hoje", - now: "Agora", - backToToday: "Voltar para hoje", - ok: "Ok", - clear: "Limpar", - month: "Mês", - year: "Ano", - timeSelect: "Selecionar hora", - dateSelect: "Selecionar data", - weekSelect: "Escolher semana", - monthSelect: "Escolher mês", - yearSelect: "Escolher ano", - decadeSelect: "Escolher década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: false, - previousMonth: "Mês anterior (PageUp)", - nextMonth: "Próximo mês (PageDown)", - previousYear: "Ano anterior (Control + esquerda)", - nextYear: "Próximo ano (Control + direita)", - previousDecade: "Década anterior", - nextDecade: "Próxima década", - previousCentury: "Século anterior", - nextCentury: "Próximo século", - shortWeekDays: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], - shortMonths: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"] - }, - timePickerLocale: { - placeholder: "Hora", - rangePlaceholder: ["Hora inicial", "Hora final"] - } - }, - global: { - placeholder: "Por favor escolha" - }, - Table: { - filterTitle: "Menu de Filtro", - filterConfirm: "OK", - filterReset: "Resetar", - filterEmptyText: "Sem filtros", - emptyText: "Sem conteúdo", - selectAll: "Selecionar página atual", - selectInvert: "Inverter seleção", - selectionAll: "Selecionar todo o conteúdo", - sortTitle: "Ordenar título", - expand: "Expandir linha", - collapse: "Colapsar linha", - triggerDesc: "Clique organiza por descendente", - triggerAsc: "Clique organiza por ascendente", - cancelSort: "Clique para cancelar organização", - selectNone: "Apagar todo o conteúdo" - }, - Modal: { - okText: "OK", - cancelText: "Cancelar", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Cancelar" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Procurar", - itemUnit: "item", - itemsUnit: "items", - remove: "Remover", - selectCurrent: "Selecionar página atual", - removeCurrent: "Remover página atual", - selectAll: "Selecionar todos", - removeAll: "Remover todos", - selectInvert: "Inverter seleção atual" - }, - Upload: { - uploading: "Enviando...", - removeFile: "Remover arquivo", - uploadError: "Erro no envio", - previewFile: "Visualizar arquivo", - downloadFile: "Baixar arquivo" - }, - Empty: { - description: "Não há dados" - }, - Icon: { - icon: "ícone" - }, - Text: { - edit: "editar", - copy: "copiar", - copied: "copiado", - expand: "expandir" - }, - PageHeader: { - back: "Retornar" - }, - Image: { - preview: "Pré-visualização" - } -}; -var pt_PT = { - locale: "pt", - Pagination: { - items_per_page: "/ página", - jump_to: "Saltar", - jump_to_confirm: "confirmar", - page: "Página", - prev_page: "Página Anterior", - next_page: "Página Seguinte", - prev_5: "Recuar 5 Páginas", - next_5: "Avançar 5 Páginas", - prev_3: "Recuar 3 Páginas", - next_3: "Avançar 3 Páginas", - page_size: "mărimea paginii" - }, - DatePicker: { - lang: { - locale: "pt_PT", - today: "Hoje", - now: "Agora", - backToToday: "Hoje", - ok: "OK", - clear: "Limpar", - month: "Mês", - year: "Ano", - timeSelect: "Hora", - dateSelect: "Selecionar data", - monthSelect: "Selecionar mês", - yearSelect: "Selecionar ano", - decadeSelect: "Selecionar década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: false, - previousMonth: "Mês anterior (PageUp)", - nextMonth: "Mês seguinte (PageDown)", - previousYear: "Ano anterior (Control + left)", - nextYear: "Ano seguinte (Control + right)", - previousDecade: "Última década", - nextDecade: "Próxima década", - previousCentury: "Último século", - nextCentury: "Próximo século", - placeholder: "Data", - rangePlaceholder: ["Data inicial", "Data final"], - monthFormat: "MMMM" - }, - timePickerLocale: { - placeholder: "Hora" - } - }, - TimePicker: { - placeholder: "Hora" - }, - Calendar: { - lang: { - locale: "pt_PT", - today: "Hoje", - now: "Agora", - backToToday: "Hoje", - ok: "OK", - clear: "Limpar", - month: "Mês", - year: "Ano", - timeSelect: "Hora", - dateSelect: "Selecionar data", - monthSelect: "Selecionar mês", - yearSelect: "Selecionar ano", - decadeSelect: "Selecionar década", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: false, - previousMonth: "Mês anterior (PageUp)", - nextMonth: "Mês seguinte (PageDown)", - previousYear: "Ano anterior (Control + left)", - nextYear: "Ano seguinte (Control + right)", - previousDecade: "Última década", - nextDecade: "Próxima década", - previousCentury: "Último século", - nextCentury: "Próximo século", - placeholder: "Data", - rangePlaceholder: ["Data inicial", "Data final"], - monthFormat: "MMMM" - }, - timePickerLocale: { - placeholder: "Hora" - } - }, - Table: { - filterTitle: "Filtro", - filterConfirm: "Aplicar", - filterReset: "Reiniciar", - selectAll: "Selecionar página atual", - selectInvert: "Inverter seleção", - sortTitle: "Ordenação" - }, - Modal: { - okText: "OK", - cancelText: "Cancelar", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Cancelar" - }, - Transfer: { - searchPlaceholder: "Procurar...", - itemUnit: "item", - itemsUnit: "itens" - }, - Upload: { - uploading: "A carregar...", - removeFile: "Remover", - uploadError: "Erro ao carregar", - previewFile: "Pré-visualizar", - downloadFile: "Baixar" - }, - Empty: { - description: "Sem resultados" - } -}; -var ro_RO = { - locale: "ro", - Pagination: { - items_per_page: "/ pagină", - jump_to: "Mergi la", - jump_to_confirm: "confirm", - page: "", - prev_page: "Pagina Anterioară", - next_page: "Pagina Următoare", - prev_5: "5 Pagini Anterioare", - next_5: "5 Pagini Următoare", - prev_3: "3 Pagini Anterioare", - next_3: "3 Pagini Următoare", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Selectează data", - rangePlaceholder: ["Data start", "Data sfârșit"], - locale: "ro_RO", - today: "Azi", - now: "Acum", - backToToday: "Înapoi la azi", - ok: "Ok", - clear: "Șterge", - month: "Lună", - year: "An", - timeSelect: "selectează timpul", - dateSelect: "selectează data", - weekSelect: "Alege o săptămână", - monthSelect: "Alege o lună", - yearSelect: "Alege un an", - decadeSelect: "Alege un deceniu", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Luna anterioară (PageUp)", - nextMonth: "Luna următoare (PageDown)", - previousYear: "Anul anterior (Control + stânga)", - nextYear: "Anul următor (Control + dreapta)", - previousDecade: "Deceniul anterior", - nextDecade: "Deceniul următor", - previousCentury: "Secolul anterior", - nextCentury: "Secolul următor" - }, - timePickerLocale: { - placeholder: "Selectează ora" - } - }, - TimePicker: { - placeholder: "Selectează ora" - }, - Calendar: { - lang: { - placeholder: "Selectează data", - rangePlaceholder: ["Data start", "Data sfârșit"], - locale: "ro_RO", - today: "Azi", - now: "Acum", - backToToday: "Înapoi la azi", - ok: "Ok", - clear: "Șterge", - month: "Lună", - year: "An", - timeSelect: "selectează timpul", - dateSelect: "selectează data", - weekSelect: "Alege o săptămână", - monthSelect: "Alege o lună", - yearSelect: "Alege un an", - decadeSelect: "Alege un deceniu", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Luna anterioară (PageUp)", - nextMonth: "Luna următoare (PageDown)", - previousYear: "Anul anterior (Control + stânga)", - nextYear: "Anul următor (Control + dreapta)", - previousDecade: "Deceniul anterior", - nextDecade: "Deceniul următor", - previousCentury: "Secolul anterior", - nextCentury: "Secolul următor" - }, - timePickerLocale: { - placeholder: "Selectează ora" - } - }, - global: { - placeholder: "Selectează" - }, - Table: { - filterTitle: "Filtrează", - filterConfirm: "OK", - filterReset: "Resetează", - selectAll: "Selectează pagina curentă", - selectInvert: "Inversează pagina curentă", - sortTitle: "Ordonează", - expand: "Extinde rândul", - collapse: "Micșorează rândul", - filterEmptyText: "Fără filtre", - emptyText: "Nu există date", - selectNone: "Șterge selecția", - selectionAll: "Selectează toate datele", - triggerDesc: "Apasă pentru ordonare descrescătoare", - triggerAsc: "Apasă pentru ordonare crescătoare", - cancelSort: "Apasă pentru a anula ordonarea" - }, - Modal: { - okText: "OK", - cancelText: "Anulare", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Anulare" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Căutare", - itemUnit: "element", - itemsUnit: "elemente", - remove: "Șterge", - selectCurrent: "Selectează pagina curentă", - removeCurrent: "Șterge pagina curentă", - selectAll: "Selectează toate datele", - removeAll: "Șterge toate datele", - selectInvert: "Inversează pagina curentă" - }, - Upload: { - uploading: "Se transferă...", - removeFile: "Înlătură fișierul", - uploadError: "Eroare la upload", - previewFile: "Previzualizare fișier", - downloadFile: "Descărcare fișier" - }, - Empty: { - description: "Fără date" - }, - Icon: { - icon: "icon" - }, - Text: { - edit: "editează", - copy: "copiază", - copied: "copiat", - expand: "extinde" - }, - PageHeader: { - back: "înapoi" - }, - Image: { - preview: "Preview" - } -}; -var ru_RU = { - locale: "ru", - Pagination: { - items_per_page: "/ стр.", - jump_to: "Перейти", - jump_to_confirm: "подтвердить", - page: "Страница", - prev_page: "Назад", - next_page: "Вперед", - prev_5: "Предыдущие 5", - next_5: "Следующие 5", - prev_3: "Предыдущие 3", - next_3: "Следующие 3", - page_size: "размер страницы" - }, - DatePicker: { - lang: { - placeholder: "Выберите дату", - yearPlaceholder: "Выберите год", - quarterPlaceholder: "Выберите квартал", - monthPlaceholder: "Выберите месяц", - weekPlaceholder: "Выберите неделю", - rangePlaceholder: ["Начальная дата", "Конечная дата"], - rangeYearPlaceholder: ["Начальный год", "Год окончания"], - rangeMonthPlaceholder: ["Начальный месяц", "Конечный месяц"], - rangeWeekPlaceholder: ["Начальная неделя", "Конечная неделя"], - locale: "ru_RU", - today: "Сегодня", - now: "Сейчас", - backToToday: "Текущая дата", - ok: "ОК", - clear: "Очистить", - month: "Месяц", - year: "Год", - timeSelect: "Выбрать время", - dateSelect: "Выбрать дату", - monthSelect: "Выбрать месяц", - yearSelect: "Выбрать год", - decadeSelect: "Выбрать десятилетие", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Предыдущий месяц (PageUp)", - nextMonth: "Следующий месяц (PageDown)", - previousYear: "Предыдущий год (Control + left)", - nextYear: "Следующий год (Control + right)", - previousDecade: "Предыдущее десятилетие", - nextDecade: "Следущее десятилетие", - previousCentury: "Предыдущий век", - nextCentury: "Следующий век" - }, - timePickerLocale: { - placeholder: "Выберите время", - rangePlaceholder: ["Время начала", "Время окончания"] - } - }, - TimePicker: { - placeholder: "Выберите время", - rangePlaceholder: ["Время начала", "Время окончания"] - }, - Calendar: { - lang: { - placeholder: "Выберите дату", - yearPlaceholder: "Выберите год", - quarterPlaceholder: "Выберите квартал", - monthPlaceholder: "Выберите месяц", - weekPlaceholder: "Выберите неделю", - rangePlaceholder: ["Начальная дата", "Конечная дата"], - rangeYearPlaceholder: ["Начальный год", "Год окончания"], - rangeMonthPlaceholder: ["Начальный месяц", "Конечный месяц"], - rangeWeekPlaceholder: ["Начальная неделя", "Конечная неделя"], - locale: "ru_RU", - today: "Сегодня", - now: "Сейчас", - backToToday: "Текущая дата", - ok: "ОК", - clear: "Очистить", - month: "Месяц", - year: "Год", - timeSelect: "Выбрать время", - dateSelect: "Выбрать дату", - monthSelect: "Выбрать месяц", - yearSelect: "Выбрать год", - decadeSelect: "Выбрать десятилетие", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Предыдущий месяц (PageUp)", - nextMonth: "Следующий месяц (PageDown)", - previousYear: "Предыдущий год (Control + left)", - nextYear: "Следующий год (Control + right)", - previousDecade: "Предыдущее десятилетие", - nextDecade: "Следущее десятилетие", - previousCentury: "Предыдущий век", - nextCentury: "Следующий век" - }, - timePickerLocale: { - placeholder: "Выберите время", - rangePlaceholder: ["Время начала", "Время окончания"] - } - }, - global: { - placeholder: "Пожалуйста выберите" - }, - Table: { - filterTitle: "Фильтр", - filterConfirm: "OK", - filterReset: "Сбросить", - filterEmptyText: "Без фильтров", - emptyText: "Нет данных", - selectAll: "Выбрать всё", - selectInvert: "Инвертировать выбор", - selectionAll: "Выбрать все данные", - sortTitle: "Сортировка", - expand: "Развернуть строку", - collapse: "Свернуть строку", - triggerDesc: "Нажмите для сортировки по убыванию", - triggerAsc: "Нажмите для сортировки по возрастанию", - cancelSort: "Нажмите, чтобы отменить сортировку", - selectNone: "Очистить все данные" - }, - Modal: { - okText: "OK", - cancelText: "Отмена", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Отмена" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Поиск", - itemUnit: "элем.", - itemsUnit: "элем.", - remove: "Удалить", - selectAll: "Выбрать все данные", - selectCurrent: "Выбрать текущую страницу", - selectInvert: "Показать в обратном порядке", - removeAll: "Удалить все данные", - removeCurrent: "Удалить текущую страницу" - }, - Upload: { - uploading: "Загрузка...", - removeFile: "Удалить файл", - uploadError: "При загрузке произошла ошибка", - previewFile: "Предпросмотр файла", - downloadFile: "Загрузить файл" - }, - Empty: { - description: "Нет данных" - }, - Icon: { - icon: "иконка" - }, - Text: { - edit: "Редактировать", - copy: "Копировать", - copied: "Скопировано", - expand: "Раскрыть" - }, - PageHeader: { - back: "Назад" - }, - Image: { - preview: "Предпросмотр" - } -}; -var sk_SK = { - locale: "sk", - Pagination: { - items_per_page: "/ strana", - jump_to: "Choď na", - jump_to_confirm: "potvrdit", - page: "", - prev_page: "Predchádzajúca strana", - next_page: "Nasledujúca strana", - prev_5: "Predchádzajúcich 5 strán", - next_5: "Nasledujúcich 5 strán", - prev_3: "Predchádzajúce 3 strany", - next_3: "Nasledujúce 3 strany", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Vybrať dátum", - rangePlaceholder: ["Od", "Do"], - locale: "sk_SK", - today: "Dnes", - now: "Teraz", - backToToday: "Späť na dnes", - ok: "Ok", - clear: "Vymazať", - month: "Mesiac", - year: "Rok", - timeSelect: "Vybrať čas", - dateSelect: "Vybrať dátum", - monthSelect: "Vybrať mesiac", - yearSelect: "Vybrať rok", - decadeSelect: "Vybrať dekádu", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Predchádzajúci mesiac (PageUp)", - nextMonth: "Nasledujúci mesiac (PageDown)", - previousYear: "Predchádzajúci rok (Control + left)", - nextYear: "Nasledujúci rok (Control + right)", - previousDecade: "Predchádzajúca dekáda", - nextDecade: "Nasledujúca dekáda", - previousCentury: "Predchádzajúce storočie", - nextCentury: "Nasledujúce storočie" - }, - timePickerLocale: { - placeholder: "Vybrať čas" - } - }, - TimePicker: { - placeholder: "Vybrať čas" - }, - Calendar: { - lang: { - placeholder: "Vybrať dátum", - rangePlaceholder: ["Od", "Do"], - locale: "sk_SK", - today: "Dnes", - now: "Teraz", - backToToday: "Späť na dnes", - ok: "Ok", - clear: "Vymazať", - month: "Mesiac", - year: "Rok", - timeSelect: "Vybrať čas", - dateSelect: "Vybrať dátum", - monthSelect: "Vybrať mesiac", - yearSelect: "Vybrať rok", - decadeSelect: "Vybrať dekádu", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Predchádzajúci mesiac (PageUp)", - nextMonth: "Nasledujúci mesiac (PageDown)", - previousYear: "Predchádzajúci rok (Control + left)", - nextYear: "Nasledujúci rok (Control + right)", - previousDecade: "Predchádzajúca dekáda", - nextDecade: "Nasledujúca dekáda", - previousCentury: "Predchádzajúce storočie", - nextCentury: "Nasledujúce storočie" - }, - timePickerLocale: { - placeholder: "Vybrať čas" - } - }, - global: { - placeholder: "Prosím vyberte" - }, - Table: { - filterTitle: "Filter", - filterConfirm: "OK", - filterReset: "Obnoviť", - selectAll: "Vybrať všetko", - selectInvert: "Vybrať opačné", - sortTitle: "Zoradiť", - expand: "Rozbaliť riadok", - collapse: "Zbaliť riadok" - }, - Modal: { - okText: "OK", - cancelText: "Zrušiť", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Zrušiť" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Vyhľadávanie", - itemUnit: "položka", - itemsUnit: "položiek" - }, - Upload: { - uploading: "Nahrávanie...", - removeFile: "Odstrániť súbor", - uploadError: "Chyba pri nahrávaní", - previewFile: "Zobraziť súbor", - downloadFile: "Stiahnuť súbor" - }, - Empty: { - description: "Žiadne dáta" - }, - Icon: { - icon: "ikona" - }, - Text: { - edit: "Upraviť", - copy: "Kopírovať", - copied: "Skopírované", - expand: "Zväčšiť" - }, - PageHeader: { - back: "Späť" - } -}; -var sl_SI = { - locale: "sl", - Pagination: { - items_per_page: "/ strani", - jump_to: "Pojdi na", - jump_to_confirm: "potrdi", - page: "", - prev_page: "Prejšnja stran", - next_page: "Naslednja stran", - prev_5: "Prejšnjih 5 strani", - next_5: "Naslednjih 5 strani", - prev_3: "Prejšnje 3 strani", - next_3: "Naslednje 3 strani", - page_size: "Page Size" - }, - DatePicker: { - lang: { - locale: "sl", - placeholder: "Izberite datum", - rangePlaceholder: ["Začetni datum", "Končni datum"], - today: "Danes", - now: "Trenutno", - backToToday: "Nazaj na trenutni datum", - ok: "OK", - clear: "Počisti", - month: "Mesec", - year: "Leto", - timeSelect: "Izberi čas", - dateSelect: "Izberi datum", - monthSelect: "Izberite mesec", - yearSelect: "Izberite leto", - decadeSelect: "Izberite desetletje", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthFormat: "MMMM", - monthBeforeYear: true, - previousMonth: "Prejšnji mesec (PageUp)", - nextMonth: "Naslednji mesec (PageDown)", - previousYear: "Lansko leto (Control + left)", - nextYear: "Naslednje leto (Control + right)", - previousDecade: "Prejšnje desetletje", - nextDecade: "Naslednje desetletje", - previousCentury: "Zadnje stoletje", - nextCentury: "Naslednje stoletje" - }, - timePickerLocale: { - placeholder: "Izberite čas" - } - }, - TimePicker: { - placeholder: "Izberite čas" - }, - Calendar: { - lang: { - locale: "sl", - placeholder: "Izberite datum", - rangePlaceholder: ["Začetni datum", "Končni datum"], - today: "Danes", - now: "Trenutno", - backToToday: "Nazaj na trenutni datum", - ok: "OK", - clear: "Počisti", - month: "Mesec", - year: "Leto", - timeSelect: "Izberi čas", - dateSelect: "Izberi datum", - monthSelect: "Izberite mesec", - yearSelect: "Izberite leto", - decadeSelect: "Izberite desetletje", - yearFormat: "YYYY", - dateFormat: "D.M.YYYY", - dayFormat: "D", - dateTimeFormat: "D.M.YYYY HH:mm:ss", - monthFormat: "MMMM", - monthBeforeYear: true, - previousMonth: "Prejšnji mesec (PageUp)", - nextMonth: "Naslednji mesec (PageDown)", - previousYear: "Lansko leto (Control + left)", - nextYear: "Naslednje leto (Control + right)", - previousDecade: "Prejšnje desetletje", - nextDecade: "Naslednje desetletje", - previousCentury: "Zadnje stoletje", - nextCentury: "Naslednje stoletje" - }, - timePickerLocale: { - placeholder: "Izberite čas" - } - }, - Table: { - filterTitle: "Filter", - filterConfirm: "Filtriraj", - filterReset: "Pobriši filter", - selectAll: "Izberi vse na trenutni strani", - selectInvert: "Obrni izbor na trenutni strani" - }, - Modal: { - okText: "V redu", - cancelText: "Prekliči", - justOkText: "V redu" - }, - Popconfirm: { - okText: "v redu", - cancelText: "Prekliči" - }, - Transfer: { - searchPlaceholder: "Išči tukaj", - itemUnit: "Objekt", - itemsUnit: "Objektov" - }, - Upload: { - uploading: "Nalaganje...", - removeFile: "Odstrani datoteko", - uploadError: "Napaka pri nalaganju", - previewFile: "Predogled datoteke", - downloadFile: "Prenos datoteke" - }, - Empty: { - description: "Ni podatkov" - } -}; -var sr_RS = { - locale: "sr", - Pagination: { - items_per_page: "/ strani", - jump_to: "Idi na", - page: "", - prev_page: "Prethodna strana", - next_page: "Sledeća strana", - prev_5: "Prethodnih 5 Strana", - next_5: "Sledećih 5 Strana", - prev_3: "Prethodnih 3 Strane", - next_3: "Sledećih 3 Strane", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Izaberi datum", - rangePlaceholder: ["Datum početka", "Datum završetka"], - locale: "sr_RS", - today: "Danas", - now: "Sada", - backToToday: "Vrati se na danas", - ok: "U redu", - clear: "Obriši", - month: "Mesec", - year: "Godina", - timeSelect: "Izaberi vreme", - dateSelect: "Izaberi datum", - monthSelect: "Izaberi mesec", - yearSelect: "Izaberi godinu", - decadeSelect: "Izaberi deceniju", - yearFormat: "YYYY", - dateFormat: "DD.MM.YYYY", - dayFormat: "D", - dateTimeFormat: "DD.MM.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Prethodni mesec (PageUp)", - nextMonth: "Sledeći mesec (PageDown)", - previousYear: "Prethodna godina (Control + left)", - nextYear: "Sledeća godina (Control + right)", - previousDecade: "Prethodna decenija", - nextDecade: "Sledeća decenija", - previousCentury: "Prethodni vek", - nextCentury: "Sledeći vek", - yearPlaceholder: "Izaberi godinu", - quarterPlaceholder: "Izaberi tromesečje", - monthPlaceholder: "Izaberi mesec", - weekPlaceholder: "Izaberi sedmicu", - rangeYearPlaceholder: ["Godina početka", "Godina završetka"], - rangeMonthPlaceholder: ["Mesec početka", "Mesec završetka"], - rangeWeekPlaceholder: ["Sedmica početka", "Sedmica završetka"] - }, - timePickerLocale: { - placeholder: "Izaberi vreme", - rangePlaceholder: ["Vreme početka", "Vreme završetka"] - } - }, - TimePicker: { - placeholder: "Izaberi vreme", - rangePlaceholder: ["Vreme početka", "Vreme završetka"] - }, - Calendar: { - lang: { - placeholder: "Izaberi datum", - rangePlaceholder: ["Datum početka", "Datum završetka"], - locale: "sr_RS", - today: "Danas", - now: "Sada", - backToToday: "Vrati se na danas", - ok: "U redu", - clear: "Obriši", - month: "Mesec", - year: "Godina", - timeSelect: "Izaberi vreme", - dateSelect: "Izaberi datum", - monthSelect: "Izaberi mesec", - yearSelect: "Izaberi godinu", - decadeSelect: "Izaberi deceniju", - yearFormat: "YYYY", - dateFormat: "DD.MM.YYYY", - dayFormat: "D", - dateTimeFormat: "DD.MM.YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Prethodni mesec (PageUp)", - nextMonth: "Sledeći mesec (PageDown)", - previousYear: "Prethodna godina (Control + left)", - nextYear: "Sledeća godina (Control + right)", - previousDecade: "Prethodna decenija", - nextDecade: "Sledeća decenija", - previousCentury: "Prethodni vek", - nextCentury: "Sledeći vek", - yearPlaceholder: "Izaberi godinu", - quarterPlaceholder: "Izaberi tromesečje", - monthPlaceholder: "Izaberi mesec", - weekPlaceholder: "Izaberi sedmicu", - rangeYearPlaceholder: ["Godina početka", "Godina završetka"], - rangeMonthPlaceholder: ["Mesec početka", "Mesec završetka"], - rangeWeekPlaceholder: ["Sedmica početka", "Sedmica završetka"] - }, - timePickerLocale: { - placeholder: "Izaberi vreme", - rangePlaceholder: ["Vreme početka", "Vreme završetka"] - } - }, - Table: { - filterTitle: "Meni filtera", - filterConfirm: "U redu", - filterReset: "Poništi", - selectAll: "Izaberi trenutnu stranicu", - selectInvert: "Obrni izbor trenutne stranice", - filterEmptyText: "Nema filtera", - emptyText: "Nema podataka", - selectNone: "Obriši sve podatke", - selectionAll: "Izaberi sve podatke", - sortTitle: "Sortiraj", - expand: "Proširi red", - collapse: "Skupi red", - triggerDesc: "Klikni da sortiraš po padajućem redosledu", - triggerAsc: "Klikni da sortiraš po rastućem redosledu", - cancelSort: "Klikni da otkažeš sortiranje" - }, - Modal: { - okText: "U redu", - cancelText: "Otkaži", - justOkText: "U redu" - }, - Popconfirm: { - okText: "U redu", - cancelText: "Otkaži" - }, - Transfer: { - searchPlaceholder: "Pretraži ovde", - itemUnit: "stavka", - itemsUnit: "stavki", - titles: ["", ""], - remove: "Ukloni", - selectCurrent: "Izaberi trenutnu stranicu", - removeCurrent: "Ukloni trenutnu stranicu", - selectAll: "Izaberi sve podatke", - removeAll: "Ukloni sve podatke", - selectInvert: "Obrni izbor trenutne stranice" - }, - Upload: { - uploading: "Otpremanje...", - removeFile: "Ukloni datoteku", - uploadError: "Greška pri otpremanju", - previewFile: "Pregledaj datoteku", - downloadFile: "Preuzmi datoteku" - }, - Empty: { - description: "Nema podataka" - }, - global: { - placeholder: "Izaberi" - }, - Icon: { - icon: "ikona" - }, - Text: { - edit: "Uredi", - copy: "Kopiraj", - copied: "Kopirano", - expand: "Proširi" - }, - PageHeader: { - back: "Nazad" - }, - Image: { - preview: "Pregled" - } -}; -var sv_SE = { - locale: "sv", - Pagination: { - items_per_page: "/ sida", - jump_to: "Gå till", - jump_to_confirm: "bekräfta", - page: "Sida", - prev_page: "Föreg sida", - next_page: "Nästa sida", - prev_5: "Föreg 5 sidor", - next_5: "Nästa 5 sidor", - prev_3: "Föreg 3 sidor", - next_3: "Nästa 3 sidor", - page_size: "sidstorlek" - }, - DatePicker: { - lang: { - placeholder: "Välj datum", - rangePlaceholder: ["Startdatum", "Slutdatum"], - locale: "sv_SE", - today: "I dag", - now: "Nu", - backToToday: "Till idag", - ok: "Ok", - clear: "Avbryt", - month: "Månad", - year: "År", - timeSelect: "Välj tidpunkt", - dateSelect: "Välj datum", - monthSelect: "Välj månad", - yearSelect: "Välj år", - decadeSelect: "Välj årtionde", - yearFormat: "YYYY", - dateFormat: "YYYY-MM-DD", - dayFormat: "D", - dateTimeFormat: "YYYY-MM-DD H:mm:ss", - monthBeforeYear: true, - previousMonth: "Förra månaden (PageUp)", - nextMonth: "Nästa månad (PageDown)", - previousYear: "Föreg år (Control + left)", - nextYear: "Nästa år (Control + right)", - previousDecade: "Föreg årtionde", - nextDecade: "Nästa årtionde", - previousCentury: "Föreg århundrade", - nextCentury: "Nästa århundrade", - yearPlaceholder: "Välj år", - quarterPlaceholder: "Välj kvartal", - monthPlaceholder: "Välj månad", - weekPlaceholder: "Välj vecka", - rangeYearPlaceholder: ["Startår", "Slutår"], - rangeMonthPlaceholder: ["Startmånad", "Slutmånad"], - rangeWeekPlaceholder: ["Startvecka", "Slutvecka"] - }, - timePickerLocale: { - placeholder: "Välj tid" - } - }, - TimePicker: { - placeholder: "Välj tid" - }, - Calendar: { - lang: { - placeholder: "Välj datum", - rangePlaceholder: ["Startdatum", "Slutdatum"], - locale: "sv_SE", - today: "I dag", - now: "Nu", - backToToday: "Till idag", - ok: "Ok", - clear: "Avbryt", - month: "Månad", - year: "År", - timeSelect: "Välj tidpunkt", - dateSelect: "Välj datum", - monthSelect: "Välj månad", - yearSelect: "Välj år", - decadeSelect: "Välj årtionde", - yearFormat: "YYYY", - dateFormat: "YYYY-MM-DD", - dayFormat: "D", - dateTimeFormat: "YYYY-MM-DD H:mm:ss", - monthBeforeYear: true, - previousMonth: "Förra månaden (PageUp)", - nextMonth: "Nästa månad (PageDown)", - previousYear: "Föreg år (Control + left)", - nextYear: "Nästa år (Control + right)", - previousDecade: "Föreg årtionde", - nextDecade: "Nästa årtionde", - previousCentury: "Föreg århundrade", - nextCentury: "Nästa århundrade", - yearPlaceholder: "Välj år", - quarterPlaceholder: "Välj kvartal", - monthPlaceholder: "Välj månad", - weekPlaceholder: "Välj vecka", - rangeYearPlaceholder: ["Startår", "Slutår"], - rangeMonthPlaceholder: ["Startmånad", "Slutmånad"], - rangeWeekPlaceholder: ["Startvecka", "Slutvecka"] - }, - timePickerLocale: { - placeholder: "Välj tid" - } - }, - Table: { - filterTitle: "Filtermeny", - filterConfirm: "OK", - filterReset: "Återställ", - filterEmptyText: "Inga filter", - emptyText: "Ingen data", - selectAll: "Markera nuvarande sida", - selectInvert: "Invertera nuvarande sida", - selectNone: "Avmarkera all data", - selectionAll: "Markera all data", - sortTitle: "Sortera", - expand: "Expandera rad", - collapse: "Komprimera rad", - triggerDesc: "Klicka för att sortera i fallande ordning", - triggerAsc: "Klicka för att sortera i stigande ordning", - cancelSort: "Klicka för att avbryta sortering" - }, - Modal: { - okText: "OK", - cancelText: "Avbryt", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Avbryt" - }, - Transfer: { - searchPlaceholder: "Sök här", - itemUnit: "objekt", - itemsUnit: "objekt", - titles: ["", ""], - remove: "Ta bort", - selectCurrent: "Markera nuvarande sida", - removeCurrent: "Ta bort nuvarande sida", - selectAll: "Markera all data", - removeAll: "Ta bort all data", - selectInvert: "Invertera nuvarande sida" - }, - Empty: { - description: "Ingen data" - }, - Text: { - edit: "Redigera", - copy: "Kopiera", - copied: "Kopierad", - expand: "Expandera" - }, - Upload: { - uploading: "Laddar upp...", - removeFile: "Ta bort fil", - uploadError: "Uppladdningsfel", - previewFile: "Förhandsgranska fil", - downloadFile: "Ladda ned fil" - }, - global: { - placeholder: "Vänligen välj" - }, - Icon: { - icon: "ikon" - }, - PageHeader: { - back: "Tillbaka" - }, - Image: { - preview: "Förhandsgranska" - } -}; -var ta_IN = { - locale: "ta", - Pagination: { - items_per_page: "/ பக்கம்", - jump_to: "அடுத்த", - jump_to_confirm: "உறுதிப்படுத்தவும்", - page: "", - prev_page: "முந்தைய பக்கம்", - next_page: "அடுத்த பக்கம்", - prev_5: "முந்தைய 5 பக்கங்கள்", - next_5: "அடுத்த 5 பக்கங்கள்", - prev_3: "முந்தைய 3 பக்கங்கள்", - next_3: "அடுத்த 3 பக்கங்கள்", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "தேதியைத் தேர்ந்தெடுக்கவும்", - rangePlaceholder: ["தொடக்க தேதி", "கடைசி தேதி"], - locale: "ta_IN", - today: "இன்று", - now: "இப்போது", - backToToday: "இன்றுக்கு திரும்பு", - ok: "சரி", - clear: "அழி", - month: "மாதம்", - year: "வருடம்", - timeSelect: "நேரத்தைத் தேர்ந்தெடு", - dateSelect: "தேதியைத் தேர்ந்தெடு", - weekSelect: "வாரத்தைத் தேர்வுசெய்க", - monthSelect: "மாதத்தைத் தேர்வுசெய்க", - yearSelect: "வருடத்தைத் தேர்வுசெய்க", - decadeSelect: "தசாப்தத்தைத் தேர்வுசெய்க", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "முந்தைய மாதம் (PageUp)", - nextMonth: "அடுத்த மாதம் (PageDown)", - previousYear: "முந்தைய வருடம் (Control + left)", - nextYear: "அடுத்த வருடம் (Control + right)", - previousDecade: "முந்தைய தசாப்தம்", - nextDecade: "அடுத்த தசாப்தம்", - previousCentury: "முந்தைய நூற்றாண்டு", - nextCentury: "அடுத்த நூற்றாண்டு" - }, - timePickerLocale: { - placeholder: "நேரத்தைத் தேர்ந்தெடுக்கவும்" - } - }, - TimePicker: { - placeholder: "நேரத்தைத் தேர்ந்தெடுக்கவும்" - }, - Calendar: { - lang: { - placeholder: "தேதியைத் தேர்ந்தெடுக்கவும்", - rangePlaceholder: ["தொடக்க தேதி", "கடைசி தேதி"], - locale: "ta_IN", - today: "இன்று", - now: "இப்போது", - backToToday: "இன்றுக்கு திரும்பு", - ok: "சரி", - clear: "அழி", - month: "மாதம்", - year: "வருடம்", - timeSelect: "நேரத்தைத் தேர்ந்தெடு", - dateSelect: "தேதியைத் தேர்ந்தெடு", - weekSelect: "வாரத்தைத் தேர்வுசெய்க", - monthSelect: "மாதத்தைத் தேர்வுசெய்க", - yearSelect: "வருடத்தைத் தேர்வுசெய்க", - decadeSelect: "தசாப்தத்தைத் தேர்வுசெய்க", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "முந்தைய மாதம் (PageUp)", - nextMonth: "அடுத்த மாதம் (PageDown)", - previousYear: "முந்தைய வருடம் (Control + left)", - nextYear: "அடுத்த வருடம் (Control + right)", - previousDecade: "முந்தைய தசாப்தம்", - nextDecade: "அடுத்த தசாப்தம்", - previousCentury: "முந்தைய நூற்றாண்டு", - nextCentury: "அடுத்த நூற்றாண்டு" - }, - timePickerLocale: { - placeholder: "நேரத்தைத் தேர்ந்தெடுக்கவும்" - } - }, - global: { - placeholder: "தேதியைத் தேர்ந்தெடுக்கவும்" - }, - Table: { - filterTitle: "பட்டியலை மூடு", - filterConfirm: "சரி", - filterReset: "மீட்டமை", - emptyText: "தகவல் இல்லை", - selectAll: "அனைத்தையும் தேர்வுசெய்", - selectInvert: "தலைகீழாக மாற்று", - sortTitle: "தலைப்பை வரிசைப்படுத்தவும்" - }, - Modal: { - okText: "சரி", - cancelText: "ரத்து செய்யவும்", - justOkText: "பரவாயில்லை, சரி" - }, - Popconfirm: { - okText: "சரி", - cancelText: "ரத்து செய்யவும்" - }, - Transfer: { - titles: ["", ""], - notFoundContent: "உள்ளடக்கம் கிடைக்கவில்லை", - searchPlaceholder: "இங்கு தேடவும்", - itemUnit: "தகவல்", - itemsUnit: "தகவல்கள்" - }, - Upload: { - uploading: "பதிவேற்றுகிறது...", - removeFile: "கோப்பை அகற்று", - uploadError: "பதிவேற்றுவதில் பிழை", - previewFile: "கோப்பை முன்னோட்டமிடுங்கள்", - downloadFile: "பதிவிறக்க கோப்பு" - }, - Empty: { - description: "தகவல் இல்லை" - }, - Icon: { - icon: "உருவம்" - }, - Text: { - edit: "திருத்து", - copy: "நகல் எடு", - copied: "நகல் எடுக்கப்பட்டது", - expand: "விரிவாக்கவும்" - }, - PageHeader: { - back: "பின் செல்லவும்" - } -}; -var th_TH = { - locale: "th", - Pagination: { - items_per_page: "/ หน้า", - jump_to: "ไปยัง", - jump_to_confirm: "ยืนยัน", - page: "หน้า", - prev_page: "หน้าก่อนหน้า", - next_page: "หน้าถัดไป", - prev_5: "ย้อนกลับ 5 หน้า", - next_5: "ถัดไป 5 หน้า", - prev_3: "ย้อนกลับ 3 หน้า", - next_3: "ถัดไป 3 หน้า", - page_size: "ขนาดหน้า" - }, - DatePicker: { - lang: { - placeholder: "เลือกวันที่", - yearPlaceholder: "เลือกปี", - quarterPlaceholder: "เลือกไตรมาส", - monthPlaceholder: "เลือกเดือน", - weekPlaceholder: "เลือกสัปดาห์", - rangePlaceholder: ["วันเริ่มต้น", "วันสิ้นสุด"], - rangeYearPlaceholder: ["ปีเริ่มต้น", "ปีสิ้นสุด"], - rangeMonthPlaceholder: ["เดือนเริ่มต้น", "เดือนสิ้นสุด"], - rangeWeekPlaceholder: ["สัปดาห์เริ่มต้น", "สัปดาห์สิ้นสุด"], - locale: "th_TH", - today: "วันนี้", - now: "ตอนนี้", - backToToday: "กลับไปยังวันนี้", - ok: "ตกลง", - clear: "ลบล้าง", - month: "เดือน", - year: "ปี", - timeSelect: "เลือกเวลา", - dateSelect: "เลือกวัน", - monthSelect: "เลือกเดือน", - yearSelect: "เลือกปี", - decadeSelect: "เลือกทศวรรษ", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "เดือนก่อนหน้า (PageUp)", - nextMonth: "เดือนถัดไป (PageDown)", - previousYear: "ปีก่อนหน้า (Control + left)", - nextYear: "ปีถัดไป (Control + right)", - previousDecade: "ทศวรรษก่อนหน้า", - nextDecade: "ทศวรรษถัดไป", - previousCentury: "ศตวรรษก่อนหน้า", - nextCentury: "ศตวรรษถัดไป" - }, - timePickerLocale: { - placeholder: "เลือกเวลา" - } - }, - TimePicker: { - placeholder: "เลือกเวลา" - }, - Calendar: { - lang: { - placeholder: "เลือกวันที่", - yearPlaceholder: "เลือกปี", - quarterPlaceholder: "เลือกไตรมาส", - monthPlaceholder: "เลือกเดือน", - weekPlaceholder: "เลือกสัปดาห์", - rangePlaceholder: ["วันเริ่มต้น", "วันสิ้นสุด"], - rangeYearPlaceholder: ["ปีเริ่มต้น", "ปีสิ้นสุด"], - rangeMonthPlaceholder: ["เดือนเริ่มต้น", "เดือนสิ้นสุด"], - rangeWeekPlaceholder: ["สัปดาห์เริ่มต้น", "สัปดาห์สิ้นสุด"], - locale: "th_TH", - today: "วันนี้", - now: "ตอนนี้", - backToToday: "กลับไปยังวันนี้", - ok: "ตกลง", - clear: "ลบล้าง", - month: "เดือน", - year: "ปี", - timeSelect: "เลือกเวลา", - dateSelect: "เลือกวัน", - monthSelect: "เลือกเดือน", - yearSelect: "เลือกปี", - decadeSelect: "เลือกทศวรรษ", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "เดือนก่อนหน้า (PageUp)", - nextMonth: "เดือนถัดไป (PageDown)", - previousYear: "ปีก่อนหน้า (Control + left)", - nextYear: "ปีถัดไป (Control + right)", - previousDecade: "ทศวรรษก่อนหน้า", - nextDecade: "ทศวรรษถัดไป", - previousCentury: "ศตวรรษก่อนหน้า", - nextCentury: "ศตวรรษถัดไป" - }, - timePickerLocale: { - placeholder: "เลือกเวลา" - } - }, - global: { - placeholder: "กรุณาเลือก" - }, - Table: { - filterTitle: "ตัวกรอง", - filterConfirm: "ยืนยัน", - filterReset: "รีเซ็ต", - filterEmptyText: "ไม่มีตัวกรอง", - emptyText: "ไม่มีข้อมูล", - selectAll: "เลือกทั้งหมดในหน้านี้", - selectInvert: "กลับสถานะการเลือกในหน้านี้", - selectionAll: "เลือกข้อมูลทั้งหมด", - sortTitle: "เรียง", - expand: "แสดงแถวข้อมูล", - collapse: "ย่อแถวข้อมูล", - triggerDesc: "คลิกเรียงจากมากไปน้อย", - triggerAsc: "คลิกเรียงจากน้อยไปมาก", - cancelSort: "คลิกเพื่อยกเลิกการเรียง" - }, - Modal: { - okText: "ตกลง", - cancelText: "ยกเลิก", - justOkText: "ตกลง" - }, - Popconfirm: { - okText: "ตกลง", - cancelText: "ยกเลิก" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "ค้นหา", - itemUnit: "ชิ้น", - itemsUnit: "ชิ้น", - remove: "นำออก", - selectCurrent: "เลือกทั้งหมดในหน้านี้", - removeCurrent: "นำออกทั้งหมดในหน้านี้", - selectAll: "เลือกข้อมูลทั้งหมด", - removeAll: "นำข้อมูลออกทั้งหมด", - selectInvert: "กลับสถานะการเลือกในหน้านี้" - }, - Upload: { - uploading: "กำลังอัปโหลด...", - removeFile: "ลบไฟล์", - uploadError: "เกิดข้อผิดพลาดในการอัปโหลด", - previewFile: "ดูตัวอย่างไฟล์", - downloadFile: "ดาวน์โหลดไฟล์" - }, - Empty: { - description: "ไม่มีข้อมูล" - }, - Icon: { - icon: "ไอคอน" - }, - Text: { - edit: "แก้ไข", - copy: "คัดลอก", - copied: "คัดลอกแล้ว", - expand: "ขยาย" - }, - PageHeader: { - back: "ย้อนกลับ" - } -}; -var tr_TR = { - locale: "tr", - Pagination: { - items_per_page: "/ sayfa", - jump_to: "Git", - jump_to_confirm: "onayla", - page: "Sayfa", - prev_page: "Önceki Sayfa", - next_page: "Sonraki Sayfa", - prev_5: "Önceki 5 Sayfa", - next_5: "Sonraki 5 Sayfa", - prev_3: "Önceki 3 Sayfa", - next_3: "Sonraki 3 Sayfa", - page_size: "sayfa boyutu" - }, - DatePicker: { - lang: { - placeholder: "Tarih seç", - yearPlaceholder: "Yıl seç", - quarterPlaceholder: "Çeyrek seç", - monthPlaceholder: "Ay seç", - weekPlaceholder: "Hafta seç", - rangePlaceholder: ["Başlangıç tarihi", "Bitiş tarihi"], - rangeYearPlaceholder: ["Başlangıç yılı", "Bitiş yılı"], - rangeMonthPlaceholder: ["Başlangıç ayı", "Bitiş ayı"], - rangeWeekPlaceholder: ["Başlangıç haftası", "Bitiş haftası"], - locale: "tr_TR", - today: "Bugün", - now: "Şimdi", - backToToday: "Bugüne Geri Dön", - ok: "tamam", - clear: "Temizle", - month: "Ay", - year: "Yıl", - timeSelect: "Zaman Seç", - dateSelect: "Tarih Seç", - monthSelect: "Ay Seç", - yearSelect: "Yıl Seç", - decadeSelect: "On Yıl Seç", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Önceki Ay (PageUp)", - nextMonth: "Sonraki Ay (PageDown)", - previousYear: "Önceki Yıl (Control + Sol)", - nextYear: "Sonraki Yıl (Control + Sağ)", - previousDecade: "Önceki On Yıl", - nextDecade: "Sonraki On Yıl", - previousCentury: "Önceki Yüzyıl", - nextCentury: "Sonraki Yüzyıl" - }, - timePickerLocale: { - placeholder: "Zaman seç", - rangePlaceholder: ["Başlangıç zamanı", "Bitiş zamanı"] - } - }, - TimePicker: { - placeholder: "Zaman seç", - rangePlaceholder: ["Başlangıç zamanı", "Bitiş zamanı"] - }, - Calendar: { - lang: { - placeholder: "Tarih seç", - yearPlaceholder: "Yıl seç", - quarterPlaceholder: "Çeyrek seç", - monthPlaceholder: "Ay seç", - weekPlaceholder: "Hafta seç", - rangePlaceholder: ["Başlangıç tarihi", "Bitiş tarihi"], - rangeYearPlaceholder: ["Başlangıç yılı", "Bitiş yılı"], - rangeMonthPlaceholder: ["Başlangıç ayı", "Bitiş ayı"], - rangeWeekPlaceholder: ["Başlangıç haftası", "Bitiş haftası"], - locale: "tr_TR", - today: "Bugün", - now: "Şimdi", - backToToday: "Bugüne Geri Dön", - ok: "tamam", - clear: "Temizle", - month: "Ay", - year: "Yıl", - timeSelect: "Zaman Seç", - dateSelect: "Tarih Seç", - monthSelect: "Ay Seç", - yearSelect: "Yıl Seç", - decadeSelect: "On Yıl Seç", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Önceki Ay (PageUp)", - nextMonth: "Sonraki Ay (PageDown)", - previousYear: "Önceki Yıl (Control + Sol)", - nextYear: "Sonraki Yıl (Control + Sağ)", - previousDecade: "Önceki On Yıl", - nextDecade: "Sonraki On Yıl", - previousCentury: "Önceki Yüzyıl", - nextCentury: "Sonraki Yüzyıl" - }, - timePickerLocale: { - placeholder: "Zaman seç", - rangePlaceholder: ["Başlangıç zamanı", "Bitiş zamanı"] - } - }, - global: { - placeholder: "Lütfen seçiniz" - }, - Table: { - filterTitle: "Filtre menüsü", - filterConfirm: "Tamam", - filterReset: "Sıfırla", - filterEmptyText: "Filtre yok", - selectAll: "Tüm sayfayı seç", - selectInvert: "Tersini seç", - selectionAll: "Tümünü seç", - sortTitle: "Sırala", - expand: "Satırı genişlet", - collapse: "Satırı daralt", - triggerDesc: "Azalan düzende sırala", - triggerAsc: "Artan düzende sırala", - cancelSort: "Sıralamayı kaldır" - }, - Modal: { - okText: "Tamam", - cancelText: "İptal", - justOkText: "Tamam" - }, - Popconfirm: { - okText: "Tamam", - cancelText: "İptal" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "Arama", - itemUnit: "Öğe", - itemsUnit: "Öğeler", - remove: "Kaldır", - selectCurrent: "Tüm sayfayı seç", - removeCurrent: "Sayfayı kaldır", - selectAll: "Tümünü seç", - removeAll: "Tümünü kaldır", - selectInvert: "Tersini seç" - }, - Upload: { - uploading: "Yükleniyor...", - removeFile: "Dosyayı kaldır", - uploadError: "Yükleme hatası", - previewFile: "Dosyayı önizle", - downloadFile: "Dosyayı indir" - }, - Empty: { - description: "Veri Yok" - }, - Icon: { - icon: "ikon" - }, - Text: { - edit: "Düzenle", - copy: "Kopyala", - copied: "Kopyalandı", - expand: "Genişlet" - }, - PageHeader: { - back: "Geri" - }, - Image: { - preview: "Önizleme" - } -}; -var uk_UA = { - locale: "uk", - Pagination: { - items_per_page: "/ сторінці", - jump_to: "Перейти", - jump_to_confirm: "підтвердити", - page: "", - prev_page: "Попередня сторінка", - next_page: "Наступна сторінка", - prev_5: "Попередні 5 сторінок", - next_5: "Наступні 5 сторінок", - prev_3: "Попередні 3 сторінки", - next_3: "Наступні 3 сторінки", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "Оберіть дату", - yearPlaceholder: "Оберіть рік", - quarterPlaceholder: "Оберіть квартал", - monthPlaceholder: "Оберіть місяць", - weekPlaceholder: "Оберіть тиждень", - rangePlaceholder: ["Початкова дата", "Кінцева дата"], - rangeYearPlaceholder: ["Початковий рік", "Рік закінчення"], - rangeMonthPlaceholder: ["Початковий місяць", "Кінцевий місяць"], - rangeWeekPlaceholder: ["Початковий тиждень", "Кінцевий тиждень"], - locale: "uk_UA", - today: "Сьогодні", - now: "Зараз", - backToToday: "Поточна дата", - ok: "Ok", - clear: "Очистити", - month: "Місяць", - year: "Рік", - timeSelect: "Обрати час", - dateSelect: "Обрати дату", - monthSelect: "Обрати місяць", - yearSelect: "Обрати рік", - decadeSelect: "Обрати десятиріччя", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Попередній місяць (PageUp)", - nextMonth: "Наступний місяць (PageDown)", - previousYear: "Попередній рік (Control + left)", - nextYear: "Наступний рік (Control + right)", - previousDecade: "Попереднє десятиріччя", - nextDecade: "Наступне десятиріччя", - previousCentury: "Попереднє століття", - nextCentury: "Наступне століття" - }, - timePickerLocale: { - placeholder: "Оберіть час", - rangePlaceholder: ["Час початку", "Час закінчення"] - } - }, - TimePicker: { - placeholder: "Оберіть час", - rangePlaceholder: ["Час початку", "Час закінчення"] - }, - Calendar: { - lang: { - placeholder: "Оберіть дату", - rangePlaceholder: ["Початкова дата", "Кінцева дата"], - locale: "uk_UA", - today: "Сьогодні", - now: "Зараз", - backToToday: "Поточна дата", - ok: "Ok", - clear: "Очистити", - month: "Місяць", - year: "Рік", - timeSelect: "Обрати час", - dateSelect: "Обрати дату", - monthSelect: "Обрати місяць", - yearSelect: "Обрати рік", - decadeSelect: "Обрати десятиріччя", - yearFormat: "YYYY", - dateFormat: "D-M-YYYY", - dayFormat: "D", - dateTimeFormat: "D-M-YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Попередній місяць (PageUp)", - nextMonth: "Наступний місяць (PageDown)", - previousYear: "Попередній рік (Control + left)", - nextYear: "Наступний рік (Control + right)", - previousDecade: "Попереднє десятиріччя", - nextDecade: "Наступне десятиріччя", - previousCentury: "Попереднє століття", - nextCentury: "Наступне століття" - }, - timePickerLocale: { - placeholder: "Оберіть час" - } - }, - Table: { - filterTitle: "Фільтрувати", - filterConfirm: "OK", - filterReset: "Скинути", - selectAll: "Обрати всі", - selectInvert: "Інвертувати вибір" - }, - Modal: { - okText: "Гаразд", - cancelText: "Скасувати", - justOkText: "Гаразд" - }, - Popconfirm: { - okText: "Гаразд", - cancelText: "Скасувати" - }, - Transfer: { - searchPlaceholder: "Введіть текст для пошуку", - itemUnit: "елем.", - itemsUnit: "елем." - }, - Upload: { - uploading: "Завантаження ...", - removeFile: "Видалити файл", - uploadError: "Помилка завантаження", - previewFile: "Попередній перегляд файлу", - downloadFile: "Завантажити файл" - }, - Empty: { - description: "Даних немає" - }, - Icon: { - icon: "іконка" - }, - Text: { - edit: "Редагувати", - copy: "Копіювати", - copied: "Скопійовано", - expand: "Розгорнути" - }, - PageHeader: { - back: "Назад" - } -}; -var ur_PK = { - locale: "ur", - Pagination: { - items_per_page: "/ صفحہ", - jump_to: "پاس جاؤ", - jump_to_confirm: "تصدیق کریں", - page: "", - prev_page: "پچھلا صفحہ", - next_page: "اگلا صفحہ", - prev_5: "پچھلے 5 صفحات", - next_5: "اگلے 5 صفحات", - prev_3: "پچھلے 3 صفحات", - next_3: "اگلے 3 صفحات", - page_size: "Page Size" - }, - DatePicker: { - lang: { - placeholder: "تاریخ منتخب کریں", - yearPlaceholder: "سال کو منتخب کریں", - quarterPlaceholder: "کوارٹر منتخب کریں", - monthPlaceholder: "ماہ منتخب کریں", - weekPlaceholder: "ہفتہ منتخب کریں", - rangePlaceholder: ["شروع کرنے کی تاریخ", "آخری تاریخ"], - rangeYearPlaceholder: ["آغاز سال", "آخر سال"], - rangeMonthPlaceholder: ["مہینہ شروع", "اختتامی مہینہ"], - rangeWeekPlaceholder: ["ہفتے شروع کریں", "اختتام ہفتہ"], - locale: "ur_PK", - today: "آج", - now: "ابھی", - backToToday: "آج واپس", - ok: "ٹھیک ہے", - clear: "صاف", - month: "مہینہ", - year: "سال", - timeSelect: "وقت منتخب کریں", - dateSelect: "تاریخ منتخب کریں", - weekSelect: "ایک ہفتہ کا انتخاب کریں", - monthSelect: "ایک مہینہ کا انتخاب کریں", - yearSelect: "ایک سال کا انتخاب کریں", - decadeSelect: "ایک دہائی کا انتخاب کریں", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "پچھلے مہینے (PageUp)", - nextMonth: "اگلے مہینے (PageDown)", - previousYear: "گزشتہ سال (Control + left)", - nextYear: "اگلے سال (Control + right)", - previousDecade: "پچھلی دہائی", - nextDecade: "اگلی دہائی", - previousCentury: "پچھلی صدی", - nextCentury: "اگلی صدی" - }, - timePickerLocale: { - placeholder: "وقت منتخب کریں", - rangePlaceholder: ["وقت منتخب کریں", "آخر وقت"] - } - }, - TimePicker: { - placeholder: "وقت منتخب کریں", - rangePlaceholder: ["وقت منتخب کریں", "آخر وقت"] - }, - Calendar: { - lang: { - placeholder: "تاریخ منتخب کریں", - yearPlaceholder: "سال کو منتخب کریں", - quarterPlaceholder: "کوارٹر منتخب کریں", - monthPlaceholder: "ماہ منتخب کریں", - weekPlaceholder: "ہفتہ منتخب کریں", - rangePlaceholder: ["شروع کرنے کی تاریخ", "آخری تاریخ"], - rangeYearPlaceholder: ["آغاز سال", "آخر سال"], - rangeMonthPlaceholder: ["مہینہ شروع", "اختتامی مہینہ"], - rangeWeekPlaceholder: ["ہفتے شروع کریں", "اختتام ہفتہ"], - locale: "ur_PK", - today: "آج", - now: "ابھی", - backToToday: "آج واپس", - ok: "ٹھیک ہے", - clear: "صاف", - month: "مہینہ", - year: "سال", - timeSelect: "وقت منتخب کریں", - dateSelect: "تاریخ منتخب کریں", - weekSelect: "ایک ہفتہ کا انتخاب کریں", - monthSelect: "ایک مہینہ کا انتخاب کریں", - yearSelect: "ایک سال کا انتخاب کریں", - decadeSelect: "ایک دہائی کا انتخاب کریں", - yearFormat: "YYYY", - dateFormat: "M/D/YYYY", - dayFormat: "D", - dateTimeFormat: "M/D/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "پچھلے مہینے (PageUp)", - nextMonth: "اگلے مہینے (PageDown)", - previousYear: "گزشتہ سال (Control + left)", - nextYear: "اگلے سال (Control + right)", - previousDecade: "پچھلی دہائی", - nextDecade: "اگلی دہائی", - previousCentury: "پچھلی صدی", - nextCentury: "اگلی صدی" - }, - timePickerLocale: { - placeholder: "وقت منتخب کریں", - rangePlaceholder: ["وقت منتخب کریں", "آخر وقت"] - } - }, - global: { - placeholder: "منتخب کریں" - }, - Table: { - filterTitle: "فلٹر مینو", - filterConfirm: "ٹھیک ہے", - filterReset: "ری سیٹ کریں", - filterEmptyText: "فلٹرز نہیں", - emptyText: "کوئی ڈیٹا نہیں", - selectAll: "موجودہ صفحہ منتخب کریں", - selectInvert: "موجودہ صفحے کو الٹ دیں", - selectNone: "تمام ڈیٹا صاف کریں", - selectionAll: "تمام ڈیٹا کو منتخب کریں", - sortTitle: "ترتیب دیں", - expand: "پھیلائیں", - collapse: "سمیٹیں", - triggerDesc: "نزولی کو ترتیب دینے کیلئے کلک کریں", - triggerAsc: "چڑھنے کو ترتیب دینے کیلئے کلک کریں", - cancelSort: "ترتیب کو منسوخ کرنے کیلئے دبائیں" - }, - Modal: { - okText: "ٹھیک ہے", - cancelText: "منسوخ کریں", - justOkText: "ٹھیک ہے" - }, - Popconfirm: { - okText: "ٹھیک ہے", - cancelText: "منسوخ کریں" - }, - Transfer: { - titles: ["", ""], - searchPlaceholder: "یہاں تلاش کریں", - itemUnit: "شے", - itemsUnit: "اشیاء", - remove: "ہٹائیں", - selectCurrent: "موجودہ صفحہ منتخب کریں", - removeCurrent: "موجودہ صفحہ ہٹائیں", - selectAll: "تمام ڈیٹا کو منتخب کریں", - removeAll: "تمام ڈیٹا کو ہٹا دیں", - selectInvert: "موجودہ صفحے کو الٹ دیں" - }, - Upload: { - uploading: "اپ لوڈ ہو رہا ہے…", - removeFile: "فائل کو ہٹا دیں", - uploadError: "اپ لوڈ کی خرابی", - previewFile: "پیش نظار فائل", - downloadFile: "فائل ڈاؤن لوڈ کریں" - }, - Empty: { - description: "کوئی ڈیٹا نہیں" - }, - Icon: { - icon: "آئیکن" - }, - Text: { - edit: "ترمیم", - copy: "کاپی", - copied: "کاپی ہوگیا", - expand: "پھیلائیں" - }, - PageHeader: { - back: "پیچھے" - }, - Image: { - preview: "پیش نظارہ" - } -}; -var vi_VN = { - locale: "vi", - Pagination: { - items_per_page: "/ trang", - jump_to: "Đến", - jump_to_confirm: "xác nhận", - page: "Trang", - prev_page: "Trang Trước", - next_page: "Trang Kế", - prev_5: "Về 5 Trang Trước", - next_5: "Đến 5 Trang Kế", - prev_3: "Về 3 Trang Trước", - next_3: "Đến 3 Trang Kế", - page_size: "kích thước trang" - }, - DatePicker: { - lang: { - placeholder: "Chọn thời điểm", - rangePlaceholder: ["Ngày bắt đầu", "Ngày kết thúc"], - locale: "vi_VN", - today: "Hôm nay", - now: "Bây giờ", - backToToday: "Trở về hôm nay", - ok: "Ok", - clear: "Xóa", - month: "Tháng", - year: "Năm", - timeSelect: "Chọn thời gian", - dateSelect: "Chọn ngày", - weekSelect: "Chọn tuần", - monthSelect: "Chọn tháng", - yearSelect: "Chọn năm", - decadeSelect: "Chọn thập kỷ", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Tháng trước (PageUp)", - nextMonth: "Tháng sau (PageDown)", - previousYear: "Năm trước (Control + left)", - nextYear: "Năm sau (Control + right)", - previousDecade: "Thập kỷ trước", - nextDecade: "Thập kỷ sau", - previousCentury: "Thế kỷ trước", - nextCentury: "Thế kỷ sau" - }, - timePickerLocale: { - placeholder: "Chọn thời gian" - } - }, - TimePicker: { - placeholder: "Chọn thời gian" - }, - Calendar: { - lang: { - placeholder: "Chọn thời điểm", - rangePlaceholder: ["Ngày bắt đầu", "Ngày kết thúc"], - locale: "vi_VN", - today: "Hôm nay", - now: "Bây giờ", - backToToday: "Trở về hôm nay", - ok: "Ok", - clear: "Xóa", - month: "Tháng", - year: "Năm", - timeSelect: "Chọn thời gian", - dateSelect: "Chọn ngày", - weekSelect: "Chọn tuần", - monthSelect: "Chọn tháng", - yearSelect: "Chọn năm", - decadeSelect: "Chọn thập kỷ", - yearFormat: "YYYY", - dateFormat: "D/M/YYYY", - dayFormat: "D", - dateTimeFormat: "D/M/YYYY HH:mm:ss", - monthBeforeYear: true, - previousMonth: "Tháng trước (PageUp)", - nextMonth: "Tháng sau (PageDown)", - previousYear: "Năm trước (Control + left)", - nextYear: "Năm sau (Control + right)", - previousDecade: "Thập kỷ trước", - nextDecade: "Thập kỷ sau", - previousCentury: "Thế kỷ trước", - nextCentury: "Thế kỷ sau" - }, - timePickerLocale: { - placeholder: "Chọn thời gian" - } - }, - Table: { - filterTitle: "Bộ ", - filterConfirm: "OK", - filterReset: "Tạo Lại", - selectAll: "Chọn Tất Cả", - selectInvert: "Chọn Ngược Lại" - }, - Modal: { - okText: "OK", - cancelText: "Huỷ", - justOkText: "OK" - }, - Popconfirm: { - okText: "OK", - cancelText: "Huỷ" - }, - Transfer: { - searchPlaceholder: "Tìm ở đây", - itemUnit: "mục", - itemsUnit: "mục" - }, - Upload: { - uploading: "Đang tải lên...", - removeFile: "Gỡ bỏ tập tin", - uploadError: "Lỗi tải lên", - previewFile: "Xem thử tập tin", - downloadFile: "Tải tập tin" - }, - Empty: { - description: "Trống" - } -}; -var zh_HK = { - locale: "zh-hk", - Pagination: { - items_per_page: "條/頁", - jump_to: "跳至", - jump_to_confirm: "確定", - page: "頁", - prev_page: "上一頁", - next_page: "下一頁", - prev_5: "向前 5 頁", - next_5: "向後 5 頁", - prev_3: "向前 3 頁", - next_3: "向後 3 頁", - page_size: "頁碼" - }, - DatePicker: { - lang: { - placeholder: "請選擇日期", - rangePlaceholder: ["開始日期", "結束日期"], - locale: "zh_TW", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "確定", - timeSelect: "選擇時間", - dateSelect: "選擇日期", - weekSelect: "選擇周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上個月 (翻頁上鍵)", - nextMonth: "下個月 (翻頁下鍵)", - monthSelect: "選擇月份", - yearSelect: "選擇年份", - decadeSelect: "選擇年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "上一年 (Control鍵加左方向鍵)", - nextYear: "下一年 (Control鍵加右方向鍵)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世紀", - nextCentury: "下一世紀", - yearPlaceholder: "請選擇年份", - quarterPlaceholder: "請選擇季度", - monthPlaceholder: "請選擇月份", - weekPlaceholder: "請選擇周", - rangeYearPlaceholder: ["開始年份", "結束年份"], - rangeMonthPlaceholder: ["開始月份", "結束月份"], - rangeWeekPlaceholder: ["開始周", "結束周"] - }, - timePickerLocale: { - placeholder: "請選擇時間" - } - }, - TimePicker: { - placeholder: "請選擇時間" - }, - Calendar: { - lang: { - placeholder: "請選擇日期", - rangePlaceholder: ["開始日期", "結束日期"], - locale: "zh_TW", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "確定", - timeSelect: "選擇時間", - dateSelect: "選擇日期", - weekSelect: "選擇周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上個月 (翻頁上鍵)", - nextMonth: "下個月 (翻頁下鍵)", - monthSelect: "選擇月份", - yearSelect: "選擇年份", - decadeSelect: "選擇年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "上一年 (Control鍵加左方向鍵)", - nextYear: "下一年 (Control鍵加右方向鍵)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世紀", - nextCentury: "下一世紀", - yearPlaceholder: "請選擇年份", - quarterPlaceholder: "請選擇季度", - monthPlaceholder: "請選擇月份", - weekPlaceholder: "請選擇周", - rangeYearPlaceholder: ["開始年份", "結束年份"], - rangeMonthPlaceholder: ["開始月份", "結束月份"], - rangeWeekPlaceholder: ["開始周", "結束周"] - }, - timePickerLocale: { - placeholder: "請選擇時間" - } - }, - global: { - placeholder: "請選擇" - }, - Table: { - filterTitle: "篩選器", - filterConfirm: "確定", - filterReset: "重置", - filterEmptyText: "無篩選項", - selectAll: "全部選取", - selectInvert: "反向選取", - selectionAll: "全選所有", - sortTitle: "排序", - expand: "展開行", - collapse: "關閉行", - triggerDesc: "點擊降序", - triggerAsc: "點擊升序", - cancelSort: "取消排序", - selectNone: "清空所有" - }, - Modal: { - okText: "確定", - cancelText: "取消", - justOkText: "知道了" - }, - Popconfirm: { - okText: "確定", - cancelText: "取消" - }, - Transfer: { - searchPlaceholder: "搜尋資料", - itemUnit: "項目", - itemsUnit: "項目", - remove: "刪除", - selectCurrent: "全選當頁", - removeCurrent: "刪除當頁", - selectAll: "全選所有", - removeAll: "刪除全部", - selectInvert: "反選當頁" - }, - Upload: { - uploading: "正在上傳...", - removeFile: "刪除檔案", - uploadError: "上傳失敗", - previewFile: "檔案預覽", - downloadFile: "下载文件" - }, - Empty: { - description: "無此資料" - }, - Icon: { - icon: "圖標" - }, - Text: { - edit: "編輯", - copy: "複製", - copied: "複製成功", - expand: "展開" - }, - PageHeader: { - back: "返回" - }, - Image: { - preview: "預覽" - } -}; -var zh_TW = { - locale: "zh-tw", - Pagination: { - items_per_page: "條/頁", - jump_to: "跳至", - jump_to_confirm: "確定", - page: "頁", - prev_page: "上一頁", - next_page: "下一頁", - prev_5: "向前 5 頁", - next_5: "向後 5 頁", - prev_3: "向前 3 頁", - next_3: "向後 3 頁", - page_size: "頁碼" - }, - DatePicker: { - lang: { - placeholder: "請選擇日期", - rangePlaceholder: ["開始日期", "結束日期"], - locale: "zh_TW", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "確定", - timeSelect: "選擇時間", - dateSelect: "選擇日期", - weekSelect: "選擇周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上個月 (翻頁上鍵)", - nextMonth: "下個月 (翻頁下鍵)", - monthSelect: "選擇月份", - yearSelect: "選擇年份", - decadeSelect: "選擇年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "上一年 (Control鍵加左方向鍵)", - nextYear: "下一年 (Control鍵加右方向鍵)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世紀", - nextCentury: "下一世紀", - yearPlaceholder: "請選擇年份", - quarterPlaceholder: "請選擇季度", - monthPlaceholder: "請選擇月份", - weekPlaceholder: "請選擇周", - rangeYearPlaceholder: ["開始年份", "結束年份"], - rangeMonthPlaceholder: ["開始月份", "結束月份"], - rangeWeekPlaceholder: ["開始周", "結束周"] - }, - timePickerLocale: { - placeholder: "請選擇時間" - } - }, - TimePicker: { - placeholder: "請選擇時間" - }, - Calendar: { - lang: { - placeholder: "請選擇日期", - rangePlaceholder: ["開始日期", "結束日期"], - locale: "zh_TW", - today: "今天", - now: "此刻", - backToToday: "返回今天", - ok: "確定", - timeSelect: "選擇時間", - dateSelect: "選擇日期", - weekSelect: "選擇周", - clear: "清除", - month: "月", - year: "年", - previousMonth: "上個月 (翻頁上鍵)", - nextMonth: "下個月 (翻頁下鍵)", - monthSelect: "選擇月份", - yearSelect: "選擇年份", - decadeSelect: "選擇年代", - yearFormat: "YYYY年", - dayFormat: "D日", - dateFormat: "YYYY年M月D日", - dateTimeFormat: "YYYY年M月D日 HH時mm分ss秒", - previousYear: "上一年 (Control鍵加左方向鍵)", - nextYear: "下一年 (Control鍵加右方向鍵)", - previousDecade: "上一年代", - nextDecade: "下一年代", - previousCentury: "上一世紀", - nextCentury: "下一世紀", - yearPlaceholder: "請選擇年份", - quarterPlaceholder: "請選擇季度", - monthPlaceholder: "請選擇月份", - weekPlaceholder: "請選擇周", - rangeYearPlaceholder: ["開始年份", "結束年份"], - rangeMonthPlaceholder: ["開始月份", "結束月份"], - rangeWeekPlaceholder: ["開始周", "結束周"] - }, - timePickerLocale: { - placeholder: "請選擇時間" - } - }, - global: { - placeholder: "請選擇" - }, - Table: { - filterTitle: "篩選器", - filterConfirm: "確定", - filterReset: "重置", - filterEmptyText: "無篩選項", - selectAll: "全部選取", - selectInvert: "反向選取", - selectionAll: "全選所有", - sortTitle: "排序", - expand: "展開行", - collapse: "關閉行", - triggerDesc: "點擊降序", - triggerAsc: "點擊升序", - cancelSort: "取消排序", - selectNone: "清空所有" - }, - Modal: { - okText: "確定", - cancelText: "取消", - justOkText: "知道了" - }, - Popconfirm: { - okText: "確定", - cancelText: "取消" - }, - Transfer: { - searchPlaceholder: "搜尋資料", - itemUnit: "項目", - itemsUnit: "項目", - remove: "删除", - selectCurrent: "全選當頁", - removeCurrent: "删除當頁", - selectAll: "全選所有", - removeAll: "删除全部", - selectInvert: "反選當頁" - }, - Upload: { - uploading: "正在上傳...", - removeFile: "刪除檔案", - uploadError: "上傳失敗", - previewFile: "檔案預覽", - downloadFile: "下載文件" - }, - Empty: { - description: "無此資料" - }, - Icon: { - icon: "圖標" - }, - Text: { - edit: "編輯", - copy: "複製", - copied: "複製成功", - expand: "展開" - }, - PageHeader: { - back: "返回" - }, - Image: { - preview: "預覽" - } -}; - -export { - en_US, - zh_CN, - NZ_I18N, - provideNzI18n, - NZ_DATE_LOCALE, - NzI18nService, - NzI18nPipe, - NzI18nModule, - NZ_DATE_CONFIG, - NZ_DATE_CONFIG_DEFAULT, - mergeDateConfig, - DATE_HELPER_SERVICE_FACTORY, - DateHelperService, - DateHelperByDateFns, - DateHelperByDatePipe, - ar_EG, - az_AZ, - bg_BG, - bn_BD, - by_BY, - ca_ES, - cs_CZ, - da_DK, - de_DE, - el_GR, - en_GB, - es_ES, - et_EE, - fa_IR, - fi_FI, - fr_BE, - fr_CA, - fr_FR, - ga_IE, - gl_ES, - he_IL, - hi_IN, - hr_HR, - hu_HU, - hy_AM, - id_ID, - is_IS, - it_IT, - ja_JP, - ka_GE, - km_KH, - kk_KZ, - kmr_IQ, - kn_IN, - ko_KR, - ku_IQ, - lt_LT, - lv_LV, - mk_MK, - ml_IN, - mn_MN, - ms_MY, - nb_NO, - ne_NP, - nl_BE, - nl_NL, - pl_PL, - pt_BR, - pt_PT, - ro_RO, - ru_RU, - sk_SK, - sl_SI, - sr_RS, - sv_SE, - ta_IN, - th_TH, - tr_TR, - uk_UA, - ur_PK, - vi_VN, - zh_HK, - zh_TW -}; -//# sourceMappingURL=chunk-T745QDCV.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js.map b/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js.map deleted file mode 100644 index 82fc126..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-T745QDCV.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@babel/runtime/helpers/esm/typeof.js", "../../../../../node_modules/date-fns/esm/_lib/toInteger/index.js", "../../../../../node_modules/date-fns/esm/_lib/requiredArgs/index.js", "../../../../../node_modules/date-fns/esm/toDate/index.js", "../../../../../node_modules/date-fns/esm/addMilliseconds/index.js", "../../../../../node_modules/date-fns/esm/_lib/defaultOptions/index.js", "../../../../../node_modules/date-fns/esm/startOfWeek/index.js", "../../../../../node_modules/date-fns/esm/startOfISOWeek/index.js", "../../../../../node_modules/date-fns/esm/getISOWeekYear/index.js", "../../../../../node_modules/date-fns/esm/startOfISOWeekYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js", "../../../../../node_modules/date-fns/esm/constants/index.js", "../../../../../node_modules/date-fns/esm/isDate/index.js", "../../../../../node_modules/date-fns/esm/isValid/index.js", "../../../../../node_modules/date-fns/esm/subMilliseconds/index.js", "../../../../../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js", "../../../../../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js", "../../../../../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js", "../../../../../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js", "../../../../../node_modules/date-fns/esm/_lib/getUTCWeek/index.js", "../../../../../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js", "../../../../../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js", "../../../../../node_modules/date-fns/esm/_lib/format/formatters/index.js", "../../../../../node_modules/date-fns/esm/_lib/format/longFormatters/index.js", "../../../../../node_modules/date-fns/esm/_lib/protectedTokens/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js", "../../../../../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js", "../../../../../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js", "../../../../../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js", "../../../../../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js", "../../../../../node_modules/date-fns/esm/locale/en-US/index.js", "../../../../../node_modules/date-fns/esm/_lib/defaultLocale/index.js", "../../../../../node_modules/date-fns/esm/format/index.js", "../../../../../node_modules/date-fns/esm/_lib/assign/index.js", "../../../../../node_modules/date-fns/esm/formatDistanceStrict/index.js", "../../../../../node_modules/date-fns/esm/getISOWeek/index.js", "../../../../../node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js", "../../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js", "../../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js", "../../../../../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js", "../../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js", "../../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js", "../../../../../node_modules/@babel/runtime/helpers/esm/inherits.js", "../../../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js", "../../../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js", "../../../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js", "../../../../../node_modules/@babel/runtime/helpers/esm/createSuper.js", "../../../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js", "../../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js", "../../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js", "../../../../../node_modules/@babel/runtime/helpers/esm/createClass.js", "../../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js", "../../../../../node_modules/date-fns/esm/parse/_lib/Setter.js", "../../../../../node_modules/date-fns/esm/parse/_lib/Parser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/constants.js", "../../../../../node_modules/date-fns/esm/parse/_lib/utils.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js", "../../../../../node_modules/date-fns/esm/_lib/setUTCWeek/index.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js", "../../../../../node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js", "../../../../../node_modules/date-fns/esm/_lib/setUTCDay/index.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js", "../../../../../node_modules/date-fns/esm/_lib/setUTCISODay/index.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js", "../../../../../node_modules/date-fns/esm/parse/_lib/parsers/index.js", "../../../../../node_modules/date-fns/esm/parse/index.js", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-time.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-i18n.mjs"], - "sourcesContent": ["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}", "export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}", "export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}", "var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}", "import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}", "import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport default function getISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n return date;\n}", "/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}", "/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}", "import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}", "import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}", "import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}", "import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}", "import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;", "import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;", "var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;", "var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}", "var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;", "export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}", "import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;", "var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;", "export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}", "import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;", "export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}", "export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}", "import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;", "import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;", "import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;", "import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}", "export default function assign(target, object) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\n }\n return target;\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 1000 * 60;\nvar MINUTES_IN_DAY = 60 * 24;\nvar MINUTES_IN_MONTH = MINUTES_IN_DAY * 30;\nvar MINUTES_IN_YEAR = MINUTES_IN_DAY * 365;\n\n/**\n * @name formatDistanceStrict\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words, using strict units.\n * This is like `formatDistance`, but does not use helpers like 'almost', 'over',\n * 'less than' and the like.\n *\n * | Distance between dates | Result |\n * |------------------------|---------------------|\n * | 0 ... 59 secs | [0..59] seconds |\n * | 1 ... 59 mins | [1..59] minutes |\n * | 1 ... 23 hrs | [1..23] hours |\n * | 1 ... 29 days | [1..29] days |\n * | 1 ... 11 months | [1..11] months |\n * | 1 ... N years | [1..N] years |\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit\n * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round'\n * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00?\n * const result = formatDistanceStrict(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0)\n * )\n * //=> '15 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> '1 year ago'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, in minutes?\n * const result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), {\n * unit: 'minute'\n * })\n * //=> '525600 minutes'\n *\n * @example\n * // What is the distance from 1 January 2015\n * // to 28 January 2015, in months, rounded up?\n * const result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), {\n * unit: 'month',\n * roundingMethod: 'ceil'\n * })\n * //=> '1 month'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> '1 jaro'\n */\n\nexport default function formatDistanceStrict(dirtyDate, dirtyBaseDate, options) {\n var _ref, _options$locale, _options$roundingMeth;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n var localizeOptions = assign(cloneObject(options), {\n addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix),\n comparison: comparison\n });\n var dateLeft;\n var dateRight;\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n var roundingMethod = String((_options$roundingMeth = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth !== void 0 ? _options$roundingMeth : 'round');\n var roundingMethodFn;\n if (roundingMethod === 'floor') {\n roundingMethodFn = Math.floor;\n } else if (roundingMethod === 'ceil') {\n roundingMethodFn = Math.ceil;\n } else if (roundingMethod === 'round') {\n roundingMethodFn = Math.round;\n } else {\n throw new RangeError(\"roundingMethod must be 'floor', 'ceil' or 'round'\");\n }\n var milliseconds = dateRight.getTime() - dateLeft.getTime();\n var minutes = milliseconds / MILLISECONDS_IN_MINUTE;\n var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft);\n\n // Use DST-normalized difference in minutes for years, months and days;\n // use regular difference in minutes for hours, minutes and seconds.\n var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE;\n var defaultUnit = options === null || options === void 0 ? void 0 : options.unit;\n var unit;\n if (!defaultUnit) {\n if (minutes < 1) {\n unit = 'second';\n } else if (minutes < 60) {\n unit = 'minute';\n } else if (minutes < MINUTES_IN_DAY) {\n unit = 'hour';\n } else if (dstNormalizedMinutes < MINUTES_IN_MONTH) {\n unit = 'day';\n } else if (dstNormalizedMinutes < MINUTES_IN_YEAR) {\n unit = 'month';\n } else {\n unit = 'year';\n }\n } else {\n unit = String(defaultUnit);\n }\n\n // 0 up to 60 seconds\n if (unit === 'second') {\n var seconds = roundingMethodFn(milliseconds / 1000);\n return locale.formatDistance('xSeconds', seconds, localizeOptions);\n\n // 1 up to 60 mins\n } else if (unit === 'minute') {\n var roundedMinutes = roundingMethodFn(minutes);\n return locale.formatDistance('xMinutes', roundedMinutes, localizeOptions);\n\n // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions);\n\n // 1 up to 30 days\n } else if (unit === 'day') {\n var days = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions);\n\n // 1 up to 12 months\n } else if (unit === 'month') {\n var months = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_MONTH);\n return months === 12 && defaultUnit !== 'month' ? locale.formatDistance('xYears', 1, localizeOptions) : locale.formatDistance('xMonths', months, localizeOptions);\n\n // 1 year up to max Date\n } else if (unit === 'year') {\n var years = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_YEAR);\n return locale.formatDistance('xYears', years, localizeOptions);\n }\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}", "import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;\n\n/**\n * @name getOverlappingDaysInIntervals\n * @category Interval Helpers\n * @summary Get the number of days that overlap in two time intervals\n *\n * @description\n * Get the number of days that overlap in two time intervals\n *\n * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval}\n * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval}\n * @returns {Number} the number of days that overlap in two time intervals\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For overlapping time intervals adds 1 for each started overlapping day:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) }\n * )\n * //=> 3\n *\n * @example\n * // For non-overlapping time intervals returns 0:\n * getOverlappingDaysInIntervals(\n * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) },\n * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) }\n * )\n * //=> 0\n */\n\nexport default function getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) {\n requiredArgs(2, arguments);\n var intervalLeft = dirtyIntervalLeft || {};\n var intervalRight = dirtyIntervalRight || {};\n var leftStartTime = toDate(intervalLeft.start).getTime();\n var leftEndTime = toDate(intervalLeft.end).getTime();\n var rightStartTime = toDate(intervalRight.start).getTime();\n var rightEndTime = toDate(intervalRight.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n if (!isOverlapping) {\n return 0;\n }\n var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime;\n var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime;\n var differenceInMs = overlapEndDate - overlapStartDate;\n return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY);\n}", "export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}", "import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}", "import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}", "export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}", "export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}", "import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}", "export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}", "export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}", "import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}", "import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}", "export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}", "import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}", "import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}", "import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}", "import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}", "import _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", 0);\n }\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n var _super = _createSuper(ValueSetter);\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n _classCallCheck(this, ValueSetter);\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n return _this;\n }\n _createClass(ValueSetter, [{\n key: \"validate\",\n value: function validate(utcDate, options) {\n return this.validateValue(utcDate, this.value, options);\n }\n }, {\n key: \"set\",\n value: function set(utcDate, flags, options) {\n return this.setValue(utcDate, flags, this.value, options);\n }\n }]);\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n function DateToSystemTimezoneSetter() {\n var _this2;\n _classCallCheck(this, DateToSystemTimezoneSetter);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n return _this2;\n }\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n }\n }]);\n return DateToSystemTimezoneSetter;\n}(Setter);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n _defineProperty(this, \"incompatibleTokens\", void 0);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", void 0);\n }\n _createClass(Parser, [{\n key: \"run\",\n value: function run(dateString, token, match, options) {\n var result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n return {\n setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n rest: result.rest\n };\n }\n }, {\n key: \"validate\",\n value: function validate(_utcDate, _value, _options) {\n return true;\n }\n }]);\n return Parser;\n}();", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n var _super = _createSuper(EraParser);\n function EraParser() {\n var _this;\n _classCallCheck(this, EraParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n return _this;\n }\n _createClass(EraParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n // A, B\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(dateString, {\n width: 'wide'\n }) || match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return EraParser;\n}(Parser);", "export var numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nexport var timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};", "import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest\n };\n}\nexport function parseNumericPattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\n }\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case 'morning':\n return 4;\n case 'evening':\n return 17;\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n _inherits(YearParser, _Parser);\n var _super = _createSuper(YearParser);\n function YearParser() {\n var _this;\n _classCallCheck(this, YearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(YearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n var currentYear = date.getUTCFullYear();\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return YearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekYearParser, _Parser);\n var _super = _createSuper(LocalWeekYearParser);\n function LocalWeekYearParser() {\n var _this;\n _classCallCheck(this, LocalWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n }]);\n return LocalWeekYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n var _super = _createSuper(ISOWeekYearParser);\n function ISOWeekYearParser() {\n var _this;\n _classCallCheck(this, ISOWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n }\n }]);\n return ISOWeekYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n var _super = _createSuper(ExtendedYearParser);\n function ExtendedYearParser() {\n var _this;\n _classCallCheck(this, ExtendedYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ExtendedYearParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n var _super = _createSuper(QuarterParser);\n function QuarterParser() {\n var _this;\n _classCallCheck(this, QuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(QuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return QuarterParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n var _super = _createSuper(StandAloneQuarterParser);\n function StandAloneQuarterParser() {\n var _this;\n _classCallCheck(this, StandAloneQuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneQuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneQuarterParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(MonthParser, _Parser);\n var _super = _createSuper(MonthParser);\n function MonthParser() {\n var _this;\n _classCallCheck(this, MonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n return _this;\n }\n _createClass(MonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return MonthParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneMonthParser, _Parser);\n var _super = _createSuper(StandAloneMonthParser);\n function StandAloneMonthParser() {\n var _this;\n _classCallCheck(this, StandAloneMonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneMonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneMonthParser;\n}(Parser);", "import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n var _super = _createSuper(LocalWeekParser);\n function LocalWeekParser() {\n var _this;\n _classCallCheck(this, LocalWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n }\n }]);\n return LocalWeekParser;\n}(Parser);", "import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n var _super = _createSuper(ISOWeekParser);\n function ISOWeekParser() {\n var _this;\n _classCallCheck(this, ISOWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value));\n }\n }]);\n return ISOWeekParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// Day of the month\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n var _super = _createSuper(DateParser);\n function DateParser() {\n var _this;\n _classCallCheck(this, DateParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DateParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, dateString);\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DateParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayOfYearParser, _Parser);\n var _super = _createSuper(DayOfYearParser);\n function DayOfYearParser() {\n var _this;\n _classCallCheck(this, DayOfYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayOfYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayOfYearParser;\n}(Parser);", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n var _super = _createSuper(DayParser);\n function DayParser() {\n var _this;\n _classCallCheck(this, DayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n var _super = _createSuper(LocalDayParser);\n function LocalDayParser() {\n var _this;\n _classCallCheck(this, LocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n return _this;\n }\n _createClass(LocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'eee':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return LocalDayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n var _super = _createSuper(StandAloneLocalDayParser);\n function StandAloneLocalDayParser() {\n var _this;\n _classCallCheck(this, StandAloneLocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneLocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'ccc':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneLocalDayParser;\n}(Parser);", "import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n if (day % 7 === 0) {\n day = day - 7;\n }\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n var _super = _createSuper(ISODayParser);\n function ISODayParser() {\n var _this;\n _classCallCheck(this, ISODayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISODayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return mapValue(match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // T\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n case 'iiiiii':\n return mapValue(match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tuesday\n case 'iiii':\n default:\n return mapValue(match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date = setUTCISODay(date, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ISODayParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n var _super = _createSuper(AMPMParser);\n function AMPMParser() {\n var _this;\n _classCallCheck(this, AMPMParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n var _super = _createSuper(AMPMMidnightParser);\n function AMPMMidnightParser() {\n var _this;\n _classCallCheck(this, AMPMMidnightParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMMidnightParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMMidnightParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n var _super = _createSuper(DayPeriodParser);\n function DayPeriodParser() {\n var _this;\n _classCallCheck(this, DayPeriodParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n return _this;\n }\n _createClass(DayPeriodParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return DayPeriodParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1to12Parser, _Parser);\n var _super = _createSuper(Hour1to12Parser);\n function Hour1to12Parser() {\n var _this;\n _classCallCheck(this, Hour1to12Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour1to12Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour1to12Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0to23Parser, _Parser);\n var _super = _createSuper(Hour0to23Parser);\n function Hour0to23Parser() {\n var _this;\n _classCallCheck(this, Hour0to23Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0to23Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n }\n }]);\n return Hour0to23Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0To11Parser, _Parser);\n var _super = _createSuper(Hour0To11Parser);\n function Hour0To11Parser() {\n var _this;\n _classCallCheck(this, Hour0To11Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0To11Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour0To11Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1To24Parser, _Parser);\n var _super = _createSuper(Hour1To24Parser);\n function Hour1To24Parser() {\n var _this;\n _classCallCheck(this, Hour1To24Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n return _this;\n }\n _createClass(Hour1To24Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n }\n }]);\n return Hour1To24Parser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n _inherits(MinuteParser, _Parser);\n var _super = _createSuper(MinuteParser);\n function MinuteParser() {\n var _this;\n _classCallCheck(this, MinuteParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(MinuteParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, dateString);\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n }\n }]);\n return MinuteParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(SecondParser, _Parser);\n var _super = _createSuper(SecondParser);\n function SecondParser() {\n var _this;\n _classCallCheck(this, SecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(SecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, dateString);\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCSeconds(value, 0);\n return date;\n }\n }]);\n return SecondParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n var _super = _createSuper(FractionOfSecondParser);\n function FractionOfSecondParser() {\n var _this;\n _classCallCheck(this, FractionOfSecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(FractionOfSecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n var valueCallback = function valueCallback(value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMilliseconds(value);\n return date;\n }\n }]);\n return FractionOfSecondParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n var _super = _createSuper(ISOTimezoneWithZParser);\n function ISOTimezoneWithZParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneWithZParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n return _this;\n }\n _createClass(ISOTimezoneWithZParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneWithZParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n var _super = _createSuper(ISOTimezoneParser);\n function ISOTimezoneParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n return _this;\n }\n _createClass(ISOTimezoneParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n var _super = _createSuper(TimestampSecondsParser);\n function TimestampSecondsParser() {\n var _this;\n _classCallCheck(this, TimestampSecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampSecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampSecondsParser;\n}(Parser);", "import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n var _super = _createSuper(TimestampMillisecondsParser);\n function TimestampMillisecondsParser() {\n var _this;\n _classCallCheck(this, TimestampMillisecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampMillisecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampMillisecondsParser;\n}(Parser);", "import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport var parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser()\n};", "import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/esm/createForOfIteratorHelper\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n try {\n var _loop = function _loop() {\n var token = _step.value;\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\n }\n setters.push(parseResult.setter);\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return {\n v: new Date(NaN)\n };\n }\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n // Check if the remaining input contains something other than whitespace\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n var result = setter.set(utcDate, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]);\n // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return utcDate;\n}\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}", "import { startOfMonth, startOfWeek, setYear, addYears, setMonth, addMonths, setDay, isSameDay, isSameSecond, isSameMinute, isSameHour, isSameMonth, isSameYear, differenceInCalendarDays, differenceInSeconds, differenceInMinutes, differenceInHours, differenceInCalendarMonths, differenceInCalendarYears, isToday, isValid, isFirstDayOfMonth, isLastDayOfMonth } from 'date-fns';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { FormStyle, TranslationWidth, getLocaleDayPeriods } from '@angular/common';\nimport { isNotNil } from 'ng-zorro-antd/core/util';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction wrongSortOrder(rangeValue) {\n const [start, end] = rangeValue;\n return !!start && !!end && end.isBeforeDay(start);\n}\nfunction normalizeRangeValue(value, hasTimePicker, type = 'month', activePart = 'left') {\n const [start, end] = value;\n let newStart = start || new CandyDate();\n let newEnd = end || (hasTimePicker ? newStart : newStart.add(1, type));\n if (start && !end) {\n newStart = start;\n newEnd = hasTimePicker ? start : start.add(1, type);\n }\n else if (!start && end) {\n newStart = hasTimePicker ? end : end.add(-1, type);\n newEnd = end;\n }\n else if (start && end && !hasTimePicker) {\n if (start.isSame(end, type)) {\n newEnd = newStart.add(1, type);\n }\n else {\n if (activePart === 'left') {\n newEnd = newStart.add(1, type);\n }\n else {\n newStart = newEnd.add(-1, type);\n }\n }\n }\n return [newStart, newEnd];\n}\nfunction cloneDate(value) {\n if (Array.isArray(value)) {\n return value.map(v => (v instanceof CandyDate ? v.clone() : null));\n }\n else {\n return value instanceof CandyDate ? value.clone() : null;\n }\n}\n/**\n * Wrapping kind APIs for date operating and unify\n * NOTE: every new API return new CandyDate object without side effects to the former Date object\n * NOTE: most APIs are based on local time other than customized locale id (this needs tobe support in future)\n * TODO: support format() against to angular's core API\n */\nclass CandyDate {\n // locale: string; // Custom specified locale ID\n constructor(date) {\n if (date) {\n if (date instanceof Date) {\n this.nativeDate = date;\n }\n else if (typeof date === 'string' || typeof date === 'number') {\n warn('The string type is not recommended for date-picker, use \"Date\" type');\n this.nativeDate = new Date(date);\n }\n else {\n throw new Error('The input date type is not supported (\"Date\" is now recommended)');\n }\n }\n else {\n this.nativeDate = new Date();\n }\n }\n calendarStart(options) {\n return new CandyDate(startOfWeek(startOfMonth(this.nativeDate), options));\n }\n // ---------------------------------------------------------------------\n // | Native shortcuts\n // -----------------------------------------------------------------------------\\\n getYear() {\n return this.nativeDate.getFullYear();\n }\n getMonth() {\n return this.nativeDate.getMonth();\n }\n getDay() {\n return this.nativeDate.getDay();\n }\n getTime() {\n return this.nativeDate.getTime();\n }\n getDate() {\n return this.nativeDate.getDate();\n }\n getHours() {\n return this.nativeDate.getHours();\n }\n getMinutes() {\n return this.nativeDate.getMinutes();\n }\n getSeconds() {\n return this.nativeDate.getSeconds();\n }\n getMilliseconds() {\n return this.nativeDate.getMilliseconds();\n }\n // ---------------------------------------------------------------------\n // | New implementing APIs\n // ---------------------------------------------------------------------\n clone() {\n return new CandyDate(new Date(this.nativeDate));\n }\n setHms(hour, minute, second) {\n const newDate = new Date(this.nativeDate.setHours(hour, minute, second));\n return new CandyDate(newDate);\n }\n setYear(year) {\n return new CandyDate(setYear(this.nativeDate, year));\n }\n addYears(amount) {\n return new CandyDate(addYears(this.nativeDate, amount));\n }\n // NOTE: month starts from 0\n // NOTE: Don't use the native API for month manipulation as it not restrict the date when it overflows, eg. (new Date('2018-7-31')).setMonth(1) will be date of 2018-3-03 instead of 2018-2-28\n setMonth(month) {\n return new CandyDate(setMonth(this.nativeDate, month));\n }\n addMonths(amount) {\n return new CandyDate(addMonths(this.nativeDate, amount));\n }\n setDay(day, options) {\n return new CandyDate(setDay(this.nativeDate, day, options));\n }\n setDate(amount) {\n const date = new Date(this.nativeDate);\n date.setDate(amount);\n return new CandyDate(date);\n }\n addDays(amount) {\n return this.setDate(this.getDate() + amount);\n }\n add(amount, mode) {\n switch (mode) {\n case 'decade':\n return this.addYears(amount * 10);\n case 'year':\n return this.addYears(amount);\n case 'month':\n return this.addMonths(amount);\n default:\n return this.addMonths(amount);\n }\n }\n isSame(date, grain = 'day') {\n let fn;\n switch (grain) {\n case 'decade':\n fn = (pre, next) => Math.abs(pre.getFullYear() - next.getFullYear()) < 11;\n break;\n case 'year':\n fn = isSameYear;\n break;\n case 'month':\n fn = isSameMonth;\n break;\n case 'day':\n fn = isSameDay;\n break;\n case 'hour':\n fn = isSameHour;\n break;\n case 'minute':\n fn = isSameMinute;\n break;\n case 'second':\n fn = isSameSecond;\n break;\n default:\n fn = isSameDay;\n break;\n }\n return fn(this.nativeDate, this.toNativeDate(date));\n }\n isSameYear(date) {\n return this.isSame(date, 'year');\n }\n isSameMonth(date) {\n return this.isSame(date, 'month');\n }\n isSameDay(date) {\n return this.isSame(date, 'day');\n }\n isSameHour(date) {\n return this.isSame(date, 'hour');\n }\n isSameMinute(date) {\n return this.isSame(date, 'minute');\n }\n isSameSecond(date) {\n return this.isSame(date, 'second');\n }\n isBefore(date, grain = 'day') {\n if (date === null) {\n return false;\n }\n let fn;\n switch (grain) {\n case 'year':\n fn = differenceInCalendarYears;\n break;\n case 'month':\n fn = differenceInCalendarMonths;\n break;\n case 'day':\n fn = differenceInCalendarDays;\n break;\n case 'hour':\n fn = differenceInHours;\n break;\n case 'minute':\n fn = differenceInMinutes;\n break;\n case 'second':\n fn = differenceInSeconds;\n break;\n default:\n fn = differenceInCalendarDays;\n break;\n }\n return fn(this.nativeDate, this.toNativeDate(date)) < 0;\n }\n isBeforeYear(date) {\n return this.isBefore(date, 'year');\n }\n isBeforeMonth(date) {\n return this.isBefore(date, 'month');\n }\n isBeforeDay(date) {\n return this.isBefore(date, 'day');\n }\n // Equal to today accurate to \"day\"\n isToday() {\n return isToday(this.nativeDate);\n }\n isValid() {\n return isValid(this.nativeDate);\n }\n isFirstDayOfMonth() {\n return isFirstDayOfMonth(this.nativeDate);\n }\n isLastDayOfMonth() {\n return isLastDayOfMonth(this.nativeDate);\n }\n toNativeDate(date) {\n return date instanceof CandyDate ? date.nativeDate : date;\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst timeUnits = [\n ['Y', 1000 * 60 * 60 * 24 * 365],\n ['M', 1000 * 60 * 60 * 24 * 30],\n ['D', 1000 * 60 * 60 * 24],\n ['H', 1000 * 60 * 60],\n ['m', 1000 * 60],\n ['s', 1000],\n ['S', 1] // million seconds\n];\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n// from https://github.com/hsuanxyz/ng-time-parser\nclass NgTimeParser {\n constructor(format, localeId) {\n this.format = format;\n this.localeId = localeId;\n this.regex = null;\n this.matchMap = {\n hour: null,\n minute: null,\n second: null,\n periodNarrow: null,\n periodWide: null,\n periodAbbreviated: null\n };\n this.genRegexp();\n }\n toDate(str) {\n const result = this.getTimeResult(str);\n const time = new Date();\n if (isNotNil(result?.hour)) {\n time.setHours(result.hour);\n }\n if (isNotNil(result?.minute)) {\n time.setMinutes(result.minute);\n }\n if (isNotNil(result?.second)) {\n time.setSeconds(result.second);\n }\n if (result?.period === 1 && time.getHours() < 12) {\n time.setHours(time.getHours() + 12);\n }\n return time;\n }\n getTimeResult(str) {\n const match = this.regex.exec(str);\n let period = null;\n if (match) {\n if (isNotNil(this.matchMap.periodNarrow)) {\n period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Narrow).indexOf(match[this.matchMap.periodNarrow + 1]);\n }\n if (isNotNil(this.matchMap.periodWide)) {\n period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Wide).indexOf(match[this.matchMap.periodWide + 1]);\n }\n if (isNotNil(this.matchMap.periodAbbreviated)) {\n period = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Abbreviated).indexOf(match[this.matchMap.periodAbbreviated + 1]);\n }\n return {\n hour: isNotNil(this.matchMap.hour) ? Number.parseInt(match[this.matchMap.hour + 1], 10) : null,\n minute: isNotNil(this.matchMap.minute) ? Number.parseInt(match[this.matchMap.minute + 1], 10) : null,\n second: isNotNil(this.matchMap.second) ? Number.parseInt(match[this.matchMap.second + 1], 10) : null,\n period\n };\n }\n else {\n return null;\n }\n }\n genRegexp() {\n let regexStr = this.format.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$&');\n const hourRegex = /h{1,2}/i;\n const minuteRegex = /m{1,2}/;\n const secondRegex = /s{1,2}/;\n const periodNarrow = /aaaaa/;\n const periodWide = /aaaa/;\n const periodAbbreviated = /a{1,3}/;\n const hourMatch = hourRegex.exec(this.format);\n const minuteMatch = minuteRegex.exec(this.format);\n const secondMatch = secondRegex.exec(this.format);\n const periodNarrowMatch = periodNarrow.exec(this.format);\n let periodWideMatch = null;\n let periodAbbreviatedMatch = null;\n if (!periodNarrowMatch) {\n periodWideMatch = periodWide.exec(this.format);\n }\n if (!periodWideMatch && !periodNarrowMatch) {\n periodAbbreviatedMatch = periodAbbreviated.exec(this.format);\n }\n const matchs = [hourMatch, minuteMatch, secondMatch, periodNarrowMatch, periodWideMatch, periodAbbreviatedMatch]\n .filter(m => !!m)\n .sort((a, b) => a.index - b.index);\n matchs.forEach((match, index) => {\n switch (match) {\n case hourMatch:\n this.matchMap.hour = index;\n regexStr = regexStr.replace(hourRegex, '(\\\\d{1,2})');\n break;\n case minuteMatch:\n this.matchMap.minute = index;\n regexStr = regexStr.replace(minuteRegex, '(\\\\d{1,2})');\n break;\n case secondMatch:\n this.matchMap.second = index;\n regexStr = regexStr.replace(secondRegex, '(\\\\d{1,2})');\n break;\n case periodNarrowMatch:\n this.matchMap.periodNarrow = index;\n const periodsNarrow = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Narrow).join('|');\n regexStr = regexStr.replace(periodNarrow, `(${periodsNarrow})`);\n break;\n case periodWideMatch:\n this.matchMap.periodWide = index;\n const periodsWide = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Wide).join('|');\n regexStr = regexStr.replace(periodWide, `(${periodsWide})`);\n break;\n case periodAbbreviatedMatch:\n this.matchMap.periodAbbreviated = index;\n const periodsAbbreviated = getLocaleDayPeriods(this.localeId, FormStyle.Format, TranslationWidth.Abbreviated).join('|');\n regexStr = regexStr.replace(periodAbbreviated, `(${periodsAbbreviated})`);\n break;\n }\n });\n this.regex = new RegExp(regexStr);\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CandyDate, cloneDate, normalizeRangeValue, timeUnits, wrongSortOrder, NgTimeParser as ɵNgTimeParser };\n\n", "import * as i0 from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders, Injectable, Optional, Inject, Pipe, NgModule, inject } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { formatDate } from '@angular/common';\nimport { getISOWeek, format, parse } from 'date-fns';\nimport { ɵNgTimeParser as _NgTimeParser } from 'ng-zorro-antd/core/time';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar en_US = {\n locale: 'en',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n TimePicker: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n },\n Calendar: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n selectNone: 'Clear all data'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Image: {\n preview: 'Preview'\n },\n CronExpression: {\n cronError: 'Invalid cron expression',\n second: 'second',\n minute: 'minute',\n hour: 'hour',\n day: 'day',\n month: 'month',\n week: 'week'\n },\n QRCode: {\n expired: 'QR code expired',\n refresh: 'Refresh'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar zh_CN = {\n locale: 'zh-cn',\n Pagination: {\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页',\n page_size: '页码'\n },\n DatePicker: {\n lang: {\n placeholder: '请选择日期',\n yearPlaceholder: '请选择年份',\n quarterPlaceholder: '请选择季度',\n monthPlaceholder: '请选择月份',\n weekPlaceholder: '请选择周',\n rangePlaceholder: ['开始日期', '结束日期'],\n rangeYearPlaceholder: ['开始年份', '结束年份'],\n rangeMonthPlaceholder: ['开始月份', '结束月份'],\n rangeWeekPlaceholder: ['开始周', '结束周'],\n locale: 'zh_CN',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪'\n },\n timePickerLocale: {\n placeholder: '请选择时间',\n rangePlaceholder: ['开始时间', '结束时间']\n }\n },\n TimePicker: {\n placeholder: '请选择时间',\n rangePlaceholder: ['开始时间', '结束时间']\n },\n Calendar: {\n lang: {\n placeholder: '请选择日期',\n yearPlaceholder: '请选择年份',\n quarterPlaceholder: '请选择季度',\n monthPlaceholder: '请选择月份',\n weekPlaceholder: '请选择周',\n rangePlaceholder: ['开始日期', '结束日期'],\n rangeYearPlaceholder: ['开始年份', '结束年份'],\n rangeMonthPlaceholder: ['开始月份', '结束月份'],\n rangeWeekPlaceholder: ['开始周', '结束周'],\n locale: 'zh_CN',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪'\n },\n timePickerLocale: {\n placeholder: '请选择时间',\n rangePlaceholder: ['开始时间', '结束时间']\n }\n },\n global: {\n placeholder: '请选择'\n },\n Table: {\n filterTitle: '筛选',\n filterConfirm: '确定',\n filterReset: '重置',\n filterEmptyText: '无筛选项',\n selectAll: '全选当页',\n selectInvert: '反选当页',\n selectionAll: '全选所有',\n sortTitle: '排序',\n expand: '展开行',\n collapse: '关闭行',\n triggerDesc: '点击降序',\n triggerAsc: '点击升序',\n cancelSort: '取消排序',\n filterCheckall: '全选',\n filterSearchPlaceholder: '在筛选项中搜索',\n selectNone: '清空所有'\n },\n Modal: {\n okText: '确定',\n cancelText: '取消',\n justOkText: '知道了'\n },\n Popconfirm: {\n cancelText: '取消',\n okText: '确定'\n },\n Transfer: {\n searchPlaceholder: '请输入搜索内容',\n itemUnit: '项',\n itemsUnit: '项',\n remove: '删除',\n selectCurrent: '全选当页',\n removeCurrent: '删除当页',\n selectAll: '全选所有',\n removeAll: '删除全部',\n selectInvert: '反选当页'\n },\n Upload: {\n uploading: '文件上传中',\n removeFile: '删除文件',\n uploadError: '上传错误',\n previewFile: '预览文件',\n downloadFile: '下载文件'\n },\n Empty: {\n description: '暂无数据'\n },\n Icon: {\n icon: '图标'\n },\n Text: {\n edit: '编辑',\n copy: '复制',\n copied: '复制成功',\n expand: '展开'\n },\n PageHeader: {\n back: '返回'\n },\n Image: {\n preview: '预览'\n },\n CronExpression: {\n cronError: 'cron 表达式不合法',\n second: '秒',\n minute: '分钟',\n hour: '小时',\n day: '日',\n month: '月',\n week: '周'\n },\n QRCode: {\n expired: '二维码过期',\n refresh: '点击刷新'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NZ_I18N = new InjectionToken('nz-i18n');\nfunction provideNzI18n(config) {\n return makeEnvironmentProviders([{\n provide: NZ_I18N,\n useValue: config\n }]);\n}\n/** Locale for date operations, should import from date-fns, see example: https://github.com/date-fns/date-fns/blob/v1.30.1/src/locale/zh_cn/index.js */\nconst NZ_DATE_LOCALE = new InjectionToken('nz-date-locale');\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzI18nService {\n get localeChange() {\n return this._change.asObservable();\n }\n constructor(locale, dateLocale) {\n this._change = new BehaviorSubject(this._locale);\n this.setLocale(locale || zh_CN);\n this.setDateLocale(dateLocale || null);\n }\n // [NOTE] Performance issue: this method may called by every change detections\n // TODO: cache more deeply paths for performance\n translate(path, data) {\n // this._logger.debug(`[NzI18nService] Translating(${this._locale.locale}): ${path}`);\n let content = this._getObjectPath(this._locale, path);\n if (typeof content === 'string') {\n if (data) {\n Object.keys(data).forEach(key => content = content.replace(new RegExp(`%${key}%`, 'g'), data[key]));\n }\n return content;\n }\n return path;\n }\n /**\n * Set/Change current locale globally throughout the WHOLE application\n * NOTE: If called at runtime, rendered interface may not change along with the locale change,\n * because this do not trigger another render schedule.\n *\n * @param locale The translating letters\n */\n setLocale(locale) {\n if (this._locale && this._locale.locale === locale.locale) {\n return;\n }\n this._locale = locale;\n this._change.next(locale);\n }\n getLocale() {\n return this._locale;\n }\n getLocaleId() {\n return this._locale ? this._locale.locale : '';\n }\n setDateLocale(dateLocale) {\n this.dateLocale = dateLocale;\n }\n getDateLocale() {\n return this.dateLocale;\n }\n /**\n * Get locale data\n *\n * @param path dot paths for finding exist value from locale data, eg. \"a.b.c\"\n * @param defaultValue default value if the result is not \"truthy\"\n */\n getLocaleData(path, defaultValue) {\n const result = path ? this._getObjectPath(this._locale, path) : this._locale;\n if (!result && !defaultValue) {\n warn(`Missing translations for \"${path}\" in language \"${this._locale.locale}\".\nYou can use \"NzI18nService.setLocale\" as a temporary fix.\nWelcome to submit a pull request to help us optimize the translations!\nhttps://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md`);\n }\n return result || defaultValue || this._getObjectPath(en_US, path) || {};\n }\n _getObjectPath(obj, path) {\n let res = obj;\n const paths = path.split('.');\n const depth = paths.length;\n let index = 0;\n while (res && index < depth) {\n res = res[paths[index++]];\n }\n return index === depth ? res : null;\n }\n static {\n this.ɵfac = function NzI18nService_Factory(t) {\n return new (t || NzI18nService)(i0.ɵɵinject(NZ_I18N, 8), i0.ɵɵinject(NZ_DATE_LOCALE, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzI18nService,\n factory: NzI18nService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzI18nService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_I18N]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_DATE_LOCALE]\n }]\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzI18nPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n transform(path, keyValue) {\n return this._locale.translate(path, keyValue);\n }\n static {\n this.ɵfac = function NzI18nPipe_Factory(t) {\n return new (t || NzI18nPipe)(i0.ɵɵdirectiveInject(NzI18nService, 16));\n };\n }\n static {\n this.ɵpipe = /* @__PURE__ */i0.ɵɵdefinePipe({\n name: \"nzI18n\",\n type: NzI18nPipe,\n pure: true,\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzI18nPipe, [{\n type: Pipe,\n args: [{\n name: 'nzI18n',\n standalone: true\n }]\n }], () => [{\n type: NzI18nService\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzI18nModule {\n static {\n this.ɵfac = function NzI18nModule_Factory(t) {\n return new (t || NzI18nModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzI18nModule,\n imports: [NzI18nPipe],\n exports: [NzI18nPipe]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzI18nModule, [{\n type: NgModule,\n args: [{\n imports: [NzI18nPipe],\n exports: [NzI18nPipe]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NZ_DATE_CONFIG = new InjectionToken('date-config');\nconst NZ_DATE_CONFIG_DEFAULT = {\n firstDayOfWeek: undefined\n};\nfunction mergeDateConfig(config) {\n return {\n ...NZ_DATE_CONFIG_DEFAULT,\n ...config\n };\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction DATE_HELPER_SERVICE_FACTORY() {\n const i18n = inject(NzI18nService);\n const config = inject(NZ_DATE_CONFIG, {\n optional: true\n });\n return i18n.getDateLocale() ? new DateHelperByDateFns(i18n, config) : new DateHelperByDatePipe(i18n, config);\n}\n/**\n * Abstract DateHelperService(Token via Class)\n * Compatibility: compact for original usage by default which using DatePipe\n */\nclass DateHelperService {\n constructor(i18n, config) {\n this.i18n = i18n;\n this.config = mergeDateConfig(config);\n }\n static {\n this.ɵfac = function DateHelperService_Factory(t) {\n return new (t || DateHelperService)(i0.ɵɵinject(NzI18nService), i0.ɵɵinject(NZ_DATE_CONFIG, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: DateHelperService,\n factory: () => DATE_HELPER_SERVICE_FACTORY(),\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(DateHelperService, [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: DATE_HELPER_SERVICE_FACTORY\n }]\n }], () => [{\n type: NzI18nService\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_DATE_CONFIG]\n }]\n }], null);\n})();\n/**\n * DateHelper that handles date formats with date-fns\n */\nclass DateHelperByDateFns extends DateHelperService {\n getISOWeek(date) {\n return getISOWeek(date);\n }\n // Use date-fns's \"weekStartsOn\" to support different locale when \"config.firstDayOfWeek\" is null\n // https://github.com/date-fns/date-fns/blob/v2.0.0-alpha.27/src/locale/en-US/index.js#L23\n getFirstDayOfWeek() {\n let defaultWeekStartsOn;\n try {\n defaultWeekStartsOn = this.i18n.getDateLocale().options.weekStartsOn;\n } catch (e) {\n defaultWeekStartsOn = 1;\n }\n return this.config.firstDayOfWeek == null ? defaultWeekStartsOn : this.config.firstDayOfWeek;\n }\n /**\n * Format a date\n *\n * @see https://date-fns.org/docs/format#description\n * @param date Date\n * @param formatStr format string\n */\n format(date, formatStr) {\n return date ? format(date, formatStr, {\n locale: this.i18n.getDateLocale()\n }) : '';\n }\n parseDate(text, formatStr) {\n return parse(text, formatStr, new Date(), {\n locale: this.i18n.getDateLocale(),\n weekStartsOn: this.getFirstDayOfWeek()\n });\n }\n parseTime(text, formatStr) {\n return this.parseDate(text, formatStr);\n }\n}\n/**\n * DateHelper that handles date formats with angular's date-pipe\n *\n * @see https://github.com/NG-ZORRO/ng-zorro-antd/issues/2406 - DatePipe may cause non-standard week bug, see:\n *\n */\nclass DateHelperByDatePipe extends DateHelperService {\n getISOWeek(date) {\n return +this.format(date, 'w');\n }\n getFirstDayOfWeek() {\n if (this.config.firstDayOfWeek === undefined) {\n const locale = this.i18n.getLocaleId();\n return locale && ['zh-cn', 'zh-tw'].indexOf(locale.toLowerCase()) > -1 ? 1 : 0;\n }\n return this.config.firstDayOfWeek;\n }\n format(date, formatStr) {\n return date ? formatDate(date, formatStr, this.i18n.getLocaleId()) : '';\n }\n parseDate(text) {\n return new Date(text);\n }\n parseTime(text, formatStr) {\n const parser = new _NgTimeParser(formatStr, this.i18n.getLocaleId());\n return parser.toDate(text);\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ar_EG = {\n locale: 'ar',\n Pagination: {\n items_per_page: '/ الصفحة',\n jump_to: 'الذهاب إلى',\n jump_to_confirm: 'تأكيد',\n page: 'الصفحة',\n prev_page: 'الصفحة السابقة',\n next_page: 'الصفحة التالية',\n prev_5: 'خمس صفحات سابقة',\n next_5: 'خمس صفحات تالية',\n prev_3: 'ثلاث صفحات سابقة',\n next_3: 'ثلاث صفحات تالية',\n page_size: 'مقاس الصفحه'\n },\n DatePicker: {\n lang: {\n placeholder: 'اختيار التاريخ',\n yearPlaceholder: 'اختيار السنة',\n quarterPlaceholder: 'اختيار الربع',\n monthPlaceholder: 'اختيار الشهر',\n weekPlaceholder: 'اختيار الأسبوع',\n rangePlaceholder: ['البداية', 'النهاية'],\n rangeYearPlaceholder: ['سنة البداية', 'سنة النهاية'],\n rangeMonthPlaceholder: ['شهر البداية', 'شهر النهاية'],\n rangeWeekPlaceholder: ['أسبوع البداية', 'أسبوع النهاية'],\n locale: 'ar_EG',\n today: 'اليوم',\n now: 'الأن',\n backToToday: 'العودة إلى اليوم',\n ok: 'تأكيد',\n clear: 'مسح',\n month: 'الشهر',\n year: 'السنة',\n timeSelect: 'اختيار الوقت',\n dateSelect: 'اختيار التاريخ',\n weekSelect: 'اختيار الأسبوع',\n monthSelect: 'اختيار الشهر',\n yearSelect: 'اختيار السنة',\n decadeSelect: 'اختيار العقد',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'الشهر السابق (PageUp)',\n nextMonth: 'الشهر التالى(PageDown)',\n previousYear: 'العام السابق (Control + left)',\n nextYear: 'العام التالى (Control + right)',\n previousDecade: 'العقد السابق',\n nextDecade: 'العقد التالى',\n previousCentury: 'القرن السابق',\n nextCentury: 'القرن التالى'\n },\n timePickerLocale: {\n placeholder: 'اختيار الوقت'\n },\n dateFormat: 'DD-MM-YYYY',\n monthFormat: 'MM-YYYY',\n dateTimeFormat: 'DD-MM-YYYY HH:mm:ss',\n weekFormat: 'wo-YYYY'\n },\n TimePicker: {\n placeholder: 'اختيار الوقت'\n },\n Calendar: {\n lang: {\n placeholder: 'اختيار التاريخ',\n yearPlaceholder: 'اختيار السنة',\n quarterPlaceholder: 'اختيار الربع',\n monthPlaceholder: 'اختيار الشهر',\n weekPlaceholder: 'اختيار الأسبوع',\n rangePlaceholder: ['البداية', 'النهاية'],\n rangeYearPlaceholder: ['سنة البداية', 'سنة النهاية'],\n rangeMonthPlaceholder: ['شهر البداية', 'شهر النهاية'],\n rangeWeekPlaceholder: ['أسبوع البداية', 'أسبوع النهاية'],\n locale: 'ar_EG',\n today: 'اليوم',\n now: 'الأن',\n backToToday: 'العودة إلى اليوم',\n ok: 'تأكيد',\n clear: 'مسح',\n month: 'الشهر',\n year: 'السنة',\n timeSelect: 'اختيار الوقت',\n dateSelect: 'اختيار التاريخ',\n weekSelect: 'اختيار الأسبوع',\n monthSelect: 'اختيار الشهر',\n yearSelect: 'اختيار السنة',\n decadeSelect: 'اختيار العقد',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'الشهر السابق (PageUp)',\n nextMonth: 'الشهر التالى(PageDown)',\n previousYear: 'العام السابق (Control + left)',\n nextYear: 'العام التالى (Control + right)',\n previousDecade: 'العقد السابق',\n nextDecade: 'العقد التالى',\n previousCentury: 'القرن السابق',\n nextCentury: 'القرن التالى'\n },\n timePickerLocale: {\n placeholder: 'اختيار الوقت'\n },\n dateFormat: 'DD-MM-YYYY',\n monthFormat: 'MM-YYYY',\n dateTimeFormat: 'DD-MM-YYYY HH:mm:ss',\n weekFormat: 'wo-YYYY'\n },\n global: {\n placeholder: 'يرجى التحديد'\n },\n Table: {\n filterTitle: 'الفلاتر',\n filterConfirm: 'تأكيد',\n filterReset: 'إعادة ضبط',\n selectAll: 'اختيار الكل',\n selectInvert: 'إلغاء الاختيار',\n selectionAll: 'حدد جميع البيانات',\n sortTitle: 'رتب',\n expand: 'توسيع الصف',\n collapse: 'طي الصف',\n triggerDesc: 'ترتيب تنازلي',\n triggerAsc: 'ترتيب تصاعدي',\n cancelSort: 'إلغاء الترتيب'\n },\n Modal: {\n okText: 'تأكيد',\n cancelText: 'إلغاء',\n justOkText: 'تأكيد'\n },\n Popconfirm: {\n okText: 'تأكيد',\n cancelText: 'إلغاء'\n },\n Transfer: {\n searchPlaceholder: 'ابحث هنا',\n itemUnit: 'عنصر',\n itemsUnit: 'عناصر'\n },\n Upload: {\n uploading: 'جاري الرفع...',\n removeFile: 'احذف الملف',\n uploadError: 'مشكلة فى الرفع',\n previewFile: 'استعرض الملف',\n downloadFile: 'تحميل الملف'\n },\n Empty: {\n description: 'لا توجد بيانات'\n },\n Icon: {\n icon: 'أيقونة'\n },\n Text: {\n edit: 'تعديل',\n copy: 'نسخ',\n copied: 'نقل',\n expand: 'وسع'\n },\n PageHeader: {\n back: 'عودة'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar az_AZ = {\n locale: 'az',\n Pagination: {\n items_per_page: '/ səhifə',\n jump_to: 'Get',\n jump_to_confirm: 'təsdiqlə',\n page: '',\n prev_page: 'Əvvəlki Səhifə',\n next_page: 'Növbəti Səhifə',\n prev_5: 'Əvvəlki 5 Səhifə',\n next_5: 'Növbəti 5 Səhifə',\n prev_3: 'Əvvəlki 3 Səhifə',\n next_3: 'Növbəti 3 Səhifə',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Tarix seçin',\n rangePlaceholder: ['Başlama tarixi', 'Bitmə tarixi'],\n locale: 'az_AZ',\n today: 'Bugün',\n now: 'İndi',\n backToToday: 'Bugünə qayıt',\n ok: 'Təsdiq',\n clear: 'Təmizlə',\n month: 'Ay',\n year: 'İl',\n timeSelect: 'vaxtı seç',\n dateSelect: 'tarixi seç',\n weekSelect: 'Həftə seç',\n monthSelect: 'Ay seç',\n yearSelect: 'il seç',\n decadeSelect: 'Onillik seçin',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Əvvəlki ay (PageUp)',\n nextMonth: 'Növbəti ay (PageDown)',\n previousYear: 'Sonuncu il (Control + left)',\n nextYear: 'Növbəti il (Control + right)',\n previousDecade: 'Sonuncu onillik',\n nextDecade: 'Növbəti onillik',\n previousCentury: 'Sonuncu əsr',\n nextCentury: 'Növbəti əsr'\n },\n timePickerLocale: {\n placeholder: 'Vaxtı seç'\n }\n },\n TimePicker: {\n placeholder: 'Vaxtı seç'\n },\n Calendar: {\n lang: {\n placeholder: 'Tarix seçin',\n rangePlaceholder: ['Başlama tarixi', 'Bitmə tarixi'],\n locale: 'az_AZ',\n today: 'Bugün',\n now: 'İndi',\n backToToday: 'Bugünə qayıt',\n ok: 'Təsdiq',\n clear: 'Təmizlə',\n month: 'Ay',\n year: 'İl',\n timeSelect: 'vaxtı seç',\n dateSelect: 'tarixi seç',\n weekSelect: 'Həftə seç',\n monthSelect: 'Ay seç',\n yearSelect: 'il seç',\n decadeSelect: 'Onillik seçin',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Əvvəlki ay (PageUp)',\n nextMonth: 'Növbəti ay (PageDown)',\n previousYear: 'Sonuncu il (Control + left)',\n nextYear: 'Növbəti il (Control + right)',\n previousDecade: 'Sonuncu onillik',\n nextDecade: 'Növbəti onillik',\n previousCentury: 'Sonuncu əsr',\n nextCentury: 'Növbəti əsr'\n },\n timePickerLocale: {\n placeholder: 'Vaxtı seç'\n }\n },\n Table: {\n filterTitle: 'Filter menyu',\n filterConfirm: 'Axtar',\n filterReset: 'Sıfırla',\n emptyText: 'Məlumat yoxdur',\n selectAll: 'Cari səhifəni seç',\n selectInvert: 'Invert current page'\n },\n Modal: {\n okText: 'Bəli',\n cancelText: 'Ləğv et',\n justOkText: 'Bəli'\n },\n Popconfirm: {\n okText: 'Bəli',\n cancelText: 'Ləğv et'\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'Tapılmadı',\n searchPlaceholder: 'Burada axtar',\n itemUnit: 'item',\n itemsUnit: 'items'\n },\n Select: {\n notFoundContent: 'Tapılmadı'\n },\n Upload: {\n uploading: 'Yüklənir...',\n removeFile: 'Faylı sil',\n uploadError: 'Yükləmə xətası',\n previewFile: 'Fayla önbaxış'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar bg_BG = {\n locale: 'bg',\n Pagination: {\n items_per_page: '/ страница',\n jump_to: 'Към',\n jump_to_confirm: 'потвърждавам',\n page: '',\n prev_page: 'Предишна страница',\n next_page: 'Следваща страница',\n prev_5: 'Предишни 5 страници',\n next_5: 'Следващи 5 страници',\n prev_3: 'Предишни 3 страници',\n next_3: 'Следващи 3 страници',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Избор на дата',\n rangePlaceholder: ['Начална', 'Крайна'],\n locale: 'bg_BG',\n today: 'Днес',\n now: 'Сега',\n backToToday: 'Към днес',\n ok: 'Добре',\n clear: 'Изчистване',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избор на час',\n dateSelect: 'Избор на дата',\n monthSelect: 'Избор на месец',\n yearSelect: 'Избор на година',\n decadeSelect: 'Десетилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D M YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D M YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предишен месец (PageUp)',\n nextMonth: 'Следващ месец (PageDown)',\n previousYear: 'Последна година (Control + left)',\n nextYear: 'Следваща година (Control + right)',\n previousDecade: 'Предишно десетилетие',\n nextDecade: 'Следващо десетилетие',\n previousCentury: 'Последен век',\n nextCentury: 'Следващ век'\n },\n timePickerLocale: {\n placeholder: 'Избор на час'\n }\n },\n TimePicker: {\n placeholder: 'Избор на час'\n },\n Calendar: {\n lang: {\n placeholder: 'Избор на дата',\n rangePlaceholder: ['Начална', 'Крайна'],\n locale: 'bg_BG',\n today: 'Днес',\n now: 'Сега',\n backToToday: 'Към днес',\n ok: 'Добре',\n clear: 'Изчистване',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избор на час',\n dateSelect: 'Избор на дата',\n monthSelect: 'Избор на месец',\n yearSelect: 'Избор на година',\n decadeSelect: 'Десетилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D M YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D M YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предишен месец (PageUp)',\n nextMonth: 'Следващ месец (PageDown)',\n previousYear: 'Последна година (Control + left)',\n nextYear: 'Следваща година (Control + right)',\n previousDecade: 'Предишно десетилетие',\n nextDecade: 'Следващо десетилетие',\n previousCentury: 'Последен век',\n nextCentury: 'Следващ век'\n },\n timePickerLocale: {\n placeholder: 'Избор на час'\n }\n },\n Table: {\n filterTitle: 'Филтриране',\n filterConfirm: 'Добре',\n filterReset: 'Нулриане',\n selectAll: 'Избор на текуща страница',\n selectInvert: 'Обръщане'\n },\n Modal: {\n okText: 'Добре',\n cancelText: 'Отказ',\n justOkText: 'Добре'\n },\n Popconfirm: {\n okText: 'Добре',\n cancelText: 'Отказ'\n },\n Transfer: {\n searchPlaceholder: 'Търсене',\n itemUnit: 'избор',\n itemsUnit: 'избори'\n },\n Upload: {\n uploading: 'Качване...',\n removeFile: 'Премахване',\n uploadError: 'Грешка при качването',\n previewFile: 'Преглед',\n downloadFile: 'Свали файл'\n },\n Empty: {\n description: 'Няма данни'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar bn_BD = {\n locale: 'bn-bd',\n Pagination: {\n items_per_page: '/ পৃষ্ঠা',\n jump_to: 'যাও',\n jump_to_confirm: 'নিশ্চিত',\n page: 'পৃষ্ঠা',\n prev_page: 'আগের পৃষ্ঠা',\n next_page: 'পরের পৃষ্ঠা',\n prev_5: 'পূর্ববর্তী ৫ পৃষ্ঠা',\n next_5: 'পরবর্তী ৫ পৃষ্ঠা',\n prev_3: 'পূর্ববর্তী ৩ পৃষ্ঠা',\n next_3: 'পরবর্তী ৩ পৃষ্ঠা',\n page_size: 'পাতার আকার'\n },\n DatePicker: {\n lang: {\n placeholder: 'তারিখ নির্বাচন',\n yearPlaceholder: 'বছর নির্বাচন',\n quarterPlaceholder: 'কোয়ার্টার নির্বাচন',\n monthPlaceholder: 'মাস নির্বাচন',\n weekPlaceholder: 'সপ্তাহ নির্বাচন',\n rangePlaceholder: ['শুরুর তারিখ', 'শেষ তারিখ'],\n rangeYearPlaceholder: ['শুরুর বছর', 'শেষ বছর'],\n rangeMonthPlaceholder: ['শুরুর মাস', 'শেষ মাস'],\n rangeWeekPlaceholder: ['শুরুর সপ্তাহ', 'শেষ সপ্তাহ'],\n locale: 'bn_BD',\n today: 'আজ',\n now: 'এখন',\n backToToday: 'আজকে ফিরে চলুন',\n ok: 'ওকে',\n clear: 'পরিস্কার',\n month: 'মাস',\n year: 'বছর',\n timeSelect: 'সময় নির্বাচন',\n dateSelect: 'তারিখ নির্বাচন',\n weekSelect: 'সপ্তাহ পছন্দ করুন',\n monthSelect: 'মাস পছন্দ করুন',\n yearSelect: 'বছর পছন্দ করুন',\n decadeSelect: 'একটি দশক পছন্দ করুন',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'গত মাস (PageUp)',\n nextMonth: 'আগামী মাস (PageDown)',\n previousYear: 'গত বছর (Control + left)',\n nextYear: 'আগামী বছর (Control + right)',\n previousDecade: 'গত দশক',\n nextDecade: 'পরের দশক',\n previousCentury: 'গত শতাব্দী',\n nextCentury: 'পরের শতাব্দী'\n },\n timePickerLocale: {\n placeholder: 'সময় নির্বাচন',\n rangePlaceholder: ['সময় শুরু', 'শেষ সময়']\n }\n },\n TimePicker: {\n placeholder: 'সময় নির্বাচন',\n rangePlaceholder: ['সময় শুরু', 'শেষ সময়']\n },\n Calendar: {\n lang: {\n placeholder: 'তারিখ নির্বাচন',\n yearPlaceholder: 'বছর নির্বাচন',\n quarterPlaceholder: 'কোয়ার্টার নির্বাচন',\n monthPlaceholder: 'মাস নির্বাচন',\n weekPlaceholder: 'সপ্তাহ নির্বাচন',\n rangePlaceholder: ['শুরুর তারিখ', 'শেষ তারিখ'],\n rangeYearPlaceholder: ['শুরুর বছর', 'শেষ বছর'],\n rangeMonthPlaceholder: ['শুরুর মাস', 'শেষ মাস'],\n rangeWeekPlaceholder: ['শুরুর সপ্তাহ', 'শেষ সপ্তাহ'],\n locale: 'bn_BD',\n today: 'আজ',\n now: 'এখন',\n backToToday: 'আজকে ফিরে চলুন',\n ok: 'ওকে',\n clear: 'পরিস্কার',\n month: 'মাস',\n year: 'বছর',\n timeSelect: 'সময় নির্বাচন',\n dateSelect: 'তারিখ নির্বাচন',\n weekSelect: 'সপ্তাহ পছন্দ করুন',\n monthSelect: 'মাস পছন্দ করুন',\n yearSelect: 'বছর পছন্দ করুন',\n decadeSelect: 'একটি দশক পছন্দ করুন',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'গত মাস (PageUp)',\n nextMonth: 'আগামী মাস (PageDown)',\n previousYear: 'গত বছর (Control + left)',\n nextYear: 'আগামী বছর (Control + right)',\n previousDecade: 'গত দশক',\n nextDecade: 'পরের দশক',\n previousCentury: 'গত শতাব্দী',\n nextCentury: 'পরের শতাব্দী'\n },\n timePickerLocale: {\n placeholder: 'সময় নির্বাচন',\n rangePlaceholder: ['সময় শুরু', 'শেষ সময়']\n }\n },\n global: {\n placeholder: 'অনুগ্রহ করে নির্বাচন করুন'\n },\n Table: {\n filterTitle: 'ফিল্টার মেনু',\n filterConfirm: 'ঠিক',\n filterReset: 'রিসেট',\n filterEmptyText: 'ফিল্টার নেই',\n emptyText: 'কোনও ডেটা নেই',\n selectAll: 'বর্তমান পৃষ্ঠা নির্বাচন করুন',\n selectInvert: 'বর্তমান পৃষ্ঠাটি উল্টে দিন',\n selectNone: 'সমস্ত ডেটা সাফ করুন',\n selectionAll: 'সমস্ত ডেটা নির্বাচন করুন',\n sortTitle: 'সাজান',\n expand: 'সারি প্রসারিত করুন',\n collapse: 'সারি সঙ্কুচিত করুন',\n triggerDesc: 'অবতরণকে সাজানোর জন্য ক্লিক করুন',\n triggerAsc: 'আরোহী বাছাই করতে ক্লিক করুন',\n cancelSort: 'বাছাই বাতিল করতে ক্লিক করুন'\n },\n Modal: {\n okText: 'ঠিক',\n cancelText: 'বাতিল',\n justOkText: 'ঠিক'\n },\n Popconfirm: {\n okText: 'ঠিক',\n cancelText: 'বাতিল'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'এখানে অনুসন্ধান',\n itemUnit: 'আইটেম',\n itemsUnit: 'আইটেমসমূহ',\n remove: 'অপসারণ',\n selectCurrent: 'বর্তমান পৃষ্ঠা নির্বাচন করুন',\n removeCurrent: 'বর্তমান পৃষ্ঠাটি সরান',\n selectAll: 'সমস্ত ডেটা নির্বাচন করুন',\n removeAll: 'সমস্ত ডেটা সরান',\n selectInvert: 'বর্তমান পৃষ্ঠাটি উল্টে দিন'\n },\n Upload: {\n uploading: 'আপলোড হচ্ছে ...',\n removeFile: 'ফাইল সরান',\n uploadError: 'আপলোডে সমস্যা',\n previewFile: 'ফাইলের পূর্বরূপ',\n downloadFile: 'ফাইল ডাউনলোড'\n },\n Empty: {\n description: 'কোনও ডেটা নেই'\n },\n Icon: {\n icon: 'আইকন'\n },\n Text: {\n edit: 'সম্পাদনা',\n copy: 'অনুলিপি',\n copied: 'অনুলিপি হয়েছে',\n expand: 'বিস্তৃত করা'\n },\n PageHeader: {\n back: 'পেছনে'\n },\n Image: {\n preview: 'পূর্বরূপ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar by_BY = {\n locale: 'by',\n Pagination: {\n items_per_page: '/старонка',\n jump_to: 'Перайсці',\n jump_to_confirm: 'Пацвердзіць',\n page: '',\n prev_page: 'Назад',\n next_page: 'Наперад',\n prev_5: 'Папярэднія 5',\n next_5: 'Наступныя 5',\n prev_3: 'Папярэднія 3',\n next_3: 'Наступныя 3',\n page_size: 'памер старонкі'\n },\n DatePicker: {\n lang: {\n placeholder: 'Выберыце дату',\n yearPlaceholder: 'Выберыце год',\n quarterPlaceholder: 'Выберыце квартал',\n monthPlaceholder: 'Выберыце месяц',\n weekPlaceholder: 'Выберыце тыдзень',\n rangePlaceholder: ['Пачатковая дата', 'Канчатковая дата'],\n rangeYearPlaceholder: ['Пачатковы год', 'Год заканчэння'],\n rangeMonthPlaceholder: ['Пачатковы месяц', 'Канчатковы месяц'],\n rangeWeekPlaceholder: ['Пачатковы тыдзень', 'Канчатковы тыдзень'],\n locale: 'by_BY',\n today: 'Сёння',\n now: 'Зараз',\n backToToday: 'Дадзеная дата',\n ok: 'Ok',\n clear: 'Ачысціць',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбраць час',\n dateSelect: 'Выбраць дату',\n weekSelect: 'Выбраць тыдзень',\n monthSelect: 'Выбраць месяц',\n yearSelect: 'Выбраць год',\n decadeSelect: 'Выбраць дзесяцігоддзе',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Папярэдні месяц (PageUp)',\n nextMonth: 'Наступны месяц (PageDown)',\n previousYear: 'Папярэдні год (Control + left)',\n nextYear: 'Наступны год (Control + right)',\n previousDecade: 'Папярэдняе дзесяцігоддзе',\n nextDecade: 'Наступнае дзесяцігоддзе',\n previousCentury: 'Папярэдні век',\n nextCentury: 'Наступны век'\n },\n timePickerLocale: {\n placeholder: 'Выберыце час',\n rangePlaceholder: ['Час пачатку', 'Час заканчэння']\n }\n },\n TimePicker: {\n placeholder: 'Выберыце час',\n rangePlaceholder: ['Час пачатку', 'Час заканчэння']\n },\n Calendar: {\n lang: {\n placeholder: 'Выберыце дату',\n yearPlaceholder: 'Выберыце год',\n quarterPlaceholder: 'Выберыце квартал',\n monthPlaceholder: 'Выберыце месяц',\n weekPlaceholder: 'Выберыце тыдзень',\n rangePlaceholder: ['Пачатковая дата', 'Канчатковая дата'],\n rangeYearPlaceholder: ['Пачатковы год', 'Год заканчэння'],\n rangeMonthPlaceholder: ['Пачатковы месяц', 'Канчатковы месяц'],\n rangeWeekPlaceholder: ['Пачатковы тыдзень', 'Канчатковы тыдзень'],\n locale: 'by_BY',\n today: 'Сёння',\n now: 'Зараз',\n backToToday: 'Дадзеная дата',\n ok: 'Ok',\n clear: 'Ачысціць',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбраць час',\n dateSelect: 'Выбраць дату',\n weekSelect: 'Выбраць тыдзень',\n monthSelect: 'Выбраць месяц',\n yearSelect: 'Выбраць год',\n decadeSelect: 'Выбраць дзесяцігоддзе',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Папярэдні месяц (PageUp)',\n nextMonth: 'Наступны месяц (PageDown)',\n previousYear: 'Папярэдні год (Control + left)',\n nextYear: 'Наступны год (Control + right)',\n previousDecade: 'Папярэдняе дзесяцігоддзе',\n nextDecade: 'Наступнае дзесяцігоддзе',\n previousCentury: 'Папярэдні век',\n nextCentury: 'Наступны век'\n },\n timePickerLocale: {\n placeholder: 'Выберыце час',\n rangePlaceholder: ['Час пачатку', 'Час заканчэння']\n }\n },\n global: {\n placeholder: 'Калі ласка выберыце'\n },\n Table: {\n filterTitle: 'Фільтр',\n filterConfirm: 'OK',\n filterReset: 'Скінуць',\n filterEmptyText: 'Без фільтраў',\n emptyText: 'Няма дадзеных',\n selectAll: 'Выбраць усе',\n selectInvert: 'Інвертаваць выбар',\n selectionAll: 'Выбраць усе дадзеныя',\n sortTitle: 'Сартаванне',\n expand: 'Разгарнуць радок',\n collapse: 'Згарнуць радок',\n triggerDesc: 'Націсніце для сартавання па змяншэнні',\n triggerAsc: 'Націсніце для сартавання па ўзросту',\n cancelSort: 'Націсніце, каб адмяніць сартаванне'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Адмена',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Адмена'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Пошук',\n itemUnit: 'элем.',\n itemsUnit: 'элем.',\n remove: 'Выдаліць',\n selectAll: 'Выбраць усе дадзеныя',\n selectCurrent: 'Вылучыць дадзеную старонку',\n selectInvert: 'Паказаць у зваротным парадку',\n removeAll: 'Выдаліць усе дадзеныя',\n removeCurrent: 'Выдаліць дадзеную старонку'\n },\n Upload: {\n uploading: 'Загрузка...',\n removeFile: 'Выдаліць файл',\n uploadError: 'Адбылася памылка пры загрузцы',\n previewFile: 'Прадпрагляд файла',\n downloadFile: 'Загрузіць файл'\n },\n Empty: {\n description: 'Няма дадзеных'\n },\n Icon: {\n icon: 'Іконка'\n },\n Text: {\n edit: 'Рэдагаваць',\n copy: 'Капіяваць',\n copied: 'Капіяванне завершана',\n expand: 'Разгарнуць'\n },\n PageHeader: {\n back: 'Назад'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ca_ES = {\n locale: 'ca',\n Pagination: {\n items_per_page: '/ pàgina',\n jump_to: 'Anar a',\n jump_to_confirm: 'Confirma',\n page: '',\n prev_page: 'Pàgina prèvia',\n next_page: 'Pàgina següent',\n prev_5: '5 pàgines prèvies',\n next_5: '5 pàgines següents',\n prev_3: '3 pàgines prèvies',\n next_3: '3 pàgines següents',\n page_size: 'mida de la pàgina'\n },\n DatePicker: {\n lang: {\n placeholder: 'Seleccionar data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n locale: 'ca_ES',\n today: 'Avui',\n now: 'Ara',\n backToToday: 'Tornar a avui',\n ok: 'Acceptar',\n clear: 'Netejar',\n month: 'Mes',\n year: 'Any',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Escollir un mes',\n yearSelect: 'Escollir un any',\n decadeSelect: 'Escollir una dècada',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes següent (PageDown)',\n previousYear: 'Any anterior (Control + left)',\n nextYear: 'Mes següent (Control + right)',\n previousDecade: 'Dècada anterior',\n nextDecade: 'Dècada següent',\n previousCentury: 'Segle anterior',\n nextCentury: 'Segle següent'\n },\n timePickerLocale: {\n placeholder: 'Seleccionar hora'\n }\n },\n TimePicker: {\n placeholder: 'Seleccionar hora'\n },\n Calendar: {\n lang: {\n placeholder: 'Seleccionar data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n locale: 'ca_ES',\n today: 'Avui',\n now: 'Ara',\n backToToday: 'Tornar a avui',\n ok: 'Acceptar',\n clear: 'Netejar',\n month: 'Mes',\n year: 'Any',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Escollir un mes',\n yearSelect: 'Escollir un any',\n decadeSelect: 'Escollir una dècada',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes següent (PageDown)',\n previousYear: 'Any anterior (Control + left)',\n nextYear: 'Mes següent (Control + right)',\n previousDecade: 'Dècada anterior',\n nextDecade: 'Dècada següent',\n previousCentury: 'Segle anterior',\n nextCentury: 'Segle següent'\n },\n timePickerLocale: {\n placeholder: 'Seleccionar hora'\n }\n },\n global: {\n placeholder: 'Seleccionar'\n },\n Table: {\n filterTitle: 'Filtrar el menú',\n filterConfirm: 'D’acord',\n filterReset: 'Reiniciar',\n filterEmptyText: 'Sense filtres',\n selectAll: 'Seleccionar la pàgina actual',\n selectInvert: 'Invertir la selecció',\n selectionAll: 'Seleccionar-ho tot',\n sortTitle: 'Ordenar',\n expand: 'Ampliar la fila',\n collapse: 'Plegar la fila',\n triggerDesc: 'Ordre descendent',\n triggerAsc: 'Ordre ascendent',\n cancelSort: 'Desactivar l’ordre'\n },\n Modal: {\n okText: 'D’acord',\n cancelText: 'Cancel·lar',\n justOkText: 'D’acord'\n },\n Popconfirm: {\n okText: 'D’acord',\n cancelText: 'Cancel·lar'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Cercar',\n itemUnit: 'ítem',\n itemsUnit: 'ítems',\n remove: 'Eliminar',\n selectCurrent: 'Seleccionar la pàgina actual',\n removeCurrent: 'Eliminar la selecció',\n selectAll: 'Seleccionar-ho tot',\n removeAll: 'Eliminar-ho tot',\n selectInvert: 'Invertir la selecció'\n },\n Upload: {\n uploading: 'Carregant…',\n removeFile: 'Eliminar el fitxer',\n uploadError: 'Error de càrrega',\n previewFile: 'Vista prèvia del fitxer',\n downloadFile: 'Baixar el fitxer'\n },\n Empty: {\n description: 'Sense dades'\n },\n Icon: {\n icon: 'icona'\n },\n Text: {\n edit: 'Editar',\n copy: 'Copiar',\n copied: 'Copiat',\n expand: 'Ampliar'\n },\n PageHeader: {\n back: 'Enrere'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar cs_CZ = {\n locale: 'cs',\n Pagination: {\n items_per_page: '/ strana',\n jump_to: 'Přejít',\n jump_to_confirm: 'potvrdit',\n page: '',\n prev_page: 'Předchozí strana',\n next_page: 'Následující strana',\n prev_5: 'Předchozích 5 stran',\n next_5: 'Následujících 5 stran',\n prev_3: 'Předchozí 3 strany',\n next_3: 'Následující 3 strany',\n page_size: 'velikost stránky'\n },\n DatePicker: {\n lang: {\n placeholder: 'Vybrat datum',\n rangePlaceholder: ['Od', 'Do'],\n locale: 'cs_CZ',\n today: 'Dnes',\n now: 'Nyní',\n backToToday: 'Zpět na dnešek',\n ok: 'Ok',\n clear: 'Vymazat',\n month: 'Měsíc',\n year: 'Rok',\n timeSelect: 'Vybrat čas',\n dateSelect: 'Vybrat datum',\n monthSelect: 'Vyberte měsíc',\n yearSelect: 'Vyberte rok',\n decadeSelect: 'Vyberte dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Předchozí měsíc (PageUp)',\n nextMonth: 'Následující (PageDown)',\n previousYear: 'Předchozí rok (Control + left)',\n nextYear: 'Následující rok (Control + right)',\n previousDecade: 'Předchozí dekáda',\n nextDecade: 'Následující dekáda',\n previousCentury: 'Předchozí století',\n nextCentury: 'Následující století'\n },\n timePickerLocale: {\n placeholder: 'Vybrat čas'\n }\n },\n TimePicker: {\n placeholder: 'Vybrat čas'\n },\n Calendar: {\n lang: {\n placeholder: 'Vybrat datum',\n rangePlaceholder: ['Od', 'Do'],\n locale: 'cs_CZ',\n today: 'Dnes',\n now: 'Nyní',\n backToToday: 'Zpět na dnešek',\n ok: 'Ok',\n clear: 'Vymazat',\n month: 'Měsíc',\n year: 'Rok',\n timeSelect: 'Vybrat čas',\n dateSelect: 'Vybrat datum',\n monthSelect: 'Vyberte měsíc',\n yearSelect: 'Vyberte rok',\n decadeSelect: 'Vyberte dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Předchozí měsíc (PageUp)',\n nextMonth: 'Následující (PageDown)',\n previousYear: 'Předchozí rok (Control + left)',\n nextYear: 'Následující rok (Control + right)',\n previousDecade: 'Předchozí dekáda',\n nextDecade: 'Následující dekáda',\n previousCentury: 'Předchozí století',\n nextCentury: 'Následující století'\n },\n timePickerLocale: {\n placeholder: 'Vybrat čas'\n }\n },\n global: {\n placeholder: 'Prosím vyber'\n },\n Table: {\n filterTitle: 'Filtr',\n filterConfirm: 'Potvrdit',\n filterReset: 'Obnovit',\n filterEmptyText: 'Žádné filtry',\n selectAll: 'Vybrat všechny řádky na současné stránce',\n selectInvert: 'Invertovat výběr na současné stránce',\n selectionAll: 'Vybrat všechny řádky',\n sortTitle: 'Řadit',\n expand: 'Rozbalit řádek',\n collapse: 'Zabalit řádek',\n triggerDesc: 'Klikni pro sestupné řazení',\n triggerAsc: 'Klikni pro vzestupné řazení',\n cancelSort: 'Klikni pro zrušení řazení'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Storno',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Storno'\n },\n Transfer: {\n searchPlaceholder: 'Vyhledávání',\n itemUnit: 'položka',\n itemsUnit: 'položek'\n },\n Upload: {\n uploading: 'Nahrávání...',\n removeFile: 'Odstranit soubor',\n uploadError: 'Chyba při nahrávání',\n previewFile: 'Zobrazit soubor',\n downloadFile: 'Stáhnout soubor'\n },\n Empty: {\n description: 'Žádná data'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar da_DK = {\n locale: 'da',\n DatePicker: {\n lang: {\n placeholder: 'Vælg dato',\n rangePlaceholder: ['Startdato', 'Slutdato'],\n locale: 'da_DK',\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Ryd',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Vælg tidspunkt',\n dateSelect: 'Vælg dato',\n monthSelect: 'Vælg måned',\n yearSelect: 'Vælg år',\n decadeSelect: 'Vælg årti',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned (Page Up)',\n nextMonth: 'Næste måned (Page Down)',\n previousYear: 'Forrige år (Ctrl-venstre pil)',\n nextYear: 'Næste år (Ctrl-højre pil)',\n previousDecade: 'Forrige årti',\n nextDecade: 'Næste årti',\n previousCentury: 'Forrige århundrede',\n nextCentury: 'Næste århundrede'\n },\n timePickerLocale: {\n placeholder: 'Vælg tid',\n rangePlaceholder: ['Starttidspunkt', 'Sluttidspunkt']\n }\n },\n TimePicker: {\n placeholder: 'Vælg tid',\n rangePlaceholder: ['Starttidspunkt', 'Sluttidspunkt']\n },\n Calendar: {\n lang: {\n placeholder: 'Vælg dato',\n rangePlaceholder: ['Startdato', 'Slutdato'],\n locale: 'da_DK',\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Ryd',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Vælg tidspunkt',\n dateSelect: 'Vælg dato',\n monthSelect: 'Vælg måned',\n yearSelect: 'Vælg år',\n decadeSelect: 'Vælg årti',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned (Page Up)',\n nextMonth: 'Næste måned (Page Down)',\n previousYear: 'Forrige år (Ctrl-venstre pil)',\n nextYear: 'Næste år (Ctrl-højre pil)',\n previousDecade: 'Forrige årti',\n nextDecade: 'Næste årti',\n previousCentury: 'Forrige århundrede',\n nextCentury: 'Næste århundrede'\n },\n timePickerLocale: {\n placeholder: 'Vælg tid',\n rangePlaceholder: ['Starttidspunkt', 'Sluttidspunkt']\n }\n },\n Pagination: {\n items_per_page: '/ side',\n jump_to: 'Gå til',\n jump_to_confirm: 'bekræft',\n page: 'Side',\n prev_page: 'Forrige Side',\n next_page: 'Næste Side',\n prev_5: 'Forrige 5 Sider',\n next_5: 'Næste 5 Sider',\n prev_3: 'Forrige 3 Sider',\n next_3: 'Næste 3 Sider',\n page_size: 'sidestørrelse'\n },\n Table: {\n filterTitle: 'Filtermenu',\n filterConfirm: 'OK',\n filterReset: 'Nulstil',\n selectAll: 'Vælg alle',\n selectInvert: 'Invertér valg',\n filterEmptyText: 'Ingen filtre',\n emptyText: 'Ingen data',\n selectNone: 'Ryd alt data',\n selectionAll: 'Vælg alt data',\n sortTitle: 'Sortér',\n expand: 'Udvid række',\n collapse: 'Flet række',\n triggerDesc: 'Klik for at sortere faldende',\n triggerAsc: 'Klik for at sortere stigende',\n cancelSort: 'Klik for at annullere sortering'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Afbryd',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Afbryd'\n },\n Transfer: {\n searchPlaceholder: 'Søg her',\n itemUnit: 'element',\n itemsUnit: 'elementer'\n },\n Upload: {\n uploading: 'Uploader...',\n removeFile: 'Fjern fil',\n uploadError: 'Fejl ved upload',\n previewFile: 'Forhåndsvisning',\n downloadFile: 'Download fil'\n },\n Empty: {\n description: 'Ingen data'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar de_DE = {\n locale: 'de',\n Pagination: {\n items_per_page: '/ Seite',\n jump_to: 'Gehe zu',\n jump_to_confirm: 'bestätigen',\n page: 'Seite',\n prev_page: 'Vorherige Seite',\n next_page: 'Nächste Seite',\n prev_5: '5 Seiten zurück',\n next_5: '5 Seiten vor',\n prev_3: '3 Seiten zurück',\n next_3: '3 Seiten vor',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Datum auswählen',\n yearPlaceholder: 'Jahr auswählen',\n quarterPlaceholder: 'Quartal auswählen',\n monthPlaceholder: 'Monat auswählen',\n weekPlaceholder: 'Woche auswählen',\n rangePlaceholder: ['Startdatum', 'Enddatum'],\n rangeYearPlaceholder: ['Startjahr', 'Endjahr'],\n rangeMonthPlaceholder: ['Startmonat', 'Endmonat'],\n rangeWeekPlaceholder: ['Startwoche', 'Endwoche'],\n locale: 'de_DE',\n today: 'Heute',\n now: 'Jetzt',\n backToToday: 'Zurück zu Heute',\n ok: 'OK',\n clear: 'Zurücksetzen',\n month: 'Monat',\n year: 'Jahr',\n timeSelect: 'Zeit wählen',\n dateSelect: 'Datum wählen',\n weekSelect: 'Woche wählen',\n monthSelect: 'Wähle einen Monat',\n yearSelect: 'Wähle ein Jahr',\n decadeSelect: 'Wähle ein Jahrzehnt',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorheriger Monat (PageUp)',\n nextMonth: 'Nächster Monat (PageDown)',\n previousYear: 'Vorheriges Jahr (Ctrl + left)',\n nextYear: 'Nächstes Jahr (Ctrl + right)',\n previousDecade: 'Vorheriges Jahrzehnt',\n nextDecade: 'Nächstes Jahrzehnt',\n previousCentury: 'Vorheriges Jahrhundert',\n nextCentury: 'Nächstes Jahrhundert'\n },\n timePickerLocale: {\n placeholder: 'Zeit auswählen',\n rangePlaceholder: ['Startzeit', 'Endzeit']\n }\n },\n TimePicker: {\n placeholder: 'Zeit auswählen'\n },\n Calendar: {\n lang: {\n placeholder: 'Datum auswählen',\n yearPlaceholder: 'Jahr auswählen',\n quarterPlaceholder: 'Quartal auswählen',\n monthPlaceholder: 'Monat auswählen',\n weekPlaceholder: 'Woche auswählen',\n rangePlaceholder: ['Startdatum', 'Enddatum'],\n rangeYearPlaceholder: ['Startjahr', 'Endjahr'],\n rangeMonthPlaceholder: ['Startmonat', 'Endmonat'],\n rangeWeekPlaceholder: ['Startwoche', 'Endwoche'],\n locale: 'de_DE',\n today: 'Heute',\n now: 'Jetzt',\n backToToday: 'Zurück zu Heute',\n ok: 'OK',\n clear: 'Zurücksetzen',\n month: 'Monat',\n year: 'Jahr',\n timeSelect: 'Zeit wählen',\n dateSelect: 'Datum wählen',\n weekSelect: 'Woche wählen',\n monthSelect: 'Wähle einen Monat',\n yearSelect: 'Wähle ein Jahr',\n decadeSelect: 'Wähle ein Jahrzehnt',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorheriger Monat (PageUp)',\n nextMonth: 'Nächster Monat (PageDown)',\n previousYear: 'Vorheriges Jahr (Ctrl + left)',\n nextYear: 'Nächstes Jahr (Ctrl + right)',\n previousDecade: 'Vorheriges Jahrzehnt',\n nextDecade: 'Nächstes Jahrzehnt',\n previousCentury: 'Vorheriges Jahrhundert',\n nextCentury: 'Nächstes Jahrhundert'\n },\n timePickerLocale: {\n placeholder: 'Zeit auswählen',\n rangePlaceholder: ['Startzeit', 'Endzeit']\n }\n },\n global: {\n placeholder: 'Bitte auswählen'\n },\n Table: {\n filterTitle: 'Filter-Menü',\n filterConfirm: 'OK',\n filterReset: 'Zurücksetzen',\n filterEmptyText: 'Keine Filter',\n emptyText: 'Keine Daten',\n selectAll: 'Selektiere Alle',\n selectInvert: 'Selektion Invertieren',\n selectionAll: 'Wählen Sie alle Daten aus',\n sortTitle: 'Sortieren',\n expand: 'Zeile erweitern',\n collapse: 'Zeile reduzieren',\n triggerDesc: 'Klicken zur absteigenden Sortierung',\n triggerAsc: 'Klicken zur aufsteigenden Sortierung',\n cancelSort: 'Klicken zum Abbrechen der Sortierung'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Abbrechen',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Abbrechen'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Suchen',\n itemUnit: 'Eintrag',\n itemsUnit: 'Einträge',\n remove: 'Entfernen',\n selectCurrent: 'Alle auf aktueller Seite auswählen',\n removeCurrent: 'Auswahl auf aktueller Seite aufheben',\n selectAll: 'Alle auswählen',\n removeAll: 'Auswahl aufheben',\n selectInvert: 'Auswahl umkehren'\n },\n Upload: {\n uploading: 'Hochladen...',\n removeFile: 'Datei entfernen',\n uploadError: 'Fehler beim Hochladen',\n previewFile: 'Dateivorschau',\n downloadFile: 'Download-Datei'\n },\n Empty: {\n description: 'Keine Daten'\n },\n Text: {\n edit: 'Bearbeiten',\n copy: 'Kopieren',\n copied: 'Kopiert',\n expand: 'Erweitern'\n },\n PageHeader: {\n back: 'Zurück'\n },\n Image: {\n preview: 'Vorschau'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar el_GR = {\n locale: 'el',\n Pagination: {\n items_per_page: '/ σελίδα',\n jump_to: 'Μετάβαση',\n jump_to_confirm: 'επιβεβαιώνω',\n page: '',\n prev_page: 'Προηγούμενη Σελίδα',\n next_page: 'Επόμενη Σελίδα',\n prev_5: 'Προηγούμενες 5 Σελίδες',\n next_5: 'Επόμενες 5 σελίδες',\n prev_3: 'Προηγούμενες 3 Σελίδες',\n next_3: 'Επόμενες 3 Σελίδες',\n page_size: 'Μέγεθος σελίδας'\n },\n DatePicker: {\n lang: {\n placeholder: 'Επιλέξτε ημερομηνία',\n rangePlaceholder: ['Αρχική ημερομηνία', 'Τελική ημερομηνία'],\n locale: 'el_GR',\n today: 'Σήμερα',\n now: 'Τώρα',\n backToToday: 'Πίσω στη σημερινή μέρα',\n ok: 'Ok',\n clear: 'Καθαρισμός',\n month: 'Μήνας',\n year: 'Έτος',\n timeSelect: 'Επιλογή ώρας',\n dateSelect: 'Επιλογή ημερομηνίας',\n monthSelect: 'Επιλογή μήνα',\n yearSelect: 'Επιλογή έτους',\n decadeSelect: 'Επιλογή δεκαετίας',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Προηγούμενος μήνας (PageUp)',\n nextMonth: 'Επόμενος μήνας (PageDown)',\n previousYear: 'Προηγούμενο έτος (Control + αριστερά)',\n nextYear: 'Επόμενο έτος (Control + δεξιά)',\n previousDecade: 'Προηγούμενη δεκαετία',\n nextDecade: 'Επόμενη δεκαετία',\n previousCentury: 'Προηγούμενος αιώνας',\n nextCentury: 'Επόμενος αιώνας'\n },\n timePickerLocale: {\n placeholder: 'Επιλέξτε ώρα'\n }\n },\n TimePicker: {\n placeholder: 'Επιλέξτε ώρα'\n },\n Calendar: {\n lang: {\n placeholder: 'Επιλέξτε ημερομηνία',\n rangePlaceholder: ['Αρχική ημερομηνία', 'Τελική ημερομηνία'],\n locale: 'el_GR',\n today: 'Σήμερα',\n now: 'Τώρα',\n backToToday: 'Πίσω στη σημερινή μέρα',\n ok: 'Ok',\n clear: 'Καθαρισμός',\n month: 'Μήνας',\n year: 'Έτος',\n timeSelect: 'Επιλογή ώρας',\n dateSelect: 'Επιλογή ημερομηνίας',\n monthSelect: 'Επιλογή μήνα',\n yearSelect: 'Επιλογή έτους',\n decadeSelect: 'Επιλογή δεκαετίας',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Προηγούμενος μήνας (PageUp)',\n nextMonth: 'Επόμενος μήνας (PageDown)',\n previousYear: 'Προηγούμενο έτος (Control + αριστερά)',\n nextYear: 'Επόμενο έτος (Control + δεξιά)',\n previousDecade: 'Προηγούμενη δεκαετία',\n nextDecade: 'Επόμενη δεκαετία',\n previousCentury: 'Προηγούμενος αιώνας',\n nextCentury: 'Επόμενος αιώνας'\n },\n timePickerLocale: {\n placeholder: 'Επιλέξτε ώρα'\n }\n },\n Table: {\n filterTitle: 'Μενού φίλτρων',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά',\n selectAll: 'Επιλογή τρέχουσας σελίδας',\n selectInvert: 'Αντιστροφή τρέχουσας σελίδας'\n },\n Modal: {\n okText: 'ΟΚ',\n cancelText: 'Άκυρο',\n justOkText: 'ΟΚ'\n },\n Popconfirm: {\n okText: 'ΟΚ',\n cancelText: 'Άκυρο'\n },\n Transfer: {\n searchPlaceholder: 'Αναζήτηση',\n itemUnit: 'αντικείμενο',\n itemsUnit: 'αντικείμενα'\n },\n Upload: {\n uploading: 'Μεταφόρτωση...',\n removeFile: 'Αφαίρεση αρχείου',\n uploadError: 'Σφάλμα μεταφόρτωσης',\n previewFile: 'Προεπισκόπηση αρχείου',\n downloadFile: 'Λήψη αρχείου'\n },\n Empty: {\n description: 'Δεν υπάρχουν δεδομένα'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar en_GB = {\n locale: 'en-gb',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_GB',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'Select time',\n dateSelect: 'Select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n TimePicker: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n },\n Calendar: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_GB',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'Select time',\n dateSelect: 'Select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting',\n selectNone: 'Clear all data'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar es_ES = {\n locale: 'es',\n Pagination: {\n items_per_page: '/ página',\n jump_to: 'Ir a',\n jump_to_confirm: 'confirmar',\n page: 'Página',\n prev_page: 'Página anterior',\n next_page: 'Página siguiente',\n prev_5: '5 páginas previas',\n next_5: '5 páginas siguientes',\n prev_3: '3 páginas previas',\n next_3: '3 páginas siguientes',\n page_size: 'tamaño de página'\n },\n DatePicker: {\n lang: {\n placeholder: 'Seleccionar fecha',\n yearPlaceholder: 'Seleccionar año',\n quarterPlaceholder: 'Seleccionar trimestre',\n monthPlaceholder: 'Seleccionar mes',\n weekPlaceholder: 'Seleccionar semana',\n rangePlaceholder: ['Fecha inicial', 'Fecha final'],\n rangeYearPlaceholder: ['Año inicial', 'Año final'],\n rangeMonthPlaceholder: ['Mes inicial', 'Mes final'],\n rangeWeekPlaceholder: ['Semana inicial', 'Semana final'],\n locale: 'es_ES',\n today: 'Hoy',\n now: 'Ahora',\n backToToday: 'Volver a hoy',\n ok: 'Aceptar',\n clear: 'Limpiar',\n month: 'Mes',\n year: 'Año',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar fecha',\n weekSelect: 'Elegir una semana',\n monthSelect: 'Elegir un mes',\n yearSelect: 'Elegir un año',\n decadeSelect: 'Elegir una década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes siguiente (PageDown)',\n previousYear: 'Año anterior (Control + left)',\n nextYear: 'Año siguiente (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década siguiente',\n previousCentury: 'Siglo anterior',\n nextCentury: 'Siglo siguiente'\n },\n timePickerLocale: {\n placeholder: 'Seleccionar hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n }\n },\n TimePicker: {\n placeholder: 'Seleccionar hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n },\n Calendar: {\n lang: {\n placeholder: 'Seleccionar fecha',\n yearPlaceholder: 'Seleccionar año',\n quarterPlaceholder: 'Seleccionar trimestre',\n monthPlaceholder: 'Seleccionar mes',\n weekPlaceholder: 'Seleccionar semana',\n rangePlaceholder: ['Fecha inicial', 'Fecha final'],\n rangeYearPlaceholder: ['Año inicial', 'Año final'],\n rangeMonthPlaceholder: ['Mes inicial', 'Mes final'],\n rangeWeekPlaceholder: ['Semana inicial', 'Semana final'],\n locale: 'es_ES',\n today: 'Hoy',\n now: 'Ahora',\n backToToday: 'Volver a hoy',\n ok: 'Aceptar',\n clear: 'Limpiar',\n month: 'Mes',\n year: 'Año',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar fecha',\n weekSelect: 'Elegir una semana',\n monthSelect: 'Elegir un mes',\n yearSelect: 'Elegir un año',\n decadeSelect: 'Elegir una década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (AvPág)',\n nextMonth: 'Mes siguiente (RePág)',\n previousYear: 'Año anterior (Control + izquierda)',\n nextYear: 'Año siguiente (Control + derecha)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década siguiente',\n previousCentury: 'Siglo anterior',\n nextCentury: 'Siglo siguiente'\n },\n timePickerLocale: {\n placeholder: 'Seleccionar hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n }\n },\n global: {\n placeholder: 'Seleccione'\n },\n Table: {\n filterTitle: 'Filtrar menú',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar',\n filterEmptyText: 'Sin filtros',\n emptyText: 'Sin datos',\n selectAll: 'Seleccionar todo',\n selectInvert: 'Invertir selección',\n selectionAll: 'Seleccionar todos los datos',\n sortTitle: 'Ordenar',\n expand: 'Expandir fila',\n collapse: 'Colapsar fila',\n triggerDesc: 'Click para ordenar descendentemente',\n triggerAsc: 'Click para ordenar ascendentemenre',\n cancelSort: 'Click para cancelar ordenación',\n filterCheckall: 'Seleccionar todos los filtros',\n filterSearchPlaceholder: 'Buscar en filtros',\n selectNone: 'Vaciar todo'\n },\n Modal: {\n okText: 'Aceptar',\n cancelText: 'Cancelar',\n justOkText: 'Aceptar'\n },\n Popconfirm: {\n okText: 'Aceptar',\n cancelText: 'Cancelar'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Buscar aquí',\n itemUnit: 'elemento',\n itemsUnit: 'elementos',\n remove: 'Eliminar',\n selectCurrent: 'Seleccionar página actual',\n removeCurrent: 'Eliminar página actual',\n selectAll: 'Seleccionar todos los datos',\n removeAll: 'Eliminar todos los datos',\n selectInvert: 'Invertir página actual'\n },\n Upload: {\n uploading: 'Subiendo...',\n removeFile: 'Eliminar archivo',\n uploadError: 'Error al subir el archivo',\n previewFile: 'Vista previa',\n downloadFile: 'Descargar archivo'\n },\n Empty: {\n description: 'No hay datos'\n },\n Icon: {\n icon: 'icono'\n },\n Text: {\n edit: 'Editar',\n copy: 'Copiar',\n copied: 'Copiado',\n expand: 'Expandir'\n },\n PageHeader: {\n back: 'Volver'\n },\n Image: {\n preview: 'Previsualización'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar et_EE = {\n locale: 'et',\n Pagination: {\n items_per_page: '/ leheküljel',\n jump_to: 'Hüppa',\n jump_to_confirm: 'Kinnitage',\n page: '',\n prev_page: 'Eelmine leht',\n next_page: 'Järgmine leht',\n prev_5: 'Eelmised 5 lehekülge',\n next_5: 'Järgmised 5 lehekülge',\n prev_3: 'Eelmised 3 lehekülge',\n next_3: 'Järgmised 3 lehekülge',\n page_size: 'lehe suurus'\n },\n DatePicker: {\n lang: {\n placeholder: 'Vali kuupäev',\n rangePlaceholder: ['Algus kuupäev', 'Lõpu kuupäev'],\n locale: 'et_EE',\n today: 'Täna',\n now: 'Praegu',\n backToToday: 'Tagasi tänase juurde',\n ok: 'Ok',\n clear: 'Tühista',\n month: 'Kuu',\n year: 'Aasta',\n timeSelect: 'Vali aeg',\n dateSelect: 'Vali kuupäev',\n monthSelect: 'Vali kuu',\n yearSelect: 'Vali aasta',\n decadeSelect: 'Vali dekaad',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Eelmine kuu (PageUp)',\n nextMonth: 'Järgmine kuu (PageDown)',\n previousYear: 'Eelmine aasta (Control + left)',\n nextYear: 'Järgmine aasta (Control + right)',\n previousDecade: 'Eelmine dekaad',\n nextDecade: 'Järgmine dekaad',\n previousCentury: 'Eelmine sajand',\n nextCentury: 'Järgmine sajand'\n },\n timePickerLocale: {\n placeholder: 'Vali aeg'\n }\n },\n TimePicker: {\n placeholder: 'Vali aeg'\n },\n Calendar: {\n lang: {\n placeholder: 'Vali kuupäev',\n rangePlaceholder: ['Algus kuupäev', 'Lõpu kuupäev'],\n locale: 'et_EE',\n today: 'Täna',\n now: 'Praegu',\n backToToday: 'Tagasi tänase juurde',\n ok: 'Ok',\n clear: 'Tühista',\n month: 'Kuu',\n year: 'Aasta',\n timeSelect: 'Vali aeg',\n dateSelect: 'Vali kuupäev',\n monthSelect: 'Vali kuu',\n yearSelect: 'Vali aasta',\n decadeSelect: 'Vali dekaad',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Eelmine kuu (PageUp)',\n nextMonth: 'Järgmine kuu (PageDown)',\n previousYear: 'Eelmine aasta (Control + left)',\n nextYear: 'Järgmine aasta (Control + right)',\n previousDecade: 'Eelmine dekaad',\n nextDecade: 'Järgmine dekaad',\n previousCentury: 'Eelmine sajand',\n nextCentury: 'Järgmine sajand'\n },\n timePickerLocale: {\n placeholder: 'Vali aeg'\n }\n },\n Table: {\n filterTitle: 'Filtri menüü',\n filterConfirm: 'OK',\n filterReset: 'Nulli',\n selectAll: 'Vali kõik',\n selectInvert: 'Inverteeri valik',\n filterEmptyText: 'Filtreid pole',\n filterCheckall: 'Vali kõik',\n filterSearchPlaceholder: 'Otsi filtritest',\n emptyText: 'Andmed puuduvad',\n selectNone: 'Kustuta kõik andmed',\n selectionAll: 'Vali kõik andmed',\n sortTitle: 'Sorteeri',\n expand: 'Laienda rida',\n collapse: 'Ahenda rida',\n triggerDesc: 'Klõpsa kahanevalt sortimiseks',\n triggerAsc: 'Klõpsa kasvavalt sortimiseks',\n cancelSort: 'Klõpsa sortimise tühistamiseks'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Tühista',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Tühista'\n },\n Transfer: {\n searchPlaceholder: 'Otsi siit',\n itemUnit: 'kogus',\n itemsUnit: 'kogused',\n titles: ['', ''],\n remove: 'Eemalda',\n selectCurrent: 'Vali praegune leht',\n removeCurrent: 'Eemalda praegune leht',\n selectAll: 'Vali kõik',\n removeAll: 'Eemalda kõik andmed',\n selectInvert: 'Inverteeri valik'\n },\n Upload: {\n uploading: 'Üleslaadimine...',\n removeFile: 'Eemalda fail',\n uploadError: 'Üleslaadimise tõrge',\n previewFile: 'Faili eelvaade',\n downloadFile: 'Lae fail alla'\n },\n Empty: {\n description: 'Andmed puuduvad'\n },\n global: {\n placeholder: 'Palun vali'\n },\n Icon: {\n icon: 'ikoon'\n },\n Text: {\n edit: 'Muuda',\n copy: 'Kopeeri',\n copied: 'Kopeeritud',\n expand: 'Laienda'\n },\n PageHeader: {\n back: 'Tagasi'\n },\n Image: {\n preview: 'Eelvaade'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar fa_IR = {\n locale: 'fa',\n Pagination: {\n items_per_page: '/ صفحه',\n jump_to: 'برو به',\n jump_to_confirm: 'تایید',\n page: '',\n prev_page: 'صفحه قبلی',\n next_page: 'صفحه بعدی',\n prev_5: '۵ صفحه قبلی',\n next_5: '۵ صفحه بعدی',\n prev_3: '۳ صفحه قبلی',\n next_3: '۳ صفحه بعدی',\n page_size: 'اندازه صفحه'\n },\n DatePicker: {\n lang: {\n placeholder: 'انتخاب تاریخ',\n yearPlaceholder: 'انتخاب سال',\n quarterPlaceholder: 'انتخاب فصل',\n monthPlaceholder: 'انتخاب ماه',\n weekPlaceholder: 'انتخاب هفته',\n rangePlaceholder: ['تاریخ شروع', 'تاریخ پایان'],\n rangeYearPlaceholder: ['سال شروع', 'سال پایان'],\n rangeMonthPlaceholder: ['ماه شروع', 'ماه پایان'],\n rangeWeekPlaceholder: ['هفته شروع', 'هفته پایان'],\n locale: 'fa_IR',\n today: 'امروز',\n now: 'اکنون',\n backToToday: 'بازگشت به روز',\n ok: 'باشه',\n clear: 'پاک کردن',\n month: 'ماه',\n year: 'سال',\n timeSelect: 'انتخاب زمان',\n dateSelect: 'انتخاب تاریخ',\n weekSelect: 'یک هفته رو انتخاب کنید',\n monthSelect: 'یک ماه را انتخاب کنید',\n yearSelect: 'یک سال را انتخاب کنید',\n decadeSelect: 'یک دهه را انتخاب کنید',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ماه قبل (PageUp)',\n nextMonth: 'ماه بعد (PageDown)',\n previousYear: 'سال قبل (Control + left)',\n nextYear: 'سال بعد (Control + right)',\n previousDecade: 'دهه قبل',\n nextDecade: 'دهه بعد',\n previousCentury: 'قرن قبل',\n nextCentury: 'قرن بعد'\n },\n timePickerLocale: {\n placeholder: 'انتخاب زمان',\n rangePlaceholder: ['زمان شروع', 'زمان پایان']\n }\n },\n TimePicker: {\n placeholder: 'انتخاب زمان',\n rangePlaceholder: ['زمان شروع', 'زمان پایان']\n },\n Calendar: {\n lang: {\n placeholder: 'انتخاب تاریخ',\n yearPlaceholder: 'انتخاب سال',\n quarterPlaceholder: 'انتخاب فصل',\n monthPlaceholder: 'انتخاب ماه',\n weekPlaceholder: 'انتخاب هفته',\n rangePlaceholder: ['تاریخ شروع', 'تاریخ پایان'],\n rangeYearPlaceholder: ['سال شروع', 'سال پایان'],\n rangeMonthPlaceholder: ['ماه شروع', 'ماه پایان'],\n rangeWeekPlaceholder: ['هفته شروع', 'هفته پایان'],\n locale: 'fa_IR',\n today: 'امروز',\n now: 'اکنون',\n backToToday: 'بازگشت به روز',\n ok: 'باشه',\n clear: 'پاک کردن',\n month: 'ماه',\n year: 'سال',\n timeSelect: 'انتخاب زمان',\n dateSelect: 'انتخاب تاریخ',\n weekSelect: 'انتخاب هفته',\n monthSelect: 'یک ماه را انتخاب کنید',\n yearSelect: 'یک سال را انتخاب کنید',\n decadeSelect: 'یک دهه را انتخاب کنید',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ماه قبل (PageUp)',\n nextMonth: 'ماه بعد (PageDown)',\n previousYear: 'سال قبل (Control + left)',\n nextYear: 'سال بعد (Control + right)',\n previousDecade: 'دهه قبل',\n nextDecade: 'دهه بعد',\n previousCentury: 'قرن قبل',\n nextCentury: 'قرن بعد'\n },\n timePickerLocale: {\n placeholder: 'انتخاب زمان',\n rangePlaceholder: ['زمان شروع', 'زمان پایان']\n }\n },\n global: {\n placeholder: 'لطفا انتخاب کنید'\n },\n Table: {\n filterTitle: 'منوی فیلتر',\n filterConfirm: 'تایید',\n filterReset: 'پاک کردن',\n filterEmptyText: 'بدون فیلتر',\n emptyText: 'بدون داده',\n selectAll: 'انتخاب صفحه‌ی کنونی',\n selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی',\n selectionAll: 'انتخاب همه داده‌ها',\n sortTitle: 'مرتب سازی',\n expand: 'باز شدن ردیف',\n collapse: 'بستن ردیف',\n triggerDesc: 'ترتیب نزولی',\n triggerAsc: 'ترتیب صعودی',\n cancelSort: 'لغوِ ترتیبِ داده شده',\n filterCheckall: 'انتخاب همه موارد',\n filterSearchPlaceholder: 'جست‌و‌جو در فیلتر‌ها',\n selectNone: 'انتخاب هیچکدام'\n },\n Modal: {\n okText: 'تایید',\n cancelText: 'لغو',\n justOkText: 'تایید'\n },\n Popconfirm: {\n okText: 'تایید',\n cancelText: 'لغو'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'جستجو',\n itemUnit: 'عدد',\n itemsUnit: 'عدد',\n remove: 'حذف',\n selectCurrent: 'انتخاب صفحه فعلی',\n removeCurrent: 'پاک کردن انتخاب‌های صفحه فعلی',\n selectAll: 'انتخاب همه',\n removeAll: 'پاک کردن همه انتخاب‌ها',\n selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی'\n },\n Upload: {\n uploading: 'در حال آپلود...',\n removeFile: 'حذف فایل',\n uploadError: 'خطا در آپلود',\n previewFile: 'مشاهده‌ی فایل',\n downloadFile: 'دریافت فایل'\n },\n Empty: {\n description: 'داده‌ای موجود نیست'\n },\n Icon: {\n icon: 'آیکن'\n },\n Text: {\n edit: 'ویرایش',\n copy: 'کپی',\n copied: 'کپی شد',\n expand: 'توسعه'\n },\n PageHeader: {\n back: 'برگشت'\n },\n Image: {\n preview: 'نمایش'\n },\n CronExpression: {\n cronError: 'Invalid cron expression',\n second: 'ثانیه',\n minute: 'دقیقه',\n hour: 'ساعت',\n day: 'روز',\n month: 'ماه',\n week: 'هفته'\n },\n QRCode: {\n expired: 'کد QR منقضی شده است',\n refresh: 'تازه کردن'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar fi_FI = {\n locale: 'fi',\n Pagination: {\n items_per_page: '/ sivu',\n jump_to: 'Mene',\n jump_to_confirm: 'Potvrdite',\n page: 'Sivu',\n prev_page: 'Edellinen sivu',\n next_page: 'Seuraava sivu',\n prev_5: 'Edelliset 5 sivua',\n next_5: 'Seuraavat 5 sivua',\n prev_3: 'Edelliset 3 sivua',\n next_3: 'Seuraavat 3 sivua',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Valitse päivä',\n rangePlaceholder: ['Alkamispäivä', 'Päättymispäivä'],\n locale: 'fi_FI',\n today: 'Tänään',\n now: 'Nyt',\n backToToday: 'Tämä päivä',\n ok: 'Ok',\n clear: 'Tyhjennä',\n month: 'Kuukausi',\n year: 'Vuosi',\n timeSelect: 'Valise aika',\n dateSelect: 'Valitse päivä',\n monthSelect: 'Valitse kuukausi',\n yearSelect: 'Valitse vuosi',\n decadeSelect: 'Valitse vuosikymmen',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Edellinen kuukausi (PageUp)',\n nextMonth: 'Seuraava kuukausi (PageDown)',\n previousYear: 'Edellinen vuosi (Control + left)',\n nextYear: 'Seuraava vuosi (Control + right)',\n previousDecade: 'Edellinen vuosikymmen',\n nextDecade: 'Seuraava vuosikymmen',\n previousCentury: 'Edellinen vuosisata',\n nextCentury: 'Seuraava vuosisata'\n },\n timePickerLocale: {\n placeholder: 'Valitse aika'\n }\n },\n TimePicker: {\n placeholder: 'Valitse aika'\n },\n Calendar: {\n lang: {\n placeholder: 'Valitse päivä',\n rangePlaceholder: ['Alkamispäivä', 'Päättymispäivä'],\n locale: 'fi_FI',\n today: 'Tänään',\n now: 'Nyt',\n backToToday: 'Tämä päivä',\n ok: 'Ok',\n clear: 'Tyhjennä',\n month: 'Kuukausi',\n year: 'Vuosi',\n timeSelect: 'Valise aika',\n dateSelect: 'Valitse päivä',\n monthSelect: 'Valitse kuukausi',\n yearSelect: 'Valitse vuosi',\n decadeSelect: 'Valitse vuosikymmen',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Edellinen kuukausi (PageUp)',\n nextMonth: 'Seuraava kuukausi (PageDown)',\n previousYear: 'Edellinen vuosi (Control + left)',\n nextYear: 'Seuraava vuosi (Control + right)',\n previousDecade: 'Edellinen vuosikymmen',\n nextDecade: 'Seuraava vuosikymmen',\n previousCentury: 'Edellinen vuosisata',\n nextCentury: 'Seuraava vuosisata'\n },\n timePickerLocale: {\n placeholder: 'Valitse aika'\n }\n },\n Table: {\n filterTitle: 'Suodatus valikko',\n filterConfirm: 'OK',\n filterReset: 'Tyhjennä',\n selectAll: 'Valitse kaikki',\n selectInvert: 'Valitse päinvastoin',\n sortTitle: 'Lajittele',\n triggerDesc: 'Lajittele laskevasti',\n triggerAsc: 'Lajittele nousevasti',\n cancelSort: 'Peruuta lajittelu'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Peruuta',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Peruuta'\n },\n Transfer: {\n searchPlaceholder: 'Etsi täältä',\n itemUnit: 'kohde',\n itemsUnit: 'kohdetta'\n },\n Upload: {\n uploading: 'Lähetetään...',\n removeFile: 'Poista tiedosto',\n uploadError: 'Virhe lähetyksessä',\n previewFile: 'Esikatsele tiedostoa',\n downloadFile: 'Lataa tiedosto'\n },\n Empty: {\n description: 'Ei kohteita'\n },\n Text: {\n edit: 'Muokkaa',\n copy: 'Kopioi',\n copied: 'Kopioitu',\n expand: 'Näytä lisää'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar fr_BE = {\n locale: 'fr',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: 'Page',\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n page_size: 'taille de la page'\n },\n DatePicker: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_BE',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n weekSelect: 'Choisissez une semaine',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n TimePicker: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n },\n Calendar: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_BE',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n global: {\n placeholder: 'Sélectionner'\n },\n Table: {\n filterTitle: 'Filtrer',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n selectAll: 'Sélectionner la page actuelle',\n selectInvert: 'Inverser la sélection de la page actuelle',\n selectionAll: 'Sélectionner toutes les données',\n sortTitle: 'Trier',\n expand: 'Développer la ligne',\n collapse: 'Réduire la ligne',\n triggerDesc: 'Trier par ordre décroissant',\n triggerAsc: 'Trier par ordre croissant',\n cancelSort: 'Annuler le tri',\n filterEmptyText: 'Aucun filtre',\n emptyText: 'Aucune donnée',\n selectNone: 'Désélectionner toutes les données'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuler',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuler'\n },\n Transfer: {\n searchPlaceholder: 'Rechercher',\n itemUnit: 'élément',\n itemsUnit: 'éléments',\n titles: ['', ''],\n remove: 'Désélectionner',\n selectCurrent: 'Sélectionner la page actuelle',\n removeCurrent: 'Désélectionner la page actuelle',\n selectAll: 'Sélectionner toutes les données',\n removeAll: 'Désélectionner toutes les données',\n selectInvert: 'Inverser la sélection de la page actuelle'\n },\n Empty: {\n description: 'Aucune donnée'\n },\n Upload: {\n uploading: 'Téléchargement...',\n removeFile: 'Effacer le fichier',\n uploadError: 'Erreur de téléchargement',\n previewFile: 'Fichier de prévisualisation',\n downloadFile: 'Télécharger un fichier'\n },\n Text: {\n edit: 'Éditer',\n copy: 'Copier',\n copied: 'Copie effectuée',\n expand: 'Développer'\n },\n PageHeader: {\n back: 'Retour'\n },\n Icon: {\n icon: 'icône'\n },\n Image: {\n preview: 'Aperçu'\n },\n CronExpression: {\n cronError: 'Expression CRON invalide',\n second: 'seconde',\n minute: 'minute',\n hour: 'heure',\n day: 'jour',\n month: 'mois',\n week: 'semaine'\n },\n QRCode: {\n expired: 'QR code expiré',\n refresh: 'Rafraîchir'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar fr_CA = {\n locale: 'fr',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: 'Page',\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n page_size: 'taille de la page'\n },\n DatePicker: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_CA',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n weekSelect: 'Choisissez une semaine',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n TimePicker: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n },\n Calendar: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_CA',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n global: {\n placeholder: 'Sélectionner'\n },\n Table: {\n filterTitle: 'Filtrer',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n selectAll: 'Sélectionner la page actuelle',\n selectInvert: 'Inverser la sélection de la page actuelle',\n selectionAll: 'Sélectionner toutes les données',\n sortTitle: 'Trier',\n expand: 'Développer la ligne',\n collapse: 'Réduire la ligne',\n triggerDesc: 'Trier par ordre décroissant',\n triggerAsc: 'Trier par ordre croissant',\n cancelSort: 'Annuler le tri',\n filterEmptyText: 'Aucun filtre',\n emptyText: 'Aucune donnée',\n selectNone: 'Désélectionner toutes les données'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuler',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuler'\n },\n Transfer: {\n searchPlaceholder: 'Rechercher',\n itemUnit: 'élément',\n itemsUnit: 'éléments',\n titles: ['', ''],\n remove: 'Désélectionner',\n selectCurrent: 'Sélectionner la page actuelle',\n removeCurrent: 'Désélectionner la page actuelle',\n selectAll: 'Sélectionner toutes les données',\n removeAll: 'Désélectionner toutes les données',\n selectInvert: 'Inverser la sélection de la page actuelle'\n },\n Empty: {\n description: 'Aucune donnée'\n },\n Upload: {\n uploading: 'Téléchargement...',\n removeFile: 'Effacer le fichier',\n uploadError: 'Erreur de téléchargement',\n previewFile: 'Fichier de prévisualisation',\n downloadFile: 'Télécharger un fichier'\n },\n Text: {\n edit: 'Éditer',\n copy: 'Copier',\n copied: 'Copie effectuée',\n expand: 'Développer'\n },\n PageHeader: {\n back: 'Retour'\n },\n Icon: {\n icon: 'icône'\n },\n Image: {\n preview: 'Aperçu'\n },\n CronExpression: {\n cronError: 'Expression CRON invalide',\n second: 'seconde',\n minute: 'minute',\n hour: 'heure',\n day: 'jour',\n month: 'mois',\n week: 'semaine'\n },\n QRCode: {\n expired: 'QR code expiré',\n refresh: 'Rafraîchir'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar fr_FR = {\n locale: 'fr',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: 'Page',\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n page_size: 'taille de la page'\n },\n DatePicker: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_FR',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n weekSelect: 'Choisissez une semaine',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n TimePicker: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n },\n Calendar: {\n lang: {\n placeholder: 'Sélectionner une date',\n yearPlaceholder: 'Sélectionner une année',\n quarterPlaceholder: 'Sélectionner un trimestre',\n monthPlaceholder: 'Sélectionner un mois',\n weekPlaceholder: 'Sélectionner une semaine',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n rangeYearPlaceholder: ['Année de début', 'Année de fin'],\n rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],\n rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],\n locale: 'fr_FR',\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant'\n },\n timePickerLocale: {\n placeholder: \"Sélectionner l'heure\",\n rangePlaceholder: ['Heure de début', 'Heure de fin']\n }\n },\n global: {\n placeholder: 'Sélectionner'\n },\n Table: {\n filterTitle: 'Filtrer',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n selectAll: 'Sélectionner la page actuelle',\n selectInvert: 'Inverser la sélection de la page actuelle',\n selectionAll: 'Sélectionner toutes les données',\n sortTitle: 'Trier',\n expand: 'Développer la ligne',\n collapse: 'Réduire la ligne',\n triggerDesc: 'Trier par ordre décroissant',\n triggerAsc: 'Trier par ordre croissant',\n cancelSort: 'Annuler le tri',\n filterEmptyText: 'Aucun filtre',\n emptyText: 'Aucune donnée',\n selectNone: 'Désélectionner toutes les données'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuler',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuler'\n },\n Transfer: {\n searchPlaceholder: 'Rechercher',\n itemUnit: 'élément',\n itemsUnit: 'éléments',\n titles: ['', ''],\n remove: 'Désélectionner',\n selectCurrent: 'Sélectionner la page actuelle',\n removeCurrent: 'Désélectionner la page actuelle',\n selectAll: 'Sélectionner toutes les données',\n removeAll: 'Désélectionner toutes les données',\n selectInvert: 'Inverser la sélection de la page actuelle'\n },\n Empty: {\n description: 'Aucune donnée'\n },\n Upload: {\n uploading: 'Téléchargement...',\n removeFile: 'Effacer le fichier',\n uploadError: 'Erreur de téléchargement',\n previewFile: 'Fichier de prévisualisation',\n downloadFile: 'Télécharger un fichier'\n },\n Text: {\n edit: 'Éditer',\n copy: 'Copier',\n copied: 'Copie effectuée',\n expand: 'Développer'\n },\n PageHeader: {\n back: 'Retour'\n },\n Icon: {\n icon: 'icône'\n },\n Image: {\n preview: 'Aperçu'\n },\n CronExpression: {\n cronError: 'Expression CRON invalide',\n second: 'seconde',\n minute: 'minute',\n hour: 'heure',\n day: 'jour',\n month: 'mois',\n week: 'semaine'\n },\n QRCode: {\n expired: 'QR code expiré',\n refresh: 'Rafraîchir'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ga_IE = {\n locale: 'ga',\n Pagination: {\n items_per_page: '/ leathanach',\n jump_to: 'Téigh',\n jump_to_confirm: 'dheimhnigh',\n page: '',\n prev_page: 'Leathanach Roimhe Seo',\n next_page: 'An chéad leathanach eile',\n prev_5: '5 leathanach roimhe seo',\n next_5: 'Ar Aghaidh 5 Leathanaigh',\n prev_3: '3 leathanach roimhe seo',\n next_3: 'Ar Aghaidh 3 Leathanaigh',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Roghnaigh dáta',\n yearPlaceholder: 'Roghnaigh bliain',\n quarterPlaceholder: 'Roghnaigh ráithe',\n monthPlaceholder: 'Roghnaigh mí',\n weekPlaceholder: 'Roghnaigh seachtain',\n rangePlaceholder: ['Dáta tosaigh', 'Dáta deiridh'],\n rangeYearPlaceholder: ['Tús na bliana', 'Deireadh na bliana'],\n rangeMonthPlaceholder: ['Tosaigh mhí', 'Deireadh mhí'],\n rangeWeekPlaceholder: ['Tosaigh an tseachtain', 'Deireadh na seachtaine'],\n locale: 'ga_IE',\n today: 'inniu',\n now: 'anois',\n backToToday: 'Ar ais inniu',\n ok: 'ceart go leor',\n clear: 'soiléir',\n month: 'mhí',\n year: 'bhliain',\n timeSelect: 'roghnaigh am',\n dateSelect: 'roghnaigh dáta',\n weekSelect: 'Roghnaigh seachtain',\n monthSelect: 'Roghnaigh mí',\n yearSelect: 'Roghnaigh bliain',\n decadeSelect: 'Roghnaigh deich mbliana',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'An mhí roimhe seo (PageUp)',\n nextMonth: 'An mhí seo chugainn (PageDown)',\n previousYear: 'Anuraidh (Control + left)',\n nextYear: 'An bhliain seo chugainn (Control + right)',\n previousDecade: 'Le deich mbliana anuas',\n nextDecade: 'Deich mbliana amach romhainn',\n previousCentury: 'An chéid seo caite',\n nextCentury: 'An chéad aois eile'\n },\n timePickerLocale: {\n placeholder: 'Roghnaigh am',\n rangePlaceholder: ['Am tosaigh', 'Am deiridh']\n }\n },\n TimePicker: {\n placeholder: 'Roghnaigh am',\n rangePlaceholder: ['Am tosaigh', 'Am deiridh']\n },\n Calendar: {\n lang: {\n placeholder: 'Roghnaigh dáta',\n yearPlaceholder: 'Roghnaigh bliain',\n quarterPlaceholder: 'Roghnaigh ráithe',\n monthPlaceholder: 'Roghnaigh mí',\n weekPlaceholder: 'Roghnaigh seachtain',\n rangePlaceholder: ['Dáta tosaigh', 'Dáta deiridh'],\n rangeYearPlaceholder: ['Tús na bliana', 'Deireadh na bliana'],\n rangeMonthPlaceholder: ['Tosaigh mhí', 'Deireadh mhí'],\n rangeWeekPlaceholder: ['Tosaigh an tseachtain', 'Deireadh na seachtaine'],\n locale: 'ga_IE',\n today: 'inniu',\n now: 'anois',\n backToToday: 'Ar ais inniu',\n ok: 'ceart go leor',\n clear: 'soiléir',\n month: 'mhí',\n year: 'bhliain',\n timeSelect: 'roghnaigh am',\n dateSelect: 'roghnaigh dáta',\n weekSelect: 'Roghnaigh seachtain',\n monthSelect: 'Roghnaigh mí',\n yearSelect: 'Roghnaigh bliain',\n decadeSelect: 'Roghnaigh deich mbliana',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'An mhí roimhe seo (PageUp)',\n nextMonth: 'An mhí seo chugainn (PageDown)',\n previousYear: 'Anuraidh (Control + left)',\n nextYear: 'An bhliain seo chugainn (Control + right)',\n previousDecade: 'Le deich mbliana anuas',\n nextDecade: 'Deich mbliana amach romhainn',\n previousCentury: 'An chéid seo caite',\n nextCentury: 'An chéad aois eile'\n },\n timePickerLocale: {\n placeholder: 'Roghnaigh am',\n rangePlaceholder: ['Am tosaigh', 'Am deiridh']\n }\n },\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar gl_ES = {\n locale: 'gl',\n Pagination: {\n items_per_page: '/ páxina',\n jump_to: 'Ir a',\n jump_to_confirm: 'confirmar',\n page: '',\n prev_page: 'Páxina anterior',\n next_page: 'Páxina seguinte',\n prev_5: '5 páxinas previas',\n next_5: '5 páxinas seguintes',\n prev_3: '3 páxinas previas',\n next_3: '3 páxinas seguintes',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Escolla data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n locale: 'gl_ES',\n today: 'Hoxe',\n now: 'Agora',\n backToToday: 'Voltar a hoxe',\n ok: 'Aceptar',\n clear: 'Limpar',\n month: 'Mes',\n year: 'Ano',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Elexir un mes',\n yearSelect: 'Elexir un año',\n decadeSelect: 'Elexir unha década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década seguinte',\n previousCentury: 'Século anterior',\n nextCentury: 'Século seguinte'\n },\n timePickerLocale: {\n placeholder: 'Escolla hora'\n }\n },\n TimePicker: {\n placeholder: 'Escolla hora'\n },\n Calendar: {\n lang: {\n placeholder: 'Escolla data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n locale: 'gl_ES',\n today: 'Hoxe',\n now: 'Agora',\n backToToday: 'Voltar a hoxe',\n ok: 'Aceptar',\n clear: 'Limpar',\n month: 'Mes',\n year: 'Ano',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Elexir un mes',\n yearSelect: 'Elexir un año',\n decadeSelect: 'Elexir unha década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década seguinte',\n previousCentury: 'Século anterior',\n nextCentury: 'Século seguinte'\n },\n timePickerLocale: {\n placeholder: 'Escolla hora'\n }\n },\n global: {\n placeholder: 'Escolla'\n },\n Table: {\n filterTitle: 'Filtrar menú',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar',\n selectAll: 'Seleccionar todo',\n selectInvert: 'Invertir selección',\n sortTitle: 'Ordenar'\n },\n Modal: {\n okText: 'Aceptar',\n cancelText: 'Cancelar',\n justOkText: 'Aceptar'\n },\n Popconfirm: {\n okText: 'Aceptar',\n cancelText: 'Cancelar'\n },\n Transfer: {\n searchPlaceholder: 'Buscar aquí',\n itemUnit: 'elemento',\n itemsUnit: 'elementos'\n },\n Upload: {\n uploading: 'Subindo...',\n removeFile: 'Eliminar arquivo',\n uploadError: 'Error ao subir o arquivo',\n previewFile: 'Vista previa',\n downloadFile: 'Descargar arquivo'\n },\n Empty: {\n description: 'Non hai datos'\n },\n Icon: {\n icon: 'icona'\n },\n Text: {\n edit: 'editar',\n copy: 'copiar',\n copied: 'copiado',\n expand: 'expandir'\n },\n PageHeader: {\n back: 'voltar'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar he_IL = {\n locale: 'he',\n Pagination: {\n items_per_page: '/ עמוד',\n jump_to: 'עבור אל',\n jump_to_confirm: 'אישור',\n page: '',\n prev_page: 'העמוד הקודם',\n next_page: 'העמוד הבא',\n prev_5: '5 עמודים קודמים',\n next_5: '5 עמודים הבאים',\n prev_3: '3 עמודים קודמים',\n next_3: '3 עמודים הבאים',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'בחר תאריך',\n rangePlaceholder: ['תאריך התחלה', 'תאריך סיום'],\n locale: 'he_IL',\n today: 'היום',\n now: 'עכשיו',\n backToToday: 'חזור להיום',\n ok: 'אישור',\n clear: 'איפוס',\n month: 'חודש',\n year: 'שנה',\n timeSelect: 'בחר שעה',\n dateSelect: 'בחר תאריך',\n weekSelect: 'בחר שבוע',\n monthSelect: 'בחר חודש',\n yearSelect: 'בחר שנה',\n decadeSelect: 'בחר עשור',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'חודש קודם (PageUp)',\n nextMonth: 'חודש הבא (PageDown)',\n previousYear: 'שנה שעברה (Control + left)',\n nextYear: 'שנה הבאה (Control + right)',\n previousDecade: 'העשור הקודם',\n nextDecade: 'העשור הבא',\n previousCentury: 'המאה הקודמת',\n nextCentury: 'המאה הבאה'\n },\n timePickerLocale: {\n placeholder: 'בחר שעה'\n }\n },\n TimePicker: {\n placeholder: 'בחר שעה'\n },\n Calendar: {\n lang: {\n placeholder: 'בחר תאריך',\n rangePlaceholder: ['תאריך התחלה', 'תאריך סיום'],\n locale: 'he_IL',\n today: 'היום',\n now: 'עכשיו',\n backToToday: 'חזור להיום',\n ok: 'אישור',\n clear: 'איפוס',\n month: 'חודש',\n year: 'שנה',\n timeSelect: 'בחר שעה',\n dateSelect: 'בחר תאריך',\n weekSelect: 'בחר שבוע',\n monthSelect: 'בחר חודש',\n yearSelect: 'בחר שנה',\n decadeSelect: 'בחר עשור',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'חודש קודם (PageUp)',\n nextMonth: 'חודש הבא (PageDown)',\n previousYear: 'שנה שעברה (Control + left)',\n nextYear: 'שנה הבאה (Control + right)',\n previousDecade: 'העשור הקודם',\n nextDecade: 'העשור הבא',\n previousCentury: 'המאה הקודמת',\n nextCentury: 'המאה הבאה'\n },\n timePickerLocale: {\n placeholder: 'בחר שעה'\n }\n },\n global: {\n placeholder: 'אנא בחר'\n },\n Table: {\n filterTitle: 'תפריט סינון',\n filterConfirm: 'אישור',\n filterReset: 'איפוס',\n selectAll: 'בחר הכל',\n selectInvert: 'הפוך בחירה',\n selectionAll: 'בחר את כל הנתונים',\n sortTitle: 'מיון',\n expand: 'הרחב שורה',\n collapse: 'צמצם שורהw',\n triggerDesc: 'לחץ על מיון לפי סדר יורד',\n triggerAsc: 'לחץ על מיון לפי סדר עולה',\n cancelSort: 'לחץ כדי לבטל את המיון'\n },\n Modal: {\n okText: 'אישור',\n cancelText: 'ביטול',\n justOkText: 'אישור'\n },\n Popconfirm: {\n okText: 'אישור',\n cancelText: 'ביטול'\n },\n Transfer: {\n searchPlaceholder: 'חפש כאן',\n itemUnit: 'פריט',\n itemsUnit: 'פריטים'\n },\n Upload: {\n uploading: 'מעלה...',\n removeFile: 'הסר קובץ',\n uploadError: 'שגיאת העלאה',\n previewFile: 'הצג קובץ',\n downloadFile: 'הורד קובץ'\n },\n Empty: {\n description: 'אין מידע'\n },\n Icon: {\n icon: 'סמל'\n },\n Text: {\n edit: 'ערוך',\n copy: 'העתק',\n copied: 'הועתק',\n expand: 'הרחב'\n },\n PageHeader: {\n back: 'חזרה'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar hi_IN = {\n locale: 'hi',\n Pagination: {\n items_per_page: '/ पृष्ठ',\n jump_to: 'इस पर चलें',\n jump_to_confirm: 'पुष्टि करें',\n page: '',\n prev_page: 'पिछला पृष्ठ',\n next_page: 'अगला पृष्ठ',\n prev_5: 'पिछले 5 पृष्ठ',\n next_5: 'अगले 5 पृष्ठ',\n prev_3: 'पिछले 3 पृष्ठ',\n next_3: 'अगले 3 पेज',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'तारीख़ चुनें',\n rangePlaceholder: ['प्रारंभ तिथि', 'समाप्ति तिथि'],\n locale: 'hi_IN',\n today: 'आज',\n now: 'अभी',\n backToToday: 'आज तक',\n ok: 'ठीक',\n clear: 'स्पष्ट',\n month: 'महीना',\n year: 'साल',\n timeSelect: 'समय का चयन करें',\n dateSelect: 'तारीख़ चुनें',\n weekSelect: 'एक सप्ताह चुनें',\n monthSelect: 'एक महीना चुनें',\n yearSelect: 'एक वर्ष चुनें',\n decadeSelect: 'एक दशक चुनें',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'पिछला महीना (पेजअप)',\n nextMonth: 'अगले महीने (पेजडाउन)',\n previousYear: 'पिछले साल (Ctrl + बाएं)',\n nextYear: 'अगले साल (Ctrl + दाहिना)',\n previousDecade: 'पिछला दशक',\n nextDecade: 'अगले दशक',\n previousCentury: 'पीछ्ली शताब्दी',\n nextCentury: 'अगली सदी',\n yearPlaceholder: 'वर्ष चुनें',\n quarterPlaceholder: 'तिमाही चुनें',\n monthPlaceholder: 'महीना चुनिए',\n weekPlaceholder: 'सप्ताह चुनें',\n rangeYearPlaceholder: ['आरंभिक वर्ष', 'अंत वर्ष'],\n rangeMonthPlaceholder: ['आरंभिक महीना', 'अंत महीना'],\n rangeWeekPlaceholder: ['आरंभिक सप्ताह', 'अंत सप्ताह']\n },\n timePickerLocale: {\n placeholder: 'समय का चयन करें',\n rangePlaceholder: ['आरंभिक समय', 'अंत समय']\n }\n },\n TimePicker: {\n placeholder: 'समय का चयन करें',\n rangePlaceholder: ['आरंभिक समय', 'अंत समय']\n },\n Calendar: {\n lang: {\n placeholder: 'तारीख़ चुनें',\n rangePlaceholder: ['प्रारंभ तिथि', 'समाप्ति तिथि'],\n locale: 'hi_IN',\n today: 'आज',\n now: 'अभी',\n backToToday: 'आज तक',\n ok: 'ठीक',\n clear: 'स्पष्ट',\n month: 'महीना',\n year: 'साल',\n timeSelect: 'समय का चयन करें',\n dateSelect: 'तारीख़ चुनें',\n weekSelect: 'एक सप्ताह चुनें',\n monthSelect: 'एक महीना चुनें',\n yearSelect: 'एक वर्ष चुनें',\n decadeSelect: 'एक दशक चुनें',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'पिछला महीना (पेजअप)',\n nextMonth: 'अगले महीने (पेजडाउन)',\n previousYear: 'पिछले साल (Ctrl + बाएं)',\n nextYear: 'अगले साल (Ctrl + दाहिना)',\n previousDecade: 'पिछला दशक',\n nextDecade: 'अगले दशक',\n previousCentury: 'पीछ्ली शताब्दी',\n nextCentury: 'अगली सदी',\n yearPlaceholder: 'वर्ष चुनें',\n quarterPlaceholder: 'तिमाही चुनें',\n monthPlaceholder: 'महीना चुनिए',\n weekPlaceholder: 'सप्ताह चुनें',\n rangeYearPlaceholder: ['आरंभिक वर्ष', 'अंत वर्ष'],\n rangeMonthPlaceholder: ['आरंभिक महीना', 'अंत महीना'],\n rangeWeekPlaceholder: ['आरंभिक सप्ताह', 'अंत सप्ताह']\n },\n timePickerLocale: {\n placeholder: 'समय का चयन करें',\n rangePlaceholder: ['आरंभिक समय', 'अंत समय']\n }\n },\n global: {\n placeholder: 'कृपया चुनें'\n },\n Table: {\n filterTitle: 'सूची बंद करें',\n filterConfirm: 'अच्छी तरह से',\n filterReset: 'रीसेट',\n emptyText: 'कोई जानकारी नहीं',\n selectAll: 'वर्तमान पृष्ठ का चयन करें',\n selectInvert: 'वर्तमान पृष्ठ घुमाएं',\n sortTitle: 'द्वारा क्रमबद्ध करें',\n filterEmptyText: 'कोई फ़िल्टर नहीं',\n selectNone: 'सभी डेटा साफ़ करें',\n selectionAll: 'सभी डेटा का चयन करें',\n expand: 'पंक्ति का विस्तार करें',\n collapse: 'पंक्ति संक्षिप्त करें',\n triggerDesc: 'अवरोही क्रमित करने के लिए क्लिक करें',\n triggerAsc: 'आरोही क्रमित करने के लिए क्लिक करें',\n cancelSort: 'छँटाई रद्द करने के लिए क्लिक करें'\n },\n Modal: {\n okText: 'अच्छी तरह से',\n cancelText: 'रद्द करना',\n justOkText: 'अच्छी तरह से'\n },\n Popconfirm: {\n okText: 'अच्छी तरह से',\n cancelText: 'रद्द करना'\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'नहीं मिला',\n searchPlaceholder: 'यहां खोजें',\n itemUnit: 'तत्त्व',\n itemsUnit: 'विषय-वस्तु',\n remove: 'हटाए',\n selectCurrent: 'वर्तमान पृष्ठ का चयन करें',\n removeCurrent: 'वर्तमान पृष्ठ हटाएं',\n selectAll: 'सभी डेटा का चयन करें',\n removeAll: 'सभी डेटा हटाएं',\n selectInvert: 'वर्तमान पृष्ठ को उल्टा करें'\n },\n Select: {\n notFoundContent: 'नहीं मिला'\n },\n Upload: {\n uploading: 'अपलोड हो रहा...',\n removeFile: 'फ़ाइल निकालें',\n uploadError: 'अपलोड में त्रुटि',\n previewFile: 'फ़ाइल पूर्वावलोकन',\n downloadFile: 'फ़ाइल डाउनलोड करें'\n },\n Empty: {\n description: 'कोई आकड़ा उपलब्ध नहीं है'\n },\n Icon: {\n icon: 'आइकन'\n },\n Text: {\n edit: 'संपादित करें',\n copy: 'प्रतिलिपि',\n copied: 'कॉपी किया गया',\n expand: 'विस्तार'\n },\n PageHeader: {\n back: 'वापस'\n },\n Image: {\n preview: 'पूर्वावलोकन'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar hr_HR = {\n locale: 'hr',\n Pagination: {\n items_per_page: '/ str',\n jump_to: 'Idi na',\n jump_to_confirm: 'potvrdi',\n page: '',\n prev_page: 'Prijašnja stranica',\n next_page: 'Sljedeća stranica',\n prev_5: 'Prijašnjih 5 stranica',\n next_5: 'Sljedećih 5 stranica',\n prev_3: 'Prijašnje 3 stranice',\n next_3: 'Sljedeće 3 stranice',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Odaberite datum',\n rangePlaceholder: ['Početni datum', 'Završni datum'],\n locale: 'hr_HR',\n today: 'Danas',\n now: 'Sad',\n backToToday: 'Natrag na danas',\n ok: 'Ok',\n clear: 'Očisti',\n month: 'Mjesec',\n year: 'Godina',\n timeSelect: 'odaberite vrijeme',\n dateSelect: 'odaberite datum',\n weekSelect: 'Odaberite tjedan',\n monthSelect: 'Odaberite mjesec',\n yearSelect: 'Odaberite godinu',\n decadeSelect: 'Odaberite desetljeće',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prošli mjesec (PageUp)',\n nextMonth: 'Sljedeći mjesec (PageDown)',\n previousYear: 'Prošla godina (Control + left)',\n nextYear: 'Sljedeća godina (Control + right)',\n previousDecade: 'Prošlo desetljeće',\n nextDecade: 'Sljedeće desetljeće',\n previousCentury: 'Prošlo stoljeće',\n nextCentury: 'Sljedeće stoljeće',\n yearPlaceholder: 'Odaberite godinu',\n quarterPlaceholder: 'Odaberite četvrtinu',\n monthPlaceholder: 'Odaberite mjesec',\n weekPlaceholder: 'Odaberite tjedan',\n rangeYearPlaceholder: ['Početna godina', 'Završna godina'],\n rangeMonthPlaceholder: ['Početni mjesec', 'Završni mjesec'],\n rangeWeekPlaceholder: ['Početni tjedan', 'Završni tjedan']\n },\n timePickerLocale: {\n placeholder: 'Odaberite vrijeme',\n rangePlaceholder: ['Vrijeme početka', 'Vrijeme završetka']\n }\n },\n TimePicker: {\n placeholder: 'Odaberite vrijeme',\n rangePlaceholder: ['Vrijeme početka', 'Vrijeme završetka']\n },\n Calendar: {\n lang: {\n placeholder: 'Odaberite datum',\n rangePlaceholder: ['Početni datum', 'Završni datum'],\n locale: 'hr_HR',\n today: 'Danas',\n now: 'Sad',\n backToToday: 'Natrag na danas',\n ok: 'Ok',\n clear: 'Očisti',\n month: 'Mjesec',\n year: 'Godina',\n timeSelect: 'odaberite vrijeme',\n dateSelect: 'odaberite datum',\n weekSelect: 'Odaberite tjedan',\n monthSelect: 'Odaberite mjesec',\n yearSelect: 'Odaberite godinu',\n decadeSelect: 'Odaberite desetljeće',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prošli mjesec (PageUp)',\n nextMonth: 'Sljedeći mjesec (PageDown)',\n previousYear: 'Prošla godina (Control + left)',\n nextYear: 'Sljedeća godina (Control + right)',\n previousDecade: 'Prošlo desetljeće',\n nextDecade: 'Sljedeće desetljeće',\n previousCentury: 'Prošlo stoljeće',\n nextCentury: 'Sljedeće stoljeće',\n yearPlaceholder: 'Odaberite godinu',\n quarterPlaceholder: 'Odaberite četvrtinu',\n monthPlaceholder: 'Odaberite mjesec',\n weekPlaceholder: 'Odaberite tjedan',\n rangeYearPlaceholder: ['Početna godina', 'Završna godina'],\n rangeMonthPlaceholder: ['Početni mjesec', 'Završni mjesec'],\n rangeWeekPlaceholder: ['Početni tjedan', 'Završni tjedan']\n },\n timePickerLocale: {\n placeholder: 'Odaberite vrijeme',\n rangePlaceholder: ['Vrijeme početka', 'Vrijeme završetka']\n }\n },\n global: {\n placeholder: 'Molimo označite'\n },\n Table: {\n filterTitle: 'Filter meni',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Označi trenutnu stranicu',\n selectInvert: 'Invertiraj trenutnu stranicu',\n sortTitle: 'Sortiraj',\n filterEmptyText: 'Nema filtera',\n emptyText: 'Nema podataka',\n selectionAll: 'Odaberite sve podatke',\n expand: 'Proširi redak',\n collapse: 'Sažmi redak',\n triggerDesc: 'Kliknite za sortiranje silazno',\n triggerAsc: 'Kliknite za sortiranje uzlazno',\n cancelSort: 'Kliknite da biste otkazali sortiranje'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Odustani',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Odustani'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Pretraži ovdje',\n itemUnit: 'stavka',\n itemsUnit: 'stavke',\n remove: 'Ukloniti',\n selectCurrent: 'Odaberite trenutnu stranicu',\n removeCurrent: 'Ukloni trenutnu stranicu',\n selectAll: 'Odaberite sve podatke',\n removeAll: 'Uklonite sve podatke',\n selectInvert: 'Obrni trenutnu stranicu'\n },\n Upload: {\n uploading: 'Upload u tijeku...',\n removeFile: 'Makni datoteku',\n uploadError: 'Greška kod uploada',\n previewFile: 'Pogledaj datoteku',\n downloadFile: 'Preuzmi datoteku'\n },\n Empty: {\n description: 'Nema podataka'\n },\n Icon: {\n icon: 'ikona'\n },\n Text: {\n edit: 'Uredi',\n copy: 'Kopiraj',\n copied: 'Kopiranje uspješno',\n expand: 'Proširi'\n },\n PageHeader: {\n back: 'Natrag'\n },\n Image: {\n preview: 'Pregled'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar hu_HU = {\n locale: 'hu',\n Pagination: {\n items_per_page: '/ oldal',\n jump_to: 'Ugrás',\n jump_to_confirm: 'megerősít',\n page: '',\n prev_page: 'Előző oldal',\n next_page: 'Következő oldal',\n prev_5: 'Előző 5 oldal',\n next_5: 'Következő 5 oldal',\n prev_3: 'Előző 3 oldal',\n next_3: 'Következő 3 oldal',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Válasszon dátumot',\n yearPlaceholder: 'Válasszon évet',\n quarterPlaceholder: 'Válasszon negyedévet',\n monthPlaceholder: 'Válasszon hónapot',\n weekPlaceholder: 'Válasszon hetet',\n rangePlaceholder: ['Kezdő dátum', 'Befejezés dátuma'],\n rangeYearPlaceholder: ['Kezdő év', 'Befejezés éve'],\n rangeMonthPlaceholder: ['Kezdő hónap', 'Befejezés hónapja'],\n rangeWeekPlaceholder: ['Kezdő hét', 'Befejezés hete'],\n locale: 'hu_HU',\n today: 'Ma',\n now: 'Most',\n backToToday: 'Vissza a mai napra',\n ok: 'Ok',\n clear: 'Törlés',\n month: 'Hónap',\n year: 'Év',\n timeSelect: 'Időpont kiválasztása',\n dateSelect: 'Dátum kiválasztása',\n weekSelect: 'Hét kiválasztása',\n monthSelect: 'Hónap kiválasztása',\n yearSelect: 'Év kiválasztása',\n decadeSelect: 'Évtized kiválasztása',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Előző hónap (PageUp)',\n nextMonth: 'Következő hónap (PageDown)',\n previousYear: 'Múlt év (Control + left)',\n nextYear: 'Jövő év (Control + right)',\n previousDecade: 'Előző évtized',\n nextDecade: 'Következő évtized',\n previousCentury: 'Múlt évszázad',\n nextCentury: 'Jövő évszázad'\n },\n timePickerLocale: {\n placeholder: 'Válasszon időt',\n rangePlaceholder: ['Kezdő idő', 'Befejezés ideje']\n }\n },\n TimePicker: {\n placeholder: 'Válasszon időt',\n rangePlaceholder: ['Kezdő idő', 'Befejezés ideje']\n },\n Calendar: {\n lang: {\n placeholder: 'Válasszon dátumot',\n yearPlaceholder: 'Válasszon évet',\n quarterPlaceholder: 'Válasszon negyedévet',\n monthPlaceholder: 'Válasszon hónapot',\n weekPlaceholder: 'Válasszon hetet',\n rangePlaceholder: ['Kezdő dátum', 'Befejezés dátuma'],\n rangeYearPlaceholder: ['Kezdő év', 'Befejezés éve'],\n rangeMonthPlaceholder: ['Kezdő hónap', 'Befejezés hónapja'],\n rangeWeekPlaceholder: ['Kezdő hét', 'Befejezés hete'],\n locale: 'hu_HU',\n today: 'Ma',\n now: 'Most',\n backToToday: 'Vissza a mai napra',\n ok: 'Ok',\n clear: 'Törlés',\n month: 'Hónap',\n year: 'Év',\n timeSelect: 'Időpont kiválasztása',\n dateSelect: 'Dátum kiválasztása',\n weekSelect: 'Hét kiválasztása',\n monthSelect: 'Hónap kiválasztása',\n yearSelect: 'Év kiválasztása',\n decadeSelect: 'Évtized kiválasztása',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Előző hónap (PageUp)',\n nextMonth: 'Következő hónap (PageDown)',\n previousYear: 'Múlt év (Control + left)',\n nextYear: 'Jövő év (Control + right)',\n previousDecade: 'Előző évtized',\n nextDecade: 'Következő évtized',\n previousCentury: 'Múlt évszázad',\n nextCentury: 'Jövő évszázad'\n },\n timePickerLocale: {\n placeholder: 'Válasszon időt',\n rangePlaceholder: ['Kezdő idő', 'Befejezés ideje']\n }\n },\n global: {\n placeholder: 'Kérlek, válassz'\n },\n Table: {\n filterTitle: 'Szűrők',\n filterConfirm: 'Alkalmazás',\n filterReset: 'Visszaállítás',\n filterEmptyText: 'No filters',\n emptyText: 'Nincs adat',\n selectAll: 'Jelenlegi oldal kiválasztása',\n selectInvert: 'Jelenlegi oldal inverze',\n selectionAll: 'Összes adat kiválasztása',\n sortTitle: 'Rendezés',\n expand: 'Sor kinyitása',\n collapse: 'Sor becsukása',\n triggerDesc: 'Kattintson a csökkenő sorrendbe rendezéshez',\n triggerAsc: 'Kattintson a növekvő sorrendbe rendezéshez',\n cancelSort: 'Kattintson a rendezés visszavonásához',\n selectNone: 'Összes visszavonása'\n },\n Modal: {\n okText: 'Alkalmazás',\n cancelText: 'Visszavonás',\n justOkText: 'Alkalmazás'\n },\n Popconfirm: {\n okText: 'Alkalmazás',\n cancelText: 'Visszavonás'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Keresés',\n itemUnit: 'elem',\n itemsUnit: 'elemek',\n remove: 'Eltávolít',\n selectCurrent: 'Jelenlegi oldal kiválasztása',\n removeCurrent: 'Jelenlegi oldal eltávolítása',\n selectAll: 'Összes adat kiválasztása',\n removeAll: 'Összes adat eltávolítása',\n selectInvert: 'Jelenlegi oldal inverze'\n },\n Upload: {\n uploading: 'Feltöltés...',\n removeFile: 'Fájl eltávolítása',\n uploadError: 'Feltöltési hiba',\n previewFile: 'Fájl előnézet',\n downloadFile: 'Fájl letöltése'\n },\n Empty: {\n description: 'Nincs adat'\n },\n Icon: {\n icon: 'ikon'\n },\n Text: {\n edit: 'Szerkesztés',\n copy: 'Másolás',\n copied: 'Másolva',\n expand: 'Kiterjesztés'\n },\n PageHeader: {\n back: 'Vissza'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar hy_AM = {\n locale: 'hy-am',\n Pagination: {\n items_per_page: '/ էջ',\n jump_to: 'Գնալ',\n jump_to_confirm: 'հաստատել',\n page: '',\n prev_page: 'Նախորդ Էջ',\n next_page: 'Հաջորդ Էջ',\n prev_5: 'Նախորդ 5 Էջերը',\n next_5: 'Հաջորդ 5 Էջերը',\n prev_3: 'Նախորդ 3 Էջերը',\n next_3: 'Հաջորդ 3 Էջերը'\n },\n DatePicker: {\n lang: {\n locale: 'hy-am',\n placeholder: 'Ընտրեք ամսաթիվը',\n rangePlaceholder: ['Մեկնարկի ամսաթիվ', 'Ավարտի ամսաթիվը'],\n today: 'Այսօր',\n now: 'Հիմա',\n backToToday: 'Վերադառնալ այսօր',\n ok: 'Օկ',\n clear: 'Մաքրել',\n month: 'Ամիս',\n year: 'Տարի',\n timeSelect: 'ընտրեք ժամը',\n dateSelect: 'ընտրեք ամսաթիվը',\n weekSelect: 'Ընտրեք շաբաթը',\n monthSelect: 'Ընտրեք ամիսը',\n yearSelect: 'Ընտրեք տարին',\n decadeSelect: 'Ընտրեք տասնամյակը',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM//YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM//YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Անցած ամիս (PageUp)',\n nextMonth: 'Մյուս ամիս (PageDown)',\n previousYear: 'Անցած տարի (Control + left)',\n nextYear: 'Մյուս տարի (Control + right)',\n previousDecade: 'Անցած տասնամյակ',\n nextDecade: 'Մյուս տասնամյակ',\n previousCentury: 'Անցած դար',\n nextCentury: 'Մյուս դար'\n },\n timePickerLocale: {\n placeholder: 'Ընտրեք ժամը'\n }\n },\n TimePicker: {\n placeholder: 'Ընտրեք ժամը'\n },\n Calendar: {\n lang: {\n locale: 'hy-am',\n placeholder: 'Ընտրեք ամսաթիվը',\n rangePlaceholder: ['Մեկնարկի ամսաթիվ', 'Ավարտի ամսաթիվը'],\n today: 'Այսօր',\n now: 'Հիմա',\n backToToday: 'Վերադառնալ այսօր',\n ok: 'Օկ',\n clear: 'Մաքրել',\n month: 'Ամիս',\n year: 'Տարի',\n timeSelect: 'ընտրեք ժամը',\n dateSelect: 'ընտրեք ամսաթիվը',\n weekSelect: 'Ընտրեք շաբաթը',\n monthSelect: 'Ընտրեք ամիսը',\n yearSelect: 'Ընտրեք տարին',\n decadeSelect: 'Ընտրեք տասնամյակը',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM//YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM//YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Անցած ամիս (PageUp)',\n nextMonth: 'Մյուս ամիս (PageDown)',\n previousYear: 'Անցած տարի (Control + left)',\n nextYear: 'Մյուս տարի (Control + right)',\n previousDecade: 'Անցած տասնամյակ',\n nextDecade: 'Մյուս տասնամյակ',\n previousCentury: 'Անցած դար',\n nextCentury: 'Մյուս դար'\n },\n timePickerLocale: {\n placeholder: 'Ընտրեք ժամը'\n }\n },\n global: {\n placeholder: 'Ընտրեք'\n },\n Table: {\n filterTitle: 'ֆիլտրի ընտրացանկ',\n filterConfirm: 'ֆիլտրել',\n filterReset: 'Զրոյացնել',\n selectAll: 'Ընտրեք ընթացիկ էջը',\n selectInvert: 'Փոխարկել ընթացիկ էջը',\n sortTitle: 'Տեսակավորել',\n expand: 'Ընդլայնեք տողը',\n collapse: 'Կրճատել տողը'\n },\n Modal: {\n okText: 'Օկ',\n cancelText: 'Չեղարկել',\n justOkText: 'Օկ'\n },\n Popconfirm: {\n okText: 'Հաստատել',\n cancelText: 'Մերժել'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Որոնեք այստեղ',\n itemUnit: 'պարագան',\n itemsUnit: 'պարագաները'\n },\n Upload: {\n uploading: 'Ներբեռնում...',\n removeFile: 'Հեռացնել ֆայլը',\n uploadError: 'Ներբեռնման սխալ',\n previewFile: 'Դիտել ֆայլը',\n downloadFile: 'Ներբեռնել ֆայլը'\n },\n Empty: {\n description: 'Տվյալներ չկան'\n },\n Icon: {\n icon: 'պատկեր'\n },\n Text: {\n edit: 'Խմբագրել',\n copy: 'Պատճենել',\n copied: 'Պատճենվել է',\n expand: 'Տեսնել ավելին'\n },\n PageHeader: {\n back: 'Հետ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar id_ID = {\n locale: 'id',\n Pagination: {\n items_per_page: '/ halaman',\n jump_to: 'Menuju',\n jump_to_confirm: 'konfirmasi',\n page: 'Halaman',\n prev_page: 'Halaman Sebelumnya',\n next_page: 'Halaman Berikutnya',\n prev_5: '5 Halaman Sebelumnya',\n next_5: '5 Halaman Berikutnya',\n prev_3: '3 Halaman Sebelumnya',\n next_3: '3 Halaman Berikutnya',\n page_size: 'ukuran halaman'\n },\n DatePicker: {\n lang: {\n placeholder: 'Pilih tanggal',\n rangePlaceholder: ['Mulai tanggal', 'Tanggal akhir'],\n locale: 'id_ID',\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Baik',\n clear: 'Bersih',\n month: 'Bulan',\n year: 'Tahun',\n timeSelect: 'pilih waktu',\n dateSelect: 'pilih tanggal',\n weekSelect: 'Pilih satu minggu',\n monthSelect: 'Pilih satu bulan',\n yearSelect: 'Pilih satu tahun',\n decadeSelect: 'Pilih satu dekade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Bulan sebelumnya (PageUp)',\n nextMonth: 'Bulan selanjutnya (PageDown)',\n previousYear: 'Tahun lalu (Control + kiri)',\n nextYear: 'Tahun selanjutnya (Kontrol + kanan)',\n previousDecade: 'Dekade terakhir',\n nextDecade: 'Dekade berikutnya',\n previousCentury: 'Abad terakhir',\n nextCentury: 'Abad berikutnya'\n },\n timePickerLocale: {\n placeholder: 'Pilih waktu'\n }\n },\n TimePicker: {\n placeholder: 'Pilih waktu'\n },\n Calendar: {\n lang: {\n placeholder: 'Pilih tanggal',\n rangePlaceholder: ['Mulai tanggal', 'Tanggal akhir'],\n locale: 'id_ID',\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Baik',\n clear: 'Bersih',\n month: 'Bulan',\n year: 'Tahun',\n timeSelect: 'pilih waktu',\n dateSelect: 'pilih tanggal',\n weekSelect: 'Pilih satu minggu',\n monthSelect: 'Pilih satu bulan',\n yearSelect: 'Pilih satu tahun',\n decadeSelect: 'Pilih satu dekade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Bulan sebelumnya (PageUp)',\n nextMonth: 'Bulan selanjutnya (PageDown)',\n previousYear: 'Tahun lalu (Control + kiri)',\n nextYear: 'Tahun selanjutnya (Kontrol + kanan)',\n previousDecade: 'Dekade terakhir',\n nextDecade: 'Dekade berikutnya',\n previousCentury: 'Abad terakhir',\n nextCentury: 'Abad berikutnya'\n },\n timePickerLocale: {\n placeholder: 'Pilih waktu'\n }\n },\n Table: {\n filterTitle: 'Saring',\n filterConfirm: 'OK',\n filterReset: 'Hapus',\n selectAll: 'Pilih semua di halaman ini',\n selectInvert: 'Balikkan pilihan di halaman ini',\n sortTitle: 'Urutkan'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Batal',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Batal'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Cari',\n itemUnit: 'item',\n itemsUnit: 'item'\n },\n Upload: {\n uploading: 'Mengunggah...',\n removeFile: 'Hapus file',\n uploadError: 'Kesalahan pengunggahan',\n previewFile: 'File pratinjau',\n downloadFile: 'Unduh berkas'\n },\n Empty: {\n description: 'Tidak ada data'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar is_IS = {\n locale: 'is',\n Pagination: {\n items_per_page: '/ síðu',\n jump_to: 'Síða',\n jump_to_confirm: 'staðfest',\n page: '',\n prev_page: 'Fyrri síða',\n next_page: 'Næsta síða',\n prev_5: 'Til baka 5 síður',\n next_5: 'Áfram 5 síður',\n prev_3: 'Til baka 3 síður',\n next_3: 'Áfram 3 síður',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Veldu dag',\n rangePlaceholder: ['Upphafsdagur', 'Lokadagur'],\n locale: 'is_IS',\n today: 'Í dag',\n now: 'Núna',\n backToToday: 'Til baka til dagsins í dag',\n ok: 'Í lagi',\n clear: 'Hreinsa',\n month: 'Mánuður',\n year: 'Ár',\n timeSelect: 'Velja tíma',\n dateSelect: 'Velja dag',\n monthSelect: 'Velja mánuð',\n yearSelect: 'Velja ár',\n decadeSelect: 'Velja áratug',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Fyrri mánuður (PageUp)',\n nextMonth: 'Næsti mánuður (PageDown)',\n previousYear: 'Fyrra ár (Control + left)',\n nextYear: 'Næsta ár (Control + right)',\n previousDecade: 'Fyrri áratugur',\n nextDecade: 'Næsti áratugur',\n previousCentury: 'Fyrri öld',\n nextCentury: 'Næsta öld'\n },\n timePickerLocale: {\n placeholder: 'Velja tíma'\n }\n },\n TimePicker: {\n placeholder: 'Velja tíma'\n },\n Calendar: {\n lang: {\n placeholder: 'Veldu dag',\n rangePlaceholder: ['Upphafsdagur', 'Lokadagur'],\n locale: 'is_IS',\n today: 'Í dag',\n now: 'Núna',\n backToToday: 'Til baka til dagsins í dag',\n ok: 'Í lagi',\n clear: 'Hreinsa',\n month: 'Mánuður',\n year: 'Ár',\n timeSelect: 'Velja tíma',\n dateSelect: 'Velja dag',\n monthSelect: 'Velja mánuð',\n yearSelect: 'Velja ár',\n decadeSelect: 'Velja áratug',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Fyrri mánuður (PageUp)',\n nextMonth: 'Næsti mánuður (PageDown)',\n previousYear: 'Fyrra ár (Control + left)',\n nextYear: 'Næsta ár (Control + right)',\n previousDecade: 'Fyrri áratugur',\n nextDecade: 'Næsti áratugur',\n previousCentury: 'Fyrri öld',\n nextCentury: 'Næsta öld'\n },\n timePickerLocale: {\n placeholder: 'Velja tíma'\n }\n },\n Table: {\n filterTitle: 'Afmarkanir',\n filterConfirm: 'Staðfesta',\n filterReset: 'Núllstilla',\n selectAll: 'Velja allt',\n selectInvert: 'Viðsnúa vali'\n },\n Modal: {\n okText: 'Áfram',\n cancelText: 'Hætta við',\n justOkText: 'Í lagi'\n },\n Popconfirm: {\n okText: 'Áfram',\n cancelText: 'Hætta við'\n },\n Transfer: {\n searchPlaceholder: 'Leita hér',\n itemUnit: 'færsla',\n itemsUnit: 'færslur'\n },\n Upload: {\n uploading: 'Hleð upp...',\n removeFile: 'Fjarlægja skrá',\n uploadError: 'Villa við að hlaða upp',\n previewFile: 'Forskoða skrá',\n downloadFile: 'Hlaða niður skrá'\n },\n Empty: {\n description: 'Engin gögn'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar it_IT = {\n locale: 'it',\n Pagination: {\n items_per_page: '/ pagina',\n jump_to: 'vai a',\n jump_to_confirm: 'Conferma',\n page: 'Pagina',\n prev_page: 'Pagina precedente',\n next_page: 'Pagina successiva',\n prev_5: 'Precedente 5 pagine',\n next_5: 'Prossime 5 pagine',\n prev_3: 'Precedente 3 pagine',\n next_3: 'Prossime 3 pagine',\n page_size: 'dimensioni della pagina'\n },\n DatePicker: {\n lang: {\n placeholder: 'Selezionare la data',\n yearPlaceholder: \"Selezionare l'anno\",\n quarterPlaceholder: 'Selezionare il trimestre',\n monthPlaceholder: 'Selezionare il mese',\n weekPlaceholder: 'Selezionare la settimana',\n rangePlaceholder: [\"Data d'inizio\", 'Data di fine'],\n rangeYearPlaceholder: [\"Anno d'inizio\", 'Anno di fine'],\n rangeMonthPlaceholder: [\"Mese d'inizio \", 'Mese di fine'],\n rangeWeekPlaceholder: [\"Settimana d'inizio\", 'Settimana di fine'],\n locale: 'it_IT',\n today: 'Oggi',\n now: 'Adesso',\n backToToday: 'Torna ad oggi',\n ok: 'Ok',\n clear: 'Cancella',\n month: 'Mese',\n year: 'Anno',\n timeSelect: \"Seleziona l'ora\",\n dateSelect: 'Seleziona la data',\n weekSelect: 'Seleziona la settimana',\n monthSelect: 'Seleziona il mese',\n yearSelect: \"Seleziona l'anno\",\n decadeSelect: 'Seleziona il decennio',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Il mese scorso (PageUp)',\n nextMonth: 'Il prossimo mese (PageDown)',\n previousYear: \"L'anno scorso (Control + sinistra)\",\n nextYear: \"L'anno prossimo (Control + destra)\",\n previousDecade: 'Ultimo decennio',\n nextDecade: 'Prossimo decennio',\n previousCentury: 'Secolo precedente',\n nextCentury: 'Prossimo secolo'\n },\n timePickerLocale: {\n placeholder: \"Selezionare l'orario\",\n rangePlaceholder: [\"Ora d'inizio\", 'Ora di fine']\n }\n },\n TimePicker: {\n placeholder: \"Selezionare l'orario\",\n rangePlaceholder: [\"Ora d'inizio\", 'Ora di fine']\n },\n Calendar: {\n lang: {\n placeholder: 'Selezionare la data',\n yearPlaceholder: \"Selezionare l'anno\",\n quarterPlaceholder: 'Selezionare il trimestre',\n monthPlaceholder: 'Selezionare il mese',\n weekPlaceholder: 'Selezionare la settimana',\n rangePlaceholder: [\"Data d'inizio\", 'Data di fine'],\n rangeYearPlaceholder: [\"Anno d'inizio\", 'Anno di fine'],\n rangeMonthPlaceholder: [\"Mese d'inizio \", 'Mese di fine'],\n rangeWeekPlaceholder: [\"Settimana d'inizio\", 'Settimana di fine'],\n locale: 'it_IT',\n today: 'Oggi',\n now: 'Adesso',\n backToToday: 'Torna ad oggi',\n ok: 'Ok',\n clear: 'Cancella',\n month: 'Mese',\n year: 'Anno',\n timeSelect: \"Seleziona l'ora\",\n weekSelect: 'Seleziona la settimana',\n dateSelect: 'Seleziona la data',\n monthSelect: 'Seleziona il mese',\n yearSelect: \"Seleziona l'anno\",\n decadeSelect: 'Seleziona il decennio',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Il mese scorso (PageUp)',\n nextMonth: 'Il prossimo mese (PageDown)',\n previousYear: \"L'anno scorso (Control + sinistra)\",\n nextYear: \"L'anno prossimo (Control + destra)\",\n previousDecade: 'Ultimo decennio',\n nextDecade: 'Prossimo decennio',\n previousCentury: 'Secolo precedente',\n nextCentury: 'Prossimo secolo'\n },\n timePickerLocale: {\n placeholder: \"Selezionare l'orario\",\n rangePlaceholder: [\"Ora d'inizio\", 'Ora di fine']\n }\n },\n global: {\n placeholder: 'Selezionare'\n },\n Table: {\n filterTitle: 'Menù Filtro',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'Nessun filtro',\n emptyText: 'Nessun dato',\n selectAll: 'Seleziona pagina corrente',\n selectInvert: 'Inverti selezione nella pagina corrente',\n selectionAll: 'Seleziona tutti i dati',\n sortTitle: 'Ordina',\n expand: 'Esapandi riga',\n collapse: 'Chiudi riga',\n triggerDesc: 'Clicca per ordinare in modo discendente',\n triggerAsc: 'Clicca per ordinare in modo ascendente',\n cancelSort: 'Clicca per eliminare i filtri',\n filterCheckall: 'Seleziona tutto',\n filterSearchPlaceholder: 'Cerca nei filtri',\n selectNone: 'Pulisci tutti i dati'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annulla',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annulla'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Cerca qui',\n itemUnit: 'elemento',\n itemsUnit: 'elementi',\n remove: 'Rimuovi',\n selectCurrent: 'Seleziona pagina corrente',\n removeCurrent: 'Rimuovi pagina corrente',\n selectAll: 'Selezione tutti i dati',\n removeAll: 'Rimuovi tutti i dati',\n selectInvert: 'Inverti selezione nella pagina corrente'\n },\n Upload: {\n uploading: 'Caricamento...',\n removeFile: 'Rimuovi il file',\n uploadError: 'Errore di caricamento',\n previewFile: 'Anteprima file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'Nessun dato'\n },\n Icon: {\n icon: 'icona'\n },\n Text: {\n edit: 'modifica',\n copy: 'copia',\n copied: 'copia effettuata',\n expand: 'espandi'\n },\n PageHeader: {\n back: 'Indietro'\n },\n Image: {\n preview: 'Anteprima'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ja_JP = {\n locale: 'ja',\n Pagination: {\n items_per_page: '件 / ページ',\n jump_to: '移動',\n jump_to_confirm: '確認する',\n page: 'ページ',\n prev_page: '前のページ',\n next_page: '次のページ',\n prev_5: '前 5ページ',\n next_5: '次 5ページ',\n prev_3: '前 3ページ',\n next_3: '次 3ページ',\n page_size: 'ページサイズ'\n },\n DatePicker: {\n lang: {\n placeholder: '日付を選択',\n rangePlaceholder: ['開始日付', '終了日付'],\n locale: 'ja_JP',\n today: '今日',\n now: '現在時刻',\n backToToday: '今日に戻る',\n ok: '決定',\n timeSelect: '時間を選択',\n dateSelect: '日時を選択',\n weekSelect: '週を選択',\n clear: 'クリア',\n month: '月',\n year: '年',\n previousMonth: '前月 (ページアップキー)',\n nextMonth: '翌月 (ページダウンキー)',\n monthSelect: '月を選択',\n yearSelect: '年を選択',\n decadeSelect: '年代を選択',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '前年 (Controlを押しながら左キー)',\n nextYear: '翌年 (Controlを押しながら右キー)',\n previousDecade: '前の年代',\n nextDecade: '次の年代',\n previousCentury: '前の世紀',\n nextCentury: '次の世紀'\n },\n timePickerLocale: {\n placeholder: '時間を選択',\n rangePlaceholder: ['開始時間', '終了時間']\n }\n },\n TimePicker: {\n placeholder: '時間を選択',\n rangePlaceholder: ['開始時間', '終了時間']\n },\n Calendar: {\n lang: {\n placeholder: '日付を選択',\n rangePlaceholder: ['開始日付', '終了日付'],\n locale: 'ja_JP',\n today: '今日',\n now: '現在時刻',\n backToToday: '今日に戻る',\n ok: '決定',\n timeSelect: '時間を選択',\n dateSelect: '日時を選択',\n weekSelect: '週を選択',\n clear: 'クリア',\n month: '月',\n year: '年',\n previousMonth: '前月 (ページアップキー)',\n nextMonth: '翌月 (ページダウンキー)',\n monthSelect: '月を選択',\n yearSelect: '年を選択',\n decadeSelect: '年代を選択',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '前年 (Controlを押しながら左キー)',\n nextYear: '翌年 (Controlを押しながら右キー)',\n previousDecade: '前の年代',\n nextDecade: '次の年代',\n previousCentury: '前の世紀',\n nextCentury: '次の世紀'\n },\n timePickerLocale: {\n placeholder: '時間を選択',\n rangePlaceholder: ['開始時間', '終了時間']\n }\n },\n Table: {\n filterTitle: 'フィルター',\n filterConfirm: 'OK',\n filterReset: 'リセット',\n filterEmptyText: 'フィルターなし',\n selectAll: 'ページ単位で選択',\n selectInvert: 'ページ単位で反転',\n selectionAll: 'すべてを選択',\n sortTitle: 'ソート',\n expand: '展開する',\n collapse: '折り畳む',\n triggerDesc: 'クリックで降順にソート',\n triggerAsc: 'クリックで昇順にソート',\n cancelSort: 'ソートをキャンセル'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'キャンセル',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'キャンセル'\n },\n Transfer: {\n searchPlaceholder: 'ここを検索',\n itemUnit: 'アイテム',\n itemsUnit: 'アイテム'\n },\n Upload: {\n uploading: 'アップロード中...',\n removeFile: 'ファイルを削除',\n uploadError: 'アップロードエラー',\n previewFile: 'ファイルをプレビュー',\n downloadFile: 'ダウンロードファイル'\n },\n Empty: {\n description: 'データがありません'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ka_GE = {\n locale: 'ka',\n Pagination: {\n items_per_page: '/ გვერდი.',\n jump_to: 'გადასვლა',\n jump_to_confirm: 'დადასტურება',\n page: '',\n prev_page: 'წინა გვერდი',\n next_page: 'შემდეგი გვერდი',\n prev_5: 'წინა 5 გვერდი',\n next_5: 'შემდეგი 5 გვერდი',\n prev_3: 'წინა 3 გვერდი',\n next_3: 'შემდეგი 3 გვერდი',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'აირჩიეთ თარიღი',\n yearPlaceholder: 'აირჩიეთ წელი',\n quarterPlaceholder: 'აირჩიეთ მეოთხედი',\n monthPlaceholder: 'აირჩიეთ თვე',\n weekPlaceholder: 'აირჩიეთ კვირა',\n rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი'],\n rangeYearPlaceholder: ['საწყისი წელი', 'საბოლოო წელი'],\n rangeMonthPlaceholder: ['საწყისი თვე', 'საბოლოო თვე'],\n rangeWeekPlaceholder: ['საწყისი კვირა', 'საბოლოო კვირა'],\n locale: 'ka_GE',\n today: 'დღეს',\n now: 'ახლა',\n backToToday: 'მიმდინარე თარიღი',\n ok: 'Ok',\n clear: 'გასუფთავება',\n month: 'თვე',\n year: 'წელი',\n timeSelect: 'დროის არჩევა',\n dateSelect: 'თარიღის არჩევა',\n weekSelect: 'კვირის არჩევა',\n monthSelect: 'თვის არჩევა',\n yearSelect: 'წლის არჩევა',\n decadeSelect: 'ათწლეულის არჩევა',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'წინა თვე (PageUp)',\n nextMonth: 'მომდევნო თვე (PageDown)',\n previousYear: 'წინა წელი (Control + left)',\n nextYear: 'მომდევნო წელი (Control + right)',\n previousDecade: 'წინა ათწლეული',\n nextDecade: 'მომდევნო ათწლეული',\n previousCentury: 'გასული საუკუნე',\n nextCentury: 'მომდევნო საუკუნე'\n },\n timePickerLocale: {\n placeholder: 'აირჩიეთ დრო',\n rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი']\n }\n },\n TimePicker: {\n placeholder: 'აირჩიეთ დრო',\n rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი']\n },\n Calendar: {\n lang: {\n placeholder: 'აირჩიეთ თარიღი',\n yearPlaceholder: 'აირჩიეთ წელი',\n quarterPlaceholder: 'აირჩიეთ მეოთხედი',\n monthPlaceholder: 'აირჩიეთ თვე',\n weekPlaceholder: 'აირჩიეთ კვირა',\n rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი'],\n rangeYearPlaceholder: ['საწყისი წელი', 'საბოლოო წელი'],\n rangeMonthPlaceholder: ['საწყისი თვე', 'საბოლოო თვე'],\n rangeWeekPlaceholder: ['საწყისი კვირა', 'საბოლოო კვირა'],\n locale: 'ka_GE',\n today: 'დღეს',\n now: 'ახლა',\n backToToday: 'მიმდინარე თარიღი',\n ok: 'Ok',\n clear: 'გასუფთავება',\n month: 'თვე',\n year: 'წელი',\n timeSelect: 'დროის არჩევა',\n dateSelect: 'თარიღის არჩევა',\n weekSelect: 'კვირის არჩევა',\n monthSelect: 'თვის არჩევა',\n yearSelect: 'წლის არჩევა',\n decadeSelect: 'ათწლეულის არჩევა',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'წინა თვე (PageUp)',\n nextMonth: 'მომდევნო თვე (PageDown)',\n previousYear: 'წინა წელი (Control + left)',\n nextYear: 'მომდევნო წელი (Control + right)',\n previousDecade: 'წინა ათწლეული',\n nextDecade: 'მომდევნო ათწლეული',\n previousCentury: 'გასული საუკუნე',\n nextCentury: 'მომდევნო საუკუნე'\n },\n timePickerLocale: {\n placeholder: 'აირჩიეთ დრო',\n rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი']\n }\n },\n global: {\n placeholder: 'გთხოვთ აირჩიოთ'\n },\n Table: {\n filterTitle: 'ფილტრის მენიუ',\n filterConfirm: 'კარგი',\n filterReset: 'გასუფთავება',\n filterEmptyText: 'ფილტრები არაა',\n emptyText: 'ინფორმაცია არაა',\n selectAll: 'აირჩიეთ მიმდინარე გვერდი',\n selectInvert: 'შეაბრუნეთ მიმდინარე გვერდი',\n selectionAll: 'ყველას მონიშვნა',\n sortTitle: 'დალაგება',\n expand: 'სტრიქონის გაშლა',\n collapse: 'სტრიქონის შეკუმშვა',\n triggerDesc: 'დაღმავალი დალაგება',\n triggerAsc: 'აღმავალი დალაგება',\n cancelSort: 'დალაგების გაუქმება',\n selectNone: 'მონაცემების გასუფთავება'\n },\n Modal: {\n okText: 'კარგი',\n cancelText: 'გაუქმება',\n justOkText: 'ოკ'\n },\n Popconfirm: {\n okText: 'კარგი',\n cancelText: 'გაუქმება'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'მოძებნე აქ',\n itemUnit: 'ერთეული',\n itemsUnit: 'ერთეულები',\n remove: 'ამოშლა',\n selectCurrent: 'მიმდინარე გვერდის არჩევა',\n removeCurrent: 'მიმდინარე გვერდის ამოშლა',\n selectAll: 'ყველას მონიშვნა',\n removeAll: 'ყველას წაშლა',\n selectInvert: 'მიმდინარე გვერდის შებრუნება'\n },\n Upload: {\n uploading: 'იტვირთება...',\n removeFile: 'ფაილის ამოშლა',\n uploadError: 'ატვირთვის შეცდომა',\n previewFile: 'ფაილის გადახედვა',\n downloadFile: 'ფაილის ჩამოტვირთვა'\n },\n Empty: {\n description: 'ინფორმაცია არაა'\n },\n Icon: {\n icon: 'ხატულა'\n },\n Text: {\n edit: 'რედაქტირება',\n copy: 'ასლი',\n copied: 'ასლი აღებულია',\n expand: 'გაშლა'\n },\n PageHeader: {\n back: 'უკან'\n },\n Image: {\n preview: 'გადახედვა'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar km_KH = {\n locale: 'km',\n Pagination: {\n items_per_page: '/ ទំព័រ',\n jump_to: 'លោត​ទៅ',\n jump_to_confirm: 'បញ្ជាក់',\n page: 'ទំព័រ',\n prev_page: 'ទំព័រ​មុន',\n next_page: 'ទំព័រ​​បន្ទាប់',\n prev_5: '៥ ទំព័រថយក្រោយ',\n next_5: '៥ ទំព័រទៅមុខ',\n prev_3: '៣ ទំព័រថយក្រោយ',\n next_3: '៣ ទំព័រទៅមុខ',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'រើសថ្ងៃ',\n yearPlaceholder: 'រើសឆ្នាំ',\n quarterPlaceholder: 'រើសត្រីមាស',\n monthPlaceholder: 'រើសខែ',\n weekPlaceholder: 'រើសសប្តាហ៍',\n rangePlaceholder: ['ថ្ងៃចាប់ផ្ដើម', 'ថ្ងៃបញ្ចប់'],\n rangeYearPlaceholder: ['ឆ្នាំចាប់ផ្ដើម', 'ឆ្នាំបញ្ចប់'],\n rangeMonthPlaceholder: ['ខែចាប់ផ្ដើម', 'ខែបញ្ចប់'],\n rangeWeekPlaceholder: ['សប្ដាហ៍ចាប់ផ្ដើម', 'សប្ដាហ៍បញ្ចប់'],\n locale: 'km',\n today: 'ថ្ងៃនេះ',\n now: 'ឥឡូវ​នេះ',\n backToToday: 'ត្រលប់ទៅថ្ងៃនេះ',\n ok: 'កំណត់',\n timeSelect: 'រយៈពេលជ្រើសរើស',\n dateSelect: 'ជ្រើសរើសកាលបរិច្ឆេទ',\n weekSelect: 'ជ្រើសរើសសប្តាហ៍',\n clear: 'ច្បាស់',\n month: 'ខែ',\n year: 'ឆ្នាំ',\n previousMonth: 'ខែមុន (ឡើងទំព័រ)',\n nextMonth: 'ខែបន្ទាប់ (ប៊ូតុងចុះទំព័រ)',\n monthSelect: 'ជ្រើសរើសខែ',\n yearSelect: 'ជ្រើសរើសឆ្នាំ',\n decadeSelect: 'ជ្រើសរើសអាយុ',\n yearFormat: 'YYYY',\n dayFormat: 'D',\n dateFormat: 'YYYY-M-D',\n dateTimeFormat: 'YYYY-M-D HH:mm:ss',\n previousYear: 'ឆ្នាំមុន (Controlគ្រាប់ចុចបូកព្រួញខាងឆ្វេង)',\n nextYear: 'ឆ្នាំក្រោយ (Control គ្រាប់ចុចបូកព្រួញស្ដាំ)',\n previousDecade: 'ជំនាន់ចុងក្រោយ',\n nextDecade: 'ជំនាន់​ក្រោយ',\n previousCentury: 'សតវត្សចុងក្រោយ',\n nextCentury: 'សតវត្សរ៍បន្ទាប់',\n monthBeforeYear: true\n },\n timePickerLocale: {\n placeholder: 'រើសម៉ោង',\n rangePlaceholder: ['ម៉ោងចប់ផ្ដើម', 'ម៉ោងបញ្ចប់']\n }\n },\n TimePicker: {\n placeholder: 'រើសម៉ោង',\n rangePlaceholder: ['ម៉ោងចប់ផ្ដើម', 'ម៉ោងបញ្ចប់']\n },\n Calendar: {\n lang: {\n placeholder: 'រើសថ្ងៃ',\n yearPlaceholder: 'រើសឆ្នាំ',\n quarterPlaceholder: 'រើសត្រីមាស',\n monthPlaceholder: 'រើសខែ',\n weekPlaceholder: 'រើសសប្តាហ៍',\n rangePlaceholder: ['ថ្ងៃចាប់ផ្ដើម', 'ថ្ងៃបញ្ចប់'],\n rangeYearPlaceholder: ['ឆ្នាំចាប់ផ្ដើម', 'ឆ្នាំបញ្ចប់'],\n rangeMonthPlaceholder: ['ខែចាប់ផ្ដើម', 'ខែបញ្ចប់'],\n rangeWeekPlaceholder: ['សប្ដាហ៍ចាប់ផ្ដើម', 'សប្ដាហ៍បញ្ចប់'],\n locale: 'km',\n today: 'ថ្ងៃនេះ',\n now: 'ឥឡូវ​នេះ',\n backToToday: 'ត្រលប់ទៅថ្ងៃនេះ',\n ok: 'កំណត់',\n timeSelect: 'រយៈពេលជ្រើសរើស',\n dateSelect: 'ជ្រើសរើសកាលបរិច្ឆេទ',\n weekSelect: 'ជ្រើសរើសសប្តាហ៍',\n clear: 'ច្បាស់',\n month: 'ខែ',\n year: 'ឆ្នាំ',\n previousMonth: 'ខែមុន (ឡើងទំព័រ)',\n nextMonth: 'ខែបន្ទាប់ (ប៊ូតុងចុះទំព័រ)',\n monthSelect: 'ជ្រើសរើសខែ',\n yearSelect: 'ជ្រើសរើសឆ្នាំ',\n decadeSelect: 'ជ្រើសរើសអាយុ',\n yearFormat: 'YYYY',\n dayFormat: 'D',\n dateFormat: 'YYYY-M-D',\n dateTimeFormat: 'YYYY-M-D HH:mm:ss',\n previousYear: 'ឆ្នាំមុន (Controlគ្រាប់ចុចបូកព្រួញខាងឆ្វេង)',\n nextYear: 'ឆ្នាំក្រោយ (Control គ្រាប់ចុចបូកព្រួញស្ដាំ)',\n previousDecade: 'ជំនាន់ចុងក្រោយ',\n nextDecade: 'ជំនាន់​ក្រោយ',\n previousCentury: 'សតវត្សចុងក្រោយ',\n nextCentury: 'សតវត្សរ៍បន្ទាប់',\n monthBeforeYear: true\n },\n timePickerLocale: {\n placeholder: 'រើសម៉ោង',\n rangePlaceholder: ['ម៉ោងចប់ផ្ដើម', 'ម៉ោងបញ្ចប់']\n }\n },\n global: {\n placeholder: 'សូមជ្រើសរើស'\n },\n Table: {\n filterTitle: 'បញ្ចីតម្រៀប',\n filterConfirm: 'យល់ព្រម',\n filterReset: 'ត្រឡប់ដើម',\n filterEmptyText: 'គ្មានបញ្ចីតម្រៀប',\n emptyText: 'គ្មានទិន្នន័យ',\n selectAll: 'រើសក្នុងទំព័រនេះ',\n selectInvert: 'បញ្ច្រាសក្នុងទំព័រនេះ',\n selectNone: 'លុបចេញទាំងអស់',\n selectionAll: 'រើសយកទាំងអស់',\n sortTitle: 'តម្រៀប',\n expand: 'ពន្លាត',\n collapse: 'បិតបាំង',\n triggerDesc: 'ចុចដើម្បីរៀបតាមលំដាប់ធំ',\n triggerAsc: 'ចុចដើម្បីរៀបតាមលំដាប់តូច​',\n cancelSort: 'ចុចដើម្បីបោះបង់'\n },\n Modal: {\n okText: 'យល់ព្រម',\n cancelText: 'បោះបង់',\n justOkText: 'យល់ព្រម'\n },\n Popconfirm: {\n okText: 'យល់ព្រម',\n cancelText: 'បោះបង់'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'ស្វែងរកនៅទីនេះ',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'លុប',\n selectCurrent: 'រើសទំព័របច្ចុប្បន្ន',\n removeCurrent: 'លុបទំព័របច្ចុប្បន្ន',\n selectAll: 'រើសទិន្នន័យទាំងអស់',\n removeAll: 'លុបទិន្នន័យទាំងអស់',\n selectInvert: 'បញ្ច្រាសទំព័របច្ចុប្បន្ន'\n },\n Upload: {\n uploading: 'កំពុងបញ្ចូលឡើង...',\n removeFile: 'លុបឯកសារ',\n uploadError: 'បញ្ចូលមិនជោកជ័យ',\n previewFile: 'មើលឯកសារ',\n downloadFile: 'ទាញយកឯកសារ'\n },\n Empty: {\n description: 'គ្មានទិន្នន័យ'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'កែ',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'ពង្រីក'\n },\n PageHeader: {\n back: 'Back'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar kk_KZ = {\n locale: 'kk',\n Pagination: {\n items_per_page: '/ бет',\n jump_to: 'Секіру',\n jump_to_confirm: 'Растау',\n page: '',\n prev_page: 'Артқа',\n next_page: 'Алға',\n prev_5: 'Алдыңғы 5',\n next_5: 'Келесі 5',\n prev_3: 'Алдыңғы 3',\n next_3: 'Келесі 3',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Күнді таңдаңыз',\n yearPlaceholder: 'Жылды таңдаңыз',\n quarterPlaceholder: 'Тоқсанды таңдаңыз',\n monthPlaceholder: 'Айды таңдаңыз',\n weekPlaceholder: 'Аптаны таңдаңыз',\n rangePlaceholder: ['Бастау күні', 'Аяқталу күні'],\n rangeYearPlaceholder: ['Бастау жылы', 'Аяқталу жылы'],\n rangeMonthPlaceholder: ['Бастау айы', 'Аяқталу айы'],\n rangeWeekPlaceholder: ['Бастау апта', 'Аяқталу апта'],\n locale: 'kk_KZ',\n today: 'Бүгін',\n now: 'Қазір',\n backToToday: 'Ағымдағы күн',\n ok: 'Таңдау',\n clear: 'Таза',\n month: 'Ай',\n year: 'Жыл',\n timeSelect: 'Уақытты таңдау',\n dateSelect: 'Күнді таңдау',\n monthSelect: 'Айды таңдаңыз',\n yearSelect: 'Жылды таңдаңыз',\n decadeSelect: 'Онжылды таңдаңыз',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Алдыңғы ай (PageUp)',\n nextMonth: 'Келесі ай (PageDown)',\n previousYear: 'Алдыңғы жыл (Control + left)',\n nextYear: 'Келесі жыл (Control + right)',\n previousDecade: 'Алдыңғы онжылдық',\n nextDecade: 'Келесі онжылдық',\n previousCentury: 'Алдыңғы ғасыр',\n nextCentury: 'Келесі ғасыр'\n },\n timePickerLocale: {\n placeholder: 'Уақытты таңдаңыз',\n rangePlaceholder: ['Бастау уақыты', 'Аяқталу уақыты']\n }\n },\n TimePicker: {\n placeholder: 'Уақытты таңдаңыз',\n rangePlaceholder: ['Бастау уақыты', 'Аяқталу уақыты']\n },\n Calendar: {\n lang: {\n placeholder: 'Күнді таңдаңыз',\n yearPlaceholder: 'Жылды таңдаңыз',\n quarterPlaceholder: 'Тоқсанды таңдаңыз',\n monthPlaceholder: 'Айды таңдаңыз',\n weekPlaceholder: 'Аптаны таңдаңыз',\n rangePlaceholder: ['Бастау күні', 'Аяқталу күні'],\n rangeYearPlaceholder: ['Бастау жылы', 'Аяқталу жылы'],\n rangeMonthPlaceholder: ['Бастау айы', 'Аяқталу айы'],\n rangeWeekPlaceholder: ['Бастау апта', 'Аяқталу апта'],\n locale: 'kk_KZ',\n today: 'Бүгін',\n now: 'Қазір',\n backToToday: 'Ағымдағы күн',\n ok: 'Таңдау',\n clear: 'Таза',\n month: 'Ай',\n year: 'Жыл',\n timeSelect: 'Уақытты таңдау',\n dateSelect: 'Күнді таңдау',\n monthSelect: 'Айды таңдаңыз',\n yearSelect: 'Жылды таңдаңыз',\n decadeSelect: 'Онжылды таңдаңыз',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Алдыңғы ай (PageUp)',\n nextMonth: 'Келесі ай (PageDown)',\n previousYear: 'Алдыңғы жыл (Control + left)',\n nextYear: 'Келесі жыл (Control + right)',\n previousDecade: 'Алдыңғы онжылдық',\n nextDecade: 'Келесі онжылдық',\n previousCentury: 'Алдыңғы ғасыр',\n nextCentury: 'Келесі ғасыр'\n },\n timePickerLocale: {\n placeholder: 'Уақытты таңдаңыз',\n rangePlaceholder: ['Бастау уақыты', 'Аяқталу уақыты']\n }\n },\n global: {\n placeholder: 'Таңдаңыз'\n },\n Table: {\n filterTitle: 'Фильтр',\n filterConfirm: 'OK',\n filterReset: 'Тазарту',\n filterEmptyText: 'Фильтр жоқ',\n emptyText: 'Деректер жоқ',\n selectAll: 'Барлығын таңдау',\n selectInvert: 'Таңдауды төңкеру',\n selectionAll: 'Барлық деректерді таңдаңыз',\n sortTitle: 'Сұрыптау',\n expand: 'Жолды жазу',\n collapse: 'Жолды бүктеу',\n triggerDesc: 'Төмендеуді сұрыптау үшін басыңыз',\n triggerAsc: 'Өсу ретімен сұрыптау үшін басыңыз',\n cancelSort: 'Сұрыптаудан бас тарту үшін басыңыз'\n },\n Modal: {\n okText: 'Жарайды',\n cancelText: 'Болдырмау',\n justOkText: 'Жарайды'\n },\n Popconfirm: {\n okText: 'Жарайды',\n cancelText: 'Болдырмау'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Іздеу',\n itemUnit: 'элемент.',\n itemsUnit: 'элемент.',\n remove: 'Жою',\n selectAll: 'Барлық деректерді таңдау',\n selectCurrent: 'Ағымдағы бетті таңдау',\n selectInvert: 'Кері тәртіпте көрсету',\n removeAll: 'Барлық деректерді жою',\n removeCurrent: 'Ағымдағы парақты өшіру'\n },\n Upload: {\n uploading: 'Жүктеу...',\n removeFile: 'Файлды жою',\n uploadError: 'Жүктеу кезінде қате пайда болды',\n previewFile: 'Файлды алдын ала қарау',\n downloadFile: 'Файлды жүктеу'\n },\n Empty: {\n description: 'Деректер жоқ'\n },\n Icon: {\n icon: 'белгішесі'\n },\n Text: {\n edit: 'Өңдеу',\n copy: 'Көшіру',\n copied: 'Көшірілді',\n expand: 'Жазу'\n },\n PageHeader: {\n back: 'Артқа'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar kmr_IQ = {\n locale: 'ku',\n Pagination: {\n items_per_page: '/ rûpel',\n jump_to: 'Biçe',\n jump_to_confirm: 'piştrast bike',\n page: '',\n prev_page: 'Rûpelê Pêş',\n next_page: 'Rûpelê Paş',\n prev_5: '5 Rûpelên Pêş',\n next_5: '5 Rûpelên Paş',\n prev_3: '3 Rûpelên Pêş',\n next_3: '3 Rûpelên Paş',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Dîrok hilbijêre',\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\n locale: 'ku',\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş'\n },\n timePickerLocale: {\n placeholder: 'Demê hilbijêre'\n }\n },\n TimePicker: {\n placeholder: 'Demê hilbijêre'\n },\n Calendar: {\n lang: {\n placeholder: 'Dîrok hilbijêre',\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\n locale: 'ku',\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş'\n },\n timePickerLocale: {\n placeholder: 'Demê hilbijêre'\n }\n },\n Table: {\n filterTitle: 'Menuê peldanka',\n filterConfirm: 'Temam',\n filterReset: 'Jê bibe',\n selectAll: 'Hemî hilbijêre',\n selectInvert: 'Hilbijartinan veguhere'\n },\n Modal: {\n okText: 'Temam',\n cancelText: 'Betal ke',\n justOkText: 'Temam'\n },\n Popconfirm: {\n okText: 'Temam',\n cancelText: 'Betal ke'\n },\n Transfer: {\n searchPlaceholder: 'Lêgerîn',\n itemUnit: 'tişt',\n itemsUnit: 'tişt'\n },\n Upload: {\n uploading: 'Bardike...',\n removeFile: 'Pelê rabike',\n uploadError: 'Xeta barkirine',\n previewFile: 'Pelê pêşbibîne',\n downloadFile: 'Pelê dakêşin'\n },\n Empty: {\n description: 'Agahî tune'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar kn_IN = {\n locale: 'kn',\n Pagination: {\n items_per_page: '/ ಪುಟ',\n jump_to: 'ಜಿಗಿತವನ್ನು',\n jump_to_confirm: 'ಖಚಿತಪಡಿಸಲು ಜಿಗಿತವನ್ನು',\n page: '',\n prev_page: 'ಹಿಂದಿನ ಪುಟ',\n next_page: 'ಮುಂದಿನ ಪುಟ',\n prev_5: 'ಹಿಂದಿನ 5 ಪುಟಗಳು',\n next_5: 'ಮುಂದಿನ 5 ಪುಟಗಳು',\n prev_3: 'ಹಿಂದಿನ 3 ಪುಟಗಳು',\n next_3: 'ಮುಂದಿನ 3 ಪುಟಗಳು',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ',\n rangePlaceholder: ['ಪ್ರಾರಂಭ ದಿನಾಂಕ', 'ಅಂತಿಮ ದಿನಾಂಕ'],\n locale: 'kn_IN',\n today: 'ಇಂದು',\n now: 'ಈಗ',\n backToToday: 'ಇಂದು ಹಿಂದಿರುಗಿ',\n ok: 'ಸರಿ',\n clear: 'ಸ್ಪಷ್ಟ',\n month: 'ತಿಂಗಳು',\n year: 'ವರ್ಷ',\n timeSelect: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ',\n dateSelect: 'ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ',\n weekSelect: 'ಒಂದು ವಾರದ ಆರಿಸಿ',\n monthSelect: 'ಒಂದು ತಿಂಗಳು ಆಯ್ಕೆಮಾಡಿ',\n yearSelect: 'ಒಂದು ವರ್ಷ ಆರಿಸಿ',\n decadeSelect: 'ಒಂದು ದಶಕದ ಆಯ್ಕೆಮಾಡಿ',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ಹಿಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಅಪ್)',\n nextMonth: 'ಮುಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಡೌನ್)',\n previousYear: 'ಕಳೆದ ವರ್ಷ (Ctrl + ಎಡ)',\n nextYear: 'ಮುಂದಿನ ವರ್ಷ (Ctrl + ಬಲ)',\n previousDecade: 'ಕಳೆದ ದಶಕ',\n nextDecade: 'ಮುಂದಿನ ದಶಕ',\n previousCentury: 'ಕಳೆದ ಶತಮಾನ',\n nextCentury: 'ಮುಂದಿನ ಶತಮಾನ'\n },\n timePickerLocale: {\n placeholder: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ'\n }\n },\n TimePicker: {\n placeholder: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ'\n },\n Calendar: {\n lang: {\n placeholder: 'ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ',\n rangePlaceholder: ['ಪ್ರಾರಂಭ ದಿನಾಂಕ', 'ಅಂತಿಮ ದಿನಾಂಕ'],\n locale: 'kn_IN',\n today: 'ಇಂದು',\n now: 'ಈಗ',\n backToToday: 'ಇಂದು ಹಿಂದಿರುಗಿ',\n ok: 'ಸರಿ',\n clear: 'ಸ್ಪಷ್ಟ',\n month: 'ತಿಂಗಳು',\n year: 'ವರ್ಷ',\n timeSelect: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ',\n dateSelect: 'ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ',\n weekSelect: 'ಒಂದು ವಾರದ ಆರಿಸಿ',\n monthSelect: 'ಒಂದು ತಿಂಗಳು ಆಯ್ಕೆಮಾಡಿ',\n yearSelect: 'ಒಂದು ವರ್ಷ ಆರಿಸಿ',\n decadeSelect: 'ಒಂದು ದಶಕದ ಆಯ್ಕೆಮಾಡಿ',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ಹಿಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಅಪ್)',\n nextMonth: 'ಮುಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಡೌನ್)',\n previousYear: 'ಕಳೆದ ವರ್ಷ (Ctrl + ಎಡ)',\n nextYear: 'ಮುಂದಿನ ವರ್ಷ (Ctrl + ಬಲ)',\n previousDecade: 'ಕಳೆದ ದಶಕ',\n nextDecade: 'ಮುಂದಿನ ದಶಕ',\n previousCentury: 'ಕಳೆದ ಶತಮಾನ',\n nextCentury: 'ಮುಂದಿನ ಶತಮಾನ'\n },\n timePickerLocale: {\n placeholder: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ'\n }\n },\n global: {\n placeholder: 'ದಯವಿಟ್ಟು ಆರಿಸಿ'\n },\n Table: {\n filterTitle: 'ಪಟ್ಟಿ ಸೋಸಿ',\n filterConfirm: 'ಸರಿ',\n filterReset: 'ಮರುಹೊಂದಿಸಿ',\n emptyText: 'ಮಾಹಿತಿ ಇಲ್ಲ',\n selectAll: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಆಯ್ಕೆಮಾಡಿ',\n selectInvert: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ತಿರುಗಿಸಿ',\n sortTitle: 'ವಿಂಗಡಿಸಿ'\n },\n Modal: {\n okText: 'ಸರಿ',\n cancelText: 'ರದ್ದು',\n justOkText: 'ಸರಿ'\n },\n Popconfirm: {\n okText: 'ಸರಿ',\n cancelText: 'ರದ್ದು'\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'ದೊರೆತಿಲ್ಲ',\n searchPlaceholder: 'ಇಲ್ಲಿ ಹುಡುಕಿ',\n itemUnit: 'ವಿಷಯ',\n itemsUnit: 'ವಿಷಯಗಳು'\n },\n Select: {\n notFoundContent: 'ದೊರೆತಿಲ್ಲ'\n },\n Upload: {\n uploading: 'ಏರಿಸಿ...',\n removeFile: 'ಫೈಲ್ ತೆಗೆದುಹಾಕಿ',\n uploadError: 'ಏರಿಸುವ ದೋಷ',\n previewFile: 'ಫೈಲ್ ಮುನ್ನೋಟ',\n downloadFile: 'ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ko_KR = {\n locale: 'ko',\n Pagination: {\n items_per_page: '/ 쪽',\n jump_to: '이동하기',\n jump_to_confirm: '확인하다',\n page: '페이지',\n prev_page: '이전 페이지',\n next_page: '다음 페이지',\n prev_5: '이전 5 페이지',\n next_5: '다음 5 페이지',\n prev_3: '이전 3 페이지',\n next_3: '다음 3 페이지',\n page_size: '페이지 크기'\n },\n DatePicker: {\n lang: {\n placeholder: '날짜 선택',\n rangePlaceholder: ['시작일', '종료일'],\n locale: 'ko_KR',\n today: '오늘',\n now: '현재 시각',\n backToToday: '오늘로 돌아가기',\n ok: '확인',\n clear: '지우기',\n month: '월',\n year: '년',\n timeSelect: '시간 선택',\n dateSelect: '날짜 선택',\n monthSelect: '달 선택',\n yearSelect: '연 선택',\n decadeSelect: '연대 선택',\n yearFormat: 'YYYY년',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'Do',\n dateTimeFormat: 'YYYY-MM-DD HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: '이전 달 (PageUp)',\n nextMonth: '다음 달 (PageDown)',\n previousYear: '이전 해 (Control + left)',\n nextYear: '다음 해 (Control + right)',\n previousDecade: '이전 연대',\n nextDecade: '다음 연대',\n previousCentury: '이전 세기',\n nextCentury: '다음 세기'\n },\n timePickerLocale: {\n placeholder: '시간 선택',\n rangePlaceholder: ['시작 시간', '종료 시간']\n }\n },\n TimePicker: {\n placeholder: '시간 선택',\n rangePlaceholder: ['시작 시간', '종료 시간']\n },\n Calendar: {\n lang: {\n placeholder: '날짜 선택',\n rangePlaceholder: ['시작일', '종료일'],\n locale: 'ko_KR',\n today: '오늘',\n now: '현재 시각',\n backToToday: '오늘로 돌아가기',\n ok: '확인',\n clear: '지우기',\n month: '월',\n year: '년',\n timeSelect: '시간 선택',\n dateSelect: '날짜 선택',\n monthSelect: '달 선택',\n yearSelect: '연 선택',\n decadeSelect: '연대 선택',\n yearFormat: 'YYYY년',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'Do',\n dateTimeFormat: 'YYYY-MM-DD HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: '이전 달 (PageUp)',\n nextMonth: '다음 달 (PageDown)',\n previousYear: '이전 해 (Control + left)',\n nextYear: '다음 해 (Control + right)',\n previousDecade: '이전 연대',\n nextDecade: '다음 연대',\n previousCentury: '이전 세기',\n nextCentury: '다음 세기'\n },\n timePickerLocale: {\n placeholder: '시간 선택',\n rangePlaceholder: ['시작 시간', '종료 시간']\n }\n },\n Table: {\n filterTitle: '필터 메뉴',\n filterConfirm: '확인',\n filterReset: '초기화',\n selectAll: '모두 선택',\n selectInvert: '선택 반전',\n filterEmptyText: '필터 없음',\n emptyText: '데이터 없음'\n },\n Modal: {\n okText: '확인',\n cancelText: '취소',\n justOkText: '확인'\n },\n Popconfirm: {\n okText: '확인',\n cancelText: '취소'\n },\n Transfer: {\n searchPlaceholder: '여기에 검색하세요',\n itemUnit: '개',\n itemsUnit: '개'\n },\n Upload: {\n uploading: '업로드 중...',\n removeFile: '파일 삭제',\n uploadError: '업로드 실패',\n previewFile: '파일 미리보기',\n downloadFile: '파일 다운로드'\n },\n Empty: {\n description: '데이터 없음'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ku_IQ = {\n locale: 'ku-iq',\n Pagination: {\n items_per_page: '/ rûpel',\n jump_to: 'Biçe',\n jump_to_confirm: 'piştrast bike',\n page: '',\n prev_page: 'Rûpelê Pêş',\n next_page: 'Rûpelê Paş',\n prev_5: '5 Rûpelên Pêş',\n next_5: '5 Rûpelên Paş',\n prev_3: '3 Rûpelên Pêş',\n next_3: '3 Rûpelên Paş',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Dîrok hilbijêre',\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\n locale: 'ku',\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş'\n },\n timePickerLocale: {\n placeholder: 'Demê hilbijêre'\n }\n },\n TimePicker: {\n placeholder: 'Demê hilbijêre'\n },\n Calendar: {\n lang: {\n placeholder: 'Dîrok hilbijêre',\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\n locale: 'ku',\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş'\n },\n timePickerLocale: {\n placeholder: 'Demê hilbijêre'\n }\n },\n Table: {\n filterTitle: 'Menuê peldanka',\n filterConfirm: 'Temam',\n filterReset: 'Jê bibe',\n selectAll: 'Hemî hilbijêre',\n selectInvert: 'Hilbijartinan veguhere'\n },\n Modal: {\n okText: 'Temam',\n cancelText: 'Betal ke',\n justOkText: 'Temam'\n },\n Popconfirm: {\n okText: 'Temam',\n cancelText: 'Betal ke'\n },\n Transfer: {\n searchPlaceholder: 'Lêgerîn',\n itemUnit: 'tişt',\n itemsUnit: 'tişt'\n },\n Upload: {\n uploading: 'Bardike...',\n removeFile: 'Pelê rabike',\n uploadError: 'Xeta barkirine',\n previewFile: 'Pelê pêşbibîne',\n downloadFile: 'Pelê dakêşin'\n },\n Empty: {\n description: 'Agahî tune'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar lt_LT = {\n locale: 'lt',\n Pagination: {\n items_per_page: '/ psl.',\n jump_to: 'Pereiti',\n jump_to_confirm: 'patvirtinti',\n page: '',\n prev_page: 'Atgal',\n next_page: 'Pirmyn',\n prev_5: 'Grįžti 5 pls.',\n next_5: 'Peršokti 5 pls.',\n prev_3: 'Grįžti 3 pls.',\n next_3: 'Peršokti 3 pls.',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Pasirinkite datą',\n yearPlaceholder: 'Pasirinkite metus',\n quarterPlaceholder: 'Pasirinkite ketvirtį',\n monthPlaceholder: 'Pasirinkite mėnesį',\n weekPlaceholder: 'Pasirinkite savaitę',\n rangePlaceholder: ['Pradžios data', 'Pabaigos data'],\n rangeYearPlaceholder: ['Pradžios metai', 'Pabaigos metai'],\n rangeMonthPlaceholder: ['Pradžios mėnesis', 'Pabaigos mėnesis'],\n rangeWeekPlaceholder: ['Pradžios savaitė', 'Pabaigos savaitė'],\n locale: 'lt_LT',\n today: 'Šiandien',\n now: 'Dabar',\n backToToday: 'Rodyti šiandien',\n ok: 'Gerai',\n clear: 'Išvalyti',\n month: 'Mėnesis',\n year: 'Metai',\n timeSelect: 'Pasirinkti laiką',\n dateSelect: 'Pasirinkti datą',\n monthSelect: 'Pasirinkti mėnesį',\n yearSelect: 'Pasirinkti metus',\n decadeSelect: 'Pasirinkti dešimtmetį',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY-MM-DD HH:MM:SS',\n monthBeforeYear: true,\n previousMonth: 'Buvęs mėnesis (PageUp)',\n nextMonth: 'Sekantis mėnesis (PageDown)',\n previousYear: 'Buvę metai (Control + left)',\n nextYear: 'Sekantis metai (Control + right)',\n previousDecade: 'Buvęs dešimtmetis',\n nextDecade: 'Sekantis dešimtmetis',\n previousCentury: 'Buvęs amžius',\n nextCentury: 'Sekantis amžius'\n },\n timePickerLocale: {\n placeholder: 'Pasirinkite laiką',\n rangePlaceholder: ['Pradžios laikas', 'Pabaigos laikas']\n }\n },\n TimePicker: {\n placeholder: 'Pasirinkite laiką',\n rangePlaceholder: ['Pradžios laikas', 'Pabaigos laikas']\n },\n Calendar: {\n lang: {\n placeholder: 'Pasirinkite datą',\n yearPlaceholder: 'Pasirinkite metus',\n quarterPlaceholder: 'Pasirinkite ketvirtį',\n monthPlaceholder: 'Pasirinkite mėnesį',\n weekPlaceholder: 'Pasirinkite savaitę',\n rangePlaceholder: ['Pradžios data', 'Pabaigos data'],\n rangeYearPlaceholder: ['Pradžios metai', 'Pabaigos metai'],\n rangeMonthPlaceholder: ['Pradžios mėnesis', 'Pabaigos mėnesis'],\n rangeWeekPlaceholder: ['Pradžios savaitė', 'Pabaigos savaitė'],\n locale: 'lt_LT',\n today: 'Šiandien',\n now: 'Dabar',\n backToToday: 'Rodyti šiandien',\n ok: 'Gerai',\n clear: 'Išvalyti',\n month: 'Mėnesis',\n year: 'Metai',\n timeSelect: 'Pasirinkti laiką',\n dateSelect: 'Pasirinkti datą',\n monthSelect: 'Pasirinkti mėnesį',\n yearSelect: 'Pasirinkti metus',\n decadeSelect: 'Pasirinkti dešimtmetį',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY-MM-DD HH:MM:SS',\n monthBeforeYear: true,\n previousMonth: 'Buvęs mėnesis (PageUp)',\n nextMonth: 'Sekantis mėnesis (PageDown)',\n previousYear: 'Buvę metai (Control + left)',\n nextYear: 'Sekantis metai (Control + right)',\n previousDecade: 'Buvęs dešimtmetis',\n nextDecade: 'Sekantis dešimtmetis',\n previousCentury: 'Buvęs amžius',\n nextCentury: 'Sekantis amžius'\n },\n timePickerLocale: {\n placeholder: 'Pasirinkite laiką',\n rangePlaceholder: ['Pradžios laikas', 'Pabaigos laikas']\n }\n },\n Table: {\n filterTitle: 'Filtras',\n filterConfirm: 'Gerai',\n filterReset: 'Atstatyti',\n filterEmptyText: 'Be filtrų',\n emptyText: 'Nėra duomenų',\n selectAll: 'Pasirinkti viską',\n selectInvert: 'Apversti pasirinkimą',\n selectionAll: 'Rinktis visus',\n sortTitle: 'Rikiavimas',\n expand: 'Išskleisti',\n collapse: 'Suskleisti',\n triggerDesc: 'Spustelėkite norėdami rūšiuoti mažėjančia tvarka',\n triggerAsc: 'Spustelėkite norėdami rūšiuoti didėjančia tvarka',\n cancelSort: 'Spustelėkite, kad atšauktumėte rūšiavimą'\n },\n Modal: {\n okText: 'Taip',\n cancelText: 'Atšaukti',\n justOkText: 'Gerai'\n },\n Popconfirm: {\n okText: 'Taip',\n cancelText: 'Atšaukti'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Paieška',\n itemUnit: 'vnt.',\n itemsUnit: 'vnt.',\n remove: 'Pašalinti',\n selectAll: 'Pasirinkti visus',\n selectCurrent: 'Pasirinkite dabartinį puslapį',\n selectInvert: 'Atkeist pasirinkimą',\n removeAll: 'Ištrinti visus duomenis',\n removeCurrent: 'Ištrinti dabartinį puslapį'\n },\n Upload: {\n uploading: 'Gaunami duomenys...',\n removeFile: 'Ištrinti failą',\n uploadError: 'Įkeliant įvyko klaida',\n previewFile: 'Failo peržiūra',\n downloadFile: 'Įkelti failą'\n },\n Empty: {\n description: 'Nėra duomenų'\n },\n Icon: {\n icon: 'piktograma'\n },\n Text: {\n edit: 'Redaguoti',\n copy: 'Kopijuoti',\n copied: 'Nukopijuota',\n expand: 'Plačiau'\n },\n PageHeader: {\n back: 'Atgal'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar lv_LV = {\n locale: 'lv',\n Pagination: {\n items_per_page: '/ lappuse',\n jump_to: 'iet uz',\n jump_to_confirm: 'apstiprināt',\n page: '',\n prev_page: 'Iepriekšējā lapa',\n next_page: 'Nākamā lapaspuse',\n prev_5: 'Iepriekšējās 5 lapas',\n next_5: 'Nākamās 5 lapas',\n prev_3: 'Iepriekšējās 3 lapas',\n next_3: 'Nākamās 3 lapas',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Izvēlieties datumu',\n rangePlaceholder: ['Sākuma datums', 'Beigu datums'],\n locale: 'lv_LV',\n today: 'Šodien',\n now: 'Tagad',\n backToToday: 'Atpakaļ pie šodienas',\n ok: 'Ok',\n clear: 'Skaidrs',\n month: 'Mēnesis',\n year: 'Gads',\n timeSelect: 'Izvēlieties laiku',\n dateSelect: 'Izvēlieties datumu',\n monthSelect: 'Izvēlieties mēnesi',\n yearSelect: 'Izvēlieties gadu',\n decadeSelect: 'Izvēlieties desmit gadus',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Iepriekšējais mēnesis (PageUp)',\n nextMonth: 'Nākammēnes (PageDown)',\n previousYear: 'Pagājušais gads (Control + left)',\n nextYear: 'Nākamgad (Control + right)',\n previousDecade: 'Pēdējā desmitgadē',\n nextDecade: 'Nākamā desmitgade',\n previousCentury: 'Pagājušajā gadsimtā',\n nextCentury: 'Nākamajā gadsimtā'\n },\n timePickerLocale: {\n placeholder: 'Izvēlieties laiku'\n }\n },\n TimePicker: {\n placeholder: 'Izvēlieties laiku'\n },\n Calendar: {\n lang: {\n placeholder: 'Izvēlieties datumu',\n rangePlaceholder: ['Sākuma datums', 'Beigu datums'],\n locale: 'lv_LV',\n today: 'Šodien',\n now: 'Tagad',\n backToToday: 'Atpakaļ pie šodienas',\n ok: 'Ok',\n clear: 'Skaidrs',\n month: 'Mēnesis',\n year: 'Gads',\n timeSelect: 'Izvēlieties laiku',\n dateSelect: 'Izvēlieties datumu',\n monthSelect: 'Izvēlieties mēnesi',\n yearSelect: 'Izvēlieties gadu',\n decadeSelect: 'Izvēlieties desmit gadus',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Iepriekšējais mēnesis (PageUp)',\n nextMonth: 'Nākammēnes (PageDown)',\n previousYear: 'Pagājušais gads (Control + left)',\n nextYear: 'Nākamgad (Control + right)',\n previousDecade: 'Pēdējā desmitgadē',\n nextDecade: 'Nākamā desmitgade',\n previousCentury: 'Pagājušajā gadsimtā',\n nextCentury: 'Nākamajā gadsimtā'\n },\n timePickerLocale: {\n placeholder: 'Izvēlieties laiku'\n }\n },\n Table: {\n filterTitle: 'Filtrēšanas izvēlne',\n filterConfirm: 'OK',\n filterReset: 'Atiestatīt',\n selectAll: 'Atlasiet pašreizējo lapu',\n selectInvert: 'Pārvērst pašreizējo lapu'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Atcelt',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Atcelt'\n },\n Transfer: {\n searchPlaceholder: 'Meklēt šeit',\n itemUnit: 'vienumu',\n itemsUnit: 'vienumus'\n },\n Upload: {\n uploading: 'Augšupielāde...',\n removeFile: 'Noņemt failu',\n uploadError: 'Augšupielādes kļūda',\n previewFile: 'Priekšskatiet failu',\n downloadFile: 'Lejupielādēt failu'\n },\n Empty: {\n description: 'Nav datu'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar mk_MK = {\n locale: 'mk',\n Pagination: {\n items_per_page: '/ стр',\n jump_to: 'Оди на',\n jump_to_confirm: 'потврди',\n page: '',\n prev_page: 'Претходна страница',\n next_page: 'Наредна страница',\n prev_5: 'Претходни 5 страници',\n next_5: 'Наредни 5 страници',\n prev_3: 'Претходни 3 страници',\n next_3: 'Наредни 3 страници',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Избери датум',\n rangePlaceholder: ['Од датум', 'До датум'],\n locale: 'mk_MK',\n today: 'Денес',\n now: 'Сега',\n backToToday: 'Назад до денес',\n ok: 'ОК',\n clear: 'Избриши',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избери време',\n dateSelect: 'Избери датум',\n monthSelect: 'Избери месец',\n yearSelect: 'Избери година',\n decadeSelect: 'Избери деценија',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Претходен месец (PageUp)',\n nextMonth: 'Нареден месец (PageDown)',\n previousYear: 'Претходна година (Control + left)',\n nextYear: 'Наредна година (Control + right)',\n previousDecade: 'Претходна деценија',\n nextDecade: 'Наредна деценија',\n previousCentury: 'Претходен век',\n nextCentury: 'Нареден век'\n },\n timePickerLocale: {\n placeholder: 'Избери време'\n }\n },\n TimePicker: {\n placeholder: 'Избери време'\n },\n Calendar: {\n lang: {\n placeholder: 'Избери датум',\n rangePlaceholder: ['Од датум', 'До датум'],\n locale: 'mk_MK',\n today: 'Денес',\n now: 'Сега',\n backToToday: 'Назад до денес',\n ok: 'ОК',\n clear: 'Избриши',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избери време',\n dateSelect: 'Избери датум',\n monthSelect: 'Избери месец',\n yearSelect: 'Избери година',\n decadeSelect: 'Избери деценија',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Претходен месец (PageUp)',\n nextMonth: 'Нареден месец (PageDown)',\n previousYear: 'Претходна година (Control + left)',\n nextYear: 'Наредна година (Control + right)',\n previousDecade: 'Претходна деценија',\n nextDecade: 'Наредна деценија',\n previousCentury: 'Претходен век',\n nextCentury: 'Нареден век'\n },\n timePickerLocale: {\n placeholder: 'Избери време'\n }\n },\n global: {\n placeholder: 'Ве молиме означете'\n },\n Table: {\n filterTitle: 'Мени за филтрирање',\n filterConfirm: 'ОК',\n filterReset: 'Избриши',\n selectAll: 'Одбери страница',\n selectInvert: 'Инвертирај страница'\n },\n Modal: {\n okText: 'ОК',\n cancelText: 'Откажи',\n justOkText: 'ОК'\n },\n Popconfirm: {\n okText: 'ОК',\n cancelText: 'Откажи'\n },\n Transfer: {\n searchPlaceholder: 'Пребарај тука',\n itemUnit: 'предмет',\n itemsUnit: 'предмети'\n },\n Upload: {\n uploading: 'Се прикачува...',\n removeFile: 'Избриши фајл',\n uploadError: 'Грешка при прикачување',\n previewFile: 'Прикажи фајл',\n downloadFile: 'Преземи фајл'\n },\n Empty: {\n description: 'Нема податоци'\n },\n Icon: {\n icon: 'Икона'\n },\n Text: {\n edit: 'Уреди',\n copy: 'Копирај',\n copied: 'Копирано',\n expand: 'Зголеми'\n },\n PageHeader: {\n back: 'Назад'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ml_IN = {\n locale: 'ml',\n Pagination: {\n items_per_page: '/ പേജ്',\n jump_to: 'അടുത്തത്',\n jump_to_confirm: 'ഉറപ്പാക്കുക',\n page: '',\n prev_page: 'മുൻപുള്ള പേജ്',\n next_page: 'അടുത്ത പേജ്',\n prev_5: 'മുൻപുള്ള 5 പേജുകൾ',\n next_5: 'അടുത്ത 5 പേജുകൾ',\n prev_3: 'മുൻപുള്ള 3 പേജുകൾ',\n next_3: 'അടുത്ത 3 പേജുകൾ',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'തിയതി തിരഞ്ഞെടുക്കുക',\n yearPlaceholder: 'വർഷം തിരഞ്ഞെടുക്കുക',\n quarterPlaceholder: 'ത്രൈമാസം തിരഞ്ഞെടുക്കുക',\n monthPlaceholder: 'മാസം തിരഞ്ഞെടുക്കുക',\n weekPlaceholder: 'വാരം തിരഞ്ഞെടുക്കുക',\n rangePlaceholder: ['ആരംഭ ദിനം', 'അവസാന ദിനം'],\n rangeYearPlaceholder: ['ആരംഭ വർഷം', 'അവസാന വർഷം'],\n rangeMonthPlaceholder: ['ആരംഭ മാസം', 'അവസാന മാസം'],\n rangeWeekPlaceholder: ['ആരംഭ വാരം', 'അവസാന വാരം'],\n locale: 'ml_IN',\n today: 'ഇന്ന്',\n now: 'ഇപ്പോൾ',\n backToToday: 'ഇന്നത്തെ ദിവസത്തിലേക്ക് തിരിച്ചു പോകുക',\n ok: 'ശരിയാണ്',\n clear: 'നീക്കം ചെയ്യുക',\n month: 'മാസം',\n year: 'വർഷം',\n timeSelect: 'സമയം തിരഞ്ഞെടുക്കുക',\n dateSelect: 'ദിവസം തിരഞ്ഞെടുക്കുക',\n weekSelect: 'വാരം തിരഞ്ഞെടുക്കുക',\n monthSelect: 'മാസം തിരഞ്ഞെടുക്കുക',\n yearSelect: 'വർഷം തിരഞ്ഞെടുക്കുക',\n decadeSelect: 'ദശാബ്ദം തിരഞ്ഞെടുക്കുക',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'കഴിഞ്ഞ മാസം (PageUp)',\n nextMonth: 'അടുത്ത മാസം (PageDown)',\n previousYear: 'കഴിഞ്ഞ വർഷം (Control + left)',\n nextYear: 'അടുത്ത വർഷം (Control + right)',\n previousDecade: 'കഴിഞ്ഞ ദശാബ്ദം',\n nextDecade: 'അടുത്ത ദശാബ്ദം',\n previousCentury: 'കഴിഞ്ഞ നൂറ്റാണ്ട്',\n nextCentury: 'അടുത്ത നൂറ്റാണ്ട്'\n },\n timePickerLocale: {\n placeholder: 'സമയം തിരഞ്ഞെടുക്കുക',\n rangePlaceholder: ['ആരംഭ സമയം', 'അവസാന സമയം']\n }\n },\n TimePicker: {\n placeholder: 'സമയം തിരഞ്ഞെടുക്കുക',\n rangePlaceholder: ['ആരംഭ സമയം', 'അവസാന സമയം']\n },\n Calendar: {\n lang: {\n placeholder: 'തിയതി തിരഞ്ഞെടുക്കുക',\n yearPlaceholder: 'വർഷം തിരഞ്ഞെടുക്കുക',\n quarterPlaceholder: 'ത്രൈമാസം തിരഞ്ഞെടുക്കുക',\n monthPlaceholder: 'മാസം തിരഞ്ഞെടുക്കുക',\n weekPlaceholder: 'വാരം തിരഞ്ഞെടുക്കുക',\n rangePlaceholder: ['ആരംഭ ദിനം', 'അവസാന ദിനം'],\n rangeYearPlaceholder: ['ആരംഭ വർഷം', 'അവസാന വർഷം'],\n rangeMonthPlaceholder: ['ആരംഭ മാസം', 'അവസാന മാസം'],\n rangeWeekPlaceholder: ['ആരംഭ വാരം', 'അവസാന വാരം'],\n locale: 'ml_IN',\n today: 'ഇന്ന്',\n now: 'ഇപ്പോൾ',\n backToToday: 'ഇന്നത്തെ ദിവസത്തിലേക്ക് തിരിച്ചു പോകുക',\n ok: 'ശരിയാണ്',\n clear: 'നീക്കം ചെയ്യുക',\n month: 'മാസം',\n year: 'വർഷം',\n timeSelect: 'സമയം തിരഞ്ഞെടുക്കുക',\n dateSelect: 'ദിവസം തിരഞ്ഞെടുക്കുക',\n weekSelect: 'വാരം തിരഞ്ഞെടുക്കുക',\n monthSelect: 'മാസം തിരഞ്ഞെടുക്കുക',\n yearSelect: 'വർഷം തിരഞ്ഞെടുക്കുക',\n decadeSelect: 'ദശാബ്ദം തിരഞ്ഞെടുക്കുക',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'കഴിഞ്ഞ മാസം (PageUp)',\n nextMonth: 'അടുത്ത മാസം (PageDown)',\n previousYear: 'കഴിഞ്ഞ വർഷം (Control + left)',\n nextYear: 'അടുത്ത വർഷം (Control + right)',\n previousDecade: 'കഴിഞ്ഞ ദശാബ്ദം',\n nextDecade: 'അടുത്ത ദശാബ്ദം',\n previousCentury: 'കഴിഞ്ഞ നൂറ്റാണ്ട്',\n nextCentury: 'അടുത്ത നൂറ്റാണ്ട്'\n },\n timePickerLocale: {\n placeholder: 'സമയം തിരഞ്ഞെടുക്കുക',\n rangePlaceholder: ['ആരംഭ സമയം', 'അവസാന സമയം']\n }\n },\n global: {\n placeholder: 'ദയവായി തിരഞ്ഞെടുക്കുക'\n },\n Table: {\n filterTitle: 'ഫിൽറ്റർ',\n filterConfirm: 'ശരിയാണ്',\n filterReset: 'പുനഃക്രമീകരിക്കുക',\n filterEmptyText: 'ഫിൽറ്ററുകളൊന്നുമില്ല',\n emptyText: 'ഡാറ്റയൊന്നുമില്ല',\n selectAll: 'നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക',\n selectInvert: 'നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക',\n selectNone: 'എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക',\n selectionAll: 'എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക',\n sortTitle: 'ക്രമമാക്കുക',\n expand: 'വരി വികസിപ്പിക്കുക',\n collapse: 'വരി ചുരുക്കുക',\n triggerDesc: 'അവരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക',\n triggerAsc: 'ആരോഹണ ക്രമത്തിനായി ക്ലിക്ക് ചെയ്യുക',\n cancelSort: 'ക്രമീകരണം ഒഴിവാക്കുന്നതിനായി ക്ലിക്ക് ചെയ്യുക'\n },\n Modal: {\n okText: 'ശരിയാണ്',\n cancelText: 'റദ്ദാക്കുക',\n justOkText: 'ശരിയാണ്'\n },\n Popconfirm: {\n okText: 'ശരിയാണ്',\n cancelText: 'റദ്ദാക്കുക'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'ഇവിടെ തിരയുക',\n itemUnit: 'ഇനം',\n itemsUnit: 'ഇനങ്ങൾ',\n remove: 'നീക്കം ചെയ്യുക',\n selectCurrent: 'നിലവിലെ പേജ് തിരഞ്ഞെടുക്കുക',\n removeCurrent: 'നിലവിലെ പേജ് നീക്കം ചെയ്യുക',\n selectAll: 'എല്ലാ ഡാറ്റയും തിരഞ്ഞെടുക്കുക',\n removeAll: 'എല്ലാ ഡാറ്റയും നീക്കം ചെയ്യുക',\n selectInvert: 'നിലവിലെ പേജിൽ ഇല്ലാത്തത് തിരഞ്ഞെടുക്കുക'\n },\n Upload: {\n uploading: 'അപ്‌ലോഡ് ചെയ്തു കൊണ്ടിരിക്കുന്നു...',\n removeFile: 'ഫയൽ നീക്കം ചെയ്യുക',\n uploadError: 'അപ്‌ലോഡിൽ പിശക് സംഭവിച്ചിരിക്കുന്നു',\n previewFile: 'ഫയൽ പ്രിവ്യൂ ചെയ്യുക',\n downloadFile: 'ഫയൽ ഡൗൺലോഡ് ചെയ്യുക'\n },\n Empty: {\n description: 'ഡാറ്റയൊന്നുമില്ല'\n },\n Icon: {\n icon: 'ഐക്കൺ'\n },\n Text: {\n edit: 'തിരുത്തുക',\n copy: 'കോപ്പി ചെയ്യുക',\n copied: 'കോപ്പി ചെയ്തു',\n expand: 'വികസിപ്പിക്കുക'\n },\n PageHeader: {\n back: 'തിരികെ'\n },\n Image: {\n preview: 'പ്രിവ്യൂ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar mn_MN = {\n locale: 'mn-mn',\n Pagination: {\n items_per_page: '/ хуудас',\n jump_to: 'Шилжих',\n jump_to_confirm: 'сонгох',\n page: '',\n prev_page: 'Өмнөх хуудас',\n next_page: 'Дараагийн хуудас',\n prev_5: 'Дараагийн 5 хуудас',\n next_5: 'Дараагийн 5 хуудас',\n prev_3: 'Дараагийн 3 хуудас',\n next_3: 'Дараагийн 3 хуудас',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Огноо сонгох',\n rangePlaceholder: ['Эхлэх огноо', 'Дуусах огноо'],\n locale: 'mn_MN',\n today: 'Өнөөдөр',\n now: 'Одоо',\n backToToday: 'Өнөөдөрлүү буцах',\n ok: 'Ok',\n clear: 'Цэвэрлэх',\n month: 'Сар',\n year: 'Жил',\n timeSelect: 'Цаг сонгох',\n dateSelect: 'Огноо сонгох',\n weekSelect: '7 хоног сонгох',\n monthSelect: 'Сар сонгох',\n yearSelect: 'Жил сонгох',\n decadeSelect: 'Арван сонгох',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Өмнөх сар (PageUp)',\n nextMonth: 'Дараа сар (PageDown)',\n previousYear: 'Өмнөх жил (Control + left)',\n nextYear: 'Дараа жил (Control + right)',\n previousDecade: 'Өмнөх арван',\n nextDecade: 'Дараа арван',\n previousCentury: 'Өмнөх зуун',\n nextCentury: 'Дараа зуун'\n },\n timePickerLocale: {\n placeholder: 'Цаг сонгох'\n }\n },\n TimePicker: {\n placeholder: 'Цаг сонгох'\n },\n Calendar: {\n lang: {\n placeholder: 'Огноо сонгох',\n rangePlaceholder: ['Эхлэх огноо', 'Дуусах огноо'],\n locale: 'mn_MN',\n today: 'Өнөөдөр',\n now: 'Одоо',\n backToToday: 'Өнөөдөрлүү буцах',\n ok: 'Ok',\n clear: 'Цэвэрлэх',\n month: 'Сар',\n year: 'Жил',\n timeSelect: 'Цаг сонгох',\n dateSelect: 'Огноо сонгох',\n weekSelect: '7 хоног сонгох',\n monthSelect: 'Сар сонгох',\n yearSelect: 'Жил сонгох',\n decadeSelect: 'Арван сонгох',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Өмнөх сар (PageUp)',\n nextMonth: 'Дараа сар (PageDown)',\n previousYear: 'Өмнөх жил (Control + left)',\n nextYear: 'Дараа жил (Control + right)',\n previousDecade: 'Өмнөх арван',\n nextDecade: 'Дараа арван',\n previousCentury: 'Өмнөх зуун',\n nextCentury: 'Дараа зуун'\n },\n timePickerLocale: {\n placeholder: 'Цаг сонгох'\n }\n },\n Table: {\n filterTitle: 'Хайх цэс',\n filterConfirm: 'OK',\n filterReset: 'Цэвэрлэх',\n selectAll: 'Бүгдийг сонгох',\n selectInvert: 'Бусдыг сонгох'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Цуцлах',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Цуцлах'\n },\n Transfer: {\n searchPlaceholder: 'Хайх',\n itemUnit: 'Зүйл',\n itemsUnit: 'Зүйлүүд'\n },\n Upload: {\n uploading: 'Хуулж байна...',\n removeFile: 'Файл устгах',\n uploadError: 'Хуулахад алдаа гарлаа',\n previewFile: 'Файлыг түргэн үзэх',\n downloadFile: 'Файлыг татах'\n },\n Empty: {\n description: 'Мэдээлэл байхгүй байна'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ms_MY = {\n locale: 'ms-my',\n Pagination: {\n items_per_page: '/ halaman',\n jump_to: 'Lompat ke',\n jump_to_confirm: 'Sahkan',\n page: '',\n prev_page: 'Halaman sebelumnya',\n next_page: 'Halam seterusnya',\n prev_5: '5 halaman sebelum',\n next_5: '5 halaman seterusnya',\n prev_3: '3 halaman sebelumnya',\n next_3: '3 halaman seterusnya',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Pilih tarikh',\n rangePlaceholder: ['Tarikh mula', 'Tarikh akhir'],\n locale: 'ms_MY',\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Ok',\n timeSelect: 'Pilih masa',\n dateSelect: 'Pilih tarikh',\n weekSelect: 'Pilih minggu',\n clear: 'Padam',\n month: 'Bulan',\n year: 'Tahun',\n previousMonth: 'Bulan lepas',\n nextMonth: 'Bulan depan',\n monthSelect: 'Pilih bulan',\n yearSelect: 'Pilih tahun',\n decadeSelect: 'Pilih dekad',\n yearFormat: 'YYYY',\n dayFormat: 'D',\n dateFormat: 'M/D/YYYY',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n previousYear: 'Tahun lepas (Ctrl+left)',\n nextYear: 'Tahun depan (Ctrl+right)',\n previousDecade: 'Dekad lepas',\n nextDecade: 'Dekad depan',\n previousCentury: 'Abad lepas',\n nextCentury: 'Abad depan'\n },\n timePickerLocale: {\n placeholder: 'Sila pilih masa'\n }\n },\n TimePicker: {\n placeholder: 'Sila pilih masa'\n },\n Calendar: {\n lang: {\n placeholder: 'Pilih tarikh',\n rangePlaceholder: ['Tarikh mula', 'Tarikh akhir'],\n locale: 'ms_MY',\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Ok',\n timeSelect: 'Pilih masa',\n dateSelect: 'Pilih tarikh',\n weekSelect: 'Pilih minggu',\n clear: 'Padam',\n month: 'Bulan',\n year: 'Tahun',\n previousMonth: 'Bulan lepas',\n nextMonth: 'Bulan depan',\n monthSelect: 'Pilih bulan',\n yearSelect: 'Pilih tahun',\n decadeSelect: 'Pilih dekad',\n yearFormat: 'YYYY',\n dayFormat: 'D',\n dateFormat: 'M/D/YYYY',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n previousYear: 'Tahun lepas (Ctrl+left)',\n nextYear: 'Tahun depan (Ctrl+right)',\n previousDecade: 'Dekad lepas',\n nextDecade: 'Dekad depan',\n previousCentury: 'Abad lepas',\n nextCentury: 'Abad depan'\n },\n timePickerLocale: {\n placeholder: 'Sila pilih masa'\n }\n },\n global: {\n placeholder: 'Sila pilih'\n },\n PageHeader: {\n back: 'Kembali'\n },\n Text: {\n edit: 'Sunting',\n copy: 'Salin',\n copied: 'Berjaya menyalin',\n expand: 'Kembang'\n },\n Empty: {\n description: 'Tiada data'\n },\n Table: {\n filterTitle: 'Cari dengan tajuk',\n filterConfirm: 'OK',\n filterReset: 'Menetapkan semula',\n emptyText: 'Tiada data',\n selectAll: 'Pilih semua',\n selectInvert: 'Terbalikkan'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Batal',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Batal'\n },\n Transfer: {\n notFoundContent: 'Tidak dijumpai',\n searchPlaceholder: 'Carian di sini',\n itemUnit: 'item',\n itemsUnit: 'item'\n },\n Icon: {\n icon: 'ikon'\n },\n Select: {\n notFoundContent: 'Tidak Dijumpai'\n },\n Upload: {\n uploading: 'Sedang memuat naik...',\n removeFile: 'Buang fail',\n uploadError: 'Masalah muat naik',\n previewFile: 'Tengok fail',\n downloadFile: 'Muat turun fail'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar nb_NO = {\n locale: 'nb',\n Pagination: {\n items_per_page: '/ side',\n jump_to: 'Gå til side',\n page: 'Side',\n prev_page: 'Forrige side',\n next_page: 'Neste side',\n prev_5: '5 forrige',\n next_5: '5 neste',\n prev_3: '3 forrige',\n next_3: '3 neste',\n page_size: 'sidestørrelse'\n },\n DatePicker: {\n lang: {\n placeholder: 'Velg dato',\n yearPlaceholder: 'Velg år',\n quarterPlaceholder: 'Velg kvartal',\n monthPlaceholder: 'Velg måned',\n weekPlaceholder: 'Velg uke',\n rangePlaceholder: ['Startdato', 'Sluttdato'],\n rangeYearPlaceholder: ['Startår', 'Sluttår'],\n rangeMonthPlaceholder: ['Startmåned', 'Sluttmåned'],\n rangeWeekPlaceholder: ['Start uke', 'Sluttuke'],\n locale: 'nb_NO',\n today: 'I dag',\n now: 'Nå',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Velg tidspunkt',\n dateSelect: 'Velg dato',\n weekSelect: 'Velg uke',\n monthSelect: 'Velg måned',\n yearSelect: 'Velg år',\n decadeSelect: 'Velg tiår',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned (PageUp)',\n nextMonth: 'Neste måned (PageDown)',\n previousYear: 'Forrige år (Control + venstre)',\n nextYear: 'Neste år (Control + høyre)',\n previousDecade: 'Forrige tiår',\n nextDecade: 'Neste tiår',\n previousCentury: 'Forrige århundre',\n nextCentury: 'Neste århundre'\n },\n timePickerLocale: {\n placeholder: 'Velg tid',\n rangePlaceholder: ['Starttid', 'Sluttid']\n }\n },\n TimePicker: {\n placeholder: 'Velg tid',\n rangePlaceholder: ['Starttid', 'Sluttid']\n },\n Calendar: {\n lang: {\n placeholder: 'Velg dato',\n yearPlaceholder: 'Velg år',\n quarterPlaceholder: 'Velg kvartal',\n monthPlaceholder: 'Velg måned',\n weekPlaceholder: 'Velg uke',\n rangePlaceholder: ['Startdato', 'Sluttdato'],\n rangeYearPlaceholder: ['Startår', 'Sluttår'],\n rangeMonthPlaceholder: ['Startmåned', 'Sluttmåned'],\n rangeWeekPlaceholder: ['Start uke', 'Sluttuke'],\n locale: 'nb_NO',\n today: 'I dag',\n now: 'Nå',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Velg tidspunkt',\n dateSelect: 'Velg dato',\n weekSelect: 'Velg uke',\n monthSelect: 'Velg måned',\n yearSelect: 'Velg år',\n decadeSelect: 'Velg tiår',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned (PageUp)',\n nextMonth: 'Neste måned (PageDown)',\n previousYear: 'Forrige år (Control + venstre)',\n nextYear: 'Neste år (Control + høyre)',\n previousDecade: 'Forrige tiår',\n nextDecade: 'Neste tiår',\n previousCentury: 'Forrige århundre',\n nextCentury: 'Neste århundre'\n },\n timePickerLocale: {\n placeholder: 'Velg tid',\n rangePlaceholder: ['Starttid', 'Sluttid']\n }\n },\n global: {\n placeholder: 'Vennligst velg'\n },\n Table: {\n filterTitle: 'Filtermeny',\n filterConfirm: 'OK',\n filterReset: 'Nullstill',\n filterEmptyText: 'Ingen filtre',\n selectAll: 'Velg alle',\n selectInvert: 'Inverter gjeldende side',\n selectionAll: 'Velg all data',\n sortTitle: 'Sorter',\n expand: 'Utvid rad',\n collapse: 'Skjul rad',\n triggerDesc: 'Sorter data i synkende rekkefølge',\n triggerAsc: 'Sorterer data i stigende rekkefølge',\n cancelSort: 'Klikk for å avbryte sorteringen'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Avbryt',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Avbryt'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Søk her',\n itemUnit: 'element',\n itemsUnit: 'elementer',\n remove: 'Fjern',\n selectCurrent: 'Velg gjeldende side',\n removeCurrent: 'Fjern gjeldende side',\n selectAll: 'Velg all data',\n removeAll: 'Fjern all data',\n selectInvert: 'Inverter gjeldende side'\n },\n Upload: {\n uploading: 'Laster opp...',\n removeFile: 'Fjern fil',\n uploadError: 'Feil ved opplastning',\n previewFile: 'Forhåndsvisning',\n downloadFile: 'Last ned fil'\n },\n Empty: {\n description: 'Ingen data'\n },\n Icon: {\n icon: 'ikon'\n },\n Text: {\n edit: 'Rediger',\n copy: 'Kopier',\n copied: 'Kopiert',\n expand: 'Utvid'\n },\n PageHeader: {\n back: 'Tilbake'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ne_NP = {\n locale: 'ne-np',\n Pagination: {\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n TimePicker: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n },\n Calendar: {\n lang: {\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week'],\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n },\n timePickerLocale: {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n }\n },\n Table: {\n filterTitle: 'फिल्टर मेनु',\n filterConfirm: 'हो',\n filterReset: 'रीसेट',\n selectAll: 'सबै छान्नुुहोस्',\n selectInvert: 'छनौट उल्टाउनुहोस'\n },\n Modal: {\n okText: 'हो',\n cancelText: 'होईन',\n justOkText: 'हो'\n },\n Popconfirm: {\n okText: 'हो',\n cancelText: 'होईन'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'यहाँ खोज्नुहोस्',\n itemUnit: 'वस्तु',\n itemsUnit: 'वस्तुहरू'\n },\n Upload: {\n uploading: 'अपलोड गर्दै...',\n removeFile: 'फाइल हटाउनुहोस्',\n uploadError: 'अप्लोडमा समस्या भयो',\n previewFile: 'फाइल पूर्वावलोकन गर्नुहोस्',\n downloadFile: 'डाउनलोड फाइल'\n },\n Empty: {\n description: 'डाटा छैन'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar nl_BE = {\n locale: 'nl-be',\n Pagination: {\n items_per_page: '/ pagina',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: '',\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: \"Vorige 5 pagina's\",\n next_5: \"Volgende 5 pagina's\",\n prev_3: \"Vorige 3 pagina's\",\n next_3: \"Volgende 3 pagina's\",\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n locale: 'nl_BE',\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n monthPlaceholder: 'Selecteer maand',\n quarterPlaceholder: 'Selecteer kwartaal',\n rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],\n rangeWeekPlaceholder: ['Begin week', 'Eind week'],\n rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],\n weekPlaceholder: 'Selecteer week',\n yearPlaceholder: 'Selecteer jaar'\n },\n timePickerLocale: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n }\n },\n TimePicker: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n },\n Calendar: {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n locale: 'nl_BE',\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n monthPlaceholder: 'Selecteer maand',\n quarterPlaceholder: 'Selecteer kwartaal',\n rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],\n rangeWeekPlaceholder: ['Begin week', 'Eind week'],\n rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],\n weekPlaceholder: 'Selecteer week',\n yearPlaceholder: 'Selecteer jaar'\n },\n timePickerLocale: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n }\n },\n Table: {\n filterTitle: 'Filteren',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Selecteer huidige pagina',\n selectInvert: 'Keer volgorde om',\n cancelSort: 'Klik om sortering te annuleren',\n collapse: 'Rij inklappen',\n emptyText: 'Geen data',\n expand: 'Rij uitklappen',\n filterEmptyText: 'Geen filters',\n selectNone: 'Maak selectie leeg',\n selectionAll: 'Selecteer alle data',\n sortTitle: 'Sorteren',\n triggerAsc: 'Klik om oplopend te sorteren',\n triggerDesc: 'Klik om aflopend te sorteren'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuleer',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuleer'\n },\n Transfer: {\n searchPlaceholder: 'Zoek hier',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Verwijder',\n removeAll: 'Verwijder alles',\n removeCurrent: 'Verwijder huidige pagina',\n selectAll: 'Selecteer alles',\n selectCurrent: 'Selecteer huidige pagina',\n selectInvert: 'Huidige pagina omkeren',\n titles: ['', '']\n },\n Upload: {\n uploading: 'Uploaden...',\n removeFile: 'Verwijder bestand',\n uploadError: 'Fout tijdens uploaden',\n previewFile: 'Preview file',\n downloadFile: 'Bestand downloaden'\n },\n Empty: {\n description: 'Geen gegevens'\n },\n global: {\n placeholder: 'Maak een selectie'\n },\n Icon: {\n icon: 'icoon'\n },\n Text: {\n edit: 'Bewerken',\n copy: 'kopiëren',\n copied: 'Gekopieerd',\n expand: 'Uitklappen'\n },\n PageHeader: {\n back: 'Terug'\n },\n Image: {\n preview: 'Voorbeeld'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar nl_NL = {\n locale: 'nl',\n Pagination: {\n items_per_page: '/ pagina',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: 'Pagina',\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: \"Vorige 5 pagina's\",\n next_5: \"Volgende 5 pagina's\",\n prev_3: \"Vorige 3 pagina's\",\n next_3: \"Volgende 3 pagina's\",\n page_size: 'pagina grootte'\n },\n DatePicker: {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n locale: 'nl_NL',\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n monthPlaceholder: 'Selecteer maand',\n quarterPlaceholder: 'Selecteer kwartaal',\n rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],\n rangeWeekPlaceholder: ['Begin week', 'Eind week'],\n rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],\n weekPlaceholder: 'Selecteer week',\n yearPlaceholder: 'Selecteer jaar'\n },\n timePickerLocale: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n }\n },\n TimePicker: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n },\n Calendar: {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n locale: 'nl_NL',\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n monthPlaceholder: 'Selecteer maand',\n quarterPlaceholder: 'Selecteer kwartaal',\n rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],\n rangeWeekPlaceholder: ['Begin week', 'Eind week'],\n rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],\n weekPlaceholder: 'Selecteer week',\n yearPlaceholder: 'Selecteer jaar'\n },\n timePickerLocale: {\n placeholder: 'Selecteer tijd',\n rangePlaceholder: ['Start tijd', 'Eind tijd']\n }\n },\n global: {\n placeholder: 'Maak een selectie'\n },\n Table: {\n filterTitle: 'Filteren',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Selecteer huidige pagina',\n selectInvert: 'Keer volgorde om',\n sortTitle: 'Sorteren',\n expand: 'Rij uitklappen',\n collapse: 'Rij inklappen',\n cancelSort: 'Klik om sortering te annuleren',\n emptyText: 'Geen data',\n filterEmptyText: 'Geen filters',\n selectNone: 'Maak selectie leeg',\n selectionAll: 'Selecteer alle data',\n triggerAsc: 'Klik om oplopend te sorteren',\n triggerDesc: 'Klik om aflopend te sorteren'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuleer',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuleer'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Zoek hier',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Verwijder',\n removeAll: 'Verwijder alles',\n removeCurrent: 'Verwijder huidige pagina',\n selectAll: 'Selecteer alles',\n selectCurrent: 'Selecteer huidige pagina',\n selectInvert: 'Huidige pagina omkeren'\n },\n Upload: {\n uploading: 'Uploaden...',\n removeFile: 'Verwijder bestand',\n uploadError: 'Fout tijdens uploaden',\n previewFile: 'Preview file',\n downloadFile: 'Bestand downloaden'\n },\n Empty: {\n description: 'Geen gegevens'\n },\n Icon: {\n icon: 'icoon'\n },\n Text: {\n edit: 'Bewerken',\n copy: 'kopiëren',\n copied: 'Gekopieerd',\n expand: 'Uitklappen'\n },\n PageHeader: {\n back: 'Terug'\n },\n Image: {\n preview: 'Voorbeeld'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar pl_PL = {\n locale: 'pl',\n Pagination: {\n items_per_page: 'na stronę',\n jump_to: 'Idź do',\n jump_to_confirm: 'potwierdź',\n page: '',\n prev_page: 'Poprzednia strona',\n next_page: 'Następna strona',\n prev_5: 'Poprzednie 5 stron',\n next_5: 'Następne 5 stron',\n prev_3: 'Poprzednie 3 strony',\n next_3: 'Następne 3 strony',\n page_size: 'rozmiar strony'\n },\n DatePicker: {\n lang: {\n placeholder: 'Wybierz datę',\n yearPlaceholder: 'Wybierz rok',\n monthPlaceholder: 'Wybierz miesiąc',\n weekPlaceholder: 'Wybierz tydzień',\n rangePlaceholder: ['Data początkowa', 'Data końcowa'],\n rangeYearPlaceholder: ['Początkowy rok', 'Końcowy rok'],\n rangeMonthPlaceholder: ['Początkowy miesiąc', 'Końcowy miesiąc'],\n rangeWeekPlaceholder: ['Początkowy tydzień', 'Końcowy tydzień'],\n locale: 'pl_PL',\n today: 'Dzisiaj',\n now: 'Teraz',\n backToToday: 'Ustaw dzisiaj',\n ok: 'Ok',\n clear: 'Wyczyść',\n month: 'Miesiąc',\n year: 'Rok',\n timeSelect: 'Ustaw czas',\n dateSelect: 'Ustaw datę',\n monthSelect: 'Wybierz miesiąc',\n yearSelect: 'Wybierz rok',\n decadeSelect: 'Wybierz dekadę',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Poprzedni miesiąc (PageUp)',\n nextMonth: 'Następny miesiąc (PageDown)',\n previousYear: 'Ostatni rok (Ctrl + left)',\n nextYear: 'Następny rok (Ctrl + right)',\n previousDecade: 'Ostatnia dekada',\n nextDecade: 'Następna dekada',\n previousCentury: 'Ostatni wiek',\n nextCentury: 'Następny wiek'\n },\n timePickerLocale: {\n placeholder: 'Wybierz godzinę'\n }\n },\n TimePicker: {\n placeholder: 'Wybierz godzinę'\n },\n Calendar: {\n lang: {\n placeholder: 'Wybierz datę',\n rangePlaceholder: ['Data początkowa', 'Data końcowa'],\n locale: 'pl_PL',\n today: 'Dzisiaj',\n now: 'Teraz',\n backToToday: 'Ustaw dzisiaj',\n ok: 'Ok',\n clear: 'Wyczyść',\n month: 'Miesiąc',\n year: 'Rok',\n timeSelect: 'Ustaw czas',\n dateSelect: 'Ustaw datę',\n monthSelect: 'Wybierz miesiąc',\n yearSelect: 'Wybierz rok',\n decadeSelect: 'Wybierz dekadę',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Poprzedni miesiąc (PageUp)',\n nextMonth: 'Następny miesiąc (PageDown)',\n previousYear: 'Ostatni rok (Ctrl + left)',\n nextYear: 'Następny rok (Ctrl + right)',\n previousDecade: 'Ostatnia dekada',\n nextDecade: 'Następna dekada',\n previousCentury: 'Ostatni wiek',\n nextCentury: 'Następny wiek'\n },\n timePickerLocale: {\n placeholder: 'Wybierz godzinę'\n }\n },\n Table: {\n filterTitle: 'Menu filtra',\n filterConfirm: 'OK',\n filterReset: 'Usuń filtry',\n selectAll: 'Zaznacz bieżącą stronę',\n selectInvert: 'Odwróć zaznaczenie',\n triggerDesc: 'Sortuj malejąco',\n triggerAsc: 'Sortuj rosnąco',\n cancelSort: 'Usuń sortowanie',\n filterEmptyText: 'Brak filtrów',\n filterCheckall: 'Wybierz wszystkie elementy',\n filterSearchPlaceholder: 'Szukaj w filtrach',\n emptyText: 'Brak danych',\n selectNone: 'Wyczyść',\n selectionAll: 'Wybierz wszystkie',\n sortTitle: 'Sortowanie',\n expand: 'Rozwiń wiersz',\n collapse: 'Zwiń wiersz'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Anuluj',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Anuluj'\n },\n Transfer: {\n searchPlaceholder: 'Szukaj',\n itemUnit: 'obiekt',\n itemsUnit: 'obiekty',\n titles: ['', ''],\n remove: 'Usuń',\n selectCurrent: 'Wybierz aktualną stronę',\n removeCurrent: 'Usuń aktualną stronę',\n selectAll: 'Wybierz wszystkie',\n removeAll: 'Usuń wszystkie',\n selectInvert: 'Odwróć wybór'\n },\n Upload: {\n uploading: 'Wysyłanie...',\n removeFile: 'Usuń plik',\n uploadError: 'Błąd wysyłania',\n previewFile: 'Podejrzyj plik',\n downloadFile: 'Pobieranie pliku'\n },\n Empty: {\n description: 'Brak danych'\n },\n global: {\n placeholder: 'Wybierz'\n },\n Icon: {\n icon: 'Ikona'\n },\n Text: {\n edit: 'Edytuj',\n copy: 'Kopiuj',\n copied: 'Skopiowany',\n expand: 'Rozwiń'\n },\n PageHeader: {\n back: 'Wstecz'\n },\n Image: {\n preview: 'Podgląd'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar pt_BR = {\n locale: 'pt-br',\n Pagination: {\n items_per_page: '/ página',\n jump_to: 'Vá até',\n jump_to_confirm: 'confirme',\n page: 'Página',\n prev_page: 'Página anterior',\n next_page: 'Próxima página',\n prev_5: '5 páginas anteriores',\n next_5: '5 próximas páginas',\n prev_3: '3 páginas anteriores',\n next_3: '3 próximas páginas',\n page_size: 'tamanho da página'\n },\n DatePicker: {\n lang: {\n placeholder: 'Selecionar data',\n yearPlaceholder: 'Selecionar ano',\n quarterPlaceholder: 'Selecionar trimestre',\n monthPlaceholder: 'Selecionar mês',\n weekPlaceholder: 'Selecionar semana',\n rangePlaceholder: ['Data inicial', 'Data final'],\n rangeYearPlaceholder: ['Ano inicial', 'Ano Final'],\n rangeMonthPlaceholder: ['Mês inicial', 'Mês final'],\n rangeWeekPlaceholder: ['Semana inicial', 'Semana final'],\n locale: 'pt_BR',\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Voltar para hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar hora',\n dateSelect: 'Selecionar data',\n weekSelect: 'Escolher semana',\n monthSelect: 'Escolher mês',\n yearSelect: 'Escolher ano',\n decadeSelect: 'Escolher década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Próximo mês (PageDown)',\n previousYear: 'Ano anterior (Control + esquerda)',\n nextYear: 'Próximo ano (Control + direita)',\n previousDecade: 'Década anterior',\n nextDecade: 'Próxima década',\n previousCentury: 'Século anterior',\n nextCentury: 'Próximo século',\n shortWeekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']\n },\n timePickerLocale: {\n placeholder: 'Hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n }\n },\n TimePicker: {\n placeholder: 'Hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n },\n Calendar: {\n lang: {\n placeholder: 'Selecionar data',\n yearPlaceholder: 'Selecionar ano',\n quarterPlaceholder: 'Selecionar trimestre',\n monthPlaceholder: 'Selecionar mês',\n weekPlaceholder: 'Selecionar semana',\n rangePlaceholder: ['Data inicial', 'Data final'],\n rangeYearPlaceholder: ['Ano inicial', 'Ano Final'],\n rangeMonthPlaceholder: ['Mês inicial', 'Mês final'],\n rangeWeekPlaceholder: ['Semana inicial', 'Semana final'],\n locale: 'pt_BR',\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Voltar para hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar hora',\n dateSelect: 'Selecionar data',\n weekSelect: 'Escolher semana',\n monthSelect: 'Escolher mês',\n yearSelect: 'Escolher ano',\n decadeSelect: 'Escolher década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Próximo mês (PageDown)',\n previousYear: 'Ano anterior (Control + esquerda)',\n nextYear: 'Próximo ano (Control + direita)',\n previousDecade: 'Década anterior',\n nextDecade: 'Próxima década',\n previousCentury: 'Século anterior',\n nextCentury: 'Próximo século',\n shortWeekDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']\n },\n timePickerLocale: {\n placeholder: 'Hora',\n rangePlaceholder: ['Hora inicial', 'Hora final']\n }\n },\n global: {\n placeholder: 'Por favor escolha'\n },\n Table: {\n filterTitle: 'Menu de Filtro',\n filterConfirm: 'OK',\n filterReset: 'Resetar',\n filterEmptyText: 'Sem filtros',\n emptyText: 'Sem conteúdo',\n selectAll: 'Selecionar página atual',\n selectInvert: 'Inverter seleção',\n selectionAll: 'Selecionar todo o conteúdo',\n sortTitle: 'Ordenar título',\n expand: 'Expandir linha',\n collapse: 'Colapsar linha',\n triggerDesc: 'Clique organiza por descendente',\n triggerAsc: 'Clique organiza por ascendente',\n cancelSort: 'Clique para cancelar organização',\n selectNone: 'Apagar todo o conteúdo'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancelar',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancelar'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Procurar',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remover',\n selectCurrent: 'Selecionar página atual',\n removeCurrent: 'Remover página atual',\n selectAll: 'Selecionar todos',\n removeAll: 'Remover todos',\n selectInvert: 'Inverter seleção atual'\n },\n Upload: {\n uploading: 'Enviando...',\n removeFile: 'Remover arquivo',\n uploadError: 'Erro no envio',\n previewFile: 'Visualizar arquivo',\n downloadFile: 'Baixar arquivo'\n },\n Empty: {\n description: 'Não há dados'\n },\n Icon: {\n icon: 'ícone'\n },\n Text: {\n edit: 'editar',\n copy: 'copiar',\n copied: 'copiado',\n expand: 'expandir'\n },\n PageHeader: {\n back: 'Retornar'\n },\n Image: {\n preview: 'Pré-visualização'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar pt_PT = {\n locale: 'pt',\n Pagination: {\n items_per_page: '/ página',\n jump_to: 'Saltar',\n jump_to_confirm: 'confirmar',\n page: 'Página',\n prev_page: 'Página Anterior',\n next_page: 'Página Seguinte',\n prev_5: 'Recuar 5 Páginas',\n next_5: 'Avançar 5 Páginas',\n prev_3: 'Recuar 3 Páginas',\n next_3: 'Avançar 3 Páginas',\n page_size: 'mărimea paginii'\n },\n DatePicker: {\n lang: {\n locale: 'pt_PT',\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Hoje',\n ok: 'OK',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Hora',\n dateSelect: 'Selecionar data',\n monthSelect: 'Selecionar mês',\n yearSelect: 'Selecionar ano',\n decadeSelect: 'Selecionar década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Mês seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Última década',\n nextDecade: 'Próxima década',\n previousCentury: 'Último século',\n nextCentury: 'Próximo século',\n placeholder: 'Data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n monthFormat: 'MMMM'\n },\n timePickerLocale: {\n placeholder: 'Hora'\n }\n },\n TimePicker: {\n placeholder: 'Hora'\n },\n Calendar: {\n lang: {\n locale: 'pt_PT',\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Hoje',\n ok: 'OK',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Hora',\n dateSelect: 'Selecionar data',\n monthSelect: 'Selecionar mês',\n yearSelect: 'Selecionar ano',\n decadeSelect: 'Selecionar década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Mês seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Última década',\n nextDecade: 'Próxima década',\n previousCentury: 'Último século',\n nextCentury: 'Próximo século',\n placeholder: 'Data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n monthFormat: 'MMMM'\n },\n timePickerLocale: {\n placeholder: 'Hora'\n }\n },\n Table: {\n filterTitle: 'Filtro',\n filterConfirm: 'Aplicar',\n filterReset: 'Reiniciar',\n selectAll: 'Selecionar página atual',\n selectInvert: 'Inverter seleção',\n sortTitle: 'Ordenação'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancelar',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancelar'\n },\n Transfer: {\n searchPlaceholder: 'Procurar...',\n itemUnit: 'item',\n itemsUnit: 'itens'\n },\n Upload: {\n uploading: 'A carregar...',\n removeFile: 'Remover',\n uploadError: 'Erro ao carregar',\n previewFile: 'Pré-visualizar',\n downloadFile: 'Baixar'\n },\n Empty: {\n description: 'Sem resultados'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ro_RO = {\n locale: 'ro',\n Pagination: {\n items_per_page: '/ pagină',\n jump_to: 'Mergi la',\n jump_to_confirm: 'confirm',\n page: '',\n prev_page: 'Pagina Anterioară',\n next_page: 'Pagina Următoare',\n prev_5: '5 Pagini Anterioare',\n next_5: '5 Pagini Următoare',\n prev_3: '3 Pagini Anterioare',\n next_3: '3 Pagini Următoare',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Selectează data',\n rangePlaceholder: ['Data start', 'Data sfârșit'],\n locale: 'ro_RO',\n today: 'Azi',\n now: 'Acum',\n backToToday: 'Înapoi la azi',\n ok: 'Ok',\n clear: 'Șterge',\n month: 'Lună',\n year: 'An',\n timeSelect: 'selectează timpul',\n dateSelect: 'selectează data',\n weekSelect: 'Alege o săptămână',\n monthSelect: 'Alege o lună',\n yearSelect: 'Alege un an',\n decadeSelect: 'Alege un deceniu',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Luna anterioară (PageUp)',\n nextMonth: 'Luna următoare (PageDown)',\n previousYear: 'Anul anterior (Control + stânga)',\n nextYear: 'Anul următor (Control + dreapta)',\n previousDecade: 'Deceniul anterior',\n nextDecade: 'Deceniul următor',\n previousCentury: 'Secolul anterior',\n nextCentury: 'Secolul următor'\n },\n timePickerLocale: {\n placeholder: 'Selectează ora'\n }\n },\n TimePicker: {\n placeholder: 'Selectează ora'\n },\n Calendar: {\n lang: {\n placeholder: 'Selectează data',\n rangePlaceholder: ['Data start', 'Data sfârșit'],\n locale: 'ro_RO',\n today: 'Azi',\n now: 'Acum',\n backToToday: 'Înapoi la azi',\n ok: 'Ok',\n clear: 'Șterge',\n month: 'Lună',\n year: 'An',\n timeSelect: 'selectează timpul',\n dateSelect: 'selectează data',\n weekSelect: 'Alege o săptămână',\n monthSelect: 'Alege o lună',\n yearSelect: 'Alege un an',\n decadeSelect: 'Alege un deceniu',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Luna anterioară (PageUp)',\n nextMonth: 'Luna următoare (PageDown)',\n previousYear: 'Anul anterior (Control + stânga)',\n nextYear: 'Anul următor (Control + dreapta)',\n previousDecade: 'Deceniul anterior',\n nextDecade: 'Deceniul următor',\n previousCentury: 'Secolul anterior',\n nextCentury: 'Secolul următor'\n },\n timePickerLocale: {\n placeholder: 'Selectează ora'\n }\n },\n global: {\n placeholder: 'Selectează'\n },\n Table: {\n filterTitle: 'Filtrează',\n filterConfirm: 'OK',\n filterReset: 'Resetează',\n selectAll: 'Selectează pagina curentă',\n selectInvert: 'Inversează pagina curentă',\n sortTitle: 'Ordonează',\n expand: 'Extinde rândul',\n collapse: 'Micșorează rândul',\n filterEmptyText: 'Fără filtre',\n emptyText: 'Nu există date',\n selectNone: 'Șterge selecția',\n selectionAll: 'Selectează toate datele',\n triggerDesc: 'Apasă pentru ordonare descrescătoare',\n triggerAsc: 'Apasă pentru ordonare crescătoare',\n cancelSort: 'Apasă pentru a anula ordonarea'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Anulare',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Anulare'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Căutare',\n itemUnit: 'element',\n itemsUnit: 'elemente',\n remove: 'Șterge',\n selectCurrent: 'Selectează pagina curentă',\n removeCurrent: 'Șterge pagina curentă',\n selectAll: 'Selectează toate datele',\n removeAll: 'Șterge toate datele',\n selectInvert: 'Inversează pagina curentă'\n },\n Upload: {\n uploading: 'Se transferă...',\n removeFile: 'Înlătură fișierul',\n uploadError: 'Eroare la upload',\n previewFile: 'Previzualizare fișier',\n downloadFile: 'Descărcare fișier'\n },\n Empty: {\n description: 'Fără date'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'editează',\n copy: 'copiază',\n copied: 'copiat',\n expand: 'extinde'\n },\n PageHeader: {\n back: 'înapoi'\n },\n Image: {\n preview: 'Preview'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ru_RU = {\n locale: 'ru',\n Pagination: {\n items_per_page: '/ стр.',\n jump_to: 'Перейти',\n jump_to_confirm: 'подтвердить',\n page: 'Страница',\n prev_page: 'Назад',\n next_page: 'Вперед',\n prev_5: 'Предыдущие 5',\n next_5: 'Следующие 5',\n prev_3: 'Предыдущие 3',\n next_3: 'Следующие 3',\n page_size: 'размер страницы'\n },\n DatePicker: {\n lang: {\n placeholder: 'Выберите дату',\n yearPlaceholder: 'Выберите год',\n quarterPlaceholder: 'Выберите квартал',\n monthPlaceholder: 'Выберите месяц',\n weekPlaceholder: 'Выберите неделю',\n rangePlaceholder: ['Начальная дата', 'Конечная дата'],\n rangeYearPlaceholder: ['Начальный год', 'Год окончания'],\n rangeMonthPlaceholder: ['Начальный месяц', 'Конечный месяц'],\n rangeWeekPlaceholder: ['Начальная неделя', 'Конечная неделя'],\n locale: 'ru_RU',\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'ОК',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век'\n },\n timePickerLocale: {\n placeholder: 'Выберите время',\n rangePlaceholder: ['Время начала', 'Время окончания']\n }\n },\n TimePicker: {\n placeholder: 'Выберите время',\n rangePlaceholder: ['Время начала', 'Время окончания']\n },\n Calendar: {\n lang: {\n placeholder: 'Выберите дату',\n yearPlaceholder: 'Выберите год',\n quarterPlaceholder: 'Выберите квартал',\n monthPlaceholder: 'Выберите месяц',\n weekPlaceholder: 'Выберите неделю',\n rangePlaceholder: ['Начальная дата', 'Конечная дата'],\n rangeYearPlaceholder: ['Начальный год', 'Год окончания'],\n rangeMonthPlaceholder: ['Начальный месяц', 'Конечный месяц'],\n rangeWeekPlaceholder: ['Начальная неделя', 'Конечная неделя'],\n locale: 'ru_RU',\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'ОК',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век'\n },\n timePickerLocale: {\n placeholder: 'Выберите время',\n rangePlaceholder: ['Время начала', 'Время окончания']\n }\n },\n global: {\n placeholder: 'Пожалуйста выберите'\n },\n Table: {\n filterTitle: 'Фильтр',\n filterConfirm: 'OK',\n filterReset: 'Сбросить',\n filterEmptyText: 'Без фильтров',\n emptyText: 'Нет данных',\n selectAll: 'Выбрать всё',\n selectInvert: 'Инвертировать выбор',\n selectionAll: 'Выбрать все данные',\n sortTitle: 'Сортировка',\n expand: 'Развернуть строку',\n collapse: 'Свернуть строку',\n triggerDesc: 'Нажмите для сортировки по убыванию',\n triggerAsc: 'Нажмите для сортировки по возрастанию',\n cancelSort: 'Нажмите, чтобы отменить сортировку',\n selectNone: 'Очистить все данные'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Отмена',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Отмена'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Поиск',\n itemUnit: 'элем.',\n itemsUnit: 'элем.',\n remove: 'Удалить',\n selectAll: 'Выбрать все данные',\n selectCurrent: 'Выбрать текущую страницу',\n selectInvert: 'Показать в обратном порядке',\n removeAll: 'Удалить все данные',\n removeCurrent: 'Удалить текущую страницу'\n },\n Upload: {\n uploading: 'Загрузка...',\n removeFile: 'Удалить файл',\n uploadError: 'При загрузке произошла ошибка',\n previewFile: 'Предпросмотр файла',\n downloadFile: 'Загрузить файл'\n },\n Empty: {\n description: 'Нет данных'\n },\n Icon: {\n icon: 'иконка'\n },\n Text: {\n edit: 'Редактировать',\n copy: 'Копировать',\n copied: 'Скопировано',\n expand: 'Раскрыть'\n },\n PageHeader: {\n back: 'Назад'\n },\n Image: {\n preview: 'Предпросмотр'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar sk_SK = {\n locale: 'sk',\n Pagination: {\n items_per_page: '/ strana',\n jump_to: 'Choď na',\n jump_to_confirm: 'potvrdit',\n page: '',\n prev_page: 'Predchádzajúca strana',\n next_page: 'Nasledujúca strana',\n prev_5: 'Predchádzajúcich 5 strán',\n next_5: 'Nasledujúcich 5 strán',\n prev_3: 'Predchádzajúce 3 strany',\n next_3: 'Nasledujúce 3 strany',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Vybrať dátum',\n rangePlaceholder: ['Od', 'Do'],\n locale: 'sk_SK',\n today: 'Dnes',\n now: 'Teraz',\n backToToday: 'Späť na dnes',\n ok: 'Ok',\n clear: 'Vymazať',\n month: 'Mesiac',\n year: 'Rok',\n timeSelect: 'Vybrať čas',\n dateSelect: 'Vybrať dátum',\n monthSelect: 'Vybrať mesiac',\n yearSelect: 'Vybrať rok',\n decadeSelect: 'Vybrať dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Predchádzajúci mesiac (PageUp)',\n nextMonth: 'Nasledujúci mesiac (PageDown)',\n previousYear: 'Predchádzajúci rok (Control + left)',\n nextYear: 'Nasledujúci rok (Control + right)',\n previousDecade: 'Predchádzajúca dekáda',\n nextDecade: 'Nasledujúca dekáda',\n previousCentury: 'Predchádzajúce storočie',\n nextCentury: 'Nasledujúce storočie'\n },\n timePickerLocale: {\n placeholder: 'Vybrať čas'\n }\n },\n TimePicker: {\n placeholder: 'Vybrať čas'\n },\n Calendar: {\n lang: {\n placeholder: 'Vybrať dátum',\n rangePlaceholder: ['Od', 'Do'],\n locale: 'sk_SK',\n today: 'Dnes',\n now: 'Teraz',\n backToToday: 'Späť na dnes',\n ok: 'Ok',\n clear: 'Vymazať',\n month: 'Mesiac',\n year: 'Rok',\n timeSelect: 'Vybrať čas',\n dateSelect: 'Vybrať dátum',\n monthSelect: 'Vybrať mesiac',\n yearSelect: 'Vybrať rok',\n decadeSelect: 'Vybrať dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Predchádzajúci mesiac (PageUp)',\n nextMonth: 'Nasledujúci mesiac (PageDown)',\n previousYear: 'Predchádzajúci rok (Control + left)',\n nextYear: 'Nasledujúci rok (Control + right)',\n previousDecade: 'Predchádzajúca dekáda',\n nextDecade: 'Nasledujúca dekáda',\n previousCentury: 'Predchádzajúce storočie',\n nextCentury: 'Nasledujúce storočie'\n },\n timePickerLocale: {\n placeholder: 'Vybrať čas'\n }\n },\n global: {\n placeholder: 'Prosím vyberte'\n },\n Table: {\n filterTitle: 'Filter',\n filterConfirm: 'OK',\n filterReset: 'Obnoviť',\n selectAll: 'Vybrať všetko',\n selectInvert: 'Vybrať opačné',\n sortTitle: 'Zoradiť',\n expand: 'Rozbaliť riadok',\n collapse: 'Zbaliť riadok'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Zrušiť',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Zrušiť'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Vyhľadávanie',\n itemUnit: 'položka',\n itemsUnit: 'položiek'\n },\n Upload: {\n uploading: 'Nahrávanie...',\n removeFile: 'Odstrániť súbor',\n uploadError: 'Chyba pri nahrávaní',\n previewFile: 'Zobraziť súbor',\n downloadFile: 'Stiahnuť súbor'\n },\n Empty: {\n description: 'Žiadne dáta'\n },\n Icon: {\n icon: 'ikona'\n },\n Text: {\n edit: 'Upraviť',\n copy: 'Kopírovať',\n copied: 'Skopírované',\n expand: 'Zväčšiť'\n },\n PageHeader: {\n back: 'Späť'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar sl_SI = {\n locale: 'sl',\n Pagination: {\n items_per_page: '/ strani',\n jump_to: 'Pojdi na',\n jump_to_confirm: 'potrdi',\n page: '',\n prev_page: 'Prejšnja stran',\n next_page: 'Naslednja stran',\n prev_5: 'Prejšnjih 5 strani',\n next_5: 'Naslednjih 5 strani',\n prev_3: 'Prejšnje 3 strani',\n next_3: 'Naslednje 3 strani',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n locale: 'sl',\n placeholder: 'Izberite datum',\n rangePlaceholder: ['Začetni datum', 'Končni datum'],\n today: 'Danes',\n now: 'Trenutno',\n backToToday: 'Nazaj na trenutni datum',\n ok: 'OK',\n clear: 'Počisti',\n month: 'Mesec',\n year: 'Leto',\n timeSelect: 'Izberi čas',\n dateSelect: 'Izberi datum',\n monthSelect: 'Izberite mesec',\n yearSelect: 'Izberite leto',\n decadeSelect: 'Izberite desetletje',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthFormat: 'MMMM',\n monthBeforeYear: true,\n previousMonth: 'Prejšnji mesec (PageUp)',\n nextMonth: 'Naslednji mesec (PageDown)',\n previousYear: 'Lansko leto (Control + left)',\n nextYear: 'Naslednje leto (Control + right)',\n previousDecade: 'Prejšnje desetletje',\n nextDecade: 'Naslednje desetletje',\n previousCentury: 'Zadnje stoletje',\n nextCentury: 'Naslednje stoletje'\n },\n timePickerLocale: {\n placeholder: 'Izberite čas'\n }\n },\n TimePicker: {\n placeholder: 'Izberite čas'\n },\n Calendar: {\n lang: {\n locale: 'sl',\n placeholder: 'Izberite datum',\n rangePlaceholder: ['Začetni datum', 'Končni datum'],\n today: 'Danes',\n now: 'Trenutno',\n backToToday: 'Nazaj na trenutni datum',\n ok: 'OK',\n clear: 'Počisti',\n month: 'Mesec',\n year: 'Leto',\n timeSelect: 'Izberi čas',\n dateSelect: 'Izberi datum',\n monthSelect: 'Izberite mesec',\n yearSelect: 'Izberite leto',\n decadeSelect: 'Izberite desetletje',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthFormat: 'MMMM',\n monthBeforeYear: true,\n previousMonth: 'Prejšnji mesec (PageUp)',\n nextMonth: 'Naslednji mesec (PageDown)',\n previousYear: 'Lansko leto (Control + left)',\n nextYear: 'Naslednje leto (Control + right)',\n previousDecade: 'Prejšnje desetletje',\n nextDecade: 'Naslednje desetletje',\n previousCentury: 'Zadnje stoletje',\n nextCentury: 'Naslednje stoletje'\n },\n timePickerLocale: {\n placeholder: 'Izberite čas'\n }\n },\n Table: {\n filterTitle: 'Filter',\n filterConfirm: 'Filtriraj',\n filterReset: 'Pobriši filter',\n selectAll: 'Izberi vse na trenutni strani',\n selectInvert: 'Obrni izbor na trenutni strani'\n },\n Modal: {\n okText: 'V redu',\n cancelText: 'Prekliči',\n justOkText: 'V redu'\n },\n Popconfirm: {\n okText: 'v redu',\n cancelText: 'Prekliči'\n },\n Transfer: {\n searchPlaceholder: 'Išči tukaj',\n itemUnit: 'Objekt',\n itemsUnit: 'Objektov'\n },\n Upload: {\n uploading: 'Nalaganje...',\n removeFile: 'Odstrani datoteko',\n uploadError: 'Napaka pri nalaganju',\n previewFile: 'Predogled datoteke',\n downloadFile: 'Prenos datoteke'\n },\n Empty: {\n description: 'Ni podatkov'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar sr_RS = {\n locale: 'sr',\n Pagination: {\n items_per_page: '/ strani',\n jump_to: 'Idi na',\n page: '',\n prev_page: 'Prethodna strana',\n next_page: 'Sledeća strana',\n prev_5: 'Prethodnih 5 Strana',\n next_5: 'Sledećih 5 Strana',\n prev_3: 'Prethodnih 3 Strane',\n next_3: 'Sledećih 3 Strane',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Izaberi datum',\n rangePlaceholder: ['Datum početka', 'Datum završetka'],\n locale: 'sr_RS',\n today: 'Danas',\n now: 'Sada',\n backToToday: 'Vrati se na danas',\n ok: 'U redu',\n clear: 'Obriši',\n month: 'Mesec',\n year: 'Godina',\n timeSelect: 'Izaberi vreme',\n dateSelect: 'Izaberi datum',\n monthSelect: 'Izaberi mesec',\n yearSelect: 'Izaberi godinu',\n decadeSelect: 'Izaberi deceniju',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prethodni mesec (PageUp)',\n nextMonth: 'Sledeći mesec (PageDown)',\n previousYear: 'Prethodna godina (Control + left)',\n nextYear: 'Sledeća godina (Control + right)',\n previousDecade: 'Prethodna decenija',\n nextDecade: 'Sledeća decenija',\n previousCentury: 'Prethodni vek',\n nextCentury: 'Sledeći vek',\n yearPlaceholder: 'Izaberi godinu',\n quarterPlaceholder: 'Izaberi tromesečje',\n monthPlaceholder: 'Izaberi mesec',\n weekPlaceholder: 'Izaberi sedmicu',\n rangeYearPlaceholder: ['Godina početka', 'Godina završetka'],\n rangeMonthPlaceholder: ['Mesec početka', 'Mesec završetka'],\n rangeWeekPlaceholder: ['Sedmica početka', 'Sedmica završetka']\n },\n timePickerLocale: {\n placeholder: 'Izaberi vreme',\n rangePlaceholder: ['Vreme početka', 'Vreme završetka']\n }\n },\n TimePicker: {\n placeholder: 'Izaberi vreme',\n rangePlaceholder: ['Vreme početka', 'Vreme završetka']\n },\n Calendar: {\n lang: {\n placeholder: 'Izaberi datum',\n rangePlaceholder: ['Datum početka', 'Datum završetka'],\n locale: 'sr_RS',\n today: 'Danas',\n now: 'Sada',\n backToToday: 'Vrati se na danas',\n ok: 'U redu',\n clear: 'Obriši',\n month: 'Mesec',\n year: 'Godina',\n timeSelect: 'Izaberi vreme',\n dateSelect: 'Izaberi datum',\n monthSelect: 'Izaberi mesec',\n yearSelect: 'Izaberi godinu',\n decadeSelect: 'Izaberi deceniju',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prethodni mesec (PageUp)',\n nextMonth: 'Sledeći mesec (PageDown)',\n previousYear: 'Prethodna godina (Control + left)',\n nextYear: 'Sledeća godina (Control + right)',\n previousDecade: 'Prethodna decenija',\n nextDecade: 'Sledeća decenija',\n previousCentury: 'Prethodni vek',\n nextCentury: 'Sledeći vek',\n yearPlaceholder: 'Izaberi godinu',\n quarterPlaceholder: 'Izaberi tromesečje',\n monthPlaceholder: 'Izaberi mesec',\n weekPlaceholder: 'Izaberi sedmicu',\n rangeYearPlaceholder: ['Godina početka', 'Godina završetka'],\n rangeMonthPlaceholder: ['Mesec početka', 'Mesec završetka'],\n rangeWeekPlaceholder: ['Sedmica početka', 'Sedmica završetka']\n },\n timePickerLocale: {\n placeholder: 'Izaberi vreme',\n rangePlaceholder: ['Vreme početka', 'Vreme završetka']\n }\n },\n Table: {\n filterTitle: 'Meni filtera',\n filterConfirm: 'U redu',\n filterReset: 'Poništi',\n selectAll: 'Izaberi trenutnu stranicu',\n selectInvert: 'Obrni izbor trenutne stranice',\n filterEmptyText: 'Nema filtera',\n emptyText: 'Nema podataka',\n selectNone: 'Obriši sve podatke',\n selectionAll: 'Izaberi sve podatke',\n sortTitle: 'Sortiraj',\n expand: 'Proširi red',\n collapse: 'Skupi red',\n triggerDesc: 'Klikni da sortiraš po padajućem redosledu',\n triggerAsc: 'Klikni da sortiraš po rastućem redosledu',\n cancelSort: 'Klikni da otkažeš sortiranje'\n },\n Modal: {\n okText: 'U redu',\n cancelText: 'Otkaži',\n justOkText: 'U redu'\n },\n Popconfirm: {\n okText: 'U redu',\n cancelText: 'Otkaži'\n },\n Transfer: {\n searchPlaceholder: 'Pretraži ovde',\n itemUnit: 'stavka',\n itemsUnit: 'stavki',\n titles: ['', ''],\n remove: 'Ukloni',\n selectCurrent: 'Izaberi trenutnu stranicu',\n removeCurrent: 'Ukloni trenutnu stranicu',\n selectAll: 'Izaberi sve podatke',\n removeAll: 'Ukloni sve podatke',\n selectInvert: 'Obrni izbor trenutne stranice'\n },\n Upload: {\n uploading: 'Otpremanje...',\n removeFile: 'Ukloni datoteku',\n uploadError: 'Greška pri otpremanju',\n previewFile: 'Pregledaj datoteku',\n downloadFile: 'Preuzmi datoteku'\n },\n Empty: {\n description: 'Nema podataka'\n },\n global: {\n placeholder: 'Izaberi'\n },\n Icon: {\n icon: 'ikona'\n },\n Text: {\n edit: 'Uredi',\n copy: 'Kopiraj',\n copied: 'Kopirano',\n expand: 'Proširi'\n },\n PageHeader: {\n back: 'Nazad'\n },\n Image: {\n preview: 'Pregled'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar sv_SE = {\n locale: 'sv',\n Pagination: {\n items_per_page: '/ sida',\n jump_to: 'Gå till',\n jump_to_confirm: 'bekräfta',\n page: 'Sida',\n prev_page: 'Föreg sida',\n next_page: 'Nästa sida',\n prev_5: 'Föreg 5 sidor',\n next_5: 'Nästa 5 sidor',\n prev_3: 'Föreg 3 sidor',\n next_3: 'Nästa 3 sidor',\n page_size: 'sidstorlek'\n },\n DatePicker: {\n lang: {\n placeholder: 'Välj datum',\n rangePlaceholder: ['Startdatum', 'Slutdatum'],\n locale: 'sv_SE',\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Till idag',\n ok: 'Ok',\n clear: 'Avbryt',\n month: 'Månad',\n year: 'År',\n timeSelect: 'Välj tidpunkt',\n dateSelect: 'Välj datum',\n monthSelect: 'Välj månad',\n yearSelect: 'Välj år',\n decadeSelect: 'Välj årtionde',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'D',\n dateTimeFormat: 'YYYY-MM-DD H:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Förra månaden (PageUp)',\n nextMonth: 'Nästa månad (PageDown)',\n previousYear: 'Föreg år (Control + left)',\n nextYear: 'Nästa år (Control + right)',\n previousDecade: 'Föreg årtionde',\n nextDecade: 'Nästa årtionde',\n previousCentury: 'Föreg århundrade',\n nextCentury: 'Nästa århundrade',\n yearPlaceholder: 'Välj år',\n quarterPlaceholder: 'Välj kvartal',\n monthPlaceholder: 'Välj månad',\n weekPlaceholder: 'Välj vecka',\n rangeYearPlaceholder: ['Startår', 'Slutår'],\n rangeMonthPlaceholder: ['Startmånad', 'Slutmånad'],\n rangeWeekPlaceholder: ['Startvecka', 'Slutvecka']\n },\n timePickerLocale: {\n placeholder: 'Välj tid'\n }\n },\n TimePicker: {\n placeholder: 'Välj tid'\n },\n Calendar: {\n lang: {\n placeholder: 'Välj datum',\n rangePlaceholder: ['Startdatum', 'Slutdatum'],\n locale: 'sv_SE',\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Till idag',\n ok: 'Ok',\n clear: 'Avbryt',\n month: 'Månad',\n year: 'År',\n timeSelect: 'Välj tidpunkt',\n dateSelect: 'Välj datum',\n monthSelect: 'Välj månad',\n yearSelect: 'Välj år',\n decadeSelect: 'Välj årtionde',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'D',\n dateTimeFormat: 'YYYY-MM-DD H:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Förra månaden (PageUp)',\n nextMonth: 'Nästa månad (PageDown)',\n previousYear: 'Föreg år (Control + left)',\n nextYear: 'Nästa år (Control + right)',\n previousDecade: 'Föreg årtionde',\n nextDecade: 'Nästa årtionde',\n previousCentury: 'Föreg århundrade',\n nextCentury: 'Nästa århundrade',\n yearPlaceholder: 'Välj år',\n quarterPlaceholder: 'Välj kvartal',\n monthPlaceholder: 'Välj månad',\n weekPlaceholder: 'Välj vecka',\n rangeYearPlaceholder: ['Startår', 'Slutår'],\n rangeMonthPlaceholder: ['Startmånad', 'Slutmånad'],\n rangeWeekPlaceholder: ['Startvecka', 'Slutvecka']\n },\n timePickerLocale: {\n placeholder: 'Välj tid'\n }\n },\n Table: {\n filterTitle: 'Filtermeny',\n filterConfirm: 'OK',\n filterReset: 'Återställ',\n filterEmptyText: 'Inga filter',\n emptyText: 'Ingen data',\n selectAll: 'Markera nuvarande sida',\n selectInvert: 'Invertera nuvarande sida',\n selectNone: 'Avmarkera all data',\n selectionAll: 'Markera all data',\n sortTitle: 'Sortera',\n expand: 'Expandera rad',\n collapse: 'Komprimera rad',\n triggerDesc: 'Klicka för att sortera i fallande ordning',\n triggerAsc: 'Klicka för att sortera i stigande ordning',\n cancelSort: 'Klicka för att avbryta sortering'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Avbryt',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Avbryt'\n },\n Transfer: {\n searchPlaceholder: 'Sök här',\n itemUnit: 'objekt',\n itemsUnit: 'objekt',\n titles: ['', ''],\n remove: 'Ta bort',\n selectCurrent: 'Markera nuvarande sida',\n removeCurrent: 'Ta bort nuvarande sida',\n selectAll: 'Markera all data',\n removeAll: 'Ta bort all data',\n selectInvert: 'Invertera nuvarande sida'\n },\n Empty: {\n description: 'Ingen data'\n },\n Text: {\n edit: 'Redigera',\n copy: 'Kopiera',\n copied: 'Kopierad',\n expand: 'Expandera'\n },\n Upload: {\n uploading: 'Laddar upp...',\n removeFile: 'Ta bort fil',\n uploadError: 'Uppladdningsfel',\n previewFile: 'Förhandsgranska fil',\n downloadFile: 'Ladda ned fil'\n },\n global: {\n placeholder: 'Vänligen välj'\n },\n Icon: {\n icon: 'ikon'\n },\n PageHeader: {\n back: 'Tillbaka'\n },\n Image: {\n preview: 'Förhandsgranska'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ta_IN = {\n locale: 'ta',\n Pagination: {\n items_per_page: '/ பக்கம்',\n jump_to: 'அடுத்த',\n jump_to_confirm: 'உறுதிப்படுத்தவும்',\n page: '',\n prev_page: 'முந்தைய பக்கம்',\n next_page: 'அடுத்த பக்கம்',\n prev_5: 'முந்தைய 5 பக்கங்கள்',\n next_5: 'அடுத்த 5 பக்கங்கள்',\n prev_3: 'முந்தைய 3 பக்கங்கள்',\n next_3: 'அடுத்த 3 பக்கங்கள்',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்',\n rangePlaceholder: ['தொடக்க தேதி', 'கடைசி தேதி'],\n locale: 'ta_IN',\n today: 'இன்று',\n now: 'இப்போது',\n backToToday: 'இன்றுக்கு திரும்பு',\n ok: 'சரி',\n clear: 'அழி',\n month: 'மாதம்',\n year: 'வருடம்',\n timeSelect: 'நேரத்தைத் தேர்ந்தெடு',\n dateSelect: 'தேதியைத் தேர்ந்தெடு',\n weekSelect: 'வாரத்தைத் தேர்வுசெய்க',\n monthSelect: 'மாதத்தைத் தேர்வுசெய்க',\n yearSelect: 'வருடத்தைத் தேர்வுசெய்க',\n decadeSelect: 'தசாப்தத்தைத் தேர்வுசெய்க',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'முந்தைய மாதம் (PageUp)',\n nextMonth: 'அடுத்த மாதம் (PageDown)',\n previousYear: 'முந்தைய வருடம் (Control + left)',\n nextYear: 'அடுத்த வருடம் (Control + right)',\n previousDecade: 'முந்தைய தசாப்தம்',\n nextDecade: 'அடுத்த தசாப்தம்',\n previousCentury: 'முந்தைய நூற்றாண்டு',\n nextCentury: 'அடுத்த நூற்றாண்டு'\n },\n timePickerLocale: {\n placeholder: 'நேரத்தைத் தேர்ந்தெடுக்கவும்'\n }\n },\n TimePicker: {\n placeholder: 'நேரத்தைத் தேர்ந்தெடுக்கவும்'\n },\n Calendar: {\n lang: {\n placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்',\n rangePlaceholder: ['தொடக்க தேதி', 'கடைசி தேதி'],\n locale: 'ta_IN',\n today: 'இன்று',\n now: 'இப்போது',\n backToToday: 'இன்றுக்கு திரும்பு',\n ok: 'சரி',\n clear: 'அழி',\n month: 'மாதம்',\n year: 'வருடம்',\n timeSelect: 'நேரத்தைத் தேர்ந்தெடு',\n dateSelect: 'தேதியைத் தேர்ந்தெடு',\n weekSelect: 'வாரத்தைத் தேர்வுசெய்க',\n monthSelect: 'மாதத்தைத் தேர்வுசெய்க',\n yearSelect: 'வருடத்தைத் தேர்வுசெய்க',\n decadeSelect: 'தசாப்தத்தைத் தேர்வுசெய்க',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'முந்தைய மாதம் (PageUp)',\n nextMonth: 'அடுத்த மாதம் (PageDown)',\n previousYear: 'முந்தைய வருடம் (Control + left)',\n nextYear: 'அடுத்த வருடம் (Control + right)',\n previousDecade: 'முந்தைய தசாப்தம்',\n nextDecade: 'அடுத்த தசாப்தம்',\n previousCentury: 'முந்தைய நூற்றாண்டு',\n nextCentury: 'அடுத்த நூற்றாண்டு'\n },\n timePickerLocale: {\n placeholder: 'நேரத்தைத் தேர்ந்தெடுக்கவும்'\n }\n },\n global: {\n placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்'\n },\n Table: {\n filterTitle: 'பட்டியலை மூடு',\n filterConfirm: 'சரி',\n filterReset: 'மீட்டமை',\n emptyText: 'தகவல் இல்லை',\n selectAll: 'அனைத்தையும் தேர்வுசெய்',\n selectInvert: 'தலைகீழாக மாற்று',\n sortTitle: 'தலைப்பை வரிசைப்படுத்தவும்'\n },\n Modal: {\n okText: 'சரி',\n cancelText: 'ரத்து செய்யவும்',\n justOkText: 'பரவாயில்லை, சரி'\n },\n Popconfirm: {\n okText: 'சரி',\n cancelText: 'ரத்து செய்யவும்'\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'உள்ளடக்கம் கிடைக்கவில்லை',\n searchPlaceholder: 'இங்கு தேடவும்',\n itemUnit: 'தகவல்',\n itemsUnit: 'தகவல்கள்'\n },\n Upload: {\n uploading: 'பதிவேற்றுகிறது...',\n removeFile: 'கோப்பை அகற்று',\n uploadError: 'பதிவேற்றுவதில் பிழை',\n previewFile: 'கோப்பை முன்னோட்டமிடுங்கள்',\n downloadFile: 'பதிவிறக்க கோப்பு'\n },\n Empty: {\n description: 'தகவல் இல்லை'\n },\n Icon: {\n icon: 'உருவம்'\n },\n Text: {\n edit: 'திருத்து',\n copy: 'நகல் எடு',\n copied: 'நகல் எடுக்கப்பட்டது',\n expand: 'விரிவாக்கவும்'\n },\n PageHeader: {\n back: 'பின் செல்லவும்'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar th_TH = {\n locale: 'th',\n Pagination: {\n items_per_page: '/ หน้า',\n jump_to: 'ไปยัง',\n jump_to_confirm: 'ยืนยัน',\n page: 'หน้า',\n prev_page: 'หน้าก่อนหน้า',\n next_page: 'หน้าถัดไป',\n prev_5: 'ย้อนกลับ 5 หน้า',\n next_5: 'ถัดไป 5 หน้า',\n prev_3: 'ย้อนกลับ 3 หน้า',\n next_3: 'ถัดไป 3 หน้า',\n page_size: 'ขนาดหน้า'\n },\n DatePicker: {\n lang: {\n placeholder: 'เลือกวันที่',\n yearPlaceholder: 'เลือกปี',\n quarterPlaceholder: 'เลือกไตรมาส',\n monthPlaceholder: 'เลือกเดือน',\n weekPlaceholder: 'เลือกสัปดาห์',\n rangePlaceholder: ['วันเริ่มต้น', 'วันสิ้นสุด'],\n rangeYearPlaceholder: ['ปีเริ่มต้น', 'ปีสิ้นสุด'],\n rangeMonthPlaceholder: ['เดือนเริ่มต้น', 'เดือนสิ้นสุด'],\n rangeWeekPlaceholder: ['สัปดาห์เริ่มต้น', 'สัปดาห์สิ้นสุด'],\n locale: 'th_TH',\n today: 'วันนี้',\n now: 'ตอนนี้',\n backToToday: 'กลับไปยังวันนี้',\n ok: 'ตกลง',\n clear: 'ลบล้าง',\n month: 'เดือน',\n year: 'ปี',\n timeSelect: 'เลือกเวลา',\n dateSelect: 'เลือกวัน',\n monthSelect: 'เลือกเดือน',\n yearSelect: 'เลือกปี',\n decadeSelect: 'เลือกทศวรรษ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'เดือนก่อนหน้า (PageUp)',\n nextMonth: 'เดือนถัดไป (PageDown)',\n previousYear: 'ปีก่อนหน้า (Control + left)',\n nextYear: 'ปีถัดไป (Control + right)',\n previousDecade: 'ทศวรรษก่อนหน้า',\n nextDecade: 'ทศวรรษถัดไป',\n previousCentury: 'ศตวรรษก่อนหน้า',\n nextCentury: 'ศตวรรษถัดไป'\n },\n timePickerLocale: {\n placeholder: 'เลือกเวลา'\n }\n },\n TimePicker: {\n placeholder: 'เลือกเวลา'\n },\n Calendar: {\n lang: {\n placeholder: 'เลือกวันที่',\n yearPlaceholder: 'เลือกปี',\n quarterPlaceholder: 'เลือกไตรมาส',\n monthPlaceholder: 'เลือกเดือน',\n weekPlaceholder: 'เลือกสัปดาห์',\n rangePlaceholder: ['วันเริ่มต้น', 'วันสิ้นสุด'],\n rangeYearPlaceholder: ['ปีเริ่มต้น', 'ปีสิ้นสุด'],\n rangeMonthPlaceholder: ['เดือนเริ่มต้น', 'เดือนสิ้นสุด'],\n rangeWeekPlaceholder: ['สัปดาห์เริ่มต้น', 'สัปดาห์สิ้นสุด'],\n locale: 'th_TH',\n today: 'วันนี้',\n now: 'ตอนนี้',\n backToToday: 'กลับไปยังวันนี้',\n ok: 'ตกลง',\n clear: 'ลบล้าง',\n month: 'เดือน',\n year: 'ปี',\n timeSelect: 'เลือกเวลา',\n dateSelect: 'เลือกวัน',\n monthSelect: 'เลือกเดือน',\n yearSelect: 'เลือกปี',\n decadeSelect: 'เลือกทศวรรษ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'เดือนก่อนหน้า (PageUp)',\n nextMonth: 'เดือนถัดไป (PageDown)',\n previousYear: 'ปีก่อนหน้า (Control + left)',\n nextYear: 'ปีถัดไป (Control + right)',\n previousDecade: 'ทศวรรษก่อนหน้า',\n nextDecade: 'ทศวรรษถัดไป',\n previousCentury: 'ศตวรรษก่อนหน้า',\n nextCentury: 'ศตวรรษถัดไป'\n },\n timePickerLocale: {\n placeholder: 'เลือกเวลา'\n }\n },\n global: {\n placeholder: 'กรุณาเลือก'\n },\n Table: {\n filterTitle: 'ตัวกรอง',\n filterConfirm: 'ยืนยัน',\n filterReset: 'รีเซ็ต',\n filterEmptyText: 'ไม่มีตัวกรอง',\n emptyText: 'ไม่มีข้อมูล',\n selectAll: 'เลือกทั้งหมดในหน้านี้',\n selectInvert: 'กลับสถานะการเลือกในหน้านี้',\n selectionAll: 'เลือกข้อมูลทั้งหมด',\n sortTitle: 'เรียง',\n expand: 'แสดงแถวข้อมูล',\n collapse: 'ย่อแถวข้อมูล',\n triggerDesc: 'คลิกเรียงจากมากไปน้อย',\n triggerAsc: 'คลิกเรียงจากน้อยไปมาก',\n cancelSort: 'คลิกเพื่อยกเลิกการเรียง'\n },\n Modal: {\n okText: 'ตกลง',\n cancelText: 'ยกเลิก',\n justOkText: 'ตกลง'\n },\n Popconfirm: {\n okText: 'ตกลง',\n cancelText: 'ยกเลิก'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'ค้นหา',\n itemUnit: 'ชิ้น',\n itemsUnit: 'ชิ้น',\n remove: 'นำออก',\n selectCurrent: 'เลือกทั้งหมดในหน้านี้',\n removeCurrent: 'นำออกทั้งหมดในหน้านี้',\n selectAll: 'เลือกข้อมูลทั้งหมด',\n removeAll: 'นำข้อมูลออกทั้งหมด',\n selectInvert: 'กลับสถานะการเลือกในหน้านี้'\n },\n Upload: {\n uploading: 'กำลังอัปโหลด...',\n removeFile: 'ลบไฟล์',\n uploadError: 'เกิดข้อผิดพลาดในการอัปโหลด',\n previewFile: 'ดูตัวอย่างไฟล์',\n downloadFile: 'ดาวน์โหลดไฟล์'\n },\n Empty: {\n description: 'ไม่มีข้อมูล'\n },\n Icon: {\n icon: 'ไอคอน'\n },\n Text: {\n edit: 'แก้ไข',\n copy: 'คัดลอก',\n copied: 'คัดลอกแล้ว',\n expand: 'ขยาย'\n },\n PageHeader: {\n back: 'ย้อนกลับ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar tr_TR = {\n locale: 'tr',\n Pagination: {\n items_per_page: '/ sayfa',\n jump_to: 'Git',\n jump_to_confirm: 'onayla',\n page: 'Sayfa',\n prev_page: 'Önceki Sayfa',\n next_page: 'Sonraki Sayfa',\n prev_5: 'Önceki 5 Sayfa',\n next_5: 'Sonraki 5 Sayfa',\n prev_3: 'Önceki 3 Sayfa',\n next_3: 'Sonraki 3 Sayfa',\n page_size: 'sayfa boyutu'\n },\n DatePicker: {\n lang: {\n placeholder: 'Tarih seç',\n yearPlaceholder: 'Yıl seç',\n quarterPlaceholder: 'Çeyrek seç',\n monthPlaceholder: 'Ay seç',\n weekPlaceholder: 'Hafta seç',\n rangePlaceholder: ['Başlangıç tarihi', 'Bitiş tarihi'],\n rangeYearPlaceholder: ['Başlangıç yılı', 'Bitiş yılı'],\n rangeMonthPlaceholder: ['Başlangıç ayı', 'Bitiş ayı'],\n rangeWeekPlaceholder: ['Başlangıç haftası', 'Bitiş haftası'],\n locale: 'tr_TR',\n today: 'Bugün',\n now: 'Şimdi',\n backToToday: 'Bugüne Geri Dön',\n ok: 'tamam',\n clear: 'Temizle',\n month: 'Ay',\n year: 'Yıl',\n timeSelect: 'Zaman Seç',\n dateSelect: 'Tarih Seç',\n monthSelect: 'Ay Seç',\n yearSelect: 'Yıl Seç',\n decadeSelect: 'On Yıl Seç',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Önceki Ay (PageUp)',\n nextMonth: 'Sonraki Ay (PageDown)',\n previousYear: 'Önceki Yıl (Control + Sol)',\n nextYear: 'Sonraki Yıl (Control + Sağ)',\n previousDecade: 'Önceki On Yıl',\n nextDecade: 'Sonraki On Yıl',\n previousCentury: 'Önceki Yüzyıl',\n nextCentury: 'Sonraki Yüzyıl'\n },\n timePickerLocale: {\n placeholder: 'Zaman seç',\n rangePlaceholder: ['Başlangıç zamanı', 'Bitiş zamanı']\n }\n },\n TimePicker: {\n placeholder: 'Zaman seç',\n rangePlaceholder: ['Başlangıç zamanı', 'Bitiş zamanı']\n },\n Calendar: {\n lang: {\n placeholder: 'Tarih seç',\n yearPlaceholder: 'Yıl seç',\n quarterPlaceholder: 'Çeyrek seç',\n monthPlaceholder: 'Ay seç',\n weekPlaceholder: 'Hafta seç',\n rangePlaceholder: ['Başlangıç tarihi', 'Bitiş tarihi'],\n rangeYearPlaceholder: ['Başlangıç yılı', 'Bitiş yılı'],\n rangeMonthPlaceholder: ['Başlangıç ayı', 'Bitiş ayı'],\n rangeWeekPlaceholder: ['Başlangıç haftası', 'Bitiş haftası'],\n locale: 'tr_TR',\n today: 'Bugün',\n now: 'Şimdi',\n backToToday: 'Bugüne Geri Dön',\n ok: 'tamam',\n clear: 'Temizle',\n month: 'Ay',\n year: 'Yıl',\n timeSelect: 'Zaman Seç',\n dateSelect: 'Tarih Seç',\n monthSelect: 'Ay Seç',\n yearSelect: 'Yıl Seç',\n decadeSelect: 'On Yıl Seç',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Önceki Ay (PageUp)',\n nextMonth: 'Sonraki Ay (PageDown)',\n previousYear: 'Önceki Yıl (Control + Sol)',\n nextYear: 'Sonraki Yıl (Control + Sağ)',\n previousDecade: 'Önceki On Yıl',\n nextDecade: 'Sonraki On Yıl',\n previousCentury: 'Önceki Yüzyıl',\n nextCentury: 'Sonraki Yüzyıl'\n },\n timePickerLocale: {\n placeholder: 'Zaman seç',\n rangePlaceholder: ['Başlangıç zamanı', 'Bitiş zamanı']\n }\n },\n global: {\n placeholder: 'Lütfen seçiniz'\n },\n Table: {\n filterTitle: 'Filtre menüsü',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla',\n filterEmptyText: 'Filtre yok',\n selectAll: 'Tüm sayfayı seç',\n selectInvert: 'Tersini seç',\n selectionAll: 'Tümünü seç',\n sortTitle: 'Sırala',\n expand: 'Satırı genişlet',\n collapse: 'Satırı daralt',\n triggerDesc: 'Azalan düzende sırala',\n triggerAsc: 'Artan düzende sırala',\n cancelSort: 'Sıralamayı kaldır'\n },\n Modal: {\n okText: 'Tamam',\n cancelText: 'İptal',\n justOkText: 'Tamam'\n },\n Popconfirm: {\n okText: 'Tamam',\n cancelText: 'İptal'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Arama',\n itemUnit: 'Öğe',\n itemsUnit: 'Öğeler',\n remove: 'Kaldır',\n selectCurrent: 'Tüm sayfayı seç',\n removeCurrent: 'Sayfayı kaldır',\n selectAll: 'Tümünü seç',\n removeAll: 'Tümünü kaldır',\n selectInvert: 'Tersini seç'\n },\n Upload: {\n uploading: 'Yükleniyor...',\n removeFile: 'Dosyayı kaldır',\n uploadError: 'Yükleme hatası',\n previewFile: 'Dosyayı önizle',\n downloadFile: 'Dosyayı indir'\n },\n Empty: {\n description: 'Veri Yok'\n },\n Icon: {\n icon: 'ikon'\n },\n Text: {\n edit: 'Düzenle',\n copy: 'Kopyala',\n copied: 'Kopyalandı',\n expand: 'Genişlet'\n },\n PageHeader: {\n back: 'Geri'\n },\n Image: {\n preview: 'Önizleme'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar uk_UA = {\n locale: 'uk',\n Pagination: {\n items_per_page: '/ сторінці',\n jump_to: 'Перейти',\n jump_to_confirm: 'підтвердити',\n page: '',\n prev_page: 'Попередня сторінка',\n next_page: 'Наступна сторінка',\n prev_5: 'Попередні 5 сторінок',\n next_5: 'Наступні 5 сторінок',\n prev_3: 'Попередні 3 сторінки',\n next_3: 'Наступні 3 сторінки',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'Оберіть дату',\n yearPlaceholder: 'Оберіть рік',\n quarterPlaceholder: 'Оберіть квартал',\n monthPlaceholder: 'Оберіть місяць',\n weekPlaceholder: 'Оберіть тиждень',\n rangePlaceholder: ['Початкова дата', 'Кінцева дата'],\n rangeYearPlaceholder: ['Початковий рік', 'Рік закінчення'],\n rangeMonthPlaceholder: ['Початковий місяць', 'Кінцевий місяць'],\n rangeWeekPlaceholder: ['Початковий тиждень', 'Кінцевий тиждень'],\n locale: 'uk_UA',\n today: 'Сьогодні',\n now: 'Зараз',\n backToToday: 'Поточна дата',\n ok: 'Ok',\n clear: 'Очистити',\n month: 'Місяць',\n year: 'Рік',\n timeSelect: 'Обрати час',\n dateSelect: 'Обрати дату',\n monthSelect: 'Обрати місяць',\n yearSelect: 'Обрати рік',\n decadeSelect: 'Обрати десятиріччя',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Попередній місяць (PageUp)',\n nextMonth: 'Наступний місяць (PageDown)',\n previousYear: 'Попередній рік (Control + left)',\n nextYear: 'Наступний рік (Control + right)',\n previousDecade: 'Попереднє десятиріччя',\n nextDecade: 'Наступне десятиріччя',\n previousCentury: 'Попереднє століття',\n nextCentury: 'Наступне століття'\n },\n timePickerLocale: {\n placeholder: 'Оберіть час',\n rangePlaceholder: ['Час початку', 'Час закінчення']\n }\n },\n TimePicker: {\n placeholder: 'Оберіть час',\n rangePlaceholder: ['Час початку', 'Час закінчення']\n },\n Calendar: {\n lang: {\n placeholder: 'Оберіть дату',\n rangePlaceholder: ['Початкова дата', 'Кінцева дата'],\n locale: 'uk_UA',\n today: 'Сьогодні',\n now: 'Зараз',\n backToToday: 'Поточна дата',\n ok: 'Ok',\n clear: 'Очистити',\n month: 'Місяць',\n year: 'Рік',\n timeSelect: 'Обрати час',\n dateSelect: 'Обрати дату',\n monthSelect: 'Обрати місяць',\n yearSelect: 'Обрати рік',\n decadeSelect: 'Обрати десятиріччя',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Попередній місяць (PageUp)',\n nextMonth: 'Наступний місяць (PageDown)',\n previousYear: 'Попередній рік (Control + left)',\n nextYear: 'Наступний рік (Control + right)',\n previousDecade: 'Попереднє десятиріччя',\n nextDecade: 'Наступне десятиріччя',\n previousCentury: 'Попереднє століття',\n nextCentury: 'Наступне століття'\n },\n timePickerLocale: {\n placeholder: 'Оберіть час'\n }\n },\n Table: {\n filterTitle: 'Фільтрувати',\n filterConfirm: 'OK',\n filterReset: 'Скинути',\n selectAll: 'Обрати всі',\n selectInvert: 'Інвертувати вибір'\n },\n Modal: {\n okText: 'Гаразд',\n cancelText: 'Скасувати',\n justOkText: 'Гаразд'\n },\n Popconfirm: {\n okText: 'Гаразд',\n cancelText: 'Скасувати'\n },\n Transfer: {\n searchPlaceholder: 'Введіть текст для пошуку',\n itemUnit: 'елем.',\n itemsUnit: 'елем.'\n },\n Upload: {\n uploading: 'Завантаження ...',\n removeFile: 'Видалити файл',\n uploadError: 'Помилка завантаження',\n previewFile: 'Попередній перегляд файлу',\n downloadFile: 'Завантажити файл'\n },\n Empty: {\n description: 'Даних немає'\n },\n Icon: {\n icon: 'іконка'\n },\n Text: {\n edit: 'Редагувати',\n copy: 'Копіювати',\n copied: 'Скопійовано',\n expand: 'Розгорнути'\n },\n PageHeader: {\n back: 'Назад'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar ur_PK = {\n locale: 'ur',\n Pagination: {\n items_per_page: '/ صفحہ',\n jump_to: 'پاس جاؤ',\n jump_to_confirm: 'تصدیق کریں',\n page: '',\n prev_page: 'پچھلا صفحہ',\n next_page: 'اگلا صفحہ',\n prev_5: 'پچھلے 5 صفحات',\n next_5: 'اگلے 5 صفحات',\n prev_3: 'پچھلے 3 صفحات',\n next_3: 'اگلے 3 صفحات',\n page_size: 'Page Size'\n },\n DatePicker: {\n lang: {\n placeholder: 'تاریخ منتخب کریں',\n yearPlaceholder: 'سال کو منتخب کریں',\n quarterPlaceholder: 'کوارٹر منتخب کریں',\n monthPlaceholder: 'ماہ منتخب کریں',\n weekPlaceholder: 'ہفتہ منتخب کریں',\n rangePlaceholder: ['شروع کرنے کی تاریخ', 'آخری تاریخ'],\n rangeYearPlaceholder: ['آغاز سال', 'آخر سال'],\n rangeMonthPlaceholder: ['مہینہ شروع', 'اختتامی مہینہ'],\n rangeWeekPlaceholder: ['ہفتے شروع کریں', 'اختتام ہفتہ'],\n locale: 'ur_PK',\n today: 'آج',\n now: 'ابھی',\n backToToday: 'آج واپس',\n ok: 'ٹھیک ہے',\n clear: 'صاف',\n month: 'مہینہ',\n year: 'سال',\n timeSelect: 'وقت منتخب کریں',\n dateSelect: 'تاریخ منتخب کریں',\n weekSelect: 'ایک ہفتہ کا انتخاب کریں',\n monthSelect: 'ایک مہینہ کا انتخاب کریں',\n yearSelect: 'ایک سال کا انتخاب کریں',\n decadeSelect: 'ایک دہائی کا انتخاب کریں',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'پچھلے مہینے (PageUp)',\n nextMonth: 'اگلے مہینے (PageDown)',\n previousYear: 'گزشتہ سال (Control + left)',\n nextYear: 'اگلے سال (Control + right)',\n previousDecade: 'پچھلی دہائی',\n nextDecade: 'اگلی دہائی',\n previousCentury: 'پچھلی صدی',\n nextCentury: 'اگلی صدی'\n },\n timePickerLocale: {\n placeholder: 'وقت منتخب کریں',\n rangePlaceholder: ['وقت منتخب کریں', 'آخر وقت']\n }\n },\n TimePicker: {\n placeholder: 'وقت منتخب کریں',\n rangePlaceholder: ['وقت منتخب کریں', 'آخر وقت']\n },\n Calendar: {\n lang: {\n placeholder: 'تاریخ منتخب کریں',\n yearPlaceholder: 'سال کو منتخب کریں',\n quarterPlaceholder: 'کوارٹر منتخب کریں',\n monthPlaceholder: 'ماہ منتخب کریں',\n weekPlaceholder: 'ہفتہ منتخب کریں',\n rangePlaceholder: ['شروع کرنے کی تاریخ', 'آخری تاریخ'],\n rangeYearPlaceholder: ['آغاز سال', 'آخر سال'],\n rangeMonthPlaceholder: ['مہینہ شروع', 'اختتامی مہینہ'],\n rangeWeekPlaceholder: ['ہفتے شروع کریں', 'اختتام ہفتہ'],\n locale: 'ur_PK',\n today: 'آج',\n now: 'ابھی',\n backToToday: 'آج واپس',\n ok: 'ٹھیک ہے',\n clear: 'صاف',\n month: 'مہینہ',\n year: 'سال',\n timeSelect: 'وقت منتخب کریں',\n dateSelect: 'تاریخ منتخب کریں',\n weekSelect: 'ایک ہفتہ کا انتخاب کریں',\n monthSelect: 'ایک مہینہ کا انتخاب کریں',\n yearSelect: 'ایک سال کا انتخاب کریں',\n decadeSelect: 'ایک دہائی کا انتخاب کریں',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'پچھلے مہینے (PageUp)',\n nextMonth: 'اگلے مہینے (PageDown)',\n previousYear: 'گزشتہ سال (Control + left)',\n nextYear: 'اگلے سال (Control + right)',\n previousDecade: 'پچھلی دہائی',\n nextDecade: 'اگلی دہائی',\n previousCentury: 'پچھلی صدی',\n nextCentury: 'اگلی صدی'\n },\n timePickerLocale: {\n placeholder: 'وقت منتخب کریں',\n rangePlaceholder: ['وقت منتخب کریں', 'آخر وقت']\n }\n },\n global: {\n placeholder: 'منتخب کریں'\n },\n Table: {\n filterTitle: 'فلٹر مینو',\n filterConfirm: 'ٹھیک ہے',\n filterReset: 'ری سیٹ کریں',\n filterEmptyText: 'فلٹرز نہیں',\n emptyText: 'کوئی ڈیٹا نہیں',\n selectAll: 'موجودہ صفحہ منتخب کریں',\n selectInvert: 'موجودہ صفحے کو الٹ دیں',\n selectNone: 'تمام ڈیٹا صاف کریں',\n selectionAll: 'تمام ڈیٹا کو منتخب کریں',\n sortTitle: 'ترتیب دیں',\n expand: 'پھیلائیں',\n collapse: 'سمیٹیں',\n triggerDesc: 'نزولی کو ترتیب دینے کیلئے کلک کریں',\n triggerAsc: 'چڑھنے کو ترتیب دینے کیلئے کلک کریں',\n cancelSort: 'ترتیب کو منسوخ کرنے کیلئے دبائیں'\n },\n Modal: {\n okText: 'ٹھیک ہے',\n cancelText: 'منسوخ کریں',\n justOkText: 'ٹھیک ہے'\n },\n Popconfirm: {\n okText: 'ٹھیک ہے',\n cancelText: 'منسوخ کریں'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'یہاں تلاش کریں',\n itemUnit: 'شے',\n itemsUnit: 'اشیاء',\n remove: 'ہٹائیں',\n selectCurrent: 'موجودہ صفحہ منتخب کریں',\n removeCurrent: 'موجودہ صفحہ ہٹائیں',\n selectAll: 'تمام ڈیٹا کو منتخب کریں',\n removeAll: 'تمام ڈیٹا کو ہٹا دیں',\n selectInvert: 'موجودہ صفحے کو الٹ دیں'\n },\n Upload: {\n uploading: 'اپ لوڈ ہو رہا ہے…',\n removeFile: 'فائل کو ہٹا دیں',\n uploadError: 'اپ لوڈ کی خرابی',\n previewFile: 'پیش نظار فائل',\n downloadFile: 'فائل ڈاؤن لوڈ کریں'\n },\n Empty: {\n description: 'کوئی ڈیٹا نہیں'\n },\n Icon: {\n icon: 'آئیکن'\n },\n Text: {\n edit: 'ترمیم',\n copy: 'کاپی',\n copied: 'کاپی ہوگیا',\n expand: 'پھیلائیں'\n },\n PageHeader: {\n back: 'پیچھے'\n },\n Image: {\n preview: 'پیش نظارہ'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar vi_VN = {\n locale: 'vi',\n Pagination: {\n items_per_page: '/ trang',\n jump_to: 'Đến',\n jump_to_confirm: 'xác nhận',\n page: 'Trang',\n prev_page: 'Trang Trước',\n next_page: 'Trang Kế',\n prev_5: 'Về 5 Trang Trước',\n next_5: 'Đến 5 Trang Kế',\n prev_3: 'Về 3 Trang Trước',\n next_3: 'Đến 3 Trang Kế',\n page_size: 'kích thước trang'\n },\n DatePicker: {\n lang: {\n placeholder: 'Chọn thời điểm',\n rangePlaceholder: ['Ngày bắt đầu', 'Ngày kết thúc'],\n locale: 'vi_VN',\n today: 'Hôm nay',\n now: 'Bây giờ',\n backToToday: 'Trở về hôm nay',\n ok: 'Ok',\n clear: 'Xóa',\n month: 'Tháng',\n year: 'Năm',\n timeSelect: 'Chọn thời gian',\n dateSelect: 'Chọn ngày',\n weekSelect: 'Chọn tuần',\n monthSelect: 'Chọn tháng',\n yearSelect: 'Chọn năm',\n decadeSelect: 'Chọn thập kỷ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Tháng trước (PageUp)',\n nextMonth: 'Tháng sau (PageDown)',\n previousYear: 'Năm trước (Control + left)',\n nextYear: 'Năm sau (Control + right)',\n previousDecade: 'Thập kỷ trước',\n nextDecade: 'Thập kỷ sau',\n previousCentury: 'Thế kỷ trước',\n nextCentury: 'Thế kỷ sau'\n },\n timePickerLocale: {\n placeholder: 'Chọn thời gian'\n }\n },\n TimePicker: {\n placeholder: 'Chọn thời gian'\n },\n Calendar: {\n lang: {\n placeholder: 'Chọn thời điểm',\n rangePlaceholder: ['Ngày bắt đầu', 'Ngày kết thúc'],\n locale: 'vi_VN',\n today: 'Hôm nay',\n now: 'Bây giờ',\n backToToday: 'Trở về hôm nay',\n ok: 'Ok',\n clear: 'Xóa',\n month: 'Tháng',\n year: 'Năm',\n timeSelect: 'Chọn thời gian',\n dateSelect: 'Chọn ngày',\n weekSelect: 'Chọn tuần',\n monthSelect: 'Chọn tháng',\n yearSelect: 'Chọn năm',\n decadeSelect: 'Chọn thập kỷ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Tháng trước (PageUp)',\n nextMonth: 'Tháng sau (PageDown)',\n previousYear: 'Năm trước (Control + left)',\n nextYear: 'Năm sau (Control + right)',\n previousDecade: 'Thập kỷ trước',\n nextDecade: 'Thập kỷ sau',\n previousCentury: 'Thế kỷ trước',\n nextCentury: 'Thế kỷ sau'\n },\n timePickerLocale: {\n placeholder: 'Chọn thời gian'\n }\n },\n Table: {\n filterTitle: 'Bộ ',\n filterConfirm: 'OK',\n filterReset: 'Tạo Lại',\n selectAll: 'Chọn Tất Cả',\n selectInvert: 'Chọn Ngược Lại'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Huỷ',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Huỷ'\n },\n Transfer: {\n searchPlaceholder: 'Tìm ở đây',\n itemUnit: 'mục',\n itemsUnit: 'mục'\n },\n Upload: {\n uploading: 'Đang tải lên...',\n removeFile: 'Gỡ bỏ tập tin',\n uploadError: 'Lỗi tải lên',\n previewFile: 'Xem thử tập tin',\n downloadFile: 'Tải tập tin'\n },\n Empty: {\n description: 'Trống'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar zh_HK = {\n locale: 'zh-hk',\n Pagination: {\n items_per_page: '條/頁',\n jump_to: '跳至',\n jump_to_confirm: '確定',\n page: '頁',\n prev_page: '上一頁',\n next_page: '下一頁',\n prev_5: '向前 5 頁',\n next_5: '向後 5 頁',\n prev_3: '向前 3 頁',\n next_3: '向後 3 頁',\n page_size: '頁碼'\n },\n DatePicker: {\n lang: {\n placeholder: '請選擇日期',\n rangePlaceholder: ['開始日期', '結束日期'],\n locale: 'zh_TW',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n weekSelect: '選擇周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n yearPlaceholder: '請選擇年份',\n quarterPlaceholder: '請選擇季度',\n monthPlaceholder: '請選擇月份',\n weekPlaceholder: '請選擇周',\n rangeYearPlaceholder: ['開始年份', '結束年份'],\n rangeMonthPlaceholder: ['開始月份', '結束月份'],\n rangeWeekPlaceholder: ['開始周', '結束周']\n },\n timePickerLocale: {\n placeholder: '請選擇時間'\n }\n },\n TimePicker: {\n placeholder: '請選擇時間'\n },\n Calendar: {\n lang: {\n placeholder: '請選擇日期',\n rangePlaceholder: ['開始日期', '結束日期'],\n locale: 'zh_TW',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n weekSelect: '選擇周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n yearPlaceholder: '請選擇年份',\n quarterPlaceholder: '請選擇季度',\n monthPlaceholder: '請選擇月份',\n weekPlaceholder: '請選擇周',\n rangeYearPlaceholder: ['開始年份', '結束年份'],\n rangeMonthPlaceholder: ['開始月份', '結束月份'],\n rangeWeekPlaceholder: ['開始周', '結束周']\n },\n timePickerLocale: {\n placeholder: '請選擇時間'\n }\n },\n global: {\n placeholder: '請選擇'\n },\n Table: {\n filterTitle: '篩選器',\n filterConfirm: '確定',\n filterReset: '重置',\n filterEmptyText: '無篩選項',\n selectAll: '全部選取',\n selectInvert: '反向選取',\n selectionAll: '全選所有',\n sortTitle: '排序',\n expand: '展開行',\n collapse: '關閉行',\n triggerDesc: '點擊降序',\n triggerAsc: '點擊升序',\n cancelSort: '取消排序',\n selectNone: '清空所有'\n },\n Modal: {\n okText: '確定',\n cancelText: '取消',\n justOkText: '知道了'\n },\n Popconfirm: {\n okText: '確定',\n cancelText: '取消'\n },\n Transfer: {\n searchPlaceholder: '搜尋資料',\n itemUnit: '項目',\n itemsUnit: '項目',\n remove: '刪除',\n selectCurrent: '全選當頁',\n removeCurrent: '刪除當頁',\n selectAll: '全選所有',\n removeAll: '刪除全部',\n selectInvert: '反選當頁'\n },\n Upload: {\n uploading: '正在上傳...',\n removeFile: '刪除檔案',\n uploadError: '上傳失敗',\n previewFile: '檔案預覽',\n downloadFile: '下载文件'\n },\n Empty: {\n description: '無此資料'\n },\n Icon: {\n icon: '圖標'\n },\n Text: {\n edit: '編輯',\n copy: '複製',\n copied: '複製成功',\n expand: '展開'\n },\n PageHeader: {\n back: '返回'\n },\n Image: {\n preview: '預覽'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nvar zh_TW = {\n locale: 'zh-tw',\n Pagination: {\n items_per_page: '條/頁',\n jump_to: '跳至',\n jump_to_confirm: '確定',\n page: '頁',\n prev_page: '上一頁',\n next_page: '下一頁',\n prev_5: '向前 5 頁',\n next_5: '向後 5 頁',\n prev_3: '向前 3 頁',\n next_3: '向後 3 頁',\n page_size: '頁碼'\n },\n DatePicker: {\n lang: {\n placeholder: '請選擇日期',\n rangePlaceholder: ['開始日期', '結束日期'],\n locale: 'zh_TW',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n weekSelect: '選擇周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n yearPlaceholder: '請選擇年份',\n quarterPlaceholder: '請選擇季度',\n monthPlaceholder: '請選擇月份',\n weekPlaceholder: '請選擇周',\n rangeYearPlaceholder: ['開始年份', '結束年份'],\n rangeMonthPlaceholder: ['開始月份', '結束月份'],\n rangeWeekPlaceholder: ['開始周', '結束周']\n },\n timePickerLocale: {\n placeholder: '請選擇時間'\n }\n },\n TimePicker: {\n placeholder: '請選擇時間'\n },\n Calendar: {\n lang: {\n placeholder: '請選擇日期',\n rangePlaceholder: ['開始日期', '結束日期'],\n locale: 'zh_TW',\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n weekSelect: '選擇周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n yearPlaceholder: '請選擇年份',\n quarterPlaceholder: '請選擇季度',\n monthPlaceholder: '請選擇月份',\n weekPlaceholder: '請選擇周',\n rangeYearPlaceholder: ['開始年份', '結束年份'],\n rangeMonthPlaceholder: ['開始月份', '結束月份'],\n rangeWeekPlaceholder: ['開始周', '結束周']\n },\n timePickerLocale: {\n placeholder: '請選擇時間'\n }\n },\n global: {\n placeholder: '請選擇'\n },\n Table: {\n filterTitle: '篩選器',\n filterConfirm: '確定',\n filterReset: '重置',\n filterEmptyText: '無篩選項',\n selectAll: '全部選取',\n selectInvert: '反向選取',\n selectionAll: '全選所有',\n sortTitle: '排序',\n expand: '展開行',\n collapse: '關閉行',\n triggerDesc: '點擊降序',\n triggerAsc: '點擊升序',\n cancelSort: '取消排序',\n selectNone: '清空所有'\n },\n Modal: {\n okText: '確定',\n cancelText: '取消',\n justOkText: '知道了'\n },\n Popconfirm: {\n okText: '確定',\n cancelText: '取消'\n },\n Transfer: {\n searchPlaceholder: '搜尋資料',\n itemUnit: '項目',\n itemsUnit: '項目',\n remove: '删除',\n selectCurrent: '全選當頁',\n removeCurrent: '删除當頁',\n selectAll: '全選所有',\n removeAll: '删除全部',\n selectInvert: '反選當頁'\n },\n Upload: {\n uploading: '正在上傳...',\n removeFile: '刪除檔案',\n uploadError: '上傳失敗',\n previewFile: '檔案預覽',\n downloadFile: '下載文件'\n },\n Empty: {\n description: '無此資料'\n },\n Icon: {\n icon: '圖標'\n },\n Text: {\n edit: '編輯',\n copy: '複製',\n copied: '複製成功',\n expand: '展開'\n },\n PageHeader: {\n back: '返回'\n },\n Image: {\n preview: '預覽'\n }\n};\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DATE_HELPER_SERVICE_FACTORY, DateHelperByDateFns, DateHelperByDatePipe, DateHelperService, NZ_DATE_CONFIG, NZ_DATE_CONFIG_DEFAULT, NZ_DATE_LOCALE, NZ_I18N, NzI18nModule, NzI18nPipe, NzI18nService, ar_EG, az_AZ, bg_BG, bn_BD, by_BY, ca_ES, cs_CZ, da_DK, de_DE, el_GR, en_GB, en_US, es_ES, et_EE, fa_IR, fi_FI, fr_BE, fr_CA, fr_FR, ga_IE, gl_ES, he_IL, hi_IN, hr_HR, hu_HU, hy_AM, id_ID, is_IS, it_IT, ja_JP, ka_GE, kk_KZ, km_KH, kmr_IQ, kn_IN, ko_KR, ku_IQ, lt_LT, lv_LV, mergeDateConfig, mk_MK, ml_IN, mn_MN, ms_MY, nb_NO, ne_NP, nl_BE, nl_NL, pl_PL, provideNzI18n, pt_BR, pt_PT, ro_RO, ru_RU, sk_SK, sl_SI, sr_RS, sv_SE, ta_IN, th_TH, tr_TR, uk_UA, ur_PK, vi_VN, zh_CN, zh_HK, zh_TW };\n"], - "mappings": "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", - "names": ["o", "defaultOptions", "defaultOptions", "defaultOptions", "defaultOptions", "MILLISECONDS_IN_WEEK", "milliseconds", "formatters", "localize", "y", "M", "d", "a", "h", "H", "m", "s", "S", "dateLongFormatter", "formatLong", "timeLongFormatter", "dateTimeLongFormatter", "format", "formatDistance", "format", "formatRelative", "ordinalNumber", "valueCallback", "defaultOptions", "locale", "MILLISECONDS_IN_WEEK", "MILLISECONDS_IN_DAY", "i", "i", "F", "e", "s", "_setPrototypeOf", "o", "p", "_getPrototypeOf", "o", "e", "i", "Setter", "ValueSetter", "set", "DateToSystemTimezoneSetter", "Parser", "match", "EraParser", "parse", "match", "set", "YearParser", "parse", "match", "valueCallback", "set", "LocalWeekYearParser", "parse", "match", "valueCallback", "set", "ISOWeekYearParser", "parse", "set", "ExtendedYearParser", "parse", "set", "QuarterParser", "parse", "match", "set", "StandAloneQuarterParser", "parse", "match", "set", "MonthParser", "parse", "match", "valueCallback", "set", "StandAloneMonthParser", "parse", "match", "valueCallback", "set", "LocalWeekParser", "parse", "match", "set", "ISOWeekParser", "parse", "match", "set", "DateParser", "parse", "match", "isLeapYear", "set", "DayOfYearParser", "parse", "match", "isLeapYear", "set", "defaultOptions", "DayParser", "parse", "match", "set", "LocalDayParser", "parse", "match", "valueCallback", "set", "StandAloneLocalDayParser", "parse", "match", "valueCallback", "set", "ISODayParser", "parse", "match", "valueCallback", "set", "AMPMParser", "parse", "match", "set", "AMPMMidnightParser", "parse", "match", "set", "DayPeriodParser", "parse", "match", "set", "Hour1to12Parser", "parse", "match", "set", "Hour0to23Parser", "parse", "match", "set", "Hour0To11Parser", "parse", "match", "set", "Hour1To24Parser", "parse", "match", "set", "MinuteParser", "parse", "match", "set", "SecondParser", "parse", "match", "set", "FractionOfSecondParser", "parse", "valueCallback", "set", "ISOTimezoneWithZParser", "parse", "set", "ISOTimezoneParser", "parse", "set", "TimestampSecondsParser", "parse", "set", "TimestampMillisecondsParser", "parse", "set", "formattingTokensRegExp", "longFormattingTokensRegExp", "escapedStringRegExp", "doubleQuoteRegExp", "unescapedLatinCharacterRegExp", "defaultOptions", "locale", "_loop", "cleanEscapedString", "setter", "a", "b", "format", "match", "m", "a", "b", "locale", "t", "e"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js b/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js deleted file mode 100644 index a026016..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js +++ /dev/null @@ -1,1376 +0,0 @@ -import { - NzConfigService, - inputToRGB, - rgbToHex, - rgbToHsv -} from "./chunk-ZHMJ6SNN.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - InputBoolean, - warn -} from "./chunk-M5GY4FCO.js"; -import { - DomSanitizer -} from "./chunk-Y4CEYMY2.js"; -import { - HttpBackend, - HttpClient -} from "./chunk-X7WBA24Z.js"; -import { - DOCUMENT -} from "./chunk-OSQBUYO6.js"; -import { - ChangeDetectorRef, - Directive, - ElementRef, - Inject, - Injectable, - InjectionToken, - Input, - NgModule, - NgZone, - Observable, - Optional, - Renderer2, - RendererFactory2, - SecurityContext, - Self, - Subject, - __decorate, - catchError, - filter, - finalize, - from, - isDevMode, - map, - of, - setClassMetadata, - share, - take, - takeUntil, - tap, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵclassProp, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵinject -} from "./chunk-FGESKT7O.js"; -import { - __spreadProps, - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/@ant-design/colors/es/generate.js -var hueStep = 2; -var saturationStep = 0.16; -var saturationStep2 = 0.05; -var brightnessStep1 = 0.05; -var brightnessStep2 = 0.15; -var lightColorCount = 5; -var darkColorCount = 4; -var darkColorMap = [{ - index: 7, - opacity: 0.15 -}, { - index: 6, - opacity: 0.25 -}, { - index: 5, - opacity: 0.3 -}, { - index: 5, - opacity: 0.45 -}, { - index: 5, - opacity: 0.65 -}, { - index: 5, - opacity: 0.85 -}, { - index: 4, - opacity: 0.9 -}, { - index: 3, - opacity: 0.95 -}, { - index: 2, - opacity: 0.97 -}, { - index: 1, - opacity: 0.98 -}]; -function toHsv(_ref) { - var r = _ref.r, g = _ref.g, b = _ref.b; - var hsv = rgbToHsv(r, g, b); - return { - h: hsv.h * 360, - s: hsv.s, - v: hsv.v - }; -} -function toHex(_ref2) { - var r = _ref2.r, g = _ref2.g, b = _ref2.b; - return "#".concat(rgbToHex(r, g, b, false)); -} -function mix(rgb1, rgb2, amount) { - var p = amount / 100; - var rgb = { - r: (rgb2.r - rgb1.r) * p + rgb1.r, - g: (rgb2.g - rgb1.g) * p + rgb1.g, - b: (rgb2.b - rgb1.b) * p + rgb1.b - }; - return rgb; -} -function getHue(hsv, i, light) { - var hue; - if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) { - hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i; - } else { - hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i; - } - if (hue < 0) { - hue += 360; - } else if (hue >= 360) { - hue -= 360; - } - return hue; -} -function getSaturation(hsv, i, light) { - if (hsv.h === 0 && hsv.s === 0) { - return hsv.s; - } - var saturation; - if (light) { - saturation = hsv.s - saturationStep * i; - } else if (i === darkColorCount) { - saturation = hsv.s + saturationStep; - } else { - saturation = hsv.s + saturationStep2 * i; - } - if (saturation > 1) { - saturation = 1; - } - if (light && i === lightColorCount && saturation > 0.1) { - saturation = 0.1; - } - if (saturation < 0.06) { - saturation = 0.06; - } - return Number(saturation.toFixed(2)); -} -function getValue(hsv, i, light) { - var value; - if (light) { - value = hsv.v + brightnessStep1 * i; - } else { - value = hsv.v - brightnessStep2 * i; - } - if (value > 1) { - value = 1; - } - return Number(value.toFixed(2)); -} -function generate(color) { - var opts = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; - var patterns = []; - var pColor = inputToRGB(color); - for (var i = lightColorCount; i > 0; i -= 1) { - var hsv = toHsv(pColor); - var colorString = toHex(inputToRGB({ - h: getHue(hsv, i, true), - s: getSaturation(hsv, i, true), - v: getValue(hsv, i, true) - })); - patterns.push(colorString); - } - patterns.push(toHex(pColor)); - for (var _i = 1; _i <= darkColorCount; _i += 1) { - var _hsv = toHsv(pColor); - var _colorString = toHex(inputToRGB({ - h: getHue(_hsv, _i), - s: getSaturation(_hsv, _i), - v: getValue(_hsv, _i) - })); - patterns.push(_colorString); - } - if (opts.theme === "dark") { - return darkColorMap.map(function(_ref3) { - var index = _ref3.index, opacity = _ref3.opacity; - var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || "#141414"), inputToRGB(patterns[index]), opacity * 100)); - return darkColorString; - }); - } - return patterns; -} - -// node_modules/@ant-design/colors/es/index.js -var presetPrimaryColors = { - red: "#F5222D", - volcano: "#FA541C", - orange: "#FA8C16", - gold: "#FAAD14", - yellow: "#FADB14", - lime: "#A0D911", - green: "#52C41A", - cyan: "#13C2C2", - blue: "#1677FF", - geekblue: "#2F54EB", - purple: "#722ED1", - magenta: "#EB2F96", - grey: "#666666" -}; -var presetPalettes = {}; -var presetDarkPalettes = {}; -Object.keys(presetPrimaryColors).forEach(function(key) { - presetPalettes[key] = generate(presetPrimaryColors[key]); - presetPalettes[key].primary = presetPalettes[key][5]; - presetDarkPalettes[key] = generate(presetPrimaryColors[key], { - theme: "dark", - backgroundColor: "#141414" - }); - presetDarkPalettes[key].primary = presetDarkPalettes[key][5]; -}); -var red = presetPalettes.red; -var volcano = presetPalettes.volcano; -var gold = presetPalettes.gold; -var orange = presetPalettes.orange; -var yellow = presetPalettes.yellow; -var lime = presetPalettes.lime; -var green = presetPalettes.green; -var cyan = presetPalettes.cyan; -var blue = presetPalettes.blue; -var geekblue = presetPalettes.geekblue; -var purple = presetPalettes.purple; -var magenta = presetPalettes.magenta; -var grey = presetPalettes.grey; -var gray = presetPalettes.grey; - -// node_modules/@ant-design/icons-angular/fesm2022/ant-design-icons-angular.mjs -var ANT_ICON_ANGULAR_CONSOLE_PREFIX = "[@ant-design/icons-angular]:"; -function error(message) { - console.error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`); -} -function warn2(message) { - if (isDevMode()) { - console.warn(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`); - } -} -function getSecondaryColor(primaryColor) { - return generate(primaryColor)[0]; -} -function withSuffix(name2, theme) { - switch (theme) { - case "fill": - return `${name2}-fill`; - case "outline": - return `${name2}-o`; - case "twotone": - return `${name2}-twotone`; - case void 0: - return name2; - default: - throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Theme "${theme}" is not a recognized theme!`); - } -} -function withSuffixAndColor(name2, theme, pri, sec) { - return `${withSuffix(name2, theme)}-${pri}-${sec}`; -} -function mapAbbrToTheme(abbr) { - return abbr === "o" ? "outline" : abbr; -} -function alreadyHasAThemeSuffix(name2) { - return name2.endsWith("-fill") || name2.endsWith("-o") || name2.endsWith("-twotone"); -} -function isIconDefinition(target) { - return typeof target === "object" && typeof target.name === "string" && (typeof target.theme === "string" || target.theme === void 0) && typeof target.icon === "string"; -} -function getIconDefinitionFromAbbr(str) { - const arr = str.split("-"); - const theme = mapAbbrToTheme(arr.splice(arr.length - 1, 1)[0]); - const name2 = arr.join("-"); - return { - name: name2, - theme, - icon: "" - }; -} -function cloneSVG(svg) { - return svg.cloneNode(true); -} -function replaceFillColor(raw) { - return raw.replace(/['"]#333['"]/g, '"primaryColor"').replace(/['"]#E6E6E6['"]/g, '"secondaryColor"').replace(/['"]#D9D9D9['"]/g, '"secondaryColor"').replace(/['"]#D8D8D8['"]/g, '"secondaryColor"'); -} -function getNameAndNamespace(type) { - const split = type.split(":"); - switch (split.length) { - case 1: - return [type, ""]; - case 2: - return [split[1], split[0]]; - default: - throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}The icon type ${type} is not valid!`); - } -} -function hasNamespace(type) { - return getNameAndNamespace(type)[1] !== ""; -} -function NameSpaceIsNotSpecifyError() { - return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Type should have a namespace. Try "namespace:${name}".`); -} -function IconNotFoundError(icon) { - return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}the icon ${icon} does not exist or is not registered.`); -} -function HttpModuleNotImport() { - error(`you need to import "HttpClientModule" to use dynamic importing.`); - return null; -} -function UrlNotSafeError(url) { - return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}The url "${url}" is unsafe.`); -} -function SVGTagNotFoundError() { - return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} tag not found.`); -} -function DynamicLoadingTimeoutError() { - return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Importing timeout error.`); -} -var JSONP_HANDLER_NAME = "__ant_icon_load"; -var ANT_ICONS = new InjectionToken("ant_icons"); -var _IconService = class _IconService { - set twoToneColor({ - primaryColor, - secondaryColor - }) { - this._twoToneColorPalette.primaryColor = primaryColor; - this._twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor); - } - get twoToneColor() { - return __spreadValues({}, this._twoToneColorPalette); - } - /** - * Disable dynamic loading (support static loading only). - */ - get _disableDynamicLoading() { - return false; - } - constructor(_rendererFactory, _handler, _document, sanitizer, _antIcons) { - this._rendererFactory = _rendererFactory; - this._handler = _handler; - this._document = _document; - this.sanitizer = sanitizer; - this._antIcons = _antIcons; - this.defaultTheme = "outline"; - this._svgDefinitions = /* @__PURE__ */ new Map(); - this._svgRenderedDefinitions = /* @__PURE__ */ new Map(); - this._inProgressFetches = /* @__PURE__ */ new Map(); - this._assetsUrlRoot = ""; - this._twoToneColorPalette = { - primaryColor: "#333333", - secondaryColor: "#E6E6E6" - }; - this._enableJsonpLoading = false; - this._jsonpIconLoad$ = new Subject(); - this._renderer = this._rendererFactory.createRenderer(null, null); - if (this._handler) { - this._http = new HttpClient(this._handler); - } - if (this._antIcons) { - this.addIcon(...this._antIcons); - } - } - /** - * Call this method to switch to jsonp like loading. - */ - useJsonpLoading() { - if (!this._enableJsonpLoading) { - this._enableJsonpLoading = true; - window[JSONP_HANDLER_NAME] = (icon) => { - this._jsonpIconLoad$.next(icon); - }; - } else { - warn2("You are already using jsonp loading."); - } - } - /** - * Change the prefix of the inline svg resources, so they could be deployed elsewhere, like CDN. - * @param prefix - */ - changeAssetsSource(prefix) { - this._assetsUrlRoot = prefix.endsWith("/") ? prefix : prefix + "/"; - } - /** - * Add icons provided by ant design. - * @param icons - */ - addIcon(...icons) { - icons.forEach((icon) => { - this._svgDefinitions.set(withSuffix(icon.name, icon.theme), icon); - }); - } - /** - * Register an icon. Namespace is required. - * @param type - * @param literal - */ - addIconLiteral(type, literal) { - const [_, namespace] = getNameAndNamespace(type); - if (!namespace) { - throw NameSpaceIsNotSpecifyError(); - } - this.addIcon({ - name: type, - icon: literal - }); - } - /** - * Remove all cache. - */ - clear() { - this._svgDefinitions.clear(); - this._svgRenderedDefinitions.clear(); - } - /** - * Get a rendered `SVGElement`. - * @param icon - * @param twoToneColor - */ - getRenderedContent(icon, twoToneColor) { - const definition = isIconDefinition(icon) ? icon : this._svgDefinitions.get(icon) || null; - if (!definition && this._disableDynamicLoading) { - throw IconNotFoundError(icon); - } - const $iconDefinition = definition ? of(definition) : this._loadIconDynamically(icon); - return $iconDefinition.pipe(map((i) => { - if (!i) { - throw IconNotFoundError(icon); - } - return this._loadSVGFromCacheOrCreateNew(i, twoToneColor); - })); - } - getCachedIcons() { - return this._svgDefinitions; - } - /** - * Get raw svg and assemble a `IconDefinition` object. - * @param type - */ - _loadIconDynamically(type) { - if (!this._http && !this._enableJsonpLoading) { - return of(HttpModuleNotImport()); - } - let inProgress = this._inProgressFetches.get(type); - if (!inProgress) { - const [name2, namespace] = getNameAndNamespace(type); - const icon = namespace ? { - name: type, - icon: "" - } : getIconDefinitionFromAbbr(name2); - const suffix = this._enableJsonpLoading ? ".js" : ".svg"; - const url = (namespace ? `${this._assetsUrlRoot}assets/${namespace}/${name2}` : `${this._assetsUrlRoot}assets/${icon.theme}/${icon.name}`) + suffix; - const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url); - if (!safeUrl) { - throw UrlNotSafeError(url); - } - const source = !this._enableJsonpLoading ? this._http.get(safeUrl, { - responseType: "text" - }).pipe(map((literal) => __spreadProps(__spreadValues({}, icon), { - icon: literal - }))) : this._loadIconDynamicallyWithJsonp(icon, safeUrl); - inProgress = source.pipe(tap((definition) => this.addIcon(definition)), finalize(() => this._inProgressFetches.delete(type)), catchError(() => of(null)), share()); - this._inProgressFetches.set(type, inProgress); - } - return inProgress; - } - _loadIconDynamicallyWithJsonp(icon, url) { - return new Observable((subscriber) => { - const loader = this._document.createElement("script"); - const timer = setTimeout(() => { - clean(); - subscriber.error(DynamicLoadingTimeoutError()); - }, 6e3); - loader.src = url; - function clean() { - loader.parentNode.removeChild(loader); - clearTimeout(timer); - } - this._document.body.appendChild(loader); - this._jsonpIconLoad$.pipe(filter((i) => i.name === icon.name && i.theme === icon.theme), take(1)).subscribe((i) => { - subscriber.next(i); - clean(); - }); - }); - } - /** - * Render a new `SVGElement` for a given `IconDefinition`, or make a copy from cache. - * @param icon - * @param twoToneColor - */ - _loadSVGFromCacheOrCreateNew(icon, twoToneColor) { - let svg; - const pri = twoToneColor || this._twoToneColorPalette.primaryColor; - const sec = getSecondaryColor(pri) || this._twoToneColorPalette.secondaryColor; - const key = icon.theme === "twotone" ? withSuffixAndColor(icon.name, icon.theme, pri, sec) : icon.theme === void 0 ? icon.name : withSuffix(icon.name, icon.theme); - const cached = this._svgRenderedDefinitions.get(key); - if (cached) { - svg = cached.icon; - } else { - svg = this._setSVGAttribute(this._colorizeSVGIcon( - // Icons provided by ant design should be refined to remove preset colors. - this._createSVGElementFromString(hasNamespace(icon.name) ? icon.icon : replaceFillColor(icon.icon)), - icon.theme === "twotone", - pri, - sec - )); - this._svgRenderedDefinitions.set(key, __spreadProps(__spreadValues({}, icon), { - icon: svg - })); - } - return cloneSVG(svg); - } - _createSVGElementFromString(str) { - const div = this._document.createElement("div"); - div.innerHTML = str; - const svg = div.querySelector("svg"); - if (!svg) { - throw SVGTagNotFoundError; - } - return svg; - } - _setSVGAttribute(svg) { - this._renderer.setAttribute(svg, "width", "1em"); - this._renderer.setAttribute(svg, "height", "1em"); - return svg; - } - _colorizeSVGIcon(svg, twotone, pri, sec) { - if (twotone) { - const children = svg.childNodes; - const length = children.length; - for (let i = 0; i < length; i++) { - const child = children[i]; - if (child.getAttribute("fill") === "secondaryColor") { - this._renderer.setAttribute(child, "fill", sec); - } else { - this._renderer.setAttribute(child, "fill", pri); - } - } - } - this._renderer.setAttribute(svg, "fill", "currentColor"); - return svg; - } -}; -_IconService.ɵfac = function IconService_Factory(t) { - return new (t || _IconService)(ɵɵinject(RendererFactory2), ɵɵinject(HttpBackend, 8), ɵɵinject(DOCUMENT, 8), ɵɵinject(DomSanitizer), ɵɵinject(ANT_ICONS, 8)); -}; -_IconService.ɵprov = ɵɵdefineInjectable({ - token: _IconService, - factory: _IconService.ɵfac -}); -var IconService = _IconService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IconService, [{ - type: Injectable - }], () => [{ - type: RendererFactory2 - }, { - type: HttpBackend, - decorators: [{ - type: Optional - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }, { - type: DomSanitizer - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [ANT_ICONS] - }] - }], null); -})(); -function checkMeta(prev, after) { - return prev.type === after.type && prev.theme === after.theme && prev.twoToneColor === after.twoToneColor; -} -var _IconDirective = class _IconDirective { - constructor(_iconService, _elementRef, _renderer) { - this._iconService = _iconService; - this._elementRef = _elementRef; - this._renderer = _renderer; - } - ngOnChanges(changes) { - if (changes.type || changes.theme || changes.twoToneColor) { - this._changeIcon(); - } - } - /** - * Render a new icon in the current element. Remove the icon when `type` is falsy. - */ - _changeIcon() { - return new Promise((resolve) => { - if (!this.type) { - this._clearSVGElement(); - resolve(null); - return; - } - const beforeMeta = this._getSelfRenderMeta(); - this._iconService.getRenderedContent(this._parseIconType(this.type, this.theme), this.twoToneColor).subscribe((svg) => { - const afterMeta = this._getSelfRenderMeta(); - if (checkMeta(beforeMeta, afterMeta)) { - this._setSVGElement(svg); - resolve(svg); - } else { - resolve(null); - } - }); - }); - } - _getSelfRenderMeta() { - return { - type: this.type, - theme: this.theme, - twoToneColor: this.twoToneColor - }; - } - /** - * Parse a icon to the standard form, an `IconDefinition` or a string like 'account-book-fill` (with a theme suffixed). - * If namespace is specified, ignore theme because it meaningless for users' icons. - * - * @param type - * @param theme - */ - _parseIconType(type, theme) { - if (isIconDefinition(type)) { - return type; - } else { - const [name2, namespace] = getNameAndNamespace(type); - if (namespace) { - return type; - } - if (alreadyHasAThemeSuffix(name2)) { - if (!!theme) { - warn2(`'type' ${name2} already gets a theme inside so 'theme' ${theme} would be ignored`); - } - return name2; - } else { - return withSuffix(name2, theme || this._iconService.defaultTheme); - } - } - } - _setSVGElement(svg) { - this._clearSVGElement(); - this._renderer.appendChild(this._elementRef.nativeElement, svg); - } - _clearSVGElement() { - const el = this._elementRef.nativeElement; - const children = el.childNodes; - const length = children.length; - for (let i = length - 1; i >= 0; i--) { - const child = children[i]; - if (child.tagName?.toLowerCase() === "svg") { - this._renderer.removeChild(el, child); - } - } - } -}; -_IconDirective.ɵfac = function IconDirective_Factory(t) { - return new (t || _IconDirective)(ɵɵdirectiveInject(IconService), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2)); -}; -_IconDirective.ɵdir = ɵɵdefineDirective({ - type: _IconDirective, - selectors: [["", "antIcon", ""]], - inputs: { - type: "type", - theme: "theme", - twoToneColor: "twoToneColor" - }, - features: [ɵɵNgOnChangesFeature] -}); -var IconDirective = _IconDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IconDirective, [{ - type: Directive, - args: [{ - selector: "[antIcon]" - }] - }], () => [{ - type: IconService - }, { - type: ElementRef - }, { - type: Renderer2 - }], { - type: [{ - type: Input - }], - theme: [{ - type: Input - }], - twoToneColor: [{ - type: Input - }] - }); -})(); -var _IconModule = class _IconModule { -}; -_IconModule.ɵfac = function IconModule_Factory(t) { - return new (t || _IconModule)(); -}; -_IconModule.ɵmod = ɵɵdefineNgModule({ - type: _IconModule, - declarations: [IconDirective], - exports: [IconDirective] -}); -_IconModule.ɵinj = ɵɵdefineInjector({ - providers: [IconService] -}); -var IconModule = _IconModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(IconModule, [{ - type: NgModule, - args: [{ - exports: [IconDirective], - declarations: [IconDirective], - providers: [IconService] - }] - }], null, null); -})(); - -// node_modules/@ant-design/icons-angular/fesm2022/ant-design-icons-angular-icons.mjs -var BarsOutline = { - name: "bars", - theme: "outline", - icon: '' -}; -var CalendarOutline = { - name: "calendar", - theme: "outline", - icon: '' -}; -var CaretDownFill = { - name: "caret-down", - theme: "fill", - icon: '' -}; -var CaretUpFill = { - name: "caret-up", - theme: "fill", - icon: '' -}; -var CheckCircleFill = { - name: "check-circle", - theme: "fill", - icon: '' -}; -var CheckCircleOutline = { - name: "check-circle", - theme: "outline", - icon: '' -}; -var CheckOutline = { - name: "check", - theme: "outline", - icon: '' -}; -var CaretDownOutline = { - name: "caret-down", - theme: "outline", - icon: '' -}; -var CloseCircleFill = { - name: "close-circle", - theme: "fill", - icon: '' -}; -var CloseCircleOutline = { - name: "close-circle", - theme: "outline", - icon: '' -}; -var ClockCircleOutline = { - name: "clock-circle", - theme: "outline", - icon: '' -}; -var CloseOutline = { - name: "close", - theme: "outline", - icon: '' -}; -var CaretUpOutline = { - name: "caret-up", - theme: "outline", - icon: '' -}; -var CopyOutline = { - name: "copy", - theme: "outline", - icon: '' -}; -var DeleteOutline = { - name: "delete", - theme: "outline", - icon: '' -}; -var DoubleLeftOutline = { - name: "double-left", - theme: "outline", - icon: '' -}; -var DoubleRightOutline = { - name: "double-right", - theme: "outline", - icon: '' -}; -var DownOutline = { - name: "down", - theme: "outline", - icon: '' -}; -var EditOutline = { - name: "edit", - theme: "outline", - icon: '' -}; -var EllipsisOutline = { - name: "ellipsis", - theme: "outline", - icon: '' -}; -var ExclamationCircleOutline = { - name: "exclamation-circle", - theme: "outline", - icon: '' -}; -var ExclamationCircleFill = { - name: "exclamation-circle", - theme: "fill", - icon: '' -}; -var FileFill = { - name: "file", - theme: "fill", - icon: '' -}; -var FilterFill = { - name: "filter", - theme: "fill", - icon: '' -}; -var InfoCircleOutline = { - name: "info-circle", - theme: "outline", - icon: '' -}; -var InfoCircleFill = { - name: "info-circle", - theme: "fill", - icon: '' -}; -var FileOutline = { - name: "file", - theme: "outline", - icon: '' -}; -var LeftOutline = { - name: "left", - theme: "outline", - icon: '' -}; -var LoadingOutline = { - name: "loading", - theme: "outline", - icon: '' -}; -var EyeOutline = { - name: "eye", - theme: "outline", - icon: '' -}; -var PaperClipOutline = { - name: "paper-clip", - theme: "outline", - icon: '' -}; -var QuestionCircleOutline = { - name: "question-circle", - theme: "outline", - icon: '' -}; -var RightOutline = { - name: "right", - theme: "outline", - icon: '' -}; -var RotateLeftOutline = { - name: "rotate-left", - theme: "outline", - icon: '' -}; -var RotateRightOutline = { - name: "rotate-right", - theme: "outline", - icon: '' -}; -var SearchOutline = { - name: "search", - theme: "outline", - icon: '' -}; -var StarFill = { - name: "star", - theme: "fill", - icon: '' -}; -var SwapRightOutline = { - name: "swap-right", - theme: "outline", - icon: '' -}; -var UploadOutline = { - name: "upload", - theme: "outline", - icon: '' -}; -var UpOutline = { - name: "up", - theme: "outline", - icon: '' -}; -var VerticalAlignTopOutline = { - name: "vertical-align-top", - theme: "outline", - icon: '' -}; -var ZoomInOutline = { - name: "zoom-in", - theme: "outline", - icon: '' -}; -var ZoomOutOutline = { - name: "zoom-out", - theme: "outline", - icon: '' -}; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-icon.mjs -var NZ_ICONS_USED_BY_ZORRO = [BarsOutline, CalendarOutline, CaretUpFill, CaretUpOutline, CaretDownFill, CaretDownOutline, CheckCircleFill, CheckCircleOutline, CheckOutline, ClockCircleOutline, CloseCircleOutline, CloseCircleFill, CloseOutline, CopyOutline, DeleteOutline, DoubleLeftOutline, DoubleRightOutline, DownOutline, EditOutline, EllipsisOutline, ExclamationCircleFill, ExclamationCircleOutline, EyeOutline, FileFill, FileOutline, FilterFill, InfoCircleFill, InfoCircleOutline, LeftOutline, LoadingOutline, PaperClipOutline, QuestionCircleOutline, RightOutline, RotateRightOutline, RotateLeftOutline, StarFill, SearchOutline, StarFill, UploadOutline, VerticalAlignTopOutline, UpOutline, SwapRightOutline, ZoomInOutline, ZoomOutOutline]; -var NZ_ICONS = new InjectionToken("nz_icons"); -var NZ_ICON_DEFAULT_TWOTONE_COLOR = new InjectionToken("nz_icon_default_twotone_color"); -var DEFAULT_TWOTONE_COLOR = "#1890ff"; -var _NzIconService = class _NzIconService extends IconService { - get _disableDynamicLoading() { - return !this.platform.isBrowser; - } - ngOnDestroy() { - if (this.subscription) { - this.subscription.unsubscribe(); - this.subscription = null; - } - } - normalizeSvgElement(svg) { - if (!svg.getAttribute("viewBox")) { - this._renderer.setAttribute(svg, "viewBox", "0 0 1024 1024"); - } - if (!svg.getAttribute("width") || !svg.getAttribute("height")) { - this._renderer.setAttribute(svg, "width", "1em"); - this._renderer.setAttribute(svg, "height", "1em"); - } - if (!svg.getAttribute("fill")) { - this._renderer.setAttribute(svg, "fill", "currentColor"); - } - } - fetchFromIconfont(opt) { - const { - scriptUrl - } = opt; - if (this._document && !this.iconfontCache.has(scriptUrl)) { - const script = this._renderer.createElement("script"); - this._renderer.setAttribute(script, "src", scriptUrl); - this._renderer.setAttribute(script, "data-namespace", scriptUrl.replace(/^(https?|http):/g, "")); - this._renderer.appendChild(this._document.body, script); - this.iconfontCache.add(scriptUrl); - } - } - createIconfontIcon(type) { - return this._createSVGElementFromString(``); - } - constructor(rendererFactory, sanitizer, nzConfigService, platform, handler, _document, icons) { - super(rendererFactory, handler, _document, sanitizer, [...NZ_ICONS_USED_BY_ZORRO, ...icons || []]); - this.nzConfigService = nzConfigService; - this.platform = platform; - this.configUpdated$ = new Subject(); - this.iconfontCache = /* @__PURE__ */ new Set(); - this.subscription = null; - this.onConfigChange(); - this.configDefaultTwotoneColor(); - this.configDefaultTheme(); - } - onConfigChange() { - this.subscription = this.nzConfigService.getConfigChangeEventForComponent("icon").subscribe(() => { - this.configDefaultTwotoneColor(); - this.configDefaultTheme(); - this.configUpdated$.next(); - }); - } - configDefaultTheme() { - const iconConfig = this.getConfig(); - this.defaultTheme = iconConfig.nzTheme || "outline"; - } - configDefaultTwotoneColor() { - const iconConfig = this.getConfig(); - const defaultTwotoneColor = iconConfig.nzTwotoneColor || DEFAULT_TWOTONE_COLOR; - let primaryColor = DEFAULT_TWOTONE_COLOR; - if (defaultTwotoneColor) { - if (defaultTwotoneColor.startsWith("#")) { - primaryColor = defaultTwotoneColor; - } else { - warn("Twotone color must be a hex color!"); - } - } - this.twoToneColor = { - primaryColor - }; - } - getConfig() { - return this.nzConfigService.getConfigForComponent("icon") || {}; - } -}; -_NzIconService.ɵfac = function NzIconService_Factory(t) { - return new (t || _NzIconService)(ɵɵinject(RendererFactory2), ɵɵinject(DomSanitizer), ɵɵinject(NzConfigService), ɵɵinject(Platform), ɵɵinject(HttpBackend, 8), ɵɵinject(DOCUMENT, 8), ɵɵinject(NZ_ICONS, 8)); -}; -_NzIconService.ɵprov = ɵɵdefineInjectable({ - token: _NzIconService, - factory: _NzIconService.ɵfac, - providedIn: "root" -}); -var NzIconService = _NzIconService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzIconService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: RendererFactory2 - }, { - type: DomSanitizer - }, { - type: NzConfigService - }, { - type: Platform - }, { - type: HttpBackend, - decorators: [{ - type: Optional - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_ICONS] - }] - }], null); -})(); -var NZ_ICONS_PATCH = new InjectionToken("nz_icons_patch"); -var _NzIconPatchService = class _NzIconPatchService { - constructor(extraIcons, rootIconService) { - this.extraIcons = extraIcons; - this.rootIconService = rootIconService; - this.patched = false; - } - doPatch() { - if (this.patched) { - return; - } - this.extraIcons.forEach((iconDefinition) => this.rootIconService.addIcon(iconDefinition)); - this.patched = true; - } -}; -_NzIconPatchService.ɵfac = function NzIconPatchService_Factory(t) { - return new (t || _NzIconPatchService)(ɵɵinject(NZ_ICONS_PATCH, 2), ɵɵinject(NzIconService)); -}; -_NzIconPatchService.ɵprov = ɵɵdefineInjectable({ - token: _NzIconPatchService, - factory: _NzIconPatchService.ɵfac -}); -var NzIconPatchService = _NzIconPatchService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzIconPatchService, [{ - type: Injectable - }], () => [{ - type: void 0, - decorators: [{ - type: Self - }, { - type: Inject, - args: [NZ_ICONS_PATCH] - }] - }, { - type: NzIconService - }], null); -})(); -var _NzIconDirective = class _NzIconDirective extends IconDirective { - set nzSpin(value) { - this.spin = value; - } - set nzType(value) { - this.type = value; - } - set nzTheme(value) { - this.theme = value; - } - set nzTwotoneColor(value) { - this.twoToneColor = value; - } - set nzIconfont(value) { - this.iconfont = value; - } - constructor(ngZone, changeDetectorRef, elementRef, iconService, renderer, iconPatch) { - super(iconService, elementRef, renderer); - this.ngZone = ngZone; - this.changeDetectorRef = changeDetectorRef; - this.iconService = iconService; - this.renderer = renderer; - this.cacheClassName = null; - this.nzRotate = 0; - this.spin = false; - this.destroy$ = new Subject(); - if (iconPatch) { - iconPatch.doPatch(); - } - this.el = elementRef.nativeElement; - } - ngOnChanges(changes) { - const { - nzType, - nzTwotoneColor, - nzSpin, - nzTheme, - nzRotate - } = changes; - if (nzType || nzTwotoneColor || nzSpin || nzTheme) { - this.changeIcon2(); - } else if (nzRotate) { - this.handleRotate(this.el.firstChild); - } else { - this._setSVGElement(this.iconService.createIconfontIcon(`#${this.iconfont}`)); - } - } - ngOnInit() { - this.renderer.setAttribute(this.el, "class", `anticon ${this.el.className}`.trim()); - } - /** - * If custom content is provided, try to normalize SVG elements. - */ - ngAfterContentChecked() { - if (!this.type) { - const children = this.el.children; - let length = children.length; - if (!this.type && children.length) { - while (length--) { - const child = children[length]; - if (child.tagName.toLowerCase() === "svg") { - this.iconService.normalizeSvgElement(child); - } - } - } - } - } - ngOnDestroy() { - this.destroy$.next(); - } - /** - * Replacement of `changeIcon` for more modifications. - */ - changeIcon2() { - this.setClassName(); - this.ngZone.runOutsideAngular(() => { - from(this._changeIcon()).pipe(takeUntil(this.destroy$)).subscribe({ - next: (svgOrRemove) => { - this.ngZone.run(() => { - this.changeDetectorRef.detectChanges(); - if (svgOrRemove) { - this.setSVGData(svgOrRemove); - this.handleSpin(svgOrRemove); - this.handleRotate(svgOrRemove); - } - }); - }, - error: warn - }); - }); - } - handleSpin(svg) { - if (this.spin || this.type === "loading") { - this.renderer.addClass(svg, "anticon-spin"); - } else { - this.renderer.removeClass(svg, "anticon-spin"); - } - } - handleRotate(svg) { - if (this.nzRotate) { - this.renderer.setAttribute(svg, "style", `transform: rotate(${this.nzRotate}deg)`); - } else { - this.renderer.removeAttribute(svg, "style"); - } - } - setClassName() { - if (this.cacheClassName) { - this.renderer.removeClass(this.el, this.cacheClassName); - } - this.cacheClassName = `anticon-${this.type}`; - this.renderer.addClass(this.el, this.cacheClassName); - } - setSVGData(svg) { - this.renderer.setAttribute(svg, "data-icon", this.type); - this.renderer.setAttribute(svg, "aria-hidden", "true"); - } -}; -_NzIconDirective.ɵfac = function NzIconDirective_Factory(t) { - return new (t || _NzIconDirective)(ɵɵdirectiveInject(NgZone), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(NzIconService), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzIconPatchService, 8)); -}; -_NzIconDirective.ɵdir = ɵɵdefineDirective({ - type: _NzIconDirective, - selectors: [["", "nz-icon", ""]], - hostVars: 2, - hostBindings: function NzIconDirective_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("anticon", true); - } - }, - inputs: { - nzSpin: "nzSpin", - nzRotate: "nzRotate", - nzType: "nzType", - nzTheme: "nzTheme", - nzTwotoneColor: "nzTwotoneColor", - nzIconfont: "nzIconfont" - }, - exportAs: ["nzIcon"], - standalone: true, - features: [ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature] -}); -var NzIconDirective = _NzIconDirective; -__decorate([InputBoolean()], NzIconDirective.prototype, "nzSpin", null); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzIconDirective, [{ - type: Directive, - args: [{ - selector: "[nz-icon]", - exportAs: "nzIcon", - host: { - "[class.anticon]": "true" - }, - standalone: true - }] - }], () => [{ - type: NgZone - }, { - type: ChangeDetectorRef - }, { - type: ElementRef - }, { - type: NzIconService - }, { - type: Renderer2 - }, { - type: NzIconPatchService, - decorators: [{ - type: Optional - }] - }], { - nzSpin: [{ - type: Input - }], - nzRotate: [{ - type: Input - }], - nzType: [{ - type: Input - }], - nzTheme: [{ - type: Input - }], - nzTwotoneColor: [{ - type: Input - }], - nzIconfont: [{ - type: Input - }] - }); -})(); -var _NzIconModule = class _NzIconModule { - static forRoot(icons) { - return { - ngModule: _NzIconModule, - providers: [{ - provide: NZ_ICONS, - useValue: icons - }] - }; - } - static forChild(icons) { - return { - ngModule: _NzIconModule, - providers: [NzIconPatchService, { - provide: NZ_ICONS_PATCH, - useValue: icons - }] - }; - } -}; -_NzIconModule.ɵfac = function NzIconModule_Factory(t) { - return new (t || _NzIconModule)(); -}; -_NzIconModule.ɵmod = ɵɵdefineNgModule({ - type: _NzIconModule, - imports: [NzIconDirective], - exports: [NzIconDirective] -}); -_NzIconModule.ɵinj = ɵɵdefineInjector({}); -var NzIconModule = _NzIconModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzIconModule, [{ - type: NgModule, - args: [{ - imports: [NzIconDirective], - exports: [NzIconDirective] - }] - }], null, null); -})(); - -export { - NZ_ICONS_USED_BY_ZORRO, - NZ_ICONS, - NZ_ICON_DEFAULT_TWOTONE_COLOR, - DEFAULT_TWOTONE_COLOR, - NzIconService, - NZ_ICONS_PATCH, - NzIconPatchService, - NzIconDirective, - NzIconModule -}; -//# sourceMappingURL=chunk-VWMHIMW7.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js.map b/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js.map deleted file mode 100644 index 9724d2d..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-VWMHIMW7.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@ant-design/colors/es/generate.js", "../../../../../node_modules/@ant-design/colors/es/index.js", "../../../../../node_modules/@ant-design/icons-angular/fesm2022/ant-design-icons-angular.mjs", "../../../../../node_modules/@ant-design/icons-angular/fesm2022/ant-design-icons-angular-icons.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-icon.mjs"], - "sourcesContent": ["import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}];\n\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nexport default function generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}", "import generate from \"./generate\";\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1677FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\nvar gray = presetPalettes.grey;\nexport { generate, presetPalettes, presetDarkPalettes, presetPrimaryColors, red, volcano, orange, gold, yellow, lime, green, cyan, blue, geekblue, purple, magenta, grey, gray };", "import * as i0 from '@angular/core';\nimport { isDevMode, InjectionToken, SecurityContext, Injectable, Optional, Inject, Directive, Input, NgModule } from '@angular/core';\nimport { generate } from '@ant-design/colors';\nimport { DOCUMENT } from '@angular/common';\nimport * as i1 from '@angular/common/http';\nimport { HttpClient } from '@angular/common/http';\nimport { Subject, of, Observable } from 'rxjs';\nimport { map, tap, finalize, catchError, share, filter, take } from 'rxjs/operators';\nimport * as i2 from '@angular/platform-browser';\nconst ANT_ICON_ANGULAR_CONSOLE_PREFIX = '[@ant-design/icons-angular]:';\nfunction error(message) {\n console.error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`);\n}\nfunction warn(message) {\n if (isDevMode()) {\n console.warn(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} ${message}.`);\n }\n}\nfunction getSecondaryColor(primaryColor) {\n return generate(primaryColor)[0];\n}\nfunction withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return `${name}-fill`;\n case 'outline':\n return `${name}-o`;\n case 'twotone':\n return `${name}-twotone`;\n case undefined:\n return name;\n default:\n throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Theme \"${theme}\" is not a recognized theme!`);\n }\n}\nfunction withSuffixAndColor(name, theme, pri, sec) {\n return `${withSuffix(name, theme)}-${pri}-${sec}`;\n}\nfunction mapAbbrToTheme(abbr) {\n return abbr === 'o' ? 'outline' : abbr;\n}\nfunction alreadyHasAThemeSuffix(name) {\n return name.endsWith('-fill') || name.endsWith('-o') || name.endsWith('-twotone');\n}\nfunction isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && (typeof target.theme === 'string' || target.theme === undefined) && typeof target.icon === 'string';\n}\n/**\n * Get an `IconDefinition` object from abbreviation type, like `account-book-fill`.\n * @param str\n */\nfunction getIconDefinitionFromAbbr(str) {\n const arr = str.split('-');\n const theme = mapAbbrToTheme(arr.splice(arr.length - 1, 1)[0]);\n const name = arr.join('-');\n return {\n name,\n theme,\n icon: ''\n };\n}\nfunction cloneSVG(svg) {\n return svg.cloneNode(true);\n}\n/**\n * Parse inline SVG string and replace colors with placeholders. For twotone icons only.\n */\nfunction replaceFillColor(raw) {\n return raw.replace(/['\"]#333['\"]/g, '\"primaryColor\"').replace(/['\"]#E6E6E6['\"]/g, '\"secondaryColor\"').replace(/['\"]#D9D9D9['\"]/g, '\"secondaryColor\"').replace(/['\"]#D8D8D8['\"]/g, '\"secondaryColor\"');\n}\n/**\n * Split a name with namespace in it into a tuple like [ name, namespace ].\n */\nfunction getNameAndNamespace(type) {\n const split = type.split(':');\n switch (split.length) {\n case 1:\n return [type, ''];\n case 2:\n return [split[1], split[0]];\n default:\n throw new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}The icon type ${type} is not valid!`);\n }\n}\nfunction hasNamespace(type) {\n return getNameAndNamespace(type)[1] !== '';\n}\nfunction NameSpaceIsNotSpecifyError() {\n return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Type should have a namespace. Try \"namespace:${name}\".`);\n}\nfunction IconNotFoundError(icon) {\n return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}the icon ${icon} does not exist or is not registered.`);\n}\nfunction HttpModuleNotImport() {\n error(`you need to import \"HttpClientModule\" to use dynamic importing.`);\n return null;\n}\nfunction UrlNotSafeError(url) {\n return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}The url \"${url}\" is unsafe.`);\n}\nfunction SVGTagNotFoundError() {\n return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX} tag not found.`);\n}\nfunction DynamicLoadingTimeoutError() {\n return new Error(`${ANT_ICON_ANGULAR_CONSOLE_PREFIX}Importing timeout error.`);\n}\nconst JSONP_HANDLER_NAME = '__ant_icon_load';\nconst ANT_ICONS = new InjectionToken('ant_icons');\nclass IconService {\n set twoToneColor({\n primaryColor,\n secondaryColor\n }) {\n this._twoToneColorPalette.primaryColor = primaryColor;\n this._twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n }\n get twoToneColor() {\n // Make a copy to avoid unexpected changes.\n return {\n ...this._twoToneColorPalette\n };\n }\n /**\n * Disable dynamic loading (support static loading only).\n */\n get _disableDynamicLoading() {\n return false;\n }\n constructor(_rendererFactory, _handler, _document, sanitizer, _antIcons) {\n this._rendererFactory = _rendererFactory;\n this._handler = _handler;\n this._document = _document;\n this.sanitizer = sanitizer;\n this._antIcons = _antIcons;\n this.defaultTheme = 'outline';\n /**\n * All icon definitions would be registered here.\n */\n this._svgDefinitions = new Map();\n /**\n * Cache all rendered icons. Icons are identified by name, theme,\n * and for twotone icons, primary color and secondary color.\n */\n this._svgRenderedDefinitions = new Map();\n this._inProgressFetches = new Map();\n /**\n * Url prefix for fetching inline SVG by dynamic importing.\n */\n this._assetsUrlRoot = '';\n this._twoToneColorPalette = {\n primaryColor: '#333333',\n secondaryColor: '#E6E6E6'\n };\n /** A flag indicates whether jsonp loading is enabled. */\n this._enableJsonpLoading = false;\n this._jsonpIconLoad$ = new Subject();\n this._renderer = this._rendererFactory.createRenderer(null, null);\n if (this._handler) {\n this._http = new HttpClient(this._handler);\n }\n if (this._antIcons) {\n this.addIcon(...this._antIcons);\n }\n }\n /**\n * Call this method to switch to jsonp like loading.\n */\n useJsonpLoading() {\n if (!this._enableJsonpLoading) {\n this._enableJsonpLoading = true;\n window[JSONP_HANDLER_NAME] = icon => {\n this._jsonpIconLoad$.next(icon);\n };\n } else {\n warn('You are already using jsonp loading.');\n }\n }\n /**\n * Change the prefix of the inline svg resources, so they could be deployed elsewhere, like CDN.\n * @param prefix\n */\n changeAssetsSource(prefix) {\n this._assetsUrlRoot = prefix.endsWith('/') ? prefix : prefix + '/';\n }\n /**\n * Add icons provided by ant design.\n * @param icons\n */\n addIcon(...icons) {\n icons.forEach(icon => {\n this._svgDefinitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n }\n /**\n * Register an icon. Namespace is required.\n * @param type\n * @param literal\n */\n addIconLiteral(type, literal) {\n const [_, namespace] = getNameAndNamespace(type);\n if (!namespace) {\n throw NameSpaceIsNotSpecifyError();\n }\n this.addIcon({\n name: type,\n icon: literal\n });\n }\n /**\n * Remove all cache.\n */\n clear() {\n this._svgDefinitions.clear();\n this._svgRenderedDefinitions.clear();\n }\n /**\n * Get a rendered `SVGElement`.\n * @param icon\n * @param twoToneColor\n */\n getRenderedContent(icon, twoToneColor) {\n // If `icon` is a `IconDefinition`, go to the next step. If not, try to fetch it from cache.\n const definition = isIconDefinition(icon) ? icon : this._svgDefinitions.get(icon) || null;\n if (!definition && this._disableDynamicLoading) {\n throw IconNotFoundError(icon);\n }\n // If `icon` is a `IconDefinition` of successfully fetch, wrap it in an `Observable`.\n // Otherwise try to fetch it from remote.\n const $iconDefinition = definition ? of(definition) : this._loadIconDynamically(icon);\n // If finally get an `IconDefinition`, render and return it. Otherwise throw an error.\n return $iconDefinition.pipe(map(i => {\n if (!i) {\n throw IconNotFoundError(icon);\n }\n return this._loadSVGFromCacheOrCreateNew(i, twoToneColor);\n }));\n }\n getCachedIcons() {\n return this._svgDefinitions;\n }\n /**\n * Get raw svg and assemble a `IconDefinition` object.\n * @param type\n */\n _loadIconDynamically(type) {\n // If developer doesn't provide HTTP module nor enable jsonp loading, just throw an error.\n if (!this._http && !this._enableJsonpLoading) {\n return of(HttpModuleNotImport());\n }\n // If multi directive ask for the same icon at the same time,\n // request should only be fired once.\n let inProgress = this._inProgressFetches.get(type);\n if (!inProgress) {\n const [name, namespace] = getNameAndNamespace(type);\n // If the string has a namespace within, create a simple `IconDefinition`.\n const icon = namespace ? {\n name: type,\n icon: ''\n } : getIconDefinitionFromAbbr(name);\n const suffix = this._enableJsonpLoading ? '.js' : '.svg';\n const url = (namespace ? `${this._assetsUrlRoot}assets/${namespace}/${name}` : `${this._assetsUrlRoot}assets/${icon.theme}/${icon.name}`) + suffix;\n const safeUrl = this.sanitizer.sanitize(SecurityContext.URL, url);\n if (!safeUrl) {\n throw UrlNotSafeError(url);\n }\n const source = !this._enableJsonpLoading ? this._http.get(safeUrl, {\n responseType: 'text'\n }).pipe(map(literal => ({\n ...icon,\n icon: literal\n }))) : this._loadIconDynamicallyWithJsonp(icon, safeUrl);\n inProgress = source.pipe(tap(definition => this.addIcon(definition)), finalize(() => this._inProgressFetches.delete(type)), catchError(() => of(null)), share());\n this._inProgressFetches.set(type, inProgress);\n }\n return inProgress;\n }\n _loadIconDynamicallyWithJsonp(icon, url) {\n return new Observable(subscriber => {\n const loader = this._document.createElement('script');\n const timer = setTimeout(() => {\n clean();\n subscriber.error(DynamicLoadingTimeoutError());\n }, 6000);\n loader.src = url;\n function clean() {\n loader.parentNode.removeChild(loader);\n clearTimeout(timer);\n }\n this._document.body.appendChild(loader);\n this._jsonpIconLoad$.pipe(filter(i => i.name === icon.name && i.theme === icon.theme), take(1)).subscribe(i => {\n subscriber.next(i);\n clean();\n });\n });\n }\n /**\n * Render a new `SVGElement` for a given `IconDefinition`, or make a copy from cache.\n * @param icon\n * @param twoToneColor\n */\n _loadSVGFromCacheOrCreateNew(icon, twoToneColor) {\n let svg;\n const pri = twoToneColor || this._twoToneColorPalette.primaryColor;\n const sec = getSecondaryColor(pri) || this._twoToneColorPalette.secondaryColor;\n const key = icon.theme === 'twotone' ? withSuffixAndColor(icon.name, icon.theme, pri, sec) : icon.theme === undefined ? icon.name : withSuffix(icon.name, icon.theme);\n // Try to make a copy from cache.\n const cached = this._svgRenderedDefinitions.get(key);\n if (cached) {\n svg = cached.icon;\n } else {\n svg = this._setSVGAttribute(this._colorizeSVGIcon(\n // Icons provided by ant design should be refined to remove preset colors.\n this._createSVGElementFromString(hasNamespace(icon.name) ? icon.icon : replaceFillColor(icon.icon)), icon.theme === 'twotone', pri, sec));\n // Cache it.\n this._svgRenderedDefinitions.set(key, {\n ...icon,\n icon: svg\n });\n }\n return cloneSVG(svg);\n }\n _createSVGElementFromString(str) {\n const div = this._document.createElement('div');\n div.innerHTML = str;\n const svg = div.querySelector('svg');\n if (!svg) {\n throw SVGTagNotFoundError;\n }\n return svg;\n }\n _setSVGAttribute(svg) {\n this._renderer.setAttribute(svg, 'width', '1em');\n this._renderer.setAttribute(svg, 'height', '1em');\n return svg;\n }\n _colorizeSVGIcon(svg, twotone, pri, sec) {\n if (twotone) {\n const children = svg.childNodes;\n const length = children.length;\n for (let i = 0; i < length; i++) {\n const child = children[i];\n if (child.getAttribute('fill') === 'secondaryColor') {\n this._renderer.setAttribute(child, 'fill', sec);\n } else {\n this._renderer.setAttribute(child, 'fill', pri);\n }\n }\n }\n this._renderer.setAttribute(svg, 'fill', 'currentColor');\n return svg;\n }\n static {\n this.ɵfac = function IconService_Factory(t) {\n return new (t || IconService)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(i1.HttpBackend, 8), i0.ɵɵinject(DOCUMENT, 8), i0.ɵɵinject(i2.DomSanitizer), i0.ɵɵinject(ANT_ICONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IconService,\n factory: IconService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IconService, [{\n type: Injectable\n }], () => [{\n type: i0.RendererFactory2\n }, {\n type: i1.HttpBackend,\n decorators: [{\n type: Optional\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i2.DomSanitizer\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANT_ICONS]\n }]\n }], null);\n})();\nfunction checkMeta(prev, after) {\n return prev.type === after.type && prev.theme === after.theme && prev.twoToneColor === after.twoToneColor;\n}\nclass IconDirective {\n constructor(_iconService, _elementRef, _renderer) {\n this._iconService = _iconService;\n this._elementRef = _elementRef;\n this._renderer = _renderer;\n }\n ngOnChanges(changes) {\n if (changes.type || changes.theme || changes.twoToneColor) {\n this._changeIcon();\n }\n }\n /**\n * Render a new icon in the current element. Remove the icon when `type` is falsy.\n */\n _changeIcon() {\n return new Promise(resolve => {\n if (!this.type) {\n this._clearSVGElement();\n resolve(null);\n return;\n }\n const beforeMeta = this._getSelfRenderMeta();\n this._iconService.getRenderedContent(this._parseIconType(this.type, this.theme), this.twoToneColor).subscribe(svg => {\n // avoid race condition\n // see https://github.com/ant-design/ant-design-icons/issues/315\n const afterMeta = this._getSelfRenderMeta();\n if (checkMeta(beforeMeta, afterMeta)) {\n this._setSVGElement(svg);\n resolve(svg);\n } else {\n resolve(null);\n }\n });\n });\n }\n _getSelfRenderMeta() {\n return {\n type: this.type,\n theme: this.theme,\n twoToneColor: this.twoToneColor\n };\n }\n /**\n * Parse a icon to the standard form, an `IconDefinition` or a string like 'account-book-fill` (with a theme suffixed).\n * If namespace is specified, ignore theme because it meaningless for users' icons.\n *\n * @param type\n * @param theme\n */\n _parseIconType(type, theme) {\n if (isIconDefinition(type)) {\n return type;\n } else {\n const [name, namespace] = getNameAndNamespace(type);\n if (namespace) {\n return type;\n }\n if (alreadyHasAThemeSuffix(name)) {\n if (!!theme) {\n warn(`'type' ${name} already gets a theme inside so 'theme' ${theme} would be ignored`);\n }\n return name;\n } else {\n return withSuffix(name, theme || this._iconService.defaultTheme);\n }\n }\n }\n _setSVGElement(svg) {\n this._clearSVGElement();\n this._renderer.appendChild(this._elementRef.nativeElement, svg);\n }\n _clearSVGElement() {\n const el = this._elementRef.nativeElement;\n const children = el.childNodes;\n const length = children.length;\n for (let i = length - 1; i >= 0; i--) {\n const child = children[i];\n if (child.tagName?.toLowerCase() === 'svg') {\n this._renderer.removeChild(el, child);\n }\n }\n }\n static {\n this.ɵfac = function IconDirective_Factory(t) {\n return new (t || IconDirective)(i0.ɵɵdirectiveInject(IconService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: IconDirective,\n selectors: [[\"\", \"antIcon\", \"\"]],\n inputs: {\n type: \"type\",\n theme: \"theme\",\n twoToneColor: \"twoToneColor\"\n },\n features: [i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IconDirective, [{\n type: Directive,\n args: [{\n selector: '[antIcon]'\n }]\n }], () => [{\n type: IconService\n }, {\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }], {\n type: [{\n type: Input\n }],\n theme: [{\n type: Input\n }],\n twoToneColor: [{\n type: Input\n }]\n });\n})();\nclass IconModule {\n static {\n this.ɵfac = function IconModule_Factory(t) {\n return new (t || IconModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: IconModule,\n declarations: [IconDirective],\n exports: [IconDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [IconService]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(IconModule, [{\n type: NgModule,\n args: [{\n exports: [IconDirective],\n declarations: [IconDirective],\n providers: [IconService]\n }]\n }], null, null);\n})();\nconst manifest = {\n fill: ['account-book', 'alert', 'alipay-circle', 'alipay-square', 'amazon-square', 'android', 'apple', 'amazon-circle', 'appstore', 'bank', 'backward', 'audio', 'behance-circle', 'behance-square', 'aliwangwang', 'box-plot', 'book', 'build', 'bulb', 'calculator', 'bug', 'calendar', 'caret-down', 'car', 'camera', 'caret-up', 'carry-out', 'caret-left', 'check-circle', 'check-square', 'clock-circle', 'chrome', 'close-circle', 'close-square', 'caret-right', 'cloud', 'code', 'codepen-circle', 'code-sandbox-square', 'codepen-square', 'ci-circle', 'bell', 'contacts', 'container', 'copyright-circle', 'copy', 'control', 'compass', 'credit-card', 'crown', 'database', 'delete', 'dashboard', 'diff', 'dislike', 'dingtalk-circle', 'dingtalk-square', 'dollar-circle', 'down-circle', 'down-square', 'dribbble-square', 'dribbble-circle', 'dropbox-circle', 'edit', 'dropbox-square', 'environment', 'euro-circle', 'code-sandbox-circle', 'eye', 'experiment', 'exclamation-circle', 'facebook', 'fast-backward', 'eye-invisible', 'file-add', 'fast-forward', 'file-excel', 'file-exclamation', 'file', 'file-image', 'api', 'file-pdf', 'file-ppt', 'file-text', 'file-markdown', 'file-unknown', 'file-word', 'file-zip', 'fire', 'filter', 'flag', 'folder-add', 'folder-open', 'forward', 'frown', 'funnel-plot', 'fund', 'format-painter', 'gift', 'customer-service', 'github', 'gitlab', 'golden', 'google-circle', 'gold', 'google-square', 'google-plus-circle', 'highlight', 'heart', 'hourglass', 'home', 'html5', 'folder', 'idcard', 'ie-circle', 'info-circle', 'instagram', 'insurance', 'hdd', 'like', 'layout', 'left-square', 'left-circle', 'linkedin', 'lock', 'mac-command', 'mail', 'medium-circle', 'interaction', 'medium-square', 'meh', 'ie-square', 'message', 'minus-circle', 'minus-square', 'mobile', 'money-collect', 'notification', 'pause-circle', 'pay-circle', 'picture', 'phone', 'pie-chart', 'play-square', 'play-circle', 'plus-circle', 'pound-circle', 'plus-square', 'profile', 'printer', 'project', 'pushpin', 'qq-circle', 'property-safety', 'question-circle', 'qq-square', 'read', 'reconciliation', 'red-envelope', 'reddit-circle', 'google-plus-square', 'reddit-square', 'rest', 'right-circle', 'right-square', 'robot', 'rocket', 'safety-certificate', 'medicine-box', 'schedule', 'save', 'security-scan', 'setting', 'shop', 'shopping', 'signal', 'sketch-circle', 'sketch-square', 'slack-square', 'skype', 'sliders', 'snippets', 'smile', 'sound', 'star', 'step-forward', 'stop', 'switcher', 'tag', 'tablet', 'taobao-circle', 'tags', 'taobao-square', 'thunderbolt', 'tool', 'step-backward', 'trademark-circle', 'trophy', 'twitter-circle', 'unlock', 'slack-circle', 'up-circle', 'twitter-square', 'usb', 'up-square', 'video-camera', 'wallet', 'weibo-circle', 'weibo-square', 'yahoo', 'zhihu-circle', 'warning', 'youtube', 'windows', 'wechat', 'zhihu-square', 'yuque', 'skin'],\n outline: ['account-book', 'alert', 'aim', 'alibaba', 'align-center', 'alipay-circle', 'align-right', 'alipay', 'api', 'aliwangwang', 'amazon', 'ant-cloud', 'appstore', 'appstore-add', 'apple', 'area-chart', 'arrow-right', 'audio-muted', 'arrows-alt', 'backward', 'audit', 'bar-chart', 'audio', 'bank', 'bars', 'arrow-left', 'arrow-up', 'bell', 'bold', 'behance', 'aliyun', 'arrow-down', 'behance-square', 'apartment', 'block', 'border-outer', 'barcode', 'border-horizontal', 'border-verticle', 'borderless-table', 'border', 'border-inner', 'border-top', 'bg-colors', 'border-left', 'branches', 'box-plot', 'bug', 'build', 'bulb', 'calculator', 'border-right', 'car', 'camera', 'calendar', 'caret-left', 'check-circle', 'ant-design', 'check', 'align-left', 'book', 'carry-out', 'caret-down', 'clear', 'chrome', 'close-circle', 'clock-circle', 'ci-circle', 'cloud-download', 'close', 'cloud-server', 'ci', 'cloud-sync', 'cloud', 'code-sandbox', 'check-square', 'cluster', 'cloud-upload', 'close-square', 'column-height', 'codepen', 'coffee', 'codepen-circle', 'code', 'compress', 'contacts', 'caret-up', 'compass', 'comment', 'border-bottom', 'container', 'caret-right', 'copy', 'column-width', 'control', 'database', 'crown', 'delete-column', 'delete', 'dashboard', 'dash', 'deployment-unit', 'desktop', 'diff', 'delivered-procedure', 'dingtalk', 'dingding', 'delete-row', 'credit-card', 'dollar-circle', 'dislike', 'double-left', 'dot-chart', 'dollar', 'copyright', 'double-right', 'down-circle', 'down', 'download', 'down-square', 'drag', 'dropbox', 'dribbble-square', 'edit', 'ellipsis', 'dribbble', 'enter', 'environment', 'euro-circle', 'expand-alt', 'expand', 'customer-service', 'exception', 'exclamation-circle', 'exclamation', 'euro', 'eye-invisible', 'export', 'facebook', 'fast-backward', 'fast-forward', 'field-number', 'field-string', 'field-time', 'file-add', 'fall', 'file-done', 'file-excel', 'file-exclamation', 'field-binary', 'file-gif', 'file-jpg', 'file-markdown', 'file-image', 'file-pdf', 'file-search', 'file-ppt', 'file-protect', 'file-unknown', 'file-text', 'file-sync', 'filter', 'file-word', 'file-zip', 'flag', 'fire', 'folder-add', 'folder', 'font-colors', 'fork', 'folder-view', 'form', 'folder-open', 'font-size', 'forward', 'experiment', 'fullscreen', 'function', 'fullscreen-exit', 'gateway', 'fund-view', 'format-painter', 'gift', 'gif', 'fund-projection-screen', 'funnel-plot', 'fund', 'global', 'frown', 'gold', 'github', 'google', 'google-plus', 'hdd', 'heart', 'android', 'heat-map', 'group', 'holder', 'home', 'highlight', 'html5', 'idcard', 'hourglass', 'copyright-circle', 'info-circle', 'info', 'insert-row-above', 'inbox', 'insert-row-left', 'import', 'instagram', 'key', 'insert-row-below', 'insurance', 'interaction', 'insert-row-right', 'left-circle', 'laptop', 'issues-close', 'italic', 'file', 'layout', 'left', 'left-square', 'line-height', 'like', 'link', 'linkedin', 'line-chart', 'loading-3-quarters', 'line', 'logout', 'lock', 'login', 'mail', 'mac-command', 'loading', 'console-sql', 'man', 'medicine-box', 'eye', 'meh', 'menu-unfold', 'medium', 'message', 'merge-cells', 'menu-fold', 'minus-circle', 'ie', 'disconnect', 'money-collect', 'monitor', 'minus', 'node-collapse', 'menu', 'node-expand', 'notification', 'number', 'gitlab', 'paper-clip', 'pause', 'phone', 'partition', 'one-to-one', 'pause-circle', 'ordered-list', 'pic-center', 'pay-circle', 'percentage', 'picture', 'minus-square', 'pie-chart', 'pic-left', 'pic-right', 'plus-circle', 'plus', 'plus-square', 'pound-circle', 'play-square', 'poweroff', 'pound', 'project', 'printer', 'property-safety', 'mobile', 'qq', 'pushpin', 'pull-request', 'profile', 'radius-bottomleft', 'question-circle', 'qrcode', 'radar-chart', 'reconciliation', 'radius-upright', 'question', 'read', 'red-envelope', 'radius-bottomright', 'radius-setting', 'reddit', 'redo', 'more', 'node-index', 'right-circle', 'right', 'reload', 'right-square', 'rocket', 'rotate-left', 'robot', 'safety', 'save', 'rotate-right', 'rollback', 'scan', 'schedule', 'safety-certificate', 'scissor', 'send', 'shake', 'share-alt', 'search', 'security-scan', 'radius-upleft', 'history', 'rest', 'shopping', 'medium-workmark', 'shrink', 'sketch', 'skype', 'retweet', 'slack', 'slack-square', 'sisternode', 'sliders', 'shop', 'small-dash', 'smile', 'snippets', 'shopping-cart', 'solution', 'sort-ascending', 'split-cells', 'play-circle', 'star', 'step-backward', 'strikethrough', 'step-forward', 'rise', 'stock', 'stop', 'swap-left', 'switcher', 'swap', 'subnode', 'swap-right', 'sync', 'table', 'skin', 'tag', 'taobao', 'tags', 'team', 'thunderbolt', 'taobao-circle', 'tool', 'trademark-circle', 'to-top', 'trademark', 'transaction', 'trophy', 'sound', 'underline', 'twitter', 'unlock', 'undo', 'setting', 'ungroup', 'select', 'up-circle', 'up-square', 'unordered-list', 'upload', 'up', 'tablet', 'user-delete', 'user', 'usergroup-delete', 'user-switch', 'verified', 'vertical-align-middle', 'vertical-align-top', 'video-camera-add', 'vertical-align-bottom', 'vertical-right', 'vertical-left', 'usb', 'wallet', 'video-camera', 'weibo-square', 'weibo', 'wechat', 'weibo-circle', 'usergroup-add', 'whats-app', 'woman', 'translation', 'windows', 'wifi', 'yahoo', 'yuque', 'warning', 'zoom-in', 'sort-descending', 'youtube', 'zoom-out', 'zhihu', 'user-add'],\n twotone: ['alert', 'appstore', 'audio', 'bank', 'account-book', 'book', 'box-plot', 'bug', 'build', 'calculator', 'calendar', 'bulb', 'camera', 'car', 'carry-out', 'check-circle', 'check-square', 'ci', 'clock-circle', 'close-circle', 'ci-circle', 'bell', 'cloud', 'close-square', 'code', 'contacts', 'container', 'copyright-circle', 'control', 'credit-card', 'crown', 'compass', 'copyright', 'customer-service', 'delete', 'dashboard', 'database', 'api', 'copy', 'diff', 'dislike', 'dollar-circle', 'dollar', 'down-square', 'edit', 'environment', 'euro', 'exclamation-circle', 'down-circle', 'eye', 'experiment', 'file-excel', 'file-exclamation', 'file-add', 'file-image', 'file-markdown', 'file-pdf', 'file-ppt', 'file-text', 'file-zip', 'file', 'file-word', 'file-unknown', 'fire', 'filter', 'eye-invisible', 'flag', 'folder-add', 'folder', 'folder-open', 'fund', 'frown', 'funnel-plot', 'gift', 'gold', 'hdd', 'heart', 'euro-circle', 'highlight', 'idcard', 'hourglass', 'html5', 'home', 'info-circle', 'interaction', 'layout', 'left-square', 'left-circle', 'like', 'lock', 'mail', 'medicine-box', 'message', 'meh', 'minus-circle', 'mobile', 'minus-square', 'money-collect', 'pause-circle', 'notification', 'phone', 'pie-chart', 'play-circle', 'plus-circle', 'picture', 'play-square', 'plus-square', 'pound-circle', 'project', 'profile', 'printer', 'pushpin', 'reconciliation', 'property-safety', 'right-circle', 'red-envelope', 'right-square', 'rocket', 'insurance', 'question-circle', 'save', 'schedule', 'safety-certificate', 'security-scan', 'setting', 'shop', 'rest', 'skin', 'sliders', 'sound', 'smile', 'shopping', 'star', 'stop', 'switcher', 'tag', 'tags', 'tablet', 'thunderbolt', 'tool', 'trademark-circle', 'trophy', 'unlock', 'up-circle', 'usb', 'video-camera', 'warning', 'wallet', 'up-square', 'snippets']\n};\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ANT_ICONS, ANT_ICON_ANGULAR_CONSOLE_PREFIX, DynamicLoadingTimeoutError, HttpModuleNotImport, IconDirective, IconModule, IconNotFoundError, IconService, NameSpaceIsNotSpecifyError, SVGTagNotFoundError, UrlNotSafeError, alreadyHasAThemeSuffix, cloneSVG, error, getIconDefinitionFromAbbr, getNameAndNamespace, getSecondaryColor, hasNamespace, isIconDefinition, manifest, mapAbbrToTheme, replaceFillColor, warn, withSuffix, withSuffixAndColor };\n", "const AccountBookOutline = {\n name: 'account-book',\n theme: 'outline',\n icon: ''\n};\n\nconst AccountBookFill = {\n name: 'account-book',\n theme: 'fill',\n icon: ''\n};\n\nconst AlertOutline = {\n name: 'alert',\n theme: 'outline',\n icon: ''\n};\n\nconst AimOutline = {\n name: 'aim',\n theme: 'outline',\n icon: ''\n};\n\nconst AlibabaOutline = {\n name: 'alibaba',\n theme: 'outline',\n icon: ''\n};\n\nconst AlertFill = {\n name: 'alert',\n theme: 'fill',\n icon: ''\n};\n\nconst AlignCenterOutline = {\n name: 'align-center',\n theme: 'outline',\n icon: ''\n};\n\nconst AlertTwoTone = {\n name: 'alert',\n theme: 'twotone',\n icon: ''\n};\n\nconst AlipayCircleFill = {\n name: 'alipay-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst AlipaySquareFill = {\n name: 'alipay-square',\n theme: 'fill',\n icon: ''\n};\n\nconst AlipayCircleOutline = {\n name: 'alipay-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst AlignRightOutline = {\n name: 'align-right',\n theme: 'outline',\n icon: ''\n};\n\nconst AmazonSquareFill = {\n name: 'amazon-square',\n theme: 'fill',\n icon: ''\n};\n\nconst AlipayOutline = {\n name: 'alipay',\n theme: 'outline',\n icon: ''\n};\n\nconst ApiOutline = {\n name: 'api',\n theme: 'outline',\n icon: ''\n};\n\nconst AliwangwangOutline = {\n name: 'aliwangwang',\n theme: 'outline',\n icon: ''\n};\n\nconst AmazonOutline = {\n name: 'amazon',\n theme: 'outline',\n icon: ''\n};\n\nconst AndroidFill = {\n name: 'android',\n theme: 'fill',\n icon: ''\n};\n\nconst AntCloudOutline = {\n name: 'ant-cloud',\n theme: 'outline',\n icon: ''\n};\n\nconst AppleFill = {\n name: 'apple',\n theme: 'fill',\n icon: ''\n};\n\nconst AmazonCircleFill = {\n name: 'amazon-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst AppstoreOutline = {\n name: 'appstore',\n theme: 'outline',\n icon: ''\n};\n\nconst AppstoreAddOutline = {\n name: 'appstore-add',\n theme: 'outline',\n icon: ''\n};\n\nconst AppleOutline = {\n name: 'apple',\n theme: 'outline',\n icon: ''\n};\n\nconst AreaChartOutline = {\n name: 'area-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst AppstoreTwoTone = {\n name: 'appstore',\n theme: 'twotone',\n icon: ''\n};\n\nconst AppstoreFill = {\n name: 'appstore',\n theme: 'fill',\n icon: ''\n};\n\nconst ArrowRightOutline = {\n name: 'arrow-right',\n theme: 'outline',\n icon: ''\n};\n\nconst AudioMutedOutline = {\n name: 'audio-muted',\n theme: 'outline',\n icon: ''\n};\n\nconst ArrowsAltOutline = {\n name: 'arrows-alt',\n theme: 'outline',\n icon: ''\n};\n\nconst BackwardOutline = {\n name: 'backward',\n theme: 'outline',\n icon: ''\n};\n\nconst AuditOutline = {\n name: 'audit',\n theme: 'outline',\n icon: ''\n};\n\nconst BarChartOutline = {\n name: 'bar-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst BankFill = {\n name: 'bank',\n theme: 'fill',\n icon: ''\n};\n\nconst AudioOutline = {\n name: 'audio',\n theme: 'outline',\n icon: ''\n};\n\nconst AudioTwoTone = {\n name: 'audio',\n theme: 'twotone',\n icon: ''\n};\n\nconst BankOutline = {\n name: 'bank',\n theme: 'outline',\n icon: ''\n};\n\nconst BackwardFill = {\n name: 'backward',\n theme: 'fill',\n icon: ''\n};\n\nconst BarsOutline = {\n name: 'bars',\n theme: 'outline',\n icon: ''\n};\n\nconst ArrowLeftOutline = {\n name: 'arrow-left',\n theme: 'outline',\n icon: ''\n};\n\nconst ArrowUpOutline = {\n name: 'arrow-up',\n theme: 'outline',\n icon: ''\n};\n\nconst BankTwoTone = {\n name: 'bank',\n theme: 'twotone',\n icon: ''\n};\n\nconst BellOutline = {\n name: 'bell',\n theme: 'outline',\n icon: ''\n};\n\nconst AudioFill = {\n name: 'audio',\n theme: 'fill',\n icon: ''\n};\n\nconst BoldOutline = {\n name: 'bold',\n theme: 'outline',\n icon: ''\n};\n\nconst BehanceOutline = {\n name: 'behance',\n theme: 'outline',\n icon: ''\n};\n\nconst BehanceCircleFill = {\n name: 'behance-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst AliyunOutline = {\n name: 'aliyun',\n theme: 'outline',\n icon: ''\n};\n\nconst BehanceSquareFill = {\n name: 'behance-square',\n theme: 'fill',\n icon: ''\n};\n\nconst AccountBookTwoTone = {\n name: 'account-book',\n theme: 'twotone',\n icon: ''\n};\n\nconst AliwangwangFill = {\n name: 'aliwangwang',\n theme: 'fill',\n icon: ''\n};\n\nconst ArrowDownOutline = {\n name: 'arrow-down',\n theme: 'outline',\n icon: ''\n};\n\nconst BehanceSquareOutline = {\n name: 'behance-square',\n theme: 'outline',\n icon: ''\n};\n\nconst ApartmentOutline = {\n name: 'apartment',\n theme: 'outline',\n icon: ''\n};\n\nconst BlockOutline = {\n name: 'block',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderOuterOutline = {\n name: 'border-outer',\n theme: 'outline',\n icon: ''\n};\n\nconst BarcodeOutline = {\n name: 'barcode',\n theme: 'outline',\n icon: ''\n};\n\nconst BookTwoTone = {\n name: 'book',\n theme: 'twotone',\n icon: ''\n};\n\nconst BorderHorizontalOutline = {\n name: 'border-horizontal',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderVerticleOutline = {\n name: 'border-verticle',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderlessTableOutline = {\n name: 'borderless-table',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderOutline = {\n name: 'border',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderInnerOutline = {\n name: 'border-inner',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderTopOutline = {\n name: 'border-top',\n theme: 'outline',\n icon: ''\n};\n\nconst BgColorsOutline = {\n name: 'bg-colors',\n theme: 'outline',\n icon: ''\n};\n\nconst BoxPlotFill = {\n name: 'box-plot',\n theme: 'fill',\n icon: ''\n};\n\nconst BorderLeftOutline = {\n name: 'border-left',\n theme: 'outline',\n icon: ''\n};\n\nconst BranchesOutline = {\n name: 'branches',\n theme: 'outline',\n icon: ''\n};\n\nconst BoxPlotTwoTone = {\n name: 'box-plot',\n theme: 'twotone',\n icon: ''\n};\n\nconst BoxPlotOutline = {\n name: 'box-plot',\n theme: 'outline',\n icon: ''\n};\n\nconst BookFill = {\n name: 'book',\n theme: 'fill',\n icon: ''\n};\n\nconst BuildFill = {\n name: 'build',\n theme: 'fill',\n icon: ''\n};\n\nconst BulbFill = {\n name: 'bulb',\n theme: 'fill',\n icon: ''\n};\n\nconst BugOutline = {\n name: 'bug',\n theme: 'outline',\n icon: ''\n};\n\nconst BuildOutline = {\n name: 'build',\n theme: 'outline',\n icon: ''\n};\n\nconst BugTwoTone = {\n name: 'bug',\n theme: 'twotone',\n icon: ''\n};\n\nconst BulbOutline = {\n name: 'bulb',\n theme: 'outline',\n icon: ''\n};\n\nconst CalculatorFill = {\n name: 'calculator',\n theme: 'fill',\n icon: ''\n};\n\nconst BuildTwoTone = {\n name: 'build',\n theme: 'twotone',\n icon: ''\n};\n\nconst CalculatorTwoTone = {\n name: 'calculator',\n theme: 'twotone',\n icon: ''\n};\n\nconst CalendarTwoTone = {\n name: 'calendar',\n theme: 'twotone',\n icon: ''\n};\n\nconst CalculatorOutline = {\n name: 'calculator',\n theme: 'outline',\n icon: ''\n};\n\nconst BulbTwoTone = {\n name: 'bulb',\n theme: 'twotone',\n icon: ''\n};\n\nconst BugFill = {\n name: 'bug',\n theme: 'fill',\n icon: ''\n};\n\nconst BorderRightOutline = {\n name: 'border-right',\n theme: 'outline',\n icon: ''\n};\n\nconst CarOutline = {\n name: 'car',\n theme: 'outline',\n icon: ''\n};\n\nconst CalendarFill = {\n name: 'calendar',\n theme: 'fill',\n icon: ''\n};\n\nconst CameraOutline = {\n name: 'camera',\n theme: 'outline',\n icon: ''\n};\n\nconst CalendarOutline = {\n name: 'calendar',\n theme: 'outline',\n icon: ''\n};\n\nconst CaretDownFill = {\n name: 'caret-down',\n theme: 'fill',\n icon: ''\n};\n\nconst CarFill = {\n name: 'car',\n theme: 'fill',\n icon: ''\n};\n\nconst CameraTwoTone = {\n name: 'camera',\n theme: 'twotone',\n icon: ''\n};\n\nconst CameraFill = {\n name: 'camera',\n theme: 'fill',\n icon: ''\n};\n\nconst CarTwoTone = {\n name: 'car',\n theme: 'twotone',\n icon: ''\n};\n\nconst CaretUpFill = {\n name: 'caret-up',\n theme: 'fill',\n icon: ''\n};\n\nconst CarryOutFill = {\n name: 'carry-out',\n theme: 'fill',\n icon: ''\n};\n\nconst CaretLeftFill = {\n name: 'caret-left',\n theme: 'fill',\n icon: ''\n};\n\nconst CaretLeftOutline = {\n name: 'caret-left',\n theme: 'outline',\n icon: ''\n};\n\nconst CarryOutTwoTone = {\n name: 'carry-out',\n theme: 'twotone',\n icon: ''\n};\n\nconst CheckCircleFill = {\n name: 'check-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CheckCircleOutline = {\n name: 'check-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst CheckCircleTwoTone = {\n name: 'check-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst AntDesignOutline = {\n name: 'ant-design',\n theme: 'outline',\n icon: ''\n};\n\nconst CheckOutline = {\n name: 'check',\n theme: 'outline',\n icon: ''\n};\n\nconst AlignLeftOutline = {\n name: 'align-left',\n theme: 'outline',\n icon: ''\n};\n\nconst CheckSquareTwoTone = {\n name: 'check-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst BookOutline = {\n name: 'book',\n theme: 'outline',\n icon: ''\n};\n\nconst CheckSquareFill = {\n name: 'check-square',\n theme: 'fill',\n icon: ''\n};\n\nconst CarryOutOutline = {\n name: 'carry-out',\n theme: 'outline',\n icon: ''\n};\n\nconst CaretDownOutline = {\n name: 'caret-down',\n theme: 'outline',\n icon: ''\n};\n\nconst CiTwoTone = {\n name: 'ci',\n theme: 'twotone',\n icon: ''\n};\n\nconst ClockCircleFill = {\n name: 'clock-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst ChromeFill = {\n name: 'chrome',\n theme: 'fill',\n icon: ''\n};\n\nconst ClockCircleTwoTone = {\n name: 'clock-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst ClearOutline = {\n name: 'clear',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseCircleFill = {\n name: 'close-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst ChromeOutline = {\n name: 'chrome',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseCircleOutline = {\n name: 'close-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst ClockCircleOutline = {\n name: 'clock-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseSquareFill = {\n name: 'close-square',\n theme: 'fill',\n icon: ''\n};\n\nconst CiCircleOutline = {\n name: 'ci-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseCircleTwoTone = {\n name: 'close-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst CiCircleTwoTone = {\n name: 'ci-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst BellTwoTone = {\n name: 'bell',\n theme: 'twotone',\n icon: ''\n};\n\nconst CaretRightFill = {\n name: 'caret-right',\n theme: 'fill',\n icon: ''\n};\n\nconst CloudDownloadOutline = {\n name: 'cloud-download',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseOutline = {\n name: 'close',\n theme: 'outline',\n icon: ''\n};\n\nconst CloudTwoTone = {\n name: 'cloud',\n theme: 'twotone',\n icon: ''\n};\n\nconst CloudServerOutline = {\n name: 'cloud-server',\n theme: 'outline',\n icon: ''\n};\n\nconst CiOutline = {\n name: 'ci',\n theme: 'outline',\n icon: ''\n};\n\nconst CloudFill = {\n name: 'cloud',\n theme: 'fill',\n icon: ''\n};\n\nconst CloseSquareTwoTone = {\n name: 'close-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst CloudSyncOutline = {\n name: 'cloud-sync',\n theme: 'outline',\n icon: ''\n};\n\nconst CloudOutline = {\n name: 'cloud',\n theme: 'outline',\n icon: ''\n};\n\nconst CodeFill = {\n name: 'code',\n theme: 'fill',\n icon: ''\n};\n\nconst CodepenCircleFill = {\n name: 'codepen-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CodeSandboxOutline = {\n name: 'code-sandbox',\n theme: 'outline',\n icon: ''\n};\n\nconst CheckSquareOutline = {\n name: 'check-square',\n theme: 'outline',\n icon: ''\n};\n\nconst ClusterOutline = {\n name: 'cluster',\n theme: 'outline',\n icon: ''\n};\n\nconst CodeSandboxSquareFill = {\n name: 'code-sandbox-square',\n theme: 'fill',\n icon: ''\n};\n\nconst CloudUploadOutline = {\n name: 'cloud-upload',\n theme: 'outline',\n icon: ''\n};\n\nconst CloseSquareOutline = {\n name: 'close-square',\n theme: 'outline',\n icon: ''\n};\n\nconst CodepenSquareFill = {\n name: 'codepen-square',\n theme: 'fill',\n icon: ''\n};\n\nconst ColumnHeightOutline = {\n name: 'column-height',\n theme: 'outline',\n icon: ''\n};\n\nconst CodepenOutline = {\n name: 'codepen',\n theme: 'outline',\n icon: ''\n};\n\nconst CoffeeOutline = {\n name: 'coffee',\n theme: 'outline',\n icon: ''\n};\n\nconst CodepenCircleOutline = {\n name: 'codepen-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst CodeTwoTone = {\n name: 'code',\n theme: 'twotone',\n icon: ''\n};\n\nconst CiCircleFill = {\n name: 'ci-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CodeOutline = {\n name: 'code',\n theme: 'outline',\n icon: ''\n};\n\nconst CompressOutline = {\n name: 'compress',\n theme: 'outline',\n icon: ''\n};\n\nconst ContactsTwoTone = {\n name: 'contacts',\n theme: 'twotone',\n icon: ''\n};\n\nconst BellFill = {\n name: 'bell',\n theme: 'fill',\n icon: ''\n};\n\nconst ContactsOutline = {\n name: 'contacts',\n theme: 'outline',\n icon: ''\n};\n\nconst ContactsFill = {\n name: 'contacts',\n theme: 'fill',\n icon: ''\n};\n\nconst CaretUpOutline = {\n name: 'caret-up',\n theme: 'outline',\n icon: ''\n};\n\nconst CompassOutline = {\n name: 'compass',\n theme: 'outline',\n icon: ''\n};\n\nconst ContainerFill = {\n name: 'container',\n theme: 'fill',\n icon: ''\n};\n\nconst CommentOutline = {\n name: 'comment',\n theme: 'outline',\n icon: ''\n};\n\nconst BorderBottomOutline = {\n name: 'border-bottom',\n theme: 'outline',\n icon: ''\n};\n\nconst ContainerTwoTone = {\n name: 'container',\n theme: 'twotone',\n icon: ''\n};\n\nconst ContainerOutline = {\n name: 'container',\n theme: 'outline',\n icon: ''\n};\n\nconst CaretRightOutline = {\n name: 'caret-right',\n theme: 'outline',\n icon: ''\n};\n\nconst CopyrightCircleFill = {\n name: 'copyright-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CopyFill = {\n name: 'copy',\n theme: 'fill',\n icon: ''\n};\n\nconst ControlFill = {\n name: 'control',\n theme: 'fill',\n icon: ''\n};\n\nconst CompassFill = {\n name: 'compass',\n theme: 'fill',\n icon: ''\n};\n\nconst CopyrightCircleTwoTone = {\n name: 'copyright-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst ControlTwoTone = {\n name: 'control',\n theme: 'twotone',\n icon: ''\n};\n\nconst CreditCardTwoTone = {\n name: 'credit-card',\n theme: 'twotone',\n icon: ''\n};\n\nconst CopyOutline = {\n name: 'copy',\n theme: 'outline',\n icon: ''\n};\n\nconst ColumnWidthOutline = {\n name: 'column-width',\n theme: 'outline',\n icon: ''\n};\n\nconst CrownTwoTone = {\n name: 'crown',\n theme: 'twotone',\n icon: ''\n};\n\nconst CreditCardFill = {\n name: 'credit-card',\n theme: 'fill',\n icon: ''\n};\n\nconst ControlOutline = {\n name: 'control',\n theme: 'outline',\n icon: ''\n};\n\nconst CrownFill = {\n name: 'crown',\n theme: 'fill',\n icon: ''\n};\n\nconst DatabaseFill = {\n name: 'database',\n theme: 'fill',\n icon: ''\n};\n\nconst DatabaseOutline = {\n name: 'database',\n theme: 'outline',\n icon: ''\n};\n\nconst CrownOutline = {\n name: 'crown',\n theme: 'outline',\n icon: ''\n};\n\nconst DeleteColumnOutline = {\n name: 'delete-column',\n theme: 'outline',\n icon: ''\n};\n\nconst CompassTwoTone = {\n name: 'compass',\n theme: 'twotone',\n icon: ''\n};\n\nconst CopyrightTwoTone = {\n name: 'copyright',\n theme: 'twotone',\n icon: ''\n};\n\nconst DeleteOutline = {\n name: 'delete',\n theme: 'outline',\n icon: ''\n};\n\nconst DeleteFill = {\n name: 'delete',\n theme: 'fill',\n icon: ''\n};\n\nconst DashboardOutline = {\n name: 'dashboard',\n theme: 'outline',\n icon: ''\n};\n\nconst DashboardFill = {\n name: 'dashboard',\n theme: 'fill',\n icon: ''\n};\n\nconst CustomerServiceTwoTone = {\n name: 'customer-service',\n theme: 'twotone',\n icon: ''\n};\n\nconst DeleteTwoTone = {\n name: 'delete',\n theme: 'twotone',\n icon: ''\n};\n\nconst DashboardTwoTone = {\n name: 'dashboard',\n theme: 'twotone',\n icon: ''\n};\n\nconst DashOutline = {\n name: 'dash',\n theme: 'outline',\n icon: ''\n};\n\nconst DiffFill = {\n name: 'diff',\n theme: 'fill',\n icon: ''\n};\n\nconst DatabaseTwoTone = {\n name: 'database',\n theme: 'twotone',\n icon: ''\n};\n\nconst ApiTwoTone = {\n name: 'api',\n theme: 'twotone',\n icon: ''\n};\n\nconst DeploymentUnitOutline = {\n name: 'deployment-unit',\n theme: 'outline',\n icon: ''\n};\n\nconst DesktopOutline = {\n name: 'desktop',\n theme: 'outline',\n icon: ''\n};\n\nconst DiffOutline = {\n name: 'diff',\n theme: 'outline',\n icon: ''\n};\n\nconst CopyTwoTone = {\n name: 'copy',\n theme: 'twotone',\n icon: ''\n};\n\nconst DiffTwoTone = {\n name: 'diff',\n theme: 'twotone',\n icon: ''\n};\n\nconst DeliveredProcedureOutline = {\n name: 'delivered-procedure',\n theme: 'outline',\n icon: ''\n};\n\nconst DislikeFill = {\n name: 'dislike',\n theme: 'fill',\n icon: ''\n};\n\nconst DingtalkOutline = {\n name: 'dingtalk',\n theme: 'outline',\n icon: ''\n};\n\nconst DingdingOutline = {\n name: 'dingding',\n theme: 'outline',\n icon: ''\n};\n\nconst DeleteRowOutline = {\n name: 'delete-row',\n theme: 'outline',\n icon: ''\n};\n\nconst DingtalkCircleFill = {\n name: 'dingtalk-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CreditCardOutline = {\n name: 'credit-card',\n theme: 'outline',\n icon: ''\n};\n\nconst DingtalkSquareFill = {\n name: 'dingtalk-square',\n theme: 'fill',\n icon: ''\n};\n\nconst DislikeTwoTone = {\n name: 'dislike',\n theme: 'twotone',\n icon: ''\n};\n\nconst DollarCircleOutline = {\n name: 'dollar-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst DollarCircleFill = {\n name: 'dollar-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst DislikeOutline = {\n name: 'dislike',\n theme: 'outline',\n icon: ''\n};\n\nconst DoubleLeftOutline = {\n name: 'double-left',\n theme: 'outline',\n icon: ''\n};\n\nconst DotChartOutline = {\n name: 'dot-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst DollarCircleTwoTone = {\n name: 'dollar-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst DollarOutline = {\n name: 'dollar',\n theme: 'outline',\n icon: ''\n};\n\nconst DollarTwoTone = {\n name: 'dollar',\n theme: 'twotone',\n icon: ''\n};\n\nconst DownCircleFill = {\n name: 'down-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst DownSquareFill = {\n name: 'down-square',\n theme: 'fill',\n icon: ''\n};\n\nconst CopyrightOutline = {\n name: 'copyright',\n theme: 'outline',\n icon: ''\n};\n\nconst DoubleRightOutline = {\n name: 'double-right',\n theme: 'outline',\n icon: ''\n};\n\nconst DownCircleOutline = {\n name: 'down-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst DownOutline = {\n name: 'down',\n theme: 'outline',\n icon: ''\n};\n\nconst DownloadOutline = {\n name: 'download',\n theme: 'outline',\n icon: ''\n};\n\nconst DownSquareOutline = {\n name: 'down-square',\n theme: 'outline',\n icon: ''\n};\n\nconst DragOutline = {\n name: 'drag',\n theme: 'outline',\n icon: ''\n};\n\nconst DribbbleSquareFill = {\n name: 'dribbble-square',\n theme: 'fill',\n icon: ''\n};\n\nconst DownSquareTwoTone = {\n name: 'down-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst DribbbleCircleFill = {\n name: 'dribbble-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst DropboxCircleFill = {\n name: 'dropbox-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst DropboxOutline = {\n name: 'dropbox',\n theme: 'outline',\n icon: ''\n};\n\nconst EditFill = {\n name: 'edit',\n theme: 'fill',\n icon: ''\n};\n\nconst DropboxSquareFill = {\n name: 'dropbox-square',\n theme: 'fill',\n icon: ''\n};\n\nconst DribbbleSquareOutline = {\n name: 'dribbble-square',\n theme: 'outline',\n icon: ''\n};\n\nconst EditOutline = {\n name: 'edit',\n theme: 'outline',\n icon: ''\n};\n\nconst EllipsisOutline = {\n name: 'ellipsis',\n theme: 'outline',\n icon: ''\n};\n\nconst EditTwoTone = {\n name: 'edit',\n theme: 'twotone',\n icon: ''\n};\n\nconst EnvironmentFill = {\n name: 'environment',\n theme: 'fill',\n icon: ''\n};\n\nconst DribbbleOutline = {\n name: 'dribbble',\n theme: 'outline',\n icon: ''\n};\n\nconst EnterOutline = {\n name: 'enter',\n theme: 'outline',\n icon: ''\n};\n\nconst EnvironmentOutline = {\n name: 'environment',\n theme: 'outline',\n icon: ''\n};\n\nconst EuroCircleFill = {\n name: 'euro-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst EnvironmentTwoTone = {\n name: 'environment',\n theme: 'twotone',\n icon: ''\n};\n\nconst EuroTwoTone = {\n name: 'euro',\n theme: 'twotone',\n icon: ''\n};\n\nconst EuroCircleOutline = {\n name: 'euro-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst ExpandAltOutline = {\n name: 'expand-alt',\n theme: 'outline',\n icon: ''\n};\n\nconst ExpandOutline = {\n name: 'expand',\n theme: 'outline',\n icon: ''\n};\n\nconst CodeSandboxCircleFill = {\n name: 'code-sandbox-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst CustomerServiceOutline = {\n name: 'customer-service',\n theme: 'outline',\n icon: ''\n};\n\nconst ExceptionOutline = {\n name: 'exception',\n theme: 'outline',\n icon: ''\n};\n\nconst ExclamationCircleTwoTone = {\n name: 'exclamation-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst ExclamationCircleOutline = {\n name: 'exclamation-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst ExclamationOutline = {\n name: 'exclamation',\n theme: 'outline',\n icon: ''\n};\n\nconst EyeFill = {\n name: 'eye',\n theme: 'fill',\n icon: ''\n};\n\nconst ExperimentFill = {\n name: 'experiment',\n theme: 'fill',\n icon: ''\n};\n\nconst EuroOutline = {\n name: 'euro',\n theme: 'outline',\n icon: ''\n};\n\nconst ExclamationCircleFill = {\n name: 'exclamation-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst DownCircleTwoTone = {\n name: 'down-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst EyeInvisibleOutline = {\n name: 'eye-invisible',\n theme: 'outline',\n icon: ''\n};\n\nconst ExportOutline = {\n name: 'export',\n theme: 'outline',\n icon: ''\n};\n\nconst EyeTwoTone = {\n name: 'eye',\n theme: 'twotone',\n icon: ''\n};\n\nconst FacebookOutline = {\n name: 'facebook',\n theme: 'outline',\n icon: ''\n};\n\nconst FacebookFill = {\n name: 'facebook',\n theme: 'fill',\n icon: ''\n};\n\nconst ExperimentTwoTone = {\n name: 'experiment',\n theme: 'twotone',\n icon: ''\n};\n\nconst FastBackwardOutline = {\n name: 'fast-backward',\n theme: 'outline',\n icon: ''\n};\n\nconst FastForwardOutline = {\n name: 'fast-forward',\n theme: 'outline',\n icon: ''\n};\n\nconst FastBackwardFill = {\n name: 'fast-backward',\n theme: 'fill',\n icon: ''\n};\n\nconst EyeInvisibleFill = {\n name: 'eye-invisible',\n theme: 'fill',\n icon: ''\n};\n\nconst FileAddFill = {\n name: 'file-add',\n theme: 'fill',\n icon: ''\n};\n\nconst FieldNumberOutline = {\n name: 'field-number',\n theme: 'outline',\n icon: ''\n};\n\nconst FieldStringOutline = {\n name: 'field-string',\n theme: 'outline',\n icon: ''\n};\n\nconst FastForwardFill = {\n name: 'fast-forward',\n theme: 'fill',\n icon: ''\n};\n\nconst FieldTimeOutline = {\n name: 'field-time',\n theme: 'outline',\n icon: ''\n};\n\nconst FileAddOutline = {\n name: 'file-add',\n theme: 'outline',\n icon: ''\n};\n\nconst FallOutline = {\n name: 'fall',\n theme: 'outline',\n icon: ''\n};\n\nconst FileExcelFill = {\n name: 'file-excel',\n theme: 'fill',\n icon: ''\n};\n\nconst FileExcelTwoTone = {\n name: 'file-excel',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileDoneOutline = {\n name: 'file-done',\n theme: 'outline',\n icon: ''\n};\n\nconst FileExclamationTwoTone = {\n name: 'file-exclamation',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileExclamationFill = {\n name: 'file-exclamation',\n theme: 'fill',\n icon: ''\n};\n\nconst FileExcelOutline = {\n name: 'file-excel',\n theme: 'outline',\n icon: ''\n};\n\nconst FileFill = {\n name: 'file',\n theme: 'fill',\n icon: ''\n};\n\nconst FileExclamationOutline = {\n name: 'file-exclamation',\n theme: 'outline',\n icon: ''\n};\n\nconst FieldBinaryOutline = {\n name: 'field-binary',\n theme: 'outline',\n icon: ''\n};\n\nconst FileAddTwoTone = {\n name: 'file-add',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileImageTwoTone = {\n name: 'file-image',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileGifOutline = {\n name: 'file-gif',\n theme: 'outline',\n icon: ''\n};\n\nconst FileJpgOutline = {\n name: 'file-jpg',\n theme: 'outline',\n icon: ''\n};\n\nconst FileMarkdownOutline = {\n name: 'file-markdown',\n theme: 'outline',\n icon: ''\n};\n\nconst FileImageFill = {\n name: 'file-image',\n theme: 'fill',\n icon: ''\n};\n\nconst FileMarkdownTwoTone = {\n name: 'file-markdown',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileImageOutline = {\n name: 'file-image',\n theme: 'outline',\n icon: ''\n};\n\nconst FilePdfOutline = {\n name: 'file-pdf',\n theme: 'outline',\n icon: ''\n};\n\nconst ApiFill = {\n name: 'api',\n theme: 'fill',\n icon: ''\n};\n\nconst FilePdfTwoTone = {\n name: 'file-pdf',\n theme: 'twotone',\n icon: ''\n};\n\nconst FilePdfFill = {\n name: 'file-pdf',\n theme: 'fill',\n icon: ''\n};\n\nconst FileSearchOutline = {\n name: 'file-search',\n theme: 'outline',\n icon: ''\n};\n\nconst FilePptFill = {\n name: 'file-ppt',\n theme: 'fill',\n icon: ''\n};\n\nconst FileTextFill = {\n name: 'file-text',\n theme: 'fill',\n icon: ''\n};\n\nconst FilePptOutline = {\n name: 'file-ppt',\n theme: 'outline',\n icon: ''\n};\n\nconst FileMarkdownFill = {\n name: 'file-markdown',\n theme: 'fill',\n icon: ''\n};\n\nconst FilePptTwoTone = {\n name: 'file-ppt',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileProtectOutline = {\n name: 'file-protect',\n theme: 'outline',\n icon: ''\n};\n\nconst FileTextTwoTone = {\n name: 'file-text',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileUnknownOutline = {\n name: 'file-unknown',\n theme: 'outline',\n icon: ''\n};\n\nconst FileUnknownFill = {\n name: 'file-unknown',\n theme: 'fill',\n icon: ''\n};\n\nconst FileTextOutline = {\n name: 'file-text',\n theme: 'outline',\n icon: ''\n};\n\nconst FileWordFill = {\n name: 'file-word',\n theme: 'fill',\n icon: ''\n};\n\nconst FileZipTwoTone = {\n name: 'file-zip',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileTwoTone = {\n name: 'file',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileZipFill = {\n name: 'file-zip',\n theme: 'fill',\n icon: ''\n};\n\nconst FileWordTwoTone = {\n name: 'file-word',\n theme: 'twotone',\n icon: ''\n};\n\nconst FileUnknownTwoTone = {\n name: 'file-unknown',\n theme: 'twotone',\n icon: ''\n};\n\nconst FireFill = {\n name: 'fire',\n theme: 'fill',\n icon: ''\n};\n\nconst FilterFill = {\n name: 'filter',\n theme: 'fill',\n icon: ''\n};\n\nconst FileSyncOutline = {\n name: 'file-sync',\n theme: 'outline',\n icon: ''\n};\n\nconst FilterOutline = {\n name: 'filter',\n theme: 'outline',\n icon: ''\n};\n\nconst FileWordOutline = {\n name: 'file-word',\n theme: 'outline',\n icon: ''\n};\n\nconst FileZipOutline = {\n name: 'file-zip',\n theme: 'outline',\n icon: ''\n};\n\nconst FlagOutline = {\n name: 'flag',\n theme: 'outline',\n icon: ''\n};\n\nconst FireOutline = {\n name: 'fire',\n theme: 'outline',\n icon: ''\n};\n\nconst FlagFill = {\n name: 'flag',\n theme: 'fill',\n icon: ''\n};\n\nconst FireTwoTone = {\n name: 'fire',\n theme: 'twotone',\n icon: ''\n};\n\nconst FilterTwoTone = {\n name: 'filter',\n theme: 'twotone',\n icon: ''\n};\n\nconst FolderAddFill = {\n name: 'folder-add',\n theme: 'fill',\n icon: ''\n};\n\nconst FolderOpenFill = {\n name: 'folder-open',\n theme: 'fill',\n icon: ''\n};\n\nconst EyeInvisibleTwoTone = {\n name: 'eye-invisible',\n theme: 'twotone',\n icon: ''\n};\n\nconst FlagTwoTone = {\n name: 'flag',\n theme: 'twotone',\n icon: ''\n};\n\nconst FolderAddOutline = {\n name: 'folder-add',\n theme: 'outline',\n icon: ''\n};\n\nconst FolderAddTwoTone = {\n name: 'folder-add',\n theme: 'twotone',\n icon: ''\n};\n\nconst FolderTwoTone = {\n name: 'folder',\n theme: 'twotone',\n icon: ''\n};\n\nconst FolderOutline = {\n name: 'folder',\n theme: 'outline',\n icon: ''\n};\n\nconst FolderOpenTwoTone = {\n name: 'folder-open',\n theme: 'twotone',\n icon: ''\n};\n\nconst FontColorsOutline = {\n name: 'font-colors',\n theme: 'outline',\n icon: ''\n};\n\nconst ForkOutline = {\n name: 'fork',\n theme: 'outline',\n icon: ''\n};\n\nconst FolderViewOutline = {\n name: 'folder-view',\n theme: 'outline',\n icon: ''\n};\n\nconst FormOutline = {\n name: 'form',\n theme: 'outline',\n icon: ''\n};\n\nconst FolderOpenOutline = {\n name: 'folder-open',\n theme: 'outline',\n icon: ''\n};\n\nconst ForwardFill = {\n name: 'forward',\n theme: 'fill',\n icon: ''\n};\n\nconst FontSizeOutline = {\n name: 'font-size',\n theme: 'outline',\n icon: ''\n};\n\nconst ForwardOutline = {\n name: 'forward',\n theme: 'outline',\n icon: ''\n};\n\nconst ExperimentOutline = {\n name: 'experiment',\n theme: 'outline',\n icon: ''\n};\n\nconst FrownFill = {\n name: 'frown',\n theme: 'fill',\n icon: ''\n};\n\nconst FullscreenOutline = {\n name: 'fullscreen',\n theme: 'outline',\n icon: ''\n};\n\nconst FundTwoTone = {\n name: 'fund',\n theme: 'twotone',\n icon: ''\n};\n\nconst FunctionOutline = {\n name: 'function',\n theme: 'outline',\n icon: ''\n};\n\nconst FrownTwoTone = {\n name: 'frown',\n theme: 'twotone',\n icon: ''\n};\n\nconst FullscreenExitOutline = {\n name: 'fullscreen-exit',\n theme: 'outline',\n icon: ''\n};\n\nconst GatewayOutline = {\n name: 'gateway',\n theme: 'outline',\n icon: ''\n};\n\nconst FundViewOutline = {\n name: 'fund-view',\n theme: 'outline',\n icon: ''\n};\n\nconst FormatPainterOutline = {\n name: 'format-painter',\n theme: 'outline',\n icon: ''\n};\n\nconst FunnelPlotFill = {\n name: 'funnel-plot',\n theme: 'fill',\n icon: ''\n};\n\nconst FundFill = {\n name: 'fund',\n theme: 'fill',\n icon: ''\n};\n\nconst FunnelPlotTwoTone = {\n name: 'funnel-plot',\n theme: 'twotone',\n icon: ''\n};\n\nconst FormatPainterFill = {\n name: 'format-painter',\n theme: 'fill',\n icon: ''\n};\n\nconst GiftTwoTone = {\n name: 'gift',\n theme: 'twotone',\n icon: ''\n};\n\nconst GiftOutline = {\n name: 'gift',\n theme: 'outline',\n icon: ''\n};\n\nconst GifOutline = {\n name: 'gif',\n theme: 'outline',\n icon: ''\n};\n\nconst FundProjectionScreenOutline = {\n name: 'fund-projection-screen',\n theme: 'outline',\n icon: ''\n};\n\nconst FunnelPlotOutline = {\n name: 'funnel-plot',\n theme: 'outline',\n icon: ''\n};\n\nconst FundOutline = {\n name: 'fund',\n theme: 'outline',\n icon: ''\n};\n\nconst GlobalOutline = {\n name: 'global',\n theme: 'outline',\n icon: ''\n};\n\nconst GiftFill = {\n name: 'gift',\n theme: 'fill',\n icon: ''\n};\n\nconst FrownOutline = {\n name: 'frown',\n theme: 'outline',\n icon: ''\n};\n\nconst CustomerServiceFill = {\n name: 'customer-service',\n theme: 'fill',\n icon: ''\n};\n\nconst GoldOutline = {\n name: 'gold',\n theme: 'outline',\n icon: ''\n};\n\nconst GithubOutline = {\n name: 'github',\n theme: 'outline',\n icon: ''\n};\n\nconst GithubFill = {\n name: 'github',\n theme: 'fill',\n icon: ''\n};\n\nconst GitlabFill = {\n name: 'gitlab',\n theme: 'fill',\n icon: ''\n};\n\nconst GoldenFill = {\n name: 'golden',\n theme: 'fill',\n icon: ''\n};\n\nconst GoogleOutline = {\n name: 'google',\n theme: 'outline',\n icon: ''\n};\n\nconst GoldTwoTone = {\n name: 'gold',\n theme: 'twotone',\n icon: ''\n};\n\nconst GooglePlusOutline = {\n name: 'google-plus',\n theme: 'outline',\n icon: ''\n};\n\nconst GoogleCircleFill = {\n name: 'google-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst HddOutline = {\n name: 'hdd',\n theme: 'outline',\n icon: ''\n};\n\nconst GoldFill = {\n name: 'gold',\n theme: 'fill',\n icon: ''\n};\n\nconst GoogleSquareFill = {\n name: 'google-square',\n theme: 'fill',\n icon: ''\n};\n\nconst GooglePlusCircleFill = {\n name: 'google-plus-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst HddTwoTone = {\n name: 'hdd',\n theme: 'twotone',\n icon: ''\n};\n\nconst HeartOutline = {\n name: 'heart',\n theme: 'outline',\n icon: ''\n};\n\nconst AndroidOutline = {\n name: 'android',\n theme: 'outline',\n icon: ''\n};\n\nconst HeatMapOutline = {\n name: 'heat-map',\n theme: 'outline',\n icon: ''\n};\n\nconst GroupOutline = {\n name: 'group',\n theme: 'outline',\n icon: ''\n};\n\nconst HeartTwoTone = {\n name: 'heart',\n theme: 'twotone',\n icon: ''\n};\n\nconst HolderOutline = {\n name: 'holder',\n theme: 'outline',\n icon: ''\n};\n\nconst EuroCircleTwoTone = {\n name: 'euro-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst HighlightFill = {\n name: 'highlight',\n theme: 'fill',\n icon: ''\n};\n\nconst HeartFill = {\n name: 'heart',\n theme: 'fill',\n icon: ''\n};\n\nconst HomeOutline = {\n name: 'home',\n theme: 'outline',\n icon: ''\n};\n\nconst HighlightOutline = {\n name: 'highlight',\n theme: 'outline',\n icon: ''\n};\n\nconst HourglassFill = {\n name: 'hourglass',\n theme: 'fill',\n icon: ''\n};\n\nconst HomeFill = {\n name: 'home',\n theme: 'fill',\n icon: ''\n};\n\nconst HighlightTwoTone = {\n name: 'highlight',\n theme: 'twotone',\n icon: ''\n};\n\nconst Html5Outline = {\n name: 'html5',\n theme: 'outline',\n icon: ''\n};\n\nconst Html5Fill = {\n name: 'html5',\n theme: 'fill',\n icon: ''\n};\n\nconst IdcardOutline = {\n name: 'idcard',\n theme: 'outline',\n icon: ''\n};\n\nconst FolderFill = {\n name: 'folder',\n theme: 'fill',\n icon: ''\n};\n\nconst HourglassOutline = {\n name: 'hourglass',\n theme: 'outline',\n icon: ''\n};\n\nconst IdcardTwoTone = {\n name: 'idcard',\n theme: 'twotone',\n icon: ''\n};\n\nconst HourglassTwoTone = {\n name: 'hourglass',\n theme: 'twotone',\n icon: ''\n};\n\nconst Html5TwoTone = {\n name: 'html5',\n theme: 'twotone',\n icon: ''\n};\n\nconst CopyrightCircleOutline = {\n name: 'copyright-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst IdcardFill = {\n name: 'idcard',\n theme: 'fill',\n icon: ''\n};\n\nconst HomeTwoTone = {\n name: 'home',\n theme: 'twotone',\n icon: ''\n};\n\nconst InfoCircleOutline = {\n name: 'info-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst IeCircleFill = {\n name: 'ie-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst InfoOutline = {\n name: 'info',\n theme: 'outline',\n icon: ''\n};\n\nconst InsertRowAboveOutline = {\n name: 'insert-row-above',\n theme: 'outline',\n icon: ''\n};\n\nconst InfoCircleTwoTone = {\n name: 'info-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst InboxOutline = {\n name: 'inbox',\n theme: 'outline',\n icon: ''\n};\n\nconst InsertRowLeftOutline = {\n name: 'insert-row-left',\n theme: 'outline',\n icon: ''\n};\n\nconst InfoCircleFill = {\n name: 'info-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst InstagramFill = {\n name: 'instagram',\n theme: 'fill',\n icon: ''\n};\n\nconst ImportOutline = {\n name: 'import',\n theme: 'outline',\n icon: ''\n};\n\nconst InsuranceFill = {\n name: 'insurance',\n theme: 'fill',\n icon: ''\n};\n\nconst InstagramOutline = {\n name: 'instagram',\n theme: 'outline',\n icon: ''\n};\n\nconst KeyOutline = {\n name: 'key',\n theme: 'outline',\n icon: ''\n};\n\nconst InsertRowBelowOutline = {\n name: 'insert-row-below',\n theme: 'outline',\n icon: ''\n};\n\nconst InsuranceOutline = {\n name: 'insurance',\n theme: 'outline',\n icon: ''\n};\n\nconst InteractionOutline = {\n name: 'interaction',\n theme: 'outline',\n icon: ''\n};\n\nconst HddFill = {\n name: 'hdd',\n theme: 'fill',\n icon: ''\n};\n\nconst InsertRowRightOutline = {\n name: 'insert-row-right',\n theme: 'outline',\n icon: ''\n};\n\nconst InteractionTwoTone = {\n name: 'interaction',\n theme: 'twotone',\n icon: ''\n};\n\nconst LeftCircleOutline = {\n name: 'left-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst LaptopOutline = {\n name: 'laptop',\n theme: 'outline',\n icon: ''\n};\n\nconst IssuesCloseOutline = {\n name: 'issues-close',\n theme: 'outline',\n icon: ''\n};\n\nconst ItalicOutline = {\n name: 'italic',\n theme: 'outline',\n icon: ''\n};\n\nconst FileOutline = {\n name: 'file',\n theme: 'outline',\n icon: ''\n};\n\nconst LayoutOutline = {\n name: 'layout',\n theme: 'outline',\n icon: ''\n};\n\nconst LayoutTwoTone = {\n name: 'layout',\n theme: 'twotone',\n icon: ''\n};\n\nconst LeftSquareTwoTone = {\n name: 'left-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst LeftCircleTwoTone = {\n name: 'left-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst LikeFill = {\n name: 'like',\n theme: 'fill',\n icon: ''\n};\n\nconst LayoutFill = {\n name: 'layout',\n theme: 'fill',\n icon: ''\n};\n\nconst LeftSquareFill = {\n name: 'left-square',\n theme: 'fill',\n icon: ''\n};\n\nconst LeftOutline = {\n name: 'left',\n theme: 'outline',\n icon: ''\n};\n\nconst LeftSquareOutline = {\n name: 'left-square',\n theme: 'outline',\n icon: ''\n};\n\nconst LineHeightOutline = {\n name: 'line-height',\n theme: 'outline',\n icon: ''\n};\n\nconst LeftCircleFill = {\n name: 'left-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst LikeOutline = {\n name: 'like',\n theme: 'outline',\n icon: ''\n};\n\nconst LikeTwoTone = {\n name: 'like',\n theme: 'twotone',\n icon: ''\n};\n\nconst LinkOutline = {\n name: 'link',\n theme: 'outline',\n icon: ''\n};\n\nconst LinkedinOutline = {\n name: 'linkedin',\n theme: 'outline',\n icon: ''\n};\n\nconst LineChartOutline = {\n name: 'line-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst Loading3QuartersOutline = {\n name: 'loading-3-quarters',\n theme: 'outline',\n icon: ''\n};\n\nconst LineOutline = {\n name: 'line',\n theme: 'outline',\n icon: ''\n};\n\nconst LockTwoTone = {\n name: 'lock',\n theme: 'twotone',\n icon: ''\n};\n\nconst LogoutOutline = {\n name: 'logout',\n theme: 'outline',\n icon: ''\n};\n\nconst LinkedinFill = {\n name: 'linkedin',\n theme: 'fill',\n icon: ''\n};\n\nconst LockOutline = {\n name: 'lock',\n theme: 'outline',\n icon: ''\n};\n\nconst LoginOutline = {\n name: 'login',\n theme: 'outline',\n icon: ''\n};\n\nconst LockFill = {\n name: 'lock',\n theme: 'fill',\n icon: ''\n};\n\nconst MailOutline = {\n name: 'mail',\n theme: 'outline',\n icon: ''\n};\n\nconst MacCommandFill = {\n name: 'mac-command',\n theme: 'fill',\n icon: ''\n};\n\nconst MacCommandOutline = {\n name: 'mac-command',\n theme: 'outline',\n icon: ''\n};\n\nconst LoadingOutline = {\n name: 'loading',\n theme: 'outline',\n icon: ''\n};\n\nconst MailFill = {\n name: 'mail',\n theme: 'fill',\n icon: ''\n};\n\nconst ConsoleSqlOutline = {\n name: 'console-sql',\n theme: 'outline',\n icon: ''\n};\n\nconst MediumCircleFill = {\n name: 'medium-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst MailTwoTone = {\n name: 'mail',\n theme: 'twotone',\n icon: ''\n};\n\nconst ManOutline = {\n name: 'man',\n theme: 'outline',\n icon: ''\n};\n\nconst MedicineBoxTwoTone = {\n name: 'medicine-box',\n theme: 'twotone',\n icon: ''\n};\n\nconst InteractionFill = {\n name: 'interaction',\n theme: 'fill',\n icon: ''\n};\n\nconst MedicineBoxOutline = {\n name: 'medicine-box',\n theme: 'outline',\n icon: ''\n};\n\nconst EyeOutline = {\n name: 'eye',\n theme: 'outline',\n icon: ''\n};\n\nconst MediumSquareFill = {\n name: 'medium-square',\n theme: 'fill',\n icon: ''\n};\n\nconst MehFill = {\n name: 'meh',\n theme: 'fill',\n icon: ''\n};\n\nconst IeSquareFill = {\n name: 'ie-square',\n theme: 'fill',\n icon: ''\n};\n\nconst MehOutline = {\n name: 'meh',\n theme: 'outline',\n icon: ''\n};\n\nconst MenuUnfoldOutline = {\n name: 'menu-unfold',\n theme: 'outline',\n icon: ''\n};\n\nconst MediumOutline = {\n name: 'medium',\n theme: 'outline',\n icon: ''\n};\n\nconst MessageOutline = {\n name: 'message',\n theme: 'outline',\n icon: ''\n};\n\nconst MergeCellsOutline = {\n name: 'merge-cells',\n theme: 'outline',\n icon: ''\n};\n\nconst MessageFill = {\n name: 'message',\n theme: 'fill',\n icon: ''\n};\n\nconst MinusCircleFill = {\n name: 'minus-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst MessageTwoTone = {\n name: 'message',\n theme: 'twotone',\n icon: ''\n};\n\nconst MenuFoldOutline = {\n name: 'menu-fold',\n theme: 'outline',\n icon: ''\n};\n\nconst MinusCircleOutline = {\n name: 'minus-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst MehTwoTone = {\n name: 'meh',\n theme: 'twotone',\n icon: ''\n};\n\nconst MinusCircleTwoTone = {\n name: 'minus-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst MinusSquareFill = {\n name: 'minus-square',\n theme: 'fill',\n icon: ''\n};\n\nconst IeOutline = {\n name: 'ie',\n theme: 'outline',\n icon: ''\n};\n\nconst DisconnectOutline = {\n name: 'disconnect',\n theme: 'outline',\n icon: ''\n};\n\nconst MobileFill = {\n name: 'mobile',\n theme: 'fill',\n icon: ''\n};\n\nconst MoneyCollectOutline = {\n name: 'money-collect',\n theme: 'outline',\n icon: ''\n};\n\nconst MobileTwoTone = {\n name: 'mobile',\n theme: 'twotone',\n icon: ''\n};\n\nconst MonitorOutline = {\n name: 'monitor',\n theme: 'outline',\n icon: ''\n};\n\nconst MinusOutline = {\n name: 'minus',\n theme: 'outline',\n icon: ''\n};\n\nconst MinusSquareTwoTone = {\n name: 'minus-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst MoneyCollectFill = {\n name: 'money-collect',\n theme: 'fill',\n icon: ''\n};\n\nconst NodeCollapseOutline = {\n name: 'node-collapse',\n theme: 'outline',\n icon: ''\n};\n\nconst MoneyCollectTwoTone = {\n name: 'money-collect',\n theme: 'twotone',\n icon: ''\n};\n\nconst MenuOutline = {\n name: 'menu',\n theme: 'outline',\n icon: ''\n};\n\nconst NodeExpandOutline = {\n name: 'node-expand',\n theme: 'outline',\n icon: ''\n};\n\nconst NotificationOutline = {\n name: 'notification',\n theme: 'outline',\n icon: ''\n};\n\nconst NotificationFill = {\n name: 'notification',\n theme: 'fill',\n icon: ''\n};\n\nconst NumberOutline = {\n name: 'number',\n theme: 'outline',\n icon: ''\n};\n\nconst GitlabOutline = {\n name: 'gitlab',\n theme: 'outline',\n icon: ''\n};\n\nconst PaperClipOutline = {\n name: 'paper-clip',\n theme: 'outline',\n icon: ''\n};\n\nconst PauseCircleFill = {\n name: 'pause-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst PauseCircleTwoTone = {\n name: 'pause-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst NotificationTwoTone = {\n name: 'notification',\n theme: 'twotone',\n icon: ''\n};\n\nconst PauseOutline = {\n name: 'pause',\n theme: 'outline',\n icon: ''\n};\n\nconst PhoneOutline = {\n name: 'phone',\n theme: 'outline',\n icon: ''\n};\n\nconst PartitionOutline = {\n name: 'partition',\n theme: 'outline',\n icon: ''\n};\n\nconst OneToOneOutline = {\n name: 'one-to-one',\n theme: 'outline',\n icon: ''\n};\n\nconst PauseCircleOutline = {\n name: 'pause-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst PayCircleFill = {\n name: 'pay-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst OrderedListOutline = {\n name: 'ordered-list',\n theme: 'outline',\n icon: ''\n};\n\nconst PicCenterOutline = {\n name: 'pic-center',\n theme: 'outline',\n icon: ''\n};\n\nconst PayCircleOutline = {\n name: 'pay-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst PercentageOutline = {\n name: 'percentage',\n theme: 'outline',\n icon: ''\n};\n\nconst PhoneTwoTone = {\n name: 'phone',\n theme: 'twotone',\n icon: ''\n};\n\nconst PictureFill = {\n name: 'picture',\n theme: 'fill',\n icon: ''\n};\n\nconst PictureOutline = {\n name: 'picture',\n theme: 'outline',\n icon: ''\n};\n\nconst MinusSquareOutline = {\n name: 'minus-square',\n theme: 'outline',\n icon: ''\n};\n\nconst PhoneFill = {\n name: 'phone',\n theme: 'fill',\n icon: ''\n};\n\nconst PieChartOutline = {\n name: 'pie-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst PicLeftOutline = {\n name: 'pic-left',\n theme: 'outline',\n icon: ''\n};\n\nconst PieChartTwoTone = {\n name: 'pie-chart',\n theme: 'twotone',\n icon: ''\n};\n\nconst PieChartFill = {\n name: 'pie-chart',\n theme: 'fill',\n icon: ''\n};\n\nconst PlayCircleTwoTone = {\n name: 'play-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst PlaySquareFill = {\n name: 'play-square',\n theme: 'fill',\n icon: ''\n};\n\nconst PlusCircleTwoTone = {\n name: 'plus-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst PictureTwoTone = {\n name: 'picture',\n theme: 'twotone',\n icon: ''\n};\n\nconst PlayCircleFill = {\n name: 'play-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst PicRightOutline = {\n name: 'pic-right',\n theme: 'outline',\n icon: ''\n};\n\nconst PlusCircleOutline = {\n name: 'plus-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst PlusCircleFill = {\n name: 'plus-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst PlaySquareTwoTone = {\n name: 'play-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst PlusOutline = {\n name: 'plus',\n theme: 'outline',\n icon: ''\n};\n\nconst PlusSquareOutline = {\n name: 'plus-square',\n theme: 'outline',\n icon: ''\n};\n\nconst PoundCircleFill = {\n name: 'pound-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst PlusSquareFill = {\n name: 'plus-square',\n theme: 'fill',\n icon: ''\n};\n\nconst PoundCircleOutline = {\n name: 'pound-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst PlusSquareTwoTone = {\n name: 'plus-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst PlaySquareOutline = {\n name: 'play-square',\n theme: 'outline',\n icon: ''\n};\n\nconst PoweroffOutline = {\n name: 'poweroff',\n theme: 'outline',\n icon: ''\n};\n\nconst PoundOutline = {\n name: 'pound',\n theme: 'outline',\n icon: ''\n};\n\nconst ProfileFill = {\n name: 'profile',\n theme: 'fill',\n icon: ''\n};\n\nconst PrinterFill = {\n name: 'printer',\n theme: 'fill',\n icon: ''\n};\n\nconst PoundCircleTwoTone = {\n name: 'pound-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst ProjectTwoTone = {\n name: 'project',\n theme: 'twotone',\n icon: ''\n};\n\nconst ProjectFill = {\n name: 'project',\n theme: 'fill',\n icon: ''\n};\n\nconst ProjectOutline = {\n name: 'project',\n theme: 'outline',\n icon: ''\n};\n\nconst PrinterOutline = {\n name: 'printer',\n theme: 'outline',\n icon: ''\n};\n\nconst ProfileTwoTone = {\n name: 'profile',\n theme: 'twotone',\n icon: ''\n};\n\nconst PropertySafetyOutline = {\n name: 'property-safety',\n theme: 'outline',\n icon: ''\n};\n\nconst PrinterTwoTone = {\n name: 'printer',\n theme: 'twotone',\n icon: ''\n};\n\nconst MobileOutline = {\n name: 'mobile',\n theme: 'outline',\n icon: ''\n};\n\nconst PushpinTwoTone = {\n name: 'pushpin',\n theme: 'twotone',\n icon: ''\n};\n\nconst QqOutline = {\n name: 'qq',\n theme: 'outline',\n icon: ''\n};\n\nconst PushpinFill = {\n name: 'pushpin',\n theme: 'fill',\n icon: ''\n};\n\nconst PushpinOutline = {\n name: 'pushpin',\n theme: 'outline',\n icon: ''\n};\n\nconst PullRequestOutline = {\n name: 'pull-request',\n theme: 'outline',\n icon: ''\n};\n\nconst QqCircleFill = {\n name: 'qq-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst ProfileOutline = {\n name: 'profile',\n theme: 'outline',\n icon: ''\n};\n\nconst RadiusBottomleftOutline = {\n name: 'radius-bottomleft',\n theme: 'outline',\n icon: ''\n};\n\nconst QuestionCircleOutline = {\n name: 'question-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst PropertySafetyFill = {\n name: 'property-safety',\n theme: 'fill',\n icon: ''\n};\n\nconst QuestionCircleFill = {\n name: 'question-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst QrcodeOutline = {\n name: 'qrcode',\n theme: 'outline',\n icon: ''\n};\n\nconst QqSquareFill = {\n name: 'qq-square',\n theme: 'fill',\n icon: ''\n};\n\nconst ReadFill = {\n name: 'read',\n theme: 'fill',\n icon: ''\n};\n\nconst RadarChartOutline = {\n name: 'radar-chart',\n theme: 'outline',\n icon: ''\n};\n\nconst ReconciliationOutline = {\n name: 'reconciliation',\n theme: 'outline',\n icon: ''\n};\n\nconst RadiusUprightOutline = {\n name: 'radius-upright',\n theme: 'outline',\n icon: ''\n};\n\nconst QuestionOutline = {\n name: 'question',\n theme: 'outline',\n icon: ''\n};\n\nconst ReadOutline = {\n name: 'read',\n theme: 'outline',\n icon: ''\n};\n\nconst RedEnvelopeOutline = {\n name: 'red-envelope',\n theme: 'outline',\n icon: ''\n};\n\nconst ReconciliationTwoTone = {\n name: 'reconciliation',\n theme: 'twotone',\n icon: ''\n};\n\nconst RadiusBottomrightOutline = {\n name: 'radius-bottomright',\n theme: 'outline',\n icon: ''\n};\n\nconst ReconciliationFill = {\n name: 'reconciliation',\n theme: 'fill',\n icon: ''\n};\n\nconst RedEnvelopeFill = {\n name: 'red-envelope',\n theme: 'fill',\n icon: ''\n};\n\nconst RadiusSettingOutline = {\n name: 'radius-setting',\n theme: 'outline',\n icon: ''\n};\n\nconst RedditCircleFill = {\n name: 'reddit-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst RedditOutline = {\n name: 'reddit',\n theme: 'outline',\n icon: ''\n};\n\nconst GooglePlusSquareFill = {\n name: 'google-plus-square',\n theme: 'fill',\n icon: ''\n};\n\nconst RedoOutline = {\n name: 'redo',\n theme: 'outline',\n icon: ''\n};\n\nconst MoreOutline = {\n name: 'more',\n theme: 'outline',\n icon: ''\n};\n\nconst PropertySafetyTwoTone = {\n name: 'property-safety',\n theme: 'twotone',\n icon: ''\n};\n\nconst RedditSquareFill = {\n name: 'reddit-square',\n theme: 'fill',\n icon: ''\n};\n\nconst RestFill = {\n name: 'rest',\n theme: 'fill',\n icon: ''\n};\n\nconst NodeIndexOutline = {\n name: 'node-index',\n theme: 'outline',\n icon: ''\n};\n\nconst RightCircleOutline = {\n name: 'right-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst RightOutline = {\n name: 'right',\n theme: 'outline',\n icon: ''\n};\n\nconst RightCircleTwoTone = {\n name: 'right-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst RedEnvelopeTwoTone = {\n name: 'red-envelope',\n theme: 'twotone',\n icon: ''\n};\n\nconst RightCircleFill = {\n name: 'right-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst ReloadOutline = {\n name: 'reload',\n theme: 'outline',\n icon: ''\n};\n\nconst RightSquareTwoTone = {\n name: 'right-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst RightSquareOutline = {\n name: 'right-square',\n theme: 'outline',\n icon: ''\n};\n\nconst RocketOutline = {\n name: 'rocket',\n theme: 'outline',\n icon: ''\n};\n\nconst RightSquareFill = {\n name: 'right-square',\n theme: 'fill',\n icon: ''\n};\n\nconst RobotFill = {\n name: 'robot',\n theme: 'fill',\n icon: ''\n};\n\nconst RocketTwoTone = {\n name: 'rocket',\n theme: 'twotone',\n icon: ''\n};\n\nconst RocketFill = {\n name: 'rocket',\n theme: 'fill',\n icon: ''\n};\n\nconst RotateLeftOutline = {\n name: 'rotate-left',\n theme: 'outline',\n icon: ''\n};\n\nconst RobotOutline = {\n name: 'robot',\n theme: 'outline',\n icon: ''\n};\n\nconst InsuranceTwoTone = {\n name: 'insurance',\n theme: 'twotone',\n icon: ''\n};\n\nconst SafetyOutline = {\n name: 'safety',\n theme: 'outline',\n icon: ''\n};\n\nconst SafetyCertificateFill = {\n name: 'safety-certificate',\n theme: 'fill',\n icon: ''\n};\n\nconst MedicineBoxFill = {\n name: 'medicine-box',\n theme: 'fill',\n icon: ''\n};\n\nconst SaveOutline = {\n name: 'save',\n theme: 'outline',\n icon: ''\n};\n\nconst RotateRightOutline = {\n name: 'rotate-right',\n theme: 'outline',\n icon: ''\n};\n\nconst QuestionCircleTwoTone = {\n name: 'question-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst RollbackOutline = {\n name: 'rollback',\n theme: 'outline',\n icon: ''\n};\n\nconst ScanOutline = {\n name: 'scan',\n theme: 'outline',\n icon: ''\n};\n\nconst ScheduleOutline = {\n name: 'schedule',\n theme: 'outline',\n icon: ''\n};\n\nconst SafetyCertificateOutline = {\n name: 'safety-certificate',\n theme: 'outline',\n icon: ''\n};\n\nconst SaveTwoTone = {\n name: 'save',\n theme: 'twotone',\n icon: ''\n};\n\nconst ScheduleFill = {\n name: 'schedule',\n theme: 'fill',\n icon: ''\n};\n\nconst ScheduleTwoTone = {\n name: 'schedule',\n theme: 'twotone',\n icon: ''\n};\n\nconst SaveFill = {\n name: 'save',\n theme: 'fill',\n icon: ''\n};\n\nconst ScissorOutline = {\n name: 'scissor',\n theme: 'outline',\n icon: ''\n};\n\nconst SecurityScanFill = {\n name: 'security-scan',\n theme: 'fill',\n icon: ''\n};\n\nconst SafetyCertificateTwoTone = {\n name: 'safety-certificate',\n theme: 'twotone',\n icon: ''\n};\n\nconst SecurityScanTwoTone = {\n name: 'security-scan',\n theme: 'twotone',\n icon: ''\n};\n\nconst SendOutline = {\n name: 'send',\n theme: 'outline',\n icon: ''\n};\n\nconst ShakeOutline = {\n name: 'shake',\n theme: 'outline',\n icon: ''\n};\n\nconst SettingTwoTone = {\n name: 'setting',\n theme: 'twotone',\n icon: ''\n};\n\nconst SettingFill = {\n name: 'setting',\n theme: 'fill',\n icon: ''\n};\n\nconst ShareAltOutline = {\n name: 'share-alt',\n theme: 'outline',\n icon: ''\n};\n\nconst SearchOutline = {\n name: 'search',\n theme: 'outline',\n icon: ''\n};\n\nconst SecurityScanOutline = {\n name: 'security-scan',\n theme: 'outline',\n icon: ''\n};\n\nconst RadiusUpleftOutline = {\n name: 'radius-upleft',\n theme: 'outline',\n icon: ''\n};\n\nconst HistoryOutline = {\n name: 'history',\n theme: 'outline',\n icon: ''\n};\n\nconst RestOutline = {\n name: 'rest',\n theme: 'outline',\n icon: ''\n};\n\nconst ShopTwoTone = {\n name: 'shop',\n theme: 'twotone',\n icon: ''\n};\n\nconst ShopFill = {\n name: 'shop',\n theme: 'fill',\n icon: ''\n};\n\nconst ShoppingOutline = {\n name: 'shopping',\n theme: 'outline',\n icon: ''\n};\n\nconst ShoppingFill = {\n name: 'shopping',\n theme: 'fill',\n icon: ''\n};\n\nconst SignalFill = {\n name: 'signal',\n theme: 'fill',\n icon: ''\n};\n\nconst MediumWorkmarkOutline = {\n name: 'medium-workmark',\n theme: 'outline',\n icon: ''\n};\n\nconst SketchCircleFill = {\n name: 'sketch-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst SketchSquareFill = {\n name: 'sketch-square',\n theme: 'fill',\n icon: ''\n};\n\nconst ShrinkOutline = {\n name: 'shrink',\n theme: 'outline',\n icon: ''\n};\n\nconst SketchOutline = {\n name: 'sketch',\n theme: 'outline',\n icon: ''\n};\n\nconst RestTwoTone = {\n name: 'rest',\n theme: 'twotone',\n icon: ''\n};\n\nconst SkypeOutline = {\n name: 'skype',\n theme: 'outline',\n icon: ''\n};\n\nconst RetweetOutline = {\n name: 'retweet',\n theme: 'outline',\n icon: ''\n};\n\nconst SlackSquareFill = {\n name: 'slack-square',\n theme: 'fill',\n icon: ''\n};\n\nconst SlackOutline = {\n name: 'slack',\n theme: 'outline',\n icon: ''\n};\n\nconst SlackSquareOutline = {\n name: 'slack-square',\n theme: 'outline',\n icon: ''\n};\n\nconst SisternodeOutline = {\n name: 'sisternode',\n theme: 'outline',\n icon: ''\n};\n\nconst SkypeFill = {\n name: 'skype',\n theme: 'fill',\n icon: ''\n};\n\nconst SkinTwoTone = {\n name: 'skin',\n theme: 'twotone',\n icon: ''\n};\n\nconst SlidersOutline = {\n name: 'sliders',\n theme: 'outline',\n icon: ''\n};\n\nconst ShopOutline = {\n name: 'shop',\n theme: 'outline',\n icon: ''\n};\n\nconst SmallDashOutline = {\n name: 'small-dash',\n theme: 'outline',\n icon: ''\n};\n\nconst SlidersTwoTone = {\n name: 'sliders',\n theme: 'twotone',\n icon: ''\n};\n\nconst SlidersFill = {\n name: 'sliders',\n theme: 'fill',\n icon: ''\n};\n\nconst SnippetsFill = {\n name: 'snippets',\n theme: 'fill',\n icon: ''\n};\n\nconst SmileOutline = {\n name: 'smile',\n theme: 'outline',\n icon: ''\n};\n\nconst SnippetsOutline = {\n name: 'snippets',\n theme: 'outline',\n icon: ''\n};\n\nconst ShoppingCartOutline = {\n name: 'shopping-cart',\n theme: 'outline',\n icon: ''\n};\n\nconst SmileFill = {\n name: 'smile',\n theme: 'fill',\n icon: ''\n};\n\nconst SolutionOutline = {\n name: 'solution',\n theme: 'outline',\n icon: ''\n};\n\nconst SortAscendingOutline = {\n name: 'sort-ascending',\n theme: 'outline',\n icon: ''\n};\n\nconst SoundTwoTone = {\n name: 'sound',\n theme: 'twotone',\n icon: ''\n};\n\nconst SmileTwoTone = {\n name: 'smile',\n theme: 'twotone',\n icon: ''\n};\n\nconst SplitCellsOutline = {\n name: 'split-cells',\n theme: 'outline',\n icon: ''\n};\n\nconst PlayCircleOutline = {\n name: 'play-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst SoundFill = {\n name: 'sound',\n theme: 'fill',\n icon: ''\n};\n\nconst StarFill = {\n name: 'star',\n theme: 'fill',\n icon: ''\n};\n\nconst ShoppingTwoTone = {\n name: 'shopping',\n theme: 'twotone',\n icon: ''\n};\n\nconst StarTwoTone = {\n name: 'star',\n theme: 'twotone',\n icon: ''\n};\n\nconst StarOutline = {\n name: 'star',\n theme: 'outline',\n icon: ''\n};\n\nconst StepBackwardOutline = {\n name: 'step-backward',\n theme: 'outline',\n icon: ''\n};\n\nconst StepForwardFill = {\n name: 'step-forward',\n theme: 'fill',\n icon: ''\n};\n\nconst StrikethroughOutline = {\n name: 'strikethrough',\n theme: 'outline',\n icon: ''\n};\n\nconst StepForwardOutline = {\n name: 'step-forward',\n theme: 'outline',\n icon: ''\n};\n\nconst RiseOutline = {\n name: 'rise',\n theme: 'outline',\n icon: ''\n};\n\nconst StockOutline = {\n name: 'stock',\n theme: 'outline',\n icon: ''\n};\n\nconst StopOutline = {\n name: 'stop',\n theme: 'outline',\n icon: ''\n};\n\nconst StopTwoTone = {\n name: 'stop',\n theme: 'twotone',\n icon: ''\n};\n\nconst StopFill = {\n name: 'stop',\n theme: 'fill',\n icon: ''\n};\n\nconst SwitcherFill = {\n name: 'switcher',\n theme: 'fill',\n icon: ''\n};\n\nconst SwapLeftOutline = {\n name: 'swap-left',\n theme: 'outline',\n icon: ''\n};\n\nconst SwitcherOutline = {\n name: 'switcher',\n theme: 'outline',\n icon: ''\n};\n\nconst SwitcherTwoTone = {\n name: 'switcher',\n theme: 'twotone',\n icon: ''\n};\n\nconst SwapOutline = {\n name: 'swap',\n theme: 'outline',\n icon: ''\n};\n\nconst SubnodeOutline = {\n name: 'subnode',\n theme: 'outline',\n icon: ''\n};\n\nconst SwapRightOutline = {\n name: 'swap-right',\n theme: 'outline',\n icon: ''\n};\n\nconst SyncOutline = {\n name: 'sync',\n theme: 'outline',\n icon: ''\n};\n\nconst TableOutline = {\n name: 'table',\n theme: 'outline',\n icon: ''\n};\n\nconst SkinOutline = {\n name: 'skin',\n theme: 'outline',\n icon: ''\n};\n\nconst TagFill = {\n name: 'tag',\n theme: 'fill',\n icon: ''\n};\n\nconst TabletFill = {\n name: 'tablet',\n theme: 'fill',\n icon: ''\n};\n\nconst TagTwoTone = {\n name: 'tag',\n theme: 'twotone',\n icon: ''\n};\n\nconst TagOutline = {\n name: 'tag',\n theme: 'outline',\n icon: ''\n};\n\nconst TaobaoOutline = {\n name: 'taobao',\n theme: 'outline',\n icon: ''\n};\n\nconst TagsTwoTone = {\n name: 'tags',\n theme: 'twotone',\n icon: ''\n};\n\nconst TagsOutline = {\n name: 'tags',\n theme: 'outline',\n icon: ''\n};\n\nconst TabletTwoTone = {\n name: 'tablet',\n theme: 'twotone',\n icon: ''\n};\n\nconst TeamOutline = {\n name: 'team',\n theme: 'outline',\n icon: ''\n};\n\nconst TaobaoCircleFill = {\n name: 'taobao-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst TagsFill = {\n name: 'tags',\n theme: 'fill',\n icon: ''\n};\n\nconst ThunderboltOutline = {\n name: 'thunderbolt',\n theme: 'outline',\n icon: ''\n};\n\nconst TaobaoCircleOutline = {\n name: 'taobao-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst TaobaoSquareFill = {\n name: 'taobao-square',\n theme: 'fill',\n icon: ''\n};\n\nconst ThunderboltTwoTone = {\n name: 'thunderbolt',\n theme: 'twotone',\n icon: ''\n};\n\nconst ThunderboltFill = {\n name: 'thunderbolt',\n theme: 'fill',\n icon: ''\n};\n\nconst ToolFill = {\n name: 'tool',\n theme: 'fill',\n icon: ''\n};\n\nconst ToolTwoTone = {\n name: 'tool',\n theme: 'twotone',\n icon: ''\n};\n\nconst StepBackwardFill = {\n name: 'step-backward',\n theme: 'fill',\n icon: ''\n};\n\nconst ToolOutline = {\n name: 'tool',\n theme: 'outline',\n icon: ''\n};\n\nconst TrademarkCircleTwoTone = {\n name: 'trademark-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst TrademarkCircleOutline = {\n name: 'trademark-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst TrademarkCircleFill = {\n name: 'trademark-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst ToTopOutline = {\n name: 'to-top',\n theme: 'outline',\n icon: ''\n};\n\nconst TrademarkOutline = {\n name: 'trademark',\n theme: 'outline',\n icon: ''\n};\n\nconst TrophyFill = {\n name: 'trophy',\n theme: 'fill',\n icon: ''\n};\n\nconst TransactionOutline = {\n name: 'transaction',\n theme: 'outline',\n icon: ''\n};\n\nconst TrophyOutline = {\n name: 'trophy',\n theme: 'outline',\n icon: ''\n};\n\nconst SoundOutline = {\n name: 'sound',\n theme: 'outline',\n icon: ''\n};\n\nconst TwitterCircleFill = {\n name: 'twitter-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst TrophyTwoTone = {\n name: 'trophy',\n theme: 'twotone',\n icon: ''\n};\n\nconst UnderlineOutline = {\n name: 'underline',\n theme: 'outline',\n icon: ''\n};\n\nconst UnlockFill = {\n name: 'unlock',\n theme: 'fill',\n icon: ''\n};\n\nconst TwitterOutline = {\n name: 'twitter',\n theme: 'outline',\n icon: ''\n};\n\nconst UnlockOutline = {\n name: 'unlock',\n theme: 'outline',\n icon: ''\n};\n\nconst UndoOutline = {\n name: 'undo',\n theme: 'outline',\n icon: ''\n};\n\nconst UnlockTwoTone = {\n name: 'unlock',\n theme: 'twotone',\n icon: ''\n};\n\nconst SettingOutline = {\n name: 'setting',\n theme: 'outline',\n icon: ''\n};\n\nconst UngroupOutline = {\n name: 'ungroup',\n theme: 'outline',\n icon: ''\n};\n\nconst SelectOutline = {\n name: 'select',\n theme: 'outline',\n icon: ''\n};\n\nconst UpCircleTwoTone = {\n name: 'up-circle',\n theme: 'twotone',\n icon: ''\n};\n\nconst SlackCircleFill = {\n name: 'slack-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst UpCircleOutline = {\n name: 'up-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst UpSquareOutline = {\n name: 'up-square',\n theme: 'outline',\n icon: ''\n};\n\nconst UpCircleFill = {\n name: 'up-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst TwitterSquareFill = {\n name: 'twitter-square',\n theme: 'fill',\n icon: ''\n};\n\nconst UnorderedListOutline = {\n name: 'unordered-list',\n theme: 'outline',\n icon: ''\n};\n\nconst UploadOutline = {\n name: 'upload',\n theme: 'outline',\n icon: ''\n};\n\nconst UpOutline = {\n name: 'up',\n theme: 'outline',\n icon: ''\n};\n\nconst TabletOutline = {\n name: 'tablet',\n theme: 'outline',\n icon: ''\n};\n\nconst UsbTwoTone = {\n name: 'usb',\n theme: 'twotone',\n icon: ''\n};\n\nconst UserDeleteOutline = {\n name: 'user-delete',\n theme: 'outline',\n icon: ''\n};\n\nconst UsbFill = {\n name: 'usb',\n theme: 'fill',\n icon: ''\n};\n\nconst UserOutline = {\n name: 'user',\n theme: 'outline',\n icon: ''\n};\n\nconst UsergroupDeleteOutline = {\n name: 'usergroup-delete',\n theme: 'outline',\n icon: ''\n};\n\nconst UserSwitchOutline = {\n name: 'user-switch',\n theme: 'outline',\n icon: ''\n};\n\nconst VerifiedOutline = {\n name: 'verified',\n theme: 'outline',\n icon: ''\n};\n\nconst VerticalAlignMiddleOutline = {\n name: 'vertical-align-middle',\n theme: 'outline',\n icon: ''\n};\n\nconst VerticalAlignTopOutline = {\n name: 'vertical-align-top',\n theme: 'outline',\n icon: ''\n};\n\nconst VideoCameraAddOutline = {\n name: 'video-camera-add',\n theme: 'outline',\n icon: ''\n};\n\nconst VerticalAlignBottomOutline = {\n name: 'vertical-align-bottom',\n theme: 'outline',\n icon: ''\n};\n\nconst UpSquareFill = {\n name: 'up-square',\n theme: 'fill',\n icon: ''\n};\n\nconst VideoCameraTwoTone = {\n name: 'video-camera',\n theme: 'twotone',\n icon: ''\n};\n\nconst VerticalRightOutline = {\n name: 'vertical-right',\n theme: 'outline',\n icon: ''\n};\n\nconst VerticalLeftOutline = {\n name: 'vertical-left',\n theme: 'outline',\n icon: ''\n};\n\nconst UsbOutline = {\n name: 'usb',\n theme: 'outline',\n icon: ''\n};\n\nconst VideoCameraFill = {\n name: 'video-camera',\n theme: 'fill',\n icon: ''\n};\n\nconst WarningTwoTone = {\n name: 'warning',\n theme: 'twotone',\n icon: ''\n};\n\nconst WalletOutline = {\n name: 'wallet',\n theme: 'outline',\n icon: ''\n};\n\nconst WalletTwoTone = {\n name: 'wallet',\n theme: 'twotone',\n icon: ''\n};\n\nconst VideoCameraOutline = {\n name: 'video-camera',\n theme: 'outline',\n icon: ''\n};\n\nconst WeiboSquareOutline = {\n name: 'weibo-square',\n theme: 'outline',\n icon: ''\n};\n\nconst WalletFill = {\n name: 'wallet',\n theme: 'fill',\n icon: ''\n};\n\nconst WeiboOutline = {\n name: 'weibo',\n theme: 'outline',\n icon: ''\n};\n\nconst WechatOutline = {\n name: 'wechat',\n theme: 'outline',\n icon: ''\n};\n\nconst WeiboCircleFill = {\n name: 'weibo-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst WeiboCircleOutline = {\n name: 'weibo-circle',\n theme: 'outline',\n icon: ''\n};\n\nconst UsergroupAddOutline = {\n name: 'usergroup-add',\n theme: 'outline',\n icon: ''\n};\n\nconst WeiboSquareFill = {\n name: 'weibo-square',\n theme: 'fill',\n icon: ''\n};\n\nconst WhatsAppOutline = {\n name: 'whats-app',\n theme: 'outline',\n icon: ''\n};\n\nconst WomanOutline = {\n name: 'woman',\n theme: 'outline',\n icon: ''\n};\n\nconst YahooFill = {\n name: 'yahoo',\n theme: 'fill',\n icon: ''\n};\n\nconst ZhihuCircleFill = {\n name: 'zhihu-circle',\n theme: 'fill',\n icon: ''\n};\n\nconst WarningFill = {\n name: 'warning',\n theme: 'fill',\n icon: ''\n};\n\nconst YoutubeFill = {\n name: 'youtube',\n theme: 'fill',\n icon: ''\n};\n\nconst TranslationOutline = {\n name: 'translation',\n theme: 'outline',\n icon: ''\n};\n\nconst WindowsOutline = {\n name: 'windows',\n theme: 'outline',\n icon: ''\n};\n\nconst WindowsFill = {\n name: 'windows',\n theme: 'fill',\n icon: ''\n};\n\nconst WifiOutline = {\n name: 'wifi',\n theme: 'outline',\n icon: ''\n};\n\nconst YahooOutline = {\n name: 'yahoo',\n theme: 'outline',\n icon: ''\n};\n\nconst WechatFill = {\n name: 'wechat',\n theme: 'fill',\n icon: ''\n};\n\nconst UpSquareTwoTone = {\n name: 'up-square',\n theme: 'twotone',\n icon: ''\n};\n\nconst YuqueOutline = {\n name: 'yuque',\n theme: 'outline',\n icon: ''\n};\n\nconst ZhihuSquareFill = {\n name: 'zhihu-square',\n theme: 'fill',\n icon: ''\n};\n\nconst YuqueFill = {\n name: 'yuque',\n theme: 'fill',\n icon: ''\n};\n\nconst WarningOutline = {\n name: 'warning',\n theme: 'outline',\n icon: ''\n};\n\nconst ZoomInOutline = {\n name: 'zoom-in',\n theme: 'outline',\n icon: ''\n};\n\nconst SortDescendingOutline = {\n name: 'sort-descending',\n theme: 'outline',\n icon: ''\n};\n\nconst YoutubeOutline = {\n name: 'youtube',\n theme: 'outline',\n icon: ''\n};\n\nconst SkinFill = {\n name: 'skin',\n theme: 'fill',\n icon: ''\n};\n\nconst ZoomOutOutline = {\n name: 'zoom-out',\n theme: 'outline',\n icon: ''\n};\n\nconst ZhihuOutline = {\n name: 'zhihu',\n theme: 'outline',\n icon: ''\n};\n\nconst SnippetsTwoTone = {\n name: 'snippets',\n theme: 'twotone',\n icon: ''\n};\n\nconst UserAddOutline = {\n name: 'user-add',\n theme: 'outline',\n icon: ''\n};\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AccountBookFill, AccountBookOutline, AccountBookTwoTone, AimOutline, AlertFill, AlertOutline, AlertTwoTone, AlibabaOutline, AlignCenterOutline, AlignLeftOutline, AlignRightOutline, AlipayCircleFill, AlipayCircleOutline, AlipayOutline, AlipaySquareFill, AliwangwangFill, AliwangwangOutline, AliyunOutline, AmazonCircleFill, AmazonOutline, AmazonSquareFill, AndroidFill, AndroidOutline, AntCloudOutline, AntDesignOutline, ApartmentOutline, ApiFill, ApiOutline, ApiTwoTone, AppleFill, AppleOutline, AppstoreAddOutline, AppstoreFill, AppstoreOutline, AppstoreTwoTone, AreaChartOutline, ArrowDownOutline, ArrowLeftOutline, ArrowRightOutline, ArrowUpOutline, ArrowsAltOutline, AudioFill, AudioMutedOutline, AudioOutline, AudioTwoTone, AuditOutline, BackwardFill, BackwardOutline, BankFill, BankOutline, BankTwoTone, BarChartOutline, BarcodeOutline, BarsOutline, BehanceCircleFill, BehanceOutline, BehanceSquareFill, BehanceSquareOutline, BellFill, BellOutline, BellTwoTone, BgColorsOutline, BlockOutline, BoldOutline, BookFill, BookOutline, BookTwoTone, BorderBottomOutline, BorderHorizontalOutline, BorderInnerOutline, BorderLeftOutline, BorderOuterOutline, BorderOutline, BorderRightOutline, BorderTopOutline, BorderVerticleOutline, BorderlessTableOutline, BoxPlotFill, BoxPlotOutline, BoxPlotTwoTone, BranchesOutline, BugFill, BugOutline, BugTwoTone, BuildFill, BuildOutline, BuildTwoTone, BulbFill, BulbOutline, BulbTwoTone, CalculatorFill, CalculatorOutline, CalculatorTwoTone, CalendarFill, CalendarOutline, CalendarTwoTone, CameraFill, CameraOutline, CameraTwoTone, CarFill, CarOutline, CarTwoTone, CaretDownFill, CaretDownOutline, CaretLeftFill, CaretLeftOutline, CaretRightFill, CaretRightOutline, CaretUpFill, CaretUpOutline, CarryOutFill, CarryOutOutline, CarryOutTwoTone, CheckCircleFill, CheckCircleOutline, CheckCircleTwoTone, CheckOutline, CheckSquareFill, CheckSquareOutline, CheckSquareTwoTone, ChromeFill, ChromeOutline, CiCircleFill, CiCircleOutline, CiCircleTwoTone, CiOutline, CiTwoTone, ClearOutline, ClockCircleFill, ClockCircleOutline, ClockCircleTwoTone, CloseCircleFill, CloseCircleOutline, CloseCircleTwoTone, CloseOutline, CloseSquareFill, CloseSquareOutline, CloseSquareTwoTone, CloudDownloadOutline, CloudFill, CloudOutline, CloudServerOutline, CloudSyncOutline, CloudTwoTone, CloudUploadOutline, ClusterOutline, CodeFill, CodeOutline, CodeSandboxCircleFill, CodeSandboxOutline, CodeSandboxSquareFill, CodeTwoTone, CodepenCircleFill, CodepenCircleOutline, CodepenOutline, CodepenSquareFill, CoffeeOutline, ColumnHeightOutline, ColumnWidthOutline, CommentOutline, CompassFill, CompassOutline, CompassTwoTone, CompressOutline, ConsoleSqlOutline, ContactsFill, ContactsOutline, ContactsTwoTone, ContainerFill, ContainerOutline, ContainerTwoTone, ControlFill, ControlOutline, ControlTwoTone, CopyFill, CopyOutline, CopyTwoTone, CopyrightCircleFill, CopyrightCircleOutline, CopyrightCircleTwoTone, CopyrightOutline, CopyrightTwoTone, CreditCardFill, CreditCardOutline, CreditCardTwoTone, CrownFill, CrownOutline, CrownTwoTone, CustomerServiceFill, CustomerServiceOutline, CustomerServiceTwoTone, DashOutline, DashboardFill, DashboardOutline, DashboardTwoTone, DatabaseFill, DatabaseOutline, DatabaseTwoTone, DeleteColumnOutline, DeleteFill, DeleteOutline, DeleteRowOutline, DeleteTwoTone, DeliveredProcedureOutline, DeploymentUnitOutline, DesktopOutline, DiffFill, DiffOutline, DiffTwoTone, DingdingOutline, DingtalkCircleFill, DingtalkOutline, DingtalkSquareFill, DisconnectOutline, DislikeFill, DislikeOutline, DislikeTwoTone, DollarCircleFill, DollarCircleOutline, DollarCircleTwoTone, DollarOutline, DollarTwoTone, DotChartOutline, DoubleLeftOutline, DoubleRightOutline, DownCircleFill, DownCircleOutline, DownCircleTwoTone, DownOutline, DownSquareFill, DownSquareOutline, DownSquareTwoTone, DownloadOutline, DragOutline, DribbbleCircleFill, DribbbleOutline, DribbbleSquareFill, DribbbleSquareOutline, DropboxCircleFill, DropboxOutline, DropboxSquareFill, EditFill, EditOutline, EditTwoTone, EllipsisOutline, EnterOutline, EnvironmentFill, EnvironmentOutline, EnvironmentTwoTone, EuroCircleFill, EuroCircleOutline, EuroCircleTwoTone, EuroOutline, EuroTwoTone, ExceptionOutline, ExclamationCircleFill, ExclamationCircleOutline, ExclamationCircleTwoTone, ExclamationOutline, ExpandAltOutline, ExpandOutline, ExperimentFill, ExperimentOutline, ExperimentTwoTone, ExportOutline, EyeFill, EyeInvisibleFill, EyeInvisibleOutline, EyeInvisibleTwoTone, EyeOutline, EyeTwoTone, FacebookFill, FacebookOutline, FallOutline, FastBackwardFill, FastBackwardOutline, FastForwardFill, FastForwardOutline, FieldBinaryOutline, FieldNumberOutline, FieldStringOutline, FieldTimeOutline, FileAddFill, FileAddOutline, FileAddTwoTone, FileDoneOutline, FileExcelFill, FileExcelOutline, FileExcelTwoTone, FileExclamationFill, FileExclamationOutline, FileExclamationTwoTone, FileFill, FileGifOutline, FileImageFill, FileImageOutline, FileImageTwoTone, FileJpgOutline, FileMarkdownFill, FileMarkdownOutline, FileMarkdownTwoTone, FileOutline, FilePdfFill, FilePdfOutline, FilePdfTwoTone, FilePptFill, FilePptOutline, FilePptTwoTone, FileProtectOutline, FileSearchOutline, FileSyncOutline, FileTextFill, FileTextOutline, FileTextTwoTone, FileTwoTone, FileUnknownFill, FileUnknownOutline, FileUnknownTwoTone, FileWordFill, FileWordOutline, FileWordTwoTone, FileZipFill, FileZipOutline, FileZipTwoTone, FilterFill, FilterOutline, FilterTwoTone, FireFill, FireOutline, FireTwoTone, FlagFill, FlagOutline, FlagTwoTone, FolderAddFill, FolderAddOutline, FolderAddTwoTone, FolderFill, FolderOpenFill, FolderOpenOutline, FolderOpenTwoTone, FolderOutline, FolderTwoTone, FolderViewOutline, FontColorsOutline, FontSizeOutline, ForkOutline, FormOutline, FormatPainterFill, FormatPainterOutline, ForwardFill, ForwardOutline, FrownFill, FrownOutline, FrownTwoTone, FullscreenExitOutline, FullscreenOutline, FunctionOutline, FundFill, FundOutline, FundProjectionScreenOutline, FundTwoTone, FundViewOutline, FunnelPlotFill, FunnelPlotOutline, FunnelPlotTwoTone, GatewayOutline, GifOutline, GiftFill, GiftOutline, GiftTwoTone, GithubFill, GithubOutline, GitlabFill, GitlabOutline, GlobalOutline, GoldFill, GoldOutline, GoldTwoTone, GoldenFill, GoogleCircleFill, GoogleOutline, GooglePlusCircleFill, GooglePlusOutline, GooglePlusSquareFill, GoogleSquareFill, GroupOutline, HddFill, HddOutline, HddTwoTone, HeartFill, HeartOutline, HeartTwoTone, HeatMapOutline, HighlightFill, HighlightOutline, HighlightTwoTone, HistoryOutline, HolderOutline, HomeFill, HomeOutline, HomeTwoTone, HourglassFill, HourglassOutline, HourglassTwoTone, Html5Fill, Html5Outline, Html5TwoTone, IdcardFill, IdcardOutline, IdcardTwoTone, IeCircleFill, IeOutline, IeSquareFill, ImportOutline, InboxOutline, InfoCircleFill, InfoCircleOutline, InfoCircleTwoTone, InfoOutline, InsertRowAboveOutline, InsertRowBelowOutline, InsertRowLeftOutline, InsertRowRightOutline, InstagramFill, InstagramOutline, InsuranceFill, InsuranceOutline, InsuranceTwoTone, InteractionFill, InteractionOutline, InteractionTwoTone, IssuesCloseOutline, ItalicOutline, KeyOutline, LaptopOutline, LayoutFill, LayoutOutline, LayoutTwoTone, LeftCircleFill, LeftCircleOutline, LeftCircleTwoTone, LeftOutline, LeftSquareFill, LeftSquareOutline, LeftSquareTwoTone, LikeFill, LikeOutline, LikeTwoTone, LineChartOutline, LineHeightOutline, LineOutline, LinkOutline, LinkedinFill, LinkedinOutline, Loading3QuartersOutline, LoadingOutline, LockFill, LockOutline, LockTwoTone, LoginOutline, LogoutOutline, MacCommandFill, MacCommandOutline, MailFill, MailOutline, MailTwoTone, ManOutline, MedicineBoxFill, MedicineBoxOutline, MedicineBoxTwoTone, MediumCircleFill, MediumOutline, MediumSquareFill, MediumWorkmarkOutline, MehFill, MehOutline, MehTwoTone, MenuFoldOutline, MenuOutline, MenuUnfoldOutline, MergeCellsOutline, MessageFill, MessageOutline, MessageTwoTone, MinusCircleFill, MinusCircleOutline, MinusCircleTwoTone, MinusOutline, MinusSquareFill, MinusSquareOutline, MinusSquareTwoTone, MobileFill, MobileOutline, MobileTwoTone, MoneyCollectFill, MoneyCollectOutline, MoneyCollectTwoTone, MonitorOutline, MoreOutline, NodeCollapseOutline, NodeExpandOutline, NodeIndexOutline, NotificationFill, NotificationOutline, NotificationTwoTone, NumberOutline, OneToOneOutline, OrderedListOutline, PaperClipOutline, PartitionOutline, PauseCircleFill, PauseCircleOutline, PauseCircleTwoTone, PauseOutline, PayCircleFill, PayCircleOutline, PercentageOutline, PhoneFill, PhoneOutline, PhoneTwoTone, PicCenterOutline, PicLeftOutline, PicRightOutline, PictureFill, PictureOutline, PictureTwoTone, PieChartFill, PieChartOutline, PieChartTwoTone, PlayCircleFill, PlayCircleOutline, PlayCircleTwoTone, PlaySquareFill, PlaySquareOutline, PlaySquareTwoTone, PlusCircleFill, PlusCircleOutline, PlusCircleTwoTone, PlusOutline, PlusSquareFill, PlusSquareOutline, PlusSquareTwoTone, PoundCircleFill, PoundCircleOutline, PoundCircleTwoTone, PoundOutline, PoweroffOutline, PrinterFill, PrinterOutline, PrinterTwoTone, ProfileFill, ProfileOutline, ProfileTwoTone, ProjectFill, ProjectOutline, ProjectTwoTone, PropertySafetyFill, PropertySafetyOutline, PropertySafetyTwoTone, PullRequestOutline, PushpinFill, PushpinOutline, PushpinTwoTone, QqCircleFill, QqOutline, QqSquareFill, QrcodeOutline, QuestionCircleFill, QuestionCircleOutline, QuestionCircleTwoTone, QuestionOutline, RadarChartOutline, RadiusBottomleftOutline, RadiusBottomrightOutline, RadiusSettingOutline, RadiusUpleftOutline, RadiusUprightOutline, ReadFill, ReadOutline, ReconciliationFill, ReconciliationOutline, ReconciliationTwoTone, RedEnvelopeFill, RedEnvelopeOutline, RedEnvelopeTwoTone, RedditCircleFill, RedditOutline, RedditSquareFill, RedoOutline, ReloadOutline, RestFill, RestOutline, RestTwoTone, RetweetOutline, RightCircleFill, RightCircleOutline, RightCircleTwoTone, RightOutline, RightSquareFill, RightSquareOutline, RightSquareTwoTone, RiseOutline, RobotFill, RobotOutline, RocketFill, RocketOutline, RocketTwoTone, RollbackOutline, RotateLeftOutline, RotateRightOutline, SafetyCertificateFill, SafetyCertificateOutline, SafetyCertificateTwoTone, SafetyOutline, SaveFill, SaveOutline, SaveTwoTone, ScanOutline, ScheduleFill, ScheduleOutline, ScheduleTwoTone, ScissorOutline, SearchOutline, SecurityScanFill, SecurityScanOutline, SecurityScanTwoTone, SelectOutline, SendOutline, SettingFill, SettingOutline, SettingTwoTone, ShakeOutline, ShareAltOutline, ShopFill, ShopOutline, ShopTwoTone, ShoppingCartOutline, ShoppingFill, ShoppingOutline, ShoppingTwoTone, ShrinkOutline, SignalFill, SisternodeOutline, SketchCircleFill, SketchOutline, SketchSquareFill, SkinFill, SkinOutline, SkinTwoTone, SkypeFill, SkypeOutline, SlackCircleFill, SlackOutline, SlackSquareFill, SlackSquareOutline, SlidersFill, SlidersOutline, SlidersTwoTone, SmallDashOutline, SmileFill, SmileOutline, SmileTwoTone, SnippetsFill, SnippetsOutline, SnippetsTwoTone, SolutionOutline, SortAscendingOutline, SortDescendingOutline, SoundFill, SoundOutline, SoundTwoTone, SplitCellsOutline, StarFill, StarOutline, StarTwoTone, StepBackwardFill, StepBackwardOutline, StepForwardFill, StepForwardOutline, StockOutline, StopFill, StopOutline, StopTwoTone, StrikethroughOutline, SubnodeOutline, SwapLeftOutline, SwapOutline, SwapRightOutline, SwitcherFill, SwitcherOutline, SwitcherTwoTone, SyncOutline, TableOutline, TabletFill, TabletOutline, TabletTwoTone, TagFill, TagOutline, TagTwoTone, TagsFill, TagsOutline, TagsTwoTone, TaobaoCircleFill, TaobaoCircleOutline, TaobaoOutline, TaobaoSquareFill, TeamOutline, ThunderboltFill, ThunderboltOutline, ThunderboltTwoTone, ToTopOutline, ToolFill, ToolOutline, ToolTwoTone, TrademarkCircleFill, TrademarkCircleOutline, TrademarkCircleTwoTone, TrademarkOutline, TransactionOutline, TranslationOutline, TrophyFill, TrophyOutline, TrophyTwoTone, TwitterCircleFill, TwitterOutline, TwitterSquareFill, UnderlineOutline, UndoOutline, UngroupOutline, UnlockFill, UnlockOutline, UnlockTwoTone, UnorderedListOutline, UpCircleFill, UpCircleOutline, UpCircleTwoTone, UpOutline, UpSquareFill, UpSquareOutline, UpSquareTwoTone, UploadOutline, UsbFill, UsbOutline, UsbTwoTone, UserAddOutline, UserDeleteOutline, UserOutline, UserSwitchOutline, UsergroupAddOutline, UsergroupDeleteOutline, VerifiedOutline, VerticalAlignBottomOutline, VerticalAlignMiddleOutline, VerticalAlignTopOutline, VerticalLeftOutline, VerticalRightOutline, VideoCameraAddOutline, VideoCameraFill, VideoCameraOutline, VideoCameraTwoTone, WalletFill, WalletOutline, WalletTwoTone, WarningFill, WarningOutline, WarningTwoTone, WechatFill, WechatOutline, WeiboCircleFill, WeiboCircleOutline, WeiboOutline, WeiboSquareFill, WeiboSquareOutline, WhatsAppOutline, WifiOutline, WindowsFill, WindowsOutline, WomanOutline, YahooFill, YahooOutline, YoutubeFill, YoutubeOutline, YuqueFill, YuqueOutline, ZhihuCircleFill, ZhihuOutline, ZhihuSquareFill, ZoomInOutline, ZoomOutOutline };\n\n", "import * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, Optional, Inject, Self, Directive, Input, NgModule } from '@angular/core';\nimport { __decorate } from 'tslib';\nimport { Subject, from } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { IconService, IconDirective } from '@ant-design/icons-angular';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nimport { DOCUMENT } from '@angular/common';\nimport { BarsOutline, CalendarOutline, CaretUpFill, CaretUpOutline, CaretDownFill, CaretDownOutline, CheckCircleFill, CheckCircleOutline, CheckOutline, ClockCircleOutline, CloseCircleOutline, CloseCircleFill, CloseOutline, CopyOutline, DeleteOutline, DoubleLeftOutline, DoubleRightOutline, DownOutline, EditOutline, EllipsisOutline, ExclamationCircleFill, ExclamationCircleOutline, EyeOutline, FileFill, FileOutline, FilterFill, InfoCircleFill, InfoCircleOutline, LeftOutline, LoadingOutline, PaperClipOutline, QuestionCircleOutline, RightOutline, RotateRightOutline, RotateLeftOutline, StarFill, SearchOutline, UploadOutline, VerticalAlignTopOutline, UpOutline, SwapRightOutline, ZoomInOutline, ZoomOutOutline } from '@ant-design/icons-angular/icons';\nimport * as i1 from '@angular/platform-browser';\nimport * as i2 from 'ng-zorro-antd/core/config';\nimport * as i3 from '@angular/cdk/platform';\nimport * as i4 from '@angular/common/http';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst NZ_ICONS_USED_BY_ZORRO = [BarsOutline, CalendarOutline, CaretUpFill, CaretUpOutline, CaretDownFill, CaretDownOutline, CheckCircleFill, CheckCircleOutline, CheckOutline, ClockCircleOutline, CloseCircleOutline, CloseCircleFill, CloseOutline, CopyOutline, DeleteOutline, DoubleLeftOutline, DoubleRightOutline, DownOutline, EditOutline, EllipsisOutline, ExclamationCircleFill, ExclamationCircleOutline, EyeOutline, FileFill, FileOutline, FilterFill, InfoCircleFill, InfoCircleOutline, LeftOutline, LoadingOutline, PaperClipOutline, QuestionCircleOutline, RightOutline, RotateRightOutline, RotateLeftOutline, StarFill, SearchOutline, StarFill, UploadOutline, VerticalAlignTopOutline, UpOutline, SwapRightOutline, ZoomInOutline, ZoomOutOutline];\nconst NZ_ICONS = new InjectionToken('nz_icons');\nconst NZ_ICON_DEFAULT_TWOTONE_COLOR = new InjectionToken('nz_icon_default_twotone_color');\nconst DEFAULT_TWOTONE_COLOR = '#1890ff';\n/**\n * It should be a global singleton, otherwise registered icons could not be found.\n */\nclass NzIconService extends IconService {\n get _disableDynamicLoading() {\n return !this.platform.isBrowser;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n this.subscription = null;\n }\n }\n normalizeSvgElement(svg) {\n if (!svg.getAttribute('viewBox')) {\n this._renderer.setAttribute(svg, 'viewBox', '0 0 1024 1024');\n }\n if (!svg.getAttribute('width') || !svg.getAttribute('height')) {\n this._renderer.setAttribute(svg, 'width', '1em');\n this._renderer.setAttribute(svg, 'height', '1em');\n }\n if (!svg.getAttribute('fill')) {\n this._renderer.setAttribute(svg, 'fill', 'currentColor');\n }\n }\n fetchFromIconfont(opt) {\n const {\n scriptUrl\n } = opt;\n if (this._document && !this.iconfontCache.has(scriptUrl)) {\n const script = this._renderer.createElement('script');\n this._renderer.setAttribute(script, 'src', scriptUrl);\n this._renderer.setAttribute(script, 'data-namespace', scriptUrl.replace(/^(https?|http):/g, ''));\n this._renderer.appendChild(this._document.body, script);\n this.iconfontCache.add(scriptUrl);\n }\n }\n createIconfontIcon(type) {\n return this._createSVGElementFromString(``);\n }\n constructor(rendererFactory, sanitizer, nzConfigService, platform, handler, _document, icons) {\n super(rendererFactory, handler, _document, sanitizer, [...NZ_ICONS_USED_BY_ZORRO, ...(icons || [])]);\n this.nzConfigService = nzConfigService;\n this.platform = platform;\n this.configUpdated$ = new Subject();\n this.iconfontCache = new Set();\n this.subscription = null;\n this.onConfigChange();\n this.configDefaultTwotoneColor();\n this.configDefaultTheme();\n }\n onConfigChange() {\n this.subscription = this.nzConfigService.getConfigChangeEventForComponent('icon').subscribe(() => {\n this.configDefaultTwotoneColor();\n this.configDefaultTheme();\n this.configUpdated$.next();\n });\n }\n configDefaultTheme() {\n const iconConfig = this.getConfig();\n this.defaultTheme = iconConfig.nzTheme || 'outline';\n }\n configDefaultTwotoneColor() {\n const iconConfig = this.getConfig();\n const defaultTwotoneColor = iconConfig.nzTwotoneColor || DEFAULT_TWOTONE_COLOR;\n let primaryColor = DEFAULT_TWOTONE_COLOR;\n if (defaultTwotoneColor) {\n if (defaultTwotoneColor.startsWith('#')) {\n primaryColor = defaultTwotoneColor;\n } else {\n warn('Twotone color must be a hex color!');\n }\n }\n this.twoToneColor = {\n primaryColor\n };\n }\n getConfig() {\n return this.nzConfigService.getConfigForComponent('icon') || {};\n }\n static {\n this.ɵfac = function NzIconService_Factory(t) {\n return new (t || NzIconService)(i0.ɵɵinject(i0.RendererFactory2), i0.ɵɵinject(i1.DomSanitizer), i0.ɵɵinject(i2.NzConfigService), i0.ɵɵinject(i3.Platform), i0.ɵɵinject(i4.HttpBackend, 8), i0.ɵɵinject(DOCUMENT, 8), i0.ɵɵinject(NZ_ICONS, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzIconService,\n factory: NzIconService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzIconService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i0.RendererFactory2\n }, {\n type: i1.DomSanitizer\n }, {\n type: i2.NzConfigService\n }, {\n type: i3.Platform\n }, {\n type: i4.HttpBackend,\n decorators: [{\n type: Optional\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_ICONS]\n }]\n }], null);\n})();\nconst NZ_ICONS_PATCH = new InjectionToken('nz_icons_patch');\nclass NzIconPatchService {\n constructor(extraIcons, rootIconService) {\n this.extraIcons = extraIcons;\n this.rootIconService = rootIconService;\n this.patched = false;\n }\n doPatch() {\n if (this.patched) {\n return;\n }\n this.extraIcons.forEach(iconDefinition => this.rootIconService.addIcon(iconDefinition));\n this.patched = true;\n }\n static {\n this.ɵfac = function NzIconPatchService_Factory(t) {\n return new (t || NzIconPatchService)(i0.ɵɵinject(NZ_ICONS_PATCH, 2), i0.ɵɵinject(NzIconService));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzIconPatchService,\n factory: NzIconPatchService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzIconPatchService, [{\n type: Injectable\n }], () => [{\n type: undefined,\n decorators: [{\n type: Self\n }, {\n type: Inject,\n args: [NZ_ICONS_PATCH]\n }]\n }, {\n type: NzIconService\n }], null);\n})();\nclass NzIconDirective extends IconDirective {\n set nzSpin(value) {\n this.spin = value;\n }\n set nzType(value) {\n this.type = value;\n }\n set nzTheme(value) {\n this.theme = value;\n }\n set nzTwotoneColor(value) {\n this.twoToneColor = value;\n }\n set nzIconfont(value) {\n this.iconfont = value;\n }\n constructor(ngZone, changeDetectorRef, elementRef, iconService, renderer, iconPatch) {\n super(iconService, elementRef, renderer);\n this.ngZone = ngZone;\n this.changeDetectorRef = changeDetectorRef;\n this.iconService = iconService;\n this.renderer = renderer;\n this.cacheClassName = null;\n this.nzRotate = 0;\n this.spin = false;\n this.destroy$ = new Subject();\n if (iconPatch) {\n iconPatch.doPatch();\n }\n this.el = elementRef.nativeElement;\n }\n ngOnChanges(changes) {\n const {\n nzType,\n nzTwotoneColor,\n nzSpin,\n nzTheme,\n nzRotate\n } = changes;\n if (nzType || nzTwotoneColor || nzSpin || nzTheme) {\n this.changeIcon2();\n } else if (nzRotate) {\n this.handleRotate(this.el.firstChild);\n } else {\n this._setSVGElement(this.iconService.createIconfontIcon(`#${this.iconfont}`));\n }\n }\n ngOnInit() {\n this.renderer.setAttribute(this.el, 'class', `anticon ${this.el.className}`.trim());\n }\n /**\n * If custom content is provided, try to normalize SVG elements.\n */\n ngAfterContentChecked() {\n if (!this.type) {\n const children = this.el.children;\n let length = children.length;\n if (!this.type && children.length) {\n while (length--) {\n const child = children[length];\n if (child.tagName.toLowerCase() === 'svg') {\n this.iconService.normalizeSvgElement(child);\n }\n }\n }\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n }\n /**\n * Replacement of `changeIcon` for more modifications.\n */\n changeIcon2() {\n this.setClassName();\n // The Angular zone is left deliberately before the SVG is set\n // since `_changeIcon` spawns asynchronous tasks as promise and\n // HTTP calls. This is used to reduce the number of change detections\n // while the icon is being loaded dynamically.\n this.ngZone.runOutsideAngular(() => {\n from(this._changeIcon()).pipe(takeUntil(this.destroy$)).subscribe({\n next: svgOrRemove => {\n // Get back into the Angular zone after completing all the tasks.\n // Since we manually run change detection locally, we have to re-enter\n // the zone because the change detection might also be run on other local\n // components, leading them to handle template functions outside of the Angular zone.\n this.ngZone.run(() => {\n // The _changeIcon method would call Renderer to remove the element of the old icon,\n // which would call `markElementAsRemoved` eventually,\n // so we should call `detectChanges` to tell Angular remove the DOM node.\n // #7186\n this.changeDetectorRef.detectChanges();\n if (svgOrRemove) {\n this.setSVGData(svgOrRemove);\n this.handleSpin(svgOrRemove);\n this.handleRotate(svgOrRemove);\n }\n });\n },\n error: warn\n });\n });\n }\n handleSpin(svg) {\n if (this.spin || this.type === 'loading') {\n this.renderer.addClass(svg, 'anticon-spin');\n } else {\n this.renderer.removeClass(svg, 'anticon-spin');\n }\n }\n handleRotate(svg) {\n if (this.nzRotate) {\n this.renderer.setAttribute(svg, 'style', `transform: rotate(${this.nzRotate}deg)`);\n } else {\n this.renderer.removeAttribute(svg, 'style');\n }\n }\n setClassName() {\n if (this.cacheClassName) {\n this.renderer.removeClass(this.el, this.cacheClassName);\n }\n this.cacheClassName = `anticon-${this.type}`;\n this.renderer.addClass(this.el, this.cacheClassName);\n }\n setSVGData(svg) {\n this.renderer.setAttribute(svg, 'data-icon', this.type);\n this.renderer.setAttribute(svg, 'aria-hidden', 'true');\n }\n static {\n this.ɵfac = function NzIconDirective_Factory(t) {\n return new (t || NzIconDirective)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(NzIconService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(NzIconPatchService, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzIconDirective,\n selectors: [[\"\", \"nz-icon\", \"\"]],\n hostVars: 2,\n hostBindings: function NzIconDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"anticon\", true);\n }\n },\n inputs: {\n nzSpin: \"nzSpin\",\n nzRotate: \"nzRotate\",\n nzType: \"nzType\",\n nzTheme: \"nzTheme\",\n nzTwotoneColor: \"nzTwotoneColor\",\n nzIconfont: \"nzIconfont\"\n },\n exportAs: [\"nzIcon\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n__decorate([InputBoolean()], NzIconDirective.prototype, \"nzSpin\", null);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzIconDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-icon]',\n exportAs: 'nzIcon',\n host: {\n '[class.anticon]': 'true'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.NgZone\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i0.ElementRef\n }, {\n type: NzIconService\n }, {\n type: i0.Renderer2\n }, {\n type: NzIconPatchService,\n decorators: [{\n type: Optional\n }]\n }], {\n nzSpin: [{\n type: Input\n }],\n nzRotate: [{\n type: Input\n }],\n nzType: [{\n type: Input\n }],\n nzTheme: [{\n type: Input\n }],\n nzTwotoneColor: [{\n type: Input\n }],\n nzIconfont: [{\n type: Input\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzIconModule {\n static forRoot(icons) {\n return {\n ngModule: NzIconModule,\n providers: [{\n provide: NZ_ICONS,\n useValue: icons\n }]\n };\n }\n static forChild(icons) {\n return {\n ngModule: NzIconModule,\n providers: [NzIconPatchService, {\n provide: NZ_ICONS_PATCH,\n useValue: icons\n }]\n };\n }\n static {\n this.ɵfac = function NzIconModule_Factory(t) {\n return new (t || NzIconModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzIconModule,\n imports: [NzIconDirective],\n exports: [NzIconDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzIconModule, [{\n type: NgModule,\n args: [{\n imports: [NzIconDirective],\n exports: [NzIconDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DEFAULT_TWOTONE_COLOR, NZ_ICONS, NZ_ICONS_PATCH, NZ_ICONS_USED_BY_ZORRO, NZ_ICON_DEFAULT_TWOTONE_COLOR, NzIconDirective, NzIconModule, NzIconPatchService, NzIconService };\n"], - "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAI,UAAU;AAEd,IAAI,iBAAiB;AAErB,IAAI,kBAAkB;AAEtB,IAAI,kBAAkB;AAEtB,IAAI,kBAAkB;AAEtB,IAAI,kBAAkB;AAEtB,IAAI,iBAAiB;AAGrB,IAAI,eAAe,CAAC;AAAA,EAClB,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,GAAG;AAAA,EACD,OAAO;AAAA,EACP,SAAS;AACX,CAAC;AAID,SAAS,MAAM,MAAM;AACnB,MAAI,IAAI,KAAK,GACT,IAAI,KAAK,GACT,IAAI,KAAK;AACb,MAAI,MAAM,SAAS,GAAG,GAAG,CAAC;AAC1B,SAAO;AAAA,IACL,GAAG,IAAI,IAAI;AAAA,IACX,GAAG,IAAI;AAAA,IACP,GAAG,IAAI;AAAA,EACT;AACF;AAIA,SAAS,MAAM,OAAO;AACpB,MAAI,IAAI,MAAM,GACV,IAAI,MAAM,GACV,IAAI,MAAM;AACd,SAAO,IAAI,OAAO,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC;AAC5C;AAKA,SAAS,IAAI,MAAM,MAAM,QAAQ;AAC/B,MAAI,IAAI,SAAS;AACjB,MAAI,MAAM;AAAA,IACR,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;AAAA,IAChC,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;AAAA,IAChC,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;AAAA,EAClC;AACA,SAAO;AACT;AAEA,SAAS,OAAO,KAAK,GAAG,OAAO;AAC7B,MAAI;AAEJ,MAAI,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK;AACvD,UAAM,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU;AAAA,EAChF,OAAO;AACL,UAAM,QAAQ,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU;AAAA,EAChF;AAEA,MAAI,MAAM,GAAG;AACX,WAAO;AAAA,EACT,WAAW,OAAO,KAAK;AACrB,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,cAAc,KAAK,GAAG,OAAO;AAEpC,MAAI,IAAI,MAAM,KAAK,IAAI,MAAM,GAAG;AAC9B,WAAO,IAAI;AAAA,EACb;AAEA,MAAI;AAEJ,MAAI,OAAO;AACT,iBAAa,IAAI,IAAI,iBAAiB;AAAA,EACxC,WAAW,MAAM,gBAAgB;AAC/B,iBAAa,IAAI,IAAI;AAAA,EACvB,OAAO;AACL,iBAAa,IAAI,IAAI,kBAAkB;AAAA,EACzC;AAGA,MAAI,aAAa,GAAG;AAClB,iBAAa;AAAA,EACf;AAGA,MAAI,SAAS,MAAM,mBAAmB,aAAa,KAAK;AACtD,iBAAa;AAAA,EACf;AAEA,MAAI,aAAa,MAAM;AACrB,iBAAa;AAAA,EACf;AAEA,SAAO,OAAO,WAAW,QAAQ,CAAC,CAAC;AACrC;AAEA,SAAS,SAAS,KAAK,GAAG,OAAO;AAC/B,MAAI;AAEJ,MAAI,OAAO;AACT,YAAQ,IAAI,IAAI,kBAAkB;AAAA,EACpC,OAAO;AACL,YAAQ,IAAI,IAAI,kBAAkB;AAAA,EACpC;AAEA,MAAI,QAAQ,GAAG;AACb,YAAQ;AAAA,EACV;AAEA,SAAO,OAAO,MAAM,QAAQ,CAAC,CAAC;AAChC;AAEe,SAAR,SAA0B,OAAO;AACtC,MAAI,OAAO,UAAU,SAAS,KAAK,UAAU,CAAC,MAAM,SAAY,UAAU,CAAC,IAAI,CAAC;AAChF,MAAI,WAAW,CAAC;AAChB,MAAI,SAAS,WAAW,KAAK;AAE7B,WAAS,IAAI,iBAAiB,IAAI,GAAG,KAAK,GAAG;AAC3C,QAAI,MAAM,MAAM,MAAM;AACtB,QAAI,cAAc,MAAM,WAAW;AAAA,MACjC,GAAG,OAAO,KAAK,GAAG,IAAI;AAAA,MACtB,GAAG,cAAc,KAAK,GAAG,IAAI;AAAA,MAC7B,GAAG,SAAS,KAAK,GAAG,IAAI;AAAA,IAC1B,CAAC,CAAC;AACF,aAAS,KAAK,WAAW;AAAA,EAC3B;AAEA,WAAS,KAAK,MAAM,MAAM,CAAC;AAE3B,WAAS,KAAK,GAAG,MAAM,gBAAgB,MAAM,GAAG;AAC9C,QAAI,OAAO,MAAM,MAAM;AAEvB,QAAI,eAAe,MAAM,WAAW;AAAA,MAClC,GAAG,OAAO,MAAM,EAAE;AAAA,MAClB,GAAG,cAAc,MAAM,EAAE;AAAA,MACzB,GAAG,SAAS,MAAM,EAAE;AAAA,IACtB,CAAC,CAAC;AAEF,aAAS,KAAK,YAAY;AAAA,EAC5B;AAGA,MAAI,KAAK,UAAU,QAAQ;AACzB,WAAO,aAAa,IAAI,SAAU,OAAO;AACvC,UAAI,QAAQ,MAAM,OACd,UAAU,MAAM;AACpB,UAAI,kBAAkB,MAAM,IAAI,WAAW,KAAK,mBAAmB,SAAS,GAAG,WAAW,SAAS,KAAK,CAAC,GAAG,UAAU,GAAG,CAAC;AAC1H,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,SAAO;AACT;;;AC9LA,IAAI,sBAAsB;AAAA,EACxB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AACR;AACA,IAAI,iBAAiB,CAAC;AACtB,IAAI,qBAAqB,CAAC;AAC1B,OAAO,KAAK,mBAAmB,EAAE,QAAQ,SAAU,KAAK;AACtD,iBAAe,GAAG,IAAI,SAAS,oBAAoB,GAAG,CAAC;AACvD,iBAAe,GAAG,EAAE,UAAU,eAAe,GAAG,EAAE,CAAC;AAEnD,qBAAmB,GAAG,IAAI,SAAS,oBAAoB,GAAG,GAAG;AAAA,IAC3D,OAAO;AAAA,IACP,iBAAiB;AAAA,EACnB,CAAC;AACD,qBAAmB,GAAG,EAAE,UAAU,mBAAmB,GAAG,EAAE,CAAC;AAC7D,CAAC;AACD,IAAI,MAAM,eAAe;AACzB,IAAI,UAAU,eAAe;AAC7B,IAAI,OAAO,eAAe;AAC1B,IAAI,SAAS,eAAe;AAC5B,IAAI,SAAS,eAAe;AAC5B,IAAI,OAAO,eAAe;AAC1B,IAAI,QAAQ,eAAe;AAC3B,IAAI,OAAO,eAAe;AAC1B,IAAI,OAAO,eAAe;AAC1B,IAAI,WAAW,eAAe;AAC9B,IAAI,SAAS,eAAe;AAC5B,IAAI,UAAU,eAAe;AAC7B,IAAI,OAAO,eAAe;AAC1B,IAAI,OAAO,eAAe;;;AChC1B,IAAM,kCAAkC;AACxC,SAAS,MAAM,SAAS;AACtB,UAAQ,MAAM,GAAG,+BAA+B,IAAI,OAAO,GAAG;AAChE;AACA,SAASA,MAAK,SAAS;AACrB,MAAI,UAAU,GAAG;AACf,YAAQ,KAAK,GAAG,+BAA+B,IAAI,OAAO,GAAG;AAAA,EAC/D;AACF;AACA,SAAS,kBAAkB,cAAc;AACvC,SAAO,SAAS,YAAY,EAAE,CAAC;AACjC;AACA,SAAS,WAAWC,OAAM,OAAO;AAC/B,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,GAAGA,KAAI;AAAA,IAChB,KAAK;AACH,aAAO,GAAGA,KAAI;AAAA,IAChB,KAAK;AACH,aAAO,GAAGA,KAAI;AAAA,IAChB,KAAK;AACH,aAAOA;AAAA,IACT;AACE,YAAM,IAAI,MAAM,GAAG,+BAA+B,UAAU,KAAK,8BAA8B;AAAA,EACnG;AACF;AACA,SAAS,mBAAmBA,OAAM,OAAO,KAAK,KAAK;AACjD,SAAO,GAAG,WAAWA,OAAM,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG;AACjD;AACA,SAAS,eAAe,MAAM;AAC5B,SAAO,SAAS,MAAM,YAAY;AACpC;AACA,SAAS,uBAAuBA,OAAM;AACpC,SAAOA,MAAK,SAAS,OAAO,KAAKA,MAAK,SAAS,IAAI,KAAKA,MAAK,SAAS,UAAU;AAClF;AACA,SAAS,iBAAiB,QAAQ;AAChC,SAAO,OAAO,WAAW,YAAY,OAAO,OAAO,SAAS,aAAa,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU,WAAc,OAAO,OAAO,SAAS;AACrK;AAKA,SAAS,0BAA0B,KAAK;AACtC,QAAM,MAAM,IAAI,MAAM,GAAG;AACzB,QAAM,QAAQ,eAAe,IAAI,OAAO,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7D,QAAMA,QAAO,IAAI,KAAK,GAAG;AACzB,SAAO;AAAA,IACL,MAAAA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR;AACF;AACA,SAAS,SAAS,KAAK;AACrB,SAAO,IAAI,UAAU,IAAI;AAC3B;AAIA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,IAAI,QAAQ,iBAAiB,gBAAgB,EAAE,QAAQ,oBAAoB,kBAAkB,EAAE,QAAQ,oBAAoB,kBAAkB,EAAE,QAAQ,oBAAoB,kBAAkB;AACtM;AAIA,SAAS,oBAAoB,MAAM;AACjC,QAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,UAAQ,MAAM,QAAQ;AAAA,IACpB,KAAK;AACH,aAAO,CAAC,MAAM,EAAE;AAAA,IAClB,KAAK;AACH,aAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,IAC5B;AACE,YAAM,IAAI,MAAM,GAAG,+BAA+B,iBAAiB,IAAI,gBAAgB;AAAA,EAC3F;AACF;AACA,SAAS,aAAa,MAAM;AAC1B,SAAO,oBAAoB,IAAI,EAAE,CAAC,MAAM;AAC1C;AACA,SAAS,6BAA6B;AACpC,SAAO,IAAI,MAAM,GAAG,+BAA+B,gDAAgD,IAAI,IAAI;AAC7G;AACA,SAAS,kBAAkB,MAAM;AAC/B,SAAO,IAAI,MAAM,GAAG,+BAA+B,YAAY,IAAI,uCAAuC;AAC5G;AACA,SAAS,sBAAsB;AAC7B,QAAM,iEAAiE;AACvE,SAAO;AACT;AACA,SAAS,gBAAgB,KAAK;AAC5B,SAAO,IAAI,MAAM,GAAG,+BAA+B,YAAY,GAAG,cAAc;AAClF;AACA,SAAS,sBAAsB;AAC7B,SAAO,IAAI,MAAM,GAAG,+BAA+B,sBAAsB;AAC3E;AACA,SAAS,6BAA6B;AACpC,SAAO,IAAI,MAAM,GAAG,+BAA+B,0BAA0B;AAC/E;AACA,IAAM,qBAAqB;AAC3B,IAAM,YAAY,IAAI,eAAe,WAAW;AAChD,IAAM,eAAN,MAAM,aAAY;AAAA,EAChB,IAAI,aAAa;AAAA,IACf;AAAA,IACA;AAAA,EACF,GAAG;AACD,SAAK,qBAAqB,eAAe;AACzC,SAAK,qBAAqB,iBAAiB,kBAAkB,kBAAkB,YAAY;AAAA,EAC7F;AAAA,EACA,IAAI,eAAe;AAEjB,WAAO,mBACF,KAAK;AAAA,EAEZ;AAAA;AAAA;AAAA;AAAA,EAIA,IAAI,yBAAyB;AAC3B,WAAO;AAAA,EACT;AAAA,EACA,YAAY,kBAAkB,UAAU,WAAW,WAAW,WAAW;AACvE,SAAK,mBAAmB;AACxB,SAAK,WAAW;AAChB,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,YAAY;AACjB,SAAK,eAAe;AAIpB,SAAK,kBAAkB,oBAAI,IAAI;AAK/B,SAAK,0BAA0B,oBAAI,IAAI;AACvC,SAAK,qBAAqB,oBAAI,IAAI;AAIlC,SAAK,iBAAiB;AACtB,SAAK,uBAAuB;AAAA,MAC1B,cAAc;AAAA,MACd,gBAAgB;AAAA,IAClB;AAEA,SAAK,sBAAsB;AAC3B,SAAK,kBAAkB,IAAI,QAAQ;AACnC,SAAK,YAAY,KAAK,iBAAiB,eAAe,MAAM,IAAI;AAChE,QAAI,KAAK,UAAU;AACjB,WAAK,QAAQ,IAAI,WAAW,KAAK,QAAQ;AAAA,IAC3C;AACA,QAAI,KAAK,WAAW;AAClB,WAAK,QAAQ,GAAG,KAAK,SAAS;AAAA,IAChC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,kBAAkB;AAChB,QAAI,CAAC,KAAK,qBAAqB;AAC7B,WAAK,sBAAsB;AAC3B,aAAO,kBAAkB,IAAI,UAAQ;AACnC,aAAK,gBAAgB,KAAK,IAAI;AAAA,MAChC;AAAA,IACF,OAAO;AACL,MAAAD,MAAK,sCAAsC;AAAA,IAC7C;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB,QAAQ;AACzB,SAAK,iBAAiB,OAAO,SAAS,GAAG,IAAI,SAAS,SAAS;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,OAAO;AAChB,UAAM,QAAQ,UAAQ;AACpB,WAAK,gBAAgB,IAAI,WAAW,KAAK,MAAM,KAAK,KAAK,GAAG,IAAI;AAAA,IAClE,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe,MAAM,SAAS;AAC5B,UAAM,CAAC,GAAG,SAAS,IAAI,oBAAoB,IAAI;AAC/C,QAAI,CAAC,WAAW;AACd,YAAM,2BAA2B;AAAA,IACnC;AACA,SAAK,QAAQ;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAIA,QAAQ;AACN,SAAK,gBAAgB,MAAM;AAC3B,SAAK,wBAAwB,MAAM;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,mBAAmB,MAAM,cAAc;AAErC,UAAM,aAAa,iBAAiB,IAAI,IAAI,OAAO,KAAK,gBAAgB,IAAI,IAAI,KAAK;AACrF,QAAI,CAAC,cAAc,KAAK,wBAAwB;AAC9C,YAAM,kBAAkB,IAAI;AAAA,IAC9B;AAGA,UAAM,kBAAkB,aAAa,GAAG,UAAU,IAAI,KAAK,qBAAqB,IAAI;AAEpF,WAAO,gBAAgB,KAAK,IAAI,OAAK;AACnC,UAAI,CAAC,GAAG;AACN,cAAM,kBAAkB,IAAI;AAAA,MAC9B;AACA,aAAO,KAAK,6BAA6B,GAAG,YAAY;AAAA,IAC1D,CAAC,CAAC;AAAA,EACJ;AAAA,EACA,iBAAiB;AACf,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB,MAAM;AAEzB,QAAI,CAAC,KAAK,SAAS,CAAC,KAAK,qBAAqB;AAC5C,aAAO,GAAG,oBAAoB,CAAC;AAAA,IACjC;AAGA,QAAI,aAAa,KAAK,mBAAmB,IAAI,IAAI;AACjD,QAAI,CAAC,YAAY;AACf,YAAM,CAACC,OAAM,SAAS,IAAI,oBAAoB,IAAI;AAElD,YAAM,OAAO,YAAY;AAAA,QACvB,MAAM;AAAA,QACN,MAAM;AAAA,MACR,IAAI,0BAA0BA,KAAI;AAClC,YAAM,SAAS,KAAK,sBAAsB,QAAQ;AAClD,YAAM,OAAO,YAAY,GAAG,KAAK,cAAc,UAAU,SAAS,IAAIA,KAAI,KAAK,GAAG,KAAK,cAAc,UAAU,KAAK,KAAK,IAAI,KAAK,IAAI,MAAM;AAC5I,YAAM,UAAU,KAAK,UAAU,SAAS,gBAAgB,KAAK,GAAG;AAChE,UAAI,CAAC,SAAS;AACZ,cAAM,gBAAgB,GAAG;AAAA,MAC3B;AACA,YAAM,SAAS,CAAC,KAAK,sBAAsB,KAAK,MAAM,IAAI,SAAS;AAAA,QACjE,cAAc;AAAA,MAChB,CAAC,EAAE,KAAK,IAAI,aAAY,iCACnB,OADmB;AAAA,QAEtB,MAAM;AAAA,MACR,EAAE,CAAC,IAAI,KAAK,8BAA8B,MAAM,OAAO;AACvD,mBAAa,OAAO,KAAK,IAAI,gBAAc,KAAK,QAAQ,UAAU,CAAC,GAAG,SAAS,MAAM,KAAK,mBAAmB,OAAO,IAAI,CAAC,GAAG,WAAW,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;AAC/J,WAAK,mBAAmB,IAAI,MAAM,UAAU;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA,EACA,8BAA8B,MAAM,KAAK;AACvC,WAAO,IAAI,WAAW,gBAAc;AAClC,YAAM,SAAS,KAAK,UAAU,cAAc,QAAQ;AACpD,YAAM,QAAQ,WAAW,MAAM;AAC7B,cAAM;AACN,mBAAW,MAAM,2BAA2B,CAAC;AAAA,MAC/C,GAAG,GAAI;AACP,aAAO,MAAM;AACb,eAAS,QAAQ;AACf,eAAO,WAAW,YAAY,MAAM;AACpC,qBAAa,KAAK;AAAA,MACpB;AACA,WAAK,UAAU,KAAK,YAAY,MAAM;AACtC,WAAK,gBAAgB,KAAK,OAAO,OAAK,EAAE,SAAS,KAAK,QAAQ,EAAE,UAAU,KAAK,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,UAAU,OAAK;AAC7G,mBAAW,KAAK,CAAC;AACjB,cAAM;AAAA,MACR,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,6BAA6B,MAAM,cAAc;AAC/C,QAAI;AACJ,UAAM,MAAM,gBAAgB,KAAK,qBAAqB;AACtD,UAAM,MAAM,kBAAkB,GAAG,KAAK,KAAK,qBAAqB;AAChE,UAAM,MAAM,KAAK,UAAU,YAAY,mBAAmB,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,UAAU,SAAY,KAAK,OAAO,WAAW,KAAK,MAAM,KAAK,KAAK;AAEpK,UAAM,SAAS,KAAK,wBAAwB,IAAI,GAAG;AACnD,QAAI,QAAQ;AACV,YAAM,OAAO;AAAA,IACf,OAAO;AACL,YAAM,KAAK,iBAAiB,KAAK;AAAA;AAAA,QAEjC,KAAK,4BAA4B,aAAa,KAAK,IAAI,IAAI,KAAK,OAAO,iBAAiB,KAAK,IAAI,CAAC;AAAA,QAAG,KAAK,UAAU;AAAA,QAAW;AAAA,QAAK;AAAA,MAAG,CAAC;AAExI,WAAK,wBAAwB,IAAI,KAAK,iCACjC,OADiC;AAAA,QAEpC,MAAM;AAAA,MACR,EAAC;AAAA,IACH;AACA,WAAO,SAAS,GAAG;AAAA,EACrB;AAAA,EACA,4BAA4B,KAAK;AAC/B,UAAM,MAAM,KAAK,UAAU,cAAc,KAAK;AAC9C,QAAI,YAAY;AAChB,UAAM,MAAM,IAAI,cAAc,KAAK;AACnC,QAAI,CAAC,KAAK;AACR,YAAM;AAAA,IACR;AACA,WAAO;AAAA,EACT;AAAA,EACA,iBAAiB,KAAK;AACpB,SAAK,UAAU,aAAa,KAAK,SAAS,KAAK;AAC/C,SAAK,UAAU,aAAa,KAAK,UAAU,KAAK;AAChD,WAAO;AAAA,EACT;AAAA,EACA,iBAAiB,KAAK,SAAS,KAAK,KAAK;AACvC,QAAI,SAAS;AACX,YAAM,WAAW,IAAI;AACrB,YAAM,SAAS,SAAS;AACxB,eAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,cAAM,QAAQ,SAAS,CAAC;AACxB,YAAI,MAAM,aAAa,MAAM,MAAM,kBAAkB;AACnD,eAAK,UAAU,aAAa,OAAO,QAAQ,GAAG;AAAA,QAChD,OAAO;AACL,eAAK,UAAU,aAAa,OAAO,QAAQ,GAAG;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AACA,SAAK,UAAU,aAAa,KAAK,QAAQ,cAAc;AACvD,WAAO;AAAA,EACT;AAYF;AAVI,aAAK,OAAO,SAAS,oBAAoB,GAAG;AAC1C,SAAO,KAAK,KAAK,cAAgB,SAAY,gBAAgB,GAAM,SAAY,aAAa,CAAC,GAAM,SAAS,UAAU,CAAC,GAAM,SAAY,YAAY,GAAM,SAAS,WAAW,CAAC,CAAC;AACnL;AAGA,aAAK,QAA0B,mBAAmB;AAAA,EAChD,OAAO;AAAA,EACP,SAAS,aAAY;AACvB,CAAC;AA5PL,IAAM,cAAN;AAAA,CA+PC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,IACT,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,SAAS;AAAA,IAClB,CAAC;AAAA,EACH,CAAC,GAAG,IAAI;AACV,GAAG;AACH,SAAS,UAAU,MAAM,OAAO;AAC9B,SAAO,KAAK,SAAS,MAAM,QAAQ,KAAK,UAAU,MAAM,SAAS,KAAK,iBAAiB,MAAM;AAC/F;AACA,IAAM,iBAAN,MAAM,eAAc;AAAA,EAClB,YAAY,cAAc,aAAa,WAAW;AAChD,SAAK,eAAe;AACpB,SAAK,cAAc;AACnB,SAAK,YAAY;AAAA,EACnB;AAAA,EACA,YAAY,SAAS;AACnB,QAAI,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,cAAc;AACzD,WAAK,YAAY;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,cAAc;AACZ,WAAO,IAAI,QAAQ,aAAW;AAC5B,UAAI,CAAC,KAAK,MAAM;AACd,aAAK,iBAAiB;AACtB,gBAAQ,IAAI;AACZ;AAAA,MACF;AACA,YAAM,aAAa,KAAK,mBAAmB;AAC3C,WAAK,aAAa,mBAAmB,KAAK,eAAe,KAAK,MAAM,KAAK,KAAK,GAAG,KAAK,YAAY,EAAE,UAAU,SAAO;AAGnH,cAAM,YAAY,KAAK,mBAAmB;AAC1C,YAAI,UAAU,YAAY,SAAS,GAAG;AACpC,eAAK,eAAe,GAAG;AACvB,kBAAQ,GAAG;AAAA,QACb,OAAO;AACL,kBAAQ,IAAI;AAAA,QACd;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,qBAAqB;AACnB,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MACZ,cAAc,KAAK;AAAA,IACrB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,eAAe,MAAM,OAAO;AAC1B,QAAI,iBAAiB,IAAI,GAAG;AAC1B,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAACA,OAAM,SAAS,IAAI,oBAAoB,IAAI;AAClD,UAAI,WAAW;AACb,eAAO;AAAA,MACT;AACA,UAAI,uBAAuBA,KAAI,GAAG;AAChC,YAAI,CAAC,CAAC,OAAO;AACX,UAAAD,MAAK,UAAUC,KAAI,2CAA2C,KAAK,mBAAmB;AAAA,QACxF;AACA,eAAOA;AAAA,MACT,OAAO;AACL,eAAO,WAAWA,OAAM,SAAS,KAAK,aAAa,YAAY;AAAA,MACjE;AAAA,IACF;AAAA,EACF;AAAA,EACA,eAAe,KAAK;AAClB,SAAK,iBAAiB;AACtB,SAAK,UAAU,YAAY,KAAK,YAAY,eAAe,GAAG;AAAA,EAChE;AAAA,EACA,mBAAmB;AACjB,UAAM,KAAK,KAAK,YAAY;AAC5B,UAAM,WAAW,GAAG;AACpB,UAAM,SAAS,SAAS;AACxB,aAAS,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;AACpC,YAAM,QAAQ,SAAS,CAAC;AACxB,UAAI,MAAM,SAAS,YAAY,MAAM,OAAO;AAC1C,aAAK,UAAU,YAAY,IAAI,KAAK;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAkBF;AAhBI,eAAK,OAAO,SAAS,sBAAsB,GAAG;AAC5C,SAAO,KAAK,KAAK,gBAAkB,kBAAkB,WAAW,GAAM,kBAAqB,UAAU,GAAM,kBAAqB,SAAS,CAAC;AAC5I;AAGA,eAAK,OAAyB,kBAAkB;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;AAAA,EAC/B,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,cAAc;AAAA,EAChB;AAAA,EACA,UAAU,CAAI,oBAAoB;AACpC,CAAC;AAjGL,IAAM,gBAAN;AAAA,CAoGC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,IACZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,cAAN,MAAM,YAAW;AAkBjB;AAhBI,YAAK,OAAO,SAAS,mBAAmB,GAAG;AACzC,SAAO,KAAK,KAAK,aAAY;AAC/B;AAGA,YAAK,OAAyB,iBAAiB;AAAA,EAC7C,MAAM;AAAA,EACN,cAAc,CAAC,aAAa;AAAA,EAC5B,SAAS,CAAC,aAAa;AACzB,CAAC;AAGD,YAAK,OAAyB,iBAAiB;AAAA,EAC7C,WAAW,CAAC,WAAW;AACzB,CAAC;AAhBL,IAAM,aAAN;AAAA,CAmBC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,YAAY,CAAC;AAAA,IACnF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,aAAa;AAAA,MACvB,cAAc,CAAC,aAAa;AAAA,MAC5B,WAAW,CAAC,WAAW;AAAA,IACzB,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AChUH,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAwSA,IAAM,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAEA,IAAM,gBAAgB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA0BA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA0BA,IAAM,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAEA,IAAM,qBAAqB;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAcA,IAAM,eAAe;AAAA,EACjB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAgCA,IAAM,mBAAmB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAgCA,IAAM,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAQA,IAAM,qBAAqB;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAEA,IAAM,qBAAqB;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA4CA,IAAM,eAAe;AAAA,EACjB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA0KA,IAAM,iBAAiB;AAAA,EACnB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAsFA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoEA,IAAM,gBAAgB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoKA,IAAM,oBAAoB;AAAA,EACtB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA4CA,IAAM,qBAAqB;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAQA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoEA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAEA,IAAM,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA4FA,IAAM,2BAA2B;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA0BA,IAAM,wBAAwB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAkJA,IAAM,WAAW;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAkMA,IAAM,aAAa;AAAA,EACf,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAwhBA,IAAM,oBAAoB;AAAA,EACtB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAsCA,IAAM,iBAAiB;AAAA,EACnB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA4FA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA4CA,IAAM,cAAc;AAAA,EAChB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoHA,IAAM,iBAAiB;AAAA,EACnB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAkDA,IAAM,aAAa;AAAA,EACf,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAwMA,IAAM,mBAAmB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoWA,IAAM,wBAAwB;AAAA,EAC1B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA8JA,IAAM,eAAe;AAAA,EACjB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoEA,IAAM,oBAAoB;AAAA,EACtB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAsCA,IAAM,qBAAqB;AAAA,EACvB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA8GA,IAAM,gBAAgB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAkPA,IAAM,WAAW;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA8GA,IAAM,mBAAmB;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AA8SA,IAAM,gBAAgB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAEA,IAAM,YAAY;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAwDA,IAAM,0BAA0B;AAAA,EAC5B,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAgOA,IAAM,gBAAgB;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;AAoBA,IAAM,iBAAiB;AAAA,EACnB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACV;;;ACvlJA,IAAM,yBAAyB,CAAC,aAAa,iBAAiB,aAAa,gBAAgB,eAAe,kBAAkB,iBAAiB,oBAAoB,cAAc,oBAAoB,oBAAoB,iBAAiB,cAAc,aAAa,eAAe,mBAAmB,oBAAoB,aAAa,aAAa,iBAAiB,uBAAuB,0BAA0B,YAAY,UAAU,aAAa,YAAY,gBAAgB,mBAAmB,aAAa,gBAAgB,kBAAkB,uBAAuB,cAAc,oBAAoB,mBAAmB,UAAU,eAAe,UAAU,eAAe,yBAAyB,WAAW,kBAAkB,eAAe,cAAc;AACvuB,IAAM,WAAW,IAAI,eAAe,UAAU;AAC9C,IAAM,gCAAgC,IAAI,eAAe,+BAA+B;AACxF,IAAM,wBAAwB;AAI9B,IAAM,iBAAN,MAAM,uBAAsB,YAAY;AAAA,EACtC,IAAI,yBAAyB;AAC3B,WAAO,CAAC,KAAK,SAAS;AAAA,EACxB;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAC9B,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EACA,oBAAoB,KAAK;AACvB,QAAI,CAAC,IAAI,aAAa,SAAS,GAAG;AAChC,WAAK,UAAU,aAAa,KAAK,WAAW,eAAe;AAAA,IAC7D;AACA,QAAI,CAAC,IAAI,aAAa,OAAO,KAAK,CAAC,IAAI,aAAa,QAAQ,GAAG;AAC7D,WAAK,UAAU,aAAa,KAAK,SAAS,KAAK;AAC/C,WAAK,UAAU,aAAa,KAAK,UAAU,KAAK;AAAA,IAClD;AACA,QAAI,CAAC,IAAI,aAAa,MAAM,GAAG;AAC7B,WAAK,UAAU,aAAa,KAAK,QAAQ,cAAc;AAAA,IACzD;AAAA,EACF;AAAA,EACA,kBAAkB,KAAK;AACrB,UAAM;AAAA,MACJ;AAAA,IACF,IAAI;AACJ,QAAI,KAAK,aAAa,CAAC,KAAK,cAAc,IAAI,SAAS,GAAG;AACxD,YAAM,SAAS,KAAK,UAAU,cAAc,QAAQ;AACpD,WAAK,UAAU,aAAa,QAAQ,OAAO,SAAS;AACpD,WAAK,UAAU,aAAa,QAAQ,kBAAkB,UAAU,QAAQ,oBAAoB,EAAE,CAAC;AAC/F,WAAK,UAAU,YAAY,KAAK,UAAU,MAAM,MAAM;AACtD,WAAK,cAAc,IAAI,SAAS;AAAA,IAClC;AAAA,EACF;AAAA,EACA,mBAAmB,MAAM;AACvB,WAAO,KAAK,4BAA4B,yBAAyB,IAAI,UAAU;AAAA,EACjF;AAAA,EACA,YAAY,iBAAiB,WAAW,iBAAiB,UAAU,SAAS,WAAW,OAAO;AAC5F,UAAM,iBAAiB,SAAS,WAAW,WAAW,CAAC,GAAG,wBAAwB,GAAI,SAAS,CAAC,CAAE,CAAC;AACnG,SAAK,kBAAkB;AACvB,SAAK,WAAW;AAChB,SAAK,iBAAiB,IAAI,QAAQ;AAClC,SAAK,gBAAgB,oBAAI,IAAI;AAC7B,SAAK,eAAe;AACpB,SAAK,eAAe;AACpB,SAAK,0BAA0B;AAC/B,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EACA,iBAAiB;AACf,SAAK,eAAe,KAAK,gBAAgB,iCAAiC,MAAM,EAAE,UAAU,MAAM;AAChG,WAAK,0BAA0B;AAC/B,WAAK,mBAAmB;AACxB,WAAK,eAAe,KAAK;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EACA,qBAAqB;AACnB,UAAM,aAAa,KAAK,UAAU;AAClC,SAAK,eAAe,WAAW,WAAW;AAAA,EAC5C;AAAA,EACA,4BAA4B;AAC1B,UAAM,aAAa,KAAK,UAAU;AAClC,UAAM,sBAAsB,WAAW,kBAAkB;AACzD,QAAI,eAAe;AACnB,QAAI,qBAAqB;AACvB,UAAI,oBAAoB,WAAW,GAAG,GAAG;AACvC,uBAAe;AAAA,MACjB,OAAO;AACL,aAAK,oCAAoC;AAAA,MAC3C;AAAA,IACF;AACA,SAAK,eAAe;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EACA,YAAY;AACV,WAAO,KAAK,gBAAgB,sBAAsB,MAAM,KAAK,CAAC;AAAA,EAChE;AAaF;AAXI,eAAK,OAAO,SAAS,sBAAsB,GAAG;AAC5C,SAAO,KAAK,KAAK,gBAAkB,SAAY,gBAAgB,GAAM,SAAY,YAAY,GAAM,SAAY,eAAe,GAAM,SAAY,QAAQ,GAAM,SAAY,aAAa,CAAC,GAAM,SAAS,UAAU,CAAC,GAAM,SAAS,UAAU,CAAC,CAAC;AAC/O;AAGA,eAAK,QAA0B,mBAAmB;AAAA,EAChD,OAAO;AAAA,EACP,SAAS,eAAc;AAAA,EACvB,YAAY;AACd,CAAC;AAvFL,IAAM,gBAAN;AAAA,CA0FC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,IACT,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,CAAC,GAAG,IAAI;AACV,GAAG;AACH,IAAM,iBAAiB,IAAI,eAAe,gBAAgB;AAC1D,IAAM,sBAAN,MAAM,oBAAmB;AAAA,EACvB,YAAY,YAAY,iBAAiB;AACvC,SAAK,aAAa;AAClB,SAAK,kBAAkB;AACvB,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,UAAU;AACR,QAAI,KAAK,SAAS;AAChB;AAAA,IACF;AACA,SAAK,WAAW,QAAQ,oBAAkB,KAAK,gBAAgB,QAAQ,cAAc,CAAC;AACtF,SAAK,UAAU;AAAA,EACjB;AAYF;AAVI,oBAAK,OAAO,SAAS,2BAA2B,GAAG;AACjD,SAAO,KAAK,KAAK,qBAAuB,SAAS,gBAAgB,CAAC,GAAM,SAAS,aAAa,CAAC;AACjG;AAGA,oBAAK,QAA0B,mBAAmB;AAAA,EAChD,OAAO;AAAA,EACP,SAAS,oBAAmB;AAC9B,CAAC;AAtBL,IAAM,qBAAN;AAAA,CAyBC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,oBAAoB,CAAC;AAAA,IAC3F,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,GAAG;AAAA,MACD,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,EACR,CAAC,GAAG,IAAI;AACV,GAAG;AACH,IAAM,mBAAN,MAAM,yBAAwB,cAAc;AAAA,EAC1C,IAAI,OAAO,OAAO;AAChB,SAAK,OAAO;AAAA,EACd;AAAA,EACA,IAAI,OAAO,OAAO;AAChB,SAAK,OAAO;AAAA,EACd;AAAA,EACA,IAAI,QAAQ,OAAO;AACjB,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,IAAI,eAAe,OAAO;AACxB,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,IAAI,WAAW,OAAO;AACpB,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,YAAY,QAAQ,mBAAmB,YAAY,aAAa,UAAU,WAAW;AACnF,UAAM,aAAa,YAAY,QAAQ;AACvC,SAAK,SAAS;AACd,SAAK,oBAAoB;AACzB,SAAK,cAAc;AACnB,SAAK,WAAW;AAChB,SAAK,iBAAiB;AACtB,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,WAAW,IAAI,QAAQ;AAC5B,QAAI,WAAW;AACb,gBAAU,QAAQ;AAAA,IACpB;AACA,SAAK,KAAK,WAAW;AAAA,EACvB;AAAA,EACA,YAAY,SAAS;AACnB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,QAAI,UAAU,kBAAkB,UAAU,SAAS;AACjD,WAAK,YAAY;AAAA,IACnB,WAAW,UAAU;AACnB,WAAK,aAAa,KAAK,GAAG,UAAU;AAAA,IACtC,OAAO;AACL,WAAK,eAAe,KAAK,YAAY,mBAAmB,IAAI,KAAK,QAAQ,EAAE,CAAC;AAAA,IAC9E;AAAA,EACF;AAAA,EACA,WAAW;AACT,SAAK,SAAS,aAAa,KAAK,IAAI,SAAS,WAAW,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AAAA,EACpF;AAAA;AAAA;AAAA;AAAA,EAIA,wBAAwB;AACtB,QAAI,CAAC,KAAK,MAAM;AACd,YAAM,WAAW,KAAK,GAAG;AACzB,UAAI,SAAS,SAAS;AACtB,UAAI,CAAC,KAAK,QAAQ,SAAS,QAAQ;AACjC,eAAO,UAAU;AACf,gBAAM,QAAQ,SAAS,MAAM;AAC7B,cAAI,MAAM,QAAQ,YAAY,MAAM,OAAO;AACzC,iBAAK,YAAY,oBAAoB,KAAK;AAAA,UAC5C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AACZ,SAAK,SAAS,KAAK;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAIA,cAAc;AACZ,SAAK,aAAa;AAKlB,SAAK,OAAO,kBAAkB,MAAM;AAClC,WAAK,KAAK,YAAY,CAAC,EAAE,KAAK,UAAU,KAAK,QAAQ,CAAC,EAAE,UAAU;AAAA,QAChE,MAAM,iBAAe;AAKnB,eAAK,OAAO,IAAI,MAAM;AAKpB,iBAAK,kBAAkB,cAAc;AACrC,gBAAI,aAAa;AACf,mBAAK,WAAW,WAAW;AAC3B,mBAAK,WAAW,WAAW;AAC3B,mBAAK,aAAa,WAAW;AAAA,YAC/B;AAAA,UACF,CAAC;AAAA,QACH;AAAA,QACA,OAAO;AAAA,MACT,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,WAAW,KAAK;AACd,QAAI,KAAK,QAAQ,KAAK,SAAS,WAAW;AACxC,WAAK,SAAS,SAAS,KAAK,cAAc;AAAA,IAC5C,OAAO;AACL,WAAK,SAAS,YAAY,KAAK,cAAc;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,aAAa,KAAK;AAChB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,aAAa,KAAK,SAAS,qBAAqB,KAAK,QAAQ,MAAM;AAAA,IACnF,OAAO;AACL,WAAK,SAAS,gBAAgB,KAAK,OAAO;AAAA,IAC5C;AAAA,EACF;AAAA,EACA,eAAe;AACb,QAAI,KAAK,gBAAgB;AACvB,WAAK,SAAS,YAAY,KAAK,IAAI,KAAK,cAAc;AAAA,IACxD;AACA,SAAK,iBAAiB,WAAW,KAAK,IAAI;AAC1C,SAAK,SAAS,SAAS,KAAK,IAAI,KAAK,cAAc;AAAA,EACrD;AAAA,EACA,WAAW,KAAK;AACd,SAAK,SAAS,aAAa,KAAK,aAAa,KAAK,IAAI;AACtD,SAAK,SAAS,aAAa,KAAK,eAAe,MAAM;AAAA,EACvD;AA6BF;AA3BI,iBAAK,OAAO,SAAS,wBAAwB,GAAG;AAC9C,SAAO,KAAK,KAAK,kBAAoB,kBAAqB,MAAM,GAAM,kBAAqB,iBAAiB,GAAM,kBAAqB,UAAU,GAAM,kBAAkB,aAAa,GAAM,kBAAqB,SAAS,GAAM,kBAAkB,oBAAoB,CAAC,CAAC;AAC1Q;AAGA,iBAAK,OAAyB,kBAAkB;AAAA,EAC9C,MAAM;AAAA,EACN,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;AAAA,EAC/B,UAAU;AAAA,EACV,cAAc,SAAS,6BAA6B,IAAI,KAAK;AAC3D,QAAI,KAAK,GAAG;AACV,MAAG,YAAY,WAAW,IAAI;AAAA,IAChC;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,EACd;AAAA,EACA,UAAU,CAAC,QAAQ;AAAA,EACnB,YAAY;AAAA,EACZ,UAAU,CAAI,4BAA+B,oBAAoB;AACnE,CAAC;AA1JL,IAAM,kBAAN;AA6JA,WAAW,CAAC,aAAa,CAAC,GAAG,gBAAgB,WAAW,UAAU,IAAI;AAAA,CACrE,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,iBAAiB,CAAC;AAAA,IACxF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,QACJ,mBAAmB;AAAA,MACrB;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC,GAAG;AAAA,IACF,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AAMH,IAAM,gBAAN,MAAM,cAAa;AAAA,EACjB,OAAO,QAAQ,OAAO;AACpB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,WAAW,CAAC;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,OAAO,SAAS,OAAO;AACrB,WAAO;AAAA,MACL,UAAU;AAAA,MACV,WAAW,CAAC,oBAAoB;AAAA,QAC9B,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAAA,EACF;AAgBF;AAdI,cAAK,OAAO,SAAS,qBAAqB,GAAG;AAC3C,SAAO,KAAK,KAAK,eAAc;AACjC;AAGA,cAAK,OAAyB,iBAAiB;AAAA,EAC7C,MAAM;AAAA,EACN,SAAS,CAAC,eAAe;AAAA,EACzB,SAAS,CAAC,eAAe;AAC3B,CAAC;AAGD,cAAK,OAAyB,iBAAiB,CAAC,CAAC;AAhCrD,IAAM,eAAN;AAAA,CAmCC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,cAAc,CAAC;AAAA,IACrF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,eAAe;AAAA,MACzB,SAAS,CAAC,eAAe;AAAA,IAC3B,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;", - "names": ["warn", "name"] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js b/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js deleted file mode 100644 index 4ca736a..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js +++ /dev/null @@ -1,233 +0,0 @@ -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - coerceArray -} from "./chunk-M5GY4FCO.js"; -import { - CSP_NONCE, - Inject, - Injectable, - NgModule, - NgZone, - Observable, - Optional, - Subject, - combineLatest, - concat, - debounceTime, - map, - setClassMetadata, - skip, - startWith, - take, - takeUntil, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵinject -} from "./chunk-FGESKT7O.js"; - -// node_modules/@angular/cdk/fesm2022/layout.mjs -var _LayoutModule = class _LayoutModule { -}; -_LayoutModule.ɵfac = function LayoutModule_Factory(t) { - return new (t || _LayoutModule)(); -}; -_LayoutModule.ɵmod = ɵɵdefineNgModule({ - type: _LayoutModule -}); -_LayoutModule.ɵinj = ɵɵdefineInjector({}); -var LayoutModule = _LayoutModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(LayoutModule, [{ - type: NgModule, - args: [{}] - }], null, null); -})(); -var mediaQueriesForWebkitCompatibility = /* @__PURE__ */ new Set(); -var mediaQueryStyleNode; -var _MediaMatcher = class _MediaMatcher { - constructor(_platform, _nonce) { - this._platform = _platform; - this._nonce = _nonce; - this._matchMedia = this._platform.isBrowser && window.matchMedia ? ( - // matchMedia is bound to the window scope intentionally as it is an illegal invocation to - // call it from a different scope. - window.matchMedia.bind(window) - ) : noopMatchMedia; - } - /** - * Evaluates the given media query and returns the native MediaQueryList from which results - * can be retrieved. - * Confirms the layout engine will trigger for the selector query provided and returns the - * MediaQueryList for the query provided. - */ - matchMedia(query) { - if (this._platform.WEBKIT || this._platform.BLINK) { - createEmptyStyleRule(query, this._nonce); - } - return this._matchMedia(query); - } -}; -_MediaMatcher.ɵfac = function MediaMatcher_Factory(t) { - return new (t || _MediaMatcher)(ɵɵinject(Platform), ɵɵinject(CSP_NONCE, 8)); -}; -_MediaMatcher.ɵprov = ɵɵdefineInjectable({ - token: _MediaMatcher, - factory: _MediaMatcher.ɵfac, - providedIn: "root" -}); -var MediaMatcher = _MediaMatcher; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MediaMatcher, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: Platform - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [CSP_NONCE] - }] - }], null); -})(); -function createEmptyStyleRule(query, nonce) { - if (mediaQueriesForWebkitCompatibility.has(query)) { - return; - } - try { - if (!mediaQueryStyleNode) { - mediaQueryStyleNode = document.createElement("style"); - if (nonce) { - mediaQueryStyleNode.nonce = nonce; - } - mediaQueryStyleNode.setAttribute("type", "text/css"); - document.head.appendChild(mediaQueryStyleNode); - } - if (mediaQueryStyleNode.sheet) { - mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0); - mediaQueriesForWebkitCompatibility.add(query); - } - } catch (e) { - console.error(e); - } -} -function noopMatchMedia(query) { - return { - matches: query === "all" || query === "", - media: query, - addListener: () => { - }, - removeListener: () => { - } - }; -} -var _BreakpointObserver = class _BreakpointObserver { - constructor(_mediaMatcher, _zone) { - this._mediaMatcher = _mediaMatcher; - this._zone = _zone; - this._queries = /* @__PURE__ */ new Map(); - this._destroySubject = new Subject(); - } - /** Completes the active subject, signalling to all other observables to complete. */ - ngOnDestroy() { - this._destroySubject.next(); - this._destroySubject.complete(); - } - /** - * Whether one or more media queries match the current viewport size. - * @param value One or more media queries to check. - * @returns Whether any of the media queries match. - */ - isMatched(value) { - const queries = splitQueries(coerceArray(value)); - return queries.some((mediaQuery) => this._registerQuery(mediaQuery).mql.matches); - } - /** - * Gets an observable of results for the given queries that will emit new results for any changes - * in matching of the given queries. - * @param value One or more media queries to check. - * @returns A stream of matches for the given queries. - */ - observe(value) { - const queries = splitQueries(coerceArray(value)); - const observables = queries.map((query) => this._registerQuery(query).observable); - let stateObservable = combineLatest(observables); - stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0))); - return stateObservable.pipe(map((breakpointStates) => { - const response = { - matches: false, - breakpoints: {} - }; - breakpointStates.forEach(({ - matches, - query - }) => { - response.matches = response.matches || matches; - response.breakpoints[query] = matches; - }); - return response; - })); - } - /** Registers a specific query to be listened for. */ - _registerQuery(query) { - if (this._queries.has(query)) { - return this._queries.get(query); - } - const mql = this._mediaMatcher.matchMedia(query); - const queryObservable = new Observable((observer) => { - const handler = (e) => this._zone.run(() => observer.next(e)); - mql.addListener(handler); - return () => { - mql.removeListener(handler); - }; - }).pipe(startWith(mql), map(({ - matches - }) => ({ - query, - matches - })), takeUntil(this._destroySubject)); - const output = { - observable: queryObservable, - mql - }; - this._queries.set(query, output); - return output; - } -}; -_BreakpointObserver.ɵfac = function BreakpointObserver_Factory(t) { - return new (t || _BreakpointObserver)(ɵɵinject(MediaMatcher), ɵɵinject(NgZone)); -}; -_BreakpointObserver.ɵprov = ɵɵdefineInjectable({ - token: _BreakpointObserver, - factory: _BreakpointObserver.ɵfac, - providedIn: "root" -}); -var BreakpointObserver = _BreakpointObserver; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(BreakpointObserver, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: MediaMatcher - }, { - type: NgZone - }], null); -})(); -function splitQueries(queries) { - return queries.map((query) => query.split(",")).reduce((a1, a2) => a1.concat(a2)).map((query) => query.trim()); -} - -export { - MediaMatcher, - BreakpointObserver -}; -//# sourceMappingURL=chunk-WB57DPWD.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js.map b/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js.map deleted file mode 100644 index d4c4e95..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-WB57DPWD.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@angular/cdk/fesm2022/layout.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { NgModule, CSP_NONCE, Injectable, Optional, Inject } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nclass LayoutModule {\n static {\n this.ɵfac = function LayoutModule_Factory(t) {\n return new (t || LayoutModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: LayoutModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(LayoutModule, [{\n type: NgModule,\n args: [{}]\n }], null, null);\n})();\n\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform, _nonce) {\n this._platform = _platform;\n this._nonce = _nonce;\n this._matchMedia = this._platform.isBrowser && window.matchMedia ?\n // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window) : noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query, this._nonce);\n }\n return this._matchMedia(query);\n }\n static {\n this.ɵfac = function MediaMatcher_Factory(t) {\n return new (t || MediaMatcher)(i0.ɵɵinject(i1.Platform), i0.ɵɵinject(CSP_NONCE, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MediaMatcher,\n factory: MediaMatcher.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(MediaMatcher, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: i1.Platform\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CSP_NONCE]\n }]\n }], null);\n})();\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query, nonce) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n if (nonce) {\n mediaQueryStyleNode.nonce = nonce;\n }\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n } catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => {},\n removeListener: () => {}\n };\n}\n\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {}\n };\n breakpointStates.forEach(({\n matches,\n query\n }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable(observer => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = e => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({\n matches\n }) => ({\n query,\n matches\n })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = {\n observable: queryObservable,\n mql\n };\n this._queries.set(query, output);\n return output;\n }\n static {\n this.ɵfac = function BreakpointObserver_Factory(t) {\n return new (t || BreakpointObserver)(i0.ɵɵinject(MediaMatcher), i0.ɵɵinject(i0.NgZone));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BreakpointObserver,\n factory: BreakpointObserver.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BreakpointObserver, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: MediaMatcher\n }, {\n type: i0.NgZone\n }], null);\n})();\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries.map(query => query.split(',')).reduce((a1, a2) => a1.concat(a2)).map(query => query.trim());\n}\n\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' + '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' + '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' + '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)'\n};\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js b/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js deleted file mode 100644 index 3e7ac27..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js +++ /dev/null @@ -1,1928 +0,0 @@ -import { - NavigationEnd, - Router, - RouterLink -} from "./chunk-CZEXXPIB.js"; -import { - POSITION_MAP, - getPlacementName -} from "./chunk-6RXUTAFR.js"; -import { - collapseMotion, - slideMotion, - zoomBigMotion -} from "./chunk-XAGDQPFO.js"; -import { - NzNoAnimationDirective -} from "./chunk-55A2ZGND.js"; -import { - CdkConnectedOverlay, - CdkOverlayOrigin, - OverlayModule -} from "./chunk-6U656R5M.js"; -import { - NzOutletModule, - NzStringTemplateOutletDirective -} from "./chunk-VOD2PKZN.js"; -import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import { - Platform -} from "./chunk-IAC53GOD.js"; -import { - InputBoolean -} from "./chunk-M5GY4FCO.js"; -import { - NgClass, - NgIf, - NgSwitch, - NgSwitchCase, - NgSwitchDefault, - NgTemplateOutlet -} from "./chunk-OSQBUYO6.js"; -import { - BehaviorSubject, - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ContentChildren, - Directive, - ElementRef, - EventEmitter, - Host, - Inject, - Injectable, - InjectionToken, - Input, - NgModule, - Optional, - Output, - Renderer2, - SkipSelf, - Subject, - ViewChild, - ViewEncapsulation$1, - __decorate, - auditTime, - combineLatest, - distinctUntilChanged, - filter, - forwardRef, - inject, - map, - mapTo, - merge, - mergeMap, - setClassMetadata, - startWith, - switchMap, - takeUntil, - ɵɵNgOnChangesFeature, - ɵɵProvidersFeature, - ɵɵStandaloneFeature, - ɵɵadvance, - ɵɵclassProp, - ɵɵcontentQuery, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵelementContainerEnd, - ɵɵelementContainerStart, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵgetCurrentView, - ɵɵinject, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnextContext, - ɵɵprojection, - ɵɵprojectionDef, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵreference, - ɵɵresetView, - ɵɵrestoreView, - ɵɵstyleProp, - ɵɵsyntheticHostProperty, - ɵɵtemplate, - ɵɵtemplateRefExtractor, - ɵɵtext, - ɵɵtextInterpolate, - ɵɵviewQuery -} from "./chunk-FGESKT7O.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-menu.mjs -var _c0 = ["nz-menu-item", ""]; -var _c1 = ["*"]; -var _c2 = ["nz-submenu-inline-child", ""]; -function NzSubmenuInlineChildComponent_ng_template_0_Template(rf, ctx) { -} -var _c3 = ["nz-submenu-none-inline-child", ""]; -function NzSubmenuNoneInlineChildComponent_ng_template_1_Template(rf, ctx) { -} -var _c4 = ["nz-submenu-title", ""]; -function NzSubMenuTitleComponent_span_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 4); - } - if (rf & 2) { - const ctx_r0 = ɵɵnextContext(); - ɵɵproperty("nzType", ctx_r0.nzIcon); - } -} -function NzSubMenuTitleComponent_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵelementStart(1, "span", 5); - ɵɵtext(2); - ɵɵelementEnd(); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r1 = ɵɵnextContext(); - ɵɵadvance(2); - ɵɵtextInterpolate(ctx_r1.nzTitle); - } -} -function NzSubMenuTitleComponent_span_3_span_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 9); - } -} -function NzSubMenuTitleComponent_span_3_span_2_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 10); - } -} -function NzSubMenuTitleComponent_span_3_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "span", 6); - ɵɵtemplate(1, NzSubMenuTitleComponent_span_3_span_1_Template, 1, 0, "span", 7)(2, NzSubMenuTitleComponent_span_3_span_2_Template, 1, 0, "span", 8); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r2 = ɵɵnextContext(); - ɵɵproperty("ngSwitch", ctx_r2.dir); - ɵɵadvance(1); - ɵɵproperty("ngSwitchCase", "rtl"); - } -} -function NzSubMenuTitleComponent_ng_template_4_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "span", 11); - } -} -var _c5 = ["nz-submenu", ""]; -function NzSubMenuComponent_ng_content_2_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojection(0, 0, ["*ngIf", "!nzTitle"]); - } -} -function NzSubMenuComponent_div_3_Template(rf, ctx) { - if (rf & 1) { - ɵɵelement(0, "div", 6); - } - if (rf & 2) { - const ctx_r2 = ɵɵnextContext(); - const _r6 = ɵɵreference(7); - ɵɵproperty("mode", ctx_r2.mode)("nzOpen", ctx_r2.nzOpen)("@.disabled", !!(ctx_r2.noAnimation == null ? null : ctx_r2.noAnimation.nzNoAnimation))("nzNoAnimation", ctx_r2.noAnimation == null ? null : ctx_r2.noAnimation.nzNoAnimation)("menuClass", ctx_r2.nzMenuClassName)("templateOutlet", _r6); - } -} -function NzSubMenuComponent_ng_template_4_ng_template_0_Template(rf, ctx) { - if (rf & 1) { - const _r9 = ɵɵgetCurrentView(); - ɵɵelementStart(0, "div", 8); - ɵɵlistener("subMenuMouseState", function NzSubMenuComponent_ng_template_4_ng_template_0_Template_div_subMenuMouseState_0_listener($event) { - ɵɵrestoreView(_r9); - const ctx_r8 = ɵɵnextContext(2); - return ɵɵresetView(ctx_r8.setMouseEnterState($event)); - }); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r7 = ɵɵnextContext(2); - const _r6 = ɵɵreference(7); - ɵɵproperty("theme", ctx_r7.theme)("mode", ctx_r7.mode)("nzOpen", ctx_r7.nzOpen)("position", ctx_r7.position)("nzDisabled", ctx_r7.nzDisabled)("isMenuInsideDropDown", ctx_r7.isMenuInsideDropDown)("templateOutlet", _r6)("menuClass", ctx_r7.nzMenuClassName)("@.disabled", !!(ctx_r7.noAnimation == null ? null : ctx_r7.noAnimation.nzNoAnimation))("nzNoAnimation", ctx_r7.noAnimation == null ? null : ctx_r7.noAnimation.nzNoAnimation); - } -} -function NzSubMenuComponent_ng_template_4_Template(rf, ctx) { - if (rf & 1) { - const _r11 = ɵɵgetCurrentView(); - ɵɵtemplate(0, NzSubMenuComponent_ng_template_4_ng_template_0_Template, 1, 10, "ng-template", 7); - ɵɵlistener("positionChange", function NzSubMenuComponent_ng_template_4_Template_ng_template_positionChange_0_listener($event) { - ɵɵrestoreView(_r11); - const ctx_r10 = ɵɵnextContext(); - return ɵɵresetView(ctx_r10.onPositionChange($event)); - }); - } - if (rf & 2) { - const ctx_r3 = ɵɵnextContext(); - const _r0 = ɵɵreference(1); - ɵɵproperty("cdkConnectedOverlayPositions", ctx_r3.overlayPositions)("cdkConnectedOverlayOrigin", _r0)("cdkConnectedOverlayWidth", ctx_r3.triggerWidth)("cdkConnectedOverlayOpen", ctx_r3.nzOpen)("cdkConnectedOverlayTransformOriginOn", ".ant-menu-submenu"); - } -} -function NzSubMenuComponent_ng_template_6_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojection(0, 1); - } -} -var _c6 = [[["", "title", ""]], "*"]; -var _c7 = ["[title]", "*"]; -var _c8 = ["titleElement"]; -var _c9 = ["nz-menu-group", ""]; -function NzMenuGroupComponent_ng_container_2_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵtext(1); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r1 = ɵɵnextContext(); - ɵɵadvance(1); - ɵɵtextInterpolate(ctx_r1.nzTitle); - } -} -function NzMenuGroupComponent_ng_content_3_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojection(0, 1, ["*ngIf", "!nzTitle"]); - } -} -var _c10 = ["*", [["", "title", ""]]]; -var _c11 = ["*", "[title]"]; -var NzIsMenuInsideDropDownToken = new InjectionToken("NzIsInDropDownMenuToken"); -var NzMenuServiceLocalToken = new InjectionToken("NzMenuServiceLocalToken"); -var _MenuService = class _MenuService { - constructor() { - this.descendantMenuItemClick$ = new Subject(); - this.childMenuItemClick$ = new Subject(); - this.theme$ = new BehaviorSubject("light"); - this.mode$ = new BehaviorSubject("vertical"); - this.inlineIndent$ = new BehaviorSubject(24); - this.isChildSubMenuOpen$ = new BehaviorSubject(false); - } - onDescendantMenuItemClick(menu) { - this.descendantMenuItemClick$.next(menu); - } - onChildMenuItemClick(menu) { - this.childMenuItemClick$.next(menu); - } - setMode(mode) { - this.mode$.next(mode); - } - setTheme(theme) { - this.theme$.next(theme); - } - setInlineIndent(indent) { - this.inlineIndent$.next(indent); - } -}; -_MenuService.ɵfac = function MenuService_Factory(t) { - return new (t || _MenuService)(); -}; -_MenuService.ɵprov = ɵɵdefineInjectable({ - token: _MenuService, - factory: _MenuService.ɵfac -}); -var MenuService = _MenuService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MenuService, [{ - type: Injectable - }], null, null); -})(); -var _NzSubmenuService = class _NzSubmenuService { - /** - * menu item inside submenu clicked - * - * @param menu - */ - onChildMenuItemClick(menu) { - this.childMenuItemClick$.next(menu); - } - setOpenStateWithoutDebounce(value) { - this.isCurrentSubMenuOpen$.next(value); - } - setMouseEnterTitleOrOverlayState(value) { - this.isMouseEnterTitleOrOverlay$.next(value); - } - constructor(nzHostSubmenuService, nzMenuService, isMenuInsideDropDown) { - this.nzHostSubmenuService = nzHostSubmenuService; - this.nzMenuService = nzMenuService; - this.isMenuInsideDropDown = isMenuInsideDropDown; - this.mode$ = this.nzMenuService.mode$.pipe(map((mode) => { - if (mode === "inline") { - return "inline"; - } else if (mode === "vertical" || this.nzHostSubmenuService) { - return "vertical"; - } else { - return "horizontal"; - } - })); - this.level = 1; - this.isCurrentSubMenuOpen$ = new BehaviorSubject(false); - this.isChildSubMenuOpen$ = new BehaviorSubject(false); - this.isMouseEnterTitleOrOverlay$ = new Subject(); - this.childMenuItemClick$ = new Subject(); - this.destroy$ = new Subject(); - if (this.nzHostSubmenuService) { - this.level = this.nzHostSubmenuService.level + 1; - } - const isClosedByMenuItemClick = this.childMenuItemClick$.pipe(mergeMap(() => this.mode$), filter((mode) => mode !== "inline" || this.isMenuInsideDropDown), mapTo(false)); - const isCurrentSubmenuOpen$ = merge(this.isMouseEnterTitleOrOverlay$, isClosedByMenuItemClick); - const isSubMenuOpenWithDebounce$ = combineLatest([this.isChildSubMenuOpen$, isCurrentSubmenuOpen$]).pipe(map(([isChildSubMenuOpen, isCurrentSubmenuOpen]) => isChildSubMenuOpen || isCurrentSubmenuOpen), auditTime(150), distinctUntilChanged(), takeUntil(this.destroy$)); - isSubMenuOpenWithDebounce$.pipe(distinctUntilChanged()).subscribe((data) => { - this.setOpenStateWithoutDebounce(data); - if (this.nzHostSubmenuService) { - this.nzHostSubmenuService.isChildSubMenuOpen$.next(data); - } else { - this.nzMenuService.isChildSubMenuOpen$.next(data); - } - }); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzSubmenuService.ɵfac = function NzSubmenuService_Factory(t) { - return new (t || _NzSubmenuService)(ɵɵinject(_NzSubmenuService, 12), ɵɵinject(MenuService), ɵɵinject(NzIsMenuInsideDropDownToken)); -}; -_NzSubmenuService.ɵprov = ɵɵdefineInjectable({ - token: _NzSubmenuService, - factory: _NzSubmenuService.ɵfac -}); -var NzSubmenuService = _NzSubmenuService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSubmenuService, [{ - type: Injectable - }], () => [{ - type: NzSubmenuService, - decorators: [{ - type: SkipSelf - }, { - type: Optional - }] - }, { - type: MenuService - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [NzIsMenuInsideDropDownToken] - }] - }], null); -})(); -var _NzMenuItemComponent = class _NzMenuItemComponent { - /** clear all item selected status except this */ - clickMenuItem(e) { - if (this.nzDisabled) { - e.preventDefault(); - e.stopPropagation(); - } else { - this.nzMenuService.onDescendantMenuItemClick(this); - if (this.nzSubmenuService) { - this.nzSubmenuService.onChildMenuItemClick(this); - } else { - this.nzMenuService.onChildMenuItemClick(this); - } - } - } - setSelectedState(value) { - this.nzSelected = value; - this.selected$.next(value); - } - updateRouterActive() { - if (!this.listOfRouterLink || !this.router || !this.router.navigated || !this.nzMatchRouter) { - return; - } - Promise.resolve().then(() => { - const hasActiveLinks = this.hasActiveLinks(); - if (this.nzSelected !== hasActiveLinks) { - this.nzSelected = hasActiveLinks; - this.setSelectedState(this.nzSelected); - this.cdr.markForCheck(); - } - }); - } - hasActiveLinks() { - const isActiveCheckFn = this.isLinkActive(this.router); - return this.routerLink && isActiveCheckFn(this.routerLink) || this.listOfRouterLink.some(isActiveCheckFn); - } - isLinkActive(router) { - return (link) => router.isActive(link.urlTree || "", { - paths: this.nzMatchRouterExact ? "exact" : "subset", - queryParams: this.nzMatchRouterExact ? "exact" : "subset", - fragment: "ignored", - matrixParams: "ignored" - }); - } - constructor(nzMenuService, cdr, nzSubmenuService, isMenuInsideDropDown, directionality, routerLink, router) { - this.nzMenuService = nzMenuService; - this.cdr = cdr; - this.nzSubmenuService = nzSubmenuService; - this.isMenuInsideDropDown = isMenuInsideDropDown; - this.directionality = directionality; - this.routerLink = routerLink; - this.router = router; - this.destroy$ = new Subject(); - this.level = this.nzSubmenuService ? this.nzSubmenuService.level + 1 : 1; - this.selected$ = new Subject(); - this.inlinePaddingLeft = null; - this.dir = "ltr"; - this.nzDisabled = false; - this.nzSelected = false; - this.nzDanger = false; - this.nzMatchRouterExact = false; - this.nzMatchRouter = false; - if (router) { - this.router.events.pipe(takeUntil(this.destroy$), filter((e) => e instanceof NavigationEnd)).subscribe(() => { - this.updateRouterActive(); - }); - } - } - ngOnInit() { - combineLatest([this.nzMenuService.mode$, this.nzMenuService.inlineIndent$]).pipe(takeUntil(this.destroy$)).subscribe(([mode, inlineIndent]) => { - this.inlinePaddingLeft = mode === "inline" ? this.level * inlineIndent : null; - }); - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - }); - } - ngAfterContentInit() { - this.listOfRouterLink.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.updateRouterActive()); - this.updateRouterActive(); - } - ngOnChanges(changes) { - if (changes.nzSelected) { - this.setSelectedState(this.nzSelected); - } - } - ngOnDestroy() { - this.destroy$.next(true); - this.destroy$.complete(); - } -}; -_NzMenuItemComponent.ɵfac = function NzMenuItemComponent_Factory(t) { - return new (t || _NzMenuItemComponent)(ɵɵdirectiveInject(MenuService), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(NzSubmenuService, 8), ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(RouterLink, 8), ɵɵdirectiveInject(Router, 8)); -}; -_NzMenuItemComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzMenuItemComponent, - selectors: [["", "nz-menu-item", ""]], - contentQueries: function NzMenuItemComponent_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, RouterLink, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.listOfRouterLink = _t); - } - }, - hostVars: 20, - hostBindings: function NzMenuItemComponent_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("click", function NzMenuItemComponent_click_HostBindingHandler($event) { - return ctx.clickMenuItem($event); - }); - } - if (rf & 2) { - ɵɵstyleProp("padding-left", ctx.dir === "rtl" ? null : ctx.nzPaddingLeft || ctx.inlinePaddingLeft, "px")("padding-right", ctx.dir === "rtl" ? ctx.nzPaddingLeft || ctx.inlinePaddingLeft : null, "px"); - ɵɵclassProp("ant-dropdown-menu-item", ctx.isMenuInsideDropDown)("ant-dropdown-menu-item-selected", ctx.isMenuInsideDropDown && ctx.nzSelected)("ant-dropdown-menu-item-danger", ctx.isMenuInsideDropDown && ctx.nzDanger)("ant-dropdown-menu-item-disabled", ctx.isMenuInsideDropDown && ctx.nzDisabled)("ant-menu-item", !ctx.isMenuInsideDropDown)("ant-menu-item-selected", !ctx.isMenuInsideDropDown && ctx.nzSelected)("ant-menu-item-danger", !ctx.isMenuInsideDropDown && ctx.nzDanger)("ant-menu-item-disabled", !ctx.isMenuInsideDropDown && ctx.nzDisabled); - } - }, - inputs: { - nzPaddingLeft: "nzPaddingLeft", - nzDisabled: "nzDisabled", - nzSelected: "nzSelected", - nzDanger: "nzDanger", - nzMatchRouterExact: "nzMatchRouterExact", - nzMatchRouter: "nzMatchRouter" - }, - exportAs: ["nzMenuItem"], - standalone: true, - features: [ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - attrs: _c0, - ngContentSelectors: _c1, - decls: 2, - vars: 0, - consts: [[1, "ant-menu-title-content"]], - template: function NzMenuItemComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵelementStart(0, "span", 0); - ɵɵprojection(1); - ɵɵelementEnd(); - } - }, - encapsulation: 2, - changeDetection: 0 -}); -var NzMenuItemComponent = _NzMenuItemComponent; -__decorate([InputBoolean()], NzMenuItemComponent.prototype, "nzDisabled", void 0); -__decorate([InputBoolean()], NzMenuItemComponent.prototype, "nzSelected", void 0); -__decorate([InputBoolean()], NzMenuItemComponent.prototype, "nzDanger", void 0); -__decorate([InputBoolean()], NzMenuItemComponent.prototype, "nzMatchRouterExact", void 0); -__decorate([InputBoolean()], NzMenuItemComponent.prototype, "nzMatchRouter", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzMenuItemComponent, [{ - type: Component, - args: [{ - selector: "[nz-menu-item]", - exportAs: "nzMenuItem", - changeDetection: ChangeDetectionStrategy.OnPush, - encapsulation: ViewEncapsulation$1.None, - preserveWhitespaces: false, - template: ` - - - - `, - host: { - "[class.ant-dropdown-menu-item]": `isMenuInsideDropDown`, - "[class.ant-dropdown-menu-item-selected]": `isMenuInsideDropDown && nzSelected`, - "[class.ant-dropdown-menu-item-danger]": `isMenuInsideDropDown && nzDanger`, - "[class.ant-dropdown-menu-item-disabled]": `isMenuInsideDropDown && nzDisabled`, - "[class.ant-menu-item]": `!isMenuInsideDropDown`, - "[class.ant-menu-item-selected]": `!isMenuInsideDropDown && nzSelected`, - "[class.ant-menu-item-danger]": `!isMenuInsideDropDown && nzDanger`, - "[class.ant-menu-item-disabled]": `!isMenuInsideDropDown && nzDisabled`, - "[style.paddingLeft.px]": `dir === 'rtl' ? null : nzPaddingLeft || inlinePaddingLeft`, - "[style.paddingRight.px]": `dir === 'rtl' ? nzPaddingLeft || inlinePaddingLeft : null`, - "(click)": "clickMenuItem($event)" - }, - standalone: true - }] - }], () => [{ - type: MenuService - }, { - type: ChangeDetectorRef - }, { - type: NzSubmenuService, - decorators: [{ - type: Optional - }] - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [NzIsMenuInsideDropDownToken] - }] - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: RouterLink, - decorators: [{ - type: Optional - }] - }, { - type: Router, - decorators: [{ - type: Optional - }] - }], { - nzPaddingLeft: [{ - type: Input - }], - nzDisabled: [{ - type: Input - }], - nzSelected: [{ - type: Input - }], - nzDanger: [{ - type: Input - }], - nzMatchRouterExact: [{ - type: Input - }], - nzMatchRouter: [{ - type: Input - }], - listOfRouterLink: [{ - type: ContentChildren, - args: [RouterLink, { - descendants: true - }] - }] - }); -})(); -var _NzSubmenuInlineChildComponent = class _NzSubmenuInlineChildComponent { - constructor(elementRef, renderer, directionality) { - this.elementRef = elementRef; - this.renderer = renderer; - this.directionality = directionality; - this.templateOutlet = null; - this.menuClass = ""; - this.mode = "vertical"; - this.nzOpen = false; - this.listOfCacheClassName = []; - this.expandState = "collapsed"; - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - calcMotionState() { - if (this.nzOpen) { - this.expandState = "expanded"; - } else { - this.expandState = "collapsed"; - } - } - ngOnInit() { - this.calcMotionState(); - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - }); - } - ngOnChanges(changes) { - const { - mode, - nzOpen, - menuClass - } = changes; - if (mode || nzOpen) { - this.calcMotionState(); - } - if (menuClass) { - if (this.listOfCacheClassName.length) { - this.listOfCacheClassName.filter((item) => !!item).forEach((className) => { - this.renderer.removeClass(this.elementRef.nativeElement, className); - }); - } - if (this.menuClass) { - this.listOfCacheClassName = this.menuClass.split(" "); - this.listOfCacheClassName.filter((item) => !!item).forEach((className) => { - this.renderer.addClass(this.elementRef.nativeElement, className); - }); - } - } - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzSubmenuInlineChildComponent.ɵfac = function NzSubmenuInlineChildComponent_Factory(t) { - return new (t || _NzSubmenuInlineChildComponent)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzSubmenuInlineChildComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzSubmenuInlineChildComponent, - selectors: [["", "nz-submenu-inline-child", ""]], - hostAttrs: [1, "ant-menu", "ant-menu-inline", "ant-menu-sub"], - hostVars: 3, - hostBindings: function NzSubmenuInlineChildComponent_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵsyntheticHostProperty("@collapseMotion", ctx.expandState); - ɵɵclassProp("ant-menu-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - templateOutlet: "templateOutlet", - menuClass: "menuClass", - mode: "mode", - nzOpen: "nzOpen" - }, - exportAs: ["nzSubmenuInlineChild"], - standalone: true, - features: [ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - attrs: _c2, - decls: 1, - vars: 1, - consts: [[3, "ngTemplateOutlet"]], - template: function NzSubmenuInlineChildComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵtemplate(0, NzSubmenuInlineChildComponent_ng_template_0_Template, 0, 0, "ng-template", 0); - } - if (rf & 2) { - ɵɵproperty("ngTemplateOutlet", ctx.templateOutlet); - } - }, - dependencies: [NgTemplateOutlet], - encapsulation: 2, - data: { - animation: [collapseMotion] - }, - changeDetection: 0 -}); -var NzSubmenuInlineChildComponent = _NzSubmenuInlineChildComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSubmenuInlineChildComponent, [{ - type: Component, - args: [{ - selector: "[nz-submenu-inline-child]", - animations: [collapseMotion], - exportAs: "nzSubmenuInlineChild", - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` `, - host: { - class: "ant-menu ant-menu-inline ant-menu-sub", - "[class.ant-menu-rtl]": `dir === 'rtl'`, - "[@collapseMotion]": "expandState" - }, - imports: [NgTemplateOutlet], - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: Renderer2 - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - templateOutlet: [{ - type: Input - }], - menuClass: [{ - type: Input - }], - mode: [{ - type: Input - }], - nzOpen: [{ - type: Input - }] - }); -})(); -var _NzSubmenuNoneInlineChildComponent = class _NzSubmenuNoneInlineChildComponent { - constructor(directionality) { - this.directionality = directionality; - this.menuClass = ""; - this.theme = "light"; - this.templateOutlet = null; - this.isMenuInsideDropDown = false; - this.mode = "vertical"; - this.position = "right"; - this.nzDisabled = false; - this.nzOpen = false; - this.subMenuMouseState = new EventEmitter(); - this.expandState = "collapsed"; - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - setMouseState(state) { - if (!this.nzDisabled) { - this.subMenuMouseState.next(state); - } - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } - calcMotionState() { - if (this.nzOpen) { - if (this.mode === "horizontal") { - this.expandState = "bottom"; - } else if (this.mode === "vertical") { - this.expandState = "active"; - } - } else { - this.expandState = "collapsed"; - } - } - ngOnInit() { - this.calcMotionState(); - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - }); - } - ngOnChanges(changes) { - const { - mode, - nzOpen - } = changes; - if (mode || nzOpen) { - this.calcMotionState(); - } - } -}; -_NzSubmenuNoneInlineChildComponent.ɵfac = function NzSubmenuNoneInlineChildComponent_Factory(t) { - return new (t || _NzSubmenuNoneInlineChildComponent)(ɵɵdirectiveInject(Directionality, 8)); -}; -_NzSubmenuNoneInlineChildComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzSubmenuNoneInlineChildComponent, - selectors: [["", "nz-submenu-none-inline-child", ""]], - hostAttrs: [1, "ant-menu-submenu", "ant-menu-submenu-popup"], - hostVars: 14, - hostBindings: function NzSubmenuNoneInlineChildComponent_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("mouseenter", function NzSubmenuNoneInlineChildComponent_mouseenter_HostBindingHandler() { - return ctx.setMouseState(true); - })("mouseleave", function NzSubmenuNoneInlineChildComponent_mouseleave_HostBindingHandler() { - return ctx.setMouseState(false); - }); - } - if (rf & 2) { - ɵɵsyntheticHostProperty("@slideMotion", ctx.expandState)("@zoomBigMotion", ctx.expandState); - ɵɵclassProp("ant-menu-light", ctx.theme === "light")("ant-menu-dark", ctx.theme === "dark")("ant-menu-submenu-placement-bottom", ctx.mode === "horizontal")("ant-menu-submenu-placement-right", ctx.mode === "vertical" && ctx.position === "right")("ant-menu-submenu-placement-left", ctx.mode === "vertical" && ctx.position === "left")("ant-menu-submenu-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - menuClass: "menuClass", - theme: "theme", - templateOutlet: "templateOutlet", - isMenuInsideDropDown: "isMenuInsideDropDown", - mode: "mode", - position: "position", - nzDisabled: "nzDisabled", - nzOpen: "nzOpen" - }, - outputs: { - subMenuMouseState: "subMenuMouseState" - }, - exportAs: ["nzSubmenuNoneInlineChild"], - standalone: true, - features: [ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - attrs: _c3, - decls: 2, - vars: 16, - consts: [[3, "ngClass"], [3, "ngTemplateOutlet"]], - template: function NzSubmenuNoneInlineChildComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 0); - ɵɵtemplate(1, NzSubmenuNoneInlineChildComponent_ng_template_1_Template, 0, 0, "ng-template", 1); - ɵɵelementEnd(); - } - if (rf & 2) { - ɵɵclassProp("ant-dropdown-menu", ctx.isMenuInsideDropDown)("ant-menu", !ctx.isMenuInsideDropDown)("ant-dropdown-menu-vertical", ctx.isMenuInsideDropDown)("ant-menu-vertical", !ctx.isMenuInsideDropDown)("ant-dropdown-menu-sub", ctx.isMenuInsideDropDown)("ant-menu-sub", !ctx.isMenuInsideDropDown)("ant-menu-rtl", ctx.dir === "rtl"); - ɵɵproperty("ngClass", ctx.menuClass); - ɵɵadvance(1); - ɵɵproperty("ngTemplateOutlet", ctx.templateOutlet); - } - }, - dependencies: [NgClass, NgTemplateOutlet], - encapsulation: 2, - data: { - animation: [zoomBigMotion, slideMotion] - }, - changeDetection: 0 -}); -var NzSubmenuNoneInlineChildComponent = _NzSubmenuNoneInlineChildComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSubmenuNoneInlineChildComponent, [{ - type: Component, - args: [{ - selector: "[nz-submenu-none-inline-child]", - exportAs: "nzSubmenuNoneInlineChild", - encapsulation: ViewEncapsulation$1.None, - animations: [zoomBigMotion, slideMotion], - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` -
- -
- `, - host: { - class: "ant-menu-submenu ant-menu-submenu-popup", - "[class.ant-menu-light]": "theme === 'light'", - "[class.ant-menu-dark]": "theme === 'dark'", - "[class.ant-menu-submenu-placement-bottom]": "mode === 'horizontal'", - "[class.ant-menu-submenu-placement-right]": "mode === 'vertical' && position === 'right'", - "[class.ant-menu-submenu-placement-left]": "mode === 'vertical' && position === 'left'", - "[class.ant-menu-submenu-rtl]": 'dir ==="rtl"', - "[@slideMotion]": "expandState", - "[@zoomBigMotion]": "expandState", - "(mouseenter)": "setMouseState(true)", - "(mouseleave)": "setMouseState(false)" - }, - imports: [NgClass, NgTemplateOutlet], - standalone: true - }] - }], () => [{ - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - menuClass: [{ - type: Input - }], - theme: [{ - type: Input - }], - templateOutlet: [{ - type: Input - }], - isMenuInsideDropDown: [{ - type: Input - }], - mode: [{ - type: Input - }], - position: [{ - type: Input - }], - nzDisabled: [{ - type: Input - }], - nzOpen: [{ - type: Input - }], - subMenuMouseState: [{ - type: Output - }] - }); -})(); -var _NzSubMenuTitleComponent = class _NzSubMenuTitleComponent { - constructor(cdr, directionality) { - this.cdr = cdr; - this.directionality = directionality; - this.nzIcon = null; - this.nzTitle = null; - this.isMenuInsideDropDown = false; - this.nzDisabled = false; - this.paddingLeft = null; - this.mode = "vertical"; - this.toggleSubMenu = new EventEmitter(); - this.subMenuMouseState = new EventEmitter(); - this.dir = "ltr"; - this.destroy$ = new Subject(); - } - ngOnInit() { - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.detectChanges(); - }); - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } - setMouseState(state) { - if (!this.nzDisabled) { - this.subMenuMouseState.next(state); - } - } - clickTitle() { - if (this.mode === "inline" && !this.nzDisabled) { - this.toggleSubMenu.emit(); - } - } -}; -_NzSubMenuTitleComponent.ɵfac = function NzSubMenuTitleComponent_Factory(t) { - return new (t || _NzSubMenuTitleComponent)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzSubMenuTitleComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzSubMenuTitleComponent, - selectors: [["", "nz-submenu-title", ""]], - hostVars: 8, - hostBindings: function NzSubMenuTitleComponent_HostBindings(rf, ctx) { - if (rf & 1) { - ɵɵlistener("click", function NzSubMenuTitleComponent_click_HostBindingHandler() { - return ctx.clickTitle(); - })("mouseenter", function NzSubMenuTitleComponent_mouseenter_HostBindingHandler() { - return ctx.setMouseState(true); - })("mouseleave", function NzSubMenuTitleComponent_mouseleave_HostBindingHandler() { - return ctx.setMouseState(false); - }); - } - if (rf & 2) { - ɵɵstyleProp("padding-left", ctx.dir === "rtl" ? null : ctx.paddingLeft, "px")("padding-right", ctx.dir === "rtl" ? ctx.paddingLeft : null, "px"); - ɵɵclassProp("ant-dropdown-menu-submenu-title", ctx.isMenuInsideDropDown)("ant-menu-submenu-title", !ctx.isMenuInsideDropDown); - } - }, - inputs: { - nzIcon: "nzIcon", - nzTitle: "nzTitle", - isMenuInsideDropDown: "isMenuInsideDropDown", - nzDisabled: "nzDisabled", - paddingLeft: "paddingLeft", - mode: "mode" - }, - outputs: { - toggleSubMenu: "toggleSubMenu", - subMenuMouseState: "subMenuMouseState" - }, - exportAs: ["nzSubmenuTitle"], - standalone: true, - features: [ɵɵStandaloneFeature], - attrs: _c4, - ngContentSelectors: _c1, - decls: 6, - vars: 4, - consts: [["nz-icon", "", 3, "nzType", 4, "ngIf"], [4, "nzStringTemplateOutlet"], ["class", "ant-dropdown-menu-submenu-expand-icon", 3, "ngSwitch", 4, "ngIf", "ngIfElse"], ["notDropdownTpl", ""], ["nz-icon", "", 3, "nzType"], [1, "ant-menu-title-content"], [1, "ant-dropdown-menu-submenu-expand-icon", 3, "ngSwitch"], ["nz-icon", "", "nzType", "left", "class", "ant-dropdown-menu-submenu-arrow-icon", 4, "ngSwitchCase"], ["nz-icon", "", "nzType", "right", "class", "ant-dropdown-menu-submenu-arrow-icon", 4, "ngSwitchDefault"], ["nz-icon", "", "nzType", "left", 1, "ant-dropdown-menu-submenu-arrow-icon"], ["nz-icon", "", "nzType", "right", 1, "ant-dropdown-menu-submenu-arrow-icon"], [1, "ant-menu-submenu-arrow"]], - template: function NzSubMenuTitleComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(); - ɵɵtemplate(0, NzSubMenuTitleComponent_span_0_Template, 1, 1, "span", 0)(1, NzSubMenuTitleComponent_ng_container_1_Template, 3, 1, "ng-container", 1); - ɵɵprojection(2); - ɵɵtemplate(3, NzSubMenuTitleComponent_span_3_Template, 3, 2, "span", 2)(4, NzSubMenuTitleComponent_ng_template_4_Template, 1, 0, "ng-template", null, 3, ɵɵtemplateRefExtractor); - } - if (rf & 2) { - const _r4 = ɵɵreference(5); - ɵɵproperty("ngIf", ctx.nzIcon); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx.nzTitle); - ɵɵadvance(2); - ɵɵproperty("ngIf", ctx.isMenuInsideDropDown)("ngIfElse", _r4); - } - }, - dependencies: [NzIconModule, NzIconDirective, NgIf, NzOutletModule, NzStringTemplateOutletDirective, NgSwitch, NgSwitchCase, NgSwitchDefault], - encapsulation: 2, - changeDetection: 0 -}); -var NzSubMenuTitleComponent = _NzSubMenuTitleComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSubMenuTitleComponent, [{ - type: Component, - args: [{ - selector: "[nz-submenu-title]", - exportAs: "nzSubmenuTitle", - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - template: ` - - - {{ nzTitle }} - - - - - - - - - - `, - host: { - "[class.ant-dropdown-menu-submenu-title]": "isMenuInsideDropDown", - "[class.ant-menu-submenu-title]": "!isMenuInsideDropDown", - "[style.paddingLeft.px]": `dir === 'rtl' ? null : paddingLeft `, - "[style.paddingRight.px]": `dir === 'rtl' ? paddingLeft : null`, - "(click)": "clickTitle()", - "(mouseenter)": "setMouseState(true)", - "(mouseleave)": "setMouseState(false)" - }, - imports: [NzIconModule, NgIf, NzOutletModule, NgSwitch, NgSwitchCase, NgSwitchDefault], - standalone: true - }] - }], () => [{ - type: ChangeDetectorRef - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzIcon: [{ - type: Input - }], - nzTitle: [{ - type: Input - }], - isMenuInsideDropDown: [{ - type: Input - }], - nzDisabled: [{ - type: Input - }], - paddingLeft: [{ - type: Input - }], - mode: [{ - type: Input - }], - toggleSubMenu: [{ - type: Output - }], - subMenuMouseState: [{ - type: Output - }] - }); -})(); -var listOfVerticalPositions = [POSITION_MAP.rightTop, POSITION_MAP.right, POSITION_MAP.rightBottom, POSITION_MAP.leftTop, POSITION_MAP.left, POSITION_MAP.leftBottom]; -var listOfHorizontalPositions = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topRight, POSITION_MAP.topLeft]; -var _NzSubMenuComponent = class _NzSubMenuComponent { - /** set the submenu host open status directly **/ - setOpenStateWithoutDebounce(open) { - this.nzSubmenuService.setOpenStateWithoutDebounce(open); - } - toggleSubMenu() { - this.setOpenStateWithoutDebounce(!this.nzOpen); - } - setMouseEnterState(value) { - this.isActive = value; - if (this.mode !== "inline") { - this.nzSubmenuService.setMouseEnterTitleOrOverlayState(value); - } - } - setTriggerWidth() { - if (this.mode === "horizontal" && this.platform.isBrowser && this.cdkOverlayOrigin && this.nzPlacement === "bottomLeft") { - this.triggerWidth = this.cdkOverlayOrigin.nativeElement.getBoundingClientRect().width; - } - } - onPositionChange(position) { - const placement = getPlacementName(position); - if (placement === "rightTop" || placement === "rightBottom" || placement === "right") { - this.position = "right"; - } else if (placement === "leftTop" || placement === "leftBottom" || placement === "left") { - this.position = "left"; - } - } - constructor(nzMenuService, cdr, nzSubmenuService, platform, isMenuInsideDropDown, directionality, noAnimation) { - this.nzMenuService = nzMenuService; - this.cdr = cdr; - this.nzSubmenuService = nzSubmenuService; - this.platform = platform; - this.isMenuInsideDropDown = isMenuInsideDropDown; - this.directionality = directionality; - this.noAnimation = noAnimation; - this.nzMenuClassName = ""; - this.nzPaddingLeft = null; - this.nzTitle = null; - this.nzIcon = null; - this.nzOpen = false; - this.nzDisabled = false; - this.nzPlacement = "bottomLeft"; - this.nzOpenChange = new EventEmitter(); - this.cdkOverlayOrigin = null; - this.listOfNzSubMenuComponent = null; - this.listOfNzMenuItemDirective = null; - this.level = this.nzSubmenuService.level; - this.destroy$ = new Subject(); - this.position = "right"; - this.triggerWidth = null; - this.theme = "light"; - this.mode = "vertical"; - this.inlinePaddingLeft = null; - this.overlayPositions = listOfVerticalPositions; - this.isSelected = false; - this.isActive = false; - this.dir = "ltr"; - } - ngOnInit() { - this.nzMenuService.theme$.pipe(takeUntil(this.destroy$)).subscribe((theme) => { - this.theme = theme; - this.cdr.markForCheck(); - }); - this.nzSubmenuService.mode$.pipe(takeUntil(this.destroy$)).subscribe((mode) => { - this.mode = mode; - if (mode === "horizontal") { - this.overlayPositions = [POSITION_MAP[this.nzPlacement], ...listOfHorizontalPositions]; - } else if (mode === "vertical") { - this.overlayPositions = listOfVerticalPositions; - } - this.cdr.markForCheck(); - }); - combineLatest([this.nzSubmenuService.mode$, this.nzMenuService.inlineIndent$]).pipe(takeUntil(this.destroy$)).subscribe(([mode, inlineIndent]) => { - this.inlinePaddingLeft = mode === "inline" ? this.level * inlineIndent : null; - this.cdr.markForCheck(); - }); - this.nzSubmenuService.isCurrentSubMenuOpen$.pipe(takeUntil(this.destroy$)).subscribe((open) => { - this.isActive = open; - if (open !== this.nzOpen) { - this.setTriggerWidth(); - this.nzOpen = open; - this.nzOpenChange.emit(this.nzOpen); - this.cdr.markForCheck(); - } - }); - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.markForCheck(); - }); - } - ngAfterContentInit() { - this.setTriggerWidth(); - const listOfNzMenuItemDirective = this.listOfNzMenuItemDirective; - const changes = listOfNzMenuItemDirective.changes; - const mergedObservable = merge(...[changes, ...listOfNzMenuItemDirective.map((menu) => menu.selected$)]); - changes.pipe(startWith(listOfNzMenuItemDirective), switchMap(() => mergedObservable), startWith(true), map(() => listOfNzMenuItemDirective.some((e) => e.nzSelected)), takeUntil(this.destroy$)).subscribe((selected) => { - this.isSelected = selected; - this.cdr.markForCheck(); - }); - } - ngOnChanges(changes) { - const { - nzOpen - } = changes; - if (nzOpen) { - this.nzSubmenuService.setOpenStateWithoutDebounce(this.nzOpen); - this.setTriggerWidth(); - } - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - } -}; -_NzSubMenuComponent.ɵfac = function NzSubMenuComponent_Factory(t) { - return new (t || _NzSubMenuComponent)(ɵɵdirectiveInject(MenuService), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(NzSubmenuService), ɵɵdirectiveInject(Platform), ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), ɵɵdirectiveInject(Directionality, 8), ɵɵdirectiveInject(NzNoAnimationDirective, 9)); -}; -_NzSubMenuComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzSubMenuComponent, - selectors: [["", "nz-submenu", ""]], - contentQueries: function NzSubMenuComponent_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, _NzSubMenuComponent, 5); - ɵɵcontentQuery(dirIndex, NzMenuItemComponent, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.listOfNzSubMenuComponent = _t); - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.listOfNzMenuItemDirective = _t); - } - }, - viewQuery: function NzSubMenuComponent_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(CdkOverlayOrigin, 7, ElementRef); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.cdkOverlayOrigin = _t.first); - } - }, - hostVars: 34, - hostBindings: function NzSubMenuComponent_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-dropdown-menu-submenu", ctx.isMenuInsideDropDown)("ant-dropdown-menu-submenu-disabled", ctx.isMenuInsideDropDown && ctx.nzDisabled)("ant-dropdown-menu-submenu-open", ctx.isMenuInsideDropDown && ctx.nzOpen)("ant-dropdown-menu-submenu-selected", ctx.isMenuInsideDropDown && ctx.isSelected)("ant-dropdown-menu-submenu-vertical", ctx.isMenuInsideDropDown && ctx.mode === "vertical")("ant-dropdown-menu-submenu-horizontal", ctx.isMenuInsideDropDown && ctx.mode === "horizontal")("ant-dropdown-menu-submenu-inline", ctx.isMenuInsideDropDown && ctx.mode === "inline")("ant-dropdown-menu-submenu-active", ctx.isMenuInsideDropDown && ctx.isActive)("ant-menu-submenu", !ctx.isMenuInsideDropDown)("ant-menu-submenu-disabled", !ctx.isMenuInsideDropDown && ctx.nzDisabled)("ant-menu-submenu-open", !ctx.isMenuInsideDropDown && ctx.nzOpen)("ant-menu-submenu-selected", !ctx.isMenuInsideDropDown && ctx.isSelected)("ant-menu-submenu-vertical", !ctx.isMenuInsideDropDown && ctx.mode === "vertical")("ant-menu-submenu-horizontal", !ctx.isMenuInsideDropDown && ctx.mode === "horizontal")("ant-menu-submenu-inline", !ctx.isMenuInsideDropDown && ctx.mode === "inline")("ant-menu-submenu-active", !ctx.isMenuInsideDropDown && ctx.isActive)("ant-menu-submenu-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - nzMenuClassName: "nzMenuClassName", - nzPaddingLeft: "nzPaddingLeft", - nzTitle: "nzTitle", - nzIcon: "nzIcon", - nzOpen: "nzOpen", - nzDisabled: "nzDisabled", - nzPlacement: "nzPlacement" - }, - outputs: { - nzOpenChange: "nzOpenChange" - }, - exportAs: ["nzSubmenu"], - standalone: true, - features: [ɵɵProvidersFeature([NzSubmenuService]), ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - attrs: _c5, - ngContentSelectors: _c7, - decls: 8, - vars: 9, - consts: [["nz-submenu-title", "", "cdkOverlayOrigin", "", 3, "nzIcon", "nzTitle", "mode", "nzDisabled", "isMenuInsideDropDown", "paddingLeft", "subMenuMouseState", "toggleSubMenu"], ["origin", "cdkOverlayOrigin"], [4, "ngIf"], ["nz-submenu-inline-child", "", 3, "mode", "nzOpen", "nzNoAnimation", "menuClass", "templateOutlet", 4, "ngIf", "ngIfElse"], ["nonInlineTemplate", ""], ["subMenuTemplate", ""], ["nz-submenu-inline-child", "", 3, "mode", "nzOpen", "nzNoAnimation", "menuClass", "templateOutlet"], ["cdkConnectedOverlay", "", 3, "cdkConnectedOverlayPositions", "cdkConnectedOverlayOrigin", "cdkConnectedOverlayWidth", "cdkConnectedOverlayOpen", "cdkConnectedOverlayTransformOriginOn", "positionChange"], ["nz-submenu-none-inline-child", "", 3, "theme", "mode", "nzOpen", "position", "nzDisabled", "isMenuInsideDropDown", "templateOutlet", "menuClass", "nzNoAnimation", "subMenuMouseState"]], - template: function NzSubMenuComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(_c6); - ɵɵelementStart(0, "div", 0, 1); - ɵɵlistener("subMenuMouseState", function NzSubMenuComponent_Template_div_subMenuMouseState_0_listener($event) { - return ctx.setMouseEnterState($event); - })("toggleSubMenu", function NzSubMenuComponent_Template_div_toggleSubMenu_0_listener() { - return ctx.toggleSubMenu(); - }); - ɵɵtemplate(2, NzSubMenuComponent_ng_content_2_Template, 1, 0, "ng-content", 2); - ɵɵelementEnd(); - ɵɵtemplate(3, NzSubMenuComponent_div_3_Template, 1, 6, "div", 3)(4, NzSubMenuComponent_ng_template_4_Template, 1, 5, "ng-template", null, 4, ɵɵtemplateRefExtractor)(6, NzSubMenuComponent_ng_template_6_Template, 1, 0, "ng-template", null, 5, ɵɵtemplateRefExtractor); - } - if (rf & 2) { - const _r4 = ɵɵreference(5); - ɵɵproperty("nzIcon", ctx.nzIcon)("nzTitle", ctx.nzTitle)("mode", ctx.mode)("nzDisabled", ctx.nzDisabled)("isMenuInsideDropDown", ctx.isMenuInsideDropDown)("paddingLeft", ctx.nzPaddingLeft || ctx.inlinePaddingLeft); - ɵɵadvance(2); - ɵɵproperty("ngIf", !ctx.nzTitle); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx.mode === "inline")("ngIfElse", _r4); - } - }, - dependencies: [NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NgIf, NzNoAnimationDirective, NzSubmenuNoneInlineChildComponent, OverlayModule, CdkConnectedOverlay, CdkOverlayOrigin], - encapsulation: 2, - changeDetection: 0 -}); -var NzSubMenuComponent = _NzSubMenuComponent; -__decorate([InputBoolean()], NzSubMenuComponent.prototype, "nzOpen", void 0); -__decorate([InputBoolean()], NzSubMenuComponent.prototype, "nzDisabled", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzSubMenuComponent, [{ - type: Component, - args: [{ - selector: "[nz-submenu]", - exportAs: "nzSubmenu", - providers: [NzSubmenuService], - encapsulation: ViewEncapsulation$1.None, - changeDetection: ChangeDetectionStrategy.OnPush, - preserveWhitespaces: false, - template: ` -
- -
-
- - -
-
-
- - - - - `, - host: { - "[class.ant-dropdown-menu-submenu]": `isMenuInsideDropDown`, - "[class.ant-dropdown-menu-submenu-disabled]": `isMenuInsideDropDown && nzDisabled`, - "[class.ant-dropdown-menu-submenu-open]": `isMenuInsideDropDown && nzOpen`, - "[class.ant-dropdown-menu-submenu-selected]": `isMenuInsideDropDown && isSelected`, - "[class.ant-dropdown-menu-submenu-vertical]": `isMenuInsideDropDown && mode === 'vertical'`, - "[class.ant-dropdown-menu-submenu-horizontal]": `isMenuInsideDropDown && mode === 'horizontal'`, - "[class.ant-dropdown-menu-submenu-inline]": `isMenuInsideDropDown && mode === 'inline'`, - "[class.ant-dropdown-menu-submenu-active]": `isMenuInsideDropDown && isActive`, - "[class.ant-menu-submenu]": `!isMenuInsideDropDown`, - "[class.ant-menu-submenu-disabled]": `!isMenuInsideDropDown && nzDisabled`, - "[class.ant-menu-submenu-open]": `!isMenuInsideDropDown && nzOpen`, - "[class.ant-menu-submenu-selected]": `!isMenuInsideDropDown && isSelected`, - "[class.ant-menu-submenu-vertical]": `!isMenuInsideDropDown && mode === 'vertical'`, - "[class.ant-menu-submenu-horizontal]": `!isMenuInsideDropDown && mode === 'horizontal'`, - "[class.ant-menu-submenu-inline]": `!isMenuInsideDropDown && mode === 'inline'`, - "[class.ant-menu-submenu-active]": `!isMenuInsideDropDown && isActive`, - "[class.ant-menu-submenu-rtl]": `dir === 'rtl'` - }, - imports: [NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NgIf, NzNoAnimationDirective, NzSubmenuNoneInlineChildComponent, OverlayModule], - standalone: true - }] - }], () => [{ - type: MenuService - }, { - type: ChangeDetectorRef - }, { - type: NzSubmenuService - }, { - type: Platform - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [NzIsMenuInsideDropDownToken] - }] - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }, { - type: NzNoAnimationDirective, - decorators: [{ - type: Host - }, { - type: Optional - }] - }], { - nzMenuClassName: [{ - type: Input - }], - nzPaddingLeft: [{ - type: Input - }], - nzTitle: [{ - type: Input - }], - nzIcon: [{ - type: Input - }], - nzOpen: [{ - type: Input - }], - nzDisabled: [{ - type: Input - }], - nzPlacement: [{ - type: Input - }], - nzOpenChange: [{ - type: Output - }], - cdkOverlayOrigin: [{ - type: ViewChild, - args: [CdkOverlayOrigin, { - static: true, - read: ElementRef - }] - }], - listOfNzSubMenuComponent: [{ - type: ContentChildren, - args: [forwardRef(() => NzSubMenuComponent), { - descendants: true - }] - }], - listOfNzMenuItemDirective: [{ - type: ContentChildren, - args: [NzMenuItemComponent, { - descendants: true - }] - }] - }); -})(); -function MenuServiceFactory() { - const serviceInsideDropDown = inject(MenuService, { - skipSelf: true, - optional: true - }); - const serviceOutsideDropDown = inject(NzMenuServiceLocalToken); - return serviceInsideDropDown ?? serviceOutsideDropDown; -} -function MenuDropDownTokenFactory() { - const isMenuInsideDropDownToken = inject(NzIsMenuInsideDropDownToken, { - skipSelf: true, - optional: true - }); - return isMenuInsideDropDownToken ?? false; -} -var _NzMenuDirective = class _NzMenuDirective { - setInlineCollapsed(inlineCollapsed) { - this.nzInlineCollapsed = inlineCollapsed; - this.inlineCollapsed$.next(inlineCollapsed); - } - updateInlineCollapse() { - if (this.listOfNzMenuItemDirective) { - if (this.nzInlineCollapsed) { - this.listOfOpenedNzSubMenuComponent = this.listOfNzSubMenuComponent.filter((submenu) => submenu.nzOpen); - this.listOfNzSubMenuComponent.forEach((submenu) => submenu.setOpenStateWithoutDebounce(false)); - } else { - this.listOfOpenedNzSubMenuComponent.forEach((submenu) => submenu.setOpenStateWithoutDebounce(true)); - this.listOfOpenedNzSubMenuComponent = []; - } - } - } - constructor(nzMenuService, isMenuInsideDropDown, cdr, directionality) { - this.nzMenuService = nzMenuService; - this.isMenuInsideDropDown = isMenuInsideDropDown; - this.cdr = cdr; - this.directionality = directionality; - this.nzInlineIndent = 24; - this.nzTheme = "light"; - this.nzMode = "vertical"; - this.nzInlineCollapsed = false; - this.nzSelectable = !this.isMenuInsideDropDown; - this.nzClick = new EventEmitter(); - this.actualMode = "vertical"; - this.dir = "ltr"; - this.inlineCollapsed$ = new BehaviorSubject(this.nzInlineCollapsed); - this.mode$ = new BehaviorSubject(this.nzMode); - this.destroy$ = new Subject(); - this.listOfOpenedNzSubMenuComponent = []; - } - ngOnInit() { - combineLatest([this.inlineCollapsed$, this.mode$]).pipe(takeUntil(this.destroy$)).subscribe(([inlineCollapsed, mode]) => { - this.actualMode = inlineCollapsed ? "vertical" : mode; - this.nzMenuService.setMode(this.actualMode); - this.cdr.markForCheck(); - }); - this.nzMenuService.descendantMenuItemClick$.pipe(takeUntil(this.destroy$)).subscribe((menu) => { - this.nzClick.emit(menu); - if (this.nzSelectable && !menu.nzMatchRouter) { - this.listOfNzMenuItemDirective.forEach((item) => item.setSelectedState(item === menu)); - } - }); - this.dir = this.directionality.value; - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.nzMenuService.setMode(this.actualMode); - this.cdr.markForCheck(); - }); - } - ngAfterContentInit() { - this.inlineCollapsed$.pipe(takeUntil(this.destroy$)).subscribe(() => { - this.updateInlineCollapse(); - this.cdr.markForCheck(); - }); - } - ngOnChanges(changes) { - const { - nzInlineCollapsed, - nzInlineIndent, - nzTheme, - nzMode - } = changes; - if (nzInlineCollapsed) { - this.inlineCollapsed$.next(this.nzInlineCollapsed); - } - if (nzInlineIndent) { - this.nzMenuService.setInlineIndent(this.nzInlineIndent); - } - if (nzTheme) { - this.nzMenuService.setTheme(this.nzTheme); - } - if (nzMode) { - this.mode$.next(this.nzMode); - if (!changes.nzMode.isFirstChange() && this.listOfNzSubMenuComponent) { - this.listOfNzSubMenuComponent.forEach((submenu) => submenu.setOpenStateWithoutDebounce(false)); - } - } - } - ngOnDestroy() { - this.destroy$.next(true); - this.destroy$.complete(); - } -}; -_NzMenuDirective.ɵfac = function NzMenuDirective_Factory(t) { - return new (t || _NzMenuDirective)(ɵɵdirectiveInject(MenuService), ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzMenuDirective.ɵdir = ɵɵdefineDirective({ - type: _NzMenuDirective, - selectors: [["", "nz-menu", ""]], - contentQueries: function NzMenuDirective_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, NzMenuItemComponent, 5); - ɵɵcontentQuery(dirIndex, NzSubMenuComponent, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.listOfNzMenuItemDirective = _t); - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.listOfNzSubMenuComponent = _t); - } - }, - hostVars: 34, - hostBindings: function NzMenuDirective_HostBindings(rf, ctx) { - if (rf & 2) { - ɵɵclassProp("ant-dropdown-menu", ctx.isMenuInsideDropDown)("ant-dropdown-menu-root", ctx.isMenuInsideDropDown)("ant-dropdown-menu-light", ctx.isMenuInsideDropDown && ctx.nzTheme === "light")("ant-dropdown-menu-dark", ctx.isMenuInsideDropDown && ctx.nzTheme === "dark")("ant-dropdown-menu-vertical", ctx.isMenuInsideDropDown && ctx.actualMode === "vertical")("ant-dropdown-menu-horizontal", ctx.isMenuInsideDropDown && ctx.actualMode === "horizontal")("ant-dropdown-menu-inline", ctx.isMenuInsideDropDown && ctx.actualMode === "inline")("ant-dropdown-menu-inline-collapsed", ctx.isMenuInsideDropDown && ctx.nzInlineCollapsed)("ant-menu", !ctx.isMenuInsideDropDown)("ant-menu-root", !ctx.isMenuInsideDropDown)("ant-menu-light", !ctx.isMenuInsideDropDown && ctx.nzTheme === "light")("ant-menu-dark", !ctx.isMenuInsideDropDown && ctx.nzTheme === "dark")("ant-menu-vertical", !ctx.isMenuInsideDropDown && ctx.actualMode === "vertical")("ant-menu-horizontal", !ctx.isMenuInsideDropDown && ctx.actualMode === "horizontal")("ant-menu-inline", !ctx.isMenuInsideDropDown && ctx.actualMode === "inline")("ant-menu-inline-collapsed", !ctx.isMenuInsideDropDown && ctx.nzInlineCollapsed)("ant-menu-rtl", ctx.dir === "rtl"); - } - }, - inputs: { - nzInlineIndent: "nzInlineIndent", - nzTheme: "nzTheme", - nzMode: "nzMode", - nzInlineCollapsed: "nzInlineCollapsed", - nzSelectable: "nzSelectable" - }, - outputs: { - nzClick: "nzClick" - }, - exportAs: ["nzMenu"], - standalone: true, - features: [ɵɵProvidersFeature([ - { - provide: NzMenuServiceLocalToken, - useClass: MenuService - }, - /** use the top level service **/ - { - provide: MenuService, - useFactory: MenuServiceFactory - }, - /** check if menu inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useFactory: MenuDropDownTokenFactory - } - ]), ɵɵNgOnChangesFeature] -}); -var NzMenuDirective = _NzMenuDirective; -__decorate([InputBoolean()], NzMenuDirective.prototype, "nzInlineCollapsed", void 0); -__decorate([InputBoolean()], NzMenuDirective.prototype, "nzSelectable", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzMenuDirective, [{ - type: Directive, - args: [{ - selector: "[nz-menu]", - exportAs: "nzMenu", - providers: [ - { - provide: NzMenuServiceLocalToken, - useClass: MenuService - }, - /** use the top level service **/ - { - provide: MenuService, - useFactory: MenuServiceFactory - }, - /** check if menu inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useFactory: MenuDropDownTokenFactory - } - ], - host: { - "[class.ant-dropdown-menu]": `isMenuInsideDropDown`, - "[class.ant-dropdown-menu-root]": `isMenuInsideDropDown`, - "[class.ant-dropdown-menu-light]": `isMenuInsideDropDown && nzTheme === 'light'`, - "[class.ant-dropdown-menu-dark]": `isMenuInsideDropDown && nzTheme === 'dark'`, - "[class.ant-dropdown-menu-vertical]": `isMenuInsideDropDown && actualMode === 'vertical'`, - "[class.ant-dropdown-menu-horizontal]": `isMenuInsideDropDown && actualMode === 'horizontal'`, - "[class.ant-dropdown-menu-inline]": `isMenuInsideDropDown && actualMode === 'inline'`, - "[class.ant-dropdown-menu-inline-collapsed]": `isMenuInsideDropDown && nzInlineCollapsed`, - "[class.ant-menu]": `!isMenuInsideDropDown`, - "[class.ant-menu-root]": `!isMenuInsideDropDown`, - "[class.ant-menu-light]": `!isMenuInsideDropDown && nzTheme === 'light'`, - "[class.ant-menu-dark]": `!isMenuInsideDropDown && nzTheme === 'dark'`, - "[class.ant-menu-vertical]": `!isMenuInsideDropDown && actualMode === 'vertical'`, - "[class.ant-menu-horizontal]": `!isMenuInsideDropDown && actualMode === 'horizontal'`, - "[class.ant-menu-inline]": `!isMenuInsideDropDown && actualMode === 'inline'`, - "[class.ant-menu-inline-collapsed]": `!isMenuInsideDropDown && nzInlineCollapsed`, - "[class.ant-menu-rtl]": `dir === 'rtl'` - }, - standalone: true - }] - }], () => [{ - type: MenuService - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [NzIsMenuInsideDropDownToken] - }] - }, { - type: ChangeDetectorRef - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - listOfNzMenuItemDirective: [{ - type: ContentChildren, - args: [NzMenuItemComponent, { - descendants: true - }] - }], - listOfNzSubMenuComponent: [{ - type: ContentChildren, - args: [NzSubMenuComponent, { - descendants: true - }] - }], - nzInlineIndent: [{ - type: Input - }], - nzTheme: [{ - type: Input - }], - nzMode: [{ - type: Input - }], - nzInlineCollapsed: [{ - type: Input - }], - nzSelectable: [{ - type: Input - }], - nzClick: [{ - type: Output - }] - }); -})(); -function MenuGroupFactory() { - const isMenuInsideDropDownToken = inject(NzIsMenuInsideDropDownToken, { - optional: true, - skipSelf: true - }); - return isMenuInsideDropDownToken ?? false; -} -var _NzMenuGroupComponent = class _NzMenuGroupComponent { - constructor(elementRef, renderer, isMenuInsideDropDown) { - this.elementRef = elementRef; - this.renderer = renderer; - this.isMenuInsideDropDown = isMenuInsideDropDown; - const className = this.isMenuInsideDropDown ? "ant-dropdown-menu-item-group" : "ant-menu-item-group"; - this.renderer.addClass(elementRef.nativeElement, className); - } - ngAfterViewInit() { - const ulElement = this.titleElement.nativeElement.nextElementSibling; - if (ulElement) { - const className = this.isMenuInsideDropDown ? "ant-dropdown-menu-item-group-list" : "ant-menu-item-group-list"; - this.renderer.addClass(ulElement, className); - } - } -}; -_NzMenuGroupComponent.ɵfac = function NzMenuGroupComponent_Factory(t) { - return new (t || _NzMenuGroupComponent)(ɵɵdirectiveInject(ElementRef), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(NzIsMenuInsideDropDownToken)); -}; -_NzMenuGroupComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzMenuGroupComponent, - selectors: [["", "nz-menu-group", ""]], - viewQuery: function NzMenuGroupComponent_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(_c8, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.titleElement = _t.first); - } - }, - inputs: { - nzTitle: "nzTitle" - }, - exportAs: ["nzMenuGroup"], - standalone: true, - features: [ɵɵProvidersFeature([ - /** check if menu inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useFactory: MenuGroupFactory - } - ]), ɵɵStandaloneFeature], - attrs: _c9, - ngContentSelectors: _c11, - decls: 5, - vars: 6, - consts: [["titleElement", ""], [4, "nzStringTemplateOutlet"], [4, "ngIf"]], - template: function NzMenuGroupComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵprojectionDef(_c10); - ɵɵelementStart(0, "div", null, 0); - ɵɵtemplate(2, NzMenuGroupComponent_ng_container_2_Template, 2, 1, "ng-container", 1)(3, NzMenuGroupComponent_ng_content_3_Template, 1, 0, "ng-content", 2); - ɵɵelementEnd(); - ɵɵprojection(4); - } - if (rf & 2) { - ɵɵclassProp("ant-menu-item-group-title", !ctx.isMenuInsideDropDown)("ant-dropdown-menu-item-group-title", ctx.isMenuInsideDropDown); - ɵɵadvance(2); - ɵɵproperty("nzStringTemplateOutlet", ctx.nzTitle); - ɵɵadvance(1); - ɵɵproperty("ngIf", !ctx.nzTitle); - } - }, - dependencies: [NzOutletModule, NzStringTemplateOutletDirective, NgIf], - encapsulation: 2, - changeDetection: 0 -}); -var NzMenuGroupComponent = _NzMenuGroupComponent; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzMenuGroupComponent, [{ - type: Component, - args: [{ - selector: "[nz-menu-group]", - exportAs: "nzMenuGroup", - changeDetection: ChangeDetectionStrategy.OnPush, - providers: [ - /** check if menu inside dropdown-menu component **/ - { - provide: NzIsMenuInsideDropDownToken, - useFactory: MenuGroupFactory - } - ], - encapsulation: ViewEncapsulation$1.None, - template: ` -
- {{ nzTitle }} - -
- - `, - preserveWhitespaces: false, - imports: [NzOutletModule, NgIf], - standalone: true - }] - }], () => [{ - type: ElementRef - }, { - type: Renderer2 - }, { - type: void 0, - decorators: [{ - type: Inject, - args: [NzIsMenuInsideDropDownToken] - }] - }], { - nzTitle: [{ - type: Input - }], - titleElement: [{ - type: ViewChild, - args: ["titleElement"] - }] - }); -})(); -var _NzMenuDividerDirective = class _NzMenuDividerDirective { - constructor(elementRef) { - this.elementRef = elementRef; - } -}; -_NzMenuDividerDirective.ɵfac = function NzMenuDividerDirective_Factory(t) { - return new (t || _NzMenuDividerDirective)(ɵɵdirectiveInject(ElementRef)); -}; -_NzMenuDividerDirective.ɵdir = ɵɵdefineDirective({ - type: _NzMenuDividerDirective, - selectors: [["", "nz-menu-divider", ""]], - hostAttrs: [1, "ant-dropdown-menu-item-divider"], - exportAs: ["nzMenuDivider"], - standalone: true -}); -var NzMenuDividerDirective = _NzMenuDividerDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzMenuDividerDirective, [{ - type: Directive, - args: [{ - selector: "[nz-menu-divider]", - exportAs: "nzMenuDivider", - host: { - class: "ant-dropdown-menu-item-divider" - }, - standalone: true - }] - }], () => [{ - type: ElementRef - }], null); -})(); -var _NzMenuModule = class _NzMenuModule { -}; -_NzMenuModule.ɵfac = function NzMenuModule_Factory(t) { - return new (t || _NzMenuModule)(); -}; -_NzMenuModule.ɵmod = ɵɵdefineNgModule({ - type: _NzMenuModule, - imports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent, NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent], - exports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent] -}); -_NzMenuModule.ɵinj = ɵɵdefineInjector({ - imports: [NzSubMenuComponent, NzMenuGroupComponent, NzSubMenuTitleComponent] -}); -var NzMenuModule = _NzMenuModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzMenuModule, [{ - type: NgModule, - args: [{ - imports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent, NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent], - exports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent] - }] - }], null, null); -})(); - -export { - NzIsMenuInsideDropDownToken, - NzMenuServiceLocalToken, - MenuService, - NzSubmenuService, - NzMenuItemComponent, - NzSubmenuInlineChildComponent, - NzSubmenuNoneInlineChildComponent, - NzSubMenuTitleComponent, - NzSubMenuComponent, - MenuServiceFactory, - MenuDropDownTokenFactory, - NzMenuDirective, - MenuGroupFactory, - NzMenuGroupComponent, - NzMenuDividerDirective, - NzMenuModule -}; -//# sourceMappingURL=chunk-WKTPWT5U.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js.map b/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js.map deleted file mode 100644 index d396f7c..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-WKTPWT5U.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-menu.mjs"], - "sourcesContent": ["import { __decorate } from 'tslib';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, SkipSelf, Optional, Inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, EventEmitter, Output, ElementRef, Host, ViewChild, forwardRef, inject, Directive, NgModule } from '@angular/core';\nimport { Subject, BehaviorSubject, merge, combineLatest } from 'rxjs';\nimport { map, mergeMap, filter, mapTo, auditTime, distinctUntilChanged, takeUntil, startWith, switchMap } from 'rxjs/operators';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\nimport * as i4 from '@angular/router';\nimport { NavigationEnd, RouterLink } from '@angular/router';\nimport * as i1 from '@angular/cdk/bidi';\nimport * as i6 from '@angular/cdk/overlay';\nimport { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet, NgClass, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\nimport * as i5 from 'ng-zorro-antd/core/no-animation';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { POSITION_MAP, getPlacementName } from 'ng-zorro-antd/core/overlay';\nimport { collapseMotion, zoomBigMotion, slideMotion } from 'ng-zorro-antd/core/animation';\nimport * as i3 from 'ng-zorro-antd/core/outlet';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport * as i2 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport * as i3$1 from '@angular/cdk/platform';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst _c0 = [\"nz-menu-item\", \"\"];\nconst _c1 = [\"*\"];\nconst _c2 = [\"nz-submenu-inline-child\", \"\"];\nfunction NzSubmenuInlineChildComponent_ng_template_0_Template(rf, ctx) {}\nconst _c3 = [\"nz-submenu-none-inline-child\", \"\"];\nfunction NzSubmenuNoneInlineChildComponent_ng_template_1_Template(rf, ctx) {}\nconst _c4 = [\"nz-submenu-title\", \"\"];\nfunction NzSubMenuTitleComponent_span_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 4);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"nzType\", ctx_r0.nzIcon);\n }\n}\nfunction NzSubMenuTitleComponent_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelementStart(1, \"span\", 5);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate(ctx_r1.nzTitle);\n }\n}\nfunction NzSubMenuTitleComponent_span_3_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 9);\n }\n}\nfunction NzSubMenuTitleComponent_span_3_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 10);\n }\n}\nfunction NzSubMenuTitleComponent_span_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 6);\n i0.ɵɵtemplate(1, NzSubMenuTitleComponent_span_3_span_1_Template, 1, 0, \"span\", 7)(2, NzSubMenuTitleComponent_span_3_span_2_Template, 1, 0, \"span\", 8);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngSwitch\", ctx_r2.dir);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngSwitchCase\", \"rtl\");\n }\n}\nfunction NzSubMenuTitleComponent_ng_template_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 11);\n }\n}\nconst _c5 = [\"nz-submenu\", \"\"];\nfunction NzSubMenuComponent_ng_content_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 0, [\"*ngIf\", \"!nzTitle\"]);\n }\n}\nfunction NzSubMenuComponent_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 6);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n const _r6 = i0.ɵɵreference(7);\n i0.ɵɵproperty(\"mode\", ctx_r2.mode)(\"nzOpen\", ctx_r2.nzOpen)(\"@.disabled\", !!(ctx_r2.noAnimation == null ? null : ctx_r2.noAnimation.nzNoAnimation))(\"nzNoAnimation\", ctx_r2.noAnimation == null ? null : ctx_r2.noAnimation.nzNoAnimation)(\"menuClass\", ctx_r2.nzMenuClassName)(\"templateOutlet\", _r6);\n }\n}\nfunction NzSubMenuComponent_ng_template_4_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 8);\n i0.ɵɵlistener(\"subMenuMouseState\", function NzSubMenuComponent_ng_template_4_ng_template_0_Template_div_subMenuMouseState_0_listener($event) {\n i0.ɵɵrestoreView(_r9);\n const ctx_r8 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r8.setMouseEnterState($event));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r7 = i0.ɵɵnextContext(2);\n const _r6 = i0.ɵɵreference(7);\n i0.ɵɵproperty(\"theme\", ctx_r7.theme)(\"mode\", ctx_r7.mode)(\"nzOpen\", ctx_r7.nzOpen)(\"position\", ctx_r7.position)(\"nzDisabled\", ctx_r7.nzDisabled)(\"isMenuInsideDropDown\", ctx_r7.isMenuInsideDropDown)(\"templateOutlet\", _r6)(\"menuClass\", ctx_r7.nzMenuClassName)(\"@.disabled\", !!(ctx_r7.noAnimation == null ? null : ctx_r7.noAnimation.nzNoAnimation))(\"nzNoAnimation\", ctx_r7.noAnimation == null ? null : ctx_r7.noAnimation.nzNoAnimation);\n }\n}\nfunction NzSubMenuComponent_ng_template_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r11 = i0.ɵɵgetCurrentView();\n i0.ɵɵtemplate(0, NzSubMenuComponent_ng_template_4_ng_template_0_Template, 1, 10, \"ng-template\", 7);\n i0.ɵɵlistener(\"positionChange\", function NzSubMenuComponent_ng_template_4_Template_ng_template_positionChange_0_listener($event) {\n i0.ɵɵrestoreView(_r11);\n const ctx_r10 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r10.onPositionChange($event));\n });\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext();\n const _r0 = i0.ɵɵreference(1);\n i0.ɵɵproperty(\"cdkConnectedOverlayPositions\", ctx_r3.overlayPositions)(\"cdkConnectedOverlayOrigin\", _r0)(\"cdkConnectedOverlayWidth\", ctx_r3.triggerWidth)(\"cdkConnectedOverlayOpen\", ctx_r3.nzOpen)(\"cdkConnectedOverlayTransformOriginOn\", \".ant-menu-submenu\");\n }\n}\nfunction NzSubMenuComponent_ng_template_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 1);\n }\n}\nconst _c6 = [[[\"\", \"title\", \"\"]], \"*\"];\nconst _c7 = [\"[title]\", \"*\"];\nconst _c8 = [\"titleElement\"];\nconst _c9 = [\"nz-menu-group\", \"\"];\nfunction NzMenuGroupComponent_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtext(1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate(ctx_r1.nzTitle);\n }\n}\nfunction NzMenuGroupComponent_ng_content_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 1, [\"*ngIf\", \"!nzTitle\"]);\n }\n}\nconst _c10 = [\"*\", [[\"\", \"title\", \"\"]]];\nconst _c11 = [\"*\", \"[title]\"];\nconst NzIsMenuInsideDropDownToken = new InjectionToken('NzIsInDropDownMenuToken');\nconst NzMenuServiceLocalToken = new InjectionToken('NzMenuServiceLocalToken');\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass MenuService {\n constructor() {\n /** all descendant menu click **/\n this.descendantMenuItemClick$ = new Subject();\n /** child menu item click **/\n this.childMenuItemClick$ = new Subject();\n this.theme$ = new BehaviorSubject('light');\n this.mode$ = new BehaviorSubject('vertical');\n this.inlineIndent$ = new BehaviorSubject(24);\n this.isChildSubMenuOpen$ = new BehaviorSubject(false);\n }\n onDescendantMenuItemClick(menu) {\n this.descendantMenuItemClick$.next(menu);\n }\n onChildMenuItemClick(menu) {\n this.childMenuItemClick$.next(menu);\n }\n setMode(mode) {\n this.mode$.next(mode);\n }\n setTheme(theme) {\n this.theme$.next(theme);\n }\n setInlineIndent(indent) {\n this.inlineIndent$.next(indent);\n }\n static {\n this.ɵfac = function MenuService_Factory(t) {\n return new (t || MenuService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MenuService,\n factory: MenuService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(MenuService, [{\n type: Injectable\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzSubmenuService {\n /**\n * menu item inside submenu clicked\n *\n * @param menu\n */\n onChildMenuItemClick(menu) {\n this.childMenuItemClick$.next(menu);\n }\n setOpenStateWithoutDebounce(value) {\n this.isCurrentSubMenuOpen$.next(value);\n }\n setMouseEnterTitleOrOverlayState(value) {\n this.isMouseEnterTitleOrOverlay$.next(value);\n }\n constructor(nzHostSubmenuService, nzMenuService, isMenuInsideDropDown) {\n this.nzHostSubmenuService = nzHostSubmenuService;\n this.nzMenuService = nzMenuService;\n this.isMenuInsideDropDown = isMenuInsideDropDown;\n this.mode$ = this.nzMenuService.mode$.pipe(map(mode => {\n if (mode === 'inline') {\n return 'inline';\n /** if inside another submenu, set the mode to vertical **/\n } else if (mode === 'vertical' || this.nzHostSubmenuService) {\n return 'vertical';\n } else {\n return 'horizontal';\n }\n }));\n this.level = 1;\n this.isCurrentSubMenuOpen$ = new BehaviorSubject(false);\n this.isChildSubMenuOpen$ = new BehaviorSubject(false);\n /** submenu title & overlay mouse enter status **/\n this.isMouseEnterTitleOrOverlay$ = new Subject();\n this.childMenuItemClick$ = new Subject();\n this.destroy$ = new Subject();\n if (this.nzHostSubmenuService) {\n this.level = this.nzHostSubmenuService.level + 1;\n }\n /** close if menu item clicked **/\n const isClosedByMenuItemClick = this.childMenuItemClick$.pipe(mergeMap(() => this.mode$), filter(mode => mode !== 'inline' || this.isMenuInsideDropDown), mapTo(false));\n const isCurrentSubmenuOpen$ = merge(this.isMouseEnterTitleOrOverlay$, isClosedByMenuItemClick);\n /** combine the child submenu status with current submenu status to calculate host submenu open **/\n const isSubMenuOpenWithDebounce$ = combineLatest([this.isChildSubMenuOpen$, isCurrentSubmenuOpen$]).pipe(map(([isChildSubMenuOpen, isCurrentSubmenuOpen]) => isChildSubMenuOpen || isCurrentSubmenuOpen), auditTime(150), distinctUntilChanged(), takeUntil(this.destroy$));\n isSubMenuOpenWithDebounce$.pipe(distinctUntilChanged()).subscribe(data => {\n this.setOpenStateWithoutDebounce(data);\n if (this.nzHostSubmenuService) {\n /** set parent submenu's child submenu open status **/\n this.nzHostSubmenuService.isChildSubMenuOpen$.next(data);\n } else {\n this.nzMenuService.isChildSubMenuOpen$.next(data);\n }\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzSubmenuService_Factory(t) {\n return new (t || NzSubmenuService)(i0.ɵɵinject(NzSubmenuService, 12), i0.ɵɵinject(MenuService), i0.ɵɵinject(NzIsMenuInsideDropDownToken));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzSubmenuService,\n factory: NzSubmenuService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSubmenuService, [{\n type: Injectable\n }], () => [{\n type: NzSubmenuService,\n decorators: [{\n type: SkipSelf\n }, {\n type: Optional\n }]\n }, {\n type: MenuService\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NzIsMenuInsideDropDownToken]\n }]\n }], null);\n})();\nclass NzMenuItemComponent {\n /** clear all item selected status except this */\n clickMenuItem(e) {\n if (this.nzDisabled) {\n e.preventDefault();\n e.stopPropagation();\n } else {\n this.nzMenuService.onDescendantMenuItemClick(this);\n if (this.nzSubmenuService) {\n /** menu item inside the submenu **/\n this.nzSubmenuService.onChildMenuItemClick(this);\n } else {\n /** menu item inside the root menu **/\n this.nzMenuService.onChildMenuItemClick(this);\n }\n }\n }\n setSelectedState(value) {\n this.nzSelected = value;\n this.selected$.next(value);\n }\n updateRouterActive() {\n if (!this.listOfRouterLink || !this.router || !this.router.navigated || !this.nzMatchRouter) {\n return;\n }\n Promise.resolve().then(() => {\n const hasActiveLinks = this.hasActiveLinks();\n if (this.nzSelected !== hasActiveLinks) {\n this.nzSelected = hasActiveLinks;\n this.setSelectedState(this.nzSelected);\n this.cdr.markForCheck();\n }\n });\n }\n hasActiveLinks() {\n const isActiveCheckFn = this.isLinkActive(this.router);\n return this.routerLink && isActiveCheckFn(this.routerLink) || this.listOfRouterLink.some(isActiveCheckFn);\n }\n isLinkActive(router) {\n return link => router.isActive(link.urlTree || '', {\n paths: this.nzMatchRouterExact ? 'exact' : 'subset',\n queryParams: this.nzMatchRouterExact ? 'exact' : 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored'\n });\n }\n constructor(nzMenuService, cdr, nzSubmenuService, isMenuInsideDropDown, directionality, routerLink, router) {\n this.nzMenuService = nzMenuService;\n this.cdr = cdr;\n this.nzSubmenuService = nzSubmenuService;\n this.isMenuInsideDropDown = isMenuInsideDropDown;\n this.directionality = directionality;\n this.routerLink = routerLink;\n this.router = router;\n this.destroy$ = new Subject();\n this.level = this.nzSubmenuService ? this.nzSubmenuService.level + 1 : 1;\n this.selected$ = new Subject();\n this.inlinePaddingLeft = null;\n this.dir = 'ltr';\n this.nzDisabled = false;\n this.nzSelected = false;\n this.nzDanger = false;\n this.nzMatchRouterExact = false;\n this.nzMatchRouter = false;\n if (router) {\n this.router.events.pipe(takeUntil(this.destroy$), filter(e => e instanceof NavigationEnd)).subscribe(() => {\n this.updateRouterActive();\n });\n }\n }\n ngOnInit() {\n /** store origin padding in padding */\n combineLatest([this.nzMenuService.mode$, this.nzMenuService.inlineIndent$]).pipe(takeUntil(this.destroy$)).subscribe(([mode, inlineIndent]) => {\n this.inlinePaddingLeft = mode === 'inline' ? this.level * inlineIndent : null;\n });\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n });\n }\n ngAfterContentInit() {\n this.listOfRouterLink.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.updateRouterActive());\n this.updateRouterActive();\n }\n ngOnChanges(changes) {\n if (changes.nzSelected) {\n this.setSelectedState(this.nzSelected);\n }\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzMenuItemComponent_Factory(t) {\n return new (t || NzMenuItemComponent)(i0.ɵɵdirectiveInject(MenuService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(NzSubmenuService, 8), i0.ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), i0.ɵɵdirectiveInject(i1.Directionality, 8), i0.ɵɵdirectiveInject(i4.RouterLink, 8), i0.ɵɵdirectiveInject(i4.Router, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzMenuItemComponent,\n selectors: [[\"\", \"nz-menu-item\", \"\"]],\n contentQueries: function NzMenuItemComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, RouterLink, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listOfRouterLink = _t);\n }\n },\n hostVars: 20,\n hostBindings: function NzMenuItemComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function NzMenuItemComponent_click_HostBindingHandler($event) {\n return ctx.clickMenuItem($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"padding-left\", ctx.dir === \"rtl\" ? null : ctx.nzPaddingLeft || ctx.inlinePaddingLeft, \"px\")(\"padding-right\", ctx.dir === \"rtl\" ? ctx.nzPaddingLeft || ctx.inlinePaddingLeft : null, \"px\");\n i0.ɵɵclassProp(\"ant-dropdown-menu-item\", ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-item-selected\", ctx.isMenuInsideDropDown && ctx.nzSelected)(\"ant-dropdown-menu-item-danger\", ctx.isMenuInsideDropDown && ctx.nzDanger)(\"ant-dropdown-menu-item-disabled\", ctx.isMenuInsideDropDown && ctx.nzDisabled)(\"ant-menu-item\", !ctx.isMenuInsideDropDown)(\"ant-menu-item-selected\", !ctx.isMenuInsideDropDown && ctx.nzSelected)(\"ant-menu-item-danger\", !ctx.isMenuInsideDropDown && ctx.nzDanger)(\"ant-menu-item-disabled\", !ctx.isMenuInsideDropDown && ctx.nzDisabled);\n }\n },\n inputs: {\n nzPaddingLeft: \"nzPaddingLeft\",\n nzDisabled: \"nzDisabled\",\n nzSelected: \"nzSelected\",\n nzDanger: \"nzDanger\",\n nzMatchRouterExact: \"nzMatchRouterExact\",\n nzMatchRouter: \"nzMatchRouter\"\n },\n exportAs: [\"nzMenuItem\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n attrs: _c0,\n ngContentSelectors: _c1,\n decls: 2,\n vars: 0,\n consts: [[1, \"ant-menu-title-content\"]],\n template: function NzMenuItemComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"span\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵelementEnd();\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n__decorate([InputBoolean()], NzMenuItemComponent.prototype, \"nzDisabled\", void 0);\n__decorate([InputBoolean()], NzMenuItemComponent.prototype, \"nzSelected\", void 0);\n__decorate([InputBoolean()], NzMenuItemComponent.prototype, \"nzDanger\", void 0);\n__decorate([InputBoolean()], NzMenuItemComponent.prototype, \"nzMatchRouterExact\", void 0);\n__decorate([InputBoolean()], NzMenuItemComponent.prototype, \"nzMatchRouter\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzMenuItemComponent, [{\n type: Component,\n args: [{\n selector: '[nz-menu-item]',\n exportAs: 'nzMenuItem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n template: `\n \n \n \n `,\n host: {\n '[class.ant-dropdown-menu-item]': `isMenuInsideDropDown`,\n '[class.ant-dropdown-menu-item-selected]': `isMenuInsideDropDown && nzSelected`,\n '[class.ant-dropdown-menu-item-danger]': `isMenuInsideDropDown && nzDanger`,\n '[class.ant-dropdown-menu-item-disabled]': `isMenuInsideDropDown && nzDisabled`,\n '[class.ant-menu-item]': `!isMenuInsideDropDown`,\n '[class.ant-menu-item-selected]': `!isMenuInsideDropDown && nzSelected`,\n '[class.ant-menu-item-danger]': `!isMenuInsideDropDown && nzDanger`,\n '[class.ant-menu-item-disabled]': `!isMenuInsideDropDown && nzDisabled`,\n '[style.paddingLeft.px]': `dir === 'rtl' ? null : nzPaddingLeft || inlinePaddingLeft`,\n '[style.paddingRight.px]': `dir === 'rtl' ? nzPaddingLeft || inlinePaddingLeft : null`,\n '(click)': 'clickMenuItem($event)'\n },\n standalone: true\n }]\n }], () => [{\n type: MenuService\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: NzSubmenuService,\n decorators: [{\n type: Optional\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NzIsMenuInsideDropDownToken]\n }]\n }, {\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i4.RouterLink,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i4.Router,\n decorators: [{\n type: Optional\n }]\n }], {\n nzPaddingLeft: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input\n }],\n nzSelected: [{\n type: Input\n }],\n nzDanger: [{\n type: Input\n }],\n nzMatchRouterExact: [{\n type: Input\n }],\n nzMatchRouter: [{\n type: Input\n }],\n listOfRouterLink: [{\n type: ContentChildren,\n args: [RouterLink, {\n descendants: true\n }]\n }]\n });\n})();\nclass NzSubmenuInlineChildComponent {\n constructor(elementRef, renderer, directionality) {\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.directionality = directionality;\n this.templateOutlet = null;\n this.menuClass = '';\n this.mode = 'vertical';\n this.nzOpen = false;\n this.listOfCacheClassName = [];\n this.expandState = 'collapsed';\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n calcMotionState() {\n if (this.nzOpen) {\n this.expandState = 'expanded';\n } else {\n this.expandState = 'collapsed';\n }\n }\n ngOnInit() {\n this.calcMotionState();\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n });\n }\n ngOnChanges(changes) {\n const {\n mode,\n nzOpen,\n menuClass\n } = changes;\n if (mode || nzOpen) {\n this.calcMotionState();\n }\n if (menuClass) {\n if (this.listOfCacheClassName.length) {\n this.listOfCacheClassName.filter(item => !!item).forEach(className => {\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n });\n }\n if (this.menuClass) {\n this.listOfCacheClassName = this.menuClass.split(' ');\n this.listOfCacheClassName.filter(item => !!item).forEach(className => {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n });\n }\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzSubmenuInlineChildComponent_Factory(t) {\n return new (t || NzSubmenuInlineChildComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzSubmenuInlineChildComponent,\n selectors: [[\"\", \"nz-submenu-inline-child\", \"\"]],\n hostAttrs: [1, \"ant-menu\", \"ant-menu-inline\", \"ant-menu-sub\"],\n hostVars: 3,\n hostBindings: function NzSubmenuInlineChildComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵsyntheticHostProperty(\"@collapseMotion\", ctx.expandState);\n i0.ɵɵclassProp(\"ant-menu-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n templateOutlet: \"templateOutlet\",\n menuClass: \"menuClass\",\n mode: \"mode\",\n nzOpen: \"nzOpen\"\n },\n exportAs: [\"nzSubmenuInlineChild\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n attrs: _c2,\n decls: 1,\n vars: 1,\n consts: [[3, \"ngTemplateOutlet\"]],\n template: function NzSubmenuInlineChildComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzSubmenuInlineChildComponent_ng_template_0_Template, 0, 0, \"ng-template\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.templateOutlet);\n }\n },\n dependencies: [NgTemplateOutlet],\n encapsulation: 2,\n data: {\n animation: [collapseMotion]\n },\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSubmenuInlineChildComponent, [{\n type: Component,\n args: [{\n selector: '[nz-submenu-inline-child]',\n animations: [collapseMotion],\n exportAs: 'nzSubmenuInlineChild',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` `,\n host: {\n class: 'ant-menu ant-menu-inline ant-menu-sub',\n '[class.ant-menu-rtl]': `dir === 'rtl'`,\n '[@collapseMotion]': 'expandState'\n },\n imports: [NgTemplateOutlet],\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n templateOutlet: [{\n type: Input\n }],\n menuClass: [{\n type: Input\n }],\n mode: [{\n type: Input\n }],\n nzOpen: [{\n type: Input\n }]\n });\n})();\nclass NzSubmenuNoneInlineChildComponent {\n constructor(directionality) {\n this.directionality = directionality;\n this.menuClass = '';\n this.theme = 'light';\n this.templateOutlet = null;\n this.isMenuInsideDropDown = false;\n this.mode = 'vertical';\n this.position = 'right';\n this.nzDisabled = false;\n this.nzOpen = false;\n this.subMenuMouseState = new EventEmitter();\n this.expandState = 'collapsed';\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n setMouseState(state) {\n if (!this.nzDisabled) {\n this.subMenuMouseState.next(state);\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n calcMotionState() {\n if (this.nzOpen) {\n if (this.mode === 'horizontal') {\n this.expandState = 'bottom';\n } else if (this.mode === 'vertical') {\n this.expandState = 'active';\n }\n } else {\n this.expandState = 'collapsed';\n }\n }\n ngOnInit() {\n this.calcMotionState();\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n });\n }\n ngOnChanges(changes) {\n const {\n mode,\n nzOpen\n } = changes;\n if (mode || nzOpen) {\n this.calcMotionState();\n }\n }\n static {\n this.ɵfac = function NzSubmenuNoneInlineChildComponent_Factory(t) {\n return new (t || NzSubmenuNoneInlineChildComponent)(i0.ɵɵdirectiveInject(i1.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzSubmenuNoneInlineChildComponent,\n selectors: [[\"\", \"nz-submenu-none-inline-child\", \"\"]],\n hostAttrs: [1, \"ant-menu-submenu\", \"ant-menu-submenu-popup\"],\n hostVars: 14,\n hostBindings: function NzSubmenuNoneInlineChildComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"mouseenter\", function NzSubmenuNoneInlineChildComponent_mouseenter_HostBindingHandler() {\n return ctx.setMouseState(true);\n })(\"mouseleave\", function NzSubmenuNoneInlineChildComponent_mouseleave_HostBindingHandler() {\n return ctx.setMouseState(false);\n });\n }\n if (rf & 2) {\n i0.ɵɵsyntheticHostProperty(\"@slideMotion\", ctx.expandState)(\"@zoomBigMotion\", ctx.expandState);\n i0.ɵɵclassProp(\"ant-menu-light\", ctx.theme === \"light\")(\"ant-menu-dark\", ctx.theme === \"dark\")(\"ant-menu-submenu-placement-bottom\", ctx.mode === \"horizontal\")(\"ant-menu-submenu-placement-right\", ctx.mode === \"vertical\" && ctx.position === \"right\")(\"ant-menu-submenu-placement-left\", ctx.mode === \"vertical\" && ctx.position === \"left\")(\"ant-menu-submenu-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n menuClass: \"menuClass\",\n theme: \"theme\",\n templateOutlet: \"templateOutlet\",\n isMenuInsideDropDown: \"isMenuInsideDropDown\",\n mode: \"mode\",\n position: \"position\",\n nzDisabled: \"nzDisabled\",\n nzOpen: \"nzOpen\"\n },\n outputs: {\n subMenuMouseState: \"subMenuMouseState\"\n },\n exportAs: [\"nzSubmenuNoneInlineChild\"],\n standalone: true,\n features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n attrs: _c3,\n decls: 2,\n vars: 16,\n consts: [[3, \"ngClass\"], [3, \"ngTemplateOutlet\"]],\n template: function NzSubmenuNoneInlineChildComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 0);\n i0.ɵɵtemplate(1, NzSubmenuNoneInlineChildComponent_ng_template_1_Template, 0, 0, \"ng-template\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-dropdown-menu\", ctx.isMenuInsideDropDown)(\"ant-menu\", !ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-vertical\", ctx.isMenuInsideDropDown)(\"ant-menu-vertical\", !ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-sub\", ctx.isMenuInsideDropDown)(\"ant-menu-sub\", !ctx.isMenuInsideDropDown)(\"ant-menu-rtl\", ctx.dir === \"rtl\");\n i0.ɵɵproperty(\"ngClass\", ctx.menuClass);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.templateOutlet);\n }\n },\n dependencies: [NgClass, NgTemplateOutlet],\n encapsulation: 2,\n data: {\n animation: [zoomBigMotion, slideMotion]\n },\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSubmenuNoneInlineChildComponent, [{\n type: Component,\n args: [{\n selector: '[nz-submenu-none-inline-child]',\n exportAs: 'nzSubmenuNoneInlineChild',\n encapsulation: ViewEncapsulation.None,\n animations: [zoomBigMotion, slideMotion],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n \n \n
\n `,\n host: {\n class: 'ant-menu-submenu ant-menu-submenu-popup',\n '[class.ant-menu-light]': \"theme === 'light'\",\n '[class.ant-menu-dark]': \"theme === 'dark'\",\n '[class.ant-menu-submenu-placement-bottom]': \"mode === 'horizontal'\",\n '[class.ant-menu-submenu-placement-right]': \"mode === 'vertical' && position === 'right'\",\n '[class.ant-menu-submenu-placement-left]': \"mode === 'vertical' && position === 'left'\",\n '[class.ant-menu-submenu-rtl]': 'dir ===\"rtl\"',\n '[@slideMotion]': 'expandState',\n '[@zoomBigMotion]': 'expandState',\n '(mouseenter)': 'setMouseState(true)',\n '(mouseleave)': 'setMouseState(false)'\n },\n imports: [NgClass, NgTemplateOutlet],\n standalone: true\n }]\n }], () => [{\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n menuClass: [{\n type: Input\n }],\n theme: [{\n type: Input\n }],\n templateOutlet: [{\n type: Input\n }],\n isMenuInsideDropDown: [{\n type: Input\n }],\n mode: [{\n type: Input\n }],\n position: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input\n }],\n nzOpen: [{\n type: Input\n }],\n subMenuMouseState: [{\n type: Output\n }]\n });\n})();\nclass NzSubMenuTitleComponent {\n constructor(cdr, directionality) {\n this.cdr = cdr;\n this.directionality = directionality;\n this.nzIcon = null;\n this.nzTitle = null;\n this.isMenuInsideDropDown = false;\n this.nzDisabled = false;\n this.paddingLeft = null;\n this.mode = 'vertical';\n this.toggleSubMenu = new EventEmitter();\n this.subMenuMouseState = new EventEmitter();\n this.dir = 'ltr';\n this.destroy$ = new Subject();\n }\n ngOnInit() {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n setMouseState(state) {\n if (!this.nzDisabled) {\n this.subMenuMouseState.next(state);\n }\n }\n clickTitle() {\n if (this.mode === 'inline' && !this.nzDisabled) {\n this.toggleSubMenu.emit();\n }\n }\n static {\n this.ɵfac = function NzSubMenuTitleComponent_Factory(t) {\n return new (t || NzSubMenuTitleComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzSubMenuTitleComponent,\n selectors: [[\"\", \"nz-submenu-title\", \"\"]],\n hostVars: 8,\n hostBindings: function NzSubMenuTitleComponent_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function NzSubMenuTitleComponent_click_HostBindingHandler() {\n return ctx.clickTitle();\n })(\"mouseenter\", function NzSubMenuTitleComponent_mouseenter_HostBindingHandler() {\n return ctx.setMouseState(true);\n })(\"mouseleave\", function NzSubMenuTitleComponent_mouseleave_HostBindingHandler() {\n return ctx.setMouseState(false);\n });\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"padding-left\", ctx.dir === \"rtl\" ? null : ctx.paddingLeft, \"px\")(\"padding-right\", ctx.dir === \"rtl\" ? ctx.paddingLeft : null, \"px\");\n i0.ɵɵclassProp(\"ant-dropdown-menu-submenu-title\", ctx.isMenuInsideDropDown)(\"ant-menu-submenu-title\", !ctx.isMenuInsideDropDown);\n }\n },\n inputs: {\n nzIcon: \"nzIcon\",\n nzTitle: \"nzTitle\",\n isMenuInsideDropDown: \"isMenuInsideDropDown\",\n nzDisabled: \"nzDisabled\",\n paddingLeft: \"paddingLeft\",\n mode: \"mode\"\n },\n outputs: {\n toggleSubMenu: \"toggleSubMenu\",\n subMenuMouseState: \"subMenuMouseState\"\n },\n exportAs: [\"nzSubmenuTitle\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n attrs: _c4,\n ngContentSelectors: _c1,\n decls: 6,\n vars: 4,\n consts: [[\"nz-icon\", \"\", 3, \"nzType\", 4, \"ngIf\"], [4, \"nzStringTemplateOutlet\"], [\"class\", \"ant-dropdown-menu-submenu-expand-icon\", 3, \"ngSwitch\", 4, \"ngIf\", \"ngIfElse\"], [\"notDropdownTpl\", \"\"], [\"nz-icon\", \"\", 3, \"nzType\"], [1, \"ant-menu-title-content\"], [1, \"ant-dropdown-menu-submenu-expand-icon\", 3, \"ngSwitch\"], [\"nz-icon\", \"\", \"nzType\", \"left\", \"class\", \"ant-dropdown-menu-submenu-arrow-icon\", 4, \"ngSwitchCase\"], [\"nz-icon\", \"\", \"nzType\", \"right\", \"class\", \"ant-dropdown-menu-submenu-arrow-icon\", 4, \"ngSwitchDefault\"], [\"nz-icon\", \"\", \"nzType\", \"left\", 1, \"ant-dropdown-menu-submenu-arrow-icon\"], [\"nz-icon\", \"\", \"nzType\", \"right\", 1, \"ant-dropdown-menu-submenu-arrow-icon\"], [1, \"ant-menu-submenu-arrow\"]],\n template: function NzSubMenuTitleComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵtemplate(0, NzSubMenuTitleComponent_span_0_Template, 1, 1, \"span\", 0)(1, NzSubMenuTitleComponent_ng_container_1_Template, 3, 1, \"ng-container\", 1);\n i0.ɵɵprojection(2);\n i0.ɵɵtemplate(3, NzSubMenuTitleComponent_span_3_Template, 3, 2, \"span\", 2)(4, NzSubMenuTitleComponent_ng_template_4_Template, 1, 0, \"ng-template\", null, 3, i0.ɵɵtemplateRefExtractor);\n }\n if (rf & 2) {\n const _r4 = i0.ɵɵreference(5);\n i0.ɵɵproperty(\"ngIf\", ctx.nzIcon);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx.nzTitle);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.isMenuInsideDropDown)(\"ngIfElse\", _r4);\n }\n },\n dependencies: [NzIconModule, i2.NzIconDirective, NgIf, NzOutletModule, i3.NzStringTemplateOutletDirective, NgSwitch, NgSwitchCase, NgSwitchDefault],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSubMenuTitleComponent, [{\n type: Component,\n args: [{\n selector: '[nz-submenu-title]',\n exportAs: 'nzSubmenuTitle',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n \n \n {{ nzTitle }}\n \n \n \n \n \n \n \n \n \n `,\n host: {\n '[class.ant-dropdown-menu-submenu-title]': 'isMenuInsideDropDown',\n '[class.ant-menu-submenu-title]': '!isMenuInsideDropDown',\n '[style.paddingLeft.px]': `dir === 'rtl' ? null : paddingLeft `,\n '[style.paddingRight.px]': `dir === 'rtl' ? paddingLeft : null`,\n '(click)': 'clickTitle()',\n '(mouseenter)': 'setMouseState(true)',\n '(mouseleave)': 'setMouseState(false)'\n },\n imports: [NzIconModule, NgIf, NzOutletModule, NgSwitch, NgSwitchCase, NgSwitchDefault],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzIcon: [{\n type: Input\n }],\n nzTitle: [{\n type: Input\n }],\n isMenuInsideDropDown: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input\n }],\n paddingLeft: [{\n type: Input\n }],\n mode: [{\n type: Input\n }],\n toggleSubMenu: [{\n type: Output\n }],\n subMenuMouseState: [{\n type: Output\n }]\n });\n})();\nconst listOfVerticalPositions = [POSITION_MAP.rightTop, POSITION_MAP.right, POSITION_MAP.rightBottom, POSITION_MAP.leftTop, POSITION_MAP.left, POSITION_MAP.leftBottom];\nconst listOfHorizontalPositions = [POSITION_MAP.bottomLeft, POSITION_MAP.bottomRight, POSITION_MAP.topRight, POSITION_MAP.topLeft];\nclass NzSubMenuComponent {\n /** set the submenu host open status directly **/\n setOpenStateWithoutDebounce(open) {\n this.nzSubmenuService.setOpenStateWithoutDebounce(open);\n }\n toggleSubMenu() {\n this.setOpenStateWithoutDebounce(!this.nzOpen);\n }\n setMouseEnterState(value) {\n this.isActive = value;\n if (this.mode !== 'inline') {\n this.nzSubmenuService.setMouseEnterTitleOrOverlayState(value);\n }\n }\n setTriggerWidth() {\n if (this.mode === 'horizontal' && this.platform.isBrowser && this.cdkOverlayOrigin && this.nzPlacement === 'bottomLeft') {\n /** TODO: fast dom **/\n this.triggerWidth = this.cdkOverlayOrigin.nativeElement.getBoundingClientRect().width;\n }\n }\n onPositionChange(position) {\n const placement = getPlacementName(position);\n if (placement === 'rightTop' || placement === 'rightBottom' || placement === 'right') {\n this.position = 'right';\n } else if (placement === 'leftTop' || placement === 'leftBottom' || placement === 'left') {\n this.position = 'left';\n }\n }\n constructor(nzMenuService, cdr, nzSubmenuService, platform, isMenuInsideDropDown, directionality, noAnimation) {\n this.nzMenuService = nzMenuService;\n this.cdr = cdr;\n this.nzSubmenuService = nzSubmenuService;\n this.platform = platform;\n this.isMenuInsideDropDown = isMenuInsideDropDown;\n this.directionality = directionality;\n this.noAnimation = noAnimation;\n this.nzMenuClassName = '';\n this.nzPaddingLeft = null;\n this.nzTitle = null;\n this.nzIcon = null;\n this.nzOpen = false;\n this.nzDisabled = false;\n this.nzPlacement = 'bottomLeft';\n this.nzOpenChange = new EventEmitter();\n this.cdkOverlayOrigin = null;\n // fix errors about circular dependency\n // Can't construct a query for the property ... since the query selector wasn't defined\"\n this.listOfNzSubMenuComponent = null;\n this.listOfNzMenuItemDirective = null;\n this.level = this.nzSubmenuService.level;\n this.destroy$ = new Subject();\n this.position = 'right';\n this.triggerWidth = null;\n this.theme = 'light';\n this.mode = 'vertical';\n this.inlinePaddingLeft = null;\n this.overlayPositions = listOfVerticalPositions;\n this.isSelected = false;\n this.isActive = false;\n this.dir = 'ltr';\n }\n ngOnInit() {\n /** submenu theme update **/\n this.nzMenuService.theme$.pipe(takeUntil(this.destroy$)).subscribe(theme => {\n this.theme = theme;\n this.cdr.markForCheck();\n });\n /** submenu mode update **/\n this.nzSubmenuService.mode$.pipe(takeUntil(this.destroy$)).subscribe(mode => {\n this.mode = mode;\n if (mode === 'horizontal') {\n this.overlayPositions = [POSITION_MAP[this.nzPlacement], ...listOfHorizontalPositions];\n } else if (mode === 'vertical') {\n this.overlayPositions = listOfVerticalPositions;\n }\n this.cdr.markForCheck();\n });\n /** inlineIndent update **/\n combineLatest([this.nzSubmenuService.mode$, this.nzMenuService.inlineIndent$]).pipe(takeUntil(this.destroy$)).subscribe(([mode, inlineIndent]) => {\n this.inlinePaddingLeft = mode === 'inline' ? this.level * inlineIndent : null;\n this.cdr.markForCheck();\n });\n /** current submenu open status **/\n this.nzSubmenuService.isCurrentSubMenuOpen$.pipe(takeUntil(this.destroy$)).subscribe(open => {\n this.isActive = open;\n if (open !== this.nzOpen) {\n this.setTriggerWidth();\n this.nzOpen = open;\n this.nzOpenChange.emit(this.nzOpen);\n this.cdr.markForCheck();\n }\n });\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.markForCheck();\n });\n }\n ngAfterContentInit() {\n this.setTriggerWidth();\n const listOfNzMenuItemDirective = this.listOfNzMenuItemDirective;\n const changes = listOfNzMenuItemDirective.changes;\n const mergedObservable = merge(...[changes, ...listOfNzMenuItemDirective.map(menu => menu.selected$)]);\n changes.pipe(startWith(listOfNzMenuItemDirective), switchMap(() => mergedObservable), startWith(true), map(() => listOfNzMenuItemDirective.some(e => e.nzSelected)), takeUntil(this.destroy$)).subscribe(selected => {\n this.isSelected = selected;\n this.cdr.markForCheck();\n });\n }\n ngOnChanges(changes) {\n const {\n nzOpen\n } = changes;\n if (nzOpen) {\n this.nzSubmenuService.setOpenStateWithoutDebounce(this.nzOpen);\n this.setTriggerWidth();\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzSubMenuComponent_Factory(t) {\n return new (t || NzSubMenuComponent)(i0.ɵɵdirectiveInject(MenuService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(NzSubmenuService), i0.ɵɵdirectiveInject(i3$1.Platform), i0.ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), i0.ɵɵdirectiveInject(i1.Directionality, 8), i0.ɵɵdirectiveInject(i5.NzNoAnimationDirective, 9));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzSubMenuComponent,\n selectors: [[\"\", \"nz-submenu\", \"\"]],\n contentQueries: function NzSubMenuComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzSubMenuComponent, 5);\n i0.ɵɵcontentQuery(dirIndex, NzMenuItemComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listOfNzSubMenuComponent = _t);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listOfNzMenuItemDirective = _t);\n }\n },\n viewQuery: function NzSubMenuComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(CdkOverlayOrigin, 7, ElementRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.cdkOverlayOrigin = _t.first);\n }\n },\n hostVars: 34,\n hostBindings: function NzSubMenuComponent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-dropdown-menu-submenu\", ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-submenu-disabled\", ctx.isMenuInsideDropDown && ctx.nzDisabled)(\"ant-dropdown-menu-submenu-open\", ctx.isMenuInsideDropDown && ctx.nzOpen)(\"ant-dropdown-menu-submenu-selected\", ctx.isMenuInsideDropDown && ctx.isSelected)(\"ant-dropdown-menu-submenu-vertical\", ctx.isMenuInsideDropDown && ctx.mode === \"vertical\")(\"ant-dropdown-menu-submenu-horizontal\", ctx.isMenuInsideDropDown && ctx.mode === \"horizontal\")(\"ant-dropdown-menu-submenu-inline\", ctx.isMenuInsideDropDown && ctx.mode === \"inline\")(\"ant-dropdown-menu-submenu-active\", ctx.isMenuInsideDropDown && ctx.isActive)(\"ant-menu-submenu\", !ctx.isMenuInsideDropDown)(\"ant-menu-submenu-disabled\", !ctx.isMenuInsideDropDown && ctx.nzDisabled)(\"ant-menu-submenu-open\", !ctx.isMenuInsideDropDown && ctx.nzOpen)(\"ant-menu-submenu-selected\", !ctx.isMenuInsideDropDown && ctx.isSelected)(\"ant-menu-submenu-vertical\", !ctx.isMenuInsideDropDown && ctx.mode === \"vertical\")(\"ant-menu-submenu-horizontal\", !ctx.isMenuInsideDropDown && ctx.mode === \"horizontal\")(\"ant-menu-submenu-inline\", !ctx.isMenuInsideDropDown && ctx.mode === \"inline\")(\"ant-menu-submenu-active\", !ctx.isMenuInsideDropDown && ctx.isActive)(\"ant-menu-submenu-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n nzMenuClassName: \"nzMenuClassName\",\n nzPaddingLeft: \"nzPaddingLeft\",\n nzTitle: \"nzTitle\",\n nzIcon: \"nzIcon\",\n nzOpen: \"nzOpen\",\n nzDisabled: \"nzDisabled\",\n nzPlacement: \"nzPlacement\"\n },\n outputs: {\n nzOpenChange: \"nzOpenChange\"\n },\n exportAs: [\"nzSubmenu\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([NzSubmenuService]), i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n attrs: _c5,\n ngContentSelectors: _c7,\n decls: 8,\n vars: 9,\n consts: [[\"nz-submenu-title\", \"\", \"cdkOverlayOrigin\", \"\", 3, \"nzIcon\", \"nzTitle\", \"mode\", \"nzDisabled\", \"isMenuInsideDropDown\", \"paddingLeft\", \"subMenuMouseState\", \"toggleSubMenu\"], [\"origin\", \"cdkOverlayOrigin\"], [4, \"ngIf\"], [\"nz-submenu-inline-child\", \"\", 3, \"mode\", \"nzOpen\", \"nzNoAnimation\", \"menuClass\", \"templateOutlet\", 4, \"ngIf\", \"ngIfElse\"], [\"nonInlineTemplate\", \"\"], [\"subMenuTemplate\", \"\"], [\"nz-submenu-inline-child\", \"\", 3, \"mode\", \"nzOpen\", \"nzNoAnimation\", \"menuClass\", \"templateOutlet\"], [\"cdkConnectedOverlay\", \"\", 3, \"cdkConnectedOverlayPositions\", \"cdkConnectedOverlayOrigin\", \"cdkConnectedOverlayWidth\", \"cdkConnectedOverlayOpen\", \"cdkConnectedOverlayTransformOriginOn\", \"positionChange\"], [\"nz-submenu-none-inline-child\", \"\", 3, \"theme\", \"mode\", \"nzOpen\", \"position\", \"nzDisabled\", \"isMenuInsideDropDown\", \"templateOutlet\", \"menuClass\", \"nzNoAnimation\", \"subMenuMouseState\"]],\n template: function NzSubMenuComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c6);\n i0.ɵɵelementStart(0, \"div\", 0, 1);\n i0.ɵɵlistener(\"subMenuMouseState\", function NzSubMenuComponent_Template_div_subMenuMouseState_0_listener($event) {\n return ctx.setMouseEnterState($event);\n })(\"toggleSubMenu\", function NzSubMenuComponent_Template_div_toggleSubMenu_0_listener() {\n return ctx.toggleSubMenu();\n });\n i0.ɵɵtemplate(2, NzSubMenuComponent_ng_content_2_Template, 1, 0, \"ng-content\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(3, NzSubMenuComponent_div_3_Template, 1, 6, \"div\", 3)(4, NzSubMenuComponent_ng_template_4_Template, 1, 5, \"ng-template\", null, 4, i0.ɵɵtemplateRefExtractor)(6, NzSubMenuComponent_ng_template_6_Template, 1, 0, \"ng-template\", null, 5, i0.ɵɵtemplateRefExtractor);\n }\n if (rf & 2) {\n const _r4 = i0.ɵɵreference(5);\n i0.ɵɵproperty(\"nzIcon\", ctx.nzIcon)(\"nzTitle\", ctx.nzTitle)(\"mode\", ctx.mode)(\"nzDisabled\", ctx.nzDisabled)(\"isMenuInsideDropDown\", ctx.isMenuInsideDropDown)(\"paddingLeft\", ctx.nzPaddingLeft || ctx.inlinePaddingLeft);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", !ctx.nzTitle);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx.mode === \"inline\")(\"ngIfElse\", _r4);\n }\n },\n dependencies: [NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NgIf, NzNoAnimationDirective, NzSubmenuNoneInlineChildComponent, OverlayModule, i6.CdkConnectedOverlay, i6.CdkOverlayOrigin],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n__decorate([InputBoolean()], NzSubMenuComponent.prototype, \"nzOpen\", void 0);\n__decorate([InputBoolean()], NzSubMenuComponent.prototype, \"nzDisabled\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzSubMenuComponent, [{\n type: Component,\n args: [{\n selector: '[nz-submenu]',\n exportAs: 'nzSubmenu',\n providers: [NzSubmenuService],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n template: `\n \n \n \n \n \n \n \n \n \n\n \n \n \n `,\n host: {\n '[class.ant-dropdown-menu-submenu]': `isMenuInsideDropDown`,\n '[class.ant-dropdown-menu-submenu-disabled]': `isMenuInsideDropDown && nzDisabled`,\n '[class.ant-dropdown-menu-submenu-open]': `isMenuInsideDropDown && nzOpen`,\n '[class.ant-dropdown-menu-submenu-selected]': `isMenuInsideDropDown && isSelected`,\n '[class.ant-dropdown-menu-submenu-vertical]': `isMenuInsideDropDown && mode === 'vertical'`,\n '[class.ant-dropdown-menu-submenu-horizontal]': `isMenuInsideDropDown && mode === 'horizontal'`,\n '[class.ant-dropdown-menu-submenu-inline]': `isMenuInsideDropDown && mode === 'inline'`,\n '[class.ant-dropdown-menu-submenu-active]': `isMenuInsideDropDown && isActive`,\n '[class.ant-menu-submenu]': `!isMenuInsideDropDown`,\n '[class.ant-menu-submenu-disabled]': `!isMenuInsideDropDown && nzDisabled`,\n '[class.ant-menu-submenu-open]': `!isMenuInsideDropDown && nzOpen`,\n '[class.ant-menu-submenu-selected]': `!isMenuInsideDropDown && isSelected`,\n '[class.ant-menu-submenu-vertical]': `!isMenuInsideDropDown && mode === 'vertical'`,\n '[class.ant-menu-submenu-horizontal]': `!isMenuInsideDropDown && mode === 'horizontal'`,\n '[class.ant-menu-submenu-inline]': `!isMenuInsideDropDown && mode === 'inline'`,\n '[class.ant-menu-submenu-active]': `!isMenuInsideDropDown && isActive`,\n '[class.ant-menu-submenu-rtl]': `dir === 'rtl'`\n },\n imports: [NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NgIf, NzNoAnimationDirective, NzSubmenuNoneInlineChildComponent, OverlayModule],\n standalone: true\n }]\n }], () => [{\n type: MenuService\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: NzSubmenuService\n }, {\n type: i3$1.Platform\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NzIsMenuInsideDropDownToken]\n }]\n }, {\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }, {\n type: i5.NzNoAnimationDirective,\n decorators: [{\n type: Host\n }, {\n type: Optional\n }]\n }], {\n nzMenuClassName: [{\n type: Input\n }],\n nzPaddingLeft: [{\n type: Input\n }],\n nzTitle: [{\n type: Input\n }],\n nzIcon: [{\n type: Input\n }],\n nzOpen: [{\n type: Input\n }],\n nzDisabled: [{\n type: Input\n }],\n nzPlacement: [{\n type: Input\n }],\n nzOpenChange: [{\n type: Output\n }],\n cdkOverlayOrigin: [{\n type: ViewChild,\n args: [CdkOverlayOrigin, {\n static: true,\n read: ElementRef\n }]\n }],\n listOfNzSubMenuComponent: [{\n type: ContentChildren,\n args: [forwardRef(() => NzSubMenuComponent), {\n descendants: true\n }]\n }],\n listOfNzMenuItemDirective: [{\n type: ContentChildren,\n args: [NzMenuItemComponent, {\n descendants: true\n }]\n }]\n });\n})();\nfunction MenuServiceFactory() {\n const serviceInsideDropDown = inject(MenuService, {\n skipSelf: true,\n optional: true\n });\n const serviceOutsideDropDown = inject(NzMenuServiceLocalToken);\n return serviceInsideDropDown ?? serviceOutsideDropDown;\n}\nfunction MenuDropDownTokenFactory() {\n const isMenuInsideDropDownToken = inject(NzIsMenuInsideDropDownToken, {\n skipSelf: true,\n optional: true\n });\n return isMenuInsideDropDownToken ?? false;\n}\nclass NzMenuDirective {\n setInlineCollapsed(inlineCollapsed) {\n this.nzInlineCollapsed = inlineCollapsed;\n this.inlineCollapsed$.next(inlineCollapsed);\n }\n updateInlineCollapse() {\n if (this.listOfNzMenuItemDirective) {\n if (this.nzInlineCollapsed) {\n this.listOfOpenedNzSubMenuComponent = this.listOfNzSubMenuComponent.filter(submenu => submenu.nzOpen);\n this.listOfNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(false));\n } else {\n this.listOfOpenedNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(true));\n this.listOfOpenedNzSubMenuComponent = [];\n }\n }\n }\n constructor(nzMenuService, isMenuInsideDropDown, cdr, directionality) {\n this.nzMenuService = nzMenuService;\n this.isMenuInsideDropDown = isMenuInsideDropDown;\n this.cdr = cdr;\n this.directionality = directionality;\n this.nzInlineIndent = 24;\n this.nzTheme = 'light';\n this.nzMode = 'vertical';\n this.nzInlineCollapsed = false;\n this.nzSelectable = !this.isMenuInsideDropDown;\n this.nzClick = new EventEmitter();\n this.actualMode = 'vertical';\n this.dir = 'ltr';\n this.inlineCollapsed$ = new BehaviorSubject(this.nzInlineCollapsed);\n this.mode$ = new BehaviorSubject(this.nzMode);\n this.destroy$ = new Subject();\n this.listOfOpenedNzSubMenuComponent = [];\n }\n ngOnInit() {\n combineLatest([this.inlineCollapsed$, this.mode$]).pipe(takeUntil(this.destroy$)).subscribe(([inlineCollapsed, mode]) => {\n this.actualMode = inlineCollapsed ? 'vertical' : mode;\n this.nzMenuService.setMode(this.actualMode);\n this.cdr.markForCheck();\n });\n this.nzMenuService.descendantMenuItemClick$.pipe(takeUntil(this.destroy$)).subscribe(menu => {\n this.nzClick.emit(menu);\n if (this.nzSelectable && !menu.nzMatchRouter) {\n this.listOfNzMenuItemDirective.forEach(item => item.setSelectedState(item === menu));\n }\n });\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.nzMenuService.setMode(this.actualMode);\n this.cdr.markForCheck();\n });\n }\n ngAfterContentInit() {\n this.inlineCollapsed$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.updateInlineCollapse();\n this.cdr.markForCheck();\n });\n }\n ngOnChanges(changes) {\n const {\n nzInlineCollapsed,\n nzInlineIndent,\n nzTheme,\n nzMode\n } = changes;\n if (nzInlineCollapsed) {\n this.inlineCollapsed$.next(this.nzInlineCollapsed);\n }\n if (nzInlineIndent) {\n this.nzMenuService.setInlineIndent(this.nzInlineIndent);\n }\n if (nzTheme) {\n this.nzMenuService.setTheme(this.nzTheme);\n }\n if (nzMode) {\n this.mode$.next(this.nzMode);\n if (!changes.nzMode.isFirstChange() && this.listOfNzSubMenuComponent) {\n this.listOfNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(false));\n }\n }\n }\n ngOnDestroy() {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n static {\n this.ɵfac = function NzMenuDirective_Factory(t) {\n return new (t || NzMenuDirective)(i0.ɵɵdirectiveInject(MenuService), i0.ɵɵdirectiveInject(NzIsMenuInsideDropDownToken), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzMenuDirective,\n selectors: [[\"\", \"nz-menu\", \"\"]],\n contentQueries: function NzMenuDirective_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzMenuItemComponent, 5);\n i0.ɵɵcontentQuery(dirIndex, NzSubMenuComponent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listOfNzMenuItemDirective = _t);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listOfNzSubMenuComponent = _t);\n }\n },\n hostVars: 34,\n hostBindings: function NzMenuDirective_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-dropdown-menu\", ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-root\", ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-light\", ctx.isMenuInsideDropDown && ctx.nzTheme === \"light\")(\"ant-dropdown-menu-dark\", ctx.isMenuInsideDropDown && ctx.nzTheme === \"dark\")(\"ant-dropdown-menu-vertical\", ctx.isMenuInsideDropDown && ctx.actualMode === \"vertical\")(\"ant-dropdown-menu-horizontal\", ctx.isMenuInsideDropDown && ctx.actualMode === \"horizontal\")(\"ant-dropdown-menu-inline\", ctx.isMenuInsideDropDown && ctx.actualMode === \"inline\")(\"ant-dropdown-menu-inline-collapsed\", ctx.isMenuInsideDropDown && ctx.nzInlineCollapsed)(\"ant-menu\", !ctx.isMenuInsideDropDown)(\"ant-menu-root\", !ctx.isMenuInsideDropDown)(\"ant-menu-light\", !ctx.isMenuInsideDropDown && ctx.nzTheme === \"light\")(\"ant-menu-dark\", !ctx.isMenuInsideDropDown && ctx.nzTheme === \"dark\")(\"ant-menu-vertical\", !ctx.isMenuInsideDropDown && ctx.actualMode === \"vertical\")(\"ant-menu-horizontal\", !ctx.isMenuInsideDropDown && ctx.actualMode === \"horizontal\")(\"ant-menu-inline\", !ctx.isMenuInsideDropDown && ctx.actualMode === \"inline\")(\"ant-menu-inline-collapsed\", !ctx.isMenuInsideDropDown && ctx.nzInlineCollapsed)(\"ant-menu-rtl\", ctx.dir === \"rtl\");\n }\n },\n inputs: {\n nzInlineIndent: \"nzInlineIndent\",\n nzTheme: \"nzTheme\",\n nzMode: \"nzMode\",\n nzInlineCollapsed: \"nzInlineCollapsed\",\n nzSelectable: \"nzSelectable\"\n },\n outputs: {\n nzClick: \"nzClick\"\n },\n exportAs: [\"nzMenu\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: NzMenuServiceLocalToken,\n useClass: MenuService\n }, /** use the top level service **/\n {\n provide: MenuService,\n useFactory: MenuServiceFactory\n }, /** check if menu inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useFactory: MenuDropDownTokenFactory\n }]), i0.ɵɵNgOnChangesFeature]\n });\n }\n}\n__decorate([InputBoolean()], NzMenuDirective.prototype, \"nzInlineCollapsed\", void 0);\n__decorate([InputBoolean()], NzMenuDirective.prototype, \"nzSelectable\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzMenuDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-menu]',\n exportAs: 'nzMenu',\n providers: [{\n provide: NzMenuServiceLocalToken,\n useClass: MenuService\n }, /** use the top level service **/\n {\n provide: MenuService,\n useFactory: MenuServiceFactory\n }, /** check if menu inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useFactory: MenuDropDownTokenFactory\n }],\n host: {\n '[class.ant-dropdown-menu]': `isMenuInsideDropDown`,\n '[class.ant-dropdown-menu-root]': `isMenuInsideDropDown`,\n '[class.ant-dropdown-menu-light]': `isMenuInsideDropDown && nzTheme === 'light'`,\n '[class.ant-dropdown-menu-dark]': `isMenuInsideDropDown && nzTheme === 'dark'`,\n '[class.ant-dropdown-menu-vertical]': `isMenuInsideDropDown && actualMode === 'vertical'`,\n '[class.ant-dropdown-menu-horizontal]': `isMenuInsideDropDown && actualMode === 'horizontal'`,\n '[class.ant-dropdown-menu-inline]': `isMenuInsideDropDown && actualMode === 'inline'`,\n '[class.ant-dropdown-menu-inline-collapsed]': `isMenuInsideDropDown && nzInlineCollapsed`,\n '[class.ant-menu]': `!isMenuInsideDropDown`,\n '[class.ant-menu-root]': `!isMenuInsideDropDown`,\n '[class.ant-menu-light]': `!isMenuInsideDropDown && nzTheme === 'light'`,\n '[class.ant-menu-dark]': `!isMenuInsideDropDown && nzTheme === 'dark'`,\n '[class.ant-menu-vertical]': `!isMenuInsideDropDown && actualMode === 'vertical'`,\n '[class.ant-menu-horizontal]': `!isMenuInsideDropDown && actualMode === 'horizontal'`,\n '[class.ant-menu-inline]': `!isMenuInsideDropDown && actualMode === 'inline'`,\n '[class.ant-menu-inline-collapsed]': `!isMenuInsideDropDown && nzInlineCollapsed`,\n '[class.ant-menu-rtl]': `dir === 'rtl'`\n },\n standalone: true\n }]\n }], () => [{\n type: MenuService\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NzIsMenuInsideDropDownToken]\n }]\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i1.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n listOfNzMenuItemDirective: [{\n type: ContentChildren,\n args: [NzMenuItemComponent, {\n descendants: true\n }]\n }],\n listOfNzSubMenuComponent: [{\n type: ContentChildren,\n args: [NzSubMenuComponent, {\n descendants: true\n }]\n }],\n nzInlineIndent: [{\n type: Input\n }],\n nzTheme: [{\n type: Input\n }],\n nzMode: [{\n type: Input\n }],\n nzInlineCollapsed: [{\n type: Input\n }],\n nzSelectable: [{\n type: Input\n }],\n nzClick: [{\n type: Output\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nfunction MenuGroupFactory() {\n const isMenuInsideDropDownToken = inject(NzIsMenuInsideDropDownToken, {\n optional: true,\n skipSelf: true\n });\n return isMenuInsideDropDownToken ?? false;\n}\nclass NzMenuGroupComponent {\n constructor(elementRef, renderer, isMenuInsideDropDown) {\n this.elementRef = elementRef;\n this.renderer = renderer;\n this.isMenuInsideDropDown = isMenuInsideDropDown;\n const className = this.isMenuInsideDropDown ? 'ant-dropdown-menu-item-group' : 'ant-menu-item-group';\n this.renderer.addClass(elementRef.nativeElement, className);\n }\n ngAfterViewInit() {\n const ulElement = this.titleElement.nativeElement.nextElementSibling;\n if (ulElement) {\n /** add classname to ul **/\n const className = this.isMenuInsideDropDown ? 'ant-dropdown-menu-item-group-list' : 'ant-menu-item-group-list';\n this.renderer.addClass(ulElement, className);\n }\n }\n static {\n this.ɵfac = function NzMenuGroupComponent_Factory(t) {\n return new (t || NzMenuGroupComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(NzIsMenuInsideDropDownToken));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzMenuGroupComponent,\n selectors: [[\"\", \"nz-menu-group\", \"\"]],\n viewQuery: function NzMenuGroupComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c8, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.titleElement = _t.first);\n }\n },\n inputs: {\n nzTitle: \"nzTitle\"\n },\n exportAs: [\"nzMenuGroup\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([/** check if menu inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useFactory: MenuGroupFactory\n }]), i0.ɵɵStandaloneFeature],\n attrs: _c9,\n ngContentSelectors: _c11,\n decls: 5,\n vars: 6,\n consts: [[\"titleElement\", \"\"], [4, \"nzStringTemplateOutlet\"], [4, \"ngIf\"]],\n template: function NzMenuGroupComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c10);\n i0.ɵɵelementStart(0, \"div\", null, 0);\n i0.ɵɵtemplate(2, NzMenuGroupComponent_ng_container_2_Template, 2, 1, \"ng-container\", 1)(3, NzMenuGroupComponent_ng_content_3_Template, 1, 0, \"ng-content\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵprojection(4);\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"ant-menu-item-group-title\", !ctx.isMenuInsideDropDown)(\"ant-dropdown-menu-item-group-title\", ctx.isMenuInsideDropDown);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx.nzTitle);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", !ctx.nzTitle);\n }\n },\n dependencies: [NzOutletModule, i3.NzStringTemplateOutletDirective, NgIf],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzMenuGroupComponent, [{\n type: Component,\n args: [{\n selector: '[nz-menu-group]',\n exportAs: 'nzMenuGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [/** check if menu inside dropdown-menu component **/\n {\n provide: NzIsMenuInsideDropDownToken,\n useFactory: MenuGroupFactory\n }],\n encapsulation: ViewEncapsulation.None,\n template: `\n \n {{ nzTitle }}\n \n \n \n `,\n preserveWhitespaces: false,\n imports: [NzOutletModule, NgIf],\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }, {\n type: i0.Renderer2\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [NzIsMenuInsideDropDownToken]\n }]\n }], {\n nzTitle: [{\n type: Input\n }],\n titleElement: [{\n type: ViewChild,\n args: ['titleElement']\n }]\n });\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzMenuDividerDirective {\n constructor(elementRef) {\n this.elementRef = elementRef;\n }\n static {\n this.ɵfac = function NzMenuDividerDirective_Factory(t) {\n return new (t || NzMenuDividerDirective)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzMenuDividerDirective,\n selectors: [[\"\", \"nz-menu-divider\", \"\"]],\n hostAttrs: [1, \"ant-dropdown-menu-item-divider\"],\n exportAs: [\"nzMenuDivider\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzMenuDividerDirective, [{\n type: Directive,\n args: [{\n selector: '[nz-menu-divider]',\n exportAs: 'nzMenuDivider',\n host: {\n class: 'ant-dropdown-menu-item-divider'\n },\n standalone: true\n }]\n }], () => [{\n type: i0.ElementRef\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzMenuModule {\n static {\n this.ɵfac = function NzMenuModule_Factory(t) {\n return new (t || NzMenuModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzMenuModule,\n imports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent, NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent],\n exports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [NzSubMenuComponent, NzMenuGroupComponent, NzSubMenuTitleComponent]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzMenuModule, [{\n type: NgModule,\n args: [{\n imports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent, NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent],\n exports: [NzMenuDirective, NzMenuItemComponent, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MenuDropDownTokenFactory, MenuGroupFactory, MenuService, MenuServiceFactory, NzIsMenuInsideDropDownToken, NzMenuDirective, NzMenuDividerDirective, NzMenuGroupComponent, NzMenuItemComponent, NzMenuModule, NzMenuServiceLocalToken, NzSubMenuComponent, NzSubMenuTitleComponent, NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent, NzSubmenuService };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js b/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js deleted file mode 100644 index 3aaa506..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js +++ /dev/null @@ -1,213 +0,0 @@ -import { - animate, - query, - stagger, - state, - style, - transition, - trigger -} from "./chunk-KI2JSLP6.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-animation.mjs -var _AnimationDuration = class _AnimationDuration { - // Tooltip -}; -_AnimationDuration.SLOW = "0.3s"; -_AnimationDuration.BASE = "0.2s"; -_AnimationDuration.FAST = "0.1s"; -var AnimationDuration = _AnimationDuration; -var _AnimationCurves = class _AnimationCurves { -}; -_AnimationCurves.EASE_BASE_OUT = "cubic-bezier(0.7, 0.3, 0.1, 1)"; -_AnimationCurves.EASE_BASE_IN = "cubic-bezier(0.9, 0, 0.3, 0.7)"; -_AnimationCurves.EASE_OUT = "cubic-bezier(0.215, 0.61, 0.355, 1)"; -_AnimationCurves.EASE_IN = "cubic-bezier(0.55, 0.055, 0.675, 0.19)"; -_AnimationCurves.EASE_IN_OUT = "cubic-bezier(0.645, 0.045, 0.355, 1)"; -_AnimationCurves.EASE_OUT_BACK = "cubic-bezier(0.12, 0.4, 0.29, 1.46)"; -_AnimationCurves.EASE_IN_BACK = "cubic-bezier(0.71, -0.46, 0.88, 0.6)"; -_AnimationCurves.EASE_IN_OUT_BACK = "cubic-bezier(0.71, -0.46, 0.29, 1.46)"; -_AnimationCurves.EASE_OUT_CIRC = "cubic-bezier(0.08, 0.82, 0.17, 1)"; -_AnimationCurves.EASE_IN_CIRC = "cubic-bezier(0.6, 0.04, 0.98, 0.34)"; -_AnimationCurves.EASE_IN_OUT_CIRC = "cubic-bezier(0.78, 0.14, 0.15, 0.86)"; -_AnimationCurves.EASE_OUT_QUINT = "cubic-bezier(0.23, 1, 0.32, 1)"; -_AnimationCurves.EASE_IN_QUINT = "cubic-bezier(0.755, 0.05, 0.855, 0.06)"; -_AnimationCurves.EASE_IN_OUT_QUINT = "cubic-bezier(0.86, 0, 0.07, 1)"; -var AnimationCurves = _AnimationCurves; -var collapseMotion = trigger("collapseMotion", [ - state("expanded", style({ height: "*" })), - state("collapsed", style({ height: 0, overflow: "hidden" })), - state("hidden", style({ height: 0, overflow: "hidden", borderTopWidth: "0" })), - transition("expanded => collapsed", animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)), - transition("expanded => hidden", animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)), - transition("collapsed => expanded", animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)), - transition("hidden => expanded", animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)) -]); -var treeCollapseMotion = trigger("treeCollapseMotion", [ - transition("* => *", [ - query("nz-tree-node:leave,nz-tree-builtin-node:leave", [ - style({ overflow: "hidden" }), - stagger(0, [ - animate(`150ms ${AnimationCurves.EASE_IN_OUT}`, style({ height: 0, opacity: 0, "padding-bottom": 0 })) - ]) - ], { - optional: true - }), - query("nz-tree-node:enter,nz-tree-builtin-node:enter", [ - style({ overflow: "hidden", height: 0, opacity: 0, "padding-bottom": 0 }), - stagger(0, [ - animate(`150ms ${AnimationCurves.EASE_IN_OUT}`, style({ overflow: "hidden", height: "*", opacity: "*", "padding-bottom": "*" })) - ]) - ], { - optional: true - }) - ]) -]); -var fadeMotion = trigger("fadeMotion", [ - transition(":enter", [style({ opacity: 0 }), animate(`${AnimationDuration.BASE}`, style({ opacity: 1 }))]), - transition(":leave", [style({ opacity: 1 }), animate(`${AnimationDuration.BASE}`, style({ opacity: 0 }))]) -]); -var helpMotion = trigger("helpMotion", [ - transition(":enter", [ - style({ - opacity: 0, - transform: "translateY(-5px)" - }), - animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT}`, style({ - opacity: 1, - transform: "translateY(0)" - })) - ]), - transition(":leave", [ - style({ - opacity: 1, - transform: "translateY(0)" - }), - animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT}`, style({ - opacity: 0, - transform: "translateY(-5px)" - })) - ]) -]); -var moveUpMotion = trigger("moveUpMotion", [ - transition("* => enter", [ - style({ - transformOrigin: "0 0", - transform: "translateY(-100%)", - opacity: 0 - }), - animate(`${AnimationDuration.BASE}`, style({ - transformOrigin: "0 0", - transform: "translateY(0%)", - opacity: 1 - })) - ]), - transition("* => leave", [ - style({ - transformOrigin: "0 0", - transform: "translateY(0%)", - opacity: 1 - }), - animate(`${AnimationDuration.BASE}`, style({ - transformOrigin: "0 0", - transform: "translateY(-100%)", - opacity: 0 - })) - ]) -]); -var notificationMotion = trigger("notificationMotion", [ - state("enterRight", style({ opacity: 1, transform: "translateX(0)" })), - transition("* => enterRight", [style({ opacity: 0, transform: "translateX(5%)" }), animate("100ms linear")]), - state("enterLeft", style({ opacity: 1, transform: "translateX(0)" })), - transition("* => enterLeft", [style({ opacity: 0, transform: "translateX(-5%)" }), animate("100ms linear")]), - state("enterTop", style({ opacity: 1, transform: "translateY(0)" })), - transition("* => enterTop", [style({ opacity: 0, transform: "translateY(-5%)" }), animate("100ms linear")]), - state("enterBottom", style({ opacity: 1, transform: "translateY(0)" })), - transition("* => enterBottom", [style({ opacity: 0, transform: "translateY(5%)" }), animate("100ms linear")]), - state("leave", style({ - opacity: 0, - transform: "scaleY(0.8)", - transformOrigin: "0% 0%" - })), - transition("* => leave", [ - style({ - opacity: 1, - transform: "scaleY(1)", - transformOrigin: "0% 0%" - }), - animate("100ms linear") - ]) -]); -var ANIMATION_TRANSITION_IN = `${AnimationDuration.BASE} ${AnimationCurves.EASE_OUT_QUINT}`; -var ANIMATION_TRANSITION_OUT = `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_QUINT}`; -var slideMotion = trigger("slideMotion", [ - state("void", style({ - opacity: 0, - transform: "scaleY(0.8)" - })), - state("enter", style({ - opacity: 1, - transform: "scaleY(1)" - })), - transition("void => *", [animate(ANIMATION_TRANSITION_IN)]), - transition("* => void", [animate(ANIMATION_TRANSITION_OUT)]) -]); -var slideAlertMotion = trigger("slideAlertMotion", [ - transition(":leave", [ - style({ opacity: 1, transform: "scaleY(1)", transformOrigin: "0% 0%" }), - animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT_CIRC}`, style({ - opacity: 0, - transform: "scaleY(0)", - transformOrigin: "0% 0%" - })) - ]) -]); -var zoomBigMotion = trigger("zoomBigMotion", [ - transition("void => active", [ - style({ opacity: 0, transform: "scale(0.8)" }), - animate(`${AnimationDuration.BASE} ${AnimationCurves.EASE_OUT_CIRC}`, style({ - opacity: 1, - transform: "scale(1)" - })) - ]), - transition("active => void", [ - style({ opacity: 1, transform: "scale(1)" }), - animate(`${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_CIRC}`, style({ - opacity: 0, - transform: "scale(0.8)" - })) - ]) -]); -var zoomBadgeMotion = trigger("zoomBadgeMotion", [ - transition(":enter", [ - style({ opacity: 0, transform: "scale(0) translate(50%, -50%)" }), - animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_OUT_BACK}`, style({ - opacity: 1, - transform: "scale(1) translate(50%, -50%)" - })) - ]), - transition(":leave", [ - style({ opacity: 1, transform: "scale(1) translate(50%, -50%)" }), - animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_BACK}`, style({ - opacity: 0, - transform: "scale(0) translate(50%, -50%)" - })) - ]) -]); -var thumbMotion = trigger("thumbMotion", [ - state("from", style({ transform: "translateX({{ transform }}px)", width: "{{ width }}px" }), { - params: { transform: 0, width: 0 } - }), - state("to", style({ transform: "translateX({{ transform }}px)", width: "{{ width }}px" }), { - params: { transform: 100, width: 0 } - }), - transition("from => to", animate(`300ms ${AnimationCurves.EASE_IN_OUT}`)) -]); - -export { - collapseMotion, - helpMotion, - moveUpMotion, - slideMotion, - zoomBigMotion -}; -//# sourceMappingURL=chunk-XAGDQPFO.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js.map b/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js.map deleted file mode 100644 index 106a878..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-XAGDQPFO.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-animation.mjs"], - "sourcesContent": ["import { style, state, animate, transition, trigger, stagger, query } from '@angular/animations';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass AnimationDuration {\n static { this.SLOW = '0.3s'; } // Modal\n static { this.BASE = '0.2s'; }\n static { this.FAST = '0.1s'; } // Tooltip\n}\nclass AnimationCurves {\n static { this.EASE_BASE_OUT = 'cubic-bezier(0.7, 0.3, 0.1, 1)'; }\n static { this.EASE_BASE_IN = 'cubic-bezier(0.9, 0, 0.3, 0.7)'; }\n static { this.EASE_OUT = 'cubic-bezier(0.215, 0.61, 0.355, 1)'; }\n static { this.EASE_IN = 'cubic-bezier(0.55, 0.055, 0.675, 0.19)'; }\n static { this.EASE_IN_OUT = 'cubic-bezier(0.645, 0.045, 0.355, 1)'; }\n static { this.EASE_OUT_BACK = 'cubic-bezier(0.12, 0.4, 0.29, 1.46)'; }\n static { this.EASE_IN_BACK = 'cubic-bezier(0.71, -0.46, 0.88, 0.6)'; }\n static { this.EASE_IN_OUT_BACK = 'cubic-bezier(0.71, -0.46, 0.29, 1.46)'; }\n static { this.EASE_OUT_CIRC = 'cubic-bezier(0.08, 0.82, 0.17, 1)'; }\n static { this.EASE_IN_CIRC = 'cubic-bezier(0.6, 0.04, 0.98, 0.34)'; }\n static { this.EASE_IN_OUT_CIRC = 'cubic-bezier(0.78, 0.14, 0.15, 0.86)'; }\n static { this.EASE_OUT_QUINT = 'cubic-bezier(0.23, 1, 0.32, 1)'; }\n static { this.EASE_IN_QUINT = 'cubic-bezier(0.755, 0.05, 0.855, 0.06)'; }\n static { this.EASE_IN_OUT_QUINT = 'cubic-bezier(0.86, 0, 0.07, 1)'; }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst collapseMotion = trigger('collapseMotion', [\n state('expanded', style({ height: '*' })),\n state('collapsed', style({ height: 0, overflow: 'hidden' })),\n state('hidden', style({ height: 0, overflow: 'hidden', borderTopWidth: '0' })),\n transition('expanded => collapsed', animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)),\n transition('expanded => hidden', animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)),\n transition('collapsed => expanded', animate(`150ms ${AnimationCurves.EASE_IN_OUT}`)),\n transition('hidden => expanded', animate(`150ms ${AnimationCurves.EASE_IN_OUT}`))\n]);\nconst treeCollapseMotion = trigger('treeCollapseMotion', [\n transition('* => *', [\n query('nz-tree-node:leave,nz-tree-builtin-node:leave', [\n style({ overflow: 'hidden' }),\n stagger(0, [\n animate(`150ms ${AnimationCurves.EASE_IN_OUT}`, style({ height: 0, opacity: 0, 'padding-bottom': 0 }))\n ])\n ], {\n optional: true\n }),\n query('nz-tree-node:enter,nz-tree-builtin-node:enter', [\n style({ overflow: 'hidden', height: 0, opacity: 0, 'padding-bottom': 0 }),\n stagger(0, [\n animate(`150ms ${AnimationCurves.EASE_IN_OUT}`, style({ overflow: 'hidden', height: '*', opacity: '*', 'padding-bottom': '*' }))\n ])\n ], {\n optional: true\n })\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst fadeMotion = trigger('fadeMotion', [\n transition(':enter', [style({ opacity: 0 }), animate(`${AnimationDuration.BASE}`, style({ opacity: 1 }))]),\n transition(':leave', [style({ opacity: 1 }), animate(`${AnimationDuration.BASE}`, style({ opacity: 0 }))])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst helpMotion = trigger('helpMotion', [\n transition(':enter', [\n style({\n opacity: 0,\n transform: 'translateY(-5px)'\n }),\n animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT}`, style({\n opacity: 1,\n transform: 'translateY(0)'\n }))\n ]),\n transition(':leave', [\n style({\n opacity: 1,\n transform: 'translateY(0)'\n }),\n animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT}`, style({\n opacity: 0,\n transform: 'translateY(-5px)'\n }))\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst moveUpMotion = trigger('moveUpMotion', [\n transition('* => enter', [\n style({\n transformOrigin: '0 0',\n transform: 'translateY(-100%)',\n opacity: 0\n }),\n animate(`${AnimationDuration.BASE}`, style({\n transformOrigin: '0 0',\n transform: 'translateY(0%)',\n opacity: 1\n }))\n ]),\n transition('* => leave', [\n style({\n transformOrigin: '0 0',\n transform: 'translateY(0%)',\n opacity: 1\n }),\n animate(`${AnimationDuration.BASE}`, style({\n transformOrigin: '0 0',\n transform: 'translateY(-100%)',\n opacity: 0\n }))\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst notificationMotion = trigger('notificationMotion', [\n state('enterRight', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('* => enterRight', [style({ opacity: 0, transform: 'translateX(5%)' }), animate('100ms linear')]),\n state('enterLeft', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('* => enterLeft', [style({ opacity: 0, transform: 'translateX(-5%)' }), animate('100ms linear')]),\n state('enterTop', style({ opacity: 1, transform: 'translateY(0)' })),\n transition('* => enterTop', [style({ opacity: 0, transform: 'translateY(-5%)' }), animate('100ms linear')]),\n state('enterBottom', style({ opacity: 1, transform: 'translateY(0)' })),\n transition('* => enterBottom', [style({ opacity: 0, transform: 'translateY(5%)' }), animate('100ms linear')]),\n state('leave', style({\n opacity: 0,\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%'\n })),\n transition('* => leave', [\n style({\n opacity: 1,\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%'\n }),\n animate('100ms linear')\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst ANIMATION_TRANSITION_IN = `${AnimationDuration.BASE} ${AnimationCurves.EASE_OUT_QUINT}`;\nconst ANIMATION_TRANSITION_OUT = `${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_QUINT}`;\nconst slideMotion = trigger('slideMotion', [\n state('void', style({\n opacity: 0,\n transform: 'scaleY(0.8)'\n })),\n state('enter', style({\n opacity: 1,\n transform: 'scaleY(1)'\n })),\n transition('void => *', [animate(ANIMATION_TRANSITION_IN)]),\n transition('* => void', [animate(ANIMATION_TRANSITION_OUT)])\n]);\nconst slideAlertMotion = trigger('slideAlertMotion', [\n transition(':leave', [\n style({ opacity: 1, transform: 'scaleY(1)', transformOrigin: '0% 0%' }),\n animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_OUT_CIRC}`, style({\n opacity: 0,\n transform: 'scaleY(0)',\n transformOrigin: '0% 0%'\n }))\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst zoomBigMotion = trigger('zoomBigMotion', [\n transition('void => active', [\n style({ opacity: 0, transform: 'scale(0.8)' }),\n animate(`${AnimationDuration.BASE} ${AnimationCurves.EASE_OUT_CIRC}`, style({\n opacity: 1,\n transform: 'scale(1)'\n }))\n ]),\n transition('active => void', [\n style({ opacity: 1, transform: 'scale(1)' }),\n animate(`${AnimationDuration.BASE} ${AnimationCurves.EASE_IN_OUT_CIRC}`, style({\n opacity: 0,\n transform: 'scale(0.8)'\n }))\n ])\n]);\nconst zoomBadgeMotion = trigger('zoomBadgeMotion', [\n transition(':enter', [\n style({ opacity: 0, transform: 'scale(0) translate(50%, -50%)' }),\n animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_OUT_BACK}`, style({\n opacity: 1,\n transform: 'scale(1) translate(50%, -50%)'\n }))\n ]),\n transition(':leave', [\n style({ opacity: 1, transform: 'scale(1) translate(50%, -50%)' }),\n animate(`${AnimationDuration.SLOW} ${AnimationCurves.EASE_IN_BACK}`, style({\n opacity: 0,\n transform: 'scale(0) translate(50%, -50%)'\n }))\n ])\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst thumbMotion = trigger('thumbMotion', [\n state('from', style({ transform: 'translateX({{ transform }}px)', width: '{{ width }}px' }), {\n params: { transform: 0, width: 0 }\n }),\n state('to', style({ transform: 'translateX({{ transform }}px)', width: '{{ width }}px' }), {\n params: { transform: 100, width: 0 }\n }),\n transition('from => to', animate(`300ms ${AnimationCurves.EASE_IN_OUT}`))\n]);\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationCurves, AnimationDuration, collapseMotion, fadeMotion, helpMotion, moveUpMotion, notificationMotion, slideAlertMotion, slideMotion, thumbMotion, treeCollapseMotion, zoomBadgeMotion, zoomBigMotion };\n\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js b/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js deleted file mode 100644 index f472c50..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js +++ /dev/null @@ -1,1225 +0,0 @@ -import { - canUseDom, - updateCSS, - warn -} from "./chunk-M5GY4FCO.js"; -import { - CSP_NONCE, - Inject, - Injectable, - InjectionToken, - Optional, - Subject, - filter, - mapTo, - setClassMetadata, - ɵɵdefineInjectable, - ɵɵinject -} from "./chunk-FGESKT7O.js"; -import { - __spreadValues -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/@ctrl/tinycolor/dist/module/util.js -function bound01(n, max) { - if (isOnePointZero(n)) { - n = "100%"; - } - var isPercent = isPercentage(n); - n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n))); - if (isPercent) { - n = parseInt(String(n * max), 10) / 100; - } - if (Math.abs(n - max) < 1e-6) { - return 1; - } - if (max === 360) { - n = (n < 0 ? n % max + max : n % max) / parseFloat(String(max)); - } else { - n = n % max / parseFloat(String(max)); - } - return n; -} -function clamp01(val) { - return Math.min(1, Math.max(0, val)); -} -function isOnePointZero(n) { - return typeof n === "string" && n.indexOf(".") !== -1 && parseFloat(n) === 1; -} -function isPercentage(n) { - return typeof n === "string" && n.indexOf("%") !== -1; -} -function boundAlpha(a) { - a = parseFloat(a); - if (isNaN(a) || a < 0 || a > 1) { - a = 1; - } - return a; -} -function convertToPercentage(n) { - if (n <= 1) { - return "".concat(Number(n) * 100, "%"); - } - return n; -} -function pad2(c) { - return c.length === 1 ? "0" + c : String(c); -} - -// node_modules/@ctrl/tinycolor/dist/module/conversion.js -function rgbToRgb(r, g, b) { - return { - r: bound01(r, 255) * 255, - g: bound01(g, 255) * 255, - b: bound01(b, 255) * 255 - }; -} -function rgbToHsl(r, g, b) { - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - var max = Math.max(r, g, b); - var min = Math.min(r, g, b); - var h = 0; - var s = 0; - var l = (max + min) / 2; - if (max === min) { - s = 0; - h = 0; - } else { - var d = max - min; - s = l > 0.5 ? d / (2 - max - min) : d / (max + min); - switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; - default: - break; - } - h /= 6; - } - return { h, s, l }; -} -function hue2rgb(p, q, t) { - if (t < 0) { - t += 1; - } - if (t > 1) { - t -= 1; - } - if (t < 1 / 6) { - return p + (q - p) * (6 * t); - } - if (t < 1 / 2) { - return q; - } - if (t < 2 / 3) { - return p + (q - p) * (2 / 3 - t) * 6; - } - return p; -} -function hslToRgb(h, s, l) { - var r; - var g; - var b; - h = bound01(h, 360); - s = bound01(s, 100); - l = bound01(l, 100); - if (s === 0) { - g = l; - b = l; - r = l; - } else { - var q = l < 0.5 ? l * (1 + s) : l + s - l * s; - var p = 2 * l - q; - r = hue2rgb(p, q, h + 1 / 3); - g = hue2rgb(p, q, h); - b = hue2rgb(p, q, h - 1 / 3); - } - return { r: r * 255, g: g * 255, b: b * 255 }; -} -function rgbToHsv(r, g, b) { - r = bound01(r, 255); - g = bound01(g, 255); - b = bound01(b, 255); - var max = Math.max(r, g, b); - var min = Math.min(r, g, b); - var h = 0; - var v = max; - var d = max - min; - var s = max === 0 ? 0 : d / max; - if (max === min) { - h = 0; - } else { - switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; - default: - break; - } - h /= 6; - } - return { h, s, v }; -} -function hsvToRgb(h, s, v) { - h = bound01(h, 360) * 6; - s = bound01(s, 100); - v = bound01(v, 100); - var i = Math.floor(h); - var f = h - i; - var p = v * (1 - s); - var q = v * (1 - f * s); - var t = v * (1 - (1 - f) * s); - var mod = i % 6; - var r = [v, q, p, p, t, v][mod]; - var g = [t, v, v, q, p, p][mod]; - var b = [p, p, t, v, v, q][mod]; - return { r: r * 255, g: g * 255, b: b * 255 }; -} -function rgbToHex(r, g, b, allow3Char) { - var hex = [ - pad2(Math.round(r).toString(16)), - pad2(Math.round(g).toString(16)), - pad2(Math.round(b).toString(16)) - ]; - if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); - } - return hex.join(""); -} -function rgbaToHex(r, g, b, a, allow4Char) { - var hex = [ - pad2(Math.round(r).toString(16)), - pad2(Math.round(g).toString(16)), - pad2(Math.round(b).toString(16)), - pad2(convertDecimalToHex(a)) - ]; - if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) { - return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); - } - return hex.join(""); -} -function convertDecimalToHex(d) { - return Math.round(parseFloat(d) * 255).toString(16); -} -function convertHexToDecimal(h) { - return parseIntFromHex(h) / 255; -} -function parseIntFromHex(val) { - return parseInt(val, 16); -} -function numberInputToObject(color) { - return { - r: color >> 16, - g: (color & 65280) >> 8, - b: color & 255 - }; -} - -// node_modules/@ctrl/tinycolor/dist/module/css-color-names.js -var names = { - aliceblue: "#f0f8ff", - antiquewhite: "#faebd7", - aqua: "#00ffff", - aquamarine: "#7fffd4", - azure: "#f0ffff", - beige: "#f5f5dc", - bisque: "#ffe4c4", - black: "#000000", - blanchedalmond: "#ffebcd", - blue: "#0000ff", - blueviolet: "#8a2be2", - brown: "#a52a2a", - burlywood: "#deb887", - cadetblue: "#5f9ea0", - chartreuse: "#7fff00", - chocolate: "#d2691e", - coral: "#ff7f50", - cornflowerblue: "#6495ed", - cornsilk: "#fff8dc", - crimson: "#dc143c", - cyan: "#00ffff", - darkblue: "#00008b", - darkcyan: "#008b8b", - darkgoldenrod: "#b8860b", - darkgray: "#a9a9a9", - darkgreen: "#006400", - darkgrey: "#a9a9a9", - darkkhaki: "#bdb76b", - darkmagenta: "#8b008b", - darkolivegreen: "#556b2f", - darkorange: "#ff8c00", - darkorchid: "#9932cc", - darkred: "#8b0000", - darksalmon: "#e9967a", - darkseagreen: "#8fbc8f", - darkslateblue: "#483d8b", - darkslategray: "#2f4f4f", - darkslategrey: "#2f4f4f", - darkturquoise: "#00ced1", - darkviolet: "#9400d3", - deeppink: "#ff1493", - deepskyblue: "#00bfff", - dimgray: "#696969", - dimgrey: "#696969", - dodgerblue: "#1e90ff", - firebrick: "#b22222", - floralwhite: "#fffaf0", - forestgreen: "#228b22", - fuchsia: "#ff00ff", - gainsboro: "#dcdcdc", - ghostwhite: "#f8f8ff", - goldenrod: "#daa520", - gold: "#ffd700", - gray: "#808080", - green: "#008000", - greenyellow: "#adff2f", - grey: "#808080", - honeydew: "#f0fff0", - hotpink: "#ff69b4", - indianred: "#cd5c5c", - indigo: "#4b0082", - ivory: "#fffff0", - khaki: "#f0e68c", - lavenderblush: "#fff0f5", - lavender: "#e6e6fa", - lawngreen: "#7cfc00", - lemonchiffon: "#fffacd", - lightblue: "#add8e6", - lightcoral: "#f08080", - lightcyan: "#e0ffff", - lightgoldenrodyellow: "#fafad2", - lightgray: "#d3d3d3", - lightgreen: "#90ee90", - lightgrey: "#d3d3d3", - lightpink: "#ffb6c1", - lightsalmon: "#ffa07a", - lightseagreen: "#20b2aa", - lightskyblue: "#87cefa", - lightslategray: "#778899", - lightslategrey: "#778899", - lightsteelblue: "#b0c4de", - lightyellow: "#ffffe0", - lime: "#00ff00", - limegreen: "#32cd32", - linen: "#faf0e6", - magenta: "#ff00ff", - maroon: "#800000", - mediumaquamarine: "#66cdaa", - mediumblue: "#0000cd", - mediumorchid: "#ba55d3", - mediumpurple: "#9370db", - mediumseagreen: "#3cb371", - mediumslateblue: "#7b68ee", - mediumspringgreen: "#00fa9a", - mediumturquoise: "#48d1cc", - mediumvioletred: "#c71585", - midnightblue: "#191970", - mintcream: "#f5fffa", - mistyrose: "#ffe4e1", - moccasin: "#ffe4b5", - navajowhite: "#ffdead", - navy: "#000080", - oldlace: "#fdf5e6", - olive: "#808000", - olivedrab: "#6b8e23", - orange: "#ffa500", - orangered: "#ff4500", - orchid: "#da70d6", - palegoldenrod: "#eee8aa", - palegreen: "#98fb98", - paleturquoise: "#afeeee", - palevioletred: "#db7093", - papayawhip: "#ffefd5", - peachpuff: "#ffdab9", - peru: "#cd853f", - pink: "#ffc0cb", - plum: "#dda0dd", - powderblue: "#b0e0e6", - purple: "#800080", - rebeccapurple: "#663399", - red: "#ff0000", - rosybrown: "#bc8f8f", - royalblue: "#4169e1", - saddlebrown: "#8b4513", - salmon: "#fa8072", - sandybrown: "#f4a460", - seagreen: "#2e8b57", - seashell: "#fff5ee", - sienna: "#a0522d", - silver: "#c0c0c0", - skyblue: "#87ceeb", - slateblue: "#6a5acd", - slategray: "#708090", - slategrey: "#708090", - snow: "#fffafa", - springgreen: "#00ff7f", - steelblue: "#4682b4", - tan: "#d2b48c", - teal: "#008080", - thistle: "#d8bfd8", - tomato: "#ff6347", - turquoise: "#40e0d0", - violet: "#ee82ee", - wheat: "#f5deb3", - white: "#ffffff", - whitesmoke: "#f5f5f5", - yellow: "#ffff00", - yellowgreen: "#9acd32" -}; - -// node_modules/@ctrl/tinycolor/dist/module/format-input.js -function inputToRGB(color) { - var rgb = { r: 0, g: 0, b: 0 }; - var a = 1; - var s = null; - var v = null; - var l = null; - var ok = false; - var format = false; - if (typeof color === "string") { - color = stringInputToObject(color); - } - if (typeof color === "object") { - if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { - rgb = rgbToRgb(color.r, color.g, color.b); - ok = true; - format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; - } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { - s = convertToPercentage(color.s); - v = convertToPercentage(color.v); - rgb = hsvToRgb(color.h, s, v); - ok = true; - format = "hsv"; - } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { - s = convertToPercentage(color.s); - l = convertToPercentage(color.l); - rgb = hslToRgb(color.h, s, l); - ok = true; - format = "hsl"; - } - if (Object.prototype.hasOwnProperty.call(color, "a")) { - a = color.a; - } - } - a = boundAlpha(a); - return { - ok, - format: color.format || format, - r: Math.min(255, Math.max(rgb.r, 0)), - g: Math.min(255, Math.max(rgb.g, 0)), - b: Math.min(255, Math.max(rgb.b, 0)), - a - }; -} -var CSS_INTEGER = "[-\\+]?\\d+%?"; -var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; -var CSS_UNIT = "(?:".concat(CSS_NUMBER, ")|(?:").concat(CSS_INTEGER, ")"); -var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); -var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?"); -var matchers = { - CSS_UNIT: new RegExp(CSS_UNIT), - rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), - rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), - hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), - hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), - hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), - hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), - hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ -}; -function stringInputToObject(color) { - color = color.trim().toLowerCase(); - if (color.length === 0) { - return false; - } - var named = false; - if (names[color]) { - color = names[color]; - named = true; - } else if (color === "transparent") { - return { r: 0, g: 0, b: 0, a: 0, format: "name" }; - } - var match = matchers.rgb.exec(color); - if (match) { - return { r: match[1], g: match[2], b: match[3] }; - } - match = matchers.rgba.exec(color); - if (match) { - return { r: match[1], g: match[2], b: match[3], a: match[4] }; - } - match = matchers.hsl.exec(color); - if (match) { - return { h: match[1], s: match[2], l: match[3] }; - } - match = matchers.hsla.exec(color); - if (match) { - return { h: match[1], s: match[2], l: match[3], a: match[4] }; - } - match = matchers.hsv.exec(color); - if (match) { - return { h: match[1], s: match[2], v: match[3] }; - } - match = matchers.hsva.exec(color); - if (match) { - return { h: match[1], s: match[2], v: match[3], a: match[4] }; - } - match = matchers.hex8.exec(color); - if (match) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - a: convertHexToDecimal(match[4]), - format: named ? "name" : "hex8" - }; - } - match = matchers.hex6.exec(color); - if (match) { - return { - r: parseIntFromHex(match[1]), - g: parseIntFromHex(match[2]), - b: parseIntFromHex(match[3]), - format: named ? "name" : "hex" - }; - } - match = matchers.hex4.exec(color); - if (match) { - return { - r: parseIntFromHex(match[1] + match[1]), - g: parseIntFromHex(match[2] + match[2]), - b: parseIntFromHex(match[3] + match[3]), - a: convertHexToDecimal(match[4] + match[4]), - format: named ? "name" : "hex8" - }; - } - match = matchers.hex3.exec(color); - if (match) { - return { - r: parseIntFromHex(match[1] + match[1]), - g: parseIntFromHex(match[2] + match[2]), - b: parseIntFromHex(match[3] + match[3]), - format: named ? "name" : "hex" - }; - } - return false; -} -function isValidCSSUnit(color) { - return Boolean(matchers.CSS_UNIT.exec(String(color))); -} - -// node_modules/@ctrl/tinycolor/dist/module/index.js -var TinyColor = ( - /** @class */ - function() { - function TinyColor2(color, opts) { - if (color === void 0) { - color = ""; - } - if (opts === void 0) { - opts = {}; - } - var _a; - if (color instanceof TinyColor2) { - return color; - } - if (typeof color === "number") { - color = numberInputToObject(color); - } - this.originalInput = color; - var rgb = inputToRGB(color); - this.originalInput = color; - this.r = rgb.r; - this.g = rgb.g; - this.b = rgb.b; - this.a = rgb.a; - this.roundA = Math.round(100 * this.a) / 100; - this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format; - this.gradientType = opts.gradientType; - if (this.r < 1) { - this.r = Math.round(this.r); - } - if (this.g < 1) { - this.g = Math.round(this.g); - } - if (this.b < 1) { - this.b = Math.round(this.b); - } - this.isValid = rgb.ok; - } - TinyColor2.prototype.isDark = function() { - return this.getBrightness() < 128; - }; - TinyColor2.prototype.isLight = function() { - return !this.isDark(); - }; - TinyColor2.prototype.getBrightness = function() { - var rgb = this.toRgb(); - return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3; - }; - TinyColor2.prototype.getLuminance = function() { - var rgb = this.toRgb(); - var R; - var G; - var B; - var RsRGB = rgb.r / 255; - var GsRGB = rgb.g / 255; - var BsRGB = rgb.b / 255; - if (RsRGB <= 0.03928) { - R = RsRGB / 12.92; - } else { - R = Math.pow((RsRGB + 0.055) / 1.055, 2.4); - } - if (GsRGB <= 0.03928) { - G = GsRGB / 12.92; - } else { - G = Math.pow((GsRGB + 0.055) / 1.055, 2.4); - } - if (BsRGB <= 0.03928) { - B = BsRGB / 12.92; - } else { - B = Math.pow((BsRGB + 0.055) / 1.055, 2.4); - } - return 0.2126 * R + 0.7152 * G + 0.0722 * B; - }; - TinyColor2.prototype.getAlpha = function() { - return this.a; - }; - TinyColor2.prototype.setAlpha = function(alpha) { - this.a = boundAlpha(alpha); - this.roundA = Math.round(100 * this.a) / 100; - return this; - }; - TinyColor2.prototype.isMonochrome = function() { - var s = this.toHsl().s; - return s === 0; - }; - TinyColor2.prototype.toHsv = function() { - var hsv = rgbToHsv(this.r, this.g, this.b); - return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a }; - }; - TinyColor2.prototype.toHsvString = function() { - var hsv = rgbToHsv(this.r, this.g, this.b); - var h = Math.round(hsv.h * 360); - var s = Math.round(hsv.s * 100); - var v = Math.round(hsv.v * 100); - return this.a === 1 ? "hsv(".concat(h, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")"); - }; - TinyColor2.prototype.toHsl = function() { - var hsl = rgbToHsl(this.r, this.g, this.b); - return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a }; - }; - TinyColor2.prototype.toHslString = function() { - var hsl = rgbToHsl(this.r, this.g, this.b); - var h = Math.round(hsl.h * 360); - var s = Math.round(hsl.s * 100); - var l = Math.round(hsl.l * 100); - return this.a === 1 ? "hsl(".concat(h, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")"); - }; - TinyColor2.prototype.toHex = function(allow3Char) { - if (allow3Char === void 0) { - allow3Char = false; - } - return rgbToHex(this.r, this.g, this.b, allow3Char); - }; - TinyColor2.prototype.toHexString = function(allow3Char) { - if (allow3Char === void 0) { - allow3Char = false; - } - return "#" + this.toHex(allow3Char); - }; - TinyColor2.prototype.toHex8 = function(allow4Char) { - if (allow4Char === void 0) { - allow4Char = false; - } - return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char); - }; - TinyColor2.prototype.toHex8String = function(allow4Char) { - if (allow4Char === void 0) { - allow4Char = false; - } - return "#" + this.toHex8(allow4Char); - }; - TinyColor2.prototype.toHexShortString = function(allowShortChar) { - if (allowShortChar === void 0) { - allowShortChar = false; - } - return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar); - }; - TinyColor2.prototype.toRgb = function() { - return { - r: Math.round(this.r), - g: Math.round(this.g), - b: Math.round(this.b), - a: this.a - }; - }; - TinyColor2.prototype.toRgbString = function() { - var r = Math.round(this.r); - var g = Math.round(this.g); - var b = Math.round(this.b); - return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")"); - }; - TinyColor2.prototype.toPercentageRgb = function() { - var fmt = function(x) { - return "".concat(Math.round(bound01(x, 255) * 100), "%"); - }; - return { - r: fmt(this.r), - g: fmt(this.g), - b: fmt(this.b), - a: this.a - }; - }; - TinyColor2.prototype.toPercentageRgbString = function() { - var rnd = function(x) { - return Math.round(bound01(x, 255) * 100); - }; - return this.a === 1 ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")"); - }; - TinyColor2.prototype.toName = function() { - if (this.a === 0) { - return "transparent"; - } - if (this.a < 1) { - return false; - } - var hex = "#" + rgbToHex(this.r, this.g, this.b, false); - for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) { - var _b = _a[_i], key = _b[0], value = _b[1]; - if (hex === value) { - return key; - } - } - return false; - }; - TinyColor2.prototype.toString = function(format) { - var formatSet = Boolean(format); - format = format !== null && format !== void 0 ? format : this.format; - var formattedString = false; - var hasAlpha = this.a < 1 && this.a >= 0; - var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith("hex") || format === "name"); - if (needsAlphaFormat) { - if (format === "name" && this.a === 0) { - return this.toName(); - } - return this.toRgbString(); - } - if (format === "rgb") { - formattedString = this.toRgbString(); - } - if (format === "prgb") { - formattedString = this.toPercentageRgbString(); - } - if (format === "hex" || format === "hex6") { - formattedString = this.toHexString(); - } - if (format === "hex3") { - formattedString = this.toHexString(true); - } - if (format === "hex4") { - formattedString = this.toHex8String(true); - } - if (format === "hex8") { - formattedString = this.toHex8String(); - } - if (format === "name") { - formattedString = this.toName(); - } - if (format === "hsl") { - formattedString = this.toHslString(); - } - if (format === "hsv") { - formattedString = this.toHsvString(); - } - return formattedString || this.toHexString(); - }; - TinyColor2.prototype.toNumber = function() { - return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b); - }; - TinyColor2.prototype.clone = function() { - return new TinyColor2(this.toString()); - }; - TinyColor2.prototype.lighten = function(amount) { - if (amount === void 0) { - amount = 10; - } - var hsl = this.toHsl(); - hsl.l += amount / 100; - hsl.l = clamp01(hsl.l); - return new TinyColor2(hsl); - }; - TinyColor2.prototype.brighten = function(amount) { - if (amount === void 0) { - amount = 10; - } - var rgb = this.toRgb(); - rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100)))); - rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100)))); - rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100)))); - return new TinyColor2(rgb); - }; - TinyColor2.prototype.darken = function(amount) { - if (amount === void 0) { - amount = 10; - } - var hsl = this.toHsl(); - hsl.l -= amount / 100; - hsl.l = clamp01(hsl.l); - return new TinyColor2(hsl); - }; - TinyColor2.prototype.tint = function(amount) { - if (amount === void 0) { - amount = 10; - } - return this.mix("white", amount); - }; - TinyColor2.prototype.shade = function(amount) { - if (amount === void 0) { - amount = 10; - } - return this.mix("black", amount); - }; - TinyColor2.prototype.desaturate = function(amount) { - if (amount === void 0) { - amount = 10; - } - var hsl = this.toHsl(); - hsl.s -= amount / 100; - hsl.s = clamp01(hsl.s); - return new TinyColor2(hsl); - }; - TinyColor2.prototype.saturate = function(amount) { - if (amount === void 0) { - amount = 10; - } - var hsl = this.toHsl(); - hsl.s += amount / 100; - hsl.s = clamp01(hsl.s); - return new TinyColor2(hsl); - }; - TinyColor2.prototype.greyscale = function() { - return this.desaturate(100); - }; - TinyColor2.prototype.spin = function(amount) { - var hsl = this.toHsl(); - var hue = (hsl.h + amount) % 360; - hsl.h = hue < 0 ? 360 + hue : hue; - return new TinyColor2(hsl); - }; - TinyColor2.prototype.mix = function(color, amount) { - if (amount === void 0) { - amount = 50; - } - var rgb1 = this.toRgb(); - var rgb2 = new TinyColor2(color).toRgb(); - var p = amount / 100; - var rgba = { - r: (rgb2.r - rgb1.r) * p + rgb1.r, - g: (rgb2.g - rgb1.g) * p + rgb1.g, - b: (rgb2.b - rgb1.b) * p + rgb1.b, - a: (rgb2.a - rgb1.a) * p + rgb1.a - }; - return new TinyColor2(rgba); - }; - TinyColor2.prototype.analogous = function(results, slices) { - if (results === void 0) { - results = 6; - } - if (slices === void 0) { - slices = 30; - } - var hsl = this.toHsl(); - var part = 360 / slices; - var ret = [this]; - for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) { - hsl.h = (hsl.h + part) % 360; - ret.push(new TinyColor2(hsl)); - } - return ret; - }; - TinyColor2.prototype.complement = function() { - var hsl = this.toHsl(); - hsl.h = (hsl.h + 180) % 360; - return new TinyColor2(hsl); - }; - TinyColor2.prototype.monochromatic = function(results) { - if (results === void 0) { - results = 6; - } - var hsv = this.toHsv(); - var h = hsv.h; - var s = hsv.s; - var v = hsv.v; - var res = []; - var modification = 1 / results; - while (results--) { - res.push(new TinyColor2({ h, s, v })); - v = (v + modification) % 1; - } - return res; - }; - TinyColor2.prototype.splitcomplement = function() { - var hsl = this.toHsl(); - var h = hsl.h; - return [ - this, - new TinyColor2({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }), - new TinyColor2({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }) - ]; - }; - TinyColor2.prototype.onBackground = function(background) { - var fg = this.toRgb(); - var bg = new TinyColor2(background).toRgb(); - var alpha = fg.a + bg.a * (1 - fg.a); - return new TinyColor2({ - r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha, - g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha, - b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha, - a: alpha - }); - }; - TinyColor2.prototype.triad = function() { - return this.polyad(3); - }; - TinyColor2.prototype.tetrad = function() { - return this.polyad(4); - }; - TinyColor2.prototype.polyad = function(n) { - var hsl = this.toHsl(); - var h = hsl.h; - var result = [this]; - var increment = 360 / n; - for (var i = 1; i < n; i++) { - result.push(new TinyColor2({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l })); - } - return result; - }; - TinyColor2.prototype.equals = function(color) { - return this.toRgbString() === new TinyColor2(color).toRgbString(); - }; - return TinyColor2; - }() -); - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-color.mjs -var presetColors = [ - "pink", - "red", - "yellow", - "orange", - "cyan", - "green", - "blue", - "purple", - "geekblue", - "magenta", - "volcano", - "gold", - "lime" -]; -function isPresetColor(color) { - return presetColors.indexOf(color) !== -1; -} -var hueStep = 2; -var saturationStep = 0.16; -var saturationStep2 = 0.05; -var brightnessStep1 = 0.05; -var brightnessStep2 = 0.15; -var lightColorCount = 5; -var darkColorCount = 4; -var darkColorMap = [ - { index: 7, opacity: 0.15 }, - { index: 6, opacity: 0.25 }, - { index: 5, opacity: 0.3 }, - { index: 5, opacity: 0.45 }, - { index: 5, opacity: 0.65 }, - { index: 5, opacity: 0.85 }, - { index: 4, opacity: 0.9 }, - { index: 3, opacity: 0.95 }, - { index: 2, opacity: 0.97 }, - { index: 1, opacity: 0.98 } -]; -function toHsv({ r, g, b }) { - const hsv = rgbToHsv(r, g, b); - return { h: hsv.h * 360, s: hsv.s, v: hsv.v }; -} -function toHex({ r, g, b }) { - return `#${rgbToHex(r, g, b, false)}`; -} -function mix(rgb1, rgb2, amount) { - const p = amount / 100; - const rgb = { - r: (rgb2.r - rgb1.r) * p + rgb1.r, - g: (rgb2.g - rgb1.g) * p + rgb1.g, - b: (rgb2.b - rgb1.b) * p + rgb1.b - }; - return rgb; -} -function getHue(hsv, i, light) { - let hue; - if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) { - hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i; - } else { - hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i; - } - if (hue < 0) { - hue += 360; - } else if (hue >= 360) { - hue -= 360; - } - return hue; -} -function getSaturation(hsv, i, light) { - if (hsv.h === 0 && hsv.s === 0) { - return hsv.s; - } - let saturation; - if (light) { - saturation = hsv.s - saturationStep * i; - } else if (i === darkColorCount) { - saturation = hsv.s + saturationStep; - } else { - saturation = hsv.s + saturationStep2 * i; - } - if (saturation > 1) { - saturation = 1; - } - if (light && i === lightColorCount && saturation > 0.1) { - saturation = 0.1; - } - if (saturation < 0.06) { - saturation = 0.06; - } - return Number(saturation.toFixed(2)); -} -function getValue(hsv, i, light) { - let value; - if (light) { - value = hsv.v + brightnessStep1 * i; - } else { - value = hsv.v - brightnessStep2 * i; - } - if (value > 1) { - value = 1; - } - return Number(value.toFixed(2)); -} -function generate(color, opts = {}) { - const patterns = []; - const pColor = inputToRGB(color); - for (let i = lightColorCount; i > 0; i -= 1) { - const hsv = toHsv(pColor); - const colorString = toHex(inputToRGB({ - h: getHue(hsv, i, true), - s: getSaturation(hsv, i, true), - v: getValue(hsv, i, true) - })); - patterns.push(colorString); - } - patterns.push(toHex(pColor)); - for (let i = 1; i <= darkColorCount; i += 1) { - const hsv = toHsv(pColor); - const colorString = toHex(inputToRGB({ - h: getHue(hsv, i), - s: getSaturation(hsv, i), - v: getValue(hsv, i) - })); - patterns.push(colorString); - } - if (opts.theme === "dark") { - return darkColorMap.map(({ index, opacity }) => { - const darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || "#141414"), inputToRGB(patterns[index]), opacity * 100)); - return darkColorString; - }); - } - return patterns; -} - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-config.mjs -var NZ_CONFIG = new InjectionToken("nz-config"); -var dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`; -function getStyle(globalPrefixCls, theme) { - const variables = {}; - const formatColor = (color, updater) => { - let clone = color.clone(); - clone = updater?.(clone) || clone; - return clone.toRgbString(); - }; - const fillColor = (colorVal, type) => { - const baseColor = new TinyColor(colorVal); - const colorPalettes = generate(baseColor.toRgbString()); - variables[`${type}-color`] = formatColor(baseColor); - variables[`${type}-color-disabled`] = colorPalettes[1]; - variables[`${type}-color-hover`] = colorPalettes[4]; - variables[`${type}-color-active`] = colorPalettes[7]; - variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString(); - variables[`${type}-color-deprecated-bg`] = colorPalettes[1]; - variables[`${type}-color-deprecated-border`] = colorPalettes[3]; - }; - if (theme.primaryColor) { - fillColor(theme.primaryColor, "primary"); - const primaryColor = new TinyColor(theme.primaryColor); - const primaryColors = generate(primaryColor.toRgbString()); - primaryColors.forEach((color, index) => { - variables[`primary-${index + 1}`] = color; - }); - variables["primary-color-deprecated-l-35"] = formatColor(primaryColor, (c) => c.lighten(35)); - variables["primary-color-deprecated-l-20"] = formatColor(primaryColor, (c) => c.lighten(20)); - variables["primary-color-deprecated-t-20"] = formatColor(primaryColor, (c) => c.tint(20)); - variables["primary-color-deprecated-t-50"] = formatColor(primaryColor, (c) => c.tint(50)); - variables["primary-color-deprecated-f-12"] = formatColor(primaryColor, (c) => c.setAlpha(c.getAlpha() * 0.12)); - const primaryActiveColor = new TinyColor(primaryColors[0]); - variables["primary-color-active-deprecated-f-30"] = formatColor(primaryActiveColor, (c) => c.setAlpha(c.getAlpha() * 0.3)); - variables["primary-color-active-deprecated-d-02"] = formatColor(primaryActiveColor, (c) => c.darken(2)); - } - if (theme.successColor) { - fillColor(theme.successColor, "success"); - } - if (theme.warningColor) { - fillColor(theme.warningColor, "warning"); - } - if (theme.errorColor) { - fillColor(theme.errorColor, "error"); - } - if (theme.infoColor) { - fillColor(theme.infoColor, "info"); - } - const cssList = Object.keys(variables).map((key) => `--${globalPrefixCls}-${key}: ${variables[key]};`); - return ` - :root { - ${cssList.join("\n")} - } - `.trim(); -} -function registerTheme(globalPrefixCls, theme, cspNonce) { - const style = getStyle(globalPrefixCls, theme); - if (canUseDom()) { - updateCSS(style, `${dynamicStyleMark}-dynamic-theme`, { - cspNonce - }); - } else { - warn(`NzConfigService: SSR do not support dynamic theme with css variables.`); - } -} -var isDefined = function(value) { - return value !== void 0; -}; -var defaultPrefixCls = "ant"; -var _NzConfigService = class _NzConfigService { - constructor(defaultConfig, cspNonce) { - this.configUpdated$ = new Subject(); - this.config = defaultConfig || {}; - this.cspNonce = cspNonce; - if (this.config.theme) { - registerTheme(this.getConfig().prefixCls?.prefixCls || defaultPrefixCls, this.config.theme, cspNonce); - } - } - getConfig() { - return this.config; - } - getConfigForComponent(componentName) { - return this.config[componentName]; - } - getConfigChangeEventForComponent(componentName) { - return this.configUpdated$.pipe(filter((n) => n === componentName), mapTo(void 0)); - } - set(componentName, value) { - this.config[componentName] = __spreadValues(__spreadValues({}, this.config[componentName]), value); - if (componentName === "theme" && this.config.theme) { - registerTheme(this.getConfig().prefixCls?.prefixCls || defaultPrefixCls, this.config.theme, this.cspNonce); - } - this.configUpdated$.next(componentName); - } -}; -_NzConfigService.ɵfac = function NzConfigService_Factory(t) { - return new (t || _NzConfigService)(ɵɵinject(NZ_CONFIG, 8), ɵɵinject(CSP_NONCE, 8)); -}; -_NzConfigService.ɵprov = ɵɵdefineInjectable({ - token: _NzConfigService, - factory: _NzConfigService.ɵfac, - providedIn: "root" -}); -var NzConfigService = _NzConfigService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzConfigService, [{ - type: Injectable, - args: [{ - providedIn: "root" - }] - }], () => [{ - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [NZ_CONFIG] - }] - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [CSP_NONCE] - }] - }], null); -})(); -function WithConfig() { - return function ConfigDecorator(target, propName, originalDescriptor) { - const privatePropName = `$$__zorroConfigDecorator__${propName}`; - Object.defineProperty(target, privatePropName, { - configurable: true, - writable: true, - enumerable: false - }); - return { - get() { - const originalValue = originalDescriptor?.get ? originalDescriptor.get.bind(this)() : this[privatePropName]; - const assignedByUser = (this.propertyAssignCounter?.[propName] || 0) > 1; - const configValue = this.nzConfigService.getConfigForComponent(this._nzModuleName)?.[propName]; - if (assignedByUser && isDefined(originalValue)) { - return originalValue; - } else { - return isDefined(configValue) ? configValue : originalValue; - } - }, - set(value) { - this.propertyAssignCounter = this.propertyAssignCounter || {}; - this.propertyAssignCounter[propName] = (this.propertyAssignCounter[propName] || 0) + 1; - if (originalDescriptor?.set) { - originalDescriptor.set.bind(this)(value); - } else { - this[privatePropName] = value; - } - }, - configurable: true, - enumerable: true - }; - }; -} - -export { - rgbToHsv, - rgbToHex, - inputToRGB, - isPresetColor, - NzConfigService, - WithConfig -}; -//# sourceMappingURL=chunk-ZHMJ6SNN.js.map diff --git a/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js.map b/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js.map deleted file mode 100644 index 72b4df1..0000000 --- a/.angular/cache/17.0.7/vite/deps/chunk-ZHMJ6SNN.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/@ctrl/tinycolor/dist/module/util.js", "../../../../../node_modules/@ctrl/tinycolor/dist/module/conversion.js", "../../../../../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js", "../../../../../node_modules/@ctrl/tinycolor/dist/module/format-input.js", "../../../../../node_modules/@ctrl/tinycolor/dist/module/index.js", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-color.mjs", "../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-core-config.mjs"], - "sourcesContent": ["/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n", "import { bound01, pad2 } from './util.js';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n", "// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n", "/* eslint-disable @typescript-eslint/no-redundant-type-constituents */\nimport { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb, } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { boundAlpha, convertToPercentage } from './util.js';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n", "import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion.js';\nimport { names } from './css-color-names.js';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util.js';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns whether the color is monochrome.\n */\n TinyColor.prototype.isMonochrome = function () {\n var s = this.toHsl().s;\n return s === 0;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # prefixed.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # prefixed.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n */\n TinyColor.prototype.toHexShortString = function (allowShortChar) {\n if (allowShortChar === void 0) { allowShortChar = false; }\n return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n var alpha = fg.a + bg.a * (1 - fg.a);\n return new TinyColor({\n r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n a: alpha,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n", "import { rgbToHsv, rgbToHex, inputToRGB } from '@ctrl/tinycolor';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst statusColors = ['success', 'processing', 'error', 'default', 'warning'];\nconst presetColors = [\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime'\n];\nfunction isPresetColor(color) {\n return presetColors.indexOf(color) !== -1;\n}\nfunction isStatusColor(color) {\n return statusColors.indexOf(color) !== -1;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Sync from @ant-design/colors(https://github.com/ant-design/ant-design-colors)\n */\nconst hueStep = 2; // 色相阶梯\nconst saturationStep = 0.16; // 饱和度阶梯,浅色部分\nconst saturationStep2 = 0.05; // 饱和度阶梯,深色部分\nconst brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\nconst brightnessStep2 = 0.15; // 亮度阶梯,深色部分\nconst lightColorCount = 5; // 浅色数量,主色上\nconst darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\nconst darkColorMap = [\n { index: 7, opacity: 0.15 },\n { index: 6, opacity: 0.25 },\n { index: 5, opacity: 0.3 },\n { index: 5, opacity: 0.45 },\n { index: 5, opacity: 0.65 },\n { index: 5, opacity: 0.85 },\n { index: 4, opacity: 0.9 },\n { index: 3, opacity: 0.95 },\n { index: 2, opacity: 0.97 },\n { index: 1, opacity: 0.98 }\n];\n// Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\nfunction toHsv({ r, g, b }) {\n const hsv = rgbToHsv(r, g, b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v };\n}\n// Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\nfunction toHex({ r, g, b }) {\n return `#${rgbToHex(r, g, b, false)}`;\n}\n// Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\nfunction mix(rgb1, rgb2, amount) {\n const p = amount / 100;\n const rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\nfunction getHue(hsv, i, light) {\n let hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n }\n else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n }\n else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n let saturation;\n if (light) {\n saturation = hsv.s - saturationStep * i;\n }\n else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n }\n else {\n saturation = hsv.s + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 1) {\n saturation = 1;\n }\n // 第一格的 s 限制在 0.06-0.1 之间\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n return Number(saturation.toFixed(2));\n}\nfunction getValue(hsv, i, light) {\n let value;\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n }\n else {\n value = hsv.v - brightnessStep2 * i;\n }\n if (value > 1) {\n value = 1;\n }\n return Number(value.toFixed(2));\n}\nfunction generate(color, opts = {}) {\n const patterns = [];\n const pColor = inputToRGB(color);\n for (let i = lightColorCount; i > 0; i -= 1) {\n const hsv = toHsv(pColor);\n const colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n patterns.push(toHex(pColor));\n for (let i = 1; i <= darkColorCount; i += 1) {\n const hsv = toHsv(pColor);\n const colorString = toHex(inputToRGB({\n h: getHue(hsv, i),\n s: getSaturation(hsv, i),\n v: getValue(hsv, i)\n }));\n patterns.push(colorString);\n }\n // dark theme patterns\n if (opts.theme === 'dark') {\n return darkColorMap.map(({ index, opacity }) => {\n const darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n return patterns;\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { generate, isPresetColor, isStatusColor, presetColors, statusColors };\n\n", "import * as i0 from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders, CSP_NONCE, Injectable, Optional, Inject } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, mapTo } from 'rxjs/operators';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { generate } from 'ng-zorro-antd/core/color';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { canUseDom, updateCSS } from 'ng-zorro-antd/core/util';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * User should provide an object implements this interface to set global configurations.\n */\nconst NZ_CONFIG = new InjectionToken('nz-config');\nfunction provideNzConfig(config) {\n return makeEnvironmentProviders([{\n provide: NZ_CONFIG,\n useValue: config\n }]);\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n/**\n * Sync from @ant-design/colors(https://github.com/ant-design/ant-design-colors)\n */\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nfunction getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = updater?.(clone) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[7];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[1];\n variables[`${type}-color-deprecated-border`] = colorPalettes[3];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nfunction registerTheme(globalPrefixCls, theme, cspNonce) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`, {\n cspNonce\n });\n } else {\n warn(`NzConfigService: SSR do not support dynamic theme with css variables.`);\n }\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst isDefined = function (value) {\n return value !== undefined;\n};\nconst defaultPrefixCls = 'ant';\nclass NzConfigService {\n constructor(defaultConfig, cspNonce) {\n this.configUpdated$ = new Subject();\n this.config = defaultConfig || {};\n this.cspNonce = cspNonce;\n if (this.config.theme) {\n // If theme is set with NZ_CONFIG, register theme to make sure css variables work\n registerTheme(this.getConfig().prefixCls?.prefixCls || defaultPrefixCls, this.config.theme, cspNonce);\n }\n }\n getConfig() {\n return this.config;\n }\n getConfigForComponent(componentName) {\n return this.config[componentName];\n }\n getConfigChangeEventForComponent(componentName) {\n return this.configUpdated$.pipe(filter(n => n === componentName), mapTo(undefined));\n }\n set(componentName, value) {\n this.config[componentName] = {\n ...this.config[componentName],\n ...value\n };\n if (componentName === 'theme' && this.config.theme) {\n registerTheme(this.getConfig().prefixCls?.prefixCls || defaultPrefixCls, this.config.theme, this.cspNonce);\n }\n this.configUpdated$.next(componentName);\n }\n static {\n this.ɵfac = function NzConfigService_Factory(t) {\n return new (t || NzConfigService)(i0.ɵɵinject(NZ_CONFIG, 8), i0.ɵɵinject(CSP_NONCE, 8));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzConfigService,\n factory: NzConfigService.ɵfac,\n providedIn: 'root'\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzConfigService, [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NZ_CONFIG]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CSP_NONCE]\n }]\n }], null);\n})();\n/* eslint-disable no-invalid-this */\n/**\n * This decorator is used to decorate properties. If a property is decorated, it would try to load default value from\n * config.\n */\n// eslint-disable-next-line\nfunction WithConfig() {\n return function ConfigDecorator(target, propName, originalDescriptor) {\n const privatePropName = `$$__zorroConfigDecorator__${propName}`;\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true,\n enumerable: false\n });\n return {\n get() {\n const originalValue = originalDescriptor?.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\n const assignedByUser = (this.propertyAssignCounter?.[propName] || 0) > 1;\n const configValue = this.nzConfigService.getConfigForComponent(this._nzModuleName)?.[propName];\n if (assignedByUser && isDefined(originalValue)) {\n return originalValue;\n } else {\n return isDefined(configValue) ? configValue : originalValue;\n }\n },\n set(value) {\n // If the value is assigned, we consider the newly assigned value as 'assigned by user'.\n this.propertyAssignCounter = this.propertyAssignCounter || {};\n this.propertyAssignCounter[propName] = (this.propertyAssignCounter[propName] || 0) + 1;\n if (originalDescriptor?.set) {\n originalDescriptor.set.bind(this)(value);\n } else {\n this[privatePropName] = value;\n }\n },\n configurable: true,\n enumerable: true\n };\n };\n}\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NZ_CONFIG, NzConfigService, WithConfig, getStyle, provideNzConfig, registerTheme };\n"], - "mappings": "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", - "names": ["TinyColor"] -} diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_breadcrumb.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_breadcrumb.js index 09c444b..b22e49f 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_breadcrumb.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_breadcrumb.js @@ -1,39 +1,39 @@ import { NzDropDownDirective, NzDropDownModule -} from "./chunk-2CQTWQUI.js"; -import "./chunk-WKTPWT5U.js"; +} from "./chunk-KUR2ZJJB.js"; +import "./chunk-YGBKDI43.js"; +import "./chunk-RSMXCRFI.js"; import { ActivatedRoute, NavigationEnd, PRIMARY_OUTLET, Router } from "./chunk-CZEXXPIB.js"; -import "./chunk-6RXUTAFR.js"; -import "./chunk-XAGDQPFO.js"; -import "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import "./chunk-6U656R5M.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; +import "./chunk-RJWK6JFA.js"; import { NzOutletModule, NzStringTemplateOutletDirective } from "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import "./chunk-KMGBCF4T.js"; -import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; +import "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import { + NzIconDirective, + NzIconModule +} from "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; import { InputBoolean, PREFIX -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_button.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_button.js index 1cdb358..bea4431 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_button.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_button.js @@ -2,12 +2,12 @@ import { NzButtonComponent, NzButtonGroupComponent, NzButtonModule -} from "./chunk-KMGBCF4T.js"; -import "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; +} from "./chunk-RSMXCRFI.js"; import "./chunk-6NZ2BEBG.js"; +import "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; -import "./chunk-M5GY4FCO.js"; +import "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_carousel.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_carousel.js index b2b962f..025c56a 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_carousel.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_carousel.js @@ -1,26 +1,26 @@ -import { - NzDragService, - NzResizeService -} from "./chunk-D5ODNR6D.js"; import { LEFT_ARROW, RIGHT_ARROW } from "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; import { - NzConfigService, - WithConfig -} from "./chunk-ZHMJ6SNN.js"; + NzDragService, + NzResizeService +} from "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import { + NzConfigService, + WithConfig +} from "./chunk-DASIIA63.js"; import { Platform } from "./chunk-IAC53GOD.js"; import { InputBoolean, InputNumber -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import { NgForOf, NgIf, diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_checkbox.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_checkbox.js index fa7a26a..a2a457e 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_checkbox.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_checkbox.js @@ -1,11 +1,9 @@ -import { - NzFormStatusService -} from "./chunk-FGZVIKKA.js"; import { FocusMonitor -} from "./chunk-E6XJDY45.js"; -import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; +} from "./chunk-EISFVYMQ.js"; +import { + NzFormStatusService +} from "./chunk-5AGOG3VI.js"; import { CheckboxControlValueAccessor, FormsModule, @@ -13,15 +11,17 @@ import { NgControlStatus, NgModel } from "./chunk-D4IIJHV7.js"; -import "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; +import "./chunk-JGP5BR6B.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; import { InputBoolean -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-Y4CEYMY2.js"; import "./chunk-X7WBA24Z.js"; import { diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js deleted file mode 100644 index 3e46537..0000000 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js +++ /dev/null @@ -1,1073 +0,0 @@ -import { - NzNoAnimationDirective -} from "./chunk-55A2ZGND.js"; -import { - FocusTrapFactory -} from "./chunk-E6XJDY45.js"; -import { - CdkPortalOutlet, - ComponentPortal, - Overlay, - OverlayConfig, - OverlayKeyboardDispatcher, - PortalModule, - TemplatePortal -} from "./chunk-6U656R5M.js"; -import { - NzOutletModule, - NzStringTemplateOutletDirective -} from "./chunk-VOD2PKZN.js"; -import { - ESCAPE -} from "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import { - NzConfigService, - WithConfig -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; -import "./chunk-IAC53GOD.js"; -import { - InputBoolean, - toCssPixel -} from "./chunk-M5GY4FCO.js"; -import "./chunk-ECVKT3ZH.js"; -import "./chunk-KI2JSLP6.js"; -import "./chunk-Y4CEYMY2.js"; -import "./chunk-X7WBA24Z.js"; -import { - DOCUMENT, - NgIf, - NgStyle, - NgTemplateOutlet -} from "./chunk-OSQBUYO6.js"; -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - ContentChild, - Directive, - EventEmitter, - Inject, - Injectable, - InjectionToken, - Injector, - Input, - NgModule, - Optional, - Output, - Renderer2, - Subject, - TemplateRef, - Type, - ViewChild, - ViewContainerRef, - __decorate, - setClassMetadata, - takeUntil, - ɵɵInheritDefinitionFeature, - ɵɵNgOnChangesFeature, - ɵɵStandaloneFeature, - ɵɵadvance, - ɵɵclassMapInterpolate1, - ɵɵclassProp, - ɵɵcontentQuery, - ɵɵdefineComponent, - ɵɵdefineDirective, - ɵɵdefineInjectable, - ɵɵdefineInjector, - ɵɵdefineNgModule, - ɵɵdirectiveInject, - ɵɵelement, - ɵɵelementContainer, - ɵɵelementContainerEnd, - ɵɵelementContainerStart, - ɵɵelementEnd, - ɵɵelementStart, - ɵɵgetCurrentView, - ɵɵinject, - ɵɵlistener, - ɵɵloadQuery, - ɵɵnextContext, - ɵɵproperty, - ɵɵqueryRefresh, - ɵɵreference, - ɵɵresetView, - ɵɵrestoreView, - ɵɵsanitizeHtml, - ɵɵstyleProp, - ɵɵtemplate, - ɵɵtemplateRefExtractor, - ɵɵviewQuery -} from "./chunk-FGESKT7O.js"; -import { - __objRest -} from "./chunk-HSNDBVJ3.js"; - -// node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-drawer.mjs -var _c0 = ["drawerTemplate"]; -function NzDrawerComponent_ng_template_0_div_1_Template(rf, ctx) { - if (rf & 1) { - const _r10 = ɵɵgetCurrentView(); - ɵɵelementStart(0, "div", 11); - ɵɵlistener("click", function NzDrawerComponent_ng_template_0_div_1_Template_div_click_0_listener() { - ɵɵrestoreView(_r10); - const ctx_r9 = ɵɵnextContext(2); - return ɵɵresetView(ctx_r9.maskClick()); - }); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r2 = ɵɵnextContext(2); - ɵɵproperty("ngStyle", ctx_r2.nzMaskStyle); - } -} -function NzDrawerComponent_ng_template_0_div_5_button_2_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵelement(1, "span", 19); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const closeIcon_r15 = ctx.$implicit; - ɵɵadvance(1); - ɵɵproperty("nzType", closeIcon_r15); - } -} -function NzDrawerComponent_ng_template_0_div_5_button_2_Template(rf, ctx) { - if (rf & 1) { - const _r17 = ɵɵgetCurrentView(); - ɵɵelementStart(0, "button", 17); - ɵɵlistener("click", function NzDrawerComponent_ng_template_0_div_5_button_2_Template_button_click_0_listener() { - ɵɵrestoreView(_r17); - const ctx_r16 = ɵɵnextContext(3); - return ɵɵresetView(ctx_r16.closeClick()); - }); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_button_2_ng_container_1_Template, 2, 1, "ng-container", 18); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r11 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx_r11.nzCloseIcon); - } -} -function NzDrawerComponent_ng_template_0_div_5_div_3_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵelement(1, "div", 21); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r18 = ɵɵnextContext(4); - ɵɵadvance(1); - ɵɵproperty("innerHTML", ctx_r18.nzTitle, ɵɵsanitizeHtml); - } -} -function NzDrawerComponent_ng_template_0_div_5_div_3_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 20); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_div_3_ng_container_1_Template, 2, 1, "ng-container", 18); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r12 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx_r12.nzTitle); - } -} -function NzDrawerComponent_ng_template_0_div_5_div_4_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵelement(1, "div", 21); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r19 = ɵɵnextContext(4); - ɵɵadvance(1); - ɵɵproperty("innerHTML", ctx_r19.nzExtra, ɵɵsanitizeHtml); - } -} -function NzDrawerComponent_ng_template_0_div_5_div_4_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 22); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_div_4_ng_container_1_Template, 2, 1, "ng-container", 18); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r13 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx_r13.nzExtra); - } -} -function NzDrawerComponent_ng_template_0_div_5_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 12)(1, "div", 13); - ɵɵtemplate(2, NzDrawerComponent_ng_template_0_div_5_button_2_Template, 2, 1, "button", 14)(3, NzDrawerComponent_ng_template_0_div_5_div_3_Template, 2, 1, "div", 15); - ɵɵelementEnd(); - ɵɵtemplate(4, NzDrawerComponent_ng_template_0_div_5_div_4_Template, 2, 1, "div", 16); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r3 = ɵɵnextContext(2); - ɵɵclassProp("ant-drawer-header-close-only", !ctx_r3.nzTitle); - ɵɵadvance(2); - ɵɵproperty("ngIf", ctx_r3.nzClosable); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx_r3.nzTitle); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx_r3.nzExtra); - } -} -function NzDrawerComponent_ng_template_0_ng_template_7_Template(rf, ctx) { -} -function NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainer(0); - } -} -function NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_ng_container_1_Template, 1, 0, "ng-container", 24); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r20 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("ngTemplateOutlet", ctx_r20.nzContent)("ngTemplateOutletContext", ctx_r20.templateContext); - } -} -function NzDrawerComponent_ng_template_0_ng_container_8_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_Template, 2, 2, "ng-container", 23); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r5 = ɵɵnextContext(2); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx_r5.isTemplateRef(ctx_r5.nzContent)); - } -} -function NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_ng_template_1_Template(rf, ctx) { -} -function NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_ng_template_1_Template, 0, 0, "ng-template", 25); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r22 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("ngTemplateOutlet", ctx_r22.contentFromContentChild); - } -} -function NzDrawerComponent_ng_template_0_ng_template_9_Template(rf, ctx) { - if (rf & 1) { - ɵɵtemplate(0, NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_Template, 2, 1, "ng-container", 23); - } - if (rf & 2) { - const ctx_r6 = ɵɵnextContext(2); - ɵɵproperty("ngIf", ctx_r6.contentFromContentChild && (ctx_r6.isOpen || ctx_r6.inAnimation)); - } -} -function NzDrawerComponent_ng_template_0_div_11_ng_container_1_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementContainerStart(0); - ɵɵelement(1, "div", 21); - ɵɵelementContainerEnd(); - } - if (rf & 2) { - const ctx_r24 = ɵɵnextContext(3); - ɵɵadvance(1); - ɵɵproperty("innerHTML", ctx_r24.nzFooter, ɵɵsanitizeHtml); - } -} -function NzDrawerComponent_ng_template_0_div_11_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 26); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_11_ng_container_1_Template, 2, 1, "ng-container", 18); - ɵɵelementEnd(); - } - if (rf & 2) { - const ctx_r8 = ɵɵnextContext(2); - ɵɵadvance(1); - ɵɵproperty("nzStringTemplateOutlet", ctx_r8.nzFooter); - } -} -function NzDrawerComponent_ng_template_0_Template(rf, ctx) { - if (rf & 1) { - ɵɵelementStart(0, "div", 1); - ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_1_Template, 1, 1, "div", 2); - ɵɵelementStart(2, "div")(3, "div", 3)(4, "div", 4); - ɵɵtemplate(5, NzDrawerComponent_ng_template_0_div_5_Template, 5, 5, "div", 5); - ɵɵelementStart(6, "div", 6); - ɵɵtemplate(7, NzDrawerComponent_ng_template_0_ng_template_7_Template, 0, 0, "ng-template", 7)(8, NzDrawerComponent_ng_template_0_ng_container_8_Template, 2, 1, "ng-container", 8)(9, NzDrawerComponent_ng_template_0_ng_template_9_Template, 1, 1, "ng-template", null, 9, ɵɵtemplateRefExtractor); - ɵɵelementEnd(); - ɵɵtemplate(11, NzDrawerComponent_ng_template_0_div_11_Template, 2, 1, "div", 10); - ɵɵelementEnd()()()(); - } - if (rf & 2) { - const _r7 = ɵɵreference(10); - const ctx_r0 = ɵɵnextContext(); - ɵɵstyleProp("transform", ctx_r0.offsetTransform)("transition", ctx_r0.placementChanging ? "none" : null)("z-index", ctx_r0.nzZIndex); - ɵɵclassProp("ant-drawer-rtl", ctx_r0.dir === "rtl")("ant-drawer-open", ctx_r0.isOpen)("no-mask", !ctx_r0.nzMask)("ant-drawer-top", ctx_r0.nzPlacement === "top")("ant-drawer-bottom", ctx_r0.nzPlacement === "bottom")("ant-drawer-right", ctx_r0.nzPlacement === "right")("ant-drawer-left", ctx_r0.nzPlacement === "left"); - ɵɵproperty("nzNoAnimation", ctx_r0.nzNoAnimation); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx_r0.nzMask); - ɵɵadvance(1); - ɵɵclassMapInterpolate1("ant-drawer-content-wrapper ", ctx_r0.nzWrapClassName, ""); - ɵɵstyleProp("width", ctx_r0.width)("height", ctx_r0.height)("transform", ctx_r0.transform)("transition", ctx_r0.placementChanging ? "none" : null); - ɵɵadvance(2); - ɵɵstyleProp("height", ctx_r0.isLeftOrRight ? "100%" : null); - ɵɵadvance(1); - ɵɵproperty("ngIf", ctx_r0.nzTitle || ctx_r0.nzClosable); - ɵɵadvance(1); - ɵɵproperty("ngStyle", ctx_r0.nzBodyStyle); - ɵɵadvance(2); - ɵɵproperty("ngIf", ctx_r0.nzContent)("ngIfElse", _r7); - ɵɵadvance(3); - ɵɵproperty("ngIf", ctx_r0.nzFooter); - } -} -var _NzDrawerContentDirective = class _NzDrawerContentDirective { - constructor(templateRef) { - this.templateRef = templateRef; - } -}; -_NzDrawerContentDirective.ɵfac = function NzDrawerContentDirective_Factory(t) { - return new (t || _NzDrawerContentDirective)(ɵɵdirectiveInject(TemplateRef)); -}; -_NzDrawerContentDirective.ɵdir = ɵɵdefineDirective({ - type: _NzDrawerContentDirective, - selectors: [["", "nzDrawerContent", ""]], - exportAs: ["nzDrawerContent"], - standalone: true -}); -var NzDrawerContentDirective = _NzDrawerContentDirective; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDrawerContentDirective, [{ - type: Directive, - args: [{ - selector: "[nzDrawerContent]", - exportAs: "nzDrawerContent", - standalone: true - }] - }], () => [{ - type: TemplateRef - }], null); -})(); -var DRAWER_DEFAULT_SIZE = 378; -var DRAWER_LARGE_SIZE = 736; -var NZ_DRAWER_DATA = new InjectionToken("NZ_DRAWER_DATA"); -var NzDrawerRef = class { -}; -var DRAWER_ANIMATE_DURATION = 300; -var NZ_CONFIG_MODULE_NAME = "drawer"; -var _NzDrawerComponent = class _NzDrawerComponent extends NzDrawerRef { - set nzVisible(value) { - this.isOpen = value; - } - get nzVisible() { - return this.isOpen; - } - get offsetTransform() { - if (!this.isOpen || this.nzOffsetX + this.nzOffsetY === 0) { - return null; - } - switch (this.nzPlacement) { - case "left": - return `translateX(${this.nzOffsetX}px)`; - case "right": - return `translateX(-${this.nzOffsetX}px)`; - case "top": - return `translateY(${this.nzOffsetY}px)`; - case "bottom": - return `translateY(-${this.nzOffsetY}px)`; - } - } - get transform() { - if (this.isOpen) { - return null; - } - switch (this.nzPlacement) { - case "left": - return `translateX(-100%)`; - case "right": - return `translateX(100%)`; - case "top": - return `translateY(-100%)`; - case "bottom": - return `translateY(100%)`; - } - } - get width() { - if (this.isLeftOrRight) { - const defaultWidth = this.nzSize === "large" ? DRAWER_LARGE_SIZE : DRAWER_DEFAULT_SIZE; - return this.nzWidth === void 0 ? toCssPixel(defaultWidth) : toCssPixel(this.nzWidth); - } - return null; - } - get height() { - if (!this.isLeftOrRight) { - const defaultHeight = this.nzSize === "large" ? DRAWER_LARGE_SIZE : DRAWER_DEFAULT_SIZE; - return this.nzHeight === void 0 ? toCssPixel(defaultHeight) : toCssPixel(this.nzHeight); - } - return null; - } - get isLeftOrRight() { - return this.nzPlacement === "left" || this.nzPlacement === "right"; - } - get afterOpen() { - return this.nzAfterOpen.asObservable(); - } - get afterClose() { - return this.nzAfterClose.asObservable(); - } - isTemplateRef(value) { - return value instanceof TemplateRef; - } - constructor(cdr, document, nzConfigService, renderer, overlay, injector, changeDetectorRef, focusTrapFactory, viewContainerRef, overlayKeyboardDispatcher, directionality) { - super(); - this.cdr = cdr; - this.document = document; - this.nzConfigService = nzConfigService; - this.renderer = renderer; - this.overlay = overlay; - this.injector = injector; - this.changeDetectorRef = changeDetectorRef; - this.focusTrapFactory = focusTrapFactory; - this.viewContainerRef = viewContainerRef; - this.overlayKeyboardDispatcher = overlayKeyboardDispatcher; - this.directionality = directionality; - this._nzModuleName = NZ_CONFIG_MODULE_NAME; - this.nzCloseIcon = "close"; - this.nzClosable = true; - this.nzMaskClosable = true; - this.nzMask = true; - this.nzCloseOnNavigation = true; - this.nzNoAnimation = false; - this.nzKeyboard = true; - this.nzPlacement = "right"; - this.nzSize = "default"; - this.nzMaskStyle = {}; - this.nzBodyStyle = {}; - this.nzZIndex = 1e3; - this.nzOffsetX = 0; - this.nzOffsetY = 0; - this.componentInstance = null; - this.nzOnViewInit = new EventEmitter(); - this.nzOnClose = new EventEmitter(); - this.nzVisibleChange = new EventEmitter(); - this.destroy$ = new Subject(); - this.placementChanging = false; - this.placementChangeTimeoutId = -1; - this.isOpen = false; - this.inAnimation = false; - this.templateContext = { - $implicit: void 0, - drawerRef: this - }; - this.nzAfterOpen = new Subject(); - this.nzAfterClose = new Subject(); - this.nzDirection = void 0; - this.dir = "ltr"; - } - ngOnInit() { - this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => { - this.dir = direction; - this.cdr.detectChanges(); - }); - this.dir = this.nzDirection || this.directionality.value; - this.attachOverlay(); - this.updateOverlayStyle(); - this.updateBodyOverflow(); - this.templateContext = { - $implicit: this.nzData || this.nzContentParams, - drawerRef: this - }; - this.changeDetectorRef.detectChanges(); - } - ngAfterViewInit() { - this.attachBodyContent(); - if (this.nzOnViewInit.observers.length) { - setTimeout(() => { - this.nzOnViewInit.emit(); - }); - } - } - ngOnChanges(changes) { - const { - nzPlacement, - nzVisible - } = changes; - if (nzVisible) { - const value = changes.nzVisible.currentValue; - if (value) { - this.open(); - } else { - this.close(); - } - } - if (nzPlacement && !nzPlacement.isFirstChange()) { - this.triggerPlacementChangeCycleOnce(); - } - } - ngOnDestroy() { - this.destroy$.next(); - this.destroy$.complete(); - clearTimeout(this.placementChangeTimeoutId); - this.disposeOverlay(); - } - getAnimationDuration() { - return this.nzNoAnimation ? 0 : DRAWER_ANIMATE_DURATION; - } - // Disable the transition animation temporarily when the placement changing - triggerPlacementChangeCycleOnce() { - if (!this.nzNoAnimation) { - this.placementChanging = true; - this.changeDetectorRef.markForCheck(); - clearTimeout(this.placementChangeTimeoutId); - this.placementChangeTimeoutId = setTimeout(() => { - this.placementChanging = false; - this.changeDetectorRef.markForCheck(); - }, this.getAnimationDuration()); - } - } - close(result) { - this.isOpen = false; - this.inAnimation = true; - this.nzVisibleChange.emit(false); - this.updateOverlayStyle(); - this.overlayKeyboardDispatcher.remove(this.overlayRef); - this.changeDetectorRef.detectChanges(); - setTimeout(() => { - this.updateBodyOverflow(); - this.restoreFocus(); - this.inAnimation = false; - this.nzAfterClose.next(result); - this.nzAfterClose.complete(); - this.componentInstance = null; - }, this.getAnimationDuration()); - } - open() { - this.attachOverlay(); - this.isOpen = true; - this.inAnimation = true; - this.nzVisibleChange.emit(true); - this.overlayKeyboardDispatcher.add(this.overlayRef); - this.updateOverlayStyle(); - this.updateBodyOverflow(); - this.savePreviouslyFocusedElement(); - this.trapFocus(); - this.changeDetectorRef.detectChanges(); - setTimeout(() => { - this.inAnimation = false; - this.changeDetectorRef.detectChanges(); - this.nzAfterOpen.next(); - }, this.getAnimationDuration()); - } - getContentComponent() { - return this.componentInstance; - } - closeClick() { - this.nzOnClose.emit(); - } - maskClick() { - if (this.nzMaskClosable && this.nzMask) { - this.nzOnClose.emit(); - } - } - attachBodyContent() { - this.bodyPortalOutlet.dispose(); - if (this.nzContent instanceof Type) { - const childInjector = Injector.create({ - parent: this.injector, - providers: [{ - provide: NzDrawerRef, - useValue: this - }, { - provide: NZ_DRAWER_DATA, - useValue: this.nzData - }] - }); - const componentPortal = new ComponentPortal(this.nzContent, null, childInjector); - const componentRef = this.bodyPortalOutlet.attachComponentPortal(componentPortal); - this.componentInstance = componentRef.instance; - Object.assign(componentRef.instance, this.nzData || this.nzContentParams); - componentRef.changeDetectorRef.detectChanges(); - } - } - attachOverlay() { - if (!this.overlayRef) { - this.portal = new TemplatePortal(this.drawerTemplate, this.viewContainerRef); - this.overlayRef = this.overlay.create(this.getOverlayConfig()); - } - if (this.overlayRef && !this.overlayRef.hasAttached()) { - this.overlayRef.attach(this.portal); - this.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe((event) => { - if (event.keyCode === ESCAPE && this.isOpen && this.nzKeyboard) { - this.nzOnClose.emit(); - } - }); - this.overlayRef.detachments().pipe(takeUntil(this.destroy$)).subscribe(() => { - this.disposeOverlay(); - }); - } - } - disposeOverlay() { - this.overlayRef?.dispose(); - this.overlayRef = null; - } - getOverlayConfig() { - return new OverlayConfig({ - disposeOnNavigation: this.nzCloseOnNavigation, - positionStrategy: this.overlay.position().global(), - scrollStrategy: this.overlay.scrollStrategies.block() - }); - } - updateOverlayStyle() { - if (this.overlayRef && this.overlayRef.overlayElement) { - this.renderer.setStyle(this.overlayRef.overlayElement, "pointer-events", this.isOpen ? "auto" : "none"); - } - } - updateBodyOverflow() { - if (this.overlayRef) { - if (this.isOpen) { - this.overlayRef.getConfig().scrollStrategy.enable(); - } else { - this.overlayRef.getConfig().scrollStrategy.disable(); - } - } - } - savePreviouslyFocusedElement() { - if (this.document && !this.previouslyFocusedElement) { - this.previouslyFocusedElement = this.document.activeElement; - if (this.previouslyFocusedElement && typeof this.previouslyFocusedElement.blur === "function") { - this.previouslyFocusedElement.blur(); - } - } - } - trapFocus() { - if (!this.focusTrap && this.overlayRef && this.overlayRef.overlayElement) { - this.focusTrap = this.focusTrapFactory.create(this.overlayRef.overlayElement); - this.focusTrap.focusInitialElement(); - } - } - restoreFocus() { - if (this.previouslyFocusedElement && typeof this.previouslyFocusedElement.focus === "function") { - this.previouslyFocusedElement.focus(); - } - if (this.focusTrap) { - this.focusTrap.destroy(); - } - } -}; -_NzDrawerComponent.ɵfac = function NzDrawerComponent_Factory(t) { - return new (t || _NzDrawerComponent)(ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(DOCUMENT, 8), ɵɵdirectiveInject(NzConfigService), ɵɵdirectiveInject(Renderer2), ɵɵdirectiveInject(Overlay), ɵɵdirectiveInject(Injector), ɵɵdirectiveInject(ChangeDetectorRef), ɵɵdirectiveInject(FocusTrapFactory), ɵɵdirectiveInject(ViewContainerRef), ɵɵdirectiveInject(OverlayKeyboardDispatcher), ɵɵdirectiveInject(Directionality, 8)); -}; -_NzDrawerComponent.ɵcmp = ɵɵdefineComponent({ - type: _NzDrawerComponent, - selectors: [["nz-drawer"]], - contentQueries: function NzDrawerComponent_ContentQueries(rf, ctx, dirIndex) { - if (rf & 1) { - ɵɵcontentQuery(dirIndex, NzDrawerContentDirective, 7, TemplateRef); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.contentFromContentChild = _t.first); - } - }, - viewQuery: function NzDrawerComponent_Query(rf, ctx) { - if (rf & 1) { - ɵɵviewQuery(_c0, 7); - ɵɵviewQuery(CdkPortalOutlet, 5); - } - if (rf & 2) { - let _t; - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.drawerTemplate = _t.first); - ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.bodyPortalOutlet = _t.first); - } - }, - inputs: { - nzContent: "nzContent", - nzCloseIcon: "nzCloseIcon", - nzClosable: "nzClosable", - nzMaskClosable: "nzMaskClosable", - nzMask: "nzMask", - nzCloseOnNavigation: "nzCloseOnNavigation", - nzNoAnimation: "nzNoAnimation", - nzKeyboard: "nzKeyboard", - nzTitle: "nzTitle", - nzExtra: "nzExtra", - nzFooter: "nzFooter", - nzPlacement: "nzPlacement", - nzSize: "nzSize", - nzMaskStyle: "nzMaskStyle", - nzBodyStyle: "nzBodyStyle", - nzWrapClassName: "nzWrapClassName", - nzWidth: "nzWidth", - nzHeight: "nzHeight", - nzZIndex: "nzZIndex", - nzOffsetX: "nzOffsetX", - nzOffsetY: "nzOffsetY", - nzVisible: "nzVisible" - }, - outputs: { - nzOnViewInit: "nzOnViewInit", - nzOnClose: "nzOnClose", - nzVisibleChange: "nzVisibleChange" - }, - exportAs: ["nzDrawer"], - standalone: true, - features: [ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵStandaloneFeature], - decls: 2, - vars: 0, - consts: [["drawerTemplate", ""], [1, "ant-drawer", 3, "nzNoAnimation"], ["class", "ant-drawer-mask", 3, "ngStyle", "click", 4, "ngIf"], [1, "ant-drawer-content"], [1, "ant-drawer-wrapper-body"], ["class", "ant-drawer-header", 3, "ant-drawer-header-close-only", 4, "ngIf"], [1, "ant-drawer-body", 3, "ngStyle"], ["cdkPortalOutlet", ""], [4, "ngIf", "ngIfElse"], ["contentElseTemp", ""], ["class", "ant-drawer-footer", 4, "ngIf"], [1, "ant-drawer-mask", 3, "ngStyle", "click"], [1, "ant-drawer-header"], [1, "ant-drawer-header-title"], ["aria-label", "Close", "class", "ant-drawer-close", "style", "--scroll-bar: 0px;", 3, "click", 4, "ngIf"], ["class", "ant-drawer-title", 4, "ngIf"], ["class", "ant-drawer-extra", 4, "ngIf"], ["aria-label", "Close", 1, "ant-drawer-close", 2, "--scroll-bar", "0px", 3, "click"], [4, "nzStringTemplateOutlet"], ["nz-icon", "", 3, "nzType"], [1, "ant-drawer-title"], [3, "innerHTML"], [1, "ant-drawer-extra"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "ngTemplateOutlet"], [1, "ant-drawer-footer"]], - template: function NzDrawerComponent_Template(rf, ctx) { - if (rf & 1) { - ɵɵtemplate(0, NzDrawerComponent_ng_template_0_Template, 12, 40, "ng-template", null, 0, ɵɵtemplateRefExtractor); - } - }, - dependencies: [NzNoAnimationDirective, NgIf, NgStyle, NzOutletModule, NzStringTemplateOutletDirective, NzIconModule, NzIconDirective, PortalModule, CdkPortalOutlet, NgTemplateOutlet], - encapsulation: 2, - changeDetection: 0 -}); -var NzDrawerComponent = _NzDrawerComponent; -__decorate([InputBoolean()], NzDrawerComponent.prototype, "nzClosable", void 0); -__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, "nzMaskClosable", void 0); -__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, "nzMask", void 0); -__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, "nzCloseOnNavigation", void 0); -__decorate([InputBoolean()], NzDrawerComponent.prototype, "nzNoAnimation", void 0); -__decorate([InputBoolean()], NzDrawerComponent.prototype, "nzKeyboard", void 0); -__decorate([WithConfig()], NzDrawerComponent.prototype, "nzDirection", void 0); -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDrawerComponent, [{ - type: Component, - args: [{ - selector: "nz-drawer", - exportAs: "nzDrawer", - template: ` - -
-
-
-
-
-
-
- -
- -
-
-
-
-
- -
-
-
-
-
- - - - - - - - - - - -
- -
-
-
-
-
- `, - preserveWhitespaces: false, - changeDetection: ChangeDetectionStrategy.OnPush, - imports: [NzNoAnimationDirective, NgIf, NgStyle, NzOutletModule, NzIconModule, PortalModule, NgTemplateOutlet], - standalone: true - }] - }], () => [{ - type: ChangeDetectorRef - }, { - type: void 0, - decorators: [{ - type: Optional - }, { - type: Inject, - args: [DOCUMENT] - }] - }, { - type: NzConfigService - }, { - type: Renderer2 - }, { - type: Overlay - }, { - type: Injector - }, { - type: ChangeDetectorRef - }, { - type: FocusTrapFactory - }, { - type: ViewContainerRef - }, { - type: OverlayKeyboardDispatcher - }, { - type: Directionality, - decorators: [{ - type: Optional - }] - }], { - nzContent: [{ - type: Input - }], - nzCloseIcon: [{ - type: Input - }], - nzClosable: [{ - type: Input - }], - nzMaskClosable: [{ - type: Input - }], - nzMask: [{ - type: Input - }], - nzCloseOnNavigation: [{ - type: Input - }], - nzNoAnimation: [{ - type: Input - }], - nzKeyboard: [{ - type: Input - }], - nzTitle: [{ - type: Input - }], - nzExtra: [{ - type: Input - }], - nzFooter: [{ - type: Input - }], - nzPlacement: [{ - type: Input - }], - nzSize: [{ - type: Input - }], - nzMaskStyle: [{ - type: Input - }], - nzBodyStyle: [{ - type: Input - }], - nzWrapClassName: [{ - type: Input - }], - nzWidth: [{ - type: Input - }], - nzHeight: [{ - type: Input - }], - nzZIndex: [{ - type: Input - }], - nzOffsetX: [{ - type: Input - }], - nzOffsetY: [{ - type: Input - }], - nzVisible: [{ - type: Input - }], - nzOnViewInit: [{ - type: Output - }], - nzOnClose: [{ - type: Output - }], - nzVisibleChange: [{ - type: Output - }], - drawerTemplate: [{ - type: ViewChild, - args: ["drawerTemplate", { - static: true - }] - }], - bodyPortalOutlet: [{ - type: ViewChild, - args: [CdkPortalOutlet, { - static: false - }] - }], - contentFromContentChild: [{ - type: ContentChild, - args: [NzDrawerContentDirective, { - static: true, - read: TemplateRef - }] - }], - nzDirection: [] - }); -})(); -var DrawerBuilderForService = class { - constructor(overlay, options) { - this.overlay = overlay; - this.options = options; - this.unsubscribe$ = new Subject(); - const _a = this.options, { - nzOnCancel - } = _a, componentOption = __objRest(_a, [ - "nzOnCancel" - ]); - this.overlayRef = this.overlay.create(); - this.drawerRef = this.overlayRef.attach(new ComponentPortal(NzDrawerComponent)).instance; - this.updateOptions(componentOption); - this.drawerRef.savePreviouslyFocusedElement(); - this.drawerRef.nzOnViewInit.pipe(takeUntil(this.unsubscribe$)).subscribe(() => { - this.drawerRef.open(); - }); - this.drawerRef.nzOnClose.subscribe(() => { - if (nzOnCancel) { - nzOnCancel().then((canClose) => { - if (canClose !== false) { - this.drawerRef.close(); - } - }); - } else { - this.drawerRef.close(); - } - }); - this.drawerRef.afterClose.pipe(takeUntil(this.unsubscribe$)).subscribe(() => { - this.overlayRef.dispose(); - this.drawerRef = null; - this.unsubscribe$.next(); - this.unsubscribe$.complete(); - }); - } - getInstance() { - return this.drawerRef; - } - updateOptions(options) { - Object.assign(this.drawerRef, options); - } -}; -var _NzDrawerService = class _NzDrawerService { - constructor(overlay) { - this.overlay = overlay; - } - create(options) { - return new DrawerBuilderForService(this.overlay, options).getInstance(); - } -}; -_NzDrawerService.ɵfac = function NzDrawerService_Factory(t) { - return new (t || _NzDrawerService)(ɵɵinject(Overlay)); -}; -_NzDrawerService.ɵprov = ɵɵdefineInjectable({ - token: _NzDrawerService, - factory: _NzDrawerService.ɵfac -}); -var NzDrawerService = _NzDrawerService; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDrawerService, [{ - type: Injectable - }], () => [{ - type: Overlay - }], null); -})(); -var _NzDrawerModule = class _NzDrawerModule { -}; -_NzDrawerModule.ɵfac = function NzDrawerModule_Factory(t) { - return new (t || _NzDrawerModule)(); -}; -_NzDrawerModule.ɵmod = ɵɵdefineNgModule({ - type: _NzDrawerModule, - imports: [NzDrawerComponent, NzDrawerContentDirective], - exports: [NzDrawerComponent, NzDrawerContentDirective] -}); -_NzDrawerModule.ɵinj = ɵɵdefineInjector({ - providers: [NzDrawerService], - imports: [NzDrawerComponent] -}); -var NzDrawerModule = _NzDrawerModule; -(() => { - (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NzDrawerModule, [{ - type: NgModule, - args: [{ - imports: [NzDrawerComponent, NzDrawerContentDirective], - providers: [NzDrawerService], - exports: [NzDrawerComponent, NzDrawerContentDirective] - }] - }], null, null); -})(); -export { - DRAWER_ANIMATE_DURATION, - DRAWER_DEFAULT_SIZE, - DRAWER_LARGE_SIZE, - DrawerBuilderForService, - NZ_DRAWER_DATA, - NzDrawerComponent, - NzDrawerContentDirective, - NzDrawerModule, - NzDrawerRef, - NzDrawerService -}; -//# sourceMappingURL=ng-zorro-antd_drawer.js.map diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js.map b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js.map deleted file mode 100644 index 43c37f7..0000000 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_drawer.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../../node_modules/ng-zorro-antd/fesm2022/ng-zorro-antd-drawer.mjs"], - "sourcesContent": ["import * as i0 from '@angular/core';\nimport { Directive, InjectionToken, TemplateRef, EventEmitter, Type, Injector, Component, ChangeDetectionStrategy, Optional, Inject, Input, Output, ViewChild, ContentChild, Injectable, NgModule } from '@angular/core';\nimport { __decorate } from 'tslib';\nimport { ESCAPE } from '@angular/cdk/keycodes';\nimport * as i2 from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay';\nimport * as i7 from '@angular/cdk/portal';\nimport { ComponentPortal, TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';\nimport { DOCUMENT, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i1 from 'ng-zorro-antd/core/config';\nimport { WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport * as i5 from 'ng-zorro-antd/core/outlet';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { toCssPixel, InputBoolean } from 'ng-zorro-antd/core/util';\nimport * as i6 from 'ng-zorro-antd/icon';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport * as i3 from '@angular/cdk/a11y';\nimport * as i4 from '@angular/cdk/bidi';\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst _c0 = [\"drawerTemplate\"];\nfunction NzDrawerComponent_ng_template_0_div_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 11);\n i0.ɵɵlistener(\"click\", function NzDrawerComponent_ng_template_0_div_1_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r10);\n const ctx_r9 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r9.maskClick());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngStyle\", ctx_r2.nzMaskStyle);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_button_2_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"span\", 19);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const closeIcon_r15 = ctx.$implicit;\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzType\", closeIcon_r15);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_button_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r17 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 17);\n i0.ɵɵlistener(\"click\", function NzDrawerComponent_ng_template_0_div_5_button_2_Template_button_click_0_listener() {\n i0.ɵɵrestoreView(_r17);\n const ctx_r16 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r16.closeClick());\n });\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_button_2_ng_container_1_Template, 2, 1, \"ng-container\", 18);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r11 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx_r11.nzCloseIcon);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_div_3_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"div\", 21);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r18 = i0.ɵɵnextContext(4);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"innerHTML\", ctx_r18.nzTitle, i0.ɵɵsanitizeHtml);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 20);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_div_3_ng_container_1_Template, 2, 1, \"ng-container\", 18);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r12 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx_r12.nzTitle);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_div_4_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"div\", 21);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r19 = i0.ɵɵnextContext(4);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"innerHTML\", ctx_r19.nzExtra, i0.ɵɵsanitizeHtml);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_div_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 22);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_5_div_4_ng_container_1_Template, 2, 1, \"ng-container\", 18);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r13 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx_r13.nzExtra);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 12)(1, \"div\", 13);\n i0.ɵɵtemplate(2, NzDrawerComponent_ng_template_0_div_5_button_2_Template, 2, 1, \"button\", 14)(3, NzDrawerComponent_ng_template_0_div_5_div_3_Template, 2, 1, \"div\", 15);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, NzDrawerComponent_ng_template_0_div_5_div_4_Template, 2, 1, \"div\", 16);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r3 = i0.ɵɵnextContext(2);\n i0.ɵɵclassProp(\"ant-drawer-header-close-only\", !ctx_r3.nzTitle);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.nzClosable);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.nzTitle);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r3.nzExtra);\n }\n}\nfunction NzDrawerComponent_ng_template_0_ng_template_7_Template(rf, ctx) {}\nfunction NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_ng_container_1_Template, 1, 0, \"ng-container\", 24);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r20 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r20.nzContent)(\"ngTemplateOutletContext\", ctx_r20.templateContext);\n }\n}\nfunction NzDrawerComponent_ng_template_0_ng_container_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_container_8_ng_container_1_Template, 2, 2, \"ng-container\", 23);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r5 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r5.isTemplateRef(ctx_r5.nzContent));\n }\n}\nfunction NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_ng_template_1_Template(rf, ctx) {}\nfunction NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_ng_template_1_Template, 0, 0, \"ng-template\", 25);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r22 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r22.contentFromContentChild);\n }\n}\nfunction NzDrawerComponent_ng_template_0_ng_template_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzDrawerComponent_ng_template_0_ng_template_9_ng_container_0_Template, 2, 1, \"ng-container\", 23);\n }\n if (rf & 2) {\n const ctx_r6 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r6.contentFromContentChild && (ctx_r6.isOpen || ctx_r6.inAnimation));\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_11_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelement(1, \"div\", 21);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r24 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"innerHTML\", ctx_r24.nzFooter, i0.ɵɵsanitizeHtml);\n }\n}\nfunction NzDrawerComponent_ng_template_0_div_11_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 26);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_11_ng_container_1_Template, 2, 1, \"ng-container\", 18);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r8 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"nzStringTemplateOutlet\", ctx_r8.nzFooter);\n }\n}\nfunction NzDrawerComponent_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵtemplate(1, NzDrawerComponent_ng_template_0_div_1_Template, 1, 1, \"div\", 2);\n i0.ɵɵelementStart(2, \"div\")(3, \"div\", 3)(4, \"div\", 4);\n i0.ɵɵtemplate(5, NzDrawerComponent_ng_template_0_div_5_Template, 5, 5, \"div\", 5);\n i0.ɵɵelementStart(6, \"div\", 6);\n i0.ɵɵtemplate(7, NzDrawerComponent_ng_template_0_ng_template_7_Template, 0, 0, \"ng-template\", 7)(8, NzDrawerComponent_ng_template_0_ng_container_8_Template, 2, 1, \"ng-container\", 8)(9, NzDrawerComponent_ng_template_0_ng_template_9_Template, 1, 1, \"ng-template\", null, 9, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(11, NzDrawerComponent_ng_template_0_div_11_Template, 2, 1, \"div\", 10);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const _r7 = i0.ɵɵreference(10);\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵstyleProp(\"transform\", ctx_r0.offsetTransform)(\"transition\", ctx_r0.placementChanging ? \"none\" : null)(\"z-index\", ctx_r0.nzZIndex);\n i0.ɵɵclassProp(\"ant-drawer-rtl\", ctx_r0.dir === \"rtl\")(\"ant-drawer-open\", ctx_r0.isOpen)(\"no-mask\", !ctx_r0.nzMask)(\"ant-drawer-top\", ctx_r0.nzPlacement === \"top\")(\"ant-drawer-bottom\", ctx_r0.nzPlacement === \"bottom\")(\"ant-drawer-right\", ctx_r0.nzPlacement === \"right\")(\"ant-drawer-left\", ctx_r0.nzPlacement === \"left\");\n i0.ɵɵproperty(\"nzNoAnimation\", ctx_r0.nzNoAnimation);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.nzMask);\n i0.ɵɵadvance(1);\n i0.ɵɵclassMapInterpolate1(\"ant-drawer-content-wrapper \", ctx_r0.nzWrapClassName, \"\");\n i0.ɵɵstyleProp(\"width\", ctx_r0.width)(\"height\", ctx_r0.height)(\"transform\", ctx_r0.transform)(\"transition\", ctx_r0.placementChanging ? \"none\" : null);\n i0.ɵɵadvance(2);\n i0.ɵɵstyleProp(\"height\", ctx_r0.isLeftOrRight ? \"100%\" : null);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.nzTitle || ctx_r0.nzClosable);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"ngStyle\", ctx_r0.nzBodyStyle);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.nzContent)(\"ngIfElse\", _r7);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.nzFooter);\n }\n}\nclass NzDrawerContentDirective {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n static {\n this.ɵfac = function NzDrawerContentDirective_Factory(t) {\n return new (t || NzDrawerContentDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: NzDrawerContentDirective,\n selectors: [[\"\", \"nzDrawerContent\", \"\"]],\n exportAs: [\"nzDrawerContent\"],\n standalone: true\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDrawerContentDirective, [{\n type: Directive,\n args: [{\n selector: '[nzDrawerContent]',\n exportAs: 'nzDrawerContent',\n standalone: true\n }]\n }], () => [{\n type: i0.TemplateRef\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nconst DRAWER_DEFAULT_SIZE = 378;\nconst DRAWER_LARGE_SIZE = 736;\nconst NZ_DRAWER_DATA = new InjectionToken('NZ_DRAWER_DATA');\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDrawerRef {}\nconst DRAWER_ANIMATE_DURATION = 300;\nconst NZ_CONFIG_MODULE_NAME = 'drawer';\nclass NzDrawerComponent extends NzDrawerRef {\n set nzVisible(value) {\n this.isOpen = value;\n }\n get nzVisible() {\n return this.isOpen;\n }\n get offsetTransform() {\n if (!this.isOpen || this.nzOffsetX + this.nzOffsetY === 0) {\n return null;\n }\n switch (this.nzPlacement) {\n case 'left':\n return `translateX(${this.nzOffsetX}px)`;\n case 'right':\n return `translateX(-${this.nzOffsetX}px)`;\n case 'top':\n return `translateY(${this.nzOffsetY}px)`;\n case 'bottom':\n return `translateY(-${this.nzOffsetY}px)`;\n }\n }\n get transform() {\n if (this.isOpen) {\n return null;\n }\n switch (this.nzPlacement) {\n case 'left':\n return `translateX(-100%)`;\n case 'right':\n return `translateX(100%)`;\n case 'top':\n return `translateY(-100%)`;\n case 'bottom':\n return `translateY(100%)`;\n }\n }\n get width() {\n if (this.isLeftOrRight) {\n const defaultWidth = this.nzSize === 'large' ? DRAWER_LARGE_SIZE : DRAWER_DEFAULT_SIZE;\n return this.nzWidth === undefined ? toCssPixel(defaultWidth) : toCssPixel(this.nzWidth);\n }\n return null;\n }\n get height() {\n if (!this.isLeftOrRight) {\n const defaultHeight = this.nzSize === 'large' ? DRAWER_LARGE_SIZE : DRAWER_DEFAULT_SIZE;\n return this.nzHeight === undefined ? toCssPixel(defaultHeight) : toCssPixel(this.nzHeight);\n }\n return null;\n }\n get isLeftOrRight() {\n return this.nzPlacement === 'left' || this.nzPlacement === 'right';\n }\n get afterOpen() {\n return this.nzAfterOpen.asObservable();\n }\n get afterClose() {\n return this.nzAfterClose.asObservable();\n }\n isTemplateRef(value) {\n return value instanceof TemplateRef;\n }\n constructor(cdr,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n document, nzConfigService, renderer, overlay, injector, changeDetectorRef, focusTrapFactory, viewContainerRef, overlayKeyboardDispatcher, directionality) {\n super();\n this.cdr = cdr;\n this.document = document;\n this.nzConfigService = nzConfigService;\n this.renderer = renderer;\n this.overlay = overlay;\n this.injector = injector;\n this.changeDetectorRef = changeDetectorRef;\n this.focusTrapFactory = focusTrapFactory;\n this.viewContainerRef = viewContainerRef;\n this.overlayKeyboardDispatcher = overlayKeyboardDispatcher;\n this.directionality = directionality;\n this._nzModuleName = NZ_CONFIG_MODULE_NAME;\n this.nzCloseIcon = 'close';\n this.nzClosable = true;\n this.nzMaskClosable = true;\n this.nzMask = true;\n this.nzCloseOnNavigation = true;\n this.nzNoAnimation = false;\n this.nzKeyboard = true;\n this.nzPlacement = 'right';\n this.nzSize = 'default';\n this.nzMaskStyle = {};\n this.nzBodyStyle = {};\n this.nzZIndex = 1000;\n this.nzOffsetX = 0;\n this.nzOffsetY = 0;\n this.componentInstance = null;\n this.nzOnViewInit = new EventEmitter();\n this.nzOnClose = new EventEmitter();\n this.nzVisibleChange = new EventEmitter();\n this.destroy$ = new Subject();\n this.placementChanging = false;\n this.placementChangeTimeoutId = -1;\n this.isOpen = false;\n this.inAnimation = false;\n this.templateContext = {\n $implicit: undefined,\n drawerRef: this\n };\n this.nzAfterOpen = new Subject();\n this.nzAfterClose = new Subject();\n // from service config\n this.nzDirection = undefined;\n this.dir = 'ltr';\n }\n ngOnInit() {\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe(direction => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.dir = this.nzDirection || this.directionality.value;\n this.attachOverlay();\n this.updateOverlayStyle();\n this.updateBodyOverflow();\n this.templateContext = {\n $implicit: this.nzData || this.nzContentParams,\n drawerRef: this\n };\n this.changeDetectorRef.detectChanges();\n }\n ngAfterViewInit() {\n this.attachBodyContent();\n // The `setTimeout` triggers change detection. There's no sense to schedule the DOM timer if anyone is\n // listening to the `nzOnViewInit` event inside the template, for instance ``.\n if (this.nzOnViewInit.observers.length) {\n setTimeout(() => {\n this.nzOnViewInit.emit();\n });\n }\n }\n ngOnChanges(changes) {\n const {\n nzPlacement,\n nzVisible\n } = changes;\n if (nzVisible) {\n const value = changes.nzVisible.currentValue;\n if (value) {\n this.open();\n } else {\n this.close();\n }\n }\n if (nzPlacement && !nzPlacement.isFirstChange()) {\n this.triggerPlacementChangeCycleOnce();\n }\n }\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n clearTimeout(this.placementChangeTimeoutId);\n this.disposeOverlay();\n }\n getAnimationDuration() {\n return this.nzNoAnimation ? 0 : DRAWER_ANIMATE_DURATION;\n }\n // Disable the transition animation temporarily when the placement changing\n triggerPlacementChangeCycleOnce() {\n if (!this.nzNoAnimation) {\n this.placementChanging = true;\n this.changeDetectorRef.markForCheck();\n clearTimeout(this.placementChangeTimeoutId);\n this.placementChangeTimeoutId = setTimeout(() => {\n this.placementChanging = false;\n this.changeDetectorRef.markForCheck();\n }, this.getAnimationDuration());\n }\n }\n close(result) {\n this.isOpen = false;\n this.inAnimation = true;\n this.nzVisibleChange.emit(false);\n this.updateOverlayStyle();\n this.overlayKeyboardDispatcher.remove(this.overlayRef);\n this.changeDetectorRef.detectChanges();\n setTimeout(() => {\n this.updateBodyOverflow();\n this.restoreFocus();\n this.inAnimation = false;\n this.nzAfterClose.next(result);\n this.nzAfterClose.complete();\n this.componentInstance = null;\n }, this.getAnimationDuration());\n }\n open() {\n this.attachOverlay();\n this.isOpen = true;\n this.inAnimation = true;\n this.nzVisibleChange.emit(true);\n this.overlayKeyboardDispatcher.add(this.overlayRef);\n this.updateOverlayStyle();\n this.updateBodyOverflow();\n this.savePreviouslyFocusedElement();\n this.trapFocus();\n this.changeDetectorRef.detectChanges();\n setTimeout(() => {\n this.inAnimation = false;\n this.changeDetectorRef.detectChanges();\n this.nzAfterOpen.next();\n }, this.getAnimationDuration());\n }\n getContentComponent() {\n return this.componentInstance;\n }\n closeClick() {\n this.nzOnClose.emit();\n }\n maskClick() {\n if (this.nzMaskClosable && this.nzMask) {\n this.nzOnClose.emit();\n }\n }\n attachBodyContent() {\n this.bodyPortalOutlet.dispose();\n if (this.nzContent instanceof Type) {\n const childInjector = Injector.create({\n parent: this.injector,\n providers: [{\n provide: NzDrawerRef,\n useValue: this\n }, {\n provide: NZ_DRAWER_DATA,\n useValue: this.nzData\n }]\n });\n const componentPortal = new ComponentPortal(this.nzContent, null, childInjector);\n const componentRef = this.bodyPortalOutlet.attachComponentPortal(componentPortal);\n this.componentInstance = componentRef.instance;\n /**TODO\n * When nzContentParam will be remove in the next major version, we have to remove the following line\n * **/\n Object.assign(componentRef.instance, this.nzData || this.nzContentParams);\n componentRef.changeDetectorRef.detectChanges();\n }\n }\n attachOverlay() {\n if (!this.overlayRef) {\n this.portal = new TemplatePortal(this.drawerTemplate, this.viewContainerRef);\n this.overlayRef = this.overlay.create(this.getOverlayConfig());\n }\n if (this.overlayRef && !this.overlayRef.hasAttached()) {\n this.overlayRef.attach(this.portal);\n this.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe(event => {\n if (event.keyCode === ESCAPE && this.isOpen && this.nzKeyboard) {\n this.nzOnClose.emit();\n }\n });\n this.overlayRef.detachments().pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.disposeOverlay();\n });\n }\n }\n disposeOverlay() {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n getOverlayConfig() {\n return new OverlayConfig({\n disposeOnNavigation: this.nzCloseOnNavigation,\n positionStrategy: this.overlay.position().global(),\n scrollStrategy: this.overlay.scrollStrategies.block()\n });\n }\n updateOverlayStyle() {\n if (this.overlayRef && this.overlayRef.overlayElement) {\n this.renderer.setStyle(this.overlayRef.overlayElement, 'pointer-events', this.isOpen ? 'auto' : 'none');\n }\n }\n updateBodyOverflow() {\n if (this.overlayRef) {\n if (this.isOpen) {\n this.overlayRef.getConfig().scrollStrategy.enable();\n } else {\n this.overlayRef.getConfig().scrollStrategy.disable();\n }\n }\n }\n savePreviouslyFocusedElement() {\n if (this.document && !this.previouslyFocusedElement) {\n this.previouslyFocusedElement = this.document.activeElement;\n // We need the extra check, because IE's svg element has no blur method.\n if (this.previouslyFocusedElement && typeof this.previouslyFocusedElement.blur === 'function') {\n this.previouslyFocusedElement.blur();\n }\n }\n }\n trapFocus() {\n if (!this.focusTrap && this.overlayRef && this.overlayRef.overlayElement) {\n this.focusTrap = this.focusTrapFactory.create(this.overlayRef.overlayElement);\n this.focusTrap.focusInitialElement();\n }\n }\n restoreFocus() {\n // We need the extra check, because IE can set the `activeElement` to null in some cases.\n if (this.previouslyFocusedElement && typeof this.previouslyFocusedElement.focus === 'function') {\n this.previouslyFocusedElement.focus();\n }\n if (this.focusTrap) {\n this.focusTrap.destroy();\n }\n }\n static {\n this.ɵfac = function NzDrawerComponent_Factory(t) {\n return new (t || NzDrawerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(DOCUMENT, 8), i0.ɵɵdirectiveInject(i1.NzConfigService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i2.Overlay), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.FocusTrapFactory), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i2.OverlayKeyboardDispatcher), i0.ɵɵdirectiveInject(i4.Directionality, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: NzDrawerComponent,\n selectors: [[\"nz-drawer\"]],\n contentQueries: function NzDrawerComponent_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, NzDrawerContentDirective, 7, TemplateRef);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentFromContentChild = _t.first);\n }\n },\n viewQuery: function NzDrawerComponent_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 7);\n i0.ɵɵviewQuery(CdkPortalOutlet, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.drawerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bodyPortalOutlet = _t.first);\n }\n },\n inputs: {\n nzContent: \"nzContent\",\n nzCloseIcon: \"nzCloseIcon\",\n nzClosable: \"nzClosable\",\n nzMaskClosable: \"nzMaskClosable\",\n nzMask: \"nzMask\",\n nzCloseOnNavigation: \"nzCloseOnNavigation\",\n nzNoAnimation: \"nzNoAnimation\",\n nzKeyboard: \"nzKeyboard\",\n nzTitle: \"nzTitle\",\n nzExtra: \"nzExtra\",\n nzFooter: \"nzFooter\",\n nzPlacement: \"nzPlacement\",\n nzSize: \"nzSize\",\n nzMaskStyle: \"nzMaskStyle\",\n nzBodyStyle: \"nzBodyStyle\",\n nzWrapClassName: \"nzWrapClassName\",\n nzWidth: \"nzWidth\",\n nzHeight: \"nzHeight\",\n nzZIndex: \"nzZIndex\",\n nzOffsetX: \"nzOffsetX\",\n nzOffsetY: \"nzOffsetY\",\n nzVisible: \"nzVisible\"\n },\n outputs: {\n nzOnViewInit: \"nzOnViewInit\",\n nzOnClose: \"nzOnClose\",\n nzVisibleChange: \"nzVisibleChange\"\n },\n exportAs: [\"nzDrawer\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n decls: 2,\n vars: 0,\n consts: [[\"drawerTemplate\", \"\"], [1, \"ant-drawer\", 3, \"nzNoAnimation\"], [\"class\", \"ant-drawer-mask\", 3, \"ngStyle\", \"click\", 4, \"ngIf\"], [1, \"ant-drawer-content\"], [1, \"ant-drawer-wrapper-body\"], [\"class\", \"ant-drawer-header\", 3, \"ant-drawer-header-close-only\", 4, \"ngIf\"], [1, \"ant-drawer-body\", 3, \"ngStyle\"], [\"cdkPortalOutlet\", \"\"], [4, \"ngIf\", \"ngIfElse\"], [\"contentElseTemp\", \"\"], [\"class\", \"ant-drawer-footer\", 4, \"ngIf\"], [1, \"ant-drawer-mask\", 3, \"ngStyle\", \"click\"], [1, \"ant-drawer-header\"], [1, \"ant-drawer-header-title\"], [\"aria-label\", \"Close\", \"class\", \"ant-drawer-close\", \"style\", \"--scroll-bar: 0px;\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"ant-drawer-title\", 4, \"ngIf\"], [\"class\", \"ant-drawer-extra\", 4, \"ngIf\"], [\"aria-label\", \"Close\", 1, \"ant-drawer-close\", 2, \"--scroll-bar\", \"0px\", 3, \"click\"], [4, \"nzStringTemplateOutlet\"], [\"nz-icon\", \"\", 3, \"nzType\"], [1, \"ant-drawer-title\"], [3, \"innerHTML\"], [1, \"ant-drawer-extra\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"ngTemplateOutlet\"], [1, \"ant-drawer-footer\"]],\n template: function NzDrawerComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, NzDrawerComponent_ng_template_0_Template, 12, 40, \"ng-template\", null, 0, i0.ɵɵtemplateRefExtractor);\n }\n },\n dependencies: [NzNoAnimationDirective, NgIf, NgStyle, NzOutletModule, i5.NzStringTemplateOutletDirective, NzIconModule, i6.NzIconDirective, PortalModule, i7.CdkPortalOutlet, NgTemplateOutlet],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n}\n__decorate([InputBoolean()], NzDrawerComponent.prototype, \"nzClosable\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, \"nzMaskClosable\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, \"nzMask\", void 0);\n__decorate([WithConfig(), InputBoolean()], NzDrawerComponent.prototype, \"nzCloseOnNavigation\", void 0);\n__decorate([InputBoolean()], NzDrawerComponent.prototype, \"nzNoAnimation\", void 0);\n__decorate([InputBoolean()], NzDrawerComponent.prototype, \"nzKeyboard\", void 0);\n__decorate([WithConfig()], NzDrawerComponent.prototype, \"nzDirection\", void 0);\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDrawerComponent, [{\n type: Component,\n args: [{\n selector: 'nz-drawer',\n exportAs: 'nzDrawer',\n template: `\n \n \n
\n \n
\n
\n \n
\n \n \n \n \n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n `,\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NzNoAnimationDirective, NgIf, NgStyle, NzOutletModule, NzIconModule, PortalModule, NgTemplateOutlet],\n standalone: true\n }]\n }], () => [{\n type: i0.ChangeDetectorRef\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1.NzConfigService\n }, {\n type: i0.Renderer2\n }, {\n type: i2.Overlay\n }, {\n type: i0.Injector\n }, {\n type: i0.ChangeDetectorRef\n }, {\n type: i3.FocusTrapFactory\n }, {\n type: i0.ViewContainerRef\n }, {\n type: i2.OverlayKeyboardDispatcher\n }, {\n type: i4.Directionality,\n decorators: [{\n type: Optional\n }]\n }], {\n nzContent: [{\n type: Input\n }],\n nzCloseIcon: [{\n type: Input\n }],\n nzClosable: [{\n type: Input\n }],\n nzMaskClosable: [{\n type: Input\n }],\n nzMask: [{\n type: Input\n }],\n nzCloseOnNavigation: [{\n type: Input\n }],\n nzNoAnimation: [{\n type: Input\n }],\n nzKeyboard: [{\n type: Input\n }],\n nzTitle: [{\n type: Input\n }],\n nzExtra: [{\n type: Input\n }],\n nzFooter: [{\n type: Input\n }],\n nzPlacement: [{\n type: Input\n }],\n nzSize: [{\n type: Input\n }],\n nzMaskStyle: [{\n type: Input\n }],\n nzBodyStyle: [{\n type: Input\n }],\n nzWrapClassName: [{\n type: Input\n }],\n nzWidth: [{\n type: Input\n }],\n nzHeight: [{\n type: Input\n }],\n nzZIndex: [{\n type: Input\n }],\n nzOffsetX: [{\n type: Input\n }],\n nzOffsetY: [{\n type: Input\n }],\n nzVisible: [{\n type: Input\n }],\n nzOnViewInit: [{\n type: Output\n }],\n nzOnClose: [{\n type: Output\n }],\n nzVisibleChange: [{\n type: Output\n }],\n drawerTemplate: [{\n type: ViewChild,\n args: ['drawerTemplate', {\n static: true\n }]\n }],\n bodyPortalOutlet: [{\n type: ViewChild,\n args: [CdkPortalOutlet, {\n static: false\n }]\n }],\n contentFromContentChild: [{\n type: ContentChild,\n args: [NzDrawerContentDirective, {\n static: true,\n read: TemplateRef\n }]\n }],\n nzDirection: []\n });\n})();\nclass DrawerBuilderForService {\n constructor(overlay, options) {\n this.overlay = overlay;\n this.options = options;\n this.unsubscribe$ = new Subject();\n /** pick {@link NzDrawerOptions.nzOnCancel} and omit this option */\n const {\n nzOnCancel,\n ...componentOption\n } = this.options;\n this.overlayRef = this.overlay.create();\n this.drawerRef = this.overlayRef.attach(new ComponentPortal(NzDrawerComponent)).instance;\n this.updateOptions(componentOption);\n // Prevent repeatedly open drawer when tap focus element.\n this.drawerRef.savePreviouslyFocusedElement();\n this.drawerRef.nzOnViewInit.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.drawerRef.open();\n });\n this.drawerRef.nzOnClose.subscribe(() => {\n if (nzOnCancel) {\n nzOnCancel().then(canClose => {\n if (canClose !== false) {\n this.drawerRef.close();\n }\n });\n } else {\n this.drawerRef.close();\n }\n });\n this.drawerRef.afterClose.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.overlayRef.dispose();\n this.drawerRef = null;\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n });\n }\n getInstance() {\n return this.drawerRef;\n }\n updateOptions(options) {\n Object.assign(this.drawerRef, options);\n }\n}\nclass NzDrawerService {\n constructor(overlay) {\n this.overlay = overlay;\n }\n create(options) {\n return new DrawerBuilderForService(this.overlay, options).getInstance();\n }\n static {\n this.ɵfac = function NzDrawerService_Factory(t) {\n return new (t || NzDrawerService)(i0.ɵɵinject(i2.Overlay));\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NzDrawerService,\n factory: NzDrawerService.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDrawerService, [{\n type: Injectable\n }], () => [{\n type: i2.Overlay\n }], null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nclass NzDrawerModule {\n static {\n this.ɵfac = function NzDrawerModule_Factory(t) {\n return new (t || NzDrawerModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NzDrawerModule,\n imports: [NzDrawerComponent, NzDrawerContentDirective],\n exports: [NzDrawerComponent, NzDrawerContentDirective]\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: [NzDrawerService],\n imports: [NzDrawerComponent]\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NzDrawerModule, [{\n type: NgModule,\n args: [{\n imports: [NzDrawerComponent, NzDrawerContentDirective],\n providers: [NzDrawerService],\n exports: [NzDrawerComponent, NzDrawerContentDirective]\n }]\n }], null, null);\n})();\n\n/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { DRAWER_ANIMATE_DURATION, DRAWER_DEFAULT_SIZE, DRAWER_LARGE_SIZE, DrawerBuilderForService, NZ_DRAWER_DATA, NzDrawerComponent, NzDrawerContentDirective, NzDrawerModule, NzDrawerRef, NzDrawerService };\n"], - "mappings": "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", - "names": [] -} diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_form.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_form.js index 84d084f..8fc8bc3 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_form.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_form.js @@ -1,51 +1,51 @@ import { - NzTooltipDirective -} from "./chunk-5MZJ5XYV.js"; -import "./chunk-6RXUTAFR.js"; + NzI18nService +} from "./chunk-VMSZ6GWB.js"; import { - NzGridModule -} from "./chunk-QP2OUFNR.js"; + NzTooltipDirective +} from "./chunk-C33RY4ER.js"; import { NzFormStatusService -} from "./chunk-FGZVIKKA.js"; +} from "./chunk-5AGOG3VI.js"; import { - NzI18nService -} from "./chunk-T745QDCV.js"; + NzGridModule +} from "./chunk-4OID6NLN.js"; +import { + AbstractControl, + FormControlDirective, + FormControlName, + NgControl, + NgModel +} from "./chunk-D4IIJHV7.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; import { helpMotion -} from "./chunk-XAGDQPFO.js"; -import "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import "./chunk-6U656R5M.js"; +} from "./chunk-RJWK6JFA.js"; import { NzOutletModule, NzStringTemplateOutletDirective } from "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; +import "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { - AbstractControl, - FormControlDirective, - FormControlName, - NgControl, - NgModel -} from "./chunk-D4IIJHV7.js"; + Directionality +} from "./chunk-6NZ2BEBG.js"; import { NzIconDirective, NzIconModule -} from "./chunk-VWMHIMW7.js"; +} from "./chunk-G327EOBL.js"; import { NzConfigService, WithConfig -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; +} from "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; import { InputBoolean, toBoolean -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_grid.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_grid.js index 80d0ded..bfc7ba9 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_grid.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_grid.js @@ -2,12 +2,12 @@ import { NzColDirective, NzGridModule, NzRowDirective -} from "./chunk-QP2OUFNR.js"; -import "./chunk-D5ODNR6D.js"; -import "./chunk-WB57DPWD.js"; +} from "./chunk-4OID6NLN.js"; +import "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import "./chunk-6NZ2BEBG.js"; import "./chunk-IAC53GOD.js"; -import "./chunk-M5GY4FCO.js"; +import "./chunk-SATQCK6M.js"; import "./chunk-OSQBUYO6.js"; import "./chunk-FGESKT7O.js"; import "./chunk-HSNDBVJ3.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_i18n.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_i18n.js index aae6636..4301bb0 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_i18n.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_i18n.js @@ -77,8 +77,8 @@ import { zh_CN, zh_HK, zh_TW -} from "./chunk-T745QDCV.js"; -import "./chunk-M5GY4FCO.js"; +} from "./chunk-VMSZ6GWB.js"; +import "./chunk-SATQCK6M.js"; import "./chunk-OSQBUYO6.js"; import "./chunk-FGESKT7O.js"; import "./chunk-HSNDBVJ3.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_icon.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_icon.js index e45b622..fd0c78f 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_icon.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_icon.js @@ -8,10 +8,10 @@ import { NzIconModule, NzIconPatchService, NzIconService -} from "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; +} from "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; -import "./chunk-M5GY4FCO.js"; +import "./chunk-SATQCK6M.js"; import "./chunk-Y4CEYMY2.js"; import "./chunk-X7WBA24Z.js"; import "./chunk-OSQBUYO6.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_input.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_input.js index 3bb0b08..2329cc5 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_input.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_input.js @@ -1,32 +1,32 @@ +import { + FocusMonitor +} from "./chunk-EISFVYMQ.js"; import { NzFormItemFeedbackIconComponent, NzFormNoStatusService, NzFormPatchModule, NzFormStatusService -} from "./chunk-FGZVIKKA.js"; -import { - NzResizeService -} from "./chunk-D5ODNR6D.js"; +} from "./chunk-5AGOG3VI.js"; import { - FocusMonitor -} from "./chunk-E6XJDY45.js"; + NgControl +} from "./chunk-D4IIJHV7.js"; import { NzOutletModule, NzStringTemplateOutletDirective } from "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import { - NgControl -} from "./chunk-D4IIJHV7.js"; import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; + NzResizeService +} from "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import { + NzIconDirective, + NzIconModule +} from "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import { Platform } from "./chunk-IAC53GOD.js"; @@ -34,7 +34,7 @@ import { InputBoolean, getStatusClassNames, isNotNil -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-Y4CEYMY2.js"; import "./chunk-X7WBA24Z.js"; import { diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_layout.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_layout.js index e530e70..7ca5c57 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_layout.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_layout.js @@ -1,26 +1,26 @@ import { NzMenuDirective -} from "./chunk-WKTPWT5U.js"; +} from "./chunk-YGBKDI43.js"; import "./chunk-CZEXXPIB.js"; -import "./chunk-6RXUTAFR.js"; -import "./chunk-XAGDQPFO.js"; -import { - NzBreakpointService, - siderResponsiveMap -} from "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import "./chunk-6U656R5M.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; +import "./chunk-RJWK6JFA.js"; import "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; import { - NzIconDirective, - NzIconModule -} from "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; + NzBreakpointService, + siderResponsiveMap +} from "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import { + NzIconDirective, + NzIconModule +} from "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import { Platform } from "./chunk-IAC53GOD.js"; @@ -28,7 +28,7 @@ import { InputBoolean, inNextTick, toCssPixel -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_menu.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_menu.js index 32ae177..a13df18 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_menu.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_menu.js @@ -15,21 +15,21 @@ import { NzSubmenuInlineChildComponent, NzSubmenuNoneInlineChildComponent, NzSubmenuService -} from "./chunk-WKTPWT5U.js"; +} from "./chunk-YGBKDI43.js"; import "./chunk-CZEXXPIB.js"; -import "./chunk-6RXUTAFR.js"; -import "./chunk-XAGDQPFO.js"; -import "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import "./chunk-6U656R5M.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; +import "./chunk-RJWK6JFA.js"; import "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import "./chunk-VWMHIMW7.js"; -import "./chunk-ZHMJ6SNN.js"; +import "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import "./chunk-6NZ2BEBG.js"; +import "./chunk-G327EOBL.js"; +import "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; -import "./chunk-M5GY4FCO.js"; +import "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_message.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_message.js index 7565067..1098118 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_message.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_message.js @@ -1,31 +1,31 @@ -import { - moveUpMotion -} from "./chunk-XAGDQPFO.js"; -import { - NzSingletonService -} from "./chunk-D5ODNR6D.js"; import { ComponentPortal, Overlay -} from "./chunk-6U656R5M.js"; +} from "./chunk-NOHVXVKW.js"; +import { + moveUpMotion +} from "./chunk-RJWK6JFA.js"; import { NzOutletModule, NzStringTemplateOutletDirective } from "./chunk-VOD2PKZN.js"; import "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; +import { + NzSingletonService +} from "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; +import "./chunk-6NZ2BEBG.js"; import { NzIconDirective, NzIconModule -} from "./chunk-VWMHIMW7.js"; +} from "./chunk-G327EOBL.js"; import { NzConfigService -} from "./chunk-ZHMJ6SNN.js"; -import "./chunk-6NZ2BEBG.js"; +} from "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; import { toCssPixel -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; import "./chunk-X7WBA24Z.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_slider.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_slider.js index 506b6b8..71a54b0 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_slider.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_slider.js @@ -1,12 +1,14 @@ import { NzToolTipModule, NzTooltipDirective -} from "./chunk-5MZJ5XYV.js"; -import "./chunk-6RXUTAFR.js"; -import "./chunk-XAGDQPFO.js"; -import "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import "./chunk-6U656R5M.js"; +} from "./chunk-C33RY4ER.js"; +import { + NG_VALUE_ACCESSOR +} from "./chunk-D4IIJHV7.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; +import "./chunk-RJWK6JFA.js"; import "./chunk-VOD2PKZN.js"; import { DOWN_ARROW, @@ -14,14 +16,12 @@ import { RIGHT_ARROW, UP_ARROW } from "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import { - NG_VALUE_ACCESSOR -} from "./chunk-D4IIJHV7.js"; -import "./chunk-ZHMJ6SNN.js"; +import "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; import { Directionality } from "./chunk-6NZ2BEBG.js"; +import "./chunk-DASIIA63.js"; import { Platform } from "./chunk-IAC53GOD.js"; @@ -35,7 +35,7 @@ import { getPrecision, isNil, silentEvent -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_tabs.js b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_tabs.js index e05a5fe..27d5069 100644 --- a/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_tabs.js +++ b/.angular/cache/17.0.7/vite/deps/ng-zorro-antd_tabs.js @@ -1,31 +1,29 @@ +import { + A11yModule, + CdkMonitorFocus, + FocusKeyManager +} from "./chunk-EISFVYMQ.js"; import { NzDropDownDirective, NzDropdownMenuComponent -} from "./chunk-2CQTWQUI.js"; +} from "./chunk-KUR2ZJJB.js"; import { NzMenuDirective, NzMenuItemComponent, NzMenuModule -} from "./chunk-WKTPWT5U.js"; +} from "./chunk-YGBKDI43.js"; +import "./chunk-RSMXCRFI.js"; import { NavigationEnd, Router, RouterLink } from "./chunk-CZEXXPIB.js"; -import "./chunk-6RXUTAFR.js"; -import "./chunk-XAGDQPFO.js"; -import { - reqAnimFrame -} from "./chunk-D5ODNR6D.js"; -import "./chunk-55A2ZGND.js"; -import { - A11yModule, - CdkMonitorFocus, - FocusKeyManager -} from "./chunk-E6XJDY45.js"; +import "./chunk-K4MSLGWI.js"; +import "./chunk-NOHVXVKW.js"; +import "./chunk-XDMUMVNQ.js"; import { ViewportRuler -} from "./chunk-6U656R5M.js"; +} from "./chunk-RJWK6JFA.js"; import { NzOutletModule, NzStringTemplateOutletDirective @@ -39,19 +37,21 @@ import { UP_ARROW, hasModifierKey } from "./chunk-JGP5BR6B.js"; -import "./chunk-WB57DPWD.js"; -import "./chunk-KMGBCF4T.js"; +import { + reqAnimFrame +} from "./chunk-A7MWZ3GO.js"; +import "./chunk-Q646SFZH.js"; +import { + Directionality +} from "./chunk-6NZ2BEBG.js"; import { NzIconDirective, NzIconModule -} from "./chunk-VWMHIMW7.js"; +} from "./chunk-G327EOBL.js"; import { NzConfigService, WithConfig -} from "./chunk-ZHMJ6SNN.js"; -import { - Directionality -} from "./chunk-6NZ2BEBG.js"; +} from "./chunk-DASIIA63.js"; import "./chunk-IAC53GOD.js"; import { InputBoolean, @@ -59,7 +59,7 @@ import { coerceElement, coerceNumberProperty, wrapIntoObservable -} from "./chunk-M5GY4FCO.js"; +} from "./chunk-SATQCK6M.js"; import "./chunk-ECVKT3ZH.js"; import "./chunk-KI2JSLP6.js"; import "./chunk-Y4CEYMY2.js"; diff --git a/.gitignore b/.gitignore index 121a30d..e9aeeaf 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .idea/ node_modules/ dist/ - +.angular/ diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 3899be3..72c50e4 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -16,6 +16,11 @@ export const routes: Routes = [ loadChildren: () => import('./pages/index/index.routes').then(m => m.INDEX_ROUTES), canActivate: [InitGuardService] }, + { + path: 'system', + loadChildren: () => import('./pages/system/system.routes').then(m => m.SYSTEM_ROUTES), + canActivate: [InitGuardService] + }, ] } ]; diff --git a/src/app/pages/body/index/index.component.html b/src/app/pages/body/index/index.component.html index 8dbb30a..fcf871f 100644 --- a/src/app/pages/body/index/index.component.html +++ b/src/app/pages/body/index/index.component.html @@ -1,22 +1,25 @@ -
- + - + + + -
col-8
+ +
- + +
@@ -24,54 +27,27 @@
收起
- + +
    -
  • +
    • -
    • +
      • -
      • Option 1
      • -
      • Option 2
      • -
      -
    • -
    • -
        -
      • Option 3
      • -
      • Option 4
      • +
      • {{childMenu['menuName']}}
  • -
  • -
      -
    • Option 5
    • -
    • Option 6
    • -
    • -
        -
      • Option 7
      • -
      • Option 8
      • -
      • -
          -
        • Option 9
        • -
        • Option 10
        • -
        -
      • -
      -
    • -
    -
  • -
  • -
      -
    • Option 11
    • -
    • Option 12
    • -
    • Option 13
    • -
    -
+ +
- + + +
diff --git a/src/app/pages/body/index/index.component.ts b/src/app/pages/body/index/index.component.ts index 761e4a1..2b1627a 100644 --- a/src/app/pages/body/index/index.component.ts +++ b/src/app/pages/body/index/index.component.ts @@ -10,6 +10,8 @@ import {animate, state, style, transition, trigger} from "@angular/animations"; import {NzIconDirective} from "ng-zorro-antd/icon"; import {NzTabComponent, NzTabSetComponent} from "ng-zorro-antd/tabs"; import {TabComponent} from "../tab/tab.component"; +import {BrowserStorageService} from "../../../utils/localStorage.service"; +import {DATA} from "../../../data/login/localStorage.namespace"; @Component({ @@ -59,20 +61,34 @@ import {TabComponent} from "../tab/tab.component"; ] }) export class IndexComponent { + // 菜单数据 + menuData: any = [{ + 'menuName' : '首页', + 'selected' : true, + }]; + + // 左侧菜单栏数据 + leftMenuData: any = []; + - // 首次导航数据 - firstMenuData = menuData; // 侧边菜单展示开关 isCollapse = false; - tabs = ['首页' , '商户管理']; - constructor( - ) {} + constructor(private storage: BrowserStorageService) { + this.menuData = this.menuData.concat(this.storage.get(DATA)['menuTree']); + console.log(this.menuData); + } // 选择操作 isSelected(item: any) { - this.isCollapse = true; - this.firstMenuData.map(data => { - data.selected = data.title === item.title; + this.menuData.map((data: any) => { + data.selected = data.menuName === item.menuName; + this.leftMenuData = data['childMenuList']; + console.log(this.leftMenuData); }); + if (item['menuName'] === '首页') { + this.isCollapse = false; + } else { + this.isCollapse = true; + } } } diff --git a/src/app/pages/body/menu/menu.module.ts b/src/app/pages/body/menu/menu.module.ts new file mode 100644 index 0000000..ff80347 --- /dev/null +++ b/src/app/pages/body/menu/menu.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + + + +@NgModule({ + declarations: [], + imports: [ + CommonModule + ] +}) +export class MenuModule { } diff --git a/src/app/pages/body/tab/tab.component.html b/src/app/pages/body/tab/tab.component.html index 933dc96..1ba0c7f 100644 --- a/src/app/pages/body/tab/tab.component.html +++ b/src/app/pages/body/tab/tab.component.html @@ -1,7 +1,9 @@
+ - + +
diff --git a/src/app/pages/body/tab/tab.component.ts b/src/app/pages/body/tab/tab.component.ts index 9fbaf58..0ac6177 100644 --- a/src/app/pages/body/tab/tab.component.ts +++ b/src/app/pages/body/tab/tab.component.ts @@ -16,5 +16,12 @@ import {RouterOutlet} from "@angular/router"; styleUrl: './tab.component.less' }) export class TabComponent { - tabs = ['首页' , '商户管理']; + + menuTabs = ['首页']; + + constructor() { + } + + + } diff --git a/src/app/pages/index/index/index.component.html b/src/app/pages/index/index/index.component.html index 0c002a1..470de32 100644 --- a/src/app/pages/index/index/index.component.html +++ b/src/app/pages/index/index/index.component.html @@ -1 +1 @@ -
+
diff --git a/src/app/pages/menu/menu.component.html b/src/app/pages/menu/menu.component.html deleted file mode 100644 index 136889f..0000000 --- a/src/app/pages/menu/menu.component.html +++ /dev/null @@ -1 +0,0 @@ -

menu works!

diff --git a/src/app/pages/menu/menu.component.spec.ts b/src/app/pages/menu/menu.component.spec.ts deleted file mode 100644 index d475a1a..0000000 --- a/src/app/pages/menu/menu.component.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { MenuComponent } from './menu.component'; - -describe('MenuComponent', () => { - let component: MenuComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [MenuComponent] - }) - .compileComponents(); - - fixture = TestBed.createComponent(MenuComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/pages/menu/menu.component.ts b/src/app/pages/menu/menu.component.ts deleted file mode 100644 index c0308d6..0000000 --- a/src/app/pages/menu/menu.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component } from '@angular/core'; - -@Component({ - selector: 'app-menu', - standalone: true, - imports: [], - templateUrl: './menu.component.html', - styleUrl: './menu.component.less' -}) -export class MenuComponent { - -} diff --git a/src/app/pages/system/menu/menu.component.html b/src/app/pages/system/menu/menu.component.html new file mode 100644 index 0000000..f63467b --- /dev/null +++ b/src/app/pages/system/menu/menu.component.html @@ -0,0 +1,26 @@ + + + + + +
    + +
+
diff --git a/src/app/pages/menu/menu.component.less b/src/app/pages/system/menu/menu.component.less similarity index 100% rename from src/app/pages/menu/menu.component.less rename to src/app/pages/system/menu/menu.component.less diff --git a/src/app/pages/system/menu/menu.component.ts b/src/app/pages/system/menu/menu.component.ts new file mode 100644 index 0000000..71440ac --- /dev/null +++ b/src/app/pages/system/menu/menu.component.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import {NzTreeComponent} from "ng-zorro-antd/tree"; +import {NgIf} from "@angular/common"; +import {NzIconDirective} from "ng-zorro-antd/icon"; +import {NzDropdownMenuComponent} from "ng-zorro-antd/dropdown"; +import {MenuService} from "../../../servies/menu/menu.service"; +import {menuData} from "../../../data/menu/menu.namespace"; + +@Component({ + selector: 'app-menu', + standalone: true, + imports: [ + NzTreeComponent, + NgIf, + NzIconDirective, + NzDropdownMenuComponent + ], + templateUrl: './menu.component.html', + styleUrl: './menu.component.less' +}) +export class MenuComponent { + + menuData = []; + + constructor(private menuService: MenuService) { + + } + + queryMenu() { + this.menuService.queryRoleMenuTree('', (data: any) => { + this.menuData = data['return_data']; + console.log(data) + }); + } + + +} diff --git a/src/app/pages/system/system.module.ts b/src/app/pages/system/system.module.ts new file mode 100644 index 0000000..822a3bf --- /dev/null +++ b/src/app/pages/system/system.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + + + +@NgModule({ + declarations: [], + imports: [ + CommonModule, + ] +}) +export class SystemModule { } diff --git a/src/app/pages/system/system.routes.ts b/src/app/pages/system/system.routes.ts new file mode 100644 index 0000000..814413d --- /dev/null +++ b/src/app/pages/system/system.routes.ts @@ -0,0 +1,6 @@ +import { Routes } from '@angular/router'; +import {MenuComponent} from "./menu/menu.component"; + +export const SYSTEM_ROUTES: Routes = [ + { path: 'menu', component: MenuComponent} +]; diff --git a/src/app/servies/menu/menu.service.ts b/src/app/servies/menu/menu.service.ts new file mode 100644 index 0000000..07d0a64 --- /dev/null +++ b/src/app/servies/menu/menu.service.ts @@ -0,0 +1,49 @@ +import { Injectable } from '@angular/core'; +import {HttpClient} from "@angular/common/http"; +import {environment} from "../../../environments/environment"; +import {ObjectData} from "../../utils/objectData.service"; + +@Injectable({ + providedIn: 'root' +}) +export class MenuService { + + constructor(private http: HttpClient) { } + + /** + * 分盘菜单 + * @param params + * @param callBack + */ + public assignMenu(params: object, callBack:any) { + this.http.post(environment.userUrl + 'secMenu/assignMenu', params).subscribe(data => { + callBack(data); + }); + } + + /** + * 分盘菜单 + * @param roleId + * @param callBack + */ + public queryRoleMenuTree(roleId: string, callBack:any) { + const param = { + roleId: roleId + } + this.http.get(environment.userUrl + 'secMenu/queryRoleMenuTree?' + ObjectData.objectByString(param)).subscribe(data => { + callBack(data); + }); + } + + /** + * 编辑菜单 + * @param params + * @param callBack + */ + public editMenu(params: object, callBack:any) { + this.http.post(environment.userUrl + 'secMenu/editMenu', params).subscribe(data => { + callBack(data); + }); + } + +}