From 502ff95724ea3f7c9bf4af2bca7a3a6610e14953 Mon Sep 17 00:00:00 2001 From: dlohvinov Date: Tue, 14 Nov 2023 16:22:36 +0200 Subject: [PATCH 01/18] refactor: refactoring text field colors [WTEL-3937] --- .../wt-headline-nav/wt-headline-nav.vue | 2 +- src/components/wt-input/Readme.md | 59 ++++++++++++++ src/components/wt-input/wt-input.vue | 76 ++++++++----------- src/css/styleguide/colors/_colors.scss | 17 +++-- .../colors/reusable/_text-field.scss | 20 +++++ .../audit-form-question-read-wrapper.vue | 2 +- 6 files changed, 121 insertions(+), 55 deletions(-) create mode 100644 src/components/wt-input/Readme.md create mode 100644 src/css/styleguide/colors/reusable/_text-field.scss diff --git a/src/components/wt-headline-nav/wt-headline-nav.vue b/src/components/wt-headline-nav/wt-headline-nav.vue index 7494e75c5..7ae3d6d7f 100644 --- a/src/components/wt-headline-nav/wt-headline-nav.vue +++ b/src/components/wt-headline-nav/wt-headline-nav.vue @@ -77,7 +77,7 @@ const props = defineProps({ } .wt-headline-nav__text { - color: var(--main-text-color); + color: var(--text-main-color); } .wt-headline-nav__wrapper:last-child { diff --git a/src/components/wt-input/Readme.md b/src/components/wt-input/Readme.md new file mode 100644 index 000000000..5739a11dd --- /dev/null +++ b/src/components/wt-input/Readme.md @@ -0,0 +1,59 @@ +```vue +debugger; +
+value: {{ this.value }} +
+ + +``` + +```vue + + +``` + +```vue + +``` + +```vue + +``` + +```vue + + + +``` diff --git a/src/components/wt-input/wt-input.vue b/src/components/wt-input/wt-input.vue index f34cfc8c2..914f88cb7 100644 --- a/src/components/wt-input/wt-input.vue +++ b/src/components/wt-input/wt-input.vue @@ -71,17 +71,15 @@ - diff --git a/docs/shared/component-model.vue b/docs/shared/component-model.vue new file mode 100644 index 000000000..2f0901f42 --- /dev/null +++ b/docs/shared/component-model.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/docs/shared/component-props.vue b/docs/shared/component-props.vue new file mode 100644 index 000000000..9416281cf --- /dev/null +++ b/docs/shared/component-props.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/docs/shared/component-slots.vue b/docs/shared/component-slots.vue new file mode 100644 index 000000000..3987b102e --- /dev/null +++ b/docs/shared/component-slots.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/docs/shared/index.js b/docs/shared/index.js new file mode 100644 index 000000000..3e764fe69 --- /dev/null +++ b/docs/shared/index.js @@ -0,0 +1,13 @@ +import ComponentEvents from './component-events.vue'; +import ComponentModel from './component-model.vue'; +import ComponentProps from './component-props.vue'; +import ComponentSlots from './component-slots.vue'; + +const Components = { + ComponentEvents, + ComponentModel, + ComponentProps, + ComponentSlots, +}; + +export default Components; diff --git a/docs/shared/md-component.vue b/docs/shared/md-component.vue new file mode 100644 index 000000000..d9ca468fe --- /dev/null +++ b/docs/shared/md-component.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/docs/webitel-ui/changelog.vue b/docs/webitel-ui/changelog.vue new file mode 100644 index 000000000..1358ec706 --- /dev/null +++ b/docs/webitel-ui/changelog.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/docs/webitel-ui/components/components-docs.vue b/docs/webitel-ui/components/components-docs.vue new file mode 100644 index 000000000..5cb592f6b --- /dev/null +++ b/docs/webitel-ui/components/components-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue b/docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue new file mode 100644 index 000000000..07029472c --- /dev/null +++ b/docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-avatar/pic.jpg b/docs/webitel-ui/components/wt-avatar/pic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd2555e6b6b7cbc804297914741218b837ee4ce7 GIT binary patch literal 402191 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%0A>{8kSDi) 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 +
+

Avatar

+
+
+ +
<wt-avatar size="lg" :src="pic"></wt-avatar>
+
+
+ +
<wt-avatar size="lg" username="Daniil Lohvinov"></wt-avatar>
+
+
+ +
<wt-avatar :status="AbstractUserStatus.ACTIVE" badged></wt-avatar>
+
+
+ + + + + + + +
+
+ +
+

Why to pass image itself as src prop?

+
+        
+          <wt-avatar :src="pic"></wt-avatar>
+
+          import pic from './pic.png';
+
+          data: () => ({ pic }),
+        
+      
+
+      

+ NOTE ONLY FOR LOCAL IMAGES INSIDE PROJECT FILES! + + If you would pass LOCAL path url to img to :src prop instead of image itself, + first, webpack will build app (and build this pic too), + and then Vue will try to find this img by passed path -- Vue won't find it, + because webpack have already repacked it somewhere else. + + So that, first, we need to import this image and pass it as object through data + so that webpack won't lose it. +

+
+
+
+ + + + + diff --git a/docs/webitel-ui/components/wt-badge/wt-badge-docs.vue b/docs/webitel-ui/components/wt-badge/wt-badge-docs.vue new file mode 100644 index 000000000..90ed39e0e --- /dev/null +++ b/docs/webitel-ui/components/wt-badge/wt-badge-docs.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-button-select/wt-button-select-docs.vue b/docs/webitel-ui/components/wt-button-select/wt-button-select-docs.vue new file mode 100644 index 000000000..8ffb156cf --- /dev/null +++ b/docs/webitel-ui/components/wt-button-select/wt-button-select-docs.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-button/wt-button-docs.vue b/docs/webitel-ui/components/wt-button/wt-button-docs.vue new file mode 100644 index 000000000..79576887b --- /dev/null +++ b/docs/webitel-ui/components/wt-button/wt-button-docs.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue b/docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue new file mode 100644 index 000000000..edcd45195 --- /dev/null +++ b/docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-checkbox/wt-checkbox-docs.vue b/docs/webitel-ui/components/wt-checkbox/wt-checkbox-docs.vue new file mode 100644 index 000000000..2332ad97c --- /dev/null +++ b/docs/webitel-ui/components/wt-checkbox/wt-checkbox-docs.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-chip/wt-chip-docs.vue b/docs/webitel-ui/components/wt-chip/wt-chip-docs.vue new file mode 100644 index 000000000..b4cd93496 --- /dev/null +++ b/docs/webitel-ui/components/wt-chip/wt-chip-docs.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-context-menu/wt-context-menu-docs.vue b/docs/webitel-ui/components/wt-context-menu/wt-context-menu-docs.vue new file mode 100644 index 000000000..b26b8d8f0 --- /dev/null +++ b/docs/webitel-ui/components/wt-context-menu/wt-context-menu-docs.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-copy-action/wt-copy-action.vue b/docs/webitel-ui/components/wt-copy-action/wt-copy-action.vue new file mode 100644 index 000000000..8b8300a7c --- /dev/null +++ b/docs/webitel-ui/components/wt-copy-action/wt-copy-action.vue @@ -0,0 +1,54 @@ + + + + + + diff --git a/docs/webitel-ui/components/wt-datepicker/wt-datepicker-docs.vue b/docs/webitel-ui/components/wt-datepicker/wt-datepicker-docs.vue new file mode 100644 index 000000000..7ce8eb365 --- /dev/null +++ b/docs/webitel-ui/components/wt-datepicker/wt-datepicker-docs.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-divider/wt-divider-docs.vue b/docs/webitel-ui/components/wt-divider/wt-divider-docs.vue new file mode 100644 index 000000000..0cfa46603 --- /dev/null +++ b/docs/webitel-ui/components/wt-divider/wt-divider-docs.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-dummy/pic.svg b/docs/webitel-ui/components/wt-dummy/pic.svg new file mode 100644 index 000000000..86c4113e5 --- /dev/null +++ b/docs/webitel-ui/components/wt-dummy/pic.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/webitel-ui/components/wt-dummy/wt-dummy-docs.vue b/docs/webitel-ui/components/wt-dummy/wt-dummy-docs.vue new file mode 100644 index 000000000..324016ce3 --- /dev/null +++ b/docs/webitel-ui/components/wt-dummy/wt-dummy-docs.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-error-page/wt-error-page-docs.vue b/docs/webitel-ui/components/wt-error-page/wt-error-page-docs.vue new file mode 100644 index 000000000..2650aeef6 --- /dev/null +++ b/docs/webitel-ui/components/wt-error-page/wt-error-page-docs.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-expansion-panel/wt-expansion-panel-docs.vue b/docs/webitel-ui/components/wt-expansion-panel/wt-expansion-panel-docs.vue new file mode 100644 index 000000000..c69cee9bb --- /dev/null +++ b/docs/webitel-ui/components/wt-expansion-panel/wt-expansion-panel-docs.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-filters-panel-wrapper/wt-table-actions-docs.vue b/docs/webitel-ui/components/wt-filters-panel-wrapper/wt-table-actions-docs.vue new file mode 100644 index 000000000..3f8e36fc3 --- /dev/null +++ b/docs/webitel-ui/components/wt-filters-panel-wrapper/wt-table-actions-docs.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-headline-nav/wt-headline-nav-docs.vue b/docs/webitel-ui/components/wt-headline-nav/wt-headline-nav-docs.vue new file mode 100644 index 000000000..d8fa9a7bf --- /dev/null +++ b/docs/webitel-ui/components/wt-headline-nav/wt-headline-nav-docs.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-headline/wt-headline-docs.vue b/docs/webitel-ui/components/wt-headline/wt-headline-docs.vue new file mode 100644 index 000000000..e4bcb9dfe --- /dev/null +++ b/docs/webitel-ui/components/wt-headline/wt-headline-docs.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-hint/wt-hint-docs.vue b/docs/webitel-ui/components/wt-hint/wt-hint-docs.vue new file mode 100644 index 000000000..7695d69ad --- /dev/null +++ b/docs/webitel-ui/components/wt-hint/wt-hint-docs.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-icon-action/wt-icon-action-docs.vue b/docs/webitel-ui/components/wt-icon-action/wt-icon-action-docs.vue new file mode 100644 index 000000000..b7d967989 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon-action/wt-icon-action-docs.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-icon-btn/wt-icon-btn-docs.vue b/docs/webitel-ui/components/wt-icon-btn/wt-icon-btn-docs.vue new file mode 100644 index 000000000..6819f6d02 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon-btn/wt-icon-btn-docs.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-icon/_internals/icon-grid.vue b/docs/webitel-ui/components/wt-icon/_internals/icon-grid.vue new file mode 100644 index 000000000..ac6c4d266 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/_internals/icon-grid.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-icon/_internals/iconsList.js b/docs/webitel-ui/components/wt-icon/_internals/iconsList.js new file mode 100644 index 000000000..2ba3dc855 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/_internals/iconsList.js @@ -0,0 +1,146 @@ +export default [ + 'email', + 'adfs', + 'azure', + 'instagram', + 'zoom-in', + 'zoom-out', + 'send-arrow', + 'close', + 'close--filled', + 'attach', + 'mail', + 'mail--color', + 'telegram-bot', + 'messenger-infobip', + 'messenger-telegram', + 'messenger-telegram--filled', + 'messenger-facebook', + 'messenger-facebook--filled', + 'messenger-viber', + 'messenger-viber--filled', + 'messenger-web-chat', + 'messenger-whatsapp', + 'messenger-whatsapp--filled', + 'messenger-messenger', + 'meta', + 'lock', + 'move', + 'queue-member', + 'history', + 'generate', + 'google', + 'rounded-info', + 'copy', + 'menu', + 'clear', + 'video-cam', + 'video-cam-off', + 'bell', + 'bell-badged', + 'star', + 'star--filled', + 'sound-on', + 'sound-off', + 'back', + 'prompter', + 'play', + 'pause', + 'stop', + 'download', + 'upload', + 'filter', + 'column-select', + 'refresh', + 'calendar', + 'radio', + 'radio--checked', + 'checkbox', + 'checkbox--checked', + 'checkbox--checked--filled', + 'eye--closed', + 'eye--opened', + 'numpad', + 'settings', + 'docs', + 'logout', + 'account', + 'app-navigator', + 'collapse', + 'expand', + 'bucket', + 'tick', + 'edit', + 'plus', + 'search', + 'rec-off', + 'rec', + 'note', + 'mic', + 'mic-muted', + 'hold', + 'contacts', + 'done', + 'attention', + + 'call', + 'call--filled', + 'call-end', + 'call-end--filled', + 'call-transfer', + 'call-transfer--filled', + 'call-ringing', + 'call-ringing--filled', + 'call-missed', + 'call-missed--filled', + 'call-add-to', + 'call-add-to--filled', + 'call-disconnect', + 'call-disconnect--filled', + 'call-outbound', + 'call-outbound--filled', + 'call-inbound', + 'call-inbound--filled', + + 'chat', + 'chat--filled', + 'chat-join', + 'chat-transfer', + 'chat-transfer--filled', + 'chat-end', + 'chat-end--filled', + 'chat-group', + 'chat-quick-response', + 'chat-quick-response--filled', + 'chat-send', + 'chat-emoji', + 'chat-reply', + 'chat-message-status-sent', + 'chat-message-status-read', + + 'job', + 'job--accept', + 'job--end', + + 'sort-arrow-down', + 'sort-arrow-up', + 'arrow-down', + 'arrow-left', + 'arrow-mix', + 'arrow-right', + 'arrow-up', + 'tts-download', + 'stt', + 'stt-download', + 'stt-search', + 'scorecard', + 'idle', + 'pin', + 'unpin', + 'options', + + 'preview-tag-video', + 'preview-tag-audio', + 'preview-tag-application', + 'preview-tag-image', +].sort(); diff --git a/docs/webitel-ui/components/wt-icon/assets/cleanup-svg-fill-none.png b/docs/webitel-ui/components/wt-icon/assets/cleanup-svg-fill-none.png new file mode 100644 index 0000000000000000000000000000000000000000..1aecb3e1bfa8f55e02c53c70adfdbe8058179afe GIT binary patch literal 15319 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 literal 0 HcmV?d00001 diff --git a/docs/webitel-ui/components/wt-icon/assets/svg-sprite-in-dom.png b/docs/webitel-ui/components/wt-icon/assets/svg-sprite-in-dom.png new file mode 100644 index 0000000000000000000000000000000000000000..99e180aca978bcee0f2a87e0ad8b479cbda79732 GIT binary patch literal 76864 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

+config.module
+    .rule('svg')
+    .exclude.add(/^(.*sprite).*\.svg/); // same as in svg-sprite-loader
+
+config.module
+    .rule('svg-sprite')
+    .test(/^(.*sprite).*\.svg/) // same as in svg-url-loader
+    .use('svg-sprite-loader')
+    .loader('svg-sprite-loader');
+
+ +So that, all these icons are collected in one sprite. This sprite is injected in index.html. + +For example: (By the way, you can check it if you want to see, which icons were collected in this sprite): + +![svg-sprite-in-dom](../../assets/svg-sprite-in-dom.png) + +Then, these icons can be used as: + +

+<svg><use xlink:href="#attach"></use></svg>
+// or, using wt-icon component:
+<wt-icon icon="attach"></wt-icon>
+
+ diff --git a/docs/webitel-ui/components/wt-icon/md/how-does-it-work/how-does-it-work.ru.md b/docs/webitel-ui/components/wt-icon/md/how-does-it-work/how-does-it-work.ru.md new file mode 100644 index 000000000..8dff60b13 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/how-does-it-work/how-does-it-work.ru.md @@ -0,0 +1,42 @@ +### [How does it work?](#how-does-it-work) + +Иконки пакуются в специальную папку assets/icons/sprite, в SVG формате, +без указания параметров width height, но с указанием +[viewBox](https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/viewBox) + +(viewBox указывается дизайнером при создании картинки - нужно просто следить, есть ли он, +и нет ли ширины-высоты). Например: + +![svg icon code example](../../assets/svg-icon-code-example.png) + +Далее, svg-sprite-loader +собирает их (по правилу "Все файлы из всех папок, в названии которых есть "sprite", +и эти файлы имеют расширение .svg) согласно этому правилу в vue.config.js: +(взято из инструкции по установке иконок): + +

+config.module
+    .rule('svg')
+    .exclude.add(/^(.*sprite).*\.svg/); // same as in svg-sprite-loader
+
+config.module
+    .rule('svg-sprite')
+    .test(/^(.*sprite).*\.svg/) // same as in svg-url-loader
+    .use('svg-sprite-loader')
+    .loader('svg-sprite-loader');
+
+ +После этого все иконки пакуются в спрайт, который затем вставляется в index.html +и переиспользуется. +Выглядит это примерно так (Кстати, таким же образом можно проверить, какие иконки и в каком виде +вошли в спрайт): + +![svg-sprite-in-dom](../../assets/svg-sprite-in-dom.png) +

Далее эти иконки можно использовать как: + +


+<svg><use xlink:href="#attach"></use></svg>
+// or, using wt-icon component:
+<wt-icon icon="attach"></wt-icon>
+
+ diff --git a/docs/webitel-ui/components/wt-icon/md/how-does-it-work/index.js b/docs/webitel-ui/components/wt-icon/md/how-does-it-work/index.js new file mode 100644 index 000000000..3e72ca077 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/how-does-it-work/index.js @@ -0,0 +1,6 @@ +import ru from './how-does-it-work.ru.md'; +import en from './how-does-it-work.en.md'; + +export default { + ru, en, default: en, +}; diff --git a/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.en.md b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.en.md new file mode 100644 index 000000000..8c05b5731 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.en.md @@ -0,0 +1,27 @@ +### [How to install your custom icons to project?](#how-to-install-custom-icons) + +`svg-sprite-loader` webpack rule in vue.config.js also collects all icons from `sprite` +directories in project and adds it to final sprite. + +*In fact, webitel-ui icons are added to sprite just cause they're imported from +"sprite" directory - just in node_modules* + +For stylistic purposes, it's recommended to allocate icons in src/(app?)/assets/icons/sprite/*, +So that developers and designer could find (and then check or update) them in any project. + +All icons from this directory should be imported in index.js in this directory +(create `index.js` if it doesn't exist). + +Then, `index.html` should be imported in `main.js`: +
import './assets/icons/sprite';
+ +And, then, if you put some new icons in this directory, and import them in `index.js`, +they automatically become available in project. + + +#### Simple TODO: +* Create directory `src/(app?)/assets/icons/sprite/` (if doesn't exists) +* in this folder, create `index.js` (if doesn't exists) +* Import `index.js` to `>main.js` (if doesn't exists) +* Put icon to this directory, and import it to `index.js` +* That's all, you're awesome! diff --git a/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.ru.md b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.ru.md new file mode 100644 index 000000000..49c0f5925 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.ru.md @@ -0,0 +1,28 @@ +### [How to install your custom icons to project?](#how-to-install-custom-icons) + +Описанное выше правило в vue.config.js также собирает в спрайт и все иконки в +проекте, +которые лежат в папке "sprite". +*На самом деле, иконки из библиотеки собираются просто потому, что они также +импортируются из папки "sprite" - просто из node_modules* + +Из соображений стилистических, рекомендуется собирать иконки в src/(app?)/assets/icons/sprite/*, +Чтобы во всех приложениях разработчики, или дизайнер, исчерпывающе знали где искать, +заменять или добавлять +новые иконки. + +Все иконки в этой папке нужно импортировать в index.js в этой же папке +(создать его - если нет). +После этого нужно импортировать его в main.js: +
import './assets/icons/sprite';
+ +Далее, если положить иконки в эту папку и импортировать их в index.js, +они автоматически подтянутся в спрайт, и их можно будет использовать. + + +#### Simple TODO: +* Создать папку src/(app?)/assets/icons/sprite/ (если отсутствует) +* В этой папке создать файл index.js (если отсутствует) +* Импортировать его в main.js (если отсутствует) +* Добавить иконку в эту папку, импортировать её в index.js +* Готово, вы восхитительны! diff --git a/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/index.js b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/index.js new file mode 100644 index 000000000..c07b41f83 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/index.js @@ -0,0 +1,8 @@ +import en from './how-to-install-custom-icons-to-project.en.md'; +import ru from './how-to-install-custom-icons-to-project.ru.md'; + +export default { + en, + ru, + default: en, +}; diff --git a/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.en.md b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.en.md new file mode 100644 index 000000000..f5398a06c --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.en.md @@ -0,0 +1,18 @@ +### [Icon sprites naming convention:](#icons-naming-convention) + +App-specific icons are highly recommended to be named with the prefix corresponding to this application. + + +The reason is: when you see an icon usage, you will be able to distinguish `svg` location: +in this app, or library - and update it, if needed. +*For example, if you want to move this icon from app to library, you just need to remove `icon-prefix` prop +from all icon usages (and, of course, rename the icon file)* + + +#### Icon prefix corresponding to application: +* **Webitel UI:** no prefix +* **Admin:** `adm-` +* **Workspace:** `ws-` +* **Supervisor:** `sv-` +* **History:** `hs-` +* **Webitel CC UI:** `cc-` diff --git a/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.ru.md b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.ru.md new file mode 100644 index 000000000..0df0fc2d5 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.ru.md @@ -0,0 +1,19 @@ +### [Icon sprites naming convention:](#icons-naming-convention) + +Иконки, которые являются специфическими для конкретной аппликации, рекомендуется называть с +преффиксом, соответствующим этой аппликациию. + + +Благодаря этому, при использовании иконки, по преффиксу можно будет отличить, где она лежит: +в библиотеке, или проекте - и, при необходимости, произвести замену (например, если иконка +перемещается из проекта в библиотеку, достаточно будет во всех её использованиях просто +забрать преффикс (и, конечно, переименовать саму иконку)). + + +#### Названия преффиксов иконок в соответствии с аппликациями: +* **Webitel UI** no preffix +* **Admin:** `adm-` +* **Workspace:** `ws-` +* **Supervisor:** `sv-` +* **History:** `hs-` +* **Webitel CC UI:** `cc-` diff --git a/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/index.js b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/index.js new file mode 100644 index 000000000..f30c65ea4 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/md/icons-naming-convention/index.js @@ -0,0 +1,8 @@ +import en from './icons-naming-convention.en.md'; +import ru from './icons-naming-convention.ru.md'; + +export default { + en, + ru, + default: en, +}; diff --git a/docs/webitel-ui/components/wt-icon/wt-icon-docs.vue b/docs/webitel-ui/components/wt-icon/wt-icon-docs.vue new file mode 100644 index 000000000..9f738cbd7 --- /dev/null +++ b/docs/webitel-ui/components/wt-icon/wt-icon-docs.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-indicator/wt-indicator-docs.vue b/docs/webitel-ui/components/wt-indicator/wt-indicator-docs.vue new file mode 100644 index 000000000..94ce61d46 --- /dev/null +++ b/docs/webitel-ui/components/wt-indicator/wt-indicator-docs.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-input-info/wt-input-info-docs.vue b/docs/webitel-ui/components/wt-input-info/wt-input-info-docs.vue new file mode 100644 index 000000000..d47fa612e --- /dev/null +++ b/docs/webitel-ui/components/wt-input-info/wt-input-info-docs.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-input/wt-input-docs.vue b/docs/webitel-ui/components/wt-input/wt-input-docs.vue new file mode 100644 index 000000000..26f491571 --- /dev/null +++ b/docs/webitel-ui/components/wt-input/wt-input-docs.vue @@ -0,0 +1,213 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-input/wt-input.md b/docs/webitel-ui/components/wt-input/wt-input.md new file mode 100644 index 000000000..45e5236b4 --- /dev/null +++ b/docs/webitel-ui/components/wt-input/wt-input.md @@ -0,0 +1,5 @@ + + + diff --git a/docs/webitel-ui/components/wt-item-link/wt-item-link-docs.vue b/docs/webitel-ui/components/wt-item-link/wt-item-link-docs.vue new file mode 100644 index 000000000..07a7d2cb9 --- /dev/null +++ b/docs/webitel-ui/components/wt-item-link/wt-item-link-docs.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-label/wt-label-docs.vue b/docs/webitel-ui/components/wt-label/wt-label-docs.vue new file mode 100644 index 000000000..4a7858eca --- /dev/null +++ b/docs/webitel-ui/components/wt-label/wt-label-docs.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-load-bar/wt-load-bar-docs.vue b/docs/webitel-ui/components/wt-load-bar/wt-load-bar-docs.vue new file mode 100644 index 000000000..c8a2fbbcd --- /dev/null +++ b/docs/webitel-ui/components/wt-load-bar/wt-load-bar-docs.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-loader/wt-loader-docs.vue b/docs/webitel-ui/components/wt-loader/wt-loader-docs.vue new file mode 100644 index 000000000..42130a1b3 --- /dev/null +++ b/docs/webitel-ui/components/wt-loader/wt-loader-docs.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue b/docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue new file mode 100644 index 000000000..54a463b09 --- /dev/null +++ b/docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-notification/wt-notification-docs.vue b/docs/webitel-ui/components/wt-notification/wt-notification-docs.vue new file mode 100644 index 000000000..a15141c99 --- /dev/null +++ b/docs/webitel-ui/components/wt-notification/wt-notification-docs.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue b/docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue new file mode 100644 index 000000000..d4ebd992d --- /dev/null +++ b/docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue b/docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue new file mode 100644 index 000000000..14cba61d8 --- /dev/null +++ b/docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue b/docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue new file mode 100644 index 000000000..13c3541ca --- /dev/null +++ b/docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-pagination/wt-pagination-docs.vue b/docs/webitel-ui/components/wt-pagination/wt-pagination-docs.vue new file mode 100644 index 000000000..c68c30ba8 --- /dev/null +++ b/docs/webitel-ui/components/wt-pagination/wt-pagination-docs.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-player/wt-player-docs.vue b/docs/webitel-ui/components/wt-player/wt-player-docs.vue new file mode 100644 index 000000000..7683e7b02 --- /dev/null +++ b/docs/webitel-ui/components/wt-player/wt-player-docs.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-popup/wt-popup-docs.vue b/docs/webitel-ui/components/wt-popup/wt-popup-docs.vue new file mode 100644 index 000000000..fbff5ab69 --- /dev/null +++ b/docs/webitel-ui/components/wt-popup/wt-popup-docs.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-progress-bar/wt-progress-bar-docs.vue b/docs/webitel-ui/components/wt-progress-bar/wt-progress-bar-docs.vue new file mode 100644 index 000000000..f7fad20db --- /dev/null +++ b/docs/webitel-ui/components/wt-progress-bar/wt-progress-bar-docs.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-radio/wt-radio-docs.vue b/docs/webitel-ui/components/wt-radio/wt-radio-docs.vue new file mode 100644 index 000000000..33c2cc95d --- /dev/null +++ b/docs/webitel-ui/components/wt-radio/wt-radio-docs.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-rounded-action/wt-rounded-action-docs.vue b/docs/webitel-ui/components/wt-rounded-action/wt-rounded-action-docs.vue new file mode 100644 index 000000000..633924c19 --- /dev/null +++ b/docs/webitel-ui/components/wt-rounded-action/wt-rounded-action-docs.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-search-bar/wt-search-bar-docs.vue b/docs/webitel-ui/components/wt-search-bar/wt-search-bar-docs.vue new file mode 100644 index 000000000..6a1a28a1e --- /dev/null +++ b/docs/webitel-ui/components/wt-search-bar/wt-search-bar-docs.vue @@ -0,0 +1,149 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-select/wt-select-docs.vue b/docs/webitel-ui/components/wt-select/wt-select-docs.vue new file mode 100644 index 000000000..6cc843351 --- /dev/null +++ b/docs/webitel-ui/components/wt-select/wt-select-docs.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-slider/wt-slider-docs.vue b/docs/webitel-ui/components/wt-slider/wt-slider-docs.vue new file mode 100644 index 000000000..bdf6d1b31 --- /dev/null +++ b/docs/webitel-ui/components/wt-slider/wt-slider-docs.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue b/docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue new file mode 100644 index 000000000..1aa8b46fd --- /dev/null +++ b/docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-stepper/wt-stepper-docs.vue b/docs/webitel-ui/components/wt-stepper/wt-stepper-docs.vue new file mode 100644 index 000000000..95b3cc700 --- /dev/null +++ b/docs/webitel-ui/components/wt-stepper/wt-stepper-docs.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-switcher/wt-switcher-docs.vue b/docs/webitel-ui/components/wt-switcher/wt-switcher-docs.vue new file mode 100644 index 000000000..edeb44954 --- /dev/null +++ b/docs/webitel-ui/components/wt-switcher/wt-switcher-docs.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-table-actions/wt-table-actions-docs.vue b/docs/webitel-ui/components/wt-table-actions/wt-table-actions-docs.vue new file mode 100644 index 000000000..759847085 --- /dev/null +++ b/docs/webitel-ui/components/wt-table-actions/wt-table-actions-docs.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-table-column-select/wt-table-column-select-docs.vue b/docs/webitel-ui/components/wt-table-column-select/wt-table-column-select-docs.vue new file mode 100644 index 000000000..e2749b974 --- /dev/null +++ b/docs/webitel-ui/components/wt-table-column-select/wt-table-column-select-docs.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-table/wt-table-docs.vue b/docs/webitel-ui/components/wt-table/wt-table-docs.vue new file mode 100644 index 000000000..f957699cc --- /dev/null +++ b/docs/webitel-ui/components/wt-table/wt-table-docs.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-tabs/wt-tabs-docs.vue b/docs/webitel-ui/components/wt-tabs/wt-tabs-docs.vue new file mode 100644 index 000000000..478776e7b --- /dev/null +++ b/docs/webitel-ui/components/wt-tabs/wt-tabs-docs.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-tags-input/wt-tags-input-docs.vue b/docs/webitel-ui/components/wt-tags-input/wt-tags-input-docs.vue new file mode 100644 index 000000000..2a1757100 --- /dev/null +++ b/docs/webitel-ui/components/wt-tags-input/wt-tags-input-docs.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-textarea/wt-textarea-docs.vue b/docs/webitel-ui/components/wt-textarea/wt-textarea-docs.vue new file mode 100644 index 000000000..2eb73dcdc --- /dev/null +++ b/docs/webitel-ui/components/wt-textarea/wt-textarea-docs.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-time-input/wt-time-input-docs.vue b/docs/webitel-ui/components/wt-time-input/wt-time-input-docs.vue new file mode 100644 index 000000000..42876a4bc --- /dev/null +++ b/docs/webitel-ui/components/wt-time-input/wt-time-input-docs.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-timepicker/wt-timepicker-docs.vue b/docs/webitel-ui/components/wt-timepicker/wt-timepicker-docs.vue new file mode 100644 index 000000000..e5bd9ebec --- /dev/null +++ b/docs/webitel-ui/components/wt-timepicker/wt-timepicker-docs.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/docs/webitel-ui/components/wt-tooltip/wt-tooltip-docs.vue b/docs/webitel-ui/components/wt-tooltip/wt-tooltip-docs.vue new file mode 100644 index 000000000..53e1702fd --- /dev/null +++ b/docs/webitel-ui/components/wt-tooltip/wt-tooltip-docs.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/docs/webitel-ui/composables/composables-docs.vue b/docs/webitel-ui/composables/composables-docs.vue new file mode 100644 index 000000000..4c25439ae --- /dev/null +++ b/docs/webitel-ui/composables/composables-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue b/docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue new file mode 100644 index 000000000..ac2e3ffbb --- /dev/null +++ b/docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue b/docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue new file mode 100644 index 000000000..c87cc96ee --- /dev/null +++ b/docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue b/docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue new file mode 100644 index 000000000..76b9a9ffe --- /dev/null +++ b/docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue b/docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue new file mode 100644 index 000000000..a0b47de29 --- /dev/null +++ b/docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/docs/webitel-ui/directives/directives-docs.vue b/docs/webitel-ui/directives/directives-docs.vue new file mode 100644 index 000000000..e6f967497 --- /dev/null +++ b/docs/webitel-ui/directives/directives-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/enums/_internals/enumReducer.js b/docs/webitel-ui/enums/_internals/enumReducer.js new file mode 100644 index 000000000..122ebe8f2 --- /dev/null +++ b/docs/webitel-ui/enums/_internals/enumReducer.js @@ -0,0 +1,6 @@ +const enumReducer = (_enum, _import = 'import') => Object.entries(_enum).reduce((accumulator, entry) => ( + `${accumulator} + ${entry[0]}: ${entry[1]}` +), _import); + +export default enumReducer; diff --git a/docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue b/docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue new file mode 100644 index 000000000..acb31c110 --- /dev/null +++ b/docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/docs/webitel-ui/enums/admin-sections/admin-sections-enum-docs.vue b/docs/webitel-ui/enums/admin-sections/admin-sections-enum-docs.vue new file mode 100644 index 000000000..fee1c5103 --- /dev/null +++ b/docs/webitel-ui/enums/admin-sections/admin-sections-enum-docs.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/docs/webitel-ui/enums/agent-status/agent-status-enum-docs.vue b/docs/webitel-ui/enums/agent-status/agent-status-enum-docs.vue new file mode 100644 index 000000000..2be6ecd57 --- /dev/null +++ b/docs/webitel-ui/enums/agent-status/agent-status-enum-docs.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/docs/webitel-ui/enums/enums-docs.vue b/docs/webitel-ui/enums/enums-docs.vue new file mode 100644 index 000000000..eff248633 --- /dev/null +++ b/docs/webitel-ui/enums/enums-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/enums/supervisor-sections/supervisor-sections-enum-docs.vue b/docs/webitel-ui/enums/supervisor-sections/supervisor-sections-enum-docs.vue new file mode 100644 index 000000000..e968b0d82 --- /dev/null +++ b/docs/webitel-ui/enums/supervisor-sections/supervisor-sections-enum-docs.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/docs/webitel-ui/enums/webitel-applications/webitel-applications-enum-docs.vue b/docs/webitel-ui/enums/webitel-applications/webitel-applications-enum-docs.vue new file mode 100644 index 000000000..f8885801b --- /dev/null +++ b/docs/webitel-ui/enums/webitel-applications/webitel-applications-enum-docs.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/docs/webitel-ui/filters/filters-docs.vue b/docs/webitel-ui/filters/filters-docs.vue new file mode 100644 index 000000000..daf5f94cc --- /dev/null +++ b/docs/webitel-ui/filters/filters-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/filters/truncate-filter/truncate-filter-docs.vue b/docs/webitel-ui/filters/truncate-filter/truncate-filter-docs.vue new file mode 100644 index 000000000..fb98588dd --- /dev/null +++ b/docs/webitel-ui/filters/truncate-filter/truncate-filter-docs.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/docs/webitel-ui/locale/locale-docs.vue b/docs/webitel-ui/locale/locale-docs.vue new file mode 100644 index 000000000..5c40406b7 --- /dev/null +++ b/docs/webitel-ui/locale/locale-docs.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/docs/webitel-ui/mixins/mixins-docs.vue b/docs/webitel-ui/mixins/mixins-docs.vue new file mode 100644 index 000000000..12d60858a --- /dev/null +++ b/docs/webitel-ui/mixins/mixins-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/mixins/validation-mixin/validation-mixin-docs.vue b/docs/webitel-ui/mixins/validation-mixin/validation-mixin-docs.vue new file mode 100644 index 000000000..b5ecf83eb --- /dev/null +++ b/docs/webitel-ui/mixins/validation-mixin/validation-mixin-docs.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__error-popup.jpg b/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__error-popup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35042c82bbce33b471ea3acc5548e74712ee0c83 GIT binary patch literal 27067 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 NY{D?1^cf>L``;E9*^dAK literal 0 HcmV?d00001 diff --git a/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__pause-cause-popup.png b/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__pause-cause-popup.png new file mode 100644 index 0000000000000000000000000000000000000000..5689df5a8ca0e2ec50e4ccaf6a3ee97379bc8312 GIT binary patch literal 53207 zcmce;1ymeuvo1=MgdhQe1Wh2g1$RhbfZ!px2M_KpLxOv7*Wf<5LvSD5-3A-n_4e@X z|LnW|bM{&L+13F#e@IOwy2Q_}9dqsHhaDe{5kh|sItrB8t* zj~Uw^QA?ce&7ndc?KKYDrlhPaxVokgo+D}0pj-c35qPGt^yzD6w=9i}hKgw9BI&r= zqb&a~P>%(s``m%ZwZs$SixcAr7W<@~*Ffh;o+Nrfb%+ZjPcmOARK&#mn|O9J_%5BO#^j{||OJL)^H{ ze#_S^Ex`DLl5v+hsgFRA?-Lh7^pNW|n_8L`eg8U}4--~U2O0s}!O;;5Cnw&Er`pYi zp7(Fm)n_vpfl)O@dV6~VS542`K5|+vV&dZqxZly=?akNlR_`y?7pym25>j!nvJ$cy z1}7$}-vvDd#9vspaCL)YYn<{<=qWJAZE~?~PJW-obCI6wVh4%1U!RG*dzj#SRF8H0 zYi5Nqg}elGnHgwYn3P7og0ZYD^k(wmfdhW4ZOM6j7EY#u+u+OY_U!CzN=nL0+E<9l zrG1He!#aFt_FWXUg9jCzn9ThHuaH$9NF zWh(Kh{@I&@tgpfUY)_r8{7_!LX6Fl&O1v=>?aID5X+IhF)Kd={?A7*{2$2^8S`8lR zz>P(!lHg`{?Ng~6_;s_ankvwQSF-34sp$58RyXOPlRz#0edBGmLYliX_btz@#UB)@ zXdVA3%GY*|XUP)&;$Qjq=BkXVkPoZ(Em3IaBB{N7>g*8xc=8RLV<_=&&Q)yynoa=Fs`VvX!|p)O1hCh(E^3168KTIk^Cu5$M$m{kkjf6 zd)81*T)aqaYJafpTk%1+>s_6rRb}HXx1Ny*A%sS(V9pZ*+ljiJ8RPeG&=*WvoUIyX)Qobs9^5>Q(U( zJ*^fA+VNbq>8glm^V)xnNNFuwwKnCQj;SSKt+A3$NiqeQFNlJ^4`0skDss|INo|Jr z8|^}a+&9DRQAa-0@5XXM_A<}(zD`an zQlu49i92GGc2e*wVFe5n^}bGJ3~R=5WO^?^vn(g4{0iwer&3dX)+cIfUb!(JB%~Jb z^Xt9Sf@%qf@m65;ZeQH%@S&+G|EDXuosY?|@YTojkL2@K9(N?hTCzMt^y=oQ`qBvZ z{3Mr=Mo(Y&hw3y$-0wXdv}bD0qu@@x=yxLrRP-XU1@<~f`|2su5S~!iOr@ZEwo~o) z;JUw)mVK-D&wyHK16#6;z=;|`W+XRdqC|p)W{Gknmg1>QgKCrx`N-7_bm9y75x1{; zgl%)+QWC&a(tUsP6v+-xR)_FOcLe3r1(exF=i|;>F)w*(Wk$|Je@&h^@jFdqRW*>9c5{bu{$vZBJ}dX6d+ zuL=YDziSmA>2FI*XXvXf#OTI6z>UF)IXY=*Xkd`Azn*J?~M z_44U>+APyVb5Vn{9wODAMK^OhWAXj_(>|=>S@lH93Oj1;85J|R@+R2IlXDyH{NqBh z%l0I#fdbWl5XtDG>B3cC?7UrN<)gESY{5iD8ts{>T>VReN;P{m2VwSDj%dI`(d#To zBOwK%FmbSCaPI3C&q-U#wR!rh4EE2&`1|WcLLG8fAd4A>*N?zXM@+3x9MO%j7n~I6C3wa&WS?i^#8wsZ6cd@0!J2@oSdkD>FD+bZ^VnI9lO~$`ZG#l{MotWq)+tZDKS3cGA zhNW5(>tFTU{z|#3jydDG9qaF@G!+cWp+YCYXIY~scAMcPzmNW{d+)FP+YuvxL3R>-o$guZ|C$M(QZk0{Ys^;ufSDK#9=Fa0 ziNf)eNNlfeGH5&btaqny%?qD1YLwb{7T*y_I#n63ZG-C3{h0R5bUuOD@x?QPsd7bq}5J7_S-TgCZxrO_8a-M1k0f4H5~GLyOPJ4*iJR zAbB$ikCD>)4(4%@HraOe(wQMfj!dLWhPMY-*~7wf1-#=aZe-E!ws#l&y@8s#+DSMl zPlcXz=Iec=p+1zD>vDEh!n9}Hpy=2$Hu&)R#k0rhX>mCvNi`Qcu{7Ij*0hWkybzzQ z>xoJi)bqmcNt3F*z*`*+&sTr@3V8PY&K4cjT{Is>bqqzpDY4F_N7Pu2o**X~`vTa>`PLFJ8 zv6j1A%$3-U?B5@%FOfVM+qjsKHhDh#r1GNP*S1+@6nei}C8$gI%_tiRI)}CA_|vFg;p0ETTu7#^V*OyR%o<%0s zHi7$XVw#`L@$b|+z?L_2f83+FPMTk~nXUv02IPJ?jX&J)))pa!Da4eHo2YM&O)3aU z-`6>x#WJX$CpTf*>q?j2+bj;7atc<`eW5@?szX{uyc%2_r!FmjgO~(}^1Q1U2TTKK z8ZW%YbemliGES7~7@Mj}R@V^62j?@PO|$#R3%%zCTo65BS6|&$j0Sq``l`stNMYij z!W@0&wv4CT?B{8dfnLX9jc$uvx~utV$oYL85`h6<4t>kC`MTs<$A7ToRINT|yP6*E z$rBAYS%c!<^O($QlNJ|9YBp2*`NJ{qAY5<>Kb%RyAz87}8QLcB3Kt zI~|lC1dFTI@xT*gWLTB%(RQI%t6ZI`O=KdyF^3Lsr3uRn@NcpwpGlS~z<=^Y*W$%j z4dO_%_jTtlY%0Gucv_+vP5+K8MUii+(q*&=Ri}5oB-h&rhv}*POo-+__(E5~=4e^z z8x4&GtP ztJyz?*Kg@!qq}KYnLNwpKp$h}u{hoJR_mnMtF3od*)}bzzTU7h-KulUV^-+YN0)w@ z!zw*qoYx2%MZ29N!bk`?C60H`zF^~N%(Z~irF=W)R2B|h_(C2Q0A}YX?Y85{34-CG zE(}!T&CPKetfOVHfI#g*>St!s_fMfe&X1F27|Es~aKANu5C}wczrV{9!V!CVF`cJ| z6A5F!)>SbXN&6Y^nru8EJBR|8E9#uUJ@s&LyjQSFGF!@bG*vubzxZl9YOS8IyI1L| zF)+2N6-tq!@q*h1T3C_ZCm&mq3$g;ssb8~)5pv#FCWJUo6s6fJB$;s1S8<6;k_;l@;#9GY)(noTYlHJ$ z_Y6wavvuR-Mdb`Xv$AcOQs$YuV=e)hLJ^;zm<*I9riR|PlV3TR-2!HeiSbJ+|^B^#^9RR z$emY_wW(3>w)3^~`j+W+Q!^c3L4_UhNM-2K-6_ARQXy)sYI@(09&fCILfP3Ux`<`s zilVsn>Zi2(cu=`aGbw&5t8dKKTOtoPQRE!XNyptey!V9@w(yyn&y_Wu+Hx;(?ki2T z@yc`X!Y&xEO|PXRuU3ublP989D+&RXHDW&99v`r8^;_J%$dyUvF`X=CxQReQx|>zG z%*S27ZTPb_W3X z;#0l#0C6|u7635UtpzZSz_H2uei-IaNdr4}zHP!rw6uU<{}Z!)T71dPcs{(CbgtWX z_yBiX!Vp#mIQ}!xen}HcdW2{~8Y2H!Ku6X7@gLdTfL;K1Je#nwWT+p4y<6XZkJ!CM zG(VB(m$h$hZbn7Dsnw7HVFk3ewzmHL`?s^RE?4qF0IBz$p>C}P2>}6ZB!!{tH^x{o z5s~RBmHOIR@edIhv>1p1c;NFS1gzWCrlvLvrN0gUeajmgEY7FB>s>#ZnyNWCu!^T2 zhC-W_OH%wh5YK=8R2LU8{&NcGsjW?u9=Cu>`~y}1h%CB}NRR}Jm^eh`fq{6|g(ZA> zajpqO@A;1*v9URZ@075EI<&M>(9zLRe8||?PI#jq0y07BR!^hCc~!I^vu0+c#^)*Sw-Op%vA3i z<5@};>BX~9Iw_PRaCS8P{v74kP8Om>7k7D#ux%`CYvXzofk%0d$y}^;WKvVnj~~0m2ACRh z(A-L$WmKVc2~Hm-cBM&8u6s~z6A08xvP)X;-m1biC#kRK7s?A!z}kbnf&K!97SC?W zT~4y@>bLU(!?fA0poHP9n9OG(4ZPD6EDW2JThEhu9T61SCr*R1`(n*R1)J6w`{db* z(?jhc`m>RW12f^~fYxV!ZnUt%Bc!LeDVP5G$$!Q^ySTIcn$nX(K=+2nes}4cj6#2n zVOw6fY@8b^k0E68mje%~1;a>Lvrm*p!D$Rz%@+nhSBaxW1>9-&I zi+)yE@1%s7bKUjcsA3f2?rSX8$5(h9TbOGOlwk-_?Z+>>%6teB!h96C`{~Q74my# zg<8#26AWZ}zK*iz>7y{M?bZ1N=E15rk2)61h+W>X=vR)9I(r$-cZ=b(Hmne8`~iyz zo69DBxA5uuN@J)U1n7^Nk~O@FJ%Dliq>Mj z)S<*_LLp!HmAJU>k;x*n+rTEPF)D=&X;s1UQgPO3c}X4;VHUYvv94lENJz+NHYES; z1NrC1nMX?U(U_ZxAPXa9TC&WpyR$s8bN4l4%8+o<>IdYM{A;OwI{Vxm{)}231^wWv zopsfY@$qUnGDo*q(f){*`~|!~^Pb1W1-4XZweJy0g8$k;Gc1!Nagca+g3Z>pMCqsH zVwT)hz*I2gS_mqYcWpDaBw)mj+${3JnAs@b{-A~%?>3vU>O5sKr{Qxbjyqg*3q857 zJv1~F^ac|%{VR3T+_&_vfG5s1LYQD`1y#|is);-da(z%cqz6*nJ+#oYo0D^f+h@XO zVeG{zpjDnBHb`m_+xLx2S8BlD|2A$@buVL!iJ)&S0R03_pe20 zC|XzO4^c>$ehijv+1^K;ukwC%MU-eZ9xmrsyotT~TE;_xXN;9QCxoMIY&#=VUW=e8 z15Udh&lig^U{Q`l_CHD!oO9Ik>9+Axot-l?GivEyy}j2C^@u)y{*2<&3bb@~UR{qN zY}Hl2=e2Y9>jJ!2S7V; zg7byR|89yE&VXeufvCXEM$o71+*6xj~n8MsZWZ#4)&1gl{D%5KhFKChH z?u%VNJlXU{n}FT6Y*}EM*0+6-)h)5n&aAQ6ha2aD=W}wVZG4>n-26OT;pFxaKV4v4pCl@0leXvpvSLI%{KUsGWh{5EjSkMS9(YB%FaZ$9blRhrD^v@cv_?zhrd8btSfUcBSTz+`P%W6Phzj2Th6Q!Qaj z(_-U!KT9r2OB>L=SwEM0&a1c0HQ8hTICYhTbZ~HR$Ibm!^9M4rT8$?6dTke%Iu-gD z3C(<^qWmVfnudmklau#@_iA)KA2}*Er>!=+=h&Ig&^$JA-}~J1csV5$yZCIeK5e}b z%C9m<7Q2A(eP5jbU|`{1c#nQKcEo7rLU(xh>U6c=PGs^dg?sj6?L4lq7%MYo&-&5t z-$U)~bKvS}V5jHj8MJ@?!^fIwCkOcWs3`pX@*!fO(G_r5a&mGsG&K2(N2L#km7QHX z_k-_0DB853RDwYMQamuFUuO%O9t>i-{-@&BUslfSlX9PK!OqK>;N1VObS!$D+_(o!oc zt5OJraeD+WLJC&$P8;{{Z@56J1wZ$?91`*#jjRsd|l3+mVw zM*x%XFIkLTVSXSnF>+jl*iV1AR@fchzfaHqw7b5Z_tt;BT^9jRyu7@G(qEvV-QM9K z{8mdC2*v{WFJZ~Vb2@GQ-N`+93zViRDa4$TV;oq&D_0Cs@F!>4y3*3p2Kr}yGcG1? zPXOdA&?-VBn9i$Goz!PH?_wmil{3$@_IDh`InjJwnT2Y8)GI6+iQApvl=M_QK6gkqX)sGlEo(lc^ zME&}O&tvSZ&dF`@-5y+}U+4u9>_-v*GgPTinos)^uhQ4IF~<3)dy=-S^>LeN<<1A2 ztreH+&7ZOx2KSEblQ|_h1*W5CPwq6F_WqtaH~OZ?pGt;GhaRO0q$wA06!AC^vKdVd z1fQ2TOugXuWk!iGPCfc7ONxM3H*+J^9JYV{v5V z&V7}&`C|K>2?pMiT~>>>VX@uS+go1LIq+>y-7c^|_%xob(k~1H0F2Yr4 z7}z^jX4GzSxckZ^Z@bNt@h5&m;Q=&J*h~F`m@qLh^%lG9<#W`spA{)`ZfbITD|_iz z-H^xJ65wCRQ$^!&u~dYSLt4soCQVd#{<&bfUM7Xh*{WxW*3Xcs=`{E~*@~)2|1V~+ zpd~-WQg?cr>yu6;aH;-K*~R&zC|TZ8>w58^topO3$fT;{Wi^X6@!^kSSg#HCmObAq z39_pZ5)n0kvl0!P`}LU^N#FLOPh%4i5xIRIZ(XESkIF8CbMDU$E%dkz<&*nikR*=y z$lI9N%xSJ_ySsVGByl+yt}4tvk)-s&ULQGnm6)`H$U>(5*8gwgJyy~G67NlmPBhU6 zHR4u`>R6eE$G~f`s$^tjLZ82vyeUj1I)m%P@GF1#-+(w1d+$L5-B+((jks(ok4v!! z#h|X7`%urGyima&z|O;S+%sv)0@8Lao@`lSSWhCY9@*K^@d?K9hpp6Nu58L z(`h2a?dFv8KR{)h+fA)<*-O{wgFNc}aY1!aa1#n<=gNKjCc~3>Heak9jM;H3tI3hA zX&BR|N**EDo~)UUPIyEF79nBIz!o+HVjTsQavR;(Hfa95|A)b7xo z2PrmveQq>YX!^&qwvkfPbmOSpORtEBBlX(BtGQP1u4?E4Mvr+|NVe`H&kC>RNZkSK zuBRo%Y1b3Wl`F-c>kpqrcsO=nJh$w8HT%}efTY~L z*_H16ziI(UxJoV5j3=98(F&s)_igMoSDYLhTP|jPh~kM`LUl01teLV(QDJ3m;VE6gI57`rnYo^xxw(1K zS85@lqYLKHw6u3VLOMW;o?g* zU1eUBm#0z;I8P^8ca2BVHqqBw3kBUIt^KZUELe4Muw6ca^cxY*)SPSA?tJQgd2jtn zmbqgNUdI0Y%PwDA^|WNy#Ex3rXxOEBIba~j02quN00O|r=g)p`P(%iw1N;8*<3|n- znGaaC_4UTJDin!Uo1}y3VwGl4b$c^C61R`P4CpZMRn|98Ab-V;QLW9klW$k=n(prA zNQ(9S{t`z%@ukNIfW9L;>*?_P3AXTu@{%P=(BnYls#Sd54~34`T+URdHgJqA`6Z~x zLZzEr*R#5Nqx`v8C0AjSOaeyS9H*DOlzkJmy~jbZ_g%T$g5@q^t$r9<(`qPO>S4ZH z%1RB*`X7&n@0!s+fSomgb^7{+zSHj+y0h)!xlA*YK2bH%-1O8tBf>{Uf;X*+1-Jdp z%P!m;+}(@0#@a=Di&>pBoK?~03ES{-i%%+|lf?JICBOS37?3ZT`O7jhBK(6r+IJ%2 zTuzg0lUrb1>lF`l+7+&cI0$4@>vrwXd~#w3QK65nQz%kXbf2xPsR5{>7d}Gou>xGq z_p;VCXZ`&{;^!?JZpW5n@*@Mrxi~KS_n&yx5o=DU^xW-tCm6Vff^M0lf5?{`r!t2K zU++5d*5#}avw&tLY zN<7dG`ViYEEF^@DZF@g&XliQe=*S6wayaSSShD!rTlG$_@W=vDSA--2FJOfXYU<@s zhJOK;k0O#nR74~zGc(ttuMHsefMa-A?%LMBvP)o&(IucMBC324n=e22lJs%vLwCm|82 z!AM0G0MgabSzcQDuBWFtmW7yE3x<#*D@2140}U;@2dkW)CbsWSMuwSL;r!g(2P|>9 z=!e=ILBtN))XqVn+UZ|`Vu?Hj6C-6s9Pql0vzZwXaMno0Y{FoR1aTp7nJBz+f^l z$s!{o`v_qY5M15TAz}be(g46Z0Z|k)v)l(PXQvu)ZI+*3JrHLC15UQRL8F=WCgw*j z5yyRvd99l&>xYJEcE;Z+@M@MP%W`sKU_POGZ^5yDYyf5fk$OLl*ze!+D|f`O5qrk5 z+v?4^y`aEAGGI;#J1-!Vh&Necy!_3}(B_&Sn^%1@k;=Y4J}IbY$@A$cH`})`R7`_1 zyx3alnbh!el8Gh?K-?z|iH+_EV_6YV5zQ`e(%^dOzr`s4&6-Npfa})T?&^}0zriO9 zq9`PAk|CJx45rI>0VFK(>ZSS=nOSOnR>-%TCkY~F6^yql^NCJt%h&(gmGkDhQQAlP zh9$Z`9Fo28}lE6-T|x87WZ=>+MRg>fJ0p=UgfA<4AZ zrhs#}GJG?`lq!uf+hB3MoSO-g=*zdCK~I{g4fQ8C=#OVte=<1NkeXnjGLyI5VvViY zXHxsg%ZO=_MSl=n7js>3hYt~4W=I@PU!On?I8I_1-JzMzEDiCPmAwawDh9h7bXNyg zyQ+)&*JqBl*C;*qU@`1U`7tp)S{m~EzdzXM;K}qfG}aj0)sau8Hm!CTfNg9@*mQp+ zW6f9!0F!qUCQ5WGEx2a8OzUvvyU=XQ9w*he;1JuL?_1(1<(+}*jW?;GEV0Vp2xM4451am$oV5W`(dbY7-8 zT9w(NVlg1@%>b-6uuYjHezvuJJ~tk&ifA*@&52_s;S1_q=#lQZG&Ln%H*C!MxPPMhUNY7$;zSEh(VIM0_m7kK8Jll@G%=O z;lRNGNsOL_Jv=fp-Q8rk_+g2ZZCzZ$j3cTx>y;FNaKNY^+=Q#fbn9gI)&Gp_+r9n? zCKb1Y2=95pH{#A6>m-#xtyf(}xphMH6KsouOp$&COPN1=THi zc3F!mz(m&Dg|9l%CONz?i$1_v!w%JRxi#6-AwkmEB_Am#)LE<~PzeNa z)aMEq@@q^__$j`|fldkqDqERMfSvivi;1gz!?e{nXB9%F1=tOYopLG@v*QZxT-{nO z`ckzMmemLD-H9qL!ZTF#3O+L_0AacD!M|YiJ7EV%l^#l)t3d#vVQ&|};U3Y+njfC=&p%-i1T;}|=uDJvwV@!DDF&;FN$vRWd=D=u|0zb?+u zzA}Djd0@M@vH{;tL9?S%{8g5$q_!a~P0kxP{5u02%gx(MHi-xk?Gm-c+uJ2h*}NVo zyF-(xBpC}UHdU4fU$ofCro&Brn0)QZ_)eYu7N^0qFMD&Tdf2i2cZS1ZxOEcMgxj48Pm%NzTyFU+ad(Mruq-E1F}dg$GZ<4rZX zIoS>OdJ~v$V`EBUnf5gHEu)aRoCZJDmmlA8S^e|tvuYLO_Toe6%GS%e+sbc2c#`FF>ptpen!V1 zLa`p$dmIGrJ<7+SXeLSPNcYuZF$xM;;lrGDZ~Xs|6Ykkw z)j}kQ*tlK3J{io&<@lWQ@pPLT#`6*Zxk6d$1vSf_jQl7016c@S}(f{E+o+w;HJ;aSP@v5!U@xBa<*h{R^% zWd7xIUC7kek=B9}lErUe__j&0KDL9Sc3hoP+gC}7Yu&}%N6>mA{7mP2!4$3-*|%|sE*lEkEg(uW~&-%(hHo+V=it-da4 z#>uqdek`yzi6MZR+id1$Aa*~SFcy=WJ!y>Ee9E|wm6dn6ygiM57F|n#$+aUuLT%jY zoP;}9?vfOu2L$vjcr@pgCeDsKhc7ooH2p2a-EM?#x#%>3Y6s;(4k?T3j-g>GDIlug z`|yE{nfZLtysE0o!O^kL^4$YoBArq;(oL@Kl#wP2KLM77QZhI&P(oZ>?l#8H=i&JC z=T8jmH3H%wt%(D`E-)mdDt71r!nzS_HguvR?ku?q{aaD{|M$%IzcA>3x2*oZJ%X1( zb)J0P`T@hk!$5YyrZ&kRfR@1A0m?cg#9l5Iu~0~YFXj<=m5+^0fl{*nEK`FqEHJPP z0&%dljr{UKL=mV*MMApyXvc=#w{9aS2!06GGQZ^|Ybq+Z!6X2skn}5_Sw!@w)1feKRDHW)5K+u7k+qm$Bzte>|iN$ zJ1uqasGbTVzC67v=8yf5N3y6rr>n2>?V|JWiL1lr6y(oFU0gL@wanIRt^E!_th-<& zly7VoSe8Bz1fXxY96J?NDqg2Qce;+{ZfDR1BJ;STbNn3DE=5cCZGDzny$^MwMBBfL z&oX-P^Ul6Ke#Y>Q#>&r4LETnh{~2>q&0a(|p)0R)#%>7C33PincI*+q$9N0BC6Krc zb|>GLNj8bct&o^cvyHF$LOtz$d)sA+d!A(fVRucgd3v5j_>KtYH53c;`lh>G=kDH= z$5j2GXGkx|PYGRZ%r?31I-mc=0f}wtbURwIiIuZGFC`pIXtayv41G1#3=}wJX|f94 z$JMZ_wm|Y=uz^|ygR_aYzkcZZn#;$M(O8B)6^+2&ew|{O22U1C({k(d)eV}@TwO5z zz;!iNbE-;T1TFuP^I!`20#xJ@VIM5DIsbX->UPgf4gFujOy5wTpx`qv@$+h2vc78;uHq{{CDM$+xDb4)Jo2cEL5G}+%9M-@|Uw+V65h<@U6t(^}8T&x$;zBTgB zeQmnq!p}H=|8L-J-fBn1alfjF<_r4W`4$(Mug*jLXr8>^R%#AX#^tM zq+G7|_6C&`FmeD~bd2JToTya4UPx*8*L4T?e14+RgExHy-ZH7Kd0~#Gom{iup1uM1 zIc)yy{ynZF3qwn>CnxP001%8-$Q?1-D*~$awecpsi-cjL5qyax0W;;cznYRcMwSYm zJOIb8Scp;sSdJMsC3ZR|N|`zr$+2$nvWO-7h~;&Q@_gFCrf)h8}iuobH%<5b9n@&a-gt&7}vT)kXU!&p382dUVN% zbkW|ql9mEfdzUzdfe}}cgdH-14Be$r<bB*%w)%w_Swuw~>o||oTvCvSJl?D;bVq*S9qg*9Oy(iAKRg`n z50JiZPO0i@#Z|KgNhwI;Nd>Fv?`y5BM4KUSqcf8 zEZht~_M2TVdlQN;&q}8Ig`Oiz*RoQRx69AGZYX70H0(EPzG2LU18QwpFN{_g90=V67D=M9?O>rIVqoHhq^mo?qBMg zQXvn{3@;ystg@UQ1D`E;FhhRzU9;P4n0H-bm@p=PEEqMvm+La17X~H8XC3yfQJr`g z^A&sv47jghp@c8=NG9w^a61d+#WZd=yef7&t+UX)l2)zK8DQF-&`ZGE1{_5T*#FV_ z@$dIaOt>e66|kYdS^QMq)6>w1jRv#9n$>M_9POAnu5^)~vNjj(3**-O^|e-uhViHY z$wn6(u3J+sny-$D@Ro1!?HIAK!|Ur4zkCP`3`9ZUiQ4%A0n)OlsKFs208zWQXYov1 z&#>*0W=*u7a!QEeN4^3lC+oc$^G;$viGbX)bAMW~99a}e2|eJO0ZR+~dX{4IlCym# z$eWmg5*~xrqw`w#b~;K+=TD#{Yp)nZsD&nB0Z-W7a`W+oHv6PTvcX8PY9F~ieOr0p zTB-45pmT`b|#mew_oKc5)?_FFYfGj>SsRU!ZB0Abw*-!S+?&h-K zt|_-3v_=2YGL6xEuwf#2oD|ta&_#)SNyrW_7}sp5(9Hh7;m9zj4s7|76x(9#3!-Xx zu6)kmOl6agHWp^M2IFGWJQF`ZP+}*U#i&@Iq`2t7z{m)sy@e2TR0dFQVC+1}fkQ!9 zK2R{}%V|hSKp1;^{A;v)JA!3n?%N`oktJm_Ygzu@u;Eym0}h%Z+Eiw#;?C{h-StvH z_sC#gpXZiVK2g6G{(4=rSocWXej>jhOTFy7YPajLK#2`_2gC6sapM(bU;kJy#FD8V z-nS=xOsXdWI>)P4(Qi&qbsLZI3P0QrmYgt|GjHz(`rzhZXZ|rzsPAqLpfqv22gL%(YZmWA@o4*9XzW` z2>|oqbdg+pP^BTndE(j~{!_|{v>16Xn9Qrj!OnRf1|M8L9|Mbb^e;eEVi(|#cwSVXd$;W&6Nc>+Vp#T0Q=KrzSe+kIZj*kNf z`Nq@U7cuKoYooVf7EUzZWkdHM3<3U8X8ju+T6$pyCRH%ij^;mVXd!Q2%N_O9j*3dB zu#Fo{909aTaWnQ8*~fLad>bs70Q-2%Ds}-JQs}|o7x(ok5=$ND`i1l8F%9_n$_!1K zWy}-m>*^eK*^OqSmA8GUr=Q+i-*-=i6?~86MB5^v)_cogSaqIBD8XT98>{N48WUYY zGO_-=yl9Ygy1qhtS^alPtK6ZPW$ZElWlX)Y;x@@>9s2MeirGYknq z6dA##=?o2L3%Y{SQa~1ek;K)2zOAXY%JnQYl1i3@-FWb?Ypr9t)Y+H~tch^t8K`|; zi+{Y!Xzq1t4^@hr#*9x7xKJD@|9hxN$S{&rR#u+GMN})u*f#F^^lT?6Y7vu6*ouFv zQvNtQVNjNHXHkBO+t=Q|%e=mEO*M^oZCK=SaCewfzgKUMO6F4Lm>(7fof0%M-K)Fq z^MeMz0T|k=v%?N@@cvx?`1onHMH>~|In9H{)*%=uLCD{WM9(VI-oxkC)*c{EG@mq9 zQlBFB5`U%6X%YoUYB%5Ht}TtD z*p()`_`@p`w!vg#i>iSXMjUScn{g$>&6&~SLj?+z{PdHa~{*C1!aNbNJ5O=1lT zIAGU7(hF=20ni1p)P~LY-MsY?@p{!qU6f+Q`1i1=9)uErSFDTcg^vAC%z1sUF5=-h zV{>(UyrNZ_=RTpIL9wv9lVo?!+2;Z;H?!4}SvrtGqE9{@1c68jW0;Ak6P zTfoC`2S1yOWQ?#MRl=P0)m~$A>IC8 z=y9!9&gFeD$Z`7>Nb%SpVGf0YGn-+}umPaj?Z;M8P^jTrozq~PRCzln6Ls2d305l^ z%cwcWYJE=|Z?Zj`HjdehZm!okTu**{k2+|^Vv9hXrAzC=@%|9(YRXqYc}Z`>)+|}1 z6UXiNWo3DcSiWJyGPp)%zlwuM79>H=96l8X3!pC02t$u?br6G)P7J=rJS2;xXU5EW zDw|xpFG>J>t>b8N+s+@ZuTc^?UoeoP2u^v66%@h^8NN23)F?!`Z+F~_sL|j&-pC&a zt1C(3b=(_qZf-ALh+%l2cg}99tN&dJcokMfy^8zp)JiR+%JmA)jY>gLz?SW6S4~=( zlDSkYz)EKAuj%<5R@wtf8{0He`;++JC-_fYNZaBi1*sh*vGE3jQF{V;i7+E~|}y#4}rbZ9(kiUZHoa2%QEq zXtM0b@)Ba?=Nm+F7D;ZiOo-&^W21+~d!*^hrowXo%GmmccwYoEIMsvg*p|5M;O5Mf zV}2&i8c^ctY{OXy?;e5CqCIIo!x*3&)v?LAA?gsjt#7F;v$$fpcP%+uS{`Z_M!bZf zIi~WI#UAPdMw&wb*jz7VQP@ z*RC>*d>iuO+47St9Fz*eA5gYOs+Tkv=Zv$XamRJCLf9AeeQmD5pUY{ns2e0Jm2~} z+u1RgiBz!M9yMguXxSmS8E+BF8&;JED)#=-8SEF3e%sCk|$blbyAEVjvC3 zOp4x2bYQ(*kU@>a0@!6ivvy-Hx?`5qF=gxzmKf-HSg1y~*?2xt>@iM%m3{C?x3@nl zOYg_`F~&oV`bC)?1&q6z)dOZNPUkDr4)cyX_)%7pdvc3$RK-(JG_(@YkHHbrTqnvS zCGrG>#~+r=!0LFLylE-Paa3eFmoZ+vDwIS)1C@FQg)6=9Rr4HVxV8W8s-JI-CGm0q zFNlh{jsq${yj|K4xU6%N(Ow6I94S4wn{Q^E(ExYp6 z33-D@Mq0+LEqzs?r|(LxKg%;P$q5S`Xxb4_NVJ6@^w{6VIT1XSoWaD(jf9vSx(dswmpQ&rbt3j^y23EEAbwINSN2lJ!^nm^ zYU?e3UwcDb4;D72u4>=nDuW%J()i&rtEB1T&P{f{E|@$BcsQ?@^7^E{8|P zs=|5zhwCM*ezQ1UtTaA+H!#TXIRK=8vDqpeIb+}6knb_xWzfd5Z^~ikz|rWYIUdGM zPOe9`(vdHyZp`UuhDM{K{kJZAz7jl<8V(8mZ5vSsO0MsIjoB8!O&)pfS40#_D8|QOyz_jrCh9_qxh+z!+^KqrMGj*9`{}Q_$>! z4QX)K8(08fF6GT)heJ?p!690FU`kqJp>`nsN@DdVv%JVB@?v{pewj&yOrp_c-GHCU zHU)Z#Vq!rY9!Dn%($A#NyP|V7>??MS-c~FxFg$}!XmYZa!Rz)XnEjpFs`K$Q{~nN$ zee*R#u_wtU80n)~z2rTV&8`JhaK849@nj40erUM4$sqCdR`FyL%enJdG^?V9J5oX>atqid6+t%~y17{)*L^#_TdZPTyqqS0)< zAA5CtJkRAIqN_PKE;{fv)@hli4FjsJSm^h$@n7pdha~mg}(Ae=aLuF*r#x&E9oJ|>{`(IW79D>jG zSc?NP(U3063EvUYfB*aoDd>U_vrA^5=a*iz=xt76G!xG0%`#gL(sc$dKfb(o}AxrY*s= z*=(B`d)g^P}9y0=AQhDomkbhup<(Y`uTX2@4PCoUd0 z2=XNRHr_HM>3TAjCd2Fd?3>hgYPjMoB=F~ZOY`{W&;3-`N+67Uz83n&m&;9)&u^s{ z_SFtDuX~3z*nfWBJaK&`wC9*4C>ECM&bj{c5t0P>Mc~i$n>(zpaFveYKkuq5KaDA< zXS5(8MTQm^HR00h7<*s(RIuF~%Hg&SyaCr{O}$ z-vMOu5Yk>q$!zOzfmu2}ac}DGUd45hLXjfrn11+Dr5L{lw${CwqnYnzMAhlf6Wfkn zHrd~6lc$Ls(qU+8h6jmMKNJiCBoAS_Io`!sYLh4PC@lTD%NTn@|Ei&Qy7i4ZKNTc( z$-n<+gVSZKkKi>FKef6M8$@lZB|JMItzzmG!<#}=ZQe!Pyw5&q&JURi&|jq~!cr2L zijhs1K6PY_t>5M0;G9gxnrOEwd6niPBU$_&jl@oS=XaCbNX2ZiM0e$tCV4`wCE8_W zzG$Cu-t@ylVq-&#rplPZ=nl)#aceG0ZJNjWVe5+*;dxT33(R40gWQlAGVk%ZzPX9K z-aZC`wOXNA%SXjaHBBW%6Dvt-tRT>b^Eq8VD@3=9m6TNQ4ZV}S{rc%ONkMd%p7Z<* zfd@7;jIiruC83)_)B7oXH{SzHJk9DAhAwWkl>?fI zH7CLk8>gC5d26D5T`wQfob1l7G!}9yqrC8=)K7obca{!0UUq&1yk!Wvea;k%nLDYK zT4=EW*(llCY&hSlSh!}NU$;sS3TX@?!=nO=% zVNX*sx8+neqc1Pmo0p#T$NL(|a^o}OvO8!;%|q!?B-zi7LEO6>bV9-X!uHg=iUz+b z=Xg=5IIv=4-JNqvw3>$DsECqAeSS>9M~=;xH9<)rJ*!gLD8AM7`IKKD{Ghi`?~>Cp zjNEWrbw%gQ9;~jlHM!gRwWN6%StF+bv0&X(d)R~wTf9k@LVL^_gCZ9Z$@y{D0?f(a zTUqzL73|a-#d22*avmF5FL3~AqgCg*4F-=(#oT$@RRY5nE%PB2uja3fR{J8x3T+i_SpobjR`w36w$oz!aP+5oSBQp(JfKXt-X+RO{L>l_jRoS?(g zO$R0NuCiUGkr&=T_v`hP2vI8f)Y?-cpA0Ht3GG+=^|~-$(-R~R?9U09yejVfMqaq! ze=wa{YB5;!QYL>-uW$5z0EU0(E)Nf9Ci=?4U1CkOd{9yG^Pl@{CBL{+q4YVfdR@3X zTcU6%dGKLB`%`OdDZ3K0`2B*-r#q^po50&Br$H40ds7sx7r+~~ZTzdZLe>1sjMkY7 z8Tm`DpTBX{oD1^QSQO4qOUsr$2J|`R#6B{MoQ0I+$5b+sVFh)hr8SVCBgFM#zVMBW zMb_UbQKps@cD6m;l!zc_W3;bHm>WjV>iDLELwYIe{Z<}=&w8*sjA=J(rICmq$98t# zB*#48y$S$ibDvq~q?nr&aQnK8>r(@CU~0U10l=A%d(D#Wad{hdj5|b)$e6Njvx2;E zCH<2i5H6vmg?%<^I6;}fwWi26kQWBsEwQbJ&I0Gc?aCuol1HR1$dh>)8tcx zlG7_R>xfs$t_^KG}BAN~WD-Mz3kM4Q6X*uV6<8 z4xsEUuBSg>{8fVipn>}=q!=zG^jnlFe_pQID6CzGYkBE(RHA$Xcm30k?%wo%9zh1CBcb`I-Buz&s zEcvvvstZ;(Jx^tEy=zDwuRM@X4VgR$Ik>GaPy*}VFEe4uvpod zy3$|a1Zw2SXos_7Y`G!fF*@lLz+{+pR}b$vJ)X@ysDl8b59cfyW4c3l00VPSIQ|*j zE87QZ=Z83V=FC82yAhwX@iOoXJ=YcT&}(Yk$_j&zvtP1ESiaO`&h3Ys>{zv5+#W2H zP0BeYU!v~j4r8V)|Bl7QCiAZvG5W;lwZ2GQ9AMtHmwRM^pb;BpRXs8Le%PKj$=^%M zqpyf%9&+SY=8Ke4;G}KQcnepRR1zp(ZLB*r{0$}@y|Gn_AKy;bh0ol=;$VM2(^+us z^xBUIpcMf7|KtM*#REUq~>0sfLp32@nN#p!g%`<|J zFUPY5fvF$!a@2&(Nz<6c#A3q;D$y_M86Yc}Fc|Z0l>rWar=r#4G%Nk!dCtw}C_1C8 zV!;v-%gv4!`h{VmmDFGFj1Ei*qdD;VGv!)mC0~$?pOYbz9*|v5QC$6^RwazxEL*%- zc#uo9tUy9Qqr%?fQq#>vk$?h5mF41^34^DtZjiV4+#g%RM@8V78_nv3yBnCuirUbj zA~wezZPtr;q^cmD=+G39w65^tPG3dkY49!3om=G2YYREYkP40M;vDxc#VRrofBpP$l0eGaUwok=4ugIlyZJbFanU zc4`FP0kc?@z>E>v&5Iq3_o$?<$#*kcxkywDd*61zyRjVs%{Oj>o_)LL`?SaekHo))q7q@6)JbisbXMq?E+z8bH_YS9`}-DC>8p}X z%8sSe+Byx@U*%c*A1`!&1|twCx!m7{`)dW#B?P?<7Qv_L_?3Tm{xw%T(k%HB{I&Q^!U}nl2F+hpbN40uw5RK54VF zzwbDGpd$O}CW3Bu@&I;;lhC}#hW^-2pI@`r)Hhr<1(y%)bR@OG8au&f2R=|8Nj#Wg zk{Bn&W1RG??dfi*IWr`W9W0{5nE!l+q9)mV>$3sXx0JI6pd?e#=es%4Y8Bs@m&f+2`i> zH_1AT_17of{M%>KgnM>Ma$aaUqK6M_QA;S;Br+H7MrOp3i6-} zFb;gUT+be!W_d-D6=nG?DY8Vkq}Ef~al(*^!K!`aRoa*y(Ke%1tLZdRAU)i~$B&Dq z_VyjJ`}Gh49N0i5hHU5ocDM`UScN}UUkksG=B!mTd5HczUOs$Y#n%^0FaVGHNtbeWua$q zNe?R)4hy;;MPOf}^WdJ)==Y>_`h0rX=`I=0;r5tTeB&scQet(qU{9L_XL7d^{;vF; zEIW+5n>Me_))2Ii5HUTaSfG5%1VfZDn5Du-+N-qQ6YCS2_eX@McWqe|oG$^3G2LBFfz zt^uV&6owcTez&ZdUtaE|jDuI2<~N87Q$qo%)=@7^QD1SxsJruyg4zp_daaUH_as@D#?71&(Ld}+KOpljxG*qxLVr`#V(xILK}3sekY zBHD6JJ}Xmv2L%Z4WD5EJ=3A2saucMLwJU8=I{i(GA*&*STGHMKCmLyeahEnd^=jK) zw7&YXBd#{D?MZ^r058|Y{DH;AX03zV6qh$WDKocnojwn={bX{;1 z!PXygz`==$9o|7o-S6MX+8uQp-fmH=*6JS`oXXTW8ID{>+dFD`Lh@o1sv=BOMRm*o zF9&V%s%qsW92`-^Q>OUIm3z}iZ(hhbom;TeoA{cXU}*llDgi2Xdf*M&&aZ*F9w6NI zVY=!x@8})$SMP1ja+R-e@dRi9ucEG~AfXTS1i6g1_4kR=)|V3H6GCrduDK6(&wn_* zN^*sa?sQKxitYrki0+whHcKy@0*6r;uT={kApKsw2f^aGJm!A zo}FWyU(Q`;w~~)spW?%0jB_hj!3q4p8WY6r>_2QUe*D!YCrIO-%(T>$(aVT#G9VMg z*|L2R4_T0pcT4y&8qUAOfwxOv%u!QGc{d|-aj~1jTt=yd7tdnV?0J7vZaJJSksv20 zClp4M)kCdQrrhXqip8D6<9e1`ZuukM`B7x6s|eppwpz}*d}oh%A-(_IW}mGPiONd_rE0^CztwM}~NXTDyZahH#44j}4icbiCQ4;wX-c_g;vJIxep%G+xXQ>b-?j&Q!t$?Tv?9=AQVdken)u zgEiq{9_q`*J)Q{3F(M^<1wYg?h8lFlu{aZDGK~d~;v7S|wm;Yo7(Usrm%%RI|8nAUiL@MHY*=gRr zC^p3H-s^mI$*k1j1jYRu&#VAKe2;&Slj4k-?Xew#R9#pKq3oO04ENA7(H)XF> z>%5T5XVDmU!NiIf^@^@CRB9TIR9pGLbQ9B4Nj%DKZ88Np-ugw1wcw|pf`CC`LANs! zle;H6`x}CVqhjI5gmIwIxuo2knBOSs1SkoG=c)*o=y~DNjfgUs?3gFDq#7!~& z+8{l-e_=-kx=Xr(aWy89`JWSiL*r9DEZCCV=JX^eSuw-GHEAv#n_>XB1WHIq2s@{X zNG66KeZGh;x5DOo`u2^%4x@Rl=VszAYgt}ie86?qU}q;OGcz+gyDGUox$6!>z-KTq z5{+B0lQGU;zfdq)aM$%|ou8jqe;e^x5X+7sG(#v%^gX(rot;mr_@?vIO*~Jt<=eB> z1*~mt*KO;-oj~9KmUBY{H#DIW5haHoee2s`XJd=awFLc7IA%)-ao)603Ye6bzq{vtt9@WMvld1sgraf5r%6NDVr_lNG{RVP^O@aXuN_4b z{)Oht6z~)ziI>;|#P+>K6BRi(&bJb$52wL5=UWI#o`V%xUBAo$5E3h4iC>(62TEA> zDdfA2_9V2*nw@5{`W8oeirE&eM*W$CTIH$a!|H-8yUAtYyTGY~e5EbWM<0 zW^ewgm%`og+iatNKcb2kcLH}yujSR|XA~e@$jqau z(a^=!CB-F5Yfb?ovZo0EX>z)bw^BsAqghWuVj&3)Ta{ynor1*^=C6F(XzUxmyD1WQ zthX!1{P*3{K+FN>Cp*;x!=I-L{^{d6b+`ZdLQQ=F&#Rj(&bLNskli z4PC%pNqSJiLdOBwNhGSavnwa*B}(oKss5rsJBy5|msM2D>z|8}3qI&=q_+PkW@VmNqIZfeLrVP&v3G%})4r z)V){7I+4cVixuh`J`|WINQV8HvpY4HPHM<1zTpvTd+xI0uJ+&ywUwNCk!;n+{RCv6 zzHvH&M|%Caf?sCPFfeiORg%gLau#7w^yaY1#oWR>S2Sw&@Ngx{jW&Wga%QN8Bhp8n zr6tTRMb2jlw~=y2gNbZT+I(>=h**OGumHP_+45>%zz)IS)>U`MX&br;IT{XUY?rkQ z*s#P%0yrHRRLu0z^^(N&FXR&%l(r1cR$=q^K*#yL=}>mdoP;Xwt4izZD^re#OQ+ab zqIWmi;c_=VX-)=HT)*DTa4CZF6dGUdd}M1x)tFT`#!`Fu$Ssczl=l}(ESS#oZL7SM zCOzq&qn(L3C!@ME?*oId=`0o-4OV^&AY#+bHoEk61jXsgkv6|2hVw=>%8*rajG>7U z5OKi-o`=OLKmo0_a&a$Yu-Emp1KmvWH;yPIw5XBmT(#FE+hi(|C`X3NlKA_7p1ME{ zuJw#UPnbe^7Y#S6betoe_@QGqN%k|=Y{38$;?#RyfwxK?6}UuH4Fzti60_M&#DFk< zP4QdT#7~%w2V_GXEba@@gN8TM(%f2X!y%4?n zvc+5h$Bq^`F+H)lu@uKZku^!FkT8cITTPmChn*Bf_d_}>s|`UWfpgh z6FnBHI9(5pYLwg#;mgL6!@|))<}45JLvjk63z4WW^ zDW1lLRBE3J{gS*h^R>RIrO>UQ@qn@ZRS0GC;^ty*p|`m_VmTUnsnnfdGJ5H08wf(Eh1`5d|pJK4TQw(bi2iZ zz>TPdMMWD_VmSEtYHDg=!affTzW&ijufxpv%BL&={FGp@CsRQmL0yriAv@)8Ax1ji zEz5qi`tV}`JQsXuBGpBq<$t}AZ zXdQ~43=;qKntOR}P3OlI3uG=25bT}m%{h6QOqTkDOyo4pg^|K|FBTM_QZbqhmX=@i z2|AwVZ;@KNIy%DDK>BQ%ey{Do0Daw-D+$NeL!sThiiVpK)DXfMdzsI2?Cpx%Xm;1^ zus|Rf5WxaccX^lCn5-V_mhBaNjxv0#%r1tO;&=e>!Jvv9wjy8N@~&P~ zWgA?-zNn_OI0i3eMa|C#O4yQ?4Q$oLBVJ zVR_G~k8*ou;ec0Rl2NVF`|K{-xr&GY?+gvguQI7{?s=!UcZ~c^skC? zbumcr=xfxSuj?`ECeJK}YrWxT6VmSU?LF;b0*TS0H%aWD$rACfn5pA~8CWaNW?%3s z|EM;{6Nd7J`&7Y>K$a}slt2z4k?yz)d!#AybblanOA)CbO0k1dZmK7(f0>Sy-@H$T zYC@8mTCDn0JnEC@7%lR-hWmNROcADKUdQaUxJ#Yx1_8y2&7R93VXn~gAB>JWy#-w) zoddIMO7sQ2&_Kto(JsvYE&{2kbRR$WdWafTf^c~v0-ObmnLK~)#WgYLs=+&K+?~P# z%POla4s(5^lAwO6)c@?wa=9)g8Z_{;YF9a1JrqV1Fc0B2gZcDgd9?)zNR^#Hfteb= zFCS)^Br8>0m5VokYVA+A)h&PCDqmKW|35_^vUnbX$u>W;f6#T#w5 z+^&nqbV}Q&$BkD;-LKCYx7#p&>hWr7hdO~)e7t|s!4+J ziUL>w#ejpk^s!0j^y}RIkL)Y%6Lr$ynFh~Ktr1AWCQN-xnv|$Wln^Lj$ifk6p6|XJB#s?DKK@@BH|vcb+QU$qd3BxnlMp^*Zmo* z??x{YYwcg6wS<(Is3Y<&+&dZn9WY^%5ys%JxZ$;p=cr~$4e&{2Mg+8_Yjo>b1Jdy- zsE?eH!qn2buX!;wJPfr!kzCW?kZOOU<|6&M-iXIy;~}hOpKEOn6B33sapiA6nkpW0-2;)))L4s%xI9^VZL6LEXt+IemmNG{`|JMK@8&!CJnVW zEI_}BFKfipE&JNV46!H?hxzovWXjFwF~V=p6{n}h?z``OH0*^-2@H@~-G{>h#K!Q1 z%eJn4DF1y=#!;y9aSK|l!|*D4QVF^-Arv__S*7Agyw|9Wls^Z>Jd#73Ix9-j?IsCQ zOWR+D4tR$OEaX%FaK!J{G3bhvz{bQ870R)HlkX#wy2tn&Nq6xZvG04`Gr&y8+-Ho2(ua5X%V5L?zU2 zgv2~*@?1m*CdELss>*Z(*#ip&kJEOtc=A)-SfK<@hewIj37GoBDx|?|BQ=3op$B(%2bc0bxA}jT=XLUBsq>TU1n}_#dpU zZVNcuERg=EjTEW;<_lj~YB#VcGI{nc6QtYJZAzHopZc6pyZ-p$5I?S9JaTJWROtnU z7F$`gA!TMop7b^*&yyC73zs^)F7h&o)TK*40vXEoyMP==$ZYGABJDA(47pd-LSk$Y zF8yL4CgzJ20mhS*H0TrS)p;|IU#)BOchR4D)xqXF;8i^5T{u^`j@g!r3==?F78!jk zfQw%mQaefRG8nI}eom?f-K9au&Xc)<9pa^y^IUJVQ`DwCPI9LHxC8Klr)V5{-#9Pk zQpb7G(s()3Xw^FXc4G+IxRXMPt-7ncRp7KwBslvIE(iPZk?n`5Awl zy*laO2tDSftX$9wCj7U=IsqZEzwxh`a2Q}LKIC5|<8OxTg9h$5U7ei^NvU$AzkNu- zSRY*U$}MQ7Pm?=*cJ0r(?9KRK-5t^JlM%>FUc}F`Mn$~2h}Vb_3Mr<7^{(f$z4Utq z)Jj1z5%GHc-ZPnmmHCQn2BG>Mki2;~N)sKRjHmti<4OLOR0I`hQ0TW>{$^?uwum(< z%WS!)yCn8DKK+raj)L(5SwLhb6JIAse*qehW#5?&#I|ss-Kz-Ks8Si|$G2e=*gpFK z&pv=(3hLF{txvd=!ZB$RRIKNjxtkACxSXZMLAuK2*mX1S7SH(|ERf?>5cj76D{h2F z_V@zb#kAi%2^j^A8||cu*(E8tEn3ge&=$m)&4zi$X3Np#KJGrZ^}_Ocd44$U#vEq1S;P53kgcK zM}goYXTs7YxdFO!``*c8JxaIa?Gi^3B?Tv}iPc9KYFbhGw%fO9T#mLEB}Cauy%yPHm;I{JUN)s3#{w-9 zFMVW2GpJ;yV!AI8kU$*=e6muIcVY(q4!iih1tlCQTHvNZg8`1q7s zU~*6G;hB;BGuSE?WJxZkO_vrdJks`OgIa;rJELW1kWTWfsMT^WGp&ODoTa_USjmG! zEuNfmb5JGJ*iJohe5U%WKtblScJ#l}AZcD8fsK_b zAJdSitXg%Mx|wsCsKkBr4+YNH)hk?zj2}|@dZZ}a;B7Okzw#Nf?G!!Jqo9PpW8bu= z=y~UF_LARkWpBdDC%3niRc)y_vjtm6n=%ys zG=`MfZ!8WcxAKBgo2XJ<0tYCjfG<52w78to-HST>{=Dr)z_cZ+5RNS@#QwA z0=4x7OmoM09N=5g=@V%ef3^=#FVH9<^kjm6ez!sR&l9vI;`~wJ zVw`?pyn8xF+6juC?w^y%FaC>@<(y{Vd;htD^o|}>d4-*PjohoO`j>zI=FDu>db~fN z^&e-YG9A^b!vFC1bz4Xs-u>QX(f#`#Jr!DdS<8f@3Gnd~;^Qf?f}p&Iw($ROLBwa9 zJoP4jZgv|xt%(iH-4hxZh#n9b!yMSL`r`)+8HctWb2tCoKe0v54t-hmCYXhk z74(&Se!F5@$CoxdTJA%Aj~Uc~fFNbL*hqm+;_r9p2wIFy{%VpN!Py@eeHgl+v(d%;mVymWe6M08=4Xds-+#3f3;4YK#cYeWh#gsHZCrS*mt*!{j?uweIJmjhn=@!Pvszbk4aDtwi;pV~KszlWzk?hTWm}R#V|DNsY__#b!T4|mtqN7qaRiYJV zk?`m8qN{yL25kun45LK`QwBQ`XV5!}ck)R$Ow3&r!SN$goijG~zkZ z*PTj6COr!dPP;Bu<98I05?Wg;1H~kzH1?Lh#GsjL3y!&o=rOYQ0%;Xdw*47{G(Wg+3s!57C}2H~DM?!E4N zc(Sv2yQ;~%5Px@$#-DpL4mqQc&Y>lmWb31h{jzAuSq3|?bZ`rV&sb~3y_(YfLk%#nqlZdp|kfNh9$O1AqU+`YDyVis9dp_@9cYH z^sMsr6S=QH)_B=tNU1aJZTIW9(n_oC&@X(O%H(mEyK3lL zrNc$|oQp$lT4#U%o+3hGDMWpBw(vw&U4BLh81KP}YtI^obA1j?Azv#F+nDU_t}#`c z_y!cS3GcpwLCD8-V}veU)WQ&_$2K1{6wz|C;&xz$EUU*3z_8KFr859@`IXdNt5K-__3_f|d}E4@SVzxhpYOlB81F`_V$z zoz8IJEw2IZgU_6Ti;;YzHMn! z!l631u;frp#W2D1LJF18B_)B^i``~fvFpaNhO8I6>Is-qyL~-G4&on>=9LDGjrNj4mbhPGdU;0+07p-O^cZ&q%OEy{1G1?Z8uk!t z4LMUNaFkQ2b>DjM-$E2hlr4_sOXFUVvo~pcvn%dcC3fXuG9egrDl01k z(}eJ)@sEf}f$8G5w~c4ynr}9gDfutF-v)aaRXF$`iuq#Fr4+0*{-)0{?K;FX5_n)J zHJL2itMXhDe-3P)E=-x*$rB-vQUhp28CvURKhF;|-TGIy5#&_g3nmthvgB$ae8GHL zU3d^rJF7=)SS&?4nI@xbi8KP?K|&tWhl7G(gIM``a;bJQ|F#&8SKxL`BiACNJvnbujqrJhR77np;^6zabQ0!=mTFi>k|bMCg1+#)_frO6Rlp3G6?(<~K;vDY((&JbGX z*$!cqM`$MvF6=Gb*`0gLS@K~4!ZF-yH`(7@iUY;_p#jhqR5~KZLY6NT5s(((IeWin z!k9KT)-3&`-&cFkELkKqkVvxTu9e_QJuSY_*-qVc9lyufEIl?g=x^-qDV(bIp6xku z*idnm>g8#wXF3_R*(Ch(I2TpSv5b?rRaEd~9~oS96lCO33WnFge}%^3!Ab3XYFXdR7o zJDnXETXHnjw1ncz;Xy#vblRSLXA@g2!|zXAVb~DAQ^DI3_Jf(yqBX57aLPFlMe=M8 z>rry(_oCaqJBP+oNRR_Am~Fvw$Wv-ec8C0F&LqZ-jcpIMpJzXxjVIl>{F1dk1=$Gu z3%<*P@LdgyAC&k3w4ja%u!dvLE@aN!((-V9U3v7IGN#Am*!li57fJO=kTc-JK?K^+77NB_13oC= zGcpM;Rox`dR2Ka}`vYK2Fb)O+44y$t(4~zT)>}oQlq7mmFf|C?uV7%$@#-K}|G|rC zuRqP%t(FV2m+*|%?Q3PJ=BTJ~4D{Y={cIun3oRp9s5?Rb^<4i@)e9OL{O(b$GG)+b zu)aBv@K(mwc-xYtChZ5-pXW$i<#||#aq?{%tVS_26QF~0O$$Qvty5n<|FN8RdU|>v zX#Qd|OOjj1YtG0)c(@95W7*vTf`UEhtI1q$xiqcx!RAWl=H~M9(FqB2mnMJv5=cNN z!?g4PN~}RlHMq*gdbshv7X|aKZ`#&@?m>Y#dq+o6VPUj@NP%?y#&wjZJ|Ha9*;bm- zZjs7#J%W7AX1vgp^tTC(Qu3#C(BB?3QqWoSEA$k_&|^aejQA&iZ36-R%k(Tm0SaKsT77Dxw*GHi*ByH6HcJGqcSn zCz}cE;^eL`2}tdGb%c^!xk|t=esn>oN(uw+Qey9JW8imZj@Gu%8J|{%bWkwa*a<>W z{4+Az^4`p!q_|`MGb+EZ{2rbQ$)5e2p;%rNL&3y;?ZH4zwE~Cn0+VC;KQX-Q4^OO* zCMUl#hwK$!#}TTyHwet#A7p)#bSX7!iyy0z8*|1qo4ZJ4G}Ff50>ViTRft}JV=TcM zIb^r`HLFA6LdXh6HQ6Io8fpFhc#p{k@=-4!VpHjXTX#0M(x)$YkoIw}nl)j9!Fb+e zK63;`kQxzy9GWjRa-Gbsv7qM>x16`;HQy)LApq{2Y@=&~^VUl@<)R>=wy;cTYm%g? ziWA+*9n%*3OO>Yikf z?JiM`(Y&Rb`gpQYjqY1Fqjz3ND%;Of<=MjaJ|iHIX}2-&F*8V8LYp^OR})!#Z@ah0~3+E zRa~mE`rB_w;J$a>>3+eXxDaH?bx`0|k_brWx_r&!d3Ti-PSP^PPz=Z9Y85m+KR0P? z-ra-YFLg~$+Fr-~NJwxNwlLm;Lcoev)|aC(`batuGLY&$Od<6!VzpMavi*}Ght~4A zinY>waX?os;U!V&e%9Xn_b9Mf7*Dx=H-uE(18Y0(r6&UfCuFJi@#|m}djkG4+Gpf3|M)b@k1+??kPr0f)75i<77$Ab-U;Kq`gS1UT zNpl?C+{E?F|1GmvnpUMrb6^7z;0I&QGb$=lw_c^?Mvk%rO}fWC6zJd3fJVt>Vh@v* zWn*drnE79&tJen+VEnM|v`>ydNrRVUY0P63s>cP^MAaKH8L_`5+xtDr#`wX6&6*b< z5k|%093D0Aa@&ksiMgLa+PamD05&*I@79 z9a{9TDo*hH@b!!SBf{-$D84d{-1YU+@a)G9=zdMUQ2C zTU}@Se_;Ok&XKtHJ5EH?wA8~Ei%pU!MTHje%-F_fWBe0_MW8T??a4S%?or{Qa|tyI zb89`6!jXYKW(;VXi0rz}Np>hGmN@bJ>bKF0Y;b%vt2{T&Slk0Lg-aqbo?D}DUB!2u z)*tQ7vY^IkMs%LKOKyMG7FX&=d8d<)T?JIaV9Mve@&eFU2icy@k2+k$bFqu9`M2+L zl29mr^A*&5X!DIJSCu^ETs&9gu%rM${Oa!rLC6l3P5r@_>*f3YJovIxdK=tvIV_g*-?^$xE+fxe z<>IIrvofpVT`jc6Kj)EbYe*fmYSFL=mE{>2Ci3abgsL1ppv_zrbgvZRK z?|_I4hFemFX9QiaV4TnUBmFZl9!L)-eO!@UA~|iRW_4ya7t14=gAhoMr2!w}c-^+| z-mwyaKwr`NqVazY)=d_;Oq7@xT@1%YSg`$v3r`SJ<79gz11zLCKi{YygfSK=b%KAx zRBraedAHjwboNV(gj)43i=|-e#Xz!2SIs8vW#_e&g$h{6!}{J`{J{zt6kuzO48{Qa z$V1NYy=`S47J7$KxrdE)tTnvJJ8G;xGMty71TX)?yTnMgX5lqI=?%@&9#!z7-L8Q~ zLiX#|gcJ5FY+(0zevek48IzNLgici?Kd+MZg{RWGZQB3@gDwfhxU`J);SeMdSvr}|I8(XPt%lWQm^L`z-1Py zwWlYdZ==2MxSlf&y)o>Pyk| zLkbZADgbXw9TBtZE@-s7Kb)_gh+EY(fCkNV4|S(LW~KnpKKz;I;NhGxet5@3E1E1U zN;J}642$5E$1~vOyy-jcuaWAt+o|YH<>?8j1~BE_3m_Bpu2i{2o-}iAR66cQHd-7n zJnGZgJDtypvDLl1L|FL+4`w}-kjY72l<3XtDS$oaBxR}JW;t%iBE%{b-!5prxWrh1`!;d*+Q7;xrx`8=w{jqX zMXSY=f2M{I;QenhlhFDK$KKWN@F`~TPLFnT&T{{nau|_msJ9R^-lUO}MCF*N*R<7+ z*xAK#Vh|>7*U&s9CHppA-dsCgA4`DDg#AKch{SLz4$^ROHQ*HkYoXB@N)Y9CuGzV; zfylQid+ribA#NH{s=q~ARm+$ILmXbSJ$D_J_=3Q5!Bfv|KIxrW5Y55GBC?l2=c300 ziZdLOntk%ezEc)1AXO`IuG(fQZ;x(NI0nzcEd-aNP@^b?oc>8Vm-jQa>3-vM8WX|A zsP20(6?J#hbZ6t3tuGBB$~Pc)=+iYekwgMO!TIAyO0bmifhOo{B_r#KByBeks^&iS z=GPNDlY{*W)(MER9WQfpDfHzI1XLa3aj=2bbn_nxp!kh}5e16h4RQY9iUuAbArd{C ze=!+idDcHv<_o$epZ_1QEsbE}CV5x!M&X7!3}_9&_=7BYi2uJZmH(g@&O<0qqm%dy zF&!WmU2t^3xA}*j|KE%f{NMAKox5$gC#VKC|BbTu{yxFP!7G70%l5x-;69#}fXVLd zKLZ(o@n=d0f)+yo0_p41)6<|NUItcXb?06J-+%=S-_SpfNc?SfmRR^+dJ{660M=(+ z&CMl`AXhQT0HX>40WY8TgC%jU-5TwZ5)T8@IQ=FK;gb1}Q-51k$VlHbK*- zh6<14_D@{(_BOlIQy!C>Em|fEYGGj8rIkdvTMuoB-{~s}#;m7II%tWDBLQIHlB##@ zfjE9(_T`ftHdgh|1%$p+ruKKEF2Cr^f;Gz_`#-_zJesj1 zdpVYYw+N`up6*ICbG*mE)2goV^+IS0!F??n0;Oi7^D!Y_bbR~^0NmuuNI^|?adW;` zZZS3#raUlTJ7<&`@{=18L|e{hXPWDx>pZHLAy5DCW@i{OShQnd*;%A|P(v(cWq>{H z@Rxu11({dWdaA#Vr2nuvg@dhORXkx$)Aa>h_?p?;!lU(@&tq^c!9SLAOz!g=^O@r9 zl^?>G3BE87n@kUj{*%~&@~N$zE;3z06rEt2h|Y~lcV-WK6!(~lhq|Nw@d1{_WlbD9 z`^K+gWHZSnNr^RuLW?=O(Lx`IGk`a~*2qQrDr?;QHxpz2oagd*nInsz)O7M)$+!6J zayhb`j#S}CsL%NizKcTQ_%Y1ZKSyRZycV#GDqP`0I6@K_XMcS+KuCHR0t>xMEi_Zz zkQY&3741c<=oN)1V*!V*PR||c3Ff(L2F-77*l+dj)WqP>D9*2ME_hgy8y_za`^IxE z%vc;xt~O(!mN%*}6KXW-Xa+}_OsC5)*8{lv&tjG;f75fu-lyuQJdGDjkYD=4vtI{v z(Jnyx4-=NBbkzr(IQ(!njh>_b30_3p?i-|x{IA5ss`Z$rk#-Lj*d0UPII&)=Iq>!n z^tvH3H;RdQ|B>-=#Xps#cSM*tkHKc3r?nW9fK&hsiMs~1G(~5T90wT{itim_IG#)g z!00gGb7?U%vw|LdEiERJz>9gWyQ||hf4%=uZg00S1OwA*yARr2qGT8wxdWWt=} zNn$(_a)aoU$m+S@?lYlTw5P=U4CrA>f#vA;)N;K7uP8K$R8~u`ccLlLlDosrWg~E+ zws#Y6IQ-P>WW~q~E_dyaU5jSu^NqqHZkaDe=IU;E>t%obS4(RzEb!({eWmUJ?Mu1@ zZXP+Iu4=2-{_*pHHxjcqi>?_LvFN@`%L<>{=b(s4<5AGXq^Rd&IJE`W6Lko`T}Z;* zvTffV@so3yi#(WUNP;p15+3S(Z(vXI2_`E<(!61+&ny3{cPYR-wZ~;-JCJ}+w{4i2 zsXtj}y9^CTAYBu3FmIXSnSQjdPrFZK3q61STML;sR>)S;ui?^Frqv8S>v z+L=qWfkG7xPi}g?^e%a_Pk3YN{`Z~R##w@DX_eK=-WF^P41eWH0(qA( z$kFuyMr!;ZsI81ZVYlG=7m`}tc)HmiC!C7FwgeY0k#aY8s#lD`Tu7<@xc;j@LjlZSt zVrwW-`oWmf6T!l+K|QbCPFS|v8slyIP{h>8HO~@$ayvXD>;D!PL5};^T%=%xG3oa( zE;V4i8aueqn$kF@#C#;abbeUR)DpaC)L|sN4pxjOerfSqV9EJtdG~_fOg1k>TTy?9+BMzMY|b}hT z(y<})vK>|(jhbXc=s9JO;!dgliD#<73z@IqKc75mxG%HY4fP;=3-Xd2OxzjV=T06? z)!3^R$;r^VC@w}1r4UwQwi4SZBw3m>^PnICZS9TXc^%jcx0$bht~8y-b@NJ<9Ie_g z_$MgjuS5*nxbUWQp?s~mWbv|#k~Q^fT6OBP6rD0nns6Q_z)eCt;j-Hs?BGwh#FoLn zMdjSvrD(*QEhe9=1Ir6oS{6h5ykTSeAI*JdSX14)t)C466%i5X3L2yfNG}0FkdE|@ zbm`JdD2mdX^xmX*=^aD}9fGvbLhled1PGA3g5P)UK6meZ&bepb=Q%gOcor*juFSR8 zoO8Tmyzk&;-+SIurh=~?a|a(^T3VXq)^*@t6R6&=>NFRE^q-!6qpNM>+})u{q2xQv zi3>KMF`#PqlZ$Vp{R~@dzhNx|;V1wKeuL2cOC47km1yRBnPm2gp(|_@N?%d%o`+%f zA!FnlsuVHcCp60~BRj550hBo&CVA|YRYr>aQC7Em7u$;jziN6)6|^8ietI(0N8j8( zSl_y1T7E1*qsSKDagIvrbblpg?%P)vkudqjJUzzEeOzP?Y>Ga?5fjUbmjuh~^6vfo zQEW0+h>_89gV}f8j4gu>0i&m2f7_I8Q@GbTM#4i}Zl`u(?-2Sike@4RfeEzj@vt#H zE6_i9W?)Hx;`Mfopuwxyb;pi)xoKCYKqxGg&+*YqiMh(>&;mxf{DPdFhq)sYp1Vm& zLT(}?(UD3(?ZfkPPMH|^%`8Py3JOJK<);tujM-PXtR|vt>SIz;QoereEGra#{D|Kv zIHtZTdO_zX@zCS=&@?8Z#o}6yhOLZJh0wGw4TnsK0+~H3QK; zdCYm69s(bhch)rat>$d`(teB=u ze@afv_akH}*;Z_T;Q~>(VqS1SfXefiGu0Y2;Wf3js@(UQHBLxWOYmR?!_O&Z%SU%N zle%1KX&a_5+VA$B?~IVcz^5piiSIrugX41QtUy;+4t29+&T9Rt;?-A*OBsP8G996m zw6Tm4k&*UxcHLV`fcYL^cl`OY=;7!+cqj<*&}uV#O}Ht$z1rJit8`X^;113`f1n{@ z*pBYYXJ^*N^X!UdoUG}W))~1V9a!5oO>sa+`v;mSLhP|w%Jd+#9PkJ5V#@x@rWQ3} zl-QPrMa^j{H75;viLhOK{MQR7|5f4G57@{9pVR)d;>!}xR}>hfq@?q?_FNkBLw;Yq z0(h6ybEMsw9k9R%jEaf^7}YFANil$oLGEdklri8Dr(K*ooU60pHOJ3<>WbFMr3yXqM z{7OxoJZN`!{xa=Qgks)p-0>dl+wrx_h>Odrd%i?5PevLb=-+(pA%5}%(h+=ewe-?S z!~6{iTrLX700KdKo=<&wrGN4Sz*`T4fLD!(&OlL7@!q8`$E;6YkHcR}m&J-T+XbMESO17N^T0}RXLnF79YLr|}zb$->#Bt=GwiUH$OLC?Yn*_jnV zhUR(dUyRi;6eBX9u}5~Ry#)sPM`F4GyL|tefepxA?`*eomfwf?TV9BN{oo}F`*Sn=EZYpVAv@vVcXcISe58k^y|h~Qx_YP``bd&amQA2 z642PukVWMN(_ImZY6(5aL9FK3=I78*U5*?_YZ);V>sbx$j&?-Z*uYfP#`pLkzbY5w zUKO_ZbVfsRH|llMFY=1OT{oBRuM?s@1D`SR6waK>;?ud$GdDimG*I_cmPOeR;Js0X z*)8+X%%`GGxI*!8h{6)o!w#s--z)9A7C`jTQTF|DYUAQE86BqX)usmt&9G|Y(NL&T zyZbn5`s7zgcUaj$&x!+jl zb!~-o?pHXS6N|lK9x2x$+BI?SChOf0A-7G1Rc@z%#6+1MAm;J!fPY%0JdC@^rW z&RUr9t&%wx(+l^G@1e`OS{Y%KyiLciKONh^JP&p3J8X|&es?MH2y{0iPFjO+(EA9? zN1I&e4tq>>p92-F1&Fz-;mGJ9gOmn?F`1TH&H|RI3u{zqZbrvltCYz`M?=86ft5+O zv>y8LP~zLSZ=U1q6Q>6a@o2qsab{MdxfYZCWr7#^{qlfUz?J;;FSWDVUL^tY14l4l zcXsD(l*b?oi)`-8!-5ybo^qXr*ew8h#b^556#9O-<)dEcbLluGplXE!#nzl9{rmTW zO&t-^1e^#rhG4=Mdn47IIJ*M&HAVO^+G!z;&RI-2cc6D@A5=)2~y+fFezyZ&hSNO*Q z*+Xf+1Sd7{{QZxeL3nF`)U#e$1iSzx?WF>Kq0Xr>Mfg9$9;^-Gz znqvJN!h&`!zioLV-6MPzwmddE``V2^g!DW~T*_-SVc25-6-GO1CfPp=lgp$0AN79= zAtKJn7RtRx5x3EK#E^ zC)K&@Z_aJ&atJ2ks-bXas+7&q9SjV4Wk<~=pg##W#dFP6KN|T&HJu_G#E`1-`Pcfb zWG#MRO|`SL8yp<0)DQ}fiIL;%Y;)MytL$)YPW;edKtA)O@8#OY+Wk7W-k${?N%iCW z4y#Nfdl`N!(;LH$l?fNF^z04Ag8a<48^zbB3)!6(vIl}C1gHpi1EXC-a2guugiH~R z$_pOS?X2751wo%bJF4N3rzc>T4oA-|H0(Q43l;JhDys~;PM}IZ-21H^6na-~CpvmA zOq4u)f#wdW{$cC{3{d4a_u^D6r=MkyUIQ` zB$kt5i?4jU;z_Jxz=XwN&F@Y0R!_0m2$~gUw0+<};KIegmBuYW>>c*8?Ocud?O4Aa zG5B!WtzMFTK}_`OMebQ{39sg*UrI~MlV{JK0S=`gdr!bIo2dr`0>vcnO%RyUP*p!0 zsNBn^3@wcPvfV`DwP3L4=PkcPm6!g8&$d5k+%LD`xtdug`NnsZvBHJ4FU>ZYG>VJd5lUF^Re6$=X0pkN<1tbIc>7{J9v7!J6->*{ z9$~BzAg0*Z7eIPsc7l+e;F~a^z&uMWDg9om0=K4ZSSh+a!N$pI4xgE9+{FxUy`}0% zmGZnG#FfaA)2p<9FB)cZ{+3|_jfY-?Gx_?*<)}H^@FYT42*U%r1h$%2#FmL@6gezMqlc%& z74a*F7kcjEVR$ED;Kwu!eKM!|fv|9rn@4mVO$je-w!4OtUQq$~r9CgpbEV#EP+~F* z1&pZz^EaD?pV>ko7`wLE4VSwj5=W?)g_^A^o7t&eZpPjxiy##lz0_3v`mFsLi8c7FytJZ2xFkT2Pnx$fL4W%?tBx~+ znlaN$>v#P5YFo=09t2h!Z=DRBrUolNNjeA0Op`clmJVd?6bwByRSizle!W;FC=t=$ zmHNROq>7vZ_3hc2^%K6`T1wOLWLw!1VtVe_$`ptQ6M$FH3 zl{wdFGM{ViqkJjJ9K1G0U(_mvs$6K}&~pXcDP9NLGZp&yu&nar4}RDcI~T=ZIxk<@ z*9JHX>j1eH0#2KcYPG|Yl7OwMk`pUIIMxl1f`THy+PB8(z|HM`QZR;6R1^6|W8^EYVL;z4VLzy7}F!cx$qk%vmdCH1#(MufYhPC7d zP;y8}bPsVfS+ta~on4tSgRP?@kfY+rDS*AkTy6kMGe&oR{o2UXgLnOEyo`zAP&U&A zLv(jV#le>^*K4&2@0U6E#Ak3RF^yp#;1p142S5IZS#dNiT20u=Gv9p^}UscVu0PSyh$U+)LmoR<-9N{CE`( zLoP+1pVnq&Wpyp#)oOo|-m2)(RX;OM+noH7j;!f!27nLnL-1_Ah}#(oAZzQWI_pJN zjtr#bGOD&+U&H~F28xVM{T6Z`G!1v0o12Hbj|LCgtgq5K?MESz6w3+)mrefny8lkzUJO?m2X?dR}creU^R0%lnB#alqKLYm>=vx4*!zeM?ZJnWSRQtAPKqTVtb}0 z5{M~nSi6RL6y-!pTyFU^XYfq;WX>M6;%fZ@W3>R2?7k0_fvXpq=E&wrEEu6s`mi!v zrPC2v+?kq7CJkN(TQtQs)@sU%sXaWzvqhKKz?#ua`t#Mil*E96aD>us3KXXZLFIw` zrDv{RPQb_K)|WI|%SMQ3-dPC!VK3QjAZkBZ+-f36J@IofE3$bUqw!$y!-ZV6_!nL* z%$_q(F)&qGgK{BvNiL= zRoum4F(A1oN!i?2_S|ziyP+jWG$V|P|G}y3WIcI-1^bWT2dQmZ zv%NbH2dsnjs)DP81Z|ctVjJHsC~_BuB2P!i;sX-m=;ASkyZU&*lvVUxpXC@mV=+%u zabEr;wHJZ*NUaExCSs61XSm&zO0*Z}uPn2C;hOG@(O^q(eK8wL+kJm|nEU2UNV{n5N1@J8oBokO2t z^hbYx+LLkWbMK{gP714{`F&F6X28M@nB4~5)~gE(H>2P`V1f@_4kL}rle3Z%{Nq$x z-Ayz>mS8LOxMZE-!F~;4vD>B~U_Vfv<`#4(?kWczH8ot7f-wA(W2%ZCf0hkC^Xz_{ z+-Gr=r78Vmn)%5)yYJ6;jv0^66_hSM*UQd0N5wSqS`1`YTQJH&jl?Zg4=?mH3vmHU zl~y@g)sX7DGpWbkde3u0F}CBfYxCoX8x(|yW3!1Eo@De0F!v4<-1IUwVd$OUl@9Qq zW18T3Yiqv#8ILVoqDY9+6ymj4r*zx!QN86M)Hd?wz6`_R&z#`I(IFZZ=&^>N=0fA1 z8|Q^B`EPJl^Okck2$)xRjF-lJLE3vzsaQGOE|0ODFIIY~^o!vJ<7zl=E)bxsw7cgW zajhN~P0zKd3Ec2EQ9wK`CZ@P=FQB5rAzuWPtrc4$*n~!WSsdD6rj2J%D zMJ`PBO{a^R=EYD83ZQgzwu(j$VAA1pj>vH{{Z&pylu2|cIk%6A!2GVizgl6hg~05R z;4be*aR%A87Q3e_Ojn13qOhKC?AFMcX*|kuZht+^*xptrhZx69GNW&g=7h>k+b5kn2P91N>u~9g z=GJWVHVye|OFc6$8Cl3DJqny*u4k=R)yC{d-PY)Q=w~S{c)!M>v!nNLrn!^>{PeLc zMn(ET)xH{3zOj1RTCtnw*Vm6=2Jj`MFiZMAI+kl6KlU%+EWD_H6=$XSI)Ax|YITM# z%`C|uAMb!a>yLwBM^1?6mdyw7J>p(qJ=+nFBGb~6#$$QfZI%Yi-Z_Y;wEXoZm=rw= z^$Gin_F|F9DK(+^B{0G_TY1fgHYJZVJW%3QIz6YmYS!!x9>=NTAlmlp`J6u9B=fef zHZC%N+yhhVHTy(*1AHH5RKTE-qfi#2Ef2znYh=RfriQ zQsG$9$8#Yqq-UsaSWt`*cY$eOO_$J6{|QF1r; zjW9(G%nBph-hQ_phl$Bg$c-f%ddaVjj0+`rf-lX{;TxT}K_1SQ8-L4c6}a1_3b+|9kO=MD%hy3_x}(6vX7i2B>aB^zzCVI@dE=l%<`++R$nQ#-HUg=$5Fs9jTQ|dQ!Sda zcN&6$8``O*~$|TrFJhWYl!A4X^T@TJ|{3>41cL^*| z--~b&P0=y3e17^p78P}a#hAPHD|JfK%NLyR&Iz+{jGe@t5*r$Wy;f6*aczkOVe{?} zpGg9YB@>cuz+yfYh{hF}jPbWf!;`yJNby6+$3oYm>rdX#h)%jiCC5=#J6OFNOs0uM z-JpapInbZ2S3u*5X`ibR)>^^BGwt{2lF|ZH_^Tz$8?+Pb#iAg*?_>3PYwHQ{?_?q& zVT{y^jL(Xk?ru1^B7|k`V^;&le~hlsCm&GxoMb42A*@@wR2Dl3q?)eqUVtI|4N%0g zfZTtk@C?5|&1Xf${K4HFjSUy4{>6rHLfw(mvH6g9TYe?eE*HO=y@q_51!DW1@=xUa zfO~s|uh;;@QX~f&t+m+f4uH;=8g_Ip1p+|?0AQ6tT>Sw$>&@cqtU@DaTV;l1^=tBa zGrq4SdAmik2@s~^U!tvlV2Ok)A4!G~GTPz{ML+>9Y_nHJGB@InbpRrF?2+8TD2W{Q z*pCg7O9%LmZf|swM>6VaNXRb_PkwR5ws9plry}KfyTG6L>NhkhYts^XQibKAY=-a8Gz)WCA-&I;#rFENl8r6QrbE?fV5BN4mPfKW&I9iUmI}i zpBl0DlwJKK42m2dtDp~R1`aVZ3qE-Q^zr4(CMCx*e%tR6eWKIbw)AOidb&vu%$=^F z?ui9{P=om1leU1ksHg{jp2n*)6~qhzRWaSGuO}#aNXHk3p0PmCVKuPLk43CmYMWsg>3pD$~~3L7C(>BAs^^6y zehWkvOxAdz*wuXZd~_yoyOc8#(-0si&^4T<_9h^Zn%&H8&1!7eu9Fg5MEsh zjLO$}FD9GQAA&ctbi|=dEY(bVz1GBwz7#Aevp86?tdn1U5fG7GqtbdGeX;$eIE#dB_HYnu#);rDp zKg5tPFUItwGI?W^i*uBu-GT+)H92+Zlhn`4)W&D_r+SBC8PAE<%A}@eZjP9n{Tx3t zXyrGxmotGN;yP-dYw3jqudzy;n%~ZSH|Xl_Ov?Fs{c`BSW-0+C-vg?Kv1j{!r1*+>u5FBcXN|e& znrJle*ts%TT9-^Rl0XGqq2J@Z?JZPwEYA^JhHoXpC?^D}Asg)`Vr{zW4F=9Ze{6(_ zy?%XOW?XT&=E{Mx@XW|IQTLe-GodzX(tiSsR0G%N&Bnxq3HP#R@5;~v0XS8VN62ya z+%!eme-3Y+_2vQ2CwzBNAF3X_d}%gg*p=niU|u-*vJ;QM>!n?UPt}laz9G3cG3^TU zI2ifN-fo{_&Qf_rUPNM58x-^AY3AXujfTcJeaWX(2-D6wU5^RBG%qJ1TaoWcZ-va5 z=fw9H{Pnq6$>kpbibrOu-q}>-&_q4{zY2(uvCdi9XE@G@P210zA@-wbvNmwlq`N1%Hk3`^@LxOlDnyBTW4&$4@eR)7g}D6^M{E{QvEtBnm^m1i%?8MBU~%9{Omi#NQ-#x zGFZCN5u-UewM)mSoG(>`RJY^GpSl+I?k*P`xJ# z1u!7b<;v{gtv6F%BlmrfXDYi&+eOuhQS5RrpU#F!y*4-JcOG}q$e1tYK+BQa(MRVt zswT&>tI>)kHNtTH^VwY0+%N{+nSv5`>UF+q%0Dn(m$PNf|_mFPF{(%9c9Uarx*FN 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 literal 0 HcmV?d00001 diff --git a/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__select.png b/docs/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__select.png new file mode 100644 index 0000000000000000000000000000000000000000..7509c04e2da895e9ed665a0a9805ae6a11a475e5 GIT binary patch literal 5189 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 PxgbDWQ%|E-9ftfLc9IEx literal 0 HcmV?d00001 diff --git a/docs/webitel-ui/modules/agent-status-select/agent-status-select-docs.vue b/docs/webitel-ui/modules/agent-status-select/agent-status-select-docs.vue new file mode 100644 index 000000000..5dab2186b --- /dev/null +++ b/docs/webitel-ui/modules/agent-status-select/agent-status-select-docs.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/docs/webitel-ui/modules/audit-form/audit-form-module-docs.vue b/docs/webitel-ui/modules/audit-form/audit-form-module-docs.vue new file mode 100644 index 000000000..185ddf225 --- /dev/null +++ b/docs/webitel-ui/modules/audit-form/audit-form-module-docs.vue @@ -0,0 +1,143 @@ + + + + + diff --git a/docs/webitel-ui/modules/card-store-module/card-store-module-docs.vue b/docs/webitel-ui/modules/card-store-module/card-store-module-docs.vue new file mode 100644 index 000000000..90ebffb33 --- /dev/null +++ b/docs/webitel-ui/modules/card-store-module/card-store-module-docs.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/docs/webitel-ui/modules/data-filter-module/data-filter-module-docs.vue b/docs/webitel-ui/modules/data-filter-module/data-filter-module-docs.vue new file mode 100644 index 000000000..0f50058e9 --- /dev/null +++ b/docs/webitel-ui/modules/data-filter-module/data-filter-module-docs.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/docs/webitel-ui/modules/export-csv-module/export-csv-module-docs.vue b/docs/webitel-ui/modules/export-csv-module/export-csv-module-docs.vue new file mode 100644 index 000000000..118e9254b --- /dev/null +++ b/docs/webitel-ui/modules/export-csv-module/export-csv-module-docs.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/docs/webitel-ui/modules/export-files-module/export-files-module-docs.vue b/docs/webitel-ui/modules/export-files-module/export-files-module-docs.vue new file mode 100644 index 000000000..d524f54ae --- /dev/null +++ b/docs/webitel-ui/modules/export-files-module/export-files-module-docs.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/docs/webitel-ui/modules/modules-docs.vue b/docs/webitel-ui/modules/modules-docs.vue new file mode 100644 index 000000000..d8337e657 --- /dev/null +++ b/docs/webitel-ui/modules/modules-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/modules/notifications-module/md/index.js b/docs/webitel-ui/modules/notifications-module/md/index.js new file mode 100644 index 000000000..8f61cbcab --- /dev/null +++ b/docs/webitel-ui/modules/notifications-module/md/index.js @@ -0,0 +1,9 @@ +import notificationsMdEn from './notifications.en.md'; +import notificationsMdUa from './notifications.ua.md'; + +export default { + en: notificationsMdEn, + ua: notificationsMdUa, + ru: notificationsMdUa, + default: notificationsMdEn, +}; diff --git a/docs/webitel-ui/modules/notifications-module/md/notifications.en.md b/docs/webitel-ui/modules/notifications-module/md/notifications.en.md new file mode 100644 index 000000000..084f1e876 --- /dev/null +++ b/docs/webitel-ui/modules/notifications-module/md/notifications.en.md @@ -0,0 +1,63 @@ +# Notifications + +## General +Notifications module implements all functionality, related to system notifications: +- Browser notifications API +- Sound (ringing call, new chat message, etc) +- Counter in tab title +Notifying user about events happening in app. + +This module supports sync between tabs. + +**Important! Do not mismatch with ui-notifications, provided by +`wt-notification.vue` i `wt-notifications-bar.vue`.** + +## Store Action Interface + +Module provides user with following "public" actions: + - `INITIALIZE: (context)` + +Initializes module, subscriptions, broadcastChannel, etc. Should be dispatched +before using this module. + + - `DESTROY: (context)` + +Destroys module and cleans up. Should be called before page unload +`window.addEventListener('beforeunload')` in order for module to work correctly. In worst +case, if many tabs are open, sound won't migrate from newer, to older one after the newer is closed. + + - `PLAY_SOUND: (context, { action, sound })` + +Playing sound: an event could be new chat message, ringing call, етс. `Action`- main +paramether which currently supports: + - `ChatActions.UserInvite` + - `ChatActions.Message` + - `ChatActions.Close` + - `CallActions.Ringing` +with default sounds for each one. +You can handle edge cases by passing your custom sound as `sound` param. +`sound` could be file, or already `instanceof Audio`. + + - `STOP_SOUND: (context)` + +Stop currently playing sound. + +**Attention! Don't stops call!** + + + - `SEND_NOTIFICATION: ( + context, +{ + locale, + text = i18n.t(locale), + icon = notificationIcon, + interval = NOTIFICATION_VISIBLE_INTERVAL, +} + )` + +Sends [Desktop Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API). +interval - interval before notification disappears. + + - `INCREMENT_UNREAD_COUNT: (context)` +Increase tab title counter. Counter resets automatically at click on this tab. + diff --git a/docs/webitel-ui/modules/notifications-module/md/notifications.ua.md b/docs/webitel-ui/modules/notifications-module/md/notifications.ua.md new file mode 100644 index 000000000..b455718d3 --- /dev/null +++ b/docs/webitel-ui/modules/notifications-module/md/notifications.ua.md @@ -0,0 +1,65 @@ +# Notifications + +## Загальне +Модуль нотифікацій імплементує весь функціонал, пов'язаний з системними: +- Browser notifications API +- Sound (ringing call, new chat message, etc) +- Counter in tab title +нотифікаціями користувача про події. + +Підтримує синхронізацію роботи в декількох табах одночасно. + +**Важливо! Не плутати з ui-нотифікаціями, які забезпечує +`wt-notification.vue` i `wt-notifications-bar.vue`.** + +## Store Action Інтерфейс + +Модуль забезпечує користувача такими Store Actions для користування: + - `INITIALIZE: (context)` + +Ініціалізує модуль, підписки, broadcastChannel, etc. Треба викликати перед початком +використання. Бажано на ініціалізації всього апплікейшена. + + - `DESTROY: (context)` + +Видаляє інстанс, робить cleanup. Треба викликати перед виключенням сторінки +`window.addEventListener('beforeunload')` щоб все працювало корректно. В противному +випадку, якщо відкрито декілька таб, звук не "перейде" з новішої на старішу при +закритті нової. + + - `PLAY_SOUND: (context, { action, sound })` + +Пілікаємо певний звук: це може бути новий меседж, рінгінг дзвінка, етс. `Action`- основний +параметр наразі підтримує: + - `ChatActions.UserInvite` + - `ChatActions.Message` + - `ChatActions.Close` + - `CallActions.Ringing` +із дефолтними для них звуками. +Якщо необхідно обробити не зазначений вище кейс, або додати свій звук - можна передати +`sound` параметром. `sound` може бути файлом, або `instanceof Audio`. + + - `STOP_SOUND: (context)` + +Зупинити програвання поточного звуку. + +**Увага! Не зупиняє дзвінок!** + + + - `SEND_NOTIFICATION: ( + context, +{ + locale, + text = i18n.t(locale), + icon = notificationIcon, + interval = NOTIFICATION_VISIBLE_INTERVAL, +} + )` + +Відправити [Desktop Notification](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API). +interval - інтервал перед пропаданням нотифікейшена. + + - `INCREMENT_UNREAD_COUNT: (context)` +Збільшити каунтер у tab title. Ресетається каунтер автоматично, при кліку +по цій табі. + diff --git a/docs/webitel-ui/modules/notifications-module/notifications-module-docs.vue b/docs/webitel-ui/modules/notifications-module/notifications-module-docs.vue new file mode 100644 index 000000000..885d8bd44 --- /dev/null +++ b/docs/webitel-ui/modules/notifications-module/notifications-module-docs.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/docs/webitel-ui/modules/table-store-module/assets/schema.png b/docs/webitel-ui/modules/table-store-module/assets/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..9064712a554b6e6027b647ebeee1a6e498f89058 GIT binary patch literal 12959 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 literal 0 HcmV?d00001 diff --git a/docs/webitel-ui/modules/table-store-module/table-store-module-docs.vue b/docs/webitel-ui/modules/table-store-module/table-store-module-docs.vue new file mode 100644 index 000000000..61df3c5cc --- /dev/null +++ b/docs/webitel-ui/modules/table-store-module/table-store-module-docs.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue b/docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue new file mode 100644 index 000000000..e1bf89564 --- /dev/null +++ b/docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/webitel-ui/plugins/plugins-docs.vue b/docs/webitel-ui/plugins/plugins-docs.vue new file mode 100644 index 000000000..df098b7a1 --- /dev/null +++ b/docs/webitel-ui/plugins/plugins-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/quick-start/quick-start.vue b/docs/webitel-ui/quick-start/quick-start.vue new file mode 100644 index 000000000..66ffe5b40 --- /dev/null +++ b/docs/webitel-ui/quick-start/quick-start.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue b/docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue new file mode 100644 index 000000000..bf318e076 --- /dev/null +++ b/docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue b/docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue new file mode 100644 index 000000000..7d9b881f2 --- /dev/null +++ b/docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue b/docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue new file mode 100644 index 000000000..0bd79c5a9 --- /dev/null +++ b/docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue b/docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue new file mode 100644 index 000000000..0fa6b893c --- /dev/null +++ b/docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue b/docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue new file mode 100644 index 000000000..dc166e748 --- /dev/null +++ b/docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue b/docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue new file mode 100644 index 000000000..948c65ed8 --- /dev/null +++ b/docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue b/docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue new file mode 100644 index 000000000..5bea3994e --- /dev/null +++ b/docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue b/docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue new file mode 100644 index 000000000..f0e6efbf7 --- /dev/null +++ b/docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue b/docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue new file mode 100644 index 000000000..6459f21c6 --- /dev/null +++ b/docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/docs/webitel-ui/scripts/scripts-docs.vue b/docs/webitel-ui/scripts/scripts-docs.vue new file mode 100644 index 000000000..c69a0a754 --- /dev/null +++ b/docs/webitel-ui/scripts/scripts-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue b/docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue new file mode 100644 index 000000000..ec06fd72c --- /dev/null +++ b/docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue b/docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue new file mode 100644 index 000000000..71bd8e6e1 --- /dev/null +++ b/docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/docs/webitel-ui/store/modules/api-store-module-docs.vue b/docs/webitel-ui/store/modules/api-store-module-docs.vue new file mode 100644 index 000000000..8d8713dcd --- /dev/null +++ b/docs/webitel-ui/store/modules/api-store-module-docs.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/docs/webitel-ui/store/modules/base-store-module-docs.vue b/docs/webitel-ui/store/modules/base-store-module-docs.vue new file mode 100644 index 000000000..1c3da78cc --- /dev/null +++ b/docs/webitel-ui/store/modules/base-store-module-docs.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/docs/webitel-ui/store/modules/reactive-now-store-module-docs.vue b/docs/webitel-ui/store/modules/reactive-now-store-module-docs.vue new file mode 100644 index 000000000..497c3e59a --- /dev/null +++ b/docs/webitel-ui/store/modules/reactive-now-store-module-docs.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/docs/webitel-ui/store/store-docs.vue b/docs/webitel-ui/store/store-docs.vue new file mode 100644 index 000000000..c0a8cbebd --- /dev/null +++ b/docs/webitel-ui/store/store-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/style/border-radius/border-radius.vue b/docs/webitel-ui/style/border-radius/border-radius.vue new file mode 100644 index 000000000..fde66347b --- /dev/null +++ b/docs/webitel-ui/style/border-radius/border-radius.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/docs/webitel-ui/style/breakpoints/breakpoints.vue b/docs/webitel-ui/style/breakpoints/breakpoints.vue new file mode 100644 index 000000000..97e05b77c --- /dev/null +++ b/docs/webitel-ui/style/breakpoints/breakpoints.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/docs/webitel-ui/style/colors/colors.vue b/docs/webitel-ui/style/colors/colors.vue new file mode 100644 index 000000000..02dbdf8ec --- /dev/null +++ b/docs/webitel-ui/style/colors/colors.vue @@ -0,0 +1,405 @@ + + + + + diff --git a/docs/webitel-ui/style/display-helpers/display-helpers.vue b/docs/webitel-ui/style/display-helpers/display-helpers.vue new file mode 100644 index 000000000..81b594531 --- /dev/null +++ b/docs/webitel-ui/style/display-helpers/display-helpers.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/docs/webitel-ui/style/elevations/elevations.vue b/docs/webitel-ui/style/elevations/elevations.vue new file mode 100644 index 000000000..7280bcf83 --- /dev/null +++ b/docs/webitel-ui/style/elevations/elevations.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/docs/webitel-ui/style/spacings/assets/spacing-colors.png b/docs/webitel-ui/style/spacings/assets/spacing-colors.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca369f090a274345f15496cbb1646c883e96a67 GIT binary patch literal 12469 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 xq3-pSke@var(--_spacing-multiplicator)(*Not for use!*), +which is equal to 8px + diff --git a/docs/webitel-ui/style/spacings/md/general/general.ua.md b/docs/webitel-ui/style/spacings/md/general/general.ua.md new file mode 100644 index 000000000..28a70b4f3 --- /dev/null +++ b/docs/webitel-ui/style/spacings/md/general/general.ua.md @@ -0,0 +1,9 @@ +### [Змінні і загальна інформація](#general) + +Система відступів у стайлгайді Webitel базується на певному мультиплікаторі розміру, +множеннями якого далі створюються змінні відступів необхідних розмірів. + +Цим мультиплкатором є var(--_spacing-multiplicator)(Не для використання), +який дорівнює 8px +Далі, від цього мультиплікатора створюються змінні, які ми і використовуємо: + diff --git a/docs/webitel-ui/style/spacings/md/general/index.js b/docs/webitel-ui/style/spacings/md/general/index.js new file mode 100644 index 000000000..82a986d33 --- /dev/null +++ b/docs/webitel-ui/style/spacings/md/general/index.js @@ -0,0 +1,6 @@ +import ua from './general.ua.md'; +import en from './general.en.md'; + +export default { + ru: ua, en, ua, default: en, +}; diff --git a/docs/webitel-ui/style/spacings/md/layouts/index.js b/docs/webitel-ui/style/spacings/md/layouts/index.js new file mode 100644 index 000000000..0ccaca805 --- /dev/null +++ b/docs/webitel-ui/style/spacings/md/layouts/index.js @@ -0,0 +1,6 @@ +import ua from './layouts.ua.md'; +import en from './layouts.en.md'; + +export default { + ru: ua, en, ua, default: en, +}; diff --git a/docs/webitel-ui/style/spacings/md/layouts/layouts.en.md b/docs/webitel-ui/style/spacings/md/layouts/layouts.en.md new file mode 100644 index 000000000..56a29ffda --- /dev/null +++ b/docs/webitel-ui/style/spacings/md/layouts/layouts.en.md @@ -0,0 +1,9 @@ +### [Layouts](#layouts) + +In Figma layouts, page spacings are represented on special type of layout: +![Typical spacing layout in Figma](../../assets/typical-spacing-layout.png) + +So that, each spacing variable has its visual color: +![Spacing colors](../../assets/spacing-colors.png) + + diff --git a/docs/webitel-ui/style/spacings/md/layouts/layouts.ua.md b/docs/webitel-ui/style/spacings/md/layouts/layouts.ua.md new file mode 100644 index 000000000..ef9795378 --- /dev/null +++ b/docs/webitel-ui/style/spacings/md/layouts/layouts.ua.md @@ -0,0 +1,9 @@ +### [Макет](#layouts) + +У макеті, як правило, ці спейсинги візуально позначаються через кольори: +![Typical spacing layout in Figma](../../assets/typical-spacing-layout.png) + +А, кожен спейсинг має свій відповідний, умовний колір: +![Spacing colors](../../assets/spacing-colors.png) + + diff --git a/docs/webitel-ui/style/spacings/spacings.vue b/docs/webitel-ui/style/spacings/spacings.vue new file mode 100644 index 000000000..96816096f --- /dev/null +++ b/docs/webitel-ui/style/spacings/spacings.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/docs/webitel-ui/style/style-docs.vue b/docs/webitel-ui/style/style-docs.vue new file mode 100644 index 000000000..f4d7d8f39 --- /dev/null +++ b/docs/webitel-ui/style/style-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/webitel-ui/style/typography/typography.vue b/docs/webitel-ui/style/typography/typography.vue new file mode 100644 index 000000000..6f43b7728 --- /dev/null +++ b/docs/webitel-ui/style/typography/typography.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/docs/webitel-ui/the-docs.vue b/docs/webitel-ui/the-docs.vue new file mode 100644 index 000000000..0c3138caf --- /dev/null +++ b/docs/webitel-ui/the-docs.vue @@ -0,0 +1,653 @@ + + + + + diff --git a/package-lock.json b/package-lock.json index 529bb9be8..b4c9eb0ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@webitel/ui-sdk", - "version": "23.12.39-vite-4", + "version": "23.12.39-vite-6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@webitel/ui-sdk", - "version": "23.12.39-vite-4", + "version": "23.12.39-vite-6", "dependencies": { "@floating-ui/vue": "^1.0.1", "@vue/compat": "^3.2.47", @@ -44,11 +44,14 @@ "eslint-plugin-vue": "^9.18.1", "happy-dom": "^12.9.1", "husky": "^8.0.3", + "markdown-it": "^13.0.2", + "prismjs": "^1.29.0", "sass": "^1.51.0", "vite": "^4.5.0", "vite-plugin-node-polyfills": "^0.15.0", "vite-plugin-static-copy": "^0.17.0", "vite-plugin-svg-sprite": "^0.5.0", + "vitepress": "^1.0.0-rc.25", "vitest": "^0.34.6", "vuex": "^4.1.0" } @@ -62,6 +65,180 @@ "node": ">=0.10.0" } }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -92,6 +269,54 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", + "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.5.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, "node_modules/@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -889,6 +1114,28 @@ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.6.tgz", + "integrity": "sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, "node_modules/@types/node": { "version": "17.0.38", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.38.tgz", @@ -1140,9 +1387,9 @@ } }, "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "node_modules/@vue/reactivity": { "version": "3.2.47", @@ -1341,6 +1588,140 @@ } } }, + "node_modules/@vueuse/integrations": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.1.tgz", + "integrity": "sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "*", + "axios": "*", + "change-case": "*", + "drauu": "*", + "focus-trap": "*", + "fuse.js": "*", + "idb-keyval": "*", + "jwt-decode": "*", + "nprogress": "*", + "qrcode": "*", + "sortablejs": "*", + "universal-cookie": "*" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/core": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/metadata": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/shared": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/@vueuse/metadata": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz", @@ -1437,6 +1818,28 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/algoliasearch": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.20.0", + "@algolia/cache-common": "4.20.0", + "@algolia/cache-in-memory": "4.20.0", + "@algolia/client-account": "4.20.0", + "@algolia/client-analytics": "4.20.0", + "@algolia/client-common": "4.20.0", + "@algolia/client-personalization": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/logger-console": "4.20.0", + "@algolia/requester-browser-xhr": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/requester-node-http": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1446,6 +1849,12 @@ "node": ">=8" } }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -3563,6 +3972,15 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, + "node_modules/focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", @@ -4973,6 +5391,15 @@ "immediate": "~3.0.5" } }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/loader-utils": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", @@ -5095,6 +5522,46 @@ "node": ">=0.10.0" } }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/markdown-it": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", + "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -5112,6 +5579,12 @@ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "node_modules/merge-options": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", @@ -5236,6 +5709,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minisearch": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz", + "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==", + "dev": true + }, "node_modules/mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -5971,6 +6450,16 @@ "posthtml-render": "^1.0.6" } }, + "node_modules/preact": { + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6006,6 +6495,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -6442,6 +6940,13 @@ "sdp-verify": "checker.js" } }, + "node_modules/search-insights": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.10.0.tgz", + "integrity": "sha512-pQGrOE56QuTRmq4NzliRZe9rv914hBMBjOviuDliDHoIhmBGoyZRlFsPd4RprGGNC4PKdD2Jz54YN4Cmkb44mA==", + "dev": true, + "peer": true + }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -6511,6 +7016,18 @@ "node": ">=8" } }, + "node_modules/shiki": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", + "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -7221,6 +7738,12 @@ "url": "https://opencollective.com/svgo" } }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, "node_modules/terser": { "version": "5.14.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz", @@ -7463,6 +7986,12 @@ "node": ">=4.2.0" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, "node_modules/ufo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", @@ -7776,10 +8305,216 @@ "vite": "^2 || ^3 || ^4" } }, - "node_modules/vitest": { - "version": "0.34.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", - "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", + "node_modules/vitepress": { + "version": "1.0.0-rc.25", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.25.tgz", + "integrity": "sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", + "@types/markdown-it": "^13.0.4", + "@vitejs/plugin-vue": "4.3.1", + "@vue/devtools-api": "^6.5.1", + "@vueuse/core": "^10.5.0", + "@vueuse/integrations": "^10.5.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.1.0", + "shiki": "^0.14.5", + "vite": "^4.5.0", + "vue": "^3.3.6" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4.3.2", + "postcss": "^8.4.31" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/vitepress/node_modules/@vitejs/plugin-vue": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz", + "integrity": "sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/vitepress/node_modules/@vue/compiler-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/vitepress/node_modules/@vue/compiler-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/vitepress/node_modules/@vue/compiler-sfc": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "node_modules/vitepress/node_modules/@vue/compiler-ssr": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/vitepress/node_modules/@vue/reactivity": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", + "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.3.8" + } + }, + "node_modules/vitepress/node_modules/@vue/reactivity-transform": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/vitepress/node_modules/@vue/runtime-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", + "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/vitepress/node_modules/@vue/runtime-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", + "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.8", + "@vue/shared": "3.3.8", + "csstype": "^3.1.2" + } + }, + "node_modules/vitepress/node_modules/@vue/server-renderer": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", + "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "vue": "3.3.8" + } + }, + "node_modules/vitepress/node_modules/@vue/shared": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", + "dev": true + }, + "node_modules/vitepress/node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/vitepress/node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/vitepress/node_modules/vue": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", + "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-sfc": "3.3.8", + "@vue/runtime-dom": "3.3.8", + "@vue/server-renderer": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", + "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", "dev": true, "dependencies": { "@types/chai": "^4.3.5", @@ -7877,6 +8612,18 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "node_modules/vue": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", @@ -8246,6 +8993,170 @@ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, + "@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "requires": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "requires": {} + }, + "@algolia/cache-browser-local-storage": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.20.0" + } + }, + "@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==", + "dev": true + }, + "@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.20.0" + } + }, + "@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dev": true, + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "dev": true, + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "dev": true, + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dev": true, + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==", + "dev": true + }, + "@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dev": true, + "requires": { + "@algolia/logger-common": "4.20.0" + } + }, + "@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.20.0" + } + }, + "@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==", + "dev": true + }, + "@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.20.0" + } + }, + "@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, "@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -8267,6 +9178,34 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", + "dev": true + }, + "@docsearch/js": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", + "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", + "dev": true, + "requires": { + "@docsearch/react": "3.5.2", + "preact": "^10.0.0" + } + }, + "@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "dev": true, + "requires": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" + } + }, "@esbuild/android-arm": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", @@ -8758,6 +9697,28 @@ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, + "@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "@types/markdown-it": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.6.tgz", + "integrity": "sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==", + "dev": true, + "requires": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, "@types/node": { "version": "17.0.38", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.38.tgz", @@ -8967,9 +9928,9 @@ } }, "@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" }, "@vue/reactivity": { "version": "3.2.47", @@ -9097,6 +10058,59 @@ } } }, + "@vueuse/integrations": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.1.tgz", + "integrity": "sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==", + "dev": true, + "requires": { + "@vueuse/core": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "dependencies": { + "@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "@vueuse/core": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "dev": true, + "requires": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + } + }, + "@vueuse/metadata": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "dev": true + }, + "@vueuse/shared": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "dev": true, + "requires": { + "vue-demi": ">=0.14.6" + } + }, + "vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "dev": true, + "requires": {} + } + } + }, "@vueuse/metadata": { "version": "10.5.0", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz", @@ -9155,12 +10169,40 @@ "uri-js": "^4.2.2" } }, + "algoliasearch": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", + "dev": true, + "requires": { + "@algolia/cache-browser-local-storage": "4.20.0", + "@algolia/cache-common": "4.20.0", + "@algolia/cache-in-memory": "4.20.0", + "@algolia/client-account": "4.20.0", + "@algolia/client-analytics": "4.20.0", + "@algolia/client-common": "4.20.0", + "@algolia/client-personalization": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/logger-console": "4.20.0", + "@algolia/requester-browser-xhr": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/requester-node-http": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, + "ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -10806,6 +11848,15 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, + "focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "requires": { + "tabbable": "^6.2.0" + } + }, "follow-redirects": { "version": "1.15.1", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", @@ -11840,6 +12891,15 @@ "immediate": "~3.0.5" } }, + "linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "loader-utils": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", @@ -11932,6 +12992,39 @@ "object-visit": "^1.0.0" } }, + "mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "markdown-it": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.2.tgz", + "integrity": "sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==", + "dev": true, + "requires": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + } + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -11949,6 +13042,12 @@ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", "dev": true }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "merge-options": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", @@ -12042,6 +13141,12 @@ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, + "minisearch": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz", + "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==", + "dev": true + }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -12614,6 +13719,12 @@ "posthtml-render": "^1.0.6" } }, + "preact": { + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -12639,6 +13750,12 @@ } } }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "dev": true + }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -12959,6 +14076,13 @@ "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.1.tgz", "integrity": "sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==" }, + "search-insights": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.10.0.tgz", + "integrity": "sha512-pQGrOE56QuTRmq4NzliRZe9rv914hBMBjOviuDliDHoIhmBGoyZRlFsPd4RprGGNC4PKdD2Jz54YN4Cmkb44mA==", + "dev": true, + "peer": true + }, "semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -13010,6 +14134,18 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "shiki": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", + "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", + "dev": true, + "requires": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -13588,6 +14724,12 @@ "picocolors": "^1.0.0" } }, + "tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, "terser": { "version": "5.14.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.0.tgz", @@ -13778,6 +14920,12 @@ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "peer": true }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, "ufo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", @@ -13999,6 +15147,179 @@ "svgo": "^3.0.2" } }, + "vitepress": { + "version": "1.0.0-rc.25", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.25.tgz", + "integrity": "sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==", + "dev": true, + "requires": { + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", + "@types/markdown-it": "^13.0.4", + "@vitejs/plugin-vue": "4.3.1", + "@vue/devtools-api": "^6.5.1", + "@vueuse/core": "^10.5.0", + "@vueuse/integrations": "^10.5.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.1.0", + "shiki": "^0.14.5", + "vite": "^4.5.0", + "vue": "^3.3.6" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@vitejs/plugin-vue": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz", + "integrity": "sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==", + "dev": true, + "requires": {} + }, + "@vue/compiler-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "@vue/reactivity": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", + "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "dev": true, + "requires": { + "@vue/shared": "3.3.8" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "dev": true, + "requires": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "@vue/runtime-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", + "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "dev": true, + "requires": { + "@vue/reactivity": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "@vue/runtime-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", + "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "dev": true, + "requires": { + "@vue/runtime-core": "3.3.8", + "@vue/shared": "3.3.8", + "csstype": "^3.1.2" + } + }, + "@vue/server-renderer": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", + "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "dev": true, + "requires": { + "@vue/compiler-ssr": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "@vue/shared": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", + "dev": true + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "vue": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", + "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-sfc": "3.3.8", + "@vue/runtime-dom": "3.3.8", + "@vue/server-renderer": "3.3.8", + "@vue/shared": "3.3.8" + } + } + } + }, "vitest": { "version": "0.34.6", "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", @@ -14054,6 +15375,18 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, "vue": { "version": "3.2.47", "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", diff --git a/package.json b/package.json index f34032394..d2d930a31 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,10 @@ "lint:fix": "eslint --fix --ext .js,.vue src", "prepare": "husky install", "publish-lib": "npm run test:unit && npm run build && npm publish --access public", - "publish-lib:testless": "npm run build && npm publish --access public" + "publish-lib:testless": "npm run build && npm publish --access public", + "docs:dev": "vitepress dev docs", + "docs:build": "vitepress build docs", + "docs:preview": "vitepress preview docs" }, "main": "./dist/@webitel/ui-sdk.umd.js", "files": [ @@ -67,11 +70,14 @@ "eslint-plugin-vue": "^9.18.1", "happy-dom": "^12.9.1", "husky": "^8.0.3", + "markdown-it": "^13.0.2", + "prismjs": "^1.29.0", "sass": "^1.51.0", "vite": "^4.5.0", "vite-plugin-node-polyfills": "^0.15.0", "vite-plugin-static-copy": "^0.17.0", "vite-plugin-svg-sprite": "^0.5.0", + "vitepress": "^1.0.0-rc.25", "vitest": "^0.34.6", "vuex": "^4.1.0" } From aaa80da94faa42eab4dc10464d7c276a78224e99 Mon Sep 17 00:00:00 2001 From: dlohvinov Date: Mon, 20 Nov 2023 12:42:07 +0200 Subject: [PATCH 07/18] various fixes, removed vitepress --- .../.vitepress/cache/deps/@floating-ui_vue.js | 1766 - .../cache/deps/@floating-ui_vue.js.map | 7 - .../cache/deps/@vuepic_vue-datepicker.js | 11893 --- .../cache/deps/@vuepic_vue-datepicker.js.map | 7 - .../cache/deps/@vueuse_components.js | 4639 -- .../cache/deps/@vueuse_components.js.map | 7 - docs/.vitepress/cache/deps/_metadata.json | 113 - docs/.vitepress/cache/deps/chunk-2YWP3TL2.js | 9517 --- .../cache/deps/chunk-2YWP3TL2.js.map | 7 - docs/.vitepress/cache/deps/chunk-J4VLYDXT.js | 163 - .../cache/deps/chunk-J4VLYDXT.js.map | 7 - docs/.vitepress/cache/deps/chunk-ROME4SDB.js | 42 - .../cache/deps/chunk-ROME4SDB.js.map | 7 - docs/.vitepress/cache/deps/clipboard-copy.js | 59 - .../cache/deps/clipboard-copy.js.map | 7 - docs/.vitepress/cache/deps/deep-copy.js | 64 - docs/.vitepress/cache/deps/deep-copy.js.map | 7 - docs/.vitepress/cache/deps/lodash_debounce.js | 290 - .../cache/deps/lodash_debounce.js.map | 7 - docs/.vitepress/cache/deps/markdown-it.js | 5198 -- docs/.vitepress/cache/deps/markdown-it.js.map | 7 - docs/.vitepress/cache/deps/package.json | 3 - docs/.vitepress/cache/deps/plyr.js | 2760 - docs/.vitepress/cache/deps/plyr.js.map | 7 - docs/.vitepress/cache/deps/prismjs.js | 1466 - docs/.vitepress/cache/deps/prismjs.js.map | 7 - .../deps/vitepress___@vue_devtools-api.js | 12 - .../deps/vitepress___@vue_devtools-api.js.map | 7 - docs/.vitepress/cache/deps/vue-i18n.js | 5230 -- docs/.vitepress/cache/deps/vue-i18n.js.map | 7 - docs/.vitepress/cache/deps/vue-multiselect.js | 1325 - .../cache/deps/vue-multiselect.js.map | 7 - .../cache/deps/vue-observe-visibility.js | 264 - .../cache/deps/vue-observe-visibility.js.map | 7 - docs/.vitepress/cache/deps/vue.js | 298 - docs/.vitepress/cache/deps/vue.js.map | 7 - docs/.vitepress/cache/deps/webitel-sdk.js | 68217 ---------------- docs/.vitepress/cache/deps/webitel-sdk.js.map | 7 - .../cache/deps/webitel-sdk_esm2015_enums.js | 194 - .../deps/webitel-sdk_esm2015_enums.js.map | 7 - docs/.vitepress/config.mjs | 38 - docs/.vitepress/theme/index.js | 19 - docs/README.md | 25 + docs/index.html | 17 + docs/index.md | 1 - docs/package-lock.json | 13129 +++ docs/package.json | 41 + docs/postcss.config.mjs | 12 + docs/public/favicon.ico | Bin 0 -> 4286 bytes docs/public/img/plyr.svg | 70 + .../webitel-flow-ui}/enums/enums-docs.vue | 2 +- .../enums/flow-app/flow-app-enum-docs.vue | 31 + .../webitel-flow-ui/locale/locale-docs.vue | 23 + .../flow-type-applications-lookup-docs.vue | 27 + .../webitel-flow-ui/lookups/lookups-docs.vue | 13 + .../quick-start/quick-start.vue | 48 + .../pages/webitel-flow-ui/the-docs.vue | 99 + .../components/pages/webitel-ui/changelog.vue | 21 + .../webitel-ui/components/components-docs.vue | 2 +- .../wt-app-header/wt-app-header-docs.vue | 30 +- .../webitel-ui/components/wt-avatar/pic.jpg | Bin .../components/wt-avatar/wt-avatar-docs.vue | 26 +- .../components/wt-badge/wt-badge-docs.vue | 18 +- .../wt-button-select-docs.vue | 158 + .../components/wt-button/wt-button-docs.vue | 97 +- .../wt-cc-agent-status-timers-docs.vue | 6 +- .../wt-checkbox/wt-checkbox-docs.vue | 20 +- .../components/wt-chip/wt-chip-docs.vue | 45 +- .../wt-context-menu/wt-context-menu-docs.vue | 8 +- .../wt-copy-action/wt-copy-action.vue | 8 +- .../wt-datepicker/wt-datepicker-docs.vue | 27 +- .../components/wt-divider/wt-divider-docs.vue | 4 +- .../webitel-ui/components/wt-dummy/pic.svg | 0 .../components/wt-dummy/wt-dummy-docs.vue | 10 +- .../wt-error-page/wt-error-page-docs.vue | 19 +- .../wt-expansion-panel-docs.vue | 13 +- .../wt-table-actions-docs.vue | 20 +- .../wt-headline-nav/wt-headline-nav-docs.vue | 20 +- .../wt-headline/wt-headline-docs.vue | 31 +- .../components/wt-hint/wt-hint-docs.vue | 6 +- .../wt-icon-action/wt-icon-action-docs.vue | 16 +- .../wt-icon-btn/wt-icon-btn-docs.vue | 14 +- .../wt-icon/_internals/icon-grid.vue | 24 +- .../wt-icon/_internals/iconsList.js | 0 .../wt-icon/assets/cleanup-svg-fill-none.png | Bin .../wt-icon/assets/cleanup-svg-fill.png | Bin .../assets/cleanup-svg-viewbox-correct.png | Bin .../assets/cleanup-svg-viewbox-incorrect.png | Bin .../assets/cleanup-svg-width-height.png | Bin .../wt-icon/assets/svg-icon-code-example.png | Bin .../wt-icon/assets/svg-sprite-in-dom.png | Bin .../md/cleanup-icons/cleanup-icons.en.md | 0 .../md/cleanup-icons/cleanup-icons.ru.md | 0 .../wt-icon/md/cleanup-icons/img.png | Bin .../wt-icon/md/cleanup-icons/index.js | 0 .../how-does-it-work/how-does-it-work.en.md | 0 .../how-does-it-work/how-does-it-work.ru.md | 0 .../wt-icon/md/how-does-it-work/index.js | 0 ...w-to-install-custom-icons-to-project.en.md | 0 ...w-to-install-custom-icons-to-project.ru.md | 0 .../index.js | 0 .../icons-naming-convention.en.md | 0 .../icons-naming-convention.ru.md | 0 .../md/icons-naming-convention/index.js | 0 .../components/wt-icon/wt-icon-docs.vue | 48 +- .../wt-indicator/wt-indicator-docs.vue | 50 +- .../wt-input-info/wt-input-info-docs.vue | 7 +- .../components/wt-input/wt-input-docs.vue | 35 +- .../wt-item-link/wt-item-link-docs.vue | 4 +- .../components/wt-label/wt-label-docs.vue | 7 +- .../wt-load-bar/wt-load-bar-docs.vue | 12 +- .../components/wt-loader/wt-loader-docs.vue | 14 +- .../wt-navigation-bar-docs.vue | 19 +- .../wt-notification/wt-notification-docs.vue | 21 +- .../wt-notifications-bar-docs.vue | 19 +- .../wt-page-header/wt-page-header-docs.vue | 6 +- .../wt-page-wrapper/wt-page-wrapper-docs.vue | 21 +- .../wt-pagination/wt-pagination-docs.vue | 10 +- .../components/wt-player/wt-player-docs.vue | 20 +- .../components/wt-popup/wt-popup-docs.vue | 35 +- .../wt-progress-bar/wt-progress-bar-docs.vue | 13 +- .../components/wt-radio/wt-radio-docs.vue | 14 +- .../wt-rounded-action-docs.vue | 256 + .../wt-search-bar/wt-search-bar-docs.vue | 15 +- .../components/wt-select/wt-select-docs.vue | 28 +- .../components/wt-slider/wt-slider-docs.vue | 32 +- .../wt-status-select-docs.vue | 24 +- .../components/wt-stepper/wt-stepper-docs.vue | 8 +- .../wt-switcher/wt-switcher-docs.vue | 16 +- .../wt-table-actions-docs.vue | 11 +- .../wt-table-column-select-docs.vue | 13 +- .../components/wt-table/wt-table-docs.vue | 46 +- .../components/wt-tabs/wt-tabs-docs.vue | 12 +- .../wt-tags-input/wt-tags-input-docs.vue | 28 +- .../wt-textarea/wt-textarea-docs.vue | 13 +- .../wt-time-input/wt-time-input-docs.vue | 17 +- .../wt-timepicker/wt-timepicker-docs.vue | 25 +- .../components/wt-tooltip/wt-tooltip-docs.vue | 19 +- .../composables/composables-docs.vue | 2 +- .../use-cached-interval-docs.vue | 16 +- .../use-destroyable-sortable-docs.vue | 16 +- ...e-representable-agent-pause-cause-docs.vue | 4 +- .../clickaway-directive-docs.vue | 6 +- .../webitel-ui/directives/directives-docs.vue | 2 +- .../enums/_internals/enumReducer.js | 0 .../abstract-user-status-enum-docs.vue | 21 +- .../admin-sections-enum-docs.vue | 16 +- .../agent-status/agent-status-enum-docs.vue | 23 +- .../pages/webitel-ui/enums/enums-docs.vue | 13 + .../supervisor-sections-enum-docs.vue | 14 +- .../webitel-applications-enum-docs.vue | 16 +- .../webitel-ui/filters/filters-docs.vue | 2 +- .../truncate-filter/truncate-filter-docs.vue | 2 +- .../pages}/webitel-ui/locale/locale-docs.vue | 4 +- .../pages}/webitel-ui/mixins/mixins-docs.vue | 2 +- .../validation-mixin-docs.vue | 8 +- .../img/agent-status-select__error-popup.jpg | Bin ...agent-status-select__pause-cause-popup.png | Bin .../img/agent-status-select__select.png | Bin .../agent-status-select-docs.vue | 13 +- .../audit-form/audit-form-module-docs.vue | 12 +- .../card-store-module-docs.vue | 12 +- .../data-filter-module-docs.vue | 291 + .../export-csv-module-docs.vue | 29 +- .../export-files-module-docs.vue | 35 +- .../webitel-ui/modules/modules-docs.vue | 2 +- .../modules/notifications-module/md/index.js | 0 .../md/notifications.en.md | 0 .../md/notifications.ua.md | 0 .../notifications-module-docs.vue | 6 +- .../table-store-module/assets/schema.png | Bin .../table-store-module-docs.vue | 19 +- .../breakpoint/breakpoint-plugin-docs.vue | 28 +- .../webitel-ui/plugins/plugins-docs.vue | 2 +- .../webitel-ui/quick-start/quick-start.vue | 4 +- .../case-converter-scripts-docs.vue | 15 +- .../convert-duration-script-docs.vue | 2 +- .../debounce-script/debounce-script-docs.vue | 2 +- .../edit-proxy-script-docs.vue | 10 +- .../event-bus-script-docs.vue | 2 +- .../is-empty-script/is-empty-script-docs.vue | 2 +- .../prettify-file-size-script.vue | 14 +- .../prettify-time-script-docs.vue | 2 +- ...idden-page-calls-decorator-script-docs.vue | 2 +- .../webitel-ui/scripts/scripts-docs.vue | 2 +- .../sort-query-adapter-scripts-docs.vue | 8 +- .../helpers/get-namespaced-state-docs.vue | 2 +- .../store/modules/api-store-module-docs.vue | 8 +- .../store/modules/base-store-module-docs.vue | 14 +- .../reactive-now-store-module-docs.vue | 0 .../pages}/webitel-ui/store/store-docs.vue | 2 +- .../style/border-radius/border-radius.vue | 6 +- .../style/breakpoints/breakpoints.vue | 64 + .../pages}/webitel-ui/style/colors/colors.vue | 34 +- .../style/display-helpers/display-helpers.vue | 10 +- .../style/elevations/elevations.vue | 6 +- .../style/spacings/assets/spacing-colors.png | Bin .../assets/typical-spacing-layout.png | Bin .../style/spacings/md/general/general.en.md | 0 .../style/spacings/md/general/general.ua.md | 0 .../style/spacings/md/general/index.js | 0 .../style/spacings/md/layouts/index.js | 0 .../style/spacings/md/layouts/layouts.en.md | 0 .../style/spacings/md/layouts/layouts.ua.md | 0 .../webitel-ui/style/spacings/spacings.vue | 16 +- .../pages}/webitel-ui/style/style-docs.vue | 2 +- .../style/typography/typography.vue | 67 +- .../components/pages}/webitel-ui/the-docs.vue | 10 +- .../components}/shared/component-events.vue | 8 +- .../components}/shared/component-model.vue | 12 +- .../components}/shared/component-props.vue | 14 +- .../components}/shared/component-slots.vue | 10 +- docs/{ => src/components}/shared/index.js | 0 .../components}/shared/md-component.vue | 8 +- docs/src/css/main.scss | 77 + docs/src/locale/en/en.js | 2 + docs/src/locale/i18n.js | 15 + docs/src/locale/ru/ru.js | 1 + docs/src/main.js | 23 + docs/src/mixins/prismMixin.js | 7 + docs/src/plugins/webitel-cc-ui.js | 15 + docs/src/plugins/webitel-ui.js | 17 + docs/src/router/index.js | 27 + docs/src/router/webitel-flow-ui.js | 62 + docs/src/router/webitel-ui.js | 810 + docs/src/the-app.vue | 13 + docs/vite.config.js | 59 + docs/webitel-ui/changelog.vue | 18 - .../wt-button-select-docs.vue | 96 - .../components/wt-input/wt-input.md | 5 - .../wt-rounded-action-docs.vue | 139 - .../data-filter-module-docs.vue | 272 - .../style/breakpoints/breakpoints.vue | 57 - package-lock.json | 1289 +- package.json | 2 +- .../CSVExport/__tests__/CSVExport.spec.js | 5 +- .../FilesExport/__tests__/FilesExport.spec.js | 5 +- .../NotificationsStoreModule.actions.spec.js | 6 +- .../components/__tests__/auth.spec.js | 2 - 239 files changed, 16558 insertions(+), 116242 deletions(-) delete mode 100644 docs/.vitepress/cache/deps/@floating-ui_vue.js delete mode 100644 docs/.vitepress/cache/deps/@floating-ui_vue.js.map delete mode 100644 docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js delete mode 100644 docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js.map delete mode 100644 docs/.vitepress/cache/deps/@vueuse_components.js delete mode 100644 docs/.vitepress/cache/deps/@vueuse_components.js.map delete mode 100644 docs/.vitepress/cache/deps/_metadata.json delete mode 100644 docs/.vitepress/cache/deps/chunk-2YWP3TL2.js delete mode 100644 docs/.vitepress/cache/deps/chunk-2YWP3TL2.js.map delete mode 100644 docs/.vitepress/cache/deps/chunk-J4VLYDXT.js delete mode 100644 docs/.vitepress/cache/deps/chunk-J4VLYDXT.js.map delete mode 100644 docs/.vitepress/cache/deps/chunk-ROME4SDB.js delete mode 100644 docs/.vitepress/cache/deps/chunk-ROME4SDB.js.map delete mode 100644 docs/.vitepress/cache/deps/clipboard-copy.js delete mode 100644 docs/.vitepress/cache/deps/clipboard-copy.js.map delete mode 100644 docs/.vitepress/cache/deps/deep-copy.js delete mode 100644 docs/.vitepress/cache/deps/deep-copy.js.map delete mode 100644 docs/.vitepress/cache/deps/lodash_debounce.js delete mode 100644 docs/.vitepress/cache/deps/lodash_debounce.js.map delete mode 100644 docs/.vitepress/cache/deps/markdown-it.js delete mode 100644 docs/.vitepress/cache/deps/markdown-it.js.map delete mode 100644 docs/.vitepress/cache/deps/package.json delete mode 100644 docs/.vitepress/cache/deps/plyr.js delete mode 100644 docs/.vitepress/cache/deps/plyr.js.map delete mode 100644 docs/.vitepress/cache/deps/prismjs.js delete mode 100644 docs/.vitepress/cache/deps/prismjs.js.map delete mode 100644 docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js delete mode 100644 docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map delete mode 100644 docs/.vitepress/cache/deps/vue-i18n.js delete mode 100644 docs/.vitepress/cache/deps/vue-i18n.js.map delete mode 100644 docs/.vitepress/cache/deps/vue-multiselect.js delete mode 100644 docs/.vitepress/cache/deps/vue-multiselect.js.map delete mode 100644 docs/.vitepress/cache/deps/vue-observe-visibility.js delete mode 100644 docs/.vitepress/cache/deps/vue-observe-visibility.js.map delete mode 100644 docs/.vitepress/cache/deps/vue.js delete mode 100644 docs/.vitepress/cache/deps/vue.js.map delete mode 100644 docs/.vitepress/cache/deps/webitel-sdk.js delete mode 100644 docs/.vitepress/cache/deps/webitel-sdk.js.map delete mode 100644 docs/.vitepress/cache/deps/webitel-sdk_esm2015_enums.js delete mode 100644 docs/.vitepress/cache/deps/webitel-sdk_esm2015_enums.js.map delete mode 100644 docs/.vitepress/config.mjs delete mode 100644 docs/.vitepress/theme/index.js create mode 100644 docs/README.md create mode 100644 docs/index.html delete mode 100644 docs/index.md create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/postcss.config.mjs create mode 100644 docs/public/favicon.ico create mode 100644 docs/public/img/plyr.svg rename docs/{webitel-ui => src/components/pages/webitel-flow-ui}/enums/enums-docs.vue (82%) create mode 100644 docs/src/components/pages/webitel-flow-ui/enums/flow-app/flow-app-enum-docs.vue create mode 100644 docs/src/components/pages/webitel-flow-ui/locale/locale-docs.vue create mode 100644 docs/src/components/pages/webitel-flow-ui/lookups/flow-type-applications/flow-type-applications-lookup-docs.vue create mode 100644 docs/src/components/pages/webitel-flow-ui/lookups/lookups-docs.vue create mode 100644 docs/src/components/pages/webitel-flow-ui/quick-start/quick-start.vue create mode 100644 docs/src/components/pages/webitel-flow-ui/the-docs.vue create mode 100644 docs/src/components/pages/webitel-ui/changelog.vue rename docs/{ => src/components/pages}/webitel-ui/components/components-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-app-header/wt-app-header-docs.vue (87%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-avatar/pic.jpg (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-avatar/wt-avatar-docs.vue (91%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-badge/wt-badge-docs.vue (81%) create mode 100644 docs/src/components/pages/webitel-ui/components/wt-button-select/wt-button-select-docs.vue rename docs/{ => src/components/pages}/webitel-ui/components/wt-button/wt-button-docs.vue (60%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-checkbox/wt-checkbox-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-chip/wt-chip-docs.vue (63%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-context-menu/wt-context-menu-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-copy-action/wt-copy-action.vue (88%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-datepicker/wt-datepicker-docs.vue (86%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-divider/wt-divider-docs.vue (88%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-dummy/pic.svg (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-dummy/wt-dummy-docs.vue (93%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-error-page/wt-error-page-docs.vue (74%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-expansion-panel/wt-expansion-panel-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-filters-panel-wrapper/wt-table-actions-docs.vue (70%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-headline-nav/wt-headline-nav-docs.vue (75%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-headline/wt-headline-docs.vue (73%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-hint/wt-hint-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon-action/wt-icon-action-docs.vue (85%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon-btn/wt-icon-btn-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/_internals/icon-grid.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/_internals/iconsList.js (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/cleanup-svg-fill-none.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/cleanup-svg-fill.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/cleanup-svg-viewbox-correct.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/cleanup-svg-viewbox-incorrect.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/cleanup-svg-width-height.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/svg-icon-code-example.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/assets/svg-sprite-in-dom.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/cleanup-icons/cleanup-icons.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/cleanup-icons/cleanup-icons.ru.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/cleanup-icons/img.png (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/cleanup-icons/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-does-it-work/how-does-it-work.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-does-it-work/how-does-it-work.ru.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-does-it-work/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/how-to-install-custom-icons-to-project.ru.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/how-to-install-custom-icons-to-project/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/icons-naming-convention/icons-naming-convention.ru.md (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/md/icons-naming-convention/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-icon/wt-icon-docs.vue (77%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-indicator/wt-indicator-docs.vue (61%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-input-info/wt-input-info-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-input/wt-input-docs.vue (91%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-item-link/wt-item-link-docs.vue (96%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-label/wt-label-docs.vue (95%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-load-bar/wt-load-bar-docs.vue (78%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-loader/wt-loader-docs.vue (90%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue (85%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-notification/wt-notification-docs.vue (77%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue (70%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-page-header/wt-page-header-docs.vue (96%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue (82%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-pagination/wt-pagination-docs.vue (95%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-player/wt-player-docs.vue (84%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-popup/wt-popup-docs.vue (82%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-progress-bar/wt-progress-bar-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-radio/wt-radio-docs.vue (94%) create mode 100644 docs/src/components/pages/webitel-ui/components/wt-rounded-action/wt-rounded-action-docs.vue rename docs/{ => src/components/pages}/webitel-ui/components/wt-search-bar/wt-search-bar-docs.vue (95%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-select/wt-select-docs.vue (95%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-slider/wt-slider-docs.vue (87%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-status-select/wt-status-select-docs.vue (84%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-stepper/wt-stepper-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-switcher/wt-switcher-docs.vue (91%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-table-actions/wt-table-actions-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-table-column-select/wt-table-column-select-docs.vue (91%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-table/wt-table-docs.vue (90%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-tabs/wt-tabs-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-tags-input/wt-tags-input-docs.vue (86%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-textarea/wt-textarea-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-time-input/wt-time-input-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-timepicker/wt-timepicker-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/components/wt-tooltip/wt-tooltip-docs.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/composables/composables-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue (74%) rename docs/{ => src/components/pages}/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue (59%) rename docs/{ => src/components/pages}/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue (80%) rename docs/{ => src/components/pages}/webitel-ui/directives/directives-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/enums/_internals/enumReducer.js (100%) rename docs/{ => src/components/pages}/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue (65%) rename docs/{ => src/components/pages}/webitel-ui/enums/admin-sections/admin-sections-enum-docs.vue (68%) rename docs/{ => src/components/pages}/webitel-ui/enums/agent-status/agent-status-enum-docs.vue (63%) create mode 100644 docs/src/components/pages/webitel-ui/enums/enums-docs.vue rename docs/{ => src/components/pages}/webitel-ui/enums/supervisor-sections/supervisor-sections-enum-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/enums/webitel-applications/webitel-applications-enum-docs.vue (70%) rename docs/{ => src/components/pages}/webitel-ui/filters/filters-docs.vue (81%) rename docs/{ => src/components/pages}/webitel-ui/filters/truncate-filter/truncate-filter-docs.vue (96%) rename docs/{ => src/components/pages}/webitel-ui/locale/locale-docs.vue (74%) rename docs/{ => src/components/pages}/webitel-ui/mixins/mixins-docs.vue (82%) rename docs/{ => src/components/pages}/webitel-ui/mixins/validation-mixin/validation-mixin-docs.vue (87%) rename docs/{ => src/components/pages}/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__error-popup.jpg (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__pause-cause-popup.png (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/agent-status-select/_internals/img/agent-status-select__select.png (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/agent-status-select/agent-status-select-docs.vue (91%) rename docs/{ => src/components/pages}/webitel-ui/modules/audit-form/audit-form-module-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/modules/card-store-module/card-store-module-docs.vue (81%) create mode 100644 docs/src/components/pages/webitel-ui/modules/data-filter-module/data-filter-module-docs.vue rename docs/{ => src/components/pages}/webitel-ui/modules/export-csv-module/export-csv-module-docs.vue (61%) rename docs/{ => src/components/pages}/webitel-ui/modules/export-files-module/export-files-module-docs.vue (62%) rename docs/{ => src/components/pages}/webitel-ui/modules/modules-docs.vue (81%) rename docs/{ => src/components/pages}/webitel-ui/modules/notifications-module/md/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/notifications-module/md/notifications.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/notifications-module/md/notifications.ua.md (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/notifications-module/notifications-module-docs.vue (88%) rename docs/{ => src/components/pages}/webitel-ui/modules/table-store-module/assets/schema.png (100%) rename docs/{ => src/components/pages}/webitel-ui/modules/table-store-module/table-store-module-docs.vue (90%) rename docs/{ => src/components/pages}/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue (74%) rename docs/{ => src/components/pages}/webitel-ui/plugins/plugins-docs.vue (81%) rename docs/{ => src/components/pages}/webitel-ui/quick-start/quick-start.vue (96%) rename docs/{ => src/components/pages}/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue (75%) rename docs/{ => src/components/pages}/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue (93%) rename docs/{ => src/components/pages}/webitel-ui/scripts/debounce-script/debounce-script-docs.vue (96%) rename docs/{ => src/components/pages}/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue (77%) rename docs/{ => src/components/pages}/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue (90%) rename docs/{ => src/components/pages}/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue (81%) rename docs/{ => src/components/pages}/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue (90%) rename docs/{ => src/components/pages}/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue (93%) rename docs/{ => src/components/pages}/webitel-ui/scripts/scripts-docs.vue (81%) rename docs/{ => src/components/pages}/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue (79%) rename docs/{ => src/components/pages}/webitel-ui/store/helpers/get-namespaced-state-docs.vue (94%) rename docs/{ => src/components/pages}/webitel-ui/store/modules/api-store-module-docs.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/store/modules/base-store-module-docs.vue (84%) rename docs/{ => src/components/pages}/webitel-ui/store/modules/reactive-now-store-module-docs.vue (100%) rename docs/{ => src/components/pages}/webitel-ui/store/store-docs.vue (82%) rename docs/{ => src/components/pages}/webitel-ui/style/border-radius/border-radius.vue (88%) create mode 100644 docs/src/components/pages/webitel-ui/style/breakpoints/breakpoints.vue rename docs/{ => src/components/pages}/webitel-ui/style/colors/colors.vue (93%) rename docs/{ => src/components/pages}/webitel-ui/style/display-helpers/display-helpers.vue (86%) rename docs/{ => src/components/pages}/webitel-ui/style/elevations/elevations.vue (89%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/assets/spacing-colors.png (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/assets/typical-spacing-layout.png (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/general/general.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/general/general.ua.md (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/general/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/layouts/index.js (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/layouts/layouts.en.md (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/md/layouts/layouts.ua.md (100%) rename docs/{ => src/components/pages}/webitel-ui/style/spacings/spacings.vue (92%) rename docs/{ => src/components/pages}/webitel-ui/style/style-docs.vue (82%) rename docs/{ => src/components/pages}/webitel-ui/style/typography/typography.vue (78%) rename docs/{ => src/components/pages}/webitel-ui/the-docs.vue (99%) rename docs/{ => src/components}/shared/component-events.vue (87%) rename docs/{ => src/components}/shared/component-model.vue (59%) rename docs/{ => src/components}/shared/component-props.vue (85%) rename docs/{ => src/components}/shared/component-slots.vue (86%) rename docs/{ => src/components}/shared/index.js (100%) rename docs/{ => src/components}/shared/md-component.vue (84%) create mode 100644 docs/src/css/main.scss create mode 100644 docs/src/locale/en/en.js create mode 100644 docs/src/locale/i18n.js create mode 100644 docs/src/locale/ru/ru.js create mode 100644 docs/src/main.js create mode 100644 docs/src/mixins/prismMixin.js create mode 100644 docs/src/plugins/webitel-cc-ui.js create mode 100644 docs/src/plugins/webitel-ui.js create mode 100644 docs/src/router/index.js create mode 100644 docs/src/router/webitel-flow-ui.js create mode 100644 docs/src/router/webitel-ui.js create mode 100644 docs/src/the-app.vue create mode 100644 docs/vite.config.js delete mode 100644 docs/webitel-ui/changelog.vue delete mode 100644 docs/webitel-ui/components/wt-button-select/wt-button-select-docs.vue delete mode 100644 docs/webitel-ui/components/wt-input/wt-input.md delete mode 100644 docs/webitel-ui/components/wt-rounded-action/wt-rounded-action-docs.vue delete mode 100644 docs/webitel-ui/modules/data-filter-module/data-filter-module-docs.vue delete mode 100644 docs/webitel-ui/style/breakpoints/breakpoints.vue diff --git a/docs/.vitepress/cache/deps/@floating-ui_vue.js b/docs/.vitepress/cache/deps/@floating-ui_vue.js deleted file mode 100644 index b43517998..000000000 --- a/docs/.vitepress/cache/deps/@floating-ui_vue.js +++ /dev/null @@ -1,1766 +0,0 @@ -import { - computed, - getCurrentScope, - onScopeDispose, - ref, - shallowReadonly, - shallowRef, - unref, - watch -} from "./chunk-2YWP3TL2.js"; -import "./chunk-ROME4SDB.js"; - -// node_modules/@floating-ui/vue/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs -function getAlignment(placement) { - return placement.split("-")[1]; -} -function getLengthFromAxis(axis) { - return axis === "y" ? "height" : "width"; -} -function getSide(placement) { - return placement.split("-")[0]; -} -function getMainAxisFromPlacement(placement) { - return ["top", "bottom"].includes(getSide(placement)) ? "x" : "y"; -} -function computeCoordsFromPlacement(_ref, placement, rtl) { - let { - reference, - floating - } = _ref; - const commonX = reference.x + reference.width / 2 - floating.width / 2; - const commonY = reference.y + reference.height / 2 - floating.height / 2; - const mainAxis = getMainAxisFromPlacement(placement); - const length = getLengthFromAxis(mainAxis); - const commonAlign = reference[length] / 2 - floating[length] / 2; - const side = getSide(placement); - const isVertical = mainAxis === "x"; - let coords; - switch (side) { - case "top": - coords = { - x: commonX, - y: reference.y - floating.height - }; - break; - case "bottom": - coords = { - x: commonX, - y: reference.y + reference.height - }; - break; - case "right": - coords = { - x: reference.x + reference.width, - y: commonY - }; - break; - case "left": - coords = { - x: reference.x - floating.width, - y: commonY - }; - break; - default: - coords = { - x: reference.x, - y: reference.y - }; - } - switch (getAlignment(placement)) { - case "start": - coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); - break; - case "end": - coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1); - break; - } - return coords; -} -var computePosition = async (reference, floating, config) => { - const { - placement = "bottom", - strategy = "absolute", - middleware = [], - platform: platform2 - } = config; - const validMiddleware = middleware.filter(Boolean); - const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating)); - let rects = await platform2.getElementRects({ - reference, - floating, - strategy - }); - let { - x, - y - } = computeCoordsFromPlacement(rects, placement, rtl); - let statefulPlacement = placement; - let middlewareData = {}; - let resetCount = 0; - for (let i = 0; i < validMiddleware.length; i++) { - const { - name, - fn - } = validMiddleware[i]; - const { - x: nextX, - y: nextY, - data, - reset - } = await fn({ - x, - y, - initialPlacement: placement, - placement: statefulPlacement, - strategy, - middlewareData, - rects, - platform: platform2, - elements: { - reference, - floating - } - }); - x = nextX != null ? nextX : x; - y = nextY != null ? nextY : y; - middlewareData = { - ...middlewareData, - [name]: { - ...middlewareData[name], - ...data - } - }; - if (reset && resetCount <= 50) { - resetCount++; - if (typeof reset === "object") { - if (reset.placement) { - statefulPlacement = reset.placement; - } - if (reset.rects) { - rects = reset.rects === true ? await platform2.getElementRects({ - reference, - floating, - strategy - }) : reset.rects; - } - ({ - x, - y - } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); - } - i = -1; - continue; - } - } - return { - x, - y, - placement: statefulPlacement, - strategy, - middlewareData - }; -}; -function evaluate(value, param) { - return typeof value === "function" ? value(param) : value; -} -function expandPaddingObject(padding) { - return { - top: 0, - right: 0, - bottom: 0, - left: 0, - ...padding - }; -} -function getSideObjectFromPadding(padding) { - return typeof padding !== "number" ? expandPaddingObject(padding) : { - top: padding, - right: padding, - bottom: padding, - left: padding - }; -} -function rectToClientRect(rect) { - return { - ...rect, - top: rect.y, - left: rect.x, - right: rect.x + rect.width, - bottom: rect.y + rect.height - }; -} -async function detectOverflow(state, options) { - var _await$platform$isEle; - if (options === void 0) { - options = {}; - } - const { - x, - y, - platform: platform2, - rects, - elements, - strategy - } = state; - const { - boundary = "clippingAncestors", - rootBoundary = "viewport", - elementContext = "floating", - altBoundary = false, - padding = 0 - } = evaluate(options, state); - const paddingObject = getSideObjectFromPadding(padding); - const altContext = elementContext === "floating" ? "reference" : "floating"; - const element = elements[altBoundary ? altContext : elementContext]; - const clippingClientRect = rectToClientRect(await platform2.getClippingRect({ - element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)), - boundary, - rootBoundary, - strategy - })); - const rect = elementContext === "floating" ? { - ...rects.floating, - x, - y - } : rects.reference; - const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating)); - const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || { - x: 1, - y: 1 - } : { - x: 1, - y: 1 - }; - const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({ - rect, - offsetParent, - strategy - }) : rect); - return { - top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, - bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, - left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, - right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x - }; -} -var min = Math.min; -var max = Math.max; -function within(min$1, value, max$1) { - return max(min$1, min(value, max$1)); -} -var arrow = (options) => ({ - name: "arrow", - options, - async fn(state) { - const { - x, - y, - placement, - rects, - platform: platform2, - elements - } = state; - const { - element, - padding = 0 - } = evaluate(options, state) || {}; - if (element == null) { - return {}; - } - const paddingObject = getSideObjectFromPadding(padding); - const coords = { - x, - y - }; - const axis = getMainAxisFromPlacement(placement); - const length = getLengthFromAxis(axis); - const arrowDimensions = await platform2.getDimensions(element); - const isYAxis = axis === "y"; - const minProp = isYAxis ? "top" : "left"; - const maxProp = isYAxis ? "bottom" : "right"; - const clientProp = isYAxis ? "clientHeight" : "clientWidth"; - const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; - const startDiff = coords[axis] - rects.reference[axis]; - const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element)); - let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0; - if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) { - clientSize = elements.floating[clientProp] || rects.floating[length]; - } - const centerToReference = endDiff / 2 - startDiff / 2; - const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; - const minPadding = min(paddingObject[minProp], largestPossiblePadding); - const maxPadding = min(paddingObject[maxProp], largestPossiblePadding); - const min$1 = minPadding; - const max3 = clientSize - arrowDimensions[length] - maxPadding; - const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; - const offset2 = within(min$1, center, max3); - const shouldAddOffset = getAlignment(placement) != null && center != offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; - const alignmentOffset = shouldAddOffset ? center < min$1 ? min$1 - center : max3 - center : 0; - return { - [axis]: coords[axis] - alignmentOffset, - data: { - [axis]: offset2, - centerOffset: center - offset2 - } - }; - } -}); -var sides = ["top", "right", "bottom", "left"]; -var allPlacements = sides.reduce((acc, side) => acc.concat(side, side + "-start", side + "-end"), []); -var oppositeSideMap = { - left: "right", - right: "left", - bottom: "top", - top: "bottom" -}; -function getOppositePlacement(placement) { - return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]); -} -function getAlignmentSides(placement, rects, rtl) { - if (rtl === void 0) { - rtl = false; - } - const alignment = getAlignment(placement); - const mainAxis = getMainAxisFromPlacement(placement); - const length = getLengthFromAxis(mainAxis); - let mainAlignmentSide = mainAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; - if (rects.reference[length] > rects.floating[length]) { - mainAlignmentSide = getOppositePlacement(mainAlignmentSide); - } - return { - main: mainAlignmentSide, - cross: getOppositePlacement(mainAlignmentSide) - }; -} -var oppositeAlignmentMap = { - start: "end", - end: "start" -}; -function getOppositeAlignmentPlacement(placement) { - return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]); -} -function getPlacementList(alignment, autoAlignment, allowedPlacements) { - const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter((placement) => getAlignment(placement) === alignment), ...allowedPlacements.filter((placement) => getAlignment(placement) !== alignment)] : allowedPlacements.filter((placement) => getSide(placement) === placement); - return allowedPlacementsSortedByAlignment.filter((placement) => { - if (alignment) { - return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false); - } - return true; - }); -} -var autoPlacement = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "autoPlacement", - options, - async fn(state) { - var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE; - const { - rects, - middlewareData, - placement, - platform: platform2, - elements - } = state; - const { - crossAxis = false, - alignment, - allowedPlacements = allPlacements, - autoAlignment = true, - ...detectOverflowOptions - } = evaluate(options, state); - const placements = alignment !== void 0 || allowedPlacements === allPlacements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements; - const overflow = await detectOverflow(state, detectOverflowOptions); - const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0; - const currentPlacement = placements[currentIndex]; - if (currentPlacement == null) { - return {}; - } - const { - main, - cross - } = getAlignmentSides(currentPlacement, rects, await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating))); - if (placement !== currentPlacement) { - return { - reset: { - placement: placements[0] - } - }; - } - const currentOverflows = [overflow[getSide(currentPlacement)], overflow[main], overflow[cross]]; - const allOverflows = [...((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || [], { - placement: currentPlacement, - overflows: currentOverflows - }]; - const nextPlacement = placements[currentIndex + 1]; - if (nextPlacement) { - return { - data: { - index: currentIndex + 1, - overflows: allOverflows - }, - reset: { - placement: nextPlacement - } - }; - } - const placementsSortedByMostSpace = allOverflows.map((d) => { - const alignment2 = getAlignment(d.placement); - return [d.placement, alignment2 && crossAxis ? ( - // Check along the mainAxis and main crossAxis side. - d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) - ) : ( - // Check only the mainAxis. - d.overflows[0] - ), d.overflows]; - }).sort((a, b) => a[1] - b[1]); - const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter((d) => d[2].slice( - 0, - // Aligned placements should not check their opposite crossAxis - // side. - getAlignment(d[0]) ? 2 : 3 - ).every((v) => v <= 0)); - const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0]; - if (resetPlacement !== placement) { - return { - data: { - index: currentIndex + 1, - overflows: allOverflows - }, - reset: { - placement: resetPlacement - } - }; - } - return {}; - } - }; -}; -function getExpandedPlacements(placement) { - const oppositePlacement = getOppositePlacement(placement); - return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; -} -function getSideList(side, isStart, rtl) { - const lr = ["left", "right"]; - const rl = ["right", "left"]; - const tb = ["top", "bottom"]; - const bt = ["bottom", "top"]; - switch (side) { - case "top": - case "bottom": - if (rtl) - return isStart ? rl : lr; - return isStart ? lr : rl; - case "left": - case "right": - return isStart ? tb : bt; - default: - return []; - } -} -function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { - const alignment = getAlignment(placement); - let list = getSideList(getSide(placement), direction === "start", rtl); - if (alignment) { - list = list.map((side) => side + "-" + alignment); - if (flipAlignment) { - list = list.concat(list.map(getOppositeAlignmentPlacement)); - } - } - return list; -} -var flip = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "flip", - options, - async fn(state) { - var _middlewareData$flip; - const { - placement, - middlewareData, - rects, - initialPlacement, - platform: platform2, - elements - } = state; - const { - mainAxis: checkMainAxis = true, - crossAxis: checkCrossAxis = true, - fallbackPlacements: specifiedFallbackPlacements, - fallbackStrategy = "bestFit", - fallbackAxisSideDirection = "none", - flipAlignment = true, - ...detectOverflowOptions - } = evaluate(options, state); - const side = getSide(placement); - const isBasePlacement = getSide(initialPlacement) === initialPlacement; - const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); - const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); - if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== "none") { - fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); - } - const placements = [initialPlacement, ...fallbackPlacements]; - const overflow = await detectOverflow(state, detectOverflowOptions); - const overflows = []; - let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; - if (checkMainAxis) { - overflows.push(overflow[side]); - } - if (checkCrossAxis) { - const { - main, - cross - } = getAlignmentSides(placement, rects, rtl); - overflows.push(overflow[main], overflow[cross]); - } - overflowsData = [...overflowsData, { - placement, - overflows - }]; - if (!overflows.every((side2) => side2 <= 0)) { - var _middlewareData$flip2, _overflowsData$filter; - const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; - const nextPlacement = placements[nextIndex]; - if (nextPlacement) { - return { - data: { - index: nextIndex, - overflows: overflowsData - }, - reset: { - placement: nextPlacement - } - }; - } - let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; - if (!resetPlacement) { - switch (fallbackStrategy) { - case "bestFit": { - var _overflowsData$map$so; - const placement2 = (_overflowsData$map$so = overflowsData.map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0]; - if (placement2) { - resetPlacement = placement2; - } - break; - } - case "initialPlacement": - resetPlacement = initialPlacement; - break; - } - } - if (placement !== resetPlacement) { - return { - reset: { - placement: resetPlacement - } - }; - } - } - return {}; - } - }; -}; -function getSideOffsets(overflow, rect) { - return { - top: overflow.top - rect.height, - right: overflow.right - rect.width, - bottom: overflow.bottom - rect.height, - left: overflow.left - rect.width - }; -} -function isAnySideFullyClipped(overflow) { - return sides.some((side) => overflow[side] >= 0); -} -var hide = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "hide", - options, - async fn(state) { - const { - rects - } = state; - const { - strategy = "referenceHidden", - ...detectOverflowOptions - } = evaluate(options, state); - switch (strategy) { - case "referenceHidden": { - const overflow = await detectOverflow(state, { - ...detectOverflowOptions, - elementContext: "reference" - }); - const offsets = getSideOffsets(overflow, rects.reference); - return { - data: { - referenceHiddenOffsets: offsets, - referenceHidden: isAnySideFullyClipped(offsets) - } - }; - } - case "escaped": { - const overflow = await detectOverflow(state, { - ...detectOverflowOptions, - altBoundary: true - }); - const offsets = getSideOffsets(overflow, rects.floating); - return { - data: { - escapedOffsets: offsets, - escaped: isAnySideFullyClipped(offsets) - } - }; - } - default: { - return {}; - } - } - } - }; -}; -function getBoundingRect(rects) { - const minX = min(...rects.map((rect) => rect.left)); - const minY = min(...rects.map((rect) => rect.top)); - const maxX = max(...rects.map((rect) => rect.right)); - const maxY = max(...rects.map((rect) => rect.bottom)); - return { - x: minX, - y: minY, - width: maxX - minX, - height: maxY - minY - }; -} -function getRectsByLine(rects) { - const sortedRects = rects.slice().sort((a, b) => a.y - b.y); - const groups = []; - let prevRect = null; - for (let i = 0; i < sortedRects.length; i++) { - const rect = sortedRects[i]; - if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) { - groups.push([rect]); - } else { - groups[groups.length - 1].push(rect); - } - prevRect = rect; - } - return groups.map((rect) => rectToClientRect(getBoundingRect(rect))); -} -var inline = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "inline", - options, - async fn(state) { - const { - placement, - elements, - rects, - platform: platform2, - strategy - } = state; - const { - padding = 2, - x, - y - } = evaluate(options, state); - const nativeClientRects = Array.from(await (platform2.getClientRects == null ? void 0 : platform2.getClientRects(elements.reference)) || []); - const clientRects = getRectsByLine(nativeClientRects); - const fallback = rectToClientRect(getBoundingRect(nativeClientRects)); - const paddingObject = getSideObjectFromPadding(padding); - function getBoundingClientRect2() { - if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) { - return clientRects.find((rect) => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback; - } - if (clientRects.length >= 2) { - if (getMainAxisFromPlacement(placement) === "x") { - const firstRect = clientRects[0]; - const lastRect = clientRects[clientRects.length - 1]; - const isTop = getSide(placement) === "top"; - const top2 = firstRect.top; - const bottom2 = lastRect.bottom; - const left2 = isTop ? firstRect.left : lastRect.left; - const right2 = isTop ? firstRect.right : lastRect.right; - const width2 = right2 - left2; - const height2 = bottom2 - top2; - return { - top: top2, - bottom: bottom2, - left: left2, - right: right2, - width: width2, - height: height2, - x: left2, - y: top2 - }; - } - const isLeftSide = getSide(placement) === "left"; - const maxRight = max(...clientRects.map((rect) => rect.right)); - const minLeft = min(...clientRects.map((rect) => rect.left)); - const measureRects = clientRects.filter((rect) => isLeftSide ? rect.left === minLeft : rect.right === maxRight); - const top = measureRects[0].top; - const bottom = measureRects[measureRects.length - 1].bottom; - const left = minLeft; - const right = maxRight; - const width = right - left; - const height = bottom - top; - return { - top, - bottom, - left, - right, - width, - height, - x: left, - y: top - }; - } - return fallback; - } - const resetRects = await platform2.getElementRects({ - reference: { - getBoundingClientRect: getBoundingClientRect2 - }, - floating: elements.floating, - strategy - }); - if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) { - return { - reset: { - rects: resetRects - } - }; - } - return {}; - } - }; -}; -async function convertValueToCoords(state, options) { - const { - placement, - platform: platform2, - elements - } = state; - const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)); - const side = getSide(placement); - const alignment = getAlignment(placement); - const isVertical = getMainAxisFromPlacement(placement) === "x"; - const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1; - const crossAxisMulti = rtl && isVertical ? -1 : 1; - const rawValue = evaluate(options, state); - let { - mainAxis, - crossAxis, - alignmentAxis - } = typeof rawValue === "number" ? { - mainAxis: rawValue, - crossAxis: 0, - alignmentAxis: null - } : { - mainAxis: 0, - crossAxis: 0, - alignmentAxis: null, - ...rawValue - }; - if (alignment && typeof alignmentAxis === "number") { - crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; - } - return isVertical ? { - x: crossAxis * crossAxisMulti, - y: mainAxis * mainAxisMulti - } : { - x: mainAxis * mainAxisMulti, - y: crossAxis * crossAxisMulti - }; -} -var offset = function(options) { - if (options === void 0) { - options = 0; - } - return { - name: "offset", - options, - async fn(state) { - const { - x, - y - } = state; - const diffCoords = await convertValueToCoords(state, options); - return { - x: x + diffCoords.x, - y: y + diffCoords.y, - data: diffCoords - }; - } - }; -}; -function getCrossAxis(axis) { - return axis === "x" ? "y" : "x"; -} -var shift = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "shift", - options, - async fn(state) { - const { - x, - y, - placement - } = state; - const { - mainAxis: checkMainAxis = true, - crossAxis: checkCrossAxis = false, - limiter = { - fn: (_ref) => { - let { - x: x2, - y: y2 - } = _ref; - return { - x: x2, - y: y2 - }; - } - }, - ...detectOverflowOptions - } = evaluate(options, state); - const coords = { - x, - y - }; - const overflow = await detectOverflow(state, detectOverflowOptions); - const mainAxis = getMainAxisFromPlacement(getSide(placement)); - const crossAxis = getCrossAxis(mainAxis); - let mainAxisCoord = coords[mainAxis]; - let crossAxisCoord = coords[crossAxis]; - if (checkMainAxis) { - const minSide = mainAxis === "y" ? "top" : "left"; - const maxSide = mainAxis === "y" ? "bottom" : "right"; - const min3 = mainAxisCoord + overflow[minSide]; - const max3 = mainAxisCoord - overflow[maxSide]; - mainAxisCoord = within(min3, mainAxisCoord, max3); - } - if (checkCrossAxis) { - const minSide = crossAxis === "y" ? "top" : "left"; - const maxSide = crossAxis === "y" ? "bottom" : "right"; - const min3 = crossAxisCoord + overflow[minSide]; - const max3 = crossAxisCoord - overflow[maxSide]; - crossAxisCoord = within(min3, crossAxisCoord, max3); - } - const limitedCoords = limiter.fn({ - ...state, - [mainAxis]: mainAxisCoord, - [crossAxis]: crossAxisCoord - }); - return { - ...limitedCoords, - data: { - x: limitedCoords.x - x, - y: limitedCoords.y - y - } - }; - } - }; -}; -var limitShift = function(options) { - if (options === void 0) { - options = {}; - } - return { - options, - fn(state) { - const { - x, - y, - placement, - rects, - middlewareData - } = state; - const { - offset: offset2 = 0, - mainAxis: checkMainAxis = true, - crossAxis: checkCrossAxis = true - } = evaluate(options, state); - const coords = { - x, - y - }; - const mainAxis = getMainAxisFromPlacement(placement); - const crossAxis = getCrossAxis(mainAxis); - let mainAxisCoord = coords[mainAxis]; - let crossAxisCoord = coords[crossAxis]; - const rawOffset = evaluate(offset2, state); - const computedOffset = typeof rawOffset === "number" ? { - mainAxis: rawOffset, - crossAxis: 0 - } : { - mainAxis: 0, - crossAxis: 0, - ...rawOffset - }; - if (checkMainAxis) { - const len = mainAxis === "y" ? "height" : "width"; - const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis; - const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis; - if (mainAxisCoord < limitMin) { - mainAxisCoord = limitMin; - } else if (mainAxisCoord > limitMax) { - mainAxisCoord = limitMax; - } - } - if (checkCrossAxis) { - var _middlewareData$offse, _middlewareData$offse2; - const len = mainAxis === "y" ? "width" : "height"; - const isOriginSide = ["top", "left"].includes(getSide(placement)); - const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis); - const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0); - if (crossAxisCoord < limitMin) { - crossAxisCoord = limitMin; - } else if (crossAxisCoord > limitMax) { - crossAxisCoord = limitMax; - } - } - return { - [mainAxis]: mainAxisCoord, - [crossAxis]: crossAxisCoord - }; - } - }; -}; -var size = function(options) { - if (options === void 0) { - options = {}; - } - return { - name: "size", - options, - async fn(state) { - const { - placement, - rects, - platform: platform2, - elements - } = state; - const { - apply = () => { - }, - ...detectOverflowOptions - } = evaluate(options, state); - const overflow = await detectOverflow(state, detectOverflowOptions); - const side = getSide(placement); - const alignment = getAlignment(placement); - const axis = getMainAxisFromPlacement(placement); - const isXAxis = axis === "x"; - const { - width, - height - } = rects.floating; - let heightSide; - let widthSide; - if (side === "top" || side === "bottom") { - heightSide = side; - widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right"; - } else { - widthSide = side; - heightSide = alignment === "end" ? "top" : "bottom"; - } - const overflowAvailableHeight = height - overflow[heightSide]; - const overflowAvailableWidth = width - overflow[widthSide]; - const noShift = !state.middlewareData.shift; - let availableHeight = overflowAvailableHeight; - let availableWidth = overflowAvailableWidth; - if (isXAxis) { - const maximumClippingWidth = width - overflow.left - overflow.right; - availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth; - } else { - const maximumClippingHeight = height - overflow.top - overflow.bottom; - availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight; - } - if (noShift && !alignment) { - const xMin = max(overflow.left, 0); - const xMax = max(overflow.right, 0); - const yMin = max(overflow.top, 0); - const yMax = max(overflow.bottom, 0); - if (isXAxis) { - availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); - } else { - availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); - } - } - await apply({ - ...state, - availableWidth, - availableHeight - }); - const nextDimensions = await platform2.getDimensions(elements.floating); - if (width !== nextDimensions.width || height !== nextDimensions.height) { - return { - reset: { - rects: true - } - }; - } - return {}; - } - }; -}; - -// node_modules/@floating-ui/vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs -function getWindow(node) { - var _node$ownerDocument; - return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; -} -function getComputedStyle$1(element) { - return getWindow(element).getComputedStyle(element); -} -function isNode(value) { - return value instanceof getWindow(value).Node; -} -function getNodeName(node) { - return isNode(node) ? (node.nodeName || "").toLowerCase() : ""; -} -function isHTMLElement(value) { - return value instanceof getWindow(value).HTMLElement; -} -function isElement(value) { - return value instanceof getWindow(value).Element; -} -function isShadowRoot(node) { - if (typeof ShadowRoot === "undefined") { - return false; - } - const OwnElement = getWindow(node).ShadowRoot; - return node instanceof OwnElement || node instanceof ShadowRoot; -} -function isOverflowElement(element) { - const { - overflow, - overflowX, - overflowY, - display - } = getComputedStyle$1(element); - return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display); -} -function isTableElement(element) { - return ["table", "td", "th"].includes(getNodeName(element)); -} -function isContainingBlock(element) { - const safari = isSafari(); - const css = getComputedStyle$1(element); - return css.transform !== "none" || css.perspective !== "none" || !safari && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !safari && (css.filter ? css.filter !== "none" : false) || ["transform", "perspective", "filter"].some((value) => (css.willChange || "").includes(value)) || ["paint", "layout", "strict", "content"].some((value) => (css.contain || "").includes(value)); -} -function isSafari() { - if (typeof CSS === "undefined" || !CSS.supports) - return false; - return CSS.supports("-webkit-backdrop-filter", "none"); -} -function isLastTraversableNode(node) { - return ["html", "body", "#document"].includes(getNodeName(node)); -} -var min2 = Math.min; -var max2 = Math.max; -var round = Math.round; -function getCssDimensions(element) { - const css = getComputedStyle$1(element); - let width = parseFloat(css.width) || 0; - let height = parseFloat(css.height) || 0; - const hasOffset = isHTMLElement(element); - const offsetWidth = hasOffset ? element.offsetWidth : width; - const offsetHeight = hasOffset ? element.offsetHeight : height; - const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; - if (shouldFallback) { - width = offsetWidth; - height = offsetHeight; - } - return { - width, - height, - fallback: shouldFallback - }; -} -function unwrapElement(element) { - return !isElement(element) ? element.contextElement : element; -} -var FALLBACK_SCALE = { - x: 1, - y: 1 -}; -function getScale(element) { - const domElement = unwrapElement(element); - if (!isHTMLElement(domElement)) { - return FALLBACK_SCALE; - } - const rect = domElement.getBoundingClientRect(); - const { - width, - height, - fallback - } = getCssDimensions(domElement); - let x = (fallback ? round(rect.width) : rect.width) / width; - let y = (fallback ? round(rect.height) : rect.height) / height; - if (!x || !Number.isFinite(x)) { - x = 1; - } - if (!y || !Number.isFinite(y)) { - y = 1; - } - return { - x, - y - }; -} -var noOffsets = { - x: 0, - y: 0 -}; -function getVisualOffsets(element, isFixed, floatingOffsetParent) { - var _win$visualViewport, _win$visualViewport2; - if (isFixed === void 0) { - isFixed = true; - } - if (!isSafari()) { - return noOffsets; - } - const win = element ? getWindow(element) : window; - if (!floatingOffsetParent || isFixed && floatingOffsetParent !== win) { - return noOffsets; - } - return { - x: ((_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) || 0, - y: ((_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) || 0 - }; -} -function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { - if (includeScale === void 0) { - includeScale = false; - } - if (isFixedStrategy === void 0) { - isFixedStrategy = false; - } - const clientRect = element.getBoundingClientRect(); - const domElement = unwrapElement(element); - let scale = FALLBACK_SCALE; - if (includeScale) { - if (offsetParent) { - if (isElement(offsetParent)) { - scale = getScale(offsetParent); - } - } else { - scale = getScale(element); - } - } - const visualOffsets = getVisualOffsets(domElement, isFixedStrategy, offsetParent); - let x = (clientRect.left + visualOffsets.x) / scale.x; - let y = (clientRect.top + visualOffsets.y) / scale.y; - let width = clientRect.width / scale.x; - let height = clientRect.height / scale.y; - if (domElement) { - const win = getWindow(domElement); - const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; - let currentIFrame = win.frameElement; - while (currentIFrame && offsetParent && offsetWin !== win) { - const iframeScale = getScale(currentIFrame); - const iframeRect = currentIFrame.getBoundingClientRect(); - const css = getComputedStyle(currentIFrame); - iframeRect.x += (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; - iframeRect.y += (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; - x *= iframeScale.x; - y *= iframeScale.y; - width *= iframeScale.x; - height *= iframeScale.y; - x += iframeRect.x; - y += iframeRect.y; - currentIFrame = getWindow(currentIFrame).frameElement; - } - } - return rectToClientRect({ - width, - height, - x, - y - }); -} -function getDocumentElement(node) { - return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement; -} -function getNodeScroll(element) { - if (isElement(element)) { - return { - scrollLeft: element.scrollLeft, - scrollTop: element.scrollTop - }; - } - return { - scrollLeft: element.pageXOffset, - scrollTop: element.pageYOffset - }; -} -function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { - let { - rect, - offsetParent, - strategy - } = _ref; - const isOffsetParentAnElement = isHTMLElement(offsetParent); - const documentElement = getDocumentElement(offsetParent); - if (offsetParent === documentElement) { - return rect; - } - let scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - let scale = { - x: 1, - y: 1 - }; - const offsets = { - x: 0, - y: 0 - }; - if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== "fixed") { - if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isHTMLElement(offsetParent)) { - const offsetRect = getBoundingClientRect(offsetParent); - scale = getScale(offsetParent); - offsets.x = offsetRect.x + offsetParent.clientLeft; - offsets.y = offsetRect.y + offsetParent.clientTop; - } - } - return { - width: rect.width * scale.x, - height: rect.height * scale.y, - x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x, - y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y - }; -} -function getWindowScrollBarX(element) { - return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft; -} -function getDocumentRect(element) { - const html = getDocumentElement(element); - const scroll = getNodeScroll(element); - const body = element.ownerDocument.body; - const width = max2(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); - const height = max2(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); - let x = -scroll.scrollLeft + getWindowScrollBarX(element); - const y = -scroll.scrollTop; - if (getComputedStyle$1(body).direction === "rtl") { - x += max2(html.clientWidth, body.clientWidth) - width; - } - return { - width, - height, - x, - y - }; -} -function getParentNode(node) { - if (getNodeName(node) === "html") { - return node; - } - const result = ( - // Step into the shadow DOM of the parent of a slotted node. - node.assignedSlot || // DOM Element detected. - node.parentNode || // ShadowRoot detected. - isShadowRoot(node) && node.host || // Fallback. - getDocumentElement(node) - ); - return isShadowRoot(result) ? result.host : result; -} -function getNearestOverflowAncestor(node) { - const parentNode = getParentNode(node); - if (isLastTraversableNode(parentNode)) { - return parentNode.ownerDocument.body; - } - if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { - return parentNode; - } - return getNearestOverflowAncestor(parentNode); -} -function getOverflowAncestors(node, list) { - var _node$ownerDocument; - if (list === void 0) { - list = []; - } - const scrollableAncestor = getNearestOverflowAncestor(node); - const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body); - const win = getWindow(scrollableAncestor); - if (isBody) { - return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []); - } - return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor)); -} -function getViewportRect(element, strategy) { - const win = getWindow(element); - const html = getDocumentElement(element); - const visualViewport = win.visualViewport; - let width = html.clientWidth; - let height = html.clientHeight; - let x = 0; - let y = 0; - if (visualViewport) { - width = visualViewport.width; - height = visualViewport.height; - const visualViewportBased = isSafari(); - if (!visualViewportBased || visualViewportBased && strategy === "fixed") { - x = visualViewport.offsetLeft; - y = visualViewport.offsetTop; - } - } - return { - width, - height, - x, - y - }; -} -function getInnerBoundingClientRect(element, strategy) { - const clientRect = getBoundingClientRect(element, true, strategy === "fixed"); - const top = clientRect.top + element.clientTop; - const left = clientRect.left + element.clientLeft; - const scale = isHTMLElement(element) ? getScale(element) : { - x: 1, - y: 1 - }; - const width = element.clientWidth * scale.x; - const height = element.clientHeight * scale.y; - const x = left * scale.x; - const y = top * scale.y; - return { - width, - height, - x, - y - }; -} -function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { - let rect; - if (clippingAncestor === "viewport") { - rect = getViewportRect(element, strategy); - } else if (clippingAncestor === "document") { - rect = getDocumentRect(getDocumentElement(element)); - } else if (isElement(clippingAncestor)) { - rect = getInnerBoundingClientRect(clippingAncestor, strategy); - } else { - const visualOffsets = getVisualOffsets(element); - rect = { - ...clippingAncestor, - x: clippingAncestor.x - visualOffsets.x, - y: clippingAncestor.y - visualOffsets.y - }; - } - return rectToClientRect(rect); -} -function hasFixedPositionAncestor(element, stopNode) { - const parentNode = getParentNode(element); - if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { - return false; - } - return getComputedStyle$1(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); -} -function getClippingElementAncestors(element, cache) { - const cachedResult = cache.get(element); - if (cachedResult) { - return cachedResult; - } - let result = getOverflowAncestors(element).filter((el) => isElement(el) && getNodeName(el) !== "body"); - let currentContainingBlockComputedStyle = null; - const elementIsFixed = getComputedStyle$1(element).position === "fixed"; - let currentNode = elementIsFixed ? getParentNode(element) : element; - while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { - const computedStyle = getComputedStyle$1(currentNode); - const currentNodeIsContaining = isContainingBlock(currentNode); - if (!currentNodeIsContaining && computedStyle.position === "fixed") { - currentContainingBlockComputedStyle = null; - } - const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); - if (shouldDropCurrentNode) { - result = result.filter((ancestor) => ancestor !== currentNode); - } else { - currentContainingBlockComputedStyle = computedStyle; - } - currentNode = getParentNode(currentNode); - } - cache.set(element, result); - return result; -} -function getClippingRect(_ref) { - let { - element, - boundary, - rootBoundary, - strategy - } = _ref; - const elementClippingAncestors = boundary === "clippingAncestors" ? getClippingElementAncestors(element, this._c) : [].concat(boundary); - const clippingAncestors = [...elementClippingAncestors, rootBoundary]; - const firstClippingAncestor = clippingAncestors[0]; - const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => { - const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy); - accRect.top = max2(rect.top, accRect.top); - accRect.right = min2(rect.right, accRect.right); - accRect.bottom = min2(rect.bottom, accRect.bottom); - accRect.left = max2(rect.left, accRect.left); - return accRect; - }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy)); - return { - width: clippingRect.right - clippingRect.left, - height: clippingRect.bottom - clippingRect.top, - x: clippingRect.left, - y: clippingRect.top - }; -} -function getDimensions(element) { - return getCssDimensions(element); -} -function getTrueOffsetParent(element, polyfill) { - if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") { - return null; - } - if (polyfill) { - return polyfill(element); - } - return element.offsetParent; -} -function getContainingBlock(element) { - let currentNode = getParentNode(element); - while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { - if (isContainingBlock(currentNode)) { - return currentNode; - } else { - currentNode = getParentNode(currentNode); - } - } - return null; -} -function getOffsetParent(element, polyfill) { - const window2 = getWindow(element); - if (!isHTMLElement(element)) { - return window2; - } - let offsetParent = getTrueOffsetParent(element, polyfill); - while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") { - offsetParent = getTrueOffsetParent(offsetParent, polyfill); - } - if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static" && !isContainingBlock(offsetParent))) { - return window2; - } - return offsetParent || getContainingBlock(element) || window2; -} -function getRectRelativeToOffsetParent(element, offsetParent, strategy) { - const isOffsetParentAnElement = isHTMLElement(offsetParent); - const documentElement = getDocumentElement(offsetParent); - const isFixed = strategy === "fixed"; - const rect = getBoundingClientRect(element, true, isFixed, offsetParent); - let scroll = { - scrollLeft: 0, - scrollTop: 0 - }; - const offsets = { - x: 0, - y: 0 - }; - if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { - if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { - scroll = getNodeScroll(offsetParent); - } - if (isHTMLElement(offsetParent)) { - const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); - offsets.x = offsetRect.x + offsetParent.clientLeft; - offsets.y = offsetRect.y + offsetParent.clientTop; - } else if (documentElement) { - offsets.x = getWindowScrollBarX(documentElement); - } - } - return { - x: rect.left + scroll.scrollLeft - offsets.x, - y: rect.top + scroll.scrollTop - offsets.y, - width: rect.width, - height: rect.height - }; -} -var platform = { - getClippingRect, - convertOffsetParentRelativeRectToViewportRelativeRect, - isElement, - getDimensions, - getOffsetParent, - getDocumentElement, - getScale, - async getElementRects(_ref) { - let { - reference, - floating, - strategy - } = _ref; - const getOffsetParentFn = this.getOffsetParent || getOffsetParent; - const getDimensionsFn = this.getDimensions; - return { - reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy), - floating: { - x: 0, - y: 0, - ...await getDimensionsFn(floating) - } - }; - }, - getClientRects: (element) => Array.from(element.getClientRects()), - isRTL: (element) => getComputedStyle$1(element).direction === "rtl" -}; -function autoUpdate(reference, floating, update, options) { - if (options === void 0) { - options = {}; - } - const { - ancestorScroll = true, - ancestorResize = true, - elementResize = true, - animationFrame = false - } = options; - const ancestors = ancestorScroll || ancestorResize ? [...isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : [], ...getOverflowAncestors(floating)] : []; - ancestors.forEach((ancestor) => { - const isVisualViewport = !isElement(ancestor) && ancestor.toString().includes("V"); - if (ancestorScroll && (animationFrame ? isVisualViewport : true)) { - ancestor.addEventListener("scroll", update, { - passive: true - }); - } - ancestorResize && ancestor.addEventListener("resize", update); - }); - let observer = null; - if (elementResize) { - observer = new ResizeObserver(() => { - update(); - }); - isElement(reference) && !animationFrame && observer.observe(reference); - if (!isElement(reference) && reference.contextElement && !animationFrame) { - observer.observe(reference.contextElement); - } - observer.observe(floating); - } - let frameId; - let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null; - if (animationFrame) { - frameLoop(); - } - function frameLoop() { - const nextRefRect = getBoundingClientRect(reference); - if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) { - update(); - } - prevRefRect = nextRefRect; - frameId = requestAnimationFrame(frameLoop); - } - update(); - return () => { - var _observer; - ancestors.forEach((ancestor) => { - ancestorScroll && ancestor.removeEventListener("scroll", update); - ancestorResize && ancestor.removeEventListener("resize", update); - }); - (_observer = observer) == null ? void 0 : _observer.disconnect(); - observer = null; - if (animationFrame) { - cancelAnimationFrame(frameId); - } - }; -} -var computePosition2 = (reference, floating, options) => { - const cache = /* @__PURE__ */ new Map(); - const mergedOptions = { - platform, - ...options - }; - const platformWithCache = { - ...mergedOptions.platform, - _c: cache - }; - return computePosition(reference, floating, { - ...mergedOptions, - platform: platformWithCache - }); -}; - -// node_modules/@floating-ui/vue/dist/floating-ui.vue.esm.js -function unwrapElement2(element) { - var _$el; - return (_$el = element == null ? void 0 : element.$el) != null ? _$el : element; -} -function arrow2(options) { - return { - name: "arrow", - options, - fn(args) { - const element = unwrapElement2(unref(options.element)); - if (element == null) { - return {}; - } - return arrow({ - element, - padding: options.padding - }).fn(args); - } - }; -} -function getDPR(element) { - if (typeof window === "undefined") { - return 1; - } - const win = element.ownerDocument.defaultView || window; - return win.devicePixelRatio || 1; -} -function roundByDPR(element, value) { - const dpr = getDPR(element); - return Math.round(value * dpr) / dpr; -} -function useFloating(reference, floating, options) { - if (options === void 0) { - options = {}; - } - const whileElementsMountedOption = options.whileElementsMounted; - const openOption = computed(() => { - var _unref; - return (_unref = unref(options.open)) != null ? _unref : true; - }); - const middlewareOption = computed(() => unref(options.middleware)); - const placementOption = computed(() => { - var _unref2; - return (_unref2 = unref(options.placement)) != null ? _unref2 : "bottom"; - }); - const strategyOption = computed(() => { - var _unref3; - return (_unref3 = unref(options.strategy)) != null ? _unref3 : "absolute"; - }); - const transformOption = computed(() => { - var _unref4; - return (_unref4 = unref(options.transform)) != null ? _unref4 : true; - }); - const referenceElement = computed(() => unwrapElement2(reference.value)); - const floatingElement = computed(() => unwrapElement2(floating.value)); - const x = ref(0); - const y = ref(0); - const strategy = ref(strategyOption.value); - const placement = ref(placementOption.value); - const middlewareData = shallowRef({}); - const isPositioned = ref(false); - const floatingStyles = computed(() => { - const initialStyles = { - position: strategy.value, - left: "0", - top: "0" - }; - if (!floatingElement.value) { - return initialStyles; - } - const xVal = roundByDPR(floatingElement.value, x.value); - const yVal = roundByDPR(floatingElement.value, y.value); - if (transformOption.value) { - return { - ...initialStyles, - transform: "translate(" + xVal + "px, " + yVal + "px)", - ...getDPR(floatingElement.value) >= 1.5 && { - willChange: "transform" - } - }; - } - return { - position: strategy.value, - left: xVal + "px", - top: yVal + "px" - }; - }); - let whileElementsMountedCleanup; - function update() { - if (referenceElement.value == null || floatingElement.value == null) { - return; - } - computePosition2(referenceElement.value, floatingElement.value, { - middleware: middlewareOption.value, - placement: placementOption.value, - strategy: strategyOption.value - }).then((position) => { - x.value = position.x; - y.value = position.y; - strategy.value = position.strategy; - placement.value = position.placement; - middlewareData.value = position.middlewareData; - isPositioned.value = true; - }); - } - function cleanup() { - if (typeof whileElementsMountedCleanup === "function") { - whileElementsMountedCleanup(); - whileElementsMountedCleanup = void 0; - } - } - function attach() { - cleanup(); - if (whileElementsMountedOption === void 0) { - update(); - return; - } - if (referenceElement.value != null && floatingElement.value != null) { - whileElementsMountedCleanup = whileElementsMountedOption(referenceElement.value, floatingElement.value, update); - return; - } - } - function reset() { - if (!openOption.value) { - isPositioned.value = false; - } - } - watch([middlewareOption, placementOption, strategyOption], update, { - flush: "sync" - }); - watch([referenceElement, floatingElement], attach, { - flush: "sync" - }); - watch(openOption, reset, { - flush: "sync" - }); - if (getCurrentScope()) { - onScopeDispose(cleanup); - } - return { - x: shallowReadonly(x), - y: shallowReadonly(y), - strategy: shallowReadonly(strategy), - placement: shallowReadonly(placement), - middlewareData: shallowReadonly(middlewareData), - isPositioned: shallowReadonly(isPositioned), - floatingStyles, - update - }; -} -export { - arrow2 as arrow, - autoPlacement, - autoUpdate, - computePosition2 as computePosition, - detectOverflow, - flip, - getOverflowAncestors, - hide, - inline, - limitShift, - offset, - platform, - shift, - size, - useFloating -}; -//# sourceMappingURL=@floating-ui_vue.js.map diff --git a/docs/.vitepress/cache/deps/@floating-ui_vue.js.map b/docs/.vitepress/cache/deps/@floating-ui_vue.js.map deleted file mode 100644 index ae914312a..000000000 --- a/docs/.vitepress/cache/deps/@floating-ui_vue.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../node_modules/@floating-ui/vue/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs", "../../../../node_modules/@floating-ui/vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs", "../../../../node_modules/@floating-ui/vue/dist/floating-ui.vue.esm.js"], - "sourcesContent": ["function getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'x' : 'y';\n}\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n const commonAlign = reference[length] / 2 - floating[length] / 2;\n const side = getSide(placement);\n const isVertical = mainAxis === 'x';\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const axis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. This stops `shift()` from taking action, but can\n // be worked around by calling it again after the `arrow()` if desired.\n const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? min$1 - center : max - center : 0;\n return {\n [axis]: coords[axis] - alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n});\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-start\", side + \"-end\"), []);\n\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\n\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements = alignment !== undefined || allowedPlacements === allPlacements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[main], overflow[cross]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getSideObjectFromPadding(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getMainAxisFromPlacement(placement) === 'x';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getSide(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const axis = getMainAxisFromPlacement(placement);\n const isXAxis = axis === 'x';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isXAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isXAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n", "import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction getWindow(node) {\n var _node$ownerDocument;\n return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction getNodeName(node) {\n return isNode(node) ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isShadowRoot(node) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const safari = isSafari();\n const css = getComputedStyle$1(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || !safari && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !safari && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction isSafari() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n fallback: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nconst FALLBACK_SCALE = {\n x: 1,\n y: 1\n};\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return FALLBACK_SCALE;\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n fallback\n } = getCssDimensions(domElement);\n let x = (fallback ? round(rect.width) : rect.width) / width;\n let y = (fallback ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = {\n x: 0,\n y: 0\n};\nfunction getVisualOffsets(element, isFixed, floatingOffsetParent) {\n var _win$visualViewport, _win$visualViewport2;\n if (isFixed === void 0) {\n isFixed = true;\n }\n if (!isSafari()) {\n return noOffsets;\n }\n const win = element ? getWindow(element) : window;\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== win) {\n return noOffsets;\n }\n return {\n x: ((_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) || 0,\n y: ((_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) || 0\n };\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = FALLBACK_SCALE;\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = getVisualOffsets(domElement, isFixedStrategy, offsetParent);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n iframeRect.x += (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n iframeRect.y += (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += iframeRect.x;\n y += iframeRect.y;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = {\n x: 1,\n y: 1\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\n\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n // `getParentNode` will never return a `Document` due to the fallback\n // check, so it's either the or element.\n return parentNode.ownerDocument.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\n\nfunction getOverflowAncestors(node, list) {\n var _node$ownerDocument;\n if (list === void 0) {\n list = [];\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isSafari();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : {\n x: 1,\n y: 1\n };\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nconst platform = {\n getClippingRect,\n convertOffsetParentRelativeRectToViewportRelativeRect,\n isElement,\n getDimensions,\n getOffsetParent,\n getDocumentElement,\n getScale,\n async getElementRects(_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n },\n getClientRects: element => Array.from(element.getClientRects()),\n isRTL: element => getComputedStyle$1(element).direction === 'rtl'\n};\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = true,\n animationFrame = false\n } = options;\n const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n // ignores Window, checks for [object VisualViewport]\n const isVisualViewport = !isElement(ancestor) && ancestor.toString().includes('V');\n if (ancestorScroll && (animationFrame ? isVisualViewport : true)) {\n ancestor.addEventListener('scroll', update, {\n passive: true\n });\n }\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n let observer = null;\n if (elementResize) {\n observer = new ResizeObserver(() => {\n update();\n });\n isElement(reference) && !animationFrame && observer.observe(reference);\n if (!isElement(reference) && reference.contextElement && !animationFrame) {\n observer.observe(reference.contextElement);\n }\n observer.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _observer;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n (_observer = observer) == null ? void 0 : _observer.disconnect();\n observer = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { autoUpdate, computePosition, getOverflowAncestors, platform };\n", "import { arrow as arrow$1, computePosition } from '@floating-ui/dom';\nexport * from '@floating-ui/dom';\nimport { unref, computed, ref, shallowRef, watch, getCurrentScope, onScopeDispose, shallowReadonly } from 'vue-demi';\n\nfunction unwrapElement(element) {\n var _$el;\n return (_$el = element == null ? void 0 : element.$el) != null ? _$el : element;\n}\n\n/**\n * Positions an inner element of the floating element such that it is centered to the reference element.\n * @param options The arrow options.\n * @see https://floating-ui.com/docs/arrow\n */\nfunction arrow(options) {\n return {\n name: 'arrow',\n options,\n fn(args) {\n const element = unwrapElement(unref(options.element));\n if (element == null) {\n return {};\n }\n return arrow$1({\n element,\n padding: options.padding\n }).fn(args);\n }\n };\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element next to a reference element when it is given a certain CSS positioning strategy.\n * @param reference The reference template ref.\n * @param floating The floating template ref.\n * @param options The floating options.\n * @see https://floating-ui.com/docs/vue\n */\nfunction useFloating(reference, floating, options) {\n if (options === void 0) {\n options = {};\n }\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => {\n var _unref;\n return (_unref = unref(options.open)) != null ? _unref : true;\n });\n const middlewareOption = computed(() => unref(options.middleware));\n const placementOption = computed(() => {\n var _unref2;\n return (_unref2 = unref(options.placement)) != null ? _unref2 : 'bottom';\n });\n const strategyOption = computed(() => {\n var _unref3;\n return (_unref3 = unref(options.strategy)) != null ? _unref3 : 'absolute';\n });\n const transformOption = computed(() => {\n var _unref4;\n return (_unref4 = unref(options.transform)) != null ? _unref4 : true;\n });\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: '0',\n top: '0'\n };\n if (!floatingElement.value) {\n return initialStyles;\n }\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: \"translate(\" + xVal + \"px, \" + yVal + \"px)\",\n ...(getDPR(floatingElement.value) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy.value,\n left: xVal + \"px\",\n top: yVal + \"px\"\n };\n });\n let whileElementsMountedCleanup;\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value\n }).then(position => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = true;\n });\n }\n function cleanup() {\n if (typeof whileElementsMountedCleanup === 'function') {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = undefined;\n }\n }\n function attach() {\n cleanup();\n if (whileElementsMountedOption === undefined) {\n update();\n return;\n }\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(referenceElement.value, floatingElement.value, update);\n return;\n }\n }\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n watch([middlewareOption, placementOption, strategyOption], update, {\n flush: 'sync'\n });\n watch([referenceElement, floatingElement], attach, {\n flush: 'sync'\n });\n watch(openOption, reset, {\n flush: 'sync'\n });\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update\n };\n}\n\nexport { arrow, useFloating };\n"], - "mappings": "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", - "names": ["platform", "max", "offset", "alignment", "side", "placement", "overflow", "getBoundingClientRect", "top", "bottom", "left", "right", "width", "height", "x", "y", "min", "min", "max", "window", "computePosition", "unwrapElement", "arrow", "computePosition"] -} diff --git a/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js b/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js deleted file mode 100644 index f7f6b489d..000000000 --- a/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js +++ /dev/null @@ -1,11893 +0,0 @@ -import { - Fragment, - Teleport, - Transition, - computed, - createBaseVNode, - createBlock, - createCommentVNode, - createElementBlock, - createSlots, - createTextVNode, - createVNode, - defineComponent, - getCurrentScope, - guardReactiveProps, - isRef, - mergeProps, - nextTick, - normalizeClass, - normalizeProps, - normalizeStyle, - onBeforeUpdate, - onMounted, - onScopeDispose, - onUnmounted, - openBlock, - reactive, - ref, - renderList, - renderSlot, - resolveDynamicComponent, - toDisplayString, - toRef, - unref, - useSlots, - vShow, - watch, - withCtx, - withDirectives, - withKeys, - withModifiers -} from "./chunk-2YWP3TL2.js"; -import "./chunk-ROME4SDB.js"; - -// 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 _typeof(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof(obj); -} -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/addDays/index.js -function addDays(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var amount = toInteger(dirtyAmount); - if (isNaN(amount)) { - return /* @__PURE__ */ new Date(NaN); - } - if (!amount) { - return date; - } - date.setDate(date.getDate() + amount); - return date; -} - -// node_modules/date-fns/esm/addMonths/index.js -function addMonths(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var amount = toInteger(dirtyAmount); - if (isNaN(amount)) { - return /* @__PURE__ */ new Date(NaN); - } - if (!amount) { - return date; - } - var dayOfMonth = date.getDate(); - var endOfDesiredMonth = new Date(date.getTime()); - endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0); - var daysInMonth = endOfDesiredMonth.getDate(); - if (dayOfMonth >= daysInMonth) { - return endOfDesiredMonth; - } else { - date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth); - return date; - } -} - -// node_modules/date-fns/esm/add/index.js -function _typeof2(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof2 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof2 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof2(obj); -} -function add(dirtyDate, duration) { - requiredArgs(2, arguments); - if (!duration || _typeof2(duration) !== "object") - return /* @__PURE__ */ new Date(NaN); - var years = duration.years ? toInteger(duration.years) : 0; - var months = duration.months ? toInteger(duration.months) : 0; - var weeks = duration.weeks ? toInteger(duration.weeks) : 0; - var days = duration.days ? toInteger(duration.days) : 0; - var hours = duration.hours ? toInteger(duration.hours) : 0; - var minutes = duration.minutes ? toInteger(duration.minutes) : 0; - var seconds = duration.seconds ? toInteger(duration.seconds) : 0; - var date = toDate(dirtyDate); - var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date; - var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths; - var minutesToAdd = minutes + hours * 60; - var secondsToAdd = seconds + minutesToAdd * 60; - var msToAdd = secondsToAdd * 1e3; - var finalDate = new Date(dateWithDays.getTime() + msToAdd); - return finalDate; -} - -// 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/startOfDay/index.js -function startOfDay(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - date.setHours(0, 0, 0, 0); - return date; -} - -// node_modules/date-fns/esm/differenceInCalendarDays/index.js -var MILLISECONDS_IN_DAY = 864e5; -function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) { - requiredArgs(2, arguments); - var startOfDayLeft = startOfDay(dirtyDateLeft); - var startOfDayRight = startOfDay(dirtyDateRight); - var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft); - var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); - return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY); -} - -// node_modules/date-fns/esm/addYears/index.js -function addYears(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var amount = toInteger(dirtyAmount); - return addMonths(dirtyDate, amount * 12); -} - -// 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 _typeof3(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof3 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof3 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof3(obj); -} -function isDate(value) { - requiredArgs(1, arguments); - return value instanceof Date || _typeof3(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/eachDayOfInterval/index.js -function eachDayOfInterval(dirtyInterval, options) { - var _options$step; - requiredArgs(1, arguments); - var interval = dirtyInterval || {}; - var startDate = toDate(interval.start); - var endDate = toDate(interval.end); - var endTime = endDate.getTime(); - if (!(startDate.getTime() <= endTime)) { - throw new RangeError("Invalid interval"); - } - var dates = []; - var currentDate = startDate; - currentDate.setHours(0, 0, 0, 0); - var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1); - if (step < 1 || isNaN(step)) - throw new RangeError("`options.step` must be a number greater than 1"); - while (currentDate.getTime() <= endTime) { - dates.push(toDate(currentDate)); - currentDate.setDate(currentDate.getDate() + step); - currentDate.setHours(0, 0, 0, 0); - } - return dates; -} - -// node_modules/date-fns/esm/endOfWeek/index.js -function endOfWeek(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) + 6 - (day - weekStartsOn); - date.setDate(date.getDate() + diff); - date.setHours(23, 59, 59, 999); - return 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_DAY2 = 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_DAY2) + 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/getDay/index.js -function getDay(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var day = date.getDay(); - return day; -} - -// node_modules/date-fns/esm/getDaysInMonth/index.js -function getDaysInMonth(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var year = date.getFullYear(); - var monthIndex = date.getMonth(); - var lastDayOfMonth2 = /* @__PURE__ */ new Date(0); - lastDayOfMonth2.setFullYear(year, monthIndex + 1, 0); - lastDayOfMonth2.setHours(0, 0, 0, 0); - return lastDayOfMonth2.getDate(); -} - -// node_modules/date-fns/esm/getHours/index.js -function getHours(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var hours = date.getHours(); - return hours; -} - -// 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/getMinutes/index.js -function getMinutes(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var minutes = date.getMinutes(); - return minutes; -} - -// node_modules/date-fns/esm/getMonth/index.js -function getMonth(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var month = date.getMonth(); - return month; -} - -// node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js -var MILLISECONDS_IN_DAY3 = 24 * 60 * 60 * 1e3; - -// node_modules/date-fns/esm/getSeconds/index.js -function getSeconds(dirtyDate) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var seconds = date.getSeconds(); - return seconds; -} - -// node_modules/date-fns/esm/getWeekYear/index.js -function getWeekYear(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.getFullYear(); - 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.setFullYear(year + 1, 0, firstWeekContainsDate); - firstWeekOfNextYear.setHours(0, 0, 0, 0); - var startOfNextYear = startOfWeek(firstWeekOfNextYear, options); - var firstWeekOfThisYear = /* @__PURE__ */ new Date(0); - firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate); - firstWeekOfThisYear.setHours(0, 0, 0, 0); - var startOfThisYear = startOfWeek(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/startOfWeekYear/index.js -function startOfWeekYear(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 = getWeekYear(dirtyDate, options); - var firstWeek = /* @__PURE__ */ new Date(0); - firstWeek.setFullYear(year, 0, firstWeekContainsDate); - firstWeek.setHours(0, 0, 0, 0); - var date = startOfWeek(firstWeek, options); - return date; -} - -// node_modules/date-fns/esm/getWeek/index.js -var MILLISECONDS_IN_WEEK4 = 6048e5; -function getWeek(dirtyDate, options) { - requiredArgs(1, arguments); - var date = toDate(dirtyDate); - var diff = startOfWeek(date, options).getTime() - startOfWeekYear(date, options).getTime(); - return Math.round(diff / MILLISECONDS_IN_WEEK4) + 1; -} - -// node_modules/date-fns/esm/getYear/index.js -function getYear(dirtyDate) { - requiredArgs(1, arguments); - return toDate(dirtyDate).getFullYear(); -} - -// node_modules/date-fns/esm/isAfter/index.js -function isAfter(dirtyDate, dirtyDateToCompare) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var dateToCompare = toDate(dirtyDateToCompare); - return date.getTime() > dateToCompare.getTime(); -} - -// node_modules/date-fns/esm/isBefore/index.js -function isBefore(dirtyDate, dirtyDateToCompare) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var dateToCompare = toDate(dirtyDateToCompare); - return date.getTime() < dateToCompare.getTime(); -} - -// node_modules/date-fns/esm/isEqual/index.js -function isEqual(dirtyLeftDate, dirtyRightDate) { - requiredArgs(2, arguments); - var dateLeft = toDate(dirtyLeftDate); - var dateRight = toDate(dirtyRightDate); - return dateLeft.getTime() === dateRight.getTime(); -} - -// node_modules/date-fns/esm/parse/_lib/Setter.js -function _typeof4(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof4 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof4 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof4(obj); -} -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 } }); - if (superClass) - _setPrototypeOf(subClass, superClass); -} -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf(o, p); -} -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); - }; -} -function _possibleConstructorReturn(self, call) { - if (call && (_typeof4(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized(self); -} -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -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; - } -} -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf(o); -} -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -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, descriptor.key, descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties(Constructor, staticProps); - return Constructor; -} -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var TIMEZONE_UNIT_PRIORITY = 10; -var Setter = function() { - function Setter2() { - _classCallCheck(this, Setter2); - _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 -function _classCallCheck2(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties2(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, descriptor.key, descriptor); - } -} -function _createClass2(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties2(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties2(Constructor, staticProps); - return Constructor; -} -var Parser = function() { - function Parser2() { - _classCallCheck2(this, Parser2); - } - _createClass2(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 -function _typeof5(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof5 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof5 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof5(obj); -} -function _classCallCheck3(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties3(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, descriptor.key, descriptor); - } -} -function _createClass3(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties3(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties3(Constructor, staticProps); - return Constructor; -} -function _inherits2(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 } }); - if (superClass) - _setPrototypeOf2(subClass, superClass); -} -function _setPrototypeOf2(o, p) { - _setPrototypeOf2 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf2(o, p); -} -function _createSuper2(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct2(); - return function _createSuperInternal() { - var Super = _getPrototypeOf2(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf2(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn2(this, result); - }; -} -function _possibleConstructorReturn2(self, call) { - if (call && (_typeof5(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized2(self); -} -function _assertThisInitialized2(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct2() { - 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; - } -} -function _getPrototypeOf2(o) { - _getPrototypeOf2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf2(o); -} -function _defineProperty2(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var EraParser = function(_Parser) { - _inherits2(EraParser2, _Parser); - var _super = _createSuper2(EraParser2); - function EraParser2() { - var _this; - _classCallCheck3(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)); - _defineProperty2(_assertThisInitialized2(_this), "priority", 140); - _defineProperty2(_assertThisInitialized2(_this), "incompatibleTokens", ["R", "u", "t", "T"]); - return _this; - } - _createClass3(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 -function _typeof6(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof6 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof6 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof6(obj); -} -function _classCallCheck4(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties4(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, descriptor.key, descriptor); - } -} -function _createClass4(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties4(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties4(Constructor, staticProps); - return Constructor; -} -function _inherits3(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 } }); - if (superClass) - _setPrototypeOf3(subClass, superClass); -} -function _setPrototypeOf3(o, p) { - _setPrototypeOf3 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf3(o, p); -} -function _createSuper3(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct3(); - return function _createSuperInternal() { - var Super = _getPrototypeOf3(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf3(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn3(this, result); - }; -} -function _possibleConstructorReturn3(self, call) { - if (call && (_typeof6(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized3(self); -} -function _assertThisInitialized3(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct3() { - 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; - } -} -function _getPrototypeOf3(o) { - _getPrototypeOf3 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf3(o); -} -function _defineProperty3(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var YearParser = function(_Parser) { - _inherits3(YearParser2, _Parser); - var _super = _createSuper3(YearParser2); - function YearParser2() { - var _this; - _classCallCheck4(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)); - _defineProperty3(_assertThisInitialized3(_this), "priority", 130); - _defineProperty3(_assertThisInitialized3(_this), "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass4(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 -function _typeof7(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof7 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof7 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof7(obj); -} -function _classCallCheck5(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties5(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, descriptor.key, descriptor); - } -} -function _createClass5(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties5(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties5(Constructor, staticProps); - return Constructor; -} -function _inherits4(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 } }); - if (superClass) - _setPrototypeOf4(subClass, superClass); -} -function _setPrototypeOf4(o, p) { - _setPrototypeOf4 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf4(o, p); -} -function _createSuper4(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct4(); - return function _createSuperInternal() { - var Super = _getPrototypeOf4(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf4(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn4(this, result); - }; -} -function _possibleConstructorReturn4(self, call) { - if (call && (_typeof7(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized4(self); -} -function _assertThisInitialized4(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct4() { - 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; - } -} -function _getPrototypeOf4(o) { - _getPrototypeOf4 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf4(o); -} -function _defineProperty4(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var LocalWeekYearParser = function(_Parser) { - _inherits4(LocalWeekYearParser2, _Parser); - var _super = _createSuper4(LocalWeekYearParser2); - function LocalWeekYearParser2() { - var _this; - _classCallCheck5(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)); - _defineProperty4(_assertThisInitialized4(_this), "priority", 130); - _defineProperty4(_assertThisInitialized4(_this), "incompatibleTokens", ["y", "R", "u", "Q", "q", "M", "L", "I", "d", "D", "i", "t", "T"]); - return _this; - } - _createClass5(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 -function _typeof8(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof8 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof8 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof8(obj); -} -function _classCallCheck6(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties6(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, descriptor.key, descriptor); - } -} -function _createClass6(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties6(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties6(Constructor, staticProps); - return Constructor; -} -function _inherits5(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 } }); - if (superClass) - _setPrototypeOf5(subClass, superClass); -} -function _setPrototypeOf5(o, p) { - _setPrototypeOf5 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf5(o, p); -} -function _createSuper5(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct5(); - return function _createSuperInternal() { - var Super = _getPrototypeOf5(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf5(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn5(this, result); - }; -} -function _possibleConstructorReturn5(self, call) { - if (call && (_typeof8(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized5(self); -} -function _assertThisInitialized5(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct5() { - 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; - } -} -function _getPrototypeOf5(o) { - _getPrototypeOf5 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf5(o); -} -function _defineProperty5(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ISOWeekYearParser = function(_Parser) { - _inherits5(ISOWeekYearParser2, _Parser); - var _super = _createSuper5(ISOWeekYearParser2); - function ISOWeekYearParser2() { - var _this; - _classCallCheck6(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)); - _defineProperty5(_assertThisInitialized5(_this), "priority", 130); - _defineProperty5(_assertThisInitialized5(_this), "incompatibleTokens", ["G", "y", "Y", "u", "Q", "q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]); - return _this; - } - _createClass6(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 -function _typeof9(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof9 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof9 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof9(obj); -} -function _classCallCheck7(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties7(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, descriptor.key, descriptor); - } -} -function _createClass7(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties7(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties7(Constructor, staticProps); - return Constructor; -} -function _inherits6(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 } }); - if (superClass) - _setPrototypeOf6(subClass, superClass); -} -function _setPrototypeOf6(o, p) { - _setPrototypeOf6 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf6(o, p); -} -function _createSuper6(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct6(); - return function _createSuperInternal() { - var Super = _getPrototypeOf6(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf6(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn6(this, result); - }; -} -function _possibleConstructorReturn6(self, call) { - if (call && (_typeof9(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized6(self); -} -function _assertThisInitialized6(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct6() { - 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; - } -} -function _getPrototypeOf6(o) { - _getPrototypeOf6 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf6(o); -} -function _defineProperty6(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ExtendedYearParser = function(_Parser) { - _inherits6(ExtendedYearParser2, _Parser); - var _super = _createSuper6(ExtendedYearParser2); - function ExtendedYearParser2() { - var _this; - _classCallCheck7(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)); - _defineProperty6(_assertThisInitialized6(_this), "priority", 130); - _defineProperty6(_assertThisInitialized6(_this), "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass7(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 -function _typeof10(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof10 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof10 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof10(obj); -} -function _classCallCheck8(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties8(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, descriptor.key, descriptor); - } -} -function _createClass8(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties8(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties8(Constructor, staticProps); - return Constructor; -} -function _inherits7(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 } }); - if (superClass) - _setPrototypeOf7(subClass, superClass); -} -function _setPrototypeOf7(o, p) { - _setPrototypeOf7 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf7(o, p); -} -function _createSuper7(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct7(); - return function _createSuperInternal() { - var Super = _getPrototypeOf7(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf7(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn7(this, result); - }; -} -function _possibleConstructorReturn7(self, call) { - if (call && (_typeof10(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized7(self); -} -function _assertThisInitialized7(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct7() { - 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; - } -} -function _getPrototypeOf7(o) { - _getPrototypeOf7 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf7(o); -} -function _defineProperty7(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var QuarterParser = function(_Parser) { - _inherits7(QuarterParser2, _Parser); - var _super = _createSuper7(QuarterParser2); - function QuarterParser2() { - var _this; - _classCallCheck8(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)); - _defineProperty7(_assertThisInitialized7(_this), "priority", 120); - _defineProperty7(_assertThisInitialized7(_this), "incompatibleTokens", ["Y", "R", "q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass8(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 -function _typeof11(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof11 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof11 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof11(obj); -} -function _classCallCheck9(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties9(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, descriptor.key, descriptor); - } -} -function _createClass9(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties9(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties9(Constructor, staticProps); - return Constructor; -} -function _inherits8(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 } }); - if (superClass) - _setPrototypeOf8(subClass, superClass); -} -function _setPrototypeOf8(o, p) { - _setPrototypeOf8 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf8(o, p); -} -function _createSuper8(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct8(); - return function _createSuperInternal() { - var Super = _getPrototypeOf8(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf8(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn8(this, result); - }; -} -function _possibleConstructorReturn8(self, call) { - if (call && (_typeof11(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized8(self); -} -function _assertThisInitialized8(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct8() { - 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; - } -} -function _getPrototypeOf8(o) { - _getPrototypeOf8 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf8(o); -} -function _defineProperty8(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var StandAloneQuarterParser = function(_Parser) { - _inherits8(StandAloneQuarterParser2, _Parser); - var _super = _createSuper8(StandAloneQuarterParser2); - function StandAloneQuarterParser2() { - var _this; - _classCallCheck9(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)); - _defineProperty8(_assertThisInitialized8(_this), "priority", 120); - _defineProperty8(_assertThisInitialized8(_this), "incompatibleTokens", ["Y", "R", "Q", "M", "L", "w", "I", "d", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass9(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 -function _typeof12(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof12 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof12 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof12(obj); -} -function _classCallCheck10(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties10(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, descriptor.key, descriptor); - } -} -function _createClass10(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties10(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties10(Constructor, staticProps); - return Constructor; -} -function _inherits9(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 } }); - if (superClass) - _setPrototypeOf9(subClass, superClass); -} -function _setPrototypeOf9(o, p) { - _setPrototypeOf9 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf9(o, p); -} -function _createSuper9(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct9(); - return function _createSuperInternal() { - var Super = _getPrototypeOf9(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf9(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn9(this, result); - }; -} -function _possibleConstructorReturn9(self, call) { - if (call && (_typeof12(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized9(self); -} -function _assertThisInitialized9(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct9() { - 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; - } -} -function _getPrototypeOf9(o) { - _getPrototypeOf9 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf9(o); -} -function _defineProperty9(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var MonthParser = function(_Parser) { - _inherits9(MonthParser2, _Parser); - var _super = _createSuper9(MonthParser2); - function MonthParser2() { - var _this; - _classCallCheck10(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)); - _defineProperty9(_assertThisInitialized9(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "L", "w", "I", "D", "i", "e", "c", "t", "T"]); - _defineProperty9(_assertThisInitialized9(_this), "priority", 110); - return _this; - } - _createClass10(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 -function _typeof13(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof13 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof13 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof13(obj); -} -function _classCallCheck11(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties11(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, descriptor.key, descriptor); - } -} -function _createClass11(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties11(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties11(Constructor, staticProps); - return Constructor; -} -function _inherits10(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 } }); - if (superClass) - _setPrototypeOf10(subClass, superClass); -} -function _setPrototypeOf10(o, p) { - _setPrototypeOf10 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf10(o, p); -} -function _createSuper10(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct10(); - return function _createSuperInternal() { - var Super = _getPrototypeOf10(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf10(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn10(this, result); - }; -} -function _possibleConstructorReturn10(self, call) { - if (call && (_typeof13(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized10(self); -} -function _assertThisInitialized10(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct10() { - 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; - } -} -function _getPrototypeOf10(o) { - _getPrototypeOf10 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf10(o); -} -function _defineProperty10(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var StandAloneMonthParser = function(_Parser) { - _inherits10(StandAloneMonthParser2, _Parser); - var _super = _createSuper10(StandAloneMonthParser2); - function StandAloneMonthParser2() { - var _this; - _classCallCheck11(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)); - _defineProperty10(_assertThisInitialized10(_this), "priority", 110); - _defineProperty10(_assertThisInitialized10(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "M", "w", "I", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass11(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 -function _typeof14(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof14 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof14 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof14(obj); -} -function _classCallCheck12(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties12(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, descriptor.key, descriptor); - } -} -function _createClass12(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties12(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties12(Constructor, staticProps); - return Constructor; -} -function _inherits11(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 } }); - if (superClass) - _setPrototypeOf11(subClass, superClass); -} -function _setPrototypeOf11(o, p) { - _setPrototypeOf11 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf11(o, p); -} -function _createSuper11(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct11(); - return function _createSuperInternal() { - var Super = _getPrototypeOf11(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf11(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn11(this, result); - }; -} -function _possibleConstructorReturn11(self, call) { - if (call && (_typeof14(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized11(self); -} -function _assertThisInitialized11(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct11() { - 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; - } -} -function _getPrototypeOf11(o) { - _getPrototypeOf11 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf11(o); -} -function _defineProperty11(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var LocalWeekParser = function(_Parser) { - _inherits11(LocalWeekParser2, _Parser); - var _super = _createSuper11(LocalWeekParser2); - function LocalWeekParser2() { - var _this; - _classCallCheck12(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)); - _defineProperty11(_assertThisInitialized11(_this), "priority", 100); - _defineProperty11(_assertThisInitialized11(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "i", "t", "T"]); - return _this; - } - _createClass12(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 -function _typeof15(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof15 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof15 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof15(obj); -} -function _classCallCheck13(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties13(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, descriptor.key, descriptor); - } -} -function _createClass13(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties13(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties13(Constructor, staticProps); - return Constructor; -} -function _inherits12(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 } }); - if (superClass) - _setPrototypeOf12(subClass, superClass); -} -function _setPrototypeOf12(o, p) { - _setPrototypeOf12 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf12(o, p); -} -function _createSuper12(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct12(); - return function _createSuperInternal() { - var Super = _getPrototypeOf12(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf12(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn12(this, result); - }; -} -function _possibleConstructorReturn12(self, call) { - if (call && (_typeof15(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized12(self); -} -function _assertThisInitialized12(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct12() { - 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; - } -} -function _getPrototypeOf12(o) { - _getPrototypeOf12 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf12(o); -} -function _defineProperty12(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ISOWeekParser = function(_Parser) { - _inherits12(ISOWeekParser2, _Parser); - var _super = _createSuper12(ISOWeekParser2); - function ISOWeekParser2() { - var _this; - _classCallCheck13(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)); - _defineProperty12(_assertThisInitialized12(_this), "priority", 100); - _defineProperty12(_assertThisInitialized12(_this), "incompatibleTokens", ["y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]); - return _this; - } - _createClass13(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 -function _typeof16(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof16 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof16 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof16(obj); -} -function _classCallCheck14(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties14(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, descriptor.key, descriptor); - } -} -function _createClass14(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties14(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties14(Constructor, staticProps); - return Constructor; -} -function _inherits13(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 } }); - if (superClass) - _setPrototypeOf13(subClass, superClass); -} -function _setPrototypeOf13(o, p) { - _setPrototypeOf13 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf13(o, p); -} -function _createSuper13(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct13(); - return function _createSuperInternal() { - var Super = _getPrototypeOf13(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf13(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn13(this, result); - }; -} -function _possibleConstructorReturn13(self, call) { - if (call && (_typeof16(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized13(self); -} -function _assertThisInitialized13(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct13() { - 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; - } -} -function _getPrototypeOf13(o) { - _getPrototypeOf13 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf13(o); -} -function _defineProperty13(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -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) { - _inherits13(DateParser2, _Parser); - var _super = _createSuper13(DateParser2); - function DateParser2() { - var _this; - _classCallCheck14(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)); - _defineProperty13(_assertThisInitialized13(_this), "priority", 90); - _defineProperty13(_assertThisInitialized13(_this), "subPriority", 1); - _defineProperty13(_assertThisInitialized13(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "w", "I", "D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass14(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 -function _typeof17(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof17 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof17 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof17(obj); -} -function _classCallCheck15(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties15(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, descriptor.key, descriptor); - } -} -function _createClass15(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties15(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties15(Constructor, staticProps); - return Constructor; -} -function _inherits14(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 } }); - if (superClass) - _setPrototypeOf14(subClass, superClass); -} -function _setPrototypeOf14(o, p) { - _setPrototypeOf14 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf14(o, p); -} -function _createSuper14(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct14(); - return function _createSuperInternal() { - var Super = _getPrototypeOf14(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf14(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn14(this, result); - }; -} -function _possibleConstructorReturn14(self, call) { - if (call && (_typeof17(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized14(self); -} -function _assertThisInitialized14(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct14() { - 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; - } -} -function _getPrototypeOf14(o) { - _getPrototypeOf14 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf14(o); -} -function _defineProperty14(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var DayOfYearParser = function(_Parser) { - _inherits14(DayOfYearParser2, _Parser); - var _super = _createSuper14(DayOfYearParser2); - function DayOfYearParser2() { - var _this; - _classCallCheck15(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)); - _defineProperty14(_assertThisInitialized14(_this), "priority", 90); - _defineProperty14(_assertThisInitialized14(_this), "subpriority", 1); - _defineProperty14(_assertThisInitialized14(_this), "incompatibleTokens", ["Y", "R", "q", "Q", "M", "L", "w", "I", "d", "E", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass15(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 -function _typeof18(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof18 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof18 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof18(obj); -} -function _classCallCheck16(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties16(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, descriptor.key, descriptor); - } -} -function _createClass16(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties16(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties16(Constructor, staticProps); - return Constructor; -} -function _inherits15(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 } }); - if (superClass) - _setPrototypeOf15(subClass, superClass); -} -function _setPrototypeOf15(o, p) { - _setPrototypeOf15 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf15(o, p); -} -function _createSuper15(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct15(); - return function _createSuperInternal() { - var Super = _getPrototypeOf15(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf15(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn15(this, result); - }; -} -function _possibleConstructorReturn15(self, call) { - if (call && (_typeof18(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized15(self); -} -function _assertThisInitialized15(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct15() { - 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; - } -} -function _getPrototypeOf15(o) { - _getPrototypeOf15 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf15(o); -} -function _defineProperty15(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var DayParser = function(_Parser) { - _inherits15(DayParser2, _Parser); - var _super = _createSuper15(DayParser2); - function DayParser2() { - var _this; - _classCallCheck16(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)); - _defineProperty15(_assertThisInitialized15(_this), "priority", 90); - _defineProperty15(_assertThisInitialized15(_this), "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]); - return _this; - } - _createClass16(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 -function _typeof19(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof19 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof19 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof19(obj); -} -function _classCallCheck17(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties17(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, descriptor.key, descriptor); - } -} -function _createClass17(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties17(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties17(Constructor, staticProps); - return Constructor; -} -function _inherits16(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 } }); - if (superClass) - _setPrototypeOf16(subClass, superClass); -} -function _setPrototypeOf16(o, p) { - _setPrototypeOf16 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf16(o, p); -} -function _createSuper16(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct16(); - return function _createSuperInternal() { - var Super = _getPrototypeOf16(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf16(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn16(this, result); - }; -} -function _possibleConstructorReturn16(self, call) { - if (call && (_typeof19(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized16(self); -} -function _assertThisInitialized16(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct16() { - 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; - } -} -function _getPrototypeOf16(o) { - _getPrototypeOf16 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf16(o); -} -function _defineProperty16(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var LocalDayParser = function(_Parser) { - _inherits16(LocalDayParser2, _Parser); - var _super = _createSuper16(LocalDayParser2); - function LocalDayParser2() { - var _this; - _classCallCheck17(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)); - _defineProperty16(_assertThisInitialized16(_this), "priority", 90); - _defineProperty16(_assertThisInitialized16(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "c", "t", "T"]); - return _this; - } - _createClass17(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 -function _typeof20(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof20 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof20 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof20(obj); -} -function _classCallCheck18(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties18(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, descriptor.key, descriptor); - } -} -function _createClass18(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties18(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties18(Constructor, staticProps); - return Constructor; -} -function _inherits17(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 } }); - if (superClass) - _setPrototypeOf17(subClass, superClass); -} -function _setPrototypeOf17(o, p) { - _setPrototypeOf17 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf17(o, p); -} -function _createSuper17(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct17(); - return function _createSuperInternal() { - var Super = _getPrototypeOf17(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf17(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn17(this, result); - }; -} -function _possibleConstructorReturn17(self, call) { - if (call && (_typeof20(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized17(self); -} -function _assertThisInitialized17(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct17() { - 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; - } -} -function _getPrototypeOf17(o) { - _getPrototypeOf17 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf17(o); -} -function _defineProperty17(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var StandAloneLocalDayParser = function(_Parser) { - _inherits17(StandAloneLocalDayParser2, _Parser); - var _super = _createSuper17(StandAloneLocalDayParser2); - function StandAloneLocalDayParser2() { - var _this; - _classCallCheck18(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)); - _defineProperty17(_assertThisInitialized17(_this), "priority", 90); - _defineProperty17(_assertThisInitialized17(_this), "incompatibleTokens", ["y", "R", "u", "q", "Q", "M", "L", "I", "d", "D", "E", "i", "e", "t", "T"]); - return _this; - } - _createClass18(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 -function _typeof21(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof21 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof21 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof21(obj); -} -function _classCallCheck19(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties19(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, descriptor.key, descriptor); - } -} -function _createClass19(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties19(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties19(Constructor, staticProps); - return Constructor; -} -function _inherits18(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 } }); - if (superClass) - _setPrototypeOf18(subClass, superClass); -} -function _setPrototypeOf18(o, p) { - _setPrototypeOf18 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf18(o, p); -} -function _createSuper18(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct18(); - return function _createSuperInternal() { - var Super = _getPrototypeOf18(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf18(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn18(this, result); - }; -} -function _possibleConstructorReturn18(self, call) { - if (call && (_typeof21(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized18(self); -} -function _assertThisInitialized18(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct18() { - 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; - } -} -function _getPrototypeOf18(o) { - _getPrototypeOf18 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf18(o); -} -function _defineProperty18(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ISODayParser = function(_Parser) { - _inherits18(ISODayParser2, _Parser); - var _super = _createSuper18(ISODayParser2); - function ISODayParser2() { - var _this; - _classCallCheck19(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)); - _defineProperty18(_assertThisInitialized18(_this), "priority", 90); - _defineProperty18(_assertThisInitialized18(_this), "incompatibleTokens", ["y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "E", "e", "c", "t", "T"]); - return _this; - } - _createClass19(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 -function _typeof22(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof22 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof22 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof22(obj); -} -function _classCallCheck20(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties20(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, descriptor.key, descriptor); - } -} -function _createClass20(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties20(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties20(Constructor, staticProps); - return Constructor; -} -function _inherits19(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 } }); - if (superClass) - _setPrototypeOf19(subClass, superClass); -} -function _setPrototypeOf19(o, p) { - _setPrototypeOf19 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf19(o, p); -} -function _createSuper19(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct19(); - return function _createSuperInternal() { - var Super = _getPrototypeOf19(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf19(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn19(this, result); - }; -} -function _possibleConstructorReturn19(self, call) { - if (call && (_typeof22(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized19(self); -} -function _assertThisInitialized19(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct19() { - 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; - } -} -function _getPrototypeOf19(o) { - _getPrototypeOf19 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf19(o); -} -function _defineProperty19(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var AMPMParser = function(_Parser) { - _inherits19(AMPMParser2, _Parser); - var _super = _createSuper19(AMPMParser2); - function AMPMParser2() { - var _this; - _classCallCheck20(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)); - _defineProperty19(_assertThisInitialized19(_this), "priority", 80); - _defineProperty19(_assertThisInitialized19(_this), "incompatibleTokens", ["b", "B", "H", "k", "t", "T"]); - return _this; - } - _createClass20(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 -function _typeof23(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof23 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof23 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof23(obj); -} -function _classCallCheck21(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties21(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, descriptor.key, descriptor); - } -} -function _createClass21(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties21(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties21(Constructor, staticProps); - return Constructor; -} -function _inherits20(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 } }); - if (superClass) - _setPrototypeOf20(subClass, superClass); -} -function _setPrototypeOf20(o, p) { - _setPrototypeOf20 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf20(o, p); -} -function _createSuper20(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct20(); - return function _createSuperInternal() { - var Super = _getPrototypeOf20(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf20(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn20(this, result); - }; -} -function _possibleConstructorReturn20(self, call) { - if (call && (_typeof23(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized20(self); -} -function _assertThisInitialized20(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct20() { - 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; - } -} -function _getPrototypeOf20(o) { - _getPrototypeOf20 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf20(o); -} -function _defineProperty20(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var AMPMMidnightParser = function(_Parser) { - _inherits20(AMPMMidnightParser2, _Parser); - var _super = _createSuper20(AMPMMidnightParser2); - function AMPMMidnightParser2() { - var _this; - _classCallCheck21(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)); - _defineProperty20(_assertThisInitialized20(_this), "priority", 80); - _defineProperty20(_assertThisInitialized20(_this), "incompatibleTokens", ["a", "B", "H", "k", "t", "T"]); - return _this; - } - _createClass21(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 -function _typeof24(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof24 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof24 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof24(obj); -} -function _classCallCheck22(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties22(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, descriptor.key, descriptor); - } -} -function _createClass22(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties22(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties22(Constructor, staticProps); - return Constructor; -} -function _inherits21(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 } }); - if (superClass) - _setPrototypeOf21(subClass, superClass); -} -function _setPrototypeOf21(o, p) { - _setPrototypeOf21 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf21(o, p); -} -function _createSuper21(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct21(); - return function _createSuperInternal() { - var Super = _getPrototypeOf21(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf21(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn21(this, result); - }; -} -function _possibleConstructorReturn21(self, call) { - if (call && (_typeof24(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized21(self); -} -function _assertThisInitialized21(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct21() { - 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; - } -} -function _getPrototypeOf21(o) { - _getPrototypeOf21 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf21(o); -} -function _defineProperty21(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var DayPeriodParser = function(_Parser) { - _inherits21(DayPeriodParser2, _Parser); - var _super = _createSuper21(DayPeriodParser2); - function DayPeriodParser2() { - var _this; - _classCallCheck22(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)); - _defineProperty21(_assertThisInitialized21(_this), "priority", 80); - _defineProperty21(_assertThisInitialized21(_this), "incompatibleTokens", ["a", "b", "t", "T"]); - return _this; - } - _createClass22(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 -function _typeof25(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof25 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof25 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof25(obj); -} -function _classCallCheck23(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties23(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, descriptor.key, descriptor); - } -} -function _createClass23(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties23(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties23(Constructor, staticProps); - return Constructor; -} -function _inherits22(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 } }); - if (superClass) - _setPrototypeOf22(subClass, superClass); -} -function _setPrototypeOf22(o, p) { - _setPrototypeOf22 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf22(o, p); -} -function _createSuper22(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct22(); - return function _createSuperInternal() { - var Super = _getPrototypeOf22(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf22(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn22(this, result); - }; -} -function _possibleConstructorReturn22(self, call) { - if (call && (_typeof25(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized22(self); -} -function _assertThisInitialized22(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct22() { - 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; - } -} -function _getPrototypeOf22(o) { - _getPrototypeOf22 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf22(o); -} -function _defineProperty22(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var Hour1to12Parser = function(_Parser) { - _inherits22(Hour1to12Parser2, _Parser); - var _super = _createSuper22(Hour1to12Parser2); - function Hour1to12Parser2() { - var _this; - _classCallCheck23(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)); - _defineProperty22(_assertThisInitialized22(_this), "priority", 70); - _defineProperty22(_assertThisInitialized22(_this), "incompatibleTokens", ["H", "K", "k", "t", "T"]); - return _this; - } - _createClass23(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 -function _typeof26(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof26 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof26 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof26(obj); -} -function _classCallCheck24(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties24(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, descriptor.key, descriptor); - } -} -function _createClass24(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties24(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties24(Constructor, staticProps); - return Constructor; -} -function _inherits23(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 } }); - if (superClass) - _setPrototypeOf23(subClass, superClass); -} -function _setPrototypeOf23(o, p) { - _setPrototypeOf23 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf23(o, p); -} -function _createSuper23(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct23(); - return function _createSuperInternal() { - var Super = _getPrototypeOf23(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf23(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn23(this, result); - }; -} -function _possibleConstructorReturn23(self, call) { - if (call && (_typeof26(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized23(self); -} -function _assertThisInitialized23(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct23() { - 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; - } -} -function _getPrototypeOf23(o) { - _getPrototypeOf23 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf23(o); -} -function _defineProperty23(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var Hour0to23Parser = function(_Parser) { - _inherits23(Hour0to23Parser2, _Parser); - var _super = _createSuper23(Hour0to23Parser2); - function Hour0to23Parser2() { - var _this; - _classCallCheck24(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)); - _defineProperty23(_assertThisInitialized23(_this), "priority", 70); - _defineProperty23(_assertThisInitialized23(_this), "incompatibleTokens", ["a", "b", "h", "K", "k", "t", "T"]); - return _this; - } - _createClass24(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 -function _typeof27(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof27 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof27 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof27(obj); -} -function _classCallCheck25(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties25(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, descriptor.key, descriptor); - } -} -function _createClass25(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties25(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties25(Constructor, staticProps); - return Constructor; -} -function _inherits24(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 } }); - if (superClass) - _setPrototypeOf24(subClass, superClass); -} -function _setPrototypeOf24(o, p) { - _setPrototypeOf24 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf24(o, p); -} -function _createSuper24(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct24(); - return function _createSuperInternal() { - var Super = _getPrototypeOf24(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf24(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn24(this, result); - }; -} -function _possibleConstructorReturn24(self, call) { - if (call && (_typeof27(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized24(self); -} -function _assertThisInitialized24(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct24() { - 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; - } -} -function _getPrototypeOf24(o) { - _getPrototypeOf24 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf24(o); -} -function _defineProperty24(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var Hour0To11Parser = function(_Parser) { - _inherits24(Hour0To11Parser2, _Parser); - var _super = _createSuper24(Hour0To11Parser2); - function Hour0To11Parser2() { - var _this; - _classCallCheck25(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)); - _defineProperty24(_assertThisInitialized24(_this), "priority", 70); - _defineProperty24(_assertThisInitialized24(_this), "incompatibleTokens", ["h", "H", "k", "t", "T"]); - return _this; - } - _createClass25(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 -function _typeof28(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof28 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof28 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof28(obj); -} -function _classCallCheck26(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties26(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, descriptor.key, descriptor); - } -} -function _createClass26(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties26(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties26(Constructor, staticProps); - return Constructor; -} -function _inherits25(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 } }); - if (superClass) - _setPrototypeOf25(subClass, superClass); -} -function _setPrototypeOf25(o, p) { - _setPrototypeOf25 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf25(o, p); -} -function _createSuper25(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct25(); - return function _createSuperInternal() { - var Super = _getPrototypeOf25(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf25(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn25(this, result); - }; -} -function _possibleConstructorReturn25(self, call) { - if (call && (_typeof28(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized25(self); -} -function _assertThisInitialized25(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct25() { - 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; - } -} -function _getPrototypeOf25(o) { - _getPrototypeOf25 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf25(o); -} -function _defineProperty25(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var Hour1To24Parser = function(_Parser) { - _inherits25(Hour1To24Parser2, _Parser); - var _super = _createSuper25(Hour1To24Parser2); - function Hour1To24Parser2() { - var _this; - _classCallCheck26(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)); - _defineProperty25(_assertThisInitialized25(_this), "priority", 70); - _defineProperty25(_assertThisInitialized25(_this), "incompatibleTokens", ["a", "b", "h", "H", "K", "t", "T"]); - return _this; - } - _createClass26(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 -function _typeof29(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof29 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof29 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof29(obj); -} -function _classCallCheck27(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties27(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, descriptor.key, descriptor); - } -} -function _createClass27(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties27(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties27(Constructor, staticProps); - return Constructor; -} -function _inherits26(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 } }); - if (superClass) - _setPrototypeOf26(subClass, superClass); -} -function _setPrototypeOf26(o, p) { - _setPrototypeOf26 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf26(o, p); -} -function _createSuper26(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct26(); - return function _createSuperInternal() { - var Super = _getPrototypeOf26(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf26(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn26(this, result); - }; -} -function _possibleConstructorReturn26(self, call) { - if (call && (_typeof29(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized26(self); -} -function _assertThisInitialized26(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct26() { - 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; - } -} -function _getPrototypeOf26(o) { - _getPrototypeOf26 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf26(o); -} -function _defineProperty26(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var MinuteParser = function(_Parser) { - _inherits26(MinuteParser2, _Parser); - var _super = _createSuper26(MinuteParser2); - function MinuteParser2() { - var _this; - _classCallCheck27(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)); - _defineProperty26(_assertThisInitialized26(_this), "priority", 60); - _defineProperty26(_assertThisInitialized26(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass27(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 -function _typeof30(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof30 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof30 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof30(obj); -} -function _classCallCheck28(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties28(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, descriptor.key, descriptor); - } -} -function _createClass28(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties28(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties28(Constructor, staticProps); - return Constructor; -} -function _inherits27(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 } }); - if (superClass) - _setPrototypeOf27(subClass, superClass); -} -function _setPrototypeOf27(o, p) { - _setPrototypeOf27 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf27(o, p); -} -function _createSuper27(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct27(); - return function _createSuperInternal() { - var Super = _getPrototypeOf27(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf27(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn27(this, result); - }; -} -function _possibleConstructorReturn27(self, call) { - if (call && (_typeof30(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized27(self); -} -function _assertThisInitialized27(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct27() { - 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; - } -} -function _getPrototypeOf27(o) { - _getPrototypeOf27 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf27(o); -} -function _defineProperty27(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var SecondParser = function(_Parser) { - _inherits27(SecondParser2, _Parser); - var _super = _createSuper27(SecondParser2); - function SecondParser2() { - var _this; - _classCallCheck28(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)); - _defineProperty27(_assertThisInitialized27(_this), "priority", 50); - _defineProperty27(_assertThisInitialized27(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass28(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 -function _typeof31(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof31 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof31 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof31(obj); -} -function _classCallCheck29(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties29(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, descriptor.key, descriptor); - } -} -function _createClass29(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties29(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties29(Constructor, staticProps); - return Constructor; -} -function _inherits28(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 } }); - if (superClass) - _setPrototypeOf28(subClass, superClass); -} -function _setPrototypeOf28(o, p) { - _setPrototypeOf28 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf28(o, p); -} -function _createSuper28(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct28(); - return function _createSuperInternal() { - var Super = _getPrototypeOf28(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf28(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn28(this, result); - }; -} -function _possibleConstructorReturn28(self, call) { - if (call && (_typeof31(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized28(self); -} -function _assertThisInitialized28(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct28() { - 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; - } -} -function _getPrototypeOf28(o) { - _getPrototypeOf28 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf28(o); -} -function _defineProperty28(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var FractionOfSecondParser = function(_Parser) { - _inherits28(FractionOfSecondParser2, _Parser); - var _super = _createSuper28(FractionOfSecondParser2); - function FractionOfSecondParser2() { - var _this; - _classCallCheck29(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)); - _defineProperty28(_assertThisInitialized28(_this), "priority", 30); - _defineProperty28(_assertThisInitialized28(_this), "incompatibleTokens", ["t", "T"]); - return _this; - } - _createClass29(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 -function _typeof32(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof32 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof32 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof32(obj); -} -function _classCallCheck30(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties30(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, descriptor.key, descriptor); - } -} -function _createClass30(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties30(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties30(Constructor, staticProps); - return Constructor; -} -function _inherits29(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 } }); - if (superClass) - _setPrototypeOf29(subClass, superClass); -} -function _setPrototypeOf29(o, p) { - _setPrototypeOf29 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf29(o, p); -} -function _createSuper29(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct29(); - return function _createSuperInternal() { - var Super = _getPrototypeOf29(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf29(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn29(this, result); - }; -} -function _possibleConstructorReturn29(self, call) { - if (call && (_typeof32(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized29(self); -} -function _assertThisInitialized29(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct29() { - 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; - } -} -function _getPrototypeOf29(o) { - _getPrototypeOf29 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf29(o); -} -function _defineProperty29(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ISOTimezoneWithZParser = function(_Parser) { - _inherits29(ISOTimezoneWithZParser2, _Parser); - var _super = _createSuper29(ISOTimezoneWithZParser2); - function ISOTimezoneWithZParser2() { - var _this; - _classCallCheck30(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)); - _defineProperty29(_assertThisInitialized29(_this), "priority", 10); - _defineProperty29(_assertThisInitialized29(_this), "incompatibleTokens", ["t", "T", "x"]); - return _this; - } - _createClass30(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 -function _typeof33(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof33 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof33 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof33(obj); -} -function _classCallCheck31(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties31(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, descriptor.key, descriptor); - } -} -function _createClass31(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties31(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties31(Constructor, staticProps); - return Constructor; -} -function _inherits30(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 } }); - if (superClass) - _setPrototypeOf30(subClass, superClass); -} -function _setPrototypeOf30(o, p) { - _setPrototypeOf30 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf30(o, p); -} -function _createSuper30(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct30(); - return function _createSuperInternal() { - var Super = _getPrototypeOf30(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf30(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn30(this, result); - }; -} -function _possibleConstructorReturn30(self, call) { - if (call && (_typeof33(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized30(self); -} -function _assertThisInitialized30(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct30() { - 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; - } -} -function _getPrototypeOf30(o) { - _getPrototypeOf30 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf30(o); -} -function _defineProperty30(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var ISOTimezoneParser = function(_Parser) { - _inherits30(ISOTimezoneParser2, _Parser); - var _super = _createSuper30(ISOTimezoneParser2); - function ISOTimezoneParser2() { - var _this; - _classCallCheck31(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)); - _defineProperty30(_assertThisInitialized30(_this), "priority", 10); - _defineProperty30(_assertThisInitialized30(_this), "incompatibleTokens", ["t", "T", "X"]); - return _this; - } - _createClass31(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 -function _typeof34(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof34 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof34 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof34(obj); -} -function _classCallCheck32(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties32(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, descriptor.key, descriptor); - } -} -function _createClass32(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties32(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties32(Constructor, staticProps); - return Constructor; -} -function _inherits31(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 } }); - if (superClass) - _setPrototypeOf31(subClass, superClass); -} -function _setPrototypeOf31(o, p) { - _setPrototypeOf31 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf31(o, p); -} -function _createSuper31(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct31(); - return function _createSuperInternal() { - var Super = _getPrototypeOf31(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf31(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn31(this, result); - }; -} -function _possibleConstructorReturn31(self, call) { - if (call && (_typeof34(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized31(self); -} -function _assertThisInitialized31(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct31() { - 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; - } -} -function _getPrototypeOf31(o) { - _getPrototypeOf31 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf31(o); -} -function _defineProperty31(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var TimestampSecondsParser = function(_Parser) { - _inherits31(TimestampSecondsParser2, _Parser); - var _super = _createSuper31(TimestampSecondsParser2); - function TimestampSecondsParser2() { - var _this; - _classCallCheck32(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)); - _defineProperty31(_assertThisInitialized31(_this), "priority", 40); - _defineProperty31(_assertThisInitialized31(_this), "incompatibleTokens", "*"); - return _this; - } - _createClass32(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 -function _typeof35(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof35 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof35 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof35(obj); -} -function _classCallCheck33(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -function _defineProperties33(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, descriptor.key, descriptor); - } -} -function _createClass33(Constructor, protoProps, staticProps) { - if (protoProps) - _defineProperties33(Constructor.prototype, protoProps); - if (staticProps) - _defineProperties33(Constructor, staticProps); - return Constructor; -} -function _inherits32(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 } }); - if (superClass) - _setPrototypeOf32(subClass, superClass); -} -function _setPrototypeOf32(o, p) { - _setPrototypeOf32 = Object.setPrototypeOf || function _setPrototypeOf33(o2, p2) { - o2.__proto__ = p2; - return o2; - }; - return _setPrototypeOf32(o, p); -} -function _createSuper32(Derived) { - var hasNativeReflectConstruct = _isNativeReflectConstruct32(); - return function _createSuperInternal() { - var Super = _getPrototypeOf32(Derived), result; - if (hasNativeReflectConstruct) { - var NewTarget = _getPrototypeOf32(this).constructor; - result = Reflect.construct(Super, arguments, NewTarget); - } else { - result = Super.apply(this, arguments); - } - return _possibleConstructorReturn32(this, result); - }; -} -function _possibleConstructorReturn32(self, call) { - if (call && (_typeof35(call) === "object" || typeof call === "function")) { - return call; - } - return _assertThisInitialized32(self); -} -function _assertThisInitialized32(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - return self; -} -function _isNativeReflectConstruct32() { - 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; - } -} -function _getPrototypeOf32(o) { - _getPrototypeOf32 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf33(o2) { - return o2.__proto__ || Object.getPrototypeOf(o2); - }; - return _getPrototypeOf32(o); -} -function _defineProperty32(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true }); - } else { - obj[key] = value; - } - return obj; -} -var TimestampMillisecondsParser = function(_Parser) { - _inherits32(TimestampMillisecondsParser2, _Parser); - var _super = _createSuper32(TimestampMillisecondsParser2); - function TimestampMillisecondsParser2() { - var _this; - _classCallCheck33(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)); - _defineProperty32(_assertThisInitialized32(_this), "priority", 20); - _defineProperty32(_assertThisInitialized32(_this), "incompatibleTokens", "*"); - return _this; - } - _createClass33(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 -function _typeof36(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof36 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof36 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof36(obj); -} -function _createForOfIteratorHelper(o, allowArrayLike) { - var it2; - if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { - if (Array.isArray(o) || (it2 = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { - if (it2) - o = it2; - 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() { - it2 = o[Symbol.iterator](); - }, n: function n() { - var step = it2.next(); - normalCompletion = step.done; - return step; - }, e: function e2(_e2) { - didErr = true; - err = _e2; - }, f: function f() { - try { - if (!normalCompletion && it2.return != null) - it2.return(); - } finally { - if (didErr) - throw err; - } - } }; -} -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); -} -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; -} -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 (_typeof36(_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, b3) { - return b3 - 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, b3) { - return b3.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/date-fns/esm/subDays/index.js -function subDays(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var amount = toInteger(dirtyAmount); - return addDays(dirtyDate, -amount); -} - -// node_modules/date-fns/esm/parseISO/index.js -function parseISO(argument, options) { - var _options$additionalDi; - requiredArgs(1, arguments); - var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2); - if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) { - throw new RangeError("additionalDigits must be 0, 1 or 2"); - } - if (!(typeof argument === "string" || Object.prototype.toString.call(argument) === "[object String]")) { - return /* @__PURE__ */ new Date(NaN); - } - var dateStrings = splitDateString(argument); - var date; - if (dateStrings.date) { - var parseYearResult = parseYear(dateStrings.date, additionalDigits); - date = parseDate(parseYearResult.restDateString, parseYearResult.year); - } - if (!date || isNaN(date.getTime())) { - return /* @__PURE__ */ new Date(NaN); - } - var timestamp = date.getTime(); - var time = 0; - var offset; - if (dateStrings.time) { - time = parseTime(dateStrings.time); - if (isNaN(time)) { - return /* @__PURE__ */ new Date(NaN); - } - } - if (dateStrings.timezone) { - offset = parseTimezone(dateStrings.timezone); - if (isNaN(offset)) { - return /* @__PURE__ */ new Date(NaN); - } - } else { - var dirtyDate = new Date(timestamp + time); - var result = /* @__PURE__ */ new Date(0); - result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate()); - result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds()); - return result; - } - return new Date(timestamp + time + offset); -} -var patterns = { - dateTimeDelimiter: /[T ]/, - timeZoneDelimiter: /[Z ]/i, - timezone: /([Z+-].*)$/ -}; -var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; -var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; -var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; -function splitDateString(dateString) { - var dateStrings = {}; - var array = dateString.split(patterns.dateTimeDelimiter); - var timeString; - if (array.length > 2) { - return dateStrings; - } - if (/:/.test(array[0])) { - timeString = array[0]; - } else { - dateStrings.date = array[0]; - timeString = array[1]; - if (patterns.timeZoneDelimiter.test(dateStrings.date)) { - dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; - timeString = dateString.substr(dateStrings.date.length, dateString.length); - } - } - if (timeString) { - var token = patterns.timezone.exec(timeString); - if (token) { - dateStrings.time = timeString.replace(token[1], ""); - dateStrings.timezone = token[1]; - } else { - dateStrings.time = timeString; - } - } - return dateStrings; -} -function parseYear(dateString, additionalDigits) { - var regex = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)"); - var captures = dateString.match(regex); - if (!captures) - return { - year: NaN, - restDateString: "" - }; - var year = captures[1] ? parseInt(captures[1]) : null; - var century = captures[2] ? parseInt(captures[2]) : null; - return { - year: century === null ? year : century * 100, - restDateString: dateString.slice((captures[1] || captures[2]).length) - }; -} -function parseDate(dateString, year) { - if (year === null) - return /* @__PURE__ */ new Date(NaN); - var captures = dateString.match(dateRegex); - if (!captures) - return /* @__PURE__ */ new Date(NaN); - var isWeekDate = !!captures[4]; - var dayOfYear = parseDateUnit(captures[1]); - var month = parseDateUnit(captures[2]) - 1; - var day = parseDateUnit(captures[3]); - var week = parseDateUnit(captures[4]); - var dayOfWeek = parseDateUnit(captures[5]) - 1; - if (isWeekDate) { - if (!validateWeekDate(year, week, dayOfWeek)) { - return /* @__PURE__ */ new Date(NaN); - } - return dayOfISOWeekYear(year, week, dayOfWeek); - } else { - var date = /* @__PURE__ */ new Date(0); - if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) { - return /* @__PURE__ */ new Date(NaN); - } - date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); - return date; - } -} -function parseDateUnit(value) { - return value ? parseInt(value) : 1; -} -function parseTime(timeString) { - var captures = timeString.match(timeRegex); - if (!captures) - return NaN; - var hours = parseTimeUnit(captures[1]); - var minutes = parseTimeUnit(captures[2]); - var seconds = parseTimeUnit(captures[3]); - if (!validateTime(hours, minutes, seconds)) { - return NaN; - } - return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1e3; -} -function parseTimeUnit(value) { - return value && parseFloat(value.replace(",", ".")) || 0; -} -function parseTimezone(timezoneString) { - if (timezoneString === "Z") - return 0; - var captures = timezoneString.match(timezoneRegex); - if (!captures) - return 0; - var sign = captures[1] === "+" ? -1 : 1; - var hours = parseInt(captures[2]); - var minutes = captures[3] && parseInt(captures[3]) || 0; - if (!validateTimezone(hours, minutes)) { - return NaN; - } - return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute); -} -function dayOfISOWeekYear(isoWeekYear, week, day) { - var date = /* @__PURE__ */ new Date(0); - date.setUTCFullYear(isoWeekYear, 0, 4); - var fourthOfJanuaryDay = date.getUTCDay() || 7; - var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; - date.setUTCDate(date.getUTCDate() + diff); - return date; -} -var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -function isLeapYearIndex2(year) { - return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; -} -function validateDate(year, month, date) { - return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex2(year) ? 29 : 28)); -} -function validateDayOfYearDate(year, dayOfYear) { - return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex2(year) ? 366 : 365); -} -function validateWeekDate(_year, week, day) { - return week >= 1 && week <= 53 && day >= 0 && day <= 6; -} -function validateTime(hours, minutes, seconds) { - if (hours === 24) { - return minutes === 0 && seconds === 0; - } - return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25; -} -function validateTimezone(_hours, minutes) { - return minutes >= 0 && minutes <= 59; -} - -// node_modules/date-fns/esm/setMonth/index.js -function setMonth(dirtyDate, dirtyMonth) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var month = toInteger(dirtyMonth); - var year = date.getFullYear(); - var day = date.getDate(); - var dateWithDesiredMonth = /* @__PURE__ */ new Date(0); - dateWithDesiredMonth.setFullYear(year, month, 15); - dateWithDesiredMonth.setHours(0, 0, 0, 0); - var daysInMonth = getDaysInMonth(dateWithDesiredMonth); - date.setMonth(month, Math.min(day, daysInMonth)); - return date; -} - -// node_modules/date-fns/esm/set/index.js -function _typeof37(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof37 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof37 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof37(obj); -} -function set(dirtyDate, values) { - requiredArgs(2, arguments); - if (_typeof37(values) !== "object" || values === null) { - throw new RangeError("values parameter must be an object"); - } - var date = toDate(dirtyDate); - if (isNaN(date.getTime())) { - return /* @__PURE__ */ new Date(NaN); - } - if (values.year != null) { - date.setFullYear(values.year); - } - if (values.month != null) { - date = setMonth(date, values.month); - } - if (values.date != null) { - date.setDate(toInteger(values.date)); - } - if (values.hours != null) { - date.setHours(toInteger(values.hours)); - } - if (values.minutes != null) { - date.setMinutes(toInteger(values.minutes)); - } - if (values.seconds != null) { - date.setSeconds(toInteger(values.seconds)); - } - if (values.milliseconds != null) { - date.setMilliseconds(toInteger(values.milliseconds)); - } - return date; -} - -// node_modules/date-fns/esm/setHours/index.js -function setHours(dirtyDate, dirtyHours) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var hours = toInteger(dirtyHours); - date.setHours(hours); - return date; -} - -// node_modules/date-fns/esm/setMilliseconds/index.js -function setMilliseconds(dirtyDate, dirtyMilliseconds) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var milliseconds2 = toInteger(dirtyMilliseconds); - date.setMilliseconds(milliseconds2); - return date; -} - -// node_modules/date-fns/esm/setMinutes/index.js -function setMinutes(dirtyDate, dirtyMinutes) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var minutes = toInteger(dirtyMinutes); - date.setMinutes(minutes); - return date; -} - -// node_modules/date-fns/esm/setSeconds/index.js -function setSeconds(dirtyDate, dirtySeconds) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var seconds = toInteger(dirtySeconds); - date.setSeconds(seconds); - return date; -} - -// node_modules/date-fns/esm/setYear/index.js -function setYear(dirtyDate, dirtyYear) { - requiredArgs(2, arguments); - var date = toDate(dirtyDate); - var year = toInteger(dirtyYear); - if (isNaN(date.getTime())) { - return /* @__PURE__ */ new Date(NaN); - } - date.setFullYear(year); - return date; -} - -// node_modules/date-fns/esm/subMonths/index.js -function subMonths(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var amount = toInteger(dirtyAmount); - return addMonths(dirtyDate, -amount); -} - -// node_modules/date-fns/esm/sub/index.js -function _typeof38(obj) { - "@babel/helpers - typeof"; - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof38 = function _typeof39(obj2) { - return typeof obj2; - }; - } else { - _typeof38 = function _typeof39(obj2) { - return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; - }; - } - return _typeof38(obj); -} -function sub(date, duration) { - requiredArgs(2, arguments); - if (!duration || _typeof38(duration) !== "object") - return /* @__PURE__ */ new Date(NaN); - var years = duration.years ? toInteger(duration.years) : 0; - var months = duration.months ? toInteger(duration.months) : 0; - var weeks = duration.weeks ? toInteger(duration.weeks) : 0; - var days = duration.days ? toInteger(duration.days) : 0; - var hours = duration.hours ? toInteger(duration.hours) : 0; - var minutes = duration.minutes ? toInteger(duration.minutes) : 0; - var seconds = duration.seconds ? toInteger(duration.seconds) : 0; - var dateWithoutMonths = subMonths(date, months + years * 12); - var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7); - var minutestoSub = minutes + hours * 60; - var secondstoSub = seconds + minutestoSub * 60; - var mstoSub = secondstoSub * 1e3; - var finalDate = new Date(dateWithoutDays.getTime() - mstoSub); - return finalDate; -} - -// node_modules/date-fns/esm/subYears/index.js -function subYears(dirtyDate, dirtyAmount) { - requiredArgs(2, arguments); - var amount = toInteger(dirtyAmount); - return addYears(dirtyDate, -amount); -} - -// node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js -function Et() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z" - }), - createBaseVNode("path", { - d: "M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z" - }), - createBaseVNode("path", { - d: "M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z" - }), - createBaseVNode("path", { - d: "M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z" - }) - ] - ); -} -function da() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z" - }), - createBaseVNode("path", { - d: "M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z" - }) - ] - ); -} -function hn() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z" - }) - ] - ); -} -function pn() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z" - }) - ] - ); -} -function Ln() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z" - }), - createBaseVNode("path", { - d: "M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z" - }) - ] - ); -} -function Un() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z" - }) - ] - ); -} -function Hn() { - return openBlock(), createElementBlock( - "svg", - { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 32 32", - fill: "currentColor", - "aria-hidden": "true", - class: "dp__icon" - }, - [ - createBaseVNode("path", { - d: "M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z" - }) - ] - ); -} -var kn = (e2, n, a3, t2) => { - const s3 = parse(e2, n.slice(0, e2.length), /* @__PURE__ */ new Date()); - return isValid(s3) && isDate(s3) ? t2 ? s3 : set(s3, { - hours: +a3.hours, - minutes: +(a3 == null ? void 0 : a3.minutes), - seconds: +(a3 == null ? void 0 : a3.seconds), - milliseconds: 0 - }) : null; -}; -var ca = (e2, n, a3, t2) => { - const s3 = Array.isArray(a3) ? a3[0] : a3; - if (typeof n == "string") - return kn(e2, n, s3, t2); - if (Array.isArray(n)) { - let f = null; - for (const h3 of n) - if (f = kn(e2, h3, s3, t2), f) - break; - return f; - } - return typeof n == "function" ? n(e2) : null; -}; -var b2 = (e2) => e2 ? new Date(e2) : /* @__PURE__ */ new Date(); -var fa = (e2, n) => { - if (n) { - const t2 = (e2.getMonth() + 1).toString().padStart(2, "0"), s3 = e2.getDate().toString().padStart(2, "0"), f = e2.getHours().toString().padStart(2, "0"), h3 = e2.getMinutes().toString().padStart(2, "0"); - return `${e2.getFullYear()}-${t2}-${s3}T${f}:${h3}:00.000Z`; - } - const a3 = Date.UTC( - e2.getUTCFullYear(), - e2.getUTCMonth(), - e2.getUTCDate(), - e2.getUTCHours(), - e2.getUTCMinutes(), - e2.getUTCSeconds() - ); - return new Date(a3).toISOString(); -}; -var Le = (e2) => { - let n = b2(JSON.parse(JSON.stringify(e2))); - return n = setHours(n, 0), n = setMinutes(n, 0), n = setSeconds(n, 0), n = setMilliseconds(n, 0), n; -}; -var Ee = (e2, n, a3, t2) => { - let s3 = e2 ? b2(e2) : b2(); - return (n || n === 0) && (s3 = setHours(s3, +n)), (a3 || a3 === 0) && (s3 = setMinutes(s3, +a3)), (t2 || t2 === 0) && (s3 = setSeconds(s3, +t2)), setMilliseconds(s3, 0); -}; -var Ce = (e2, n) => !e2 || !n ? false : isBefore(Le(e2), Le(n)); -var me = (e2, n) => !e2 || !n ? false : isEqual(Le(e2), Le(n)); -var Oe = (e2, n) => !e2 || !n ? false : isAfter(Le(e2), Le(n)); -var Wn = (e2, n, a3) => e2 && e2[0] && e2[1] ? Oe(a3, e2[0]) && Ce(a3, e2[1]) : e2 && e2[0] && n ? Oe(a3, e2[0]) && Ce(a3, n) || Ce(a3, e2[0]) && Oe(a3, n) : false; -var pt = (e2) => { - const n = set(new Date(e2), { date: 1 }); - return Le(n); -}; -var kt = reactive({ - menuFocused: false, - shiftKeyInMenu: false -}); -var zn = () => { - const e2 = (t2) => { - kt.menuFocused = t2; - }, n = (t2) => { - kt.shiftKeyInMenu !== t2 && (kt.shiftKeyInMenu = t2); - }; - return { - control: computed(() => ({ shiftKeyInMenu: kt.shiftKeyInMenu, menuFocused: kt.menuFocused })), - setMenuFocused: e2, - setShiftKey: n - }; -}; -function cn(e2) { - return e2 && e2.__esModule && Object.prototype.hasOwnProperty.call(e2, "default") ? e2.default : e2; -} -var Ot = {}; -var ma = { - get exports() { - return Ot; - }, - set exports(e2) { - Ot = e2; - } -}; -(function(e2, n) { - Object.defineProperty(n, "__esModule", { - value: true - }), n.default = a3; - function a3(t2) { - if (t2 === null || t2 === true || t2 === false) - return NaN; - var s3 = Number(t2); - return isNaN(s3) ? s3 : s3 < 0 ? Math.ceil(s3) : Math.floor(s3); - } - e2.exports = n.default; -})(ma, Ot); -var va = cn(Ot); -var It = {}; -var ya = { - get exports() { - return It; - }, - set exports(e2) { - It = e2; - } -}; -(function(e2, n) { - Object.defineProperty(n, "__esModule", { - value: true - }), n.default = a3; - function a3(t2) { - var s3 = new Date(Date.UTC(t2.getFullYear(), t2.getMonth(), t2.getDate(), t2.getHours(), t2.getMinutes(), t2.getSeconds(), t2.getMilliseconds())); - return s3.setUTCFullYear(t2.getFullYear()), t2.getTime() - s3.getTime(); - } - e2.exports = n.default; -})(ya, It); -var wn = cn(It); -function ga(e2, n) { - var a3 = wa(n); - return a3.formatToParts ? pa(a3, e2) : ka(a3, e2); -} -var ha = { - year: 0, - month: 1, - day: 2, - hour: 3, - minute: 4, - second: 5 -}; -function pa(e2, n) { - try { - for (var a3 = e2.formatToParts(n), t2 = [], s3 = 0; s3 < a3.length; s3++) { - var f = ha[a3[s3].type]; - f >= 0 && (t2[f] = parseInt(a3[s3].value, 10)); - } - return t2; - } catch (h3) { - if (h3 instanceof RangeError) - return [NaN]; - throw h3; - } -} -function ka(e2, n) { - var a3 = e2.format(n).replace(/\u200E/g, ""), t2 = /(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(a3); - return [t2[3], t2[1], t2[2], t2[4], t2[5], t2[6]]; -} -var jt = {}; -function wa(e2) { - if (!jt[e2]) { - var n = new Intl.DateTimeFormat("en-US", { - hour12: false, - timeZone: "America/New_York", - year: "numeric", - month: "numeric", - day: "2-digit", - hour: "2-digit", - minute: "2-digit", - second: "2-digit" - }).format(/* @__PURE__ */ new Date("2014-06-25T04:00:00.123Z")), a3 = n === "06/25/2014, 00:00:00" || n === "‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"; - jt[e2] = a3 ? new Intl.DateTimeFormat("en-US", { - hour12: false, - timeZone: e2, - year: "numeric", - month: "numeric", - day: "2-digit", - hour: "2-digit", - minute: "2-digit", - second: "2-digit" - }) : new Intl.DateTimeFormat("en-US", { - hourCycle: "h23", - timeZone: e2, - year: "numeric", - month: "numeric", - day: "2-digit", - hour: "2-digit", - minute: "2-digit", - second: "2-digit" - }); - } - return jt[e2]; -} -function fn(e2, n, a3, t2, s3, f, h3) { - var R2 = /* @__PURE__ */ new Date(0); - return R2.setUTCFullYear(e2, n, a3), R2.setUTCHours(t2, s3, f, h3), R2; -} -var bn = 36e5; -var ba = 6e4; -var Gt = { - timezone: /([Z+-].*)$/, - timezoneZ: /^(Z)$/, - timezoneHH: /^([+-]\d{2})$/, - timezoneHHMM: /^([+-]\d{2}):?(\d{2})$/ -}; -function mn(e2, n, a3) { - var t2, s3; - if (!e2 || (t2 = Gt.timezoneZ.exec(e2), t2)) - return 0; - var f; - if (t2 = Gt.timezoneHH.exec(e2), t2) - return f = parseInt(t2[1], 10), Dn(f) ? -(f * bn) : NaN; - if (t2 = Gt.timezoneHHMM.exec(e2), t2) { - f = parseInt(t2[1], 10); - var h3 = parseInt(t2[2], 10); - return Dn(f, h3) ? (s3 = Math.abs(f) * bn + h3 * ba, f > 0 ? -s3 : s3) : NaN; - } - if (Ma(e2)) { - n = new Date(n || Date.now()); - var R2 = a3 ? n : Da(n), B2 = rn(R2, e2), T2 = a3 ? B2 : $a(n, B2, e2); - return -T2; - } - return NaN; -} -function Da(e2) { - return fn( - e2.getFullYear(), - e2.getMonth(), - e2.getDate(), - e2.getHours(), - e2.getMinutes(), - e2.getSeconds(), - e2.getMilliseconds() - ); -} -function rn(e2, n) { - var a3 = ga(e2, n), t2 = fn( - a3[0], - a3[1] - 1, - a3[2], - a3[3] % 24, - a3[4], - a3[5], - 0 - ).getTime(), s3 = e2.getTime(), f = s3 % 1e3; - return s3 -= f >= 0 ? f : 1e3 + f, t2 - s3; -} -function $a(e2, n, a3) { - var t2 = e2.getTime(), s3 = t2 - n, f = rn(new Date(s3), a3); - if (n === f) - return n; - s3 -= f - n; - var h3 = rn(new Date(s3), a3); - return f === h3 ? f : Math.max(f, h3); -} -function Dn(e2, n) { - return -23 <= e2 && e2 <= 23 && (n == null || 0 <= n && n <= 59); -} -var $n = {}; -function Ma(e2) { - if ($n[e2]) - return true; - try { - return new Intl.DateTimeFormat(void 0, { timeZone: e2 }), $n[e2] = true, true; - } catch { - return false; - } -} -var Ta = /(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/; -var xn = Ta; -var Zt = 36e5; -var Mn = 6e4; -var Aa = 2; -var Re = { - dateTimePattern: /^([0-9W+-]+)(T| )(.*)/, - datePattern: /^([0-9W+-]+)(.*)/, - plainTime: /:/, - // year tokens - YY: /^(\d{2})$/, - YYY: [ - /^([+-]\d{2})$/, - // 0 additional digits - /^([+-]\d{3})$/, - // 1 additional digit - /^([+-]\d{4})$/ - // 2 additional digits - ], - YYYY: /^(\d{4})/, - YYYYY: [ - /^([+-]\d{4})/, - // 0 additional digits - /^([+-]\d{5})/, - // 1 additional digit - /^([+-]\d{6})/ - // 2 additional digits - ], - // date tokens - MM: /^-(\d{2})$/, - DDD: /^-?(\d{3})$/, - MMDD: /^-?(\d{2})-?(\d{2})$/, - Www: /^-?W(\d{2})$/, - WwwD: /^-?W(\d{2})-?(\d{1})$/, - HH: /^(\d{2}([.,]\d*)?)$/, - HHMM: /^(\d{2}):?(\d{2}([.,]\d*)?)$/, - HHMMSS: /^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/, - // time zone tokens (to identify the presence of a tz) - timeZone: xn -}; -function ln(e2, n) { - if (arguments.length < 1) - throw new TypeError("1 argument required, but only " + arguments.length + " present"); - if (e2 === null) - return /* @__PURE__ */ new Date(NaN); - var a3 = n || {}, t2 = a3.additionalDigits == null ? Aa : va(a3.additionalDigits); - if (t2 !== 2 && t2 !== 1 && t2 !== 0) - throw new RangeError("additionalDigits must be 0, 1 or 2"); - if (e2 instanceof Date || typeof e2 == "object" && Object.prototype.toString.call(e2) === "[object Date]") - return new Date(e2.getTime()); - if (typeof e2 == "number" || Object.prototype.toString.call(e2) === "[object Number]") - return new Date(e2); - if (!(typeof e2 == "string" || Object.prototype.toString.call(e2) === "[object String]")) - return /* @__PURE__ */ new Date(NaN); - var s3 = Sa(e2), f = Ca(s3.date, t2), h3 = f.year, R2 = f.restDateString, B2 = Pa(R2, h3); - if (isNaN(B2)) - return /* @__PURE__ */ new Date(NaN); - if (B2) { - var T2 = B2.getTime(), U = 0, M3; - if (s3.time && (U = _a(s3.time), isNaN(U))) - return /* @__PURE__ */ new Date(NaN); - if (s3.timeZone || a3.timeZone) { - if (M3 = mn(s3.timeZone || a3.timeZone, new Date(T2 + U)), isNaN(M3)) - return /* @__PURE__ */ new Date(NaN); - } else - M3 = wn(new Date(T2 + U)), M3 = wn(new Date(T2 + U + M3)); - return new Date(T2 + U + M3); - } else - return /* @__PURE__ */ new Date(NaN); -} -function Sa(e2) { - var n = {}, a3 = Re.dateTimePattern.exec(e2), t2; - if (a3 ? (n.date = a3[1], t2 = a3[3]) : (a3 = Re.datePattern.exec(e2), a3 ? (n.date = a3[1], t2 = a3[2]) : (n.date = null, t2 = e2)), t2) { - var s3 = Re.timeZone.exec(t2); - s3 ? (n.time = t2.replace(s3[1], ""), n.timeZone = s3[1].trim()) : n.time = t2; - } - return n; -} -function Ca(e2, n) { - var a3 = Re.YYY[n], t2 = Re.YYYYY[n], s3; - if (s3 = Re.YYYY.exec(e2) || t2.exec(e2), s3) { - var f = s3[1]; - return { - year: parseInt(f, 10), - restDateString: e2.slice(f.length) - }; - } - if (s3 = Re.YY.exec(e2) || a3.exec(e2), s3) { - var h3 = s3[1]; - return { - year: parseInt(h3, 10) * 100, - restDateString: e2.slice(h3.length) - }; - } - return { - year: null - }; -} -function Pa(e2, n) { - if (n === null) - return null; - var a3, t2, s3, f; - if (e2.length === 0) - return t2 = /* @__PURE__ */ new Date(0), t2.setUTCFullYear(n), t2; - if (a3 = Re.MM.exec(e2), a3) - return t2 = /* @__PURE__ */ new Date(0), s3 = parseInt(a3[1], 10) - 1, An(n, s3) ? (t2.setUTCFullYear(n, s3), t2) : /* @__PURE__ */ new Date(NaN); - if (a3 = Re.DDD.exec(e2), a3) { - t2 = /* @__PURE__ */ new Date(0); - var h3 = parseInt(a3[1], 10); - return Oa(n, h3) ? (t2.setUTCFullYear(n, 0, h3), t2) : /* @__PURE__ */ new Date(NaN); - } - if (a3 = Re.MMDD.exec(e2), a3) { - t2 = /* @__PURE__ */ new Date(0), s3 = parseInt(a3[1], 10) - 1; - var R2 = parseInt(a3[2], 10); - return An(n, s3, R2) ? (t2.setUTCFullYear(n, s3, R2), t2) : /* @__PURE__ */ new Date(NaN); - } - if (a3 = Re.Www.exec(e2), a3) - return f = parseInt(a3[1], 10) - 1, Sn(n, f) ? Tn(n, f) : /* @__PURE__ */ new Date(NaN); - if (a3 = Re.WwwD.exec(e2), a3) { - f = parseInt(a3[1], 10) - 1; - var B2 = parseInt(a3[2], 10) - 1; - return Sn(n, f, B2) ? Tn(n, f, B2) : /* @__PURE__ */ new Date(NaN); - } - return null; -} -function _a(e2) { - var n, a3, t2; - if (n = Re.HH.exec(e2), n) - return a3 = parseFloat(n[1].replace(",", ".")), Xt(a3) ? a3 % 24 * Zt : NaN; - if (n = Re.HHMM.exec(e2), n) - return a3 = parseInt(n[1], 10), t2 = parseFloat(n[2].replace(",", ".")), Xt(a3, t2) ? a3 % 24 * Zt + t2 * Mn : NaN; - if (n = Re.HHMMSS.exec(e2), n) { - a3 = parseInt(n[1], 10), t2 = parseInt(n[2], 10); - var s3 = parseFloat(n[3].replace(",", ".")); - return Xt(a3, t2, s3) ? a3 % 24 * Zt + t2 * Mn + s3 * 1e3 : NaN; - } - return null; -} -function Tn(e2, n, a3) { - n = n || 0, a3 = a3 || 0; - var t2 = /* @__PURE__ */ new Date(0); - t2.setUTCFullYear(e2, 0, 4); - var s3 = t2.getUTCDay() || 7, f = n * 7 + a3 + 1 - s3; - return t2.setUTCDate(t2.getUTCDate() + f), t2; -} -var Na = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -var Ra = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -function Kn(e2) { - return e2 % 400 === 0 || e2 % 4 === 0 && e2 % 100 !== 0; -} -function An(e2, n, a3) { - if (n < 0 || n > 11) - return false; - if (a3 != null) { - if (a3 < 1) - return false; - var t2 = Kn(e2); - if (t2 && a3 > Ra[n] || !t2 && a3 > Na[n]) - return false; - } - return true; -} -function Oa(e2, n) { - if (n < 1) - return false; - var a3 = Kn(e2); - return !(a3 && n > 366 || !a3 && n > 365); -} -function Sn(e2, n, a3) { - return !(n < 0 || n > 52 || a3 != null && (a3 < 0 || a3 > 6)); -} -function Xt(e2, n, a3) { - return !(e2 != null && (e2 < 0 || e2 >= 25) || n != null && (n < 0 || n >= 60) || a3 != null && (a3 < 0 || a3 >= 60)); -} -var Bt = {}; -var Ia = { - get exports() { - return Bt; - }, - set exports(e2) { - Bt = e2; - } -}; -var Yt = {}; -var Ba = { - get exports() { - return Yt; - }, - set exports(e2) { - Yt = e2; - } -}; -(function(e2, n) { - Object.defineProperty(n, "__esModule", { - value: true - }), n.default = a3; - function a3(t2, s3) { - if (t2 == null) - throw new TypeError("assign requires that input parameter not be null or undefined"); - for (var f in s3) - Object.prototype.hasOwnProperty.call(s3, f) && (t2[f] = s3[f]); - return t2; - } - e2.exports = n.default; -})(Ba, Yt); -(function(e2, n) { - Object.defineProperty(n, "__esModule", { - value: true - }), n.default = s3; - var a3 = t2(Yt); - function t2(f) { - return f && f.__esModule ? f : { default: f }; - } - function s3(f) { - return (0, a3.default)({}, f); - } - e2.exports = n.default; -})(Ia, Bt); -var Ya = cn(Bt); -function Va(e2, n, a3) { - var t2 = ln(e2, a3), s3 = mn(n, t2, true), f = new Date(t2.getTime() - s3), h3 = /* @__PURE__ */ new Date(0); - return h3.setFullYear(f.getUTCFullYear(), f.getUTCMonth(), f.getUTCDate()), h3.setHours(f.getUTCHours(), f.getUTCMinutes(), f.getUTCSeconds(), f.getUTCMilliseconds()), h3; -} -function Ea(e2, n, a3) { - if (typeof e2 == "string" && !e2.match(xn)) { - var t2 = Ya(a3); - return t2.timeZone = n, ln(e2, t2); - } - var s3 = ln(e2, a3), f = fn( - s3.getFullYear(), - s3.getMonth(), - s3.getDate(), - s3.getHours(), - s3.getMinutes(), - s3.getSeconds(), - s3.getMilliseconds() - ).getTime(), h3 = mn(n, new Date(f)); - return new Date(f + h3); -} -var Fa = (e2, n = 3) => { - const a3 = []; - for (let t2 = 0; t2 < e2.length; t2 += n) - a3.push([e2[t2], e2[t2 + 1], e2[t2 + 2]]); - return a3; -}; -var La = (e2, n) => { - const a3 = [1, 2, 3, 4, 5, 6, 7].map((f) => new Intl.DateTimeFormat(e2, { weekday: "short", timeZone: "UTC" }).format(/* @__PURE__ */ new Date(`2017-01-0${f}T00:00:00+00:00`)).slice(0, 2)), t2 = a3.slice(0, n), s3 = a3.slice(n + 1, a3.length); - return [a3[n]].concat(...s3).concat(...t2); -}; -var Ua = (e2, n) => { - const a3 = []; - for (let t2 = +e2[0]; t2 <= +e2[1]; t2++) - a3.push({ value: +t2, text: `${t2}` }); - return n ? a3.reverse() : a3; -}; -var Ha = (e2, n) => { - const a3 = new Intl.DateTimeFormat(e2, { month: n, timeZone: "UTC" }); - return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((s3) => { - const f = s3 < 10 ? `0${s3}` : s3; - return /* @__PURE__ */ new Date(`2017-${f}-01T00:00:00+00:00`); - }).map((s3, f) => ({ - text: a3.format(s3), - value: f - })); -}; -var Wa = (e2) => [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11][e2]; -var $e = (e2) => { - const n = unref(e2); - return n != null && n.$el ? n == null ? void 0 : n.$el : n; -}; -var za = (e2) => Object.assign({ type: "dot" }, e2); -var jn = (e2) => Array.isArray(e2) ? !!e2[0] && !!e2[1] : false; -var Vt = { - prop: (e2) => `"${e2}" prop must be enabled!`, - dateArr: (e2) => `You need to use array as "model-value" binding in order to support "${e2}"` -}; -var be = (e2) => e2; -var Cn = (e2) => e2 === 0 ? e2 : !e2 || isNaN(+e2) ? null : +e2; -var Pn = (e2) => Object.assign( - { - menuAppear: "dp-menu-appear", - open: "dp-slide-down", - close: "dp-slide-up", - next: "calendar-next", - previous: "calendar-prev", - vNext: "dp-slide-up", - vPrevious: "dp-slide-down" - }, - e2 -); -var xa = (e2) => Object.assign( - { - toggleOverlay: "Toggle overlay", - menu: "Datepicker menu", - input: "Datepicker input", - calendarWrap: "Calendar wrapper", - calendarDays: "Calendar days", - openTimePicker: "Open time picker", - closeTimePicker: "Close time Picker", - incrementValue: (n) => `Increment ${n}`, - decrementValue: (n) => `Decrement ${n}`, - openTpOverlay: (n) => `Open ${n} overlay`, - amPmButton: "Switch AM/PM mode", - openYearsOverlay: "Open years overlay", - openMonthsOverlay: "Open months overlay", - nextMonth: "Next month", - prevMonth: "Previous month", - day: () => "" - }, - e2 -); -var Ka = (e2) => e2 === null ? 0 : typeof e2 == "boolean" ? e2 ? 2 : 0 : +e2 >= 2 ? +e2 : 2; -var ja = (e2, n, a3) => e2 || (typeof a3 == "string" ? a3 : n); -var Ga = (e2) => typeof e2 == "boolean" ? e2 ? Pn({}) : false : Pn(e2); -var Za = () => ({ - enterSubmit: true, - tabSubmit: true, - openMenu: true, - rangeSeparator: " - " -}); -var Xa = (e2) => Object.assign({ months: [], years: [], times: { hours: [], minutes: [], seconds: [] } }, e2); -var Ve = (e2) => { - const n = () => { - if (e2.partialRange) - return null; - throw new Error(Vt.prop("partial-range")); - }, a3 = computed(() => ({ - ariaLabels: xa(e2.ariaLabels), - textInputOptions: Object.assign(Za(), e2.textInputOptions), - multiCalendars: Ka(e2.multiCalendars), - previewFormat: ja(e2.previewFormat, e2.format, f()), - filters: Xa(e2.filters), - transitions: Ga(e2.transitions), - startTime: v() - })), t2 = (i2) => { - if (e2.range) - return i2(); - throw new Error(Vt.prop("range")); - }, s3 = () => { - const i2 = e2.enableSeconds ? ":ss" : ""; - return e2.is24 ? `HH:mm${i2}` : `hh:mm${i2} aa`; - }, f = () => e2.format ? e2.format : e2.monthPicker ? "MM/yyyy" : e2.timePicker ? s3() : e2.weekPicker ? "MM/dd/yyyy" : e2.yearPicker ? "yyyy" : e2.enableTimePicker ? `MM/dd/yyyy, ${s3()}` : "MM/dd/yyyy", h3 = (i2, r) => { - if (typeof e2.format == "function") - return e2.format(i2); - const c2 = r || f(), D2 = e2.formatLocale ? { locale: e2.formatLocale } : void 0; - return Array.isArray(i2) ? `${format(i2[0], c2, D2)} ${e2.modelAuto && !i2[1] ? "" : a3.value.textInputOptions.rangeSeparator || "-"} ${i2[1] ? format(i2[1], c2, D2) : ""}` : format(i2, c2, D2); - }, R2 = (i2) => e2.timezone ? Va(i2, e2.timezone) : i2, B2 = (i2) => e2.timezone ? Ea(i2, e2.timezone) : i2, T2 = computed(() => (i2) => { - var r; - return (r = e2.hideNavigation) == null ? void 0 : r.includes(i2); - }), U = (i2) => { - const r = e2.maxDate ? Oe(R2(i2), R2(b2(e2.maxDate))) : false, c2 = e2.minDate ? Ce(R2(i2), R2(b2(e2.minDate))) : false, D2 = C(i2, e2.disabledDates), O2 = a3.value.filters.months.map((ie) => +ie).includes(getMonth(i2)), g = e2.disabledWeekDays.length ? e2.disabledWeekDays.some((ie) => +ie === getDay(i2)) : false, w2 = e2.allowedDates.length ? !e2.allowedDates.some((ie) => me(R2(b2(ie)), R2(i2))) : false, y3 = getYear(i2), F = y3 < +e2.yearRange[0] || y3 > +e2.yearRange[1]; - return !(r || c2 || D2 || O2 || F || g || w2); - }, M3 = (i2) => { - const r = { - hours: getHours(b2()), - minutes: getMinutes(b2()), - seconds: e2.enableSeconds ? getSeconds(b2()) : 0 - }; - return Object.assign(r, i2); - }, v = () => e2.range ? e2.startTime && Array.isArray(e2.startTime) ? [M3(e2.startTime[0]), M3(e2.startTime[1])] : null : e2.startTime && !Array.isArray(e2.startTime) ? M3(e2.startTime) : null, A = (i2) => !U(i2), J = (i2) => Array.isArray(i2) ? isValid(i2[0]) && (i2[1] ? isValid(i2[1]) : true) : i2 ? isValid(i2) : false, Z = (i2) => i2 instanceof Date ? i2 : parseISO(i2), H3 = (i2) => { - const r = startOfWeek(R2(i2), { weekStartsOn: +e2.weekStart }), c2 = endOfWeek(R2(i2), { weekStartsOn: +e2.weekStart }); - return [r, c2]; - }, C = (i2, r) => Array.isArray(r) ? r.some((c2) => me(R2(b2(c2)), R2(i2))) : r(i2), V = (i2, r, c2) => { - let D2 = i2 ? b2(i2) : b2(); - return (r || r === 0) && (D2 = setMonth(D2, r)), c2 && (D2 = setYear(D2, c2)), D2; - }, Y2 = (i2) => set(b2(), { hours: getHours(i2), minutes: getMinutes(i2), seconds: getSeconds(i2) }), q2 = (i2) => set(b2(), { - hours: +i2.hours || 0, - minutes: +i2.minutes || 0, - seconds: +i2.seconds || 0 - }), z2 = (i2, r, c2, D2) => { - if (!i2) - return true; - if (D2) { - const L2 = c2 === "max" ? isBefore(i2, r) : isAfter(i2, r), O2 = { seconds: 0, milliseconds: 0 }; - return L2 || isEqual(set(i2, O2), set(r, O2)); - } - return c2 === "max" ? i2.getTime() <= r.getTime() : i2.getTime() >= r.getTime(); - }, ee = () => !e2.enableTimePicker || e2.monthPicker || e2.yearPicker || e2.ignoreTimeValidation, le = (i2) => Array.isArray(i2) ? [i2[0] ? Y2(i2[0]) : null, i2[1] ? Y2(i2[1]) : null] : Y2(i2), S3 = (i2) => { - const r = e2.maxTime ? q2(e2.maxTime) : b2(e2.maxDate); - return Array.isArray(i2) ? z2(i2[0], r, "max", !!e2.maxDate) && z2(i2[1], r, "max", !!e2.maxDate) : z2(i2, r, "max", !!e2.maxDate); - }, P = (i2, r) => { - const c2 = e2.minTime ? q2(e2.minTime) : b2(e2.minDate); - return Array.isArray(i2) ? z2(i2[0], c2, "min", !!e2.minDate) && z2(i2[1], c2, "min", !!e2.minDate) && r : z2(i2, c2, "min", !!e2.minDate) && r; - }, X2 = (i2) => { - let r = true; - if (!i2 || ee()) - return true; - const c2 = !e2.minDate && !e2.maxDate ? le(i2) : i2; - return (e2.maxTime || e2.maxDate) && (r = S3(be(c2))), (e2.minTime || e2.minDate) && (r = P(be(c2), r)), r; - }, m3 = (i2, r) => { - const c2 = b2(JSON.parse(JSON.stringify(i2))), D2 = []; - for (let L2 = 0; L2 < 7; L2++) { - const O2 = addDays(c2, L2), g = getMonth(O2) !== r; - D2.push({ - text: e2.hideOffsetDates && g ? "" : O2.getDate(), - value: O2, - current: !g, - classData: {} - }); - } - return D2; - }, N = (i2, r) => { - const c2 = [], D2 = b2(R2(new Date(r, i2))), L2 = b2(R2(new Date(r, i2 + 1, 0))), O2 = startOfWeek(D2, { weekStartsOn: e2.weekStart }), g = (w2) => { - const y3 = m3(w2, i2); - if (c2.push({ days: y3 }), !c2[c2.length - 1].days.some( - (F) => me(Le(F.value), Le(L2)) - )) { - const F = addDays(w2, 7); - g(F); - } - }; - if (g(O2), e2.sixWeeks && c2.length < 6) { - const w2 = 6 - c2.length; - for (let y3 = 1; y3 <= w2; y3++) { - const F = c2[c2.length - 1], ie = F.days[F.days.length - 1], Pe = m3(addDays(ie.value, 1), getMonth(D2)); - c2.push({ days: Pe }); - } - } - return c2; - }, x2 = (i2, r, c2) => [set(b2(i2), { date: 1 }), set(b2(), { month: r, year: c2, date: 1 })], oe = (i2, r) => Ce(...x2(e2.minDate, i2, r)) || me(...x2(e2.minDate, i2, r)), Q2 = (i2, r) => Oe(...x2(e2.maxDate, i2, r)) || me(...x2(e2.maxDate, i2, r)), I2 = (i2, r, c2) => { - let D2 = false; - return e2.maxDate && c2 && Q2(i2, r) && (D2 = true), e2.minDate && !c2 && oe(i2, r) && (D2 = true), D2; - }; - return { - checkPartialRangeValue: n, - checkRangeEnabled: t2, - getZonedDate: R2, - getZonedToUtc: B2, - formatDate: h3, - getDefaultPattern: f, - validateDate: U, - getDefaultStartTime: v, - isDisabled: A, - isValidDate: J, - sanitizeDate: Z, - getWeekFromDate: H3, - matchDate: C, - setDateMonthOrYear: V, - isValidTime: X2, - getCalendarDays: N, - validateMonthYearInRange: (i2, r, c2, D2) => { - let L2 = false; - return D2 ? e2.minDate && e2.maxDate ? L2 = I2(i2, r, c2) : (e2.minDate && oe(i2, r) || e2.maxDate && Q2(i2, r)) && (L2 = true) : L2 = true, L2; - }, - validateMaxDate: Q2, - validateMinDate: oe, - assignDefaultTime: M3, - defaults: a3, - hideNavigationButtons: T2 - }; -}; -var he = reactive({ - monthYear: [], - calendar: [], - time: [], - actionRow: [], - selectionGrid: [], - timePicker: { - 0: [], - 1: [] - }, - monthPicker: [] -}); -var qt = ref(null); -var St = ref(false); -var Jt = ref(false); -var Qt = ref(false); -var en = ref(false); -var Ne = ref(0); -var Me = ref(0); -var tt = () => { - const e2 = computed(() => St.value ? [...he.selectionGrid, he.actionRow].filter((C) => C.length) : Jt.value ? [ - ...he.timePicker[0], - ...he.timePicker[1], - en.value ? [] : [qt.value], - he.actionRow - ].filter((C) => C.length) : Qt.value ? [...he.monthPicker, he.actionRow] : [he.monthYear, ...he.calendar, he.time, he.actionRow].filter((C) => C.length)), n = (C) => { - Ne.value = C ? Ne.value + 1 : Ne.value - 1; - let V = null; - e2.value[Me.value] && (V = e2.value[Me.value][Ne.value]), V || (Ne.value = C ? Ne.value - 1 : Ne.value + 1); - }, a3 = (C) => { - if (Me.value === 0 && !C || Me.value === e2.value.length && C) - return; - Me.value = C ? Me.value + 1 : Me.value - 1, e2.value[Me.value] ? e2.value[Me.value] && !e2.value[Me.value][Ne.value] && Ne.value !== 0 && (Ne.value = e2.value[Me.value].length - 1) : Me.value = C ? Me.value - 1 : Me.value + 1; - }, t2 = (C) => { - let V = null; - e2.value[Me.value] && (V = e2.value[Me.value][Ne.value]), V ? V.focus({ preventScroll: !St.value }) : Ne.value = C ? Ne.value - 1 : Ne.value + 1; - }, s3 = () => { - n(true), t2(true); - }, f = () => { - n(false), t2(false); - }, h3 = () => { - a3(false), t2(true); - }, R2 = () => { - a3(true), t2(true); - }, B2 = (C, V) => { - he[V] = C; - }, T2 = (C, V) => { - he[V] = C; - }, U = () => { - Ne.value = 0, Me.value = 0; - }; - return { - buildMatrix: B2, - buildMultiLevelMatrix: T2, - setTimePickerBackRef: (C) => { - qt.value = C; - }, - setSelectionGrid: (C) => { - St.value = C, U(), C || (he.selectionGrid = []); - }, - setTimePicker: (C, V = false) => { - Jt.value = C, en.value = V, U(), C || (he.timePicker[0] = [], he.timePicker[1] = []); - }, - setTimePickerElements: (C, V = 0) => { - he.timePicker[V] = C; - }, - arrowRight: s3, - arrowLeft: f, - arrowUp: h3, - arrowDown: R2, - clearArrowNav: () => { - he.monthYear = [], he.calendar = [], he.time = [], he.actionRow = [], he.selectionGrid = [], he.timePicker[0] = [], he.timePicker[1] = [], St.value = false, Jt.value = false, en.value = false, Qt.value = false, U(), qt.value = null; - }, - setMonthPicker: (C) => { - Qt.value = C, U(); - }, - refSets: he - // exposed for testing - }; -}; -var _n = (e2) => Array.isArray(e2); -var rt = (e2) => Array.isArray(e2); -var Nn = (e2) => Array.isArray(e2) && e2.length === 2; -var qa = (e2, n, a3, t2, s3) => { - const { - getDefaultStartTime: f, - isDisabled: h3, - sanitizeDate: R2, - getWeekFromDate: B2, - setDateMonthOrYear: T2, - validateMonthYearInRange: U, - defaults: M3 - } = Ve(e2), v = computed({ - get: () => e2.internalModelValue, - set: (u2) => { - !e2.readonly && !e2.disabled && n("update:internal-model-value", u2); - } - }), A = ref([]); - watch(v, () => { - ee(); - }); - const J = toRef(e2, "multiCalendars"); - watch(J, () => { - qe(0); - }); - const Z = ref([{ month: getMonth(b2()), year: getYear(b2()) }]), H3 = reactive({ - hours: e2.range ? [getHours(b2()), getHours(b2())] : getHours(b2()), - minutes: e2.range ? [getMinutes(b2()), getMinutes(b2())] : getMinutes(b2()), - seconds: e2.range ? [0, 0] : 0 - }), C = computed( - () => (u2) => Z.value[u2] ? Z.value[u2].month : 0 - ), V = computed( - () => (u2) => Z.value[u2] ? Z.value[u2].year : 0 - ), Y2 = computed(() => e2.flow && e2.flow.length && !e2.partialFlow ? s3.value === e2.flow.length : true), q2 = (u2, o, k2) => { - var j, de; - Z.value[u2] || (Z.value[u2] = { month: 0, year: 0 }), Z.value[u2].month = o === null ? (j = Z.value[u2]) == null ? void 0 : j.month : o, Z.value[u2].year = k2 === null ? (de = Z.value[u2]) == null ? void 0 : de.year : k2; - }, z2 = (u2, o) => { - H3[u2] = o; - }; - onMounted(() => { - v.value || (e2.startDate && (q2(0, getMonth(b2(e2.startDate)), getYear(b2(e2.startDate))), M3.value.multiCalendars && qe(0)), M3.value.startTime && I2()), ee(true); - }); - const ee = (u2 = false) => { - if (v.value) - return Array.isArray(v.value) ? (A.value = v.value, m3(u2)) : S3(v.value); - if (e2.timePicker) - return N(); - if (e2.monthPicker && !e2.range) - return x2(); - if (e2.yearPicker && !e2.range) - return oe(); - if (M3.value.multiCalendars && u2 && !e2.startDate) - return le(b2(), u2); - }, le = (u2, o = false) => { - if ((!M3.value.multiCalendars || !e2.multiStatic || o) && q2(0, getMonth(u2), getYear(u2)), M3.value.multiCalendars) - for (let k2 = 1; k2 < M3.value.multiCalendars; k2++) { - const j = set(b2(), { month: C.value(k2 - 1), year: V.value(k2 - 1) }), de = add(j, { months: 1 }); - Z.value[k2] = { month: getMonth(de), year: getYear(de) }; - } - }, S3 = (u2) => { - le(u2), z2("hours", getHours(u2)), z2("minutes", getMinutes(u2)), z2("seconds", getSeconds(u2)); - }, P = (u2, o) => { - le(u2[0], o); - const k2 = (j, de) => [ - j(u2[0]), - u2[1] ? j(u2[1]) : H3[de][1] - ]; - z2("hours", k2(getHours, "hours")), z2("minutes", k2(getMinutes, "minutes")), z2("seconds", k2(getSeconds, "seconds")); - }, X2 = (u2, o) => { - if ((e2.range || e2.weekPicker) && !e2.multiDates) - return P(u2, o); - if (e2.multiDates) { - const k2 = u2[u2.length - 1]; - return S3(k2); - } - }, m3 = (u2) => { - const o = v.value; - X2(o, u2), M3.value.multiCalendars && e2.multiCalendarsSolo && i2(); - }, N = () => { - if (I2(), !e2.range) - v.value = Ee(b2(), H3.hours, H3.minutes, Q2()); - else { - const u2 = H3.hours, o = H3.minutes; - v.value = [ - Ee(b2(), u2[0], o[0], Q2()), - Ee(b2(), u2[1], o[1], Q2(false)) - ]; - } - }, x2 = () => { - e2.multiDates ? v.value = [T2(b2(), C.value(0), V.value(0))] : v.value = T2(b2(), C.value(0), V.value(0)); - }, oe = () => { - v.value = b2(); - }, Q2 = (u2 = true) => e2.enableSeconds ? Array.isArray(H3.seconds) ? u2 ? H3.seconds[0] : H3.seconds[1] : H3.seconds : 0, I2 = () => { - const u2 = f(); - if (u2) { - const o = Array.isArray(u2), k2 = o ? [+u2[0].hours, +u2[1].hours] : +u2.hours, j = o ? [+u2[0].minutes, +u2[1].minutes] : +u2.minutes, de = o ? [+u2[0].seconds, +u2[1].seconds] : +u2.seconds; - z2("hours", k2), z2("minutes", j), e2.enableSeconds && z2("seconds", de); - } - }, l = () => Array.isArray(v.value) && v.value.length ? v.value[v.value.length - 1] : null, i2 = () => { - if (Array.isArray(v.value) && v.value.length === 2) { - const u2 = b2( - b2(v.value[1] ? v.value[1] : addMonths(v.value[0], 1)) - ), [o, k2] = [getMonth(v.value[0]), getYear(v.value[0])], [j, de] = [getMonth(v.value[1]), getYear(v.value[1])]; - (o !== j || o === j && k2 !== de) && e2.multiCalendarsSolo && q2(1, getMonth(u2), getYear(u2)); - } - }, r = (u2) => { - const o = addMonths(u2, 1); - return { month: getMonth(o), year: getYear(o) }; - }, c2 = (u2) => { - const o = getMonth(b2(u2)), k2 = getYear(b2(u2)); - if (q2(0, o, k2), M3.value.multiCalendars > 0) - for (let j = 1; j < M3.value.multiCalendars; j++) { - const de = r( - set(b2(u2), { year: C.value(j - 1), month: V.value(j - 1) }) - ); - q2(j, de.month, de.year); - } - }, D2 = (u2) => { - if (v.value && Array.isArray(v.value)) - if (v.value.some((o) => me(u2, o))) { - const o = v.value.filter((k2) => !me(k2, u2)); - v.value = o.length ? o : null; - } else - (e2.multiDatesLimit && +e2.multiDatesLimit > v.value.length || !e2.multiDatesLimit) && v.value.push(u2); - else - v.value = [u2]; - }, L2 = (u2, o) => { - const k2 = Oe(u2, o) ? o : u2, j = Oe(o, u2) ? o : u2; - return eachDayOfInterval({ start: k2, end: j }); - }, O2 = (u2, o = 0) => { - if (Array.isArray(v.value) && v.value[o]) { - const k2 = differenceInCalendarDays(u2, v.value[o]), j = L2(v.value[o], u2), de = j.length === 1 ? 0 : j.filter((G2) => h3(G2)).length, Ye = Math.abs(k2) - de; - if (e2.minRange && e2.maxRange) - return Ye >= +e2.minRange && Ye <= +e2.maxRange; - if (e2.minRange) - return Ye >= +e2.minRange; - if (e2.maxRange) - return Ye <= +e2.maxRange; - } - return true; - }, g = (u2) => Array.isArray(v.value) && v.value.length === 2 ? e2.fixedStart && (Oe(u2, v.value[0]) || me(u2, v.value[0])) ? [v.value[0], u2] : e2.fixedEnd && (Ce(u2, v.value[1]) || me(u2, v.value[1])) ? [u2, v.value[1]] : (n("invalid-fixed-range", u2), v.value) : [], w2 = () => { - e2.autoApply && Y2.value && n("auto-apply", e2.partialFlow); - }, y3 = () => { - e2.autoApply && n("select-date"); - }, F = (u2) => !eachDayOfInterval({ start: u2[0], end: u2[1] }).some((k2) => h3(k2)), ie = (u2) => (v.value = B2(b2(u2.value)), w2()), Pe = (u2) => { - const o = Ee(b2(u2.value), H3.hours, H3.minutes, Q2()); - e2.multiDates ? D2(o) : v.value = o, a3(), w2(); - }, Ze = () => { - A.value = v.value ? v.value.slice() : [], A.value.length === 2 && !(e2.fixedStart || e2.fixedEnd) && (A.value = []); - }, re = (u2, o) => { - const k2 = [b2(u2.value), addDays(b2(u2.value), +e2.autoRange)]; - F(k2) && (o && c2(u2.value), A.value = k2); - }, Xe = (u2) => { - ze(u2.value) || !O2(u2.value, e2.fixedStart ? 0 : 1) || (A.value = g(b2(u2.value))); - }, ze = (u2) => e2.noDisabledRange ? L2(A.value[0], u2).some((k2) => h3(k2)) : false, _e = (u2, o) => { - if (Ze(), e2.autoRange) - return re(u2, o); - if (e2.fixedStart || e2.fixedEnd) - return Xe(u2); - A.value[0] ? O2(b2(u2.value)) && !ze(u2.value) && (Ce(b2(u2.value), b2(A.value[0])) ? A.value.unshift(b2(u2.value)) : A.value[1] = b2(u2.value)) : A.value[0] = b2(u2.value); - }, at = (u2) => { - A.value[u2] = Ee( - A.value[u2], - H3.hours[u2], - H3.minutes[u2], - Q2(u2 !== 1) - ); - }, te = () => { - A.value.length && (A.value[0] && !A.value[1] ? at(0) : (at(0), at(1), a3()), v.value = A.value.slice(), A.value[0] && A.value[1] && e2.autoApply && n("auto-apply"), A.value[0] && !A.value[1] && e2.modelAuto && e2.autoApply && n("auto-apply")); - }, ge = (u2, o = false) => { - if (!(h3(u2.value) || !u2.current && e2.hideOffsetDates)) { - if (e2.weekPicker) - return ie(u2); - if (!e2.range) - return Pe(u2); - rt(H3.hours) && rt(H3.minutes) && !e2.multiDates && (_e(u2, o), te()); - } - }, ye = (u2) => { - const o = u2[0]; - return e2.weekNumbers === "local" ? getWeek(o.value, { weekStartsOn: +e2.weekStart }) : e2.weekNumbers === "iso" ? getISOWeek(o.value) : typeof e2.weekNumbers == "function" ? e2.weekNumbers(o.value) : ""; - }, qe = (u2) => { - for (let o = u2 - 1; o >= 0; o--) { - const k2 = subMonths(set(b2(), { month: C.value(o + 1), year: V.value(o + 1) }), 1); - q2(o, getMonth(k2), getYear(k2)); - } - for (let o = u2 + 1; o <= M3.value.multiCalendars - 1; o++) { - const k2 = addMonths(set(b2(), { month: C.value(o - 1), year: V.value(o - 1) }), 1); - q2(o, getMonth(k2), getYear(k2)); - } - }, Be = (u2) => T2(b2(), C.value(u2), V.value(u2)), Tt = (u2) => Ee(u2, H3.hours, H3.minutes, Q2()), Lt = (u2) => { - D2(Be(u2)); - }, Ut = (u2, o) => { - const k2 = e2.monthPicker ? C.value(u2) !== o.month || !o.fromNav : V.value(u2) !== o.year || !o.fromNav; - if (q2(u2, o.month, o.year), M3.value.multiCalendars && !e2.multiCalendarsSolo && qe(u2), e2.monthPicker || e2.yearPicker) - if (e2.multiDates) - k2 && Lt(u2); - else if (e2.range) { - if (k2 && O2(Be(u2))) { - let j = v.value ? v.value.slice() : []; - j.length === 2 && j[1] !== null && (j = []), j.length ? Ce(Be(u2), j[0]) ? j.unshift(Be(u2)) : j[1] = Be(u2) : j = [Be(u2)], v.value = j; - } - } else - v.value = Be(u2); - n("update-month-year", { instance: u2, month: o.month, year: o.year }), t2(e2.multiCalendarsSolo ? u2 : void 0); - }, Ht = async (u2 = false) => { - if (e2.autoApply && (e2.monthPicker || e2.yearPicker)) { - await nextTick(); - const o = e2.monthPicker ? u2 : false; - e2.range ? n("auto-apply", o || !v.value || v.value.length === 1) : n("auto-apply", o); - } - a3(); - }, At = (u2, o) => { - const k2 = set(b2(), { month: C.value(o), year: V.value(o) }), j = u2 < 0 ? addMonths(k2, 1) : subMonths(k2, 1); - U(getMonth(j), getYear(j), u2 < 0, e2.preventMinMaxNavigation) && (q2(o, getMonth(j), getYear(j)), M3.value.multiCalendars && !e2.multiCalendarsSolo && qe(o), n("update-month-year", { instance: o, month: getMonth(j), year: getYear(j) }), t2()); - }, yt = (u2) => { - _n(u2) && _n(v.value) && rt(H3.hours) && rt(H3.minutes) ? (u2[0] && v.value[0] && (v.value[0] = Ee(u2[0], H3.hours[0], H3.minutes[0], Q2())), u2[1] && v.value[1] && (v.value[1] = Ee(u2[1], H3.hours[1], H3.minutes[1], Q2(false)))) : e2.multiDates && Array.isArray(v.value) ? v.value[v.value.length - 1] = Tt(u2) : !e2.range && !Nn(u2) && (v.value = Tt(u2)), n("time-update"); - }, Wt = (u2, o = true, k2 = false) => { - const j = o ? u2 : H3.hours, de = !o && !k2 ? u2 : H3.minutes, Ye = k2 ? u2 : H3.seconds; - if (e2.range && Nn(v.value) && rt(j) && rt(de) && rt(Ye) && !e2.disableTimeRangeValidation) { - const G2 = (ae) => Ee(v.value[ae], j[ae], de[ae], Ye[ae]), xe = (ae) => setMilliseconds(v.value[ae], 0); - if (me(v.value[0], v.value[1]) && (isAfter(G2(0), xe(1)) || isBefore(G2(1), xe(0)))) - return; - } - if (z2("hours", j), z2("minutes", de), z2("seconds", Ye), v.value) - if (e2.multiDates) { - const G2 = l(); - G2 && yt(G2); - } else - yt(v.value); - else - e2.timePicker && yt(e2.range ? [b2(), b2()] : b2()); - a3(); - }, zt = (u2, o) => { - e2.monthChangeOnScroll && At(e2.monthChangeOnScroll !== "inverse" ? -u2.deltaY : u2.deltaY, o); - }, gt = (u2, o, k2 = false) => { - e2.monthChangeOnArrows && e2.vertical === k2 && Je(u2, o); - }, Je = (u2, o) => { - At(u2 === "right" ? -1 : 1, o); - }; - return { - time: H3, - month: C, - year: V, - modelValue: v, - calendars: Z, - monthYearSelect: Ht, - isDisabled: h3, - updateTime: Wt, - getWeekNum: ye, - selectDate: ge, - updateMonthYear: Ut, - handleScroll: zt, - getMarker: (u2) => e2.markers.find((o) => me(R2(u2.value), R2(o.date))), - handleArrow: gt, - handleSwipe: Je, - selectCurrentDate: () => { - e2.range ? v.value && Array.isArray(v.value) && v.value[0] ? v.value = Ce(b2(), v.value[0]) ? [b2(), v.value[0]] : [v.value[0], b2()] : v.value = [b2()] : v.value = b2(), y3(); - }, - presetDateRange: (u2, o) => { - o || u2.length && u2.length <= 2 && e2.range && (v.value = u2.map((k2) => b2(k2)), y3(), e2.multiCalendars && nextTick().then(() => ee(true))); - } - }; -}; -var Ja = (e2, n, a3) => { - const t2 = ref(), { - getZonedToUtc: s3, - getZonedDate: f, - formatDate: h3, - getDefaultPattern: R2, - checkRangeEnabled: B2, - checkPartialRangeValue: T2, - isValidDate: U, - setDateMonthOrYear: M3, - defaults: v - } = Ve(n), A = ref(""), J = toRef(n, "format"); - watch(t2, () => { - e2("internal-model-change", t2.value); - }), watch(J, () => { - i2(); - }); - const Z = (y3) => { - const F = y3 || b2(); - return n.modelType ? c2(F) : { - hours: getHours(F), - minutes: getMinutes(F), - seconds: n.enableSeconds ? getSeconds(F) : 0 - }; - }, H3 = (y3) => n.modelType ? c2(y3) : { month: getMonth(y3), year: getYear(y3) }, C = (y3) => Array.isArray(y3) ? B2(() => [ - setYear(b2(), y3[0]), - y3[1] ? setYear(b2(), y3[1]) : T2() - ]) : setYear(b2(), +y3), V = (y3, F) => (typeof y3 == "string" || typeof y3 == "number") && n.modelType ? r(y3) : F, Y2 = (y3) => Array.isArray(y3) ? [ - V( - y3[0], - Ee(null, +y3[0].hours, +y3[0].minutes, y3[0].seconds) - ), - V( - y3[1], - Ee(null, +y3[1].hours, +y3[1].minutes, y3[1].seconds) - ) - ] : V(y3, Ee(null, y3.hours, y3.minutes, y3.seconds)), q2 = (y3) => Array.isArray(y3) ? n.multiDates ? y3.map((F) => V(F, M3(null, +F.month, +F.year))) : B2(() => [ - V(y3[0], M3(null, +y3[0].month, +y3[0].year)), - V( - y3[1], - y3[1] ? M3(null, +y3[1].month, +y3[1].year) : T2() - ) - ]) : V(y3, M3(null, +y3.month, +y3.year)), z2 = (y3) => { - if (Array.isArray(y3)) - return y3.map((F) => r(F)); - throw new Error(Vt.dateArr("multi-dates")); - }, ee = (y3) => { - if (Array.isArray(y3)) - return [b2(y3[0]), b2(y3[1])]; - throw new Error(Vt.dateArr("week-picker")); - }, le = (y3) => n.modelAuto ? Array.isArray(y3) ? [r(y3[0]), r(y3[1])] : n.autoApply ? [r(y3)] : [r(y3), null] : Array.isArray(y3) ? B2(() => [ - r(y3[0]), - y3[1] ? r(y3[1]) : T2() - ]) : r(y3), S3 = () => { - Array.isArray(t2.value) && n.range && t2.value.length === 1 && t2.value.push(T2()); - }, P = () => { - const y3 = t2.value; - return [ - c2(y3[0]), - y3[1] ? c2(y3[1]) : T2() - ]; - }, X2 = () => t2.value[1] ? P() : c2(be(t2.value[0])), m3 = () => (t2.value || []).map((y3) => c2(y3)), N = () => (S3(), n.modelAuto ? X2() : n.multiDates ? m3() : Array.isArray(t2.value) ? B2(() => P()) : c2(be(t2.value))), x2 = (y3) => y3 ? n.timePicker ? Y2(be(y3)) : n.monthPicker ? q2(be(y3)) : n.yearPicker ? C(be(y3)) : n.multiDates ? z2(be(y3)) : n.weekPicker ? ee(be(y3)) : le(be(y3)) : null, oe = (y3) => { - const F = x2(y3); - U(be(F)) ? (t2.value = be(F), i2()) : (t2.value = null, A.value = ""); - }, Q2 = () => { - var F; - const y3 = (ie) => { - var Pe; - return format(ie, (Pe = v.value.textInputOptions) == null ? void 0 : Pe.format); - }; - return `${y3(t2.value[0])} ${(F = v.value.textInputOptions) == null ? void 0 : F.rangeSeparator} ${t2.value[1] ? y3(t2.value[1]) : ""}`; - }, I2 = () => { - var y3; - return a3.value && t2.value ? Array.isArray(t2.value) ? Q2() : format(t2.value, (y3 = v.value.textInputOptions) == null ? void 0 : y3.format) : h3(t2.value); - }, l = () => { - var y3; - return t2.value ? n.multiDates ? t2.value.map((F) => h3(F)).join("; ") : n.textInput && typeof ((y3 = v.value.textInputOptions) == null ? void 0 : y3.format) == "string" ? I2() : h3(t2.value) : ""; - }, i2 = () => { - !n.format || typeof n.format == "string" ? A.value = l() : A.value = n.format(t2.value); - }, r = (y3) => { - if (n.utc) { - const F = new Date(y3); - return n.utc === "preserve" ? new Date(F.getTime() + F.getTimezoneOffset() * 6e4) : F; - } - return n.modelType ? n.modelType === "date" || n.modelType === "timestamp" ? f(new Date(y3)) : n.modelType === "format" && (typeof n.format == "string" || !n.format) ? parse(y3, R2(), /* @__PURE__ */ new Date()) : f(parse(y3, n.modelType, /* @__PURE__ */ new Date())) : f(new Date(y3)); - }, c2 = (y3) => y3 ? n.utc ? fa(y3, n.utc === "preserve") : n.modelType ? n.modelType === "timestamp" ? +s3(y3) : n.modelType === "format" && (typeof n.format == "string" || !n.format) ? h3(s3(y3)) : h3(s3(y3), n.modelType) : s3(y3) : "", D2 = (y3) => { - e2("update:model-value", y3); - }, L2 = (y3) => Array.isArray(t2.value) ? n.multiDates ? t2.value.map((F) => y3(F)) : [ - y3(t2.value[0]), - t2.value[1] ? y3(t2.value[1]) : T2() - ] : y3(be(t2.value)), O2 = (y3) => D2(be(L2(y3))); - return { - inputValue: A, - internalModelValue: t2, - checkBeforeEmit: () => t2.value ? n.range ? n.partialRange ? t2.value.length >= 1 : t2.value.length === 2 : !!t2.value : false, - parseExternalModelValue: oe, - formatInputValue: i2, - emitModelValue: () => (i2(), n.monthPicker ? O2(H3) : n.timePicker ? O2(Z) : n.yearPicker ? O2(getYear) : n.weekPicker ? D2(t2.value) : D2(N())) - }; -}; -var Qa = (e2, n) => { - const { validateMonthYearInRange: a3, validateMaxDate: t2, validateMinDate: s3, defaults: f } = Ve(e2), h3 = (M3, v) => { - let A = M3; - return f.value.filters.months.includes(getMonth(A)) ? (A = v ? addMonths(M3, 1) : subMonths(M3, 1), h3(A, v)) : A; - }, R2 = (M3, v) => { - let A = M3; - return f.value.filters.years.includes(getYear(A)) ? (A = v ? addYears(M3, 1) : subYears(M3, 1), R2(A, v)) : A; - }, B2 = (M3) => { - const v = set(/* @__PURE__ */ new Date(), { month: e2.month, year: e2.year }); - let A = M3 ? addMonths(v, 1) : subMonths(v, 1), J = getMonth(A), Z = getYear(A); - f.value.filters.months.includes(J) && (A = h3(A, M3), J = getMonth(A), Z = getYear(A)), f.value.filters.years.includes(Z) && (A = R2(A, M3), Z = getYear(A)), a3(J, Z, M3, e2.preventMinMaxNavigation) && T2(J, Z); - }, T2 = (M3, v) => { - n("update-month-year", { month: M3, year: v }); - }, U = computed(() => (M3) => { - if (!e2.preventMinMaxNavigation || M3 && !e2.maxDate || !M3 && !e2.minDate) - return false; - const v = set(/* @__PURE__ */ new Date(), { month: e2.month, year: e2.year }), A = M3 ? addMonths(v, 1) : subMonths(v, 1), J = [getMonth(A), getYear(A)]; - return M3 ? !t2(...J) : !s3(...J); - }); - return { handleMonthYearChange: B2, isDisabled: U, updateMonthYear: T2 }; -}; -var Rt = ((e2) => (e2.center = "center", e2.left = "left", e2.right = "right", e2))(Rt || {}); -var er = (e2, n, a3, t2) => { - const s3 = ref({ - top: "0", - left: "0", - transform: "none" - }), f = ref(false), h3 = toRef(t2, "teleportCenter"); - watch(h3, () => { - Z(); - }); - const R2 = (S3) => { - if (t2.teleport) { - const P = S3.getBoundingClientRect(); - return { - left: P.left + window.scrollX, - top: P.top + window.scrollY - }; - } - return { top: 0, left: 0 }; - }, B2 = (S3, P) => { - s3.value.left = `${S3 + P}px`, s3.value.transform = "translateX(-100%)"; - }, T2 = (S3) => { - s3.value.left = `${S3}px`, s3.value.transform = "translateX(0)"; - }, U = (S3, P, X2 = false) => { - t2.position === Rt.left && T2(S3), t2.position === Rt.right && B2(S3, P), t2.position === Rt.center && (s3.value.left = `${S3 + P / 2}px`, s3.value.transform = X2 ? "translate(-50%, -50%)" : "translateX(-50%)"); - }, M3 = (S3) => { - const { width: P, height: X2 } = S3.getBoundingClientRect(), { top: m3, left: N } = t2.altPosition ? t2.altPosition(S3) : R2(S3); - return { top: +m3, left: +N, width: P, height: X2 }; - }, v = () => { - const S3 = $e(n); - if (S3) { - const { top: P, left: X2, width: m3, height: N } = M3(S3); - s3.value.top = `${P + N / 2}px`, s3.value.transform = "translateY(-50%)", U(X2, m3, true); - } - }, A = () => { - s3.value.left = "50%", s3.value.top = "50%", s3.value.transform = "translate(-50%, -50%)", s3.value.position = "fixed"; - }, J = () => { - const S3 = $e(n), { top: P, left: X2, transform: m3 } = t2.altPosition(S3); - s3.value = { top: `${P}px`, left: `${X2}px`, transform: m3 || "" }; - }, Z = (S3 = true) => { - if (!t2.inline) - return h3.value ? A() : t2.altPosition !== null ? J() : (S3 && a3("recalculate-position"), z2()); - }, H3 = ({ - inputEl: S3, - menuEl: P, - left: X2, - width: m3 - }) => { - window.screen.width > 768 && U(X2, m3), Y2(S3, P); - }, C = (S3, P) => { - const { top: X2, left: m3, height: N, width: x2 } = M3(S3); - s3.value.top = `${N + X2 + +t2.offset}px`, H3({ inputEl: S3, menuEl: P, left: m3, width: x2 }), f.value = false; - }, V = (S3, P) => { - const { top: X2, left: m3, width: N } = M3(S3), { height: x2 } = P.getBoundingClientRect(); - s3.value.top = `${X2 - x2 - +t2.offset}px`, H3({ inputEl: S3, menuEl: P, left: m3, width: N }), f.value = true; - }, Y2 = (S3, P) => { - if (t2.autoPosition) { - const { left: X2, width: m3 } = M3(S3), { left: N, right: x2 } = P.getBoundingClientRect(); - return N <= 0 || N <= X2 ? T2(X2) : x2 >= document.documentElement.clientWidth ? B2(X2, m3) : U(X2, m3); - } - }, q2 = (S3, P) => { - const { height: X2 } = P.getBoundingClientRect(), { top: m3, height: N } = S3.getBoundingClientRect(), oe = window.innerHeight - m3 - N, Q2 = m3; - return X2 <= oe ? C(S3, P) : X2 > oe && X2 <= Q2 ? V(S3, P) : oe >= Q2 ? C(S3, P) : V(S3, P); - }, z2 = () => { - const S3 = $e(n), P = $e(e2); - if (S3 && P) - return t2.autoPosition ? q2(S3, P) : C(S3, P); - }, ee = function(S3) { - if (S3) { - const P = S3.scrollHeight > S3.clientHeight, m3 = window.getComputedStyle(S3).overflowY.indexOf("hidden") !== -1; - return P && !m3; - } - return true; - }, le = function(S3) { - return !S3 || S3 === document.body || S3.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? window : ee(S3) ? S3 : le(S3.parentNode); - }; - return { openOnTop: f, menuPosition: s3, setMenuPosition: Z, setInitialPosition: v, getScrollableParent: le }; -}; -var ct = [ - { name: "clock-icon", use: ["time", "calendar"] }, - { name: "arrow-left", use: ["month-year", "calendar"] }, - { name: "arrow-right", use: ["month-year", "calendar"] }, - { name: "arrow-up", use: ["time", "calendar"] }, - { name: "arrow-down", use: ["time", "calendar"] }, - { name: "calendar-icon", use: ["month-year", "time", "calendar"] }, - { name: "day", use: ["calendar"] }, - { name: "month-overlay-value", use: ["calendar", "month-year"] }, - { name: "year-overlay-value", use: ["calendar", "month-year"] }, - { name: "year-overlay", use: ["month-year"] }, - { name: "month-overlay", use: ["month-year"] }, - { name: "month-overlay-header", use: ["month-year"] }, - { name: "year-overlay-header", use: ["month-year"] }, - { name: "hours-overlay-value", use: ["calendar", "time"] }, - { name: "minutes-overlay-value", use: ["calendar", "time"] }, - { name: "seconds-overlay-value", use: ["calendar", "time"] }, - { name: "hours", use: ["calendar", "time"] }, - { name: "minutes", use: ["calendar", "time"] }, - { name: "month", use: ["calendar", "month-year"] }, - { name: "year", use: ["calendar", "month-year"] }, - { name: "action-select", use: ["action"] }, - { name: "action-preview", use: ["action"] }, - { name: "calendar-header", use: ["calendar"] }, - { name: "marker-tooltip", use: ["calendar"] }, - { name: "now-button", use: [] }, - { name: "time-picker-overlay", use: ["calendar", "time"] }, - { name: "am-pm-button", use: ["calendar", "time"] }, - { name: "left-sidebar", use: ["menu"] }, - { name: "right-sidebar", use: ["menu"] }, - { name: "month-year", use: ["month-year"] }, - { name: "time-picker", use: ["menu"] }, - { name: "action-row", use: ["action"] } -]; -var tr = [{ name: "trigger" }, { name: "input-icon" }, { name: "clear-icon" }, { name: "dp-input" }]; -var nr = { - all: () => ct, - monthYear: () => ct.filter((e2) => e2.use.includes("month-year")), - input: () => tr, - timePicker: () => ct.filter((e2) => e2.use.includes("time")), - action: () => ct.filter((e2) => e2.use.includes("action")), - calendar: () => ct.filter((e2) => e2.use.includes("calendar")), - menu: () => ct.filter((e2) => e2.use.includes("menu")) -}; -var it = (e2, n, a3) => { - const t2 = []; - return nr[n]().forEach((s3) => { - e2[s3.name] && t2.push(s3.name); - }), a3 && a3.length && a3.forEach((s3) => { - s3.slot && t2.push(s3.slot); - }), t2; -}; -var Ft = (e2) => ({ transitionName: computed(() => (a3) => e2 && typeof e2 != "boolean" ? a3 ? e2.open : e2.close : ""), showTransition: !!e2 }); -var nt = { - multiCalendars: { type: [Boolean, Number, String], default: null }, - modelValue: { type: [String, Date, Array, Object, Number], default: null }, - modelType: { type: String, default: null }, - position: { type: String, default: "center" }, - dark: { type: Boolean, default: false }, - format: { - type: [String, Function], - default: () => null - }, - closeOnScroll: { type: Boolean, default: false }, - autoPosition: { type: Boolean, default: true }, - closeOnAutoApply: { type: Boolean, default: true }, - altPosition: { type: Function, default: null }, - transitions: { type: [Boolean, Object], default: true }, - formatLocale: { type: Object, default: null }, - utc: { type: [Boolean, String], default: false }, - ariaLabels: { type: Object, default: () => ({}) }, - offset: { type: [Number, String], default: 10 }, - hideNavigation: { type: Array, default: () => [] }, - timezone: { type: String, default: null }, - vertical: { type: Boolean, default: false }, - disableMonthYearSelect: { type: Boolean, default: false }, - menuClassName: { type: String, default: null }, - dayClass: { type: Function, default: null }, - yearRange: { type: Array, default: () => [1900, 2100] }, - multiCalendarsSolo: { type: Boolean, default: false }, - calendarCellClassName: { type: String, default: null }, - enableTimePicker: { type: Boolean, default: true }, - autoApply: { type: Boolean, default: false }, - disabledDates: { type: [Array, Function], default: () => [] }, - monthNameFormat: { type: String, default: "short" }, - startDate: { type: [Date, String], default: null }, - startTime: { type: [Object, Array], default: null }, - hideOffsetDates: { type: Boolean, default: false }, - autoRange: { type: [Number, String], default: null }, - noToday: { type: Boolean, default: false }, - disabledWeekDays: { type: Array, default: () => [] }, - allowedDates: { type: Array, default: () => [] }, - showNowButton: { type: Boolean, default: false }, - nowButtonLabel: { type: String, default: "Now" }, - markers: { type: Array, default: () => [] }, - modeHeight: { type: [Number, String], default: 255 }, - escClose: { type: Boolean, default: true }, - spaceConfirm: { type: Boolean, default: true }, - monthChangeOnArrows: { type: Boolean, default: true }, - presetRanges: { type: Array, default: () => [] }, - flow: { type: Array, default: () => [] }, - partialFlow: { type: Boolean, default: false }, - preventMinMaxNavigation: { type: Boolean, default: false }, - minRange: { type: [Number, String], default: null }, - maxRange: { type: [Number, String], default: null }, - multiDatesLimit: { type: [Number, String], default: null }, - reverseYears: { type: Boolean, default: false }, - keepActionRow: { type: Boolean, default: false }, - weekPicker: { type: Boolean, default: false }, - filters: { type: Object, default: () => ({}) }, - arrowNavigation: { type: Boolean, default: false }, - multiStatic: { type: Boolean, default: true }, - disableTimeRangeValidation: { type: Boolean, default: false }, - highlight: { - type: [Array, Function], - default: null - }, - highlightWeekDays: { - type: Array, - default: null - }, - highlightDisabledDays: { type: Boolean, default: false }, - teleport: { type: [String, Boolean], default: null }, - teleportCenter: { type: Boolean, default: false }, - locale: { type: String, default: "en-Us" }, - weekNumName: { type: String, default: "W" }, - weekStart: { type: [Number, String], default: 1 }, - weekNumbers: { - type: [String, Function], - default: null - }, - calendarClassName: { type: String, default: null }, - noSwipe: { type: Boolean, default: false }, - monthChangeOnScroll: { type: [Boolean, String], default: true }, - dayNames: { - type: [Function, Array], - default: null - }, - monthPicker: { type: Boolean, default: false }, - customProps: { type: Object, default: null }, - yearPicker: { type: Boolean, default: false }, - modelAuto: { type: Boolean, default: false }, - selectText: { type: String, default: "Select" }, - cancelText: { type: String, default: "Cancel" }, - previewFormat: { - type: [String, Function], - default: () => "" - }, - multiDates: { type: Boolean, default: false }, - partialRange: { type: Boolean, default: true }, - ignoreTimeValidation: { type: Boolean, default: false }, - minDate: { type: [Date, String], default: null }, - maxDate: { type: [Date, String], default: null }, - minTime: { type: Object, default: null }, - maxTime: { type: Object, default: null }, - name: { type: String, default: null }, - placeholder: { type: String, default: "" }, - hideInputIcon: { type: Boolean, default: false }, - clearable: { type: Boolean, default: true }, - state: { type: Boolean, default: null }, - required: { type: Boolean, default: false }, - autocomplete: { type: String, default: "off" }, - inputClassName: { type: String, default: null }, - inlineWithInput: { type: Boolean, default: false }, - textInputOptions: { type: Object, default: () => null }, - fixedStart: { type: Boolean, default: false }, - fixedEnd: { type: Boolean, default: false }, - timePicker: { type: Boolean, default: false }, - enableSeconds: { type: Boolean, default: false }, - is24: { type: Boolean, default: true }, - noHoursOverlay: { type: Boolean, default: false }, - noMinutesOverlay: { type: Boolean, default: false }, - noSecondsOverlay: { type: Boolean, default: false }, - hoursGridIncrement: { type: [String, Number], default: 1 }, - minutesGridIncrement: { type: [String, Number], default: 5 }, - secondsGridIncrement: { type: [String, Number], default: 5 }, - hoursIncrement: { type: [Number, String], default: 1 }, - minutesIncrement: { type: [Number, String], default: 1 }, - secondsIncrement: { type: [Number, String], default: 1 }, - range: { type: Boolean, default: false }, - uid: { type: String, default: null }, - disabled: { type: Boolean, default: false }, - readonly: { type: Boolean, default: false }, - inline: { type: Boolean, default: false }, - textInput: { type: Boolean, default: false }, - onClickOutside: { type: Function, default: null }, - noDisabledRange: { type: Boolean, default: false }, - sixWeeks: { type: Boolean, default: false } -}; -var ar = ["aria-label", "aria-disabled", "aria-readonly"]; -var rr = { - key: 1, - class: "dp__input_wrap" -}; -var lr = ["id", "name", "inputmode", "placeholder", "disabled", "readonly", "required", "value", "autocomplete", "onKeydown"]; -var or = { - key: 2, - class: "dp__input_icon" -}; -var sr = { - key: 4, - class: "dp__clear_icon" -}; -var ir = defineComponent({ - __name: "DatepickerInput", - props: { - isMenuOpen: { type: Boolean, default: false }, - inputValue: { type: String, default: "" }, - ...nt - }, - emits: [ - "clear", - "open", - "update:input-value", - "set-input-date", - "close", - "select-date", - "set-empty-date", - "toggle", - "focus-prev", - "focus", - "blur" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { getDefaultPattern: s3, isValidDate: f, defaults: h3, getDefaultStartTime: R2, assignDefaultTime: B2 } = Ve(t2), T2 = ref(), U = ref(null), M3 = ref(false), v = computed( - () => ({ - dp__pointer: !t2.disabled && !t2.readonly && !t2.textInput, - dp__disabled: t2.disabled, - dp__input_readonly: !t2.textInput, - dp__input: true, - dp__input_icon_pad: !t2.hideInputIcon, - dp__input_valid: t2.state, - dp__input_invalid: t2.state === false, - dp__input_focus: M3.value || t2.isMenuOpen, - dp__input_reg: !t2.textInput, - [t2.inputClassName]: !!t2.inputClassName - }) - ), A = () => { - a3("set-input-date", null), t2.autoApply && (a3("set-empty-date"), T2.value = null); - }, J = (m3) => { - var x2; - const N = R2(); - return ca( - m3, - ((x2 = h3.value.textInputOptions) == null ? void 0 : x2.format) || s3(), - N || B2({}), - t2.inputValue - ); - }, Z = (m3) => { - const { rangeSeparator: N } = h3.value.textInputOptions, [x2, oe] = m3.split(`${N}`); - if (x2) { - const Q2 = J(x2.trim()), I2 = oe ? J(oe.trim()) : null, l = Q2 && I2 ? [Q2, I2] : [Q2]; - T2.value = Q2 ? l : null; - } - }, H3 = (m3) => { - if (t2.range) - Z(m3); - else if (t2.multiDates) { - const N = m3.split(";"); - T2.value = N.map((x2) => J(x2.trim())).filter((x2) => x2); - } else - T2.value = J(m3); - }, C = (m3) => { - var x2; - const { value: N } = m3.target; - N !== "" ? ((x2 = h3.value.textInputOptions) != null && x2.openMenu && !t2.isMenuOpen && a3("open"), H3(N), a3("set-input-date", T2.value)) : A(), a3("update:input-value", N); - }, V = () => { - var m3, N; - (m3 = h3.value.textInputOptions) != null && m3.enterSubmit && f(T2.value) && t2.inputValue !== "" ? (a3("set-input-date", T2.value, true), T2.value = null) : (N = h3.value.textInputOptions) != null && N.enterSubmit && t2.inputValue === "" && (T2.value = null, a3("clear")); - }, Y2 = () => { - var m3, N; - (m3 = h3.value.textInputOptions) != null && m3.tabSubmit && f(T2.value) && t2.inputValue !== "" ? (a3("set-input-date", T2.value, true), T2.value = null) : (N = h3.value.textInputOptions) != null && N.tabSubmit && t2.inputValue === "" && (T2.value = null, a3("clear")); - }, q2 = () => { - M3.value = true, a3("focus"); - }, z2 = (m3) => { - var N; - m3.preventDefault(), m3.stopImmediatePropagation(), m3.stopPropagation(), t2.textInput && ((N = h3.value.textInputOptions) != null && N.openMenu) && !t2.inlineWithInput ? t2.isMenuOpen ? h3.value.textInputOptions.enterSubmit && a3("select-date") : a3("open") : t2.textInput || a3("toggle"); - }, ee = () => { - M3.value = false, t2.isMenuOpen || a3("blur"), t2.autoApply && t2.textInput && T2.value && (a3("set-input-date", T2.value), a3("select-date"), T2.value = null); - }, le = () => { - a3("clear"); - }, S3 = (m3) => { - if (!t2.textInput) { - if (m3.code === "Tab") - return; - m3.preventDefault(); - } - }; - return n({ - focusInput: () => { - U.value && U.value.focus({ preventScroll: true }); - }, - setParsedDate: (m3) => { - T2.value = m3; - } - }), (m3, N) => { - var x2; - return openBlock(), createElementBlock("div", { - onClick: z2, - "aria-label": (x2 = unref(h3).ariaLabels) == null ? void 0 : x2.input, - role: "textbox", - "aria-multiline": "false", - "aria-disabled": m3.disabled, - "aria-readonly": m3.readonly - }, [ - m3.$slots.trigger && !m3.$slots["dp-input"] && !m3.inline ? renderSlot(m3.$slots, "trigger", { key: 0 }) : createCommentVNode("", true), - !m3.$slots.trigger && (!m3.inline || m3.inlineWithInput) ? (openBlock(), createElementBlock("div", rr, [ - m3.$slots["dp-input"] && !m3.$slots.trigger && !m3.inline ? renderSlot(m3.$slots, "dp-input", { - key: 0, - value: e2.inputValue, - onInput: C, - onEnter: V, - onTab: Y2, - onClear: le, - onBlur: ee - }) : createCommentVNode("", true), - m3.$slots["dp-input"] ? createCommentVNode("", true) : (openBlock(), createElementBlock("input", { - key: 1, - ref_key: "inputRef", - ref: U, - id: m3.uid ? `dp-input-${m3.uid}` : void 0, - name: m3.name, - class: normalizeClass(unref(v)), - inputmode: m3.textInput ? "text" : "none", - placeholder: m3.placeholder, - disabled: m3.disabled, - readonly: m3.readonly, - required: m3.required, - value: e2.inputValue, - autocomplete: m3.autocomplete, - onInput: C, - onKeydown: [ - withKeys(z2, ["enter"]), - withKeys(Y2, ["tab"]), - S3 - ], - onBlur: ee, - onFocus: q2, - onKeypress: S3 - }, null, 42, lr)), - m3.$slots["input-icon"] && !m3.hideInputIcon ? (openBlock(), createElementBlock("span", or, [ - renderSlot(m3.$slots, "input-icon") - ])) : createCommentVNode("", true), - !m3.$slots["input-icon"] && !m3.hideInputIcon && !m3.$slots["dp-input"] ? (openBlock(), createBlock(unref(Et), { - key: 3, - class: "dp__input_icon dp__input_icons" - })) : createCommentVNode("", true), - m3.$slots["clear-icon"] && e2.inputValue && m3.clearable && !m3.disabled && !m3.readonly ? (openBlock(), createElementBlock("span", sr, [ - renderSlot(m3.$slots, "clear-icon", { clear: le }) - ])) : createCommentVNode("", true), - m3.clearable && !m3.$slots["clear-icon"] && e2.inputValue && !m3.disabled && !m3.readonly ? (openBlock(), createBlock(unref(da), { - key: 5, - class: "dp__clear_icon dp__input_icons", - "data-test": "clear-icon", - onClick: withModifiers(le, ["stop", "prevent"]) - }, null, 8, ["onClick"])) : createCommentVNode("", true) - ])) : createCommentVNode("", true) - ], 8, ar); - }; - } -}); -var ur = { class: "dp__action_row" }; -var dr = { class: "dp__selection_preview" }; -var cr = { class: "dp__action_buttons" }; -var fr = ["onKeydown"]; -var mr = defineComponent({ - __name: "ActionRow", - props: { - menuMount: { type: Boolean, default: false }, - internalModelValue: { type: [Date, Array], default: null }, - ...nt - }, - emits: ["close-picker", "select-date", "invalid-select"], - setup(e2, { emit: n }) { - const a3 = e2, { formatDate: t2, isValidTime: s3, defaults: f } = Ve(a3), { buildMatrix: h3 } = tt(), R2 = ref(null), B2 = ref(null); - onMounted(() => { - a3.arrowNavigation && h3([$e(R2), $e(B2)], "actionRow"); - }); - const T2 = computed(() => a3.range && !a3.partialRange && a3.internalModelValue ? a3.internalModelValue.length === 2 : true), U = computed(() => !v.value || !A.value || !T2.value), M3 = computed(() => ({ - dp__action: true, - dp__select: true, - dp__action_disabled: U.value - })), v = computed(() => !a3.enableTimePicker || a3.ignoreTimeValidation ? true : s3(a3.internalModelValue)), A = computed(() => a3.monthPicker ? a3.range && Array.isArray(a3.internalModelValue) ? !a3.internalModelValue.filter((q2) => !C(q2)).length : C(a3.internalModelValue) : true), J = () => { - const Y2 = f.value.previewFormat; - return a3.timePicker || a3.monthPicker, Y2(be(a3.internalModelValue)); - }, Z = () => { - const Y2 = a3.internalModelValue; - return f.value.multiCalendars > 0 ? `${t2(Y2[0])} - ${t2(Y2[1])}` : [t2(Y2[0]), t2(Y2[1])]; - }, H3 = computed(() => !a3.internalModelValue || !a3.menuMount ? "" : typeof f.value.previewFormat == "string" ? Array.isArray(a3.internalModelValue) ? a3.internalModelValue.length === 2 && a3.internalModelValue[1] ? Z() : a3.multiDates ? a3.internalModelValue.map((Y2) => `${t2(Y2)}`) : a3.modelAuto ? `${t2(a3.internalModelValue[0])}` : `${t2(a3.internalModelValue[0])} -` : t2(a3.internalModelValue) : J()), C = (Y2) => { - if (!a3.monthPicker) - return true; - let q2 = true; - const z2 = b2(pt(Y2)); - if (a3.minDate && a3.maxDate) { - const ee = b2(pt(a3.minDate)), le = b2(pt(a3.maxDate)); - return Oe(z2, ee) && Ce(z2, le) || me(z2, ee) || me(z2, le); - } - if (a3.minDate) { - const ee = b2(pt(a3.minDate)); - q2 = Oe(z2, ee) || me(z2, ee); - } - if (a3.maxDate) { - const ee = b2(pt(a3.maxDate)); - q2 = Ce(z2, ee) || me(z2, ee); - } - return q2; - }, V = () => { - v.value && A.value && T2.value ? n("select-date") : n("invalid-select"); - }; - return (Y2, q2) => (openBlock(), createElementBlock("div", ur, [ - Y2.$slots["action-row"] ? renderSlot(Y2.$slots, "action-row", normalizeProps(mergeProps({ key: 0 }, { - internalModelValue: e2.internalModelValue, - disabled: unref(U), - selectDate: () => Y2.$emit("select-date"), - closePicker: () => Y2.$emit("close-picker") - }))) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createBaseVNode("div", dr, [ - Y2.$slots["action-preview"] ? renderSlot(Y2.$slots, "action-preview", { - key: 0, - value: e2.internalModelValue - }) : createCommentVNode("", true), - Y2.$slots["action-preview"] ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - Array.isArray(unref(H3)) ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 0 }, [ - createTextVNode(toDisplayString(unref(H3)), 1) - ], 64)), - Array.isArray(unref(H3)) ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(H3), (z2, ee) => (openBlock(), createElementBlock("div", { key: ee }, toDisplayString(z2), 1))), 128)) : createCommentVNode("", true) - ], 64)) - ]), - createBaseVNode("div", cr, [ - Y2.$slots["action-select"] ? renderSlot(Y2.$slots, "action-select", { - key: 0, - value: e2.internalModelValue - }) : createCommentVNode("", true), - Y2.$slots["action-select"] ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - Y2.inline ? createCommentVNode("", true) : (openBlock(), createElementBlock("span", { - key: 0, - class: "dp__action dp__cancel", - ref_key: "cancelButtonRef", - ref: R2, - tabindex: "0", - onClick: q2[0] || (q2[0] = (z2) => Y2.$emit("close-picker")), - onKeydown: [ - q2[1] || (q2[1] = withKeys((z2) => Y2.$emit("close-picker"), ["enter"])), - q2[2] || (q2[2] = withKeys((z2) => Y2.$emit("close-picker"), ["space"])) - ] - }, toDisplayString(Y2.cancelText), 545)), - createBaseVNode("span", { - class: normalizeClass(unref(M3)), - tabindex: "0", - onKeydown: [ - withKeys(V, ["enter"]), - withKeys(V, ["space"]) - ], - onClick: V, - "data-test": "select-button", - ref_key: "selectButtonRef", - ref: B2 - }, toDisplayString(Y2.selectText), 43, fr) - ], 64)) - ]) - ], 64)) - ])); - } -}); -var vr = ["aria-label"]; -var yr = { - class: "dp__calendar_header", - role: "row" -}; -var gr = { - key: 0, - class: "dp__calendar_header_item", - role: "gridcell" -}; -var hr = createBaseVNode("div", { class: "dp__calendar_header_separator" }, null, -1); -var pr = ["aria-label"]; -var kr = { - key: 0, - role: "gridcell", - class: "dp__calendar_item dp__week_num" -}; -var wr = { class: "dp__cell_inner" }; -var br = ["aria-selected", "aria-disabled", "aria-label", "data-test", "onClick", "onKeydown", "onMouseenter", "onMouseleave"]; -var Dr = defineComponent({ - __name: "Calendar", - props: { - mappedDates: { type: Array, default: () => [] }, - getWeekNum: { - type: Function, - default: () => "" - }, - specificMode: { type: Boolean, default: false }, - instance: { type: Number, default: 0 }, - month: { type: Number, default: 0 }, - year: { type: Number, default: 0 }, - ...nt - }, - emits: [ - "select-date", - "set-hover-date", - "handle-scroll", - "mount", - "handle-swipe", - "handle-space", - "tooltip-open", - "tooltip-close" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { buildMultiLevelMatrix: s3 } = tt(), { setDateMonthOrYear: f, defaults: h3 } = Ve(t2), R2 = ref(null), B2 = ref({ - bottom: "", - left: "", - transform: "" - }), T2 = ref([]), U = ref(null), M3 = ref(true), v = ref(""), A = ref({ startX: 0, endX: 0, startY: 0, endY: 0 }), J = ref([]), Z = ref({ left: "50%" }), H3 = computed(() => t2.dayNames ? Array.isArray(t2.dayNames) ? t2.dayNames : t2.dayNames(t2.locale, +t2.weekStart) : La(t2.locale, +t2.weekStart)); - onMounted(() => { - a3("mount", { cmp: "calendar", refs: T2 }), t2.noSwipe || U.value && (U.value.addEventListener("touchstart", m3, { passive: false }), U.value.addEventListener("touchend", N, { passive: false }), U.value.addEventListener("touchmove", x2, { passive: false })), t2.monthChangeOnScroll && U.value && U.value.addEventListener("wheel", I2, { passive: false }); - }); - const C = (l) => l ? t2.vertical ? "vNext" : "next" : t2.vertical ? "vPrevious" : "previous", V = (l, i2) => { - if (t2.transitions) { - const r = Le(f(b2(), t2.month, t2.year)); - v.value = Oe(Le(f(b2(), l, i2)), r) ? h3.value.transitions[C(true)] : h3.value.transitions[C(false)], M3.value = false, nextTick(() => { - M3.value = true; - }); - } - }, Y2 = computed( - () => ({ - dp__calendar_wrap: true, - [t2.calendarClassName]: !!t2.calendarClassName - }) - ), q2 = computed(() => (l) => { - const i2 = za(l); - return { - dp__marker_dot: i2.type === "dot", - dp__marker_line: i2.type === "line" - }; - }), z2 = computed(() => (l) => me(l, R2.value)), ee = computed(() => ({ - dp__calendar: true, - dp__calendar_next: h3.value.multiCalendars > 0 && t2.instance !== 0 - })), le = computed(() => (l) => t2.hideOffsetDates ? l.current : true), S3 = computed(() => t2.specificMode ? { height: `${t2.modeHeight}px` } : void 0), P = async (l, i2, r) => { - var c2, D2; - if (a3("set-hover-date", l), (D2 = (c2 = l.marker) == null ? void 0 : c2.tooltip) != null && D2.length) { - const L2 = $e(T2.value[i2][r]); - if (L2) { - const { width: O2, height: g } = L2.getBoundingClientRect(); - R2.value = l.value; - let w2 = { left: `${O2 / 2}px` }, y3 = -50; - if (await nextTick(), J.value[0]) { - const { left: F, width: ie } = J.value[0].getBoundingClientRect(); - F < 0 && (w2 = { left: "0" }, y3 = 0, Z.value.left = `${O2 / 2}px`), window.innerWidth < F + ie && (w2 = { right: "0" }, y3 = 0, Z.value.left = `${ie - O2 / 2}px`); - } - B2.value = { - bottom: `${g}px`, - ...w2, - transform: `translateX(${y3}%)` - }, a3("tooltip-open", l.marker); - } - } - }, X2 = (l) => { - R2.value && (R2.value = null, B2.value = JSON.parse(JSON.stringify({ bottom: "", left: "", transform: "" })), a3("tooltip-close", l.marker)); - }, m3 = (l) => { - A.value.startX = l.changedTouches[0].screenX, A.value.startY = l.changedTouches[0].screenY; - }, N = (l) => { - A.value.endX = l.changedTouches[0].screenX, A.value.endY = l.changedTouches[0].screenY, oe(); - }, x2 = (l) => { - t2.vertical && !t2.inline && l.preventDefault(); - }, oe = () => { - const l = t2.vertical ? "Y" : "X"; - Math.abs(A.value[`start${l}`] - A.value[`end${l}`]) > 10 && a3("handle-swipe", A.value[`start${l}`] > A.value[`end${l}`] ? "right" : "left"); - }, Q2 = (l, i2, r) => { - l && (Array.isArray(T2.value[i2]) ? T2.value[i2][r] = l : T2.value[i2] = [l]), t2.arrowNavigation && s3(T2.value, "calendar"); - }, I2 = (l) => { - t2.monthChangeOnScroll && (l.preventDefault(), a3("handle-scroll", l)); - }; - return n({ triggerTransition: V }), (l, i2) => { - var r; - return openBlock(), createElementBlock("div", { - class: normalizeClass(unref(ee)) - }, [ - createBaseVNode("div", { - style: normalizeStyle(unref(S3)) - }, [ - e2.specificMode ? createCommentVNode("", true) : (openBlock(), createElementBlock("div", { - key: 0, - ref_key: "calendarWrapRef", - ref: U, - class: normalizeClass(unref(Y2)), - role: "grid", - "aria-label": (r = unref(h3).ariaLabels) == null ? void 0 : r.calendarWrap - }, [ - createBaseVNode("div", yr, [ - l.weekNumbers ? (openBlock(), createElementBlock("div", gr, toDisplayString(l.weekNumName), 1)) : createCommentVNode("", true), - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(H3), (c2, D2) => (openBlock(), createElementBlock("div", { - class: "dp__calendar_header_item", - role: "gridcell", - key: D2, - "data-test": "calendar-header" - }, [ - l.$slots["calendar-header"] ? renderSlot(l.$slots, "calendar-header", { - key: 0, - day: c2, - index: D2 - }) : createCommentVNode("", true), - l.$slots["calendar-header"] ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(c2), 1) - ], 64)) - ]))), 128)) - ]), - hr, - createVNode(Transition, { - name: v.value, - css: !!l.transitions - }, { - default: withCtx(() => { - var c2; - return [ - M3.value ? (openBlock(), createElementBlock("div", { - key: 0, - class: "dp__calendar", - role: "grid", - "aria-label": (c2 = unref(h3).ariaLabels) == null ? void 0 : c2.calendarDays - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(e2.mappedDates, (D2, L2) => (openBlock(), createElementBlock("div", { - class: "dp__calendar_row", - role: "row", - key: L2 - }, [ - l.weekNumbers ? (openBlock(), createElementBlock("div", kr, [ - createBaseVNode("div", wr, toDisplayString(e2.getWeekNum(D2.days)), 1) - ])) : createCommentVNode("", true), - (openBlock(true), createElementBlock(Fragment, null, renderList(D2.days, (O2, g) => { - var w2, y3, F; - return openBlock(), createElementBlock("div", { - role: "gridcell", - class: "dp__calendar_item", - ref_for: true, - ref: (ie) => Q2(ie, L2, g), - key: g + L2, - "aria-selected": O2.classData.dp__active_date || O2.classData.dp__range_start || O2.classData.dp__range_start, - "aria-disabled": O2.classData.dp__cell_disabled, - "aria-label": (y3 = (w2 = unref(h3).ariaLabels) == null ? void 0 : w2.day) == null ? void 0 : y3.call(w2, O2), - tabindex: "0", - "data-test": O2.value, - onClick: withModifiers((ie) => l.$emit("select-date", O2), ["stop", "prevent"]), - onKeydown: [ - withKeys((ie) => l.$emit("select-date", O2), ["enter"]), - withKeys((ie) => l.$emit("handle-space", O2), ["space"]) - ], - onMouseenter: (ie) => P(O2, L2, g), - onMouseleave: (ie) => X2(O2) - }, [ - createBaseVNode("div", { - class: normalizeClass(["dp__cell_inner", O2.classData]) - }, [ - l.$slots.day && unref(le)(O2) ? renderSlot(l.$slots, "day", { - key: 0, - day: +O2.text, - date: O2.value - }) : createCommentVNode("", true), - l.$slots.day ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(O2.text), 1) - ], 64)), - O2.marker && unref(le)(O2) ? (openBlock(), createElementBlock("div", { - key: 2, - class: normalizeClass(unref(q2)(O2.marker)), - style: normalizeStyle(O2.marker.color ? { backgroundColor: O2.marker.color } : {}) - }, null, 6)) : createCommentVNode("", true), - unref(z2)(O2.value) ? (openBlock(), createElementBlock("div", { - key: 3, - class: "dp__marker_tooltip", - ref_for: true, - ref_key: "activeTooltip", - ref: J, - style: normalizeStyle(B2.value) - }, [ - (F = O2.marker) != null && F.tooltip ? (openBlock(), createElementBlock("div", { - key: 0, - class: "dp__tooltip_content", - onClick: i2[0] || (i2[0] = withModifiers(() => { - }, ["stop"])) - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(O2.marker.tooltip, (ie, Pe) => (openBlock(), createElementBlock("div", { - key: Pe, - class: "dp__tooltip_text" - }, [ - l.$slots["marker-tooltip"] ? renderSlot(l.$slots, "marker-tooltip", { - key: 0, - tooltip: ie, - day: O2.value - }) : createCommentVNode("", true), - l.$slots["marker-tooltip"] ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createBaseVNode("div", { - class: "dp__tooltip_mark", - style: normalizeStyle(ie.color ? { backgroundColor: ie.color } : {}) - }, null, 4), - createBaseVNode("div", null, toDisplayString(ie.text), 1) - ], 64)) - ]))), 128)), - createBaseVNode("div", { - class: "dp__arrow_bottom_tp", - style: normalizeStyle(Z.value) - }, null, 4) - ])) : createCommentVNode("", true) - ], 4)) : createCommentVNode("", true) - ], 2) - ], 40, br); - }), 128)) - ]))), 128)) - ], 8, pr)) : createCommentVNode("", true) - ]; - }), - _: 3 - }, 8, ["name", "css"]) - ], 10, vr)) - ], 4) - ], 2); - }; - } -}); -var $r = ["aria-label", "aria-disabled"]; -var tn = defineComponent({ - __name: "ActionIcon", - props: { - ariaLabel: { type: String, default: "" }, - disabled: { type: Boolean, default: false } - }, - emits: ["activate", "set-ref"], - setup(e2, { emit: n }) { - const a3 = ref(null); - return onMounted(() => n("set-ref", a3)), (t2, s3) => (openBlock(), createElementBlock("div", { - class: "dp__month_year_col_nav", - onClick: s3[0] || (s3[0] = (f) => t2.$emit("activate")), - onKeydown: [ - s3[1] || (s3[1] = withKeys((f) => t2.$emit("activate"), ["enter"])), - s3[2] || (s3[2] = withKeys((f) => t2.$emit("activate"), ["space"])) - ], - tabindex: "0", - role: "button", - "aria-label": e2.ariaLabel, - "aria-disabled": e2.disabled, - ref_key: "elRef", - ref: a3 - }, [ - createBaseVNode("div", { - class: normalizeClass(["dp__inner_nav", { dp__inner_nav_disabled: e2.disabled }]) - }, [ - renderSlot(t2.$slots, "default") - ], 2) - ], 40, $r)); - } -}); -var Mr = ["onKeydown"]; -var Tr = { class: "dp__selection_grid_header" }; -var Ar = ["aria-selected", "aria-disabled", "data-test", "onClick", "onKeydown", "onMouseover"]; -var Sr = ["aria-label", "onKeydown"]; -var Dt = defineComponent({ - __name: "SelectionGrid", - props: { - items: { type: Array, default: () => [] }, - modelValue: { type: [String, Number], default: null }, - multiModelValue: { type: Array, default: () => [] }, - disabledValues: { type: Array, default: () => [] }, - minValue: { type: [Number, String], default: null }, - maxValue: { type: [Number, String], default: null }, - year: { type: Number, default: 0 }, - skipActive: { type: Boolean, default: false }, - headerRefs: { type: Array, default: () => [] }, - skipButtonRef: { type: Boolean, default: false }, - monthPicker: { type: Boolean, default: false }, - yearPicker: { type: Boolean, default: false }, - escClose: { type: Boolean, default: true }, - type: { type: String, default: null }, - arrowNavigation: { type: Boolean, default: false }, - autoApply: { type: Boolean, default: false }, - textInput: { type: Boolean, default: false }, - ariaLabels: { type: Object, default: () => ({}) }, - hideNavigation: { type: Array, default: () => [] } - }, - emits: ["update:model-value", "selected", "toggle", "reset-flow"], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { setSelectionGrid: s3, buildMultiLevelMatrix: f, setMonthPicker: h3 } = tt(), { hideNavigationButtons: R2 } = Ve(t2), B2 = ref(false), T2 = ref(null), U = ref(null), M3 = ref([]), v = ref(), A = ref(null), J = ref(0), Z = ref(null); - onBeforeUpdate(() => { - T2.value = null; - }), onMounted(() => { - nextTick().then(() => P()), C(), H3(true); - }), onUnmounted(() => H3(false)); - const H3 = (I2) => { - var l; - t2.arrowNavigation && ((l = t2.headerRefs) != null && l.length ? h3(I2) : s3(I2)); - }, C = () => { - const I2 = $e(U); - I2 && (t2.textInput || I2.focus({ preventScroll: true }), B2.value = I2.clientHeight < I2.scrollHeight); - }, V = computed( - () => ({ - dp__overlay: true - }) - ), Y2 = computed(() => ({ - dp__overlay_col: true - })), q2 = (I2) => t2.skipActive ? false : I2.value === t2.modelValue, z2 = computed(() => t2.items.map((I2) => I2.filter((l) => l).map((l) => { - var c2, D2, L2; - const i2 = t2.disabledValues.some((O2) => O2 === l.value) || S3(l.value), r = (c2 = t2.multiModelValue) != null && c2.length ? (D2 = t2.multiModelValue) == null ? void 0 : D2.some( - (O2) => me( - O2, - setYear( - t2.monthPicker ? setMonth(/* @__PURE__ */ new Date(), l.value) : /* @__PURE__ */ new Date(), - t2.monthPicker ? t2.year : l.value - ) - ) - ) : q2(l); - return { - ...l, - className: { - dp__overlay_cell_active: r, - dp__overlay_cell: !r, - dp__overlay_cell_disabled: i2, - dp__overlay_cell_active_disabled: i2 && r, - dp__overlay_cell_pad: true, - dp__cell_in_between: (L2 = t2.multiModelValue) != null && L2.length && t2.skipActive ? m3(l.value) : false - } - }; - }))), ee = computed( - () => ({ - dp__button: true, - dp__overlay_action: true, - dp__over_action_scroll: B2.value, - dp__button_bottom: t2.autoApply - }) - ), le = computed(() => { - var I2, l; - return { - dp__overlay_container: true, - dp__container_flex: ((I2 = t2.items) == null ? void 0 : I2.length) <= 6, - dp__container_block: ((l = t2.items) == null ? void 0 : l.length) > 6 - }; - }), S3 = (I2) => { - const l = t2.maxValue || t2.maxValue === 0, i2 = t2.minValue || t2.minValue === 0; - return !l && !i2 ? false : l && i2 ? +I2 > +t2.maxValue || +I2 < +t2.minValue : l ? +I2 > +t2.maxValue : i2 ? +I2 < +t2.minValue : false; - }, P = () => { - const I2 = $e(T2), l = $e(U), i2 = $e(A), r = $e(Z), c2 = i2 ? i2.getBoundingClientRect().height : 0; - l && (J.value = l.getBoundingClientRect().height - c2), I2 && r && (r.scrollTop = I2.offsetTop - r.offsetTop - (J.value / 2 - I2.getBoundingClientRect().height) - c2); - }, X2 = (I2) => { - !t2.disabledValues.some((l) => l === I2) && !S3(I2) && (a3("update:model-value", I2), a3("selected")); - }, m3 = (I2) => { - const l = t2.monthPicker ? t2.year : I2; - return Wn( - t2.multiModelValue, - setYear( - t2.monthPicker ? setMonth(/* @__PURE__ */ new Date(), v.value || 0) : /* @__PURE__ */ new Date(), - t2.monthPicker ? l : v.value || l - ), - setYear(t2.monthPicker ? setMonth(/* @__PURE__ */ new Date(), I2) : /* @__PURE__ */ new Date(), l) - ); - }, N = () => { - a3("toggle"), a3("reset-flow"); - }, x2 = () => { - t2.escClose && N(); - }, oe = (I2, l, i2, r) => { - I2 && (l.value === +t2.modelValue && !t2.disabledValues.includes(l.value) && (T2.value = I2), t2.arrowNavigation && (Array.isArray(M3.value[i2]) ? M3.value[i2][r] = I2 : M3.value[i2] = [I2], Q2())); - }, Q2 = () => { - var l, i2; - const I2 = (l = t2.headerRefs) != null && l.length ? [t2.headerRefs].concat(M3.value) : M3.value.concat([t2.skipButtonRef ? [] : [A.value]]); - f(be(I2), (i2 = t2.headerRefs) != null && i2.length ? "monthPicker" : "selectionGrid"); - }; - return n({ focusGrid: C }), (I2, l) => { - var i2; - return openBlock(), createElementBlock("div", { - ref_key: "gridWrapRef", - ref: U, - class: normalizeClass(unref(V)), - role: "dialog", - tabindex: "0", - onKeydown: withKeys(x2, ["esc"]) - }, [ - createBaseVNode("div", { - class: normalizeClass(unref(le)), - ref_key: "containerRef", - ref: Z, - role: "grid", - style: normalizeStyle({ height: `${J.value}px` }) - }, [ - createBaseVNode("div", Tr, [ - renderSlot(I2.$slots, "header") - ]), - I2.$slots.overlay ? renderSlot(I2.$slots, "overlay", { key: 0 }) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(z2), (r, c2) => (openBlock(), createElementBlock("div", { - class: normalizeClass(["dp__overlay_row", { dp__flex_row: unref(z2).length >= 3 }]), - key: c2, - role: "row" - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(r, (D2, L2) => (openBlock(), createElementBlock("div", { - role: "gridcell", - class: normalizeClass(unref(Y2)), - key: D2.value, - "aria-selected": D2.value === e2.modelValue && !e2.disabledValues.includes(D2.value), - "aria-disabled": D2.className.dp__overlay_cell_disabled, - ref_for: true, - ref: (O2) => oe(O2, D2, c2, L2), - tabindex: "0", - "data-test": D2.text, - onClick: (O2) => X2(D2.value), - onKeydown: [ - withKeys((O2) => X2(D2.value), ["enter"]), - withKeys((O2) => X2(D2.value), ["space"]) - ], - onMouseover: (O2) => v.value = D2.value - }, [ - createBaseVNode("div", { - class: normalizeClass(D2.className) - }, [ - I2.$slots.item ? renderSlot(I2.$slots, "item", { - key: 0, - item: D2 - }) : createCommentVNode("", true), - I2.$slots.item ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(D2.text), 1) - ], 64)) - ], 2) - ], 42, Ar))), 128)) - ], 2))), 128)) - ], 6), - I2.$slots["button-icon"] ? withDirectives((openBlock(), createElementBlock("div", { - key: 0, - role: "button", - "aria-label": (i2 = e2.ariaLabels) == null ? void 0 : i2.toggleOverlay, - class: normalizeClass(unref(ee)), - tabindex: "0", - ref_key: "toggleButton", - ref: A, - onClick: N, - onKeydown: withKeys(N, ["enter"]) - }, [ - renderSlot(I2.$slots, "button-icon") - ], 42, Sr)), [ - [vShow, !unref(R2)(e2.type)] - ]) : createCommentVNode("", true) - ], 42, Mr); - }; - } -}); -var Cr = ["aria-label"]; -var Rn = defineComponent({ - __name: "RegularPicker", - props: { - ariaLabel: { type: String, default: "" }, - showSelectionGrid: { type: Boolean, default: false }, - modelValue: { type: Number, default: null }, - items: { type: Array, default: () => [] }, - disabledValues: { type: Array, default: () => [] }, - minValue: { type: Number, default: null }, - maxValue: { type: Number, default: null }, - slotName: { type: String, default: "" }, - overlaySlot: { type: String, default: "" }, - headerRefs: { type: Array, default: () => [] }, - escClose: { type: Boolean, default: true }, - type: { type: String, default: null }, - transitions: { type: [Object, Boolean], default: false }, - arrowNavigation: { type: Boolean, default: false }, - autoApply: { type: Boolean, default: false }, - textInput: { type: Boolean, default: false }, - ariaLabels: { type: Object, default: () => ({}) }, - hideNavigation: { type: Array, default: () => [] } - }, - emits: ["update:model-value", "toggle", "set-ref"], - setup(e2, { emit: n }) { - const a3 = e2, { transitionName: t2, showTransition: s3 } = Ft(a3.transitions), f = ref(null); - return onMounted(() => n("set-ref", f)), (h3, R2) => (openBlock(), createElementBlock(Fragment, null, [ - createBaseVNode("div", { - class: "dp__month_year_select", - onClick: R2[0] || (R2[0] = (B2) => h3.$emit("toggle")), - onKeydown: [ - R2[1] || (R2[1] = withKeys((B2) => h3.$emit("toggle"), ["enter"])), - R2[2] || (R2[2] = withKeys((B2) => h3.$emit("toggle"), ["space"])) - ], - role: "button", - "aria-label": e2.ariaLabel, - tabindex: "0", - ref_key: "elRef", - ref: f - }, [ - renderSlot(h3.$slots, "default") - ], 40, Cr), - createVNode(Transition, { - name: unref(t2)(e2.showSelectionGrid), - css: unref(s3) - }, { - default: withCtx(() => [ - e2.showSelectionGrid ? (openBlock(), createBlock(Dt, mergeProps({ key: 0 }, { - modelValue: e2.modelValue, - items: e2.items, - disabledValues: e2.disabledValues, - minValue: e2.minValue, - maxValue: e2.maxValue, - escClose: e2.escClose, - type: e2.type, - arrowNavigation: e2.arrowNavigation, - textInput: e2.textInput, - autoApply: e2.autoApply, - ariaLabels: e2.ariaLabels, - hideNavigation: e2.hideNavigation - }, { - "header-refs": [], - "onUpdate:modelValue": R2[3] || (R2[3] = (B2) => h3.$emit("update:model-value", B2)), - onToggle: R2[4] || (R2[4] = (B2) => h3.$emit("toggle")) - }), createSlots({ - "button-icon": withCtx(() => [ - h3.$slots["calendar-icon"] ? renderSlot(h3.$slots, "calendar-icon", { key: 0 }) : createCommentVNode("", true), - h3.$slots["calendar-icon"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Et), { key: 1 })) - ]), - _: 2 - }, [ - h3.$slots[e2.slotName] ? { - name: "item", - fn: withCtx(({ item: B2 }) => [ - renderSlot(h3.$slots, e2.slotName, { item: B2 }) - ]), - key: "0" - } : void 0, - h3.$slots[e2.overlaySlot] ? { - name: "overlay", - fn: withCtx(() => [ - renderSlot(h3.$slots, e2.overlaySlot) - ]), - key: "1" - } : void 0, - h3.$slots[`${e2.overlaySlot}-header`] ? { - name: "header", - fn: withCtx(() => [ - renderSlot(h3.$slots, `${e2.overlaySlot}-header`) - ]), - key: "2" - } : void 0 - ]), 1040)) : createCommentVNode("", true) - ]), - _: 3 - }, 8, ["name", "css"]) - ], 64)); - } -}); -var Pr = { class: "dp__month_year_row" }; -var _r = { class: "dp__month_year_wrap" }; -var Nr = { class: "dp__month_picker_header" }; -var Rr = ["aria-label"]; -var Or = ["aria-label"]; -var Ir = ["aria-label"]; -var Br = defineComponent({ - __name: "MonthYearPicker", - props: { - month: { type: Number, default: 0 }, - year: { type: Number, default: 0 }, - instance: { type: Number, default: 0 }, - years: { type: Array, default: () => [] }, - months: { type: Array, default: () => [] }, - internalModelValue: { type: [Date, Array], default: null }, - ...nt - }, - emits: ["update-month-year", "month-year-select", "mount", "reset-flow", "overlay-closed"], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { defaults: s3 } = Ve(t2), { transitionName: f, showTransition: h3 } = Ft(s3.value.transitions), { buildMatrix: R2 } = tt(), { handleMonthYearChange: B2, isDisabled: T2, updateMonthYear: U } = Qa(t2, a3), M3 = ref(false), v = ref(false), A = ref([null, null, null, null]), J = ref(null), Z = ref(null), H3 = ref(null); - onMounted(() => { - a3("mount"); - }); - const C = (g) => ({ - get: () => t2[g], - set: (w2) => { - const y3 = g === "month" ? "year" : "month"; - a3("update-month-year", { [g]: w2, [y3]: t2[y3] }), a3("month-year-select", g === "year"), g === "month" ? r(true) : c2(true); - } - }), V = computed(C("month")), Y2 = computed(C("year")), q2 = (g) => { - const w2 = getYear(b2(g)); - return t2.year === w2; - }, z2 = computed(() => t2.monthPicker ? Array.isArray(t2.disabledDates) ? t2.disabledDates.map((g) => b2(g)).filter((g) => q2(g)).map((g) => getMonth(g)) : [] : []), ee = computed(() => (g) => { - const w2 = g === "month"; - return { - showSelectionGrid: (w2 ? M3 : v).value, - items: (w2 ? Q2 : I2).value, - disabledValues: s3.value.filters[w2 ? "months" : "years"].concat(z2.value), - minValue: (w2 ? X2 : S3).value, - maxValue: (w2 ? m3 : P).value, - headerRefs: w2 && t2.monthPicker ? [J.value, Z.value, H3.value] : [], - escClose: t2.escClose, - transitions: s3.value.transitions, - ariaLabels: s3.value.ariaLabels, - textInput: t2.textInput, - autoApply: t2.autoApply, - arrowNavigation: t2.arrowNavigation, - hideNavigation: t2.hideNavigation - }; - }), le = computed(() => (g) => ({ - month: t2.month, - year: t2.year, - items: g === "month" ? t2.months : t2.years, - instance: t2.instance, - updateMonthYear: U, - toggle: g === "month" ? r : c2 - })), S3 = computed(() => t2.minDate ? getYear(b2(t2.minDate)) : null), P = computed(() => t2.maxDate ? getYear(b2(t2.maxDate)) : null), X2 = computed(() => { - if (t2.minDate && S3.value) { - if (S3.value > t2.year) - return 12; - if (S3.value === t2.year) - return getMonth(b2(t2.minDate)); - } - return null; - }), m3 = computed(() => t2.maxDate && P.value ? P.value < t2.year ? -1 : P.value === t2.year ? getMonth(b2(t2.maxDate)) : null : null), N = computed(() => (t2.range || t2.multiDates) && t2.internalModelValue && (t2.monthPicker || t2.yearPicker) ? t2.internalModelValue : []), x2 = (g) => { - const w2 = [], y3 = (F) => F; - for (let F = 0; F < g.length; F += 3) { - const ie = [g[F], g[F + 1], g[F + 2]]; - w2.push(y3(ie)); - } - return w2; - }, oe = computed(() => { - const g = t2.months.find((w2) => w2.value === t2.month); - return g || { text: "", value: 0 }; - }), Q2 = computed(() => x2(t2.months)), I2 = computed(() => x2(t2.years)), l = computed(() => s3.value.multiCalendars ? t2.multiCalendarsSolo ? true : t2.instance === 0 : true), i2 = computed(() => s3.value.multiCalendars ? t2.multiCalendarsSolo ? true : t2.instance === s3.value.multiCalendars - 1 : true), r = (g = false) => { - D2(g), M3.value = !M3.value, M3.value || a3("overlay-closed"); - }, c2 = (g = false) => { - D2(g), v.value = !v.value, v.value || a3("overlay-closed"); - }, D2 = (g) => { - g || a3("reset-flow"); - }, L2 = (g = false) => { - T2.value(g) || a3("update-month-year", { - year: g ? t2.year + 1 : t2.year - 1, - month: t2.month, - fromNav: true - }); - }, O2 = (g, w2) => { - t2.arrowNavigation && (A.value[w2] = $e(g), R2(A.value, "monthYear")); - }; - return n({ - toggleMonthPicker: r, - toggleYearPicker: c2, - handleMonthYearChange: B2 - }), (g, w2) => { - var y3, F, ie, Pe, Ze; - return openBlock(), createElementBlock("div", Pr, [ - g.$slots["month-year"] ? renderSlot(g.$slots, "month-year", normalizeProps(mergeProps({ key: 0 }, { month: e2.month, year: e2.year, months: e2.months, years: e2.years, updateMonthYear: unref(U), handleMonthYearChange: unref(B2), instance: e2.instance }))) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - !g.monthPicker && !g.yearPicker ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ - unref(l) && !g.vertical ? (openBlock(), createBlock(tn, { - key: 0, - "aria-label": (y3 = unref(s3).ariaLabels) == null ? void 0 : y3.prevMonth, - disabled: unref(T2)(false), - onActivate: w2[0] || (w2[0] = (re) => unref(B2)(false)), - onSetRef: w2[1] || (w2[1] = (re) => O2(re, 0)) - }, { - default: withCtx(() => [ - g.$slots["arrow-left"] ? renderSlot(g.$slots, "arrow-left", { key: 0 }) : createCommentVNode("", true), - g.$slots["arrow-left"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(hn), { key: 1 })) - ]), - _: 3 - }, 8, ["aria-label", "disabled"])) : createCommentVNode("", true), - createBaseVNode("div", _r, [ - createVNode(Rn, mergeProps({ - type: "month", - "slot-name": "month-overlay-val", - "overlay-slot": "overlay-month", - "aria-label": (F = unref(s3).ariaLabels) == null ? void 0 : F.openMonthsOverlay, - modelValue: unref(V), - "onUpdate:modelValue": w2[2] || (w2[2] = (re) => isRef(V) ? V.value = re : null) - }, unref(ee)("month"), { - onToggle: r, - onSetRef: w2[3] || (w2[3] = (re) => O2(re, 1)) - }), createSlots({ - default: withCtx(() => [ - g.$slots.month ? renderSlot(g.$slots, "month", normalizeProps(mergeProps({ key: 0 }, unref(oe)))) : createCommentVNode("", true), - g.$slots.month ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(unref(oe).text), 1) - ], 64)) - ]), - _: 2 - }, [ - g.$slots["calendar-icon"] ? { - name: "calendar-icon", - fn: withCtx(() => [ - renderSlot(g.$slots, "calendar-icon") - ]), - key: "0" - } : void 0, - g.$slots["month-overlay-value"] ? { - name: "month-overlay-val", - fn: withCtx(({ item: re }) => [ - renderSlot(g.$slots, "month-overlay-value", { - text: re.text, - value: re.value - }) - ]), - key: "1" - } : void 0, - g.$slots["month-overlay"] ? { - name: "overlay-month", - fn: withCtx(() => [ - renderSlot(g.$slots, "month-overlay", normalizeProps(guardReactiveProps(unref(le)("month")))) - ]), - key: "2" - } : void 0, - g.$slots["month-overlay-header"] ? { - name: "overlay-month-header", - fn: withCtx(() => [ - renderSlot(g.$slots, "month-overlay-header", { toggle: r }) - ]), - key: "3" - } : void 0 - ]), 1040, ["aria-label", "modelValue"]), - createVNode(Rn, mergeProps({ - type: "year", - "slot-name": "year-overlay-val", - "overlay-slot": "overlay-year", - "aria-label": (ie = unref(s3).ariaLabels) == null ? void 0 : ie.openYearsOverlay, - modelValue: unref(Y2), - "onUpdate:modelValue": w2[4] || (w2[4] = (re) => isRef(Y2) ? Y2.value = re : null) - }, unref(ee)("year"), { - onToggle: c2, - onSetRef: w2[5] || (w2[5] = (re) => O2(re, 2)) - }), createSlots({ - default: withCtx(() => [ - g.$slots.year ? renderSlot(g.$slots, "year", { - key: 0, - year: e2.year - }) : createCommentVNode("", true), - g.$slots.year ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(e2.year), 1) - ], 64)) - ]), - _: 2 - }, [ - g.$slots["calendar-icon"] ? { - name: "calendar-icon", - fn: withCtx(() => [ - renderSlot(g.$slots, "calendar-icon") - ]), - key: "0" - } : void 0, - g.$slots["year-overlay-value"] ? { - name: "year-overlay-val", - fn: withCtx(({ item: re }) => [ - renderSlot(g.$slots, "year-overlay-value", { - text: re.text, - value: re.value - }) - ]), - key: "1" - } : void 0, - g.$slots["year-overlay"] ? { - name: "overlay-year", - fn: withCtx(() => [ - renderSlot(g.$slots, "year-overlay", normalizeProps(guardReactiveProps(unref(le)("year")))) - ]), - key: "2" - } : void 0, - g.$slots["year-overlay-header"] ? { - name: "overlay-year-header", - fn: withCtx(() => [ - renderSlot(g.$slots, "year-overlay-header", { toggle: c2 }) - ]), - key: "3" - } : void 0 - ]), 1040, ["aria-label", "modelValue"]) - ]), - unref(l) && g.vertical ? (openBlock(), createBlock(tn, { - key: 1, - "aria-label": (Pe = unref(s3).ariaLabels) == null ? void 0 : Pe.prevMonth, - disabled: unref(T2)(false), - onActivate: w2[6] || (w2[6] = (re) => unref(B2)(false)) - }, { - default: withCtx(() => [ - g.$slots["arrow-up"] ? renderSlot(g.$slots, "arrow-up", { key: 0 }) : createCommentVNode("", true), - g.$slots["arrow-up"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Un), { key: 1 })) - ]), - _: 3 - }, 8, ["aria-label", "disabled"])) : createCommentVNode("", true), - unref(i2) ? (openBlock(), createBlock(tn, { - key: 2, - ref: "rightIcon", - disabled: unref(T2)(true), - "aria-label": (Ze = unref(s3).ariaLabels) == null ? void 0 : Ze.nextMonth, - onActivate: w2[7] || (w2[7] = (re) => unref(B2)(true)), - onSetRef: w2[8] || (w2[8] = (re) => O2(re, 3)) - }, { - default: withCtx(() => [ - g.$slots[g.vertical ? "arrow-down" : "arrow-right"] ? renderSlot(g.$slots, g.vertical ? "arrow-down" : "arrow-right", { key: 0 }) : createCommentVNode("", true), - g.$slots[g.vertical ? "arrow-down" : "arrow-right"] ? createCommentVNode("", true) : (openBlock(), createBlock(resolveDynamicComponent(g.vertical ? unref(Hn) : unref(pn)), { key: 1 })) - ]), - _: 3 - }, 8, ["disabled", "aria-label"])) : createCommentVNode("", true) - ], 64)) : createCommentVNode("", true), - g.monthPicker ? (openBlock(), createBlock(Dt, mergeProps({ key: 1 }, unref(ee)("month"), { - "skip-active": g.range, - year: e2.year, - "multi-model-value": unref(N), - "month-picker": "", - modelValue: unref(V), - "onUpdate:modelValue": w2[17] || (w2[17] = (re) => isRef(V) ? V.value = re : null), - onToggle: r, - onSelected: w2[18] || (w2[18] = (re) => g.$emit("overlay-closed")) - }), createSlots({ - header: withCtx(() => { - var re, Xe, ze; - return [ - createBaseVNode("div", Nr, [ - createBaseVNode("div", { - class: "dp__month_year_col_nav", - tabindex: "0", - ref_key: "mpPrevIconRef", - ref: J, - onClick: w2[9] || (w2[9] = (_e) => L2(false)), - onKeydown: w2[10] || (w2[10] = withKeys((_e) => L2(false), ["enter"])) - }, [ - createBaseVNode("div", { - class: normalizeClass(["dp__inner_nav", { dp__inner_nav_disabled: unref(T2)(false) }]), - role: "button", - "aria-label": (re = unref(s3).ariaLabels) == null ? void 0 : re.prevMonth - }, [ - g.$slots["arrow-left"] ? renderSlot(g.$slots, "arrow-left", { key: 0 }) : createCommentVNode("", true), - g.$slots["arrow-left"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(hn), { key: 1 })) - ], 10, Rr) - ], 544), - createBaseVNode("div", { - class: "dp__pointer", - role: "button", - ref_key: "mpYearButtonRef", - ref: Z, - "aria-label": (Xe = unref(s3).ariaLabels) == null ? void 0 : Xe.openYearsOverlay, - tabindex: "0", - onClick: w2[11] || (w2[11] = () => c2(false)), - onKeydown: w2[12] || (w2[12] = withKeys(() => c2(false), ["enter"])) - }, [ - g.$slots.year ? renderSlot(g.$slots, "year", { - key: 0, - year: e2.year - }) : createCommentVNode("", true), - g.$slots.year ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(e2.year), 1) - ], 64)) - ], 40, Or), - createBaseVNode("div", { - class: "dp__month_year_col_nav", - tabindex: "0", - ref_key: "mpNextIconRef", - ref: H3, - onClick: w2[13] || (w2[13] = (_e) => L2(true)), - onKeydown: w2[14] || (w2[14] = withKeys((_e) => L2(true), ["enter"])) - }, [ - createBaseVNode("div", { - class: normalizeClass(["dp__inner_nav", { dp__inner_nav_disabled: unref(T2)(true) }]), - role: "button", - "aria-label": (ze = unref(s3).ariaLabels) == null ? void 0 : ze.nextMonth - }, [ - g.$slots["arrow-right"] ? renderSlot(g.$slots, "arrow-right", { key: 0 }) : createCommentVNode("", true), - g.$slots["arrow-right"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(pn), { key: 1 })) - ], 10, Ir) - ], 544) - ]), - createVNode(Transition, { - name: unref(f)(v.value), - css: unref(h3) - }, { - default: withCtx(() => [ - v.value ? (openBlock(), createBlock(Dt, mergeProps({ key: 0 }, unref(ee)("year"), { - modelValue: unref(Y2), - "onUpdate:modelValue": w2[15] || (w2[15] = (_e) => isRef(Y2) ? Y2.value = _e : null), - onToggle: c2, - onSelected: w2[16] || (w2[16] = (_e) => g.$emit("overlay-closed")) - }), createSlots({ - "button-icon": withCtx(() => [ - g.$slots["calendar-icon"] ? renderSlot(g.$slots, "calendar-icon", { key: 0 }) : createCommentVNode("", true), - g.$slots["calendar-icon"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Et), { key: 1 })) - ]), - _: 2 - }, [ - g.$slots["year-overlay-value"] ? { - name: "item", - fn: withCtx(({ item: _e }) => [ - renderSlot(g.$slots, "year-overlay-value", { - text: _e.text, - value: _e.value - }) - ]), - key: "0" - } : void 0 - ]), 1040, ["modelValue"])) : createCommentVNode("", true) - ]), - _: 3 - }, 8, ["name", "css"]) - ]; - }), - _: 2 - }, [ - g.$slots["month-overlay-value"] ? { - name: "item", - fn: withCtx(({ item: re }) => [ - renderSlot(g.$slots, "month-overlay-value", { - text: re.text, - value: re.value - }) - ]), - key: "0" - } : void 0 - ]), 1040, ["skip-active", "year", "multi-model-value", "modelValue"])) : createCommentVNode("", true), - g.yearPicker ? (openBlock(), createBlock(Dt, mergeProps({ key: 2 }, unref(ee)("year"), { - modelValue: unref(Y2), - "onUpdate:modelValue": w2[19] || (w2[19] = (re) => isRef(Y2) ? Y2.value = re : null), - "multi-model-value": unref(N), - "skip-active": g.range, - "skip-button-ref": "", - "year-picker": "", - onToggle: c2, - onSelected: w2[20] || (w2[20] = (re) => g.$emit("overlay-closed")) - }), createSlots({ _: 2 }, [ - g.$slots["year-overlay-value"] ? { - name: "item", - fn: withCtx(({ item: re }) => [ - renderSlot(g.$slots, "year-overlay-value", { - text: re.text, - value: re.value - }) - ]), - key: "0" - } : void 0 - ]), 1040, ["modelValue", "multi-model-value", "skip-active"])) : createCommentVNode("", true) - ], 64)) - ]); - }; - } -}); -var Yr = { - key: 0, - class: "dp__time_input" -}; -var Vr = ["aria-label", "onKeydown", "onClick"]; -var Er = ["aria-label", "data-test", "onKeydown", "onClick"]; -var Fr = ["aria-label", "onKeydown", "onClick"]; -var Lr = { key: 0 }; -var Ur = ["aria-label", "onKeydown"]; -var Hr = defineComponent({ - __name: "TimeInput", - props: { - hours: { type: Number, default: 0 }, - minutes: { type: Number, default: 0 }, - seconds: { type: Number, default: 0 }, - closeTimePickerBtn: { type: Object, default: null }, - order: { type: Number, default: 0 }, - ...nt - }, - emits: [ - "set-hours", - "set-minutes", - "update:hours", - "update:minutes", - "update:seconds", - "reset-flow", - "mounted", - "overlay-closed" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { setTimePickerElements: s3, setTimePickerBackRef: f } = tt(), { defaults: h3 } = Ve(t2), { transitionName: R2, showTransition: B2 } = Ft(h3.value.transitions), T2 = reactive({ - hours: false, - minutes: false, - seconds: false - }), U = ref("AM"), M3 = ref(null), v = ref([]); - onMounted(() => { - a3("mounted"); - }); - const A = computed(() => (l) => !!(t2.maxTime && t2.maxTime[l] && t2.maxTime[l] < t2[l] + +t2[`${l}Increment`])), J = computed(() => (l) => !!(t2.minTime && t2.minTime[l] && t2.minTime[l] > t2[l] - +t2[`${l}Increment`])), Z = (l, i2) => add(set(b2(), l), i2), H3 = (l, i2) => sub(set(b2(), l), i2), C = computed( - () => ({ - dp__time_col: true, - dp__time_col_reg: !t2.enableSeconds && t2.is24, - dp__time_col_reg_with_button: !t2.enableSeconds && !t2.is24, - dp__time_col_sec: t2.enableSeconds && t2.is24, - dp__time_col_sec_with_button: t2.enableSeconds && !t2.is24 - }) - ), V = computed(() => { - const l = [{ type: "hours" }, { type: "", separator: true }, { type: "minutes" }]; - return t2.enableSeconds ? l.concat([{ type: "", separator: true }, { type: "seconds" }]) : l; - }), Y2 = computed(() => V.value.filter((l) => !l.separator)), q2 = computed(() => (l) => { - if (l === "hours") { - const i2 = N(t2.hours); - return { text: i2 < 10 ? `0${i2}` : `${i2}`, value: i2 }; - } - return { text: t2[l] < 10 ? `0${t2[l]}` : `${t2[l]}`, value: t2[l] }; - }), z2 = (l) => { - const i2 = t2.is24 ? 24 : 12, r = l === "hours" ? i2 : 60, c2 = +t2[`${l}GridIncrement`], D2 = l === "hours" && !t2.is24 ? c2 : 0, L2 = []; - for (let O2 = D2; O2 < r; O2 += c2) - L2.push({ value: O2, text: O2 < 10 ? `0${O2}` : `${O2}` }); - return l === "hours" && !t2.is24 && L2.push({ value: 0, text: "12" }), Fa(L2); - }, ee = (l, i2) => { - const r = t2.minTime && t2.minTime[i2], c2 = t2.maxTime && t2.maxTime[i2]; - return r && c2 ? l < r || l > c2 : r ? l < r : c2 ? l > c2 : false; - }, le = computed(() => (l) => z2(l).flat().filter((r) => r).map((r) => r.value).filter((r) => ee(r, l))), S3 = (l) => t2[`no${l[0].toUpperCase() + l.slice(1)}Overlay`], P = (l) => { - S3(l) || (T2[l] = !T2[l], T2[l] || a3("overlay-closed")); - }, X2 = (l) => l === "hours" ? getHours : l === "minutes" ? getMinutes : getSeconds, m3 = (l, i2 = true) => { - const r = i2 ? Z : H3; - (i2 ? A.value(l) : J.value(l)) || a3( - `update:${l}`, - X2(l)(r({ [l]: +t2[l] }, { [l]: +t2[`${l}Increment`] })) - ); - }, N = (l) => t2.is24 ? l : (l >= 12 ? U.value = "PM" : U.value = "AM", Wa(l)), x2 = () => { - U.value === "PM" ? (U.value = "AM", a3("update:hours", t2.hours - 12)) : (U.value = "PM", a3("update:hours", t2.hours + 12)); - }, oe = (l) => { - T2[l] = true; - }, Q2 = (l, i2, r) => { - if (l && t2.arrowNavigation) { - Array.isArray(v.value[i2]) ? v.value[i2][r] = l : v.value[i2] = [l]; - const c2 = v.value.reduce( - (D2, L2) => L2.map((O2, g) => [...D2[g] || [], L2[g]]), - [] - ); - f(t2.closeTimePickerBtn), M3.value && (c2[1] = c2[1].concat(M3.value)), s3(c2, t2.order); - } - }, I2 = (l, i2) => l === "hours" && !t2.is24 ? a3(`update:${l}`, U.value === "PM" ? i2 + 12 : i2) : a3(`update:${l}`, i2); - return n({ openChildCmp: oe }), (l, i2) => { - var r; - return l.disabled ? createCommentVNode("", true) : (openBlock(), createElementBlock("div", Yr, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(V), (c2, D2) => { - var L2, O2, g; - return openBlock(), createElementBlock("div", { - key: D2, - class: normalizeClass(unref(C)) - }, [ - c2.separator ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ - createTextVNode(" : ") - ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createBaseVNode("div", { - class: normalizeClass({ - dp__inc_dec_button: true, - dp__inc_dec_button_disabled: unref(A)(c2.type) - }), - role: "button", - "data-test": "time-inc-btn", - "aria-label": (L2 = unref(h3).ariaLabels) == null ? void 0 : L2.incrementValue(c2.type), - tabindex: "0", - onKeydown: [ - withKeys((w2) => m3(c2.type), ["enter"]), - withKeys((w2) => m3(c2.type), ["space"]) - ], - onClick: (w2) => m3(c2.type), - ref_for: true, - ref: (w2) => Q2(w2, D2, 0) - }, [ - l.$slots["arrow-up"] ? renderSlot(l.$slots, "arrow-up", { key: 0 }) : createCommentVNode("", true), - l.$slots["arrow-up"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Un), { key: 1 })) - ], 42, Vr), - createBaseVNode("div", { - role: "button", - "aria-label": (O2 = unref(h3).ariaLabels) == null ? void 0 : O2.openTpOverlay(c2.type), - class: normalizeClass(S3(c2.type) ? "" : "dp__time_display"), - tabindex: "0", - "data-test": `${c2.type}-toggle-overlay-btn`, - onKeydown: [ - withKeys((w2) => P(c2.type), ["enter"]), - withKeys((w2) => P(c2.type), ["space"]) - ], - onClick: (w2) => P(c2.type), - ref_for: true, - ref: (w2) => Q2(w2, D2, 1) - }, [ - l.$slots[c2.type] ? renderSlot(l.$slots, c2.type, { - key: 0, - text: unref(q2)(c2.type).text, - value: unref(q2)(c2.type).value - }) : createCommentVNode("", true), - l.$slots[c2.type] ? createCommentVNode("", true) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(unref(q2)(c2.type).text), 1) - ], 64)) - ], 42, Er), - createBaseVNode("div", { - class: normalizeClass({ - dp__inc_dec_button: true, - dp__inc_dec_button_disabled: unref(J)(c2.type) - }), - role: "button", - "data-test": "time-dec-btn", - "aria-label": (g = unref(h3).ariaLabels) == null ? void 0 : g.decrementValue(c2.type), - tabindex: "0", - onKeydown: [ - withKeys((w2) => m3(c2.type, false), ["enter"]), - withKeys((w2) => m3(c2.type, false), ["space"]) - ], - onClick: (w2) => m3(c2.type, false), - ref_for: true, - ref: (w2) => Q2(w2, D2, 2) - }, [ - l.$slots["arrow-down"] ? renderSlot(l.$slots, "arrow-down", { key: 0 }) : createCommentVNode("", true), - l.$slots["arrow-down"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Hn), { key: 1 })) - ], 42, Fr) - ], 64)) - ], 2); - }), 128)), - l.is24 ? createCommentVNode("", true) : (openBlock(), createElementBlock("div", Lr, [ - l.$slots["am-pm-button"] ? renderSlot(l.$slots, "am-pm-button", { - key: 0, - toggle: x2, - value: U.value - }) : createCommentVNode("", true), - l.$slots["am-pm-button"] ? createCommentVNode("", true) : (openBlock(), createElementBlock("button", { - key: 1, - ref_key: "amPmButton", - ref: M3, - type: "button", - class: "dp__pm_am_button", - role: "button", - "aria-label": (r = unref(h3).ariaLabels) == null ? void 0 : r.amPmButton, - tabindex: "0", - onClick: x2, - onKeydown: [ - withKeys(withModifiers(x2, ["prevent"]), ["enter"]), - withKeys(withModifiers(x2, ["prevent"]), ["space"]) - ] - }, toDisplayString(U.value), 41, Ur)) - ])), - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(Y2), (c2, D2) => (openBlock(), createBlock(Transition, { - key: D2, - name: unref(R2)(T2[c2.type]), - css: unref(B2) - }, { - default: withCtx(() => [ - T2[c2.type] ? (openBlock(), createBlock(Dt, { - key: 0, - items: z2(c2.type), - "disabled-values": unref(h3).filters.times[c2.type].concat(unref(le)(c2.type)), - "esc-close": l.escClose, - "aria-labels": unref(h3).ariaLabels, - "hide-navigation": l.hideNavigation, - "onUpdate:modelValue": (L2) => I2(c2.type, L2), - onSelected: (L2) => P(c2.type), - onToggle: (L2) => P(c2.type), - onResetFlow: i2[0] || (i2[0] = (L2) => l.$emit("reset-flow")), - type: c2.type - }, createSlots({ - "button-icon": withCtx(() => [ - l.$slots["clock-icon"] ? renderSlot(l.$slots, "clock-icon", { key: 0 }) : createCommentVNode("", true), - l.$slots["clock-icon"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Ln), { key: 1 })) - ]), - _: 2 - }, [ - l.$slots[`${c2.type}-overlay-value`] ? { - name: "item", - fn: withCtx(({ item: L2 }) => [ - renderSlot(l.$slots, `${c2.type}-overlay-value`, { - text: L2.text, - value: L2.value - }) - ]), - key: "0" - } : void 0 - ]), 1032, ["items", "disabled-values", "esc-close", "aria-labels", "hide-navigation", "onUpdate:modelValue", "onSelected", "onToggle", "type"])) : createCommentVNode("", true) - ]), - _: 2 - }, 1032, ["name", "css"]))), 128)) - ])); - }; - } -}); -var Wr = ["aria-label"]; -var zr = { class: "dp__overlay_container dp__container_flex dp__time_picker_overlay_container" }; -var xr = { - key: 1, - class: "dp__overlay_row dp__flex_row" -}; -var Kr = ["aria-label"]; -var jr = defineComponent({ - __name: "TimePicker", - props: { - hours: { type: [Number, Array], default: 0 }, - minutes: { type: [Number, Array], default: 0 }, - seconds: { type: [Number, Array], default: 0 }, - internalModelValue: { type: [Date, Array], default: null }, - ...nt - }, - emits: [ - "update:hours", - "update:minutes", - "update:seconds", - "mount", - "reset-flow", - "overlay-opened", - "overlay-closed" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { buildMatrix: s3, setTimePicker: f } = tt(), h3 = useSlots(), { hideNavigationButtons: R2, defaults: B2 } = Ve(t2), { transitionName: T2, showTransition: U } = Ft(B2.value.transitions), M3 = ref(null), v = ref(null), A = ref([]), J = ref(null); - onMounted(() => { - a3("mount"), !t2.timePicker && t2.arrowNavigation ? s3([$e(M3.value)], "time") : f(true, t2.timePicker); - }); - const Z = computed(() => t2.range && t2.modelAuto ? jn(t2.internalModelValue) : true), H3 = ref(false), C = (m3) => ({ - hours: Array.isArray(t2.hours) ? t2.hours[m3] : t2.hours, - minutes: Array.isArray(t2.minutes) ? t2.minutes[m3] : t2.minutes, - seconds: Array.isArray(t2.seconds) ? t2.seconds[m3] : t2.seconds - }), V = computed(() => { - const m3 = []; - if (t2.range) - for (let N = 0; N < 2; N++) - m3.push(C(N)); - else - m3.push(C(0)); - return m3; - }), Y2 = (m3, N = false, x2 = "") => { - N || a3("reset-flow"), H3.value = m3, m3 && a3("overlay-opened"), t2.arrowNavigation && (f(m3), m3 || a3("overlay-closed")), nextTick(() => { - x2 !== "" && A.value[0] && A.value[0].openChildCmp(x2); - }); - }, q2 = computed(() => ({ - dp__button: true, - dp__button_bottom: t2.autoApply - })), z2 = it(h3, "timePicker"), ee = (m3, N, x2) => t2.range ? N === 0 ? [m3, V.value[1][x2]] : [V.value[0][x2], m3] : m3, le = (m3) => { - a3("update:hours", m3); - }, S3 = (m3) => { - a3("update:minutes", m3); - }, P = (m3) => { - a3("update:seconds", m3); - }, X2 = () => { - J.value && t2.arrowNavigation && J.value.focus({ preventScroll: true }); - }; - return n({ toggleTimePicker: Y2 }), (m3, N) => { - var x2; - return openBlock(), createElementBlock("div", null, [ - m3.timePicker ? createCommentVNode("", true) : withDirectives((openBlock(), createElementBlock("div", { - key: 0, - class: normalizeClass(unref(q2)), - role: "button", - "aria-label": (x2 = unref(B2).ariaLabels) == null ? void 0 : x2.openTimePicker, - tabindex: "0", - "data-test": "open-time-picker-btn", - ref_key: "openTimePickerBtn", - ref: M3, - onKeydown: [ - N[0] || (N[0] = withKeys((oe) => Y2(true), ["enter"])), - N[1] || (N[1] = withKeys((oe) => Y2(true), ["space"])) - ], - onClick: N[2] || (N[2] = (oe) => Y2(true)) - }, [ - m3.$slots["clock-icon"] ? renderSlot(m3.$slots, "clock-icon", { key: 0 }) : createCommentVNode("", true), - m3.$slots["clock-icon"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Ln), { key: 1 })) - ], 42, Wr)), [ - [vShow, !unref(R2)("time")] - ]), - createVNode(Transition, { - name: unref(T2)(H3.value), - css: unref(U) - }, { - default: withCtx(() => { - var oe; - return [ - H3.value || m3.timePicker ? (openBlock(), createElementBlock("div", { - key: 0, - class: "dp__overlay", - ref_key: "overlayRef", - ref: J, - tabindex: "0" - }, [ - createBaseVNode("div", zr, [ - m3.$slots["time-picker-overlay"] ? renderSlot(m3.$slots, "time-picker-overlay", { - key: 0, - hours: e2.hours, - minutes: e2.minutes, - seconds: e2.seconds, - setHours: le, - setMinutes: S3, - setSeconds: P - }) : createCommentVNode("", true), - m3.$slots["time-picker-overlay"] ? createCommentVNode("", true) : (openBlock(), createElementBlock("div", xr, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(V), (Q2, I2) => withDirectives((openBlock(), createBlock(Hr, mergeProps({ key: I2 }, { - ...m3.$props, - order: I2, - hours: Q2.hours, - minutes: Q2.minutes, - seconds: Q2.seconds, - closeTimePickerBtn: v.value, - disabled: I2 === 0 ? m3.fixedStart : m3.fixedEnd - }, { - ref_for: true, - ref_key: "timeInputRefs", - ref: A, - "onUpdate:hours": (l) => le(ee(l, I2, "hours")), - "onUpdate:minutes": (l) => S3(ee(l, I2, "minutes")), - "onUpdate:seconds": (l) => P(ee(l, I2, "seconds")), - onMounted: X2, - onOverlayClosed: X2 - }), createSlots({ _: 2 }, [ - renderList(unref(z2), (l, i2) => ({ - name: l, - fn: withCtx((r) => [ - renderSlot(m3.$slots, l, normalizeProps(guardReactiveProps(r))) - ]) - })) - ]), 1040, ["onUpdate:hours", "onUpdate:minutes", "onUpdate:seconds"])), [ - [vShow, I2 === 0 ? true : unref(Z)] - ])), 128)) - ])), - m3.timePicker ? createCommentVNode("", true) : withDirectives((openBlock(), createElementBlock("div", { - key: 2, - ref_key: "closeTimePickerBtn", - ref: v, - class: normalizeClass(unref(q2)), - role: "button", - "aria-label": (oe = unref(B2).ariaLabels) == null ? void 0 : oe.closeTimePicker, - tabindex: "0", - onKeydown: [ - N[3] || (N[3] = withKeys((Q2) => Y2(false), ["enter"])), - N[4] || (N[4] = withKeys((Q2) => Y2(false), ["space"])) - ], - onClick: N[5] || (N[5] = (Q2) => Y2(false)) - }, [ - m3.$slots["calendar-icon"] ? renderSlot(m3.$slots, "calendar-icon", { key: 0 }) : createCommentVNode("", true), - m3.$slots["calendar-icon"] ? createCommentVNode("", true) : (openBlock(), createBlock(unref(Et), { key: 1 })) - ], 42, Kr)), [ - [vShow, !unref(R2)("time")] - ]) - ]) - ], 512)) : createCommentVNode("", true) - ]; - }), - _: 3 - }, 8, ["name", "css"]) - ]); - }; - } -}); -var Gr = (e2, n) => { - const { isDisabled: a3, matchDate: t2, getWeekFromDate: s3 } = Ve(n), f = ref(null), h3 = ref(b2()), R2 = (r) => { - !r.current && n.hideOffsetDates || (f.value = r.value); - }, B2 = () => { - f.value = null; - }, T2 = (r) => Array.isArray(e2.value) && n.range && e2.value[0] && f.value ? r ? Oe(f.value, e2.value[0]) : Ce(f.value, e2.value[0]) : true, U = (r, c2) => { - const D2 = () => e2.value ? c2 ? e2.value[0] || null : e2.value[1] : null, L2 = e2.value && Array.isArray(e2.value) ? D2() : null; - return me(b2(r.value), L2); - }, M3 = (r) => { - const c2 = Array.isArray(e2.value) ? e2.value[0] : null; - return r ? !Ce(f.value || null, c2) : true; - }, v = (r, c2 = true) => (n.range || n.weekPicker) && Array.isArray(e2.value) ? n.hideOffsetDates && !r.current ? false : me(b2(r.value), e2.value[c2 ? 0 : 1]) : n.range ? U(r, c2) && M3(c2) || me(r.value, Array.isArray(e2.value) ? e2.value[0] : null) && T2(c2) : false, A = (r, c2, D2) => Array.isArray(e2.value) && e2.value[0] && e2.value.length === 1 ? r ? false : D2 ? Oe(e2.value[0], c2.value) : Ce(e2.value[0], c2.value) : false, J = (r) => !e2.value || n.hideOffsetDates && !r.current ? false : n.range ? n.modelAuto && Array.isArray(e2.value) ? me(r.value, e2.value[0] ? e2.value[0] : h3.value) : false : n.multiDates && Array.isArray(e2.value) ? e2.value.some((c2) => me(c2, r.value)) : me(r.value, e2.value ? e2.value : h3.value), Z = (r) => { - if (n.autoRange || n.weekPicker) { - if (f.value) { - if (n.hideOffsetDates && !r.current) - return false; - const c2 = addDays(f.value, +n.autoRange), D2 = s3(b2(f.value)); - return n.weekPicker ? me(D2[1], b2(r.value)) : me(c2, b2(r.value)); - } - return false; - } - return false; - }, H3 = (r) => { - if (n.autoRange || n.weekPicker) { - if (f.value) { - const c2 = addDays(f.value, +n.autoRange); - if (n.hideOffsetDates && !r.current) - return false; - const D2 = s3(b2(f.value)); - return n.weekPicker ? Oe(r.value, D2[0]) && Ce(r.value, D2[1]) : Oe(r.value, f.value) && Ce(r.value, c2); - } - return false; - } - return false; - }, C = (r) => { - if (n.autoRange || n.weekPicker) { - if (f.value) { - if (n.hideOffsetDates && !r.current) - return false; - const c2 = s3(b2(f.value)); - return n.weekPicker ? me(c2[0], r.value) : me(f.value, r.value); - } - return false; - } - return false; - }, V = (r) => Wn(e2.value, f.value, r.value), Y2 = () => n.modelAuto && Array.isArray(n.internalModelValue) ? !!n.internalModelValue[0] : false, q2 = () => n.modelAuto ? jn(n.internalModelValue) : true, z2 = (r) => { - if (Array.isArray(e2.value) && e2.value.length || n.weekPicker) - return false; - const c2 = n.range ? !v(r) && !v(r, false) : true; - return !a3(r.value) && !J(r) && !(!r.current && n.hideOffsetDates) && c2; - }, ee = (r) => n.range ? n.modelAuto ? Y2() && J(r) : false : J(r), le = (r) => n.highlight ? t2(r.value, n.highlight) : false, S3 = (r) => a3(r.value) && n.highlightDisabledDays === false, P = (r) => n.highlightWeekDays && n.highlightWeekDays.includes(r.value.getDay()), X2 = (r) => (n.range || n.weekPicker) && (!(n.multiCalendars > 0) || r.current) && q2() && !(!r.current && n.hideOffsetDates) && !J(r) ? V(r) : false, m3 = (r) => { - const { isRangeStart: c2, isRangeEnd: D2 } = oe(r), L2 = n.range ? c2 || D2 : false; - return { - dp__cell_offset: !r.current, - dp__pointer: !n.disabled && !(!r.current && n.hideOffsetDates) && !a3(r.value), - dp__cell_disabled: a3(r.value), - dp__cell_highlight: !S3(r) && (le(r) || P(r)) && !ee(r) && !L2, - dp__cell_highlight_active: !S3(r) && (le(r) || P(r)) && ee(r), - dp__today: !n.noToday && me(r.value, h3.value) && r.current - }; - }, N = (r) => ({ - dp__active_date: ee(r), - dp__date_hover: z2(r) - }), x2 = (r) => ({ - ...Q2(r), - ...I2(r), - dp__range_between_week: X2(r) && n.weekPicker - }), oe = (r) => { - const c2 = n.multiCalendars > 0 ? r.current && v(r) && q2() : v(r) && q2(), D2 = n.multiCalendars > 0 ? r.current && v(r, false) && q2() : v(r, false) && q2(); - return { isRangeStart: c2, isRangeEnd: D2 }; - }, Q2 = (r) => { - const { isRangeStart: c2, isRangeEnd: D2 } = oe(r); - return { - dp__range_start: c2, - dp__range_end: D2, - dp__range_between: X2(r) && !n.weekPicker, - dp__date_hover_start: A(z2(r), r, true), - dp__date_hover_end: A(z2(r), r, false) - }; - }, I2 = (r) => ({ - ...Q2(r), - dp__cell_auto_range: H3(r), - dp__cell_auto_range_start: C(r), - dp__cell_auto_range_end: Z(r) - }), l = (r) => n.range ? n.autoRange ? I2(r) : n.modelAuto ? { ...N(r), ...Q2(r) } : Q2(r) : n.weekPicker ? x2(r) : N(r); - return { - setHoverDate: R2, - clearHoverDate: B2, - getDayClassData: (r) => ({ - ...m3(r), - ...l(r), - [n.dayClass ? n.dayClass(r.value) : ""]: true, - [n.calendarCellClassName]: !!n.calendarCellClassName - }) - }; -}; -var Zr = ["id", "onKeydown"]; -var Xr = { - key: 0, - class: "dp__sidebar_left" -}; -var qr = { - key: 1, - class: "dp__preset_ranges" -}; -var Jr = ["onClick"]; -var Qr = { - key: 2, - class: "dp__sidebar_right" -}; -var el = { - key: 3, - class: "dp__now_wrap" -}; -var tl = defineComponent({ - __name: "DatepickerMenu", - props: { - openOnTop: { type: Boolean, default: false }, - internalModelValue: { type: [Date, Array], default: null }, - ...nt - }, - emits: [ - "close-picker", - "select-date", - "auto-apply", - "time-update", - "flow-step", - "update-month-year", - "invalid-select", - "update:internal-model-value", - "recalculate-position", - "invalid-fixed-range", - "tooltip-open", - "tooltip-close", - "time-picker-open" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, { setMenuFocused: s3, setShiftKey: f, control: h3 } = zn(), { getCalendarDays: R2, defaults: B2 } = Ve(t2), T2 = useSlots(), U = ref(null), M3 = reactive({ - timePicker: !!(!t2.enableTimePicker || t2.timePicker || t2.monthPicker), - monthYearInput: !!t2.timePicker, - calendar: false - }), v = ref([]), A = ref([]), J = ref(null), Z = ref(null), H3 = ref(false), C = ref(0); - onMounted(() => { - H3.value = true; - const o = $e(Z); - if (o && !t2.textInput && !t2.inline && (s3(true), le()), o) { - const k2 = (j) => { - ["action-row", "time-picker", "month-year"].some( - (de) => Object.keys(T2).includes(de) - ) || j.preventDefault(), j.stopImmediatePropagation(), j.stopPropagation(); - }; - o.addEventListener("pointerdown", k2), o.addEventListener("mousedown", k2); - } - }); - const { arrowRight: V, arrowLeft: Y2, arrowDown: q2, arrowUp: z2 } = tt(), ee = (o) => { - o || o === 0 ? A.value[o].triggerTransition( - N.value(o), - x2.value(o) - ) : A.value.forEach( - (k2, j) => k2.triggerTransition(N.value(j), x2.value(j)) - ); - }, le = () => { - const o = $e(Z); - o && o.focus({ preventScroll: true }); - }, S3 = () => { - var o; - (o = t2.flow) != null && o.length && C.value !== -1 && (C.value += 1, a3("flow-step", C.value), xt()); - }, P = () => { - C.value = -1; - }, { - calendars: X2, - modelValue: m3, - month: N, - year: x2, - time: oe, - updateTime: Q2, - updateMonthYear: I2, - selectDate: l, - getWeekNum: i2, - monthYearSelect: r, - handleScroll: c2, - handleArrow: D2, - handleSwipe: L2, - getMarker: O2, - selectCurrentDate: g, - presetDateRange: w2 - } = qa(t2, a3, S3, ee, C), { setHoverDate: y3, clearHoverDate: F, getDayClassData: ie } = Gr(m3, t2); - watch( - X2, - () => { - t2.openOnTop && setTimeout(() => { - a3("recalculate-position"); - }, 0); - }, - { deep: true } - ); - const Pe = it(T2, "calendar"), Ze = it(T2, "action"), re = it(T2, "timePicker"), Xe = it(T2, "monthYear"), ze = computed(() => t2.openOnTop ? "dp__arrow_bottom" : "dp__arrow_top"), _e = computed(() => Ua(t2.yearRange, t2.reverseYears)), at = computed(() => Ha(t2.locale, t2.monthNameFormat)), te = computed(() => (o) => R2(N.value(o), x2.value(o))), ge = computed( - () => B2.value.multiCalendars > 0 && t2.range ? [...Array(B2.value.multiCalendars).keys()] : [0] - ), ye = computed( - () => (o) => o === 1 - ), qe = computed(() => t2.monthPicker || t2.timePicker || t2.yearPicker), Be = computed( - () => ({ - dp__flex_display: B2.value.multiCalendars > 0 - }) - ), Tt = computed(() => ({ - dp__instance_calendar: B2.value.multiCalendars > 0 - })), Lt = computed(() => ({ - dp__menu_disabled: t2.disabled, - dp__menu_readonly: t2.readonly - })), Ut = computed( - () => (o) => At(te, o) - ), Ht = computed( - () => ({ - dp__menu: true, - dp__menu_index: !t2.inline, - dp__relative: t2.inline, - [t2.menuClassName]: !!t2.menuClassName - }) - ), At = (o, k2) => o.value(k2).map((j) => ({ - ...j, - days: j.days.map((de) => (de.marker = O2(de), de.classData = ie(de), de)) - })), yt = (o) => { - o.stopPropagation(), o.stopImmediatePropagation(); - }, Wt = () => { - t2.escClose && a3("close-picker"); - }, zt = (o, k2 = false) => { - l(o, k2), t2.spaceConfirm && a3("select-date"); - }, gt = (o) => { - var k2; - (k2 = t2.flow) != null && k2.length && (M3[o] = true, Object.keys(M3).filter((j) => !M3[j]).length || xt()); - }, Je = (o, k2, j, de, ...Ye) => { - if (t2.flow[C.value] === o) { - const G2 = de ? k2.value[0] : k2.value; - G2 && G2[j](...Ye); - } - }, xt = () => { - Je("month", v, "toggleMonthPicker", true, true), Je("year", v, "toggleYearPicker", true, true), Je("calendar", J, "toggleTimePicker", false, false, true), Je("time", J, "toggleTimePicker", false, true, true); - const o = t2.flow[C.value]; - (o === "hours" || o === "minutes" || o === "seconds") && Je(o, J, "toggleTimePicker", false, true, true, o); - }, ht = (o) => { - if (t2.arrowNavigation) { - if (o === "up") - return z2(); - if (o === "down") - return q2(); - if (o === "left") - return Y2(); - if (o === "right") - return V(); - } else - o === "left" || o === "up" ? D2("left", 0, o === "up") : D2("right", 0, o === "down"); - }, vn = (o) => { - f(o.shiftKey), !t2.disableMonthYearSelect && o.code === "Tab" && o.target.classList.contains("dp__menu") && h3.value.shiftKeyInMenu && (o.preventDefault(), o.stopImmediatePropagation(), a3("close-picker")); - }, u2 = (o) => { - v.value[0] && v.value[0].handleMonthYearChange(o); - }; - return n({ - updateMonthYear: I2 - }), (o, k2) => { - var j; - return openBlock(), createBlock(Transition, { - appear: "", - name: (j = unref(B2).transitions) == null ? void 0 : j.menuAppear, - mode: "out-in", - css: !!o.transitions - }, { - default: withCtx(() => { - var de, Ye; - return [ - createBaseVNode("div", { - id: o.uid ? `dp-menu-${o.uid}` : void 0, - tabindex: "0", - ref_key: "dpMenuRef", - ref: Z, - role: "dialog", - class: normalizeClass(unref(Ht)), - onMouseleave: k2[15] || (k2[15] = //@ts-ignore - (...G2) => unref(F) && unref(F)(...G2)), - onClick: yt, - onKeydown: [ - withKeys(Wt, ["esc"]), - k2[16] || (k2[16] = withKeys(withModifiers((G2) => ht("left"), ["prevent"]), ["left"])), - k2[17] || (k2[17] = withKeys(withModifiers((G2) => ht("up"), ["prevent"]), ["up"])), - k2[18] || (k2[18] = withKeys(withModifiers((G2) => ht("down"), ["prevent"]), ["down"])), - k2[19] || (k2[19] = withKeys(withModifiers((G2) => ht("right"), ["prevent"]), ["right"])), - vn - ] - }, [ - (o.disabled || o.readonly) && o.inline ? (openBlock(), createElementBlock("div", { - key: 0, - class: normalizeClass(unref(Lt)) - }, null, 2)) : createCommentVNode("", true), - !o.inline && !o.teleportCenter ? (openBlock(), createElementBlock("div", { - key: 1, - class: normalizeClass(unref(ze)) - }, null, 2)) : createCommentVNode("", true), - createBaseVNode("div", { - class: normalizeClass({ - dp__menu_content_wrapper: ((de = o.presetRanges) == null ? void 0 : de.length) || !!o.$slots["left-sidebar"] || !!o.$slots["right-sidebar"] - }) - }, [ - o.$slots["left-sidebar"] ? (openBlock(), createElementBlock("div", Xr, [ - renderSlot(o.$slots, "left-sidebar", normalizeProps(guardReactiveProps({ handleMonthYearChange: u2 }))) - ])) : createCommentVNode("", true), - (Ye = o.presetRanges) != null && Ye.length ? (openBlock(), createElementBlock("div", qr, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(o.presetRanges, (G2, xe) => (openBlock(), createElementBlock("div", { - key: xe, - style: normalizeStyle(G2.style || {}), - class: "dp__preset_range", - onClick: (ae) => unref(w2)(G2.range, !!G2.slot) - }, [ - G2.slot ? renderSlot(o.$slots, G2.slot, { - key: 0, - presetDateRange: unref(w2), - label: G2.label, - range: G2.range - }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - createTextVNode(toDisplayString(G2.label), 1) - ], 64)) - ], 12, Jr))), 128)) - ])) : createCommentVNode("", true), - createBaseVNode("div", { - class: "dp__instance_calendar", - ref_key: "calendarWrapperRef", - ref: U, - role: "document" - }, [ - createBaseVNode("div", { - class: normalizeClass(unref(Be)) - }, [ - (openBlock(true), createElementBlock(Fragment, null, renderList(unref(ge), (G2, xe) => (openBlock(), createElementBlock("div", { - key: G2, - class: normalizeClass(unref(Tt)) - }, [ - !o.disableMonthYearSelect && !o.timePicker ? (openBlock(), createBlock(Br, mergeProps({ - key: 0, - ref_for: true, - ref: (ae) => { - ae && (v.value[xe] = ae); - }, - months: unref(at), - years: unref(_e), - month: unref(N)(G2), - year: unref(x2)(G2), - instance: G2, - "internal-model-value": e2.internalModelValue - }, o.$props, { - onMount: k2[0] || (k2[0] = (ae) => gt("monthYearInput")), - onResetFlow: P, - onUpdateMonthYear: (ae) => unref(I2)(G2, ae), - onMonthYearSelect: unref(r), - onOverlayClosed: le - }), createSlots({ _: 2 }, [ - renderList(unref(Xe), (ae, Zn) => ({ - name: ae, - fn: withCtx((Kt) => [ - renderSlot(o.$slots, ae, normalizeProps(guardReactiveProps(Kt))) - ]) - })) - ]), 1040, ["months", "years", "month", "year", "instance", "internal-model-value", "onUpdateMonthYear", "onMonthYearSelect"])) : createCommentVNode("", true), - createVNode(Dr, mergeProps({ - ref_for: true, - ref: (ae) => { - ae && (A.value[xe] = ae); - }, - "specific-mode": unref(qe), - "get-week-num": unref(i2), - instance: G2, - "mapped-dates": unref(Ut)(G2), - month: unref(N)(G2), - year: unref(x2)(G2) - }, o.$props, { - "flow-step": C.value, - "onUpdate:flowStep": k2[1] || (k2[1] = (ae) => C.value = ae), - onSelectDate: (ae) => unref(l)(ae, !unref(ye)(G2)), - onHandleSpace: (ae) => zt(ae, !unref(ye)(G2)), - onSetHoverDate: k2[2] || (k2[2] = (ae) => unref(y3)(ae)), - onHandleScroll: (ae) => unref(c2)(ae, G2), - onHandleSwipe: (ae) => unref(L2)(ae, G2), - onMount: k2[3] || (k2[3] = (ae) => gt("calendar")), - onResetFlow: P, - onTooltipOpen: k2[4] || (k2[4] = (ae) => o.$emit("tooltip-open", ae)), - onTooltipClose: k2[5] || (k2[5] = (ae) => o.$emit("tooltip-close", ae)) - }), createSlots({ _: 2 }, [ - renderList(unref(Pe), (ae, Zn) => ({ - name: ae, - fn: withCtx((Kt) => [ - renderSlot(o.$slots, ae, normalizeProps(guardReactiveProps({ ...Kt }))) - ]) - })) - ]), 1040, ["specific-mode", "get-week-num", "instance", "mapped-dates", "month", "year", "flow-step", "onSelectDate", "onHandleSpace", "onHandleScroll", "onHandleSwipe"]) - ], 2))), 128)) - ], 2), - createBaseVNode("div", null, [ - o.$slots["time-picker"] ? renderSlot(o.$slots, "time-picker", normalizeProps(mergeProps({ key: 0 }, { time: unref(oe), updateTime: unref(Q2) }))) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ - o.enableTimePicker && !o.monthPicker && !o.weekPicker ? (openBlock(), createBlock(jr, mergeProps({ - key: 0, - ref_key: "timePickerRef", - ref: J, - hours: unref(oe).hours, - minutes: unref(oe).minutes, - seconds: unref(oe).seconds, - "internal-model-value": e2.internalModelValue - }, o.$props, { - onMount: k2[6] || (k2[6] = (G2) => gt("timePicker")), - "onUpdate:hours": k2[7] || (k2[7] = (G2) => unref(Q2)(G2)), - "onUpdate:minutes": k2[8] || (k2[8] = (G2) => unref(Q2)(G2, false)), - "onUpdate:seconds": k2[9] || (k2[9] = (G2) => unref(Q2)(G2, false, true)), - onResetFlow: P, - onOverlayClosed: le, - onOverlayOpened: k2[10] || (k2[10] = (G2) => o.$emit("time-picker-open", G2)) - }), createSlots({ _: 2 }, [ - renderList(unref(re), (G2, xe) => ({ - name: G2, - fn: withCtx((ae) => [ - renderSlot(o.$slots, G2, normalizeProps(guardReactiveProps(ae))) - ]) - })) - ]), 1040, ["hours", "minutes", "seconds", "internal-model-value"])) : createCommentVNode("", true) - ], 64)) - ]) - ], 512), - o.$slots["right-sidebar"] ? (openBlock(), createElementBlock("div", Qr, [ - renderSlot(o.$slots, "right-sidebar", normalizeProps(guardReactiveProps({ handleMonthYearChange: u2 }))) - ])) : createCommentVNode("", true), - o.showNowButton ? (openBlock(), createElementBlock("div", el, [ - o.$slots["now-button"] ? renderSlot(o.$slots, "now-button", { - key: 0, - selectCurrentDate: unref(g) - }) : createCommentVNode("", true), - o.$slots["now-button"] ? createCommentVNode("", true) : (openBlock(), createElementBlock("button", { - key: 1, - type: "button", - role: "button", - class: "dp__now_button", - onClick: k2[11] || (k2[11] = //@ts-ignore - (...G2) => unref(g) && unref(g)(...G2)) - }, toDisplayString(o.nowButtonLabel), 1)) - ])) : createCommentVNode("", true) - ], 2), - !o.autoApply || o.keepActionRow ? (openBlock(), createBlock(mr, mergeProps({ - key: 2, - "menu-mount": H3.value, - "internal-model-value": e2.internalModelValue - }, o.$props, { - onClosePicker: k2[12] || (k2[12] = (G2) => o.$emit("close-picker")), - onSelectDate: k2[13] || (k2[13] = (G2) => o.$emit("select-date")), - onInvalidSelect: k2[14] || (k2[14] = (G2) => o.$emit("invalid-select")) - }), createSlots({ _: 2 }, [ - renderList(unref(Ze), (G2, xe) => ({ - name: G2, - fn: withCtx((ae) => [ - renderSlot(o.$slots, G2, normalizeProps(guardReactiveProps({ ...ae }))) - ]) - })) - ]), 1040, ["menu-mount", "internal-model-value"])) : createCommentVNode("", true) - ], 42, Zr) - ]; - }), - _: 3 - }, 8, ["name", "css"]); - }; - } -}); -var nl = typeof window < "u" ? window : void 0; -var nn = () => { -}; -var al = (e2) => getCurrentScope() ? (onScopeDispose(e2), true) : false; -var rl = (e2, n, a3, t2) => { - if (!e2) - return nn; - let s3 = nn; - const f = watch( - () => unref(e2), - (R2) => { - s3(), R2 && (R2.addEventListener(n, a3, t2), s3 = () => { - R2.removeEventListener(n, a3, t2), s3 = nn; - }); - }, - { immediate: true, flush: "post" } - ), h3 = () => { - f(), s3(); - }; - return al(h3), h3; -}; -var ll = (e2, n, a3, t2 = {}) => { - const { window: s3 = nl, event: f = "pointerdown" } = t2; - return s3 ? rl(s3, f, (R2) => { - const B2 = $e(e2), T2 = $e(n); - !B2 || !T2 || B2 === R2.target || R2.composedPath().includes(B2) || R2.composedPath().includes(T2) || a3(R2); - }, { passive: true }) : void 0; -}; -var ol = defineComponent({ - __name: "VueDatePicker", - props: { - ...nt - }, - emits: [ - "update:model-value", - "text-submit", - "closed", - "cleared", - "open", - "focus", - "blur", - "internal-model-change", - "recalculate-position", - "flow-step", - "update-month-year", - "invalid-select", - "invalid-fixed-range", - "tooltip-open", - "tooltip-close", - "time-picker-open" - ], - setup(e2, { expose: n, emit: a3 }) { - const t2 = e2, s3 = useSlots(), f = ref(false), h3 = toRef(t2, "modelValue"), R2 = toRef(t2, "timezone"), B2 = ref(null), T2 = ref(null), U = ref(false), M3 = ref(null), { setMenuFocused: v, setShiftKey: A } = zn(), { clearArrowNav: J } = tt(), { validateDate: Z, isValidTime: H3 } = Ve(t2); - onMounted(() => { - X2(t2.modelValue), t2.inline || (le(M3.value).addEventListener("scroll", l), window.addEventListener("resize", i2)), t2.inline && (f.value = true); - }), onUnmounted(() => { - if (!t2.inline) { - const te = le(M3.value); - te && te.removeEventListener("scroll", l), window.removeEventListener("resize", i2); - } - }); - const C = it(s3, "all", t2.presetRanges), V = it(s3, "input"); - watch( - [h3, R2], - () => { - X2(h3.value); - }, - { deep: true } - ); - const { openOnTop: Y2, menuPosition: q2, setMenuPosition: z2, setInitialPosition: ee, getScrollableParent: le } = er( - B2, - T2, - a3, - t2 - ), { - inputValue: S3, - internalModelValue: P, - parseExternalModelValue: X2, - emitModelValue: m3, - formatInputValue: N, - checkBeforeEmit: x2 - } = Ja(a3, t2, U), oe = computed( - () => ({ - dp__main: true, - dp__theme_dark: t2.dark, - dp__theme_light: !t2.dark, - dp__flex_display: t2.inline, - dp__flex_display_with_input: t2.inlineWithInput - }) - ), Q2 = computed(() => t2.dark ? "dp__theme_dark" : "dp__theme_light"), I2 = computed(() => t2.teleport ? { - to: typeof t2.teleport == "boolean" ? "body" : t2.teleport, - disabled: t2.inline - } : { class: "dp__outer_menu_wrap" }), l = () => { - f.value && (t2.closeOnScroll ? F() : z2()); - }, i2 = () => { - f.value && z2(); - }, r = () => { - !t2.disabled && !t2.readonly && (ee(), f.value = true, nextTick().then(() => { - z2(), f.value && a3("open"); - }), f.value || y3(), X2(t2.modelValue)); - }, c2 = () => { - S3.value = "", y3(), a3("update:model-value", null), a3("cleared"), F(); - }, D2 = () => { - const te = P.value; - return !te || !Array.isArray(te) && Z(te) ? true : Array.isArray(te) ? te.length === 2 && Z(te[0]) && Z(te[1]) ? true : Z(te[0]) : false; - }, L2 = () => { - x2() && D2() ? (m3(), F()) : a3("invalid-select", P.value); - }, O2 = (te) => { - g(), m3(), t2.closeOnAutoApply && !te && F(); - }, g = () => { - T2.value && t2.textInput && T2.value.setParsedDate(P.value); - }, w2 = (te = false) => { - t2.autoApply && H3(P.value) && D2() && (t2.range && Array.isArray(P.value) ? (t2.partialRange || P.value.length === 2) && O2(te) : O2(te)); - }, y3 = () => { - t2.textInput || (P.value = null); - }, F = () => { - t2.inline || (f.value && (f.value = false, v(false), A(false), J(), a3("closed"), ee(), S3.value && X2(h3.value)), y3()); - }, ie = (te, ge) => { - if (!te) { - P.value = null; - return; - } - P.value = te, ge && (L2(), a3("text-submit")); - }, Pe = () => { - t2.autoApply && H3(P.value) && m3(), g(); - }, Ze = () => f.value ? F() : r(), re = (te) => { - P.value = te; - }, Xe = () => { - t2.textInput && (U.value = true, N()), a3("focus"); - }, ze = () => { - t2.textInput && (U.value = false, X2(t2.modelValue)), a3("blur"); - }, _e = (te) => { - B2.value && B2.value.updateMonthYear(0, { - month: Cn(te.month), - year: Cn(te.year) - }); - }, at = (te) => { - X2(te || t2.modelValue); - }; - return ll( - B2, - T2, - t2.onClickOutside ? () => t2.onClickOutside(D2) : F - ), n({ - closeMenu: F, - selectDate: L2, - clearValue: c2, - openMenu: r, - onScroll: l, - formatInputValue: N, - // exposed for testing purposes - updateInternalModelValue: re, - // modify internal modelValue - setMonthYear: _e, - parseModel: at - }), (te, ge) => (openBlock(), createElementBlock("div", { - class: normalizeClass(unref(oe)), - ref_key: "pickerWrapperRef", - ref: M3 - }, [ - createVNode(ir, mergeProps({ - ref_key: "inputRef", - ref: T2, - "is-menu-open": f.value, - "input-value": unref(S3), - "onUpdate:inputValue": ge[0] || (ge[0] = (ye) => isRef(S3) ? S3.value = ye : null) - }, te.$props, { - onClear: c2, - onOpen: r, - onSetInputDate: ie, - onSetEmptyDate: unref(m3), - onSelectDate: L2, - onToggle: Ze, - onClose: F, - onFocus: Xe, - onBlur: ze - }), createSlots({ _: 2 }, [ - renderList(unref(V), (ye, qe) => ({ - name: ye, - fn: withCtx((Be) => [ - renderSlot(te.$slots, ye, normalizeProps(guardReactiveProps(Be))) - ]) - })) - ]), 1040, ["is-menu-open", "input-value", "onSetEmptyDate"]), - f.value ? (openBlock(), createBlock(resolveDynamicComponent(te.teleport ? Teleport : "div"), normalizeProps(mergeProps({ key: 0 }, unref(I2))), { - default: withCtx(() => [ - f.value ? (openBlock(), createBlock(tl, mergeProps({ - key: 0, - ref_key: "dpMenuRef", - ref: B2, - class: unref(Q2), - style: unref(q2), - "open-on-top": unref(Y2) - }, te.$props, { - "internal-model-value": unref(P), - "onUpdate:internalModelValue": ge[1] || (ge[1] = (ye) => isRef(P) ? P.value = ye : null), - onClosePicker: F, - onSelectDate: L2, - onAutoApply: w2, - onTimeUpdate: Pe, - onFlowStep: ge[2] || (ge[2] = (ye) => te.$emit("flow-step", ye)), - onUpdateMonthYear: ge[3] || (ge[3] = (ye) => te.$emit("update-month-year", ye)), - onInvalidSelect: ge[4] || (ge[4] = (ye) => te.$emit("invalid-select", unref(P))), - onInvalidFixedRange: ge[5] || (ge[5] = (ye) => te.$emit("invalid-fixed-range", ye)), - onRecalculatePosition: unref(z2), - onTooltipOpen: ge[6] || (ge[6] = (ye) => te.$emit("tooltip-open", ye)), - onTooltipClose: ge[7] || (ge[7] = (ye) => te.$emit("tooltip-close", ye)), - onTimePickerOpen: ge[8] || (ge[8] = (ye) => te.$emit("time-picker-open", ye)) - }), createSlots({ _: 2 }, [ - renderList(unref(C), (ye, qe) => ({ - name: ye, - fn: withCtx((Be) => [ - renderSlot(te.$slots, ye, normalizeProps(guardReactiveProps({ ...Be }))) - ]) - })) - ]), 1040, ["class", "style", "open-on-top", "internal-model-value", "onRecalculatePosition"])) : createCommentVNode("", true) - ]), - _: 3 - }, 16)) : createCommentVNode("", true) - ], 2)); - } -}); -var Gn = (() => { - const e2 = ol; - return e2.install = (n) => { - n.component("Vue3DatePicker", e2); - }, e2; -})(); -var sl = Object.freeze(Object.defineProperty({ - __proto__: null, - default: Gn -}, Symbol.toStringTag, { value: "Module" })); -Object.entries(sl).forEach(([e2, n]) => { - e2 !== "default" && (Gn[e2] = n); -}); -export { - Gn as default -}; -//# sourceMappingURL=@vuepic_vue-datepicker.js.map diff --git a/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js.map b/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js.map deleted file mode 100644 index fe4e1eed5..000000000 --- a/docs/.vitepress/cache/deps/@vuepic_vue-datepicker.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../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/addDays/index.js", "../../../../node_modules/date-fns/esm/addMonths/index.js", "../../../../node_modules/date-fns/esm/add/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/startOfDay/index.js", "../../../../node_modules/date-fns/esm/differenceInCalendarDays/index.js", "../../../../node_modules/date-fns/esm/addYears/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/eachDayOfInterval/index.js", "../../../../node_modules/date-fns/esm/endOfWeek/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/getDay/index.js", "../../../../node_modules/date-fns/esm/getDaysInMonth/index.js", "../../../../node_modules/date-fns/esm/getHours/index.js", "../../../../node_modules/date-fns/esm/getISOWeek/index.js", "../../../../node_modules/date-fns/esm/getMinutes/index.js", "../../../../node_modules/date-fns/esm/getMonth/index.js", "../../../../node_modules/date-fns/esm/getOverlappingDaysInIntervals/index.js", "../../../../node_modules/date-fns/esm/getSeconds/index.js", "../../../../node_modules/date-fns/esm/getWeekYear/index.js", "../../../../node_modules/date-fns/esm/startOfWeekYear/index.js", "../../../../node_modules/date-fns/esm/getWeek/index.js", "../../../../node_modules/date-fns/esm/getYear/index.js", "../../../../node_modules/date-fns/esm/isAfter/index.js", "../../../../node_modules/date-fns/esm/isBefore/index.js", "../../../../node_modules/date-fns/esm/isEqual/index.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/date-fns/esm/subDays/index.js", "../../../../node_modules/date-fns/esm/parseISO/index.js", "../../../../node_modules/date-fns/esm/setMonth/index.js", "../../../../node_modules/date-fns/esm/set/index.js", "../../../../node_modules/date-fns/esm/setHours/index.js", "../../../../node_modules/date-fns/esm/setMilliseconds/index.js", "../../../../node_modules/date-fns/esm/setMinutes/index.js", "../../../../node_modules/date-fns/esm/setSeconds/index.js", "../../../../node_modules/date-fns/esm/setYear/index.js", "../../../../node_modules/date-fns/esm/subMonths/index.js", "../../../../node_modules/date-fns/esm/sub/index.js", "../../../../node_modules/date-fns/esm/subYears/index.js", "../../../../node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js"], - "sourcesContent": ["export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\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}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\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 */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\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\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\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 addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days 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 days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\n\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n date.setDate(date.getDate() + amount);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months 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 months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\n\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n\n var dayOfMonth = date.getDate(); // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport addDays from \"../addDays/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport default function add(dirtyDate, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0; // Add years and months\n\n var date = toDate(dirtyDate);\n var dateWithMonths = months || years ? addMonths(date, months + years * 12) : date; // Add weeks and days\n\n var dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths; // Add days, hours, minutes and seconds\n\n var minutesToAdd = minutes + hours * 60;\n var secondsToAdd = seconds + minutesToAdd * 60;\n var msToAdd = secondsToAdd * 1000;\n var finalDate = new Date(dateWithDays.getTime() + msToAdd);\n return finalDate;\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 */\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 */\n\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\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 */\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 */\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\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 */\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}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}", "import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\n\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight); // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years 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 years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\n\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}", "/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\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 */\n\nexport var daysInYear = 365.2425;\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInMinute = 60000;\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInHour = 3600000;\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\n\nexport var millisecondsInSecond = 1000;\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minTime = -maxTime;\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var minutesInHour = 60;\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInQuarter = 3;\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var monthsInYear = 12;\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var quartersInYear = 4;\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInHour = 3600;\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMinute = 60;\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInDay = secondsInHour * 24;\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInWeek = secondsInDay * 7;\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInYear = secondsInDay * daysInYear;\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInMonth = secondsInYear / 12;\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\n\nexport var secondsInQuarter = secondsInMonth * 3;", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\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 */\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 */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @param {Interval} interval - the interval. See [Interval]{@link https://date-fns.org/docs/Interval}\n * @param {Object} [options] - an object with options.\n * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1.\n * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.step` must be a number greater than 1\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 * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\n\nexport default function eachDayOfInterval(dirtyInterval, options) {\n var _options$step;\n\n requiredArgs(1, arguments);\n var interval = dirtyInterval || {};\n var startDate = toDate(interval.start);\n var endDate = toDate(interval.end);\n var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(startDate.getTime() <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var dates = [];\n var currentDate = startDate;\n currentDate.setHours(0, 0, 0, 0);\n var step = Number((_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1);\n if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1');\n\n while (currentDate.getTime() <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setDate(currentDate.getDate() + step);\n currentDate.setHours(0, 0, 0, 0);\n }\n\n return dates;\n}", "import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end 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 end 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 end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return 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 */\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\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(); // 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\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\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\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\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); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\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\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\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(); // 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\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\n while (output.length < targetLength) {\n output = '0' + output;\n }\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 */\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 var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\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\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaa':\n return dayPeriodEnumValue;\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\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/*\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 */\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\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\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\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(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\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); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\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\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\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\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\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\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\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\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\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\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\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\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\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\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\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\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\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\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\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\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\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\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\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\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\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\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\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\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\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\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\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\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\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\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\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\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\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\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\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\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\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\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\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\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\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\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\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\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\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\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\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\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\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\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\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\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\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\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\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\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\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\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};\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\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\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\n return formatTimezone(offset, dirtyDelimiter);\n}\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}\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\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\n\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\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\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\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};\n\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\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\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\n return result;\n};\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};\n\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\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\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\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @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\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}; // 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.\n\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};\n\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber); // 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\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\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\n if (!matchResult) {\n return null;\n }\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}\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\n return undefined;\n}\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\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/**\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\n /* Sunday */\n ,\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\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\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\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); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\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\n\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\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\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\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\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\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\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 * @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\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\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain localize.formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\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\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\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\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\n var milliseconds = dateRight.getTime() - dateLeft.getTime();\n var minutes = milliseconds / MILLISECONDS_IN_MINUTE;\n var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft); // Use DST-normalized difference in minutes for years, months and days;\n // use regular difference in minutes for hours, minutes and seconds.\n\n var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE;\n var defaultUnit = options === null || options === void 0 ? void 0 : options.unit;\n var unit;\n\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 } // 0 up to 60 seconds\n\n\n if (unit === 'second') {\n var seconds = roundingMethodFn(milliseconds / 1000);\n return locale.formatDistance('xSeconds', seconds, localizeOptions); // 1 up to 60 mins\n } else if (unit === 'minute') {\n var roundedMinutes = roundingMethodFn(minutes);\n return locale.formatDistance('xMinutes', roundedMinutes, localizeOptions); // 1 up to 24 hours\n } else if (unit === 'hour') {\n var hours = roundingMethodFn(minutes / 60);\n return locale.formatDistance('xHours', hours, localizeOptions); // 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); // 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); // 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\n throw new RangeError(\"unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'\");\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\n\nexport default function getDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\n\nexport default function getDaysInMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\n\nexport default function getHours(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var hours = date.getHours();\n return hours;\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 * @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 */\n\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime(); // 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\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\n\nexport default function getMinutes(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\n\nexport default function getMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n return month;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000;\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(); // Throw an exception if start date is after end date or if any date is `Invalid Date`\n\n if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) {\n throw new RangeError('Invalid interval');\n }\n\n var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n\n if (!isOverlapping) {\n return 0;\n }\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}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\n\nexport default function getSeconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport 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 getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given 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 * @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 * @returns {Number} the local week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\n\nexport default function getWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\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); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\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 getWeekYear from \"../getWeekYear/index.js\";\nimport startOfWeek from \"../startOfWeek/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 startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\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 * @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 * @returns {Date} the start of a week-numbering year\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\n\nexport default function startOfWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n\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 = getWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n var date = startOfWeek(firstWeek, options);\n return date;\n}", "import startOfWeek from \"../startOfWeek/index.js\";\nimport startOfWeekYear from \"../startOfWeekYear/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering\n *\n * @param {Date|Number} date - the given 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 * @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 * @returns {Number} the week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport default function getWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfWeek(date, options).getTime() - startOfWeekYear(date, options).getTime(); // 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\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\n\nexport default function getYear(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getFullYear();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\n\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\n\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}", "import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\n\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n\n _defineProperty(this, \"subPriority\", 0);\n }\n\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n\n var _super = _createSuper(ValueSetter);\n\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n\n _classCallCheck(this, ValueSetter);\n\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n\n return _this;\n }\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\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n\n function DateToSystemTimezoneSetter() {\n var _this2;\n\n _classCallCheck(this, DateToSystemTimezoneSetter);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n\n return _this2;\n }\n\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\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\n return DateToSystemTimezoneSetter;\n}(Setter);", "function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n }\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\n if (!result) {\n return null;\n }\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\n return Parser;\n}();", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n\n var _super = _createSuper(EraParser);\n\n function EraParser() {\n var _this;\n\n _classCallCheck(this, EraParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n\n return _this;\n }\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\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\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\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 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 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\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\n if (!matchResult) {\n return null;\n }\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\n if (!matchResult) {\n return null;\n } // Input is 'Z'\n\n\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\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\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n\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\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n\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\n case 'evening':\n return 17;\n\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n\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; // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n\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\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(YearParser);\n\n function YearParser() {\n var _this;\n\n _classCallCheck(this, YearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n\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\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\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\n return YearParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(LocalWeekYearParser);\n\n function LocalWeekYearParser() {\n var _this;\n\n _classCallCheck(this, LocalWeekYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n\n return _this;\n }\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\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n\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\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\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\n return LocalWeekYearParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\n\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n\n var _super = _createSuper(ISOWeekYearParser);\n\n function ISOWeekYearParser() {\n var _this;\n\n _classCallCheck(this, ISOWeekYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\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\n return ISOWeekYearParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n\n var _super = _createSuper(ExtendedYearParser);\n\n function ExtendedYearParser() {\n var _this;\n\n _classCallCheck(this, ExtendedYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\n\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\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\n return ExtendedYearParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n\n var _super = _createSuper(QuarterParser);\n\n function QuarterParser() {\n var _this;\n\n _classCallCheck(this, QuarterParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\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\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\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\n return QuarterParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n\n var _super = _createSuper(StandAloneQuarterParser);\n\n function StandAloneQuarterParser() {\n var _this;\n\n _classCallCheck(this, StandAloneQuarterParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\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\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\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\n return StandAloneQuarterParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(MonthParser);\n\n function MonthParser() {\n var _this;\n\n _classCallCheck(this, MonthParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n\n return _this;\n }\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\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n\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\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\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\n return MonthParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(StandAloneMonthParser);\n\n function StandAloneMonthParser() {\n var _this;\n\n _classCallCheck(this, StandAloneMonthParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n\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\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\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\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}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n\n var _super = _createSuper(LocalWeekParser);\n\n function LocalWeekParser() {\n var _this;\n\n _classCallCheck(this, LocalWeekParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n\n return _this;\n }\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\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\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\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}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n\n var _super = _createSuper(ISOWeekParser);\n\n function ISOWeekParser() {\n var _this;\n\n _classCallCheck(this, ISOWeekParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\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\n return ISOWeekParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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]; // Day of the month\n\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n\n var _super = _createSuper(DateParser);\n\n function DateParser() {\n var _this;\n\n _classCallCheck(this, DateParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\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\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\n return DateParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(DayOfYearParser);\n\n function DayOfYearParser() {\n var _this;\n\n _classCallCheck(this, DayOfYearParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\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\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\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\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\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}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\n\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n\n var _super = _createSuper(DayParser);\n\n function DayParser() {\n var _this;\n\n _classCallCheck(this, DayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\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\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\n return DayParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\n\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n\n var _super = _createSuper(LocalDayParser);\n\n function LocalDayParser() {\n var _this;\n\n _classCallCheck(this, LocalDayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n\n return _this;\n }\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\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n\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\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\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\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\n return LocalDayParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\n\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n\n var _super = _createSuper(StandAloneLocalDayParser);\n\n function StandAloneLocalDayParser() {\n var _this;\n\n _classCallCheck(this, StandAloneLocalDayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n\n return _this;\n }\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\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n\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\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\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\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\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\n if (day % 7 === 0) {\n day = day - 7;\n }\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}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\n\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n\n var _super = _createSuper(ISODayParser);\n\n function ISODayParser() {\n var _this;\n\n _classCallCheck(this, ISODayParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n\n return _this;\n }\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\n return value;\n };\n\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n\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\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n\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\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\n return ISODayParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n\n var _super = _createSuper(AMPMParser);\n\n function AMPMParser() {\n var _this;\n\n _classCallCheck(this, AMPMParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n\n return _this;\n }\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\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\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\n return AMPMParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n\n var _super = _createSuper(AMPMMidnightParser);\n\n function AMPMMidnightParser() {\n var _this;\n\n _classCallCheck(this, AMPMMidnightParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n\n return _this;\n }\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\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\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\n return AMPMMidnightParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\n\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n\n var _super = _createSuper(DayPeriodParser);\n\n function DayPeriodParser() {\n var _this;\n\n _classCallCheck(this, DayPeriodParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n\n return _this;\n }\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\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\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\n return DayPeriodParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(Hour1to12Parser);\n\n function Hour1to12Parser() {\n var _this;\n\n _classCallCheck(this, Hour1to12Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n\n return _this;\n }\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\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\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\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\n return date;\n }\n }]);\n\n return Hour1to12Parser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(Hour0to23Parser);\n\n function Hour0to23Parser() {\n var _this;\n\n _classCallCheck(this, Hour0to23Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n\n return _this;\n }\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\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\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\n return Hour0to23Parser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(Hour0To11Parser);\n\n function Hour0To11Parser() {\n var _this;\n\n _classCallCheck(this, Hour0To11Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n\n return _this;\n }\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\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\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\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n\n return date;\n }\n }]);\n\n return Hour0To11Parser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(Hour1To24Parser);\n\n function Hour1To24Parser() {\n var _this;\n\n _classCallCheck(this, Hour1To24Parser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n\n return _this;\n }\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\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\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\n return Hour1To24Parser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(MinuteParser);\n\n function MinuteParser() {\n var _this;\n\n _classCallCheck(this, MinuteParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\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\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\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\n return MinuteParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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\n var _super = _createSuper(SecondParser);\n\n function SecondParser() {\n var _this;\n\n _classCallCheck(this, SecondParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\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\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\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\n return SecondParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n\n var _super = _createSuper(FractionOfSecondParser);\n\n function FractionOfSecondParser() {\n var _this;\n\n _classCallCheck(this, FractionOfSecondParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n\n return _this;\n }\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\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\n return FractionOfSecondParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\n\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n\n var _super = _createSuper(ISOTimezoneWithZParser);\n\n function ISOTimezoneWithZParser() {\n var _this;\n\n _classCallCheck(this, ISOTimezoneWithZParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n\n return _this;\n }\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\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n\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\n return new Date(date.getTime() - value);\n }\n }]);\n\n return ISOTimezoneWithZParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\n\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n\n var _super = _createSuper(ISOTimezoneParser);\n\n function ISOTimezoneParser() {\n var _this;\n\n _classCallCheck(this, ISOTimezoneParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n\n return _this;\n }\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\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n\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\n return new Date(date.getTime() - value);\n }\n }]);\n\n return ISOTimezoneParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n\n var _super = _createSuper(TimestampSecondsParser);\n\n function TimestampSecondsParser() {\n var _this;\n\n _classCallCheck(this, TimestampSecondsParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n\n return _this;\n }\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\n return TimestampSecondsParser;\n}(Parser);", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _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 (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n\n var _super = _createSuper(TimestampMillisecondsParser);\n\n function TimestampMillisecondsParser() {\n var _this;\n\n _classCallCheck(this, TimestampMillisecondsParser);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n\n return _this;\n }\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\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 */\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};", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_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 s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _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); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\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\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\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 */\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\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\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\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); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\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); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n }; // If timezone isn't specified, it will be set to the system timezone\n\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n\n try {\n var _loop = function _loop() {\n var token = _step.value;\n\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\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\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\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 } // Replace two single quote characters with one single quote character\n\n\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n } // Cut token from string, or, if string doesn't match the token, return Invalid Date\n\n\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\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n\n if (_typeof(_ret) === \"object\") return _ret.v;\n } // Check if the remaining input contains something other than whitespace\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\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\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n\n\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n\n var result = setter.set(utcDate, flags, subFnOptions); // Result is tuple (date, flags)\n\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]); // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return utcDate;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}", "import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days 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 days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\n\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}", "import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString; // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null; // either year or century is null, not both\n\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\n\nexport default function setMonth(dirtyDate, dirtyMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var month = toInteger(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = getDaysInMonth(dateWithDesiredMonth); // Set the last day of the new month\n // if the original date was the last day of the longer month\n\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n\n/**\n * @name set\n * @category Common Helpers\n * @summary Set date values to a given date.\n *\n * @description\n * Set date values to a given date.\n *\n * Sets time values to date from object `values`.\n * A value is not set if it is undefined or null or doesn't exist in `values`.\n *\n * Note about bundle size: `set` does not internally use `setX` functions from date-fns but instead opts\n * to use native `Date#setX` methods. If you use this function, you may not want to include the\n * other `setX` functions that date-fns provides if you are concerned about the bundle size.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Object} values - an object with options\n * @param {Number} [values.year] - the number of years to be set\n * @param {Number} [values.month] - the number of months to be set\n * @param {Number} [values.date] - the number of days to be set\n * @param {Number} [values.hours] - the number of hours to be set\n * @param {Number} [values.minutes] - the number of minutes to be set\n * @param {Number} [values.seconds] - the number of seconds to be set\n * @param {Number} [values.milliseconds] - the number of milliseconds to be set\n * @returns {Date} the new date with options set\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `values` must be an object\n *\n * @example\n * // Transform 1 September 2014 into 20 October 2015 in a single line:\n * const result = set(new Date(2014, 8, 20), { year: 2015, month: 9, date: 20 })\n * //=> Tue Oct 20 2015 00:00:00\n *\n * @example\n * // Set 12 PM to 1 September 2014 01:23:45 to 1 September 2014 12:00:00:\n * const result = set(new Date(2014, 8, 1, 1, 23, 45), { hours: 12 })\n * //=> Mon Sep 01 2014 12:23:45\n */\nexport default function set(dirtyDate, values) {\n requiredArgs(2, arguments);\n\n if (_typeof(values) !== 'object' || values === null) {\n throw new RangeError('values parameter must be an object');\n }\n\n var date = toDate(dirtyDate); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n if (values.year != null) {\n date.setFullYear(values.year);\n }\n\n if (values.month != null) {\n date = setMonth(date, values.month);\n }\n\n if (values.date != null) {\n date.setDate(toInteger(values.date));\n }\n\n if (values.hours != null) {\n date.setHours(toInteger(values.hours));\n }\n\n if (values.minutes != null) {\n date.setMinutes(toInteger(values.minutes));\n }\n\n if (values.seconds != null) {\n date.setSeconds(toInteger(values.seconds));\n }\n\n if (values.milliseconds != null) {\n date.setMilliseconds(toInteger(values.milliseconds));\n }\n\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\n\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMilliseconds\n * @category Millisecond Helpers\n * @summary Set the milliseconds to the given date.\n *\n * @description\n * Set the milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} milliseconds - the milliseconds of the new date\n * @returns {Date} the new date with the milliseconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 300 milliseconds to 1 September 2014 11:30:40.500:\n * const result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300)\n * //=> Mon Sep 01 2014 11:30:40.300\n */\n\nexport default function setMilliseconds(dirtyDate, dirtyMilliseconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var milliseconds = toInteger(dirtyMilliseconds);\n date.setMilliseconds(milliseconds);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\n\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\n\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\n\nexport default function setYear(dirtyDate, dirtyYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var year = toInteger(dirtyYear); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n date.setFullYear(year);\n return date;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months 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 months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport subDays from \"../subDays/index.js\";\nimport subMonths from \"../subMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name sub\n * @category Common Helpers\n * @summary Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @description\n * Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Duration} duration - the object with years, months, weeks, days, hours, minutes and seconds to be subtracted\n *\n * | Key | Description |\n * |---------|------------------------------------|\n * | years | Amount of years to be subtracted |\n * | months | Amount of months to be subtracted |\n * | weeks | Amount of weeks to be subtracted |\n * | days | Amount of days to be subtracted |\n * | hours | Amount of hours to be subtracted |\n * | minutes | Amount of minutes to be subtracted |\n * | seconds | Amount of seconds to be subtracted |\n *\n * All values default to 0\n *\n * @returns {Date} the new date with the seconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract the following duration from 15 June 2017 15:29:20\n * const result = sub(new Date(2017, 5, 15, 15, 29, 20), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\n * minutes: 9,\n * seconds: 30\n * })\n * //=> Mon Sep 1 2014 10:19:50\n */\n\nexport default function sub(date, duration) {\n requiredArgs(2, arguments);\n if (!duration || _typeof(duration) !== 'object') return new Date(NaN);\n var years = duration.years ? toInteger(duration.years) : 0;\n var months = duration.months ? toInteger(duration.months) : 0;\n var weeks = duration.weeks ? toInteger(duration.weeks) : 0;\n var days = duration.days ? toInteger(duration.days) : 0;\n var hours = duration.hours ? toInteger(duration.hours) : 0;\n var minutes = duration.minutes ? toInteger(duration.minutes) : 0;\n var seconds = duration.seconds ? toInteger(duration.seconds) : 0; // Subtract years and months\n\n var dateWithoutMonths = subMonths(date, months + years * 12); // Subtract weeks and days\n\n var dateWithoutDays = subDays(dateWithoutMonths, days + weeks * 7); // Subtract hours, minutes and seconds\n\n var minutestoSub = minutes + hours * 60;\n var secondstoSub = seconds + minutestoSub * 60;\n var mstoSub = secondstoSub * 1000;\n var finalDate = new Date(dateWithoutDays.getTime() - mstoSub);\n return finalDate;\n}", "import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years 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 years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\n\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}", "import { openBlock as p, createElementBlock as _, createElementVNode as ne, reactive as Mt, computed as E, unref as d, ref as W, watch as et, toRef as $t, onMounted as Ue, nextTick as dt, defineComponent as He, renderSlot as K, createCommentVNode as $, normalizeClass as ve, withKeys as ue, createBlock as fe, withModifiers as Ge, normalizeProps as Se, mergeProps as De, Fragment as ce, createTextVNode as We, toDisplayString as Ae, renderList as we, normalizeStyle as lt, createVNode as Qe, Transition as vt, withCtx as se, onBeforeUpdate as Xn, onUnmounted as On, withDirectives as Ct, vShow as Pt, createSlots as Ie, isRef as ot, guardReactiveProps as Fe, resolveDynamicComponent as In, useSlots as on, getCurrentScope as qn, onScopeDispose as Jn, Teleport as Qn } from \"vue\";\nimport { isBefore as sn, isEqual as Bn, isAfter as un, set as Te, setHours as Yn, setMinutes as Vn, setSeconds as En, setMilliseconds as dn, parse as an, isValid as _t, isDate as ea, format as wt, getMonth as pe, getDay as ta, getYear as ke, getHours as Ke, getMinutes as je, getSeconds as mt, parseISO as na, startOfWeek as yn, endOfWeek as aa, setMonth as Nt, setYear as ut, addDays as ft, add as Fn, addMonths as st, subMonths as bt, getWeek as ra, getISOWeek as la, differenceInCalendarDays as oa, eachDayOfInterval as gn, addYears as sa, subYears as ia, sub as ua } from \"date-fns\";\nfunction Et() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M29.333 8c0-2.208-1.792-4-4-4h-18.667c-2.208 0-4 1.792-4 4v18.667c0 2.208 1.792 4 4 4h18.667c2.208 0 4-1.792 4-4v-18.667zM26.667 8v18.667c0 0.736-0.597 1.333-1.333 1.333 0 0-18.667 0-18.667 0-0.736 0-1.333-0.597-1.333-1.333 0 0 0-18.667 0-18.667 0-0.736 0.597-1.333 1.333-1.333 0 0 18.667 0 18.667 0 0.736 0 1.333 0.597 1.333 1.333z\"\n }),\n ne(\"path\", {\n d: \"M20 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\"\n }),\n ne(\"path\", {\n d: \"M9.333 2.667v5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v-5.333c0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\"\n }),\n ne(\"path\", {\n d: \"M4 14.667h24c0.736 0 1.333-0.597 1.333-1.333s-0.597-1.333-1.333-1.333h-24c-0.736 0-1.333 0.597-1.333 1.333s0.597 1.333 1.333 1.333z\"\n })\n ]\n );\n}\nfunction da() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M23.057 7.057l-16 16c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l16-16c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0z\"\n }),\n ne(\"path\", {\n d: \"M7.057 8.943l16 16c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885l-16-16c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z\"\n })\n ]\n );\n}\nfunction hn() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M20.943 23.057l-7.057-7.057c0 0 7.057-7.057 7.057-7.057 0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-8 8c-0.521 0.521-0.521 1.365 0 1.885l8 8c0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z\"\n })\n ]\n );\n}\nfunction pn() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M12.943 24.943l8-8c0.521-0.521 0.521-1.365 0-1.885l-8-8c-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885l7.057 7.057c0 0-7.057 7.057-7.057 7.057-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0z\"\n })\n ]\n );\n}\nfunction Ln() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M16 1.333c-8.095 0-14.667 6.572-14.667 14.667s6.572 14.667 14.667 14.667c8.095 0 14.667-6.572 14.667-14.667s-6.572-14.667-14.667-14.667zM16 4c6.623 0 12 5.377 12 12s-5.377 12-12 12c-6.623 0-12-5.377-12-12s5.377-12 12-12z\"\n }),\n ne(\"path\", {\n d: \"M14.667 8v8c0 0.505 0.285 0.967 0.737 1.193l5.333 2.667c0.658 0.329 1.46 0.062 1.789-0.596s0.062-1.46-0.596-1.789l-4.596-2.298c0 0 0-7.176 0-7.176 0-0.736-0.597-1.333-1.333-1.333s-1.333 0.597-1.333 1.333z\"\n })\n ]\n );\n}\nfunction Un() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M24.943 19.057l-8-8c-0.521-0.521-1.365-0.521-1.885 0l-8 8c-0.52 0.52-0.52 1.365 0 1.885s1.365 0.52 1.885 0l7.057-7.057c0 0 7.057 7.057 7.057 7.057 0.52 0.52 1.365 0.52 1.885 0s0.52-1.365 0-1.885z\"\n })\n ]\n );\n}\nfunction Hn() {\n return p(), _(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 32 32\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n class: \"dp__icon\"\n },\n [\n ne(\"path\", {\n d: \"M7.057 12.943l8 8c0.521 0.521 1.365 0.521 1.885 0l8-8c0.52-0.52 0.52-1.365 0-1.885s-1.365-0.52-1.885 0l-7.057 7.057c0 0-7.057-7.057-7.057-7.057-0.52-0.52-1.365-0.52-1.885 0s-0.52 1.365 0 1.885z\"\n })\n ]\n );\n}\nconst kn = (e, n, a, t) => {\n const s = an(e, n.slice(0, e.length), /* @__PURE__ */ new Date());\n return _t(s) && ea(s) ? t ? s : Te(s, {\n hours: +a.hours,\n minutes: +(a == null ? void 0 : a.minutes),\n seconds: +(a == null ? void 0 : a.seconds),\n milliseconds: 0\n }) : null;\n}, ca = (e, n, a, t) => {\n const s = Array.isArray(a) ? a[0] : a;\n if (typeof n == \"string\")\n return kn(e, n, s, t);\n if (Array.isArray(n)) {\n let f = null;\n for (const h of n)\n if (f = kn(e, h, s, t), f)\n break;\n return f;\n }\n return typeof n == \"function\" ? n(e) : null;\n}, b = (e) => e ? new Date(e) : /* @__PURE__ */ new Date(), fa = (e, n) => {\n if (n) {\n const t = (e.getMonth() + 1).toString().padStart(2, \"0\"), s = e.getDate().toString().padStart(2, \"0\"), f = e.getHours().toString().padStart(2, \"0\"), h = e.getMinutes().toString().padStart(2, \"0\");\n return `${e.getFullYear()}-${t}-${s}T${f}:${h}:00.000Z`;\n }\n const a = Date.UTC(\n e.getUTCFullYear(),\n e.getUTCMonth(),\n e.getUTCDate(),\n e.getUTCHours(),\n e.getUTCMinutes(),\n e.getUTCSeconds()\n );\n return new Date(a).toISOString();\n}, Le = (e) => {\n let n = b(JSON.parse(JSON.stringify(e)));\n return n = Yn(n, 0), n = Vn(n, 0), n = En(n, 0), n = dn(n, 0), n;\n}, Ee = (e, n, a, t) => {\n let s = e ? b(e) : b();\n return (n || n === 0) && (s = Yn(s, +n)), (a || a === 0) && (s = Vn(s, +a)), (t || t === 0) && (s = En(s, +t)), dn(s, 0);\n}, Ce = (e, n) => !e || !n ? !1 : sn(Le(e), Le(n)), me = (e, n) => !e || !n ? !1 : Bn(Le(e), Le(n)), Oe = (e, n) => !e || !n ? !1 : un(Le(e), Le(n)), Wn = (e, n, a) => e && e[0] && e[1] ? Oe(a, e[0]) && Ce(a, e[1]) : e && e[0] && n ? Oe(a, e[0]) && Ce(a, n) || Ce(a, e[0]) && Oe(a, n) : !1, pt = (e) => {\n const n = Te(new Date(e), { date: 1 });\n return Le(n);\n}, kt = Mt({\n menuFocused: !1,\n shiftKeyInMenu: !1\n}), zn = () => {\n const e = (t) => {\n kt.menuFocused = t;\n }, n = (t) => {\n kt.shiftKeyInMenu !== t && (kt.shiftKeyInMenu = t);\n };\n return {\n control: E(() => ({ shiftKeyInMenu: kt.shiftKeyInMenu, menuFocused: kt.menuFocused })),\n setMenuFocused: e,\n setShiftKey: n\n };\n};\nfunction cn(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar Ot = {}, ma = {\n get exports() {\n return Ot;\n },\n set exports(e) {\n Ot = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t) {\n if (t === null || t === !0 || t === !1)\n return NaN;\n var s = Number(t);\n return isNaN(s) ? s : s < 0 ? Math.ceil(s) : Math.floor(s);\n }\n e.exports = n.default;\n})(ma, Ot);\nconst va = /* @__PURE__ */ cn(Ot);\nvar It = {}, ya = {\n get exports() {\n return It;\n },\n set exports(e) {\n It = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t) {\n var s = new Date(Date.UTC(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds()));\n return s.setUTCFullYear(t.getFullYear()), t.getTime() - s.getTime();\n }\n e.exports = n.default;\n})(ya, It);\nconst wn = /* @__PURE__ */ cn(It);\nfunction ga(e, n) {\n var a = wa(n);\n return a.formatToParts ? pa(a, e) : ka(a, e);\n}\nvar ha = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction pa(e, n) {\n try {\n for (var a = e.formatToParts(n), t = [], s = 0; s < a.length; s++) {\n var f = ha[a[s].type];\n f >= 0 && (t[f] = parseInt(a[s].value, 10));\n }\n return t;\n } catch (h) {\n if (h instanceof RangeError)\n return [NaN];\n throw h;\n }\n}\nfunction ka(e, n) {\n var a = e.format(n).replace(/\\u200E/g, \"\"), t = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(a);\n return [t[3], t[1], t[2], t[4], t[5], t[6]];\n}\nvar jt = {};\nfunction wa(e) {\n if (!jt[e]) {\n var n = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\")), a = n === \"06/25/2014, 00:00:00\" || n === \"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00\";\n jt[e] = a ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: e,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: e,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return jt[e];\n}\nfunction fn(e, n, a, t, s, f, h) {\n var R = /* @__PURE__ */ new Date(0);\n return R.setUTCFullYear(e, n, a), R.setUTCHours(t, s, f, h), R;\n}\nvar bn = 36e5, ba = 6e4, Gt = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction mn(e, n, a) {\n var t, s;\n if (!e || (t = Gt.timezoneZ.exec(e), t))\n return 0;\n var f;\n if (t = Gt.timezoneHH.exec(e), t)\n return f = parseInt(t[1], 10), Dn(f) ? -(f * bn) : NaN;\n if (t = Gt.timezoneHHMM.exec(e), t) {\n f = parseInt(t[1], 10);\n var h = parseInt(t[2], 10);\n return Dn(f, h) ? (s = Math.abs(f) * bn + h * ba, f > 0 ? -s : s) : NaN;\n }\n if (Ma(e)) {\n n = new Date(n || Date.now());\n var R = a ? n : Da(n), B = rn(R, e), T = a ? B : $a(n, B, e);\n return -T;\n }\n return NaN;\n}\nfunction Da(e) {\n return fn(\n e.getFullYear(),\n e.getMonth(),\n e.getDate(),\n e.getHours(),\n e.getMinutes(),\n e.getSeconds(),\n e.getMilliseconds()\n );\n}\nfunction rn(e, n) {\n var a = ga(e, n), t = fn(\n a[0],\n a[1] - 1,\n a[2],\n a[3] % 24,\n a[4],\n a[5],\n 0\n ).getTime(), s = e.getTime(), f = s % 1e3;\n return s -= f >= 0 ? f : 1e3 + f, t - s;\n}\nfunction $a(e, n, a) {\n var t = e.getTime(), s = t - n, f = rn(new Date(s), a);\n if (n === f)\n return n;\n s -= f - n;\n var h = rn(new Date(s), a);\n return f === h ? f : Math.max(f, h);\n}\nfunction Dn(e, n) {\n return -23 <= e && e <= 23 && (n == null || 0 <= n && n <= 59);\n}\nvar $n = {};\nfunction Ma(e) {\n if ($n[e])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: e }), $n[e] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Ta = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst xn = Ta;\nvar Zt = 36e5, Mn = 6e4, Aa = 2, Re = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n // 0 additional digits\n /^([+-]\\d{3})$/,\n // 1 additional digit\n /^([+-]\\d{4})$/\n // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n // 0 additional digits\n /^([+-]\\d{5})/,\n // 1 additional digit\n /^([+-]\\d{6})/\n // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: xn\n};\nfunction ln(e, n) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (e === null)\n return /* @__PURE__ */ new Date(NaN);\n var a = n || {}, t = a.additionalDigits == null ? Aa : va(a.additionalDigits);\n if (t !== 2 && t !== 1 && t !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (e instanceof Date || typeof e == \"object\" && Object.prototype.toString.call(e) === \"[object Date]\")\n return new Date(e.getTime());\n if (typeof e == \"number\" || Object.prototype.toString.call(e) === \"[object Number]\")\n return new Date(e);\n if (!(typeof e == \"string\" || Object.prototype.toString.call(e) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var s = Sa(e), f = Ca(s.date, t), h = f.year, R = f.restDateString, B = Pa(R, h);\n if (isNaN(B))\n return /* @__PURE__ */ new Date(NaN);\n if (B) {\n var T = B.getTime(), U = 0, M;\n if (s.time && (U = _a(s.time), isNaN(U)))\n return /* @__PURE__ */ new Date(NaN);\n if (s.timeZone || a.timeZone) {\n if (M = mn(s.timeZone || a.timeZone, new Date(T + U)), isNaN(M))\n return /* @__PURE__ */ new Date(NaN);\n } else\n M = wn(new Date(T + U)), M = wn(new Date(T + U + M));\n return new Date(T + U + M);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Sa(e) {\n var n = {}, a = Re.dateTimePattern.exec(e), t;\n if (a ? (n.date = a[1], t = a[3]) : (a = Re.datePattern.exec(e), a ? (n.date = a[1], t = a[2]) : (n.date = null, t = e)), t) {\n var s = Re.timeZone.exec(t);\n s ? (n.time = t.replace(s[1], \"\"), n.timeZone = s[1].trim()) : n.time = t;\n }\n return n;\n}\nfunction Ca(e, n) {\n var a = Re.YYY[n], t = Re.YYYYY[n], s;\n if (s = Re.YYYY.exec(e) || t.exec(e), s) {\n var f = s[1];\n return {\n year: parseInt(f, 10),\n restDateString: e.slice(f.length)\n };\n }\n if (s = Re.YY.exec(e) || a.exec(e), s) {\n var h = s[1];\n return {\n year: parseInt(h, 10) * 100,\n restDateString: e.slice(h.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Pa(e, n) {\n if (n === null)\n return null;\n var a, t, s, f;\n if (e.length === 0)\n return t = /* @__PURE__ */ new Date(0), t.setUTCFullYear(n), t;\n if (a = Re.MM.exec(e), a)\n return t = /* @__PURE__ */ new Date(0), s = parseInt(a[1], 10) - 1, An(n, s) ? (t.setUTCFullYear(n, s), t) : /* @__PURE__ */ new Date(NaN);\n if (a = Re.DDD.exec(e), a) {\n t = /* @__PURE__ */ new Date(0);\n var h = parseInt(a[1], 10);\n return Oa(n, h) ? (t.setUTCFullYear(n, 0, h), t) : /* @__PURE__ */ new Date(NaN);\n }\n if (a = Re.MMDD.exec(e), a) {\n t = /* @__PURE__ */ new Date(0), s = parseInt(a[1], 10) - 1;\n var R = parseInt(a[2], 10);\n return An(n, s, R) ? (t.setUTCFullYear(n, s, R), t) : /* @__PURE__ */ new Date(NaN);\n }\n if (a = Re.Www.exec(e), a)\n return f = parseInt(a[1], 10) - 1, Sn(n, f) ? Tn(n, f) : /* @__PURE__ */ new Date(NaN);\n if (a = Re.WwwD.exec(e), a) {\n f = parseInt(a[1], 10) - 1;\n var B = parseInt(a[2], 10) - 1;\n return Sn(n, f, B) ? Tn(n, f, B) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction _a(e) {\n var n, a, t;\n if (n = Re.HH.exec(e), n)\n return a = parseFloat(n[1].replace(\",\", \".\")), Xt(a) ? a % 24 * Zt : NaN;\n if (n = Re.HHMM.exec(e), n)\n return a = parseInt(n[1], 10), t = parseFloat(n[2].replace(\",\", \".\")), Xt(a, t) ? a % 24 * Zt + t * Mn : NaN;\n if (n = Re.HHMMSS.exec(e), n) {\n a = parseInt(n[1], 10), t = parseInt(n[2], 10);\n var s = parseFloat(n[3].replace(\",\", \".\"));\n return Xt(a, t, s) ? a % 24 * Zt + t * Mn + s * 1e3 : NaN;\n }\n return null;\n}\nfunction Tn(e, n, a) {\n n = n || 0, a = a || 0;\n var t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4);\n var s = t.getUTCDay() || 7, f = n * 7 + a + 1 - s;\n return t.setUTCDate(t.getUTCDate() + f), t;\n}\nvar Na = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Ra = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction Kn(e) {\n return e % 400 === 0 || e % 4 === 0 && e % 100 !== 0;\n}\nfunction An(e, n, a) {\n if (n < 0 || n > 11)\n return !1;\n if (a != null) {\n if (a < 1)\n return !1;\n var t = Kn(e);\n if (t && a > Ra[n] || !t && a > Na[n])\n return !1;\n }\n return !0;\n}\nfunction Oa(e, n) {\n if (n < 1)\n return !1;\n var a = Kn(e);\n return !(a && n > 366 || !a && n > 365);\n}\nfunction Sn(e, n, a) {\n return !(n < 0 || n > 52 || a != null && (a < 0 || a > 6));\n}\nfunction Xt(e, n, a) {\n return !(e != null && (e < 0 || e >= 25) || n != null && (n < 0 || n >= 60) || a != null && (a < 0 || a >= 60));\n}\nvar Bt = {}, Ia = {\n get exports() {\n return Bt;\n },\n set exports(e) {\n Bt = e;\n }\n}, Yt = {}, Ba = {\n get exports() {\n return Yt;\n },\n set exports(e) {\n Yt = e;\n }\n};\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = a;\n function a(t, s) {\n if (t == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var f in s)\n Object.prototype.hasOwnProperty.call(s, f) && (t[f] = s[f]);\n return t;\n }\n e.exports = n.default;\n})(Ba, Yt);\n(function(e, n) {\n Object.defineProperty(n, \"__esModule\", {\n value: !0\n }), n.default = s;\n var a = t(Yt);\n function t(f) {\n return f && f.__esModule ? f : { default: f };\n }\n function s(f) {\n return (0, a.default)({}, f);\n }\n e.exports = n.default;\n})(Ia, Bt);\nconst Ya = /* @__PURE__ */ cn(Bt);\nfunction Va(e, n, a) {\n var t = ln(e, a), s = mn(n, t, !0), f = new Date(t.getTime() - s), h = /* @__PURE__ */ new Date(0);\n return h.setFullYear(f.getUTCFullYear(), f.getUTCMonth(), f.getUTCDate()), h.setHours(f.getUTCHours(), f.getUTCMinutes(), f.getUTCSeconds(), f.getUTCMilliseconds()), h;\n}\nfunction Ea(e, n, a) {\n if (typeof e == \"string\" && !e.match(xn)) {\n var t = Ya(a);\n return t.timeZone = n, ln(e, t);\n }\n var s = ln(e, a), f = fn(\n s.getFullYear(),\n s.getMonth(),\n s.getDate(),\n s.getHours(),\n s.getMinutes(),\n s.getSeconds(),\n s.getMilliseconds()\n ).getTime(), h = mn(n, new Date(f));\n return new Date(f + h);\n}\nconst Fa = (e, n = 3) => {\n const a = [];\n for (let t = 0; t < e.length; t += n)\n a.push([e[t], e[t + 1], e[t + 2]]);\n return a;\n}, La = (e, n) => {\n const a = [1, 2, 3, 4, 5, 6, 7].map((f) => new Intl.DateTimeFormat(e, { weekday: \"short\", timeZone: \"UTC\" }).format(/* @__PURE__ */ new Date(`2017-01-0${f}T00:00:00+00:00`)).slice(0, 2)), t = a.slice(0, n), s = a.slice(n + 1, a.length);\n return [a[n]].concat(...s).concat(...t);\n}, Ua = (e, n) => {\n const a = [];\n for (let t = +e[0]; t <= +e[1]; t++)\n a.push({ value: +t, text: `${t}` });\n return n ? a.reverse() : a;\n}, Ha = (e, n) => {\n const a = new Intl.DateTimeFormat(e, { month: n, timeZone: \"UTC\" });\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((s) => {\n const f = s < 10 ? `0${s}` : s;\n return /* @__PURE__ */ new Date(`2017-${f}-01T00:00:00+00:00`);\n }).map((s, f) => ({\n text: a.format(s),\n value: f\n }));\n}, Wa = (e) => [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11][e], $e = (e) => {\n const n = d(e);\n return n != null && n.$el ? n == null ? void 0 : n.$el : n;\n}, za = (e) => Object.assign({ type: \"dot\" }, e), jn = (e) => Array.isArray(e) ? !!e[0] && !!e[1] : !1, Vt = {\n prop: (e) => `\"${e}\" prop must be enabled!`,\n dateArr: (e) => `You need to use array as \"model-value\" binding in order to support \"${e}\"`\n}, be = (e) => e, Cn = (e) => e === 0 ? e : !e || isNaN(+e) ? null : +e, Pn = (e) => Object.assign(\n {\n menuAppear: \"dp-menu-appear\",\n open: \"dp-slide-down\",\n close: \"dp-slide-up\",\n next: \"calendar-next\",\n previous: \"calendar-prev\",\n vNext: \"dp-slide-up\",\n vPrevious: \"dp-slide-down\"\n },\n e\n), xa = (e) => Object.assign(\n {\n toggleOverlay: \"Toggle overlay\",\n menu: \"Datepicker menu\",\n input: \"Datepicker input\",\n calendarWrap: \"Calendar wrapper\",\n calendarDays: \"Calendar days\",\n openTimePicker: \"Open time picker\",\n closeTimePicker: \"Close time Picker\",\n incrementValue: (n) => `Increment ${n}`,\n decrementValue: (n) => `Decrement ${n}`,\n openTpOverlay: (n) => `Open ${n} overlay`,\n amPmButton: \"Switch AM/PM mode\",\n openYearsOverlay: \"Open years overlay\",\n openMonthsOverlay: \"Open months overlay\",\n nextMonth: \"Next month\",\n prevMonth: \"Previous month\",\n day: () => \"\"\n },\n e\n), Ka = (e) => e === null ? 0 : typeof e == \"boolean\" ? e ? 2 : 0 : +e >= 2 ? +e : 2, ja = (e, n, a) => e || (typeof a == \"string\" ? a : n), Ga = (e) => typeof e == \"boolean\" ? e ? Pn({}) : !1 : Pn(e), Za = () => ({\n enterSubmit: !0,\n tabSubmit: !0,\n openMenu: !0,\n rangeSeparator: \" - \"\n}), Xa = (e) => Object.assign({ months: [], years: [], times: { hours: [], minutes: [], seconds: [] } }, e), Ve = (e) => {\n const n = () => {\n if (e.partialRange)\n return null;\n throw new Error(Vt.prop(\"partial-range\"));\n }, a = E(() => ({\n ariaLabels: xa(e.ariaLabels),\n textInputOptions: Object.assign(Za(), e.textInputOptions),\n multiCalendars: Ka(e.multiCalendars),\n previewFormat: ja(e.previewFormat, e.format, f()),\n filters: Xa(e.filters),\n transitions: Ga(e.transitions),\n startTime: v()\n })), t = (i) => {\n if (e.range)\n return i();\n throw new Error(Vt.prop(\"range\"));\n }, s = () => {\n const i = e.enableSeconds ? \":ss\" : \"\";\n return e.is24 ? `HH:mm${i}` : `hh:mm${i} aa`;\n }, f = () => e.format ? e.format : e.monthPicker ? \"MM/yyyy\" : e.timePicker ? s() : e.weekPicker ? \"MM/dd/yyyy\" : e.yearPicker ? \"yyyy\" : e.enableTimePicker ? `MM/dd/yyyy, ${s()}` : \"MM/dd/yyyy\", h = (i, r) => {\n if (typeof e.format == \"function\")\n return e.format(i);\n const c = r || f(), D = e.formatLocale ? { locale: e.formatLocale } : void 0;\n return Array.isArray(i) ? `${wt(i[0], c, D)} ${e.modelAuto && !i[1] ? \"\" : a.value.textInputOptions.rangeSeparator || \"-\"} ${i[1] ? wt(i[1], c, D) : \"\"}` : wt(i, c, D);\n }, R = (i) => e.timezone ? Va(i, e.timezone) : i, B = (i) => e.timezone ? Ea(i, e.timezone) : i, T = E(() => (i) => {\n var r;\n return (r = e.hideNavigation) == null ? void 0 : r.includes(i);\n }), U = (i) => {\n const r = e.maxDate ? Oe(R(i), R(b(e.maxDate))) : !1, c = e.minDate ? Ce(R(i), R(b(e.minDate))) : !1, D = C(i, e.disabledDates), O = a.value.filters.months.map((ie) => +ie).includes(pe(i)), g = e.disabledWeekDays.length ? e.disabledWeekDays.some((ie) => +ie === ta(i)) : !1, w = e.allowedDates.length ? !e.allowedDates.some((ie) => me(R(b(ie)), R(i))) : !1, y = ke(i), F = y < +e.yearRange[0] || y > +e.yearRange[1];\n return !(r || c || D || O || F || g || w);\n }, M = (i) => {\n const r = {\n hours: Ke(b()),\n minutes: je(b()),\n seconds: e.enableSeconds ? mt(b()) : 0\n };\n return Object.assign(r, i);\n }, v = () => e.range ? e.startTime && Array.isArray(e.startTime) ? [M(e.startTime[0]), M(e.startTime[1])] : null : e.startTime && !Array.isArray(e.startTime) ? M(e.startTime) : null, A = (i) => !U(i), J = (i) => Array.isArray(i) ? _t(i[0]) && (i[1] ? _t(i[1]) : !0) : i ? _t(i) : !1, Z = (i) => i instanceof Date ? i : na(i), H = (i) => {\n const r = yn(R(i), { weekStartsOn: +e.weekStart }), c = aa(R(i), { weekStartsOn: +e.weekStart });\n return [r, c];\n }, C = (i, r) => Array.isArray(r) ? r.some((c) => me(R(b(c)), R(i))) : r(i), V = (i, r, c) => {\n let D = i ? b(i) : b();\n return (r || r === 0) && (D = Nt(D, r)), c && (D = ut(D, c)), D;\n }, Y = (i) => Te(b(), { hours: Ke(i), minutes: je(i), seconds: mt(i) }), q = (i) => Te(b(), {\n hours: +i.hours || 0,\n minutes: +i.minutes || 0,\n seconds: +i.seconds || 0\n }), z = (i, r, c, D) => {\n if (!i)\n return !0;\n if (D) {\n const L = c === \"max\" ? sn(i, r) : un(i, r), O = { seconds: 0, milliseconds: 0 };\n return L || Bn(Te(i, O), Te(r, O));\n }\n return c === \"max\" ? i.getTime() <= r.getTime() : i.getTime() >= r.getTime();\n }, ee = () => !e.enableTimePicker || e.monthPicker || e.yearPicker || e.ignoreTimeValidation, le = (i) => Array.isArray(i) ? [i[0] ? Y(i[0]) : null, i[1] ? Y(i[1]) : null] : Y(i), S = (i) => {\n const r = e.maxTime ? q(e.maxTime) : b(e.maxDate);\n return Array.isArray(i) ? z(i[0], r, \"max\", !!e.maxDate) && z(i[1], r, \"max\", !!e.maxDate) : z(i, r, \"max\", !!e.maxDate);\n }, P = (i, r) => {\n const c = e.minTime ? q(e.minTime) : b(e.minDate);\n return Array.isArray(i) ? z(i[0], c, \"min\", !!e.minDate) && z(i[1], c, \"min\", !!e.minDate) && r : z(i, c, \"min\", !!e.minDate) && r;\n }, X = (i) => {\n let r = !0;\n if (!i || ee())\n return !0;\n const c = !e.minDate && !e.maxDate ? le(i) : i;\n return (e.maxTime || e.maxDate) && (r = S(be(c))), (e.minTime || e.minDate) && (r = P(be(c), r)), r;\n }, m = (i, r) => {\n const c = b(JSON.parse(JSON.stringify(i))), D = [];\n for (let L = 0; L < 7; L++) {\n const O = ft(c, L), g = pe(O) !== r;\n D.push({\n text: e.hideOffsetDates && g ? \"\" : O.getDate(),\n value: O,\n current: !g,\n classData: {}\n });\n }\n return D;\n }, N = (i, r) => {\n const c = [], D = b(R(new Date(r, i))), L = b(R(new Date(r, i + 1, 0))), O = yn(D, { weekStartsOn: e.weekStart }), g = (w) => {\n const y = m(w, i);\n if (c.push({ days: y }), !c[c.length - 1].days.some(\n (F) => me(Le(F.value), Le(L))\n )) {\n const F = ft(w, 7);\n g(F);\n }\n };\n if (g(O), e.sixWeeks && c.length < 6) {\n const w = 6 - c.length;\n for (let y = 1; y <= w; y++) {\n const F = c[c.length - 1], ie = F.days[F.days.length - 1], Pe = m(ft(ie.value, 1), pe(D));\n c.push({ days: Pe });\n }\n }\n return c;\n }, x = (i, r, c) => [Te(b(i), { date: 1 }), Te(b(), { month: r, year: c, date: 1 })], oe = (i, r) => Ce(...x(e.minDate, i, r)) || me(...x(e.minDate, i, r)), Q = (i, r) => Oe(...x(e.maxDate, i, r)) || me(...x(e.maxDate, i, r)), I = (i, r, c) => {\n let D = !1;\n return e.maxDate && c && Q(i, r) && (D = !0), e.minDate && !c && oe(i, r) && (D = !0), D;\n };\n return {\n checkPartialRangeValue: n,\n checkRangeEnabled: t,\n getZonedDate: R,\n getZonedToUtc: B,\n formatDate: h,\n getDefaultPattern: f,\n validateDate: U,\n getDefaultStartTime: v,\n isDisabled: A,\n isValidDate: J,\n sanitizeDate: Z,\n getWeekFromDate: H,\n matchDate: C,\n setDateMonthOrYear: V,\n isValidTime: X,\n getCalendarDays: N,\n validateMonthYearInRange: (i, r, c, D) => {\n let L = !1;\n return D ? e.minDate && e.maxDate ? L = I(i, r, c) : (e.minDate && oe(i, r) || e.maxDate && Q(i, r)) && (L = !0) : L = !0, L;\n },\n validateMaxDate: Q,\n validateMinDate: oe,\n assignDefaultTime: M,\n defaults: a,\n hideNavigationButtons: T\n };\n}, he = Mt({\n monthYear: [],\n calendar: [],\n time: [],\n actionRow: [],\n selectionGrid: [],\n timePicker: {\n 0: [],\n 1: []\n },\n monthPicker: []\n}), qt = W(null), St = W(!1), Jt = W(!1), Qt = W(!1), en = W(!1), Ne = W(0), Me = W(0), tt = () => {\n const e = E(() => St.value ? [...he.selectionGrid, he.actionRow].filter((C) => C.length) : Jt.value ? [\n ...he.timePicker[0],\n ...he.timePicker[1],\n en.value ? [] : [qt.value],\n he.actionRow\n ].filter((C) => C.length) : Qt.value ? [...he.monthPicker, he.actionRow] : [he.monthYear, ...he.calendar, he.time, he.actionRow].filter((C) => C.length)), n = (C) => {\n Ne.value = C ? Ne.value + 1 : Ne.value - 1;\n let V = null;\n e.value[Me.value] && (V = e.value[Me.value][Ne.value]), V || (Ne.value = C ? Ne.value - 1 : Ne.value + 1);\n }, a = (C) => {\n if (Me.value === 0 && !C || Me.value === e.value.length && C)\n return;\n Me.value = C ? Me.value + 1 : Me.value - 1, e.value[Me.value] ? e.value[Me.value] && !e.value[Me.value][Ne.value] && Ne.value !== 0 && (Ne.value = e.value[Me.value].length - 1) : Me.value = C ? Me.value - 1 : Me.value + 1;\n }, t = (C) => {\n let V = null;\n e.value[Me.value] && (V = e.value[Me.value][Ne.value]), V ? V.focus({ preventScroll: !St.value }) : Ne.value = C ? Ne.value - 1 : Ne.value + 1;\n }, s = () => {\n n(!0), t(!0);\n }, f = () => {\n n(!1), t(!1);\n }, h = () => {\n a(!1), t(!0);\n }, R = () => {\n a(!0), t(!0);\n }, B = (C, V) => {\n he[V] = C;\n }, T = (C, V) => {\n he[V] = C;\n }, U = () => {\n Ne.value = 0, Me.value = 0;\n };\n return {\n buildMatrix: B,\n buildMultiLevelMatrix: T,\n setTimePickerBackRef: (C) => {\n qt.value = C;\n },\n setSelectionGrid: (C) => {\n St.value = C, U(), C || (he.selectionGrid = []);\n },\n setTimePicker: (C, V = !1) => {\n Jt.value = C, en.value = V, U(), C || (he.timePicker[0] = [], he.timePicker[1] = []);\n },\n setTimePickerElements: (C, V = 0) => {\n he.timePicker[V] = C;\n },\n arrowRight: s,\n arrowLeft: f,\n arrowUp: h,\n arrowDown: R,\n clearArrowNav: () => {\n he.monthYear = [], he.calendar = [], he.time = [], he.actionRow = [], he.selectionGrid = [], he.timePicker[0] = [], he.timePicker[1] = [], St.value = !1, Jt.value = !1, en.value = !1, Qt.value = !1, U(), qt.value = null;\n },\n setMonthPicker: (C) => {\n Qt.value = C, U();\n },\n refSets: he\n // exposed for testing\n };\n}, _n = (e) => Array.isArray(e), rt = (e) => Array.isArray(e), Nn = (e) => Array.isArray(e) && e.length === 2, qa = (e, n, a, t, s) => {\n const {\n getDefaultStartTime: f,\n isDisabled: h,\n sanitizeDate: R,\n getWeekFromDate: B,\n setDateMonthOrYear: T,\n validateMonthYearInRange: U,\n defaults: M\n } = Ve(e), v = E({\n get: () => e.internalModelValue,\n set: (u) => {\n !e.readonly && !e.disabled && n(\"update:internal-model-value\", u);\n }\n }), A = W([]);\n et(v, () => {\n ee();\n });\n const J = $t(e, \"multiCalendars\");\n et(J, () => {\n qe(0);\n });\n const Z = W([{ month: pe(b()), year: ke(b()) }]), H = Mt({\n hours: e.range ? [Ke(b()), Ke(b())] : Ke(b()),\n minutes: e.range ? [je(b()), je(b())] : je(b()),\n seconds: e.range ? [0, 0] : 0\n }), C = E(\n () => (u) => Z.value[u] ? Z.value[u].month : 0\n ), V = E(\n () => (u) => Z.value[u] ? Z.value[u].year : 0\n ), Y = E(() => e.flow && e.flow.length && !e.partialFlow ? s.value === e.flow.length : !0), q = (u, o, k) => {\n var j, de;\n Z.value[u] || (Z.value[u] = { month: 0, year: 0 }), Z.value[u].month = o === null ? (j = Z.value[u]) == null ? void 0 : j.month : o, Z.value[u].year = k === null ? (de = Z.value[u]) == null ? void 0 : de.year : k;\n }, z = (u, o) => {\n H[u] = o;\n };\n Ue(() => {\n v.value || (e.startDate && (q(0, pe(b(e.startDate)), ke(b(e.startDate))), M.value.multiCalendars && qe(0)), M.value.startTime && I()), ee(!0);\n });\n const ee = (u = !1) => {\n if (v.value)\n return Array.isArray(v.value) ? (A.value = v.value, m(u)) : S(v.value);\n if (e.timePicker)\n return N();\n if (e.monthPicker && !e.range)\n return x();\n if (e.yearPicker && !e.range)\n return oe();\n if (M.value.multiCalendars && u && !e.startDate)\n return le(b(), u);\n }, le = (u, o = !1) => {\n if ((!M.value.multiCalendars || !e.multiStatic || o) && q(0, pe(u), ke(u)), M.value.multiCalendars)\n for (let k = 1; k < M.value.multiCalendars; k++) {\n const j = Te(b(), { month: C.value(k - 1), year: V.value(k - 1) }), de = Fn(j, { months: 1 });\n Z.value[k] = { month: pe(de), year: ke(de) };\n }\n }, S = (u) => {\n le(u), z(\"hours\", Ke(u)), z(\"minutes\", je(u)), z(\"seconds\", mt(u));\n }, P = (u, o) => {\n le(u[0], o);\n const k = (j, de) => [\n j(u[0]),\n u[1] ? j(u[1]) : H[de][1]\n ];\n z(\"hours\", k(Ke, \"hours\")), z(\"minutes\", k(je, \"minutes\")), z(\"seconds\", k(mt, \"seconds\"));\n }, X = (u, o) => {\n if ((e.range || e.weekPicker) && !e.multiDates)\n return P(u, o);\n if (e.multiDates) {\n const k = u[u.length - 1];\n return S(k);\n }\n }, m = (u) => {\n const o = v.value;\n X(o, u), M.value.multiCalendars && e.multiCalendarsSolo && i();\n }, N = () => {\n if (I(), !e.range)\n v.value = Ee(b(), H.hours, H.minutes, Q());\n else {\n const u = H.hours, o = H.minutes;\n v.value = [\n Ee(b(), u[0], o[0], Q()),\n Ee(b(), u[1], o[1], Q(!1))\n ];\n }\n }, x = () => {\n e.multiDates ? v.value = [T(b(), C.value(0), V.value(0))] : v.value = T(b(), C.value(0), V.value(0));\n }, oe = () => {\n v.value = b();\n }, Q = (u = !0) => e.enableSeconds ? Array.isArray(H.seconds) ? u ? H.seconds[0] : H.seconds[1] : H.seconds : 0, I = () => {\n const u = f();\n if (u) {\n const o = Array.isArray(u), k = o ? [+u[0].hours, +u[1].hours] : +u.hours, j = o ? [+u[0].minutes, +u[1].minutes] : +u.minutes, de = o ? [+u[0].seconds, +u[1].seconds] : +u.seconds;\n z(\"hours\", k), z(\"minutes\", j), e.enableSeconds && z(\"seconds\", de);\n }\n }, l = () => Array.isArray(v.value) && v.value.length ? v.value[v.value.length - 1] : null, i = () => {\n if (Array.isArray(v.value) && v.value.length === 2) {\n const u = b(\n b(v.value[1] ? v.value[1] : st(v.value[0], 1))\n ), [o, k] = [pe(v.value[0]), ke(v.value[0])], [j, de] = [pe(v.value[1]), ke(v.value[1])];\n (o !== j || o === j && k !== de) && e.multiCalendarsSolo && q(1, pe(u), ke(u));\n }\n }, r = (u) => {\n const o = st(u, 1);\n return { month: pe(o), year: ke(o) };\n }, c = (u) => {\n const o = pe(b(u)), k = ke(b(u));\n if (q(0, o, k), M.value.multiCalendars > 0)\n for (let j = 1; j < M.value.multiCalendars; j++) {\n const de = r(\n Te(b(u), { year: C.value(j - 1), month: V.value(j - 1) })\n );\n q(j, de.month, de.year);\n }\n }, D = (u) => {\n if (v.value && Array.isArray(v.value))\n if (v.value.some((o) => me(u, o))) {\n const o = v.value.filter((k) => !me(k, u));\n v.value = o.length ? o : null;\n } else\n (e.multiDatesLimit && +e.multiDatesLimit > v.value.length || !e.multiDatesLimit) && v.value.push(u);\n else\n v.value = [u];\n }, L = (u, o) => {\n const k = Oe(u, o) ? o : u, j = Oe(o, u) ? o : u;\n return gn({ start: k, end: j });\n }, O = (u, o = 0) => {\n if (Array.isArray(v.value) && v.value[o]) {\n const k = oa(u, v.value[o]), j = L(v.value[o], u), de = j.length === 1 ? 0 : j.filter((G) => h(G)).length, Ye = Math.abs(k) - de;\n if (e.minRange && e.maxRange)\n return Ye >= +e.minRange && Ye <= +e.maxRange;\n if (e.minRange)\n return Ye >= +e.minRange;\n if (e.maxRange)\n return Ye <= +e.maxRange;\n }\n return !0;\n }, g = (u) => Array.isArray(v.value) && v.value.length === 2 ? e.fixedStart && (Oe(u, v.value[0]) || me(u, v.value[0])) ? [v.value[0], u] : e.fixedEnd && (Ce(u, v.value[1]) || me(u, v.value[1])) ? [u, v.value[1]] : (n(\"invalid-fixed-range\", u), v.value) : [], w = () => {\n e.autoApply && Y.value && n(\"auto-apply\", e.partialFlow);\n }, y = () => {\n e.autoApply && n(\"select-date\");\n }, F = (u) => !gn({ start: u[0], end: u[1] }).some((k) => h(k)), ie = (u) => (v.value = B(b(u.value)), w()), Pe = (u) => {\n const o = Ee(b(u.value), H.hours, H.minutes, Q());\n e.multiDates ? D(o) : v.value = o, a(), w();\n }, Ze = () => {\n A.value = v.value ? v.value.slice() : [], A.value.length === 2 && !(e.fixedStart || e.fixedEnd) && (A.value = []);\n }, re = (u, o) => {\n const k = [b(u.value), ft(b(u.value), +e.autoRange)];\n F(k) && (o && c(u.value), A.value = k);\n }, Xe = (u) => {\n ze(u.value) || !O(u.value, e.fixedStart ? 0 : 1) || (A.value = g(b(u.value)));\n }, ze = (u) => e.noDisabledRange ? L(A.value[0], u).some((k) => h(k)) : !1, _e = (u, o) => {\n if (Ze(), e.autoRange)\n return re(u, o);\n if (e.fixedStart || e.fixedEnd)\n return Xe(u);\n A.value[0] ? O(b(u.value)) && !ze(u.value) && (Ce(b(u.value), b(A.value[0])) ? A.value.unshift(b(u.value)) : A.value[1] = b(u.value)) : A.value[0] = b(u.value);\n }, at = (u) => {\n A.value[u] = Ee(\n A.value[u],\n H.hours[u],\n H.minutes[u],\n Q(u !== 1)\n );\n }, te = () => {\n A.value.length && (A.value[0] && !A.value[1] ? at(0) : (at(0), at(1), a()), v.value = A.value.slice(), A.value[0] && A.value[1] && e.autoApply && n(\"auto-apply\"), A.value[0] && !A.value[1] && e.modelAuto && e.autoApply && n(\"auto-apply\"));\n }, ge = (u, o = !1) => {\n if (!(h(u.value) || !u.current && e.hideOffsetDates)) {\n if (e.weekPicker)\n return ie(u);\n if (!e.range)\n return Pe(u);\n rt(H.hours) && rt(H.minutes) && !e.multiDates && (_e(u, o), te());\n }\n }, ye = (u) => {\n const o = u[0];\n return e.weekNumbers === \"local\" ? ra(o.value, { weekStartsOn: +e.weekStart }) : e.weekNumbers === \"iso\" ? la(o.value) : typeof e.weekNumbers == \"function\" ? e.weekNumbers(o.value) : \"\";\n }, qe = (u) => {\n for (let o = u - 1; o >= 0; o--) {\n const k = bt(Te(b(), { month: C.value(o + 1), year: V.value(o + 1) }), 1);\n q(o, pe(k), ke(k));\n }\n for (let o = u + 1; o <= M.value.multiCalendars - 1; o++) {\n const k = st(Te(b(), { month: C.value(o - 1), year: V.value(o - 1) }), 1);\n q(o, pe(k), ke(k));\n }\n }, Be = (u) => T(b(), C.value(u), V.value(u)), Tt = (u) => Ee(u, H.hours, H.minutes, Q()), Lt = (u) => {\n D(Be(u));\n }, Ut = (u, o) => {\n const k = e.monthPicker ? C.value(u) !== o.month || !o.fromNav : V.value(u) !== o.year || !o.fromNav;\n if (q(u, o.month, o.year), M.value.multiCalendars && !e.multiCalendarsSolo && qe(u), e.monthPicker || e.yearPicker)\n if (e.multiDates)\n k && Lt(u);\n else if (e.range) {\n if (k && O(Be(u))) {\n let j = v.value ? v.value.slice() : [];\n j.length === 2 && j[1] !== null && (j = []), j.length ? Ce(Be(u), j[0]) ? j.unshift(Be(u)) : j[1] = Be(u) : j = [Be(u)], v.value = j;\n }\n } else\n v.value = Be(u);\n n(\"update-month-year\", { instance: u, month: o.month, year: o.year }), t(e.multiCalendarsSolo ? u : void 0);\n }, Ht = async (u = !1) => {\n if (e.autoApply && (e.monthPicker || e.yearPicker)) {\n await dt();\n const o = e.monthPicker ? u : !1;\n e.range ? n(\"auto-apply\", o || !v.value || v.value.length === 1) : n(\"auto-apply\", o);\n }\n a();\n }, At = (u, o) => {\n const k = Te(b(), { month: C.value(o), year: V.value(o) }), j = u < 0 ? st(k, 1) : bt(k, 1);\n U(pe(j), ke(j), u < 0, e.preventMinMaxNavigation) && (q(o, pe(j), ke(j)), M.value.multiCalendars && !e.multiCalendarsSolo && qe(o), n(\"update-month-year\", { instance: o, month: pe(j), year: ke(j) }), t());\n }, yt = (u) => {\n _n(u) && _n(v.value) && rt(H.hours) && rt(H.minutes) ? (u[0] && v.value[0] && (v.value[0] = Ee(u[0], H.hours[0], H.minutes[0], Q())), u[1] && v.value[1] && (v.value[1] = Ee(u[1], H.hours[1], H.minutes[1], Q(!1)))) : e.multiDates && Array.isArray(v.value) ? v.value[v.value.length - 1] = Tt(u) : !e.range && !Nn(u) && (v.value = Tt(u)), n(\"time-update\");\n }, Wt = (u, o = !0, k = !1) => {\n const j = o ? u : H.hours, de = !o && !k ? u : H.minutes, Ye = k ? u : H.seconds;\n if (e.range && Nn(v.value) && rt(j) && rt(de) && rt(Ye) && !e.disableTimeRangeValidation) {\n const G = (ae) => Ee(v.value[ae], j[ae], de[ae], Ye[ae]), xe = (ae) => dn(v.value[ae], 0);\n if (me(v.value[0], v.value[1]) && (un(G(0), xe(1)) || sn(G(1), xe(0))))\n return;\n }\n if (z(\"hours\", j), z(\"minutes\", de), z(\"seconds\", Ye), v.value)\n if (e.multiDates) {\n const G = l();\n G && yt(G);\n } else\n yt(v.value);\n else\n e.timePicker && yt(e.range ? [b(), b()] : b());\n a();\n }, zt = (u, o) => {\n e.monthChangeOnScroll && At(e.monthChangeOnScroll !== \"inverse\" ? -u.deltaY : u.deltaY, o);\n }, gt = (u, o, k = !1) => {\n e.monthChangeOnArrows && e.vertical === k && Je(u, o);\n }, Je = (u, o) => {\n At(u === \"right\" ? -1 : 1, o);\n };\n return {\n time: H,\n month: C,\n year: V,\n modelValue: v,\n calendars: Z,\n monthYearSelect: Ht,\n isDisabled: h,\n updateTime: Wt,\n getWeekNum: ye,\n selectDate: ge,\n updateMonthYear: Ut,\n handleScroll: zt,\n getMarker: (u) => e.markers.find((o) => me(R(u.value), R(o.date))),\n handleArrow: gt,\n handleSwipe: Je,\n selectCurrentDate: () => {\n e.range ? v.value && Array.isArray(v.value) && v.value[0] ? v.value = Ce(b(), v.value[0]) ? [b(), v.value[0]] : [v.value[0], b()] : v.value = [b()] : v.value = b(), y();\n },\n presetDateRange: (u, o) => {\n o || u.length && u.length <= 2 && e.range && (v.value = u.map((k) => b(k)), y(), e.multiCalendars && dt().then(() => ee(!0)));\n }\n };\n}, Ja = (e, n, a) => {\n const t = W(), {\n getZonedToUtc: s,\n getZonedDate: f,\n formatDate: h,\n getDefaultPattern: R,\n checkRangeEnabled: B,\n checkPartialRangeValue: T,\n isValidDate: U,\n setDateMonthOrYear: M,\n defaults: v\n } = Ve(n), A = W(\"\"), J = $t(n, \"format\");\n et(t, () => {\n e(\"internal-model-change\", t.value);\n }), et(J, () => {\n i();\n });\n const Z = (y) => {\n const F = y || b();\n return n.modelType ? c(F) : {\n hours: Ke(F),\n minutes: je(F),\n seconds: n.enableSeconds ? mt(F) : 0\n };\n }, H = (y) => n.modelType ? c(y) : { month: pe(y), year: ke(y) }, C = (y) => Array.isArray(y) ? B(() => [\n ut(b(), y[0]),\n y[1] ? ut(b(), y[1]) : T()\n ]) : ut(b(), +y), V = (y, F) => (typeof y == \"string\" || typeof y == \"number\") && n.modelType ? r(y) : F, Y = (y) => Array.isArray(y) ? [\n V(\n y[0],\n Ee(null, +y[0].hours, +y[0].minutes, y[0].seconds)\n ),\n V(\n y[1],\n Ee(null, +y[1].hours, +y[1].minutes, y[1].seconds)\n )\n ] : V(y, Ee(null, y.hours, y.minutes, y.seconds)), q = (y) => Array.isArray(y) ? n.multiDates ? y.map((F) => V(F, M(null, +F.month, +F.year))) : B(() => [\n V(y[0], M(null, +y[0].month, +y[0].year)),\n V(\n y[1],\n y[1] ? M(null, +y[1].month, +y[1].year) : T()\n )\n ]) : V(y, M(null, +y.month, +y.year)), z = (y) => {\n if (Array.isArray(y))\n return y.map((F) => r(F));\n throw new Error(Vt.dateArr(\"multi-dates\"));\n }, ee = (y) => {\n if (Array.isArray(y))\n return [b(y[0]), b(y[1])];\n throw new Error(Vt.dateArr(\"week-picker\"));\n }, le = (y) => n.modelAuto ? Array.isArray(y) ? [r(y[0]), r(y[1])] : n.autoApply ? [r(y)] : [r(y), null] : Array.isArray(y) ? B(() => [\n r(y[0]),\n y[1] ? r(y[1]) : T()\n ]) : r(y), S = () => {\n Array.isArray(t.value) && n.range && t.value.length === 1 && t.value.push(T());\n }, P = () => {\n const y = t.value;\n return [\n c(y[0]),\n y[1] ? c(y[1]) : T()\n ];\n }, X = () => t.value[1] ? P() : c(be(t.value[0])), m = () => (t.value || []).map((y) => c(y)), N = () => (S(), n.modelAuto ? X() : n.multiDates ? m() : Array.isArray(t.value) ? B(() => P()) : c(be(t.value))), x = (y) => y ? n.timePicker ? Y(be(y)) : n.monthPicker ? q(be(y)) : n.yearPicker ? C(be(y)) : n.multiDates ? z(be(y)) : n.weekPicker ? ee(be(y)) : le(be(y)) : null, oe = (y) => {\n const F = x(y);\n U(be(F)) ? (t.value = be(F), i()) : (t.value = null, A.value = \"\");\n }, Q = () => {\n var F;\n const y = (ie) => {\n var Pe;\n return wt(ie, (Pe = v.value.textInputOptions) == null ? void 0 : Pe.format);\n };\n return `${y(t.value[0])} ${(F = v.value.textInputOptions) == null ? void 0 : F.rangeSeparator} ${t.value[1] ? y(t.value[1]) : \"\"}`;\n }, I = () => {\n var y;\n return a.value && t.value ? Array.isArray(t.value) ? Q() : wt(t.value, (y = v.value.textInputOptions) == null ? void 0 : y.format) : h(t.value);\n }, l = () => {\n var y;\n return t.value ? n.multiDates ? t.value.map((F) => h(F)).join(\"; \") : n.textInput && typeof ((y = v.value.textInputOptions) == null ? void 0 : y.format) == \"string\" ? I() : h(t.value) : \"\";\n }, i = () => {\n !n.format || typeof n.format == \"string\" ? A.value = l() : A.value = n.format(t.value);\n }, r = (y) => {\n if (n.utc) {\n const F = new Date(y);\n return n.utc === \"preserve\" ? new Date(F.getTime() + F.getTimezoneOffset() * 6e4) : F;\n }\n return n.modelType ? n.modelType === \"date\" || n.modelType === \"timestamp\" ? f(new Date(y)) : n.modelType === \"format\" && (typeof n.format == \"string\" || !n.format) ? an(y, R(), /* @__PURE__ */ new Date()) : f(an(y, n.modelType, /* @__PURE__ */ new Date())) : f(new Date(y));\n }, c = (y) => y ? n.utc ? fa(y, n.utc === \"preserve\") : n.modelType ? n.modelType === \"timestamp\" ? +s(y) : n.modelType === \"format\" && (typeof n.format == \"string\" || !n.format) ? h(s(y)) : h(s(y), n.modelType) : s(y) : \"\", D = (y) => {\n e(\"update:model-value\", y);\n }, L = (y) => Array.isArray(t.value) ? n.multiDates ? t.value.map((F) => y(F)) : [\n y(t.value[0]),\n t.value[1] ? y(t.value[1]) : T()\n ] : y(be(t.value)), O = (y) => D(be(L(y)));\n return {\n inputValue: A,\n internalModelValue: t,\n checkBeforeEmit: () => t.value ? n.range ? n.partialRange ? t.value.length >= 1 : t.value.length === 2 : !!t.value : !1,\n parseExternalModelValue: oe,\n formatInputValue: i,\n emitModelValue: () => (i(), n.monthPicker ? O(H) : n.timePicker ? O(Z) : n.yearPicker ? O(ke) : n.weekPicker ? D(t.value) : D(N()))\n };\n}, Qa = (e, n) => {\n const { validateMonthYearInRange: a, validateMaxDate: t, validateMinDate: s, defaults: f } = Ve(e), h = (M, v) => {\n let A = M;\n return f.value.filters.months.includes(pe(A)) ? (A = v ? st(M, 1) : bt(M, 1), h(A, v)) : A;\n }, R = (M, v) => {\n let A = M;\n return f.value.filters.years.includes(ke(A)) ? (A = v ? sa(M, 1) : ia(M, 1), R(A, v)) : A;\n }, B = (M) => {\n const v = Te(/* @__PURE__ */ new Date(), { month: e.month, year: e.year });\n let A = M ? st(v, 1) : bt(v, 1), J = pe(A), Z = ke(A);\n f.value.filters.months.includes(J) && (A = h(A, M), J = pe(A), Z = ke(A)), f.value.filters.years.includes(Z) && (A = R(A, M), Z = ke(A)), a(J, Z, M, e.preventMinMaxNavigation) && T(J, Z);\n }, T = (M, v) => {\n n(\"update-month-year\", { month: M, year: v });\n }, U = E(() => (M) => {\n if (!e.preventMinMaxNavigation || M && !e.maxDate || !M && !e.minDate)\n return !1;\n const v = Te(/* @__PURE__ */ new Date(), { month: e.month, year: e.year }), A = M ? st(v, 1) : bt(v, 1), J = [pe(A), ke(A)];\n return M ? !t(...J) : !s(...J);\n });\n return { handleMonthYearChange: B, isDisabled: U, updateMonthYear: T };\n};\nvar Rt = /* @__PURE__ */ ((e) => (e.center = \"center\", e.left = \"left\", e.right = \"right\", e))(Rt || {});\nconst er = (e, n, a, t) => {\n const s = W({\n top: \"0\",\n left: \"0\",\n transform: \"none\"\n }), f = W(!1), h = $t(t, \"teleportCenter\");\n et(h, () => {\n Z();\n });\n const R = (S) => {\n if (t.teleport) {\n const P = S.getBoundingClientRect();\n return {\n left: P.left + window.scrollX,\n top: P.top + window.scrollY\n };\n }\n return { top: 0, left: 0 };\n }, B = (S, P) => {\n s.value.left = `${S + P}px`, s.value.transform = \"translateX(-100%)\";\n }, T = (S) => {\n s.value.left = `${S}px`, s.value.transform = \"translateX(0)\";\n }, U = (S, P, X = !1) => {\n t.position === Rt.left && T(S), t.position === Rt.right && B(S, P), t.position === Rt.center && (s.value.left = `${S + P / 2}px`, s.value.transform = X ? \"translate(-50%, -50%)\" : \"translateX(-50%)\");\n }, M = (S) => {\n const { width: P, height: X } = S.getBoundingClientRect(), { top: m, left: N } = t.altPosition ? t.altPosition(S) : R(S);\n return { top: +m, left: +N, width: P, height: X };\n }, v = () => {\n const S = $e(n);\n if (S) {\n const { top: P, left: X, width: m, height: N } = M(S);\n s.value.top = `${P + N / 2}px`, s.value.transform = \"translateY(-50%)\", U(X, m, !0);\n }\n }, A = () => {\n s.value.left = \"50%\", s.value.top = \"50%\", s.value.transform = \"translate(-50%, -50%)\", s.value.position = \"fixed\";\n }, J = () => {\n const S = $e(n), { top: P, left: X, transform: m } = t.altPosition(S);\n s.value = { top: `${P}px`, left: `${X}px`, transform: m || \"\" };\n }, Z = (S = !0) => {\n if (!t.inline)\n return h.value ? A() : t.altPosition !== null ? J() : (S && a(\"recalculate-position\"), z());\n }, H = ({\n inputEl: S,\n menuEl: P,\n left: X,\n width: m\n }) => {\n window.screen.width > 768 && U(X, m), Y(S, P);\n }, C = (S, P) => {\n const { top: X, left: m, height: N, width: x } = M(S);\n s.value.top = `${N + X + +t.offset}px`, H({ inputEl: S, menuEl: P, left: m, width: x }), f.value = !1;\n }, V = (S, P) => {\n const { top: X, left: m, width: N } = M(S), { height: x } = P.getBoundingClientRect();\n s.value.top = `${X - x - +t.offset}px`, H({ inputEl: S, menuEl: P, left: m, width: N }), f.value = !0;\n }, Y = (S, P) => {\n if (t.autoPosition) {\n const { left: X, width: m } = M(S), { left: N, right: x } = P.getBoundingClientRect();\n return N <= 0 || N <= X ? T(X) : x >= document.documentElement.clientWidth ? B(X, m) : U(X, m);\n }\n }, q = (S, P) => {\n const { height: X } = P.getBoundingClientRect(), { top: m, height: N } = S.getBoundingClientRect(), oe = window.innerHeight - m - N, Q = m;\n return X <= oe ? C(S, P) : X > oe && X <= Q ? V(S, P) : oe >= Q ? C(S, P) : V(S, P);\n }, z = () => {\n const S = $e(n), P = $e(e);\n if (S && P)\n return t.autoPosition ? q(S, P) : C(S, P);\n }, ee = function(S) {\n if (S) {\n const P = S.scrollHeight > S.clientHeight, m = window.getComputedStyle(S).overflowY.indexOf(\"hidden\") !== -1;\n return P && !m;\n }\n return !0;\n }, le = function(S) {\n return !S || S === document.body || S.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? window : ee(S) ? S : le(S.parentNode);\n };\n return { openOnTop: f, menuPosition: s, setMenuPosition: Z, setInitialPosition: v, getScrollableParent: le };\n}, ct = [\n { name: \"clock-icon\", use: [\"time\", \"calendar\"] },\n { name: \"arrow-left\", use: [\"month-year\", \"calendar\"] },\n { name: \"arrow-right\", use: [\"month-year\", \"calendar\"] },\n { name: \"arrow-up\", use: [\"time\", \"calendar\"] },\n { name: \"arrow-down\", use: [\"time\", \"calendar\"] },\n { name: \"calendar-icon\", use: [\"month-year\", \"time\", \"calendar\"] },\n { name: \"day\", use: [\"calendar\"] },\n { name: \"month-overlay-value\", use: [\"calendar\", \"month-year\"] },\n { name: \"year-overlay-value\", use: [\"calendar\", \"month-year\"] },\n { name: \"year-overlay\", use: [\"month-year\"] },\n { name: \"month-overlay\", use: [\"month-year\"] },\n { name: \"month-overlay-header\", use: [\"month-year\"] },\n { name: \"year-overlay-header\", use: [\"month-year\"] },\n { name: \"hours-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"minutes-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"seconds-overlay-value\", use: [\"calendar\", \"time\"] },\n { name: \"hours\", use: [\"calendar\", \"time\"] },\n { name: \"minutes\", use: [\"calendar\", \"time\"] },\n { name: \"month\", use: [\"calendar\", \"month-year\"] },\n { name: \"year\", use: [\"calendar\", \"month-year\"] },\n { name: \"action-select\", use: [\"action\"] },\n { name: \"action-preview\", use: [\"action\"] },\n { name: \"calendar-header\", use: [\"calendar\"] },\n { name: \"marker-tooltip\", use: [\"calendar\"] },\n { name: \"now-button\", use: [] },\n { name: \"time-picker-overlay\", use: [\"calendar\", \"time\"] },\n { name: \"am-pm-button\", use: [\"calendar\", \"time\"] },\n { name: \"left-sidebar\", use: [\"menu\"] },\n { name: \"right-sidebar\", use: [\"menu\"] },\n { name: \"month-year\", use: [\"month-year\"] },\n { name: \"time-picker\", use: [\"menu\"] },\n { name: \"action-row\", use: [\"action\"] }\n], tr = [{ name: \"trigger\" }, { name: \"input-icon\" }, { name: \"clear-icon\" }, { name: \"dp-input\" }], nr = {\n all: () => ct,\n monthYear: () => ct.filter((e) => e.use.includes(\"month-year\")),\n input: () => tr,\n timePicker: () => ct.filter((e) => e.use.includes(\"time\")),\n action: () => ct.filter((e) => e.use.includes(\"action\")),\n calendar: () => ct.filter((e) => e.use.includes(\"calendar\")),\n menu: () => ct.filter((e) => e.use.includes(\"menu\"))\n}, it = (e, n, a) => {\n const t = [];\n return nr[n]().forEach((s) => {\n e[s.name] && t.push(s.name);\n }), a && a.length && a.forEach((s) => {\n s.slot && t.push(s.slot);\n }), t;\n}, Ft = (e) => ({ transitionName: E(() => (a) => e && typeof e != \"boolean\" ? a ? e.open : e.close : \"\"), showTransition: !!e }), nt = {\n multiCalendars: { type: [Boolean, Number, String], default: null },\n modelValue: { type: [String, Date, Array, Object, Number], default: null },\n modelType: { type: String, default: null },\n position: { type: String, default: \"center\" },\n dark: { type: Boolean, default: !1 },\n format: {\n type: [String, Function],\n default: () => null\n },\n closeOnScroll: { type: Boolean, default: !1 },\n autoPosition: { type: Boolean, default: !0 },\n closeOnAutoApply: { type: Boolean, default: !0 },\n altPosition: { type: Function, default: null },\n transitions: { type: [Boolean, Object], default: !0 },\n formatLocale: { type: Object, default: null },\n utc: { type: [Boolean, String], default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n offset: { type: [Number, String], default: 10 },\n hideNavigation: { type: Array, default: () => [] },\n timezone: { type: String, default: null },\n vertical: { type: Boolean, default: !1 },\n disableMonthYearSelect: { type: Boolean, default: !1 },\n menuClassName: { type: String, default: null },\n dayClass: { type: Function, default: null },\n yearRange: { type: Array, default: () => [1900, 2100] },\n multiCalendarsSolo: { type: Boolean, default: !1 },\n calendarCellClassName: { type: String, default: null },\n enableTimePicker: { type: Boolean, default: !0 },\n autoApply: { type: Boolean, default: !1 },\n disabledDates: { type: [Array, Function], default: () => [] },\n monthNameFormat: { type: String, default: \"short\" },\n startDate: { type: [Date, String], default: null },\n startTime: { type: [Object, Array], default: null },\n hideOffsetDates: { type: Boolean, default: !1 },\n autoRange: { type: [Number, String], default: null },\n noToday: { type: Boolean, default: !1 },\n disabledWeekDays: { type: Array, default: () => [] },\n allowedDates: { type: Array, default: () => [] },\n showNowButton: { type: Boolean, default: !1 },\n nowButtonLabel: { type: String, default: \"Now\" },\n markers: { type: Array, default: () => [] },\n modeHeight: { type: [Number, String], default: 255 },\n escClose: { type: Boolean, default: !0 },\n spaceConfirm: { type: Boolean, default: !0 },\n monthChangeOnArrows: { type: Boolean, default: !0 },\n presetRanges: { type: Array, default: () => [] },\n flow: { type: Array, default: () => [] },\n partialFlow: { type: Boolean, default: !1 },\n preventMinMaxNavigation: { type: Boolean, default: !1 },\n minRange: { type: [Number, String], default: null },\n maxRange: { type: [Number, String], default: null },\n multiDatesLimit: { type: [Number, String], default: null },\n reverseYears: { type: Boolean, default: !1 },\n keepActionRow: { type: Boolean, default: !1 },\n weekPicker: { type: Boolean, default: !1 },\n filters: { type: Object, default: () => ({}) },\n arrowNavigation: { type: Boolean, default: !1 },\n multiStatic: { type: Boolean, default: !0 },\n disableTimeRangeValidation: { type: Boolean, default: !1 },\n highlight: {\n type: [Array, Function],\n default: null\n },\n highlightWeekDays: {\n type: Array,\n default: null\n },\n highlightDisabledDays: { type: Boolean, default: !1 },\n teleport: { type: [String, Boolean], default: null },\n teleportCenter: { type: Boolean, default: !1 },\n locale: { type: String, default: \"en-Us\" },\n weekNumName: { type: String, default: \"W\" },\n weekStart: { type: [Number, String], default: 1 },\n weekNumbers: {\n type: [String, Function],\n default: null\n },\n calendarClassName: { type: String, default: null },\n noSwipe: { type: Boolean, default: !1 },\n monthChangeOnScroll: { type: [Boolean, String], default: !0 },\n dayNames: {\n type: [Function, Array],\n default: null\n },\n monthPicker: { type: Boolean, default: !1 },\n customProps: { type: Object, default: null },\n yearPicker: { type: Boolean, default: !1 },\n modelAuto: { type: Boolean, default: !1 },\n selectText: { type: String, default: \"Select\" },\n cancelText: { type: String, default: \"Cancel\" },\n previewFormat: {\n type: [String, Function],\n default: () => \"\"\n },\n multiDates: { type: Boolean, default: !1 },\n partialRange: { type: Boolean, default: !0 },\n ignoreTimeValidation: { type: Boolean, default: !1 },\n minDate: { type: [Date, String], default: null },\n maxDate: { type: [Date, String], default: null },\n minTime: { type: Object, default: null },\n maxTime: { type: Object, default: null },\n name: { type: String, default: null },\n placeholder: { type: String, default: \"\" },\n hideInputIcon: { type: Boolean, default: !1 },\n clearable: { type: Boolean, default: !0 },\n state: { type: Boolean, default: null },\n required: { type: Boolean, default: !1 },\n autocomplete: { type: String, default: \"off\" },\n inputClassName: { type: String, default: null },\n inlineWithInput: { type: Boolean, default: !1 },\n textInputOptions: { type: Object, default: () => null },\n fixedStart: { type: Boolean, default: !1 },\n fixedEnd: { type: Boolean, default: !1 },\n timePicker: { type: Boolean, default: !1 },\n enableSeconds: { type: Boolean, default: !1 },\n is24: { type: Boolean, default: !0 },\n noHoursOverlay: { type: Boolean, default: !1 },\n noMinutesOverlay: { type: Boolean, default: !1 },\n noSecondsOverlay: { type: Boolean, default: !1 },\n hoursGridIncrement: { type: [String, Number], default: 1 },\n minutesGridIncrement: { type: [String, Number], default: 5 },\n secondsGridIncrement: { type: [String, Number], default: 5 },\n hoursIncrement: { type: [Number, String], default: 1 },\n minutesIncrement: { type: [Number, String], default: 1 },\n secondsIncrement: { type: [Number, String], default: 1 },\n range: { type: Boolean, default: !1 },\n uid: { type: String, default: null },\n disabled: { type: Boolean, default: !1 },\n readonly: { type: Boolean, default: !1 },\n inline: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n onClickOutside: { type: Function, default: null },\n noDisabledRange: { type: Boolean, default: !1 },\n sixWeeks: { type: Boolean, default: !1 }\n}, ar = [\"aria-label\", \"aria-disabled\", \"aria-readonly\"], rr = {\n key: 1,\n class: \"dp__input_wrap\"\n}, lr = [\"id\", \"name\", \"inputmode\", \"placeholder\", \"disabled\", \"readonly\", \"required\", \"value\", \"autocomplete\", \"onKeydown\"], or = {\n key: 2,\n class: \"dp__input_icon\"\n}, sr = {\n key: 4,\n class: \"dp__clear_icon\"\n}, ir = /* @__PURE__ */ He({\n __name: \"DatepickerInput\",\n props: {\n isMenuOpen: { type: Boolean, default: !1 },\n inputValue: { type: String, default: \"\" },\n ...nt\n },\n emits: [\n \"clear\",\n \"open\",\n \"update:input-value\",\n \"set-input-date\",\n \"close\",\n \"select-date\",\n \"set-empty-date\",\n \"toggle\",\n \"focus-prev\",\n \"focus\",\n \"blur\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { getDefaultPattern: s, isValidDate: f, defaults: h, getDefaultStartTime: R, assignDefaultTime: B } = Ve(t), T = W(), U = W(null), M = W(!1), v = E(\n () => ({\n dp__pointer: !t.disabled && !t.readonly && !t.textInput,\n dp__disabled: t.disabled,\n dp__input_readonly: !t.textInput,\n dp__input: !0,\n dp__input_icon_pad: !t.hideInputIcon,\n dp__input_valid: t.state,\n dp__input_invalid: t.state === !1,\n dp__input_focus: M.value || t.isMenuOpen,\n dp__input_reg: !t.textInput,\n [t.inputClassName]: !!t.inputClassName\n })\n ), A = () => {\n a(\"set-input-date\", null), t.autoApply && (a(\"set-empty-date\"), T.value = null);\n }, J = (m) => {\n var x;\n const N = R();\n return ca(\n m,\n ((x = h.value.textInputOptions) == null ? void 0 : x.format) || s(),\n N || B({}),\n t.inputValue\n );\n }, Z = (m) => {\n const { rangeSeparator: N } = h.value.textInputOptions, [x, oe] = m.split(`${N}`);\n if (x) {\n const Q = J(x.trim()), I = oe ? J(oe.trim()) : null, l = Q && I ? [Q, I] : [Q];\n T.value = Q ? l : null;\n }\n }, H = (m) => {\n if (t.range)\n Z(m);\n else if (t.multiDates) {\n const N = m.split(\";\");\n T.value = N.map((x) => J(x.trim())).filter((x) => x);\n } else\n T.value = J(m);\n }, C = (m) => {\n var x;\n const { value: N } = m.target;\n N !== \"\" ? ((x = h.value.textInputOptions) != null && x.openMenu && !t.isMenuOpen && a(\"open\"), H(N), a(\"set-input-date\", T.value)) : A(), a(\"update:input-value\", N);\n }, V = () => {\n var m, N;\n (m = h.value.textInputOptions) != null && m.enterSubmit && f(T.value) && t.inputValue !== \"\" ? (a(\"set-input-date\", T.value, !0), T.value = null) : (N = h.value.textInputOptions) != null && N.enterSubmit && t.inputValue === \"\" && (T.value = null, a(\"clear\"));\n }, Y = () => {\n var m, N;\n (m = h.value.textInputOptions) != null && m.tabSubmit && f(T.value) && t.inputValue !== \"\" ? (a(\"set-input-date\", T.value, !0), T.value = null) : (N = h.value.textInputOptions) != null && N.tabSubmit && t.inputValue === \"\" && (T.value = null, a(\"clear\"));\n }, q = () => {\n M.value = !0, a(\"focus\");\n }, z = (m) => {\n var N;\n m.preventDefault(), m.stopImmediatePropagation(), m.stopPropagation(), t.textInput && ((N = h.value.textInputOptions) != null && N.openMenu) && !t.inlineWithInput ? t.isMenuOpen ? h.value.textInputOptions.enterSubmit && a(\"select-date\") : a(\"open\") : t.textInput || a(\"toggle\");\n }, ee = () => {\n M.value = !1, t.isMenuOpen || a(\"blur\"), t.autoApply && t.textInput && T.value && (a(\"set-input-date\", T.value), a(\"select-date\"), T.value = null);\n }, le = () => {\n a(\"clear\");\n }, S = (m) => {\n if (!t.textInput) {\n if (m.code === \"Tab\")\n return;\n m.preventDefault();\n }\n };\n return n({\n focusInput: () => {\n U.value && U.value.focus({ preventScroll: !0 });\n },\n setParsedDate: (m) => {\n T.value = m;\n }\n }), (m, N) => {\n var x;\n return p(), _(\"div\", {\n onClick: z,\n \"aria-label\": (x = d(h).ariaLabels) == null ? void 0 : x.input,\n role: \"textbox\",\n \"aria-multiline\": \"false\",\n \"aria-disabled\": m.disabled,\n \"aria-readonly\": m.readonly\n }, [\n m.$slots.trigger && !m.$slots[\"dp-input\"] && !m.inline ? K(m.$slots, \"trigger\", { key: 0 }) : $(\"\", !0),\n !m.$slots.trigger && (!m.inline || m.inlineWithInput) ? (p(), _(\"div\", rr, [\n m.$slots[\"dp-input\"] && !m.$slots.trigger && !m.inline ? K(m.$slots, \"dp-input\", {\n key: 0,\n value: e.inputValue,\n onInput: C,\n onEnter: V,\n onTab: Y,\n onClear: le,\n onBlur: ee\n }) : $(\"\", !0),\n m.$slots[\"dp-input\"] ? $(\"\", !0) : (p(), _(\"input\", {\n key: 1,\n ref_key: \"inputRef\",\n ref: U,\n id: m.uid ? `dp-input-${m.uid}` : void 0,\n name: m.name,\n class: ve(d(v)),\n inputmode: m.textInput ? \"text\" : \"none\",\n placeholder: m.placeholder,\n disabled: m.disabled,\n readonly: m.readonly,\n required: m.required,\n value: e.inputValue,\n autocomplete: m.autocomplete,\n onInput: C,\n onKeydown: [\n ue(z, [\"enter\"]),\n ue(Y, [\"tab\"]),\n S\n ],\n onBlur: ee,\n onFocus: q,\n onKeypress: S\n }, null, 42, lr)),\n m.$slots[\"input-icon\"] && !m.hideInputIcon ? (p(), _(\"span\", or, [\n K(m.$slots, \"input-icon\")\n ])) : $(\"\", !0),\n !m.$slots[\"input-icon\"] && !m.hideInputIcon && !m.$slots[\"dp-input\"] ? (p(), fe(d(Et), {\n key: 3,\n class: \"dp__input_icon dp__input_icons\"\n })) : $(\"\", !0),\n m.$slots[\"clear-icon\"] && e.inputValue && m.clearable && !m.disabled && !m.readonly ? (p(), _(\"span\", sr, [\n K(m.$slots, \"clear-icon\", { clear: le })\n ])) : $(\"\", !0),\n m.clearable && !m.$slots[\"clear-icon\"] && e.inputValue && !m.disabled && !m.readonly ? (p(), fe(d(da), {\n key: 5,\n class: \"dp__clear_icon dp__input_icons\",\n \"data-test\": \"clear-icon\",\n onClick: Ge(le, [\"stop\", \"prevent\"])\n }, null, 8, [\"onClick\"])) : $(\"\", !0)\n ])) : $(\"\", !0)\n ], 8, ar);\n };\n }\n}), ur = { class: \"dp__action_row\" }, dr = { class: \"dp__selection_preview\" }, cr = { class: \"dp__action_buttons\" }, fr = [\"onKeydown\"], mr = /* @__PURE__ */ He({\n __name: \"ActionRow\",\n props: {\n menuMount: { type: Boolean, default: !1 },\n internalModelValue: { type: [Date, Array], default: null },\n ...nt\n },\n emits: [\"close-picker\", \"select-date\", \"invalid-select\"],\n setup(e, { emit: n }) {\n const a = e, { formatDate: t, isValidTime: s, defaults: f } = Ve(a), { buildMatrix: h } = tt(), R = W(null), B = W(null);\n Ue(() => {\n a.arrowNavigation && h([$e(R), $e(B)], \"actionRow\");\n });\n const T = E(() => a.range && !a.partialRange && a.internalModelValue ? a.internalModelValue.length === 2 : !0), U = E(() => !v.value || !A.value || !T.value), M = E(() => ({\n dp__action: !0,\n dp__select: !0,\n dp__action_disabled: U.value\n })), v = E(() => !a.enableTimePicker || a.ignoreTimeValidation ? !0 : s(a.internalModelValue)), A = E(() => a.monthPicker ? a.range && Array.isArray(a.internalModelValue) ? !a.internalModelValue.filter((q) => !C(q)).length : C(a.internalModelValue) : !0), J = () => {\n const Y = f.value.previewFormat;\n return a.timePicker || a.monthPicker, Y(be(a.internalModelValue));\n }, Z = () => {\n const Y = a.internalModelValue;\n return f.value.multiCalendars > 0 ? `${t(Y[0])} - ${t(Y[1])}` : [t(Y[0]), t(Y[1])];\n }, H = E(() => !a.internalModelValue || !a.menuMount ? \"\" : typeof f.value.previewFormat == \"string\" ? Array.isArray(a.internalModelValue) ? a.internalModelValue.length === 2 && a.internalModelValue[1] ? Z() : a.multiDates ? a.internalModelValue.map((Y) => `${t(Y)}`) : a.modelAuto ? `${t(a.internalModelValue[0])}` : `${t(a.internalModelValue[0])} -` : t(a.internalModelValue) : J()), C = (Y) => {\n if (!a.monthPicker)\n return !0;\n let q = !0;\n const z = b(pt(Y));\n if (a.minDate && a.maxDate) {\n const ee = b(pt(a.minDate)), le = b(pt(a.maxDate));\n return Oe(z, ee) && Ce(z, le) || me(z, ee) || me(z, le);\n }\n if (a.minDate) {\n const ee = b(pt(a.minDate));\n q = Oe(z, ee) || me(z, ee);\n }\n if (a.maxDate) {\n const ee = b(pt(a.maxDate));\n q = Ce(z, ee) || me(z, ee);\n }\n return q;\n }, V = () => {\n v.value && A.value && T.value ? n(\"select-date\") : n(\"invalid-select\");\n };\n return (Y, q) => (p(), _(\"div\", ur, [\n Y.$slots[\"action-row\"] ? K(Y.$slots, \"action-row\", Se(De({ key: 0 }, {\n internalModelValue: e.internalModelValue,\n disabled: d(U),\n selectDate: () => Y.$emit(\"select-date\"),\n closePicker: () => Y.$emit(\"close-picker\")\n }))) : (p(), _(ce, { key: 1 }, [\n ne(\"div\", dr, [\n Y.$slots[\"action-preview\"] ? K(Y.$slots, \"action-preview\", {\n key: 0,\n value: e.internalModelValue\n }) : $(\"\", !0),\n Y.$slots[\"action-preview\"] ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n Array.isArray(d(H)) ? $(\"\", !0) : (p(), _(ce, { key: 0 }, [\n We(Ae(d(H)), 1)\n ], 64)),\n Array.isArray(d(H)) ? (p(!0), _(ce, { key: 1 }, we(d(H), (z, ee) => (p(), _(\"div\", { key: ee }, Ae(z), 1))), 128)) : $(\"\", !0)\n ], 64))\n ]),\n ne(\"div\", cr, [\n Y.$slots[\"action-select\"] ? K(Y.$slots, \"action-select\", {\n key: 0,\n value: e.internalModelValue\n }) : $(\"\", !0),\n Y.$slots[\"action-select\"] ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n Y.inline ? $(\"\", !0) : (p(), _(\"span\", {\n key: 0,\n class: \"dp__action dp__cancel\",\n ref_key: \"cancelButtonRef\",\n ref: R,\n tabindex: \"0\",\n onClick: q[0] || (q[0] = (z) => Y.$emit(\"close-picker\")),\n onKeydown: [\n q[1] || (q[1] = ue((z) => Y.$emit(\"close-picker\"), [\"enter\"])),\n q[2] || (q[2] = ue((z) => Y.$emit(\"close-picker\"), [\"space\"]))\n ]\n }, Ae(Y.cancelText), 545)),\n ne(\"span\", {\n class: ve(d(M)),\n tabindex: \"0\",\n onKeydown: [\n ue(V, [\"enter\"]),\n ue(V, [\"space\"])\n ],\n onClick: V,\n \"data-test\": \"select-button\",\n ref_key: \"selectButtonRef\",\n ref: B\n }, Ae(Y.selectText), 43, fr)\n ], 64))\n ])\n ], 64))\n ]));\n }\n}), vr = [\"aria-label\"], yr = {\n class: \"dp__calendar_header\",\n role: \"row\"\n}, gr = {\n key: 0,\n class: \"dp__calendar_header_item\",\n role: \"gridcell\"\n}, hr = /* @__PURE__ */ ne(\"div\", { class: \"dp__calendar_header_separator\" }, null, -1), pr = [\"aria-label\"], kr = {\n key: 0,\n role: \"gridcell\",\n class: \"dp__calendar_item dp__week_num\"\n}, wr = { class: \"dp__cell_inner\" }, br = [\"aria-selected\", \"aria-disabled\", \"aria-label\", \"data-test\", \"onClick\", \"onKeydown\", \"onMouseenter\", \"onMouseleave\"], Dr = /* @__PURE__ */ He({\n __name: \"Calendar\",\n props: {\n mappedDates: { type: Array, default: () => [] },\n getWeekNum: {\n type: Function,\n default: () => \"\"\n },\n specificMode: { type: Boolean, default: !1 },\n instance: { type: Number, default: 0 },\n month: { type: Number, default: 0 },\n year: { type: Number, default: 0 },\n ...nt\n },\n emits: [\n \"select-date\",\n \"set-hover-date\",\n \"handle-scroll\",\n \"mount\",\n \"handle-swipe\",\n \"handle-space\",\n \"tooltip-open\",\n \"tooltip-close\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { buildMultiLevelMatrix: s } = tt(), { setDateMonthOrYear: f, defaults: h } = Ve(t), R = W(null), B = W({\n bottom: \"\",\n left: \"\",\n transform: \"\"\n }), T = W([]), U = W(null), M = W(!0), v = W(\"\"), A = W({ startX: 0, endX: 0, startY: 0, endY: 0 }), J = W([]), Z = W({ left: \"50%\" }), H = E(() => t.dayNames ? Array.isArray(t.dayNames) ? t.dayNames : t.dayNames(t.locale, +t.weekStart) : La(t.locale, +t.weekStart));\n Ue(() => {\n a(\"mount\", { cmp: \"calendar\", refs: T }), t.noSwipe || U.value && (U.value.addEventListener(\"touchstart\", m, { passive: !1 }), U.value.addEventListener(\"touchend\", N, { passive: !1 }), U.value.addEventListener(\"touchmove\", x, { passive: !1 })), t.monthChangeOnScroll && U.value && U.value.addEventListener(\"wheel\", I, { passive: !1 });\n });\n const C = (l) => l ? t.vertical ? \"vNext\" : \"next\" : t.vertical ? \"vPrevious\" : \"previous\", V = (l, i) => {\n if (t.transitions) {\n const r = Le(f(b(), t.month, t.year));\n v.value = Oe(Le(f(b(), l, i)), r) ? h.value.transitions[C(!0)] : h.value.transitions[C(!1)], M.value = !1, dt(() => {\n M.value = !0;\n });\n }\n }, Y = E(\n () => ({\n dp__calendar_wrap: !0,\n [t.calendarClassName]: !!t.calendarClassName\n })\n ), q = E(() => (l) => {\n const i = za(l);\n return {\n dp__marker_dot: i.type === \"dot\",\n dp__marker_line: i.type === \"line\"\n };\n }), z = E(() => (l) => me(l, R.value)), ee = E(() => ({\n dp__calendar: !0,\n dp__calendar_next: h.value.multiCalendars > 0 && t.instance !== 0\n })), le = E(() => (l) => t.hideOffsetDates ? l.current : !0), S = E(() => t.specificMode ? { height: `${t.modeHeight}px` } : void 0), P = async (l, i, r) => {\n var c, D;\n if (a(\"set-hover-date\", l), (D = (c = l.marker) == null ? void 0 : c.tooltip) != null && D.length) {\n const L = $e(T.value[i][r]);\n if (L) {\n const { width: O, height: g } = L.getBoundingClientRect();\n R.value = l.value;\n let w = { left: `${O / 2}px` }, y = -50;\n if (await dt(), J.value[0]) {\n const { left: F, width: ie } = J.value[0].getBoundingClientRect();\n F < 0 && (w = { left: \"0\" }, y = 0, Z.value.left = `${O / 2}px`), window.innerWidth < F + ie && (w = { right: \"0\" }, y = 0, Z.value.left = `${ie - O / 2}px`);\n }\n B.value = {\n bottom: `${g}px`,\n ...w,\n transform: `translateX(${y}%)`\n }, a(\"tooltip-open\", l.marker);\n }\n }\n }, X = (l) => {\n R.value && (R.value = null, B.value = JSON.parse(JSON.stringify({ bottom: \"\", left: \"\", transform: \"\" })), a(\"tooltip-close\", l.marker));\n }, m = (l) => {\n A.value.startX = l.changedTouches[0].screenX, A.value.startY = l.changedTouches[0].screenY;\n }, N = (l) => {\n A.value.endX = l.changedTouches[0].screenX, A.value.endY = l.changedTouches[0].screenY, oe();\n }, x = (l) => {\n t.vertical && !t.inline && l.preventDefault();\n }, oe = () => {\n const l = t.vertical ? \"Y\" : \"X\";\n Math.abs(A.value[`start${l}`] - A.value[`end${l}`]) > 10 && a(\"handle-swipe\", A.value[`start${l}`] > A.value[`end${l}`] ? \"right\" : \"left\");\n }, Q = (l, i, r) => {\n l && (Array.isArray(T.value[i]) ? T.value[i][r] = l : T.value[i] = [l]), t.arrowNavigation && s(T.value, \"calendar\");\n }, I = (l) => {\n t.monthChangeOnScroll && (l.preventDefault(), a(\"handle-scroll\", l));\n };\n return n({ triggerTransition: V }), (l, i) => {\n var r;\n return p(), _(\"div\", {\n class: ve(d(ee))\n }, [\n ne(\"div\", {\n style: lt(d(S))\n }, [\n e.specificMode ? $(\"\", !0) : (p(), _(\"div\", {\n key: 0,\n ref_key: \"calendarWrapRef\",\n ref: U,\n class: ve(d(Y)),\n role: \"grid\",\n \"aria-label\": (r = d(h).ariaLabels) == null ? void 0 : r.calendarWrap\n }, [\n ne(\"div\", yr, [\n l.weekNumbers ? (p(), _(\"div\", gr, Ae(l.weekNumName), 1)) : $(\"\", !0),\n (p(!0), _(ce, null, we(d(H), (c, D) => (p(), _(\"div\", {\n class: \"dp__calendar_header_item\",\n role: \"gridcell\",\n key: D,\n \"data-test\": \"calendar-header\"\n }, [\n l.$slots[\"calendar-header\"] ? K(l.$slots, \"calendar-header\", {\n key: 0,\n day: c,\n index: D\n }) : $(\"\", !0),\n l.$slots[\"calendar-header\"] ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(c), 1)\n ], 64))\n ]))), 128))\n ]),\n hr,\n Qe(vt, {\n name: v.value,\n css: !!l.transitions\n }, {\n default: se(() => {\n var c;\n return [\n M.value ? (p(), _(\"div\", {\n key: 0,\n class: \"dp__calendar\",\n role: \"grid\",\n \"aria-label\": (c = d(h).ariaLabels) == null ? void 0 : c.calendarDays\n }, [\n (p(!0), _(ce, null, we(e.mappedDates, (D, L) => (p(), _(\"div\", {\n class: \"dp__calendar_row\",\n role: \"row\",\n key: L\n }, [\n l.weekNumbers ? (p(), _(\"div\", kr, [\n ne(\"div\", wr, Ae(e.getWeekNum(D.days)), 1)\n ])) : $(\"\", !0),\n (p(!0), _(ce, null, we(D.days, (O, g) => {\n var w, y, F;\n return p(), _(\"div\", {\n role: \"gridcell\",\n class: \"dp__calendar_item\",\n ref_for: !0,\n ref: (ie) => Q(ie, L, g),\n key: g + L,\n \"aria-selected\": O.classData.dp__active_date || O.classData.dp__range_start || O.classData.dp__range_start,\n \"aria-disabled\": O.classData.dp__cell_disabled,\n \"aria-label\": (y = (w = d(h).ariaLabels) == null ? void 0 : w.day) == null ? void 0 : y.call(w, O),\n tabindex: \"0\",\n \"data-test\": O.value,\n onClick: Ge((ie) => l.$emit(\"select-date\", O), [\"stop\", \"prevent\"]),\n onKeydown: [\n ue((ie) => l.$emit(\"select-date\", O), [\"enter\"]),\n ue((ie) => l.$emit(\"handle-space\", O), [\"space\"])\n ],\n onMouseenter: (ie) => P(O, L, g),\n onMouseleave: (ie) => X(O)\n }, [\n ne(\"div\", {\n class: ve([\"dp__cell_inner\", O.classData])\n }, [\n l.$slots.day && d(le)(O) ? K(l.$slots, \"day\", {\n key: 0,\n day: +O.text,\n date: O.value\n }) : $(\"\", !0),\n l.$slots.day ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(O.text), 1)\n ], 64)),\n O.marker && d(le)(O) ? (p(), _(\"div\", {\n key: 2,\n class: ve(d(q)(O.marker)),\n style: lt(O.marker.color ? { backgroundColor: O.marker.color } : {})\n }, null, 6)) : $(\"\", !0),\n d(z)(O.value) ? (p(), _(\"div\", {\n key: 3,\n class: \"dp__marker_tooltip\",\n ref_for: !0,\n ref_key: \"activeTooltip\",\n ref: J,\n style: lt(B.value)\n }, [\n (F = O.marker) != null && F.tooltip ? (p(), _(\"div\", {\n key: 0,\n class: \"dp__tooltip_content\",\n onClick: i[0] || (i[0] = Ge(() => {\n }, [\"stop\"]))\n }, [\n (p(!0), _(ce, null, we(O.marker.tooltip, (ie, Pe) => (p(), _(\"div\", {\n key: Pe,\n class: \"dp__tooltip_text\"\n }, [\n l.$slots[\"marker-tooltip\"] ? K(l.$slots, \"marker-tooltip\", {\n key: 0,\n tooltip: ie,\n day: O.value\n }) : $(\"\", !0),\n l.$slots[\"marker-tooltip\"] ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n ne(\"div\", {\n class: \"dp__tooltip_mark\",\n style: lt(ie.color ? { backgroundColor: ie.color } : {})\n }, null, 4),\n ne(\"div\", null, Ae(ie.text), 1)\n ], 64))\n ]))), 128)),\n ne(\"div\", {\n class: \"dp__arrow_bottom_tp\",\n style: lt(Z.value)\n }, null, 4)\n ])) : $(\"\", !0)\n ], 4)) : $(\"\", !0)\n ], 2)\n ], 40, br);\n }), 128))\n ]))), 128))\n ], 8, pr)) : $(\"\", !0)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"])\n ], 10, vr))\n ], 4)\n ], 2);\n };\n }\n}), $r = [\"aria-label\", \"aria-disabled\"], tn = /* @__PURE__ */ He({\n __name: \"ActionIcon\",\n props: {\n ariaLabel: { type: String, default: \"\" },\n disabled: { type: Boolean, default: !1 }\n },\n emits: [\"activate\", \"set-ref\"],\n setup(e, { emit: n }) {\n const a = W(null);\n return Ue(() => n(\"set-ref\", a)), (t, s) => (p(), _(\"div\", {\n class: \"dp__month_year_col_nav\",\n onClick: s[0] || (s[0] = (f) => t.$emit(\"activate\")),\n onKeydown: [\n s[1] || (s[1] = ue((f) => t.$emit(\"activate\"), [\"enter\"])),\n s[2] || (s[2] = ue((f) => t.$emit(\"activate\"), [\"space\"]))\n ],\n tabindex: \"0\",\n role: \"button\",\n \"aria-label\": e.ariaLabel,\n \"aria-disabled\": e.disabled,\n ref_key: \"elRef\",\n ref: a\n }, [\n ne(\"div\", {\n class: ve([\"dp__inner_nav\", { dp__inner_nav_disabled: e.disabled }])\n }, [\n K(t.$slots, \"default\")\n ], 2)\n ], 40, $r));\n }\n}), Mr = [\"onKeydown\"], Tr = { class: \"dp__selection_grid_header\" }, Ar = [\"aria-selected\", \"aria-disabled\", \"data-test\", \"onClick\", \"onKeydown\", \"onMouseover\"], Sr = [\"aria-label\", \"onKeydown\"], Dt = /* @__PURE__ */ He({\n __name: \"SelectionGrid\",\n props: {\n items: { type: Array, default: () => [] },\n modelValue: { type: [String, Number], default: null },\n multiModelValue: { type: Array, default: () => [] },\n disabledValues: { type: Array, default: () => [] },\n minValue: { type: [Number, String], default: null },\n maxValue: { type: [Number, String], default: null },\n year: { type: Number, default: 0 },\n skipActive: { type: Boolean, default: !1 },\n headerRefs: { type: Array, default: () => [] },\n skipButtonRef: { type: Boolean, default: !1 },\n monthPicker: { type: Boolean, default: !1 },\n yearPicker: { type: Boolean, default: !1 },\n escClose: { type: Boolean, default: !0 },\n type: { type: String, default: null },\n arrowNavigation: { type: Boolean, default: !1 },\n autoApply: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n hideNavigation: { type: Array, default: () => [] }\n },\n emits: [\"update:model-value\", \"selected\", \"toggle\", \"reset-flow\"],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setSelectionGrid: s, buildMultiLevelMatrix: f, setMonthPicker: h } = tt(), { hideNavigationButtons: R } = Ve(t), B = W(!1), T = W(null), U = W(null), M = W([]), v = W(), A = W(null), J = W(0), Z = W(null);\n Xn(() => {\n T.value = null;\n }), Ue(() => {\n dt().then(() => P()), C(), H(!0);\n }), On(() => H(!1));\n const H = (I) => {\n var l;\n t.arrowNavigation && ((l = t.headerRefs) != null && l.length ? h(I) : s(I));\n }, C = () => {\n const I = $e(U);\n I && (t.textInput || I.focus({ preventScroll: !0 }), B.value = I.clientHeight < I.scrollHeight);\n }, V = E(\n () => ({\n dp__overlay: !0\n })\n ), Y = E(() => ({\n dp__overlay_col: !0\n })), q = (I) => t.skipActive ? !1 : I.value === t.modelValue, z = E(() => t.items.map((I) => I.filter((l) => l).map((l) => {\n var c, D, L;\n const i = t.disabledValues.some((O) => O === l.value) || S(l.value), r = (c = t.multiModelValue) != null && c.length ? (D = t.multiModelValue) == null ? void 0 : D.some(\n (O) => me(\n O,\n ut(\n t.monthPicker ? Nt(/* @__PURE__ */ new Date(), l.value) : /* @__PURE__ */ new Date(),\n t.monthPicker ? t.year : l.value\n )\n )\n ) : q(l);\n return {\n ...l,\n className: {\n dp__overlay_cell_active: r,\n dp__overlay_cell: !r,\n dp__overlay_cell_disabled: i,\n dp__overlay_cell_active_disabled: i && r,\n dp__overlay_cell_pad: !0,\n dp__cell_in_between: (L = t.multiModelValue) != null && L.length && t.skipActive ? m(l.value) : !1\n }\n };\n }))), ee = E(\n () => ({\n dp__button: !0,\n dp__overlay_action: !0,\n dp__over_action_scroll: B.value,\n dp__button_bottom: t.autoApply\n })\n ), le = E(() => {\n var I, l;\n return {\n dp__overlay_container: !0,\n dp__container_flex: ((I = t.items) == null ? void 0 : I.length) <= 6,\n dp__container_block: ((l = t.items) == null ? void 0 : l.length) > 6\n };\n }), S = (I) => {\n const l = t.maxValue || t.maxValue === 0, i = t.minValue || t.minValue === 0;\n return !l && !i ? !1 : l && i ? +I > +t.maxValue || +I < +t.minValue : l ? +I > +t.maxValue : i ? +I < +t.minValue : !1;\n }, P = () => {\n const I = $e(T), l = $e(U), i = $e(A), r = $e(Z), c = i ? i.getBoundingClientRect().height : 0;\n l && (J.value = l.getBoundingClientRect().height - c), I && r && (r.scrollTop = I.offsetTop - r.offsetTop - (J.value / 2 - I.getBoundingClientRect().height) - c);\n }, X = (I) => {\n !t.disabledValues.some((l) => l === I) && !S(I) && (a(\"update:model-value\", I), a(\"selected\"));\n }, m = (I) => {\n const l = t.monthPicker ? t.year : I;\n return Wn(\n t.multiModelValue,\n ut(\n t.monthPicker ? Nt(/* @__PURE__ */ new Date(), v.value || 0) : /* @__PURE__ */ new Date(),\n t.monthPicker ? l : v.value || l\n ),\n ut(t.monthPicker ? Nt(/* @__PURE__ */ new Date(), I) : /* @__PURE__ */ new Date(), l)\n );\n }, N = () => {\n a(\"toggle\"), a(\"reset-flow\");\n }, x = () => {\n t.escClose && N();\n }, oe = (I, l, i, r) => {\n I && (l.value === +t.modelValue && !t.disabledValues.includes(l.value) && (T.value = I), t.arrowNavigation && (Array.isArray(M.value[i]) ? M.value[i][r] = I : M.value[i] = [I], Q()));\n }, Q = () => {\n var l, i;\n const I = (l = t.headerRefs) != null && l.length ? [t.headerRefs].concat(M.value) : M.value.concat([t.skipButtonRef ? [] : [A.value]]);\n f(be(I), (i = t.headerRefs) != null && i.length ? \"monthPicker\" : \"selectionGrid\");\n };\n return n({ focusGrid: C }), (I, l) => {\n var i;\n return p(), _(\"div\", {\n ref_key: \"gridWrapRef\",\n ref: U,\n class: ve(d(V)),\n role: \"dialog\",\n tabindex: \"0\",\n onKeydown: ue(x, [\"esc\"])\n }, [\n ne(\"div\", {\n class: ve(d(le)),\n ref_key: \"containerRef\",\n ref: Z,\n role: \"grid\",\n style: lt({ height: `${J.value}px` })\n }, [\n ne(\"div\", Tr, [\n K(I.$slots, \"header\")\n ]),\n I.$slots.overlay ? K(I.$slots, \"overlay\", { key: 0 }) : (p(!0), _(ce, { key: 1 }, we(d(z), (r, c) => (p(), _(\"div\", {\n class: ve([\"dp__overlay_row\", { dp__flex_row: d(z).length >= 3 }]),\n key: c,\n role: \"row\"\n }, [\n (p(!0), _(ce, null, we(r, (D, L) => (p(), _(\"div\", {\n role: \"gridcell\",\n class: ve(d(Y)),\n key: D.value,\n \"aria-selected\": D.value === e.modelValue && !e.disabledValues.includes(D.value),\n \"aria-disabled\": D.className.dp__overlay_cell_disabled,\n ref_for: !0,\n ref: (O) => oe(O, D, c, L),\n tabindex: \"0\",\n \"data-test\": D.text,\n onClick: (O) => X(D.value),\n onKeydown: [\n ue((O) => X(D.value), [\"enter\"]),\n ue((O) => X(D.value), [\"space\"])\n ],\n onMouseover: (O) => v.value = D.value\n }, [\n ne(\"div\", {\n class: ve(D.className)\n }, [\n I.$slots.item ? K(I.$slots, \"item\", {\n key: 0,\n item: D\n }) : $(\"\", !0),\n I.$slots.item ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(D.text), 1)\n ], 64))\n ], 2)\n ], 42, Ar))), 128))\n ], 2))), 128))\n ], 6),\n I.$slots[\"button-icon\"] ? Ct((p(), _(\"div\", {\n key: 0,\n role: \"button\",\n \"aria-label\": (i = e.ariaLabels) == null ? void 0 : i.toggleOverlay,\n class: ve(d(ee)),\n tabindex: \"0\",\n ref_key: \"toggleButton\",\n ref: A,\n onClick: N,\n onKeydown: ue(N, [\"enter\"])\n }, [\n K(I.$slots, \"button-icon\")\n ], 42, Sr)), [\n [Pt, !d(R)(e.type)]\n ]) : $(\"\", !0)\n ], 42, Mr);\n };\n }\n}), Cr = [\"aria-label\"], Rn = /* @__PURE__ */ He({\n __name: \"RegularPicker\",\n props: {\n ariaLabel: { type: String, default: \"\" },\n showSelectionGrid: { type: Boolean, default: !1 },\n modelValue: { type: Number, default: null },\n items: { type: Array, default: () => [] },\n disabledValues: { type: Array, default: () => [] },\n minValue: { type: Number, default: null },\n maxValue: { type: Number, default: null },\n slotName: { type: String, default: \"\" },\n overlaySlot: { type: String, default: \"\" },\n headerRefs: { type: Array, default: () => [] },\n escClose: { type: Boolean, default: !0 },\n type: { type: String, default: null },\n transitions: { type: [Object, Boolean], default: !1 },\n arrowNavigation: { type: Boolean, default: !1 },\n autoApply: { type: Boolean, default: !1 },\n textInput: { type: Boolean, default: !1 },\n ariaLabels: { type: Object, default: () => ({}) },\n hideNavigation: { type: Array, default: () => [] }\n },\n emits: [\"update:model-value\", \"toggle\", \"set-ref\"],\n setup(e, { emit: n }) {\n const a = e, { transitionName: t, showTransition: s } = Ft(a.transitions), f = W(null);\n return Ue(() => n(\"set-ref\", f)), (h, R) => (p(), _(ce, null, [\n ne(\"div\", {\n class: \"dp__month_year_select\",\n onClick: R[0] || (R[0] = (B) => h.$emit(\"toggle\")),\n onKeydown: [\n R[1] || (R[1] = ue((B) => h.$emit(\"toggle\"), [\"enter\"])),\n R[2] || (R[2] = ue((B) => h.$emit(\"toggle\"), [\"space\"]))\n ],\n role: \"button\",\n \"aria-label\": e.ariaLabel,\n tabindex: \"0\",\n ref_key: \"elRef\",\n ref: f\n }, [\n K(h.$slots, \"default\")\n ], 40, Cr),\n Qe(vt, {\n name: d(t)(e.showSelectionGrid),\n css: d(s)\n }, {\n default: se(() => [\n e.showSelectionGrid ? (p(), fe(Dt, De({ key: 0 }, {\n modelValue: e.modelValue,\n items: e.items,\n disabledValues: e.disabledValues,\n minValue: e.minValue,\n maxValue: e.maxValue,\n escClose: e.escClose,\n type: e.type,\n arrowNavigation: e.arrowNavigation,\n textInput: e.textInput,\n autoApply: e.autoApply,\n ariaLabels: e.ariaLabels,\n hideNavigation: e.hideNavigation\n }, {\n \"header-refs\": [],\n \"onUpdate:modelValue\": R[3] || (R[3] = (B) => h.$emit(\"update:model-value\", B)),\n onToggle: R[4] || (R[4] = (B) => h.$emit(\"toggle\"))\n }), Ie({\n \"button-icon\": se(() => [\n h.$slots[\"calendar-icon\"] ? K(h.$slots, \"calendar-icon\", { key: 0 }) : $(\"\", !0),\n h.$slots[\"calendar-icon\"] ? $(\"\", !0) : (p(), fe(d(Et), { key: 1 }))\n ]),\n _: 2\n }, [\n h.$slots[e.slotName] ? {\n name: \"item\",\n fn: se(({ item: B }) => [\n K(h.$slots, e.slotName, { item: B })\n ]),\n key: \"0\"\n } : void 0,\n h.$slots[e.overlaySlot] ? {\n name: \"overlay\",\n fn: se(() => [\n K(h.$slots, e.overlaySlot)\n ]),\n key: \"1\"\n } : void 0,\n h.$slots[`${e.overlaySlot}-header`] ? {\n name: \"header\",\n fn: se(() => [\n K(h.$slots, `${e.overlaySlot}-header`)\n ]),\n key: \"2\"\n } : void 0\n ]), 1040)) : $(\"\", !0)\n ]),\n _: 3\n }, 8, [\"name\", \"css\"])\n ], 64));\n }\n}), Pr = { class: \"dp__month_year_row\" }, _r = { class: \"dp__month_year_wrap\" }, Nr = { class: \"dp__month_picker_header\" }, Rr = [\"aria-label\"], Or = [\"aria-label\"], Ir = [\"aria-label\"], Br = /* @__PURE__ */ He({\n __name: \"MonthYearPicker\",\n props: {\n month: { type: Number, default: 0 },\n year: { type: Number, default: 0 },\n instance: { type: Number, default: 0 },\n years: { type: Array, default: () => [] },\n months: { type: Array, default: () => [] },\n internalModelValue: { type: [Date, Array], default: null },\n ...nt\n },\n emits: [\"update-month-year\", \"month-year-select\", \"mount\", \"reset-flow\", \"overlay-closed\"],\n setup(e, { expose: n, emit: a }) {\n const t = e, { defaults: s } = Ve(t), { transitionName: f, showTransition: h } = Ft(s.value.transitions), { buildMatrix: R } = tt(), { handleMonthYearChange: B, isDisabled: T, updateMonthYear: U } = Qa(t, a), M = W(!1), v = W(!1), A = W([null, null, null, null]), J = W(null), Z = W(null), H = W(null);\n Ue(() => {\n a(\"mount\");\n });\n const C = (g) => ({\n get: () => t[g],\n set: (w) => {\n const y = g === \"month\" ? \"year\" : \"month\";\n a(\"update-month-year\", { [g]: w, [y]: t[y] }), a(\"month-year-select\", g === \"year\"), g === \"month\" ? r(!0) : c(!0);\n }\n }), V = E(C(\"month\")), Y = E(C(\"year\")), q = (g) => {\n const w = ke(b(g));\n return t.year === w;\n }, z = E(() => t.monthPicker ? Array.isArray(t.disabledDates) ? t.disabledDates.map((g) => b(g)).filter((g) => q(g)).map((g) => pe(g)) : [] : []), ee = E(() => (g) => {\n const w = g === \"month\";\n return {\n showSelectionGrid: (w ? M : v).value,\n items: (w ? Q : I).value,\n disabledValues: s.value.filters[w ? \"months\" : \"years\"].concat(z.value),\n minValue: (w ? X : S).value,\n maxValue: (w ? m : P).value,\n headerRefs: w && t.monthPicker ? [J.value, Z.value, H.value] : [],\n escClose: t.escClose,\n transitions: s.value.transitions,\n ariaLabels: s.value.ariaLabels,\n textInput: t.textInput,\n autoApply: t.autoApply,\n arrowNavigation: t.arrowNavigation,\n hideNavigation: t.hideNavigation\n };\n }), le = E(() => (g) => ({\n month: t.month,\n year: t.year,\n items: g === \"month\" ? t.months : t.years,\n instance: t.instance,\n updateMonthYear: U,\n toggle: g === \"month\" ? r : c\n })), S = E(() => t.minDate ? ke(b(t.minDate)) : null), P = E(() => t.maxDate ? ke(b(t.maxDate)) : null), X = E(() => {\n if (t.minDate && S.value) {\n if (S.value > t.year)\n return 12;\n if (S.value === t.year)\n return pe(b(t.minDate));\n }\n return null;\n }), m = E(() => t.maxDate && P.value ? P.value < t.year ? -1 : P.value === t.year ? pe(b(t.maxDate)) : null : null), N = E(() => (t.range || t.multiDates) && t.internalModelValue && (t.monthPicker || t.yearPicker) ? t.internalModelValue : []), x = (g) => {\n const w = [], y = (F) => F;\n for (let F = 0; F < g.length; F += 3) {\n const ie = [g[F], g[F + 1], g[F + 2]];\n w.push(y(ie));\n }\n return w;\n }, oe = E(() => {\n const g = t.months.find((w) => w.value === t.month);\n return g || { text: \"\", value: 0 };\n }), Q = E(() => x(t.months)), I = E(() => x(t.years)), l = E(() => s.value.multiCalendars ? t.multiCalendarsSolo ? !0 : t.instance === 0 : !0), i = E(() => s.value.multiCalendars ? t.multiCalendarsSolo ? !0 : t.instance === s.value.multiCalendars - 1 : !0), r = (g = !1) => {\n D(g), M.value = !M.value, M.value || a(\"overlay-closed\");\n }, c = (g = !1) => {\n D(g), v.value = !v.value, v.value || a(\"overlay-closed\");\n }, D = (g) => {\n g || a(\"reset-flow\");\n }, L = (g = !1) => {\n T.value(g) || a(\"update-month-year\", {\n year: g ? t.year + 1 : t.year - 1,\n month: t.month,\n fromNav: !0\n });\n }, O = (g, w) => {\n t.arrowNavigation && (A.value[w] = $e(g), R(A.value, \"monthYear\"));\n };\n return n({\n toggleMonthPicker: r,\n toggleYearPicker: c,\n handleMonthYearChange: B\n }), (g, w) => {\n var y, F, ie, Pe, Ze;\n return p(), _(\"div\", Pr, [\n g.$slots[\"month-year\"] ? K(g.$slots, \"month-year\", Se(De({ key: 0 }, { month: e.month, year: e.year, months: e.months, years: e.years, updateMonthYear: d(U), handleMonthYearChange: d(B), instance: e.instance }))) : (p(), _(ce, { key: 1 }, [\n !g.monthPicker && !g.yearPicker ? (p(), _(ce, { key: 0 }, [\n d(l) && !g.vertical ? (p(), fe(tn, {\n key: 0,\n \"aria-label\": (y = d(s).ariaLabels) == null ? void 0 : y.prevMonth,\n disabled: d(T)(!1),\n onActivate: w[0] || (w[0] = (re) => d(B)(!1)),\n onSetRef: w[1] || (w[1] = (re) => O(re, 0))\n }, {\n default: se(() => [\n g.$slots[\"arrow-left\"] ? K(g.$slots, \"arrow-left\", { key: 0 }) : $(\"\", !0),\n g.$slots[\"arrow-left\"] ? $(\"\", !0) : (p(), fe(d(hn), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : $(\"\", !0),\n ne(\"div\", _r, [\n Qe(Rn, De({\n type: \"month\",\n \"slot-name\": \"month-overlay-val\",\n \"overlay-slot\": \"overlay-month\",\n \"aria-label\": (F = d(s).ariaLabels) == null ? void 0 : F.openMonthsOverlay,\n modelValue: d(V),\n \"onUpdate:modelValue\": w[2] || (w[2] = (re) => ot(V) ? V.value = re : null)\n }, d(ee)(\"month\"), {\n onToggle: r,\n onSetRef: w[3] || (w[3] = (re) => O(re, 1))\n }), Ie({\n default: se(() => [\n g.$slots.month ? K(g.$slots, \"month\", Se(De({ key: 0 }, d(oe)))) : $(\"\", !0),\n g.$slots.month ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(d(oe).text), 1)\n ], 64))\n ]),\n _: 2\n }, [\n g.$slots[\"calendar-icon\"] ? {\n name: \"calendar-icon\",\n fn: se(() => [\n K(g.$slots, \"calendar-icon\")\n ]),\n key: \"0\"\n } : void 0,\n g.$slots[\"month-overlay-value\"] ? {\n name: \"month-overlay-val\",\n fn: se(({ item: re }) => [\n K(g.$slots, \"month-overlay-value\", {\n text: re.text,\n value: re.value\n })\n ]),\n key: \"1\"\n } : void 0,\n g.$slots[\"month-overlay\"] ? {\n name: \"overlay-month\",\n fn: se(() => [\n K(g.$slots, \"month-overlay\", Se(Fe(d(le)(\"month\"))))\n ]),\n key: \"2\"\n } : void 0,\n g.$slots[\"month-overlay-header\"] ? {\n name: \"overlay-month-header\",\n fn: se(() => [\n K(g.$slots, \"month-overlay-header\", { toggle: r })\n ]),\n key: \"3\"\n } : void 0\n ]), 1040, [\"aria-label\", \"modelValue\"]),\n Qe(Rn, De({\n type: \"year\",\n \"slot-name\": \"year-overlay-val\",\n \"overlay-slot\": \"overlay-year\",\n \"aria-label\": (ie = d(s).ariaLabels) == null ? void 0 : ie.openYearsOverlay,\n modelValue: d(Y),\n \"onUpdate:modelValue\": w[4] || (w[4] = (re) => ot(Y) ? Y.value = re : null)\n }, d(ee)(\"year\"), {\n onToggle: c,\n onSetRef: w[5] || (w[5] = (re) => O(re, 2))\n }), Ie({\n default: se(() => [\n g.$slots.year ? K(g.$slots, \"year\", {\n key: 0,\n year: e.year\n }) : $(\"\", !0),\n g.$slots.year ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(e.year), 1)\n ], 64))\n ]),\n _: 2\n }, [\n g.$slots[\"calendar-icon\"] ? {\n name: \"calendar-icon\",\n fn: se(() => [\n K(g.$slots, \"calendar-icon\")\n ]),\n key: \"0\"\n } : void 0,\n g.$slots[\"year-overlay-value\"] ? {\n name: \"year-overlay-val\",\n fn: se(({ item: re }) => [\n K(g.$slots, \"year-overlay-value\", {\n text: re.text,\n value: re.value\n })\n ]),\n key: \"1\"\n } : void 0,\n g.$slots[\"year-overlay\"] ? {\n name: \"overlay-year\",\n fn: se(() => [\n K(g.$slots, \"year-overlay\", Se(Fe(d(le)(\"year\"))))\n ]),\n key: \"2\"\n } : void 0,\n g.$slots[\"year-overlay-header\"] ? {\n name: \"overlay-year-header\",\n fn: se(() => [\n K(g.$slots, \"year-overlay-header\", { toggle: c })\n ]),\n key: \"3\"\n } : void 0\n ]), 1040, [\"aria-label\", \"modelValue\"])\n ]),\n d(l) && g.vertical ? (p(), fe(tn, {\n key: 1,\n \"aria-label\": (Pe = d(s).ariaLabels) == null ? void 0 : Pe.prevMonth,\n disabled: d(T)(!1),\n onActivate: w[6] || (w[6] = (re) => d(B)(!1))\n }, {\n default: se(() => [\n g.$slots[\"arrow-up\"] ? K(g.$slots, \"arrow-up\", { key: 0 }) : $(\"\", !0),\n g.$slots[\"arrow-up\"] ? $(\"\", !0) : (p(), fe(d(Un), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"aria-label\", \"disabled\"])) : $(\"\", !0),\n d(i) ? (p(), fe(tn, {\n key: 2,\n ref: \"rightIcon\",\n disabled: d(T)(!0),\n \"aria-label\": (Ze = d(s).ariaLabels) == null ? void 0 : Ze.nextMonth,\n onActivate: w[7] || (w[7] = (re) => d(B)(!0)),\n onSetRef: w[8] || (w[8] = (re) => O(re, 3))\n }, {\n default: se(() => [\n g.$slots[g.vertical ? \"arrow-down\" : \"arrow-right\"] ? K(g.$slots, g.vertical ? \"arrow-down\" : \"arrow-right\", { key: 0 }) : $(\"\", !0),\n g.$slots[g.vertical ? \"arrow-down\" : \"arrow-right\"] ? $(\"\", !0) : (p(), fe(In(g.vertical ? d(Hn) : d(pn)), { key: 1 }))\n ]),\n _: 3\n }, 8, [\"disabled\", \"aria-label\"])) : $(\"\", !0)\n ], 64)) : $(\"\", !0),\n g.monthPicker ? (p(), fe(Dt, De({ key: 1 }, d(ee)(\"month\"), {\n \"skip-active\": g.range,\n year: e.year,\n \"multi-model-value\": d(N),\n \"month-picker\": \"\",\n modelValue: d(V),\n \"onUpdate:modelValue\": w[17] || (w[17] = (re) => ot(V) ? V.value = re : null),\n onToggle: r,\n onSelected: w[18] || (w[18] = (re) => g.$emit(\"overlay-closed\"))\n }), Ie({\n header: se(() => {\n var re, Xe, ze;\n return [\n ne(\"div\", Nr, [\n ne(\"div\", {\n class: \"dp__month_year_col_nav\",\n tabindex: \"0\",\n ref_key: \"mpPrevIconRef\",\n ref: J,\n onClick: w[9] || (w[9] = (_e) => L(!1)),\n onKeydown: w[10] || (w[10] = ue((_e) => L(!1), [\"enter\"]))\n }, [\n ne(\"div\", {\n class: ve([\"dp__inner_nav\", { dp__inner_nav_disabled: d(T)(!1) }]),\n role: \"button\",\n \"aria-label\": (re = d(s).ariaLabels) == null ? void 0 : re.prevMonth\n }, [\n g.$slots[\"arrow-left\"] ? K(g.$slots, \"arrow-left\", { key: 0 }) : $(\"\", !0),\n g.$slots[\"arrow-left\"] ? $(\"\", !0) : (p(), fe(d(hn), { key: 1 }))\n ], 10, Rr)\n ], 544),\n ne(\"div\", {\n class: \"dp__pointer\",\n role: \"button\",\n ref_key: \"mpYearButtonRef\",\n ref: Z,\n \"aria-label\": (Xe = d(s).ariaLabels) == null ? void 0 : Xe.openYearsOverlay,\n tabindex: \"0\",\n onClick: w[11] || (w[11] = () => c(!1)),\n onKeydown: w[12] || (w[12] = ue(() => c(!1), [\"enter\"]))\n }, [\n g.$slots.year ? K(g.$slots, \"year\", {\n key: 0,\n year: e.year\n }) : $(\"\", !0),\n g.$slots.year ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(e.year), 1)\n ], 64))\n ], 40, Or),\n ne(\"div\", {\n class: \"dp__month_year_col_nav\",\n tabindex: \"0\",\n ref_key: \"mpNextIconRef\",\n ref: H,\n onClick: w[13] || (w[13] = (_e) => L(!0)),\n onKeydown: w[14] || (w[14] = ue((_e) => L(!0), [\"enter\"]))\n }, [\n ne(\"div\", {\n class: ve([\"dp__inner_nav\", { dp__inner_nav_disabled: d(T)(!0) }]),\n role: \"button\",\n \"aria-label\": (ze = d(s).ariaLabels) == null ? void 0 : ze.nextMonth\n }, [\n g.$slots[\"arrow-right\"] ? K(g.$slots, \"arrow-right\", { key: 0 }) : $(\"\", !0),\n g.$slots[\"arrow-right\"] ? $(\"\", !0) : (p(), fe(d(pn), { key: 1 }))\n ], 10, Ir)\n ], 544)\n ]),\n Qe(vt, {\n name: d(f)(v.value),\n css: d(h)\n }, {\n default: se(() => [\n v.value ? (p(), fe(Dt, De({ key: 0 }, d(ee)(\"year\"), {\n modelValue: d(Y),\n \"onUpdate:modelValue\": w[15] || (w[15] = (_e) => ot(Y) ? Y.value = _e : null),\n onToggle: c,\n onSelected: w[16] || (w[16] = (_e) => g.$emit(\"overlay-closed\"))\n }), Ie({\n \"button-icon\": se(() => [\n g.$slots[\"calendar-icon\"] ? K(g.$slots, \"calendar-icon\", { key: 0 }) : $(\"\", !0),\n g.$slots[\"calendar-icon\"] ? $(\"\", !0) : (p(), fe(d(Et), { key: 1 }))\n ]),\n _: 2\n }, [\n g.$slots[\"year-overlay-value\"] ? {\n name: \"item\",\n fn: se(({ item: _e }) => [\n K(g.$slots, \"year-overlay-value\", {\n text: _e.text,\n value: _e.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"modelValue\"])) : $(\"\", !0)\n ]),\n _: 3\n }, 8, [\"name\", \"css\"])\n ];\n }),\n _: 2\n }, [\n g.$slots[\"month-overlay-value\"] ? {\n name: \"item\",\n fn: se(({ item: re }) => [\n K(g.$slots, \"month-overlay-value\", {\n text: re.text,\n value: re.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"skip-active\", \"year\", \"multi-model-value\", \"modelValue\"])) : $(\"\", !0),\n g.yearPicker ? (p(), fe(Dt, De({ key: 2 }, d(ee)(\"year\"), {\n modelValue: d(Y),\n \"onUpdate:modelValue\": w[19] || (w[19] = (re) => ot(Y) ? Y.value = re : null),\n \"multi-model-value\": d(N),\n \"skip-active\": g.range,\n \"skip-button-ref\": \"\",\n \"year-picker\": \"\",\n onToggle: c,\n onSelected: w[20] || (w[20] = (re) => g.$emit(\"overlay-closed\"))\n }), Ie({ _: 2 }, [\n g.$slots[\"year-overlay-value\"] ? {\n name: \"item\",\n fn: se(({ item: re }) => [\n K(g.$slots, \"year-overlay-value\", {\n text: re.text,\n value: re.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1040, [\"modelValue\", \"multi-model-value\", \"skip-active\"])) : $(\"\", !0)\n ], 64))\n ]);\n };\n }\n}), Yr = {\n key: 0,\n class: \"dp__time_input\"\n}, Vr = [\"aria-label\", \"onKeydown\", \"onClick\"], Er = [\"aria-label\", \"data-test\", \"onKeydown\", \"onClick\"], Fr = [\"aria-label\", \"onKeydown\", \"onClick\"], Lr = { key: 0 }, Ur = [\"aria-label\", \"onKeydown\"], Hr = /* @__PURE__ */ He({\n __name: \"TimeInput\",\n props: {\n hours: { type: Number, default: 0 },\n minutes: { type: Number, default: 0 },\n seconds: { type: Number, default: 0 },\n closeTimePickerBtn: { type: Object, default: null },\n order: { type: Number, default: 0 },\n ...nt\n },\n emits: [\n \"set-hours\",\n \"set-minutes\",\n \"update:hours\",\n \"update:minutes\",\n \"update:seconds\",\n \"reset-flow\",\n \"mounted\",\n \"overlay-closed\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setTimePickerElements: s, setTimePickerBackRef: f } = tt(), { defaults: h } = Ve(t), { transitionName: R, showTransition: B } = Ft(h.value.transitions), T = Mt({\n hours: !1,\n minutes: !1,\n seconds: !1\n }), U = W(\"AM\"), M = W(null), v = W([]);\n Ue(() => {\n a(\"mounted\");\n });\n const A = E(() => (l) => !!(t.maxTime && t.maxTime[l] && t.maxTime[l] < t[l] + +t[`${l}Increment`])), J = E(() => (l) => !!(t.minTime && t.minTime[l] && t.minTime[l] > t[l] - +t[`${l}Increment`])), Z = (l, i) => Fn(Te(b(), l), i), H = (l, i) => ua(Te(b(), l), i), C = E(\n () => ({\n dp__time_col: !0,\n dp__time_col_reg: !t.enableSeconds && t.is24,\n dp__time_col_reg_with_button: !t.enableSeconds && !t.is24,\n dp__time_col_sec: t.enableSeconds && t.is24,\n dp__time_col_sec_with_button: t.enableSeconds && !t.is24\n })\n ), V = E(() => {\n const l = [{ type: \"hours\" }, { type: \"\", separator: !0 }, { type: \"minutes\" }];\n return t.enableSeconds ? l.concat([{ type: \"\", separator: !0 }, { type: \"seconds\" }]) : l;\n }), Y = E(() => V.value.filter((l) => !l.separator)), q = E(() => (l) => {\n if (l === \"hours\") {\n const i = N(t.hours);\n return { text: i < 10 ? `0${i}` : `${i}`, value: i };\n }\n return { text: t[l] < 10 ? `0${t[l]}` : `${t[l]}`, value: t[l] };\n }), z = (l) => {\n const i = t.is24 ? 24 : 12, r = l === \"hours\" ? i : 60, c = +t[`${l}GridIncrement`], D = l === \"hours\" && !t.is24 ? c : 0, L = [];\n for (let O = D; O < r; O += c)\n L.push({ value: O, text: O < 10 ? `0${O}` : `${O}` });\n return l === \"hours\" && !t.is24 && L.push({ value: 0, text: \"12\" }), Fa(L);\n }, ee = (l, i) => {\n const r = t.minTime && t.minTime[i], c = t.maxTime && t.maxTime[i];\n return r && c ? l < r || l > c : r ? l < r : c ? l > c : !1;\n }, le = E(() => (l) => z(l).flat().filter((r) => r).map((r) => r.value).filter((r) => ee(r, l))), S = (l) => t[`no${l[0].toUpperCase() + l.slice(1)}Overlay`], P = (l) => {\n S(l) || (T[l] = !T[l], T[l] || a(\"overlay-closed\"));\n }, X = (l) => l === \"hours\" ? Ke : l === \"minutes\" ? je : mt, m = (l, i = !0) => {\n const r = i ? Z : H;\n (i ? A.value(l) : J.value(l)) || a(\n `update:${l}`,\n X(l)(r({ [l]: +t[l] }, { [l]: +t[`${l}Increment`] }))\n );\n }, N = (l) => t.is24 ? l : (l >= 12 ? U.value = \"PM\" : U.value = \"AM\", Wa(l)), x = () => {\n U.value === \"PM\" ? (U.value = \"AM\", a(\"update:hours\", t.hours - 12)) : (U.value = \"PM\", a(\"update:hours\", t.hours + 12));\n }, oe = (l) => {\n T[l] = !0;\n }, Q = (l, i, r) => {\n if (l && t.arrowNavigation) {\n Array.isArray(v.value[i]) ? v.value[i][r] = l : v.value[i] = [l];\n const c = v.value.reduce(\n (D, L) => L.map((O, g) => [...D[g] || [], L[g]]),\n []\n );\n f(t.closeTimePickerBtn), M.value && (c[1] = c[1].concat(M.value)), s(c, t.order);\n }\n }, I = (l, i) => l === \"hours\" && !t.is24 ? a(`update:${l}`, U.value === \"PM\" ? i + 12 : i) : a(`update:${l}`, i);\n return n({ openChildCmp: oe }), (l, i) => {\n var r;\n return l.disabled ? $(\"\", !0) : (p(), _(\"div\", Yr, [\n (p(!0), _(ce, null, we(d(V), (c, D) => {\n var L, O, g;\n return p(), _(\"div\", {\n key: D,\n class: ve(d(C))\n }, [\n c.separator ? (p(), _(ce, { key: 0 }, [\n We(\" : \")\n ], 64)) : (p(), _(ce, { key: 1 }, [\n ne(\"div\", {\n class: ve({\n dp__inc_dec_button: !0,\n dp__inc_dec_button_disabled: d(A)(c.type)\n }),\n role: \"button\",\n \"data-test\": \"time-inc-btn\",\n \"aria-label\": (L = d(h).ariaLabels) == null ? void 0 : L.incrementValue(c.type),\n tabindex: \"0\",\n onKeydown: [\n ue((w) => m(c.type), [\"enter\"]),\n ue((w) => m(c.type), [\"space\"])\n ],\n onClick: (w) => m(c.type),\n ref_for: !0,\n ref: (w) => Q(w, D, 0)\n }, [\n l.$slots[\"arrow-up\"] ? K(l.$slots, \"arrow-up\", { key: 0 }) : $(\"\", !0),\n l.$slots[\"arrow-up\"] ? $(\"\", !0) : (p(), fe(d(Un), { key: 1 }))\n ], 42, Vr),\n ne(\"div\", {\n role: \"button\",\n \"aria-label\": (O = d(h).ariaLabels) == null ? void 0 : O.openTpOverlay(c.type),\n class: ve(S(c.type) ? \"\" : \"dp__time_display\"),\n tabindex: \"0\",\n \"data-test\": `${c.type}-toggle-overlay-btn`,\n onKeydown: [\n ue((w) => P(c.type), [\"enter\"]),\n ue((w) => P(c.type), [\"space\"])\n ],\n onClick: (w) => P(c.type),\n ref_for: !0,\n ref: (w) => Q(w, D, 1)\n }, [\n l.$slots[c.type] ? K(l.$slots, c.type, {\n key: 0,\n text: d(q)(c.type).text,\n value: d(q)(c.type).value\n }) : $(\"\", !0),\n l.$slots[c.type] ? $(\"\", !0) : (p(), _(ce, { key: 1 }, [\n We(Ae(d(q)(c.type).text), 1)\n ], 64))\n ], 42, Er),\n ne(\"div\", {\n class: ve({\n dp__inc_dec_button: !0,\n dp__inc_dec_button_disabled: d(J)(c.type)\n }),\n role: \"button\",\n \"data-test\": \"time-dec-btn\",\n \"aria-label\": (g = d(h).ariaLabels) == null ? void 0 : g.decrementValue(c.type),\n tabindex: \"0\",\n onKeydown: [\n ue((w) => m(c.type, !1), [\"enter\"]),\n ue((w) => m(c.type, !1), [\"space\"])\n ],\n onClick: (w) => m(c.type, !1),\n ref_for: !0,\n ref: (w) => Q(w, D, 2)\n }, [\n l.$slots[\"arrow-down\"] ? K(l.$slots, \"arrow-down\", { key: 0 }) : $(\"\", !0),\n l.$slots[\"arrow-down\"] ? $(\"\", !0) : (p(), fe(d(Hn), { key: 1 }))\n ], 42, Fr)\n ], 64))\n ], 2);\n }), 128)),\n l.is24 ? $(\"\", !0) : (p(), _(\"div\", Lr, [\n l.$slots[\"am-pm-button\"] ? K(l.$slots, \"am-pm-button\", {\n key: 0,\n toggle: x,\n value: U.value\n }) : $(\"\", !0),\n l.$slots[\"am-pm-button\"] ? $(\"\", !0) : (p(), _(\"button\", {\n key: 1,\n ref_key: \"amPmButton\",\n ref: M,\n type: \"button\",\n class: \"dp__pm_am_button\",\n role: \"button\",\n \"aria-label\": (r = d(h).ariaLabels) == null ? void 0 : r.amPmButton,\n tabindex: \"0\",\n onClick: x,\n onKeydown: [\n ue(Ge(x, [\"prevent\"]), [\"enter\"]),\n ue(Ge(x, [\"prevent\"]), [\"space\"])\n ]\n }, Ae(U.value), 41, Ur))\n ])),\n (p(!0), _(ce, null, we(d(Y), (c, D) => (p(), fe(vt, {\n key: D,\n name: d(R)(T[c.type]),\n css: d(B)\n }, {\n default: se(() => [\n T[c.type] ? (p(), fe(Dt, {\n key: 0,\n items: z(c.type),\n \"disabled-values\": d(h).filters.times[c.type].concat(d(le)(c.type)),\n \"esc-close\": l.escClose,\n \"aria-labels\": d(h).ariaLabels,\n \"hide-navigation\": l.hideNavigation,\n \"onUpdate:modelValue\": (L) => I(c.type, L),\n onSelected: (L) => P(c.type),\n onToggle: (L) => P(c.type),\n onResetFlow: i[0] || (i[0] = (L) => l.$emit(\"reset-flow\")),\n type: c.type\n }, Ie({\n \"button-icon\": se(() => [\n l.$slots[\"clock-icon\"] ? K(l.$slots, \"clock-icon\", { key: 0 }) : $(\"\", !0),\n l.$slots[\"clock-icon\"] ? $(\"\", !0) : (p(), fe(d(Ln), { key: 1 }))\n ]),\n _: 2\n }, [\n l.$slots[`${c.type}-overlay-value`] ? {\n name: \"item\",\n fn: se(({ item: L }) => [\n K(l.$slots, `${c.type}-overlay-value`, {\n text: L.text,\n value: L.value\n })\n ]),\n key: \"0\"\n } : void 0\n ]), 1032, [\"items\", \"disabled-values\", \"esc-close\", \"aria-labels\", \"hide-navigation\", \"onUpdate:modelValue\", \"onSelected\", \"onToggle\", \"type\"])) : $(\"\", !0)\n ]),\n _: 2\n }, 1032, [\"name\", \"css\"]))), 128))\n ]));\n };\n }\n}), Wr = [\"aria-label\"], zr = { class: \"dp__overlay_container dp__container_flex dp__time_picker_overlay_container\" }, xr = {\n key: 1,\n class: \"dp__overlay_row dp__flex_row\"\n}, Kr = [\"aria-label\"], jr = /* @__PURE__ */ He({\n __name: \"TimePicker\",\n props: {\n hours: { type: [Number, Array], default: 0 },\n minutes: { type: [Number, Array], default: 0 },\n seconds: { type: [Number, Array], default: 0 },\n internalModelValue: { type: [Date, Array], default: null },\n ...nt\n },\n emits: [\n \"update:hours\",\n \"update:minutes\",\n \"update:seconds\",\n \"mount\",\n \"reset-flow\",\n \"overlay-opened\",\n \"overlay-closed\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { buildMatrix: s, setTimePicker: f } = tt(), h = on(), { hideNavigationButtons: R, defaults: B } = Ve(t), { transitionName: T, showTransition: U } = Ft(B.value.transitions), M = W(null), v = W(null), A = W([]), J = W(null);\n Ue(() => {\n a(\"mount\"), !t.timePicker && t.arrowNavigation ? s([$e(M.value)], \"time\") : f(!0, t.timePicker);\n });\n const Z = E(() => t.range && t.modelAuto ? jn(t.internalModelValue) : !0), H = W(!1), C = (m) => ({\n hours: Array.isArray(t.hours) ? t.hours[m] : t.hours,\n minutes: Array.isArray(t.minutes) ? t.minutes[m] : t.minutes,\n seconds: Array.isArray(t.seconds) ? t.seconds[m] : t.seconds\n }), V = E(() => {\n const m = [];\n if (t.range)\n for (let N = 0; N < 2; N++)\n m.push(C(N));\n else\n m.push(C(0));\n return m;\n }), Y = (m, N = !1, x = \"\") => {\n N || a(\"reset-flow\"), H.value = m, m && a(\"overlay-opened\"), t.arrowNavigation && (f(m), m || a(\"overlay-closed\")), dt(() => {\n x !== \"\" && A.value[0] && A.value[0].openChildCmp(x);\n });\n }, q = E(() => ({\n dp__button: !0,\n dp__button_bottom: t.autoApply\n })), z = it(h, \"timePicker\"), ee = (m, N, x) => t.range ? N === 0 ? [m, V.value[1][x]] : [V.value[0][x], m] : m, le = (m) => {\n a(\"update:hours\", m);\n }, S = (m) => {\n a(\"update:minutes\", m);\n }, P = (m) => {\n a(\"update:seconds\", m);\n }, X = () => {\n J.value && t.arrowNavigation && J.value.focus({ preventScroll: !0 });\n };\n return n({ toggleTimePicker: Y }), (m, N) => {\n var x;\n return p(), _(\"div\", null, [\n m.timePicker ? $(\"\", !0) : Ct((p(), _(\"div\", {\n key: 0,\n class: ve(d(q)),\n role: \"button\",\n \"aria-label\": (x = d(B).ariaLabels) == null ? void 0 : x.openTimePicker,\n tabindex: \"0\",\n \"data-test\": \"open-time-picker-btn\",\n ref_key: \"openTimePickerBtn\",\n ref: M,\n onKeydown: [\n N[0] || (N[0] = ue((oe) => Y(!0), [\"enter\"])),\n N[1] || (N[1] = ue((oe) => Y(!0), [\"space\"]))\n ],\n onClick: N[2] || (N[2] = (oe) => Y(!0))\n }, [\n m.$slots[\"clock-icon\"] ? K(m.$slots, \"clock-icon\", { key: 0 }) : $(\"\", !0),\n m.$slots[\"clock-icon\"] ? $(\"\", !0) : (p(), fe(d(Ln), { key: 1 }))\n ], 42, Wr)), [\n [Pt, !d(R)(\"time\")]\n ]),\n Qe(vt, {\n name: d(T)(H.value),\n css: d(U)\n }, {\n default: se(() => {\n var oe;\n return [\n H.value || m.timePicker ? (p(), _(\"div\", {\n key: 0,\n class: \"dp__overlay\",\n ref_key: \"overlayRef\",\n ref: J,\n tabindex: \"0\"\n }, [\n ne(\"div\", zr, [\n m.$slots[\"time-picker-overlay\"] ? K(m.$slots, \"time-picker-overlay\", {\n key: 0,\n hours: e.hours,\n minutes: e.minutes,\n seconds: e.seconds,\n setHours: le,\n setMinutes: S,\n setSeconds: P\n }) : $(\"\", !0),\n m.$slots[\"time-picker-overlay\"] ? $(\"\", !0) : (p(), _(\"div\", xr, [\n (p(!0), _(ce, null, we(d(V), (Q, I) => Ct((p(), fe(Hr, De({ key: I }, {\n ...m.$props,\n order: I,\n hours: Q.hours,\n minutes: Q.minutes,\n seconds: Q.seconds,\n closeTimePickerBtn: v.value,\n disabled: I === 0 ? m.fixedStart : m.fixedEnd\n }, {\n ref_for: !0,\n ref_key: \"timeInputRefs\",\n ref: A,\n \"onUpdate:hours\": (l) => le(ee(l, I, \"hours\")),\n \"onUpdate:minutes\": (l) => S(ee(l, I, \"minutes\")),\n \"onUpdate:seconds\": (l) => P(ee(l, I, \"seconds\")),\n onMounted: X,\n onOverlayClosed: X\n }), Ie({ _: 2 }, [\n we(d(z), (l, i) => ({\n name: l,\n fn: se((r) => [\n K(m.$slots, l, Se(Fe(r)))\n ])\n }))\n ]), 1040, [\"onUpdate:hours\", \"onUpdate:minutes\", \"onUpdate:seconds\"])), [\n [Pt, I === 0 ? !0 : d(Z)]\n ])), 128))\n ])),\n m.timePicker ? $(\"\", !0) : Ct((p(), _(\"div\", {\n key: 2,\n ref_key: \"closeTimePickerBtn\",\n ref: v,\n class: ve(d(q)),\n role: \"button\",\n \"aria-label\": (oe = d(B).ariaLabels) == null ? void 0 : oe.closeTimePicker,\n tabindex: \"0\",\n onKeydown: [\n N[3] || (N[3] = ue((Q) => Y(!1), [\"enter\"])),\n N[4] || (N[4] = ue((Q) => Y(!1), [\"space\"]))\n ],\n onClick: N[5] || (N[5] = (Q) => Y(!1))\n }, [\n m.$slots[\"calendar-icon\"] ? K(m.$slots, \"calendar-icon\", { key: 0 }) : $(\"\", !0),\n m.$slots[\"calendar-icon\"] ? $(\"\", !0) : (p(), fe(d(Et), { key: 1 }))\n ], 42, Kr)), [\n [Pt, !d(R)(\"time\")]\n ])\n ])\n ], 512)) : $(\"\", !0)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"])\n ]);\n };\n }\n}), Gr = (e, n) => {\n const { isDisabled: a, matchDate: t, getWeekFromDate: s } = Ve(n), f = W(null), h = W(b()), R = (r) => {\n !r.current && n.hideOffsetDates || (f.value = r.value);\n }, B = () => {\n f.value = null;\n }, T = (r) => Array.isArray(e.value) && n.range && e.value[0] && f.value ? r ? Oe(f.value, e.value[0]) : Ce(f.value, e.value[0]) : !0, U = (r, c) => {\n const D = () => e.value ? c ? e.value[0] || null : e.value[1] : null, L = e.value && Array.isArray(e.value) ? D() : null;\n return me(b(r.value), L);\n }, M = (r) => {\n const c = Array.isArray(e.value) ? e.value[0] : null;\n return r ? !Ce(f.value || null, c) : !0;\n }, v = (r, c = !0) => (n.range || n.weekPicker) && Array.isArray(e.value) ? n.hideOffsetDates && !r.current ? !1 : me(b(r.value), e.value[c ? 0 : 1]) : n.range ? U(r, c) && M(c) || me(r.value, Array.isArray(e.value) ? e.value[0] : null) && T(c) : !1, A = (r, c, D) => Array.isArray(e.value) && e.value[0] && e.value.length === 1 ? r ? !1 : D ? Oe(e.value[0], c.value) : Ce(e.value[0], c.value) : !1, J = (r) => !e.value || n.hideOffsetDates && !r.current ? !1 : n.range ? n.modelAuto && Array.isArray(e.value) ? me(r.value, e.value[0] ? e.value[0] : h.value) : !1 : n.multiDates && Array.isArray(e.value) ? e.value.some((c) => me(c, r.value)) : me(r.value, e.value ? e.value : h.value), Z = (r) => {\n if (n.autoRange || n.weekPicker) {\n if (f.value) {\n if (n.hideOffsetDates && !r.current)\n return !1;\n const c = ft(f.value, +n.autoRange), D = s(b(f.value));\n return n.weekPicker ? me(D[1], b(r.value)) : me(c, b(r.value));\n }\n return !1;\n }\n return !1;\n }, H = (r) => {\n if (n.autoRange || n.weekPicker) {\n if (f.value) {\n const c = ft(f.value, +n.autoRange);\n if (n.hideOffsetDates && !r.current)\n return !1;\n const D = s(b(f.value));\n return n.weekPicker ? Oe(r.value, D[0]) && Ce(r.value, D[1]) : Oe(r.value, f.value) && Ce(r.value, c);\n }\n return !1;\n }\n return !1;\n }, C = (r) => {\n if (n.autoRange || n.weekPicker) {\n if (f.value) {\n if (n.hideOffsetDates && !r.current)\n return !1;\n const c = s(b(f.value));\n return n.weekPicker ? me(c[0], r.value) : me(f.value, r.value);\n }\n return !1;\n }\n return !1;\n }, V = (r) => Wn(e.value, f.value, r.value), Y = () => n.modelAuto && Array.isArray(n.internalModelValue) ? !!n.internalModelValue[0] : !1, q = () => n.modelAuto ? jn(n.internalModelValue) : !0, z = (r) => {\n if (Array.isArray(e.value) && e.value.length || n.weekPicker)\n return !1;\n const c = n.range ? !v(r) && !v(r, !1) : !0;\n return !a(r.value) && !J(r) && !(!r.current && n.hideOffsetDates) && c;\n }, ee = (r) => n.range ? n.modelAuto ? Y() && J(r) : !1 : J(r), le = (r) => n.highlight ? t(r.value, n.highlight) : !1, S = (r) => a(r.value) && n.highlightDisabledDays === !1, P = (r) => n.highlightWeekDays && n.highlightWeekDays.includes(r.value.getDay()), X = (r) => (n.range || n.weekPicker) && (!(n.multiCalendars > 0) || r.current) && q() && !(!r.current && n.hideOffsetDates) && !J(r) ? V(r) : !1, m = (r) => {\n const { isRangeStart: c, isRangeEnd: D } = oe(r), L = n.range ? c || D : !1;\n return {\n dp__cell_offset: !r.current,\n dp__pointer: !n.disabled && !(!r.current && n.hideOffsetDates) && !a(r.value),\n dp__cell_disabled: a(r.value),\n dp__cell_highlight: !S(r) && (le(r) || P(r)) && !ee(r) && !L,\n dp__cell_highlight_active: !S(r) && (le(r) || P(r)) && ee(r),\n dp__today: !n.noToday && me(r.value, h.value) && r.current\n };\n }, N = (r) => ({\n dp__active_date: ee(r),\n dp__date_hover: z(r)\n }), x = (r) => ({\n ...Q(r),\n ...I(r),\n dp__range_between_week: X(r) && n.weekPicker\n }), oe = (r) => {\n const c = n.multiCalendars > 0 ? r.current && v(r) && q() : v(r) && q(), D = n.multiCalendars > 0 ? r.current && v(r, !1) && q() : v(r, !1) && q();\n return { isRangeStart: c, isRangeEnd: D };\n }, Q = (r) => {\n const { isRangeStart: c, isRangeEnd: D } = oe(r);\n return {\n dp__range_start: c,\n dp__range_end: D,\n dp__range_between: X(r) && !n.weekPicker,\n dp__date_hover_start: A(z(r), r, !0),\n dp__date_hover_end: A(z(r), r, !1)\n };\n }, I = (r) => ({\n ...Q(r),\n dp__cell_auto_range: H(r),\n dp__cell_auto_range_start: C(r),\n dp__cell_auto_range_end: Z(r)\n }), l = (r) => n.range ? n.autoRange ? I(r) : n.modelAuto ? { ...N(r), ...Q(r) } : Q(r) : n.weekPicker ? x(r) : N(r);\n return {\n setHoverDate: R,\n clearHoverDate: B,\n getDayClassData: (r) => ({\n ...m(r),\n ...l(r),\n [n.dayClass ? n.dayClass(r.value) : \"\"]: !0,\n [n.calendarCellClassName]: !!n.calendarCellClassName\n })\n };\n}, Zr = [\"id\", \"onKeydown\"], Xr = {\n key: 0,\n class: \"dp__sidebar_left\"\n}, qr = {\n key: 1,\n class: \"dp__preset_ranges\"\n}, Jr = [\"onClick\"], Qr = {\n key: 2,\n class: \"dp__sidebar_right\"\n}, el = {\n key: 3,\n class: \"dp__now_wrap\"\n}, tl = /* @__PURE__ */ He({\n __name: \"DatepickerMenu\",\n props: {\n openOnTop: { type: Boolean, default: !1 },\n internalModelValue: { type: [Date, Array], default: null },\n ...nt\n },\n emits: [\n \"close-picker\",\n \"select-date\",\n \"auto-apply\",\n \"time-update\",\n \"flow-step\",\n \"update-month-year\",\n \"invalid-select\",\n \"update:internal-model-value\",\n \"recalculate-position\",\n \"invalid-fixed-range\",\n \"tooltip-open\",\n \"tooltip-close\",\n \"time-picker-open\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, { setMenuFocused: s, setShiftKey: f, control: h } = zn(), { getCalendarDays: R, defaults: B } = Ve(t), T = on(), U = W(null), M = Mt({\n timePicker: !!(!t.enableTimePicker || t.timePicker || t.monthPicker),\n monthYearInput: !!t.timePicker,\n calendar: !1\n }), v = W([]), A = W([]), J = W(null), Z = W(null), H = W(!1), C = W(0);\n Ue(() => {\n H.value = !0;\n const o = $e(Z);\n if (o && !t.textInput && !t.inline && (s(!0), le()), o) {\n const k = (j) => {\n [\"action-row\", \"time-picker\", \"month-year\"].some(\n (de) => Object.keys(T).includes(de)\n ) || j.preventDefault(), j.stopImmediatePropagation(), j.stopPropagation();\n };\n o.addEventListener(\"pointerdown\", k), o.addEventListener(\"mousedown\", k);\n }\n });\n const { arrowRight: V, arrowLeft: Y, arrowDown: q, arrowUp: z } = tt(), ee = (o) => {\n o || o === 0 ? A.value[o].triggerTransition(\n N.value(o),\n x.value(o)\n ) : A.value.forEach(\n (k, j) => k.triggerTransition(N.value(j), x.value(j))\n );\n }, le = () => {\n const o = $e(Z);\n o && o.focus({ preventScroll: !0 });\n }, S = () => {\n var o;\n (o = t.flow) != null && o.length && C.value !== -1 && (C.value += 1, a(\"flow-step\", C.value), xt());\n }, P = () => {\n C.value = -1;\n }, {\n calendars: X,\n modelValue: m,\n month: N,\n year: x,\n time: oe,\n updateTime: Q,\n updateMonthYear: I,\n selectDate: l,\n getWeekNum: i,\n monthYearSelect: r,\n handleScroll: c,\n handleArrow: D,\n handleSwipe: L,\n getMarker: O,\n selectCurrentDate: g,\n presetDateRange: w\n } = qa(t, a, S, ee, C), { setHoverDate: y, clearHoverDate: F, getDayClassData: ie } = Gr(m, t);\n et(\n X,\n () => {\n t.openOnTop && setTimeout(() => {\n a(\"recalculate-position\");\n }, 0);\n },\n { deep: !0 }\n );\n const Pe = it(T, \"calendar\"), Ze = it(T, \"action\"), re = it(T, \"timePicker\"), Xe = it(T, \"monthYear\"), ze = E(() => t.openOnTop ? \"dp__arrow_bottom\" : \"dp__arrow_top\"), _e = E(() => Ua(t.yearRange, t.reverseYears)), at = E(() => Ha(t.locale, t.monthNameFormat)), te = E(() => (o) => R(N.value(o), x.value(o))), ge = E(\n () => B.value.multiCalendars > 0 && t.range ? [...Array(B.value.multiCalendars).keys()] : [0]\n ), ye = E(\n () => (o) => o === 1\n ), qe = E(() => t.monthPicker || t.timePicker || t.yearPicker), Be = E(\n () => ({\n dp__flex_display: B.value.multiCalendars > 0\n })\n ), Tt = E(() => ({\n dp__instance_calendar: B.value.multiCalendars > 0\n })), Lt = E(() => ({\n dp__menu_disabled: t.disabled,\n dp__menu_readonly: t.readonly\n })), Ut = E(\n () => (o) => At(te, o)\n ), Ht = E(\n () => ({\n dp__menu: !0,\n dp__menu_index: !t.inline,\n dp__relative: t.inline,\n [t.menuClassName]: !!t.menuClassName\n })\n ), At = (o, k) => o.value(k).map((j) => ({\n ...j,\n days: j.days.map((de) => (de.marker = O(de), de.classData = ie(de), de))\n })), yt = (o) => {\n o.stopPropagation(), o.stopImmediatePropagation();\n }, Wt = () => {\n t.escClose && a(\"close-picker\");\n }, zt = (o, k = !1) => {\n l(o, k), t.spaceConfirm && a(\"select-date\");\n }, gt = (o) => {\n var k;\n (k = t.flow) != null && k.length && (M[o] = !0, Object.keys(M).filter((j) => !M[j]).length || xt());\n }, Je = (o, k, j, de, ...Ye) => {\n if (t.flow[C.value] === o) {\n const G = de ? k.value[0] : k.value;\n G && G[j](...Ye);\n }\n }, xt = () => {\n Je(\"month\", v, \"toggleMonthPicker\", !0, !0), Je(\"year\", v, \"toggleYearPicker\", !0, !0), Je(\"calendar\", J, \"toggleTimePicker\", !1, !1, !0), Je(\"time\", J, \"toggleTimePicker\", !1, !0, !0);\n const o = t.flow[C.value];\n (o === \"hours\" || o === \"minutes\" || o === \"seconds\") && Je(o, J, \"toggleTimePicker\", !1, !0, !0, o);\n }, ht = (o) => {\n if (t.arrowNavigation) {\n if (o === \"up\")\n return z();\n if (o === \"down\")\n return q();\n if (o === \"left\")\n return Y();\n if (o === \"right\")\n return V();\n } else\n o === \"left\" || o === \"up\" ? D(\"left\", 0, o === \"up\") : D(\"right\", 0, o === \"down\");\n }, vn = (o) => {\n f(o.shiftKey), !t.disableMonthYearSelect && o.code === \"Tab\" && o.target.classList.contains(\"dp__menu\") && h.value.shiftKeyInMenu && (o.preventDefault(), o.stopImmediatePropagation(), a(\"close-picker\"));\n }, u = (o) => {\n v.value[0] && v.value[0].handleMonthYearChange(o);\n };\n return n({\n updateMonthYear: I\n }), (o, k) => {\n var j;\n return p(), fe(vt, {\n appear: \"\",\n name: (j = d(B).transitions) == null ? void 0 : j.menuAppear,\n mode: \"out-in\",\n css: !!o.transitions\n }, {\n default: se(() => {\n var de, Ye;\n return [\n ne(\"div\", {\n id: o.uid ? `dp-menu-${o.uid}` : void 0,\n tabindex: \"0\",\n ref_key: \"dpMenuRef\",\n ref: Z,\n role: \"dialog\",\n class: ve(d(Ht)),\n onMouseleave: k[15] || (k[15] = //@ts-ignore\n (...G) => d(F) && d(F)(...G)),\n onClick: yt,\n onKeydown: [\n ue(Wt, [\"esc\"]),\n k[16] || (k[16] = ue(Ge((G) => ht(\"left\"), [\"prevent\"]), [\"left\"])),\n k[17] || (k[17] = ue(Ge((G) => ht(\"up\"), [\"prevent\"]), [\"up\"])),\n k[18] || (k[18] = ue(Ge((G) => ht(\"down\"), [\"prevent\"]), [\"down\"])),\n k[19] || (k[19] = ue(Ge((G) => ht(\"right\"), [\"prevent\"]), [\"right\"])),\n vn\n ]\n }, [\n (o.disabled || o.readonly) && o.inline ? (p(), _(\"div\", {\n key: 0,\n class: ve(d(Lt))\n }, null, 2)) : $(\"\", !0),\n !o.inline && !o.teleportCenter ? (p(), _(\"div\", {\n key: 1,\n class: ve(d(ze))\n }, null, 2)) : $(\"\", !0),\n ne(\"div\", {\n class: ve({\n dp__menu_content_wrapper: ((de = o.presetRanges) == null ? void 0 : de.length) || !!o.$slots[\"left-sidebar\"] || !!o.$slots[\"right-sidebar\"]\n })\n }, [\n o.$slots[\"left-sidebar\"] ? (p(), _(\"div\", Xr, [\n K(o.$slots, \"left-sidebar\", Se(Fe({ handleMonthYearChange: u })))\n ])) : $(\"\", !0),\n (Ye = o.presetRanges) != null && Ye.length ? (p(), _(\"div\", qr, [\n (p(!0), _(ce, null, we(o.presetRanges, (G, xe) => (p(), _(\"div\", {\n key: xe,\n style: lt(G.style || {}),\n class: \"dp__preset_range\",\n onClick: (ae) => d(w)(G.range, !!G.slot)\n }, [\n G.slot ? K(o.$slots, G.slot, {\n key: 0,\n presetDateRange: d(w),\n label: G.label,\n range: G.range\n }) : (p(), _(ce, { key: 1 }, [\n We(Ae(G.label), 1)\n ], 64))\n ], 12, Jr))), 128))\n ])) : $(\"\", !0),\n ne(\"div\", {\n class: \"dp__instance_calendar\",\n ref_key: \"calendarWrapperRef\",\n ref: U,\n role: \"document\"\n }, [\n ne(\"div\", {\n class: ve(d(Be))\n }, [\n (p(!0), _(ce, null, we(d(ge), (G, xe) => (p(), _(\"div\", {\n key: G,\n class: ve(d(Tt))\n }, [\n !o.disableMonthYearSelect && !o.timePicker ? (p(), fe(Br, De({\n key: 0,\n ref_for: !0,\n ref: (ae) => {\n ae && (v.value[xe] = ae);\n },\n months: d(at),\n years: d(_e),\n month: d(N)(G),\n year: d(x)(G),\n instance: G,\n \"internal-model-value\": e.internalModelValue\n }, o.$props, {\n onMount: k[0] || (k[0] = (ae) => gt(\"monthYearInput\")),\n onResetFlow: P,\n onUpdateMonthYear: (ae) => d(I)(G, ae),\n onMonthYearSelect: d(r),\n onOverlayClosed: le\n }), Ie({ _: 2 }, [\n we(d(Xe), (ae, Zn) => ({\n name: ae,\n fn: se((Kt) => [\n K(o.$slots, ae, Se(Fe(Kt)))\n ])\n }))\n ]), 1040, [\"months\", \"years\", \"month\", \"year\", \"instance\", \"internal-model-value\", \"onUpdateMonthYear\", \"onMonthYearSelect\"])) : $(\"\", !0),\n Qe(Dr, De({\n ref_for: !0,\n ref: (ae) => {\n ae && (A.value[xe] = ae);\n },\n \"specific-mode\": d(qe),\n \"get-week-num\": d(i),\n instance: G,\n \"mapped-dates\": d(Ut)(G),\n month: d(N)(G),\n year: d(x)(G)\n }, o.$props, {\n \"flow-step\": C.value,\n \"onUpdate:flowStep\": k[1] || (k[1] = (ae) => C.value = ae),\n onSelectDate: (ae) => d(l)(ae, !d(ye)(G)),\n onHandleSpace: (ae) => zt(ae, !d(ye)(G)),\n onSetHoverDate: k[2] || (k[2] = (ae) => d(y)(ae)),\n onHandleScroll: (ae) => d(c)(ae, G),\n onHandleSwipe: (ae) => d(L)(ae, G),\n onMount: k[3] || (k[3] = (ae) => gt(\"calendar\")),\n onResetFlow: P,\n onTooltipOpen: k[4] || (k[4] = (ae) => o.$emit(\"tooltip-open\", ae)),\n onTooltipClose: k[5] || (k[5] = (ae) => o.$emit(\"tooltip-close\", ae))\n }), Ie({ _: 2 }, [\n we(d(Pe), (ae, Zn) => ({\n name: ae,\n fn: se((Kt) => [\n K(o.$slots, ae, Se(Fe({ ...Kt })))\n ])\n }))\n ]), 1040, [\"specific-mode\", \"get-week-num\", \"instance\", \"mapped-dates\", \"month\", \"year\", \"flow-step\", \"onSelectDate\", \"onHandleSpace\", \"onHandleScroll\", \"onHandleSwipe\"])\n ], 2))), 128))\n ], 2),\n ne(\"div\", null, [\n o.$slots[\"time-picker\"] ? K(o.$slots, \"time-picker\", Se(De({ key: 0 }, { time: d(oe), updateTime: d(Q) }))) : (p(), _(ce, { key: 1 }, [\n o.enableTimePicker && !o.monthPicker && !o.weekPicker ? (p(), fe(jr, De({\n key: 0,\n ref_key: \"timePickerRef\",\n ref: J,\n hours: d(oe).hours,\n minutes: d(oe).minutes,\n seconds: d(oe).seconds,\n \"internal-model-value\": e.internalModelValue\n }, o.$props, {\n onMount: k[6] || (k[6] = (G) => gt(\"timePicker\")),\n \"onUpdate:hours\": k[7] || (k[7] = (G) => d(Q)(G)),\n \"onUpdate:minutes\": k[8] || (k[8] = (G) => d(Q)(G, !1)),\n \"onUpdate:seconds\": k[9] || (k[9] = (G) => d(Q)(G, !1, !0)),\n onResetFlow: P,\n onOverlayClosed: le,\n onOverlayOpened: k[10] || (k[10] = (G) => o.$emit(\"time-picker-open\", G))\n }), Ie({ _: 2 }, [\n we(d(re), (G, xe) => ({\n name: G,\n fn: se((ae) => [\n K(o.$slots, G, Se(Fe(ae)))\n ])\n }))\n ]), 1040, [\"hours\", \"minutes\", \"seconds\", \"internal-model-value\"])) : $(\"\", !0)\n ], 64))\n ])\n ], 512),\n o.$slots[\"right-sidebar\"] ? (p(), _(\"div\", Qr, [\n K(o.$slots, \"right-sidebar\", Se(Fe({ handleMonthYearChange: u })))\n ])) : $(\"\", !0),\n o.showNowButton ? (p(), _(\"div\", el, [\n o.$slots[\"now-button\"] ? K(o.$slots, \"now-button\", {\n key: 0,\n selectCurrentDate: d(g)\n }) : $(\"\", !0),\n o.$slots[\"now-button\"] ? $(\"\", !0) : (p(), _(\"button\", {\n key: 1,\n type: \"button\",\n role: \"button\",\n class: \"dp__now_button\",\n onClick: k[11] || (k[11] = //@ts-ignore\n (...G) => d(g) && d(g)(...G))\n }, Ae(o.nowButtonLabel), 1))\n ])) : $(\"\", !0)\n ], 2),\n !o.autoApply || o.keepActionRow ? (p(), fe(mr, De({\n key: 2,\n \"menu-mount\": H.value,\n \"internal-model-value\": e.internalModelValue\n }, o.$props, {\n onClosePicker: k[12] || (k[12] = (G) => o.$emit(\"close-picker\")),\n onSelectDate: k[13] || (k[13] = (G) => o.$emit(\"select-date\")),\n onInvalidSelect: k[14] || (k[14] = (G) => o.$emit(\"invalid-select\"))\n }), Ie({ _: 2 }, [\n we(d(Ze), (G, xe) => ({\n name: G,\n fn: se((ae) => [\n K(o.$slots, G, Se(Fe({ ...ae })))\n ])\n }))\n ]), 1040, [\"menu-mount\", \"internal-model-value\"])) : $(\"\", !0)\n ], 42, Zr)\n ];\n }),\n _: 3\n }, 8, [\"name\", \"css\"]);\n };\n }\n}), nl = typeof window < \"u\" ? window : void 0, nn = () => {\n}, al = (e) => qn() ? (Jn(e), !0) : !1, rl = (e, n, a, t) => {\n if (!e)\n return nn;\n let s = nn;\n const f = et(\n () => d(e),\n (R) => {\n s(), R && (R.addEventListener(n, a, t), s = () => {\n R.removeEventListener(n, a, t), s = nn;\n });\n },\n { immediate: !0, flush: \"post\" }\n ), h = () => {\n f(), s();\n };\n return al(h), h;\n}, ll = (e, n, a, t = {}) => {\n const { window: s = nl, event: f = \"pointerdown\" } = t;\n return s ? rl(s, f, (R) => {\n const B = $e(e), T = $e(n);\n !B || !T || B === R.target || R.composedPath().includes(B) || R.composedPath().includes(T) || a(R);\n }, { passive: !0 }) : void 0;\n}, ol = /* @__PURE__ */ He({\n __name: \"VueDatePicker\",\n props: {\n ...nt\n },\n emits: [\n \"update:model-value\",\n \"text-submit\",\n \"closed\",\n \"cleared\",\n \"open\",\n \"focus\",\n \"blur\",\n \"internal-model-change\",\n \"recalculate-position\",\n \"flow-step\",\n \"update-month-year\",\n \"invalid-select\",\n \"invalid-fixed-range\",\n \"tooltip-open\",\n \"tooltip-close\",\n \"time-picker-open\"\n ],\n setup(e, { expose: n, emit: a }) {\n const t = e, s = on(), f = W(!1), h = $t(t, \"modelValue\"), R = $t(t, \"timezone\"), B = W(null), T = W(null), U = W(!1), M = W(null), { setMenuFocused: v, setShiftKey: A } = zn(), { clearArrowNav: J } = tt(), { validateDate: Z, isValidTime: H } = Ve(t);\n Ue(() => {\n X(t.modelValue), t.inline || (le(M.value).addEventListener(\"scroll\", l), window.addEventListener(\"resize\", i)), t.inline && (f.value = !0);\n }), On(() => {\n if (!t.inline) {\n const te = le(M.value);\n te && te.removeEventListener(\"scroll\", l), window.removeEventListener(\"resize\", i);\n }\n });\n const C = it(s, \"all\", t.presetRanges), V = it(s, \"input\");\n et(\n [h, R],\n () => {\n X(h.value);\n },\n { deep: !0 }\n );\n const { openOnTop: Y, menuPosition: q, setMenuPosition: z, setInitialPosition: ee, getScrollableParent: le } = er(\n B,\n T,\n a,\n t\n ), {\n inputValue: S,\n internalModelValue: P,\n parseExternalModelValue: X,\n emitModelValue: m,\n formatInputValue: N,\n checkBeforeEmit: x\n } = Ja(a, t, U), oe = E(\n () => ({\n dp__main: !0,\n dp__theme_dark: t.dark,\n dp__theme_light: !t.dark,\n dp__flex_display: t.inline,\n dp__flex_display_with_input: t.inlineWithInput\n })\n ), Q = E(() => t.dark ? \"dp__theme_dark\" : \"dp__theme_light\"), I = E(() => t.teleport ? {\n to: typeof t.teleport == \"boolean\" ? \"body\" : t.teleport,\n disabled: t.inline\n } : { class: \"dp__outer_menu_wrap\" }), l = () => {\n f.value && (t.closeOnScroll ? F() : z());\n }, i = () => {\n f.value && z();\n }, r = () => {\n !t.disabled && !t.readonly && (ee(), f.value = !0, dt().then(() => {\n z(), f.value && a(\"open\");\n }), f.value || y(), X(t.modelValue));\n }, c = () => {\n S.value = \"\", y(), a(\"update:model-value\", null), a(\"cleared\"), F();\n }, D = () => {\n const te = P.value;\n return !te || !Array.isArray(te) && Z(te) ? !0 : Array.isArray(te) ? te.length === 2 && Z(te[0]) && Z(te[1]) ? !0 : Z(te[0]) : !1;\n }, L = () => {\n x() && D() ? (m(), F()) : a(\"invalid-select\", P.value);\n }, O = (te) => {\n g(), m(), t.closeOnAutoApply && !te && F();\n }, g = () => {\n T.value && t.textInput && T.value.setParsedDate(P.value);\n }, w = (te = !1) => {\n t.autoApply && H(P.value) && D() && (t.range && Array.isArray(P.value) ? (t.partialRange || P.value.length === 2) && O(te) : O(te));\n }, y = () => {\n t.textInput || (P.value = null);\n }, F = () => {\n t.inline || (f.value && (f.value = !1, v(!1), A(!1), J(), a(\"closed\"), ee(), S.value && X(h.value)), y());\n }, ie = (te, ge) => {\n if (!te) {\n P.value = null;\n return;\n }\n P.value = te, ge && (L(), a(\"text-submit\"));\n }, Pe = () => {\n t.autoApply && H(P.value) && m(), g();\n }, Ze = () => f.value ? F() : r(), re = (te) => {\n P.value = te;\n }, Xe = () => {\n t.textInput && (U.value = !0, N()), a(\"focus\");\n }, ze = () => {\n t.textInput && (U.value = !1, X(t.modelValue)), a(\"blur\");\n }, _e = (te) => {\n B.value && B.value.updateMonthYear(0, {\n month: Cn(te.month),\n year: Cn(te.year)\n });\n }, at = (te) => {\n X(te || t.modelValue);\n };\n return ll(\n B,\n T,\n t.onClickOutside ? () => t.onClickOutside(D) : F\n ), n({\n closeMenu: F,\n selectDate: L,\n clearValue: c,\n openMenu: r,\n onScroll: l,\n formatInputValue: N,\n // exposed for testing purposes\n updateInternalModelValue: re,\n // modify internal modelValue\n setMonthYear: _e,\n parseModel: at\n }), (te, ge) => (p(), _(\"div\", {\n class: ve(d(oe)),\n ref_key: \"pickerWrapperRef\",\n ref: M\n }, [\n Qe(ir, De({\n ref_key: \"inputRef\",\n ref: T,\n \"is-menu-open\": f.value,\n \"input-value\": d(S),\n \"onUpdate:inputValue\": ge[0] || (ge[0] = (ye) => ot(S) ? S.value = ye : null)\n }, te.$props, {\n onClear: c,\n onOpen: r,\n onSetInputDate: ie,\n onSetEmptyDate: d(m),\n onSelectDate: L,\n onToggle: Ze,\n onClose: F,\n onFocus: Xe,\n onBlur: ze\n }), Ie({ _: 2 }, [\n we(d(V), (ye, qe) => ({\n name: ye,\n fn: se((Be) => [\n K(te.$slots, ye, Se(Fe(Be)))\n ])\n }))\n ]), 1040, [\"is-menu-open\", \"input-value\", \"onSetEmptyDate\"]),\n f.value ? (p(), fe(In(te.teleport ? Qn : \"div\"), Se(De({ key: 0 }, d(I))), {\n default: se(() => [\n f.value ? (p(), fe(tl, De({\n key: 0,\n ref_key: \"dpMenuRef\",\n ref: B,\n class: d(Q),\n style: d(q),\n \"open-on-top\": d(Y)\n }, te.$props, {\n \"internal-model-value\": d(P),\n \"onUpdate:internalModelValue\": ge[1] || (ge[1] = (ye) => ot(P) ? P.value = ye : null),\n onClosePicker: F,\n onSelectDate: L,\n onAutoApply: w,\n onTimeUpdate: Pe,\n onFlowStep: ge[2] || (ge[2] = (ye) => te.$emit(\"flow-step\", ye)),\n onUpdateMonthYear: ge[3] || (ge[3] = (ye) => te.$emit(\"update-month-year\", ye)),\n onInvalidSelect: ge[4] || (ge[4] = (ye) => te.$emit(\"invalid-select\", d(P))),\n onInvalidFixedRange: ge[5] || (ge[5] = (ye) => te.$emit(\"invalid-fixed-range\", ye)),\n onRecalculatePosition: d(z),\n onTooltipOpen: ge[6] || (ge[6] = (ye) => te.$emit(\"tooltip-open\", ye)),\n onTooltipClose: ge[7] || (ge[7] = (ye) => te.$emit(\"tooltip-close\", ye)),\n onTimePickerOpen: ge[8] || (ge[8] = (ye) => te.$emit(\"time-picker-open\", ye))\n }), Ie({ _: 2 }, [\n we(d(C), (ye, qe) => ({\n name: ye,\n fn: se((Be) => [\n K(te.$slots, ye, Se(Fe({ ...Be })))\n ])\n }))\n ]), 1040, [\"class\", \"style\", \"open-on-top\", \"internal-model-value\", \"onRecalculatePosition\"])) : $(\"\", !0)\n ]),\n _: 3\n }, 16)) : $(\"\", !0)\n ], 2));\n }\n}), Gn = /* @__PURE__ */ (() => {\n const e = ol;\n return e.install = (n) => {\n n.component(\"Vue3DatePicker\", e);\n }, e;\n})(), sl = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: Gn\n}, Symbol.toStringTag, { value: \"Module\" }));\nObject.entries(sl).forEach(([e, n]) => {\n e !== \"default\" && (Gn[e] = n);\n});\nexport {\n Gn as default\n};\n"], - "mappings": "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", - "names": ["_typeof", "obj", "_typeof", "obj", "defaultOptions", "_typeof", "obj", "defaultOptions", "MILLISECONDS_IN_DAY", "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", "lastDayOfMonth", "MILLISECONDS_IN_WEEK", "MILLISECONDS_IN_DAY", "defaultOptions", "defaultOptions", "MILLISECONDS_IN_WEEK", "_typeof", "obj", "_setPrototypeOf", "o", "p", "e", "_getPrototypeOf", "i", "Setter", "ValueSetter", "set", "DateToSystemTimezoneSetter", "_classCallCheck", "_defineProperties", "i", "_createClass", "Parser", "match", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "EraParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "YearParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "LocalWeekYearParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ISOWeekYearParser", "parse", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ExtendedYearParser", "parse", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "QuarterParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "StandAloneQuarterParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "MonthParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "StandAloneMonthParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "LocalWeekParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ISOWeekParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "DateParser", "parse", "match", "isLeapYear", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "DayOfYearParser", "parse", "match", "isLeapYear", "set", "defaultOptions", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "DayParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "LocalDayParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "StandAloneLocalDayParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ISODayParser", "parse", "match", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "AMPMParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "AMPMMidnightParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "DayPeriodParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "Hour1to12Parser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "Hour0to23Parser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "Hour0To11Parser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "Hour1To24Parser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "MinuteParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "SecondParser", "parse", "match", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "FractionOfSecondParser", "parse", "valueCallback", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ISOTimezoneWithZParser", "parse", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "ISOTimezoneParser", "parse", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "TimestampSecondsParser", "parse", "set", "_typeof", "obj", "_classCallCheck", "_defineProperties", "i", "_createClass", "_inherits", "_setPrototypeOf", "o", "p", "_createSuper", "_isNativeReflectConstruct", "_getPrototypeOf", "_possibleConstructorReturn", "_assertThisInitialized", "e", "_defineProperty", "TimestampMillisecondsParser", "parse", "set", "_typeof", "obj", "it", "i", "F", "e", "s", "formattingTokensRegExp", "longFormattingTokensRegExp", "escapedStringRegExp", "doubleQuoteRegExp", "unescapedLatinCharacterRegExp", "defaultOptions", "locale", "_loop", "cleanEscapedString", "setter", "a", "b", "isLeapYearIndex", "_typeof", "obj", "milliseconds", "_typeof", "obj", "e", "a", "t", "s", "h", "b", "R", "B", "T", "M", "i", "c", "D", "O", "w", "y", "H", "Y", "q", "z", "L", "S", "X", "m", "x", "Q", "I", "u", "k", "G"] -} diff --git a/docs/.vitepress/cache/deps/@vueuse_components.js b/docs/.vitepress/cache/deps/@vueuse_components.js deleted file mode 100644 index 186b1cbd4..000000000 --- a/docs/.vitepress/cache/deps/@vueuse_components.js +++ /dev/null @@ -1,4639 +0,0 @@ -import { - computed, - customRef, - defineComponent, - getCurrentInstance, - getCurrentScope, - h, - isReadonly, - isRef, - nextTick, - onMounted, - onScopeDispose, - reactive, - readonly, - ref, - shallowRef, - toRef, - toRefs, - unref, - watch, - watchEffect -} from "./chunk-2YWP3TL2.js"; -import "./chunk-ROME4SDB.js"; - -// node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.mjs -var isVue3 = true; - -// node_modules/@vueuse/shared/index.mjs -function computedWithControl(source, fn) { - let v = void 0; - let track; - let trigger; - const dirty = ref(true); - const update = () => { - dirty.value = true; - trigger(); - }; - watch(source, update, { flush: "sync" }); - const get = typeof fn === "function" ? fn : fn.get; - const set3 = typeof fn === "function" ? void 0 : fn.set; - const result = customRef((_track, _trigger) => { - track = _track; - trigger = _trigger; - return { - get() { - if (dirty.value) { - v = get(); - dirty.value = false; - } - track(); - return v; - }, - set(v2) { - set3 == null ? void 0 : set3(v2); - } - }; - }); - if (Object.isExtensible(result)) - result.trigger = update; - return result; -} -function tryOnScopeDispose(fn) { - if (getCurrentScope()) { - onScopeDispose(fn); - return true; - } - return false; -} -function toValue(r) { - return typeof r === "function" ? r() : unref(r); -} -var isClient = typeof window !== "undefined" && typeof document !== "undefined"; -var notNullish = (val) => val != null; -var toString = Object.prototype.toString; -var isObject = (val) => toString.call(val) === "[object Object]"; -var timestamp = () => +Date.now(); -var clamp = (n, min, max) => Math.min(max, Math.max(min, n)); -var noop = () => { -}; -var isIOS = getIsIOS(); -function getIsIOS() { - var _a; - return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent); -} -function createFilterWrapper(filter, fn) { - function wrapper(...args) { - return new Promise((resolve, reject) => { - Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject); - }); - } - return wrapper; -} -var bypassFilter = (invoke) => { - return invoke(); -}; -function debounceFilter(ms, options = {}) { - let timer; - let maxTimer; - let lastRejector = noop; - const _clearTimeout = (timer2) => { - clearTimeout(timer2); - lastRejector(); - lastRejector = noop; - }; - const filter = (invoke) => { - const duration = toValue(ms); - const maxDuration = toValue(options.maxWait); - if (timer) - _clearTimeout(timer); - if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) { - if (maxTimer) { - _clearTimeout(maxTimer); - maxTimer = null; - } - return Promise.resolve(invoke()); - } - return new Promise((resolve, reject) => { - lastRejector = options.rejectOnCancel ? reject : resolve; - if (maxDuration && !maxTimer) { - maxTimer = setTimeout(() => { - if (timer) - _clearTimeout(timer); - maxTimer = null; - resolve(invoke()); - }, maxDuration); - } - timer = setTimeout(() => { - if (maxTimer) - _clearTimeout(maxTimer); - maxTimer = null; - resolve(invoke()); - }, duration); - }); - }; - return filter; -} -function throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) { - let lastExec = 0; - let timer; - let isLeading = true; - let lastRejector = noop; - let lastValue; - const clear = () => { - if (timer) { - clearTimeout(timer); - timer = void 0; - lastRejector(); - lastRejector = noop; - } - }; - const filter = (_invoke) => { - const duration = toValue(ms); - const elapsed = Date.now() - lastExec; - const invoke = () => { - return lastValue = _invoke(); - }; - clear(); - if (duration <= 0) { - lastExec = Date.now(); - return invoke(); - } - if (elapsed > duration && (leading || !isLeading)) { - lastExec = Date.now(); - invoke(); - } else if (trailing) { - lastValue = new Promise((resolve, reject) => { - lastRejector = rejectOnCancel ? reject : resolve; - timer = setTimeout(() => { - lastExec = Date.now(); - isLeading = true; - resolve(invoke()); - clear(); - }, Math.max(0, duration - elapsed)); - }); - } - if (!leading && !timer) - timer = setTimeout(() => isLeading = true, duration); - isLeading = false; - return lastValue; - }; - return filter; -} -function pausableFilter(extendFilter = bypassFilter) { - const isActive = ref(true); - function pause() { - isActive.value = false; - } - function resume() { - isActive.value = true; - } - const eventFilter = (...args) => { - if (isActive.value) - extendFilter(...args); - }; - return { isActive: readonly(isActive), pause, resume, eventFilter }; -} -var directiveHooks = { - mounted: isVue3 ? "mounted" : "inserted", - updated: isVue3 ? "updated" : "componentUpdated", - unmounted: isVue3 ? "unmounted" : "unbind" -}; -function cacheStringFunction(fn) { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -} -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); -var camelizeRE = /-(\w)/g; -var camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); -}); -function promiseTimeout(ms, throwOnTimeout = false, reason = "Timeout") { - return new Promise((resolve, reject) => { - if (throwOnTimeout) - setTimeout(() => reject(reason), ms); - else - setTimeout(resolve, ms); - }); -} -function identity(arg) { - return arg; -} -function createSingletonPromise(fn) { - let _promise; - function wrapper() { - if (!_promise) - _promise = fn(); - return _promise; - } - wrapper.reset = async () => { - const _prev = _promise; - _promise = void 0; - if (_prev) - await _prev; - }; - return wrapper; -} -function objectPick(obj, keys2, omitUndefined = false) { - return keys2.reduce((n, k) => { - if (k in obj) { - if (!omitUndefined || obj[k] !== void 0) - n[k] = obj[k]; - } - return n; - }, {}); -} -function objectEntries(obj) { - return Object.entries(obj); -} -function toRef2(...args) { - if (args.length !== 1) - return toRef(...args); - const r = args[0]; - return typeof r === "function" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r); -} -function useDebounceFn(fn, ms = 200, options = {}) { - return createFilterWrapper( - debounceFilter(ms, options), - fn - ); -} -function useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) { - return createFilterWrapper( - throttleFilter(ms, trailing, leading, rejectOnCancel), - fn - ); -} -function watchWithFilter(source, cb, options = {}) { - const { - eventFilter = bypassFilter, - ...watchOptions - } = options; - return watch( - source, - createFilterWrapper( - eventFilter, - cb - ), - watchOptions - ); -} -function watchPausable(source, cb, options = {}) { - const { - eventFilter: filter, - ...watchOptions - } = options; - const { eventFilter, pause, resume, isActive } = pausableFilter(filter); - const stop = watchWithFilter( - source, - cb, - { - ...watchOptions, - eventFilter - } - ); - return { stop, pause, resume, isActive }; -} -function syncRef(left, right, options = {}) { - var _a, _b; - const { - flush = "sync", - deep = false, - immediate = true, - direction = "both", - transform = {} - } = options; - const watchers = []; - const transformLTR = (_a = transform.ltr) != null ? _a : (v) => v; - const transformRTL = (_b = transform.rtl) != null ? _b : (v) => v; - if (direction === "both" || direction === "ltr") { - watchers.push(watchPausable( - left, - (newValue) => { - watchers.forEach((w) => w.pause()); - right.value = transformLTR(newValue); - watchers.forEach((w) => w.resume()); - }, - { flush, deep, immediate } - )); - } - if (direction === "both" || direction === "rtl") { - watchers.push(watchPausable( - right, - (newValue) => { - watchers.forEach((w) => w.pause()); - left.value = transformRTL(newValue); - watchers.forEach((w) => w.resume()); - }, - { flush, deep, immediate } - )); - } - const stop = () => { - watchers.forEach((w) => w.stop()); - }; - return stop; -} -function toRefs2(objectRef, options = {}) { - if (!isRef(objectRef)) - return toRefs(objectRef); - const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {}; - for (const key in objectRef.value) { - result[key] = customRef(() => ({ - get() { - return objectRef.value[key]; - }, - set(v) { - var _a; - const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true; - if (replaceRef) { - if (Array.isArray(objectRef.value)) { - const copy = [...objectRef.value]; - copy[key] = v; - objectRef.value = copy; - } else { - const newObject = { ...objectRef.value, [key]: v }; - Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value)); - objectRef.value = newObject; - } - } else { - objectRef.value[key] = v; - } - } - })); - } - return result; -} -function tryOnMounted(fn, sync = true) { - if (getCurrentInstance()) - onMounted(fn); - else if (sync) - fn(); - else - nextTick(fn); -} -function createUntil(r, isNot = false) { - function toMatch(condition, { flush = "sync", deep = false, timeout, throwOnTimeout } = {}) { - let stop = null; - const watcher = new Promise((resolve) => { - stop = watch( - r, - (v) => { - if (condition(v) !== isNot) { - stop == null ? void 0 : stop(); - resolve(v); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop()) - ); - } - return Promise.race(promises); - } - function toBe(value, options) { - if (!isRef(value)) - return toMatch((v) => v === value, options); - const { flush = "sync", deep = false, timeout, throwOnTimeout } = options != null ? options : {}; - let stop = null; - const watcher = new Promise((resolve) => { - stop = watch( - [r, value], - ([v1, v2]) => { - if (isNot !== (v1 === v2)) { - stop == null ? void 0 : stop(); - resolve(v1); - } - }, - { - flush, - deep, - immediate: true - } - ); - }); - const promises = [watcher]; - if (timeout != null) { - promises.push( - promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => { - stop == null ? void 0 : stop(); - return toValue(r); - }) - ); - } - return Promise.race(promises); - } - function toBeTruthy(options) { - return toMatch((v) => Boolean(v), options); - } - function toBeNull(options) { - return toBe(null, options); - } - function toBeUndefined(options) { - return toBe(void 0, options); - } - function toBeNaN(options) { - return toMatch(Number.isNaN, options); - } - function toContains(value, options) { - return toMatch((v) => { - const array = Array.from(v); - return array.includes(value) || array.includes(toValue(value)); - }, options); - } - function changed(options) { - return changedTimes(1, options); - } - function changedTimes(n = 1, options) { - let count = -1; - return toMatch(() => { - count += 1; - return count >= n; - }, options); - } - if (Array.isArray(toValue(r))) { - const instance = { - toMatch, - toContains, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } else { - const instance = { - toMatch, - toBe, - toBeTruthy, - toBeNull, - toBeNaN, - toBeUndefined, - changed, - changedTimes, - get not() { - return createUntil(r, !isNot); - } - }; - return instance; - } -} -function until(r) { - return createUntil(r); -} -function useIntervalFn(cb, interval = 1e3, options = {}) { - const { - immediate = true, - immediateCallback = false - } = options; - let timer = null; - const isActive = ref(false); - function clean() { - if (timer) { - clearInterval(timer); - timer = null; - } - } - function pause() { - isActive.value = false; - clean(); - } - function resume() { - const intervalValue = toValue(interval); - if (intervalValue <= 0) - return; - isActive.value = true; - if (immediateCallback) - cb(); - clean(); - timer = setInterval(cb, intervalValue); - } - if (immediate && isClient) - resume(); - if (isRef(interval) || typeof interval === "function") { - const stopWatch = watch(interval, () => { - if (isActive.value && isClient) - resume(); - }); - tryOnScopeDispose(stopWatch); - } - tryOnScopeDispose(pause); - return { - isActive, - pause, - resume - }; -} -function useToggle(initialValue = false, options = {}) { - const { - truthyValue = true, - falsyValue = false - } = options; - const valueIsRef = isRef(initialValue); - const _value = ref(initialValue); - function toggle(value) { - if (arguments.length) { - _value.value = value; - return _value.value; - } else { - const truthy = toValue(truthyValue); - _value.value = _value.value === truthy ? toValue(falsyValue) : truthy; - return _value.value; - } - } - if (valueIsRef) - return toggle; - else - return [_value, toggle]; -} - -// node_modules/@vueuse/core/index.mjs -function unrefElement(elRef) { - var _a; - const plain = toValue(elRef); - return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain; -} -var defaultWindow = isClient ? window : void 0; -var defaultDocument = isClient ? window.document : void 0; -var defaultNavigator = isClient ? window.navigator : void 0; -var defaultLocation = isClient ? window.location : void 0; -function useEventListener(...args) { - let target; - let events; - let listeners; - let options; - if (typeof args[0] === "string" || Array.isArray(args[0])) { - [events, listeners, options] = args; - target = defaultWindow; - } else { - [target, events, listeners, options] = args; - } - if (!target) - return noop; - if (!Array.isArray(events)) - events = [events]; - if (!Array.isArray(listeners)) - listeners = [listeners]; - const cleanups = []; - const cleanup = () => { - cleanups.forEach((fn) => fn()); - cleanups.length = 0; - }; - const register = (el, event, listener, options2) => { - el.addEventListener(event, listener, options2); - return () => el.removeEventListener(event, listener, options2); - }; - const stopWatch = watch( - () => [unrefElement(target), toValue(options)], - ([el, options2]) => { - cleanup(); - if (!el) - return; - const optionsClone = isObject(options2) ? { ...options2 } : options2; - cleanups.push( - ...events.flatMap((event) => { - return listeners.map((listener) => register(el, event, listener, optionsClone)); - }) - ); - }, - { immediate: true, flush: "post" } - ); - const stop = () => { - stopWatch(); - cleanup(); - }; - tryOnScopeDispose(stop); - return stop; -} -var _iOSWorkaround = false; -function onClickOutside(target, handler, options = {}) { - const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false } = options; - if (!window2) - return; - if (isIOS && !_iOSWorkaround) { - _iOSWorkaround = true; - Array.from(window2.document.body.children).forEach((el) => el.addEventListener("click", noop)); - window2.document.documentElement.addEventListener("click", noop); - } - let shouldListen = true; - const shouldIgnore = (event) => { - return ignore.some((target2) => { - if (typeof target2 === "string") { - return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el)); - } else { - const el = unrefElement(target2); - return el && (event.target === el || event.composedPath().includes(el)); - } - }); - }; - const listener = (event) => { - const el = unrefElement(target); - if (!el || el === event.target || event.composedPath().includes(el)) - return; - if (event.detail === 0) - shouldListen = !shouldIgnore(event); - if (!shouldListen) { - shouldListen = true; - return; - } - handler(event); - }; - const cleanup = [ - useEventListener(window2, "click", listener, { passive: true, capture }), - useEventListener(window2, "pointerdown", (e) => { - const el = unrefElement(target); - if (el) - shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e); - }, { passive: true }), - detectIframe && useEventListener(window2, "blur", (event) => { - setTimeout(() => { - var _a; - const el = unrefElement(target); - if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) - handler(event); - }, 0); - }) - ].filter(Boolean); - const stop = () => cleanup.forEach((fn) => fn()); - return stop; -} -function useActiveElement(options = {}) { - var _a; - const { - window: window2 = defaultWindow, - deep = true - } = options; - const document2 = (_a = options.document) != null ? _a : window2 == null ? void 0 : window2.document; - const getDeepActiveElement = () => { - var _a2; - let element = document2 == null ? void 0 : document2.activeElement; - if (deep) { - while (element == null ? void 0 : element.shadowRoot) - element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement; - } - return element; - }; - const activeElement = computedWithControl( - () => null, - () => getDeepActiveElement() - ); - if (window2) { - useEventListener(window2, "blur", (event) => { - if (event.relatedTarget !== null) - return; - activeElement.trigger(); - }, true); - useEventListener(window2, "focus", activeElement.trigger, true); - } - return activeElement; -} -function useMounted() { - const isMounted = ref(false); - if (getCurrentInstance()) { - onMounted(() => { - isMounted.value = true; - }); - } - return isMounted; -} -function useSupported(callback) { - const isMounted = useMounted(); - return computed(() => { - isMounted.value; - return Boolean(callback()); - }); -} -function useRafFn(fn, options = {}) { - const { - immediate = true, - fpsLimit = void 0, - window: window2 = defaultWindow - } = options; - const isActive = ref(false); - const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null; - let previousFrameTimestamp = 0; - let rafId = null; - function loop(timestamp2) { - if (!isActive.value || !window2) - return; - const delta = timestamp2 - (previousFrameTimestamp || timestamp2); - if (intervalLimit && delta < intervalLimit) { - rafId = window2.requestAnimationFrame(loop); - return; - } - fn({ delta, timestamp: timestamp2 }); - previousFrameTimestamp = timestamp2; - rafId = window2.requestAnimationFrame(loop); - } - function resume() { - if (!isActive.value && window2) { - isActive.value = true; - rafId = window2.requestAnimationFrame(loop); - } - } - function pause() { - isActive.value = false; - if (rafId != null && window2) { - window2.cancelAnimationFrame(rafId); - rafId = null; - } - } - if (immediate) - resume(); - tryOnScopeDispose(pause); - return { - isActive: readonly(isActive), - pause, - resume - }; -} -function useBattery(options = {}) { - const { navigator = defaultNavigator } = options; - const events = ["chargingchange", "chargingtimechange", "dischargingtimechange", "levelchange"]; - const isSupported = useSupported(() => navigator && "getBattery" in navigator); - const charging = ref(false); - const chargingTime = ref(0); - const dischargingTime = ref(0); - const level = ref(1); - let battery; - function updateBatteryInfo() { - charging.value = this.charging; - chargingTime.value = this.chargingTime || 0; - dischargingTime.value = this.dischargingTime || 0; - level.value = this.level; - } - if (isSupported.value) { - navigator.getBattery().then((_battery) => { - battery = _battery; - updateBatteryInfo.call(battery); - useEventListener(battery, events, updateBatteryInfo, { passive: true }); - }); - } - return { - isSupported, - charging, - chargingTime, - dischargingTime, - level - }; -} -function useMediaQuery(query, options = {}) { - const { window: window2 = defaultWindow } = options; - const isSupported = useSupported(() => window2 && "matchMedia" in window2 && typeof window2.matchMedia === "function"); - let mediaQuery; - const matches = ref(false); - const handler = (event) => { - matches.value = event.matches; - }; - const cleanup = () => { - if (!mediaQuery) - return; - if ("removeEventListener" in mediaQuery) - mediaQuery.removeEventListener("change", handler); - else - mediaQuery.removeListener(handler); - }; - const stopWatch = watchEffect(() => { - if (!isSupported.value) - return; - cleanup(); - mediaQuery = window2.matchMedia(toValue(query)); - if ("addEventListener" in mediaQuery) - mediaQuery.addEventListener("change", handler); - else - mediaQuery.addListener(handler); - matches.value = mediaQuery.matches; - }); - tryOnScopeDispose(() => { - stopWatch(); - cleanup(); - mediaQuery = void 0; - }); - return matches; -} -var WRITABLE_PROPERTIES = [ - "hash", - "host", - "hostname", - "href", - "pathname", - "port", - "protocol", - "search" -]; -function useBrowserLocation(options = {}) { - const { window: window2 = defaultWindow } = options; - const refs = Object.fromEntries( - WRITABLE_PROPERTIES.map((key) => [key, ref()]) - ); - for (const [key, ref2] of objectEntries(refs)) { - watch(ref2, (value) => { - if (!(window2 == null ? void 0 : window2.location) || window2.location[key] === value) - return; - window2.location[key] = value; - }); - } - const buildState = (trigger) => { - var _a; - const { state: state2, length } = (window2 == null ? void 0 : window2.history) || {}; - const { origin } = (window2 == null ? void 0 : window2.location) || {}; - for (const key of WRITABLE_PROPERTIES) - refs[key].value = (_a = window2 == null ? void 0 : window2.location) == null ? void 0 : _a[key]; - return reactive({ - trigger, - state: state2, - length, - origin, - ...refs - }); - }; - const state = ref(buildState("load")); - if (window2) { - useEventListener(window2, "popstate", () => state.value = buildState("popstate"), { passive: true }); - useEventListener(window2, "hashchange", () => state.value = buildState("hashchange"), { passive: true }); - } - return state; -} -var _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -var globalKey = "__vueuse_ssr_handlers__"; -var handlers = getHandlers(); -function getHandlers() { - if (!(globalKey in _global)) - _global[globalKey] = _global[globalKey] || {}; - return _global[globalKey]; -} -function getSSRHandler(key, fallback) { - return handlers[key] || fallback; -} -function guessSerializerType(rawInit) { - return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; -} -var StorageSerializers = { - boolean: { - read: (v) => v === "true", - write: (v) => String(v) - }, - object: { - read: (v) => JSON.parse(v), - write: (v) => JSON.stringify(v) - }, - number: { - read: (v) => Number.parseFloat(v), - write: (v) => String(v) - }, - any: { - read: (v) => v, - write: (v) => String(v) - }, - string: { - read: (v) => v, - write: (v) => String(v) - }, - map: { - read: (v) => new Map(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v.entries())) - }, - set: { - read: (v) => new Set(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v)) - }, - date: { - read: (v) => new Date(v), - write: (v) => v.toISOString() - } -}; -var customStorageEventName = "vueuse-storage"; -function useStorage(key, defaults, storage, options = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults = false, - shallow, - window: window2 = defaultWindow, - eventFilter, - onError = (e) => { - console.error(e); - } - } = options; - const data = (shallow ? shallowRef : ref)(defaults); - if (!storage) { - try { - storage = getSSRHandler("getDefaultStorage", () => { - var _a2; - return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - if (!storage) - return data; - const rawInit = toValue(defaults); - const type = guessSerializerType(rawInit); - const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type]; - const { pause: pauseWatch, resume: resumeWatch } = watchPausable( - data, - () => write(data.value), - { flush, deep, eventFilter } - ); - if (window2 && listenToStorageChanges) { - useEventListener(window2, "storage", update); - useEventListener(window2, customStorageEventName, updateFromCustomEvent); - } - update(); - return data; - function write(v) { - try { - if (v == null) { - storage.removeItem(key); - } else { - const serialized = serializer.write(v); - const oldValue = storage.getItem(key); - if (oldValue !== serialized) { - storage.setItem(key, serialized); - if (window2) { - window2.dispatchEvent(new CustomEvent(customStorageEventName, { - detail: { - key, - oldValue, - newValue: serialized, - storageArea: storage - } - })); - } - } - } - } catch (e) { - onError(e); - } - } - function read(event) { - const rawValue = event ? event.newValue : storage.getItem(key); - if (rawValue == null) { - if (writeDefaults && rawInit !== null) - storage.setItem(key, serializer.write(rawInit)); - return rawInit; - } else if (!event && mergeDefaults) { - const value = serializer.read(rawValue); - if (typeof mergeDefaults === "function") - return mergeDefaults(value, rawInit); - else if (type === "object" && !Array.isArray(value)) - return { ...rawInit, ...value }; - return value; - } else if (typeof rawValue !== "string") { - return rawValue; - } else { - return serializer.read(rawValue); - } - } - function updateFromCustomEvent(event) { - update(event.detail); - } - function update(event) { - if (event && event.storageArea !== storage) - return; - if (event && event.key == null) { - data.value = rawInit; - return; - } - if (event && event.key !== key) - return; - pauseWatch(); - try { - if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value)) - data.value = read(event); - } catch (e) { - onError(e); - } finally { - if (event) - nextTick(resumeWatch); - else - resumeWatch(); - } - } -} -function usePreferredDark(options) { - return useMediaQuery("(prefers-color-scheme: dark)", options); -} -function useColorMode(options = {}) { - const { - selector = "html", - attribute = "class", - initialValue = "auto", - window: window2 = defaultWindow, - storage, - storageKey = "vueuse-color-scheme", - listenToStorageChanges = true, - storageRef, - emitAuto, - disableTransition = true - } = options; - const modes = { - auto: "", - light: "light", - dark: "dark", - ...options.modes || {} - }; - const preferredDark = usePreferredDark({ window: window2 }); - const system = computed(() => preferredDark.value ? "dark" : "light"); - const store = storageRef || (storageKey == null ? toRef2(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges })); - const state = computed(() => store.value === "auto" ? system.value : store.value); - const updateHTMLAttrs = getSSRHandler( - "updateHTMLAttrs", - (selector2, attribute2, value) => { - const el = typeof selector2 === "string" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2); - if (!el) - return; - let style; - if (disableTransition) { - style = window2.document.createElement("style"); - const styleString = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; - style.appendChild(document.createTextNode(styleString)); - window2.document.head.appendChild(style); - } - if (attribute2 === "class") { - const current = value.split(/\s/g); - Object.values(modes).flatMap((i) => (i || "").split(/\s/g)).filter(Boolean).forEach((v) => { - if (current.includes(v)) - el.classList.add(v); - else - el.classList.remove(v); - }); - } else { - el.setAttribute(attribute2, value); - } - if (disableTransition) { - window2.getComputedStyle(style).opacity; - document.head.removeChild(style); - } - } - ); - function defaultOnChanged(mode) { - var _a; - updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode); - } - function onChanged(mode) { - if (options.onChanged) - options.onChanged(mode, defaultOnChanged); - else - defaultOnChanged(mode); - } - watch(state, onChanged, { flush: "post", immediate: true }); - tryOnMounted(() => onChanged(state.value)); - const auto = computed({ - get() { - return emitAuto ? store.value : state.value; - }, - set(v) { - store.value = v; - } - }); - try { - return Object.assign(auto, { store, system, state }); - } catch (e) { - return auto; - } -} -function useDark(options = {}) { - const { - valueDark = "dark", - valueLight = "" - } = options; - const mode = useColorMode({ - ...options, - onChanged: (mode2, defaultHandler) => { - var _a; - if (options.onChanged) - (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === "dark", defaultHandler, mode2); - else - defaultHandler(mode2); - }, - modes: { - dark: valueDark, - light: valueLight - } - }); - const isDark = computed({ - get() { - return mode.value === "dark"; - }, - set(v) { - const modeVal = v ? "dark" : "light"; - if (mode.system.value === modeVal) - mode.value = "auto"; - else - mode.value = modeVal; - } - }); - return isDark; -} -function useDeviceMotion(options = {}) { - const { - window: window2 = defaultWindow, - eventFilter = bypassFilter - } = options; - const acceleration = ref({ x: null, y: null, z: null }); - const rotationRate = ref({ alpha: null, beta: null, gamma: null }); - const interval = ref(0); - const accelerationIncludingGravity = ref({ - x: null, - y: null, - z: null - }); - if (window2) { - const onDeviceMotion = createFilterWrapper( - eventFilter, - (event) => { - acceleration.value = event.acceleration; - accelerationIncludingGravity.value = event.accelerationIncludingGravity; - rotationRate.value = event.rotationRate; - interval.value = event.interval; - } - ); - useEventListener(window2, "devicemotion", onDeviceMotion); - } - return { - acceleration, - accelerationIncludingGravity, - rotationRate, - interval - }; -} -function useDeviceOrientation(options = {}) { - const { window: window2 = defaultWindow } = options; - const isSupported = useSupported(() => window2 && "DeviceOrientationEvent" in window2); - const isAbsolute = ref(false); - const alpha = ref(null); - const beta = ref(null); - const gamma = ref(null); - if (window2 && isSupported.value) { - useEventListener(window2, "deviceorientation", (event) => { - isAbsolute.value = event.absolute; - alpha.value = event.alpha; - beta.value = event.beta; - gamma.value = event.gamma; - }); - } - return { - isSupported, - isAbsolute, - alpha, - beta, - gamma - }; -} -function useDevicePixelRatio(options = {}) { - const { - window: window2 = defaultWindow - } = options; - const pixelRatio = ref(1); - if (window2) { - let observe2 = function() { - pixelRatio.value = window2.devicePixelRatio; - cleanup2(); - media = window2.matchMedia(`(resolution: ${pixelRatio.value}dppx)`); - media.addEventListener("change", observe2, { once: true }); - }, cleanup2 = function() { - media == null ? void 0 : media.removeEventListener("change", observe2); - }; - let media; - observe2(); - tryOnScopeDispose(cleanup2); - } - return { pixelRatio }; -} -function usePermission(permissionDesc, options = {}) { - const { - controls = false, - navigator = defaultNavigator - } = options; - const isSupported = useSupported(() => navigator && "permissions" in navigator); - let permissionStatus; - const desc = typeof permissionDesc === "string" ? { name: permissionDesc } : permissionDesc; - const state = ref(); - const onChange = () => { - if (permissionStatus) - state.value = permissionStatus.state; - }; - const query = createSingletonPromise(async () => { - if (!isSupported.value) - return; - if (!permissionStatus) { - try { - permissionStatus = await navigator.permissions.query(desc); - useEventListener(permissionStatus, "change", onChange); - onChange(); - } catch (e) { - state.value = "prompt"; - } - } - return permissionStatus; - }); - query(); - if (controls) { - return { - state, - isSupported, - query - }; - } else { - return state; - } -} -function useDevicesList(options = {}) { - const { - navigator = defaultNavigator, - requestPermissions = false, - constraints = { audio: true, video: true }, - onUpdated: onUpdated2 - } = options; - const devices = ref([]); - const videoInputs = computed(() => devices.value.filter((i) => i.kind === "videoinput")); - const audioInputs = computed(() => devices.value.filter((i) => i.kind === "audioinput")); - const audioOutputs = computed(() => devices.value.filter((i) => i.kind === "audiooutput")); - const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices); - const permissionGranted = ref(false); - let stream; - async function update() { - if (!isSupported.value) - return; - devices.value = await navigator.mediaDevices.enumerateDevices(); - onUpdated2 == null ? void 0 : onUpdated2(devices.value); - if (stream) { - stream.getTracks().forEach((t) => t.stop()); - stream = null; - } - } - async function ensurePermissions() { - if (!isSupported.value) - return false; - if (permissionGranted.value) - return true; - const { state, query } = usePermission("camera", { controls: true }); - await query(); - if (state.value !== "granted") { - stream = await navigator.mediaDevices.getUserMedia(constraints); - update(); - permissionGranted.value = true; - } else { - permissionGranted.value = true; - } - return permissionGranted.value; - } - if (isSupported.value) { - if (requestPermissions) - ensurePermissions(); - useEventListener(navigator.mediaDevices, "devicechange", update); - update(); - } - return { - devices, - ensurePermissions, - permissionGranted, - videoInputs, - audioInputs, - audioOutputs, - isSupported - }; -} -function useDocumentVisibility(options = {}) { - const { document: document2 = defaultDocument } = options; - if (!document2) - return ref("visible"); - const visibility = ref(document2.visibilityState); - useEventListener(document2, "visibilitychange", () => { - visibility.value = document2.visibilityState; - }); - return visibility; -} -function useDraggable(target, options = {}) { - var _a, _b; - const { - pointerTypes, - preventDefault: preventDefault2, - stopPropagation, - exact, - onMove, - onEnd, - onStart, - initialValue, - axis = "both", - draggingElement = defaultWindow, - containerElement, - handle: draggingHandle = target - } = options; - const position = ref( - (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 } - ); - const pressedDelta = ref(); - const filterEvent = (e) => { - if (pointerTypes) - return pointerTypes.includes(e.pointerType); - return true; - }; - const handleEvent = (e) => { - if (toValue(preventDefault2)) - e.preventDefault(); - if (toValue(stopPropagation)) - e.stopPropagation(); - }; - const start = (e) => { - var _a2; - if (!filterEvent(e)) - return; - if (toValue(exact) && e.target !== toValue(target)) - return; - const container = (_a2 = toValue(containerElement)) != null ? _a2 : toValue(target); - const rect = container.getBoundingClientRect(); - const pos = { - x: e.clientX - rect.left, - y: e.clientY - rect.top - }; - if ((onStart == null ? void 0 : onStart(pos, e)) === false) - return; - pressedDelta.value = pos; - handleEvent(e); - }; - const move = (e) => { - if (!filterEvent(e)) - return; - if (!pressedDelta.value) - return; - let { x, y } = position.value; - if (axis === "x" || axis === "both") - x = e.clientX - pressedDelta.value.x; - if (axis === "y" || axis === "both") - y = e.clientY - pressedDelta.value.y; - position.value = { - x, - y - }; - onMove == null ? void 0 : onMove(position.value, e); - handleEvent(e); - }; - const end = (e) => { - if (!filterEvent(e)) - return; - if (!pressedDelta.value) - return; - pressedDelta.value = void 0; - onEnd == null ? void 0 : onEnd(position.value, e); - handleEvent(e); - }; - if (isClient) { - const config = { capture: (_b = options.capture) != null ? _b : true }; - useEventListener(draggingHandle, "pointerdown", start, config); - useEventListener(draggingElement, "pointermove", move, config); - useEventListener(draggingElement, "pointerup", end, config); - } - return { - ...toRefs2(position), - position, - isDragging: computed(() => !!pressedDelta.value), - style: computed( - () => `left:${position.value.x}px;top:${position.value.y}px;` - ) - }; -} -function useResizeObserver(target, callback, options = {}) { - const { window: window2 = defaultWindow, ...observerOptions } = options; - let observer; - const isSupported = useSupported(() => window2 && "ResizeObserver" in window2); - const cleanup = () => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }; - const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]); - const stopWatch = watch( - targets, - (els) => { - cleanup(); - if (isSupported.value && window2) { - observer = new ResizeObserver(callback); - for (const _el of els) - _el && observer.observe(_el, observerOptions); - } - }, - { immediate: true, flush: "post", deep: true } - ); - const stop = () => { - cleanup(); - stopWatch(); - }; - tryOnScopeDispose(stop); - return { - isSupported, - stop - }; -} -function useElementBounding(target, options = {}) { - const { - reset = true, - windowResize = true, - windowScroll = true, - immediate = true - } = options; - const height = ref(0); - const bottom = ref(0); - const left = ref(0); - const right = ref(0); - const top = ref(0); - const width = ref(0); - const x = ref(0); - const y = ref(0); - function update() { - const el = unrefElement(target); - if (!el) { - if (reset) { - height.value = 0; - bottom.value = 0; - left.value = 0; - right.value = 0; - top.value = 0; - width.value = 0; - x.value = 0; - y.value = 0; - } - return; - } - const rect = el.getBoundingClientRect(); - height.value = rect.height; - bottom.value = rect.bottom; - left.value = rect.left; - right.value = rect.right; - top.value = rect.top; - width.value = rect.width; - x.value = rect.x; - y.value = rect.y; - } - useResizeObserver(target, update); - watch(() => unrefElement(target), (ele) => !ele && update()); - if (windowScroll) - useEventListener("scroll", update, { capture: true, passive: true }); - if (windowResize) - useEventListener("resize", update, { passive: true }); - tryOnMounted(() => { - if (immediate) - update(); - }); - return { - height, - bottom, - left, - right, - top, - width, - x, - y, - update - }; -} -function useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) { - const { window: window2 = defaultWindow, box = "content-box" } = options; - const isSVG = computed(() => { - var _a, _b; - return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg"); - }); - const width = ref(initialSize.width); - const height = ref(initialSize.height); - useResizeObserver( - target, - ([entry]) => { - const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; - if (window2 && isSVG.value) { - const $elem = unrefElement(target); - if ($elem) { - const styles = window2.getComputedStyle($elem); - width.value = Number.parseFloat(styles.width); - height.value = Number.parseFloat(styles.height); - } - } else { - if (boxSize) { - const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize]; - width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); - height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); - } else { - width.value = entry.contentRect.width; - height.value = entry.contentRect.height; - } - } - }, - options - ); - watch( - () => unrefElement(target), - (ele) => { - width.value = ele ? initialSize.width : 0; - height.value = ele ? initialSize.height : 0; - } - ); - return { - width, - height - }; -} -function useIntersectionObserver(target, callback, options = {}) { - const { - root, - rootMargin = "0px", - threshold = 0.1, - window: window2 = defaultWindow, - immediate = true - } = options; - const isSupported = useSupported(() => window2 && "IntersectionObserver" in window2); - const targets = computed(() => { - const _target = toValue(target); - return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish); - }); - let cleanup = noop; - const isActive = ref(immediate); - const stopWatch = isSupported.value ? watch( - () => [targets.value, unrefElement(root), isActive.value], - ([targets2, root2]) => { - cleanup(); - if (!isActive.value) - return; - if (!targets2.length) - return; - const observer = new IntersectionObserver( - callback, - { - root: unrefElement(root2), - rootMargin, - threshold - } - ); - targets2.forEach((el) => el && observer.observe(el)); - cleanup = () => { - observer.disconnect(); - cleanup = noop; - }; - }, - { immediate, flush: "post" } - ) : noop; - const stop = () => { - cleanup(); - stopWatch(); - isActive.value = false; - }; - tryOnScopeDispose(stop); - return { - isSupported, - isActive, - pause() { - cleanup(); - isActive.value = false; - }, - resume() { - isActive.value = true; - }, - stop - }; -} -function useElementVisibility(element, options = {}) { - const { window: window2 = defaultWindow, scrollTarget } = options; - const elementIsVisible = ref(false); - useIntersectionObserver( - element, - ([{ isIntersecting }]) => { - elementIsVisible.value = isIntersecting; - }, - { - root: scrollTarget, - window: window2, - threshold: 0 - } - ); - return elementIsVisible; -} -function useEyeDropper(options = {}) { - const { initialValue = "" } = options; - const isSupported = useSupported(() => typeof window !== "undefined" && "EyeDropper" in window); - const sRGBHex = ref(initialValue); - async function open(openOptions) { - if (!isSupported.value) - return; - const eyeDropper = new window.EyeDropper(); - const result = await eyeDropper.open(openOptions); - sRGBHex.value = result.sRGBHex; - return result; - } - return { isSupported, sRGBHex, open }; -} -var eventHandlers = [ - "fullscreenchange", - "webkitfullscreenchange", - "webkitendfullscreen", - "mozfullscreenchange", - "MSFullscreenChange" -]; -function useFullscreen(target, options = {}) { - const { - document: document2 = defaultDocument, - autoExit = false - } = options; - const targetRef = computed(() => { - var _a; - return (_a = unrefElement(target)) != null ? _a : document2 == null ? void 0 : document2.querySelector("html"); - }); - const isFullscreen = ref(false); - const requestMethod = computed(() => { - return [ - "requestFullscreen", - "webkitRequestFullscreen", - "webkitEnterFullscreen", - "webkitEnterFullScreen", - "webkitRequestFullScreen", - "mozRequestFullScreen", - "msRequestFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const exitMethod = computed(() => { - return [ - "exitFullscreen", - "webkitExitFullscreen", - "webkitExitFullScreen", - "webkitCancelFullScreen", - "mozCancelFullScreen", - "msExitFullscreen" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenEnabled = computed(() => { - return [ - "fullScreen", - "webkitIsFullScreen", - "webkitDisplayingFullscreen", - "mozFullScreen", - "msFullscreenElement" - ].find((m) => document2 && m in document2 || targetRef.value && m in targetRef.value); - }); - const fullscreenElementMethod = [ - "fullscreenElement", - "webkitFullscreenElement", - "mozFullScreenElement", - "msFullscreenElement" - ].find((m) => document2 && m in document2); - const isSupported = useSupported(() => targetRef.value && document2 && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0); - const isCurrentElementFullScreen = () => { - if (fullscreenElementMethod) - return (document2 == null ? void 0 : document2[fullscreenElementMethod]) === targetRef.value; - return false; - }; - const isElementFullScreen = () => { - if (fullscreenEnabled.value) { - if (document2 && document2[fullscreenEnabled.value] != null) { - return document2[fullscreenEnabled.value]; - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) { - return Boolean(target2[fullscreenEnabled.value]); - } - } - } - return false; - }; - async function exit() { - if (!isSupported.value || !isFullscreen.value) - return; - if (exitMethod.value) { - if ((document2 == null ? void 0 : document2[exitMethod.value]) != null) { - await document2[exitMethod.value](); - } else { - const target2 = targetRef.value; - if ((target2 == null ? void 0 : target2[exitMethod.value]) != null) - await target2[exitMethod.value](); - } - } - isFullscreen.value = false; - } - async function enter() { - if (!isSupported.value || isFullscreen.value) - return; - if (isElementFullScreen()) - await exit(); - const target2 = targetRef.value; - if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) { - await target2[requestMethod.value](); - isFullscreen.value = true; - } - } - async function toggle() { - await (isFullscreen.value ? exit() : enter()); - } - const handlerCallback = () => { - const isElementFullScreenValue = isElementFullScreen(); - if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) - isFullscreen.value = isElementFullScreenValue; - }; - useEventListener(document2, eventHandlers, handlerCallback, false); - useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false); - if (autoExit) - tryOnScopeDispose(exit); - return { - isSupported, - isFullscreen, - enter, - exit, - toggle - }; -} -function useGeolocation(options = {}) { - const { - enableHighAccuracy = true, - maximumAge = 3e4, - timeout = 27e3, - navigator = defaultNavigator, - immediate = true - } = options; - const isSupported = useSupported(() => navigator && "geolocation" in navigator); - const locatedAt = ref(null); - const error = shallowRef(null); - const coords = ref({ - accuracy: 0, - latitude: Number.POSITIVE_INFINITY, - longitude: Number.POSITIVE_INFINITY, - altitude: null, - altitudeAccuracy: null, - heading: null, - speed: null - }); - function updatePosition(position) { - locatedAt.value = position.timestamp; - coords.value = position.coords; - error.value = null; - } - let watcher; - function resume() { - if (isSupported.value) { - watcher = navigator.geolocation.watchPosition( - updatePosition, - (err) => error.value = err, - { - enableHighAccuracy, - maximumAge, - timeout - } - ); - } - } - if (immediate) - resume(); - function pause() { - if (watcher && navigator) - navigator.geolocation.clearWatch(watcher); - } - tryOnScopeDispose(() => { - pause(); - }); - return { - isSupported, - coords, - locatedAt, - error, - resume, - pause - }; -} -var defaultEvents$1 = ["mousemove", "mousedown", "resize", "keydown", "touchstart", "wheel"]; -var oneMinute = 6e4; -function useIdle(timeout = oneMinute, options = {}) { - const { - initialState = false, - listenForVisibilityChange = true, - events = defaultEvents$1, - window: window2 = defaultWindow, - eventFilter = throttleFilter(50) - } = options; - const idle = ref(initialState); - const lastActive = ref(timestamp()); - let timer; - const reset = () => { - idle.value = false; - clearTimeout(timer); - timer = setTimeout(() => idle.value = true, timeout); - }; - const onEvent = createFilterWrapper( - eventFilter, - () => { - lastActive.value = timestamp(); - reset(); - } - ); - if (window2) { - const document2 = window2.document; - for (const event of events) - useEventListener(window2, event, onEvent, { passive: true }); - if (listenForVisibilityChange) { - useEventListener(document2, "visibilitychange", () => { - if (!document2.hidden) - onEvent(); - }); - } - reset(); - } - return { - idle, - lastActive, - reset - }; -} -var UseMouseBuiltinExtractors = { - page: (event) => [event.pageX, event.pageY], - client: (event) => [event.clientX, event.clientY], - screen: (event) => [event.screenX, event.screenY], - movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY] -}; -function useMouse(options = {}) { - const { - type = "page", - touch = true, - resetOnTouchEnds = false, - initialValue = { x: 0, y: 0 }, - window: window2 = defaultWindow, - target = window2, - scroll = true, - eventFilter - } = options; - let _prevMouseEvent = null; - const x = ref(initialValue.x); - const y = ref(initialValue.y); - const sourceType = ref(null); - const extractor = typeof type === "function" ? type : UseMouseBuiltinExtractors[type]; - const mouseHandler = (event) => { - const result = extractor(event); - _prevMouseEvent = event; - if (result) { - [x.value, y.value] = result; - sourceType.value = "mouse"; - } - }; - const touchHandler = (event) => { - if (event.touches.length > 0) { - const result = extractor(event.touches[0]); - if (result) { - [x.value, y.value] = result; - sourceType.value = "touch"; - } - } - }; - const scrollHandler = () => { - if (!_prevMouseEvent || !window2) - return; - const pos = extractor(_prevMouseEvent); - if (_prevMouseEvent instanceof MouseEvent && pos) { - x.value = pos[0] + window2.scrollX; - y.value = pos[1] + window2.scrollY; - } - }; - const reset = () => { - x.value = initialValue.x; - y.value = initialValue.y; - }; - const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event); - const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event); - const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler(); - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["mousemove", "dragover"], mouseHandlerWrapper, listenerOptions); - if (touch && type !== "movement") { - useEventListener(target, ["touchstart", "touchmove"], touchHandlerWrapper, listenerOptions); - if (resetOnTouchEnds) - useEventListener(target, "touchend", reset, listenerOptions); - } - if (scroll && type === "page") - useEventListener(window2, "scroll", scrollHandlerWrapper, { passive: true }); - } - return { - x, - y, - sourceType - }; -} -function useMouseInElement(target, options = {}) { - const { - handleOutside = true, - window: window2 = defaultWindow - } = options; - const { x, y, sourceType } = useMouse(options); - const targetRef = ref(target != null ? target : window2 == null ? void 0 : window2.document.body); - const elementX = ref(0); - const elementY = ref(0); - const elementPositionX = ref(0); - const elementPositionY = ref(0); - const elementHeight = ref(0); - const elementWidth = ref(0); - const isOutside = ref(true); - let stop = () => { - }; - if (window2) { - stop = watch( - [targetRef, x, y], - () => { - const el = unrefElement(targetRef); - if (!el) - return; - const { - left, - top, - width, - height - } = el.getBoundingClientRect(); - elementPositionX.value = left + window2.pageXOffset; - elementPositionY.value = top + window2.pageYOffset; - elementHeight.value = height; - elementWidth.value = width; - const elX = x.value - elementPositionX.value; - const elY = y.value - elementPositionY.value; - isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height; - if (handleOutside || !isOutside.value) { - elementX.value = elX; - elementY.value = elY; - } - }, - { immediate: true } - ); - useEventListener(document, "mouseleave", () => { - isOutside.value = true; - }); - } - return { - x, - y, - sourceType, - elementX, - elementY, - elementPositionX, - elementPositionY, - elementHeight, - elementWidth, - isOutside, - stop - }; -} -function useMousePressed(options = {}) { - const { - touch = true, - drag = true, - capture = false, - initialValue = false, - window: window2 = defaultWindow - } = options; - const pressed = ref(initialValue); - const sourceType = ref(null); - if (!window2) { - return { - pressed, - sourceType - }; - } - const onPressed = (srcType) => () => { - pressed.value = true; - sourceType.value = srcType; - }; - const onReleased = () => { - pressed.value = false; - sourceType.value = null; - }; - const target = computed(() => unrefElement(options.target) || window2); - useEventListener(target, "mousedown", onPressed("mouse"), { passive: true, capture }); - useEventListener(window2, "mouseleave", onReleased, { passive: true, capture }); - useEventListener(window2, "mouseup", onReleased, { passive: true, capture }); - if (drag) { - useEventListener(target, "dragstart", onPressed("mouse"), { passive: true, capture }); - useEventListener(window2, "drop", onReleased, { passive: true, capture }); - useEventListener(window2, "dragend", onReleased, { passive: true, capture }); - } - if (touch) { - useEventListener(target, "touchstart", onPressed("touch"), { passive: true, capture }); - useEventListener(window2, "touchend", onReleased, { passive: true, capture }); - useEventListener(window2, "touchcancel", onReleased, { passive: true, capture }); - } - return { - pressed, - sourceType - }; -} -function useNetwork(options = {}) { - const { window: window2 = defaultWindow } = options; - const navigator = window2 == null ? void 0 : window2.navigator; - const isSupported = useSupported(() => navigator && "connection" in navigator); - const isOnline = ref(true); - const saveData = ref(false); - const offlineAt = ref(void 0); - const onlineAt = ref(void 0); - const downlink = ref(void 0); - const downlinkMax = ref(void 0); - const rtt = ref(void 0); - const effectiveType = ref(void 0); - const type = ref("unknown"); - const connection = isSupported.value && navigator.connection; - function updateNetworkInformation() { - if (!navigator) - return; - isOnline.value = navigator.onLine; - offlineAt.value = isOnline.value ? void 0 : Date.now(); - onlineAt.value = isOnline.value ? Date.now() : void 0; - if (connection) { - downlink.value = connection.downlink; - downlinkMax.value = connection.downlinkMax; - effectiveType.value = connection.effectiveType; - rtt.value = connection.rtt; - saveData.value = connection.saveData; - type.value = connection.type; - } - } - if (window2) { - useEventListener(window2, "offline", () => { - isOnline.value = false; - offlineAt.value = Date.now(); - }); - useEventListener(window2, "online", () => { - isOnline.value = true; - onlineAt.value = Date.now(); - }); - } - if (connection) - useEventListener(connection, "change", updateNetworkInformation, false); - updateNetworkInformation(); - return { - isSupported, - isOnline, - saveData, - offlineAt, - onlineAt, - downlink, - downlinkMax, - effectiveType, - rtt, - type - }; -} -function useNow(options = {}) { - const { - controls: exposeControls = false, - interval = "requestAnimationFrame" - } = options; - const now = ref(/* @__PURE__ */ new Date()); - const update = () => now.value = /* @__PURE__ */ new Date(); - const controls = interval === "requestAnimationFrame" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true }); - if (exposeControls) { - return { - now, - ...controls - }; - } else { - return now; - } -} -function useObjectUrl(object) { - const url = ref(); - const release = () => { - if (url.value) - URL.revokeObjectURL(url.value); - url.value = void 0; - }; - watch( - () => toValue(object), - (newObject) => { - release(); - if (newObject) - url.value = URL.createObjectURL(newObject); - }, - { immediate: true } - ); - tryOnScopeDispose(release); - return readonly(url); -} -function useClamp(value, min, max) { - if (typeof value === "function" || isReadonly(value)) - return computed(() => clamp(toValue(value), toValue(min), toValue(max))); - const _value = ref(value); - return computed({ - get() { - return _value.value = clamp(_value.value, toValue(min), toValue(max)); - }, - set(value2) { - _value.value = clamp(value2, toValue(min), toValue(max)); - } - }); -} -function useOffsetPagination(options) { - const { - total = Number.POSITIVE_INFINITY, - pageSize = 10, - page = 1, - onPageChange = noop, - onPageSizeChange = noop, - onPageCountChange = noop - } = options; - const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY); - const pageCount = computed(() => Math.max( - 1, - Math.ceil(toValue(total) / toValue(currentPageSize)) - )); - const currentPage = useClamp(page, 1, pageCount); - const isFirstPage = computed(() => currentPage.value === 1); - const isLastPage = computed(() => currentPage.value === pageCount.value); - if (isRef(page)) - syncRef(page, currentPage); - if (isRef(pageSize)) - syncRef(pageSize, currentPageSize); - function prev() { - currentPage.value--; - } - function next() { - currentPage.value++; - } - const returnValue = { - currentPage, - currentPageSize, - pageCount, - isFirstPage, - isLastPage, - prev, - next - }; - watch(currentPage, () => { - onPageChange(reactive(returnValue)); - }); - watch(currentPageSize, () => { - onPageSizeChange(reactive(returnValue)); - }); - watch(pageCount, () => { - onPageCountChange(reactive(returnValue)); - }); - return returnValue; -} -function useOnline(options = {}) { - const { isOnline } = useNetwork(options); - return isOnline; -} -function usePageLeave(options = {}) { - const { window: window2 = defaultWindow } = options; - const isLeft = ref(false); - const handler = (event) => { - if (!window2) - return; - event = event || window2.event; - const from = event.relatedTarget || event.toElement; - isLeft.value = !from; - }; - if (window2) { - useEventListener(window2, "mouseout", handler, { passive: true }); - useEventListener(window2.document, "mouseleave", handler, { passive: true }); - useEventListener(window2.document, "mouseenter", handler, { passive: true }); - } - return isLeft; -} -var defaultState = { - x: 0, - y: 0, - pointerId: 0, - pressure: 0, - tiltX: 0, - tiltY: 0, - width: 0, - height: 0, - twist: 0, - pointerType: null -}; -var keys = Object.keys(defaultState); -function usePointer(options = {}) { - const { - target = defaultWindow - } = options; - const isInside = ref(false); - const state = ref(options.initialValue || {}); - Object.assign(state.value, defaultState, state.value); - const handler = (event) => { - isInside.value = true; - if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType)) - return; - state.value = objectPick(event, keys, false); - }; - if (target) { - const listenerOptions = { passive: true }; - useEventListener(target, ["pointerdown", "pointermove", "pointerup"], handler, listenerOptions); - useEventListener(target, "pointerleave", () => isInside.value = false, listenerOptions); - } - return { - ...toRefs2(state), - isInside - }; -} -function usePointerLock(target, options = {}) { - const { document: document2 = defaultDocument, pointerLockOptions } = options; - const isSupported = useSupported(() => document2 && "pointerLockElement" in document2); - const element = ref(); - const triggerElement = ref(); - let targetElement; - if (isSupported.value) { - useEventListener(document2, "pointerlockchange", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - element.value = document2.pointerLockElement; - if (!element.value) - targetElement = triggerElement.value = null; - } - }); - useEventListener(document2, "pointerlockerror", () => { - var _a; - const currentElement = (_a = document2.pointerLockElement) != null ? _a : element.value; - if (targetElement && currentElement === targetElement) { - const action = document2.pointerLockElement ? "release" : "acquire"; - throw new Error(`Failed to ${action} pointer lock.`); - } - }); - } - async function lock(e, options2) { - var _a; - if (!isSupported.value) - throw new Error("Pointer Lock API is not supported by your browser."); - triggerElement.value = e instanceof Event ? e.currentTarget : null; - targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e); - if (!targetElement) - throw new Error("Target element undefined."); - targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions); - return await until(element).toBe(targetElement); - } - async function unlock() { - if (!element.value) - return false; - document2.exitPointerLock(); - await until(element).toBeNull(); - return true; - } - return { - isSupported, - element, - triggerElement, - lock, - unlock - }; -} -function usePreferredColorScheme(options) { - const isLight = useMediaQuery("(prefers-color-scheme: light)", options); - const isDark = useMediaQuery("(prefers-color-scheme: dark)", options); - return computed(() => { - if (isDark.value) - return "dark"; - if (isLight.value) - return "light"; - return "no-preference"; - }); -} -function usePreferredContrast(options) { - const isMore = useMediaQuery("(prefers-contrast: more)", options); - const isLess = useMediaQuery("(prefers-contrast: less)", options); - const isCustom = useMediaQuery("(prefers-contrast: custom)", options); - return computed(() => { - if (isMore.value) - return "more"; - if (isLess.value) - return "less"; - if (isCustom.value) - return "custom"; - return "no-preference"; - }); -} -function usePreferredLanguages(options = {}) { - const { window: window2 = defaultWindow } = options; - if (!window2) - return ref(["en"]); - const navigator = window2.navigator; - const value = ref(navigator.languages); - useEventListener(window2, "languagechange", () => { - value.value = navigator.languages; - }); - return value; -} -function usePreferredReducedMotion(options) { - const isReduced = useMediaQuery("(prefers-reduced-motion: reduce)", options); - return computed(() => { - if (isReduced.value) - return "reduce"; - return "no-preference"; - }); -} -var DEFAULT_UNITS = [ - { max: 6e4, value: 1e3, name: "second" }, - { max: 276e4, value: 6e4, name: "minute" }, - { max: 72e6, value: 36e5, name: "hour" }, - { max: 5184e5, value: 864e5, name: "day" }, - { max: 24192e5, value: 6048e5, name: "week" }, - { max: 28512e6, value: 2592e6, name: "month" }, - { max: Number.POSITIVE_INFINITY, value: 31536e6, name: "year" } -]; -var DEFAULT_MESSAGES = { - justNow: "just now", - past: (n) => n.match(/\d/) ? `${n} ago` : n, - future: (n) => n.match(/\d/) ? `in ${n}` : n, - month: (n, past) => n === 1 ? past ? "last month" : "next month" : `${n} month${n > 1 ? "s" : ""}`, - year: (n, past) => n === 1 ? past ? "last year" : "next year" : `${n} year${n > 1 ? "s" : ""}`, - day: (n, past) => n === 1 ? past ? "yesterday" : "tomorrow" : `${n} day${n > 1 ? "s" : ""}`, - week: (n, past) => n === 1 ? past ? "last week" : "next week" : `${n} week${n > 1 ? "s" : ""}`, - hour: (n) => `${n} hour${n > 1 ? "s" : ""}`, - minute: (n) => `${n} minute${n > 1 ? "s" : ""}`, - second: (n) => `${n} second${n > 1 ? "s" : ""}`, - invalid: "" -}; -function DEFAULT_FORMATTER(date) { - return date.toISOString().slice(0, 10); -} -function useTimeAgo(time, options = {}) { - const { - controls: exposeControls = false, - updateInterval = 3e4 - } = options; - const { now, ...controls } = useNow({ interval: updateInterval, controls: true }); - const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now))); - if (exposeControls) { - return { - timeAgo, - ...controls - }; - } else { - return timeAgo; - } -} -function formatTimeAgo(from, options = {}, now = Date.now()) { - var _a; - const { - max, - messages = DEFAULT_MESSAGES, - fullDateFormatter = DEFAULT_FORMATTER, - units = DEFAULT_UNITS, - showSecond = false, - rounding = "round" - } = options; - const roundFn = typeof rounding === "number" ? (n) => +n.toFixed(rounding) : Math[rounding]; - const diff = +now - +from; - const absDiff = Math.abs(diff); - function getValue2(diff2, unit) { - return roundFn(Math.abs(diff2) / unit.value); - } - function format(diff2, unit) { - const val = getValue2(diff2, unit); - const past = diff2 > 0; - const str = applyFormat(unit.name, val, past); - return applyFormat(past ? "past" : "future", str, past); - } - function applyFormat(name, val, isPast) { - const formatter = messages[name]; - if (typeof formatter === "function") - return formatter(val, isPast); - return formatter.replace("{0}", val.toString()); - } - if (absDiff < 6e4 && !showSecond) - return messages.justNow; - if (typeof max === "number" && absDiff > max) - return fullDateFormatter(new Date(from)); - if (typeof max === "string") { - const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max; - if (unitMax && absDiff > unitMax) - return fullDateFormatter(new Date(from)); - } - for (const [idx, unit] of units.entries()) { - const val = getValue2(diff, unit); - if (val <= 0 && units[idx - 1]) - return format(diff, units[idx - 1]); - if (absDiff < unit.max) - return format(diff, unit); - } - return messages.invalid; -} -function useTimestamp(options = {}) { - const { - controls: exposeControls = false, - offset = 0, - immediate = true, - interval = "requestAnimationFrame", - callback - } = options; - const ts = ref(timestamp() + offset); - const update = () => ts.value = timestamp() + offset; - const cb = callback ? () => { - update(); - callback(ts.value); - } : update; - const controls = interval === "requestAnimationFrame" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate }); - if (exposeControls) { - return { - timestamp: ts, - ...controls - }; - } else { - return ts; - } -} -var _TransitionPresets = { - easeInSine: [0.12, 0, 0.39, 0], - easeOutSine: [0.61, 1, 0.88, 1], - easeInOutSine: [0.37, 0, 0.63, 1], - easeInQuad: [0.11, 0, 0.5, 0], - easeOutQuad: [0.5, 1, 0.89, 1], - easeInOutQuad: [0.45, 0, 0.55, 1], - easeInCubic: [0.32, 0, 0.67, 0], - easeOutCubic: [0.33, 1, 0.68, 1], - easeInOutCubic: [0.65, 0, 0.35, 1], - easeInQuart: [0.5, 0, 0.75, 0], - easeOutQuart: [0.25, 1, 0.5, 1], - easeInOutQuart: [0.76, 0, 0.24, 1], - easeInQuint: [0.64, 0, 0.78, 0], - easeOutQuint: [0.22, 1, 0.36, 1], - easeInOutQuint: [0.83, 0, 0.17, 1], - easeInExpo: [0.7, 0, 0.84, 0], - easeOutExpo: [0.16, 1, 0.3, 1], - easeInOutExpo: [0.87, 0, 0.13, 1], - easeInCirc: [0.55, 0, 1, 0.45], - easeOutCirc: [0, 0.55, 0.45, 1], - easeInOutCirc: [0.85, 0, 0.15, 1], - easeInBack: [0.36, 0, 0.66, -0.56], - easeOutBack: [0.34, 1.56, 0.64, 1], - easeInOutBack: [0.68, -0.6, 0.32, 1.6] -}; -var TransitionPresets = Object.assign({}, { linear: identity }, _TransitionPresets); -function useVirtualList(list, options) { - const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = "itemHeight" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list); - return { - list: currentList, - scrollTo, - containerProps: { - ref: containerRef, - onScroll: () => { - calculateRange(); - }, - style: containerStyle - }, - wrapperProps - }; -} -function useVirtualListResources(list) { - const containerRef = ref(null); - const size = useElementSize(containerRef); - const currentList = ref([]); - const source = shallowRef(list); - const state = ref({ start: 0, end: 10 }); - return { state, source, currentList, size, containerRef }; -} -function createGetViewCapacity(state, source, itemSize) { - return (containerSize) => { - if (typeof itemSize === "number") - return Math.ceil(containerSize / itemSize); - const { start = 0 } = state.value; - let sum = 0; - let capacity = 0; - for (let i = start; i < source.value.length; i++) { - const size = itemSize(i); - sum += size; - capacity = i; - if (sum > containerSize) - break; - } - return capacity - start; - }; -} -function createGetOffset(source, itemSize) { - return (scrollDirection) => { - if (typeof itemSize === "number") - return Math.floor(scrollDirection / itemSize) + 1; - let sum = 0; - let offset = 0; - for (let i = 0; i < source.value.length; i++) { - const size = itemSize(i); - sum += size; - if (sum >= scrollDirection) { - offset = i; - break; - } - } - return offset + 1; - }; -} -function createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) { - return () => { - const element = containerRef.value; - if (element) { - const offset = getOffset(type === "vertical" ? element.scrollTop : element.scrollLeft); - const viewCapacity = getViewCapacity(type === "vertical" ? element.clientHeight : element.clientWidth); - const from = offset - overscan; - const to = offset + viewCapacity + overscan; - state.value = { - start: from < 0 ? 0 : from, - end: to > source.value.length ? source.value.length : to - }; - currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({ - data: ele, - index: index + state.value.start - })); - } - }; -} -function createGetDistance(itemSize, source) { - return (index) => { - if (typeof itemSize === "number") { - const size2 = index * itemSize; - return size2; - } - const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0); - return size; - }; -} -function useWatchForSizes(size, list, calculateRange) { - watch([size.width, size.height, list], () => { - calculateRange(); - }); -} -function createComputedTotalSize(itemSize, source) { - return computed(() => { - if (typeof itemSize === "number") - return source.value.length * itemSize; - return source.value.reduce((sum, _, index) => sum + itemSize(index), 0); - }); -} -var scrollToDictionaryForElementScrollKey = { - horizontal: "scrollLeft", - vertical: "scrollTop" -}; -function createScrollTo(type, calculateRange, getDistance, containerRef) { - return (index) => { - if (containerRef.value) { - containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index); - calculateRange(); - } - }; -} -function useHorizontalVirtualList(options, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size, containerRef } = resources; - const containerStyle = { overflowX: "auto" }; - const { itemWidth, overscan = 5 } = options; - const getViewCapacity = createGetViewCapacity(state, source, itemWidth); - const getOffset = createGetOffset(source, itemWidth); - const calculateRange = createCalculateRange("horizontal", overscan, getOffset, getViewCapacity, resources); - const getDistanceLeft = createGetDistance(itemWidth, source); - const offsetLeft = computed(() => getDistanceLeft(state.value.start)); - const totalWidth = createComputedTotalSize(itemWidth, source); - useWatchForSizes(size, list, calculateRange); - const scrollTo = createScrollTo("horizontal", calculateRange, getDistanceLeft, containerRef); - const wrapperProps = computed(() => { - return { - style: { - height: "100%", - width: `${totalWidth.value - offsetLeft.value}px`, - marginLeft: `${offsetLeft.value}px`, - display: "flex" - } - }; - }); - return { - scrollTo, - calculateRange, - wrapperProps, - containerStyle, - currentList, - containerRef - }; -} -function useVerticalVirtualList(options, list) { - const resources = useVirtualListResources(list); - const { state, source, currentList, size, containerRef } = resources; - const containerStyle = { overflowY: "auto" }; - const { itemHeight, overscan = 5 } = options; - const getViewCapacity = createGetViewCapacity(state, source, itemHeight); - const getOffset = createGetOffset(source, itemHeight); - const calculateRange = createCalculateRange("vertical", overscan, getOffset, getViewCapacity, resources); - const getDistanceTop = createGetDistance(itemHeight, source); - const offsetTop = computed(() => getDistanceTop(state.value.start)); - const totalHeight = createComputedTotalSize(itemHeight, source); - useWatchForSizes(size, list, calculateRange); - const scrollTo = createScrollTo("vertical", calculateRange, getDistanceTop, containerRef); - const wrapperProps = computed(() => { - return { - style: { - width: "100%", - height: `${totalHeight.value - offsetTop.value}px`, - marginTop: `${offsetTop.value}px` - } - }; - }); - return { - calculateRange, - scrollTo, - containerStyle, - wrapperProps, - currentList, - containerRef - }; -} -function useWindowFocus(options = {}) { - const { window: window2 = defaultWindow } = options; - if (!window2) - return ref(false); - const focused = ref(window2.document.hasFocus()); - useEventListener(window2, "blur", () => { - focused.value = false; - }); - useEventListener(window2, "focus", () => { - focused.value = true; - }); - return focused; -} -function useWindowSize(options = {}) { - const { - window: window2 = defaultWindow, - initialWidth = Number.POSITIVE_INFINITY, - initialHeight = Number.POSITIVE_INFINITY, - listenOrientation = true, - includeScrollbar = true - } = options; - const width = ref(initialWidth); - const height = ref(initialHeight); - const update = () => { - if (window2) { - if (includeScrollbar) { - width.value = window2.innerWidth; - height.value = window2.innerHeight; - } else { - width.value = window2.document.documentElement.clientWidth; - height.value = window2.document.documentElement.clientHeight; - } - } - }; - update(); - tryOnMounted(update); - useEventListener("resize", update, { passive: true }); - if (listenOrientation) { - const matches = useMediaQuery("(orientation: portrait)"); - watch(matches, () => update()); - } - return { width, height }; -} - -// node_modules/@vueuse/components/index.mjs -var OnClickOutside = defineComponent({ - name: "OnClickOutside", - props: ["as", "options"], - emits: ["trigger"], - setup(props, { slots, emit }) { - const target = ref(); - onClickOutside(target, (e) => { - emit("trigger", e); - }, props.options); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default()); - }; - } -}); -function unrefElement2(elRef) { - var _a; - const plain = toValue(elRef); - return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain; -} -var defaultWindow2 = isClient ? window : void 0; -function useEventListener2(...args) { - let target; - let events; - let listeners; - let options; - if (typeof args[0] === "string" || Array.isArray(args[0])) { - [events, listeners, options] = args; - target = defaultWindow2; - } else { - [target, events, listeners, options] = args; - } - if (!target) - return noop; - if (!Array.isArray(events)) - events = [events]; - if (!Array.isArray(listeners)) - listeners = [listeners]; - const cleanups = []; - const cleanup = () => { - cleanups.forEach((fn) => fn()); - cleanups.length = 0; - }; - const register = (el, event, listener, options2) => { - el.addEventListener(event, listener, options2); - return () => el.removeEventListener(event, listener, options2); - }; - const stopWatch = watch( - () => [unrefElement2(target), toValue(options)], - ([el, options2]) => { - cleanup(); - if (!el) - return; - const optionsClone = isObject(options2) ? { ...options2 } : options2; - cleanups.push( - ...events.flatMap((event) => { - return listeners.map((listener) => register(el, event, listener, optionsClone)); - }) - ); - }, - { immediate: true, flush: "post" } - ); - const stop = () => { - stopWatch(); - cleanup(); - }; - tryOnScopeDispose(stop); - return stop; -} -var _iOSWorkaround2 = false; -function onClickOutside2(target, handler, options = {}) { - const { window: window2 = defaultWindow2, ignore = [], capture = true, detectIframe = false } = options; - if (!window2) - return; - if (isIOS && !_iOSWorkaround2) { - _iOSWorkaround2 = true; - Array.from(window2.document.body.children).forEach((el) => el.addEventListener("click", noop)); - window2.document.documentElement.addEventListener("click", noop); - } - let shouldListen = true; - const shouldIgnore = (event) => { - return ignore.some((target2) => { - if (typeof target2 === "string") { - return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el)); - } else { - const el = unrefElement2(target2); - return el && (event.target === el || event.composedPath().includes(el)); - } - }); - }; - const listener = (event) => { - const el = unrefElement2(target); - if (!el || el === event.target || event.composedPath().includes(el)) - return; - if (event.detail === 0) - shouldListen = !shouldIgnore(event); - if (!shouldListen) { - shouldListen = true; - return; - } - handler(event); - }; - const cleanup = [ - useEventListener2(window2, "click", listener, { passive: true, capture }), - useEventListener2(window2, "pointerdown", (e) => { - const el = unrefElement2(target); - if (el) - shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e); - }, { passive: true }), - detectIframe && useEventListener2(window2, "blur", (event) => { - setTimeout(() => { - var _a; - const el = unrefElement2(target); - if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) - handler(event); - }, 0); - }) - ].filter(Boolean); - const stop = () => cleanup.forEach((fn) => fn()); - return stop; -} -var vOnClickOutside = { - [directiveHooks.mounted](el, binding) { - const capture = !binding.modifiers.bubble; - if (typeof binding.value === "function") { - el.__onClickOutside_stop = onClickOutside2(el, binding.value, { capture }); - } else { - const [handler, options] = binding.value; - el.__onClickOutside_stop = onClickOutside2(el, handler, Object.assign({ capture }, options)); - } - }, - [directiveHooks.unmounted](el) { - el.__onClickOutside_stop(); - } -}; -function createKeyPredicate(keyFilter) { - if (typeof keyFilter === "function") - return keyFilter; - else if (typeof keyFilter === "string") - return (event) => event.key === keyFilter; - else if (Array.isArray(keyFilter)) - return (event) => keyFilter.includes(event.key); - return () => true; -} -function onKeyStroke(...args) { - let key; - let handler; - let options = {}; - if (args.length === 3) { - key = args[0]; - handler = args[1]; - options = args[2]; - } else if (args.length === 2) { - if (typeof args[1] === "object") { - key = true; - handler = args[0]; - options = args[1]; - } else { - key = args[0]; - handler = args[1]; - } - } else { - key = true; - handler = args[0]; - } - const { - target = defaultWindow2, - eventName = "keydown", - passive = false, - dedupe = false - } = options; - const predicate = createKeyPredicate(key); - const listener = (e) => { - if (e.repeat && toValue(dedupe)) - return; - if (predicate(e)) - handler(e); - }; - return useEventListener2(target, eventName, listener, passive); -} -var vOnKeyStroke = { - [directiveHooks.mounted](el, binding) { - var _a, _b; - const keys2 = (_b = (_a = binding.arg) == null ? void 0 : _a.split(",")) != null ? _b : true; - if (typeof binding.value === "function") { - onKeyStroke(keys2, binding.value, { - target: el - }); - } else { - const [handler, options] = binding.value; - onKeyStroke(keys2, handler, { - target: el, - ...options - }); - } - } -}; -var DEFAULT_DELAY = 500; -function onLongPress(target, handler, options) { - var _a, _b; - const elementRef = computed(() => unrefElement2(target)); - let timeout; - function clear() { - if (timeout) { - clearTimeout(timeout); - timeout = void 0; - } - } - function onDown(ev) { - var _a2, _b2, _c, _d; - if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value) - return; - clear(); - if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent) - ev.preventDefault(); - if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop) - ev.stopPropagation(); - timeout = setTimeout( - () => handler(ev), - (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY - ); - } - const listenerOptions = { - capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture, - once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once - }; - useEventListener2(elementRef, "pointerdown", onDown, listenerOptions); - useEventListener2(elementRef, ["pointerup", "pointerleave"], clear, listenerOptions); -} -var OnLongPress = defineComponent({ - name: "OnLongPress", - props: ["as", "options"], - emits: ["trigger"], - setup(props, { slots, emit }) { - const target = ref(); - onLongPress( - target, - (e) => { - emit("trigger", e); - }, - props.options - ); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default()); - }; - } -}); -var vOnLongPress = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") - onLongPress(el, binding.value, { modifiers: binding.modifiers }); - else - onLongPress(el, ...binding.value); - } -}; -var UseActiveElement = defineComponent({ - name: "UseActiveElement", - setup(props, { slots }) { - const data = reactive({ - element: useActiveElement() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseBattery = defineComponent({ - name: "UseBattery", - setup(props, { slots }) { - const data = reactive(useBattery(props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseBrowserLocation = defineComponent({ - name: "UseBrowserLocation", - setup(props, { slots }) { - const data = reactive(useBrowserLocation()); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var _global2 = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -var globalKey2 = "__vueuse_ssr_handlers__"; -var handlers2 = getHandlers2(); -function getHandlers2() { - if (!(globalKey2 in _global2)) - _global2[globalKey2] = _global2[globalKey2] || {}; - return _global2[globalKey2]; -} -function getSSRHandler2(key, fallback) { - return handlers2[key] || fallback; -} -function guessSerializerType2(rawInit) { - return rawInit == null ? "any" : rawInit instanceof Set ? "set" : rawInit instanceof Map ? "map" : rawInit instanceof Date ? "date" : typeof rawInit === "boolean" ? "boolean" : typeof rawInit === "string" ? "string" : typeof rawInit === "object" ? "object" : !Number.isNaN(rawInit) ? "number" : "any"; -} -var StorageSerializers2 = { - boolean: { - read: (v) => v === "true", - write: (v) => String(v) - }, - object: { - read: (v) => JSON.parse(v), - write: (v) => JSON.stringify(v) - }, - number: { - read: (v) => Number.parseFloat(v), - write: (v) => String(v) - }, - any: { - read: (v) => v, - write: (v) => String(v) - }, - string: { - read: (v) => v, - write: (v) => String(v) - }, - map: { - read: (v) => new Map(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v.entries())) - }, - set: { - read: (v) => new Set(JSON.parse(v)), - write: (v) => JSON.stringify(Array.from(v)) - }, - date: { - read: (v) => new Date(v), - write: (v) => v.toISOString() - } -}; -var customStorageEventName2 = "vueuse-storage"; -function useStorage2(key, defaults, storage, options = {}) { - var _a; - const { - flush = "pre", - deep = true, - listenToStorageChanges = true, - writeDefaults = true, - mergeDefaults = false, - shallow, - window: window2 = defaultWindow2, - eventFilter, - onError = (e) => { - console.error(e); - } - } = options; - const data = (shallow ? shallowRef : ref)(defaults); - if (!storage) { - try { - storage = getSSRHandler2("getDefaultStorage", () => { - var _a2; - return (_a2 = defaultWindow2) == null ? void 0 : _a2.localStorage; - })(); - } catch (e) { - onError(e); - } - } - if (!storage) - return data; - const rawInit = toValue(defaults); - const type = guessSerializerType2(rawInit); - const serializer = (_a = options.serializer) != null ? _a : StorageSerializers2[type]; - const { pause: pauseWatch, resume: resumeWatch } = watchPausable( - data, - () => write(data.value), - { flush, deep, eventFilter } - ); - if (window2 && listenToStorageChanges) { - useEventListener2(window2, "storage", update); - useEventListener2(window2, customStorageEventName2, updateFromCustomEvent); - } - update(); - return data; - function write(v) { - try { - if (v == null) { - storage.removeItem(key); - } else { - const serialized = serializer.write(v); - const oldValue = storage.getItem(key); - if (oldValue !== serialized) { - storage.setItem(key, serialized); - if (window2) { - window2.dispatchEvent(new CustomEvent(customStorageEventName2, { - detail: { - key, - oldValue, - newValue: serialized, - storageArea: storage - } - })); - } - } - } - } catch (e) { - onError(e); - } - } - function read(event) { - const rawValue = event ? event.newValue : storage.getItem(key); - if (rawValue == null) { - if (writeDefaults && rawInit !== null) - storage.setItem(key, serializer.write(rawInit)); - return rawInit; - } else if (!event && mergeDefaults) { - const value = serializer.read(rawValue); - if (typeof mergeDefaults === "function") - return mergeDefaults(value, rawInit); - else if (type === "object" && !Array.isArray(value)) - return { ...rawInit, ...value }; - return value; - } else if (typeof rawValue !== "string") { - return rawValue; - } else { - return serializer.read(rawValue); - } - } - function updateFromCustomEvent(event) { - update(event.detail); - } - function update(event) { - if (event && event.storageArea !== storage) - return; - if (event && event.key == null) { - data.value = rawInit; - return; - } - if (event && event.key !== key) - return; - pauseWatch(); - try { - if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value)) - data.value = read(event); - } catch (e) { - onError(e); - } finally { - if (event) - nextTick(resumeWatch); - else - resumeWatch(); - } - } -} -function useMounted2() { - const isMounted = ref(false); - if (getCurrentInstance()) { - onMounted(() => { - isMounted.value = true; - }); - } - return isMounted; -} -function useSupported2(callback) { - const isMounted = useMounted2(); - return computed(() => { - isMounted.value; - return Boolean(callback()); - }); -} -function useMediaQuery2(query, options = {}) { - const { window: window2 = defaultWindow2 } = options; - const isSupported = useSupported2(() => window2 && "matchMedia" in window2 && typeof window2.matchMedia === "function"); - let mediaQuery; - const matches = ref(false); - const handler = (event) => { - matches.value = event.matches; - }; - const cleanup = () => { - if (!mediaQuery) - return; - if ("removeEventListener" in mediaQuery) - mediaQuery.removeEventListener("change", handler); - else - mediaQuery.removeListener(handler); - }; - const stopWatch = watchEffect(() => { - if (!isSupported.value) - return; - cleanup(); - mediaQuery = window2.matchMedia(toValue(query)); - if ("addEventListener" in mediaQuery) - mediaQuery.addEventListener("change", handler); - else - mediaQuery.addListener(handler); - matches.value = mediaQuery.matches; - }); - tryOnScopeDispose(() => { - stopWatch(); - cleanup(); - mediaQuery = void 0; - }); - return matches; -} -function usePreferredDark2(options) { - return useMediaQuery2("(prefers-color-scheme: dark)", options); -} -function useColorMode2(options = {}) { - const { - selector = "html", - attribute = "class", - initialValue = "auto", - window: window2 = defaultWindow2, - storage, - storageKey = "vueuse-color-scheme", - listenToStorageChanges = true, - storageRef, - emitAuto, - disableTransition = true - } = options; - const modes = { - auto: "", - light: "light", - dark: "dark", - ...options.modes || {} - }; - const preferredDark = usePreferredDark2({ window: window2 }); - const system = computed(() => preferredDark.value ? "dark" : "light"); - const store = storageRef || (storageKey == null ? toRef2(initialValue) : useStorage2(storageKey, initialValue, storage, { window: window2, listenToStorageChanges })); - const state = computed(() => store.value === "auto" ? system.value : store.value); - const updateHTMLAttrs = getSSRHandler2( - "updateHTMLAttrs", - (selector2, attribute2, value) => { - const el = typeof selector2 === "string" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement2(selector2); - if (!el) - return; - let style; - if (disableTransition) { - style = window2.document.createElement("style"); - const styleString = "*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}"; - style.appendChild(document.createTextNode(styleString)); - window2.document.head.appendChild(style); - } - if (attribute2 === "class") { - const current = value.split(/\s/g); - Object.values(modes).flatMap((i) => (i || "").split(/\s/g)).filter(Boolean).forEach((v) => { - if (current.includes(v)) - el.classList.add(v); - else - el.classList.remove(v); - }); - } else { - el.setAttribute(attribute2, value); - } - if (disableTransition) { - window2.getComputedStyle(style).opacity; - document.head.removeChild(style); - } - } - ); - function defaultOnChanged(mode) { - var _a; - updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode); - } - function onChanged(mode) { - if (options.onChanged) - options.onChanged(mode, defaultOnChanged); - else - defaultOnChanged(mode); - } - watch(state, onChanged, { flush: "post", immediate: true }); - tryOnMounted(() => onChanged(state.value)); - const auto = computed({ - get() { - return emitAuto ? store.value : state.value; - }, - set(v) { - store.value = v; - } - }); - try { - return Object.assign(auto, { store, system, state }); - } catch (e) { - return auto; - } -} -var UseColorMode = defineComponent({ - name: "UseColorMode", - props: ["selector", "attribute", "modes", "onChanged", "storageKey", "storage", "emitAuto"], - setup(props, { slots }) { - const mode = useColorMode2(props); - const data = reactive({ - mode, - system: mode.system, - store: mode.store - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDark = defineComponent({ - name: "UseDark", - props: ["selector", "attribute", "valueDark", "valueLight", "onChanged", "storageKey", "storage"], - setup(props, { slots }) { - const isDark = useDark(props); - const data = reactive({ - isDark, - toggleDark: useToggle(isDark) - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDeviceMotion = defineComponent({ - name: "UseDeviceMotion", - setup(props, { slots }) { - const data = reactive(useDeviceMotion()); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDeviceOrientation = defineComponent({ - name: "UseDeviceOrientation", - setup(props, { slots }) { - const data = reactive(useDeviceOrientation()); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDevicePixelRatio = defineComponent({ - name: "UseDevicePixelRatio", - setup(props, { slots }) { - const data = reactive({ - pixelRatio: useDevicePixelRatio() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDevicesList = defineComponent({ - name: "UseDevicesList", - props: ["onUpdated", "requestPermissions", "constraints"], - setup(props, { slots }) { - const data = reactive(useDevicesList(props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDocumentVisibility = defineComponent({ - name: "UseDocumentVisibility", - setup(props, { slots }) { - const data = reactive({ - visibility: useDocumentVisibility() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseDraggable = defineComponent({ - name: "UseDraggable", - props: [ - "storageKey", - "storageType", - "initialValue", - "exact", - "preventDefault", - "stopPropagation", - "pointerTypes", - "as", - "handle", - "axis", - "onStart", - "onMove", - "onEnd" - ], - setup(props, { slots }) { - const target = ref(); - const handle = computed(() => { - var _a; - return (_a = props.handle) != null ? _a : target.value; - }); - const storageValue = props.storageKey && useStorage( - props.storageKey, - toValue(props.initialValue) || { x: 0, y: 0 }, - isClient ? props.storageType === "session" ? sessionStorage : localStorage : void 0 - ); - const initialValue = storageValue || props.initialValue || { x: 0, y: 0 }; - const onEnd = (position, event) => { - var _a; - (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event); - if (!storageValue) - return; - storageValue.value.x = position.x; - storageValue.value.y = position.y; - }; - const data = reactive(useDraggable(target, { - ...props, - handle, - initialValue, - onEnd - })); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data)); - }; - } -}); -var UseElementBounding = defineComponent({ - name: "UseElementBounding", - props: ["box", "as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(useElementBounding(target)); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -function useElementHover(el, options = {}) { - const { - delayEnter = 0, - delayLeave = 0, - window: window2 = defaultWindow2 - } = options; - const isHovered = ref(false); - let timer; - const toggle = (entering) => { - const delay = entering ? delayEnter : delayLeave; - if (timer) { - clearTimeout(timer); - timer = void 0; - } - if (delay) - timer = setTimeout(() => isHovered.value = entering, delay); - else - isHovered.value = entering; - }; - if (!window2) - return isHovered; - useEventListener2(el, "mouseenter", () => toggle(true), { passive: true }); - useEventListener2(el, "mouseleave", () => toggle(false), { passive: true }); - return isHovered; -} -var vElementHover = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") { - const isHovered = useElementHover(el); - watch(isHovered, (v) => binding.value(v)); - } - } -}; -var UseElementSize = defineComponent({ - name: "UseElementSize", - props: ["width", "height", "box", "as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(useElementSize(target, { width: props.width, height: props.height }, { box: props.box })); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -function useResizeObserver2(target, callback, options = {}) { - const { window: window2 = defaultWindow2, ...observerOptions } = options; - let observer; - const isSupported = useSupported2(() => window2 && "ResizeObserver" in window2); - const cleanup = () => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }; - const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement2(el)) : [unrefElement2(target)]); - const stopWatch = watch( - targets, - (els) => { - cleanup(); - if (isSupported.value && window2) { - observer = new ResizeObserver(callback); - for (const _el of els) - _el && observer.observe(_el, observerOptions); - } - }, - { immediate: true, flush: "post", deep: true } - ); - const stop = () => { - cleanup(); - stopWatch(); - }; - tryOnScopeDispose(stop); - return { - isSupported, - stop - }; -} -function useElementSize2(target, initialSize = { width: 0, height: 0 }, options = {}) { - const { window: window2 = defaultWindow2, box = "content-box" } = options; - const isSVG = computed(() => { - var _a, _b; - return (_b = (_a = unrefElement2(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes("svg"); - }); - const width = ref(initialSize.width); - const height = ref(initialSize.height); - useResizeObserver2( - target, - ([entry]) => { - const boxSize = box === "border-box" ? entry.borderBoxSize : box === "content-box" ? entry.contentBoxSize : entry.devicePixelContentBoxSize; - if (window2 && isSVG.value) { - const $elem = unrefElement2(target); - if ($elem) { - const styles = window2.getComputedStyle($elem); - width.value = Number.parseFloat(styles.width); - height.value = Number.parseFloat(styles.height); - } - } else { - if (boxSize) { - const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize]; - width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0); - height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0); - } else { - width.value = entry.contentRect.width; - height.value = entry.contentRect.height; - } - } - }, - options - ); - watch( - () => unrefElement2(target), - (ele) => { - width.value = ele ? initialSize.width : 0; - height.value = ele ? initialSize.height : 0; - } - ); - return { - width, - height - }; -} -var vElementSize = { - [directiveHooks.mounted](el, binding) { - var _a; - const handler = typeof binding.value === "function" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0]; - const options = typeof binding.value === "function" ? [] : binding.value.slice(1); - const { width, height } = useElementSize2(el, ...options); - watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 })); - } -}; -var UseElementVisibility = defineComponent({ - name: "UseElementVisibility", - props: ["as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive({ - isVisible: useElementVisibility(target) - }); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -function useIntersectionObserver2(target, callback, options = {}) { - const { - root, - rootMargin = "0px", - threshold = 0.1, - window: window2 = defaultWindow2, - immediate = true - } = options; - const isSupported = useSupported2(() => window2 && "IntersectionObserver" in window2); - const targets = computed(() => { - const _target = toValue(target); - return (Array.isArray(_target) ? _target : [_target]).map(unrefElement2).filter(notNullish); - }); - let cleanup = noop; - const isActive = ref(immediate); - const stopWatch = isSupported.value ? watch( - () => [targets.value, unrefElement2(root), isActive.value], - ([targets2, root2]) => { - cleanup(); - if (!isActive.value) - return; - if (!targets2.length) - return; - const observer = new IntersectionObserver( - callback, - { - root: unrefElement2(root2), - rootMargin, - threshold - } - ); - targets2.forEach((el) => el && observer.observe(el)); - cleanup = () => { - observer.disconnect(); - cleanup = noop; - }; - }, - { immediate, flush: "post" } - ) : noop; - const stop = () => { - cleanup(); - stopWatch(); - isActive.value = false; - }; - tryOnScopeDispose(stop); - return { - isSupported, - isActive, - pause() { - cleanup(); - isActive.value = false; - }, - resume() { - isActive.value = true; - }, - stop - }; -} -function useElementVisibility2(element, options = {}) { - const { window: window2 = defaultWindow2, scrollTarget } = options; - const elementIsVisible = ref(false); - useIntersectionObserver2( - element, - ([{ isIntersecting }]) => { - elementIsVisible.value = isIntersecting; - }, - { - root: scrollTarget, - window: window2, - threshold: 0 - } - ); - return elementIsVisible; -} -var vElementVisibility = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") { - const handler = binding.value; - const isVisible = useElementVisibility2(el); - watch(isVisible, (v) => handler(v), { immediate: true }); - } else { - const [handler, options] = binding.value; - const isVisible = useElementVisibility2(el, options); - watch(isVisible, (v) => handler(v), { immediate: true }); - } - } -}; -var UseEyeDropper = defineComponent({ - name: "UseEyeDropper", - props: { - sRGBHex: String - }, - setup(props, { slots }) { - const data = reactive(useEyeDropper()); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseFullscreen = defineComponent({ - name: "UseFullscreen", - props: ["as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(useFullscreen(target)); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -var UseGeolocation = defineComponent({ - name: "UseGeolocation", - props: ["enableHighAccuracy", "maximumAge", "timeout", "navigator"], - setup(props, { slots }) { - const data = reactive(useGeolocation(props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseIdle = defineComponent({ - name: "UseIdle", - props: ["timeout", "events", "listenForVisibilityChange", "initialState"], - setup(props, { slots }) { - const data = reactive(useIdle(props.timeout, props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -function useAsyncState(promise, initialState, options) { - const { - immediate = true, - delay = 0, - onError = noop, - onSuccess = noop, - resetOnExecute = true, - shallow = true, - throwError - } = options != null ? options : {}; - const state = shallow ? shallowRef(initialState) : ref(initialState); - const isReady = ref(false); - const isLoading = ref(false); - const error = shallowRef(void 0); - async function execute(delay2 = 0, ...args) { - if (resetOnExecute) - state.value = initialState; - error.value = void 0; - isReady.value = false; - isLoading.value = true; - if (delay2 > 0) - await promiseTimeout(delay2); - const _promise = typeof promise === "function" ? promise(...args) : promise; - try { - const data = await _promise; - state.value = data; - isReady.value = true; - onSuccess(data); - } catch (e) { - error.value = e; - onError(e); - if (throwError) - throw e; - } finally { - isLoading.value = false; - } - return state.value; - } - if (immediate) - execute(delay); - const shell = { - state, - isReady, - isLoading, - error, - execute - }; - function waitUntilIsLoaded() { - return new Promise((resolve, reject) => { - until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject); - }); - } - return { - ...shell, - then(onFulfilled, onRejected) { - return waitUntilIsLoaded().then(onFulfilled, onRejected); - } - }; -} -async function loadImage(options) { - return new Promise((resolve, reject) => { - const img = new Image(); - const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options; - img.src = src; - if (srcset) - img.srcset = srcset; - if (sizes) - img.sizes = sizes; - if (clazz) - img.className = clazz; - if (loading) - img.loading = loading; - if (crossorigin) - img.crossOrigin = crossorigin; - if (referrerPolicy) - img.referrerPolicy = referrerPolicy; - img.onload = () => resolve(img); - img.onerror = reject; - }); -} -function useImage(options, asyncStateOptions = {}) { - const state = useAsyncState( - () => loadImage(toValue(options)), - void 0, - { - resetOnExecute: true, - ...asyncStateOptions - } - ); - watch( - () => toValue(options), - () => state.execute(asyncStateOptions.delay), - { deep: true } - ); - return state; -} -var UseImage = defineComponent({ - name: "UseImage", - props: [ - "src", - "srcset", - "sizes", - "as", - "alt", - "class", - "loading", - "crossorigin", - "referrerPolicy" - ], - setup(props, { slots }) { - const data = reactive(useImage(props)); - return () => { - if (data.isLoading && slots.loading) - return slots.loading(data); - else if (data.error && slots.error) - return slots.error(data.error); - if (slots.default) - return slots.default(data); - return h(props.as || "img", props); - }; - } -}); -var ARRIVED_STATE_THRESHOLD_PIXELS = 1; -function useScroll(element, options = {}) { - const { - throttle = 0, - idle = 200, - onStop = noop, - onScroll = noop, - offset = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - eventListenerOptions = { - capture: false, - passive: true - }, - behavior = "auto", - window: window2 = defaultWindow2 - } = options; - const internalX = ref(0); - const internalY = ref(0); - const x = computed({ - get() { - return internalX.value; - }, - set(x2) { - scrollTo(x2, void 0); - } - }); - const y = computed({ - get() { - return internalY.value; - }, - set(y2) { - scrollTo(void 0, y2); - } - }); - function scrollTo(_x, _y) { - var _a, _b, _c; - if (!window2) - return; - const _element = toValue(element); - if (!_element) - return; - (_c = _element instanceof Document ? window2.document.body : _element) == null ? void 0 : _c.scrollTo({ - top: (_a = toValue(_y)) != null ? _a : y.value, - left: (_b = toValue(_x)) != null ? _b : x.value, - behavior: toValue(behavior) - }); - } - const isScrolling = ref(false); - const arrivedState = reactive({ - left: true, - right: false, - top: true, - bottom: false - }); - const directions = reactive({ - left: false, - right: false, - top: false, - bottom: false - }); - const onScrollEnd = (e) => { - if (!isScrolling.value) - return; - isScrolling.value = false; - directions.left = false; - directions.right = false; - directions.top = false; - directions.bottom = false; - onStop(e); - }; - const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle); - const setArrivedState = (target) => { - var _a; - if (!window2) - return; - const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target; - const { display, flexDirection } = getComputedStyle(el); - const scrollLeft = el.scrollLeft; - directions.left = scrollLeft < internalX.value; - directions.right = scrollLeft > internalX.value; - const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0); - const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "row-reverse") { - arrivedState.left = right; - arrivedState.right = left; - } else { - arrivedState.left = left; - arrivedState.right = right; - } - internalX.value = scrollLeft; - let scrollTop = el.scrollTop; - if (target === window2.document && !scrollTop) - scrollTop = window2.document.body.scrollTop; - directions.top = scrollTop < internalY.value; - directions.bottom = scrollTop > internalY.value; - const top = Math.abs(scrollTop) <= 0 + (offset.top || 0); - const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS; - if (display === "flex" && flexDirection === "column-reverse") { - arrivedState.top = bottom; - arrivedState.bottom = top; - } else { - arrivedState.top = top; - arrivedState.bottom = bottom; - } - internalY.value = scrollTop; - }; - const onScrollHandler = (e) => { - var _a; - if (!window2) - return; - const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target; - setArrivedState(eventTarget); - isScrolling.value = true; - onScrollEndDebounced(e); - onScroll(e); - }; - useEventListener2( - element, - "scroll", - throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, - eventListenerOptions - ); - useEventListener2( - element, - "scrollend", - onScrollEnd, - eventListenerOptions - ); - return { - x, - y, - isScrolling, - arrivedState, - directions, - measure() { - const _element = toValue(element); - if (window2 && _element) - setArrivedState(_element); - } - }; -} -function resolveElement(el) { - if (typeof Window !== "undefined" && el instanceof Window) - return el.document.documentElement; - if (typeof Document !== "undefined" && el instanceof Document) - return el.documentElement; - return el; -} -function useInfiniteScroll(element, onLoadMore, options = {}) { - var _a; - const { - direction = "bottom", - interval = 100 - } = options; - const state = reactive(useScroll( - element, - { - ...options, - offset: { - [direction]: (_a = options.distance) != null ? _a : 0, - ...options.offset - } - } - )); - const promise = ref(); - const isLoading = computed(() => !!promise.value); - const observedElement = computed(() => { - return resolveElement(toValue(element)); - }); - const isElementVisible = useElementVisibility2(observedElement); - function checkAndLoad() { - state.measure(); - if (!observedElement.value || !isElementVisible.value) - return; - const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value; - const isNarrower = direction === "bottom" || direction === "top" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth; - if (state.arrivedState[direction] || isNarrower) { - if (!promise.value) { - promise.value = Promise.all([ - onLoadMore(state), - new Promise((resolve) => setTimeout(resolve, interval)) - ]).finally(() => { - promise.value = null; - nextTick(() => checkAndLoad()); - }); - } - } - } - watch( - () => [state.arrivedState[direction], isElementVisible.value], - checkAndLoad, - { immediate: true } - ); - return { - isLoading - }; -} -var vInfiniteScroll = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") - useInfiniteScroll(el, binding.value); - else - useInfiniteScroll(el, ...binding.value); - } -}; -var vIntersectionObserver = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") - useIntersectionObserver2(el, binding.value); - else - useIntersectionObserver2(el, ...binding.value); - } -}; -var UseMouse = defineComponent({ - name: "UseMouse", - props: ["touch", "resetOnTouchEnds", "initialValue"], - setup(props, { slots }) { - const data = reactive(useMouse(props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseMouseInElement = defineComponent({ - name: "UseMouseElement", - props: ["handleOutside", "as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(useMouseInElement(target, props)); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -var UseMousePressed = defineComponent({ - name: "UseMousePressed", - props: ["touch", "initialValue", "as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(useMousePressed({ ...props, target })); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -var UseNetwork = defineComponent({ - name: "UseNetwork", - setup(props, { slots }) { - const data = reactive(useNetwork()); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseNow = defineComponent({ - name: "UseNow", - props: ["interval"], - setup(props, { slots }) { - const data = reactive(useNow({ ...props, controls: true })); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseObjectUrl = defineComponent({ - name: "UseObjectUrl", - props: [ - "object" - ], - setup(props, { slots }) { - const object = toRef2(props, "object"); - const url = useObjectUrl(object); - return () => { - if (slots.default && url.value) - return slots.default(url); - }; - } -}); -var UseOffsetPagination = defineComponent({ - name: "UseOffsetPagination", - props: [ - "total", - "page", - "pageSize", - "onPageChange", - "onPageSizeChange", - "onPageCountChange" - ], - emits: [ - "page-change", - "page-size-change", - "page-count-change" - ], - setup(props, { slots, emit }) { - const data = reactive(useOffsetPagination({ - ...props, - onPageChange(...args) { - var _a; - (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args); - emit("page-change", ...args); - }, - onPageSizeChange(...args) { - var _a; - (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args); - emit("page-size-change", ...args); - }, - onPageCountChange(...args) { - var _a; - (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args); - emit("page-count-change", ...args); - } - })); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseOnline = defineComponent({ - name: "UseOnline", - setup(props, { slots }) { - const data = reactive({ - isOnline: useOnline() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePageLeave = defineComponent({ - name: "UsePageLeave", - setup(props, { slots }) { - const data = reactive({ - isLeft: usePageLeave() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePointer = defineComponent({ - name: "UsePointer", - props: [ - "pointerTypes", - "initialValue", - "target" - ], - setup(props, { slots }) { - const el = ref(null); - const data = reactive(usePointer({ - ...props, - target: props.target === "self" ? el : defaultWindow2 - })); - return () => { - if (slots.default) - return slots.default(data, { ref: el }); - }; - } -}); -var UsePointerLock = defineComponent({ - name: "UsePointerLock", - props: ["as"], - setup(props, { slots }) { - const target = ref(); - const data = reactive(usePointerLock(target)); - return () => { - if (slots.default) - return h(props.as || "div", { ref: target }, slots.default(data)); - }; - } -}); -var UsePreferredColorScheme = defineComponent({ - name: "UsePreferredColorScheme", - setup(props, { slots }) { - const data = reactive({ - colorScheme: usePreferredColorScheme() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePreferredContrast = defineComponent({ - name: "UsePreferredContrast", - setup(props, { slots }) { - const data = reactive({ - contrast: usePreferredContrast() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePreferredDark = defineComponent({ - name: "UsePreferredDark", - setup(props, { slots }) { - const data = reactive({ - prefersDark: usePreferredDark() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePreferredLanguages = defineComponent({ - name: "UsePreferredLanguages", - setup(props, { slots }) { - const data = reactive({ - languages: usePreferredLanguages() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UsePreferredReducedMotion = defineComponent({ - name: "UsePreferredReducedMotion", - setup(props, { slots }) { - const data = reactive({ - motion: usePreferredReducedMotion() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -function useMutationObserver(target, callback, options = {}) { - const { window: window2 = defaultWindow2, ...mutationOptions } = options; - let observer; - const isSupported = useSupported2(() => window2 && "MutationObserver" in window2); - const cleanup = () => { - if (observer) { - observer.disconnect(); - observer = void 0; - } - }; - const stopWatch = watch( - () => unrefElement2(target), - (el) => { - cleanup(); - if (isSupported.value && window2 && el) { - observer = new MutationObserver(callback); - observer.observe(el, mutationOptions); - } - }, - { immediate: true } - ); - const stop = () => { - cleanup(); - stopWatch(); - }; - tryOnScopeDispose(stop); - return { - isSupported, - stop - }; -} -function useCssVar(prop, target, options = {}) { - const { window: window2 = defaultWindow2, initialValue = "", observe = false } = options; - const variable = ref(initialValue); - const elRef = computed(() => { - var _a; - return unrefElement2(target) || ((_a = window2 == null ? void 0 : window2.document) == null ? void 0 : _a.documentElement); - }); - function updateCssVar() { - var _a; - const key = toValue(prop); - const el = toValue(elRef); - if (el && window2) { - const value = (_a = window2.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim(); - variable.value = value || initialValue; - } - } - if (observe) { - useMutationObserver(elRef, updateCssVar, { - attributeFilter: ["style", "class"], - window: window2 - }); - } - watch( - [elRef, () => toValue(prop)], - updateCssVar, - { immediate: true } - ); - watch( - variable, - (val) => { - var _a; - if ((_a = elRef.value) == null ? void 0 : _a.style) - elRef.value.style.setProperty(toValue(prop), val); - } - ); - return variable; -} -var topVarName = "--vueuse-safe-area-top"; -var rightVarName = "--vueuse-safe-area-right"; -var bottomVarName = "--vueuse-safe-area-bottom"; -var leftVarName = "--vueuse-safe-area-left"; -function useScreenSafeArea() { - const top = ref(""); - const right = ref(""); - const bottom = ref(""); - const left = ref(""); - if (isClient) { - const topCssVar = useCssVar(topVarName); - const rightCssVar = useCssVar(rightVarName); - const bottomCssVar = useCssVar(bottomVarName); - const leftCssVar = useCssVar(leftVarName); - topCssVar.value = "env(safe-area-inset-top, 0px)"; - rightCssVar.value = "env(safe-area-inset-right, 0px)"; - bottomCssVar.value = "env(safe-area-inset-bottom, 0px)"; - leftCssVar.value = "env(safe-area-inset-left, 0px)"; - update(); - useEventListener2("resize", useDebounceFn(update)); - } - function update() { - top.value = getValue(topVarName); - right.value = getValue(rightVarName); - bottom.value = getValue(bottomVarName); - left.value = getValue(leftVarName); - } - return { - top, - right, - bottom, - left, - update - }; -} -function getValue(position) { - return getComputedStyle(document.documentElement).getPropertyValue(position); -} -var UseScreenSafeArea = defineComponent({ - name: "UseScreenSafeArea", - props: { - top: Boolean, - right: Boolean, - bottom: Boolean, - left: Boolean - }, - setup(props, { slots }) { - const { - top, - right, - bottom, - left - } = useScreenSafeArea(); - return () => { - if (slots.default) { - return h("div", { - style: { - paddingTop: props.top ? top.value : "", - paddingRight: props.right ? right.value : "", - paddingBottom: props.bottom ? bottom.value : "", - paddingLeft: props.left ? left.value : "", - boxSizing: "border-box", - maxHeight: "100vh", - maxWidth: "100vw", - overflow: "auto" - } - }, slots.default()); - } - }; - } -}); -var vScroll = { - [directiveHooks.mounted](el, binding) { - if (typeof binding.value === "function") { - const handler = binding.value; - const state = useScroll(el, { - onScroll() { - handler(state); - }, - onStop() { - handler(state); - } - }); - } else { - const [handler, options] = binding.value; - const state = useScroll(el, { - ...options, - onScroll(e) { - var _a; - (_a = options.onScroll) == null ? void 0 : _a.call(options, e); - handler(state); - }, - onStop(e) { - var _a; - (_a = options.onStop) == null ? void 0 : _a.call(options, e); - handler(state); - } - }); - } - } -}; -function checkOverflowScroll(ele) { - const style = window.getComputedStyle(ele); - if (style.overflowX === "scroll" || style.overflowY === "scroll" || style.overflowX === "auto" && ele.clientWidth < ele.scrollWidth || style.overflowY === "auto" && ele.clientHeight < ele.scrollHeight) { - return true; - } else { - const parent = ele.parentNode; - if (!parent || parent.tagName === "BODY") - return false; - return checkOverflowScroll(parent); - } -} -function preventDefault(rawEvent) { - const e = rawEvent || window.event; - const _target = e.target; - if (checkOverflowScroll(_target)) - return false; - if (e.touches.length > 1) - return true; - if (e.preventDefault) - e.preventDefault(); - return false; -} -function useScrollLock(element, initialState = false) { - const isLocked = ref(initialState); - let stopTouchMoveListener = null; - let initialOverflow; - watch(toRef2(element), (el) => { - const target = resolveElement(toValue(el)); - if (target) { - const ele = target; - initialOverflow = ele.style.overflow; - if (isLocked.value) - ele.style.overflow = "hidden"; - } - }, { - immediate: true - }); - const lock = () => { - const el = resolveElement(toValue(element)); - if (!el || isLocked.value) - return; - if (isIOS) { - stopTouchMoveListener = useEventListener2( - el, - "touchmove", - (e) => { - preventDefault(e); - }, - { passive: false } - ); - } - el.style.overflow = "hidden"; - isLocked.value = true; - }; - const unlock = () => { - const el = resolveElement(toValue(element)); - if (!el || !isLocked.value) - return; - isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener()); - el.style.overflow = initialOverflow; - isLocked.value = false; - }; - tryOnScopeDispose(unlock); - return computed({ - get() { - return isLocked.value; - }, - set(v) { - if (v) - lock(); - else - unlock(); - } - }); -} -function onScrollLock() { - let isMounted = false; - const state = ref(false); - return (el, binding) => { - state.value = binding.value; - if (isMounted) - return; - isMounted = true; - const isLocked = useScrollLock(el, binding.value); - watch(state, (v) => isLocked.value = v); - }; -} -var vScrollLock = onScrollLock(); -var UseTimeAgo = defineComponent({ - name: "UseTimeAgo", - props: ["time", "updateInterval", "max", "fullDateFormatter", "messages", "showSecond"], - setup(props, { slots }) { - const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true })); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseTimestamp = defineComponent({ - name: "UseTimestamp", - props: ["immediate", "interval", "offset"], - setup(props, { slots }) { - const data = reactive(useTimestamp({ ...props, controls: true })); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseVirtualList = defineComponent({ - name: "UseVirtualList", - props: [ - "list", - "options", - "height" - ], - setup(props, { slots, expose }) { - const { list: listRef } = toRefs(props); - const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options); - expose({ scrollTo }); - typeof containerProps.style === "object" && !Array.isArray(containerProps.style) && (containerProps.style.height = props.height || "300px"); - return () => h("div", { ...containerProps }, [ - h("div", { ...wrapperProps.value }, list.value.map((item) => h("div", { style: { overFlow: "hidden", height: item.height } }, slots.default ? slots.default(item) : "Please set content!"))) - ]); - } -}); -var UseWindowFocus = defineComponent({ - name: "UseWindowFocus", - setup(props, { slots }) { - const data = reactive({ - focused: useWindowFocus() - }); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -var UseWindowSize = defineComponent({ - name: "UseWindowSize", - props: ["initialWidth", "initialHeight"], - setup(props, { slots }) { - const data = reactive(useWindowSize(props)); - return () => { - if (slots.default) - return slots.default(data); - }; - } -}); -export { - OnClickOutside, - OnLongPress, - UseActiveElement, - UseBattery, - UseBrowserLocation, - UseColorMode, - UseDark, - UseDeviceMotion, - UseDeviceOrientation, - UseDevicePixelRatio, - UseDevicesList, - UseDocumentVisibility, - UseDraggable, - UseElementBounding, - UseElementSize, - UseElementVisibility, - UseEyeDropper, - UseFullscreen, - UseGeolocation, - UseIdle, - UseImage, - UseMouse, - UseMouseInElement, - UseMousePressed, - UseNetwork, - UseNow, - UseObjectUrl, - UseOffsetPagination, - UseOnline, - UsePageLeave, - UsePointer, - UsePointerLock, - UsePreferredColorScheme, - UsePreferredContrast, - UsePreferredDark, - UsePreferredLanguages, - UsePreferredReducedMotion, - UseScreenSafeArea, - UseTimeAgo, - UseTimestamp, - UseVirtualList, - UseWindowFocus, - UseWindowSize, - vOnClickOutside as VOnClickOutside, - vOnLongPress as VOnLongPress, - vElementHover, - vElementSize, - vElementVisibility, - vInfiniteScroll, - vIntersectionObserver, - vOnClickOutside, - vOnKeyStroke, - vOnLongPress, - vScroll, - vScrollLock -}; -//# sourceMappingURL=@vueuse_components.js.map diff --git a/docs/.vitepress/cache/deps/@vueuse_components.js.map b/docs/.vitepress/cache/deps/@vueuse_components.js.map deleted file mode 100644 index 98e76249f..000000000 --- a/docs/.vitepress/cache/deps/@vueuse_components.js.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../../node_modules/@vueuse/shared/node_modules/vue-demi/lib/index.mjs", "../../../../node_modules/@vueuse/shared/index.mjs", "../../../../node_modules/@vueuse/core/index.mjs", "../../../../node_modules/@vueuse/components/index.mjs"], - "sourcesContent": ["import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n", "import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (param) => {\n return Promise.all(Array.from(fns).map((fn) => fn(param)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, options = {}) {\n var _a, _b;\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options;\n const watchers = [];\n const transformLTR = (_a = transform.ltr) != null ? _a : (v) => v;\n const transformRTL = (_b = transform.rtl) != null ? _b : (v) => v;\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance())\n onBeforeMount(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance())\n onBeforeUnmount(fn);\n}\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance())\n onMounted(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance())\n onUnmounted(fn);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(\n source,\n (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n },\n options\n );\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n", "import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, useTimeoutFn, pausableWatch, toRef, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, createSingletonPromise, toRefs, useIntervalFn, notNullish, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, identity, isDef } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, readonly, nextTick, reactive, markRaw, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n if (el)\n shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions);\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = computedWithControl(\n () => null,\n () => getDeepActiveElement()\n );\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n if (getCurrentInstance()) {\n onMounted(() => {\n isMounted.value = true;\n });\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n const delta = timestamp - (previousFrameTimestamp || timestamp);\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n fn({ delta, timestamp });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (commitStyles)\n animate.value.commitStyles();\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator);\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = breakpoints[k];\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(`(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return Object.assign(shortcutMethods, {\n greater(k) {\n return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(`(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(`(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value)\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(\n () => unrefElement(target),\n (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n },\n { immediate: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\"\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (mode.system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = (_a2 = toValue(containerElement)) != null ? _a2 : toValue(target);\n const rect = container.getBoundingClientRect();\n const pos = {\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\")\n x = e.clientX - pressedDelta.value.x;\n if (axis === \"y\" || axis === \"both\")\n y = e.clientY - pressedDelta.value.y;\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a;\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_a = _options.onEnter) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\", deep: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n return {\n width,\n height\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n ([{ isIntersecting }]) => {\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold: 0\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, { withCredentials });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n const execute = async (throwOnFailed = false) => {\n var _a2;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return new Promise((resolve, reject) => {\n var _a3;\n fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return resolve(fetchResponse);\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n return reject(fetchError);\n return resolve(null);\n }).finally(() => {\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input)\n input.value = \"\";\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n ...gamepad,\n id: gamepad.id,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);\n if (index > -1)\n gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad)\n onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target;\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value)\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = reactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return reactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return reactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + window.pageXOffset;\n elementPositionY.value = top + window.pageYOffset;\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page))\n syncRef(page, currentPage);\n if (isRef(pageSize))\n syncRef(pageSize, currentPageSize);\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument, pointerLockOptions } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"initial\");\n })\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (!isSupported.value)\n return Promise.reject(new Error(\"Not supported\"));\n return screenOrientation.lock(type);\n };\n const unlockOrientation = () => {\n if (isSupported.value)\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n initialOverflow = ele.style.overflow;\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style.height = \"1px\";\n textareaScrollHeight.value = (_a = textarea.value) == null ? void 0 : _a.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style.height = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style.height = height;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b;\n const {\n document = defaultDocument\n } = options;\n const title = toRef((_a = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _a : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_b = document.head) == null ? void 0 : _b.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps) {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n}\n\nfunction createWorkerBlobUrl(fn, deps) {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const x = ref(window.scrollX);\n const y = ref(window.scrollY);\n useEventListener(\n window,\n \"scroll\",\n () => {\n x.value = window.scrollX;\n y.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n", "import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, getCurrentInstance, onMounted, watchEffect, toRefs } from 'vue-demi';\nimport { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';\nimport { toValue, isClient, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, toRef, tryOnMounted, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn } from '@vueuse/shared';\n\nconst OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnClickOutside\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onClickOutside$1(target, (e) => {\n emit(\"trigger\", e);\n }, props.options);\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n if (el)\n shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nconst vOnClickOutside = {\n [directiveHooks.mounted](el, binding) {\n const capture = !binding.modifiers.bubble;\n if (typeof binding.value === \"function\") {\n el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });\n } else {\n const [handler, options] = binding.value;\n el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));\n }\n },\n [directiveHooks.unmounted](el) {\n el.__onClickOutside_stop();\n }\n};\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\n\nconst vOnKeyStroke = {\n [directiveHooks.mounted](el, binding) {\n var _a, _b;\n const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(\",\")) != null ? _b : true;\n if (typeof binding.value === \"function\") {\n onKeyStroke(keys, binding.value, {\n target: el\n });\n } else {\n const [handler, options] = binding.value;\n onKeyStroke(keys, handler, {\n target: el,\n ...options\n });\n }\n }\n};\n\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions);\n}\n\nconst OnLongPress = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"OnLongPress\",\n props: [\"as\", \"options\"],\n emits: [\"trigger\"],\n setup(props, { slots, emit }) {\n const target = ref();\n onLongPress(\n target,\n (e) => {\n emit(\"trigger\", e);\n },\n props.options\n );\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default());\n };\n }\n});\n\nconst vOnLongPress = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n onLongPress(el, binding.value, { modifiers: binding.modifiers });\n else\n onLongPress(el, ...binding.value);\n }\n};\n\nconst UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseActiveElement\",\n setup(props, { slots }) {\n const data = reactive({\n element: useActiveElement()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBattery = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBattery\",\n setup(props, { slots }) {\n const data = reactive(useBattery(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseBrowserLocation\",\n setup(props, { slots }) {\n const data = reactive(useBrowserLocation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n if (getCurrentInstance()) {\n onMounted(() => {\n isMounted.value = true;\n });\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nconst UseColorMode = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseColorMode\",\n props: [\"selector\", \"attribute\", \"modes\", \"onChanged\", \"storageKey\", \"storage\", \"emitAuto\"],\n setup(props, { slots }) {\n const mode = useColorMode(props);\n const data = reactive({\n mode,\n system: mode.system,\n store: mode.store\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDark\",\n props: [\"selector\", \"attribute\", \"valueDark\", \"valueLight\", \"onChanged\", \"storageKey\", \"storage\"],\n setup(props, { slots }) {\n const isDark = useDark(props);\n const data = reactive({\n isDark,\n toggleDark: useToggle(isDark)\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceMotion\",\n setup(props, { slots }) {\n const data = reactive(useDeviceMotion());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDeviceOrientation\",\n setup(props, { slots }) {\n const data = reactive(useDeviceOrientation());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicePixelRatio\",\n setup(props, { slots }) {\n const data = reactive({\n pixelRatio: useDevicePixelRatio()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDevicesList\",\n props: [\"onUpdated\", \"requestPermissions\", \"constraints\"],\n setup(props, { slots }) {\n const data = reactive(useDevicesList(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDocumentVisibility\",\n setup(props, { slots }) {\n const data = reactive({\n visibility: useDocumentVisibility()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseDraggable\",\n props: [\n \"storageKey\",\n \"storageType\",\n \"initialValue\",\n \"exact\",\n \"preventDefault\",\n \"stopPropagation\",\n \"pointerTypes\",\n \"as\",\n \"handle\",\n \"axis\",\n \"onStart\",\n \"onMove\",\n \"onEnd\"\n ],\n setup(props, { slots }) {\n const target = ref();\n const handle = computed(() => {\n var _a;\n return (_a = props.handle) != null ? _a : target.value;\n });\n const storageValue = props.storageKey && useStorage$1(\n props.storageKey,\n toValue(props.initialValue) || { x: 0, y: 0 },\n isClient$1 ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0\n );\n const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };\n const onEnd = (position, event) => {\n var _a;\n (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);\n if (!storageValue)\n return;\n storageValue.value.x = position.x;\n storageValue.value.y = position.y;\n };\n const data = reactive(useDraggable(target, {\n ...props,\n handle,\n initialValue,\n onEnd\n }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));\n };\n }\n});\n\nconst UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementBounding\",\n props: [\"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementBounding(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nconst vElementHover = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const isHovered = useElementHover(el);\n watch(isHovered, (v) => binding.value(v));\n }\n }\n};\n\nconst UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementSize\",\n props: [\"width\", \"height\", \"box\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\", deep: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n return {\n width,\n height\n };\n}\n\nconst vElementSize = {\n [directiveHooks.mounted](el, binding) {\n var _a;\n const handler = typeof binding.value === \"function\" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];\n const options = typeof binding.value === \"function\" ? [] : binding.value.slice(1);\n const { width, height } = useElementSize(el, ...options);\n watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));\n }\n};\n\nconst UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseElementVisibility\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive({\n isVisible: useElementVisibility$1(target)\n });\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n ([{ isIntersecting }]) => {\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold: 0\n }\n );\n return elementIsVisible;\n}\n\nconst vElementVisibility = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const isVisible = useElementVisibility(el);\n watch(isVisible, (v) => handler(v), { immediate: true });\n } else {\n const [handler, options] = binding.value;\n const isVisible = useElementVisibility(el, options);\n watch(isVisible, (v) => handler(v), { immediate: true });\n }\n }\n};\n\nconst UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseEyeDropper\",\n props: {\n sRGBHex: String\n },\n setup(props, { slots }) {\n const data = reactive(useEyeDropper());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseFullscreen\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useFullscreen(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseGeolocation\",\n props: [\"enableHighAccuracy\", \"maximumAge\", \"timeout\", \"navigator\"],\n setup(props, { slots }) {\n const data = reactive(useGeolocation(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseIdle\",\n props: [\"timeout\", \"events\", \"listenForVisibilityChange\", \"initialState\"],\n setup(props, { slots }) {\n const data = reactive(useIdle(props.timeout, props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseImage\",\n props: [\n \"src\",\n \"srcset\",\n \"sizes\",\n \"as\",\n \"alt\",\n \"class\",\n \"loading\",\n \"crossorigin\",\n \"referrerPolicy\"\n ],\n setup(props, { slots }) {\n const data = reactive(useImage(props));\n return () => {\n if (data.isLoading && slots.loading)\n return slots.loading(data);\n else if (data.error && slots.error)\n return slots.error(data.error);\n if (slots.default)\n return slots.default(data);\n return h(props.as || \"img\", props);\n };\n }\n});\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target;\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value)\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst vInfiniteScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useInfiniteScroll(el, binding.value);\n else\n useInfiniteScroll(el, ...binding.value);\n }\n};\n\nconst vIntersectionObserver = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\")\n useIntersectionObserver(el, binding.value);\n else\n useIntersectionObserver(el, ...binding.value);\n }\n};\n\nconst UseMouse = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouse\",\n props: [\"touch\", \"resetOnTouchEnds\", \"initialValue\"],\n setup(props, { slots }) {\n const data = reactive(useMouse(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMouseElement\",\n props: [\"handleOutside\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMouseInElement(target, props));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseMousePressed\",\n props: [\"touch\", \"initialValue\", \"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(useMousePressed({ ...props, target }));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UseNetwork = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNetwork\",\n setup(props, { slots }) {\n const data = reactive(useNetwork());\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseNow = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseNow\",\n props: [\"interval\"],\n setup(props, { slots }) {\n const data = reactive(useNow({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseObjectUrl\",\n props: [\n \"object\"\n ],\n setup(props, { slots }) {\n const object = toRef(props, \"object\");\n const url = useObjectUrl(object);\n return () => {\n if (slots.default && url.value)\n return slots.default(url);\n };\n }\n});\n\nconst UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOffsetPagination\",\n props: [\n \"total\",\n \"page\",\n \"pageSize\",\n \"onPageChange\",\n \"onPageSizeChange\",\n \"onPageCountChange\"\n ],\n emits: [\n \"page-change\",\n \"page-size-change\",\n \"page-count-change\"\n ],\n setup(props, { slots, emit }) {\n const data = reactive(useOffsetPagination({\n ...props,\n onPageChange(...args) {\n var _a;\n (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-change\", ...args);\n },\n onPageSizeChange(...args) {\n var _a;\n (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-size-change\", ...args);\n },\n onPageCountChange(...args) {\n var _a;\n (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);\n emit(\"page-count-change\", ...args);\n }\n }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseOnline = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseOnline\",\n setup(props, { slots }) {\n const data = reactive({\n isOnline: useOnline()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePageLeave\",\n setup(props, { slots }) {\n const data = reactive({\n isLeft: usePageLeave()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePointer = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePointer\",\n props: [\n \"pointerTypes\",\n \"initialValue\",\n \"target\"\n ],\n setup(props, { slots }) {\n const el = ref(null);\n const data = reactive(usePointer({\n ...props,\n target: props.target === \"self\" ? el : defaultWindow\n }));\n return () => {\n if (slots.default)\n return slots.default(data, { ref: el });\n };\n }\n});\n\nconst UsePointerLock = /* #__PURE__ */ defineComponent({\n name: \"UsePointerLock\",\n props: [\"as\"],\n setup(props, { slots }) {\n const target = ref();\n const data = reactive(usePointerLock(target));\n return () => {\n if (slots.default)\n return h(props.as || \"div\", { ref: target }, slots.default(data));\n };\n }\n});\n\nconst UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredColorScheme\",\n setup(props, { slots }) {\n const data = reactive({\n colorScheme: usePreferredColorScheme()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredContrast\",\n setup(props, { slots }) {\n const data = reactive({\n contrast: usePreferredContrast()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredDark\",\n setup(props, { slots }) {\n const data = reactive({\n prefersDark: usePreferredDark$1()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredLanguages\",\n setup(props, { slots }) {\n const data = reactive({\n languages: usePreferredLanguages()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UsePreferredReducedMotion\",\n setup(props, { slots }) {\n const data = reactive({\n motion: usePreferredReducedMotion()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(\n () => unrefElement(target),\n (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n },\n { immediate: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nconst UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseScreenSafeArea\",\n props: {\n top: Boolean,\n right: Boolean,\n bottom: Boolean,\n left: Boolean\n },\n setup(props, { slots }) {\n const {\n top,\n right,\n bottom,\n left\n } = useScreenSafeArea();\n return () => {\n if (slots.default) {\n return h(\"div\", {\n style: {\n paddingTop: props.top ? top.value : \"\",\n paddingRight: props.right ? right.value : \"\",\n paddingBottom: props.bottom ? bottom.value : \"\",\n paddingLeft: props.left ? left.value : \"\",\n boxSizing: \"border-box\",\n maxHeight: \"100vh\",\n maxWidth: \"100vw\",\n overflow: \"auto\"\n }\n }, slots.default());\n }\n };\n }\n});\n\nconst vScroll = {\n [directiveHooks.mounted](el, binding) {\n if (typeof binding.value === \"function\") {\n const handler = binding.value;\n const state = useScroll(el, {\n onScroll() {\n handler(state);\n },\n onStop() {\n handler(state);\n }\n });\n } else {\n const [handler, options] = binding.value;\n const state = useScroll(el, {\n ...options,\n onScroll(e) {\n var _a;\n (_a = options.onScroll) == null ? void 0 : _a.call(options, e);\n handler(state);\n },\n onStop(e) {\n var _a;\n (_a = options.onStop) == null ? void 0 : _a.call(options, e);\n handler(state);\n }\n });\n }\n }\n};\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n initialOverflow = ele.style.overflow;\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction onScrollLock() {\n let isMounted = false;\n const state = ref(false);\n return (el, binding) => {\n state.value = binding.value;\n if (isMounted)\n return;\n isMounted = true;\n const isLocked = useScrollLock(el, binding.value);\n watch(state, (v) => isLocked.value = v);\n };\n}\nconst vScrollLock = onScrollLock();\n\nconst UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimeAgo\",\n props: [\"time\", \"updateInterval\", \"max\", \"fullDateFormatter\", \"messages\", \"showSecond\"],\n setup(props, { slots }) {\n const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseTimestamp\",\n props: [\"immediate\", \"interval\", \"offset\"],\n setup(props, { slots }) {\n const data = reactive(useTimestamp({ ...props, controls: true }));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseVirtualList\",\n props: [\n \"list\",\n \"options\",\n \"height\"\n ],\n setup(props, { slots, expose }) {\n const { list: listRef } = toRefs(props);\n const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n expose({ scrollTo });\n typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style) && (containerProps.style.height = props.height || \"300px\");\n return () => h(\"div\", { ...containerProps }, [\n h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: { overFlow: \"hidden\", height: item.height } }, slots.default ? slots.default(item) : \"Please set content!\")))\n ]);\n }\n});\n\nconst UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowFocus\",\n setup(props, { slots }) {\n const data = reactive({\n focused: useWindowFocus()\n });\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nconst UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n name: \"UseWindowSize\",\n props: [\"initialWidth\", \"initialHeight\"],\n setup(props, { slots }) {\n const data = reactive(useWindowSize(props));\n return () => {\n if (slots.default)\n return slots.default(data);\n };\n }\n});\n\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vScroll, vScrollLock };\n"], - "mappings": "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", - "names": ["set", "keys", "toRef", "toRefs", "window", "window", "document", "timestamp", "window", "window", "window", "toRef", "window", "onUpdated", "document", "preventDefault", "toRefs", "window", "window", "document", "window", "document", "window", "window", "toRefs", "document", "window", "getValue", "window", "window", "unrefElement", "defaultWindow", "useEventListener", "_iOSWorkaround", "onClickOutside", "window", "keys", "_global", "globalKey", "handlers", "getHandlers", "getSSRHandler", "guessSerializerType", "StorageSerializers", "customStorageEventName", "useStorage", "useMounted", "useSupported", "useMediaQuery", "usePreferredDark", "useColorMode", "toRef", "useResizeObserver", "useElementSize", "useIntersectionObserver", "useElementVisibility"] -} diff --git a/docs/.vitepress/cache/deps/_metadata.json b/docs/.vitepress/cache/deps/_metadata.json deleted file mode 100644 index 299b66b1a..000000000 --- a/docs/.vitepress/cache/deps/_metadata.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "hash": "cf98e065", - "browserHash": "afab24c0", - "optimized": { - "vue": { - "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", - "file": "vue.js", - "fileHash": "5bc67ced", - "needsInterop": false - }, - "vitepress > @vue/devtools-api": { - "src": "../../../../node_modules/@vue/devtools-api/lib/esm/index.js", - "file": "vitepress___@vue_devtools-api.js", - "fileHash": "127c289d", - "needsInterop": false - }, - "vue-i18n": { - "src": "../../../../node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js", - "file": "vue-i18n.js", - "fileHash": "78dffe20", - "needsInterop": false - }, - "markdown-it": { - "src": "../../../../node_modules/markdown-it/index.js", - "file": "markdown-it.js", - "fileHash": "dff627f9", - "needsInterop": true - }, - "webitel-sdk": { - "src": "../../../../node_modules/webitel-sdk/esm5/index.js", - "file": "webitel-sdk.js", - "fileHash": "77da4c29", - "needsInterop": false - }, - "webitel-sdk/esm2015/enums": { - "src": "../../../../node_modules/webitel-sdk/esm2015/enums/index.js", - "file": "webitel-sdk_esm2015_enums.js", - "fileHash": "e973041c", - "needsInterop": false - }, - "@vueuse/components": { - "src": "../../../../node_modules/@vueuse/components/index.mjs", - "file": "@vueuse_components.js", - "fileHash": "30c88a59", - "needsInterop": false - }, - "@floating-ui/vue": { - "src": "../../../../node_modules/@floating-ui/vue/dist/floating-ui.vue.esm.js", - "file": "@floating-ui_vue.js", - "fileHash": "887f563a", - "needsInterop": false - }, - "@vuepic/vue-datepicker": { - "src": "../../../../node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js", - "file": "@vuepic_vue-datepicker.js", - "fileHash": "48c112ab", - "needsInterop": false - }, - "clipboard-copy": { - "src": "../../../../node_modules/clipboard-copy/index.js", - "file": "clipboard-copy.js", - "fileHash": "4ba5a062", - "needsInterop": true - }, - "deep-copy": { - "src": "../../../../node_modules/deep-copy/index.js", - "file": "deep-copy.js", - "fileHash": "0f797bc0", - "needsInterop": true - }, - "plyr": { - "src": "../../../../node_modules/plyr/dist/plyr.min.mjs", - "file": "plyr.js", - "fileHash": "7af40de1", - "needsInterop": false - }, - "lodash/debounce": { - "src": "../../../../node_modules/lodash/debounce.js", - "file": "lodash_debounce.js", - "fileHash": "da460a53", - "needsInterop": true - }, - "vue-multiselect": { - "src": "../../../../node_modules/vue-multiselect/dist/vue-multiselect.esm.js", - "file": "vue-multiselect.js", - "fileHash": "33d56b7c", - "needsInterop": false - }, - "vue-observe-visibility": { - "src": "../../../../node_modules/vue-observe-visibility/dist/vue-observe-visibility.esm.js", - "file": "vue-observe-visibility.js", - "fileHash": "83f7aa79", - "needsInterop": false - }, - "prismjs": { - "src": "../../../../node_modules/prismjs/prism.js", - "file": "prismjs.js", - "fileHash": "1b0ae204", - "needsInterop": true - } - }, - "chunks": { - "chunk-J4VLYDXT": { - "file": "chunk-J4VLYDXT.js" - }, - "chunk-2YWP3TL2": { - "file": "chunk-2YWP3TL2.js" - }, - "chunk-ROME4SDB": { - "file": "chunk-ROME4SDB.js" - } - } -} \ No newline at end of file diff --git a/docs/.vitepress/cache/deps/chunk-2YWP3TL2.js b/docs/.vitepress/cache/deps/chunk-2YWP3TL2.js deleted file mode 100644 index ad428e7ce..000000000 --- a/docs/.vitepress/cache/deps/chunk-2YWP3TL2.js +++ /dev/null @@ -1,9517 +0,0 @@ -// node_modules/@vue/shared/dist/shared.esm-bundler.js -function makeMap(str, expectsLowerCase) { - const map2 = /* @__PURE__ */ Object.create(null); - const list = str.split(","); - for (let i = 0; i < list.length; i++) { - map2[list[i]] = true; - } - return expectsLowerCase ? (val) => !!map2[val.toLowerCase()] : (val) => !!map2[val]; -} -var GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"; -var isGloballyWhitelisted = makeMap(GLOBALS_WHITE_LISTED); -function normalizeStyle(value) { - if (isArray(value)) { - const res = {}; - for (let i = 0; i < value.length; i++) { - const item = value[i]; - const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString(value)) { - return value; - } else if (isObject(value)) { - return value; - } -} -var listDelimiterRE = /;(?![^(]*\))/g; -var propertyDelimiterRE = /:([^]+)/; -var styleCommentRE = /\/\*.*?\*\//gs; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { - if (item) { - const tmp = item.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -function normalizeClass(value) { - let res = ""; - if (isString(value)) { - res = value; - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - const normalized = normalizeClass(value[i]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject(value)) { - for (const name in value) { - if (value[name]) { - res += name + " "; - } - } - } - return res.trim(); -} -function normalizeProps(props) { - if (!props) - return null; - let { class: klass, style } = props; - if (klass && !isString(klass)) { - props.class = normalizeClass(klass); - } - if (style) { - props.style = normalizeStyle(style); - } - return props; -} -var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; -var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; -var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; -var isHTMLTag = makeMap(HTML_TAGS); -var isSVGTag = makeMap(SVG_TAGS); -var isVoidTag = makeMap(VOID_TAGS); -var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); -var isBooleanAttr = makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`); -function includeBooleanAttr(value) { - return !!value || value === ""; -} -var isKnownHtmlAttr = makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`); -var isKnownSvgAttr = makeMap(`xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`); -function looseCompareArrays(a, b) { - if (a.length !== b.length) - return false; - let equal = true; - for (let i = 0; equal && i < a.length; i++) { - equal = looseEqual(a[i], b[i]); - } - return equal; -} -function looseEqual(a, b) { - if (a === b) - return true; - let aValidType = isDate(a); - let bValidType = isDate(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? a.getTime() === b.getTime() : false; - } - aValidType = isSymbol(a); - bValidType = isSymbol(b); - if (aValidType || bValidType) { - return a === b; - } - aValidType = isArray(a); - bValidType = isArray(b); - if (aValidType || bValidType) { - return aValidType && bValidType ? looseCompareArrays(a, b) : false; - } - aValidType = isObject(a); - bValidType = isObject(b); - if (aValidType || bValidType) { - if (!aValidType || !bValidType) { - return false; - } - const aKeysCount = Object.keys(a).length; - const bKeysCount = Object.keys(b).length; - if (aKeysCount !== bKeysCount) { - return false; - } - for (const key in a) { - const aHasKey = a.hasOwnProperty(key); - const bHasKey = b.hasOwnProperty(key); - if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { - return false; - } - } - } - return String(a) === String(b); -} -function looseIndexOf(arr, val) { - return arr.findIndex((item) => looseEqual(item, val)); -} -var toDisplayString = (val) => { - return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); -}; -var replacer = (_key, val) => { - if (val && val.__v_isRef) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => { - entries[`${key} =>`] = val2; - return entries; - }, {}) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()] - }; - } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { - return String(val); - } - return val; -}; -var EMPTY_OBJ = true ? Object.freeze({}) : {}; -var EMPTY_ARR = true ? Object.freeze([]) : []; -var NOOP = () => { -}; -var NO = () => false; -var onRE = /^on[^a-z]/; -var isOn = (key) => onRE.test(key); -var isModelListener = (key) => key.startsWith("onUpdate:"); -var extend = Object.assign; -var remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) { - arr.splice(i, 1); - } -}; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var hasOwn = (val, key) => hasOwnProperty.call(val, key); -var isArray = Array.isArray; -var isMap = (val) => toTypeString(val) === "[object Map]"; -var isSet = (val) => toTypeString(val) === "[object Set]"; -var isDate = (val) => toTypeString(val) === "[object Date]"; -var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; -var isFunction = (val) => typeof val === "function"; -var isString = (val) => typeof val === "string"; -var isSymbol = (val) => typeof val === "symbol"; -var isObject = (val) => val !== null && typeof val === "object"; -var isPromise = (val) => { - return isObject(val) && isFunction(val.then) && isFunction(val.catch); -}; -var objectToString = Object.prototype.toString; -var toTypeString = (value) => objectToString.call(value); -var toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -var isPlainObject = (val) => toTypeString(val) === "[object Object]"; -var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -var isReservedProp = makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -var isBuiltInDirective = makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"); -var cacheStringFunction = (fn) => { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -}; -var camelizeRE = /-(\w)/g; -var camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); -}); -var hyphenateRE = /\B([A-Z])/g; -var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, "-$1").toLowerCase()); -var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); -var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); -var hasChanged = (value, oldValue) => !Object.is(value, oldValue); -var invokeArrayFns = (fns, arg) => { - for (let i = 0; i < fns.length; i++) { - fns[i](arg); - } -}; -var def = (obj, key, value) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - value - }); -}; -var looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -var toNumber = (val) => { - const n = isString(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}; -var _globalThis; -var getGlobalThis = () => { - return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}; - -// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js -function warn(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -var activeEffectScope; -var EffectScope = class { - constructor(detached = false) { - this.detached = detached; - this._active = true; - this.effects = []; - this.cleanups = []; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; - } - } - get active() { - return this._active; - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else if (true) { - warn(`cannot run an inactive effect scope.`); - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - activeEffectScope = this; - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - activeEffectScope = this.parent; - } - stop(fromParent) { - if (this._active) { - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].stop(); - } - for (i = 0, l = this.cleanups.length; i < l; i++) { - this.cleanups[i](); - } - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].stop(true); - } - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - this._active = false; - } - } -}; -function effectScope(detached) { - return new EffectScope(detached); -} -function recordEffectScope(effect2, scope = activeEffectScope) { - if (scope && scope.active) { - scope.effects.push(effect2); - } -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } else if (true) { - warn(`onScopeDispose() is called when there is no active effect scope to be associated with.`); - } -} -var createDep = (effects) => { - const dep = new Set(effects); - dep.w = 0; - dep.n = 0; - return dep; -}; -var wasTracked = (dep) => (dep.w & trackOpBit) > 0; -var newTracked = (dep) => (dep.n & trackOpBit) > 0; -var initDepMarkers = ({ deps }) => { - if (deps.length) { - for (let i = 0; i < deps.length; i++) { - deps[i].w |= trackOpBit; - } - } -}; -var finalizeDepMarkers = (effect2) => { - const { deps } = effect2; - if (deps.length) { - let ptr = 0; - for (let i = 0; i < deps.length; i++) { - const dep = deps[i]; - if (wasTracked(dep) && !newTracked(dep)) { - dep.delete(effect2); - } else { - deps[ptr++] = dep; - } - dep.w &= ~trackOpBit; - dep.n &= ~trackOpBit; - } - deps.length = ptr; - } -}; -var targetMap = /* @__PURE__ */ new WeakMap(); -var effectTrackDepth = 0; -var trackOpBit = 1; -var maxMarkerBits = 30; -var activeEffect; -var ITERATE_KEY = Symbol(true ? "iterate" : ""); -var MAP_KEY_ITERATE_KEY = Symbol(true ? "Map key iterate" : ""); -var ReactiveEffect = class { - constructor(fn, scheduler = null, scope) { - this.fn = fn; - this.scheduler = scheduler; - this.active = true; - this.deps = []; - this.parent = void 0; - recordEffectScope(this, scope); - } - run() { - if (!this.active) { - return this.fn(); - } - let parent = activeEffect; - let lastShouldTrack = shouldTrack; - while (parent) { - if (parent === this) { - return; - } - parent = parent.parent; - } - try { - this.parent = activeEffect; - activeEffect = this; - shouldTrack = true; - trackOpBit = 1 << ++effectTrackDepth; - if (effectTrackDepth <= maxMarkerBits) { - initDepMarkers(this); - } else { - cleanupEffect(this); - } - return this.fn(); - } finally { - if (effectTrackDepth <= maxMarkerBits) { - finalizeDepMarkers(this); - } - trackOpBit = 1 << --effectTrackDepth; - activeEffect = this.parent; - shouldTrack = lastShouldTrack; - this.parent = void 0; - if (this.deferStop) { - this.stop(); - } - } - } - stop() { - if (activeEffect === this) { - this.deferStop = true; - } else if (this.active) { - cleanupEffect(this); - if (this.onStop) { - this.onStop(); - } - this.active = false; - } - } -}; -function cleanupEffect(effect2) { - const { deps } = effect2; - if (deps.length) { - for (let i = 0; i < deps.length; i++) { - deps[i].delete(effect2); - } - deps.length = 0; - } -} -function effect(fn, options) { - if (fn.effect) { - fn = fn.effect.fn; - } - const _effect = new ReactiveEffect(fn); - if (options) { - extend(_effect, options); - if (options.scope) - recordEffectScope(_effect, options.scope); - } - if (!options || !options.lazy) { - _effect.run(); - } - const runner = _effect.run.bind(_effect); - runner.effect = _effect; - return runner; -} -function stop(runner) { - runner.effect.stop(); -} -var shouldTrack = true; -var trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function track(target, type, key) { - if (shouldTrack && activeEffect) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = createDep()); - } - const eventInfo = true ? { effect: activeEffect, target, type, key } : void 0; - trackEffects(dep, eventInfo); - } -} -function trackEffects(dep, debuggerEventExtraInfo) { - let shouldTrack2 = false; - if (effectTrackDepth <= maxMarkerBits) { - if (!newTracked(dep)) { - dep.n |= trackOpBit; - shouldTrack2 = !wasTracked(dep); - } - } else { - shouldTrack2 = !dep.has(activeEffect); - } - if (shouldTrack2) { - dep.add(activeEffect); - activeEffect.deps.push(dep); - if (activeEffect.onTrack) { - activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo)); - } - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - return; - } - let deps = []; - if (type === "clear") { - deps = [...depsMap.values()]; - } else if (key === "length" && isArray(target)) { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || key2 >= newLength) { - deps.push(dep); - } - }); - } else { - if (key !== void 0) { - deps.push(depsMap.get(key)); - } - switch (type) { - case "add": - if (!isArray(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - deps.push(depsMap.get("length")); - } - break; - case "delete": - if (!isArray(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - } - break; - } - } - const eventInfo = true ? { target, type, key, newValue, oldValue, oldTarget } : void 0; - if (deps.length === 1) { - if (deps[0]) { - if (true) { - triggerEffects(deps[0], eventInfo); - } else { - triggerEffects(deps[0]); - } - } - } else { - const effects = []; - for (const dep of deps) { - if (dep) { - effects.push(...dep); - } - } - if (true) { - triggerEffects(createDep(effects), eventInfo); - } else { - triggerEffects(createDep(effects)); - } - } -} -function triggerEffects(dep, debuggerEventExtraInfo) { - const effects = isArray(dep) ? dep : [...dep]; - for (const effect2 of effects) { - if (effect2.computed) { - triggerEffect(effect2, debuggerEventExtraInfo); - } - } - for (const effect2 of effects) { - if (!effect2.computed) { - triggerEffect(effect2, debuggerEventExtraInfo); - } - } -} -function triggerEffect(effect2, debuggerEventExtraInfo) { - if (effect2 !== activeEffect || effect2.allowRecurse) { - if (effect2.onTrigger) { - effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo)); - } - if (effect2.scheduler) { - effect2.scheduler(); - } else { - effect2.run(); - } - } -} -function getDepFromReactive(object, key) { - var _a2; - return (_a2 = targetMap.get(object)) === null || _a2 === void 0 ? void 0 : _a2.get(key); -} -var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); -var builtInSymbols = new Set( - Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) -); -var get$1 = createGetter(); -var shallowGet = createGetter(false, true); -var readonlyGet = createGetter(true); -var shallowReadonlyGet = createGetter(true, true); -var arrayInstrumentations = createArrayInstrumentations(); -function createArrayInstrumentations() { - const instrumentations = {}; - ["includes", "indexOf", "lastIndexOf"].forEach((key) => { - instrumentations[key] = function(...args) { - const arr = toRaw(this); - for (let i = 0, l = this.length; i < l; i++) { - track(arr, "get", i + ""); - } - const res = arr[key](...args); - if (res === -1 || res === false) { - return arr[key](...args.map(toRaw)); - } else { - return res; - } - }; - }); - ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { - instrumentations[key] = function(...args) { - pauseTracking(); - const res = toRaw(this)[key].apply(this, args); - resetTracking(); - return res; - }; - }); - return instrumentations; -} -function hasOwnProperty2(key) { - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -function createGetter(isReadonly2 = false, shallow = false) { - return function get2(target, key, receiver) { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return shallow; - } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) { - return target; - } - const targetIsArray = isArray(target); - if (!isReadonly2) { - if (targetIsArray && hasOwn(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); - } - if (key === "hasOwnProperty") { - return hasOwnProperty2; - } - } - const res = Reflect.get(target, key, receiver); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (shallow) { - return res; - } - if (isRef(res)) { - return targetIsArray && isIntegerKey(key) ? res : res.value; - } - if (isObject(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - }; -} -var set$1 = createSetter(); -var shallowSet = createSetter(true); -function createSetter(shallow = false) { - return function set2(target, key, value, receiver) { - let oldValue = target[key]; - if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) { - return false; - } - if (!shallow) { - if (!isShallow(value) && !isReadonly(value)) { - oldValue = toRaw(oldValue); - value = toRaw(value); - } - if (!isArray(target) && isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } - } - const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set(target, key, value, receiver); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - } - return result; - }; -} -function deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; -} -function has$1(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; -} -function ownKeys(target) { - track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY); - return Reflect.ownKeys(target); -} -var mutableHandlers = { - get: get$1, - set: set$1, - deleteProperty, - has: has$1, - ownKeys -}; -var readonlyHandlers = { - get: readonlyGet, - set(target, key) { - if (true) { - warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target); - } - return true; - }, - deleteProperty(target, key) { - if (true) { - warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target); - } - return true; - } -}; -var shallowReactiveHandlers = extend({}, mutableHandlers, { - get: shallowGet, - set: shallowSet -}); -var shallowReadonlyHandlers = extend({}, readonlyHandlers, { - get: shallowReadonlyGet -}); -var toShallow = (value) => value; -var getProto = (v) => Reflect.getPrototypeOf(v); -function get(target, key, isReadonly2 = false, isShallow3 = false) { - target = target[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (key !== rawKey) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has: has2 } = getProto(rawTarget); - const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; - if (has2.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has2.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } -} -function has(key, isReadonly2 = false) { - const target = this[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (key !== rawKey) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); -} -function size(target, isReadonly2 = false) { - target = target[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); -} -function add(value) { - value = toRaw(value); - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger(target, "add", value, value); - } - return this; -} -function set(key, value) { - value = toRaw(value); - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (true) { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - return this; -} -function deleteEntry(key) { - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (true) { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2 ? get2.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; -} -function clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; - const result = target.clear(); - if (hadItems) { - trigger(target, "clear", void 0, void 0, oldTarget); - } - return result; -} -function createForEach(isReadonly2, isShallow3) { - return function forEach(callback, thisArg) { - const observed = this; - const target = observed[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - const rawTarget = toRaw(target); - const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - }; -} -function createIterableMethod(method, isReadonly2, isShallow3) { - return function(...args) { - const target = this[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow3 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY); - return { - // iterator protocol - next() { - const { value, done } = innerIterator.next(); - return done ? { value, done } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - if (true) { - const key = args[0] ? `on key "${args[0]}" ` : ``; - console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this)); - } - return type === "delete" ? false : this; - }; -} -function createInstrumentations() { - const mutableInstrumentations2 = { - get(key) { - return get(this, key); - }, - get size() { - return size(this); - }, - has, - add, - set, - delete: deleteEntry, - clear, - forEach: createForEach(false, false) - }; - const shallowInstrumentations2 = { - get(key) { - return get(this, key, false, true); - }, - get size() { - return size(this); - }, - has, - add, - set, - delete: deleteEntry, - clear, - forEach: createForEach(false, true) - }; - const readonlyInstrumentations2 = { - get(key) { - return get(this, key, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has.call(this, key, true); - }, - add: createReadonlyMethod( - "add" - /* TriggerOpTypes.ADD */ - ), - set: createReadonlyMethod( - "set" - /* TriggerOpTypes.SET */ - ), - delete: createReadonlyMethod( - "delete" - /* TriggerOpTypes.DELETE */ - ), - clear: createReadonlyMethod( - "clear" - /* TriggerOpTypes.CLEAR */ - ), - forEach: createForEach(true, false) - }; - const shallowReadonlyInstrumentations2 = { - get(key) { - return get(this, key, true, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has.call(this, key, true); - }, - add: createReadonlyMethod( - "add" - /* TriggerOpTypes.ADD */ - ), - set: createReadonlyMethod( - "set" - /* TriggerOpTypes.SET */ - ), - delete: createReadonlyMethod( - "delete" - /* TriggerOpTypes.DELETE */ - ), - clear: createReadonlyMethod( - "clear" - /* TriggerOpTypes.CLEAR */ - ), - forEach: createForEach(true, true) - }; - const iteratorMethods = ["keys", "values", "entries", Symbol.iterator]; - iteratorMethods.forEach((method) => { - mutableInstrumentations2[method] = createIterableMethod(method, false, false); - readonlyInstrumentations2[method] = createIterableMethod(method, true, false); - shallowInstrumentations2[method] = createIterableMethod(method, false, true); - shallowReadonlyInstrumentations2[method] = createIterableMethod(method, true, true); - }); - return [ - mutableInstrumentations2, - readonlyInstrumentations2, - shallowInstrumentations2, - shallowReadonlyInstrumentations2 - ]; -} -var [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = createInstrumentations(); -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get(hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver); - }; -} -var mutableCollectionHandlers = { - get: createInstrumentationGetter(false, false) -}; -var shallowCollectionHandlers = { - get: createInstrumentationGetter(false, true) -}; -var readonlyCollectionHandlers = { - get: createInstrumentationGetter(true, false) -}; -var shallowReadonlyCollectionHandlers = { - get: createInstrumentationGetter(true, true) -}; -function checkIdentityKeys(target, has2, key) { - const rawKey = toRaw(key); - if (rawKey !== key && has2.call(target, rawKey)) { - const type = toRawType(target); - console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`); - } -} -var reactiveMap = /* @__PURE__ */ new WeakMap(); -var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -var readonlyMap = /* @__PURE__ */ new WeakMap(); -var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value[ - "__v_skip" - /* ReactiveFlags.SKIP */ - ] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap); -} -function shallowReactive(target) { - return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap); -} -function readonly(target) { - return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap); -} -function shallowReadonly(target) { - return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject(target)) { - if (true) { - console.warn(`value cannot be made reactive: ${String(target)}`); - } - return target; - } - if (target[ - "__v_raw" - /* ReactiveFlags.RAW */ - ] && !(isReadonly2 && target[ - "__v_isReactive" - /* ReactiveFlags.IS_REACTIVE */ - ])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]); - } - return !!(value && value[ - "__v_isReactive" - /* ReactiveFlags.IS_REACTIVE */ - ]); -} -function isReadonly(value) { - return !!(value && value[ - "__v_isReadonly" - /* ReactiveFlags.IS_READONLY */ - ]); -} -function isShallow(value) { - return !!(value && value[ - "__v_isShallow" - /* ReactiveFlags.IS_SHALLOW */ - ]); -} -function isProxy(value) { - return isReactive(value) || isReadonly(value); -} -function toRaw(observed) { - const raw = observed && observed[ - "__v_raw" - /* ReactiveFlags.RAW */ - ]; - return raw ? toRaw(raw) : observed; -} -function markRaw(value) { - def(value, "__v_skip", true); - return value; -} -var toReactive = (value) => isObject(value) ? reactive(value) : value; -var toReadonly = (value) => isObject(value) ? readonly(value) : value; -function trackRefValue(ref2) { - if (shouldTrack && activeEffect) { - ref2 = toRaw(ref2); - if (true) { - trackEffects(ref2.dep || (ref2.dep = createDep()), { - target: ref2, - type: "get", - key: "value" - }); - } else { - trackEffects(ref2.dep || (ref2.dep = createDep())); - } - } -} -function triggerRefValue(ref2, newVal) { - ref2 = toRaw(ref2); - const dep = ref2.dep; - if (dep) { - if (true) { - triggerEffects(dep, { - target: ref2, - type: "set", - key: "value", - newValue: newVal - }); - } else { - triggerEffects(dep); - } - } -} -function isRef(r) { - return !!(r && r.__v_isRef === true); -} -function ref(value) { - return createRef(value, false); -} -function shallowRef(value) { - return createRef(value, true); -} -function createRef(rawValue, shallow) { - if (isRef(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -var RefImpl = class { - constructor(value, __v_isShallow) { - this.__v_isShallow = __v_isShallow; - this.dep = void 0; - this.__v_isRef = true; - this._rawValue = __v_isShallow ? value : toRaw(value); - this._value = __v_isShallow ? value : toReactive(value); - } - get value() { - trackRefValue(this); - return this._value; - } - set value(newVal) { - const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); - newVal = useDirectValue ? newVal : toRaw(newVal); - if (hasChanged(newVal, this._rawValue)) { - this._rawValue = newVal; - this._value = useDirectValue ? newVal : toReactive(newVal); - triggerRefValue(this, newVal); - } - } -}; -function triggerRef(ref2) { - triggerRefValue(ref2, true ? ref2.value : void 0); -} -function unref(ref2) { - return isRef(ref2) ? ref2.value : ref2; -} -var shallowUnwrapHandlers = { - get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } else { - return Reflect.set(target, key, value, receiver); - } - } -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -var CustomRefImpl = class { - constructor(factory) { - this.dep = void 0; - this.__v_isRef = true; - const { get: get2, set: set2 } = factory(() => trackRefValue(this), () => triggerRefValue(this)); - this._get = get2; - this._set = set2; - } - get value() { - return this._get(); - } - set value(newVal) { - this._set(newVal); - } -}; -function customRef(factory) { - return new CustomRefImpl(factory); -} -function toRefs(object) { - if (!isProxy(object)) { - console.warn(`toRefs() expects a reactive object but received a plain one.`); - } - const ret = isArray(object) ? new Array(object.length) : {}; - for (const key in object) { - ret[key] = toRef(object, key); - } - return ret; -} -var ObjectRefImpl = class { - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this.__v_isRef = true; - } - get value() { - const val = this._object[this._key]; - return val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(toRaw(this._object), this._key); - } -}; -function toRef(object, key, defaultValue) { - const val = object[key]; - return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue); -} -var _a$1; -var ComputedRefImpl = class { - constructor(getter, _setter, isReadonly2, isSSR) { - this._setter = _setter; - this.dep = void 0; - this.__v_isRef = true; - this[_a$1] = false; - this._dirty = true; - this.effect = new ReactiveEffect(getter, () => { - if (!this._dirty) { - this._dirty = true; - triggerRefValue(this); - } - }); - this.effect.computed = this; - this.effect.active = this._cacheable = !isSSR; - this[ - "__v_isReadonly" - /* ReactiveFlags.IS_READONLY */ - ] = isReadonly2; - } - get value() { - const self2 = toRaw(this); - trackRefValue(self2); - if (self2._dirty || !self2._cacheable) { - self2._dirty = false; - self2._value = self2.effect.run(); - } - return self2._value; - } - set value(newValue) { - this._setter(newValue); - } -}; -_a$1 = "__v_isReadonly"; -function computed(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - const onlyGetter = isFunction(getterOrOptions); - if (onlyGetter) { - getter = getterOrOptions; - setter = true ? () => { - console.warn("Write operation failed: computed value is readonly"); - } : NOOP; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); - if (debugOptions && !isSSR) { - cRef.effect.onTrack = debugOptions.onTrack; - cRef.effect.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -var _a; -var tick = Promise.resolve(); -_a = "__v_isReadonly"; - -// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js -var stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -function popWarningContext() { - stack.pop(); -} -function warn2(msg, ...args) { - if (false) - return; - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling(appWarnHandler, instance, 11, [ - msg + args.join(""), - instance && instance.proxy, - trace.map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`).join("\n"), - trace - ]); - } else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); -} -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`; - const close = `>` + postfix; - return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) { - res.push(` ...`); - } - return res; -} -function formatProp(key, value, raw) { - if (isString(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) { - return raw ? value : [`${key}=${value}`]; - } else if (isRef(value)) { - value = formatProp(key, toRaw(value.value), true); - return raw ? value : [`${key}=Ref<`, value, `>`]; - } else if (isFunction(value)) { - return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - } else { - value = toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -function assertNumber(val, type) { - if (false) - return; - if (val === void 0) { - return; - } else if (typeof val !== "number") { - warn2(`${type} is not a valid number - got ${JSON.stringify(val)}.`); - } else if (isNaN(val)) { - warn2(`${type} is NaN - the duration expression might be incorrect.`); - } -} -var ErrorTypeStrings = { - [ - "sp" - /* LifecycleHooks.SERVER_PREFETCH */ - ]: "serverPrefetch hook", - [ - "bc" - /* LifecycleHooks.BEFORE_CREATE */ - ]: "beforeCreate hook", - [ - "c" - /* LifecycleHooks.CREATED */ - ]: "created hook", - [ - "bm" - /* LifecycleHooks.BEFORE_MOUNT */ - ]: "beforeMount hook", - [ - "m" - /* LifecycleHooks.MOUNTED */ - ]: "mounted hook", - [ - "bu" - /* LifecycleHooks.BEFORE_UPDATE */ - ]: "beforeUpdate hook", - [ - "u" - /* LifecycleHooks.UPDATED */ - ]: "updated", - [ - "bum" - /* LifecycleHooks.BEFORE_UNMOUNT */ - ]: "beforeUnmount hook", - [ - "um" - /* LifecycleHooks.UNMOUNTED */ - ]: "unmounted hook", - [ - "a" - /* LifecycleHooks.ACTIVATED */ - ]: "activated hook", - [ - "da" - /* LifecycleHooks.DEACTIVATED */ - ]: "deactivated hook", - [ - "ec" - /* LifecycleHooks.ERROR_CAPTURED */ - ]: "errorCaptured hook", - [ - "rtc" - /* LifecycleHooks.RENDER_TRACKED */ - ]: "renderTracked hook", - [ - "rtg" - /* LifecycleHooks.RENDER_TRIGGERED */ - ]: "renderTriggered hook", - [ - 0 - /* ErrorCodes.SETUP_FUNCTION */ - ]: "setup function", - [ - 1 - /* ErrorCodes.RENDER_FUNCTION */ - ]: "render function", - [ - 2 - /* ErrorCodes.WATCH_GETTER */ - ]: "watcher getter", - [ - 3 - /* ErrorCodes.WATCH_CALLBACK */ - ]: "watcher callback", - [ - 4 - /* ErrorCodes.WATCH_CLEANUP */ - ]: "watcher cleanup function", - [ - 5 - /* ErrorCodes.NATIVE_EVENT_HANDLER */ - ]: "native event handler", - [ - 6 - /* ErrorCodes.COMPONENT_EVENT_HANDLER */ - ]: "component event handler", - [ - 7 - /* ErrorCodes.VNODE_HOOK */ - ]: "vnode hook", - [ - 8 - /* ErrorCodes.DIRECTIVE_HOOK */ - ]: "directive hook", - [ - 9 - /* ErrorCodes.TRANSITION_HOOK */ - ]: "transition hook", - [ - 10 - /* ErrorCodes.APP_ERROR_HANDLER */ - ]: "app errorHandler", - [ - 11 - /* ErrorCodes.APP_WARN_HANDLER */ - ]: "app warnHandler", - [ - 12 - /* ErrorCodes.FUNCTION_REF */ - ]: "ref function", - [ - 13 - /* ErrorCodes.ASYNC_COMPONENT_LOADER */ - ]: "async component loader", - [ - 14 - /* ErrorCodes.SCHEDULER */ - ]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core" -}; -function callWithErrorHandling(fn, instance, type, args) { - let res; - try { - res = args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } - return res; -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - const values = []; - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - } - return values; -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = true ? ErrorTypeStrings[type] : type; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) { - if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - const appErrorHandler = instance.appContext.config.errorHandler; - if (appErrorHandler) { - callWithErrorHandling(appErrorHandler, null, 10, [err, exposedInstance, errorInfo]); - return; - } - } - logError(err, type, contextVNode, throwInDev); -} -function logError(err, type, contextVNode, throwInDev = true) { - if (true) { - const info = ErrorTypeStrings[type]; - if (contextVNode) { - pushWarningContext(contextVNode); - } - warn2(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) { - popWarningContext(); - } - if (throwInDev) { - throw err; - } else { - console.error(err); - } - } else { - console.error(err); - } -} -var isFlushing = false; -var isFlushPending = false; -var queue = []; -var flushIndex = 0; -var pendingPostFlushCbs = []; -var activePostFlushCbs = null; -var postFlushIndex = 0; -var resolvedPromise = Promise.resolve(); -var currentFlushPromise = null; -var RECURSION_LIMIT = 100; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex(id) { - let start = flushIndex + 1; - let end = queue.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJobId = getId(queue[middle]); - middleJobId < id ? start = middle + 1 : end = middle; - } - return start; -} -function queueJob(job) { - if (!queue.length || !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) { - if (job.id == null) { - queue.push(job); - } else { - queue.splice(findInsertionIndex(job.id), 0, job); - } - queueFlush(); - } -} -function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true; - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function invalidateJob(job) { - const i = queue.indexOf(job); - if (i > flushIndex) { - queue.splice(i, 1); - } -} -function queuePostFlushCb(cb) { - if (!isArray(cb)) { - if (!activePostFlushCbs || !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) { - pendingPostFlushCbs.push(cb); - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) { - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - for (; i < queue.length; i++) { - const cb = queue[i]; - if (cb && cb.pre) { - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - queue.splice(i, 1); - i--; - cb(); - } - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)]; - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - activePostFlushCbs.sort((a, b) => getId(a) - getId(b)); - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { - continue; - } - activePostFlushCbs[postFlushIndex](); - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -var getId = (job) => job.id == null ? Infinity : job.id; -var comparator = (a, b) => { - const diff = getId(a) - getId(b); - if (diff === 0) { - if (a.pre && !b.pre) - return -1; - if (b.pre && !a.pre) - return 1; - } - return diff; -}; -function flushJobs(seen) { - isFlushPending = false; - isFlushing = true; - if (true) { - seen = seen || /* @__PURE__ */ new Map(); - } - queue.sort(comparator); - const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && job.active !== false) { - if (check(job)) { - continue; - } - callWithErrorHandling( - job, - null, - 14 - /* ErrorCodes.SCHEDULER */ - ); - } - } - } finally { - flushIndex = 0; - queue.length = 0; - flushPostFlushCbs(seen); - isFlushing = false; - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(seen); - } - } -} -function checkRecursiveUpdates(seen, fn) { - if (!seen.has(fn)) { - seen.set(fn, 1); - } else { - const count = seen.get(fn); - if (count > RECURSION_LIMIT) { - const instance = fn.ownerInstance; - const componentName = instance && getComponentName(instance.type); - warn2(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`); - return true; - } else { - seen.set(fn, count + 1); - } - } -} -var isHmrUpdating = false; -var hmrDirtyComponents = /* @__PURE__ */ new Set(); -if (true) { - getGlobalThis().__VUE_HMR_RUNTIME__ = { - createRecord: tryWrap(createRecord), - rerender: tryWrap(rerender), - reload: tryWrap(reload) - }; -} -var map = /* @__PURE__ */ new Map(); -function registerHMR(instance) { - const id = instance.type.__hmrId; - let record = map.get(id); - if (!record) { - createRecord(id, instance.type); - record = map.get(id); - } - record.instances.add(instance); -} -function unregisterHMR(instance) { - map.get(instance.type.__hmrId).instances.delete(instance); -} -function createRecord(id, initialDef) { - if (map.has(id)) { - return false; - } - map.set(id, { - initialDef: normalizeClassComponent(initialDef), - instances: /* @__PURE__ */ new Set() - }); - return true; -} -function normalizeClassComponent(component) { - return isClassComponent(component) ? component.__vccOpts : component; -} -function rerender(id, newRender) { - const record = map.get(id); - if (!record) { - return; - } - record.initialDef.render = newRender; - [...record.instances].forEach((instance) => { - if (newRender) { - instance.render = newRender; - normalizeClassComponent(instance.type).render = newRender; - } - instance.renderCache = []; - isHmrUpdating = true; - instance.update(); - isHmrUpdating = false; - }); -} -function reload(id, newComp) { - const record = map.get(id); - if (!record) - return; - newComp = normalizeClassComponent(newComp); - updateComponentDef(record.initialDef, newComp); - const instances = [...record.instances]; - for (const instance of instances) { - const oldComp = normalizeClassComponent(instance.type); - if (!hmrDirtyComponents.has(oldComp)) { - if (oldComp !== record.initialDef) { - updateComponentDef(oldComp, newComp); - } - hmrDirtyComponents.add(oldComp); - } - instance.appContext.optionsCache.delete(instance.type); - if (instance.ceReload) { - hmrDirtyComponents.add(oldComp); - instance.ceReload(newComp.styles); - hmrDirtyComponents.delete(oldComp); - } else if (instance.parent) { - queueJob(instance.parent.update); - } else if (instance.appContext.reload) { - instance.appContext.reload(); - } else if (typeof window !== "undefined") { - window.location.reload(); - } else { - console.warn("[HMR] Root or manually mounted instance modified. Full reload required."); - } - } - queuePostFlushCb(() => { - for (const instance of instances) { - hmrDirtyComponents.delete(normalizeClassComponent(instance.type)); - } - }); -} -function updateComponentDef(oldComp, newComp) { - extend(oldComp, newComp); - for (const key in oldComp) { - if (key !== "__file" && !(key in newComp)) { - delete oldComp[key]; - } - } -} -function tryWrap(fn) { - return (id, arg) => { - try { - return fn(id, arg); - } catch (e) { - console.error(e); - console.warn(`[HMR] Something went wrong during Vue component hot-reload. Full reload required.`); - } - }; -} -var devtools; -var buffer = []; -var devtoolsNotInstalled = false; -function emit$1(event, ...args) { - if (devtools) { - devtools.emit(event, ...args); - } else if (!devtoolsNotInstalled) { - buffer.push({ event, args }); - } -} -function setDevtoolsHook(hook, target) { - var _a2, _b; - devtools = hook; - if (devtools) { - devtools.enabled = true; - buffer.forEach(({ event, args }) => devtools.emit(event, ...args)); - buffer = []; - } else if ( - // handle late devtools injection - only do this if we are in an actual - // browser environment to avoid the timer handle stalling test runner exit - // (#4815) - typeof window !== "undefined" && // some envs mock window but not fully - window.HTMLElement && // also exclude jsdom - !((_b = (_a2 = window.navigator) === null || _a2 === void 0 ? void 0 : _a2.userAgent) === null || _b === void 0 ? void 0 : _b.includes("jsdom")) - ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; - replay.push((newHook) => { - setDevtoolsHook(newHook, target); - }); - setTimeout(() => { - if (!devtools) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -function devtoolsInitApp(app, version2) { - emit$1("app:init", app, version2, { - Fragment, - Text, - Comment, - Static - }); -} -function devtoolsUnmountApp(app) { - emit$1("app:unmount", app); -} -var devtoolsComponentAdded = createDevtoolsComponentHook( - "component:added" - /* DevtoolsHooks.COMPONENT_ADDED */ -); -var devtoolsComponentUpdated = createDevtoolsComponentHook( - "component:updated" - /* DevtoolsHooks.COMPONENT_UPDATED */ -); -var _devtoolsComponentRemoved = createDevtoolsComponentHook( - "component:removed" - /* DevtoolsHooks.COMPONENT_REMOVED */ -); -var devtoolsComponentRemoved = (component) => { - if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered - !devtools.cleanupBuffer(component)) { - _devtoolsComponentRemoved(component); - } -}; -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : void 0, component); - }; -} -var devtoolsPerfStart = createDevtoolsPerformanceHook( - "perf:start" - /* DevtoolsHooks.PERFORMANCE_START */ -); -var devtoolsPerfEnd = createDevtoolsPerformanceHook( - "perf:end" - /* DevtoolsHooks.PERFORMANCE_END */ -); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -function devtoolsComponentEmit(component, event, params) { - emit$1("component:emit", component.appContext.app, component, event, params); -} -function emit(instance, event, ...rawArgs) { - if (instance.isUnmounted) - return; - const props = instance.vnode.props || EMPTY_OBJ; - if (true) { - const { emitsOptions, propsOptions: [propsOptions] } = instance; - if (emitsOptions) { - if (!(event in emitsOptions) && true) { - if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { - warn2(`Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.`); - } - } else { - const validator = emitsOptions[event]; - if (isFunction(validator)) { - const isValid = validator(...rawArgs); - if (!isValid) { - warn2(`Invalid event arguments: event validation failed for event "${event}".`); - } - } - } - } - } - let args = rawArgs; - const isModelListener2 = event.startsWith("update:"); - const modelArg = isModelListener2 && event.slice(7); - if (modelArg && modelArg in props) { - const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; - const { number, trim } = props[modifiersKey] || EMPTY_OBJ; - if (trim) { - args = rawArgs.map((a) => isString(a) ? a.trim() : a); - } - if (number) { - args = rawArgs.map(looseToNumber); - } - } - if (true) { - devtoolsComponentEmit(instance, event, args); - } - if (true) { - const lowerCaseEvent = event.toLowerCase(); - if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { - warn2(`Event "${lowerCaseEvent}" is emitted in component ${formatComponentName(instance, instance.type)} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate(event)}" instead of "${event}".`); - } - } - let handlerName; - let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) - props[handlerName = toHandlerKey(camelize(event))]; - if (!handler && isModelListener2) { - handler = props[handlerName = toHandlerKey(hyphenate(event))]; - } - if (handler) { - callWithAsyncErrorHandling(handler, instance, 6, args); - } - const onceHandler = props[handlerName + `Once`]; - if (onceHandler) { - if (!instance.emitted) { - instance.emitted = {}; - } else if (instance.emitted[handlerName]) { - return; - } - instance.emitted[handlerName] = true; - callWithAsyncErrorHandling(onceHandler, instance, 6, args); - } -} -function normalizeEmitsOptions(comp, appContext, asMixin = false) { - const cache = appContext.emitsCache; - const cached = cache.get(comp); - if (cached !== void 0) { - return cached; - } - const raw = comp.emits; - let normalized = {}; - let hasExtends = false; - if (__VUE_OPTIONS_API__ && !isFunction(comp)) { - const extendEmits = (raw2) => { - const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); - if (normalizedFromExtend) { - hasExtends = true; - extend(normalized, normalizedFromExtend); - } - }; - if (!asMixin && appContext.mixins.length) { - appContext.mixins.forEach(extendEmits); - } - if (comp.extends) { - extendEmits(comp.extends); - } - if (comp.mixins) { - comp.mixins.forEach(extendEmits); - } - } - if (!raw && !hasExtends) { - if (isObject(comp)) { - cache.set(comp, null); - } - return null; - } - if (isArray(raw)) { - raw.forEach((key) => normalized[key] = null); - } else { - extend(normalized, raw); - } - if (isObject(comp)) { - cache.set(comp, normalized); - } - return normalized; -} -function isEmitListener(options, key) { - if (!options || !isOn(key)) { - return false; - } - key = key.slice(2).replace(/Once$/, ""); - return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); -} -var currentRenderingInstance = null; -var currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev; -} -function pushScopeId(id) { - currentScopeId = id; -} -function popScopeId() { - currentScopeId = null; -} -var withScopeId = (_id) => withCtx; -function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { - if (!ctx) - return fn; - if (fn._n) { - return fn; - } - const renderFnWithContext = (...args) => { - if (renderFnWithContext._d) { - setBlockTracking(-1); - } - const prevInstance = setCurrentRenderingInstance(ctx); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) { - setBlockTracking(1); - } - } - if (true) { - devtoolsComponentUpdated(ctx); - } - return res; - }; - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -var accessedAttrs = false; -function markAttrsAccessed() { - accessedAttrs = true; -} -function renderComponentRoot(instance) { - const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit: emit2, render: render2, renderCache, data, setupState, ctx, inheritAttrs } = instance; - let result; - let fallthroughAttrs; - const prev = setCurrentRenderingInstance(instance); - if (true) { - accessedAttrs = false; - } - try { - if (vnode.shapeFlag & 4) { - const proxyToUse = withProxy || proxy; - result = normalizeVNode(render2.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx)); - fallthroughAttrs = attrs; - } else { - const render3 = Component; - if (attrs === props) { - markAttrsAccessed(); - } - result = normalizeVNode(render3.length > 1 ? render3(props, true ? { - get attrs() { - markAttrsAccessed(); - return attrs; - }, - slots, - emit: emit2 - } : { attrs, slots, emit: emit2 }) : render3( - props, - null - /* we know it doesn't need it */ - )); - fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs); - } - } catch (err) { - blockStack.length = 0; - handleError( - err, - instance, - 1 - /* ErrorCodes.RENDER_FUNCTION */ - ); - result = createVNode(Comment); - } - let root = result; - let setRoot = void 0; - if (result.patchFlag > 0 && result.patchFlag & 2048) { - [root, setRoot] = getChildRoot(result); - } - if (fallthroughAttrs && inheritAttrs !== false) { - const keys = Object.keys(fallthroughAttrs); - const { shapeFlag } = root; - if (keys.length) { - if (shapeFlag & (1 | 6)) { - if (propsOptions && keys.some(isModelListener)) { - fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions); - } - root = cloneVNode(root, fallthroughAttrs); - } else if (!accessedAttrs && root.type !== Comment) { - const allAttrs = Object.keys(attrs); - const eventAttrs = []; - const extraAttrs = []; - for (let i = 0, l = allAttrs.length; i < l; i++) { - const key = allAttrs[i]; - if (isOn(key)) { - if (!isModelListener(key)) { - eventAttrs.push(key[2].toLowerCase() + key.slice(3)); - } - } else { - extraAttrs.push(key); - } - } - if (extraAttrs.length) { - warn2(`Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`); - } - if (eventAttrs.length) { - warn2(`Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.`); - } - } - } - } - if (vnode.dirs) { - if (!isElementRoot(root)) { - warn2(`Runtime directive used on component with non-element root node. The directives will not function as intended.`); - } - root = cloneVNode(root); - root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs; - } - if (vnode.transition) { - if (!isElementRoot(root)) { - warn2(`Component inside renders non-element root node that cannot be animated.`); - } - root.transition = vnode.transition; - } - if (setRoot) { - setRoot(root); - } else { - result = root; - } - setCurrentRenderingInstance(prev); - return result; -} -var getChildRoot = (vnode) => { - const rawChildren = vnode.children; - const dynamicChildren = vnode.dynamicChildren; - const childRoot = filterSingleRoot(rawChildren); - if (!childRoot) { - return [vnode, void 0]; - } - const index = rawChildren.indexOf(childRoot); - const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; - const setRoot = (updatedRoot) => { - rawChildren[index] = updatedRoot; - if (dynamicChildren) { - if (dynamicIndex > -1) { - dynamicChildren[dynamicIndex] = updatedRoot; - } else if (updatedRoot.patchFlag > 0) { - vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; - } - } - }; - return [normalizeVNode(childRoot), setRoot]; -}; -function filterSingleRoot(children) { - let singleRoot; - for (let i = 0; i < children.length; i++) { - const child = children[i]; - if (isVNode(child)) { - if (child.type !== Comment || child.children === "v-if") { - if (singleRoot) { - return; - } else { - singleRoot = child; - } - } - } else { - return; - } - } - return singleRoot; -} -var getFunctionalFallthrough = (attrs) => { - let res; - for (const key in attrs) { - if (key === "class" || key === "style" || isOn(key)) { - (res || (res = {}))[key] = attrs[key]; - } - } - return res; -}; -var filterModelListeners = (attrs, props) => { - const res = {}; - for (const key in attrs) { - if (!isModelListener(key) || !(key.slice(9) in props)) { - res[key] = attrs[key]; - } - } - return res; -}; -var isElementRoot = (vnode) => { - return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; -}; -function shouldUpdateComponent(prevVNode, nextVNode, optimized) { - const { props: prevProps, children: prevChildren, component } = prevVNode; - const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; - const emits = component.emitsOptions; - if ((prevChildren || nextChildren) && isHmrUpdating) { - return true; - } - if (nextVNode.dirs || nextVNode.transition) { - return true; - } - if (optimized && patchFlag >= 0) { - if (patchFlag & 1024) { - return true; - } - if (patchFlag & 16) { - if (!prevProps) { - return !!nextProps; - } - return hasPropsChanged(prevProps, nextProps, emits); - } else if (patchFlag & 8) { - const dynamicProps = nextVNode.dynamicProps; - for (let i = 0; i < dynamicProps.length; i++) { - const key = dynamicProps[i]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { - return true; - } - } - } - } else { - if (prevChildren || nextChildren) { - if (!nextChildren || !nextChildren.$stable) { - return true; - } - } - if (prevProps === nextProps) { - return false; - } - if (!prevProps) { - return !!nextProps; - } - if (!nextProps) { - return true; - } - return hasPropsChanged(prevProps, nextProps, emits); - } - return false; -} -function hasPropsChanged(prevProps, nextProps, emitsOptions) { - const nextKeys = Object.keys(nextProps); - if (nextKeys.length !== Object.keys(prevProps).length) { - return true; - } - for (let i = 0; i < nextKeys.length; i++) { - const key = nextKeys[i]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { - return true; - } - } - return false; -} -function updateHOCHostEl({ vnode, parent }, el) { - while (parent && parent.subTree === vnode) { - (vnode = parent.vnode).el = el; - parent = parent.parent; - } -} -var isSuspense = (type) => type.__isSuspense; -var SuspenseImpl = { - name: "Suspense", - // In order to make Suspense tree-shakable, we need to avoid importing it - // directly in the renderer. The renderer checks for the __isSuspense flag - // on a vnode's type and calls the `process` method, passing in renderer - // internals. - __isSuspense: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) { - if (n1 == null) { - mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals); - } else { - patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals); - } - }, - hydrate: hydrateSuspense, - create: createSuspenseBoundary, - normalize: normalizeSuspenseChildren -}; -var Suspense = SuspenseImpl; -function triggerEvent(vnode, name) { - const eventListener = vnode.props && vnode.props[name]; - if (isFunction(eventListener)) { - eventListener(); - } -} -function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) { - const { p: patch, o: { createElement } } = rendererInternals; - const hiddenContainer = createElement("div"); - const suspense = vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals); - patch(null, suspense.pendingBranch = vnode.ssContent, hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds); - if (suspense.deps > 0) { - triggerEvent(vnode, "onPending"); - triggerEvent(vnode, "onFallback"); - patch( - null, - vnode.ssFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - isSVG, - slotScopeIds - ); - setActiveBranch(suspense, vnode.ssFallback); - } else { - suspense.resolve(); - } -} -function patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) { - const suspense = n2.suspense = n1.suspense; - suspense.vnode = n2; - n2.el = n1.el; - const newBranch = n2.ssContent; - const newFallback = n2.ssFallback; - const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; - if (pendingBranch) { - suspense.pendingBranch = newBranch; - if (isSameVNodeType(newBranch, pendingBranch)) { - patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized); - if (suspense.deps <= 0) { - suspense.resolve(); - } else if (isInFallback) { - patch( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - isSVG, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } else { - suspense.pendingId++; - if (isHydrating) { - suspense.isHydrating = false; - suspense.activeBranch = pendingBranch; - } else { - unmount(pendingBranch, parentComponent, suspense); - } - suspense.deps = 0; - suspense.effects.length = 0; - suspense.hiddenContainer = createElement("div"); - if (isInFallback) { - patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - patch( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - isSVG, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized); - suspense.resolve(true); - } else { - patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized); - if (suspense.deps <= 0) { - suspense.resolve(); - } - } - } - } else { - if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized); - setActiveBranch(suspense, newBranch); - } else { - triggerEvent(n2, "onPending"); - suspense.pendingBranch = newBranch; - suspense.pendingId++; - patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - const { timeout, pendingId } = suspense; - if (timeout > 0) { - setTimeout(() => { - if (suspense.pendingId === pendingId) { - suspense.fallback(newFallback); - } - }, timeout); - } else if (timeout === 0) { - suspense.fallback(newFallback); - } - } - } - } -} -var hasWarned = false; -function createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) { - if (!hasWarned) { - hasWarned = true; - console[console.info ? "info" : "log"](` is an experimental feature and its API will likely change.`); - } - const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove: remove2 } } = rendererInternals; - const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; - if (true) { - assertNumber(timeout, `Suspense timeout`); - } - const suspense = { - vnode, - parent, - parentComponent, - isSVG, - container, - hiddenContainer, - anchor, - deps: 0, - pendingId: 0, - timeout: typeof timeout === "number" ? timeout : -1, - activeBranch: null, - pendingBranch: null, - isInFallback: true, - isHydrating, - isUnmounted: false, - effects: [], - resolve(resume = false) { - if (true) { - if (!resume && !suspense.pendingBranch) { - throw new Error(`suspense.resolve() is called without a pending branch.`); - } - if (suspense.isUnmounted) { - throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`); - } - } - const { vnode: vnode2, activeBranch, pendingBranch, pendingId, effects, parentComponent: parentComponent2, container: container2 } = suspense; - if (suspense.isHydrating) { - suspense.isHydrating = false; - } else if (!resume) { - const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = () => { - if (pendingId === suspense.pendingId) { - move( - pendingBranch, - container2, - anchor2, - 0 - /* MoveType.ENTER */ - ); - } - }; - } - let { anchor: anchor2 } = suspense; - if (activeBranch) { - anchor2 = next(activeBranch); - unmount(activeBranch, parentComponent2, suspense, true); - } - if (!delayEnter) { - move( - pendingBranch, - container2, - anchor2, - 0 - /* MoveType.ENTER */ - ); - } - } - setActiveBranch(suspense, pendingBranch); - suspense.pendingBranch = null; - suspense.isInFallback = false; - let parent2 = suspense.parent; - let hasUnresolvedAncestor = false; - while (parent2) { - if (parent2.pendingBranch) { - parent2.effects.push(...effects); - hasUnresolvedAncestor = true; - break; - } - parent2 = parent2.parent; - } - if (!hasUnresolvedAncestor) { - queuePostFlushCb(effects); - } - suspense.effects = []; - triggerEvent(vnode2, "onResolve"); - }, - fallback(fallbackVNode) { - if (!suspense.pendingBranch) { - return; - } - const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense; - triggerEvent(vnode2, "onFallback"); - const anchor2 = next(activeBranch); - const mountFallback = () => { - if (!suspense.isInFallback) { - return; - } - patch( - null, - fallbackVNode, - container2, - anchor2, - parentComponent2, - null, - // fallback tree will not have suspense context - isSVG2, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, fallbackVNode); - }; - const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = mountFallback; - } - suspense.isInFallback = true; - unmount( - activeBranch, - parentComponent2, - null, - // no suspense so unmount hooks fire now - true - // shouldRemove - ); - if (!delayEnter) { - mountFallback(); - } - }, - move(container2, anchor2, type) { - suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); - suspense.container = container2; - }, - next() { - return suspense.activeBranch && next(suspense.activeBranch); - }, - registerDep(instance, setupRenderEffect) { - const isInPendingSuspense = !!suspense.pendingBranch; - if (isInPendingSuspense) { - suspense.deps++; - } - const hydratedEl = instance.vnode.el; - instance.asyncDep.catch((err) => { - handleError( - err, - instance, - 0 - /* ErrorCodes.SETUP_FUNCTION */ - ); - }).then((asyncSetupResult) => { - if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { - return; - } - instance.asyncResolved = true; - const { vnode: vnode2 } = instance; - if (true) { - pushWarningContext(vnode2); - } - handleSetupResult(instance, asyncSetupResult, false); - if (hydratedEl) { - vnode2.el = hydratedEl; - } - const placeholder = !hydratedEl && instance.subTree.el; - setupRenderEffect( - instance, - vnode2, - // component may have been moved before resolve. - // if this is not a hydration, instance.subTree will be the comment - // placeholder. - parentNode(hydratedEl || instance.subTree.el), - // anchor will not be used if this is hydration, so only need to - // consider the comment placeholder case. - hydratedEl ? null : next(instance.subTree), - suspense, - isSVG, - optimized - ); - if (placeholder) { - remove2(placeholder); - } - updateHOCHostEl(instance, vnode2.el); - if (true) { - popWarningContext(); - } - if (isInPendingSuspense && --suspense.deps === 0) { - suspense.resolve(); - } - }); - }, - unmount(parentSuspense, doRemove) { - suspense.isUnmounted = true; - if (suspense.activeBranch) { - unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove); - } - if (suspense.pendingBranch) { - unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove); - } - } - }; - return suspense; -} -function hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) { - const suspense = vnode.suspense = createSuspenseBoundary( - vnode, - parentSuspense, - parentComponent, - node.parentNode, - document.createElement("div"), - null, - isSVG, - slotScopeIds, - optimized, - rendererInternals, - true - /* hydrating */ - ); - const result = hydrateNode(node, suspense.pendingBranch = vnode.ssContent, parentComponent, suspense, slotScopeIds, optimized); - if (suspense.deps === 0) { - suspense.resolve(); - } - return result; -} -function normalizeSuspenseChildren(vnode) { - const { shapeFlag, children } = vnode; - const isSlotChildren = shapeFlag & 32; - vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children); - vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); -} -function normalizeSuspenseSlot(s) { - let block; - if (isFunction(s)) { - const trackBlock = isBlockTreeEnabled && s._c; - if (trackBlock) { - s._d = false; - openBlock(); - } - s = s(); - if (trackBlock) { - s._d = true; - block = currentBlock; - closeBlock(); - } - } - if (isArray(s)) { - const singleChild = filterSingleRoot(s); - if (!singleChild) { - warn2(` slots expect a single root node.`); - } - s = singleChild; - } - s = normalizeVNode(s); - if (block && !s.dynamicChildren) { - s.dynamicChildren = block.filter((c) => c !== s); - } - return s; -} -function queueEffectWithSuspense(fn, suspense) { - if (suspense && suspense.pendingBranch) { - if (isArray(fn)) { - suspense.effects.push(...fn); - } else { - suspense.effects.push(fn); - } - } else { - queuePostFlushCb(fn); - } -} -function setActiveBranch(suspense, branch) { - suspense.activeBranch = branch; - const { vnode, parentComponent } = suspense; - const el = vnode.el = branch.el; - if (parentComponent && parentComponent.subTree === vnode) { - parentComponent.vnode.el = el; - updateHOCHostEl(parentComponent, el); - } -} -function provide(key, value) { - if (!currentInstance) { - if (true) { - warn2(`provide() can only be used inside setup().`); - } - } else { - let provides = currentInstance.provides; - const parentProvides = currentInstance.parent && currentInstance.parent.provides; - if (parentProvides === provides) { - provides = currentInstance.provides = Object.create(parentProvides); - } - provides[key] = value; - } -} -function inject(key, defaultValue, treatDefaultAsFactory = false) { - const instance = currentInstance || currentRenderingInstance; - if (instance) { - const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides; - if (provides && key in provides) { - return provides[key]; - } else if (arguments.length > 1) { - return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue; - } else if (true) { - warn2(`injection "${String(key)}" not found.`); - } - } else if (true) { - warn2(`inject() can only be used inside setup() or functional components.`); - } -} -function watchEffect(effect2, options) { - return doWatch(effect2, null, options); -} -function watchPostEffect(effect2, options) { - return doWatch(effect2, null, true ? Object.assign(Object.assign({}, options), { flush: "post" }) : { flush: "post" }); -} -function watchSyncEffect(effect2, options) { - return doWatch(effect2, null, true ? Object.assign(Object.assign({}, options), { flush: "sync" }) : { flush: "sync" }); -} -var INITIAL_WATCHER_VALUE = {}; -function watch(source, cb, options) { - if (!isFunction(cb)) { - warn2(`\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.`); - } - return doWatch(source, cb, options); -} -function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) { - if (!cb) { - if (immediate !== void 0) { - warn2(`watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.`); - } - if (deep !== void 0) { - warn2(`watch() "deep" option is only respected when using the watch(source, callback, options?) signature.`); - } - } - const warnInvalidSource = (s) => { - warn2(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`); - }; - const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null; - let getter; - let forceTrigger = false; - let isMultiSource = false; - if (isRef(source)) { - getter = () => source.value; - forceTrigger = isShallow(source); - } else if (isReactive(source)) { - getter = () => source; - deep = true; - } else if (isArray(source)) { - isMultiSource = true; - forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); - getter = () => source.map((s) => { - if (isRef(s)) { - return s.value; - } else if (isReactive(s)) { - return traverse(s); - } else if (isFunction(s)) { - return callWithErrorHandling( - s, - instance, - 2 - /* ErrorCodes.WATCH_GETTER */ - ); - } else { - warnInvalidSource(s); - } - }); - } else if (isFunction(source)) { - if (cb) { - getter = () => callWithErrorHandling( - source, - instance, - 2 - /* ErrorCodes.WATCH_GETTER */ - ); - } else { - getter = () => { - if (instance && instance.isUnmounted) { - return; - } - if (cleanup) { - cleanup(); - } - return callWithAsyncErrorHandling(source, instance, 3, [onCleanup]); - }; - } - } else { - getter = NOOP; - warnInvalidSource(source); - } - if (cb && deep) { - const baseGetter = getter; - getter = () => traverse(baseGetter()); - } - let cleanup; - let onCleanup = (fn) => { - cleanup = effect2.onStop = () => { - callWithErrorHandling( - fn, - instance, - 4 - /* ErrorCodes.WATCH_CLEANUP */ - ); - }; - }; - let ssrCleanup; - if (isInSSRComponentSetup) { - onCleanup = NOOP; - if (!cb) { - getter(); - } else if (immediate) { - callWithAsyncErrorHandling(cb, instance, 3, [ - getter(), - isMultiSource ? [] : void 0, - onCleanup - ]); - } - if (flush === "sync") { - const ctx = useSSRContext(); - ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []); - } else { - return NOOP; - } - } - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = () => { - if (!effect2.active) { - return; - } - if (cb) { - const newValue = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { - if (cleanup) { - cleanup(); - } - callWithAsyncErrorHandling(cb, instance, 3, [ - newValue, - // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - onCleanup - ]); - oldValue = newValue; - } - } else { - effect2.run(); - } - }; - job.allowRecurse = !!cb; - let scheduler; - if (flush === "sync") { - scheduler = job; - } else if (flush === "post") { - scheduler = () => queuePostRenderEffect(job, instance && instance.suspense); - } else { - job.pre = true; - if (instance) - job.id = instance.uid; - scheduler = () => queueJob(job); - } - const effect2 = new ReactiveEffect(getter, scheduler); - if (true) { - effect2.onTrack = onTrack; - effect2.onTrigger = onTrigger; - } - if (cb) { - if (immediate) { - job(); - } else { - oldValue = effect2.run(); - } - } else if (flush === "post") { - queuePostRenderEffect(effect2.run.bind(effect2), instance && instance.suspense); - } else { - effect2.run(); - } - const unwatch = () => { - effect2.stop(); - if (instance && instance.scope) { - remove(instance.scope.effects, effect2); - } - }; - if (ssrCleanup) - ssrCleanup.push(unwatch); - return unwatch; -} -function instanceWatch(source, value, options) { - const publicThis = this.proxy; - const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); - let cb; - if (isFunction(value)) { - cb = value; - } else { - cb = value.handler; - options = value; - } - const cur = currentInstance; - setCurrentInstance(this); - const res = doWatch(getter, cb.bind(publicThis), options); - if (cur) { - setCurrentInstance(cur); - } else { - unsetCurrentInstance(); - } - return res; -} -function createPathGetter(ctx, path) { - const segments = path.split("."); - return () => { - let cur = ctx; - for (let i = 0; i < segments.length && cur; i++) { - cur = cur[segments[i]]; - } - return cur; - }; -} -function traverse(value, seen) { - if (!isObject(value) || value[ - "__v_skip" - /* ReactiveFlags.SKIP */ - ]) { - return value; - } - seen = seen || /* @__PURE__ */ new Set(); - if (seen.has(value)) { - return value; - } - seen.add(value); - if (isRef(value)) { - traverse(value.value, seen); - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - traverse(value[i], seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v) => { - traverse(v, seen); - }); - } else if (isPlainObject(value)) { - for (const key in value) { - traverse(value[key], seen); - } - } - return value; -} -function useTransitionState() { - const state = { - isMounted: false, - isLeaving: false, - isUnmounting: false, - leavingVNodes: /* @__PURE__ */ new Map() - }; - onMounted(() => { - state.isMounted = true; - }); - onBeforeUnmount(() => { - state.isUnmounting = true; - }); - return state; -} -var TransitionHookValidator = [Function, Array]; -var BaseTransitionImpl = { - name: `BaseTransition`, - props: { - mode: String, - appear: Boolean, - persisted: Boolean, - // enter - onBeforeEnter: TransitionHookValidator, - onEnter: TransitionHookValidator, - onAfterEnter: TransitionHookValidator, - onEnterCancelled: TransitionHookValidator, - // leave - onBeforeLeave: TransitionHookValidator, - onLeave: TransitionHookValidator, - onAfterLeave: TransitionHookValidator, - onLeaveCancelled: TransitionHookValidator, - // appear - onBeforeAppear: TransitionHookValidator, - onAppear: TransitionHookValidator, - onAfterAppear: TransitionHookValidator, - onAppearCancelled: TransitionHookValidator - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const state = useTransitionState(); - let prevTransitionKey; - return () => { - const children = slots.default && getTransitionRawChildren(slots.default(), true); - if (!children || !children.length) { - return; - } - let child = children[0]; - if (children.length > 1) { - let hasFound = false; - for (const c of children) { - if (c.type !== Comment) { - if (hasFound) { - warn2(" can only be used on a single element or component. Use for lists."); - break; - } - child = c; - hasFound = true; - if (false) - break; - } - } - } - const rawProps = toRaw(props); - const { mode } = rawProps; - if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { - warn2(`invalid mode: ${mode}`); - } - if (state.isLeaving) { - return emptyPlaceholder(child); - } - const innerChild = getKeepAliveChild(child); - if (!innerChild) { - return emptyPlaceholder(child); - } - const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance); - setTransitionHooks(innerChild, enterHooks); - const oldChild = instance.subTree; - const oldInnerChild = oldChild && getKeepAliveChild(oldChild); - let transitionKeyChanged = false; - const { getTransitionKey } = innerChild.type; - if (getTransitionKey) { - const key = getTransitionKey(); - if (prevTransitionKey === void 0) { - prevTransitionKey = key; - } else if (key !== prevTransitionKey) { - prevTransitionKey = key; - transitionKeyChanged = true; - } - } - if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) { - const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance); - setTransitionHooks(oldInnerChild, leavingHooks); - if (mode === "out-in") { - state.isLeaving = true; - leavingHooks.afterLeave = () => { - state.isLeaving = false; - if (instance.update.active !== false) { - instance.update(); - } - }; - return emptyPlaceholder(child); - } else if (mode === "in-out" && innerChild.type !== Comment) { - leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { - const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild); - leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; - el._leaveCb = () => { - earlyRemove(); - el._leaveCb = void 0; - delete enterHooks.delayedLeave; - }; - enterHooks.delayedLeave = delayedLeave; - }; - } - } - return child; - }; - } -}; -var BaseTransition = BaseTransitionImpl; -function getLeavingNodesForType(state, vnode) { - const { leavingVNodes } = state; - let leavingVNodesCache = leavingVNodes.get(vnode.type); - if (!leavingVNodesCache) { - leavingVNodesCache = /* @__PURE__ */ Object.create(null); - leavingVNodes.set(vnode.type, leavingVNodesCache); - } - return leavingVNodesCache; -} -function resolveTransitionHooks(vnode, props, state, instance) { - const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props; - const key = String(vnode.key); - const leavingVNodesCache = getLeavingNodesForType(state, vnode); - const callHook3 = (hook, args) => { - hook && callWithAsyncErrorHandling(hook, instance, 9, args); - }; - const callAsyncHook = (hook, args) => { - const done = args[1]; - callHook3(hook, args); - if (isArray(hook)) { - if (hook.every((hook2) => hook2.length <= 1)) - done(); - } else if (hook.length <= 1) { - done(); - } - }; - const hooks = { - mode, - persisted, - beforeEnter(el) { - let hook = onBeforeEnter; - if (!state.isMounted) { - if (appear) { - hook = onBeforeAppear || onBeforeEnter; - } else { - return; - } - } - if (el._leaveCb) { - el._leaveCb( - true - /* cancelled */ - ); - } - const leavingVNode = leavingVNodesCache[key]; - if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) { - leavingVNode.el._leaveCb(); - } - callHook3(hook, [el]); - }, - enter(el) { - let hook = onEnter; - let afterHook = onAfterEnter; - let cancelHook = onEnterCancelled; - if (!state.isMounted) { - if (appear) { - hook = onAppear || onEnter; - afterHook = onAfterAppear || onAfterEnter; - cancelHook = onAppearCancelled || onEnterCancelled; - } else { - return; - } - } - let called = false; - const done = el._enterCb = (cancelled) => { - if (called) - return; - called = true; - if (cancelled) { - callHook3(cancelHook, [el]); - } else { - callHook3(afterHook, [el]); - } - if (hooks.delayedLeave) { - hooks.delayedLeave(); - } - el._enterCb = void 0; - }; - if (hook) { - callAsyncHook(hook, [el, done]); - } else { - done(); - } - }, - leave(el, remove2) { - const key2 = String(vnode.key); - if (el._enterCb) { - el._enterCb( - true - /* cancelled */ - ); - } - if (state.isUnmounting) { - return remove2(); - } - callHook3(onBeforeLeave, [el]); - let called = false; - const done = el._leaveCb = (cancelled) => { - if (called) - return; - called = true; - remove2(); - if (cancelled) { - callHook3(onLeaveCancelled, [el]); - } else { - callHook3(onAfterLeave, [el]); - } - el._leaveCb = void 0; - if (leavingVNodesCache[key2] === vnode) { - delete leavingVNodesCache[key2]; - } - }; - leavingVNodesCache[key2] = vnode; - if (onLeave) { - callAsyncHook(onLeave, [el, done]); - } else { - done(); - } - }, - clone(vnode2) { - return resolveTransitionHooks(vnode2, props, state, instance); - } - }; - return hooks; -} -function emptyPlaceholder(vnode) { - if (isKeepAlive(vnode)) { - vnode = cloneVNode(vnode); - vnode.children = null; - return vnode; - } -} -function getKeepAliveChild(vnode) { - return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode; -} -function setTransitionHooks(vnode, hooks) { - if (vnode.shapeFlag & 6 && vnode.component) { - setTransitionHooks(vnode.component.subTree, hooks); - } else if (vnode.shapeFlag & 128) { - vnode.ssContent.transition = hooks.clone(vnode.ssContent); - vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); - } else { - vnode.transition = hooks; - } -} -function getTransitionRawChildren(children, keepComment = false, parentKey) { - let ret = []; - let keyedFragmentCount = 0; - for (let i = 0; i < children.length; i++) { - let child = children[i]; - const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); - if (child.type === Fragment) { - if (child.patchFlag & 128) - keyedFragmentCount++; - ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key)); - } else if (keepComment || child.type !== Comment) { - ret.push(key != null ? cloneVNode(child, { key }) : child); - } - } - if (keyedFragmentCount > 1) { - for (let i = 0; i < ret.length; i++) { - ret[i].patchFlag = -2; - } - } - return ret; -} -function defineComponent(options) { - return isFunction(options) ? { setup: options, name: options.name } : options; -} -var isAsyncWrapper = (i) => !!i.type.__asyncLoader; -function defineAsyncComponent(source) { - if (isFunction(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = () => { - retries++; - pendingRequest = null; - return load(); - }; - const load = () => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve2, reject) => { - const userRetry = () => resolve2(retry()); - const userFail = () => reject(err); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (!comp) { - warn2(`Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`); - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - if (comp && !isObject(comp) && !isFunction(comp)) { - throw new Error(`Invalid async component load result: ${comp}`); - } - resolvedComp = comp; - return comp; - })); - }; - return defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = (err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - /* do not throw in dev if user provided error component */ - ); - }; - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error.value) { - const err = new Error(`Async component timed out after ${timeout}ms.`); - onError(err); - error.value = err; - } - }, timeout); - } - load().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - queueJob(instance.parent.update); - } - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error.value && errorComponent) { - return createVNode(errorComponent, { - error: error.value - }); - } else if (loadingComponent && !delayed.value) { - return createVNode(loadingComponent); - } - }; - } - }); -} -function createInnerComp(comp, parent) { - const { ref: ref2, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref2; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; -var KeepAliveImpl = { - name: `KeepAlive`, - // Marker for special handling inside the renderer. We are not using a === - // check directly on KeepAlive in the renderer, because importing it directly - // would prevent it from being tree-shaken. - __isKeepAlive: true, - props: { - include: [String, RegExp, Array], - exclude: [String, RegExp, Array], - max: [String, Number] - }, - setup(props, { slots }) { - const instance = getCurrentInstance(); - const sharedContext = instance.ctx; - if (!sharedContext.renderer) { - return () => { - const children = slots.default && slots.default(); - return children && children.length === 1 ? children[0] : children; - }; - } - const cache = /* @__PURE__ */ new Map(); - const keys = /* @__PURE__ */ new Set(); - let current = null; - if (true) { - instance.__v_cache = cache; - } - const parentSuspense = instance.suspense; - const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext; - const storageContainer = createElement("div"); - sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => { - const instance2 = vnode.component; - move(vnode, container, anchor, 0, parentSuspense); - patch(instance2.vnode, vnode, container, anchor, instance2, parentSuspense, isSVG, vnode.slotScopeIds, optimized); - queuePostRenderEffect(() => { - instance2.isDeactivated = false; - if (instance2.a) { - invokeArrayFns(instance2.a); - } - const vnodeHook = vnode.props && vnode.props.onVnodeMounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - }; - sharedContext.deactivate = (vnode) => { - const instance2 = vnode.component; - move(vnode, storageContainer, null, 1, parentSuspense); - queuePostRenderEffect(() => { - if (instance2.da) { - invokeArrayFns(instance2.da); - } - const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; - if (vnodeHook) { - invokeVNodeHook(vnodeHook, instance2.parent, vnode); - } - instance2.isDeactivated = true; - }, parentSuspense); - if (true) { - devtoolsComponentAdded(instance2); - } - }; - function unmount(vnode) { - resetShapeFlag(vnode); - _unmount(vnode, instance, parentSuspense, true); - } - function pruneCache(filter) { - cache.forEach((vnode, key) => { - const name = getComponentName(vnode.type); - if (name && (!filter || !filter(name))) { - pruneCacheEntry(key); - } - }); - } - function pruneCacheEntry(key) { - const cached = cache.get(key); - if (!current || !isSameVNodeType(cached, current)) { - unmount(cached); - } else if (current) { - resetShapeFlag(current); - } - cache.delete(key); - keys.delete(key); - } - watch( - () => [props.include, props.exclude], - ([include, exclude]) => { - include && pruneCache((name) => matches(include, name)); - exclude && pruneCache((name) => !matches(exclude, name)); - }, - // prune post-render after `current` has been updated - { flush: "post", deep: true } - ); - let pendingCacheKey = null; - const cacheSubtree = () => { - if (pendingCacheKey != null) { - cache.set(pendingCacheKey, getInnerChild(instance.subTree)); - } - }; - onMounted(cacheSubtree); - onUpdated(cacheSubtree); - onBeforeUnmount(() => { - cache.forEach((cached) => { - const { subTree, suspense } = instance; - const vnode = getInnerChild(subTree); - if (cached.type === vnode.type && cached.key === vnode.key) { - resetShapeFlag(vnode); - const da = vnode.component.da; - da && queuePostRenderEffect(da, suspense); - return; - } - unmount(cached); - }); - }); - return () => { - pendingCacheKey = null; - if (!slots.default) { - return null; - } - const children = slots.default(); - const rawVNode = children[0]; - if (children.length > 1) { - if (true) { - warn2(`KeepAlive should contain exactly one component child.`); - } - current = null; - return children; - } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { - current = null; - return rawVNode; - } - let vnode = getInnerChild(rawVNode); - const comp = vnode.type; - const name = getComponentName(isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp); - const { include, exclude, max } = props; - if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { - current = vnode; - return rawVNode; - } - const key = vnode.key == null ? comp : vnode.key; - const cachedVNode = cache.get(key); - if (vnode.el) { - vnode = cloneVNode(vnode); - if (rawVNode.shapeFlag & 128) { - rawVNode.ssContent = vnode; - } - } - pendingCacheKey = key; - if (cachedVNode) { - vnode.el = cachedVNode.el; - vnode.component = cachedVNode.component; - if (vnode.transition) { - setTransitionHooks(vnode, vnode.transition); - } - vnode.shapeFlag |= 512; - keys.delete(key); - keys.add(key); - } else { - keys.add(key); - if (max && keys.size > parseInt(max, 10)) { - pruneCacheEntry(keys.values().next().value); - } - } - vnode.shapeFlag |= 256; - current = vnode; - return isSuspense(rawVNode.type) ? rawVNode : vnode; - }; - } -}; -var KeepAlive = KeepAliveImpl; -function matches(pattern, name) { - if (isArray(pattern)) { - return pattern.some((p2) => matches(p2, name)); - } else if (isString(pattern)) { - return pattern.split(",").includes(name); - } else if (isRegExp(pattern)) { - return pattern.test(name); - } - return false; -} -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) { - return; - } - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) { - injectToKeepAliveRoot(wrappedHook, type, target, current); - } - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook( - type, - hook, - keepAliveRoot, - true - /* prepend */ - ); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function resetShapeFlag(vnode) { - vnode.shapeFlag &= ~256; - vnode.shapeFlag &= ~512; -} -function getInnerChild(vnode) { - return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - if (target.isUnmounted) { - return; - } - pauseTracking(); - setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - unsetCurrentInstance(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } else if (true) { - const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, "")); - warn2(`${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`); - } -} -var createHook = (lifecycle) => (hook, target = currentInstance) => ( - // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) - (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target) -); -var onBeforeMount = createHook( - "bm" - /* LifecycleHooks.BEFORE_MOUNT */ -); -var onMounted = createHook( - "m" - /* LifecycleHooks.MOUNTED */ -); -var onBeforeUpdate = createHook( - "bu" - /* LifecycleHooks.BEFORE_UPDATE */ -); -var onUpdated = createHook( - "u" - /* LifecycleHooks.UPDATED */ -); -var onBeforeUnmount = createHook( - "bum" - /* LifecycleHooks.BEFORE_UNMOUNT */ -); -var onUnmounted = createHook( - "um" - /* LifecycleHooks.UNMOUNTED */ -); -var onServerPrefetch = createHook( - "sp" - /* LifecycleHooks.SERVER_PREFETCH */ -); -var onRenderTriggered = createHook( - "rtg" - /* LifecycleHooks.RENDER_TRIGGERED */ -); -var onRenderTracked = createHook( - "rtc" - /* LifecycleHooks.RENDER_TRACKED */ -); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) { - warn2("Do not use built-in directive ids as custom directive id: " + name); - } -} -function withDirectives(vnode, directives) { - const internalInstance = currentRenderingInstance; - if (internalInstance === null) { - warn2(`withDirectives can only be used inside render functions.`); - return vnode; - } - const instance = getExposeProxy(internalInstance) || internalInstance.proxy; - const bindings = vnode.dirs || (vnode.dirs = []); - for (let i = 0; i < directives.length; i++) { - let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; - if (dir) { - if (isFunction(dir)) { - dir = { - mounted: dir, - updated: dir - }; - } - if (dir.deep) { - traverse(value); - } - bindings.push({ - dir, - instance, - value, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode; -} -function invokeDirectiveHook(vnode, prevVNode, instance, name) { - const bindings = vnode.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i = 0; i < bindings.length; i++) { - const binding = bindings[i]; - if (oldBindings) { - binding.oldValue = oldBindings[i].value; - } - let hook = binding.dir[name]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode.el, - binding, - vnode, - prevVNode - ]); - resetTracking(); - } - } -} -var COMPONENTS = "components"; -var DIRECTIVES = "directives"; -function resolveComponent(name, maybeSelfReference) { - return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; -} -var NULL_DYNAMIC_COMPONENT = Symbol(); -function resolveDynamicComponent(component) { - if (isString(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -function resolveDirective(name) { - return resolveAsset(DIRECTIVES, name); -} -function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - /* do not include inferred name to avoid breaking existing code */ - ); - if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve(instance[type] || Component[type], name) || // global registration - resolve(instance.appContext[type], name) - ); - if (!res && maybeSelfReference) { - return Component; - } - if (warnMissing && !res) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn2(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); - } - return res; - } else if (true) { - warn2(`resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`); - } -} -function resolve(registry, name) { - return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); -} -function renderList(source, renderItem, cache, index) { - let ret; - const cached = cache && cache[index]; - if (isArray(source) || isString(source)) { - ret = new Array(source.length); - for (let i = 0, l = source.length; i < l; i++) { - ret[i] = renderItem(source[i], i, void 0, cached && cached[i]); - } - } else if (typeof source === "number") { - if (!Number.isInteger(source)) { - warn2(`The v-for range expect an integer value but got ${source}.`); - } - ret = new Array(source); - for (let i = 0; i < source; i++) { - ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); - } - } else if (isObject(source)) { - if (source[Symbol.iterator]) { - ret = Array.from(source, (item, i) => renderItem(item, i, void 0, cached && cached[i])); - } else { - const keys = Object.keys(source); - ret = new Array(keys.length); - for (let i = 0, l = keys.length; i < l; i++) { - const key = keys[i]; - ret[i] = renderItem(source[key], key, i, cached && cached[i]); - } - } - } else { - ret = []; - } - if (cache) { - cache[index] = ret; - } - return ret; -} -function createSlots(slots, dynamicSlots) { - for (let i = 0; i < dynamicSlots.length; i++) { - const slot = dynamicSlots[i]; - if (isArray(slot)) { - for (let j = 0; j < slot.length; j++) { - slots[slot[j].name] = slot[j].fn; - } - } else if (slot) { - slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) - res.key = slot.key; - return res; - } : slot.fn; - } - } - return slots; -} -function renderSlot(slots, name, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { - if (name !== "default") - props.name = name; - return createVNode("slot", props, fallback && fallback()); - } - let slot = slots[name]; - if (slot && slot.length > 1) { - warn2(`SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`); - slot = () => []; - } - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const rendered = createBlock( - Fragment, - { - key: props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key || `_${name}` - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - /* PatchFlags.BAIL */ - ); - if (!noSlotted && rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode(child)) - return true; - if (child.type === Comment) - return false; - if (child.type === Fragment && !ensureValidVNode(child.children)) - return false; - return true; - }) ? vnodes : null; -} -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (!isObject(obj)) { - warn2(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) { - ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - } - return ret; -} -var getPublicInstance = (i) => { - if (!i) - return null; - if (isStatefulComponent(i)) - return getExposeProxy(i) || i.proxy; - return getPublicInstance(i.parent); -}; -var publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - extend(/* @__PURE__ */ Object.create(null), { - $: (i) => i, - $el: (i) => i.vnode.el, - $data: (i) => i.data, - $props: (i) => true ? shallowReadonly(i.props) : i.props, - $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, - $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, - $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $emit: (i) => i.emit, - $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, - $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)), - $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), - $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP - }) -); -var isReservedPrefix = (key) => key === "_" || key === "$"; -var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); -var PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - const { ctx, setupState, data, props, accessCache, type, appContext } = instance; - if (key === "__isVue") { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 1: - return setupState[key]; - case 2: - return data[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance, "get", key); - markAttrsAccessed(); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading - // to infinite warning loop - key.indexOf("__v") !== 0)) { - if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { - warn2(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`); - } else if (instance === currentRenderingInstance) { - warn2(`Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`); - } - } - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { - warn2(`Cannot mutate + + diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 80d256f70..000000000 --- a/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -# Webitel UI Index! diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 000000000..77f469ca1 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,13129 @@ +{ + "name": "@webitel/ui-sdk-docs", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@webitel/ui-sdk-docs", + "version": "0.1.0", + "dependencies": { + "@vue/compat": "3.2.47", + "@webitel/cc-ui-sdk": "^1.0.3", + "@webitel/flow-ui-sdk": "^0.1.8", + "deepmerge": "^4.2.2", + "file-saver": "^2.0.2", + "github-markdown-css": "^5.0.0", + "jsdom": "^16.6.0", + "lodash": "^4.17.21", + "markdown-it": "^12.2.0", + "plyr": "^3.6.2", + "prismjs": "^1.20.0", + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-router": "^4.1.6", + "vuex": "^4.1.0", + "webitel-sdk": "^0.1.184" + }, + "devDependencies": { + "@vitejs/plugin-vue": "4.4.1", + "@vue/compiler-sfc": "3.2.47", + "csv-stringify": "^5.5.1", + "html-loader": "^1.3.2", + "markdown-loader": "^6.0.0", + "postcss": "^8.4.31", + "postcss-prefix-selector": "^1.16.0", + "sass": "^1.51.0", + "vite": "^4.5.0", + "vite-plugin-node-polyfills": "^0.15.0", + "vite-plugin-svg-sprite": "^0.5.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "peer": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "peer": true, + "dependencies": { + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "peer": true, + "dependencies": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==", + "peer": true + }, + "node_modules/@floating-ui/vue": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.2.tgz", + "integrity": "sha512-sImlAl9mAoCKZLNlwWz2P2ZMJIDlOEDXrRD6aD2sIHAka1LPC+nWtB+D3lPe7IE7FGWSbwBPTnlSdlABa3Fr0A==", + "peer": true, + "dependencies": { + "@floating-ui/dom": "^1.4.5", + "vue-demi": ">=0.13.0" + } + }, + "node_modules/@floating-ui/vue/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "peer": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@intlify/core-base": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.7.0.tgz", + "integrity": "sha512-1tBnfnCI23jXqGW15cagCjn2GgD487VST1dMG8P5LRzrSfx+kUzqFyTrjMNIwgq1tVaF4HnDpFMUuyrzTLKphw==", + "dependencies": { + "@intlify/message-compiler": "9.7.0", + "@intlify/shared": "9.7.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.7.0.tgz", + "integrity": "sha512-/YdZCio2L2tCM5bZ2eMHbSEIQNPh1QqvZIOLI/yCVKXLscis7O0SsR2nmuU/DfCJ3iSeI8juw82C2wLvfsAeww==", + "dependencies": { + "@intlify/shared": "9.7.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.7.0.tgz", + "integrity": "sha512-PUkEuk//YKu4CHS5ah3mNa3XL/+TZj6rAY/6yYN+GCNFd2u+uWUkeuwE4Q6t8dydRWlErOePHHS0KyNoof/oBw==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-inject/node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", + "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/node": { + "version": "20.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.1.tgz", + "integrity": "sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==", + "peer": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/webrtc": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@types/webrtc/-/webrtc-0.0.26.tgz", + "integrity": "sha512-hTDoPKPYbgcogZA9eqhihPO+HnUs5BNPfnoOyc9bzcuq56eYV28zwJ+3tortPN0uXgmDvNs3f1JaT4oTbtWxqg==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.1.tgz", + "integrity": "sha512-HCQG8VDFDM7YDAdcj5QI5DvUi+r6xvo9LgvYdk7LSkUNwdpempdB5horkMSZsbdey9Ywsf5aaU8kEPw9M5kREA==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compat": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.47.tgz", + "integrity": "sha512-spULbnhceN3fIGYRRgq75RPRqsakfUV0tyZ4zTweOB48bWtwHUn677exg8/58uLOBc1F5B5lXTD5qf7epqpTuw==", + "dependencies": { + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "node_modules/@vuepic/vue-datepicker": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-4.5.1.tgz", + "integrity": "sha512-zdG37Q8iuwTPWnQEI9/WvabqmrDDfDLgdXUTW08FXHSbiHuNN2S+bVeN1Wm9yeD+onHgzEn6DiW6J3fYXEfa0Q==", + "peer": true, + "dependencies": { + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.7" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "vue": ">=3.2.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webitel/cc-ui-sdk": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@webitel/cc-ui-sdk/-/cc-ui-sdk-1.0.3.tgz", + "integrity": "sha512-PFOTNpTFY69a2zwgRzTugn6Iycw/6plTPIwJwyGGzdf4clLR3+Xn9zvPuAupe0REFk3kocMpOBNkH5okED6rNA==", + "peerDependencies": { + "@webitel/ui-sdk": "^3.0.0", + "core-js": "^3.6.5", + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vuex": "^4.1.0", + "webitel-sdk": "^0.1.118" + } + }, + "node_modules/@webitel/flow-ui-sdk": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@webitel/flow-ui-sdk/-/flow-ui-sdk-0.1.14.tgz", + "integrity": "sha512-wO5JWItYfaZc1NWrEebP7FaIxINfI5w/lWhFMWWdPf0UVyVBcXLzr9vdcT3pN8Aw+tvf7Weav24oAPkqvb+nQQ==", + "dependencies": { + "core-js": "^3.8.3", + "vue": "^2.6.14", + "vue-i18n": "^8.27.2", + "webitel-sdk": "^0.1.157" + } + }, + "node_modules/@webitel/flow-ui-sdk/node_modules/@vue/compiler-sfc": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz", + "integrity": "sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==", + "dependencies": { + "@babel/parser": "^7.18.4", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + } + }, + "node_modules/@webitel/flow-ui-sdk/node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/@webitel/flow-ui-sdk/node_modules/vue": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.15.tgz", + "integrity": "sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==", + "dependencies": { + "@vue/compiler-sfc": "2.7.15", + "csstype": "^3.1.0" + } + }, + "node_modules/@webitel/flow-ui-sdk/node_modules/vue-i18n": { + "version": "8.28.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz", + "integrity": "sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==" + }, + "node_modules/@webitel/ui-sdk": { + "version": "3.2.173", + "resolved": "https://registry.npmjs.org/@webitel/ui-sdk/-/ui-sdk-3.2.173.tgz", + "integrity": "sha512-wsYMjyHzGtCsKY7tGzi43cYrhP3tmIYZ87YICRB/b/SXHmK3cUePznzhGXKDRKk/krR2bsnT6XwYjDletOyaKw==", + "peer": true, + "dependencies": { + "@floating-ui/vue": "^1.0.1", + "@vue/compat": "^3.2.47", + "@vuelidate/core": "^2.0.0", + "@vuelidate/validators": "^2.0.0", + "@vuepic/vue-datepicker": "^4.4.0", + "clipboard-copy": "^4.0.1", + "core-js": "^3.6.5", + "csv-stringify": "^5.5.3", + "deep-copy": "^1.4.2", + "deep-equal": "^2.0.3", + "file-saver": "^2.0.2", + "is-valid-domain": "^0.1.6", + "jszip": "^3.5.0", + "jszip-utils": "^0.1.0", + "node-polyfill-webpack-plugin": "^1.1.4", + "plyr": "3.6.2", + "query-string": "^8.1.0", + "sortablejs": "^1.15.0", + "tiny-emitter": "^2.1.0", + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-multiselect": "^3.0.0-beta.1", + "vue-observe-visibility": "^2.0.0-alpha.1", + "vue-router": "^4.1.6", + "webitel-sdk": "^23.7.5" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/@vuelidate/core": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.3.tgz", + "integrity": "sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==", + "peer": true, + "dependencies": { + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webitel/ui-sdk/node_modules/@vuelidate/core/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "peer": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webitel/ui-sdk/node_modules/@vuelidate/validators": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.4.tgz", + "integrity": "sha512-odTxtUZ2JpwwiQ10t0QWYJkkYrfd0SyFYhdHH44QQ1jDatlZgTh/KRzrWVmn/ib9Gq7H4hFD4e8ahoo5YlUlDw==", + "peer": true, + "dependencies": { + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webitel/ui-sdk/node_modules/@vuelidate/validators/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "peer": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webitel/ui-sdk/node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/plyr": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.6.2.tgz", + "integrity": "sha512-CjAhRDtzyGqMRte9Phj4FsZFegS9VxW60boOhQsAnZHuiFG3yVBRcodWsGZ79GuXHHelc4DxMHO+z0QggY+9qQ==", + "peer": true, + "dependencies": { + "core-js": "^3.6.5", + "custom-event-polyfill": "^1.0.7", + "loadjs": "^4.2.0", + "rangetouch": "^2.0.1", + "url-polyfill": "^1.1.8" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/webitel-sdk": { + "version": "23.12.1", + "resolved": "https://registry.npmjs.org/webitel-sdk/-/webitel-sdk-23.12.1.tgz", + "integrity": "sha512-52oWNrZdYCUJZml0SqSYU945bExX+3xfnAQ8qzato7+D8P5+AqicXPOMkGt02MEHGzbeeCq6u4krXN0zqxGgew==", + "peer": true, + "dependencies": { + "@types/webrtc": "0.0.26", + "deep-copy": "1.4.2", + "ee-ts": "1.0.1", + "json-refs": "3.0.13", + "jssip": "=3.3.6", + "query-string": "7.0.0" + }, + "peerDependencies": { + "axios": "0.27.2", + "ee-ts": "1.0.1", + "jssip": "=3.3.6", + "tslib": ">=1.10.0" + } + }, + "node_modules/@webitel/ui-sdk/node_modules/webitel-sdk/node_modules/query-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.0.tgz", + "integrity": "sha512-Iy7moLybliR5ZgrK/1R3vjrXq03S13Vz4Rbm5Jg3EFq1LUmQppto0qtXz4vqZ386MSRjZgnTSZ9QC+NZOSd/XA==", + "peer": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "peer": true, + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "dependencies": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/buffer-polyfill": { + "name": "buffer", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001563", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", + "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clipboard-copy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-4.0.1.tgz", + "integrity": "sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "peer": true + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", + "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "node_modules/csv-stringify": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" + }, + "node_modules/custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/date-fns-tz": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", + "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "peer": true, + "peerDependencies": { + "date-fns": ">=2.0.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decode-uri-component": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz", + "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", + "peer": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/deep-copy": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz", + "integrity": "sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "peer": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz", + "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/ee-ts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ee-ts/-/ee-ts-1.0.1.tgz", + "integrity": "sha512-SIfYXO48Zv7ncr4WCUfdbLPkT3HUDt/0M3cPX/9ezKN7UnCv9+ua8F7v3PLheaO/TYb6hSmo/OzBiH6tHREb6w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "typescript": ">=3" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.588", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.588.tgz", + "integrity": "sha512-soytjxwbgcCu7nh5Pf4S2/4wa6UIu+A3p03U2yVr53qGxi1/VTR3ENI+p50v+UxqqZAfl48j3z55ud7VHIOr9w==", + "peer": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "peer": true + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filter-obj": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.2.tgz", + "integrity": "sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "peer": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/github-markdown-css": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.4.0.tgz", + "integrity": "sha512-eJhoFp9fiZ290h0vWrU5MmW0A2eeB81Lv/3ZkdtKrylJvtWi71ezGrxCcw1P2fVr82s3NvBX66SoDCN1pWLadw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "dependencies": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier-terser/node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "peer": true + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "peer": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "peer": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "peer": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "peer": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-valid-domain": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.1.6.tgz", + "integrity": "sha512-ZKtq737eFkZr71At8NxOFcP9O1K89gW3DkdrGMpp1upr/ueWjj+Weh4l9AI4rN0Gt8W2M1w7jrG2b/Yv83Ljpg==", + "peer": true, + "dependencies": { + "punycode": "^2.1.1" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "peer": true + }, + "node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isobject/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isomorphic-timers-promises": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", + "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "peer": true + }, + "node_modules/json-refs": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.13.tgz", + "integrity": "sha512-/FJ+BJ6BASjmNsBJHE8qMVj46HTS2Pfq5gI5BQRhyUsdrw9HaHRWSOsOh87deTOyWMtGas5Qr8H6ikrcWHdZbw==", + "dependencies": { + "commander": "~2.19.0", + "graphlib": "^2.1.7", + "js-yaml": "^3.13.0", + "lodash": "^4.17.11", + "native-promise-only": "^0.8.1", + "path-loader": "^1.0.10", + "slash": "^2.0.0", + "uri-js": "^4.2.2" + }, + "bin": { + "json-refs": "bin/json-refs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/json-refs/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jssip": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/jssip/-/jssip-3.3.6.tgz", + "integrity": "sha512-kyLxEQ7GBVlEi1PIWToAob7mH8WPtdUE51382vtjYC4ZUEa6qCXB4i9EwysX2bvpJUPbieZ1UPY8C6tLXQeBbA==", + "dependencies": { + "debug": "^4.1.1", + "events": "^3.0.0", + "sdp-transform": "^2.7.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "peer": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jszip-utils/-/jszip-utils-0.1.0.tgz", + "integrity": "sha512-tBNe0o3HAf8vo0BrOYnLPnXNo5A3KsRMnkBFYjh20Y3GPYGfgyoclEMgvVchx0nnL+mherPi74yLPIusHUQpZg==", + "peer": true + }, + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "peer": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/loadjs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", + "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/markdown-loader": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/markdown-loader/-/markdown-loader-6.0.0.tgz", + "integrity": "sha512-kUTEEpWRc5zcQbdjpK0QYdp/9Z5Oep440foKSXc7wWetcRxrWm4vbbXRW0Gqhht5CKJ4gm7el4HOPPyqs/ziTA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "marked": "^0.7.0" + } + }, + "node_modules/markdown-loader/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/markdown-loader/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "peer": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-polyfill-webpack-plugin": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.1.4.tgz", + "integrity": "sha512-Z0XTKj1wRWO8o/Vjobsw5iOJCN+Sua3EZEUc2Ziy9CyVvmHKu6o+t4gUH9GOE0czyPR94LI6ZCV/PpcM8b5yow==", + "peer": true, + "dependencies": { + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "console-browserify": "^1.2.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.12.0", + "domain-browser": "^4.19.0", + "events": "^3.3.0", + "filter-obj": "^2.0.2", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "punycode": "^2.1.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.3.0", + "timers-browserify": "^2.0.12", + "tty-browserify": "^0.0.1", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "webpack": ">=5" + } + }, + "node_modules/node-polyfill-webpack-plugin/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "peer": true + }, + "node_modules/node-stdlib-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz", + "integrity": "sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==", + "dev": true, + "dependencies": { + "assert": "^2.0.0", + "browser-resolve": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^5.7.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "create-require": "^1.1.1", + "crypto-browserify": "^3.11.0", + "domain-browser": "^4.22.0", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "isomorphic-timers-promises": "^1.0.1", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "pkg-dir": "^5.0.0", + "process": "^0.11.10", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.1", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-stdlib-browser/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/node-stdlib-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-stdlib-browser/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-loader": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", + "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", + "dependencies": { + "native-promise-only": "^0.8.1", + "superagent": "^7.1.6" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/plyr": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", + "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", + "dependencies": { + "core-js": "^3.26.1", + "custom-event-polyfill": "^1.0.7", + "loadjs": "^4.2.0", + "rangetouch": "^2.0.1", + "url-polyfill": "^1.1.12" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "dev": true, + "peerDependencies": { + "postcss": ">4 <9" + } + }, + "node_modules/posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "dev": true, + "dependencies": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + } + }, + "node_modules/posthtml-parser/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/posthtml-parser/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/posthtml-parser/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/posthtml-parser/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/posthtml-parser/node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/posthtml-parser/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/posthtml-parser/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/posthtml-parser/node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/posthtml-parser/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "dev": true, + "dependencies": { + "escape-string-regexp": "1.0.5" + } + }, + "node_modules/posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "dev": true, + "dependencies": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-8.1.0.tgz", + "integrity": "sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==", + "peer": true, + "dependencies": { + "decode-uri-component": "^0.4.1", + "filter-obj": "^5.1.0", + "split-on-first": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/query-string/node_modules/filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "peer": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rangetouch": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", + "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==" + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "peer": true + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/sdp-transform": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.1.tgz", + "integrity": "sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==", + "bin": { + "sdp-verify": "checker.js" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "peer": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sortablejs": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==", + "peer": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-resolve/node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/split-on-first": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz", + "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "peer": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superagent": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", + "deprecated": "Please downgrade to v7.1.5 if you need IE/ActiveXObject support OR upgrade to v8.0.0 as we no longer support IE and published an incorrect patch version (see https://github.com/visionmedia/superagent/issues/1731)", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.10.3", + "readable-stream": "^3.6.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + } + }, + "node_modules/svg-baker/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/svg-baker/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svg-baker/node_modules/micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/svg-baker/node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-baker/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svg-baker/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "node_modules/svgo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.3.tgz", + "integrity": "sha512-X4UZvLhOglD5Xrp834HzGHf8RKUW0Ahigg/08yRO1no9t2NxffOkMiQ0WmaMIbaGlVTlSst2zWANsdhz5ybXgA==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "peer": true + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-regex/node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-polyfill": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz", + "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==" + }, + "node_modules/url/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-node-polyfills": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.15.0.tgz", + "integrity": "sha512-IF9aTSPV9zebrcC6ezJA3Ym4r4U1C3jKUAnG16Sq7+UPtisNEOcNOAu3p5wcgFFOuuUwAUjQlIeJHMcnSXXemQ==", + "dev": true, + "dependencies": { + "@rollup/plugin-inject": "^5.0.3", + "buffer-polyfill": "npm:buffer@^6.0.3", + "node-stdlib-browser": "^1.2.0", + "process": "^0.11.10" + }, + "funding": { + "url": "https://github.com/sponsors/davidmyersdev" + }, + "peerDependencies": { + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/vite-plugin-svg-sprite": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svg-sprite/-/vite-plugin-svg-sprite-0.5.0.tgz", + "integrity": "sha512-WbFwCzAU+MSSMYaxkVtd367LjowOsw1EsHJJ8GOa0Huzldb/xVFEdFTeWSywrHqOF/cvfWwSRF3tz9QOzoeojw==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.2", + "svg-baker": "~1.7.0", + "svg-parser": "^2.0.4", + "svgo": "^3.0.2" + }, + "peerDependencies": { + "vite": "^2 || ^3 || ^4" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/vue-i18n": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.7.0.tgz", + "integrity": "sha512-8Z8kSz9U2juzuAf+6mjW1HTd5pIlYuFJZkC+HvYOglFdpzwc2rTUGjxKwN8xGdtGur1MFnyJ44TSr+TksJtY8A==", + "dependencies": { + "@intlify/core-base": "9.7.0", + "@intlify/shared": "9.7.0", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-multiselect": { + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.3.tgz", + "integrity": "sha512-P7Fx+ovVF7WMERSZ0lw6N3p4H4bnQ3NcaY3ORjzFPv0r/6lpIqvFWmK9Xnwze9mgAvmNV1foI1VWrBmjnfBTLQ==", + "peer": true, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/vue-observe-visibility": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-2.0.0-alpha.1.tgz", + "integrity": "sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==", + "peer": true, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.11" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webitel-sdk": { + "version": "0.1.198", + "resolved": "https://registry.npmjs.org/webitel-sdk/-/webitel-sdk-0.1.198.tgz", + "integrity": "sha512-iinWrWWrjIYug+TCvvPJ1y8jkWnzYgztVzCJNvqw0P99gSHzgP501BiMGBoxP8YDOkzL/a7DBBPhczdLCQIpMw==", + "dependencies": { + "@types/webrtc": "0.0.26", + "deep-copy": "1.4.2", + "ee-ts": "1.0.1", + "json-refs": "3.0.13", + "jssip": "=3.3.6", + "query-string": "7.0.0" + }, + "peerDependencies": { + "axios": "0.27.2", + "ee-ts": "1.0.1", + "jssip": "=3.3.6", + "tslib": ">=1.10.0" + } + }, + "node_modules/webitel-sdk/node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webitel-sdk/node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webitel-sdk/node_modules/query-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.0.tgz", + "integrity": "sha512-Iy7moLybliR5ZgrK/1R3vjrXq03S13Vz4Rbm5Jg3EFq1LUmQppto0qtXz4vqZ386MSRjZgnTSZ9QC+NZOSd/XA==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webitel-sdk/node_modules/split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/webitel-sdk/node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "peer": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "peer": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@babel/parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==" + }, + "@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "peer": true, + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "peer": true, + "requires": { + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "peer": true, + "requires": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==", + "peer": true + }, + "@floating-ui/vue": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.2.tgz", + "integrity": "sha512-sImlAl9mAoCKZLNlwWz2P2ZMJIDlOEDXrRD6aD2sIHAka1LPC+nWtB+D3lPe7IE7FGWSbwBPTnlSdlABa3Fr0A==", + "peer": true, + "requires": { + "@floating-ui/dom": "^1.4.5", + "vue-demi": ">=0.13.0" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "peer": true, + "requires": {} + } + } + }, + "@intlify/core-base": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.7.0.tgz", + "integrity": "sha512-1tBnfnCI23jXqGW15cagCjn2GgD487VST1dMG8P5LRzrSfx+kUzqFyTrjMNIwgq1tVaF4HnDpFMUuyrzTLKphw==", + "requires": { + "@intlify/message-compiler": "9.7.0", + "@intlify/shared": "9.7.0" + } + }, + "@intlify/message-compiler": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.7.0.tgz", + "integrity": "sha512-/YdZCio2L2tCM5bZ2eMHbSEIQNPh1QqvZIOLI/yCVKXLscis7O0SsR2nmuU/DfCJ3iSeI8juw82C2wLvfsAeww==", + "requires": { + "@intlify/shared": "9.7.0", + "source-map-js": "^1.0.2" + } + }, + "@intlify/shared": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.7.0.tgz", + "integrity": "sha512-PUkEuk//YKu4CHS5ah3mNa3XL/+TZj6rAY/6yYN+GCNFd2u+uWUkeuwE4Q6t8dydRWlErOePHHS0KyNoof/oBw==" + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "peer": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "peer": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "peer": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "peer": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "dependencies": { + "magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + } + } + }, + "@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/eslint": { + "version": "8.44.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", + "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "peer": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "peer": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/node": { + "version": "20.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.1.tgz", + "integrity": "sha512-HhmzZh5LSJNS5O8jQKpJ/3ZcrrlG6L70hpGqMIAoM9YVD0YBRNWYsfwcXq8VnSjlNpCpgLzMXdiPo+dxcvSmiA==", + "peer": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/webrtc": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@types/webrtc/-/webrtc-0.0.26.tgz", + "integrity": "sha512-hTDoPKPYbgcogZA9eqhihPO+HnUs5BNPfnoOyc9bzcuq56eYV28zwJ+3tortPN0uXgmDvNs3f1JaT4oTbtWxqg==" + }, + "@vitejs/plugin-vue": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.1.tgz", + "integrity": "sha512-HCQG8VDFDM7YDAdcj5QI5DvUi+r6xvo9LgvYdk7LSkUNwdpempdB5horkMSZsbdey9Ywsf5aaU8kEPw9M5kREA==", + "dev": true, + "requires": {} + }, + "@vue/compat": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.47.tgz", + "integrity": "sha512-spULbnhceN3fIGYRRgq75RPRqsakfUV0tyZ4zTweOB48bWtwHUn677exg8/58uLOBc1F5B5lXTD5qf7epqpTuw==", + "requires": { + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "requires": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "requires": { + "@vue/shared": "3.2.47" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "requires": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "requires": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "requires": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + }, + "@vuepic/vue-datepicker": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-4.5.1.tgz", + "integrity": "sha512-zdG37Q8iuwTPWnQEI9/WvabqmrDDfDLgdXUTW08FXHSbiHuNN2S+bVeN1Wm9yeD+onHgzEn6DiW6J3fYXEfa0Q==", + "peer": true, + "requires": { + "date-fns": "^2.29.3", + "date-fns-tz": "^1.3.7" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "peer": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "peer": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "peer": true, + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webitel/cc-ui-sdk": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@webitel/cc-ui-sdk/-/cc-ui-sdk-1.0.3.tgz", + "integrity": "sha512-PFOTNpTFY69a2zwgRzTugn6Iycw/6plTPIwJwyGGzdf4clLR3+Xn9zvPuAupe0REFk3kocMpOBNkH5okED6rNA==", + "requires": {} + }, + "@webitel/flow-ui-sdk": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@webitel/flow-ui-sdk/-/flow-ui-sdk-0.1.14.tgz", + "integrity": "sha512-wO5JWItYfaZc1NWrEebP7FaIxINfI5w/lWhFMWWdPf0UVyVBcXLzr9vdcT3pN8Aw+tvf7Weav24oAPkqvb+nQQ==", + "requires": { + "core-js": "^3.8.3", + "vue": "^2.6.14", + "vue-i18n": "^8.27.2", + "webitel-sdk": "^0.1.157" + }, + "dependencies": { + "@vue/compiler-sfc": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.15.tgz", + "integrity": "sha512-FCvIEevPmgCgqFBH7wD+3B97y7u7oj/Wr69zADBf403Tui377bThTjBvekaZvlRr4IwUAu3M6hYZeULZFJbdYg==", + "requires": { + "@babel/parser": "^7.18.4", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "vue": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.15.tgz", + "integrity": "sha512-a29fsXd2G0KMRqIFTpRgpSbWaNBK3lpCTOLuGLEDnlHWdjB8fwl6zyYZ8xCrqkJdatwZb4mGHiEfJjnw0Q6AwQ==", + "requires": { + "@vue/compiler-sfc": "2.7.15", + "csstype": "^3.1.0" + } + }, + "vue-i18n": { + "version": "8.28.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz", + "integrity": "sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==" + } + } + }, + "@webitel/ui-sdk": { + "version": "3.2.173", + "resolved": "https://registry.npmjs.org/@webitel/ui-sdk/-/ui-sdk-3.2.173.tgz", + "integrity": "sha512-wsYMjyHzGtCsKY7tGzi43cYrhP3tmIYZ87YICRB/b/SXHmK3cUePznzhGXKDRKk/krR2bsnT6XwYjDletOyaKw==", + "peer": true, + "requires": { + "@floating-ui/vue": "^1.0.1", + "@vue/compat": "^3.2.47", + "@vuelidate/core": "^2.0.0", + "@vuelidate/validators": "^2.0.0", + "@vuepic/vue-datepicker": "^4.4.0", + "clipboard-copy": "^4.0.1", + "core-js": "^3.6.5", + "csv-stringify": "^5.5.3", + "deep-copy": "^1.4.2", + "deep-equal": "^2.0.3", + "file-saver": "^2.0.2", + "is-valid-domain": "^0.1.6", + "jszip": "^3.5.0", + "jszip-utils": "^0.1.0", + "node-polyfill-webpack-plugin": "^1.1.4", + "plyr": "3.6.2", + "query-string": "^8.1.0", + "sortablejs": "^1.15.0", + "tiny-emitter": "^2.1.0", + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-multiselect": "^3.0.0-beta.1", + "vue-observe-visibility": "^2.0.0-alpha.1", + "vue-router": "^4.1.6", + "webitel-sdk": "^23.7.5" + }, + "dependencies": { + "@vuelidate/core": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.3.tgz", + "integrity": "sha512-AN6l7KF7+mEfyWG0doT96z+47ljwPpZfi9/JrNMkOGLFv27XVZvKzRLXlmDPQjPl/wOB1GNnHuc54jlCLRNqGA==", + "peer": true, + "requires": { + "vue-demi": "^0.13.11" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "peer": true, + "requires": {} + } + } + }, + "@vuelidate/validators": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.4.tgz", + "integrity": "sha512-odTxtUZ2JpwwiQ10t0QWYJkkYrfd0SyFYhdHH44QQ1jDatlZgTh/KRzrWVmn/ib9Gq7H4hFD4e8ahoo5YlUlDw==", + "peer": true, + "requires": { + "vue-demi": "^0.13.11" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "peer": true, + "requires": {} + } + } + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "peer": true + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "peer": true + }, + "plyr": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.6.2.tgz", + "integrity": "sha512-CjAhRDtzyGqMRte9Phj4FsZFegS9VxW60boOhQsAnZHuiFG3yVBRcodWsGZ79GuXHHelc4DxMHO+z0QggY+9qQ==", + "peer": true, + "requires": { + "core-js": "^3.6.5", + "custom-event-polyfill": "^1.0.7", + "loadjs": "^4.2.0", + "rangetouch": "^2.0.1", + "url-polyfill": "^1.1.8" + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", + "peer": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "peer": true + }, + "webitel-sdk": { + "version": "23.12.1", + "resolved": "https://registry.npmjs.org/webitel-sdk/-/webitel-sdk-23.12.1.tgz", + "integrity": "sha512-52oWNrZdYCUJZml0SqSYU945bExX+3xfnAQ8qzato7+D8P5+AqicXPOMkGt02MEHGzbeeCq6u4krXN0zqxGgew==", + "peer": true, + "requires": { + "@types/webrtc": "0.0.26", + "deep-copy": "1.4.2", + "ee-ts": "1.0.1", + "json-refs": "3.0.13", + "jssip": "=3.3.6", + "query-string": "7.0.0" + }, + "dependencies": { + "query-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.0.tgz", + "integrity": "sha512-Iy7moLybliR5ZgrK/1R3vjrXq03S13Vz4Rbm5Jg3EFq1LUmQppto0qtXz4vqZ386MSRjZgnTSZ9QC+NZOSd/XA==", + "peer": true, + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + } + } + } + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, + "requires": {} + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "requires": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "peer": true, + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "requires": { + "resolve": "^1.17.0" + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", + "requires": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.4", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-polyfill": { + "version": "npm:buffer@6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "caniuse-lite": { + "version": "1.0.30001563", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", + "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "peer": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true + } + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clipboard-copy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-4.0.1.tgz", + "integrity": "sha512-wOlqdqziE/NNTUJsfSgXmBMIrYmfd5V0HCGsR8uAKHcg+h9NENWINcfRjtWGU77wDHC8B8ijV4hMTGYbrKovng==", + "peer": true + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" + }, + "cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", + "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "peer": true + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + } + } + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "requires": { + "css-tree": "~2.2.0" + }, + "dependencies": { + "css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "requires": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + } + }, + "mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + }, + "csv-stringify": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" + }, + "custom-event-polyfill": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", + "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "peer": true, + "requires": { + "@babel/runtime": "^7.21.0" + } + }, + "date-fns-tz": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.3.8.tgz", + "integrity": "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==", + "peer": true, + "requires": {} + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "decode-uri-component": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz", + "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", + "peer": true + }, + "deep-copy": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz", + "integrity": "sha512-VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==" + }, + "deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "peer": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + } + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domain-browser": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz", + "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==" + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "ee-ts": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ee-ts/-/ee-ts-1.0.1.tgz", + "integrity": "sha512-SIfYXO48Zv7ncr4WCUfdbLPkT3HUDt/0M3cPX/9ezKN7UnCv9+ua8F7v3PLheaO/TYb6hSmo/OzBiH6tHREb6w==", + "requires": {} + }, + "electron-to-chromium": { + "version": "1.4.588", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.588.tgz", + "integrity": "sha512-soytjxwbgcCu7nh5Pf4S2/4wa6UIu+A3p03U2yVr53qGxi1/VTR3ENI+p50v+UxqqZAfl48j3z55ud7VHIOr9w==", + "peer": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "peer": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "peer": true + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "peer": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "peer": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filter-obj": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-2.0.2.tgz", + "integrity": "sha512-lO3ttPjHZRfjMcxWKb1j1eDhTFsu4meeR3lnMcnBFhk6RuLhvEiuALu2TlfL310ph4lCYYwgF/ElIjdP739tdg==", + "peer": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "peer": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "requires": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "peer": true + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "github-markdown-css": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.4.0.tgz", + "integrity": "sha512-eJhoFp9fiZ290h0vWrU5MmW0A2eeB81Lv/3ZkdtKrylJvtWi71ezGrxCcw1P2fVr82s3NvBX66SoDCN1pWLadw==" + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "peer": true + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "peer": true + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "requires": { + "lodash": "^4.17.15" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "peer": true + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "peer": true + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "peer": true, + "requires": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "peer": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "peer": true + }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "peer": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "peer": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "peer": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "peer": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-valid-domain": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.1.6.tgz", + "integrity": "sha512-ZKtq737eFkZr71At8NxOFcP9O1K89gW3DkdrGMpp1upr/ueWjj+Weh4l9AI4rN0Gt8W2M1w7jrG2b/Yv83Ljpg==", + "peer": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "peer": true + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "peer": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + } + } + }, + "isomorphic-timers-promises": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", + "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + } + } + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "peer": true + }, + "json-refs": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.13.tgz", + "integrity": "sha512-/FJ+BJ6BASjmNsBJHE8qMVj46HTS2Pfq5gI5BQRhyUsdrw9HaHRWSOsOh87deTOyWMtGas5Qr8H6ikrcWHdZbw==", + "requires": { + "commander": "~2.19.0", + "graphlib": "^2.1.7", + "js-yaml": "^3.13.0", + "lodash": "^4.17.11", + "native-promise-only": "^0.8.1", + "path-loader": "^1.0.10", + "slash": "^2.0.0", + "uri-js": "^4.2.2" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jssip": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/jssip/-/jssip-3.3.6.tgz", + "integrity": "sha512-kyLxEQ7GBVlEi1PIWToAob7mH8WPtdUE51382vtjYC4ZUEa6qCXB4i9EwysX2bvpJUPbieZ1UPY8C6tLXQeBbA==", + "requires": { + "debug": "^4.1.1", + "events": "^3.0.0", + "sdp-transform": "^2.7.0" + } + }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "peer": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "jszip-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jszip-utils/-/jszip-utils-0.1.0.tgz", + "integrity": "sha512-tBNe0o3HAf8vo0BrOYnLPnXNo5A3KsRMnkBFYjh20Y3GPYGfgyoclEMgvVchx0nnL+mherPi74yLPIusHUQpZg==", + "peer": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "peer": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "loadjs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", + "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "requires": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + } + } + }, + "markdown-loader": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/markdown-loader/-/markdown-loader-6.0.0.tgz", + "integrity": "sha512-kUTEEpWRc5zcQbdjpK0QYdp/9Z5Oep440foKSXc7wWetcRxrWm4vbbXRW0Gqhht5CKJ4gm7el4HOPPyqs/ziTA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "marked": "^0.7.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "marked": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", + "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "merge-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-1.0.1.tgz", + "integrity": "sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==", + "dev": true, + "requires": { + "is-plain-obj": "^1.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "peer": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "peer": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-polyfill-webpack-plugin": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.1.4.tgz", + "integrity": "sha512-Z0XTKj1wRWO8o/Vjobsw5iOJCN+Sua3EZEUc2Ziy9CyVvmHKu6o+t4gUH9GOE0czyPR94LI6ZCV/PpcM8b5yow==", + "peer": true, + "requires": { + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "console-browserify": "^1.2.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.12.0", + "domain-browser": "^4.19.0", + "events": "^3.3.0", + "filter-obj": "^2.0.2", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "punycode": "^2.1.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.3.0", + "timers-browserify": "^2.0.12", + "tty-browserify": "^0.0.1", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.1.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "peer": true + }, + "node-stdlib-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.2.0.tgz", + "integrity": "sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==", + "dev": true, + "requires": { + "assert": "^2.0.0", + "browser-resolve": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^5.7.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "create-require": "^1.1.1", + "crypto-browserify": "^3.11.0", + "domain-browser": "^4.22.0", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "isomorphic-timers-promises": "^1.0.1", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "pkg-dir": "^5.0.0", + "process": "^0.11.10", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.1", + "url": "^0.11.0", + "util": "^0.12.4", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-loader": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", + "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", + "requires": { + "native-promise-only": "^0.8.1", + "superagent": "^7.1.6" + } + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "plyr": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", + "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", + "requires": { + "core-js": "^3.26.1", + "custom-event-polyfill": "^1.0.7", + "loadjs": "^4.2.0", + "rangetouch": "^2.0.1", + "url-polyfill": "^1.1.12" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-prefix-selector": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/postcss-prefix-selector/-/postcss-prefix-selector-1.16.0.tgz", + "integrity": "sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==", + "dev": true, + "requires": {} + }, + "posthtml": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.9.2.tgz", + "integrity": "sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==", + "dev": true, + "requires": { + "posthtml-parser": "^0.2.0", + "posthtml-render": "^1.0.5" + } + }, + "posthtml-parser": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.2.1.tgz", + "integrity": "sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==", + "dev": true, + "requires": { + "htmlparser2": "^3.8.3", + "isobject": "^2.1.0" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "posthtml-rename-id": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz", + "integrity": "sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "posthtml-render": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", + "dev": true + }, + "posthtml-svg-mode": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz", + "integrity": "sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==", + "dev": true, + "requires": { + "merge-options": "1.0.1", + "posthtml": "^0.9.2", + "posthtml-parser": "^0.2.1", + "posthtml-render": "^1.0.6" + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "peer": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-8.1.0.tgz", + "integrity": "sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==", + "peer": true, + "requires": { + "decode-uri-component": "^0.4.1", + "filter-obj": "^5.1.0", + "split-on-first": "^3.0.0" + }, + "dependencies": { + "filter-obj": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz", + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", + "peer": true + } + } + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "rangetouch": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", + "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "peer": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "peer": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "peer": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "peer": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "sdp-transform": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.1.tgz", + "integrity": "sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==" + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "peer": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sortablejs": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz", + "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==", + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + }, + "dependencies": { + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + } + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "split-on-first": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz", + "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", + "peer": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "peer": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "superagent": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", + "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", + "requires": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.3", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.0.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.10.3", + "readable-stream": "^3.6.0", + "semver": "^7.3.7" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-baker": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/svg-baker/-/svg-baker-1.7.0.tgz", + "integrity": "sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "clone": "^2.1.1", + "he": "^1.1.1", + "image-size": "^0.5.1", + "loader-utils": "^1.1.0", + "merge-options": "1.0.1", + "micromatch": "3.1.0", + "postcss": "^5.2.17", + "postcss-prefix-selector": "^1.6.0", + "posthtml-rename-id": "^1.0", + "posthtml-svg-mode": "^1.0.3", + "query-string": "^4.3.2", + "traverse": "^0.6.6" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "micromatch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz", + "integrity": "sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.2.2", + "define-property": "^1.0.0", + "extend-shallow": "^2.0.1", + "extglob": "^2.0.2", + "fragment-cache": "^0.2.1", + "kind-of": "^5.0.2", + "nanomatch": "^1.2.1", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true + }, + "svgo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.3.tgz", + "integrity": "sha512-X4UZvLhOglD5Xrp834HzGHf8RKUW0Ahigg/08yRO1no9t2NxffOkMiQ0WmaMIbaGlVTlSst2zWANsdhz5ybXgA==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "5.0.5", + "picocolors": "^1.0.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "peer": true + }, + "terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "peer": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "peer": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + } + } + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "peer": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + } + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-polyfill": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz", + "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + }, + "vite-plugin-node-polyfills": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.15.0.tgz", + "integrity": "sha512-IF9aTSPV9zebrcC6ezJA3Ym4r4U1C3jKUAnG16Sq7+UPtisNEOcNOAu3p5wcgFFOuuUwAUjQlIeJHMcnSXXemQ==", + "dev": true, + "requires": { + "@rollup/plugin-inject": "^5.0.3", + "buffer-polyfill": "npm:buffer@^6.0.3", + "node-stdlib-browser": "^1.2.0", + "process": "^0.11.10" + } + }, + "vite-plugin-svg-sprite": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svg-sprite/-/vite-plugin-svg-sprite-0.5.0.tgz", + "integrity": "sha512-WbFwCzAU+MSSMYaxkVtd367LjowOsw1EsHJJ8GOa0Huzldb/xVFEdFTeWSywrHqOF/cvfWwSRF3tz9QOzoeojw==", + "dev": true, + "requires": { + "micromatch": "^4.0.2", + "svg-baker": "~1.7.0", + "svg-parser": "^2.0.4", + "svgo": "^3.0.2" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "requires": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "vue-i18n": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.7.0.tgz", + "integrity": "sha512-8Z8kSz9U2juzuAf+6mjW1HTd5pIlYuFJZkC+HvYOglFdpzwc2rTUGjxKwN8xGdtGur1MFnyJ44TSr+TksJtY8A==", + "requires": { + "@intlify/core-base": "9.7.0", + "@intlify/shared": "9.7.0", + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-multiselect": { + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.3.tgz", + "integrity": "sha512-P7Fx+ovVF7WMERSZ0lw6N3p4H4bnQ3NcaY3ORjzFPv0r/6lpIqvFWmK9Xnwze9mgAvmNV1foI1VWrBmjnfBTLQ==", + "peer": true + }, + "vue-observe-visibility": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-2.0.0-alpha.1.tgz", + "integrity": "sha512-flFbp/gs9pZniXR6fans8smv1kDScJ8RS7rEpMjhVabiKeq7Qz3D9+eGsypncjfIyyU84saU88XZ0zjbD6Gq/g==", + "peer": true, + "requires": {} + }, + "vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "peer": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webitel-sdk": { + "version": "0.1.198", + "resolved": "https://registry.npmjs.org/webitel-sdk/-/webitel-sdk-0.1.198.tgz", + "integrity": "sha512-iinWrWWrjIYug+TCvvPJ1y8jkWnzYgztVzCJNvqw0P99gSHzgP501BiMGBoxP8YDOkzL/a7DBBPhczdLCQIpMw==", + "requires": { + "@types/webrtc": "0.0.26", + "deep-copy": "1.4.2", + "ee-ts": "1.0.1", + "json-refs": "3.0.13", + "jssip": "=3.3.6", + "query-string": "7.0.0" + }, + "dependencies": { + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "query-string": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.0.0.tgz", + "integrity": "sha512-Iy7moLybliR5ZgrK/1R3vjrXq03S13Vz4Rbm5Jg3EFq1LUmQppto0qtXz4vqZ386MSRjZgnTSZ9QC+NZOSd/XA==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" + } + } + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "peer": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "peer": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "peer": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "peer": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "requires": {} + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 000000000..d1cf03120 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,41 @@ +{ + "name": "@webitel/ui-sdk-docs", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "dependencies": { + "@vue/compat": "3.2.47", + "@webitel/cc-ui-sdk": "^1.0.3", + "@webitel/flow-ui-sdk": "^0.1.8", + "deepmerge": "^4.2.2", + "file-saver": "^2.0.2", + "github-markdown-css": "^5.0.0", + "jsdom": "^16.6.0", + "lodash": "^4.17.21", + "markdown-it": "^12.2.0", + "plyr": "^3.6.2", + "prismjs": "^1.20.0", + "vue": "^3.2.47", + "vue-i18n": "^9.2.2", + "vue-router": "^4.1.6", + "vuex": "^4.1.0", + "webitel-sdk": "^0.1.184" + }, + "devDependencies": { + "@vitejs/plugin-vue": "4.4.1", + "@vue/compiler-sfc": "3.2.47", + "csv-stringify": "^5.5.1", + "html-loader": "^1.3.2", + "markdown-loader": "^6.0.0", + "postcss": "^8.4.31", + "postcss-prefix-selector": "^1.16.0", + "sass": "^1.51.0", + "vite": "^4.5.0", + "vite-plugin-node-polyfills": "^0.15.0", + "vite-plugin-svg-sprite": "^0.5.0" + } +} diff --git a/docs/postcss.config.mjs b/docs/postcss.config.mjs new file mode 100644 index 000000000..ae2f7a924 --- /dev/null +++ b/docs/postcss.config.mjs @@ -0,0 +1,12 @@ +export default { + plugins: { + 'postcss-prefix-selector': { + prefix: ':not(:where(.vp-raw *))', + includeFiles: [/vp-doc\.css/], + transform(prefix, _selector) { + const [selector, pseudo = ''] = _selector.split(/(:\S*)$/) + return selector + prefix + pseudo + } + } + } +}; diff --git a/docs/public/favicon.ico b/docs/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/docs/public/img/plyr.svg b/docs/public/img/plyr.svg new file mode 100644 index 000000000..bad512e11 --- /dev/null +++ b/docs/public/img/plyr.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/webitel-ui/enums/enums-docs.vue b/docs/src/components/pages/webitel-flow-ui/enums/enums-docs.vue similarity index 82% rename from docs/webitel-ui/enums/enums-docs.vue rename to docs/src/components/pages/webitel-flow-ui/enums/enums-docs.vue index eff248633..bd3aee294 100644 --- a/docs/webitel-ui/enums/enums-docs.vue +++ b/docs/src/components/pages/webitel-flow-ui/enums/enums-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/src/components/pages/webitel-flow-ui/enums/flow-app/flow-app-enum-docs.vue b/docs/src/components/pages/webitel-flow-ui/enums/flow-app/flow-app-enum-docs.vue new file mode 100644 index 000000000..ca881a6d6 --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/enums/flow-app/flow-app-enum-docs.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/docs/src/components/pages/webitel-flow-ui/locale/locale-docs.vue b/docs/src/components/pages/webitel-flow-ui/locale/locale-docs.vue new file mode 100644 index 000000000..241dad4ba --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/locale/locale-docs.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/docs/src/components/pages/webitel-flow-ui/lookups/flow-type-applications/flow-type-applications-lookup-docs.vue b/docs/src/components/pages/webitel-flow-ui/lookups/flow-type-applications/flow-type-applications-lookup-docs.vue new file mode 100644 index 000000000..38605e3d5 --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/lookups/flow-type-applications/flow-type-applications-lookup-docs.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/docs/src/components/pages/webitel-flow-ui/lookups/lookups-docs.vue b/docs/src/components/pages/webitel-flow-ui/lookups/lookups-docs.vue new file mode 100644 index 000000000..e4a79a45f --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/lookups/lookups-docs.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/docs/src/components/pages/webitel-flow-ui/quick-start/quick-start.vue b/docs/src/components/pages/webitel-flow-ui/quick-start/quick-start.vue new file mode 100644 index 000000000..db503a1a6 --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/quick-start/quick-start.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/docs/src/components/pages/webitel-flow-ui/the-docs.vue b/docs/src/components/pages/webitel-flow-ui/the-docs.vue new file mode 100644 index 000000000..40c426aef --- /dev/null +++ b/docs/src/components/pages/webitel-flow-ui/the-docs.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/docs/src/components/pages/webitel-ui/changelog.vue b/docs/src/components/pages/webitel-ui/changelog.vue new file mode 100644 index 000000000..ae7a0c0cb --- /dev/null +++ b/docs/src/components/pages/webitel-ui/changelog.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/docs/webitel-ui/components/components-docs.vue b/docs/src/components/pages/webitel-ui/components/components-docs.vue similarity index 79% rename from docs/webitel-ui/components/components-docs.vue rename to docs/src/components/pages/webitel-ui/components/components-docs.vue index 5cb592f6b..f2791fbef 100644 --- a/docs/webitel-ui/components/components-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/components-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-app-header/wt-app-header-docs.vue similarity index 87% rename from docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-app-header/wt-app-header-docs.vue index 07029472c..377e6e66a 100644 --- a/docs/webitel-ui/components/wt-app-header/wt-app-header-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-app-header/wt-app-header-docs.vue @@ -4,23 +4,27 @@

App Header

- +
<wt-app-header></wt-app-header>
+ />

App Navigator

- +

+            class="language-html"
+>
         <wt-app-header>
             <wt-app-navigator current-app="admin" :apps="apps"></wt-app-navigator>
         </wt-app-header>
@@ -29,17 +33,21 @@
       
+ />

Header Actions

- +

+            class="language-html"
+>
         <wt-app-header>
             <wt-header-actions
             :user="{ name: 'My name', preferredUsername: 'My username' }"
@@ -51,20 +59,20 @@
       
+ /> + />
+ + diff --git a/docs/webitel-ui/components/wt-button/wt-button-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-button/wt-button-docs.vue similarity index 60% rename from docs/webitel-ui/components/wt-button/wt-button-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-button/wt-button-docs.vue index 79576887b..4badc4e95 100644 --- a/docs/webitel-ui/components/wt-button/wt-button-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-button/wt-button-docs.vue @@ -5,42 +5,95 @@
Primary button
<wt-button>Primary button</wt-button>
+ class="language-html" + ><wt-button>Primary button</wt-button>
- Small button + + Small button +
- Wide button + + Wide button +
Primary - Secondary - Secondary 50 - Disabled - Success - Danger - Transfer - Task + + Secondary + + + Secondary 50 + + + Disabled + + + Success + + + Danger + + + Transfer + + + Task +
- Primary - Secondary - Disabled - Success - Danger - Transfer - Task + + Primary + + + Secondary + + + Disabled + + + Success + + + Danger + + + Transfer + + + Task +
+ /> - + /> + @@ -48,7 +101,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-button-docs', + name: 'WtButtonDocs', data: () => ({ properties: [ { diff --git a/docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue similarity index 89% rename from docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue index edcd45195..170564b0f 100644 --- a/docs/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-cc-agent-status-timers/wt-cc-agent-status-timers-docs.vue @@ -5,20 +5,20 @@

Note! Component is loading on-demand, so you should import it directly from

import WtCcAgentStatusTimers from '@webitel/ui-sdk/src/components/on-demand/wt-cc-agent-status-timers/wt-cc-agent-status-timers.vue';
- +
<wt-cc-agent-status-timers :status="{ online: 10, offline: 20, pause: 30 }"></wt-cc-agent-status-timers>
+ /> diff --git a/docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue similarity index 85% rename from docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue index 54a463b09..43f45be32 100644 --- a/docs/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-navigation-bar/wt-navigation-bar-docs.vue @@ -8,17 +8,18 @@ :nav="[ { value: '1', name: 'Name 1', route: '/1' }, { value: 'exp1', name: 'Expansion 1', subNav: [ - { value: '2', name: 'Name 2', route: '/2' }, - { value: '3', name: 'Name 3', route: '/3' }, + { value: '2', name: 'Name 2', route: '/2' }, + { value: '3', name: 'Name 3', route: '/3' }, ] }, { value: 'exp2', name: 'Expansion 2', subNav: [ - { value: '4', name: 'Name 4', route: '/4' }, - { value: '5', name: 'Name 5', route: '/5' }, + { value: '4', name: 'Name 4', route: '/4' }, + { value: '5', name: 'Name 5', route: '/5' }, ] }, - ]" - > + ]" + />

+          class="language-html"
+>
         <wt-navigation-bar
           :current-app="'history'"
           :nav="[
@@ -38,7 +39,7 @@
     
     
+    />
   
 
 
@@ -46,7 +47,7 @@
 import Prism from 'prismjs';
 
 export default {
-  name: 'wt-navigation-bar-docs',
+  name: 'WtNavigationBarDocs',
   data: () => ({
     properties: [
       {
diff --git a/docs/webitel-ui/components/wt-notification/wt-notification-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-notification/wt-notification-docs.vue
similarity index 77%
rename from docs/webitel-ui/components/wt-notification/wt-notification-docs.vue
rename to docs/src/components/pages/webitel-ui/components/wt-notification/wt-notification-docs.vue
index a15141c99..c785d87fa 100644
--- a/docs/webitel-ui/components/wt-notification/wt-notification-docs.vue
+++ b/docs/src/components/pages/webitel-ui/components/wt-notification/wt-notification-docs.vue
@@ -5,7 +5,8 @@
       
lorem ipsum
<wt-notification>lorem ipsum</wt-notification>
+ class="language-html" + ><wt-notification>lorem ipsum</wt-notification>

In order to work with single object value, you need to pass '' as default to see placeholder

- -

Full docs: Vue - Multiselect

+ +

+ Full docs: Vue + Multiselect +

+ /> + /> + />

How to close select programmatically?

vue-multiselect docs link @@ -87,7 +91,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-select-docs', + name: 'WtSelectDocs', data: () => ({ vValid: { $error: false, diff --git a/docs/webitel-ui/components/wt-slider/wt-slider-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-slider/wt-slider-docs.vue similarity index 87% rename from docs/webitel-ui/components/wt-slider/wt-slider-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-slider/wt-slider-docs.vue index bdf6d1b31..79cd381b0 100644 --- a/docs/webitel-ui/components/wt-slider/wt-slider-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-slider/wt-slider-docs.vue @@ -3,26 +3,38 @@

Slider

- +
<wt-slider :value="70" :min="0" :max="100" :step="1" @input="setNumber"></wt-slider>
Disabled - +
Vertical - +
- + + /> + /> @@ -95,14 +107,14 @@ export default { }, ], }), + mounted() { + Prism.highlightAll(); + }, methods: { setNumber(value) { this.number = value; }, }, - mounted() { - Prism.highlightAll(); - }, }; diff --git a/docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-status-select/wt-status-select-docs.vue similarity index 84% rename from docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-status-select/wt-status-select-docs.vue index 1aa8b46fd..2351c4a60 100644 --- a/docs/webitel-ui/components/wt-status-select/wt-status-select-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-status-select/wt-status-select-docs.vue @@ -5,7 +5,7 @@
+ />

           <wt-status-select v-model="status"></wt-status-select>
         
@@ -16,36 +16,40 @@

           import AgentStatus from '@webitel/ui-sdk/src/enums/AgentStatus/AgentStatus.enum';
         
-

Enumerate with ONLINE ('online'), PAUSE ('pause'), OFFLINE ('offline'), BREAK_OUT ('break_out') values. Used - for agent status identifying and recommended for use in app logic

+

+ Enumerate with ONLINE ('online'), PAUSE ('pause'), OFFLINE ('offline'), BREAK_OUT ('break_out') values. Used + for agent status identifying and recommended for use in app logic +

Status Options lookup


           import StatusOptions from '@webitel/ui-sdk/src/components/organisms/wt-status-select/_internals/StatusOptions.lookup';
         
-

Default wt-status-select options. Each option object contains "color", - "locale" (for this.$t(locale) usage) and AgentStatus enum value

+

+ Default wt-status-select options. Each option object contains "color", + "locale" (for this.$t(locale) usage) and AgentStatus enum value +

+ /> + /> + /> diff --git a/docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue b/docs/src/components/pages/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue similarity index 74% rename from docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue rename to docs/src/components/pages/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue index ac2e3ffbb..46f87bbc3 100644 --- a/docs/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue +++ b/docs/src/components/pages/webitel-ui/composables/use-cached-interval/use-cached-interval-docs.vue @@ -16,14 +16,14 @@

Input params:

-
    -
  • -

    - timeout - frequency of function calls (default - 5min)

    -
  • -
  • -

    - localStorageKey - key from localStorage where the timeout is stored (default - 'auto-refresh')

    -
  • -
+
    +
  • +

    - timeout - frequency of function calls (default - 5min)

    +
  • +
  • +

    - localStorageKey - key from localStorage where the timeout is stored (default - 'auto-refresh')

    +
  • +

Specification:

Сomposable run a trans callback at a specified frequency. diff --git a/docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue b/docs/src/components/pages/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue similarity index 59% rename from docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue rename to docs/src/components/pages/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue index c87cc96ee..01dc84391 100644 --- a/docs/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue +++ b/docs/src/components/pages/webitel-ui/composables/use-destroyable-sortable/use-destroyable-sortable-docs.vue @@ -22,16 +22,16 @@

Motivation:

- WHY TO REINITIALIZE SORTABLE AFTER EACH ARRAY REORDER? + WHY TO REINITIALIZE SORTABLE AFTER EACH ARRAY REORDER?
- Sortable and Vue both changing DOM so that there are collisions - because both Vue and Sortable try to put element to the position. So element is put incorrectly. + Sortable and Vue both changing DOM so that there are collisions + because both Vue and Sortable try to put element to the position. So element is put incorrectly.
- There are 2 vue packages for sortable (vue 2 and vue 3), but I had encountered issues when tried to use them. - Also, it seems to me that they aren't supported now :( + There are 2 vue packages for sortable (vue 2 and vue 3), but I had encountered issues when tried to use them. + Also, it seems to me that they aren't supported now :(
- So that I decided to reinitialize Sortable each time order changes to represent it correctly. - Bad decision, but I haven't come up with a better one + So that I decided to reinitialize Sortable each time order changes to represent it correctly. + Bad decision, but I haven't come up with a better one

@@ -39,7 +39,7 @@ diff --git a/docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue b/docs/src/components/pages/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue similarity index 92% rename from docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue rename to docs/src/components/pages/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue index 76b9a9ffe..88a57a2e2 100644 --- a/docs/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue +++ b/docs/src/components/pages/webitel-ui/composables/use-representable-agent-pause-cause/use-representable-agent-pause-cause-docs.vue @@ -15,14 +15,12 @@

Input params:

-
{{ inputCauses }}

Output params:

{{ representablePauseCause }}
-
@@ -31,7 +29,7 @@ import { ref } from 'vue'; import { useRepresentableAgentPauseCause -} from '@webitel/ui-sdk/src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause'; +} from '../../../../../../../src/composables/useRepresentableAgentPauseCause/useRepresentableAgentPauseCause'; const inputCauses = ref([ { diff --git a/docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue b/docs/src/components/pages/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue similarity index 80% rename from docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue rename to docs/src/components/pages/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue index a0b47de29..38ba46567 100644 --- a/docs/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue +++ b/docs/src/components/pages/webitel-ui/directives/clickaway-directive/clickaway-directive-docs.vue @@ -2,7 +2,9 @@

Clickaway

- click away + + click away +
<wt-button v-clickaway="handleClickAway">click away</wt-button>
@@ -12,7 +14,7 @@ import Prism from 'prismjs'; export default { - name: 'clickaway-directive-docs', + name: 'ClickawayDirectiveDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/directives/directives-docs.vue b/docs/src/components/pages/webitel-ui/directives/directives-docs.vue similarity index 79% rename from docs/webitel-ui/directives/directives-docs.vue rename to docs/src/components/pages/webitel-ui/directives/directives-docs.vue index e6f967497..fc50e933f 100644 --- a/docs/webitel-ui/directives/directives-docs.vue +++ b/docs/src/components/pages/webitel-ui/directives/directives-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/webitel-ui/enums/_internals/enumReducer.js b/docs/src/components/pages/webitel-ui/enums/_internals/enumReducer.js similarity index 100% rename from docs/webitel-ui/enums/_internals/enumReducer.js rename to docs/src/components/pages/webitel-ui/enums/_internals/enumReducer.js diff --git a/docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue b/docs/src/components/pages/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue similarity index 65% rename from docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue rename to docs/src/components/pages/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue index acb31c110..a1436cefd 100644 --- a/docs/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue +++ b/docs/src/components/pages/webitel-ui/enums/abstract-user-status/abstract-user-status-enum-docs.vue @@ -1,12 +1,17 @@ @@ -110,7 +113,7 @@ import Prism from 'prismjs'; import pic from './assets/schema.png'; export default { - name: 'table-store-module-docs', + name: 'TableStoreModuleDocs', data: () => ({ pic, }), diff --git a/docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue b/docs/src/components/pages/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue similarity index 74% rename from docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue rename to docs/src/components/pages/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue index e1bf89564..5a7be1fd6 100644 --- a/docs/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue +++ b/docs/src/components/pages/webitel-ui/plugins/breakpoint/breakpoint-plugin-docs.vue @@ -13,23 +13,27 @@ >Vuetify docs, or read source code :) )

-

Why? - Sometimes you need screen resolution breakpoints not only in CSS, +

+ Why? - Sometimes you need screen resolution breakpoints not only in CSS, but in JavaScript.
For instance: -

    -
  • - computing "sm"/"md" size properties to library components;
  • -
  • - attaching specific classes depending on screen size;
  • -
  • - conditionally draw or hide some components;
  • -
+
    +
  • - computing "sm"/"md" size properties to library components;
  • +
  • - attaching specific classes depending on screen size;
  • +
  • - conditionally draw or hide some components;
  • +

However, if you're looking for CSS breakpoints, see Style/Breakpoints - section

+ > + Style/Breakpoints + + section +

Plugin functionality is copy-pasted from Vuetify display breakpoints.

@@ -50,18 +54,20 @@
diff --git a/docs/webitel-ui/plugins/plugins-docs.vue b/docs/src/components/pages/webitel-ui/plugins/plugins-docs.vue similarity index 81% rename from docs/webitel-ui/plugins/plugins-docs.vue rename to docs/src/components/pages/webitel-ui/plugins/plugins-docs.vue index df098b7a1..07f8f1e6d 100644 --- a/docs/webitel-ui/plugins/plugins-docs.vue +++ b/docs/src/components/pages/webitel-ui/plugins/plugins-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/webitel-ui/quick-start/quick-start.vue b/docs/src/components/pages/webitel-ui/quick-start/quick-start.vue similarity index 96% rename from docs/webitel-ui/quick-start/quick-start.vue rename to docs/src/components/pages/webitel-ui/quick-start/quick-start.vue index 66ffe5b40..508f88651 100644 --- a/docs/webitel-ui/quick-start/quick-start.vue +++ b/docs/src/components/pages/webitel-ui/quick-start/quick-start.vue @@ -51,7 +51,7 @@
  • In plugins/webitel-ui.js -
    import '@webitel/ui-sdk/dist/img/sprite';
    +
    import '@webitel/ui-sdk/dist/img/sprite';
  • in vue.config.js @@ -79,7 +79,7 @@ import 'prismjs/components/prism-bash'; export default { - name: 'quick-start', + name: 'QuickStart', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue b/docs/src/components/pages/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue similarity index 75% rename from docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue index bf318e076..5b0df7d0a 100644 --- a/docs/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/case-converter-scripts/case-converter-scripts-docs.vue @@ -10,8 +10,9 @@ console.log(camelToSnake('helloThere!')) -
    Available converters: -
    Important: to convert complex structure like Object or Array, use obj- prefixed scripts
    +
    + Available converters: +
    Important: to convert complex structure like Object or Array, use obj- prefixed scripts
    • snakeToCamel
    • kebabToCamel
    • @@ -24,11 +25,13 @@

      Skipped keys

      -

      obj- case converters have 2nd optional param, which accepts array of keys to prevent from - converting like: +

      + obj- case converters have 2nd optional param, which accepts array of keys to prevent from + converting like: console.log(objCamelToSnake({ doNotConvertMe: 'helloThere!' }, ['doNotConvertMe'])) -

      +
      +

      @@ -37,7 +40,7 @@ import Prism from 'prismjs'; export default { - name: 'case-converter-scripts-docs', + name: 'CaseConverterScriptsDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue similarity index 93% rename from docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue index 7d9b881f2..ba22b00b3 100644 --- a/docs/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/convert-duration-script/convert-duration-script-docs.vue @@ -16,7 +16,7 @@ import Prism from 'prismjs'; export default { - name: 'convert-duration-script-docs', + name: 'ConvertDurationScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/debounce-script/debounce-script-docs.vue similarity index 96% rename from docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/debounce-script/debounce-script-docs.vue index 0bd79c5a9..6c29d41d2 100644 --- a/docs/webitel-ui/scripts/debounce-script/debounce-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/debounce-script/debounce-script-docs.vue @@ -29,7 +29,7 @@ import Prism from 'prismjs'; export default { - name: 'debounce-script-docs', + name: 'DebounceScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue similarity index 77% rename from docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue index 0fa6b893c..d0d79573c 100644 --- a/docs/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/edit-proxy-script/edit-proxy-script-docs.vue @@ -2,10 +2,12 @@

      editProxy

      -

      Proxies passed object and after each object property assigning marks this object - _dirty flag to true

      +

      + Proxies passed object and after each object property assigning marks this object + _dirty flag to true +

      Note: if you want _dirty property to be reactive, it should declared - before this object will be set to store or component data + before this object will be set to store or component data

      Example usage:

      @@ -23,7 +25,7 @@ import Prism from 'prismjs'; export default { - name: 'edit-proxy-script-docs', + name: 'EditProxyScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue similarity index 90% rename from docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue index dc166e748..eddc1e4be 100644 --- a/docs/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/event-bus-script/event-bus-script-docs.vue @@ -11,7 +11,7 @@ import Prism from 'prismjs'; export default { - name: 'event-bus-script-docs', + name: 'EventBusScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue similarity index 92% rename from docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue index 948c65ed8..08309e751 100644 --- a/docs/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/is-empty-script/is-empty-script-docs.vue @@ -11,7 +11,7 @@ import Prism from 'prismjs'; export default { - name: 'is-empty-script-docs', + name: 'IsEmptyScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue b/docs/src/components/pages/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue similarity index 81% rename from docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue rename to docs/src/components/pages/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue index 5bea3994e..02cf0411c 100644 --- a/docs/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue +++ b/docs/src/components/pages/webitel-ui/scripts/prettify-file-size-script/prettify-file-size-script.vue @@ -3,7 +3,11 @@

      prettifyFileSize

      prettifies bytes number to string size script:

      - +
      Prettified size is: {{ output }}
      @@ -14,18 +18,18 @@ import Prism from 'prismjs'; import prettifyFileSize from '@webitel/ui-sdk/src/scripts/prettifyFileSize'; export default { - name: 'prettify-file-size-script-docs', + name: 'PrettifyFileSizeScriptDocs', data: () => ({ input: 1024, }), - mounted() { - Prism.highlightAll(); - }, computed: { output() { return prettifyFileSize(this.input); }, }, + mounted() { + Prism.highlightAll(); + }, }; diff --git a/docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue similarity index 90% rename from docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue index f0e6efbf7..8a0aae4ec 100644 --- a/docs/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/prettify-time-script/prettify-time-script-docs.vue @@ -11,7 +11,7 @@ import Prism from 'prismjs'; export default { - name: 'prettify-time-script-docs', + name: 'PrettifyTimeScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue b/docs/src/components/pages/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue similarity index 93% rename from docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue index 6459f21c6..6457a530a 100644 --- a/docs/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/prevent-hidden-page-calls-decorator-script/prevent-hidden-page-calls-decorator-script-docs.vue @@ -24,7 +24,7 @@ import Prism from 'prismjs'; export default { - name: 'prevent-hidden-page-calls-decorator-script-docs', + name: 'PreventHiddenPageCallsDecoratorScriptDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/scripts/scripts-docs.vue b/docs/src/components/pages/webitel-ui/scripts/scripts-docs.vue similarity index 81% rename from docs/webitel-ui/scripts/scripts-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/scripts-docs.vue index c69a0a754..73f734866 100644 --- a/docs/webitel-ui/scripts/scripts-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/scripts-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue b/docs/src/components/pages/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue similarity index 79% rename from docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue rename to docs/src/components/pages/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue index ec06fd72c..1668923e4 100644 --- a/docs/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue +++ b/docs/src/components/pages/webitel-ui/scripts/sort-query-adapter-scripts/sort-query-adapter-scripts-docs.vue @@ -2,9 +2,11 @@

      sortQueryAdapters

      -

      has SortSymbols values enum, +

      + has SortSymbols values enum, sortToQueryAdapter and queryToSortAdapter to convert '+', '-', and '' - (url and request formal) to 'asc', 'desc', null -- code logic format

      + (url and request formal) to 'asc', 'desc', null -- code logic format +

      @@ -13,7 +15,7 @@ import Prism from 'prismjs'; export default { - name: 'sort-query-adapter-scripts-docs', + name: 'SortQueryAdapterScriptsDocs', mounted() { Prism.highlightAll(); }, diff --git a/docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue b/docs/src/components/pages/webitel-ui/store/helpers/get-namespaced-state-docs.vue similarity index 94% rename from docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue rename to docs/src/components/pages/webitel-ui/store/helpers/get-namespaced-state-docs.vue index 71bd8e6e1..9884d264d 100644 --- a/docs/webitel-ui/store/helpers/get-namespaced-state-docs.vue +++ b/docs/src/components/pages/webitel-ui/store/helpers/get-namespaced-state-docs.vue @@ -20,7 +20,7 @@ diff --git a/docs/webitel-ui/store/modules/api-store-module-docs.vue b/docs/src/components/pages/webitel-ui/store/modules/api-store-module-docs.vue similarity index 92% rename from docs/webitel-ui/store/modules/api-store-module-docs.vue rename to docs/src/components/pages/webitel-ui/store/modules/api-store-module-docs.vue index 8d8713dcd..b9b57dd59 100644 --- a/docs/webitel-ui/store/modules/api-store-module-docs.vue +++ b/docs/src/components/pages/webitel-ui/store/modules/api-store-module-docs.vue @@ -2,11 +2,13 @@

      ApiStoreModule

      -

      Store module implements actions for working with API interface. Implements +

      + Store module implements actions for working with API interface. Implements BaseStoreModule + > + BaseStoreModule

      @@ -56,7 +58,7 @@
       
       
       
      diff --git a/docs/webitel-ui/store/modules/base-store-module-docs.vue b/docs/src/components/pages/webitel-ui/store/modules/base-store-module-docs.vue
      similarity index 84%
      rename from docs/webitel-ui/store/modules/base-store-module-docs.vue
      rename to docs/src/components/pages/webitel-ui/store/modules/base-store-module-docs.vue
      index 1c3da78cc..514ea5c47 100644
      --- a/docs/webitel-ui/store/modules/base-store-module-docs.vue
      +++ b/docs/src/components/pages/webitel-ui/store/modules/base-store-module-docs.vue
      @@ -18,8 +18,10 @@
             

      Class API:

      attachAPIModule

      -

      Accepts APIModule object as param. Always used for next method: generateAPIActions. - Default APIModule should have the following interface:

      +

      + Accepts APIModule object as param. Always used for next method: generateAPIActions. + Default APIModule should have the following interface: +

      
               {
                 getList: function,
      @@ -52,8 +54,10 @@
             

      getModule

      -

      Returns store module itself, built from class state. If some props are passed, they are not deeply merged with - class properties in created module. created module "namespaced" = true by default.

      +

      + Returns store module itself, built from class state. If some props are passed, they are not deeply merged with + class properties in created module. created module "namespaced" = true by default. +

      @@ -61,7 +65,7 @@ diff --git a/docs/webitel-ui/store/modules/reactive-now-store-module-docs.vue b/docs/src/components/pages/webitel-ui/store/modules/reactive-now-store-module-docs.vue similarity index 100% rename from docs/webitel-ui/store/modules/reactive-now-store-module-docs.vue rename to docs/src/components/pages/webitel-ui/store/modules/reactive-now-store-module-docs.vue diff --git a/docs/webitel-ui/store/store-docs.vue b/docs/src/components/pages/webitel-ui/store/store-docs.vue similarity index 82% rename from docs/webitel-ui/store/store-docs.vue rename to docs/src/components/pages/webitel-ui/store/store-docs.vue index c0a8cbebd..39db1f418 100644 --- a/docs/webitel-ui/store/store-docs.vue +++ b/docs/src/components/pages/webitel-ui/store/store-docs.vue @@ -4,7 +4,7 @@ diff --git a/docs/webitel-ui/style/border-radius/border-radius.vue b/docs/src/components/pages/webitel-ui/style/border-radius/border-radius.vue similarity index 88% rename from docs/webitel-ui/style/border-radius/border-radius.vue rename to docs/src/components/pages/webitel-ui/style/border-radius/border-radius.vue index fde66347b..d69671a7a 100644 --- a/docs/webitel-ui/style/border-radius/border-radius.vue +++ b/docs/src/components/pages/webitel-ui/style/border-radius/border-radius.vue @@ -8,7 +8,9 @@ :style="{ 'border-radius': `var(${radius.name})`}" class="border-radius-item" > -
      {{ radius.name }}: {{ radius.value }}
      +
      + {{ radius.name }}: {{ radius.value }} +
    @@ -16,7 +18,7 @@ + + diff --git a/docs/webitel-ui/style/colors/colors.vue b/docs/src/components/pages/webitel-ui/style/colors/colors.vue similarity index 93% rename from docs/webitel-ui/style/colors/colors.vue rename to docs/src/components/pages/webitel-ui/style/colors/colors.vue index 02dbdf8ec..7cebc4c23 100644 --- a/docs/webitel-ui/style/colors/colors.vue +++ b/docs/src/components/pages/webitel-ui/style/colors/colors.vue @@ -1,45 +1,57 @@
  • @@ -23,22 +24,24 @@ + /> + />

    Notification positioning

    -

    By default, notification positioning is static. If you want make it absolute, you should do +

    + By default, notification positioning is static. If you want make it absolute, you should do it - explicitly in CSS

    + explicitly in CSS +

    <wt-notification>Hello there!</wt-notification>
    +        class="language-html"
    +><wt-notification>Hello there!</wt-notification>
     
       .wt-notification { position: absolute; }
    - + @@ -46,7 +49,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-notification-docs', + name: 'WtNotificationDocs', data: () => ({ properties: [ { diff --git a/docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue similarity index 70% rename from docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue index d4ebd992d..b7ec17e10 100644 --- a/docs/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-notifications-bar/wt-notifications-bar-docs.vue @@ -4,16 +4,19 @@
    - + style="position:relative; : 500px; height: 500px; background: var(--secondary-color);" + > +
    <wt-notifications-bar></wt-notifications-bar>
    + class="language-html" + ><wt-notifications-bar></wt-notifications-bar>

    Specification

    -

    Notification bar listens to eventBus 'notification' event and represents sent +

    + Notification bar listens to eventBus 'notification' event and represents sent notifications using wt-notification component. 'notification' events should have the following format:

    @@ -23,10 +26,12 @@ text: 'Text, represented by wt-notification', } -

    After 4s message is being discarded. +

    + After 4s message is being discarded.
    Notifications bar won't work without eventBus, - registered in plugin (check "Quick start" page).

    + registered in plugin (check "Quick start" page).
    +

    @@ -35,7 +40,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-notifications-bar-docs', + name: 'WtNotificationsBarDocs', data: () => ({}), mounted() { Prism.highlightAll(); diff --git a/docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-page-header/wt-page-header-docs.vue similarity index 96% rename from docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-page-header/wt-page-header-docs.vue index 14cba61d8..e12483c12 100644 --- a/docs/webitel-ui/components/wt-page-header/wt-page-header-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-page-header/wt-page-header-docs.vue @@ -10,7 +10,7 @@ - diff --git a/docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue similarity index 82% rename from docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue index 13c3541ca..c7a67fe98 100644 --- a/docs/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-page-wrapper/wt-page-wrapper-docs.vue @@ -4,19 +4,20 @@
    - @@ -35,7 +39,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-player-docs', + name: 'WtPlayerDocs', data: () => ({ src: '', properties: [ diff --git a/docs/webitel-ui/components/wt-popup/wt-popup-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-popup/wt-popup-docs.vue similarity index 82% rename from docs/webitel-ui/components/wt-popup/wt-popup-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-popup/wt-popup-docs.vue index fbff5ab69..8af6864b4 100644 --- a/docs/webitel-ui/components/wt-popup/wt-popup-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-popup/wt-popup-docs.vue @@ -5,19 +5,30 @@
    @@ -15,21 +15,20 @@ :hint="'Hint'" :v="vInvalid" placeholder="Search" - > + />
    <wt-search-bar v-model="value" label="Search" :v="vInvalid" :hint="'Hint'" ></wt-search-bar>
    - + + /> + /> + /> @@ -37,7 +36,7 @@ import Prism from 'prismjs'; export default { - name: 'wt-search-bar-docs', + name: 'WtSearchBarDocs', data: () => ({ value: '', properties: [ diff --git a/docs/webitel-ui/components/wt-select/wt-select-docs.vue b/docs/src/components/pages/webitel-ui/components/wt-select/wt-select-docs.vue similarity index 95% rename from docs/webitel-ui/components/wt-select/wt-select-docs.vue rename to docs/src/components/pages/webitel-ui/components/wt-select/wt-select-docs.vue index 6cc843351..a9f35dc46 100644 --- a/docs/webitel-ui/components/wt-select/wt-select-docs.vue +++ b/docs/src/components/pages/webitel-ui/components/wt-select/wt-select-docs.vue @@ -8,7 +8,7 @@ :options="options" label="Select" track-by="name" - > + />
    
               <wt-select
                 v-model="value"
    @@ -28,7 +28,7 @@
               track-by="name"
               :v="vValid"
               multiple
    -        >
    +        />
             
    
               <wt-select
                 v-model="multipleValue"
    @@ -48,29 +48,33 @@
               label="Disabled Select"
               track-by="name"
               disabled
    -        >
    +        />
             
    +        />
           

    d#+HBi*5Rhh|L3$&zZe(935pTx(u;wfw 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/icons/sprite directory, in SVG format, +without width and height attributes, but with +[viewBox](https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/viewBox) + attribute. +(viewBox is provided by designer in svg pic itself - so you just need to check it presence, +by the way check for `width` `height` absence). + +For example: + +![svg icon code example](../../assets/svg-icon-code-example.png) + +At build stage, svg-sprite-loader +collects all icons (looking for "All files`.svg` in all directories, which names include `sprite`, +). This rule is described in vue.config.js: +(from "Quick Start" icons installation section): + +