@windwalker-io/unicorn-next 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/button-radio.js +1 -1
- package/dist/chunks/field-cascade-select.js +1 -1
- package/dist/chunks/field-file-drag.js +1 -1
- package/dist/chunks/field-flatpickr.js +1 -1
- package/dist/chunks/field-modal-select.js +1 -1
- package/dist/chunks/field-modal-tree.js +2 -2
- package/dist/chunks/field-multi-uploader.js +1 -1
- package/dist/chunks/field-repeatable.js +1 -1
- package/dist/chunks/field-single-image-drag.js +1 -1
- package/dist/chunks/form.js +1 -1
- package/dist/chunks/grid.js +70 -8
- package/dist/chunks/grid.js.map +1 -1
- package/dist/chunks/http-client.js +1 -1
- package/dist/chunks/iframe-modal.js +1 -1
- package/dist/chunks/index.js +21 -2
- package/dist/chunks/index.js.map +1 -1
- package/dist/chunks/keep-tab.js +1 -1
- package/dist/chunks/list-dependent.js +1 -1
- package/dist/chunks/s3-multipart-uploader.js +1 -1
- package/dist/chunks/s3-uploader.js +1 -1
- package/dist/chunks/tinymce.js +1 -1
- package/dist/chunks/unicorn.js +278 -91
- package/dist/chunks/unicorn.js.map +1 -1
- package/dist/chunks/validation.js +6 -3
- package/dist/chunks/validation.js.map +1 -1
- package/dist/index.d.ts +51 -8
- package/dist/unicorn.js +67 -66
- package/package.json +1 -1
- package/src/composable/index.ts +1 -0
- package/src/composable/useBsModalAlert.ts +299 -0
- package/src/composable/useUIBootstrap5.ts +2 -0
- package/src/module/grid.ts +105 -13
- package/src/module/validation.ts +6 -2
- package/src/service/dom.ts +1 -1
- package/src/service/ui.ts +2 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as useUniDirective, x as getBoundedInstance, v as selectOne,
|
|
1
|
+
import { a as useUniDirective, x as getBoundedInstance, v as selectOne, a6 as mergeDeep, A as h, w as selectAll, ae as data } from "./unicorn.js";
|
|
2
2
|
const defaultOptions = {
|
|
3
3
|
selector: ".btn-group .radio",
|
|
4
4
|
buttonClass: "btn",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { g as getDefaultExportFromCjs } from "./_commonjsHelpers.js";
|
|
2
|
-
import {
|
|
2
|
+
import { a9 as prepareAlpineDefer, f as initAlpineComponent, a6 as mergeDeep, K as uid, z as module$1, u as useHttpClient } from "./unicorn.js";
|
|
3
3
|
var alpineComponent = {};
|
|
4
4
|
var hasRequiredAlpineComponent;
|
|
5
5
|
function requireAlpineComponent() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { aa as watchAttributes, a6 as mergeDeep, _ as __, K as uid, B as html, G as simpleAlert, ab as injectCssToDocument, a as useUniDirective } from "./unicorn.js";
|
|
2
2
|
const css = ".c-file-drag {\n --bs-card-border-color: var(--bs-gray-400);\n --fd-delete-color: var(--bs-danger);\n overflow: hidden;\n border: 1px solid var(--bs-card-border-color, #ddd);\n}\n.c-file-drag label {\n border: none;\n}\n\n.c-file-drag-input {\n position: relative;\n display: inline-block;\n width: 100%;\n min-height: 100px;\n cursor: pointer;\n}\n.c-file-drag-input input {\n position: relative;\n z-index: 2;\n width: 100%;\n margin: 0;\n overflow: hidden;\n opacity: 0;\n height: 100%;\n cursor: pointer;\n}\n.c-file-drag-input input.hover + label {\n background-color: #efefef;\n}\n.c-file-drag-input input.is-invalid ~ .c-file-drag-input__label {\n border-color: var(--bs-danger);\n}\n.c-file-drag-input input:disabled {\n opacity: 0;\n cursor: no-drop;\n}\n.c-file-drag-input input:disabled + label {\n background-color: #eee;\n color: #999;\n}\n.c-file-drag-input input:disabled + label button {\n display: none;\n}\n.c-file-drag-input__label {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n padding: 0.375rem 0.75rem;\n color: #495057;\n background-color: #fff;\n border: 1px solid var(--bs-gray-400);\n border-radius: 0.25rem;\n height: 100%;\n text-align: center;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n transition: all 0.3s;\n cursor: pointer;\n}\n.c-file-drag-input__label > span {\n display: inline-block;\n width: 100%;\n}\n.c-file-drag-input label::after {\n content: none !important;\n}\n.c-file-drag-preview .c-file-drag-preview__delete {\n --bs-link-color-rgb: var(--bs-dark-rgb);\n}\n.c-file-drag-preview .c-file-drag-preview__delete.active {\n --bs-link-color-rgb: var(--bs-primary-rgb);\n}";
|
|
3
3
|
const defaultOptions = {
|
|
4
4
|
maxFiles: void 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import flatpickr from "flatpickr";
|
|
2
|
-
import {
|
|
2
|
+
import { ac as useImport, ad as useCssImport, ab as injectCssToDocument } from "./unicorn.js";
|
|
3
3
|
const css = `.flatpickr-calendar {
|
|
4
4
|
background: transparent;
|
|
5
5
|
opacity: 0;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v as selectOne, U as highlight, G as simpleAlert, _ as __,
|
|
1
|
+
import { v as selectOne, U as highlight, G as simpleAlert, _ as __, ae as data, B as html, P as slideUp } from "./unicorn.js";
|
|
2
2
|
import { b as baseAssignValue, a as assignValue, i as isIndex, c as isPrototype, d as arrayLikeKeys, g as getPrototype, k as keys } from "./_getPrototype.js";
|
|
3
3
|
import { b as baseRest, a as apply } from "./_baseRest.js";
|
|
4
4
|
import { i as isObjectLike, b as baseGetTag, a as isArray, S as Symbol$1, c as isObject, d as isArrayLike, e as eq } from "./isArguments.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { defineComponent, ref, computed, h, Transition, withDirectives, mergeProps, vShow, unref, inject, watch, onBeforeUpdate, nextTick, onMounted,
|
|
1
|
+
import { af as forceArray, u as useHttpClient, ad as useCssImport, ae as data } from "./unicorn.js";
|
|
2
|
+
import { defineComponent, ref, computed, h, Transition, withDirectives, mergeProps, vShow, unref, inject, watch, onBeforeUpdate, nextTick, onMounted, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, vModelDynamic, withModifiers, createTextVNode, toDisplayString, createCommentVNode, createBlock, withCtx, Fragment, renderList, useTemplateRef, onUnmounted, provide, vModelText, createVNode, TransitionGroup, createApp } from "vue";
|
|
3
3
|
import { Modal } from "bootstrap";
|
|
4
4
|
import { c as cloneDeep } from "./cloneDeep.js";
|
|
5
5
|
function flattenChildren(children) {
|
|
@@ -2,7 +2,7 @@ import { Modal } from "bootstrap";
|
|
|
2
2
|
import { createApp, defineComponent, ref, getCurrentInstance, useTemplateRef, computed, onMounted, nextTick } from "vue";
|
|
3
3
|
import { VueDraggable } from "vue-draggable-plus";
|
|
4
4
|
import { ItemCardPlaceholder, ItemCard, MultiUploader, createItem } from "vue-multi-uploader";
|
|
5
|
-
import {
|
|
5
|
+
import { a6 as mergeDeep, ab as injectCssToDocument, af as forceArray, ae as data, m as useStack } from "./unicorn.js";
|
|
6
6
|
const css = ".vue-drag-uploader {\n --vmu-img-size: 155px;\n display: flex;\n flex-wrap: wrap;\n padding: 1rem;\n border: 1px dotted #999;\n border-radius: 4px;\n cursor: pointer;\n color: #999;\n min-height: 250px;\n}\n.vue-drag-uploader--readonly {\n border: 1px solid #999;\n}\n.vue-drag-uploader.h-ondrag {\n border: 1px dotted #666;\n background-color: rgba(0, 0, 0, 0.05);\n color: #666;\n}\n.vue-drag-uploader__wrapper {\n width: 100%;\n}\n.vue-drag-uploader__draggable-wrapper, .vue-drag-uploader__transition-wrapper {\n display: flex;\n flex-wrap: wrap;\n}\n.vue-drag-uploader-item {\n width: var(--vmu-img-size);\n height: var(--vmu-img-size);\n border: 1px solid rgba(0, 0, 0, 0.25);\n border-radius: 3px;\n cursor: pointer;\n padding: 0.5rem;\n}\n.vue-drag-uploader .add-button {\n display: flex;\n align-items: center;\n text-align: center;\n transition: background-color 0.5s;\n}\n.vue-drag-uploader .add-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.vue-drag-uploader .add-button__body {\n margin: 0 auto;\n}\n.vue-drag-uploader .add-button__icon {\n margin-bottom: 10px;\n}\n.vue-drag-uploader .add-button__text {\n font-size: 14px;\n}\n.vue-drag-uploader .preview-img {\n position: relative;\n cursor: pointer;\n padding: 1px;\n}\n.vue-drag-uploader .preview-img > * {\n position: absolute;\n}\n.vue-drag-uploader .preview-img:hover .error-message__message {\n display: block;\n padding: 10px;\n}\n.vue-drag-uploader .preview-img__body {\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: transparent no-repeat center center;\n background-size: cover;\n}\n.vue-drag-uploader .preview-img__title {\n margin: 0 auto;\n}\n.vue-drag-uploader .preview-img__overlay {\n display: flex;\n align-items: center;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background-color: rgba(0, 0, 0, 0.35);\n opacity: 0;\n transition: opacity 0.5s;\n}\n.vue-drag-uploader .preview-img__overlay:hover {\n opacity: 1;\n}\n.vue-drag-uploader .preview-img__remove-icon {\n position: absolute;\n top: 5px;\n right: 5px;\n color: white;\n opacity: 0.75;\n transition: opacity 0.5s;\n}\n.vue-drag-uploader .preview-img__remove-icon:hover {\n opacity: 1;\n}\n.vue-drag-uploader .preview-img__progress {\n height: 5px;\n background-color: rgba(255, 255, 255, 0.8);\n width: 100%;\n bottom: 0;\n left: 0;\n}\n.vue-drag-uploader .preview-img__progress-bar {\n background-color: var(--bs-primary, #007bff);\n width: 0;\n height: 100%;\n}\n.vue-drag-uploader .error-message {\n width: 100%;\n background-color: #dc3545;\n color: white;\n font-size: 14px;\n word-break: break-all;\n top: calc(100% - 26px);\n min-height: 26px;\n}\n.vue-drag-uploader .error-message__notice {\n display: inline-block;\n padding: 3px;\n text-align: center;\n width: 100%;\n}\n.vue-drag-uploader .error-message__message {\n display: none;\n}";
|
|
7
7
|
const defaultOptions = {
|
|
8
8
|
readonly: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c as cloneDeep } from "./cloneDeep.js";
|
|
2
|
-
import {
|
|
2
|
+
import { a9 as prepareAlpineDefer, ad as useCssImport, a6 as mergeDeep, f as initAlpineComponent, K as uid } from "./unicorn.js";
|
|
3
3
|
const defaultOptions = {
|
|
4
4
|
id: "",
|
|
5
5
|
fieldName: "",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Modal } from "bootstrap";
|
|
2
|
-
import {
|
|
2
|
+
import { a6 as mergeDeep, w as selectAll, _ as __, G as simpleAlert, u as useHttpClient, ab as injectCssToDocument } from "./unicorn.js";
|
|
3
3
|
const css = ".c-sid-default__left-col {\n width: 30%;\n margin-right: 15px;\n justify-content: center;\n}\n.c-sid-default__left-col img {\n max-height: 250px;\n}\n.c-sid-default__right-col {\n overflow: hidden;\n}\n.c-sid-default__dragarea {\n font-weight: bold;\n text-align: center;\n padding: 9% 0;\n color: #ccc;\n border: 2px dashed #ccc;\n border-radius: 7px;\n cursor: default;\n}\n.c-sid-default__dragarea.hover {\n color: #333;\n border-color: #333;\n background-color: #f9f9f9;\n}\n.c-sid-default__img-loader {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 180px;\n}\n.c-sid-default__size-info {\n margin-top: 5px;\n font-size: 13px;\n}\n.c-sid-default__remove {\n margin-left: 5px;\n}\n.c-sid-default__modal .btn {\n position: relative;\n}\n\n.c-sid-modal .modal-body {\n position: relative;\n}\n.c-sid-modal__content {\n position: relative;\n z-index: 3;\n}\n.c-sid-modal__loading {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1;\n}\n.is-invalid[uni-field-validate] > uni-sid ~ [data-field-error] {\n display: block;\n}";
|
|
4
4
|
const defaultOptions = {
|
|
5
5
|
accept: [
|
package/dist/chunks/form.js
CHANGED
package/dist/chunks/grid.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as loadAlpine, Q as slideDown, P as slideUp, A as h, _ as __, F as simpleConfirm,
|
|
1
|
+
import { C as delegate, G as simpleAlert, l as loadAlpine, Q as slideDown, P as slideUp, A as h, _ as __, F as simpleConfirm, ag as deleteConfirm } from "./unicorn.js";
|
|
2
2
|
class UnicornGridElement {
|
|
3
3
|
constructor(selector, element, form, options = {}) {
|
|
4
4
|
this.element = element;
|
|
@@ -12,9 +12,6 @@ class UnicornGridElement {
|
|
|
12
12
|
bindEvents() {
|
|
13
13
|
const inputs = this.element.querySelectorAll("input[data-role=grid-checkbox]");
|
|
14
14
|
for (const ch of inputs) {
|
|
15
|
-
ch.addEventListener("click", () => {
|
|
16
|
-
ch.dispatchEvent(new CustomEvent("change"));
|
|
17
|
-
});
|
|
18
15
|
ch.addEventListener("change", () => {
|
|
19
16
|
const event = new CustomEvent("unicorn:checked", {
|
|
20
17
|
detail: { grid: this }
|
|
@@ -22,6 +19,52 @@ class UnicornGridElement {
|
|
|
22
19
|
this.form.element?.dispatchEvent(event);
|
|
23
20
|
});
|
|
24
21
|
}
|
|
22
|
+
if (this.form.element) {
|
|
23
|
+
this.bindMustCheckedEvent(this.form.element);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
bindMustCheckedEvent(form) {
|
|
27
|
+
delegate(document, "[data-must-checked]", "mousedown", (e) => {
|
|
28
|
+
const target = e.currentTarget;
|
|
29
|
+
const selector = target.dataset.mustChecked;
|
|
30
|
+
if (!selector || !form.matches(selector)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const toggle = target.dataset.bsToggle;
|
|
34
|
+
if (toggle === "modal") {
|
|
35
|
+
const modalTarget = target.dataset.bsTarget;
|
|
36
|
+
if (modalTarget) {
|
|
37
|
+
this.preventBSModal(modalTarget, this.getMustCheckedMessage());
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
preventBSModal(selector, msg) {
|
|
43
|
+
let modalElement = null;
|
|
44
|
+
if (typeof selector === "string") {
|
|
45
|
+
modalElement = document.querySelector(selector);
|
|
46
|
+
} else if (selector instanceof HTMLElement) {
|
|
47
|
+
const modalTarget = selector.dataset.bsTarget;
|
|
48
|
+
if (modalTarget) {
|
|
49
|
+
modalElement = document.querySelector(modalTarget);
|
|
50
|
+
} else {
|
|
51
|
+
modalElement = selector;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (modalElement) {
|
|
55
|
+
modalElement?.addEventListener("show.bs.modal", (e) => {
|
|
56
|
+
if (!this.hasChecked()) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
e.stopPropagation();
|
|
59
|
+
if (msg) {
|
|
60
|
+
if (msg === true) {
|
|
61
|
+
msg = this.getMustCheckedMessage();
|
|
62
|
+
}
|
|
63
|
+
simpleAlert(msg);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}, { once: true });
|
|
67
|
+
}
|
|
25
68
|
}
|
|
26
69
|
initComponent(store = "grid", custom = {}) {
|
|
27
70
|
this.ordering = this.element?.dataset?.ordering || "";
|
|
@@ -307,15 +350,25 @@ class UnicornGridElement {
|
|
|
307
350
|
/**
|
|
308
351
|
* Validate there has one or more checked boxes.
|
|
309
352
|
*/
|
|
310
|
-
validateChecked(event, callback,
|
|
311
|
-
msg = msg || __("unicorn.message.grid.checked");
|
|
353
|
+
validateChecked(event, callback, errorMsg = true) {
|
|
312
354
|
if (!this.hasChecked()) {
|
|
313
|
-
if (
|
|
314
|
-
|
|
355
|
+
if (errorMsg === true) {
|
|
356
|
+
errorMsg = this.getMustCheckedMessage();
|
|
357
|
+
}
|
|
358
|
+
if (typeof errorMsg === "string" && errorMsg !== "") {
|
|
359
|
+
simpleAlert(errorMsg);
|
|
360
|
+
} else if (typeof errorMsg === "function") {
|
|
361
|
+
errorMsg(this);
|
|
315
362
|
}
|
|
316
363
|
if (event) {
|
|
317
364
|
event.stopPropagation();
|
|
318
365
|
event.preventDefault();
|
|
366
|
+
const target = event.currentTarget;
|
|
367
|
+
if (target.dataset.bsToggle === "modal") {
|
|
368
|
+
if (target.dataset.bsTarget) {
|
|
369
|
+
this.preventBSModal(target.dataset.bsTarget);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
319
372
|
}
|
|
320
373
|
return this;
|
|
321
374
|
}
|
|
@@ -324,6 +377,15 @@ class UnicornGridElement {
|
|
|
324
377
|
}
|
|
325
378
|
return this;
|
|
326
379
|
}
|
|
380
|
+
async validateCheckedPromise() {
|
|
381
|
+
if (!this.hasChecked()) {
|
|
382
|
+
throw new Error("No items checked.");
|
|
383
|
+
}
|
|
384
|
+
return this;
|
|
385
|
+
}
|
|
386
|
+
getMustCheckedMessage() {
|
|
387
|
+
return __("unicorn.message.grid.checked");
|
|
388
|
+
}
|
|
327
389
|
hasChecked() {
|
|
328
390
|
return this.countChecked() > 0;
|
|
329
391
|
}
|
package/dist/chunks/grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sources":["../../src/module/grid.ts"],"sourcesContent":["import { __, deleteConfirm, h, loadAlpine, simpleAlert, simpleConfirm, slideDown, slideUp } from '../service';\nimport { Nullable } from '../types';\nimport type { UnicornFormElement } from './form';\n\nexport class UnicornGridElement {\n options: Record<string, any>;\n ordering = '';\n state = {};\n\n constructor(\n selector: string,\n public element: HTMLElement,\n public form: UnicornFormElement,\n options: Record<string, any> = {}\n ) {\n this.options = { ...options };\n\n this.bindEvents();\n }\n\n bindEvents() {\n const inputs = this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox]');\n\n for (const ch of inputs) {\n ch.addEventListener('click', () => {\n ch.dispatchEvent(new CustomEvent('change'));\n });\n ch.addEventListener('change', () => {\n const event = new CustomEvent('unicorn:checked', {\n detail: { grid: this }\n });\n\n this.form.element?.dispatchEvent(event);\n });\n }\n }\n\n initComponent(store = 'grid', custom: Record<string, string> = {}) {\n this.ordering = this.element?.dataset?.ordering || '';\n\n if (this.ordering) {\n if (!this.ordering.toLowerCase().endsWith(' asc')\n && !this.ordering.toLowerCase().endsWith(' desc')) {\n this.ordering += ' ASC';\n }\n }\n\n return loadAlpine((Alpine) => {\n Alpine.store(store, this.useState(custom));\n });\n }\n\n useState(this: any, custom: Record<string, any> = {}) {\n const state: Partial<Record<string, any>> = {\n form: this.form.useState(custom),\n };\n\n Object.getOwnPropertyNames(Object.getPrototypeOf(this))\n .map(item => {\n const prop = this[item];\n\n if (typeof prop === 'function') {\n return state[item] = this[item].bind(this);\n }\n\n return item;\n });\n\n return Object.assign(\n state,\n custom\n );\n }\n\n getElement() {\n return this.element;\n }\n\n sendFilter($event?: Event, method?: string) {\n if ($event) {\n $event.preventDefault();\n }\n\n this.form.submit(null, null, method);\n }\n\n clearFilters(element: HTMLElement, method?: Nullable<string>): void {\n element.querySelectorAll('input, textarea, select').forEach((ele) => {\n (ele as HTMLInputElement).value = '';\n });\n\n this.form.submit(null, null, method);\n }\n\n async toggleFilters(open: boolean, filterForm: HTMLElement) {\n if (open) {\n await slideDown(filterForm);\n } else {\n await slideUp(filterForm);\n }\n }\n\n sort($el: HTMLElement): boolean {\n const dir = this.getDirection($el);\n\n const field = $el.dataset.field;\n let asc = $el.dataset.asc;\n let desc = $el.dataset.desc;\n\n if (field) {\n asc = field + ' ASC';\n desc = field + ' DESC';\n }\n\n if (dir === 'ASC') {\n return this.sortBy(desc);\n }\n\n return this.sortBy(asc);\n }\n\n /**\n * Sort two items.\n */\n sortBy(ordering: Nullable<string>): boolean {\n if (!ordering) {\n return false;\n }\n\n let orderingInput = this.element.querySelector<HTMLInputElement>('input[name=list_ordering]');\n\n if (!orderingInput) {\n orderingInput = h('input', { name: 'list_ordering', type: 'hidden', value: '' });\n\n this.element.appendChild(orderingInput);\n }\n\n orderingInput.value = ordering;\n\n return this.form.put();\n }\n\n isSortActive($el: HTMLElement): boolean {\n return this.getDirection($el) != null;\n }\n\n getDirection($el: HTMLElement): \"ASC\" | \"DESC\" | null {\n const field = $el.dataset.field;\n let asc = $el.dataset.asc;\n let desc = $el.dataset.desc;\n\n if (field) {\n asc = field + ' ASC';\n desc = field + ' DESC';\n }\n\n if (this.orderingEquals(asc, this.ordering)) {\n return 'ASC';\n } else if (this.orderingEquals(desc, this.ordering)) {\n return 'DESC';\n }\n\n return null;\n }\n\n orderingEquals(a: Nullable<string>, b: Nullable<string>): boolean {\n a = a || '';\n b = b || '';\n\n a = a.replace(/\\s+/g, ' ').trim().toLowerCase();\n b = b.replace(/\\s+/g, ' ').trim().toLowerCase();\n\n return a === b;\n }\n\n /**\n * Check a row's checkbox.\n */\n checkRow(row: number, value = true): void {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n throw new Error('Checkbox of row: ' + row + ' not found.');\n }\n\n ch.checked = value;\n ch.dispatchEvent(new Event('input'));\n ch.dispatchEvent(new Event('change'));\n }\n\n getCheckboxByRow(row: number): Nullable<HTMLInputElement> {\n return this.form.element?.querySelector<HTMLInputElement>(\n `input[data-role=grid-checkbox][data-row-number=\"${row}\"]`\n );\n }\n\n /**\n * Update a row.\n */\n updateRow(row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>) {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.updateItem(ch.value, url, data);\n }\n\n /**\n * Update an item by id.\n */\n updateItem(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n this.toggleAll(false);\n\n this.disableAllCheckboxes();\n\n this.form.injectInput('id[]', id);\n\n return this.form.patch(url, data);\n }\n\n /**\n * Update a item with batch task.\n */\n updateItemByTask(\n task: string,\n id: string | number,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>\n ): boolean {\n data = data || {};\n data.task = task;\n\n return this.updateItem(id, url, data);\n }\n\n /**\n * @deprecated Use updateItemByTask() instead.\n */\n doTask(task: string, id: number | string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateItemByTask(task, id, url, data);\n }\n\n /**\n * Update a row with batch task.\n */\n updateRowByTask(task: string, row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.updateItemByTask(task, ch.value, url, data);\n }\n\n /**\n * Batch update items.\n */\n updateListByTask(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n data = data || {};\n data.task = task;\n\n return this.form.patch(url, data);\n }\n\n /**\n * @deprecated Use updateListByTask() instead.\n */\n batch(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateListByTask(task, url, data);\n }\n\n /**\n * @deprecated Use updateListByTask() instead.\n */\n updateByTask(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateListByTask(task, url, data);\n }\n\n /**\n * Copy a row.\n */\n copyItem(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n this.toggleAll(false);\n\n this.disableAllCheckboxes();\n\n this.form.injectInput('id[]', id);\n\n return this.form.post(url, data);\n }\n\n /**\n * Copy a row.\n */\n copyRow(row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.copyItem(ch.value, url, data);\n }\n\n /**\n * Delete checked items.\n */\n deleteList(\n message?: Nullable<string> | false,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>\n ): boolean {\n if (!this.validateChecked()) {\n return false;\n }\n\n message = message == null ? __('unicorn.message.delete.confirm') : message;\n\n if (message !== false) {\n simpleConfirm(message).then(isConfirm => {\n if (isConfirm) {\n this.form.delete(url, data);\n }\n });\n } else {\n this.form.delete(url, data);\n }\n\n return true;\n }\n\n /**\n * Delete an item by row.\n */\n async deleteRow(row: number,\n msg?: Nullable<string>,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>): Promise<boolean> {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.deleteItem(ch.value, msg, url, data);\n }\n\n /**\n * Delete an item.\n */\n async deleteItem(id: string,\n msg?: Nullable<string>,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>): Promise<boolean> {\n msg = msg || __('unicorn.message.delete.confirm');\n\n const isConfirm = await deleteConfirm(msg);\n\n if (isConfirm) {\n // this.toggleAll(false);\n // this.checkRow(row);\n data = data || {};\n\n data.id = id;\n\n this.form.delete(url, data);\n }\n\n return isConfirm;\n }\n\n /**\n * Toggle all checkboxes.\n */\n toggleAll(value: boolean) {\n Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]')\n )\n .forEach((input) => {\n input.checked = value;\n\n input.dispatchEvent(new CustomEvent('input'));\n input.dispatchEvent(new CustomEvent('change'));\n });\n\n return this;\n }\n\n disableAllCheckboxes() {\n Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]')\n )\n .forEach((input) => {\n input.disabled = true;\n });\n }\n\n /**\n * Count checked checkboxes.\n */\n countChecked(): number {\n return this.getChecked().length;\n }\n\n /**\n * Get Checked boxes.\n */\n getChecked(): HTMLInputElement[] {\n return Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]:checked')\n );\n }\n\n getCheckedValues(): string[] {\n return this.getChecked().map(input => input.value);\n }\n\n /**\n * Validate there has one or more checked boxes.\n */\n validateChecked(event?: Event, callback?: (grid: UnicornGridElement) => any, msg?: string): this {\n msg = msg || __('unicorn.message.grid.checked');\n\n if (!this.hasChecked()) {\n if (msg !== '') {\n simpleAlert(msg);\n }\n\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n return this;\n }\n\n if (callback) {\n callback(this);\n }\n\n return this;\n }\n\n hasChecked(): boolean {\n return this.countChecked() > 0;\n }\n\n /**\n * Reorder all.\n */\n reorderAll(url?: Nullable<string>, data?: Nullable<Record<string, any>>) {\n return this.updateListByTask('reorder', url, data);\n }\n\n /**\n * Reorder items.\n */\n moveItem(id: number | string, delta: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n data = data || {};\n data.delta = delta;\n\n return this.updateItemByTask('move', id, url, data);\n }\n\n moveUp(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.moveItem(id, -1, url, data);\n }\n\n moveDown(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.moveItem(id, 1, url, data);\n }\n\n getId(suffix = '') {\n return this.form.element?.id + suffix;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grid.js","sources":["../../src/module/grid.ts"],"sourcesContent":["import { __, delegate, deleteConfirm, h, loadAlpine, simpleAlert, simpleConfirm, slideDown, slideUp } from '../service';\nimport { Nullable } from '../types';\nimport type { UnicornFormElement } from './form';\n\nexport class UnicornGridElement {\n options: Record<string, any>;\n ordering = '';\n state = {};\n\n constructor(\n selector: string,\n public element: HTMLElement,\n public form: UnicornFormElement,\n options: Record<string, any> = {}\n ) {\n this.options = { ...options };\n\n this.bindEvents();\n }\n\n bindEvents() {\n const inputs = this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox]');\n\n for (const ch of inputs) {\n // No-longer need this since browsers will trigger change event when checkbox is checked/unchecked\n // ch.addEventListener('click', () => {\n // ch.dispatchEvent(new CustomEvent('change'));\n // });\n\n ch.addEventListener('change', () => {\n const event = new CustomEvent('unicorn:checked', {\n detail: { grid: this }\n });\n\n this.form.element?.dispatchEvent(event);\n });\n }\n\n if (this.form.element) {\n this.bindMustCheckedEvent(this.form.element);\n }\n }\n\n private bindMustCheckedEvent(form: HTMLFormElement) {\n delegate(document, '[data-must-checked]', 'mousedown', (e) => {\n const target = e.currentTarget as HTMLElement;\n\n const selector = target.dataset.mustChecked!;\n\n if (!selector || !form.matches(selector)) {\n return;\n }\n \n // Prevent modal\n const toggle = target.dataset.bsToggle;\n\n if (toggle === 'modal') {\n const modalTarget = target.dataset.bsTarget;\n\n if (modalTarget) {\n this.preventBSModal(modalTarget, this.getMustCheckedMessage());\n }\n }\n });\n }\n\n preventBSModal(selector?: string | HTMLElement, msg?: string | boolean) {\n let modalElement: HTMLElement | null = null;\n\n if (typeof selector === 'string') {\n modalElement = document.querySelector(selector);\n } else if (selector instanceof HTMLElement) {\n const modalTarget = selector.dataset.bsTarget;\n\n if (modalTarget) {\n modalElement = document.querySelector(modalTarget);\n } else {\n modalElement = selector;\n }\n }\n\n if (modalElement) {\n modalElement?.addEventListener('show.bs.modal', (e) => {\n if (!this.hasChecked()) {\n e.preventDefault();\n e.stopPropagation();\n\n if (msg) {\n if (msg === true) {\n msg = this.getMustCheckedMessage();\n }\n\n simpleAlert(msg);\n }\n }\n }, { once: true });\n }\n }\n\n initComponent(store = 'grid', custom: Record<string, string> = {}) {\n this.ordering = this.element?.dataset?.ordering || '';\n\n if (this.ordering) {\n if (!this.ordering.toLowerCase().endsWith(' asc')\n && !this.ordering.toLowerCase().endsWith(' desc')) {\n this.ordering += ' ASC';\n }\n }\n\n return loadAlpine((Alpine) => {\n Alpine.store(store, this.useState(custom));\n });\n }\n\n useState(this: any, custom: Record<string, any> = {}) {\n const state: Partial<Record<string, any>> = {\n form: this.form.useState(custom),\n };\n\n Object.getOwnPropertyNames(Object.getPrototypeOf(this))\n .map(item => {\n const prop = this[item];\n\n if (typeof prop === 'function') {\n return state[item] = this[item].bind(this);\n }\n\n return item;\n });\n\n return Object.assign(\n state,\n custom\n );\n }\n\n getElement() {\n return this.element;\n }\n\n sendFilter($event?: Event, method?: string) {\n if ($event) {\n $event.preventDefault();\n }\n\n this.form.submit(null, null, method);\n }\n\n clearFilters(element: HTMLElement, method?: Nullable<string>): void {\n element.querySelectorAll('input, textarea, select').forEach((ele) => {\n (ele as HTMLInputElement).value = '';\n });\n\n this.form.submit(null, null, method);\n }\n\n async toggleFilters(open: boolean, filterForm: HTMLElement) {\n if (open) {\n await slideDown(filterForm);\n } else {\n await slideUp(filterForm);\n }\n }\n\n sort($el: HTMLElement): boolean {\n const dir = this.getDirection($el);\n\n const field = $el.dataset.field;\n let asc = $el.dataset.asc;\n let desc = $el.dataset.desc;\n\n if (field) {\n asc = field + ' ASC';\n desc = field + ' DESC';\n }\n\n if (dir === 'ASC') {\n return this.sortBy(desc);\n }\n\n return this.sortBy(asc);\n }\n\n /**\n * Sort two items.\n */\n sortBy(ordering: Nullable<string>): boolean {\n if (!ordering) {\n return false;\n }\n\n let orderingInput = this.element.querySelector<HTMLInputElement>('input[name=list_ordering]');\n\n if (!orderingInput) {\n orderingInput = h('input', { name: 'list_ordering', type: 'hidden', value: '' });\n\n this.element.appendChild(orderingInput);\n }\n\n orderingInput.value = ordering;\n\n return this.form.put();\n }\n\n isSortActive($el: HTMLElement): boolean {\n return this.getDirection($el) != null;\n }\n\n getDirection($el: HTMLElement): \"ASC\" | \"DESC\" | null {\n const field = $el.dataset.field;\n let asc = $el.dataset.asc;\n let desc = $el.dataset.desc;\n\n if (field) {\n asc = field + ' ASC';\n desc = field + ' DESC';\n }\n\n if (this.orderingEquals(asc, this.ordering)) {\n return 'ASC';\n } else if (this.orderingEquals(desc, this.ordering)) {\n return 'DESC';\n }\n\n return null;\n }\n\n orderingEquals(a: Nullable<string>, b: Nullable<string>): boolean {\n a = a || '';\n b = b || '';\n\n a = a.replace(/\\s+/g, ' ').trim().toLowerCase();\n b = b.replace(/\\s+/g, ' ').trim().toLowerCase();\n\n return a === b;\n }\n\n /**\n * Check a row's checkbox.\n */\n checkRow(row: number, value = true): void {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n throw new Error('Checkbox of row: ' + row + ' not found.');\n }\n\n ch.checked = value;\n ch.dispatchEvent(new Event('input'));\n ch.dispatchEvent(new Event('change'));\n }\n\n getCheckboxByRow(row: number): Nullable<HTMLInputElement> {\n return this.form.element?.querySelector<HTMLInputElement>(\n `input[data-role=grid-checkbox][data-row-number=\"${row}\"]`\n );\n }\n\n /**\n * Update a row.\n */\n updateRow(row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>) {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.updateItem(ch.value, url, data);\n }\n\n /**\n * Update an item by id.\n */\n updateItem(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n this.toggleAll(false);\n\n this.disableAllCheckboxes();\n\n this.form.injectInput('id[]', id);\n\n return this.form.patch(url, data);\n }\n\n /**\n * Update a item with batch task.\n */\n updateItemByTask(\n task: string,\n id: string | number,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>\n ): boolean {\n data = data || {};\n data.task = task;\n\n return this.updateItem(id, url, data);\n }\n\n /**\n * @deprecated Use updateItemByTask() instead.\n */\n doTask(task: string, id: number | string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateItemByTask(task, id, url, data);\n }\n\n /**\n * Update a row with batch task.\n */\n updateRowByTask(task: string, row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.updateItemByTask(task, ch.value, url, data);\n }\n\n /**\n * Batch update items.\n */\n updateListByTask(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n data = data || {};\n data.task = task;\n\n return this.form.patch(url, data);\n }\n\n /**\n * @deprecated Use updateListByTask() instead.\n */\n batch(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateListByTask(task, url, data);\n }\n\n /**\n * @deprecated Use updateListByTask() instead.\n */\n updateByTask(task: string, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.updateListByTask(task, url, data);\n }\n\n /**\n * Copy a row.\n */\n copyItem(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n this.toggleAll(false);\n\n this.disableAllCheckboxes();\n\n this.form.injectInput('id[]', id);\n\n return this.form.post(url, data);\n }\n\n /**\n * Copy a row.\n */\n copyRow(row: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.copyItem(ch.value, url, data);\n }\n\n /**\n * Delete checked items.\n */\n deleteList(\n message?: Nullable<string> | false,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>\n ): boolean {\n if (!this.validateChecked()) {\n return false;\n }\n\n message = message == null ? __('unicorn.message.delete.confirm') : message;\n\n if (message !== false) {\n simpleConfirm(message).then(isConfirm => {\n if (isConfirm) {\n this.form.delete(url, data);\n }\n });\n } else {\n this.form.delete(url, data);\n }\n\n return true;\n }\n\n /**\n * Delete an item by row.\n */\n async deleteRow(\n row: number,\n msg?: Nullable<string>,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>\n ): Promise<boolean> {\n const ch = this.getCheckboxByRow(row);\n\n if (!ch) {\n return false;\n }\n\n return this.deleteItem(ch.value, msg, url, data);\n }\n\n /**\n * Delete an item.\n */\n async deleteItem(id: string,\n msg?: Nullable<string>,\n url?: Nullable<string>,\n data?: Nullable<Record<string, any>>): Promise<boolean> {\n msg = msg || __('unicorn.message.delete.confirm');\n\n const isConfirm = await deleteConfirm(msg);\n\n if (isConfirm) {\n // this.toggleAll(false);\n // this.checkRow(row);\n data = data || {};\n\n data.id = id;\n\n this.form.delete(url, data);\n }\n\n return isConfirm;\n }\n\n /**\n * Toggle all checkboxes.\n */\n toggleAll(value: boolean) {\n Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]')\n )\n .forEach((input) => {\n input.checked = value;\n\n input.dispatchEvent(new CustomEvent('input'));\n input.dispatchEvent(new CustomEvent('change'));\n });\n\n return this;\n }\n\n disableAllCheckboxes() {\n Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]')\n )\n .forEach((input) => {\n input.disabled = true;\n });\n }\n\n /**\n * Count checked checkboxes.\n */\n countChecked(): number {\n return this.getChecked().length;\n }\n\n /**\n * Get Checked boxes.\n */\n getChecked(): HTMLInputElement[] {\n return Array.from(\n this.element.querySelectorAll<HTMLInputElement>('input[data-role=grid-checkbox][type=checkbox]:checked')\n );\n }\n\n getCheckedValues(): string[] {\n return this.getChecked().map(input => input.value);\n }\n\n /**\n * Validate there has one or more checked boxes.\n */\n validateChecked(\n event?: Event,\n callback?: (grid: UnicornGridElement) => any,\n errorMsg: string | boolean | null | ((grid: UnicornGridElement) => any) = true\n ): this {\n if (!this.hasChecked()) {\n if (errorMsg === true) {\n errorMsg = this.getMustCheckedMessage();\n }\n\n if (typeof errorMsg === 'string' && errorMsg !== '') {\n simpleAlert(errorMsg);\n } else if (typeof errorMsg === 'function') {\n errorMsg(this);\n }\n\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n\n const target = event.currentTarget as HTMLElement;\n\n if (target.dataset.bsToggle === 'modal') {\n if (target.dataset.bsTarget) {\n this.preventBSModal(target.dataset.bsTarget);\n }\n }\n }\n\n return this;\n }\n\n if (callback) {\n callback(this);\n }\n\n return this;\n }\n\n async validateCheckedPromise() {\n if (!this.hasChecked()) {\n throw new Error('No items checked.');\n }\n\n return this;\n }\n\n getMustCheckedMessage(): string {\n return __('unicorn.message.grid.checked');\n }\n\n hasChecked(): boolean {\n return this.countChecked() > 0;\n }\n\n /**\n * Reorder all.\n */\n reorderAll(url?: Nullable<string>, data?: Nullable<Record<string, any>>) {\n return this.updateListByTask('reorder', url, data);\n }\n\n /**\n * Reorder items.\n */\n moveItem(id: number | string, delta: number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n data = data || {};\n data.delta = delta;\n\n return this.updateItemByTask('move', id, url, data);\n }\n\n moveUp(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.moveItem(id, -1, url, data);\n }\n\n moveDown(id: string | number, url?: Nullable<string>, data?: Nullable<Record<string, any>>): boolean {\n return this.moveItem(id, 1, url, data);\n }\n\n getId(suffix = '') {\n return this.form.element?.id + suffix;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AxiosStatic, { isAxiosError, AxiosError, isCancel } from "axios";
|
|
2
|
-
import {
|
|
2
|
+
import { ae as data, r as route } from "./unicorn.js";
|
|
3
3
|
function encodeReserved(str) {
|
|
4
4
|
return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
|
|
5
5
|
if (!/%[0-9A-Fa-f]/.test(part)) {
|
package/dist/chunks/index.js
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { g as getDefaultExportFromCjs } from "./_commonjsHelpers.js";
|
|
2
|
+
function _mergeNamespaces(n, m) {
|
|
3
|
+
for (var i = 0; i < m.length; i++) {
|
|
4
|
+
const e = m[i];
|
|
5
|
+
if (typeof e !== "string" && !Array.isArray(e)) {
|
|
6
|
+
for (const k in e) {
|
|
7
|
+
if (k !== "default" && !(k in n)) {
|
|
8
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
9
|
+
if (d) {
|
|
10
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: () => e[k]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
|
|
20
|
+
}
|
|
2
21
|
var monthSelect$1 = { exports: {} };
|
|
3
22
|
var monthSelect = /* @__PURE__ */ (() => monthSelect$1.exports)();
|
|
4
23
|
var hasRequiredMonthSelect;
|
|
@@ -285,10 +304,10 @@ function requireMonthSelect() {
|
|
|
285
304
|
}
|
|
286
305
|
var monthSelectExports = /* @__PURE__ */ requireMonthSelect();
|
|
287
306
|
const index = /* @__PURE__ */ getDefaultExportFromCjs(monthSelectExports);
|
|
288
|
-
const index$1 = /* @__PURE__ */
|
|
307
|
+
const index$1 = /* @__PURE__ */ _mergeNamespaces({
|
|
289
308
|
__proto__: null,
|
|
290
309
|
default: index
|
|
291
|
-
},
|
|
310
|
+
}, [monthSelectExports]);
|
|
292
311
|
export {
|
|
293
312
|
index$1 as i
|
|
294
313
|
};
|
package/dist/chunks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/flatpickr/dist/plugins/monthSelect/index.js"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n"],"names":["this","__assign","index"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../node_modules/flatpickr/dist/plugins/monthSelect/index.js"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n"],"names":["this","__assign","index"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/chunks/keep-tab.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Tab } from "bootstrap";
|
|
2
|
-
import { a as useUniDirective, z as module$1,
|
|
2
|
+
import { a as useUniDirective, z as module$1, a6 as mergeDeep, v as selectOne, al as sleep, w as selectAll } from "./unicorn.js";
|
|
3
3
|
const defaultOptions = {
|
|
4
4
|
tabItemSelector: "[data-toggle=tab],[data-bs-toggle=tab],[data-toggle=pill],[data-bs-toggle=pill]",
|
|
5
5
|
delay: 0
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as useUniDirective, x as getBoundedInstance, v as selectOne, u as useHttpClient, B as html,
|
|
1
|
+
import { a as useUniDirective, x as getBoundedInstance, v as selectOne, u as useHttpClient, B as html, a6 as mergeDeep } from "./unicorn.js";
|
|
2
2
|
const nope = () => {
|
|
3
3
|
};
|
|
4
4
|
const defaultOptions = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ah as Mixin, a6 as mergeDeep, aj as createQueue, u as useHttpClient, ai as EventMixin } from "./unicorn.js";
|
|
2
2
|
const defaultOptions = {
|
|
3
3
|
chunkSize: 5 * 1024 * 1024,
|
|
4
4
|
// 5MB
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ah as Mixin, ae as data, a6 as mergeDeep, u as useHttpClient, ai as EventMixin } from "./unicorn.js";
|
|
2
2
|
const instances = {};
|
|
3
3
|
function get(name, options = {}) {
|
|
4
4
|
return instances[name] ??= create(name, options);
|
package/dist/chunks/tinymce.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v as selectOne,
|
|
1
|
+
import { v as selectOne, a6 as mergeDeep, m as useStack, u as useHttpClient, ak as useScriptImport } from "./unicorn.js";
|
|
2
2
|
const instances = {};
|
|
3
3
|
let hooks = [];
|
|
4
4
|
let imported;
|