admins-components 9.0.46 → 9.0.48

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.
@@ -1,63 +1,63 @@
1
- import { castToDate as e, earlierOf as t, endOfDay as n, formatDate as r, laterOf as i, localToUTCString as a, parseDate as o, startOfDay as s, startOfWeek as c } from "./admins-components3.js";
2
- import l from "./admins-components6.js";
3
- import { calendarConfigDefaults as u, datePickerConfigDefaults as d, dateRangePickerConfigDefaults as f } from "./admins-components7.js";
4
- import p from "./admins-components11.js";
5
- import m from "./admins-components14.js";
6
- import { debounce as h } from "./admins-components15.js";
7
- import g from "./admins-components17.js";
8
- import _ from "./admins-components19.js";
9
- import v from "./admins-components22.js";
10
- import y from "./admins-components25.js";
11
- import b from "./admins-components28.js";
12
- import x from "./admins-components30.js";
13
- import S from "./admins-components34.js";
14
- import C from "./admins-components37.js";
15
- import w from "./admins-components40.js";
16
- import T from "./admins-components42.js";
17
- import E from "./admins-components45.js";
18
- import D from "./admins-components48.js";
19
- import O from "./admins-components50.js";
20
- import k from "./admins-components52.js";
21
- import { toast as A } from "./admins-components53.js";
22
- import j from "./admins-components56.js";
23
- import { dataCardsSettingsDefaults as M, dataListSettingsDefaults as N, dataTableSettingsDefaults as P } from "./admins-components58.js";
24
- import { booleanToString as F, dataListConverters as I, enumMap as L, formatCurrency as R, formatNumber as z, identity as B, listToString as V, localToLocalString as H, shortUuid as U, textEllipse as W, utcToLocalString as G } from "./admins-components60.js";
25
- import K from "./admins-components67.js";
26
- import q from "./admins-components70.js";
27
- import { deepMerge as J } from "./admins-components71.js";
28
- import Y from "./admins-components74.js";
29
- import { getFullStorageKey as X } from "./admins-components75.js";
30
- import { getDefaultPaginator as Z } from "./admins-components76.js";
31
- import Q from "./admins-components78.js";
32
- import { filterEmptyValues as $, getDefaultFilters as ee, getDefaultSavedFilter as te, getFilterUrlParams as ne, getSavedFilters as re, writeFilterParams as ie } from "./admins-components80.js";
33
- import ae from "./admins-components83.js";
34
- import oe from "./admins-components86.js";
35
- import se from "./admins-components89.js";
36
- import { getUrlParam as ce, joinUrl as le, removeUrlParam as ue, setUrlParam as de } from "./admins-components93.js";
37
- import { dataListDefaults as fe } from "./admins-components97.js";
38
- import pe from "./admins-components99.js";
39
- import { isIpInUrl as me } from "./admins-components100.js";
40
- import { getCurrentSite as he } from "./admins-components101.js";
41
- import { vTooltip as ge } from "./admins-components102.js";
42
- import { createNativeFetch as _e } from "./admins-components103.js";
43
- import { FetchDetails as ve, FetchError as ye, Methods as be, initRequest as xe } from "./admins-components104.js";
44
- import { useArticleEditorService as Se } from "./admins-components105.js";
45
- import { useCurrentUser as Ce } from "./admins-components106.js";
46
- import { BackendService as we, useBackendService as Te } from "./admins-components107.js";
47
- import { aoeConfig as Ee, configureArticleOfferElement as De } from "./admins-components160.js";
48
- import Oe from "./admins-components162.js";
49
- import { apeConfig as ke, configureArticlePickerElement as Ae } from "./admins-components163.js";
50
- import { configureImagePickerElement as je, ipeConfig as Me } from "./admins-components164.js";
51
- import Ne from "./admins-components166.js";
52
- import Pe from "./admins-components167.js";
53
- import { configureExternalArticleOfferElement as Fe, eaoeConfig as Ie } from "./admins-components168.js";
54
- import Le from "./admins-components169.js";
55
- import { configureGalleryImageSelectorElement as Re, gisConfig as ze } from "./admins-components170.js";
56
- import Be from "./admins-components171.js";
57
- import Ve from "./admins-components172.js";
58
- import He from "./admins-components173.js";
59
- import { configureInternalArticleOfferElement as Ue, iaoeConfig as We } from "./admins-components174.js";
60
- import Ge from "./admins-components175.js";
61
- import { configurePartnerPickerElement as Ke, ppeconfig as qe } from "./admins-components176.js";
62
- import Je from "./admins-components178.js";
63
- export { Oe as ArticleOfferElement, Ne as ArticlePickerElement, we as BackendService, l as Button, p as Calendar, _ as Checkbox, T as ConfirmModal, E as CopyToClipboard, q as DataCards, oe as DataFilters, pe as DataList, Y as DataListOptions, Q as DataPaginator, K as DataTable, m as DatePicker, v as DateRangePicker, Pe as DateTimePickerElement, x as DropdownMenu, b as DropdownSelect, O as ExternalArticleOffer, Le as ExternalArticleOfferElement, ve as FetchDetails, ye as FetchError, se as FilterTags, ae as FiltersHistory, Be as GalleryImageSelectorElement, C as HeaderComponent, D as ImagePicker, He as ImagePickerDetailsElement, Ve as ImagePickerElement, k as InternalArticleOffer, Ge as InternalArticleOfferElement, y as Loader, be as Methods, w as Modal, Je as PartnerPickerElement, S as Sidebar, g as TextInput, j as ToastNotification, Ee as aoeConfig, ke as apeConfig, F as booleanToString, u as calendarConfigDefaults, e as castToDate, De as configureArticleOfferElement, Ae as configureArticlePickerElement, Fe as configureExternalArticleOfferElement, Re as configureGalleryImageSelectorElement, je as configureImagePickerElement, Ue as configureInternalArticleOfferElement, Ke as configurePartnerPickerElement, _e as createNativeFetch, M as dataCardsSettingsDefaults, I as dataListConverters, fe as dataListDefaults, N as dataListSettingsDefaults, P as dataTableSettingsDefaults, d as datePickerConfigDefaults, f as dateRangePickerConfigDefaults, h as debounce, J as deepMerge, Ie as eaoeConfig, t as earlierOf, n as endOfDay, L as enumMap, $ as filterEmptyValues, R as formatCurrency, r as formatDate, z as formatNumber, he as getCurrentSite, ee as getDefaultFilters, Z as getDefaultPaginator, te as getDefaultSavedFilter, ne as getFilterUrlParams, X as getFullStorageKey, re as getSavedFilters, ce as getUrlParam, ze as gisConfig, We as iaoeConfig, B as identity, xe as initRequest, Me as ipeConfig, me as isIpInUrl, le as joinUrl, i as laterOf, V as listToString, H as localToLocalString, a as localToUTCString, o as parseDate, qe as ppeconfig, ue as removeUrlParam, de as setUrlParam, U as shortUuid, s as startOfDay, c as startOfWeek, W as textEllipse, A as toast, Se as useArticleEditorService, Te as useBackendService, Ce as useCurrentUser, G as utcToLocalString, ge as vTooltip, ie as writeFilterParams };
1
+ import { castToDate as e, earlierOf as t, endOfDay as n, formatDate as r, laterOf as i, localToUTCString as a, parseDate as o, startOfDay as s, startOfWeek as c, utcToString as l } from "./admins-components3.js";
2
+ import u from "./admins-components6.js";
3
+ import { calendarConfigDefaults as d, datePickerConfigDefaults as f, dateRangePickerConfigDefaults as p } from "./admins-components7.js";
4
+ import m from "./admins-components11.js";
5
+ import h from "./admins-components14.js";
6
+ import { debounce as g } from "./admins-components15.js";
7
+ import _ from "./admins-components17.js";
8
+ import v from "./admins-components19.js";
9
+ import y from "./admins-components22.js";
10
+ import b from "./admins-components25.js";
11
+ import x from "./admins-components28.js";
12
+ import S from "./admins-components30.js";
13
+ import C from "./admins-components34.js";
14
+ import w from "./admins-components37.js";
15
+ import T from "./admins-components40.js";
16
+ import E from "./admins-components42.js";
17
+ import D from "./admins-components45.js";
18
+ import O from "./admins-components48.js";
19
+ import k from "./admins-components50.js";
20
+ import A from "./admins-components52.js";
21
+ import { toast as j } from "./admins-components53.js";
22
+ import M from "./admins-components56.js";
23
+ import { dataCardsSettingsDefaults as N, dataListSettingsDefaults as P, dataTableSettingsDefaults as F } from "./admins-components58.js";
24
+ import { booleanToString as I, dataListConverters as L, enumMap as R, formatCurrency as z, formatNumber as B, identity as V, listToString as H, localToLocalString as U, shortUuid as W, textEllipse as G, utcToLocalString as K } from "./admins-components60.js";
25
+ import q from "./admins-components67.js";
26
+ import J from "./admins-components70.js";
27
+ import { deepMerge as Y } from "./admins-components71.js";
28
+ import X from "./admins-components74.js";
29
+ import { getFullStorageKey as Z } from "./admins-components75.js";
30
+ import { getDefaultPaginator as Q } from "./admins-components76.js";
31
+ import $ from "./admins-components78.js";
32
+ import { filterEmptyValues as ee, getDefaultFilters as te, getDefaultSavedFilter as ne, getFilterUrlParams as re, getSavedFilters as ie, writeFilterParams as ae } from "./admins-components80.js";
33
+ import oe from "./admins-components83.js";
34
+ import se from "./admins-components86.js";
35
+ import ce from "./admins-components89.js";
36
+ import { getUrlParam as le, joinUrl as ue, removeUrlParam as de, setUrlParam as fe } from "./admins-components93.js";
37
+ import { dataListDefaults as pe } from "./admins-components97.js";
38
+ import me from "./admins-components99.js";
39
+ import { isIpInUrl as he } from "./admins-components100.js";
40
+ import { getCurrentSite as ge } from "./admins-components101.js";
41
+ import { vTooltip as _e } from "./admins-components102.js";
42
+ import { createNativeFetch as ve } from "./admins-components103.js";
43
+ import { FetchDetails as ye, FetchError as be, Methods as xe, initRequest as Se } from "./admins-components104.js";
44
+ import { useArticleEditorService as Ce } from "./admins-components105.js";
45
+ import { useCurrentUser as we } from "./admins-components106.js";
46
+ import { BackendService as Te, useBackendService as Ee } from "./admins-components107.js";
47
+ import { aoeConfig as De, configureArticleOfferElement as Oe } from "./admins-components160.js";
48
+ import ke from "./admins-components162.js";
49
+ import { apeConfig as Ae, configureArticlePickerElement as je } from "./admins-components163.js";
50
+ import { configureImagePickerElement as Me, ipeConfig as Ne } from "./admins-components164.js";
51
+ import Pe from "./admins-components166.js";
52
+ import Fe from "./admins-components167.js";
53
+ import { configureExternalArticleOfferElement as Ie, eaoeConfig as Le } from "./admins-components168.js";
54
+ import Re from "./admins-components169.js";
55
+ import { configureGalleryImageSelectorElement as ze, gisConfig as Be } from "./admins-components170.js";
56
+ import Ve from "./admins-components171.js";
57
+ import He from "./admins-components172.js";
58
+ import Ue from "./admins-components173.js";
59
+ import { configureInternalArticleOfferElement as We, iaoeConfig as Ge } from "./admins-components174.js";
60
+ import Ke from "./admins-components175.js";
61
+ import { configurePartnerPickerElement as qe, ppeconfig as Je } from "./admins-components176.js";
62
+ import Ye from "./admins-components178.js";
63
+ export { ke as ArticleOfferElement, Pe as ArticlePickerElement, Te as BackendService, u as Button, m as Calendar, v as Checkbox, E as ConfirmModal, D as CopyToClipboard, J as DataCards, se as DataFilters, me as DataList, X as DataListOptions, $ as DataPaginator, q as DataTable, h as DatePicker, y as DateRangePicker, Fe as DateTimePickerElement, S as DropdownMenu, x as DropdownSelect, k as ExternalArticleOffer, Re as ExternalArticleOfferElement, ye as FetchDetails, be as FetchError, ce as FilterTags, oe as FiltersHistory, Ve as GalleryImageSelectorElement, w as HeaderComponent, O as ImagePicker, Ue as ImagePickerDetailsElement, He as ImagePickerElement, A as InternalArticleOffer, Ke as InternalArticleOfferElement, b as Loader, xe as Methods, T as Modal, Ye as PartnerPickerElement, C as Sidebar, _ as TextInput, M as ToastNotification, De as aoeConfig, Ae as apeConfig, I as booleanToString, d as calendarConfigDefaults, e as castToDate, Oe as configureArticleOfferElement, je as configureArticlePickerElement, Ie as configureExternalArticleOfferElement, ze as configureGalleryImageSelectorElement, Me as configureImagePickerElement, We as configureInternalArticleOfferElement, qe as configurePartnerPickerElement, ve as createNativeFetch, N as dataCardsSettingsDefaults, L as dataListConverters, pe as dataListDefaults, P as dataListSettingsDefaults, F as dataTableSettingsDefaults, f as datePickerConfigDefaults, p as dateRangePickerConfigDefaults, g as debounce, Y as deepMerge, Le as eaoeConfig, t as earlierOf, n as endOfDay, R as enumMap, ee as filterEmptyValues, z as formatCurrency, r as formatDate, B as formatNumber, ge as getCurrentSite, te as getDefaultFilters, Q as getDefaultPaginator, ne as getDefaultSavedFilter, re as getFilterUrlParams, Z as getFullStorageKey, ie as getSavedFilters, le as getUrlParam, Be as gisConfig, Ge as iaoeConfig, V as identity, Se as initRequest, Ne as ipeConfig, he as isIpInUrl, ue as joinUrl, i as laterOf, H as listToString, U as localToLocalString, a as localToUTCString, o as parseDate, Je as ppeconfig, de as removeUrlParam, fe as setUrlParam, W as shortUuid, s as startOfDay, c as startOfWeek, G as textEllipse, j as toast, Ce as useArticleEditorService, Ee as useBackendService, we as useCurrentUser, K as utcToLocalString, l as utcToString, _e as vTooltip, ae as writeFilterParams };
@@ -1,26 +1,26 @@
1
1
  import e from "./admins-components6.js";
2
2
  import t from "./admins-components25.js";
3
- import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, nextTick as u, normalizeClass as d, onBeforeUnmount as f, onMounted as ee, openBlock as p, ref as m, renderList as h, toDisplayString as g, watch as _, withModifiers as v } from "vue";
3
+ import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as ee, defineComponent as c, nextTick as l, normalizeClass as u, onBeforeUnmount as d, onMounted as f, openBlock as p, ref as m, renderList as h, toDisplayString as g, watch as _, withModifiers as v } from "vue";
4
4
  //#region src/components/DropdownSelect.vue?vue&type=script&setup=true&lang.ts
