@misael703/ui 1.1.0 → 1.2.0
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/chunk-IMHLJKYR.mjs +176 -0
- package/dist/chunk-IMHLJKYR.mjs.map +1 -0
- package/dist/{chunk-Y6CBRW2S.js → chunk-K5S3SV2U.js} +51 -52
- package/dist/chunk-K5S3SV2U.js.map +1 -0
- package/dist/chunk-N2Y2KWX5.mjs +216 -0
- package/dist/chunk-N2Y2KWX5.mjs.map +1 -0
- package/dist/{chunk-HU7RYXQK.js → chunk-N7LFCAAY.js} +59 -63
- package/dist/chunk-N7LFCAAY.js.map +1 -0
- package/dist/{chunk-MPGASTSK.mjs → chunk-OHCS5CYV.mjs} +51 -52
- package/dist/chunk-OHCS5CYV.mjs.map +1 -0
- package/dist/chunk-V7MK42GX.js +238 -0
- package/dist/chunk-V7MK42GX.js.map +1 -0
- package/dist/chunk-VR4OXVKE.js +198 -0
- package/dist/chunk-VR4OXVKE.js.map +1 -0
- package/dist/{chunk-QCVIN2ET.mjs → chunk-YFLVB62R.mjs} +59 -63
- package/dist/chunk-YFLVB62R.mjs.map +1 -0
- package/dist/components/AdvancedPickers.js +5 -5
- package/dist/components/AdvancedPickers.mjs +1 -1
- package/dist/components/Menubar.js +5 -2
- package/dist/components/Menubar.mjs +4 -1
- package/dist/components/NavigationMenu.js +5 -2
- package/dist/components/NavigationMenu.mjs +4 -1
- package/dist/components/Pickers.js +4 -4
- package/dist/components/Pickers.mjs +1 -1
- package/dist/index.js +13 -13
- package/dist/index.mjs +4 -4
- package/dist/styles.css +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-HU7RYXQK.js.map +0 -1
- package/dist/chunk-JDOXRLZW.js +0 -138
- package/dist/chunk-JDOXRLZW.js.map +0 -1
- package/dist/chunk-MPGASTSK.mjs.map +0 -1
- package/dist/chunk-OCE4ODTM.mjs +0 -116
- package/dist/chunk-OCE4ODTM.mjs.map +0 -1
- package/dist/chunk-QCVIN2ET.mjs.map +0 -1
- package/dist/chunk-QI6TVWWF.js +0 -121
- package/dist/chunk-QI6TVWWF.js.map +0 -1
- package/dist/chunk-Y6CBRW2S.js.map +0 -1
- package/dist/chunk-YBOTLQ3G.mjs +0 -99
- package/dist/chunk-YBOTLQ3G.mjs.map +0 -1
|
@@ -6,7 +6,6 @@ import { useLocale } from './chunk-ZRFSTYRL.mjs';
|
|
|
6
6
|
import { X, CalendarIcon, ChevronLeft, ChevronRight } from './chunk-CIBJKJV3.mjs';
|
|
7
7
|
import { cx } from './chunk-IEPCH3JB.mjs';
|
|
8
8
|
import * as React from 'react';
|
|
9
|
-
import { createPortal } from 'react-dom';
|
|
10
9
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
10
|
|
|
12
11
|
var defaultFilter = (o, q) => o.label.toLowerCase().includes(q.toLowerCase());
|
|
@@ -183,22 +182,17 @@ function DatePicker({
|
|
|
183
182
|
const [view, setView] = React.useState(() => startOfMonth(value ?? /* @__PURE__ */ new Date()));
|
|
184
183
|
const wrapRef = React.useRef(null);
|
|
185
184
|
const popoverRef = React.useRef(null);
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
React.useEffect(() => {
|
|
198
|
-
if (!open || !wrapRef.current) return;
|
|
199
|
-
const t = wrapRef.current.getBoundingClientRect();
|
|
200
|
-
setCoords({ top: t.bottom + 4 + window.scrollY, left: t.left + window.scrollX });
|
|
201
|
-
}, [open]);
|
|
185
|
+
const pos = usePopoverPosition(wrapRef, popoverRef, {
|
|
186
|
+
open,
|
|
187
|
+
side: "bottom",
|
|
188
|
+
align: "start",
|
|
189
|
+
offset: 4
|
|
190
|
+
});
|
|
191
|
+
useDismiss({
|
|
192
|
+
open,
|
|
193
|
+
onDismiss: () => setOpen(false),
|
|
194
|
+
refs: [wrapRef, popoverRef]
|
|
195
|
+
});
|
|
202
196
|
React.useEffect(() => {
|
|
203
197
|
if (value) setView(startOfMonth(value));
|
|
204
198
|
}, [value]);
|
|
@@ -238,52 +232,54 @@ function DatePicker({
|
|
|
238
232
|
children: /* @__PURE__ */ jsx(CalendarIcon, { size: 16 })
|
|
239
233
|
}
|
|
240
234
|
),
|
|
241
|
-
open &&
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
235
|
+
open && /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(
|
|
236
|
+
"div",
|
|
237
|
+
{
|
|
238
|
+
ref: popoverRef,
|
|
239
|
+
className: cx("datepicker__popover", "is-floating"),
|
|
240
|
+
role: "dialog",
|
|
241
|
+
style: {
|
|
242
|
+
position: "absolute",
|
|
243
|
+
top: pos.top,
|
|
244
|
+
left: pos.left,
|
|
245
|
+
visibility: pos.ready ? "visible" : "hidden"
|
|
246
|
+
},
|
|
247
|
+
children: [
|
|
248
|
+
/* @__PURE__ */ jsxs("div", { className: "datepicker__nav", children: [
|
|
249
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => setView((v) => addMonths(v, -1)), "aria-label": locale["calendar.prevMonth"], children: /* @__PURE__ */ jsx(ChevronLeft, { size: 16 }) }),
|
|
250
|
+
/* @__PURE__ */ jsxs("span", { className: "datepicker__title", children: [
|
|
251
|
+
months[view.getMonth()],
|
|
252
|
+
" ",
|
|
253
|
+
view.getFullYear()
|
|
258
254
|
] }),
|
|
259
|
-
/* @__PURE__ */
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
255
|
+
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => setView((v) => addMonths(v, 1)), "aria-label": locale["calendar.nextMonth"], children: /* @__PURE__ */ jsx(ChevronRight, { size: 16 }) })
|
|
256
|
+
] }),
|
|
257
|
+
/* @__PURE__ */ jsxs("div", { className: "datepicker__grid", children: [
|
|
258
|
+
weekdays.map((w, i) => /* @__PURE__ */ jsx("span", { className: "datepicker__dow", children: w }, i)),
|
|
259
|
+
cells.map((d, i) => {
|
|
260
|
+
if (!d) return /* @__PURE__ */ jsx("span", {}, `b${i}`);
|
|
261
|
+
const sel = value && isSameDay(d, value);
|
|
262
|
+
const today = isSameDay(d, /* @__PURE__ */ new Date());
|
|
263
|
+
const off = isDisabled(d);
|
|
264
|
+
return /* @__PURE__ */ jsx(
|
|
265
|
+
"button",
|
|
266
|
+
{
|
|
267
|
+
type: "button",
|
|
268
|
+
className: cx("datepicker__day", sel && "is-selected", today && "is-today", off && "is-disabled"),
|
|
269
|
+
disabled: !!off,
|
|
270
|
+
onClick: () => {
|
|
271
|
+
onChange(d);
|
|
272
|
+
setOpen(false);
|
|
277
273
|
},
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
)
|
|
274
|
+
children: d.getDate()
|
|
275
|
+
},
|
|
276
|
+
i
|
|
277
|
+
);
|
|
278
|
+
})
|
|
279
|
+
] })
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
) })
|
|
287
283
|
] });
|
|
288
284
|
}
|
|
289
285
|
function FileUpload({
|
|
@@ -351,5 +347,5 @@ function FileUpload({
|
|
|
351
347
|
}
|
|
352
348
|
|
|
353
349
|
export { Combobox, DatePicker, FileUpload };
|
|
354
|
-
//# sourceMappingURL=chunk-
|
|
355
|
-
//# sourceMappingURL=chunk-
|
|
350
|
+
//# sourceMappingURL=chunk-YFLVB62R.mjs.map
|
|
351
|
+
//# sourceMappingURL=chunk-YFLVB62R.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Pickers.tsx"],"names":[],"mappings":"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","file":"chunk-YFLVB62R.mjs","sourcesContent":["'use client';\nimport * as React from 'react';\nimport { cx } from '../utils/cx';\nimport { CalendarIcon, ChevronLeft, ChevronRight, X } from './Icons';\nimport { resolveDateFormat, formatDate, parseDate, dateFormatPlaceholder, type DateFormat } from '../utils/dateFormat';\nimport { useLocale } from '../locale/LocaleProvider';\nimport { Portal } from './Portal';\nimport { usePopoverPosition } from '../hooks/usePopoverPosition';\nimport { useDismiss } from '../hooks/useDismiss';\n\n// ---------- Combobox -----------------------------------------------------\nexport interface ComboboxOption<T = string> {\n value: T;\n label: string;\n description?: string;\n disabled?: boolean;\n}\n\nexport interface ComboboxProps<T = string> {\n value: T | null;\n onChange: (value: T | null) => void;\n options: ComboboxOption<T>[];\n placeholder?: string;\n emptyMessage?: string;\n filter?: (option: ComboboxOption<T>, query: string) => boolean;\n className?: string;\n invalid?: boolean;\n disabled?: boolean;\n id?: string;\n}\n\nconst defaultFilter = <T,>(o: ComboboxOption<T>, q: string) =>\n o.label.toLowerCase().includes(q.toLowerCase());\n\nexport function Combobox<T = string>({\n value, onChange, options, placeholder,\n emptyMessage, filter = defaultFilter,\n className, invalid, disabled, id,\n}: ComboboxProps<T>) {\n const locale = useLocale();\n const ph = placeholder ?? locale['common.search'];\n const empty = emptyMessage ?? locale['common.noResults'];\n const [open, setOpen] = React.useState(false);\n const [query, setQuery] = React.useState('');\n const [active, setActive] = React.useState(0);\n const wrapRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const listRef = React.useRef<HTMLUListElement>(null);\n // Stable per-instance listbox id so multiple Comboboxes don't collide on aria-controls.\n const reactId = React.useId();\n const listboxId = `${id ?? reactId}-listbox`;\n\n const selected = React.useMemo(\n () => options.find((o) => o.value === value) ?? null,\n [options, value]\n );\n const filtered = React.useMemo(\n () => (query ? options.filter((o) => filter(o, query)) : options),\n [options, query, filter]\n );\n\n const pos = usePopoverPosition(wrapRef, listRef, {\n open,\n side: 'bottom',\n align: 'start',\n offset: 4,\n matchAnchorWidth: true,\n });\n\n // Escape is handled by the input's onKeyDown; here we only need\n // outside-click (closeOnEscape: false avoids a double close).\n useDismiss({\n open,\n onDismiss: () => setOpen(false),\n refs: [wrapRef, listRef],\n closeOnEscape: false,\n });\n\n React.useEffect(() => { setActive(0); }, [query, open]);\n\n const onKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n setOpen(true);\n setActive((a) => Math.min(filtered.length - 1, a + 1));\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setActive((a) => Math.max(0, a - 1));\n } else if (e.key === 'Enter') {\n e.preventDefault();\n const opt = filtered[active];\n if (opt && !opt.disabled) {\n onChange(opt.value);\n setQuery('');\n setOpen(false);\n }\n } else if (e.key === 'Escape') {\n setOpen(false);\n }\n };\n\n return (\n <div ref={wrapRef} className={cx('combobox', invalid && 'is-invalid', disabled && 'is-disabled', className)}>\n <input\n ref={inputRef}\n id={id}\n type=\"text\"\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={listboxId}\n className=\"combobox__input\"\n placeholder={ph}\n disabled={disabled}\n value={open ? query : selected?.label ?? ''}\n onFocus={() => setOpen(true)}\n onChange={(e) => { setQuery(e.target.value); setOpen(true); }}\n onKeyDown={onKey}\n />\n {selected && !open && (\n <button\n type=\"button\"\n className=\"combobox__clear\"\n onClick={() => { onChange(null); setQuery(''); inputRef.current?.focus(); }}\n aria-label={locale['picker.clearSelection']}\n ><X size={16} /></button>\n )}\n {open && (\n <Portal>\n <ul\n ref={listRef}\n id={listboxId}\n role=\"listbox\"\n className={cx('combobox__list', 'is-floating')}\n style={{\n position: 'absolute',\n top: pos.top,\n left: pos.left,\n width: pos.width,\n visibility: pos.ready ? 'visible' : 'hidden',\n }}\n >\n {filtered.length === 0 ? (\n <li className=\"combobox__empty\">{empty}</li>\n ) : (\n filtered.map((o, i) => (\n <li\n key={String(o.value)}\n role=\"option\"\n aria-selected={o.value === value}\n aria-disabled={o.disabled}\n className={cx('combobox__option', i === active && 'is-active', o.value === value && 'is-selected', o.disabled && 'is-disabled')}\n onMouseEnter={() => setActive(i)}\n onMouseDown={(e) => {\n e.preventDefault();\n if (o.disabled) return;\n onChange(o.value);\n setQuery('');\n setOpen(false);\n }}\n >\n <span className=\"combobox__option-label\">{o.label}</span>\n {o.description && <span className=\"combobox__option-desc\">{o.description}</span>}\n </li>\n ))\n )}\n </ul>\n </Portal>\n )}\n </div>\n );\n}\n\n// ---------- DatePicker (text + calendar popover) -------------------------\nfunction startOfMonth(d: Date) { return new Date(d.getFullYear(), d.getMonth(), 1); }\nfunction addMonths(d: Date, n: number) { return new Date(d.getFullYear(), d.getMonth() + n, 1); }\nfunction isSameDay(a: Date, b: Date) {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\n\nexport interface DatePickerProps {\n value: Date | null;\n onChange: (date: Date | null) => void;\n minDate?: Date;\n maxDate?: Date;\n placeholder?: string;\n disabled?: boolean;\n invalid?: boolean;\n className?: string;\n id?: string;\n /**\n * Display & parse format. Default `'auto'` derives from `configureBrand().locale`\n * (e.g. `es-CL` → `dd-mm-aaaa`, `en-US` → `mm-dd-aaaa`, `ja-JP` → `aaaa-mm-dd`).\n */\n format?: DateFormat;\n}\n\nexport function DatePicker({\n value, onChange, minDate, maxDate, placeholder,\n disabled, invalid, className, id, format = 'auto',\n}: DatePickerProps) {\n const locale = useLocale();\n const fmt = resolveDateFormat(format);\n const ph = placeholder ?? dateFormatPlaceholder(fmt);\n const weekdays = locale['picker.weekdaysShort'];\n const months = locale['calendar.months'];\n const [open, setOpen] = React.useState(false);\n const [view, setView] = React.useState(() => startOfMonth(value ?? new Date()));\n const wrapRef = React.useRef<HTMLDivElement>(null);\n const popoverRef = React.useRef<HTMLDivElement>(null);\n\n // Portaled to body (escapes overflow ancestors) with flip/clamp and\n // scroll/resize reposition — same primitive as Combobox above. No\n // returnFocusRef: the input opens on focus, so refocusing it on close\n // would immediately reopen the calendar (Combobox omits it for the same\n // reason). Escape still closes via useDismiss's default handler.\n const pos = usePopoverPosition(wrapRef, popoverRef, {\n open,\n side: 'bottom',\n align: 'start',\n offset: 4,\n });\n\n useDismiss({\n open,\n onDismiss: () => setOpen(false),\n refs: [wrapRef, popoverRef],\n });\n\n React.useEffect(() => {\n if (value) setView(startOfMonth(value));\n }, [value]);\n\n const monthStart = view;\n const startDow = (monthStart.getDay() + 6) % 7; // Mon=0\n const daysInMonth = new Date(view.getFullYear(), view.getMonth() + 1, 0).getDate();\n const cells: (Date | null)[] = [];\n for (let i = 0; i < startDow; i++) cells.push(null);\n for (let d = 1; d <= daysInMonth; d++) cells.push(new Date(view.getFullYear(), view.getMonth(), d));\n\n const isDisabled = (d: Date) =>\n (minDate && d < new Date(minDate.getFullYear(), minDate.getMonth(), minDate.getDate())) ||\n (maxDate && d > new Date(maxDate.getFullYear(), maxDate.getMonth(), maxDate.getDate()));\n\n return (\n <div ref={wrapRef} className={cx('datepicker', invalid && 'is-invalid', disabled && 'is-disabled', className)}>\n <input\n id={id}\n type=\"text\"\n className=\"datepicker__input\"\n placeholder={ph}\n disabled={disabled}\n value={value ? formatDate(value, fmt) : ''}\n onChange={(e) => {\n const d = parseDate(e.target.value, fmt);\n onChange(d);\n }}\n onFocus={() => setOpen(true)}\n aria-invalid={invalid || undefined}\n />\n <button\n type=\"button\"\n className=\"datepicker__toggle\"\n onClick={() => setOpen((o) => !o)}\n disabled={disabled}\n aria-label={locale['picker.openCalendar']}\n ><CalendarIcon size={16} /></button>\n {open && (\n <Portal>\n <div\n ref={popoverRef}\n className={cx('datepicker__popover', 'is-floating')}\n role=\"dialog\"\n style={{\n position: 'absolute',\n top: pos.top,\n left: pos.left,\n visibility: pos.ready ? 'visible' : 'hidden',\n }}\n >\n <div className=\"datepicker__nav\">\n <button type=\"button\" onClick={() => setView((v) => addMonths(v, -1))} aria-label={locale['calendar.prevMonth']}><ChevronLeft size={16} /></button>\n <span className=\"datepicker__title\">{months[view.getMonth()]} {view.getFullYear()}</span>\n <button type=\"button\" onClick={() => setView((v) => addMonths(v, 1))} aria-label={locale['calendar.nextMonth']}><ChevronRight size={16} /></button>\n </div>\n <div className=\"datepicker__grid\">\n {weekdays.map((w, i) => <span key={i} className=\"datepicker__dow\">{w}</span>)}\n {cells.map((d, i) => {\n if (!d) return <span key={`b${i}`} />;\n const sel = value && isSameDay(d, value);\n const today = isSameDay(d, new Date());\n const off = isDisabled(d);\n return (\n <button\n key={i}\n type=\"button\"\n className={cx('datepicker__day', sel && 'is-selected', today && 'is-today', off && 'is-disabled')}\n disabled={!!off}\n onClick={() => { onChange(d); setOpen(false); }}\n >\n {d.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n </Portal>\n )}\n </div>\n );\n}\n\n// ---------- FileUpload (drop zone) ---------------------------------------\nexport interface FileUploadProps {\n onFiles: (files: File[]) => void;\n accept?: string;\n multiple?: boolean;\n maxSize?: number; // bytes\n disabled?: boolean;\n className?: string;\n hint?: React.ReactNode;\n /** Accessible name for the drop zone (e.g. \"Subir foto de perfil\"). */\n 'aria-label'?: string;\n}\n\nexport function FileUpload({\n onFiles, accept, multiple = false, maxSize, disabled, className, hint,\n 'aria-label': ariaLabel,\n}: FileUploadProps) {\n const [drag, setDrag] = React.useState(false);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const hintId = React.useId();\n const locale = useLocale();\n const handle = (list: FileList | null) => {\n if (!list) return;\n let arr = Array.from(list);\n if (maxSize) arr = arr.filter((f) => f.size <= maxSize);\n if (!multiple) arr = arr.slice(0, 1);\n onFiles(arr);\n };\n return (\n <div\n className={cx('file-upload', drag && 'is-drag', disabled && 'is-disabled', className)}\n onDragOver={(e) => { e.preventDefault(); if (!disabled) setDrag(true); }}\n onDragLeave={() => setDrag(false)}\n onDrop={(e) => { e.preventDefault(); setDrag(false); if (!disabled) handle(e.dataTransfer.files); }}\n onClick={() => !disabled && inputRef.current?.click()}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel}\n aria-describedby={hint ? hintId : undefined}\n onKeyDown={(e) => { if ((e.key === 'Enter' || e.key === ' ') && !disabled) inputRef.current?.click(); }}\n >\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n disabled={disabled}\n hidden\n onChange={(e) => handle(e.target.files)}\n />\n <div className=\"file-upload__icon\" aria-hidden=\"true\">⤴</div>\n <div className=\"file-upload__title\">{locale['fileUpload.title']}</div>\n {hint && <div id={hintId} className=\"file-upload__hint\">{hint}</div>}\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkK5S3SV2U_js = require('../chunk-K5S3SV2U.js');
|
|
4
4
|
require('../chunk-6LOJIU3C.js');
|
|
5
5
|
require('../chunk-LIGJBHXU.js');
|
|
6
6
|
require('../chunk-XMLBKK7X.js');
|
|
@@ -15,19 +15,19 @@ require('../chunk-PASF6T4H.js');
|
|
|
15
15
|
|
|
16
16
|
Object.defineProperty(exports, "CommandPalette", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkK5S3SV2U_js.CommandPalette; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "DateRangePicker", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkK5S3SV2U_js.DateRangePicker; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "MultiCombobox", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkK5S3SV2U_js.MultiCombobox; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "useCommandPalette", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkK5S3SV2U_js.useCommandPalette; }
|
|
31
31
|
});
|
|
32
32
|
//# sourceMappingURL=AdvancedPickers.js.map
|
|
33
33
|
//# sourceMappingURL=AdvancedPickers.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CommandPalette, DateRangePicker, MultiCombobox, useCommandPalette } from '../chunk-
|
|
1
|
+
export { CommandPalette, DateRangePicker, MultiCombobox, useCommandPalette } from '../chunk-OHCS5CYV.mjs';
|
|
2
2
|
import '../chunk-BCIZLGM3.mjs';
|
|
3
3
|
import '../chunk-KKOJI25C.mjs';
|
|
4
4
|
import '../chunk-6P2TKRTL.mjs';
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkV7MK42GX_js = require('../chunk-V7MK42GX.js');
|
|
4
|
+
require('../chunk-XMLBKK7X.js');
|
|
5
|
+
require('../chunk-DPMUWQHL.js');
|
|
6
|
+
require('../chunk-GLYGO7WX.js');
|
|
4
7
|
require('../chunk-PASF6T4H.js');
|
|
5
8
|
|
|
6
9
|
|
|
7
10
|
|
|
8
11
|
Object.defineProperty(exports, "Menubar", {
|
|
9
12
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkV7MK42GX_js.Menubar; }
|
|
11
14
|
});
|
|
12
15
|
//# sourceMappingURL=Menubar.js.map
|
|
13
16
|
//# sourceMappingURL=Menubar.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export { Menubar } from '../chunk-
|
|
1
|
+
export { Menubar } from '../chunk-N2Y2KWX5.mjs';
|
|
2
|
+
import '../chunk-6P2TKRTL.mjs';
|
|
3
|
+
import '../chunk-H3PRT76O.mjs';
|
|
4
|
+
import '../chunk-QX5GGPV5.mjs';
|
|
2
5
|
import '../chunk-IEPCH3JB.mjs';
|
|
3
6
|
//# sourceMappingURL=Menubar.mjs.map
|
|
4
7
|
//# sourceMappingURL=Menubar.mjs.map
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkVR4OXVKE_js = require('../chunk-VR4OXVKE.js');
|
|
4
|
+
require('../chunk-XMLBKK7X.js');
|
|
5
|
+
require('../chunk-DPMUWQHL.js');
|
|
6
|
+
require('../chunk-GLYGO7WX.js');
|
|
4
7
|
require('../chunk-RQOTH7I7.js');
|
|
5
8
|
require('../chunk-PASF6T4H.js');
|
|
6
9
|
|
|
@@ -8,7 +11,7 @@ require('../chunk-PASF6T4H.js');
|
|
|
8
11
|
|
|
9
12
|
Object.defineProperty(exports, "NavigationMenu", {
|
|
10
13
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkVR4OXVKE_js.NavigationMenu; }
|
|
12
15
|
});
|
|
13
16
|
//# sourceMappingURL=NavigationMenu.js.map
|
|
14
17
|
//# sourceMappingURL=NavigationMenu.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export { NavigationMenu } from '../chunk-
|
|
1
|
+
export { NavigationMenu } from '../chunk-IMHLJKYR.mjs';
|
|
2
|
+
import '../chunk-6P2TKRTL.mjs';
|
|
3
|
+
import '../chunk-H3PRT76O.mjs';
|
|
4
|
+
import '../chunk-QX5GGPV5.mjs';
|
|
2
5
|
import '../chunk-CIBJKJV3.mjs';
|
|
3
6
|
import '../chunk-IEPCH3JB.mjs';
|
|
4
7
|
//# sourceMappingURL=NavigationMenu.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkN7LFCAAY_js = require('../chunk-N7LFCAAY.js');
|
|
4
4
|
require('../chunk-6LOJIU3C.js');
|
|
5
5
|
require('../chunk-XMLBKK7X.js');
|
|
6
6
|
require('../chunk-DPMUWQHL.js');
|
|
@@ -14,15 +14,15 @@ require('../chunk-PASF6T4H.js');
|
|
|
14
14
|
|
|
15
15
|
Object.defineProperty(exports, "Combobox", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkN7LFCAAY_js.Combobox; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "DatePicker", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkN7LFCAAY_js.DatePicker; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "FileUpload", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkN7LFCAAY_js.FileUpload; }
|
|
26
26
|
});
|
|
27
27
|
//# sourceMappingURL=Pickers.js.map
|
|
28
28
|
//# sourceMappingURL=Pickers.js.map
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require('./chunk-427NHGTX.js');
|
|
4
4
|
require('./chunk-4REALDR3.js');
|
|
5
5
|
var chunkTZG34EYW_js = require('./chunk-TZG34EYW.js');
|
|
6
|
-
var
|
|
6
|
+
var chunkN7LFCAAY_js = require('./chunk-N7LFCAAY.js');
|
|
7
7
|
var chunkMUL2FKYF_js = require('./chunk-MUL2FKYF.js');
|
|
8
8
|
var chunkGCW5JYWQ_js = require('./chunk-GCW5JYWQ.js');
|
|
9
9
|
var chunkQHRP73CS_js = require('./chunk-QHRP73CS.js');
|
|
@@ -13,8 +13,8 @@ var chunk2JTBLDMK_js = require('./chunk-2JTBLDMK.js');
|
|
|
13
13
|
var chunkKOIRRZRD_js = require('./chunk-KOIRRZRD.js');
|
|
14
14
|
var chunkNU4GAGUV_js = require('./chunk-NU4GAGUV.js');
|
|
15
15
|
var chunkADQM725E_js = require('./chunk-ADQM725E.js');
|
|
16
|
-
var
|
|
17
|
-
var
|
|
16
|
+
var chunkV7MK42GX_js = require('./chunk-V7MK42GX.js');
|
|
17
|
+
var chunkVR4OXVKE_js = require('./chunk-VR4OXVKE.js');
|
|
18
18
|
var chunk3TNBETXR_js = require('./chunk-3TNBETXR.js');
|
|
19
19
|
var chunkLXNHGGAK_js = require('./chunk-LXNHGGAK.js');
|
|
20
20
|
var chunkUNOPDYA7_js = require('./chunk-UNOPDYA7.js');
|
|
@@ -33,7 +33,7 @@ var chunkIMFQ55KO_js = require('./chunk-IMFQ55KO.js');
|
|
|
33
33
|
var chunk26KJA67X_js = require('./chunk-26KJA67X.js');
|
|
34
34
|
var chunkOHMFYAB2_js = require('./chunk-OHMFYAB2.js');
|
|
35
35
|
var chunk2S6JJYN7_js = require('./chunk-2S6JJYN7.js');
|
|
36
|
-
var
|
|
36
|
+
var chunkK5S3SV2U_js = require('./chunk-K5S3SV2U.js');
|
|
37
37
|
var chunk6LOJIU3C_js = require('./chunk-6LOJIU3C.js');
|
|
38
38
|
var chunkLIGJBHXU_js = require('./chunk-LIGJBHXU.js');
|
|
39
39
|
var chunkXMLBKK7X_js = require('./chunk-XMLBKK7X.js');
|
|
@@ -57,15 +57,15 @@ Object.defineProperty(exports, "PermissionMatrix", {
|
|
|
57
57
|
});
|
|
58
58
|
Object.defineProperty(exports, "Combobox", {
|
|
59
59
|
enumerable: true,
|
|
60
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkN7LFCAAY_js.Combobox; }
|
|
61
61
|
});
|
|
62
62
|
Object.defineProperty(exports, "DatePicker", {
|
|
63
63
|
enumerable: true,
|
|
64
|
-
get: function () { return
|
|
64
|
+
get: function () { return chunkN7LFCAAY_js.DatePicker; }
|
|
65
65
|
});
|
|
66
66
|
Object.defineProperty(exports, "FileUpload", {
|
|
67
67
|
enumerable: true,
|
|
68
|
-
get: function () { return
|
|
68
|
+
get: function () { return chunkN7LFCAAY_js.FileUpload; }
|
|
69
69
|
});
|
|
70
70
|
Object.defineProperty(exports, "Popover", {
|
|
71
71
|
enumerable: true,
|
|
@@ -237,11 +237,11 @@ Object.defineProperty(exports, "Testimonial", {
|
|
|
237
237
|
});
|
|
238
238
|
Object.defineProperty(exports, "Menubar", {
|
|
239
239
|
enumerable: true,
|
|
240
|
-
get: function () { return
|
|
240
|
+
get: function () { return chunkV7MK42GX_js.Menubar; }
|
|
241
241
|
});
|
|
242
242
|
Object.defineProperty(exports, "NavigationMenu", {
|
|
243
243
|
enumerable: true,
|
|
244
|
-
get: function () { return
|
|
244
|
+
get: function () { return chunkVR4OXVKE_js.NavigationMenu; }
|
|
245
245
|
});
|
|
246
246
|
Object.defineProperty(exports, "NotificationCenter", {
|
|
247
247
|
enumerable: true,
|
|
@@ -545,19 +545,19 @@ Object.defineProperty(exports, "Stat", {
|
|
|
545
545
|
});
|
|
546
546
|
Object.defineProperty(exports, "CommandPalette", {
|
|
547
547
|
enumerable: true,
|
|
548
|
-
get: function () { return
|
|
548
|
+
get: function () { return chunkK5S3SV2U_js.CommandPalette; }
|
|
549
549
|
});
|
|
550
550
|
Object.defineProperty(exports, "DateRangePicker", {
|
|
551
551
|
enumerable: true,
|
|
552
|
-
get: function () { return
|
|
552
|
+
get: function () { return chunkK5S3SV2U_js.DateRangePicker; }
|
|
553
553
|
});
|
|
554
554
|
Object.defineProperty(exports, "MultiCombobox", {
|
|
555
555
|
enumerable: true,
|
|
556
|
-
get: function () { return
|
|
556
|
+
get: function () { return chunkK5S3SV2U_js.MultiCombobox; }
|
|
557
557
|
});
|
|
558
558
|
Object.defineProperty(exports, "useCommandPalette", {
|
|
559
559
|
enumerable: true,
|
|
560
|
-
get: function () { return
|
|
560
|
+
get: function () { return chunkK5S3SV2U_js.useCommandPalette; }
|
|
561
561
|
});
|
|
562
562
|
Object.defineProperty(exports, "dateFormatPlaceholder", {
|
|
563
563
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './chunk-BVQRDAR7.mjs';
|
|
2
2
|
import './chunk-CHVTPN3K.mjs';
|
|
3
3
|
export { PermissionMatrix } from './chunk-UB2XEZ7C.mjs';
|
|
4
|
-
export { Combobox, DatePicker, FileUpload } from './chunk-
|
|
4
|
+
export { Combobox, DatePicker, FileUpload } from './chunk-YFLVB62R.mjs';
|
|
5
5
|
export { Popover } from './chunk-6RVCYULF.mjs';
|
|
6
6
|
export { AspectRatio, ScrollArea, Separator } from './chunk-6MEOR4YO.mjs';
|
|
7
7
|
export { ResizableGroup, ResizableHandle, ResizablePanel } from './chunk-ML5IYW5D.mjs';
|
|
@@ -11,8 +11,8 @@ export { CheckboxGroup, MoneyInput, PhoneInput, Progress, ProgressCircle, RadioG
|
|
|
11
11
|
export { Container, Divider, Grid, HStack, KeyValue, KeyValueRow, ListGroup, ListGroupItem, Stack, Stepper, Tab, TabList, TabPanel, Table, Tabs, Tooltip, VStack } from './chunk-MM7VE7YN.mjs';
|
|
12
12
|
export { Logo } from './chunk-JMFDIN5R.mjs';
|
|
13
13
|
export { CategoryNav, Hero, Testimonial } from './chunk-X2DBGT7M.mjs';
|
|
14
|
-
export { Menubar } from './chunk-
|
|
15
|
-
export { NavigationMenu } from './chunk-
|
|
14
|
+
export { Menubar } from './chunk-N2Y2KWX5.mjs';
|
|
15
|
+
export { NavigationMenu } from './chunk-IMHLJKYR.mjs';
|
|
16
16
|
export { NotificationCenter } from './chunk-6PEC4RRO.mjs';
|
|
17
17
|
export { ConfirmDialog, DescriptionList, DescriptionListItem, DiffViewer, TransferList } from './chunk-R76SJURE.mjs';
|
|
18
18
|
export { BulkActionBar, FilterPanel, FilterSection, SortDropdown } from './chunk-PXCH5Z76.mjs';
|
|
@@ -31,7 +31,7 @@ export { EmptyState, Kpi, NumberInput, Pagination } from './chunk-PCRNKITV.mjs';
|
|
|
31
31
|
export { Alert, Badge, Card, CardBody, CardFooter, CardHeader, Chip, ChipGroup, ProductCard, Skeleton, Spinner } from './chunk-SYX4GZ7E.mjs';
|
|
32
32
|
export { Calendar, StatusIndicator, Timeline, TimelineItem, Tree, UserCell } from './chunk-IEJXZ67E.mjs';
|
|
33
33
|
export { Avatar, AvatarGroup, Menu, Stat } from './chunk-OCLBAGNF.mjs';
|
|
34
|
-
export { CommandPalette, DateRangePicker, MultiCombobox, useCommandPalette } from './chunk-
|
|
34
|
+
export { CommandPalette, DateRangePicker, MultiCombobox, useCommandPalette } from './chunk-OHCS5CYV.mjs';
|
|
35
35
|
export { dateFormatPlaceholder, detectFormatFromLocale, formatDate, parseDate, resolveDateFormat } from './chunk-BCIZLGM3.mjs';
|
|
36
36
|
export { format } from './chunk-KKOJI25C.mjs';
|
|
37
37
|
export { useDismiss } from './chunk-6P2TKRTL.mjs';
|