@shibui-ui/ui 1.25.0 → 1.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index11.js +1 -1
- package/dist/index194.js +97 -6
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +2 -2
- package/dist/index197.js +2 -18
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +74 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +64 -74
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +2 -2
- package/dist/index201.js +57 -2
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +2 -39
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +2 -2
- package/dist/index204.js +144 -219
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +43 -82
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +51 -2
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +2 -94
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +33 -2
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +2 -268
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +6 -2
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +2 -21
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +260 -2
- package/dist/index212.js.map +1 -1
- package/dist/index213.js +16 -8
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +2 -2
- package/dist/index215.js +2 -15
- package/dist/index215.js.map +1 -1
- package/dist/index216.js +66 -2
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +24 -146
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +2 -2
- package/dist/index219.js +2 -5
- package/dist/index219.js.map +1 -1
- package/dist/index220.js +81 -2
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +78 -6
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +2 -2
- package/dist/index223.js +133 -2
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +2 -92
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +2 -59
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +72 -2
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +94 -97
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +2 -2
- package/dist/index229.js +71 -2
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +2 -74
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +2 -74
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +12 -2
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +5 -53
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +2 -2
- package/dist/index235.js +18 -2
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +2 -162
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +84 -43
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +2 -51
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +2 -2
- package/dist/index240.js +39 -33
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +2 -2
- package/dist/index242.js +236 -5
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +82 -2
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +2 -260
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +93 -16
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +2 -2
- package/dist/index247.js +268 -2
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +2 -66
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +13 -24
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +2 -2
- package/dist/index251.js +9 -2
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +2 -81
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +12 -78
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +2 -2
- package/dist/index255.js +132 -111
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +2 -2
- package/dist/index257.js +5 -2
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +2 -72
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +5 -93
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +2 -2
- package/dist/index261.js +2 -71
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +92 -2
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +59 -2
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +2 -12
- package/dist/index264.js.map +1 -1
- package/dist/index34.js +1 -1
- package/dist/index347.js +1 -1
- package/dist/index353.js +14 -32
- package/dist/index353.js.map +1 -1
- package/dist/index354.js +20 -6
- package/dist/index354.js.map +1 -1
- package/dist/index355.js +56 -18
- package/dist/index355.js.map +1 -1
- package/dist/index356.js +55 -57
- package/dist/index356.js.map +1 -1
- package/dist/index357.js +32 -64
- package/dist/index357.js.map +1 -1
- package/dist/index44.js +1 -1
- package/dist/index47.js +1 -1
- package/dist/index49.js +2 -2
- package/dist/index50.js +2 -2
- package/dist/index51.js +2 -2
- package/dist/index52.js +2 -2
- package/dist/index53.js +3 -3
- package/dist/index54.js +2 -2
- package/dist/index55.js +2 -2
- package/dist/index56.js +3 -3
- package/dist/index57.js +2 -2
- package/dist/index58.js +2 -2
- package/dist/index59.js +2 -2
- package/dist/index60.js +2 -2
- package/dist/index61.js +2 -2
- package/dist/index62.js +2 -2
- package/dist/index63.js +2 -2
- package/dist/index64.js +2 -2
- package/dist/index65.js +2 -2
- package/dist/index66.js +1 -1
- package/dist/index67.js +1 -1
- package/dist/index68.js +2 -2
- package/dist/index69.js +2 -2
- package/dist/index70.js +2 -2
- package/dist/index71.js +2 -2
- package/dist/index72.js +2 -2
- package/dist/index73.js +2 -2
- package/dist/index74.js +2 -2
- package/dist/index75.js +2 -2
- package/dist/index76.js +2 -2
- package/dist/index77.js +2 -2
- package/dist/index78.js +2 -2
- package/dist/index79.js +2 -2
- package/dist/index80.js +2 -2
- package/dist/index81.js +2 -2
- package/dist/index82.js +1 -1
- package/dist/index83.js +2 -2
- package/dist/index84.js +2 -2
- package/package.json +4 -4
package/dist/index217.js
CHANGED
|
@@ -1,157 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
<polyline points="10,4 12,7 10,10"/>
|
|
12
|
-
<line x1="4" y1="7" x2="12" y2="7"/>
|
|
13
|
-
</svg>`;
|
|
14
|
-
const svgMenu = html`
|
|
15
|
-
<svg width="18" height="18" viewBox="0 0 16 16" fill="none"
|
|
16
|
-
stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
|
|
17
|
-
<line x1="2" y1="4" x2="14" y2="4"/>
|
|
18
|
-
<line x1="2" y1="8" x2="14" y2="8"/>
|
|
19
|
-
<line x1="2" y1="12" x2="14" y2="12"/>
|
|
20
|
-
</svg>`;
|
|
21
|
-
const svgClose = html`
|
|
22
|
-
<svg width="18" height="18" viewBox="0 0 14 14" fill="none"
|
|
23
|
-
stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
|
|
24
|
-
<line x1="2" y1="2" x2="12" y2="12"/>
|
|
25
|
-
<line x1="12" y1="2" x2="2" y2="12"/>
|
|
26
|
-
</svg>`;
|
|
27
|
-
function renderBadge(badge) {
|
|
28
|
-
if (badge === void 0 || badge === null || badge === "") return nothing;
|
|
29
|
-
if (badge === "dot") {
|
|
30
|
-
return html`<span class="sb-badge sb-badge--dot" aria-hidden="true"></span>`;
|
|
31
|
-
}
|
|
32
|
-
const n = typeof badge === "number" ? badge : parseInt(String(badge), 10);
|
|
33
|
-
const cls = !isNaN(n) && n > 9 || isNaN(n) ? "sb-badge--kaki" : "sb-badge--muted";
|
|
34
|
-
return html`<span class="sb-badge ${cls}">${badge}</span>`;
|
|
35
|
-
}
|
|
36
|
-
function renderHeader(p) {
|
|
37
|
-
const isGlitch = p.variant === "glitch";
|
|
38
|
-
const isKintsugi = p.variant === "kintsugi";
|
|
39
|
-
return html`
|
|
40
|
-
<div class="sb-header" part="header">
|
|
41
|
-
<div class="sb-logo-mark" part="logo-mark">
|
|
42
|
-
${isKintsugi ? html`<span>${p.logoMark}</span>` : p.logoMark}
|
|
43
|
-
</div>
|
|
44
|
-
${isGlitch ? html`<span class="sb-brand">⌗ ${p.brandName.toUpperCase()}</span>
|
|
45
|
-
<span class="sb-version">v0.1</span>` : html`<span class="sb-brand">${p.brandName}</span>`}
|
|
46
|
-
</div>
|
|
47
|
-
`;
|
|
48
|
-
}
|
|
49
|
-
function renderSearch(p) {
|
|
50
|
-
if (!p.showSearch) return nothing;
|
|
51
|
-
return html`
|
|
52
|
-
<div class="sb-search" part="search">
|
|
53
|
-
<div class="sb-search-inner">
|
|
54
|
-
${svgSearch}
|
|
55
|
-
<input
|
|
56
|
-
class="sb-search-input"
|
|
57
|
-
type="search"
|
|
58
|
-
placeholder="${p.searchPlaceholder}"
|
|
59
|
-
aria-label="Buscar"
|
|
60
|
-
@input="${(e) => p.onSearchInput(e.target.value)}"
|
|
61
|
-
/>
|
|
62
|
-
<span class="sb-search-kbd">⌘K</span>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
`;
|
|
66
|
-
}
|
|
67
|
-
function renderNav(p) {
|
|
68
|
-
const isGlitch = p.variant === "glitch";
|
|
1
|
+
import { nothing, html } from "lit";
|
|
2
|
+
const DEFAULT_HEADING = {
|
|
3
|
+
default: "Default",
|
|
4
|
+
info: "Info",
|
|
5
|
+
warning: "Warning",
|
|
6
|
+
error: "Error",
|
|
7
|
+
success: "Success"
|
|
8
|
+
};
|
|
9
|
+
function alertTemplate(props) {
|
|
10
|
+
const displayHeading = props.heading || DEFAULT_HEADING[props.type];
|
|
69
11
|
return html`
|
|
70
|
-
<
|
|
71
|
-
<div class="sb-indicator" part="indicator"></div>
|
|
72
|
-
|
|
73
|
-
${p.links.map((link) => html`
|
|
74
|
-
${link.group ? html`
|
|
75
|
-
<div class="sb-group" part="group">
|
|
76
|
-
${isGlitch ? `// ${link.group}` : link.group}
|
|
77
|
-
</div>
|
|
78
|
-
` : nothing}
|
|
12
|
+
<div class="alert" role="alert" aria-live="polite">
|
|
79
13
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
aria-current="${link.id === p.active ? "page" : nothing}"
|
|
86
|
-
@click="${() => {
|
|
87
|
-
if (!link.disabled) p.onLinkClick(link.id);
|
|
88
|
-
}}"
|
|
89
|
-
>
|
|
90
|
-
<span class="sb-link-icon">
|
|
91
|
-
<lib-icon name="${link.icon}" size="sm"></lib-icon>
|
|
92
|
-
</span>
|
|
93
|
-
|
|
94
|
-
${isGlitch ? html`<span class="sb-link-prefix">›</span>` : nothing}
|
|
95
|
-
|
|
96
|
-
<span class="sb-link-label">${link.label}</span>
|
|
97
|
-
|
|
98
|
-
${renderBadge(link.badge)}
|
|
99
|
-
</button>
|
|
100
|
-
`)}
|
|
101
|
-
</nav>
|
|
102
|
-
`;
|
|
103
|
-
}
|
|
104
|
-
function renderUser(p) {
|
|
105
|
-
const isDark = p.variant === "dark" || !p.variant;
|
|
106
|
-
return html`
|
|
107
|
-
<div class="sb-user" part="user">
|
|
108
|
-
<div class="sb-user-avatar" part="user-avatar">
|
|
109
|
-
${p.userAvatar ? html`<img src="${p.userAvatar}" alt="${p.userName}">` : p.userInitials || p.userName.slice(0, 1)}
|
|
14
|
+
<div class="alert-content">
|
|
15
|
+
<p class="alert-title">${displayHeading}</p>
|
|
16
|
+
<div class="alert-body">
|
|
17
|
+
<slot></slot>
|
|
18
|
+
</div>
|
|
110
19
|
</div>
|
|
111
20
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
21
|
+
${props.closable ? html`
|
|
22
|
+
<button
|
|
23
|
+
class="alert-close"
|
|
24
|
+
type="button"
|
|
25
|
+
aria-label="Cerrar alerta"
|
|
26
|
+
@click="${props.handleClose}"
|
|
27
|
+
>×</button>` : nothing}
|
|
116
28
|
|
|
117
|
-
${isDark ? html`<span class="sb-user-dot" aria-hidden="true"></span>` : p.showUserAction ? html`
|
|
118
|
-
<button
|
|
119
|
-
class="sb-user-action"
|
|
120
|
-
aria-label="Acción de usuario"
|
|
121
|
-
@click="${p.onUserAction}"
|
|
122
|
-
>${svgLogout}</button>` : nothing}
|
|
123
29
|
</div>
|
|
124
30
|
`;
|
|
125
31
|
}
|
|
126
|
-
function sidebarTemplate(p) {
|
|
127
|
-
return html`
|
|
128
|
-
<div
|
|
129
|
-
class="sb-overlay ${p.mobileOpen ? "is-open" : ""}"
|
|
130
|
-
@click="${p.onOverlayClick}"
|
|
131
|
-
aria-hidden="true"
|
|
132
|
-
></div>
|
|
133
|
-
|
|
134
|
-
<aside
|
|
135
|
-
class="sidebar
|
|
136
|
-
${p.mobileOpen ? "is-open" : ""}
|
|
137
|
-
${p.collapsed ? "is-collapsed" : ""}"
|
|
138
|
-
part="sidebar"
|
|
139
|
-
>
|
|
140
|
-
${renderHeader(p)}
|
|
141
|
-
${renderSearch(p)}
|
|
142
|
-
${renderNav(p)}
|
|
143
|
-
${renderUser(p)}
|
|
144
|
-
</aside>
|
|
145
|
-
|
|
146
|
-
<button
|
|
147
|
-
class="sb-toggle"
|
|
148
|
-
aria-label="${p.mobileOpen ? "Cerrar menú" : "Abrir menú"}"
|
|
149
|
-
aria-expanded="${p.mobileOpen}"
|
|
150
|
-
@click="${p.onToggleClick}"
|
|
151
|
-
>${p.mobileOpen ? svgClose : svgMenu}</button>
|
|
152
|
-
`;
|
|
153
|
-
}
|
|
154
32
|
export {
|
|
155
|
-
|
|
33
|
+
alertTemplate
|
|
156
34
|
};
|
|
157
35
|
//# sourceMappingURL=index217.js.map
|
package/dist/index217.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index217.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index217.js","sources":["../src/components/molecules/lib-alert/lib-alert.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { AlertTemplateProps, AlertType } from './lib-alert.types';\n\n/** Auto-generated heading per type if none is provided. */\nconst DEFAULT_HEADING: Record<AlertType, string> = {\n default: 'Default',\n info: 'Info',\n warning: 'Warning',\n error: 'Error',\n success: 'Success',\n};\n\n/**\n * Template para lib-alert.\n * Estructura: borde izquierdo · [heading DM Mono] · slot (cuerpo) · [botón cerrar]\n */\nexport function alertTemplate(props: AlertTemplateProps): TemplateResult {\n const displayHeading = props.heading || DEFAULT_HEADING[props.type];\n\n return html`\n <div class=\"alert\" role=\"alert\" aria-live=\"polite\">\n\n <div class=\"alert-content\">\n <p class=\"alert-title\">${displayHeading}</p>\n <div class=\"alert-body\">\n <slot></slot>\n </div>\n </div>\n\n ${props.closable\n ? html`\n <button\n class=\"alert-close\"\n type=\"button\"\n aria-label=\"Cerrar alerta\"\n @click=\"${props.handleClose}\"\n >×</button>`\n : nothing}\n\n </div>\n `;\n}"],"names":[],"mappings":";AAIA,MAAM,kBAA6C;AAAA,EACjD,SAAS;AAAA,EACT,MAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAS;AAAA,EACT,SAAS;AACX;AAMO,SAAS,cAAc,OAA2C;AACvE,QAAM,iBAAiB,MAAM,WAAW,gBAAgB,MAAM,IAAI;AAElE,SAAO;AAAA;AAAA;AAAA;AAAA,iCAIwB,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMvC,MAAM,WACJ;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKc,MAAM,WAAW;AAAA,2BAE/B,OAAO;AAAA;AAAA;AAAA;AAIjB;"}
|
package/dist/index218.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const componentCss = '@layer tokens,reset,components;@layer reset{:host{display:block;height:100%}*,*:before,*:after{box-sizing:border-box}a{text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}}@layer components{.sidebar{width:var(--lib-sidebar-width, 240px);height:100vh;display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:var(--z-raised);overflow:hidden;transition:width var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);background:var(--color-washi-950);border-right:1px solid rgb(255,255,255,.07)}.sidebar.is-collapsed{width:64px}:host([variant="light"]) .sidebar{background:var(--bg-elevated);border-right:1px solid var(--border-subtle)}:host([variant="kintsugi"]) .sidebar{background:var(--color-washi-950);border-right:none}:host([variant="kintsugi"]) .sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent 0%,rgb(184,90,30,.3) 10%,var(--color-kaki-400) 30%,#F5D08A 50%,var(--color-kaki-400) 70%,rgb(184,90,30,.3) 90%,transparent 100%);background-size:100% 200%;animation:sb-kintsugi-seam 5s linear infinite;pointer-events:none;z-index:2}@keyframes sb-kintsugi-seam{0%{background-position:0 -100%}to{background-position:0 100%}}:host([variant="glitch"]) .sidebar{background:var(--color-washi-950);border-right:1px solid rgb(255,255,255,.06);animation:sb-glitch-border 7s steps(1) infinite}:host([variant="glitch"]) .sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgb(255,255,255,.015) 3px,rgb(255,255,255,.015) 4px);pointer-events:none;z-index:5;animation:sb-scanline-shift 7s steps(1) infinite}@keyframes sb-glitch-border{0%,88%,to{border-color:#ffffff0f;box-shadow:none}89%{border-color:#d9723466;box-shadow:-2px 0 #d9723433}90%{border-color:#4e94824d;box-shadow:2px 0 #4e948226}91%{border-color:#ffffff0f;box-shadow:none}}@keyframes sb-scanline-shift{0%,87%,to{opacity:1;transform:none}88%{transform:translateY(-3px);opacity:.7}89%{transform:translateY(2px);opacity:.9}90%{transform:none;opacity:1}}.sb-header{height:56px;padding:0 var(--lib-space-md);display:flex;align-items:center;gap:var(--lib-space-sm);flex-shrink:0;border-bottom:1px solid rgb(255,255,255,.06);position:relative;z-index:1;overflow:hidden}:host([variant="light"]) .sb-header{border-bottom-color:var(--color-washi-100)}:host([variant="kintsugi"]) .sb-header{border-bottom-color:#b85a1e1f}.sb-logo-mark{width:28px;height:28px;background:var(--color-kaki-500);display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-display);color:#fff;font-size:1rem;font-weight:300;flex-shrink:0}:host([variant="dark"]) .sb-logo-mark,.sb-logo-mark{background:var(--color-kaki-500);color:#fff}:host([variant="kintsugi"]) .sb-logo-mark{position:relative;background:transparent;border:none;overflow:visible;border-radius:50%}:host([variant="kintsugi"]) .sb-logo-mark:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(var(--color-kaki-600),#F5D08A,var(--color-kaki-400),#F5D08A,var(--color-kaki-600));animation:sb-logo-ring 4s linear infinite}:host([variant="kintsugi"]) .sb-logo-mark:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:50%;background:var(--color-washi-950)}:host([variant="kintsugi"]) .sb-logo-mark span{position:relative;z-index:2;color:var(--color-kaki-400)}@keyframes sb-logo-ring{to{transform:rotate(360deg)}}.sb-brand{font-family:var(--lib-font-display);font-size:1.1rem;font-weight:300;letter-spacing:.08em;white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base) var(--ease-out),width var(--duration-slow) var(--ease-out);color:#faf7f4a6}:host([variant="light"]) .sb-brand{color:var(--text-primary)}:host([variant="kintsugi"]) .sb-brand{color:#faf7f480}:host([variant="glitch"]) .sb-brand{font-family:var(--lib-font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--color-kaki-400)}.sidebar.is-collapsed .sb-brand{opacity:0;width:0;pointer-events:none}.sb-version{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.12em;color:#faf7f426;white-space:nowrap;transition:opacity var(--duration-base)}.sidebar.is-collapsed .sb-version{opacity:0;pointer-events:none}.sb-search{padding:var(--lib-space-sm) var(--lib-space-md);flex-shrink:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-out),opacity var(--duration-base);max-height:52px}.sidebar.is-collapsed .sb-search{opacity:0;max-height:0;padding:0;pointer-events:none}.sb-search-inner{display:flex;align-items:center;gap:var(--lib-space-xs);border:1px solid rgb(255,255,255,.08);background:#ffffff0a;padding:0 var(--lib-space-sm);height:30px;transition:border-color var(--duration-base)}.sb-search-inner:focus-within{border-color:#ffffff2e}.sb-search-inner svg{flex-shrink:0;color:#faf7f440}.sb-search-input{flex:1;background:none;border:none;outline:none;font-family:var(--lib-font-mono);font-size:9px;letter-spacing:.1em;color:#faf7f499;width:100%}.sb-search-input::placeholder{color:#faf7f433}.sb-search-kbd{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;color:#faf7f426;border:1px solid rgb(255,255,255,.1);padding:0 4px;white-space:nowrap;flex-shrink:0}.sb-nav{flex:1;padding:var(--lib-space-md) 0;display:flex;flex-direction:column;position:relative;z-index:1;overflow-y:auto;scrollbar-width:none}.sb-nav::-webkit-scrollbar{display:none}.sb-indicator{position:absolute;left:0;width:2px;background:var(--color-kaki-500);border-radius:0 2px 2px 0;pointer-events:none;opacity:0;transition:top .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),opacity var(--duration-base)}.sb-indicator.visible{opacity:1}:host([variant="kintsugi"]) .sb-indicator{background:var(--color-kaki-400)}.sidebar.is-collapsed .sb-indicator{display:none}.sb-group{padding:var(--lib-space-sm) var(--lib-space-md) var(--lib-space-xs);font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:#faf7f42e;white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base),max-height var(--duration-slow),padding var(--duration-slow);max-height:32px}:host([variant="light"]) .sb-group{color:var(--color-washi-400)}:host([variant="kintsugi"]) .sb-group{color:#b85a1e59}:host([variant="glitch"]) .sb-group{color:#faf7f426;letter-spacing:.16em}.sidebar.is-collapsed .sb-group{opacity:0;max-height:0;padding-top:0;padding-bottom:0;pointer-events:none}.sb-link{display:flex;align-items:center;gap:var(--lib-space-sm);padding:var(--lib-space-sm) var(--lib-space-md);width:100%;text-align:left;border-left:2px solid transparent;background:transparent;cursor:pointer;position:relative;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast);font-family:var(--lib-font-body);font-size:var(--text-sm);color:#faf7f459}:host([variant="light"]) .sb-link{color:var(--color-washi-600)}:host([variant="kintsugi"]) .sb-link{color:#faf7f44d}:host([variant="glitch"]) .sb-link{font-family:var(--lib-font-mono);font-size:9px;letter-spacing:.1em;color:#faf7f440;padding:.45rem var(--lib-space-md)}.sb-link:hover:not(.is-active,[disabled]){color:#faf7f4b3;background:#ffffff0a;border-left-color:#ffffff26}:host([variant="light"]) .sb-link:hover:not(.is-active,[disabled]){color:var(--color-washi-900);background:var(--color-washi-50);border-left-color:var(--color-washi-300)}:host([variant="kintsugi"]) .sb-link:hover:not(.is-active,[disabled]){color:#faf7f499;background:#b85a1e0d}:host([variant="glitch"]) .sb-link:hover:not(.is-active,[disabled]){color:#faf7f499;background:#ffffff08}.sb-link.is-active{color:var(--color-kaki-400);background:#b85a1e1a;border-left-color:var(--color-kaki-500)}:host([variant="light"]) .sb-link.is-active{color:var(--color-kaki-600);background:var(--color-kaki-50);border-left-color:var(--color-kaki-500)}:host([variant="kintsugi"]) .sb-link.is-active{color:var(--color-kaki-400);background:linear-gradient(90deg,rgb(184,90,30,.15),transparent);border-left-color:var(--color-kaki-400)}:host([variant="glitch"]) .sb-link.is-active{color:var(--color-kaki-400);background:#b85a1e14;border-left-color:var(--color-kaki-500)}.sb-link[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.sb-link-icon{display:flex;align-items:center;flex-shrink:0;font-size:15px;opacity:.7;transition:opacity var(--duration-base)}.sb-link.is-active .sb-link-icon{opacity:1}.sb-link-prefix{font-size:9px;flex-shrink:0;color:var(--color-kaki-400)}.sb-link:not(.is-active) .sb-link-prefix{opacity:.4;color:inherit}.sb-link-label{white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base),width var(--duration-slow) var(--ease-out)}.sb-badge{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;padding:1px 6px;letter-spacing:.1em;flex-shrink:0;transition:opacity var(--duration-base)}.sb-badge--kaki{background:var(--color-kaki-500);color:#fff}.sb-badge--muted{background:var(--color-washi-200);color:var(--color-washi-600)}:host([variant="kintsugi"]) .sb-badge--kaki{background:transparent;border:1px solid rgb(184,90,30,.3);color:var(--color-kaki-400)}.sb-badge--dot{width:6px;height:6px;border-radius:50%;background:var(--color-kaki-400);padding:0}:host([variant="glitch"]) .sb-badge--dot{animation:sb-glitch-pulse 2s ease-in-out infinite}@keyframes sb-glitch-pulse{0%,to{opacity:1}50%{opacity:.2}}.sidebar.is-collapsed .sb-link{position:relative;padding:0;height:44px;border-left-color:transparent}.sidebar.is-collapsed .sb-link.is-active{background:#b85a1e26;border-left-color:transparent}:host([variant="light"]) .sidebar.is-collapsed .sb-link.is-active{background:var(--color-kaki-50)}.sidebar.is-collapsed .sb-link-label,.sidebar.is-collapsed .sb-badge,.sidebar.is-collapsed .sb-link-prefix{display:none}.sidebar.is-collapsed .sb-link-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:17px;opacity:1}.sb-user{padding:var(--lib-space-md);border-top:1px solid rgb(255,255,255,.06);display:flex;align-items:center;gap:var(--lib-space-sm);flex-shrink:0;overflow:hidden;position:relative;z-index:1;transition:padding var(--duration-slow)}:host([variant="light"]) .sb-user{border-top-color:var(--color-washi-100)}:host([variant="kintsugi"]) .sb-user{border-top-color:#b85a1e1f}:host([variant="glitch"]) .sb-user{border-top-color:#ffffff0d}.sidebar.is-collapsed .sb-user{justify-content:center;padding:var(--lib-space-sm)}.sb-user-avatar{width:30px;height:30px;border-radius:50%;background:var(--color-kaki-500);display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-display);color:#fff;font-size:.95rem;flex-shrink:0;overflow:hidden;cursor:pointer}.sb-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}:host([variant="dark"]) .sb-user-avatar,.sb-user-avatar{background:var(--color-kaki-500);color:#fff}:host([variant="kintsugi"]) .sb-user-avatar{background:#b85a1e40;border:1px solid rgb(184,90,30,.4);color:var(--color-kaki-400)}:host([variant="glitch"]) .sb-user-avatar{background:#b85a1e40;border:1px solid rgb(184,90,30,.35);color:var(--color-kaki-400);font-family:var(--lib-font-mono);font-size:.75rem}.sb-user-info{min-width:0;flex:1;overflow:hidden;transition:opacity var(--duration-base),width var(--duration-slow)}.sidebar.is-collapsed .sb-user-info{opacity:0;width:0;pointer-events:none}.sb-user-name{font-family:var(--lib-font-body);font-size:var(--text-sm);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#faf7f48c}:host([variant="light"]) .sb-user-name{color:var(--color-washi-800)}:host([variant="kintsugi"]) .sb-user-name{color:#faf7f473}.sb-user-role{font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;margin-top:1px;color:#faf7f433}:host([variant="light"]) .sb-user-role{color:var(--color-washi-400)}:host([variant="kintsugi"]) .sb-user-role{color:#b85a1e80}.sb-user-action{margin-left:auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgb(255,255,255,.1);color:#faf7f44d;flex-shrink:0;transition:border-color var(--duration-base),color var(--duration-base),background var(--duration-base);cursor:pointer}.sb-user-action:hover{border-color:#fff3;background:#ffffff0d;color:#faf7f4b3}:host([variant="light"]) .sb-user-action{border-color:var(--color-washi-200);color:var(--color-washi-400)}:host([variant="light"]) .sb-user-action:hover{border-color:var(--color-washi-400);background:var(--color-washi-50);color:var(--color-washi-700)}.sb-user-dot{width:6px;height:6px;border-radius:50%;background:var(--color-celadon-400);flex-shrink:0;margin-left:auto}.sidebar.is-collapsed .sb-user-action,.sidebar.is-collapsed .sb-user-dot{display:none}.sb-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-raised) - 1);opacity:0;transition:opacity var(--duration-base)}.sb-toggle{display:none;position:fixed;bottom:var(--lib-space-lg);right:var(--lib-space-lg);z-index:var(--z-modal);width:44px;height:44px;background:var(--color-washi-900);color:var(--color-washi-50);align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}@media(max-width:768px){:host{height:auto}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;transform:translate(-100%);z-index:var(--z-modal);box-shadow:var(--shadow-xl)}.sidebar.is-open{transform:translate(0)}.sb-toggle{display:flex}.sb-overlay{display:block}.sb-overlay.is-open{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.sidebar,.sb-indicator,:host([variant="kintsugi"]) .sidebar:after,:host([variant="kintsugi"]) .sb-logo-mark:before,:host([variant="glitch"]) .sidebar,:host([variant="glitch"]) .sidebar:before{animation:none!important;transition:none!important}}}';
|
|
1
|
+
const alertCss = '@layer tokens,reset,components;@layer reset{:host{display:block;width:100%}*,*:before,*:after{box-sizing:border-box}}@layer components{.alert{padding:var(--lib-space-md) var(--lib-space-lg);border-left:2px solid;display:flex;gap:var(--lib-space-md);align-items:flex-start;width:100%;transition:opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-default)}.alert-content{flex:1;min-width:0}.alert-title{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-bottom:var(--lib-space-xs);line-height:var(--leading-snug)}.alert-body{font-family:var(--lib-font-body);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.alert-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;opacity:.5;color:inherit;transition:opacity var(--duration-fast) var(--ease-default);font-size:16px;line-height:1;font-family:var(--lib-font-mono)}.alert-close:hover{opacity:1}:host([type="default"]) .alert,.alert{background:var(--bg-surface);border-color:var(--border-strong)}:host([type="default"]) .alert-title{color:var(--text-secondary)}:host([type="default"]) .alert-body{color:var(--text-secondary)}:host([type="info"]) .alert{background:var(--color-celadon-50);border-color:var(--color-celadon-400)}:host([type="info"]) .alert-title{color:var(--color-celadon-600)}:host([type="info"]) .alert-body{color:var(--color-celadon-500)}:host([type="warning"]) .alert{background:#fffbf0;border-color:var(--color-warning)}:host([type="warning"]) .alert-title{color:var(--color-warning)}:host([type="warning"]) .alert-body{color:#6b5010}:host([type="error"]) .alert{background:#fff8f7;border-color:var(--color-error)}:host([type="error"]) .alert-title{color:var(--color-error)}:host([type="error"]) .alert-body{color:#6b2015}:host([type="success"]) .alert{background:#f5faf6;border-color:var(--color-success)}:host([type="success"]) .alert-title{color:var(--color-success)}:host([type="success"]) .alert-body{color:#1e4a2a}:host([glass]) .alert{background:var(--lib-glass-bg);-webkit-backdrop-filter:var(--lib-glass-filter);backdrop-filter:var(--lib-glass-filter);border:var(--lib-glass-border);border-left-width:2px;box-shadow:var(--lib-glass-shadow);position:relative;overflow:hidden}:host([glass]) .alert:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lib-glass-shine);pointer-events:none}:host([glass]) .alert-title,:host([glass]) .alert-body{color:var(--lib-glass-text);text-shadow:var(--lib-glass-text-shadow);position:relative;z-index:1}:host([glass]) .alert-close{color:var(--lib-glass-text);position:relative;z-index:1}}';
|
|
2
2
|
export {
|
|
3
|
-
|
|
3
|
+
alertCss as default
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=index218.js.map
|
package/dist/index219.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
function staggerTemplate() {
|
|
3
|
-
return html`<slot></slot>`;
|
|
4
|
-
}
|
|
1
|
+
const modalCss = "@layer tokens,reset,components;@layer reset{*,*:before,*:after{box-sizing:border-box}}@layer components{:host{display:contents}.mo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 500);background:#120e0aa6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--lib-space-lg);overflow-y:auto;opacity:0;pointer-events:none;transition:opacity var(--duration-slow) var(--ease-out)}:host([open]) .mo-backdrop{opacity:1;pointer-events:auto}.mo-panel-wrap{position:relative;width:100%;max-width:560px;max-height:calc(100vh - var(--lib-space-lg) * 2);display:flex;flex-direction:column;transform:scale(.95) translateY(8px);transition:transform var(--duration-slow) var(--ease-out)}:host([open]) .mo-panel-wrap{transform:scale(1) translateY(0)}.mo-panel-wrap.mo-slide-up{transform:translateY(40px)}:host([open]) .mo-panel-wrap.mo-slide-up{transform:translateY(0)}.mo-panel-wrap.mo-slide-down{transform:translateY(-40px)}:host([open]) .mo-panel-wrap.mo-slide-down{transform:translateY(0)}.mo-panel-wrap.mo-xs{max-width:280px}.mo-panel-wrap.mo-sm{max-width:420px}.mo-panel-wrap.mo-lg{max-width:720px}.mo-panel-wrap.mo-xl{max-width:920px}.mo-panel-wrap.mo-full{max-width:100vw;max-height:100vh;height:100vh;margin:0}.mo-panel-wrap.mo-full .mo-panel{max-height:100vh;height:100vh;border:none}.mo-panel{background:var(--bg-elevated);border:1px solid var(--border-default);box-shadow:0 20px 60px #1a140e2e,0 4px 16px #1a140e1a;display:flex;flex-direction:column;max-height:calc(100vh - var(--lib-space-lg) * 2);overflow:hidden}.mo-panel.is-editorial .mo-header{border-bottom:none;padding-bottom:0}.mo-panel.is-editorial .mo-title{font-size:2.5rem;letter-spacing:var(--tracking-tight)}.mo-panel.is-editorial .mo-body{padding-top:var(--lib-space-sm)}.mo-panel.is-danger .mo-header{border-bottom-color:#f5ddd9;background:#f5ddd9}.mo-panel.is-danger .mo-title{color:var(--color-error)}.mo-panel.is-danger .mo-footer{border-top-color:#f5ddd9;background:#fef5f3}.mo-header{display:flex;align-items:flex-start;gap:var(--lib-space-md);padding:var(--lib-space-lg) var(--lib-space-lg) var(--lib-space-md);border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-elevated)}.mo-header-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-muted)}.mo-header-icon.is-kaki{background:var(--color-kaki-50);border-color:var(--color-kaki-100);color:var(--color-kaki-500)}.mo-header-icon.is-celadon{background:var(--color-celadon-50);border-color:var(--color-celadon-100);color:var(--color-celadon-500)}.mo-header-icon.is-error{background:#f5ddd9;border-color:#f5ddd9;color:var(--color-error)}.mo-header-icon.is-info{background:#d6e8f5;border-color:#d6e8f5;color:#1a4a6e}.mo-header-text{flex:1;min-width:0}.mo-title{font-family:var(--lib-font-display);font-size:var(--text-2xl);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.mo-subtitle{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin-top:var(--lib-space-xs)}.mo-close{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;line-height:1;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default);margin-top:-2px;margin-right:-4px}.mo-close:hover{background:var(--bg-surface);color:var(--text-primary)}.mo-body{flex:1;overflow-y:auto;padding:var(--lib-space-lg);scrollbar-width:thin;scrollbar-color:var(--color-washi-300) transparent}.mo-body::-webkit-scrollbar{width:4px}.mo-body::-webkit-scrollbar-track{background:transparent}.mo-body::-webkit-scrollbar-thumb{background:var(--color-washi-300)}.mo-footer{display:flex;align-items:center;gap:var(--lib-space-md);padding:var(--lib-space-md) var(--lib-space-lg);border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-surface)}.mo-footer-info{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin-right:auto}.mo-panel-wrap.mo-dark .mo-panel{background:#0c0604;border-color:#1e130e;box-shadow:0 20px 60px #0000008c,0 4px 16px #0000004d}.mo-panel-wrap.mo-dark .mo-header{background:#0c0604;border-color:#190f0a}.mo-panel-wrap.mo-dark .mo-title{color:#c8bbb2}.mo-panel-wrap.mo-dark .mo-subtitle{color:#312620}.mo-panel-wrap.mo-dark .mo-close{color:#362b25}.mo-panel-wrap.mo-dark .mo-close:hover{background:#190f0a;color:#998c84}.mo-panel-wrap.mo-dark .mo-footer{background:#060201;border-color:#190f0a}.mo-panel-wrap.mo-dark .mo-footer-info{color:#312620}.mo-panel-wrap.mo-dark .mo-header-icon{background:#190f0a;border-color:#231813;color:#433831}@media(max-width:768px){.mo-backdrop{padding:var(--lib-space-md)}.mo-panel-wrap{max-height:calc(100vh - var(--lib-space-md) * 2)}}}";
|
|
5
2
|
export {
|
|
6
|
-
|
|
3
|
+
modalCss as default
|
|
7
4
|
};
|
|
8
5
|
//# sourceMappingURL=index219.js.map
|
package/dist/index219.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index219.js","sources":[
|
|
1
|
+
{"version":3,"file":"index219.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/index220.js
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
|
-
|
|
1
|
+
import { nothing, html } from "lit";
|
|
2
|
+
function panelWrapClass(p) {
|
|
3
|
+
const classes = ["mo-panel-wrap"];
|
|
4
|
+
if (p.size !== "md") classes.push(`mo-${p.size}`);
|
|
5
|
+
if (p._animate === "slide-up") classes.push("mo-slide-up");
|
|
6
|
+
if (p._animate === "slide-down") classes.push("mo-slide-down");
|
|
7
|
+
if (p.dark) classes.push("mo-dark");
|
|
8
|
+
return classes.join(" ");
|
|
9
|
+
}
|
|
10
|
+
function panelClass(variant) {
|
|
11
|
+
const classes = ["mo-panel"];
|
|
12
|
+
if (variant === "editorial") classes.push("is-editorial");
|
|
13
|
+
if (variant === "danger") classes.push("is-danger");
|
|
14
|
+
return classes.join(" ");
|
|
15
|
+
}
|
|
16
|
+
function iconClass(tone) {
|
|
17
|
+
const classes = ["mo-header-icon"];
|
|
18
|
+
if (tone !== "default") classes.push(`is-${tone}`);
|
|
19
|
+
return classes.join(" ");
|
|
20
|
+
}
|
|
21
|
+
function modalTemplate(p) {
|
|
22
|
+
return html`
|
|
23
|
+
<div
|
|
24
|
+
class="mo-backdrop"
|
|
25
|
+
part="backdrop"
|
|
26
|
+
@click="${p.onBackdropClick}"
|
|
27
|
+
>
|
|
28
|
+
<div
|
|
29
|
+
class="${panelWrapClass(p)}"
|
|
30
|
+
part="panel-wrap"
|
|
31
|
+
role="dialog"
|
|
32
|
+
aria-modal="true"
|
|
33
|
+
aria-labelledby="mo-title"
|
|
34
|
+
@click="${(e) => e.stopPropagation()}"
|
|
35
|
+
>
|
|
36
|
+
<div class="${panelClass(p.variant)}" part="panel">
|
|
37
|
+
|
|
38
|
+
<!-- ── HEADER ── -->
|
|
39
|
+
<div class="mo-header" part="header">
|
|
40
|
+
|
|
41
|
+
<!-- Ícono opcional — tone prop activa el wrapper -->
|
|
42
|
+
${p.iconTone !== null ? html`
|
|
43
|
+
<div class="${iconClass(p.iconTone)}" part="icon">
|
|
44
|
+
<slot name="icon"></slot>
|
|
45
|
+
</div>
|
|
46
|
+
` : nothing}
|
|
47
|
+
|
|
48
|
+
<!-- Título y subtítulo -->
|
|
49
|
+
<div class="mo-header-text">
|
|
50
|
+
<h2 id="mo-title" class="mo-title">${p.heading}</h2>
|
|
51
|
+
${p.subtitle ? html`<p class="mo-subtitle">${p.subtitle}</p>` : nothing}
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<!-- Botón de cierre -->
|
|
55
|
+
<button
|
|
56
|
+
class="mo-close"
|
|
57
|
+
part="close-btn"
|
|
58
|
+
aria-label="Cerrar"
|
|
59
|
+
@click="${p.onClose}"
|
|
60
|
+
>×</button>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<!-- ── BODY — slot default ── -->
|
|
64
|
+
<div class="mo-body" part="body">
|
|
65
|
+
<slot></slot>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<!-- ── FOOTER ── -->
|
|
69
|
+
<div class="mo-footer" part="footer">
|
|
70
|
+
${p.footerInfo ? html`
|
|
71
|
+
<span class="mo-footer-info">${p.footerInfo}</span>
|
|
72
|
+
` : nothing}
|
|
73
|
+
<slot name="footer"></slot>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
`;
|
|
80
|
+
}
|
|
2
81
|
export {
|
|
3
|
-
|
|
82
|
+
modalTemplate
|
|
4
83
|
};
|
|
5
84
|
//# sourceMappingURL=index220.js.map
|
package/dist/index220.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index220.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"index220.js","sources":["../src/components/molecules/modal/lib-modal.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport { ModalAnimate, ModalIconTone, ModalSize, ModalVariant } from './lib-modal.types';\n\nexport interface ModalTemplateProps {\n /* Estado */\n open: boolean;\n /* Panel */\n size: ModalSize;\n variant: ModalVariant;\n _animate: ModalAnimate;\n dark: boolean;\n /* Header */\n heading: string;\n subtitle: string;\n iconTone: ModalIconTone | null;\n /* Footer */\n footerInfo: string;\n /* Handlers */\n onClose: () => void;\n onBackdropClick: (e: MouseEvent) => void;\n}\n\n/** Clases del contenedor del panel (.mo-panel-wrap). */\nfunction panelWrapClass(p: ModalTemplateProps): string {\n const classes = ['mo-panel-wrap'];\n if (p.size !== 'md') classes.push(`mo-${p.size}`);\n if (p._animate === 'slide-up') classes.push('mo-slide-up');\n if (p._animate === 'slide-down') classes.push('mo-slide-down');\n if (p.dark) classes.push('mo-dark');\n return classes.join(' ');\n}\n\n/** Clases del panel (.mo-panel). */\nfunction panelClass(variant: ModalVariant): string {\n const classes = ['mo-panel'];\n if (variant === 'editorial') classes.push('is-editorial');\n if (variant === 'danger') classes.push('is-danger');\n return classes.join(' ');\n}\n\n/** Clases del ícono de header. */\nfunction iconClass(tone: ModalIconTone): string {\n const classes = ['mo-header-icon'];\n if (tone !== 'default') classes.push(`is-${tone}`);\n return classes.join(' ');\n}\n\nexport function modalTemplate(p: ModalTemplateProps): TemplateResult {\n return html`\n <div\n class=\"mo-backdrop\"\n part=\"backdrop\"\n @click=\"${p.onBackdropClick}\"\n >\n <div\n class=\"${panelWrapClass(p)}\"\n part=\"panel-wrap\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"mo-title\"\n @click=\"${(e: MouseEvent):void => e.stopPropagation()}\"\n >\n <div class=\"${panelClass(p.variant)}\" part=\"panel\">\n\n <!-- ── HEADER ── -->\n <div class=\"mo-header\" part=\"header\">\n\n <!-- Ícono opcional — tone prop activa el wrapper -->\n ${p.iconTone !== null ? html`\n <div class=\"${iconClass(p.iconTone)}\" part=\"icon\">\n <slot name=\"icon\"></slot>\n </div>\n ` : nothing}\n\n <!-- Título y subtítulo -->\n <div class=\"mo-header-text\">\n <h2 id=\"mo-title\" class=\"mo-title\">${p.heading}</h2>\n ${p.subtitle ? html`<p class=\"mo-subtitle\">${p.subtitle}</p>` : nothing}\n </div>\n\n <!-- Botón de cierre -->\n <button\n class=\"mo-close\"\n part=\"close-btn\"\n aria-label=\"Cerrar\"\n @click=\"${p.onClose}\"\n >×</button>\n </div>\n\n <!-- ── BODY — slot default ── -->\n <div class=\"mo-body\" part=\"body\">\n <slot></slot>\n </div>\n\n <!-- ── FOOTER ── -->\n <div class=\"mo-footer\" part=\"footer\">\n ${p.footerInfo ? html`\n <span class=\"mo-footer-info\">${p.footerInfo}</span>\n ` : nothing}\n <slot name=\"footer\"></slot>\n </div>\n\n </div>\n </div>\n </div>\n `;\n}"],"names":[],"mappings":";AAuBA,SAAS,eAAe,GAA+B;AACrD,QAAM,UAAU,CAAC,eAAe;AAChC,MAAI,EAAE,SAAS,KAAc,SAAQ,KAAK,MAAM,EAAE,IAAI,EAAE;AACxD,MAAI,EAAE,aAAa,WAAc,SAAQ,KAAK,aAAa;AAC3D,MAAI,EAAE,aAAa,aAAc,SAAQ,KAAK,eAAe;AAC7D,MAAI,EAAE,KAAuB,SAAQ,KAAK,SAAS;AACnD,SAAO,QAAQ,KAAK,GAAG;AACzB;AAGA,SAAS,WAAW,SAA+B;AACjD,QAAM,UAAU,CAAC,UAAU;AAC3B,MAAI,YAAY,YAAa,SAAQ,KAAK,cAAc;AACxD,MAAI,YAAY,SAAa,SAAQ,KAAK,WAAW;AACrD,SAAO,QAAQ,KAAK,GAAG;AACzB;AAGA,SAAS,UAAU,MAA6B;AAC9C,QAAM,UAAU,CAAC,gBAAgB;AACjC,MAAI,SAAS,UAAW,SAAQ,KAAK,MAAM,IAAI,EAAE;AACjD,SAAO,QAAQ,KAAK,GAAG;AACzB;AAEO,SAAS,cAAc,GAAuC;AACnE,SAAO;AAAA;AAAA;AAAA;AAAA,gBAIO,EAAE,eAAe;AAAA;AAAA;AAAA,iBAGhB,eAAe,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKhB,CAAC,MAAuB,EAAE,iBAAiB;AAAA;AAAA,sBAEvC,WAAW,EAAE,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAM7B,EAAE,aAAa,OAAO;AAAA,4BACR,UAAU,EAAE,QAAQ,CAAC;AAAA;AAAA;AAAA,gBAGjC,OAAO;AAAA;AAAA;AAAA;AAAA,mDAI4B,EAAE,OAAO;AAAA,gBAC5C,EAAE,WAAW,8BAA8B,EAAE,QAAQ,SAAS,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQ7D,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAWnB,EAAE,aAAa;AAAA,6CACgB,EAAE,UAAU;AAAA,gBACzC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQvB;"}
|
package/dist/index221.js
CHANGED
|
@@ -1,12 +1,84 @@
|
|
|
1
|
-
import { html } from "lit";
|
|
2
|
-
|
|
1
|
+
import { html, nothing } from "lit";
|
|
2
|
+
const chevronLeft = html`
|
|
3
|
+
<svg viewBox="0 0 256 256" fill="currentColor" aria-hidden="true">
|
|
4
|
+
<path d="M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"/>
|
|
5
|
+
</svg>`;
|
|
6
|
+
const chevronRight = html`
|
|
7
|
+
<svg viewBox="0 0 256 256" fill="currentColor" aria-hidden="true">
|
|
8
|
+
<path d="M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z"/>
|
|
9
|
+
</svg>`;
|
|
10
|
+
function buildPageSequence(current, total, siblings) {
|
|
11
|
+
if (total <= 1) return [1];
|
|
12
|
+
const left = Math.max(2, current - siblings);
|
|
13
|
+
const right = Math.min(total - 1, current + siblings);
|
|
14
|
+
const pages = [1];
|
|
15
|
+
if (left > 2) pages.push(null);
|
|
16
|
+
for (let i = left; i <= right; i++) pages.push(i);
|
|
17
|
+
if (right < total - 1) pages.push(null);
|
|
18
|
+
if (total > 1) pages.push(total);
|
|
19
|
+
return pages;
|
|
20
|
+
}
|
|
21
|
+
function paginationTemplate(ctx) {
|
|
22
|
+
const total = ctx.totalPages;
|
|
23
|
+
const current = ctx.currentPage;
|
|
24
|
+
const sequence = buildPageSequence(current, total, ctx.siblings);
|
|
25
|
+
const infoText = ctx.showInfo ? (() => {
|
|
26
|
+
const from = (current - 1) * ctx.itemsPerPage + 1;
|
|
27
|
+
const to = Math.min(current * ctx.itemsPerPage, ctx.totalItems);
|
|
28
|
+
return html`
|
|
29
|
+
<span class="pg-info" part="info">
|
|
30
|
+
${from}–${to} de ${ctx.totalItems}
|
|
31
|
+
</span>`;
|
|
32
|
+
})() : nothing;
|
|
3
33
|
return html`
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
34
|
+
<nav class="pg" part="root" aria-label="${ctx.ariaLabel}">
|
|
35
|
+
|
|
36
|
+
${ctx.showInfo ? infoText : nothing}
|
|
37
|
+
|
|
38
|
+
<!-- ← Anterior -->
|
|
39
|
+
<button
|
|
40
|
+
class="pg-btn pg-btn--nav"
|
|
41
|
+
part="btn-prev"
|
|
42
|
+
?disabled="${current === 1}"
|
|
43
|
+
aria-label="Página anterior"
|
|
44
|
+
@click="${() => ctx._changePage(current - 1)}"
|
|
45
|
+
>
|
|
46
|
+
${chevronLeft}
|
|
47
|
+
${ctx.size !== "sm" ? html`<span>Ant</span>` : nothing}
|
|
48
|
+
</button>
|
|
49
|
+
|
|
50
|
+
<!-- Números -->
|
|
51
|
+
<div class="pg-numbers" part="numbers" role="list">
|
|
52
|
+
${sequence.map(
|
|
53
|
+
(page) => page === null ? html`<span class="pg-ellipsis" role="listitem" aria-hidden="true">…</span>` : html`
|
|
54
|
+
<button
|
|
55
|
+
class="pg-btn ${page === current ? "pg-btn--active" : ""}"
|
|
56
|
+
part="btn-page${page === current ? " btn-page-active" : ""}"
|
|
57
|
+
role="listitem"
|
|
58
|
+
aria-label="Página ${page}"
|
|
59
|
+
aria-current="${page === current ? "page" : nothing}"
|
|
60
|
+
?disabled="${page === current}"
|
|
61
|
+
@click="${() => ctx._changePage(page)}"
|
|
62
|
+
>${page}</button>`
|
|
63
|
+
)}
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<!-- → Siguiente -->
|
|
67
|
+
<button
|
|
68
|
+
class="pg-btn pg-btn--nav"
|
|
69
|
+
part="btn-next"
|
|
70
|
+
?disabled="${current === total}"
|
|
71
|
+
aria-label="Página siguiente"
|
|
72
|
+
@click="${() => ctx._changePage(current + 1)}"
|
|
73
|
+
>
|
|
74
|
+
${ctx.size !== "sm" ? html`<span>Sig</span>` : nothing}
|
|
75
|
+
${chevronRight}
|
|
76
|
+
</button>
|
|
77
|
+
|
|
78
|
+
</nav>
|
|
7
79
|
`;
|
|
8
80
|
}
|
|
9
81
|
export {
|
|
10
|
-
|
|
82
|
+
paginationTemplate
|
|
11
83
|
};
|
|
12
84
|
//# sourceMappingURL=index221.js.map
|
package/dist/index221.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index221.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index221.js","sources":["../src/components/molecules/pagination/lib-pagination.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { LibPagination } from './lib-pagination.component';\n\n/* ── Chevrons inline — sin dependencia de lib-icon ── */\nconst chevronLeft: TemplateResult = html`\n <svg viewBox=\"0 0 256 256\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\"/>\n </svg>`;\n\nconst chevronRight: TemplateResult = html`\n <svg viewBox=\"0 0 256 256\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z\"/>\n </svg>`;\n\n/**\n * Genera la secuencia de páginas con ellipsis.\n *\n * Ejemplo (current=5, total=10, siblings=1):\n * [1] … [4][5][6] … [10]\n *\n * Retorna un array de números o null (null = ellipsis).\n */\nfunction buildPageSequence(current: number, total: number, siblings: number): (number | null)[] {\n if (total <= 1) return [1];\n\n const left = Math.max(2, current - siblings);\n const right = Math.min(total - 1, current + siblings);\n\n const pages: (number | null)[] = [1];\n\n if (left > 2) pages.push(null); // ellipsis izquierdo\n for (let i = left; i <= right; i++) pages.push(i);\n if (right < total - 1) pages.push(null); // ellipsis derecho\n if (total > 1) pages.push(total);\n\n return pages;\n}\n\nexport function paginationTemplate(ctx: LibPagination): TemplateResult {\n const total = ctx.totalPages;\n const current = ctx.currentPage;\n const sequence = buildPageSequence(current, total, ctx.siblings);\n\n /* Info de resultados */\n const infoText = ctx.showInfo\n ? (():TemplateResult => {\n const from = (current - 1) * ctx.itemsPerPage + 1;\n const to = Math.min(current * ctx.itemsPerPage, ctx.totalItems);\n return html`\n <span class=\"pg-info\" part=\"info\">\n ${from}–${to} de ${ctx.totalItems}\n </span>`;\n })()\n : nothing;\n\n return html`\n <nav class=\"pg\" part=\"root\" aria-label=\"${ctx.ariaLabel}\">\n\n ${ctx.showInfo ? infoText : nothing}\n\n <!-- ← Anterior -->\n <button\n class=\"pg-btn pg-btn--nav\"\n part=\"btn-prev\"\n ?disabled=\"${current === 1}\"\n aria-label=\"Página anterior\"\n @click=\"${(): void => ctx._changePage(current - 1)}\"\n >\n ${chevronLeft}\n ${ctx.size !== 'sm' ? html`<span>Ant</span>` : nothing}\n </button>\n\n <!-- Números -->\n <div class=\"pg-numbers\" part=\"numbers\" role=\"list\">\n ${sequence.map((page, /*idx*/) =>\n page === null\n ? html`<span class=\"pg-ellipsis\" role=\"listitem\" aria-hidden=\"true\">…</span>`\n : html`\n <button\n class=\"pg-btn ${page === current ? 'pg-btn--active' : ''}\"\n part=\"btn-page${page === current ? ' btn-page-active' : ''}\"\n role=\"listitem\"\n aria-label=\"Página ${page}\"\n aria-current=\"${page === current ? 'page' : nothing}\"\n ?disabled=\"${page === current}\"\n @click=\"${(): void => ctx._changePage(page as number)}\"\n >${page}</button>`\n )}\n </div>\n\n <!-- → Siguiente -->\n <button\n class=\"pg-btn pg-btn--nav\"\n part=\"btn-next\"\n ?disabled=\"${current === total}\"\n aria-label=\"Página siguiente\"\n @click=\"${(): void => ctx._changePage(current + 1)}\"\n >\n ${ctx.size !== 'sm' ? html`<span>Sig</span>` : nothing}\n ${chevronRight}\n </button>\n\n </nav>\n `;\n}"],"names":[],"mappings":";AAIA,MAAM,cAA8B;AAAA;AAAA;AAAA;AAKpC,MAAM,eAA+B;AAAA;AAAA;AAAA;AAarC,SAAS,kBAAkB,SAAiB,OAAe,UAAqC;AAC9F,MAAI,SAAS,EAAG,QAAO,CAAC,CAAC;AAEzB,QAAM,OAAQ,KAAK,IAAI,GAAG,UAAU,QAAQ;AAC5C,QAAM,QAAQ,KAAK,IAAI,QAAQ,GAAG,UAAU,QAAQ;AAEpD,QAAM,QAA2B,CAAC,CAAC;AAEnC,MAAI,OAAO,EAAU,OAAM,KAAK,IAAI;AACpC,WAAS,IAAI,MAAM,KAAK,OAAO,IAAK,OAAM,KAAK,CAAC;AAChD,MAAI,QAAQ,QAAQ,EAAG,OAAM,KAAK,IAAI;AACtC,MAAI,QAAQ,EAAG,OAAM,KAAK,KAAK;AAE/B,SAAO;AACT;AAEO,SAAS,mBAAmB,KAAoC;AACrE,QAAM,QAAU,IAAI;AACpB,QAAM,UAAU,IAAI;AACpB,QAAM,WAAW,kBAAkB,SAAS,OAAO,IAAI,QAAQ;AAG/D,QAAM,WAAW,IAAI,YAChB,MAAqB;AACpB,UAAM,QAAQ,UAAU,KAAK,IAAI,eAAe;AAChD,UAAM,KAAO,KAAK,IAAI,UAAU,IAAI,cAAc,IAAI,UAAU;AAChE,WAAO;AAAA;AAAA,cAED,IAAI,IAAI,EAAE,OAAO,IAAI,UAAU;AAAA;AAAA,EAEvC,OACA;AAEJ,SAAO;AAAA,8CACqC,IAAI,SAAS;AAAA;AAAA,QAEnD,IAAI,WAAW,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAMpB,YAAY,CAAC;AAAA;AAAA,kBAEhB,MAAY,IAAI,YAAY,UAAU,CAAC,CAAC;AAAA;AAAA,UAEhD,WAAW;AAAA,UACX,IAAI,SAAS,OAAO,yBAAyB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKpD,SAAS;AAAA,IAAI,CAAC,SACd,SAAS,OACL,8EACA;AAAA;AAAA,gCAEkB,SAAS,UAAU,mBAAmB,EAAE;AAAA,gCACxC,SAAS,UAAU,qBAAqB,EAAE;AAAA;AAAA,qCAErC,IAAI;AAAA,gCACT,SAAS,UAAU,SAAS,OAAO;AAAA,6BACtC,SAAS,OAAO;AAAA,0BACnB,MAAY,IAAI,YAAY,IAAc,CAAC;AAAA,iBACpD,IAAI;AAAA,EAAA,CACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAOY,YAAY,KAAK;AAAA;AAAA,kBAEpB,MAAY,IAAI,YAAY,UAAU,CAAC,CAAC;AAAA;AAAA,UAEhD,IAAI,SAAS,OAAO,yBAAyB,OAAO;AAAA,UACpD,YAAY;AAAA;AAAA;AAAA;AAAA;AAKtB;"}
|
package/dist/index222.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const
|
|
1
|
+
const paginationCss = '@layer tokens,reset,components;@layer reset{:host{display:block}*,*:before,*:after{box-sizing:border-box}button{font:inherit;background:none;border:none;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}}@layer components{.pg{display:flex;align-items:center;justify-content:center;gap:var(--lib-space-sm);flex-wrap:wrap}.pg-numbers{display:flex;align-items:center;gap:var(--lib-space-xs)}.pg-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--lib-space-xs);font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);min-width:var(--_pg-size, 32px);height:var(--_pg-size, 32px);padding:0 var(--lib-space-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.pg-btn:hover:not(:disabled,.pg-btn--active){background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-primary)}.pg-btn:focus-visible{outline:2px solid var(--color-kaki-400);outline-offset:2px}.pg-btn:active:not(:disabled){transform:scale(.96)}.pg-btn--active{background:var(--color-washi-900);border-color:var(--color-washi-900);color:var(--color-washi-50);cursor:default}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-btn--nav{padding:0 var(--lib-space-md)}.pg-btn--nav svg{width:10px;height:10px;flex-shrink:0}.pg-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:var(--_pg-size, 32px);height:var(--_pg-size, 32px);font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-muted);-webkit-user-select:none;user-select:none}:host([size="sm"]){--_pg-size: 26px}:host([size="sm"]) .pg-btn{font-size:10px;padding:0 var(--lib-space-xs)}:host([size="sm"]) .pg-btn--nav{padding:0 var(--lib-space-sm)}:host([size="sm"]) .pg-ellipsis{font-size:10px}:host([size="md"]){--_pg-size: 32px}:host([size="lg"]){--_pg-size: 40px}:host([size="lg"]) .pg-btn{font-size:var(--text-sm);letter-spacing:var(--tracking-wider);padding:0 var(--lib-space-md)}:host([size="lg"]) .pg-btn--nav{padding:0 calc(var(--lib-space-md) + var(--lib-space-xs))}:host([variant="outline"]) .pg-btn{background:transparent}:host([variant="outline"]) .pg-btn:hover:not(:disabled,.pg-btn--active){background:var(--bg-surface)}:host([variant="outline"]) .pg-btn--active{background:transparent;border-color:var(--color-washi-900);color:var(--color-washi-900)}:host([variant="ghost"]) .pg-btn{background:transparent;border-color:transparent}:host([variant="ghost"]) .pg-btn:hover:not(:disabled,.pg-btn--active){background:var(--bg-surface);border-color:transparent}:host([variant="ghost"]) .pg-btn--active{background:var(--bg-surface);border-color:transparent;color:var(--text-primary);font-weight:500}.pg-info{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-muted);white-space:nowrap}:host([dark]) .pg-btn{background:var(--color-washi-800);border-color:var(--color-washi-700);color:var(--color-washi-400)}:host([dark]) .pg-btn:hover:not(:disabled,.pg-btn--active){background:var(--color-washi-700);border-color:var(--color-washi-600);color:var(--color-washi-100)}:host([dark]) .pg-btn--active{background:var(--color-washi-50);border-color:var(--color-washi-50);color:var(--color-washi-950)}:host([dark]) .pg-ellipsis{color:var(--color-washi-600)}:host([dark]) .pg-info{color:var(--color-washi-600)}}';
|
|
2
2
|
export {
|
|
3
|
-
|
|
3
|
+
paginationCss as default
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=index222.js.map
|