5
- var y = { class: "ac-component" }, te = {
5
+ var y = { class: "ac-component" }, b = ["aria-disabled"], te = {
6
6
  key: 0,
7
7
  class: "c-truncate ds-value"
8
8
  }, ne = {
9
9
  key: 1,
10
10
  class: "c-placeholder"
11
- }, re = {
11
+ }, x = {
12
12
  key: 0,
13
13
  class: "ds-filter"
14
- }, b = ["title"], x = ["value", "placeholder"], S = { class: "ds-options c-scroll" }, C = {
14
+ }, S = ["title"], C = ["value", "placeholder"], w = { class: "ds-options c-scroll" }, T = {
15
15
  key: 0,
16
16
  class: "ds-option ds-option--loading"
17
- }, w = ["onClick", "onKeydown"], T = ["innerHTML"], E = {
17
+ }, E = ["onClick", "onKeydown"], D = ["innerHTML"], O = {
18
18
  key: 0,
19
19
  class: "ds-option ds-option--empty"
20
- }, D = {
20
+ }, k = {
21
21
  key: 1,
22
22
  class: "c-footer"
23
- }, O = {
23
+ }, A = {
24
24
  placeholder: "Válassz...",
25
25
  filterable: !0,
26
26
  filterPlaceholder: "Kezdj el gépelni...",
@@ -30,36 +30,37 @@ var y = { class: "ac-component" }, te = {
30
30
  lazy: !1,
31
31
  loading: !1,
32
32
  size: "normal",
33
- highlight: !0
34
- }, k = /* @__PURE__ */ l({
33
+ highlight: !0,
34
+ disabled: !1
35
+ }, j = /* @__PURE__ */ c({
35
36
  __name: "DropdownSelect",
36
37
  props: {
37
38
  modelValue: { default: null },
38
39
  options: {},
39
- config: { default: () => ({ ...O }) }
40
+ config: { default: () => ({ ...A }) }
40
41
  },
41
42
  emits: ["update:modelValue", "filter-input"],
42
- setup(l, { expose: k, emit: A }) {
43
- let j = l, M = r(() => ({
44
- ...O,
45
- ...j.config
46
- })), N = A, P = m(!1), F = m(""), I = m(null), L = m(null), R = m([]), z = m(B(j.modelValue));
47
- function B(e) {
43
+ setup(c, { expose: j, emit: re }) {
44
+ let M = c, N = r(() => ({
45
+ ...A,
46
+ ...M.config
47
+ })), P = re, F = m(!1), I = m(""), L = m(null), R = m(null), z = m([]), B = m(V(M.modelValue));
48
+ function V(e) {
48
49
  return e == null ? [] : Array.isArray(e) ? [...e] : [e];
49
50
  }
50
- _(() => j.modelValue, (e) => {
51
- z.value = B(e);
52
- }), _(P, (e) => {
53
- e && (F.value = "", M.value.filterable && u(() => L.value?.focus()), M.value.lazy && (R.value = [...z.value]));
51
+ _(() => M.modelValue, (e) => {
52
+ B.value = V(e);
53
+ }), _(F, (e) => {
54
+ e && (I.value = "", N.value.filterable && l(() => R.value?.focus()), N.value.lazy && (z.value = [...B.value]));
54
55
  });
55
- function V(e) {
56
- F.value = e, N("filter-input", e);
56
+ function H(e) {
57
+ I.value = e, P("filter-input", e);
57
58
  }
58
- let H = r(() => z.value.length === 0 ? null : M.value.multiple ? z.value.length > 2 ? `${z.value.length} kiválasztva` : z.value.map((e) => j.options.find((t) => t.value === e)?.label ?? e).join(", ") : j.options.find((e) => e.value === z.value[0])?.label ?? null), U = r(() => {
59
- let e = F.value.toLowerCase();
60
- return e ? j.options.filter((t) => t.label.toLowerCase().includes(e)) : j.options;
59
+ let U = r(() => B.value.length === 0 ? null : N.value.multiple ? B.value.length > 2 ? `${B.value.length} kiválasztva` : B.value.map((e) => M.options.find((t) => t.value === e)?.label ?? e).join(", ") : M.options.find((e) => e.value === B.value[0])?.label ?? null), W = r(() => {
60
+ let e = I.value.toLowerCase();
61
+ return e ? M.options.filter((t) => t.label.toLowerCase().includes(e)) : M.options;
61
62
  });
62
- function W(e) {
63
+ function G(e) {
63
64
  return e.replace(/[&<>"']/g, (e) => ({
64
65
  "&": "&amp;",
65
66
  "<": "&lt;",
@@ -68,28 +69,28 @@ var y = { class: "ac-component" }, te = {
68
69
  "'": "&#39;"
69
70
  })[e]);
70
71
  }
71
- function G(e) {
72
- let t = F.value.trim();
73
- if (!t || !M.value.highlight) return W(e);
74
- let n = W(e), r = W(t), i = new RegExp(r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "ig");
72
+ function K(e) {
73
+ let t = I.value.trim();
74
+ if (!t || !N.value.highlight) return G(e);
75
+ let n = G(e), r = G(t), i = new RegExp(r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "ig");
75
76
  return n.replace(i, (e) => `<mark class="ds-option__highlight">${e}</mark>`);
76
77
  }
77
- let K = r(() => U.value.filter((e) => e.value)), q = r(() => {
78
- if (K.value.length === 0) return !1;
79
- let e = M.value.lazy && P.value ? R.value : z.value;
80
- return K.value.every((t) => t.value && e.includes(t.value));
78
+ let q = r(() => W.value.filter((e) => e.value)), J = r(() => {
79
+ if (q.value.length === 0) return !1;
80
+ let e = N.value.lazy && F.value ? z.value : B.value;
81
+ return q.value.every((t) => t.value && e.includes(t.value));
81
82
  });
82
- function J(e) {
83
- return (M.value.lazy && P.value ? R : z).value.includes(e);
83
+ function Y(e) {
84
+ return (N.value.lazy && F.value ? z : B).value.includes(e);
84
85
  }
85
- function Y() {
86
- let e = M.value.lazy && P.value ? R : z, t = K.value.map((e) => e.value);
87
- if (q.value) e.value = e.value.filter((e) => !t.includes(e));
86
+ function ie() {
87
+ let e = N.value.lazy && F.value ? z : B, t = q.value.map((e) => e.value);
88
+ if (J.value) e.value = e.value.filter((e) => !t.includes(e));
88
89
  else {
89
90
  let n = t.filter((t) => !e.value.includes(t));
90
91
  e.value = [...e.value, ...n];
91
92
  }
92
- M.value.lazy || N("update:modelValue", z.value.length > 0 ? [...z.value] : null);
93
+ N.value.lazy || P("update:modelValue", B.value.length > 0 ? [...B.value] : null);
93
94
  }
94
95
  function X(e, t) {
95
96
  let n = e.indexOf(t);
@@ -97,120 +98,122 @@ var y = { class: "ac-component" }, te = {
97
98
  }
98
99
  function Z(e) {
99
100
  if (e.callback) {
100
- e.callback(), P.value = !1;
101
+ e.callback(), F.value = !1;
101
102
  return;
102
103
  }
103
104
  let t = e.value;
104
- t && (M.value.multiple ? M.value.lazy ? R.value = X(R.value, t) : (z.value = X(z.value, t), N("update:modelValue", z.value.length > 0 ? [...z.value] : null)) : (z.value = [t], N("update:modelValue", t), P.value = !1));
105
+ t && (N.value.multiple ? N.value.lazy ? z.value = X(z.value, t) : (B.value = X(B.value, t), P("update:modelValue", B.value.length > 0 ? [...B.value] : null)) : (B.value = [t], P("update:modelValue", t), F.value = !1));
105
106
  }
106
107
  function Q() {
107
- M.value.lazy && (z.value = [...R.value], N("update:modelValue", R.value.length > 0 ? [...R.value] : null)), P.value = !1;
108
+ N.value.lazy && (B.value = [...z.value], P("update:modelValue", z.value.length > 0 ? [...z.value] : null)), F.value = !1;
108
109
  }
109
- function ie() {
110
- M.value.lazy ? R.value = [] : (z.value = [], N("update:modelValue", null));
110
+ function ae() {
111
+ N.value.lazy ? z.value = [] : (B.value = [], P("update:modelValue", null));
111
112
  }
112
- function ae(e, t) {
113
+ function oe(e, t) {
113
114
  e.key === " " ? (e.preventDefault(), Z(t)) : e.key === "Enter" && (e.preventDefault(), Q());
114
115
  }
115
116
  function $(e) {
116
- I.value && !I.value.contains(e.target) && (P.value = !1);
117
+ L.value && !L.value.contains(e.target) && (F.value = !1);
117
118
  }
118
- ee(() => document.addEventListener("mousedown", $)), f(() => {
119
+ f(() => document.addEventListener("mousedown", $)), d(() => {
119
120
  document.removeEventListener("mousedown", $);
120
121
  });
121
- function oe() {
122
- P.value = !P.value, P.value && M.value.filterable && (F.value = "", N("filter-input", ""));
123
- }
124
122
  function se() {
125
- z.value = [], N("update:modelValue", null), P.value = !1;
123
+ N.value.disabled || (F.value = !F.value, F.value && N.value.filterable && (I.value = "", P("filter-input", "")));
126
124
  }
127
125
  function ce() {
128
- P.value = !0, M.value.filterable && u(() => L.value?.focus());
126
+ N.value.disabled || (B.value = [], P("update:modelValue", null), F.value = !1);
129
127
  }
130
128
  function le() {
131
- F.value = "", N("filter-input", "");
129
+ N.value.disabled || (F.value = !0, N.value.filterable && l(() => R.value?.focus()));
130
+ }
131
+ function ue() {
132
+ I.value = "", P("filter-input", "");
132
133
  }
133
- return k({ focusAndOpen: ce }), (r, l) => (p(), o("div", y, [s("div", {
134
+ return j({ focusAndOpen: le }), (r, c) => (p(), o("div", y, [s("div", {
134
135
  ref_key: "wrapperRef",
135
- ref: I,
136
+ ref: L,
136
137
  class: "c-wrapper ds-wrapper"
137
138
  }, [s("div", {
138
- class: d(["c-input-row pointer", {
139
- "c-input-row--sm": M.value.size === "small",
140
- "c-input-row--lg": M.value.size === "large"
139
+ class: u(["c-input-row pointer", {
140
+ "c-input-row--sm": N.value.size === "small",
141
+ "c-input-row--lg": N.value.size === "large",
142
+ "c-input-row--disabled": N.value.disabled
141
143
  }]),
142
- onClick: l[1] ||= (e) => oe()
144
+ "aria-disabled": N.value.disabled || void 0,
145
+ onClick: c[1] ||= (e) => se()
143
146
  }, [
144
- H.value ? (p(), o("span", te, g(H.value), 1)) : (p(), o("span", ne, g(M.value.placeholder), 1)),
145
- M.value.clearable && z.value.length > 0 ? (p(), o("button", {
147
+ U.value ? (p(), o("span", te, g(U.value), 1)) : (p(), o("span", ne, g(N.value.placeholder), 1)),
148
+ N.value.clearable && B.value.length > 0 ? (p(), o("button", {
146
149
  key: 2,
147
150
  type: "button",
148
151
  class: "c-icon-btn c-icon-btn--clear ds-clear-btn",
149
- onClick: l[0] ||= v((e) => se(), ["stop"]),
152
+ onClick: c[0] ||= v((e) => ce(), ["stop"]),
150
153
  "aria-label": "Törlés"
151
- }, [...l[6] ||= [s("i", { class: "fa-solid fa-fw fa-xmark" }, null, -1)]])) : a("", !0),
152
- s("span", { class: d(["c-icon-btn c-icon-btn--chevron mr-2", { "c-icon-btn--chevron-open": P.value }]) }, [...l[7] ||= [s("i", { class: "fa-solid fa-fw fa-chevron-down" }, null, -1)]], 2)
153
- ], 2), P.value ? (p(), o("div", {
154
+ }, [...c[6] ||= [s("i", { class: "fa-solid fa-fw fa-xmark" }, null, -1)]])) : a("", !0),
155
+ s("span", { class: u(["c-icon-btn c-icon-btn--chevron mr-2", { "c-icon-btn--chevron-open": F.value }]) }, [...c[7] ||= [s("i", { class: "fa-solid fa-fw fa-chevron-down" }, null, -1)]], 2)
156
+ ], 10, b), F.value ? (p(), o("div", {
154
157
  key: 0,
155
- class: d(["c-dropdown ds-dropdown ac-component", { "ds-dropdown--multiple": M.value.multiple }])
158
+ class: u(["c-dropdown ds-dropdown ac-component", { "ds-dropdown--multiple": N.value.multiple }])
156
159
  }, [
157
- M.value.filterable ? (p(), o("div", re, [
158
- M.value.multiple ? (p(), o("span", {
160
+ N.value.filterable ? (p(), o("div", x, [
161
+ N.value.multiple ? (p(), o("span", {
159
162
  key: 0,
160
- class: d(["c-checkbox ds-select-all-checkbox", { "c-checkbox--checked": q.value }]),
161
- onClick: l[2] ||= v((e) => Y(), ["stop"]),
162
- title: q.value ? "Összes kijelölés törlése" : "Összes kijelölése"
163
- }, null, 10, b)) : a("", !0),
163
+ class: u(["c-checkbox ds-select-all-checkbox", { "c-checkbox--checked": J.value }]),
164
+ onClick: c[2] ||= v((e) => ie(), ["stop"]),
165
+ title: J.value ? "Összes kijelölés törlése" : "Összes kijelölése"
166
+ }, null, 10, S)) : a("", !0),
164
167
  s("input", {
165
168
  ref_key: "filterInputRef",
166
- ref: L,
169
+ ref: R,
167
170
  type: "text",
168
171
  id: "ds-filter-input",
169
172
  class: "c-focus ds-filter-input",
170
- value: F.value,
171
- onInput: l[3] ||= (e) => V(e.target.value),
173
+ value: I.value,
174
+ onInput: c[3] ||= (e) => H(e.target.value),
172
175
  autocomplete: "off",
173
- placeholder: M.value.filterPlaceholder,
174
- onClick: l[4] ||= v(() => {}, ["stop"])
175
- }, null, 40, x),
176
- F.value ? (p(), o("button", {
176
+ placeholder: N.value.filterPlaceholder,
177
+ onClick: c[4] ||= v(() => {}, ["stop"])
178
+ }, null, 40, C),
179
+ I.value ? (p(), o("button", {
177
180
  key: 1,
178
181
  type: "button",
179
182
  class: "c-icon-btn c-icon-btn--clear ds-filter-clear",
180
- onClick: l[5] ||= v((e) => le(), ["stop"]),
183
+ onClick: c[5] ||= v((e) => ue(), ["stop"]),
181
184
  "aria-label": "Szűrők törlése"
182
- }, [...l[8] ||= [s("i", { class: "fa-solid fa-xmark" }, null, -1)]])) : a("", !0)
185
+ }, [...c[8] ||= [s("i", { class: "fa-solid fa-xmark" }, null, -1)]])) : a("", !0)
183
186
  ])) : a("", !0),
184
- s("ul", S, [M.value.loading ? (p(), o("li", C, [c(t, {
187
+ s("ul", w, [N.value.loading ? (p(), o("li", T, [ee(t, {
185
188
  size: "2rem",
186
189
  color: "var(--neutral-300)",
187
190
  class: "m-auto p-3"
188
- })])) : (p(), o(n, { key: 1 }, [(p(!0), o(n, null, h(U.value, (e, t) => (p(), o("li", {
191
+ })])) : (p(), o(n, { key: 1 }, [(p(!0), o(n, null, h(W.value, (e, t) => (p(), o("li", {
189
192
  key: e.value ?? `cb-${t}`,
190
- class: d(["d-option ds-option", { "ds-option--selected": e.value && J(e.value) }]),
193
+ class: u(["d-option ds-option", { "ds-option--selected": e.value && Y(e.value) }]),
191
194
  tabindex: "0",
192
195
  onClick: (t) => Z(e),
193
- onKeydown: (t) => ae(t, e)
196
+ onKeydown: (t) => oe(t, e)
194
197
  }, [
195
- M.value.multiple && e.value ? (p(), o("span", {
198
+ N.value.multiple && e.value ? (p(), o("span", {
196
199
  key: 0,
197
- class: d(["c-checkbox", { "c-checkbox--checked": J(e.value) }])
200
+ class: u(["c-checkbox", { "c-checkbox--checked": Y(e.value) }])
198
201
  }, null, 2)) : a("", !0),
199
202
  e.icon ? (p(), o("i", {
200
203
  key: 1,
201
- class: d(["fa-fw", e.icon])
204
+ class: u(["fa-fw", e.icon])
202
205
  }, null, 2)) : a("", !0),
203
206
  s("span", {
204
- class: d(["d-option__label", { "c-truncate": M.value.textEllipsis }]),
205
- innerHTML: G(e.label)
206
- }, null, 10, T)
207
- ], 42, w))), 128)), U.value.length === 0 ? (p(), o("li", E, " Nincs találat ")) : a("", !0)], 64))]),
208
- M.value.multiple || M.value.clearable && z.value.length > 0 ? (p(), o("div", D, [M.value.clearable ? (p(), i(e, {
207
+ class: u(["d-option__label", { "c-truncate": N.value.textEllipsis }]),
208
+ innerHTML: K(e.label)
209
+ }, null, 10, D)
210
+ ], 42, E))), 128)), W.value.length === 0 ? (p(), o("li", O, " Nincs találat ")) : a("", !0)], 64))]),
211
+ N.value.multiple || N.value.clearable && B.value.length > 0 ? (p(), o("div", k, [N.value.clearable ? (p(), i(e, {
209
212
  key: 0,
210
213
  label: "Törlés",
211
214
  outline: "",
212
- onClick: ie
213
- })) : a("", !0), M.value.multiple ? (p(), i(e, {
215
+ onClick: ae
216
+ })) : a("", !0), N.value.multiple ? (p(), i(e, {
214
217
  key: 1,
215
218
  label: "OK",
216
219
  type: "success",
@@ -220,4 +223,4 @@ var y = { class: "ac-component" }, te = {
220
223
  }
221
224
  });
222
225
  //#endregion
223
- export { k as default, O as dropdownSelectConfigDefaults };
226
+ export { j as default, A as dropdownSelectConfigDefaults };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components26.js","names":[],"sources":["../src/components/DropdownSelect.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface DropdownSelectConfig {\n placeholder?: string\n filterable?: boolean\n filterPlaceholder?: string\n clearable?: boolean\n textEllipsis?: boolean\n multiple?: boolean\n lazy?: boolean\n size?: ControlSize\n loading?: boolean\n highlight?: boolean\n}\n\nexport const dropdownSelectConfigDefaults: DropdownSelectConfig = {\n placeholder: 'Válassz...',\n filterable: true,\n filterPlaceholder: 'Kezdj el gépelni...',\n clearable: true,\n textEllipsis: true,\n multiple: false,\n lazy: false,\n loading: false,\n size: 'normal' as ControlSize,\n highlight: true,\n}\n\nexport interface DropdownOption {\n icon?: string\n value?: string\n label: string\n callback?: () => void\n}\n\nexport interface DropdownSelectProps {\n modelValue?: string | string[] | null\n options: DropdownOption[]\n config?: DropdownSelectConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, nextTick, onMounted, onBeforeUnmount } from 'vue'\nimport Button from '@/components/Button.vue'\nimport type { ControlSize } from '@/types/types'\nimport Loader from '@/components/Loader.vue'\n\nconst props = withDefaults(defineProps<DropdownSelectProps>(), {\n modelValue: null,\n config: () => ({ ...dropdownSelectConfigDefaults }),\n})\n\nconst cfg = computed(() => ({ ...dropdownSelectConfigDefaults, ...props.config }))\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | null]\n 'filter-input': [filterText: string]\n}>()\n\nconst isOpen = ref(false)\nconst filterText = ref('')\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst filterInputRef = ref<HTMLInputElement | null>(null)\nconst buffer = ref<string[]>([])\nconst selection = ref<string[]>(toArray(props.modelValue))\n\nfunction toArray(val: string | string[] | null | undefined): string[] {\n if (val == null) return []\n return Array.isArray(val) ? [...val] : [val]\n}\n\nwatch(\n () => props.modelValue,\n (v) => {\n selection.value = toArray(v)\n },\n)\n\nwatch(isOpen, (open) => {\n if (open) {\n filterText.value = ''\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n if (cfg.value.lazy) buffer.value = [...selection.value]\n }\n})\n\nfunction onFilterInput(text: string) {\n filterText.value = text\n emit('filter-input', text)\n //debouncedEmit(text)\n}\n\n/* const debouncedEmit = debounce((raw: string) => {\n emit('filter-input', raw)\n}) */\n\n// Display\nconst selectedLabel = computed(() => {\n if (selection.value.length === 0) return null\n if (!cfg.value.multiple)\n return props.options.find((o) => o.value === selection.value[0])?.label ?? null\n if (selection.value.length > 2) return `${selection.value.length} kiválasztva`\n return selection.value.map((v) => props.options.find((o) => o.value === v)?.label ?? v).join(', ')\n})\n\nconst filteredOptions = computed(() => {\n const q = filterText.value.toLowerCase()\n return q ? props.options.filter((o) => o.label.toLowerCase().includes(q)) : props.options\n})\n\nfunction escapeHtml(str: string) {\n return str.replace(\n /[&<>\"']/g,\n (m) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[m]!,\n )\n}\n\nfunction highlight(label: string) {\n const q = filterText.value.trim()\n if (!q || !cfg.value.highlight) return escapeHtml(label)\n\n const safeLabel = escapeHtml(label)\n const safeQ = escapeHtml(q)\n\n const re = new RegExp(safeQ.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'ig')\n return safeLabel.replace(re, (m) => `<mark class=\"ds-option__highlight\">${m}</mark>`)\n}\n\nconst selectableOptions = computed(() => {\n return filteredOptions.value.filter((o) => o.value)\n})\n\nconst allOptionsSelected = computed(() => {\n if (selectableOptions.value.length === 0) return false\n const currentList = cfg.value.lazy && isOpen.value ? buffer.value : selection.value\n return selectableOptions.value.every((o) => o.value && currentList.includes(o.value))\n})\n\nfunction isSelected(value: string): boolean {\n return (cfg.value.lazy && isOpen.value ? buffer : selection).value.includes(value)\n}\n\nfunction toggleAllOptions() {\n const currentList = cfg.value.lazy && isOpen.value ? buffer : selection\n const selectableValues = selectableOptions.value.map((o) => o.value as string)\n\n if (allOptionsSelected.value) {\n currentList.value = currentList.value.filter((v) => !selectableValues.includes(v))\n } else {\n const toAdd = selectableValues.filter((v) => !currentList.value.includes(v))\n currentList.value = [...currentList.value, ...toAdd]\n }\n\n if (!cfg.value.lazy) {\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n}\n\n// Actions\nfunction toggleList(list: string[], value: string): string[] {\n const idx = list.indexOf(value)\n return idx >= 0 ? list.filter((_, i) => i !== idx) : [...list, value]\n}\n\nfunction selectOption(opt: DropdownOption) {\n if (opt.callback) {\n opt.callback()\n isOpen.value = false\n return\n }\n\n const value = opt.value\n if (!value) return\n\n if (cfg.value.multiple) {\n if (cfg.value.lazy) {\n buffer.value = toggleList(buffer.value, value)\n } else {\n selection.value = toggleList(selection.value, value)\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n } else {\n selection.value = [value]\n emit('update:modelValue', value)\n isOpen.value = false\n }\n}\n\nfunction confirm() {\n if (cfg.value.lazy) {\n selection.value = [...buffer.value]\n emit('update:modelValue', buffer.value.length > 0 ? [...buffer.value] : null)\n }\n isOpen.value = false\n}\n\nfunction clear() {\n if (cfg.value.lazy) {\n buffer.value = []\n } else {\n selection.value = []\n emit('update:modelValue', null)\n }\n}\n\nfunction onOptionKeydown(e: KeyboardEvent, opt: DropdownOption) {\n if (e.key === ' ') {\n e.preventDefault()\n selectOption(opt)\n } else if (e.key === 'Enter') {\n e.preventDefault()\n confirm()\n }\n}\n\nfunction onClickOutside(e: MouseEvent) {\n if (wrapperRef.value && !wrapperRef.value.contains(e.target as Node)) isOpen.value = false\n}\n\nonMounted(() => document.addEventListener('mousedown', onClickOutside))\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', onClickOutside)\n})\n\nfunction toggleOpen() {\n isOpen.value = !isOpen.value\n if (isOpen.value) {\n if (cfg.value.filterable) {\n filterText.value = ''\n emit('filter-input', '')\n }\n }\n}\n\nfunction clearInput() {\n selection.value = []\n emit('update:modelValue', null)\n isOpen.value = false\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n}\n\nfunction handleFilterClear() {\n filterText.value = ''\n emit('filter-input', '')\n}\n\ndefineExpose({ focusAndOpen })\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"wrapperRef\" class=\"c-wrapper ds-wrapper\">\n <div\n class=\"c-input-row pointer\"\n :class=\"{\n 'c-input-row--sm': cfg.size === 'small',\n 'c-input-row--lg': cfg.size === 'large',\n }\"\n @click=\"toggleOpen()\"\n >\n <span v-if=\"selectedLabel\" class=\"c-truncate ds-value\">{{ selectedLabel }}</span>\n <span v-else class=\"c-placeholder\">{{ cfg.placeholder }}</span>\n <button\n v-if=\"cfg.clearable && selection.length > 0\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-clear-btn\"\n @click.stop=\"clearInput()\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <span\n class=\"c-icon-btn c-icon-btn--chevron mr-2\"\n :class=\"{ 'c-icon-btn--chevron-open': isOpen }\"\n >\n <i class=\"fa-solid fa-fw fa-chevron-down\"></i>\n </span>\n </div>\n\n <div\n v-if=\"isOpen\"\n class=\"c-dropdown ds-dropdown ac-component\"\n :class=\"{ 'ds-dropdown--multiple': cfg.multiple }\"\n >\n <div v-if=\"cfg.filterable\" class=\"ds-filter\">\n <span\n v-if=\"cfg.multiple\"\n class=\"c-checkbox ds-select-all-checkbox\"\n :class=\"{ 'c-checkbox--checked': allOptionsSelected }\"\n @click.stop=\"toggleAllOptions()\"\n :title=\"allOptionsSelected ? 'Összes kijelölés törlése' : 'Összes kijelölése'\"\n ></span>\n <input\n ref=\"filterInputRef\"\n type=\"text\"\n id=\"ds-filter-input\"\n class=\"c-focus ds-filter-input\"\n :value=\"filterText\"\n @input=\"onFilterInput(($event.target as HTMLInputElement).value)\"\n autocomplete=\"off\"\n :placeholder=\"cfg.filterPlaceholder\"\n @click.stop\n />\n <button\n v-if=\"filterText\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-filter-clear\"\n @click.stop=\"handleFilterClear()\"\n aria-label=\"Szűrők törlése\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <ul class=\"ds-options c-scroll\">\n <li v-if=\"cfg.loading\" class=\"ds-option ds-option--loading\">\n <Loader size=\"2rem\" color=\"var(--neutral-300)\" class=\"m-auto p-3\" />\n </li>\n <template v-else>\n <li\n v-for=\"(opt, idx) in filteredOptions\"\n :key=\"opt.value ?? `cb-${idx}`\"\n class=\"d-option ds-option\"\n :class=\"{ 'ds-option--selected': opt.value && isSelected(opt.value) }\"\n tabindex=\"0\"\n @click=\"selectOption(opt)\"\n @keydown=\"onOptionKeydown($event, opt)\"\n >\n <span\n v-if=\"cfg.multiple && opt.value\"\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': isSelected(opt.value) }\"\n ></span>\n <i v-if=\"opt.icon\" class=\"fa-fw\" :class=\"opt.icon\"></i>\n <span\n class=\"d-option__label\"\n :class=\"{ 'c-truncate': cfg.textEllipsis }\"\n v-html=\"highlight(opt.label)\"\n ></span>\n </li>\n <li v-if=\"filteredOptions.length === 0\" class=\"ds-option ds-option--empty\">\n Nincs találat\n </li>\n </template>\n </ul>\n\n <div v-if=\"cfg.multiple || (cfg.clearable && selection.length > 0)\" class=\"c-footer\">\n <Button v-if=\"cfg.clearable\" label=\"Törlés\" outline @click=\"clear\" />\n <Button v-if=\"cfg.multiple\" label=\"OK\" type=\"success\" @click=\"confirm\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/dropdown-select.scss\"></style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components26.js","names":[],"sources":["../src/components/DropdownSelect.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface DropdownSelectConfig {\n placeholder?: string\n filterable?: boolean\n filterPlaceholder?: string\n clearable?: boolean\n textEllipsis?: boolean\n multiple?: boolean\n lazy?: boolean\n size?: ControlSize\n loading?: boolean\n highlight?: boolean\n disabled?: boolean\n}\n\nexport const dropdownSelectConfigDefaults: DropdownSelectConfig = {\n placeholder: 'Válassz...',\n filterable: true,\n filterPlaceholder: 'Kezdj el gépelni...',\n clearable: true,\n textEllipsis: true,\n multiple: false,\n lazy: false,\n loading: false,\n size: 'normal' as ControlSize,\n highlight: true,\n disabled: false,\n}\n\nexport interface DropdownOption {\n icon?: string\n value?: string\n label: string\n callback?: () => void\n}\n\nexport interface DropdownSelectProps {\n modelValue?: string | string[] | null\n options: DropdownOption[]\n config?: DropdownSelectConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, nextTick, onMounted, onBeforeUnmount } from 'vue'\nimport Button from '@/components/Button.vue'\nimport type { ControlSize } from '@/types/types'\nimport Loader from '@/components/Loader.vue'\n\nconst props = withDefaults(defineProps<DropdownSelectProps>(), {\n modelValue: null,\n config: () => ({ ...dropdownSelectConfigDefaults }),\n})\n\nconst cfg = computed(() => ({ ...dropdownSelectConfigDefaults, ...props.config }))\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | null]\n 'filter-input': [filterText: string]\n}>()\n\nconst isOpen = ref(false)\nconst filterText = ref('')\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst filterInputRef = ref<HTMLInputElement | null>(null)\nconst buffer = ref<string[]>([])\nconst selection = ref<string[]>(toArray(props.modelValue))\n\nfunction toArray(val: string | string[] | null | undefined): string[] {\n if (val == null) return []\n return Array.isArray(val) ? [...val] : [val]\n}\n\nwatch(\n () => props.modelValue,\n (v) => {\n selection.value = toArray(v)\n },\n)\n\nwatch(isOpen, (open) => {\n if (open) {\n filterText.value = ''\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n if (cfg.value.lazy) buffer.value = [...selection.value]\n }\n})\n\nfunction onFilterInput(text: string) {\n filterText.value = text\n emit('filter-input', text)\n //debouncedEmit(text)\n}\n\n/* const debouncedEmit = debounce((raw: string) => {\n emit('filter-input', raw)\n}) */\n\n// Display\nconst selectedLabel = computed(() => {\n if (selection.value.length === 0) return null\n if (!cfg.value.multiple)\n return props.options.find((o) => o.value === selection.value[0])?.label ?? null\n if (selection.value.length > 2) return `${selection.value.length} kiválasztva`\n return selection.value.map((v) => props.options.find((o) => o.value === v)?.label ?? v).join(', ')\n})\n\nconst filteredOptions = computed(() => {\n const q = filterText.value.toLowerCase()\n return q ? props.options.filter((o) => o.label.toLowerCase().includes(q)) : props.options\n})\n\nfunction escapeHtml(str: string) {\n return str.replace(\n /[&<>\"']/g,\n (m) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[m]!,\n )\n}\n\nfunction highlight(label: string) {\n const q = filterText.value.trim()\n if (!q || !cfg.value.highlight) return escapeHtml(label)\n\n const safeLabel = escapeHtml(label)\n const safeQ = escapeHtml(q)\n\n const re = new RegExp(safeQ.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'ig')\n return safeLabel.replace(re, (m) => `<mark class=\"ds-option__highlight\">${m}</mark>`)\n}\n\nconst selectableOptions = computed(() => {\n return filteredOptions.value.filter((o) => o.value)\n})\n\nconst allOptionsSelected = computed(() => {\n if (selectableOptions.value.length === 0) return false\n const currentList = cfg.value.lazy && isOpen.value ? buffer.value : selection.value\n return selectableOptions.value.every((o) => o.value && currentList.includes(o.value))\n})\n\nfunction isSelected(value: string): boolean {\n return (cfg.value.lazy && isOpen.value ? buffer : selection).value.includes(value)\n}\n\nfunction toggleAllOptions() {\n const currentList = cfg.value.lazy && isOpen.value ? buffer : selection\n const selectableValues = selectableOptions.value.map((o) => o.value as string)\n\n if (allOptionsSelected.value) {\n currentList.value = currentList.value.filter((v) => !selectableValues.includes(v))\n } else {\n const toAdd = selectableValues.filter((v) => !currentList.value.includes(v))\n currentList.value = [...currentList.value, ...toAdd]\n }\n\n if (!cfg.value.lazy) {\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n}\n\n// Actions\nfunction toggleList(list: string[], value: string): string[] {\n const idx = list.indexOf(value)\n return idx >= 0 ? list.filter((_, i) => i !== idx) : [...list, value]\n}\n\nfunction selectOption(opt: DropdownOption) {\n if (opt.callback) {\n opt.callback()\n isOpen.value = false\n return\n }\n\n const value = opt.value\n if (!value) return\n\n if (cfg.value.multiple) {\n if (cfg.value.lazy) {\n buffer.value = toggleList(buffer.value, value)\n } else {\n selection.value = toggleList(selection.value, value)\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n } else {\n selection.value = [value]\n emit('update:modelValue', value)\n isOpen.value = false\n }\n}\n\nfunction confirm() {\n if (cfg.value.lazy) {\n selection.value = [...buffer.value]\n emit('update:modelValue', buffer.value.length > 0 ? [...buffer.value] : null)\n }\n isOpen.value = false\n}\n\nfunction clear() {\n if (cfg.value.lazy) {\n buffer.value = []\n } else {\n selection.value = []\n emit('update:modelValue', null)\n }\n}\n\nfunction onOptionKeydown(e: KeyboardEvent, opt: DropdownOption) {\n if (e.key === ' ') {\n e.preventDefault()\n selectOption(opt)\n } else if (e.key === 'Enter') {\n e.preventDefault()\n confirm()\n }\n}\n\nfunction onClickOutside(e: MouseEvent) {\n if (wrapperRef.value && !wrapperRef.value.contains(e.target as Node)) isOpen.value = false\n}\n\nonMounted(() => document.addEventListener('mousedown', onClickOutside))\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', onClickOutside)\n})\n\nfunction toggleOpen() {\n if (cfg.value.disabled) return\n isOpen.value = !isOpen.value\n if (isOpen.value) {\n if (cfg.value.filterable) {\n filterText.value = ''\n emit('filter-input', '')\n }\n }\n}\n\nfunction clearInput() {\n if (cfg.value.disabled) return\n selection.value = []\n emit('update:modelValue', null)\n isOpen.value = false\n}\n\nfunction focusAndOpen() {\n if (cfg.value.disabled) return\n isOpen.value = true\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n}\n\nfunction handleFilterClear() {\n filterText.value = ''\n emit('filter-input', '')\n}\n\ndefineExpose({ focusAndOpen })\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"wrapperRef\" class=\"c-wrapper ds-wrapper\">\n <div\n class=\"c-input-row pointer\"\n :class=\"{\n 'c-input-row--sm': cfg.size === 'small',\n 'c-input-row--lg': cfg.size === 'large',\n 'c-input-row--disabled': cfg.disabled,\n }\"\n :aria-disabled=\"cfg.disabled || undefined\"\n @click=\"toggleOpen()\"\n >\n <span v-if=\"selectedLabel\" class=\"c-truncate ds-value\">{{ selectedLabel }}</span>\n <span v-else class=\"c-placeholder\">{{ cfg.placeholder }}</span>\n <button\n v-if=\"cfg.clearable && selection.length > 0\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-clear-btn\"\n @click.stop=\"clearInput()\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <span\n class=\"c-icon-btn c-icon-btn--chevron mr-2\"\n :class=\"{ 'c-icon-btn--chevron-open': isOpen }\"\n >\n <i class=\"fa-solid fa-fw fa-chevron-down\"></i>\n </span>\n </div>\n\n <div\n v-if=\"isOpen\"\n class=\"c-dropdown ds-dropdown ac-component\"\n :class=\"{ 'ds-dropdown--multiple': cfg.multiple }\"\n >\n <div v-if=\"cfg.filterable\" class=\"ds-filter\">\n <span\n v-if=\"cfg.multiple\"\n class=\"c-checkbox ds-select-all-checkbox\"\n :class=\"{ 'c-checkbox--checked': allOptionsSelected }\"\n @click.stop=\"toggleAllOptions()\"\n :title=\"allOptionsSelected ? 'Összes kijelölés törlése' : 'Összes kijelölése'\"\n ></span>\n <input\n ref=\"filterInputRef\"\n type=\"text\"\n id=\"ds-filter-input\"\n class=\"c-focus ds-filter-input\"\n :value=\"filterText\"\n @input=\"onFilterInput(($event.target as HTMLInputElement).value)\"\n autocomplete=\"off\"\n :placeholder=\"cfg.filterPlaceholder\"\n @click.stop\n />\n <button\n v-if=\"filterText\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-filter-clear\"\n @click.stop=\"handleFilterClear()\"\n aria-label=\"Szűrők törlése\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <ul class=\"ds-options c-scroll\">\n <li v-if=\"cfg.loading\" class=\"ds-option ds-option--loading\">\n <Loader size=\"2rem\" color=\"var(--neutral-300)\" class=\"m-auto p-3\" />\n </li>\n <template v-else>\n <li\n v-for=\"(opt, idx) in filteredOptions\"\n :key=\"opt.value ?? `cb-${idx}`\"\n class=\"d-option ds-option\"\n :class=\"{ 'ds-option--selected': opt.value && isSelected(opt.value) }\"\n tabindex=\"0\"\n @click=\"selectOption(opt)\"\n @keydown=\"onOptionKeydown($event, opt)\"\n >\n <span\n v-if=\"cfg.multiple && opt.value\"\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': isSelected(opt.value) }\"\n ></span>\n <i v-if=\"opt.icon\" class=\"fa-fw\" :class=\"opt.icon\"></i>\n <span\n class=\"d-option__label\"\n :class=\"{ 'c-truncate': cfg.textEllipsis }\"\n v-html=\"highlight(opt.label)\"\n ></span>\n </li>\n <li v-if=\"filteredOptions.length === 0\" class=\"ds-option ds-option--empty\">\n Nincs találat\n </li>\n </template>\n </ul>\n\n <div v-if=\"cfg.multiple || (cfg.clearable && selection.length > 0)\" class=\"c-footer\">\n <Button v-if=\"cfg.clearable\" label=\"Törlés\" outline @click=\"clear\" />\n <Button v-if=\"cfg.multiple\" label=\"OK\" type=\"success\" @click=\"confirm\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/dropdown-select.scss\"></style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components28.js","names":[],"sources":["../src/components/DropdownSelect.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface DropdownSelectConfig {\n placeholder?: string\n filterable?: boolean\n filterPlaceholder?: string\n clearable?: boolean\n textEllipsis?: boolean\n multiple?: boolean\n lazy?: boolean\n size?: ControlSize\n loading?: boolean\n highlight?: boolean\n}\n\nexport const dropdownSelectConfigDefaults: DropdownSelectConfig = {\n placeholder: 'Válassz...',\n filterable: true,\n filterPlaceholder: 'Kezdj el gépelni...',\n clearable: true,\n textEllipsis: true,\n multiple: false,\n lazy: false,\n loading: false,\n size: 'normal' as ControlSize,\n highlight: true,\n}\n\nexport interface DropdownOption {\n icon?: string\n value?: string\n label: string\n callback?: () => void\n}\n\nexport interface DropdownSelectProps {\n modelValue?: string | string[] | null\n options: DropdownOption[]\n config?: DropdownSelectConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, nextTick, onMounted, onBeforeUnmount } from 'vue'\nimport Button from '@/components/Button.vue'\nimport type { ControlSize } from '@/types/types'\nimport Loader from '@/components/Loader.vue'\n\nconst props = withDefaults(defineProps<DropdownSelectProps>(), {\n modelValue: null,\n config: () => ({ ...dropdownSelectConfigDefaults }),\n})\n\nconst cfg = computed(() => ({ ...dropdownSelectConfigDefaults, ...props.config }))\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | null]\n 'filter-input': [filterText: string]\n}>()\n\nconst isOpen = ref(false)\nconst filterText = ref('')\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst filterInputRef = ref<HTMLInputElement | null>(null)\nconst buffer = ref<string[]>([])\nconst selection = ref<string[]>(toArray(props.modelValue))\n\nfunction toArray(val: string | string[] | null | undefined): string[] {\n if (val == null) return []\n return Array.isArray(val) ? [...val] : [val]\n}\n\nwatch(\n () => props.modelValue,\n (v) => {\n selection.value = toArray(v)\n },\n)\n\nwatch(isOpen, (open) => {\n if (open) {\n filterText.value = ''\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n if (cfg.value.lazy) buffer.value = [...selection.value]\n }\n})\n\nfunction onFilterInput(text: string) {\n filterText.value = text\n emit('filter-input', text)\n //debouncedEmit(text)\n}\n\n/* const debouncedEmit = debounce((raw: string) => {\n emit('filter-input', raw)\n}) */\n\n// Display\nconst selectedLabel = computed(() => {\n if (selection.value.length === 0) return null\n if (!cfg.value.multiple)\n return props.options.find((o) => o.value === selection.value[0])?.label ?? null\n if (selection.value.length > 2) return `${selection.value.length} kiválasztva`\n return selection.value.map((v) => props.options.find((o) => o.value === v)?.label ?? v).join(', ')\n})\n\nconst filteredOptions = computed(() => {\n const q = filterText.value.toLowerCase()\n return q ? props.options.filter((o) => o.label.toLowerCase().includes(q)) : props.options\n})\n\nfunction escapeHtml(str: string) {\n return str.replace(\n /[&<>\"']/g,\n (m) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[m]!,\n )\n}\n\nfunction highlight(label: string) {\n const q = filterText.value.trim()\n if (!q || !cfg.value.highlight) return escapeHtml(label)\n\n const safeLabel = escapeHtml(label)\n const safeQ = escapeHtml(q)\n\n const re = new RegExp(safeQ.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'ig')\n return safeLabel.replace(re, (m) => `<mark class=\"ds-option__highlight\">${m}</mark>`)\n}\n\nconst selectableOptions = computed(() => {\n return filteredOptions.value.filter((o) => o.value)\n})\n\nconst allOptionsSelected = computed(() => {\n if (selectableOptions.value.length === 0) return false\n const currentList = cfg.value.lazy && isOpen.value ? buffer.value : selection.value\n return selectableOptions.value.every((o) => o.value && currentList.includes(o.value))\n})\n\nfunction isSelected(value: string): boolean {\n return (cfg.value.lazy && isOpen.value ? buffer : selection).value.includes(value)\n}\n\nfunction toggleAllOptions() {\n const currentList = cfg.value.lazy && isOpen.value ? buffer : selection\n const selectableValues = selectableOptions.value.map((o) => o.value as string)\n\n if (allOptionsSelected.value) {\n currentList.value = currentList.value.filter((v) => !selectableValues.includes(v))\n } else {\n const toAdd = selectableValues.filter((v) => !currentList.value.includes(v))\n currentList.value = [...currentList.value, ...toAdd]\n }\n\n if (!cfg.value.lazy) {\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n}\n\n// Actions\nfunction toggleList(list: string[], value: string): string[] {\n const idx = list.indexOf(value)\n return idx >= 0 ? list.filter((_, i) => i !== idx) : [...list, value]\n}\n\nfunction selectOption(opt: DropdownOption) {\n if (opt.callback) {\n opt.callback()\n isOpen.value = false\n return\n }\n\n const value = opt.value\n if (!value) return\n\n if (cfg.value.multiple) {\n if (cfg.value.lazy) {\n buffer.value = toggleList(buffer.value, value)\n } else {\n selection.value = toggleList(selection.value, value)\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n } else {\n selection.value = [value]\n emit('update:modelValue', value)\n isOpen.value = false\n }\n}\n\nfunction confirm() {\n if (cfg.value.lazy) {\n selection.value = [...buffer.value]\n emit('update:modelValue', buffer.value.length > 0 ? [...buffer.value] : null)\n }\n isOpen.value = false\n}\n\nfunction clear() {\n if (cfg.value.lazy) {\n buffer.value = []\n } else {\n selection.value = []\n emit('update:modelValue', null)\n }\n}\n\nfunction onOptionKeydown(e: KeyboardEvent, opt: DropdownOption) {\n if (e.key === ' ') {\n e.preventDefault()\n selectOption(opt)\n } else if (e.key === 'Enter') {\n e.preventDefault()\n confirm()\n }\n}\n\nfunction onClickOutside(e: MouseEvent) {\n if (wrapperRef.value && !wrapperRef.value.contains(e.target as Node)) isOpen.value = false\n}\n\nonMounted(() => document.addEventListener('mousedown', onClickOutside))\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', onClickOutside)\n})\n\nfunction toggleOpen() {\n isOpen.value = !isOpen.value\n if (isOpen.value) {\n if (cfg.value.filterable) {\n filterText.value = ''\n emit('filter-input', '')\n }\n }\n}\n\nfunction clearInput() {\n selection.value = []\n emit('update:modelValue', null)\n isOpen.value = false\n}\n\nfunction focusAndOpen() {\n isOpen.value = true\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n}\n\nfunction handleFilterClear() {\n filterText.value = ''\n emit('filter-input', '')\n}\n\ndefineExpose({ focusAndOpen })\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"wrapperRef\" class=\"c-wrapper ds-wrapper\">\n <div\n class=\"c-input-row pointer\"\n :class=\"{\n 'c-input-row--sm': cfg.size === 'small',\n 'c-input-row--lg': cfg.size === 'large',\n }\"\n @click=\"toggleOpen()\"\n >\n <span v-if=\"selectedLabel\" class=\"c-truncate ds-value\">{{ selectedLabel }}</span>\n <span v-else class=\"c-placeholder\">{{ cfg.placeholder }}</span>\n <button\n v-if=\"cfg.clearable && selection.length > 0\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-clear-btn\"\n @click.stop=\"clearInput()\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <span\n class=\"c-icon-btn c-icon-btn--chevron mr-2\"\n :class=\"{ 'c-icon-btn--chevron-open': isOpen }\"\n >\n <i class=\"fa-solid fa-fw fa-chevron-down\"></i>\n </span>\n </div>\n\n <div\n v-if=\"isOpen\"\n class=\"c-dropdown ds-dropdown ac-component\"\n :class=\"{ 'ds-dropdown--multiple': cfg.multiple }\"\n >\n <div v-if=\"cfg.filterable\" class=\"ds-filter\">\n <span\n v-if=\"cfg.multiple\"\n class=\"c-checkbox ds-select-all-checkbox\"\n :class=\"{ 'c-checkbox--checked': allOptionsSelected }\"\n @click.stop=\"toggleAllOptions()\"\n :title=\"allOptionsSelected ? 'Összes kijelölés törlése' : 'Összes kijelölése'\"\n ></span>\n <input\n ref=\"filterInputRef\"\n type=\"text\"\n id=\"ds-filter-input\"\n class=\"c-focus ds-filter-input\"\n :value=\"filterText\"\n @input=\"onFilterInput(($event.target as HTMLInputElement).value)\"\n autocomplete=\"off\"\n :placeholder=\"cfg.filterPlaceholder\"\n @click.stop\n />\n <button\n v-if=\"filterText\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-filter-clear\"\n @click.stop=\"handleFilterClear()\"\n aria-label=\"Szűrők törlése\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <ul class=\"ds-options c-scroll\">\n <li v-if=\"cfg.loading\" class=\"ds-option ds-option--loading\">\n <Loader size=\"2rem\" color=\"var(--neutral-300)\" class=\"m-auto p-3\" />\n </li>\n <template v-else>\n <li\n v-for=\"(opt, idx) in filteredOptions\"\n :key=\"opt.value ?? `cb-${idx}`\"\n class=\"d-option ds-option\"\n :class=\"{ 'ds-option--selected': opt.value && isSelected(opt.value) }\"\n tabindex=\"0\"\n @click=\"selectOption(opt)\"\n @keydown=\"onOptionKeydown($event, opt)\"\n >\n <span\n v-if=\"cfg.multiple && opt.value\"\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': isSelected(opt.value) }\"\n ></span>\n <i v-if=\"opt.icon\" class=\"fa-fw\" :class=\"opt.icon\"></i>\n <span\n class=\"d-option__label\"\n :class=\"{ 'c-truncate': cfg.textEllipsis }\"\n v-html=\"highlight(opt.label)\"\n ></span>\n </li>\n <li v-if=\"filteredOptions.length === 0\" class=\"ds-option ds-option--empty\">\n Nincs találat\n </li>\n </template>\n </ul>\n\n <div v-if=\"cfg.multiple || (cfg.clearable && selection.length > 0)\" class=\"c-footer\">\n <Button v-if=\"cfg.clearable\" label=\"Törlés\" outline @click=\"clear\" />\n <Button v-if=\"cfg.multiple\" label=\"OK\" type=\"success\" @click=\"confirm\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/dropdown-select.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components28.js","names":[],"sources":["../src/components/DropdownSelect.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface DropdownSelectConfig {\n placeholder?: string\n filterable?: boolean\n filterPlaceholder?: string\n clearable?: boolean\n textEllipsis?: boolean\n multiple?: boolean\n lazy?: boolean\n size?: ControlSize\n loading?: boolean\n highlight?: boolean\n disabled?: boolean\n}\n\nexport const dropdownSelectConfigDefaults: DropdownSelectConfig = {\n placeholder: 'Válassz...',\n filterable: true,\n filterPlaceholder: 'Kezdj el gépelni...',\n clearable: true,\n textEllipsis: true,\n multiple: false,\n lazy: false,\n loading: false,\n size: 'normal' as ControlSize,\n highlight: true,\n disabled: false,\n}\n\nexport interface DropdownOption {\n icon?: string\n value?: string\n label: string\n callback?: () => void\n}\n\nexport interface DropdownSelectProps {\n modelValue?: string | string[] | null\n options: DropdownOption[]\n config?: DropdownSelectConfig\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, nextTick, onMounted, onBeforeUnmount } from 'vue'\nimport Button from '@/components/Button.vue'\nimport type { ControlSize } from '@/types/types'\nimport Loader from '@/components/Loader.vue'\n\nconst props = withDefaults(defineProps<DropdownSelectProps>(), {\n modelValue: null,\n config: () => ({ ...dropdownSelectConfigDefaults }),\n})\n\nconst cfg = computed(() => ({ ...dropdownSelectConfigDefaults, ...props.config }))\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | null]\n 'filter-input': [filterText: string]\n}>()\n\nconst isOpen = ref(false)\nconst filterText = ref('')\nconst wrapperRef = ref<HTMLElement | null>(null)\nconst filterInputRef = ref<HTMLInputElement | null>(null)\nconst buffer = ref<string[]>([])\nconst selection = ref<string[]>(toArray(props.modelValue))\n\nfunction toArray(val: string | string[] | null | undefined): string[] {\n if (val == null) return []\n return Array.isArray(val) ? [...val] : [val]\n}\n\nwatch(\n () => props.modelValue,\n (v) => {\n selection.value = toArray(v)\n },\n)\n\nwatch(isOpen, (open) => {\n if (open) {\n filterText.value = ''\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n if (cfg.value.lazy) buffer.value = [...selection.value]\n }\n})\n\nfunction onFilterInput(text: string) {\n filterText.value = text\n emit('filter-input', text)\n //debouncedEmit(text)\n}\n\n/* const debouncedEmit = debounce((raw: string) => {\n emit('filter-input', raw)\n}) */\n\n// Display\nconst selectedLabel = computed(() => {\n if (selection.value.length === 0) return null\n if (!cfg.value.multiple)\n return props.options.find((o) => o.value === selection.value[0])?.label ?? null\n if (selection.value.length > 2) return `${selection.value.length} kiválasztva`\n return selection.value.map((v) => props.options.find((o) => o.value === v)?.label ?? v).join(', ')\n})\n\nconst filteredOptions = computed(() => {\n const q = filterText.value.toLowerCase()\n return q ? props.options.filter((o) => o.label.toLowerCase().includes(q)) : props.options\n})\n\nfunction escapeHtml(str: string) {\n return str.replace(\n /[&<>\"']/g,\n (m) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[m]!,\n )\n}\n\nfunction highlight(label: string) {\n const q = filterText.value.trim()\n if (!q || !cfg.value.highlight) return escapeHtml(label)\n\n const safeLabel = escapeHtml(label)\n const safeQ = escapeHtml(q)\n\n const re = new RegExp(safeQ.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'), 'ig')\n return safeLabel.replace(re, (m) => `<mark class=\"ds-option__highlight\">${m}</mark>`)\n}\n\nconst selectableOptions = computed(() => {\n return filteredOptions.value.filter((o) => o.value)\n})\n\nconst allOptionsSelected = computed(() => {\n if (selectableOptions.value.length === 0) return false\n const currentList = cfg.value.lazy && isOpen.value ? buffer.value : selection.value\n return selectableOptions.value.every((o) => o.value && currentList.includes(o.value))\n})\n\nfunction isSelected(value: string): boolean {\n return (cfg.value.lazy && isOpen.value ? buffer : selection).value.includes(value)\n}\n\nfunction toggleAllOptions() {\n const currentList = cfg.value.lazy && isOpen.value ? buffer : selection\n const selectableValues = selectableOptions.value.map((o) => o.value as string)\n\n if (allOptionsSelected.value) {\n currentList.value = currentList.value.filter((v) => !selectableValues.includes(v))\n } else {\n const toAdd = selectableValues.filter((v) => !currentList.value.includes(v))\n currentList.value = [...currentList.value, ...toAdd]\n }\n\n if (!cfg.value.lazy) {\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n}\n\n// Actions\nfunction toggleList(list: string[], value: string): string[] {\n const idx = list.indexOf(value)\n return idx >= 0 ? list.filter((_, i) => i !== idx) : [...list, value]\n}\n\nfunction selectOption(opt: DropdownOption) {\n if (opt.callback) {\n opt.callback()\n isOpen.value = false\n return\n }\n\n const value = opt.value\n if (!value) return\n\n if (cfg.value.multiple) {\n if (cfg.value.lazy) {\n buffer.value = toggleList(buffer.value, value)\n } else {\n selection.value = toggleList(selection.value, value)\n emit('update:modelValue', selection.value.length > 0 ? [...selection.value] : null)\n }\n } else {\n selection.value = [value]\n emit('update:modelValue', value)\n isOpen.value = false\n }\n}\n\nfunction confirm() {\n if (cfg.value.lazy) {\n selection.value = [...buffer.value]\n emit('update:modelValue', buffer.value.length > 0 ? [...buffer.value] : null)\n }\n isOpen.value = false\n}\n\nfunction clear() {\n if (cfg.value.lazy) {\n buffer.value = []\n } else {\n selection.value = []\n emit('update:modelValue', null)\n }\n}\n\nfunction onOptionKeydown(e: KeyboardEvent, opt: DropdownOption) {\n if (e.key === ' ') {\n e.preventDefault()\n selectOption(opt)\n } else if (e.key === 'Enter') {\n e.preventDefault()\n confirm()\n }\n}\n\nfunction onClickOutside(e: MouseEvent) {\n if (wrapperRef.value && !wrapperRef.value.contains(e.target as Node)) isOpen.value = false\n}\n\nonMounted(() => document.addEventListener('mousedown', onClickOutside))\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', onClickOutside)\n})\n\nfunction toggleOpen() {\n if (cfg.value.disabled) return\n isOpen.value = !isOpen.value\n if (isOpen.value) {\n if (cfg.value.filterable) {\n filterText.value = ''\n emit('filter-input', '')\n }\n }\n}\n\nfunction clearInput() {\n if (cfg.value.disabled) return\n selection.value = []\n emit('update:modelValue', null)\n isOpen.value = false\n}\n\nfunction focusAndOpen() {\n if (cfg.value.disabled) return\n isOpen.value = true\n if (cfg.value.filterable) nextTick(() => filterInputRef.value?.focus())\n}\n\nfunction handleFilterClear() {\n filterText.value = ''\n emit('filter-input', '')\n}\n\ndefineExpose({ focusAndOpen })\n</script>\n\n<template>\n <div class=\"ac-component\">\n <div ref=\"wrapperRef\" class=\"c-wrapper ds-wrapper\">\n <div\n class=\"c-input-row pointer\"\n :class=\"{\n 'c-input-row--sm': cfg.size === 'small',\n 'c-input-row--lg': cfg.size === 'large',\n 'c-input-row--disabled': cfg.disabled,\n }\"\n :aria-disabled=\"cfg.disabled || undefined\"\n @click=\"toggleOpen()\"\n >\n <span v-if=\"selectedLabel\" class=\"c-truncate ds-value\">{{ selectedLabel }}</span>\n <span v-else class=\"c-placeholder\">{{ cfg.placeholder }}</span>\n <button\n v-if=\"cfg.clearable && selection.length > 0\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-clear-btn\"\n @click.stop=\"clearInput()\"\n aria-label=\"Törlés\"\n >\n <i class=\"fa-solid fa-fw fa-xmark\"></i>\n </button>\n <span\n class=\"c-icon-btn c-icon-btn--chevron mr-2\"\n :class=\"{ 'c-icon-btn--chevron-open': isOpen }\"\n >\n <i class=\"fa-solid fa-fw fa-chevron-down\"></i>\n </span>\n </div>\n\n <div\n v-if=\"isOpen\"\n class=\"c-dropdown ds-dropdown ac-component\"\n :class=\"{ 'ds-dropdown--multiple': cfg.multiple }\"\n >\n <div v-if=\"cfg.filterable\" class=\"ds-filter\">\n <span\n v-if=\"cfg.multiple\"\n class=\"c-checkbox ds-select-all-checkbox\"\n :class=\"{ 'c-checkbox--checked': allOptionsSelected }\"\n @click.stop=\"toggleAllOptions()\"\n :title=\"allOptionsSelected ? 'Összes kijelölés törlése' : 'Összes kijelölése'\"\n ></span>\n <input\n ref=\"filterInputRef\"\n type=\"text\"\n id=\"ds-filter-input\"\n class=\"c-focus ds-filter-input\"\n :value=\"filterText\"\n @input=\"onFilterInput(($event.target as HTMLInputElement).value)\"\n autocomplete=\"off\"\n :placeholder=\"cfg.filterPlaceholder\"\n @click.stop\n />\n <button\n v-if=\"filterText\"\n type=\"button\"\n class=\"c-icon-btn c-icon-btn--clear ds-filter-clear\"\n @click.stop=\"handleFilterClear()\"\n aria-label=\"Szűrők törlése\"\n >\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <ul class=\"ds-options c-scroll\">\n <li v-if=\"cfg.loading\" class=\"ds-option ds-option--loading\">\n <Loader size=\"2rem\" color=\"var(--neutral-300)\" class=\"m-auto p-3\" />\n </li>\n <template v-else>\n <li\n v-for=\"(opt, idx) in filteredOptions\"\n :key=\"opt.value ?? `cb-${idx}`\"\n class=\"d-option ds-option\"\n :class=\"{ 'ds-option--selected': opt.value && isSelected(opt.value) }\"\n tabindex=\"0\"\n @click=\"selectOption(opt)\"\n @keydown=\"onOptionKeydown($event, opt)\"\n >\n <span\n v-if=\"cfg.multiple && opt.value\"\n class=\"c-checkbox\"\n :class=\"{ 'c-checkbox--checked': isSelected(opt.value) }\"\n ></span>\n <i v-if=\"opt.icon\" class=\"fa-fw\" :class=\"opt.icon\"></i>\n <span\n class=\"d-option__label\"\n :class=\"{ 'c-truncate': cfg.textEllipsis }\"\n v-html=\"highlight(opt.label)\"\n ></span>\n </li>\n <li v-if=\"filteredOptions.length === 0\" class=\"ds-option ds-option--empty\">\n Nincs találat\n </li>\n </template>\n </ul>\n\n <div v-if=\"cfg.multiple || (cfg.clearable && selection.length > 0)\" class=\"c-footer\">\n <Button v-if=\"cfg.clearable\" label=\"Törlés\" outline @click=\"clear\" />\n <Button v-if=\"cfg.multiple\" label=\"OK\" type=\"success\" @click=\"confirm\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" src=\"@/styles/components/dropdown-select.scss\"></style>\n"],"mappings":""}
@@ -45,35 +45,39 @@ function t(e, t) {
45
45
  }
46
46
  return new Date(a, o, s, c, l, u);
47
47
  }
48
- function n(e, t = !1) {
48
+ function n(t, n = !1) {
49
+ let r = i(t);
50
+ return r ? e(r, n ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD") : "";
51
+ }
52
+ function r(e, t = !1) {
49
53
  return t ? e.toISOString() : `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}T00:00:00.000Z`;
50
54
  }
51
- function r(e) {
55
+ function i(e) {
52
56
  if (!e) return null;
53
57
  if (e instanceof Date) return e;
54
58
  let t = new Date(e);
55
59
  return isNaN(t.getTime()) ? null : t;
56
60
  }
57
- function i(e) {
61
+ function a(e) {
58
62
  let t = new Date(e);
59
63
  return t.setHours(0, 0, 0, 0), t;
60
64
  }
61
- function a(e) {
65
+ function o(e) {
62
66
  let t = new Date(e);
63
67
  return t.setHours(23, 59, 0, 0), t;
64
68
  }
65
- function o(e) {
66
- let t = i(e), n = t.getDay(), r = n === 0 ? -6 : 1 - n;
69
+ function s(e) {
70
+ let t = a(e), n = t.getDay(), r = n === 0 ? -6 : 1 - n;
67
71
  return t.setDate(t.getDate() + r), t;
68
72
  }
69
- function s(e, t) {
73
+ function c(e, t) {
70
74
  return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
71
75
  }
72
- function c(e, t) {
76
+ function l(e, t) {
73
77
  return e && t ? e.getTime() > t.getTime() ? e : t : e ?? t ?? null;
74
78
  }
75
- function l(e, t) {
79
+ function u(e, t) {
76
80
  return e && t ? e.getTime() < t.getTime() ? e : t : e ?? t ?? null;
77
81
  }
78
82
  //#endregion
79
- export { r as castToDate, l as earlierOf, a as endOfDay, e as formatDate, s as isSameCalendarDay, c as laterOf, n as localToUTCString, t as parseDate, i as startOfDay, o as startOfWeek };
83
+ export { i as castToDate, u as earlierOf, o as endOfDay, e as formatDate, c as isSameCalendarDay, l as laterOf, r as localToUTCString, t as parseDate, a as startOfDay, s as startOfWeek, n as utcToString };
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components3.js","names":[],"sources":["../src/utils/date.ts"],"sourcesContent":["export function formatDate(date: Date, format: string): string {\n const tokens: Record<string, string> = {\n YYYY: String(date.getFullYear()),\n MM: String(date.getMonth() + 1).padStart(2, '0'),\n DD: String(date.getDate()).padStart(2, '0'),\n HH: String(date.getHours()).padStart(2, '0'),\n mm: String(date.getMinutes()).padStart(2, '0'),\n ss: String(date.getSeconds()).padStart(2, '0'),\n }\n\n return format.replace(/YYYY|MM|DD|HH|mm|ss/g, (match) => tokens[match] ?? match)\n}\n\nexport function parseDate(value: string, format: string): Date | null {\n if (!value) return null\n\n const tokenRegex = /YYYY|MM|DD|HH|mm|ss/g\n let match: RegExpExecArray | null\n const parts: { token: string; start: number; end: number }[] = []\n\n while ((match = tokenRegex.exec(format)) !== null) {\n parts.push({ token: match[0], start: match.index, end: match.index + match[0].length })\n }\n\n let year = 1970\n let month = 0\n let day = 1\n let hour = 0\n let minute = 0\n let second = 0\n\n for (const part of parts) {\n const raw = value.slice(part.start, part.start + part.token.length)\n const n = parseInt(raw, 10)\n if (isNaN(n)) return null\n\n switch (part.token) {\n case 'YYYY':\n year = n\n break\n case 'MM':\n month = n - 1\n break\n case 'DD':\n day = n\n break\n case 'HH':\n hour = n\n break\n case 'mm':\n minute = n\n break\n case 'ss':\n second = n\n break\n }\n }\n\n return new Date(year, month, day, hour, minute, second)\n}\n\nexport function localToUTCString(date: Date, includeTime = false): string {\n if (includeTime) {\n return date.toISOString()\n }\n\n const y = date.getFullYear()\n const m = String(date.getMonth() + 1).padStart(2, '0')\n const d = String(date.getDate()).padStart(2, '0')\n return `${y}-${m}-${d}T00:00:00.000Z`\n}\n\nexport function castToDate(v: any): Date | null {\n if (!v) return null\n if (v instanceof Date) return v\n const d = new Date(v)\n return isNaN(d.getTime()) ? null : d\n}\nexport function startOfDay(date: Date) {\n const d = new Date(date)\n d.setHours(0, 0, 0, 0)\n return d\n}\n\nexport function endOfDay(date: Date) {\n const d = new Date(date)\n d.setHours(23, 59, 0, 0)\n return d\n}\n\nexport function startOfWeek(date: Date) {\n const d = startOfDay(date)\n const day = d.getDay()\n const diff = day === 0 ? -6 : 1 - day // Monday start\n d.setDate(d.getDate() + diff)\n return d\n}\n\nexport function isSameCalendarDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\n\nexport function laterOf(a: Date | null | undefined, b: Date | null | undefined): Date | null {\n if (a && b) return a.getTime() > b.getTime() ? a : b\n return a ?? b ?? null\n}\n\nexport function earlierOf(a: Date | null | undefined, b: Date | null | undefined): Date | null {\n if (a && b) return a.getTime() < b.getTime() ? a : b\n return a ?? b ?? null\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"admins-components3.js","names":[],"sources":["../src/utils/date.ts"],"sourcesContent":["export function formatDate(date: Date, format: string): string {\n const tokens: Record<string, string> = {\n YYYY: String(date.getFullYear()),\n MM: String(date.getMonth() + 1).padStart(2, '0'),\n DD: String(date.getDate()).padStart(2, '0'),\n HH: String(date.getHours()).padStart(2, '0'),\n mm: String(date.getMinutes()).padStart(2, '0'),\n ss: String(date.getSeconds()).padStart(2, '0'),\n }\n\n return format.replace(/YYYY|MM|DD|HH|mm|ss/g, (match) => tokens[match] ?? match)\n}\n\nexport function parseDate(value: string, format: string): Date | null {\n if (!value) return null\n\n const tokenRegex = /YYYY|MM|DD|HH|mm|ss/g\n let match: RegExpExecArray | null\n const parts: { token: string; start: number; end: number }[] = []\n\n while ((match = tokenRegex.exec(format)) !== null) {\n parts.push({ token: match[0], start: match.index, end: match.index + match[0].length })\n }\n\n let year = 1970\n let month = 0\n let day = 1\n let hour = 0\n let minute = 0\n let second = 0\n\n for (const part of parts) {\n const raw = value.slice(part.start, part.start + part.token.length)\n const n = parseInt(raw, 10)\n if (isNaN(n)) return null\n\n switch (part.token) {\n case 'YYYY':\n year = n\n break\n case 'MM':\n month = n - 1\n break\n case 'DD':\n day = n\n break\n case 'HH':\n hour = n\n break\n case 'mm':\n minute = n\n break\n case 'ss':\n second = n\n break\n }\n }\n\n return new Date(year, month, day, hour, minute, second)\n}\n\nexport function utcToString(utc: string | Date | null, includeTime = false): string {\n const date = castToDate(utc)\n if (!date) return ''\n return formatDate(date, includeTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD')\n}\n\nexport function localToUTCString(date: Date, includeTime = false): string {\n if (includeTime) {\n return date.toISOString()\n }\n\n const y = date.getFullYear()\n const m = String(date.getMonth() + 1).padStart(2, '0')\n const d = String(date.getDate()).padStart(2, '0')\n return `${y}-${m}-${d}T00:00:00.000Z`\n}\n\nexport function castToDate(v: any): Date | null {\n if (!v) return null\n if (v instanceof Date) return v\n const d = new Date(v)\n return isNaN(d.getTime()) ? null : d\n}\nexport function startOfDay(date: Date) {\n const d = new Date(date)\n d.setHours(0, 0, 0, 0)\n return d\n}\n\nexport function endOfDay(date: Date) {\n const d = new Date(date)\n d.setHours(23, 59, 0, 0)\n return d\n}\n\nexport function startOfWeek(date: Date) {\n const d = startOfDay(date)\n const day = d.getDay()\n const diff = day === 0 ? -6 : 1 - day // Monday start\n d.setDate(d.getDate() + diff)\n return d\n}\n\nexport function isSameCalendarDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n )\n}\n\nexport function laterOf(a: Date | null | undefined, b: Date | null | undefined): Date | null {\n if (a && b) return a.getTime() > b.getTime() ? a : b\n return a ?? b ?? null\n}\n\nexport function earlierOf(a: Date | null | undefined, b: Date | null | undefined): Date | null {\n if (a && b) return a.getTime() < b.getTime() ? a : b\n return a ?? b ?? null\n}\n"],"mappings":"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"}
@@ -12,35 +12,40 @@ var h = { class: "ac-component" }, g = { class: "hc-header" }, _ = { class: "hc-
12
12
  class: "hc-slot hc-slot--right"
13
13
  }, C = {
14
14
  icon: void 0,
15
- showBackButton: !1,
15
+ backButton: () => ({
16
+ icon: "fa-solid fa-chevron-left",
17
+ ariaLabel: "Vissza",
18
+ callback: () => {}
19
+ }),
16
20
  toolbars: () => []
17
21
  }, w = /* @__PURE__ */ s({
18
22
  __name: "HeaderComponent",
19
23
  props: /* @__PURE__ */ c({
20
24
  title: {},
21
25
  icon: {},
22
- showBackButton: { type: Boolean },
26
+ backButton: {},
23
27
  toolbars: {}
24
28
  }, { ...C }),
25
- emits: ["back"],
26
- setup(s, { emit: c }) {
27
- let C = s, w = c, T = n(() => {
29
+ setup(s) {
30
+ let c = s, w = n(() => {
31
+ if (c.backButton) return {
32
+ ...C.backButton(),
33
+ ...c.backButton
34
+ };
35
+ }), T = n(() => {
28
36
  let e = {
29
37
  left: 0,
30
38
  center: 1,
31
39
  right: 2
32
40
  };
33
- return [...C.toolbars].sort((t, n) => e[t.align] - e[n.align]);
41
+ return [...c.toolbars].sort((t, n) => e[t.align] - e[n.align]);
34
42
  });
35
43
  return (n, c) => (d(), a("div", h, [o("header", g, [
36
44
  o("div", _, [
37
- s.showBackButton ? (d(), r(e, {
45
+ w.value ? (d(), r(e, l({
38
46
  key: 0,
39
- class: "hc-back-btn",
40
- icon: "fa-solid fa-chevron-left",
41
- "aria-label": "Vissza",
42
- onClick: c[0] ||= (e) => w("back")
43
- })) : i("", !0),
47
+ class: "hc-back-btn"
48
+ }, w.value), null, 16)) : i("", !0),
44
49
  o("div", v, [s.icon ? (d(), a("i", {
45
50
  key: 0,
46
51
  class: u([s.icon, "hc-title-icon"])
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components35.js","names":["$slots"],"sources":["../src/components/HeaderComponent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ButtonProps } from '@/components/Button.vue'\nimport type { HorizontalAlignment } from '@/types/types'\n\nexport interface HeaderToolbar {\n align: HorizontalAlignment\n buttons: ButtonProps[]\n}\n\nexport interface HeaderComponentProps {\n title: string\n icon?: string\n showBackButton?: boolean\n toolbars?: HeaderToolbar[]\n}\n\nexport const headerComponentDefaults = {\n icon: undefined,\n showBackButton: false,\n toolbars: () => [],\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<HeaderComponentProps>(), {\n ...headerComponentDefaults,\n})\n\nconst emit = defineEmits<{ back: [] }>()\n\nconst sortedToolbars = computed(() => {\n const order: Record<HorizontalAlignment, number> = { left: 0, center: 1, right: 2 }\n return [...props.toolbars].sort((a, b) => order[a.align] - order[b.align])\n})\n</script>\n\n<template>\n <div class=\"ac-component\">\n <header class=\"hc-header\">\n <div class=\"hc-left\">\n <Button\n v-if=\"showBackButton\"\n class=\"hc-back-btn\"\n icon=\"fa-solid fa-chevron-left\"\n aria-label=\"Vissza\"\n @click=\"emit('back')\"\n />\n\n <div class=\"hc-title-group\">\n <i v-if=\"icon\" :class=\"icon\" class=\"hc-title-icon\"></i>\n <h1 class=\"hc-title\">{{ title }}</h1>\n </div>\n\n <div v-if=\"$slots.left\" class=\"hc-slot hc-slot--left\">\n <slot name=\"left\" />\n </div>\n\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'left')\"\n :key=\"`l-${ti}`\"\n class=\"hc-buttons hc-buttons--left\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.center || sortedToolbars.some((t) => t.align === 'center')\"\n class=\"hc-slot hc-slot--center\"\n >\n <slot name=\"center\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'center')\"\n :key=\"`c-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.right || sortedToolbars.some((t) => t.align === 'right')\"\n class=\"hc-slot hc-slot--right\"\n >\n <slot name=\"right\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'right')\"\n :key=\"`r-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n </header>\n </div>\n</template>\n<style lang=\"scss\" src=\"@/styles/components/header.scss\"></style>\n"],"mappings":";;;;;;;;;;;;GAgBa,IAA0B;CACrC,MAAM,KAAA;CACN,gBAAgB;CAChB,gBAAgB,CAAC;AACnB;;;;;;;;;;EAOA,IAAM,IAAQ,GAIR,IAAO,GAEP,IAAiB,QAAe;GACpC,IAAM,IAA6C;IAAE,MAAM;IAAG,QAAQ;IAAG,OAAO;GAAE;GAClF,OAAO,CAAC,GAAG,EAAM,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAM,EAAE,SAAS,EAAM,EAAE,MAAM;EAC3E,CAAC;yBAIC,EAyDM,OAzDN,GAyDM,CAxDJ,EAuDS,UAvDT,GAuDS;GAtDP,EAyBM,OAzBN,GAyBM;IAvBI,EAAA,kBAAA,EAAA,GADR,EAME,GAAA;;KAJA,OAAM;KACN,MAAK;KACL,cAAW;KACV,SAAK,AAAA,EAAA,QAAA,MAAE,EAAI,MAAA;;IAGd,EAGM,OAHN,GAGM,CAFK,EAAA,QAAA,EAAA,GAAT,EAAuD,KAAA;;KAAvC,OAAK,EAAA,CAAE,EAAA,MAAY,eAAe,CAAA;8BAClD,EAAqC,MAArC,GAAqC,EAAb,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA;IAGpBA,EAAAA,OAAO,QAAA,EAAA,GAAlB,EAEM,OAFN,GAEM,CADJ,EAAoB,EAAA,QAAA,MAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;YAGtB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,MAAA,IAApD,GAAS,YADnB,EAMM,OAAA;KAJH,KAAG,KAAO;KACX,OAAM;gBAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA;;GAK5DA,EAAAA,OAAO,UAAU,EAAA,MAAe,MAAM,MAAM,EAAE,UAAK,QAAA,KAAA,EAAA,GAD3D,EAYM,OAZN,GAYM,CARJ,EAAsB,EAAA,QAAA,QAAA,IAAA,EAAA,EAAA,GACtB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,QAAA,IAApD,GAAS,YADnB,EAMM,OAAA;IAJH,KAAG,KAAO;IACX,OAAM;eAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA;GAK5DA,EAAAA,OAAO,SAAS,EAAA,MAAe,MAAM,MAAM,EAAE,UAAK,OAAA,KAAA,EAAA,GAD1D,EAYM,OAZN,GAYM,CARJ,EAAqB,EAAA,QAAA,OAAA,IAAA,EAAA,EAAA,GACrB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,OAAA,IAApD,GAAS,YADnB,EAMM,OAAA;IAJH,KAAG,KAAO;IACX,OAAM;eAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA"}
1
+ {"version":3,"file":"admins-components35.js","names":["$slots"],"sources":["../src/components/HeaderComponent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ButtonProps } from '@/components/Button.vue'\nimport type { HorizontalAlignment } from '@/types/types'\n\nexport interface HeaderToolbar {\n align: HorizontalAlignment\n buttons: ButtonProps[]\n}\n\nexport interface HeaderComponentProps {\n title: string\n icon?: string\n\n backButton?: ButtonProps\n toolbars?: HeaderToolbar[]\n}\n\nexport const headerComponentDefaults = {\n icon: undefined,\n backButton: () => ({\n icon: 'fa-solid fa-chevron-left',\n ariaLabel: 'Vissza',\n callback: () => {},\n }),\n toolbars: () => [],\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<HeaderComponentProps>(), {\n ...headerComponentDefaults,\n})\n\nconst mergedBackButton = computed<ButtonProps | undefined>(() => {\n if (!props.backButton) return undefined\n return { ...headerComponentDefaults.backButton(), ...props.backButton }\n})\n\nconst sortedToolbars = computed(() => {\n const order: Record<HorizontalAlignment, number> = { left: 0, center: 1, right: 2 }\n return [...props.toolbars].sort((a, b) => order[a.align] - order[b.align])\n})\n</script>\n\n<template>\n <div class=\"ac-component\">\n <header class=\"hc-header\">\n <div class=\"hc-left\">\n <Button\n v-if=\"mergedBackButton\"\n class=\"hc-back-btn\"\n v-bind=\"mergedBackButton\"\n />\n\n <div class=\"hc-title-group\">\n <i v-if=\"icon\" :class=\"icon\" class=\"hc-title-icon\"></i>\n <h1 class=\"hc-title\">{{ title }}</h1>\n </div>\n\n <div v-if=\"$slots.left\" class=\"hc-slot hc-slot--left\">\n <slot name=\"left\" />\n </div>\n\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'left')\"\n :key=\"`l-${ti}`\"\n class=\"hc-buttons hc-buttons--left\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.center || sortedToolbars.some((t) => t.align === 'center')\"\n class=\"hc-slot hc-slot--center\"\n >\n <slot name=\"center\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'center')\"\n :key=\"`c-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.right || sortedToolbars.some((t) => t.align === 'right')\"\n class=\"hc-slot hc-slot--right\"\n >\n <slot name=\"right\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'right')\"\n :key=\"`r-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n </header>\n </div>\n</template>\n<style lang=\"scss\" src=\"@/styles/components/header.scss\"></style>\n"],"mappings":";;;;;;;;;;;;GAiBa,IAA0B;CACrC,MAAM,KAAA;CACN,mBAAmB;EACjB,MAAM;EACN,WAAW;EACX,gBAAgB,CAAC;CACnB;CACA,gBAAgB,CAAC;AACnB;;;;;;;;;EAOA,IAAM,IAAQ,GAIR,IAAmB,QAAwC;GAC1D,MAAM,YACX,OAAO;IAAE,GAAG,EAAwB,WAAW;IAAG,GAAG,EAAM;GAAW;EACxE,CAAC,GAEK,IAAiB,QAAe;GACpC,IAAM,IAA6C;IAAE,MAAM;IAAG,QAAQ;IAAG,OAAO;GAAE;GAClF,OAAO,CAAC,GAAG,EAAM,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAM,EAAE,SAAS,EAAM,EAAE,MAAM;EAC3E,CAAC;yBAIC,EAuDM,OAvDN,GAuDM,CAtDJ,EAqDS,UArDT,GAqDS;GApDP,EAuBM,OAvBN,GAuBM;IArBI,EAAA,SAAA,EAAA,GADR,EAIE,GAJF,EAIE;;KAFA,OAAM;OACE,EAAA,KAAgB,GAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA;IAG1B,EAGM,OAHN,GAGM,CAFK,EAAA,QAAA,EAAA,GAAT,EAAuD,KAAA;;KAAvC,OAAK,EAAA,CAAE,EAAA,MAAY,eAAe,CAAA;8BAClD,EAAqC,MAArC,GAAqC,EAAb,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA;IAGpBA,EAAAA,OAAO,QAAA,EAAA,GAAlB,EAEM,OAFN,GAEM,CADJ,EAAoB,EAAA,QAAA,MAAA,CAAA,CAAA,KAAA,EAAA,IAAA,EAAA;YAGtB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,MAAA,IAApD,GAAS,YADnB,EAMM,OAAA;KAJH,KAAG,KAAO;KACX,OAAM;gBAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA;;GAK5DA,EAAAA,OAAO,UAAU,EAAA,MAAe,MAAM,MAAM,EAAE,UAAK,QAAA,KAAA,EAAA,GAD3D,EAYM,OAZN,GAYM,CARJ,EAAsB,EAAA,QAAA,QAAA,IAAA,EAAA,EAAA,GACtB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,QAAA,IAApD,GAAS,YADnB,EAMM,OAAA;IAJH,KAAG,KAAO;IACX,OAAM;eAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA;GAK5DA,EAAAA,OAAO,SAAS,EAAA,MAAe,MAAM,MAAM,EAAE,UAAK,OAAA,KAAA,EAAA,GAD1D,EAYM,OAZN,GAYM,CARJ,EAAqB,EAAA,QAAA,OAAA,IAAA,EAAA,EAAA,GACrB,EAMM,GAAA,MAAA,EALoB,EAAA,MAAe,QAAQ,MAAM,EAAE,UAAK,OAAA,IAApD,GAAS,YADnB,EAMM,OAAA;IAJH,KAAG,KAAO;IACX,OAAM;eAEN,EAAoE,GAAA,MAAA,EAAzC,EAAQ,UAAnB,GAAK,YAArB,EAAoE,GAApE,EAAoE,EAAvB,KAAK,EAAC,GAAA,EAAA,SAAA,GAAA,GAAU,CAAG,GAAA,MAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"admins-components37.js","names":[],"sources":["../src/components/HeaderComponent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ButtonProps } from '@/components/Button.vue'\nimport type { HorizontalAlignment } from '@/types/types'\n\nexport interface HeaderToolbar {\n align: HorizontalAlignment\n buttons: ButtonProps[]\n}\n\nexport interface HeaderComponentProps {\n title: string\n icon?: string\n showBackButton?: boolean\n toolbars?: HeaderToolbar[]\n}\n\nexport const headerComponentDefaults = {\n icon: undefined,\n showBackButton: false,\n toolbars: () => [],\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<HeaderComponentProps>(), {\n ...headerComponentDefaults,\n})\n\nconst emit = defineEmits<{ back: [] }>()\n\nconst sortedToolbars = computed(() => {\n const order: Record<HorizontalAlignment, number> = { left: 0, center: 1, right: 2 }\n return [...props.toolbars].sort((a, b) => order[a.align] - order[b.align])\n})\n</script>\n\n<template>\n <div class=\"ac-component\">\n <header class=\"hc-header\">\n <div class=\"hc-left\">\n <Button\n v-if=\"showBackButton\"\n class=\"hc-back-btn\"\n icon=\"fa-solid fa-chevron-left\"\n aria-label=\"Vissza\"\n @click=\"emit('back')\"\n />\n\n <div class=\"hc-title-group\">\n <i v-if=\"icon\" :class=\"icon\" class=\"hc-title-icon\"></i>\n <h1 class=\"hc-title\">{{ title }}</h1>\n </div>\n\n <div v-if=\"$slots.left\" class=\"hc-slot hc-slot--left\">\n <slot name=\"left\" />\n </div>\n\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'left')\"\n :key=\"`l-${ti}`\"\n class=\"hc-buttons hc-buttons--left\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.center || sortedToolbars.some((t) => t.align === 'center')\"\n class=\"hc-slot hc-slot--center\"\n >\n <slot name=\"center\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'center')\"\n :key=\"`c-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.right || sortedToolbars.some((t) => t.align === 'right')\"\n class=\"hc-slot hc-slot--right\"\n >\n <slot name=\"right\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'right')\"\n :key=\"`r-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n </header>\n </div>\n</template>\n<style lang=\"scss\" src=\"@/styles/components/header.scss\"></style>\n"],"mappings":""}
1
+ {"version":3,"file":"admins-components37.js","names":[],"sources":["../src/components/HeaderComponent.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ButtonProps } from '@/components/Button.vue'\nimport type { HorizontalAlignment } from '@/types/types'\n\nexport interface HeaderToolbar {\n align: HorizontalAlignment\n buttons: ButtonProps[]\n}\n\nexport interface HeaderComponentProps {\n title: string\n icon?: string\n\n backButton?: ButtonProps\n toolbars?: HeaderToolbar[]\n}\n\nexport const headerComponentDefaults = {\n icon: undefined,\n backButton: () => ({\n icon: 'fa-solid fa-chevron-left',\n ariaLabel: 'Vissza',\n callback: () => {},\n }),\n toolbars: () => [],\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport Button from '@/components/Button.vue'\n\nconst props = withDefaults(defineProps<HeaderComponentProps>(), {\n ...headerComponentDefaults,\n})\n\nconst mergedBackButton = computed<ButtonProps | undefined>(() => {\n if (!props.backButton) return undefined\n return { ...headerComponentDefaults.backButton(), ...props.backButton }\n})\n\nconst sortedToolbars = computed(() => {\n const order: Record<HorizontalAlignment, number> = { left: 0, center: 1, right: 2 }\n return [...props.toolbars].sort((a, b) => order[a.align] - order[b.align])\n})\n</script>\n\n<template>\n <div class=\"ac-component\">\n <header class=\"hc-header\">\n <div class=\"hc-left\">\n <Button\n v-if=\"mergedBackButton\"\n class=\"hc-back-btn\"\n v-bind=\"mergedBackButton\"\n />\n\n <div class=\"hc-title-group\">\n <i v-if=\"icon\" :class=\"icon\" class=\"hc-title-icon\"></i>\n <h1 class=\"hc-title\">{{ title }}</h1>\n </div>\n\n <div v-if=\"$slots.left\" class=\"hc-slot hc-slot--left\">\n <slot name=\"left\" />\n </div>\n\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'left')\"\n :key=\"`l-${ti}`\"\n class=\"hc-buttons hc-buttons--left\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.center || sortedToolbars.some((t) => t.align === 'center')\"\n class=\"hc-slot hc-slot--center\"\n >\n <slot name=\"center\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'center')\"\n :key=\"`c-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n\n <div\n v-if=\"$slots.right || sortedToolbars.some((t) => t.align === 'right')\"\n class=\"hc-slot hc-slot--right\"\n >\n <slot name=\"right\" />\n <div\n v-for=\"(toolbar, ti) in sortedToolbars.filter((t) => t.align === 'right')\"\n :key=\"`r-${ti}`\"\n class=\"hc-buttons\"\n >\n <Button v-for=\"(btn, i) in toolbar.buttons\" :key=\"i\" v-bind=\"btn\" />\n </div>\n </div>\n </header>\n </div>\n</template>\n<style lang=\"scss\" src=\"@/styles/components/header.scss\"></style>\n"],"mappings":""}
package/dist/main.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/regular.min.css";:root{--ac-font-family: 'Geist', 'Segoe UI', system-ui, -apple-system, sans-serif;--background-50: #f7f9f9;--background-100: #eff3f3;--neutral-0: #fff;--neutral-50: #f2f4f4;--neutral-100: #e5e9ea;--neutral-150: #dae0e1;--neutral-200: #cbd3d4;--neutral-250: #bec8ca;--neutral-300: #b0bdbf;--neutral-400: #96a7a9;--neutral-500: #7c9194;--neutral-600: #637476;--neutral-700: #4a5759;--neutral-800: #323a3b;--neutral-900: #1f2d2d;--site-50: #ffebe1;--site-100: #ffceb6;--site-200: #f79d71;--site-300: #f5844e;--site-500: #f26522;--site-600: #da5b1f;--site-700: #c2511b;--premium-50: #dfefef;--premium-100: #cfe7e6;--premium-200: #bfdfde;--premium-300: #9ed0ce;--premium-400: #7ec0bd;--premium-500: #5eb0ad;--premium-600: #4b8d8a;--premium-700: #386a68;--pulse-10: #e0d8f1;--pulse-100: #a18ad5;--pulse-400: #7250c0;--pulse-500: #623cb9;--ac-color-error: #d92d20;--ac-color-warning: #dc6803;--ac-color-success: #067647;--ac-color-info: #1570ef;--ac-color-info-rgb: 21, 112, 239;--ac-color-darker-blue: #1246d4;--ac-color-lighter-blue: rgb(45 126 241);--ac-color-primary: var(--ac-color-info);--ac-color-primary-rgb: var(--ac-color-info-rgb);--ac-input-padding: 0.5rem;--ac-input-padding-sm: 0.3125rem;--ac-input-padding-lg: 0.75rem;--ac-field-padding: 0.5rem 0.75rem;--ac-field-padding-sm: 0.3125rem 0.625rem;--ac-field-padding-lg: 0.6875rem 1rem;--ac-field-font-size: 0.825rem;--ac-field-font-size-sm: 0.75rem;--ac-field-font-size-lg: 0.9375rem;--ac-field-border-radius: 0.5rem;--ac-field-border-radius-sm: 0.375rem;--ac-field-border-radius-lg: 0.625rem;--ac-dropdown-max-height: 18rem;--ac-section-bottom-margin: 1rem;--ac-placeholder-color: var(--neutral-600)}@media(prefers-reduced-motion: no-preference){html{interpolate-size:allow-keywords}}.ac-component{font-family:var(--ac-font-family);letter-spacing:-0.18px;color:var(--neutral-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.ac-component.v-tooltip{background:var(--neutral-800);font-family:var(--ac-font-family);color:var(--neutral-0);font-size:.8125rem;font-weight:400;line-height:1.4;padding:var(--ac-field-padding);border-radius:.5rem;white-space:normal;width:max-content;box-shadow:0 2px 6px rgba(0,0,0,.12)}.ac-component{--vf-ring-color: var(--ac-color-primary);--vf-primary: var(--ac-color-primary);--vf-border-color-checked: var(--ac-color-primary)}.ac-component *,.ac-component *::before,.ac-component *::after{box-sizing:border-box}.ac-component img,.ac-component picture,.ac-component video,.ac-component canvas,.ac-component svg{display:block;max-width:100%}.ac-component input,.ac-component button,.ac-component textarea,.ac-component select{font-family:inherit}.ac-component p,.ac-component h1,.ac-component h2,.ac-component h3,.ac-component h4,.ac-component h5,.ac-component h6{overflow-wrap:break-word}.ac-component *{margin:0}.ac-component .fa-tag,.ac-component .fa-arrow-rotate-right{transform:translateY(0.5px)}.ac-component .align-center-fix{transform:translateY(0.5px)}.ac-component hr.separator{border:none;border-top:1px solid var(--neutral-200);margin:.5rem 0}.ac-component .lh-1{line-height:1}.ac-component .flex-center{display:flex;align-items:center}.ac-component .click-expand{--expand-size: 0.5rem}.ac-component .click-expand::after{content:"";position:absolute;inset:calc(-1*var(--expand-size))}.ac-component .m-0{margin:0 !important}.ac-component .mx-0{margin-left:0 !important;margin-right:0 !important}.ac-component .my-0{margin-top:0 !important;margin-bottom:0 !important}.ac-component .mt-0{margin-top:0 !important}.ac-component .mb-0{margin-bottom:0 !important}.ac-component .ml-0{margin-left:0 !important}.ac-component .mr-0{margin-right:0 !important}.ac-component .m-1{margin:.25rem !important}.ac-component .mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.ac-component .my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.ac-component .mt-1{margin-top:.25rem !important}.ac-component .mb-1{margin-bottom:.25rem !important}.ac-component .ml-1{margin-left:.25rem !important}.ac-component .mr-1{margin-right:.25rem !important}.ac-component .m-2{margin:.5rem !important}.ac-component .mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.ac-component .my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.ac-component .mt-2{margin-top:.5rem !important}.ac-component .mb-2{margin-bottom:.5rem !important}.ac-component .ml-2{margin-left:.5rem !important}.ac-component .mr-2{margin-right:.5rem !important}.ac-component .m-3{margin:1rem !important}.ac-component .mx-3{margin-left:1rem !important;margin-right:1rem !important}.ac-component .my-3{margin-top:1rem !important;margin-bottom:1rem !important}.ac-component .mt-3{margin-top:1rem !important}.ac-component .mb-3{margin-bottom:1rem !important}.ac-component .ml-3{margin-left:1rem !important}.ac-component .mr-3{margin-right:1rem !important}.ac-component .m-4{margin:1.5rem !important}.ac-component .mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.ac-component .my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.ac-component .mt-4{margin-top:1.5rem !important}.ac-component .mb-4{margin-bottom:1.5rem !important}.ac-component .ml-4{margin-left:1.5rem !important}.ac-component .mr-4{margin-right:1.5rem !important}.ac-component .m-5{margin:3rem !important}.ac-component .mx-5{margin-left:3rem !important;margin-right:3rem !important}.ac-component .my-5{margin-top:3rem !important;margin-bottom:3rem !important}.ac-component .mt-5{margin-top:3rem !important}.ac-component .mb-5{margin-bottom:3rem !important}.ac-component .ml-5{margin-left:3rem !important}.ac-component .mr-5{margin-right:3rem !important}.ac-component .m-auto{margin:auto !important}.ac-component .mx-auto{margin-left:auto !important;margin-right:auto !important}.ac-component .my-auto{margin-top:auto !important;margin-bottom:auto !important}.ac-component .mt-auto{margin-top:auto !important}.ac-component .mb-auto{margin-bottom:auto !important}.ac-component .ml-auto{margin-left:auto !important}.ac-component .mr-auto{margin-right:auto !important}.ac-component .p-0{padding:0 !important}.ac-component .px-0{padding-left:0 !important;padding-right:0 !important}.ac-component .py-0{padding-top:0 !important;padding-bottom:0 !important}.ac-component .pt-0{padding-top:0 !important}.ac-component .pb-0{padding-bottom:0 !important}.ac-component .pl-0{padding-left:0 !important}.ac-component .pr-0{padding-right:0 !important}.ac-component .p-1{padding:.25rem !important}.ac-component .px-1{padding-left:.25rem !important;padding-right:.25rem !important}.ac-component .py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.ac-component .pt-1{padding-top:.25rem !important}.ac-component .pb-1{padding-bottom:.25rem !important}.ac-component .pl-1{padding-left:.25rem !important}.ac-component .pr-1{padding-right:.25rem !important}.ac-component .p-2{padding:.5rem !important}.ac-component .px-2{padding-left:.5rem !important;padding-right:.5rem !important}.ac-component .py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.ac-component .pt-2{padding-top:.5rem !important}.ac-component .pb-2{padding-bottom:.5rem !important}.ac-component .pl-2{padding-left:.5rem !important}.ac-component .pr-2{padding-right:.5rem !important}.ac-component .p-3{padding:1rem !important}.ac-component .px-3{padding-left:1rem !important;padding-right:1rem !important}.ac-component .py-3{padding-top:1rem !important;padding-bottom:1rem !important}.ac-component .pt-3{padding-top:1rem !important}.ac-component .pb-3{padding-bottom:1rem !important}.ac-component .pl-3{padding-left:1rem !important}.ac-component .pr-3{padding-right:1rem !important}.ac-component .p-4{padding:1.5rem !important}.ac-component .px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.ac-component .py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.ac-component .pt-4{padding-top:1.5rem !important}.ac-component .pb-4{padding-bottom:1.5rem !important}.ac-component .pl-4{padding-left:1.5rem !important}.ac-component .pr-4{padding-right:1.5rem !important}.ac-component .p-5{padding:3rem !important}.ac-component .px-5{padding-left:3rem !important;padding-right:3rem !important}.ac-component .py-5{padding-top:3rem !important;padding-bottom:3rem !important}.ac-component .pt-5{padding-top:3rem !important}.ac-component .pb-5{padding-bottom:3rem !important}.ac-component .pl-5{padding-left:3rem !important}.ac-component .pr-5{padding-right:3rem !important}.ac-component .gap-0{gap:0 !important}.ac-component .gap-1{gap:.25rem !important}.ac-component .gap-2{gap:.5rem !important}.ac-component .gap-3{gap:1rem !important}.ac-component .gap-4{gap:1.5rem !important}.ac-component .gap-5{gap:3rem !important}.ac-component .d-flex{display:flex !important}.ac-component .d-inline-flex{display:inline-flex !important}.ac-component .d-block{display:block !important}.ac-component .d-inline-block{display:inline-block !important}.ac-component .flex-wrap{flex-wrap:wrap}.ac-component .flex-column{flex-direction:column}.ac-component .text-center{text-align:center}.ac-component .w-100{width:100% !important}.ac-component .mw-100{max-width:100% !important}.ac-component .h-100{height:100% !important}.ac-component .mh-100{max-height:100% !important}.ac-component .pointer{cursor:pointer}.ac-component .nowrap{white-space:nowrap}.ac-component .align-items-center{align-items:center}.ac-component .text-primary,.ac-component .text-normal{color:var(--neutral-800) !important}.ac-component .text-info{color:var(--ac-color-info) !important}.ac-component .text-success{color:var(--ac-color-success) !important}.ac-component .text-warning{color:var(--ac-color-warning) !important}.ac-component .text-error,.ac-component .text-danger{color:var(--ac-color-error) !important}.ac-component .lh-normal{line-height:normal !important}.ac-component .lh-1{line-height:1 !important}.ac-component .hide,.ac-component .hidden{display:none !important}.ac-component .c-wrapper{position:relative}.ac-component .c-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-component .c-field-size{font-size:var(--ac-field-font-size);padding:var(--ac-field-padding)}.ac-component .c-field-size--sm,.ac-component .c-field-size--small{font-size:var(--ac-field-font-size-sm);padding:var(--ac-field-padding-sm)}.ac-component .c-field-size--lg,.ac-component .c-field-size--large{font-size:var(--ac-field-font-size-lg);padding:var(--ac-field-padding-lg)}.ac-component .c-type-color{--text-color: var(--neutral-800);--hover-bg-color: var(--neutral-100);--hover-text-color: var(--neutral-800);color:var(--text-color)}.ac-component .c-type-color:hover{background-color:var(--hover-bg-color);color:var(--hover-text-color)}.ac-component .c-type-color--error{--text-color: var(--ac-color-error);--hover-bg-color: var(--ac-color-error);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--success{--text-color: var(--ac-color-success);--hover-bg-color: var(--ac-color-success);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--warning{--text-color: var(--ac-color-warning);--hover-bg-color: var(--ac-color-warning);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--info{--text-color: var(--ac-color-info);--hover-bg-color: var(--ac-color-info);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--dark{--text-color: var(--neutral-0);--hover-bg-color: var(--neutral-800);--hover-text-color: var(--neutral-0)}.ac-component .c-chip{display:inline-flex;padding:0;border-radius:.25rem;background:var(--neutral-100);color:var(--neutral-700);font-size:.75rem;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-component .c-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--neutral-200);color:var(--neutral-700);font-family:var(--ac-font-family);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.ac-component .c-scroll{scrollbar-width:thin;scrollbar-color:var(--neutral-300) rgba(0,0,0,0)}.ac-component .c-scroll::-webkit-scrollbar{width:.5rem;height:.5rem}.ac-component .c-scroll::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.ac-component .c-scroll::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:999px;border:2px solid rgba(0,0,0,0);background-clip:content-box;transition:background-color .15s}.ac-component .c-scroll::-webkit-scrollbar-thumb:hover{background:var(--neutral-500);background-clip:content-box}.ac-component .c-scroll::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.ac-component .c-placeholder{flex:1;font-style:italic;min-width:0;padding:var(--ac-input-padding);color:var(--ac-placeholder-color)}.ac-component .c-input{width:100%;font-family:inherit;letter-spacing:-0.36px;border:none;background:rgba(0,0,0,0);padding:var(--ac-input-padding);font-size:var(--ac-field-font-size);color:var(--neutral-900)}.ac-component .c-input::placeholder{color:var(--ac-placeholder-color);font-style:italic}.ac-component .c-input:-webkit-autofill,.ac-component .c-input:-webkit-autofill:hover,.ac-component .c-input:-webkit-autofill:focus,.ac-component .c-input:-webkit-autofill:active{border-radius:inherit}.ac-component .c-input:focus,.ac-component .c-input:focus-within,.ac-component .c-input:focus-visible,.ac-component .c-focus:focus,.ac-component .c-focus:focus-within,.ac-component .c-focus:focus-visible{border-color:var(--ac-color-lighter-blue);outline:0}.ac-component .c-input-wrapper{position:relative;display:flex;flex-direction:column;gap:.25rem}.ac-component .c-textarea{resize:none}.ac-component .c-input-row{display:flex;align-items:center;font-family:inherit;border:1px solid var(--neutral-200);border-radius:var(--ac-field-border-radius);background:var(--neutral-0);font-size:var(--ac-field-font-size);color:var(--neutral-900);transition:border-color .15s}.ac-component .c-input-row::placeholder{color:var(--ac-placeholder-color);font-style:italic}.ac-component .c-input-row--disabled{background:var(--neutral-50);cursor:not-allowed}.ac-component .c-input-row:is(input,textarea){padding:var(--ac-input-padding)}.ac-component .c-input-row:hover{border-color:var(--neutral-300)}.ac-component .c-input-row:focus-within,.ac-component .c-input-row:focus,.ac-component .c-input-row:focus-visible,.ac-component .c-input-row--focus{border-color:var(--ac-color-lighter-blue);box-shadow:0 0 0 2px rgba(21,112,239,.1)}.ac-component .c-input-row:focus-within:hover,.ac-component .c-input-row:focus:hover,.ac-component .c-input-row:focus-visible:hover,.ac-component .c-input-row--focus:hover{border-color:var(--ac-color-darker-blue)}.ac-component .c-input-row--sm{border-radius:var(--ac-field-border-radius-sm);font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--sm:is(input,textarea){padding:var(--ac-input-padding-sm)}.ac-component .c-input-row--sm .c-icon-btn{font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--sm .c-placeholder{font-size:var(--ac-field-font-size-sm);padding:var(--ac-input-padding-sm)}.ac-component .c-input-row--sm .c-input{padding:var(--ac-input-padding-sm);font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--lg{border-radius:var(--ac-field-border-radius-lg);font-size:var(--ac-field-font-size-lg)}.ac-component .c-input-row--lg:is(input,textarea){padding:var(--ac-input-padding-lg)}.ac-component .c-input-row--lg .c-icon-btn{font-size:var(--ac-field-font-size-lg)}.ac-component .c-input-row--lg .c-placeholder{font-size:var(--ac-field-font-size-lg);padding:var(--ac-input-padding-lg)}.ac-component .c-input-row--lg .c-input{padding:var(--ac-input-padding-lg);font-size:var(--ac-field-font-size-lg)}.ac-component .c-icon-btn{display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);cursor:pointer;transition:color .15s}.ac-component .c-icon-btn--clear{color:var(--neutral-400);padding-left:0;padding-right:.375rem}.ac-component .c-icon-btn--clear:hover{color:var(--ac-color-error)}.ac-component .c-icon-btn--chevron{color:var(--neutral-500);transition:transform .2s}.ac-component .c-icon-btn--chevron-open{transform:rotate(180deg)}.ac-component .c-icon-btn--calendar{font-size:.925rem;color:var(--neutral-500);padding-inline:.375rem}.ac-component .c-icon-btn--calendar:hover{color:var(--site-500)}.ac-component .c-icon-btn--hidden{visibility:hidden;pointer-events:none}.ac-component .c-dropdown{position:absolute;top:calc(100% + .25rem);left:0;z-index:1000;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--ac-field-border-radius);box-shadow:0 4px 12px rgba(0,0,0,.5);overflow:hidden}.ac-component .c-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1rem;padding:.5rem;border-top:1px solid var(--neutral-100)}.ac-component .c-checkbox{display:inline-block;width:1rem;height:1rem;vertical-align:middle;position:relative;cursor:pointer;border:1.5px solid var(--neutral-300);border-radius:.25rem;background:var(--neutral-0);transition:border-color .15s,background-color .15s}.ac-component .c-checkbox:hover{border-color:var(--ac-color-info);background:var(--premium-300)}.ac-component .c-checkbox::after{content:"";position:absolute;top:50%;left:50%;width:.3rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg);opacity:0}.ac-component .c-checkbox--checked,.ac-component .c-checkbox:checked{border-color:var(--ac-color-info);background:var(--ac-color-info)}.ac-component .c-checkbox--checked::after,.ac-component .c-checkbox:checked::after{opacity:1}.ac-component .c-checkbox--checked:hover,.ac-component .c-checkbox:checked:hover{background:var(--premium-300)}.ac-component .c-checkbox--disabled,.ac-component .c-checkbox:disabled{opacity:.5;cursor:not-allowed}.ac-component input.c-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0}.ac-component .c-checkbox-wrapper{display:inline-flex;align-items:center;line-height:1}.ac-component .c-checkbox-wrapper .c-checkbox-inner{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox{border-color:var(--ac-color-primary);background:rgba(var(--ac-color-primary-rgb), 0.2)}.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox:checked,.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox--checked{background:var(--ac-color-darker-blue)}.ac-component .c-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--neutral-600)}.ac-component .c-label--on-border{position:absolute;top:-0.5lh;left:.5rem;padding:0 .125rem;font-size:.7rem;background:var(--neutral-0);text-transform:none}.ac-component .c-btn-group{display:inline-flex;border-radius:var(--ac-field-border-radius);overflow:hidden}.ac-component .c-btn-group>*{border-radius:0 !important}.ac-component .c-btn-group>*:not(:last-child){border-right-width:0 !important}.ac-component .c-btn-group>*:first-child{border-top-left-radius:var(--ac-field-border-radius) !important;border-bottom-left-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group>*:last-child{border-top-right-radius:var(--ac-field-border-radius) !important;border-bottom-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group-vertical{display:inline-flex;flex-direction:column;border-radius:var(--ac-field-border-radius);overflow:hidden}.ac-component .c-btn-group-vertical>*{border-radius:0 !important;width:100%}.ac-component .c-btn-group-vertical>*:not(:last-child){border-bottom-width:0 !important}.ac-component .c-btn-group-vertical>*:first-child{border-top-left-radius:var(--ac-field-border-radius) !important;border-top-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group-vertical>*:last-child{border-bottom-left-radius:var(--ac-field-border-radius) !important;border-bottom-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn{--btn-color: var(--neutral-200);--btn-bg: var(--background-50);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-100);--btn-hover-border: var(--neutral-300);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700);font-family:var(--ac-font-family);letter-spacing:-0.18px;display:inline-flex;align-items:center;gap:.375em;padding:var(--ac-field-padding);border:1px solid var(--btn-color);border-radius:var(--ac-field-border-radius);background:var(--btn-bg);color:var(--btn-text);font-size:var(--ac-field-font-size);font-weight:500;cursor:pointer;text-transform:capitalize;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.ac-component .c-btn:hover,.ac-component .c-btn:active{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.ac-component .c-btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(242,101,34,.12)}.ac-component .c-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ac-component .c-btn .c-btn-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;margin-left:.5rem;padding:0 .35rem;padding-right:.375rem;border-radius:999px;color:var(--btn-indicator-text);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;background:var(--btn-indicator-bg)}.ac-component .c-btn-sm{padding:var(--ac-field-padding-sm);font-size:var(--ac-field-font-size-sm);border-radius:var(--ac-field-border-radius-sm)}.ac-component .c-btn-lg{padding:var(--ac-field-padding-lg);font-size:var(--ac-field-font-size-lg);border-radius:var(--ac-field-border-radius-lg)}.ac-component .c-btn-dark{--btn-color: var(--neutral-800);--btn-bg: var(--neutral-800);--btn-text: var(--neutral-0);--btn-hover-bg: var(--neutral-900);--btn-hover-border: var(--neutral-900);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-800)}.ac-component .c-btn-outline{--btn-bg: transparent;--btn-color: var(--neutral-300);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-800);--btn-hover-border: var(--neutral-500);--btn-indicator-bg: var(--neutral-100);--btn-indicator-text: var(--neutral-800)}.ac-component .c-btn-outline:hover,.ac-component .c-btn-outline:active{color:var(--neutral-0)}.ac-component .c-btn-success{--btn-color: var(--ac-color-success);--btn-bg: var(--ac-color-success);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-success) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-success) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-success)}.ac-component .c-btn-error{--btn-color: var(--ac-color-error);--btn-bg: var(--ac-color-error);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-error) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-error) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-error)}.ac-component .c-btn-warning{--btn-color: var(--ac-color-warning);--btn-bg: var(--ac-color-warning);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-warning) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-warning) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-warning)}.ac-component .c-btn-info{--btn-color: var(--ac-color-info);--btn-bg: var(--ac-color-info);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-info) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-info) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-info)}.ac-component .c-btn-outline.c-btn-success{--btn-bg: transparent;--btn-text: var(--ac-color-success);--btn-hover-bg: var(--ac-color-success);--btn-hover-border: var(--ac-color-success);--btn-indicator-bg: var(--ac-color-success);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-success:hover,.ac-component .c-btn-outline.c-btn-success:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-error{--btn-bg: transparent;--btn-text: var(--ac-color-error);--btn-hover-bg: var(--ac-color-error);--btn-hover-border: var(--ac-color-error);--btn-indicator-bg: var(--ac-color-error);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-error:hover,.ac-component .c-btn-outline.c-btn-error:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-warning{--btn-bg: transparent;--btn-text: var(--ac-color-warning);--btn-hover-bg: var(--ac-color-warning);--btn-hover-border: var(--ac-color-warning);--btn-indicator-bg: var(--ac-color-warning);--btn-indicator-text: var(--neutral-900)}.ac-component .c-btn-outline.c-btn-warning:hover,.ac-component .c-btn-outline.c-btn-warning:active{color:var(--neutral-900);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-info{--btn-bg: transparent;--btn-text: var(--ac-color-info);--btn-hover-bg: var(--ac-color-info);--btn-hover-border: var(--ac-color-info);--btn-indicator-bg: var(--ac-color-info);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-info:hover,.ac-component .c-btn-outline.c-btn-info:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-dark{--btn-bg: transparent;--btn-color: var(--neutral-800);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-800);--btn-hover-border: var(--neutral-800);--btn-indicator-bg: var(--neutral-800);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-dark:hover,.ac-component .c-btn-outline.c-btn-dark:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .vf-checkbox-wrapper{display:flex;align-items:center;gap:.25rem}.ac-component .vf-input-field::placeholder{color:var(--ac-placeholder-color)}/*# sourceMappingURL=main.css.map */
1
+ @import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css";@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/regular.min.css";:root{--ac-font-family: 'Geist', 'Segoe UI', system-ui, -apple-system, sans-serif;--background-50: #f7f9f9;--background-100: #eff3f3;--neutral-0: #fff;--neutral-50: #f2f4f4;--neutral-100: #e5e9ea;--neutral-150: #dae0e1;--neutral-200: #cbd3d4;--neutral-250: #bec8ca;--neutral-300: #b0bdbf;--neutral-400: #96a7a9;--neutral-500: #7c9194;--neutral-600: #637476;--neutral-700: #4a5759;--neutral-800: #323a3b;--neutral-900: #1f2d2d;--site-50: #ffebe1;--site-100: #ffceb6;--site-200: #f79d71;--site-300: #f5844e;--site-500: #f26522;--site-600: #da5b1f;--site-700: #c2511b;--premium-50: #dfefef;--premium-100: #cfe7e6;--premium-200: #bfdfde;--premium-300: #9ed0ce;--premium-400: #7ec0bd;--premium-500: #5eb0ad;--premium-600: #4b8d8a;--premium-700: #386a68;--pulse-10: #e0d8f1;--pulse-100: #a18ad5;--pulse-400: #7250c0;--pulse-500: #623cb9;--ac-color-error: #d92d20;--ac-color-warning: #dc6803;--ac-color-success: #067647;--ac-color-success-rgb: 6, 118, 71;--ac-color-info: #1570ef;--ac-color-info-rgb: 21, 112, 239;--ac-color-text: var(--neutral-800);--ac-color-darker-blue: #1246d4;--ac-color-lighter-blue: rgb(45 126 241);--ac-color-primary: var(--ac-color-info);--ac-color-primary-rgb: var(--ac-color-info-rgb);--ac-input-padding: 0.5rem;--ac-input-padding-sm: 0.3125rem;--ac-input-padding-lg: 0.75rem;--ac-field-padding: 0.5rem 0.75rem;--ac-field-padding-sm: 0.3125rem 0.625rem;--ac-field-padding-lg: 0.6875rem 1rem;--ac-field-font-size: 0.825rem;--ac-field-font-size-sm: 0.75rem;--ac-field-font-size-lg: 0.9375rem;--ac-field-border-radius: 0.5rem;--ac-field-border-radius-sm: 0.375rem;--ac-field-border-radius-lg: 0.625rem;--ac-dropdown-max-height: 18rem;--ac-section-bottom-margin: 1rem;--ac-placeholder-color: var(--neutral-600)}@media(prefers-reduced-motion: no-preference){html{interpolate-size:allow-keywords}}.ac-component{font-family:var(--ac-font-family);letter-spacing:-0.18px;color:var(--neutral-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}.ac-component.v-tooltip{background:var(--neutral-800);font-family:var(--ac-font-family);color:var(--neutral-0);font-size:.8125rem;font-weight:400;line-height:1.4;padding:var(--ac-field-padding);border-radius:.5rem;white-space:normal;width:max-content;box-shadow:0 2px 6px rgba(0,0,0,.12)}.ac-component{--vf-ring-color: var(--ac-color-primary);--vf-primary: var(--ac-color-primary);--vf-border-color-checked: var(--ac-color-primary)}.ac-component *,.ac-component *::before,.ac-component *::after{box-sizing:border-box}.ac-component img,.ac-component picture,.ac-component video,.ac-component canvas,.ac-component svg{display:block;max-width:100%}.ac-component input,.ac-component button,.ac-component textarea,.ac-component select{font-family:inherit}.ac-component p,.ac-component h1,.ac-component h2,.ac-component h3,.ac-component h4,.ac-component h5,.ac-component h6{overflow-wrap:break-word}.ac-component *{margin:0}.ac-component .fa-tag,.ac-component .fa-arrow-rotate-right{transform:translateY(0.5px)}.ac-component .align-center-fix{transform:translateY(0.5px)}.ac-component hr.separator{border:none;border-top:1px solid var(--neutral-200);margin:.5rem 0}.ac-component .lh-1{line-height:1}.ac-component .flex-center{display:flex;align-items:center}.ac-component .click-expand{--expand-size: 0.5rem}.ac-component .click-expand::after{content:"";position:absolute;inset:calc(-1*var(--expand-size))}.ac-component .m-0{margin:0 !important}.ac-component .mx-0{margin-left:0 !important;margin-right:0 !important}.ac-component .my-0{margin-top:0 !important;margin-bottom:0 !important}.ac-component .mt-0{margin-top:0 !important}.ac-component .mb-0{margin-bottom:0 !important}.ac-component .ml-0{margin-left:0 !important}.ac-component .mr-0{margin-right:0 !important}.ac-component .m-1{margin:.25rem !important}.ac-component .mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.ac-component .my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.ac-component .mt-1{margin-top:.25rem !important}.ac-component .mb-1{margin-bottom:.25rem !important}.ac-component .ml-1{margin-left:.25rem !important}.ac-component .mr-1{margin-right:.25rem !important}.ac-component .m-2{margin:.5rem !important}.ac-component .mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.ac-component .my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.ac-component .mt-2{margin-top:.5rem !important}.ac-component .mb-2{margin-bottom:.5rem !important}.ac-component .ml-2{margin-left:.5rem !important}.ac-component .mr-2{margin-right:.5rem !important}.ac-component .m-3{margin:1rem !important}.ac-component .mx-3{margin-left:1rem !important;margin-right:1rem !important}.ac-component .my-3{margin-top:1rem !important;margin-bottom:1rem !important}.ac-component .mt-3{margin-top:1rem !important}.ac-component .mb-3{margin-bottom:1rem !important}.ac-component .ml-3{margin-left:1rem !important}.ac-component .mr-3{margin-right:1rem !important}.ac-component .m-4{margin:1.5rem !important}.ac-component .mx-4{margin-left:1.5rem !important;margin-right:1.5rem !important}.ac-component .my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.ac-component .mt-4{margin-top:1.5rem !important}.ac-component .mb-4{margin-bottom:1.5rem !important}.ac-component .ml-4{margin-left:1.5rem !important}.ac-component .mr-4{margin-right:1.5rem !important}.ac-component .m-5{margin:3rem !important}.ac-component .mx-5{margin-left:3rem !important;margin-right:3rem !important}.ac-component .my-5{margin-top:3rem !important;margin-bottom:3rem !important}.ac-component .mt-5{margin-top:3rem !important}.ac-component .mb-5{margin-bottom:3rem !important}.ac-component .ml-5{margin-left:3rem !important}.ac-component .mr-5{margin-right:3rem !important}.ac-component .m-auto{margin:auto !important}.ac-component .mx-auto{margin-left:auto !important;margin-right:auto !important}.ac-component .my-auto{margin-top:auto !important;margin-bottom:auto !important}.ac-component .mt-auto{margin-top:auto !important}.ac-component .mb-auto{margin-bottom:auto !important}.ac-component .ml-auto{margin-left:auto !important}.ac-component .mr-auto{margin-right:auto !important}.ac-component .p-0{padding:0 !important}.ac-component .px-0{padding-left:0 !important;padding-right:0 !important}.ac-component .py-0{padding-top:0 !important;padding-bottom:0 !important}.ac-component .pt-0{padding-top:0 !important}.ac-component .pb-0{padding-bottom:0 !important}.ac-component .pl-0{padding-left:0 !important}.ac-component .pr-0{padding-right:0 !important}.ac-component .p-1{padding:.25rem !important}.ac-component .px-1{padding-left:.25rem !important;padding-right:.25rem !important}.ac-component .py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.ac-component .pt-1{padding-top:.25rem !important}.ac-component .pb-1{padding-bottom:.25rem !important}.ac-component .pl-1{padding-left:.25rem !important}.ac-component .pr-1{padding-right:.25rem !important}.ac-component .p-2{padding:.5rem !important}.ac-component .px-2{padding-left:.5rem !important;padding-right:.5rem !important}.ac-component .py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.ac-component .pt-2{padding-top:.5rem !important}.ac-component .pb-2{padding-bottom:.5rem !important}.ac-component .pl-2{padding-left:.5rem !important}.ac-component .pr-2{padding-right:.5rem !important}.ac-component .p-3{padding:1rem !important}.ac-component .px-3{padding-left:1rem !important;padding-right:1rem !important}.ac-component .py-3{padding-top:1rem !important;padding-bottom:1rem !important}.ac-component .pt-3{padding-top:1rem !important}.ac-component .pb-3{padding-bottom:1rem !important}.ac-component .pl-3{padding-left:1rem !important}.ac-component .pr-3{padding-right:1rem !important}.ac-component .p-4{padding:1.5rem !important}.ac-component .px-4{padding-left:1.5rem !important;padding-right:1.5rem !important}.ac-component .py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.ac-component .pt-4{padding-top:1.5rem !important}.ac-component .pb-4{padding-bottom:1.5rem !important}.ac-component .pl-4{padding-left:1.5rem !important}.ac-component .pr-4{padding-right:1.5rem !important}.ac-component .p-5{padding:3rem !important}.ac-component .px-5{padding-left:3rem !important;padding-right:3rem !important}.ac-component .py-5{padding-top:3rem !important;padding-bottom:3rem !important}.ac-component .pt-5{padding-top:3rem !important}.ac-component .pb-5{padding-bottom:3rem !important}.ac-component .pl-5{padding-left:3rem !important}.ac-component .pr-5{padding-right:3rem !important}.ac-component .gap-0{gap:0 !important}.ac-component .gap-1{gap:.25rem !important}.ac-component .gap-2{gap:.5rem !important}.ac-component .gap-3{gap:1rem !important}.ac-component .gap-4{gap:1.5rem !important}.ac-component .gap-5{gap:3rem !important}.ac-component .d-flex{display:flex !important}.ac-component .d-inline-flex{display:inline-flex !important}.ac-component .d-block{display:block !important}.ac-component .d-inline-block{display:inline-block !important}.ac-component .flex-wrap{flex-wrap:wrap}.ac-component .flex-column{flex-direction:column}.ac-component .text-center{text-align:center}.ac-component .w-100{width:100% !important}.ac-component .mw-100{max-width:100% !important}.ac-component .h-100{height:100% !important}.ac-component .mh-100{max-height:100% !important}.ac-component .pointer{cursor:pointer}.ac-component .nowrap{white-space:nowrap}.ac-component .align-items-center{align-items:center}.ac-component .text-primary,.ac-component .text-normal{color:var(--neutral-800) !important}.ac-component .text-info{color:var(--ac-color-info) !important}.ac-component .text-success{color:var(--ac-color-success) !important}.ac-component .text-warning{color:var(--ac-color-warning) !important}.ac-component .text-error,.ac-component .text-danger{color:var(--ac-color-error) !important}.ac-component .lh-normal{line-height:normal !important}.ac-component .lh-1{line-height:1 !important}.ac-component .hide,.ac-component .hidden{display:none !important}.ac-component .c-wrapper{position:relative}.ac-component .c-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-component .c-field-size{font-size:var(--ac-field-font-size);padding:var(--ac-field-padding)}.ac-component .c-field-size--sm,.ac-component .c-field-size--small{font-size:var(--ac-field-font-size-sm);padding:var(--ac-field-padding-sm)}.ac-component .c-field-size--lg,.ac-component .c-field-size--large{font-size:var(--ac-field-font-size-lg);padding:var(--ac-field-padding-lg)}.ac-component .c-type-color{--text-color: var(--neutral-800);--hover-bg-color: var(--neutral-100);--hover-text-color: var(--neutral-800);color:var(--text-color)}.ac-component .c-type-color:hover{background-color:var(--hover-bg-color);color:var(--hover-text-color)}.ac-component .c-type-color--error{--text-color: var(--ac-color-error);--hover-bg-color: var(--ac-color-error);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--success{--text-color: var(--ac-color-success);--hover-bg-color: var(--ac-color-success);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--warning{--text-color: var(--ac-color-warning);--hover-bg-color: var(--ac-color-warning);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--info{--text-color: var(--ac-color-info);--hover-bg-color: var(--ac-color-info);--hover-text-color: var(--neutral-0)}.ac-component .c-type-color--dark{--text-color: var(--neutral-0);--hover-bg-color: var(--neutral-800);--hover-text-color: var(--neutral-0)}.ac-component .c-chip{display:inline-flex;padding:0;border-radius:.25rem;background:var(--neutral-100);color:var(--neutral-700);font-size:.75rem;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-component .c-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:999px;background:var(--neutral-200);color:var(--neutral-700);font-family:var(--ac-font-family);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}.ac-component .c-scroll{scrollbar-width:thin;scrollbar-color:var(--neutral-300) rgba(0,0,0,0)}.ac-component .c-scroll::-webkit-scrollbar{width:.5rem;height:.5rem}.ac-component .c-scroll::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.ac-component .c-scroll::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:999px;border:2px solid rgba(0,0,0,0);background-clip:content-box;transition:background-color .15s}.ac-component .c-scroll::-webkit-scrollbar-thumb:hover{background:var(--neutral-500);background-clip:content-box}.ac-component .c-scroll::-webkit-scrollbar-corner{background:rgba(0,0,0,0)}.ac-component .c-placeholder{flex:1;font-style:italic;min-width:0;padding:var(--ac-input-padding);color:var(--ac-placeholder-color)}.ac-component .c-input{width:100%;font-family:inherit;letter-spacing:-0.36px;border:none;background:rgba(0,0,0,0);padding:var(--ac-input-padding);font-size:var(--ac-field-font-size);color:var(--neutral-900)}.ac-component .c-input::placeholder{color:var(--ac-placeholder-color);font-style:italic}.ac-component .c-input:-webkit-autofill,.ac-component .c-input:-webkit-autofill:hover,.ac-component .c-input:-webkit-autofill:focus,.ac-component .c-input:-webkit-autofill:active{border-radius:inherit}.ac-component .c-input:focus,.ac-component .c-input:focus-within,.ac-component .c-input:focus-visible,.ac-component .c-focus:focus,.ac-component .c-focus:focus-within,.ac-component .c-focus:focus-visible{border-color:var(--ac-color-lighter-blue);outline:0}.ac-component .c-input-wrapper{position:relative;display:flex;flex-direction:column;gap:.25rem}.ac-component .c-textarea{resize:none}.ac-component .c-input-row{display:flex;align-items:center;font-family:inherit;border:1px solid var(--neutral-200);border-radius:var(--ac-field-border-radius);background:var(--neutral-0);font-size:var(--ac-field-font-size);color:var(--neutral-900);transition:border-color .15s}.ac-component .c-input-row::placeholder{color:var(--ac-placeholder-color);font-style:italic}.ac-component .c-input-row--disabled{background:var(--neutral-50);cursor:not-allowed}.ac-component .c-input-row:is(input,textarea){padding:var(--ac-input-padding)}.ac-component .c-input-row:hover{border-color:var(--neutral-300)}.ac-component .c-input-row:focus-within,.ac-component .c-input-row:focus,.ac-component .c-input-row:focus-visible,.ac-component .c-input-row--focus{border-color:var(--ac-color-lighter-blue);box-shadow:0 0 0 2px rgba(21,112,239,.1)}.ac-component .c-input-row:focus-within:hover,.ac-component .c-input-row:focus:hover,.ac-component .c-input-row:focus-visible:hover,.ac-component .c-input-row--focus:hover{border-color:var(--ac-color-darker-blue)}.ac-component .c-input-row--sm{border-radius:var(--ac-field-border-radius-sm);font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--sm:is(input,textarea){padding:var(--ac-input-padding-sm)}.ac-component .c-input-row--sm .c-icon-btn{font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--sm .c-placeholder{font-size:var(--ac-field-font-size-sm);padding:var(--ac-input-padding-sm)}.ac-component .c-input-row--sm .c-input{padding:var(--ac-input-padding-sm);font-size:var(--ac-field-font-size-sm)}.ac-component .c-input-row--lg{border-radius:var(--ac-field-border-radius-lg);font-size:var(--ac-field-font-size-lg)}.ac-component .c-input-row--lg:is(input,textarea){padding:var(--ac-input-padding-lg)}.ac-component .c-input-row--lg .c-icon-btn{font-size:var(--ac-field-font-size-lg)}.ac-component .c-input-row--lg .c-placeholder{font-size:var(--ac-field-font-size-lg);padding:var(--ac-input-padding-lg)}.ac-component .c-input-row--lg .c-input{padding:var(--ac-input-padding-lg);font-size:var(--ac-field-font-size-lg)}.ac-component .c-icon-btn{display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);cursor:pointer;transition:color .15s}.ac-component .c-icon-btn--clear{color:var(--neutral-400);padding-left:0;padding-right:.375rem}.ac-component .c-icon-btn--clear:hover{color:var(--ac-color-error)}.ac-component .c-icon-btn--chevron{color:var(--neutral-500);transition:transform .2s}.ac-component .c-icon-btn--chevron-open{transform:rotate(180deg)}.ac-component .c-icon-btn--calendar{font-size:.925rem;color:var(--neutral-500);padding-inline:.375rem}.ac-component .c-icon-btn--calendar:hover{color:var(--site-500)}.ac-component .c-icon-btn--hidden{visibility:hidden;pointer-events:none}.ac-component .c-dropdown{position:absolute;top:calc(100% + .25rem);left:0;z-index:1000;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--ac-field-border-radius);box-shadow:0 4px 12px rgba(0,0,0,.5);overflow:hidden}.ac-component .c-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1rem;padding:.5rem;border-top:1px solid var(--neutral-100)}.ac-component .c-checkbox{display:inline-block;width:1rem;height:1rem;vertical-align:middle;position:relative;cursor:pointer;border:1.5px solid var(--neutral-300);border-radius:.25rem;background:var(--neutral-0);transition:border-color .15s,background-color .15s}.ac-component .c-checkbox:hover{border-color:var(--ac-color-info);background:var(--premium-300)}.ac-component .c-checkbox::after{content:"";position:absolute;top:50%;left:50%;width:.3rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%, -60%) rotate(45deg);opacity:0}.ac-component .c-checkbox--checked,.ac-component .c-checkbox:checked{border-color:var(--ac-color-info);background:var(--ac-color-info)}.ac-component .c-checkbox--checked::after,.ac-component .c-checkbox:checked::after{opacity:1}.ac-component .c-checkbox--checked:hover,.ac-component .c-checkbox:checked:hover{background:var(--premium-300)}.ac-component .c-checkbox--disabled,.ac-component .c-checkbox:disabled{opacity:.5;cursor:not-allowed}.ac-component input.c-checkbox{appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0}.ac-component .c-checkbox-wrapper{display:inline-flex;align-items:center;line-height:1}.ac-component .c-checkbox-wrapper .c-checkbox-inner{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox{border-color:var(--ac-color-primary);background:rgba(var(--ac-color-primary-rgb), 0.2)}.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox:checked,.ac-component .c-checkbox-wrapper .c-checkbox-inner:hover .c-checkbox--checked{background:var(--ac-color-darker-blue)}.ac-component .c-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--neutral-600)}.ac-component .c-label--on-border{position:absolute;top:-0.5lh;left:.5rem;padding:0 .125rem;font-size:.7rem;background:var(--neutral-0);text-transform:none}.ac-component .c-btn-group{display:inline-flex;border-radius:var(--ac-field-border-radius);overflow:hidden}.ac-component .c-btn-group>*{border-radius:0 !important}.ac-component .c-btn-group>*:not(:last-child){border-right-width:0 !important}.ac-component .c-btn-group>*:first-child{border-top-left-radius:var(--ac-field-border-radius) !important;border-bottom-left-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group>*:last-child{border-top-right-radius:var(--ac-field-border-radius) !important;border-bottom-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group-vertical{display:inline-flex;flex-direction:column;border-radius:var(--ac-field-border-radius);overflow:hidden}.ac-component .c-btn-group-vertical>*{border-radius:0 !important;width:100%}.ac-component .c-btn-group-vertical>*:not(:last-child){border-bottom-width:0 !important}.ac-component .c-btn-group-vertical>*:first-child{border-top-left-radius:var(--ac-field-border-radius) !important;border-top-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn-group-vertical>*:last-child{border-bottom-left-radius:var(--ac-field-border-radius) !important;border-bottom-right-radius:var(--ac-field-border-radius) !important}.ac-component .c-btn{--btn-color: var(--neutral-200);--btn-bg: var(--background-50);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-100);--btn-hover-border: var(--neutral-300);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700);font-family:var(--ac-font-family);letter-spacing:-0.18px;display:inline-flex;align-items:center;gap:.375em;padding:var(--ac-field-padding);border:1px solid var(--btn-color);border-radius:var(--ac-field-border-radius);background:var(--btn-bg);color:var(--btn-text);font-size:var(--ac-field-font-size);font-weight:500;cursor:pointer;text-transform:capitalize;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.ac-component .c-btn:hover,.ac-component .c-btn:active{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.ac-component .c-btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(242,101,34,.12)}.ac-component .c-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ac-component .c-btn .c-btn-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;margin-left:.5rem;padding:0 .35rem;padding-right:.375rem;border-radius:999px;color:var(--btn-indicator-text);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600;background:var(--btn-indicator-bg)}.ac-component .c-btn-sm{padding:var(--ac-field-padding-sm);font-size:var(--ac-field-font-size-sm);border-radius:var(--ac-field-border-radius-sm)}.ac-component .c-btn-lg{padding:var(--ac-field-padding-lg);font-size:var(--ac-field-font-size-lg);border-radius:var(--ac-field-border-radius-lg)}.ac-component .c-btn-dark{--btn-color: var(--neutral-800);--btn-bg: var(--neutral-800);--btn-text: var(--neutral-0);--btn-hover-bg: var(--neutral-900);--btn-hover-border: var(--neutral-900);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-800)}.ac-component .c-btn-outline{--btn-bg: transparent;--btn-color: var(--neutral-300);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-800);--btn-hover-border: var(--neutral-500);--btn-indicator-bg: var(--neutral-100);--btn-indicator-text: var(--neutral-800)}.ac-component .c-btn-outline:hover,.ac-component .c-btn-outline:active{color:var(--neutral-0)}.ac-component .c-btn-success{--btn-color: var(--ac-color-success);--btn-bg: var(--ac-color-success);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-success) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-success) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-success)}.ac-component .c-btn-error{--btn-color: var(--ac-color-error);--btn-bg: var(--ac-color-error);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-error) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-error) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-error)}.ac-component .c-btn-warning{--btn-color: var(--ac-color-warning);--btn-bg: var(--ac-color-warning);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-warning) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-warning) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-warning)}.ac-component .c-btn-info{--btn-color: var(--ac-color-info);--btn-bg: var(--ac-color-info);--btn-text: var(--neutral-0);--btn-hover-bg: color-mix(in srgb, var(--ac-color-info) 85%, black);--btn-hover-border: color-mix(in srgb, var(--ac-color-info) 85%, black);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--ac-color-info)}.ac-component .c-btn-outline.c-btn-success{--btn-bg: transparent;--btn-text: var(--ac-color-success);--btn-hover-bg: var(--ac-color-success);--btn-hover-border: var(--ac-color-success);--btn-indicator-bg: var(--ac-color-success);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-success:hover,.ac-component .c-btn-outline.c-btn-success:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-error{--btn-bg: transparent;--btn-text: var(--ac-color-error);--btn-hover-bg: var(--ac-color-error);--btn-hover-border: var(--ac-color-error);--btn-indicator-bg: var(--ac-color-error);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-error:hover,.ac-component .c-btn-outline.c-btn-error:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-warning{--btn-bg: transparent;--btn-text: var(--ac-color-warning);--btn-hover-bg: var(--ac-color-warning);--btn-hover-border: var(--ac-color-warning);--btn-indicator-bg: var(--ac-color-warning);--btn-indicator-text: var(--neutral-900)}.ac-component .c-btn-outline.c-btn-warning:hover,.ac-component .c-btn-outline.c-btn-warning:active{color:var(--neutral-900);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-info{--btn-bg: transparent;--btn-text: var(--ac-color-info);--btn-hover-bg: var(--ac-color-info);--btn-hover-border: var(--ac-color-info);--btn-indicator-bg: var(--ac-color-info);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-info:hover,.ac-component .c-btn-outline.c-btn-info:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .c-btn-outline.c-btn-dark{--btn-bg: transparent;--btn-color: var(--neutral-800);--btn-text: var(--neutral-800);--btn-hover-bg: var(--neutral-800);--btn-hover-border: var(--neutral-800);--btn-indicator-bg: var(--neutral-800);--btn-indicator-text: var(--neutral-0)}.ac-component .c-btn-outline.c-btn-dark:hover,.ac-component .c-btn-outline.c-btn-dark:active{color:var(--neutral-0);--btn-indicator-bg: var(--neutral-0);--btn-indicator-text: var(--neutral-700)}.ac-component .vf-checkbox-wrapper{display:flex;align-items:center;gap:.25rem}.ac-component .vf-input-field::placeholder{color:var(--ac-placeholder-color)}/*# sourceMappingURL=main.css.map */
package/dist/main.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/styles/_global.scss","../src/styles/_variables.scss","../src/styles/main.scss","../src/styles/_base.scss","../src/styles/_utility.scss","../src/styles/_controls.scss","../src/styles/_buttons.scss","../src/styles/_vueform.scss"],"names":[],"mappings":"AAAQ,mFACA,2FACA,qFACA,uFCHR,MACE,4EAEA,yBACA,0BAEA,kBACA,sBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBAEA,mBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBAEA,sBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBAEA,oBACA,qBACA,qBACA,qBAEA,0BACA,4BACA,4BACA,yBACA,kCAEA,gCACA,yCAEA,yCACA,iDAEA,2BACA,iCACA,+BAEA,mCACA,0CACA,sCACA,+BACA,iCACA,mCACA,iCACA,sCACA,sCAEA,gCAEA,iCAEA,2CDnEF,8CACE,KACE,iCAIJ,cACE,kCACA,uBACA,yBACA,mCACA,kCACA,sBAEA,wBACE,8BACA,kCACA,uBACA,mBACA,gBACA,gBACA,gCACA,oBACA,mBACA,kBACA,qCErBJ,cCPE,yCACA,sCACA,mDAGA,+DAGE,sBAGF,mGAKE,cACA,eAGF,qFAIE,oBAEF,sHAOE,yBAEF,gBACE,SAQF,2DAEE,4BAGF,gCACE,4BAGF,2BACE,YACA,wCACA,eAGF,oBACE,cAGF,2BACE,aACA,mBAGF,4BACE,sBAEA,mCACE,WACA,kBACA,kCClDA,mBACE,oBAGF,oBACE,yBACA,0BAGF,oBACE,wBACA,2BAIA,oBACE,wBADF,oBACE,2BADF,oBACE,yBADF,oBACE,0BAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BAhBJ,mBACE,uBAGF,oBACE,4BACA,6BAGF,oBACE,2BACA,8BAIA,oBACE,2BADF,oBACE,8BADF,oBACE,4BADF,oBACE,6BAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,uBAGF,oBACE,4BACA,6BAGF,oBACE,2BACA,8BAIA,oBACE,2BADF,oBACE,8BADF,oBACE,4BADF,oBACE,6BAMJ,sBACE,uBAEF,uBACE,4BACA,6BAEF,uBACE,2BACA,8BAGA,uBACE,2BADF,uBACE,8BADF,uBACE,4BADF,uBACE,6BAnCJ,mBACE,qBAGF,oBACE,0BACA,2BAGF,oBACE,yBACA,4BAIA,oBACE,yBADF,oBACE,4BADF,oBACE,0BADF,oBACE,2BAhBJ,mBACE,0BAGF,oBACE,+BACA,gCAGF,oBACE,8BACA,iCAIA,oBACE,8BADF,oBACE,iCADF,oBACE,+BADF,oBACE,gCAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BAhBJ,mBACE,0BAGF,oBACE,+BACA,gCAGF,oBACE,8BACA,iCAIA,oBACE,8BADF,oBACE,iCADF,oBACE,+BADF,oBACE,gCAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BA0BN,qBACE,iBADF,qBACE,sBADF,qBACE,qBADF,qBACE,oBADF,qBACE,sBADF,qBACE,oBAIJ,sBACE,wBAGF,6BACE,+BAGF,uBACE,yBAGF,8BACE,gCAGF,yBACE,eAGF,2BACE,sBAGF,2BACE,kBAGF,qBACE,sBAGF,sBACE,0BAGF,qBACE,uBAGF,sBACE,2BAGF,uBACE,eAGF,sBACE,mBAGF,kCACE,mBAGF,uDAEE,oCAEF,yBACE,sCAEF,4BACE,yCAEF,4BACE,yCAEF,qDAEE,uCAGF,yBACE,8BAGF,oBACE,yBAGF,0CACE,wBC3JF,yBACE,kBAGF,0BACE,gBACA,uBACA,mBAGF,4BACE,oCACA,gCAEA,mEAEE,uCACA,mCAGF,mEAEE,uCACA,mCAIJ,4BACE,iCACA,qCACA,uCAEA,wBACA,kCACE,uCACA,8BAEF,mCACE,oCACA,wCACA,qCAEF,qCACE,sCACA,0CACA,qCAEF,qCACE,sCACA,0CACA,qCAEF,kCACE,mCACA,uCACA,qCAEF,kCACE,+BACA,qCACA,qCAIJ,sBACE,oBACA,UACA,qBACA,8BACA,yBACA,iBACA,gBACA,eACA,gBACA,uBACA,mBAGF,2BACE,oBACA,mBACA,uBACA,kBACA,eACA,kBACA,oBACA,8BACA,yBACA,kCACA,gBACA,gBACA,kCAGF,wBACE,qBACA,iDAEA,2CACE,YACA,aAGF,iDACE,yBAGF,iDACE,8BACA,oBACA,+BACA,4BACA,iCAGF,uDACE,8BACA,4BAGF,kDACE,yBAIJ,6BACE,OACA,kBACA,YACA,gCACA,kCAGF,uBACE,WACA,oBACA,uBACA,YACA,yBACA,gCACA,oCACA,yBAEA,oCACE,kCACA,kBAGF,mLAIE,sBASF,4MAGE,0CACA,UAIJ,+BACE,kBACA,aACA,sBACA,WAGF,0BACE,YAGF,2BACE,aACA,mBACA,oBACA,oCACA,4CACA,4BACA,oCACA,yBACA,6BAEA,wCACE,kCACA,kBAGF,qCACE,6BACA,mBAGF,8CACE,gCAGF,iCACE,gCAGF,oJAIE,0CACA,yCAEA,4KACE,yCAIJ,+BACE,+CACA,uCAEA,kDACE,mCAGF,2CACE,uCAGF,8CACE,uCACA,mCAGF,wCACE,mCACA,uCAIJ,+BACE,+CACA,uCAEA,kDACE,mCAGF,2CACE,uCAGF,8CACE,uCACA,mCAGF,wCACE,mCACA,uCAKN,0BACE,aACA,mBACA,uBACA,YACA,yBACA,eACA,sBAEA,iCACE,yBACA,eACA,sBACA,uCACE,4BAIJ,mCACE,yBACA,yBAGF,wCACE,yBAGF,oCACE,kBACA,yBACA,uBACA,0CACE,sBAIJ,kCACE,kBACA,oBAIJ,0BACE,kBACA,wBACA,OACA,aACA,4BACA,oCACA,4CACA,qCACA,gBAGF,wBACE,aACA,mBACA,yBACA,SACA,gBACA,cACA,wCAGF,0BACE,qBACA,WACA,YAEA,sBACA,kBACA,eAEA,sCACA,qBACA,4BAEA,WACE,wCAGF,gCACE,kCACA,8BAGF,iCACE,WACA,kBACA,QACA,SACA,YACA,cACA,kBACA,yBACA,8CACA,UAGF,qEAEE,kCACA,gCAEA,mFACE,UAGF,iFACE,8BAIJ,uEAEE,WACA,mBAIJ,+BACE,gBACA,wBACA,qBACA,SAGF,kCACE,oBACA,mBAEA,cAEA,oDACE,oBACA,mBACA,WACA,eAGE,sEACE,qCACA,kDAEA,6JAEE,uCAOV,uBACE,mBACA,gBACA,yBACA,qBACA,yBAEA,kCACE,kBACA,WACA,WACA,kBACA,gBACA,4BACA,oBAIJ,2BACE,oBACA,4CACA,gBAEA,6BACE,2BAEA,8CACE,gCAIJ,yCACE,gEACA,mEAGF,wCACE,iEACA,oEAIJ,oCACE,oBACA,sBACA,4CACA,gBAEA,sCACE,2BACA,WAEA,uDACE,iCAIJ,kDACE,gEACA,iEAGF,iDACE,mEACA,oECreJ,qBACE,gCACA,+BACA,+BACA,mCACA,uCACA,qCACA,yCAEA,kCACA,uBACA,oBACA,mBACA,WACA,gCACA,kCACA,4CACA,yBACA,sBACA,oCACA,gBACA,eACA,0BAGA,WACE,mEAKF,uDAEE,+BACA,qCAGF,mCACE,aACA,0CAGF,8BACE,WACA,mBACA,oBAGF,sCACE,oBACA,mBACA,uBACA,mBACA,gBACA,kBACA,iBACA,sBACA,oBACA,gCACA,kCACA,iBACA,gBAEA,mCAGF,wBACE,mCACA,uCACA,+CAIF,wBACE,mCACA,uCACA,+CAGF,0BACE,gCACA,6BACA,6BACA,mCACA,uCACA,qCACA,yCAGF,6BACE,sBACA,gCACA,+BACA,mCACA,uCACA,uCACA,yCAEA,uEAEE,uBAIJ,6BACE,qCACA,kCACA,6BACA,uEACA,2EACA,qCACA,8CAGF,2BACE,mCACA,gCACA,6BACA,qEACA,yEACA,qCACA,4CAGF,6BACE,qCACA,kCACA,6BACA,uEACA,2EACA,qCACA,8CAGF,0BACE,kCACA,+BACA,6BACA,oEACA,wEACA,qCACA,2CAKF,2CACE,sBACA,oCACA,wCACA,4CACA,4CACA,uCAEA,mGAEE,uBACA,qCACA,yCAIJ,yCACE,sBACA,kCACA,sCACA,0CACA,0CACA,uCAEA,+FAEE,uBACA,qCACA,yCAIJ,2CACE,sBACA,oCACA,wCACA,4CACA,4CACA,yCAEA,mGAEE,yBACA,qCACA,yCAIJ,wCACE,sBACA,iCACA,qCACA,yCACA,yCACA,uCAEA,6FAEE,uBACA,qCACA,yCAIJ,wCACE,sBACA,gCACA,+BACA,mCACA,uCACA,uCACA,uCAEA,6FAEE,uBACA,qCACA,yCC/NN,mCACE,aACA,mBACA,WAIA,2CACE","file":"main.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/styles/_global.scss","../src/styles/_variables.scss","../src/styles/main.scss","../src/styles/_base.scss","../src/styles/_utility.scss","../src/styles/_controls.scss","../src/styles/_buttons.scss","../src/styles/_vueform.scss"],"names":[],"mappings":"AAAQ,mFACA,2FACA,qFACA,uFCHR,MACE,4EAEA,yBACA,0BAEA,kBACA,sBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBAEA,mBACA,oBACA,oBACA,oBACA,oBACA,oBACA,oBAEA,sBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,uBAEA,oBACA,qBACA,qBACA,qBAEA,0BACA,4BACA,4BACA,mCACA,yBACA,kCAEA,oCAEA,gCACA,yCAEA,yCACA,iDAEA,2BACA,iCACA,+BAEA,mCACA,0CACA,sCACA,+BACA,iCACA,mCACA,iCACA,sCACA,sCAEA,gCAEA,iCAEA,2CDtEF,8CACE,KACE,iCAIJ,cACE,kCACA,uBACA,yBACA,mCACA,kCACA,sBAEA,wBACE,8BACA,kCACA,uBACA,mBACA,gBACA,gBACA,gCACA,oBACA,mBACA,kBACA,qCErBJ,cCPE,yCACA,sCACA,mDAGA,+DAGE,sBAGF,mGAKE,cACA,eAGF,qFAIE,oBAEF,sHAOE,yBAEF,gBACE,SAQF,2DAEE,4BAGF,gCACE,4BAGF,2BACE,YACA,wCACA,eAGF,oBACE,cAGF,2BACE,aACA,mBAGF,4BACE,sBAEA,mCACE,WACA,kBACA,kCClDA,mBACE,oBAGF,oBACE,yBACA,0BAGF,oBACE,wBACA,2BAIA,oBACE,wBADF,oBACE,2BADF,oBACE,yBADF,oBACE,0BAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BAhBJ,mBACE,uBAGF,oBACE,4BACA,6BAGF,oBACE,2BACA,8BAIA,oBACE,2BADF,oBACE,8BADF,oBACE,4BADF,oBACE,6BAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,uBAGF,oBACE,4BACA,6BAGF,oBACE,2BACA,8BAIA,oBACE,2BADF,oBACE,8BADF,oBACE,4BADF,oBACE,6BAMJ,sBACE,uBAEF,uBACE,4BACA,6BAEF,uBACE,2BACA,8BAGA,uBACE,2BADF,uBACE,8BADF,uBACE,4BADF,uBACE,6BAnCJ,mBACE,qBAGF,oBACE,0BACA,2BAGF,oBACE,yBACA,4BAIA,oBACE,yBADF,oBACE,4BADF,oBACE,0BADF,oBACE,2BAhBJ,mBACE,0BAGF,oBACE,+BACA,gCAGF,oBACE,8BACA,iCAIA,oBACE,8BADF,oBACE,iCADF,oBACE,+BADF,oBACE,gCAhBJ,mBACE,yBAGF,oBACE,8BACA,+BAGF,oBACE,6BACA,gCAIA,oBACE,6BADF,oBACE,gCADF,oBACE,8BADF,oBACE,+BAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BAhBJ,mBACE,0BAGF,oBACE,+BACA,gCAGF,oBACE,8BACA,iCAIA,oBACE,8BADF,oBACE,iCADF,oBACE,+BADF,oBACE,gCAhBJ,mBACE,wBAGF,oBACE,6BACA,8BAGF,oBACE,4BACA,+BAIA,oBACE,4BADF,oBACE,+BADF,oBACE,6BADF,oBACE,8BA0BN,qBACE,iBADF,qBACE,sBADF,qBACE,qBADF,qBACE,oBADF,qBACE,sBADF,qBACE,oBAIJ,sBACE,wBAGF,6BACE,+BAGF,uBACE,yBAGF,8BACE,gCAGF,yBACE,eAGF,2BACE,sBAGF,2BACE,kBAGF,qBACE,sBAGF,sBACE,0BAGF,qBACE,uBAGF,sBACE,2BAGF,uBACE,eAGF,sBACE,mBAGF,kCACE,mBAGF,uDAEE,oCAEF,yBACE,sCAEF,4BACE,yCAEF,4BACE,yCAEF,qDAEE,uCAGF,yBACE,8BAGF,oBACE,yBAGF,0CACE,wBC3JF,yBACE,kBAGF,0BACE,gBACA,uBACA,mBAGF,4BACE,oCACA,gCAEA,mEAEE,uCACA,mCAGF,mEAEE,uCACA,mCAIJ,4BACE,iCACA,qCACA,uCAEA,wBACA,kCACE,uCACA,8BAEF,mCACE,oCACA,wCACA,qCAEF,qCACE,sCACA,0CACA,qCAEF,qCACE,sCACA,0CACA,qCAEF,kCACE,mCACA,uCACA,qCAEF,kCACE,+BACA,qCACA,qCAIJ,sBACE,oBACA,UACA,qBACA,8BACA,yBACA,iBACA,gBACA,eACA,gBACA,uBACA,mBAGF,2BACE,oBACA,mBACA,uBACA,kBACA,eACA,kBACA,oBACA,8BACA,yBACA,kCACA,gBACA,gBACA,kCAGF,wBACE,qBACA,iDAEA,2CACE,YACA,aAGF,iDACE,yBAGF,iDACE,8BACA,oBACA,+BACA,4BACA,iCAGF,uDACE,8BACA,4BAGF,kDACE,yBAIJ,6BACE,OACA,kBACA,YACA,gCACA,kCAGF,uBACE,WACA,oBACA,uBACA,YACA,yBACA,gCACA,oCACA,yBAEA,oCACE,kCACA,kBAGF,mLAIE,sBASF,4MAGE,0CACA,UAIJ,+BACE,kBACA,aACA,sBACA,WAGF,0BACE,YAGF,2BACE,aACA,mBACA,oBACA,oCACA,4CACA,4BACA,oCACA,yBACA,6BAEA,wCACE,kCACA,kBAGF,qCACE,6BACA,mBAGF,8CACE,gCAGF,iCACE,gCAGF,oJAIE,0CACA,yCAEA,4KACE,yCAIJ,+BACE,+CACA,uCAEA,kDACE,mCAGF,2CACE,uCAGF,8CACE,uCACA,mCAGF,wCACE,mCACA,uCAIJ,+BACE,+CACA,uCAEA,kDACE,mCAGF,2CACE,uCAGF,8CACE,uCACA,mCAGF,wCACE,mCACA,uCAKN,0BACE,aACA,mBACA,uBACA,YACA,yBACA,eACA,sBAEA,iCACE,yBACA,eACA,sBACA,uCACE,4BAIJ,mCACE,yBACA,yBAGF,wCACE,yBAGF,oCACE,kBACA,yBACA,uBACA,0CACE,sBAIJ,kCACE,kBACA,oBAIJ,0BACE,kBACA,wBACA,OACA,aACA,4BACA,oCACA,4CACA,qCACA,gBAGF,wBACE,aACA,mBACA,yBACA,SACA,gBACA,cACA,wCAGF,0BACE,qBACA,WACA,YAEA,sBACA,kBACA,eAEA,sCACA,qBACA,4BAEA,WACE,wCAGF,gCACE,kCACA,8BAGF,iCACE,WACA,kBACA,QACA,SACA,YACA,cACA,kBACA,yBACA,8CACA,UAGF,qEAEE,kCACA,gCAEA,mFACE,UAGF,iFACE,8BAIJ,uEAEE,WACA,mBAIJ,+BACE,gBACA,wBACA,qBACA,SAGF,kCACE,oBACA,mBAEA,cAEA,oDACE,oBACA,mBACA,WACA,eAGE,sEACE,qCACA,kDAEA,6JAEE,uCAOV,uBACE,mBACA,gBACA,yBACA,qBACA,yBAEA,kCACE,kBACA,WACA,WACA,kBACA,gBACA,4BACA,oBAIJ,2BACE,oBACA,4CACA,gBAEA,6BACE,2BAEA,8CACE,gCAIJ,yCACE,gEACA,mEAGF,wCACE,iEACA,oEAIJ,oCACE,oBACA,sBACA,4CACA,gBAEA,sCACE,2BACA,WAEA,uDACE,iCAIJ,kDACE,gEACA,iEAGF,iDACE,mEACA,oECreJ,qBACE,gCACA,+BACA,+BACA,mCACA,uCACA,qCACA,yCAEA,kCACA,uBACA,oBACA,mBACA,WACA,gCACA,kCACA,4CACA,yBACA,sBACA,oCACA,gBACA,eACA,0BAGA,WACE,mEAKF,uDAEE,+BACA,qCAGF,mCACE,aACA,0CAGF,8BACE,WACA,mBACA,oBAGF,sCACE,oBACA,mBACA,uBACA,mBACA,gBACA,kBACA,iBACA,sBACA,oBACA,gCACA,kCACA,iBACA,gBAEA,mCAGF,wBACE,mCACA,uCACA,+CAIF,wBACE,mCACA,uCACA,+CAGF,0BACE,gCACA,6BACA,6BACA,mCACA,uCACA,qCACA,yCAGF,6BACE,sBACA,gCACA,+BACA,mCACA,uCACA,uCACA,yCAEA,uEAEE,uBAIJ,6BACE,qCACA,kCACA,6BACA,uEACA,2EACA,qCACA,8CAGF,2BACE,mCACA,gCACA,6BACA,qEACA,yEACA,qCACA,4CAGF,6BACE,qCACA,kCACA,6BACA,uEACA,2EACA,qCACA,8CAGF,0BACE,kCACA,+BACA,6BACA,oEACA,wEACA,qCACA,2CAKF,2CACE,sBACA,oCACA,wCACA,4CACA,4CACA,uCAEA,mGAEE,uBACA,qCACA,yCAIJ,yCACE,sBACA,kCACA,sCACA,0CACA,0CACA,uCAEA,+FAEE,uBACA,qCACA,yCAIJ,2CACE,sBACA,oCACA,wCACA,4CACA,4CACA,yCAEA,mGAEE,yBACA,qCACA,yCAIJ,wCACE,sBACA,iCACA,qCACA,yCACA,yCACA,uCAEA,6FAEE,uBACA,qCACA,yCAIJ,wCACE,sBACA,gCACA,+BACA,mCACA,uCACA,uCACA,uCAEA,6FAEE,uBACA,qCACA,yCC/NN,mCACE,aACA,mBACA,WAIA,2CACE","file":"main.css"}
@@ -10,6 +10,7 @@ export interface DropdownSelectConfig {
10
10
  size?: ControlSize;
11
11
  loading?: boolean;
12
12
  highlight?: boolean;
13
+ disabled?: boolean;
13
14
  }
14
15
  export declare const dropdownSelectConfigDefaults: DropdownSelectConfig;
15
16
  export interface DropdownOption {
@@ -7,23 +7,23 @@ export interface HeaderToolbar {
7
7
  export interface HeaderComponentProps {
8
8
  title: string;
9
9
  icon?: string;
10
- showBackButton?: boolean;
10
+ backButton?: ButtonProps;
11
11
  toolbars?: HeaderToolbar[];
12
12
  }
13
13
  export declare const headerComponentDefaults: {
14
14
  icon: undefined;
15
- showBackButton: boolean;
15
+ backButton: () => {
16
+ icon: string;
17
+ ariaLabel: string;
18
+ callback: () => void;
19
+ };
16
20
  toolbars: () => never[];
17
21
  };
18
22
  declare const _default: typeof __VLS_export;
19
23
  export default _default;
20
- declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<HeaderComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
- back: () => any;
22
- }, string, import('vue').PublicProps, Readonly<HeaderComponentProps> & Readonly<{
23
- onBack?: (() => any) | undefined;
24
- }>, {
24
+ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<HeaderComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<HeaderComponentProps> & Readonly<{}>, {
25
25
  icon: string;
26
- showBackButton: boolean;
26
+ backButton: ButtonProps;
27
27
  toolbars: HeaderToolbar[];
28
28
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
29
29
  left?: (props: {}) => any;
@@ -54,7 +54,7 @@ export type { FilterValue, FilterConfig, LayoutMode, DataTableSettings, DataCard
54
54
  export type { CalendarConfig, DatePickerConfig, DateRangePickerConfig } from './types/datepickers';
55
55
  export { dataTableSettingsDefaults, dataCardsSettingsDefaults, dataListSettingsDefaults, } from './types/data-list';
56
56
  export { calendarConfigDefaults, datePickerConfigDefaults, dateRangePickerConfigDefaults, } from './types/datepickers';
57
- export { formatDate, parseDate, localToUTCString, castToDate, startOfDay, endOfDay, startOfWeek, laterOf, earlierOf, } from './utils/date';
57
+ export { formatDate, parseDate, localToUTCString, castToDate, utcToString, startOfDay, endOfDay, startOfWeek, laterOf, earlierOf, } from './utils/date';
58
58
  export { debounce } from './utils/debounce';
59
59
  export { deepMerge } from './utils/objects';
60
60
  export { isIpInUrl } from './utils/ipUtils';
@@ -1 +1 @@
1
- .ac-component .hc-header{background:var(--neutral-0);border-top:1px solid #0000;border-bottom:1px solid var(--neutral-150);margin-bottom:var(--ac-section-bottom-margin,1rem);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.5rem .75rem;line-height:1;display:flex}.ac-component .hc-header .hc-back-btn{color:var(--neutral-700);background:0 0;border:none;margin-left:-.5rem;padding:.5rem .625rem;font-size:1.25rem}.ac-component .hc-header .hc-left{align-items:center;gap:.375rem;display:flex}.ac-component .hc-header .hc-title-group{align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-title-icon{color:var(--site-500);font-size:1.25rem}.ac-component .hc-header .hc-title{color:var(--neutral-900);margin:0;font-size:1.75rem;font-weight:600}.ac-component .hc-header .hc-toolbars{flex-grow:1;align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.ac-component .hc-header .hc-buttons--left{justify-content:flex-start}.ac-component .hc-header .hc-buttons--center{flex-grow:1;justify-content:center}.ac-component .hc-header .hc-buttons--right{justify-content:flex-end;margin-left:auto}.ac-component .hc-header .hc-slot{align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-slot--center{flex-grow:1;justify-content:center}.ac-component .hc-header .hc-slot--right{justify-content:flex-end;margin-left:auto}
1
+ .ac-component .hc-header{background:var(--neutral-0);border-top:1px solid #0000;border-bottom:1px solid var(--neutral-150);margin-bottom:var(--ac-section-bottom-margin,1rem);flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.5rem .75rem;line-height:1;display:flex}.ac-component .hc-header .hc-back-btn{color:var(--neutral-700);--btn-bg:transparent;border:none;margin-left:-.5rem;padding:.5rem .625rem;font-size:1.25rem}.ac-component .hc-header .hc-left{align-items:center;gap:.375rem;display:flex}.ac-component .hc-header .hc-title-group{align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-title-icon{color:var(--site-500);font-size:1.25rem}.ac-component .hc-header .hc-title{color:var(--neutral-900);margin:0;font-size:1.75rem;font-weight:600}.ac-component .hc-header .hc-toolbars{flex-grow:1;align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-buttons{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.ac-component .hc-header .hc-buttons--left{justify-content:flex-start}.ac-component .hc-header .hc-buttons--center{flex-grow:1;justify-content:center}.ac-component .hc-header .hc-buttons--right{justify-content:flex-end;margin-left:auto}.ac-component .hc-header .hc-slot{align-items:center;gap:.5rem;display:flex}.ac-component .hc-header .hc-slot--center{flex-grow:1;justify-content:center}.ac-component .hc-header .hc-slot--right{justify-content:flex-end;margin-left:auto}
@@ -1,5 +1,6 @@
1
1
  export declare function formatDate(date: Date, format: string): string;
2
2
  export declare function parseDate(value: string, format: string): Date | null;
3
+ export declare function utcToString(utc: string | Date | null, includeTime?: boolean): string;
3
4
  export declare function localToUTCString(date: Date, includeTime?: boolean): string;
4
5
  export declare function castToDate(v: any): Date | null;
5
6
  export declare function startOfDay(date: Date): Date;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "admins-components",
3
- "version": "9.0.46",
3
+ "version": "9.0.48",
4
4
  "type": "module",
5
5
  "module": "./dist/admins-components.js",
6
6
  "types": "./dist/index.d.ts",