@eifi1/ui-kit 0.10.0 → 0.11.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/README.md +20 -16
- package/dist/components/alert-banner.d.ts +26 -1
- package/dist/components/alert-banner.js +10 -7
- package/dist/components/alert-banner.js.map +1 -1
- package/dist/components/amount-input.d.ts +2 -0
- package/dist/components/bulk-action-bar.d.ts +51 -5
- package/dist/components/bulk-action-bar.js +88 -41
- package/dist/components/bulk-action-bar.js.map +1 -1
- package/dist/components/button-group.d.ts +58 -3
- package/dist/components/button-group.js +56 -5
- package/dist/components/button-group.js.map +1 -1
- package/dist/components/calculator.d.ts +2 -0
- package/dist/components/calendar-heatmap.d.ts +124 -0
- package/dist/components/calendar-heatmap.js +295 -0
- package/dist/components/calendar-heatmap.js.map +1 -0
- package/dist/components/choice-card.d.ts +34 -2
- package/dist/components/choice-card.js +49 -0
- package/dist/components/choice-card.js.map +1 -1
- package/dist/components/copy-button.d.ts +1 -0
- package/dist/components/data-table.js +2 -0
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/field.d.ts +43 -0
- package/dist/components/field.js +52 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/file-button.d.ts +1 -0
- package/dist/components/file-dropzone.d.ts +1 -0
- package/dist/components/floating-panel.d.ts +147 -4
- package/dist/components/floating-panel.js +188 -28
- package/dist/components/floating-panel.js.map +1 -1
- package/dist/components/list.d.ts +14 -1
- package/dist/components/list.js +7 -1
- package/dist/components/list.js.map +1 -1
- package/dist/components/menu-item.d.ts +11 -1
- package/dist/components/menu-item.js +6 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/mini-calendar.d.ts +70 -5
- package/dist/components/mini-calendar.js +166 -62
- package/dist/components/mini-calendar.js.map +1 -1
- package/dist/components/nav-pills.d.ts +66 -0
- package/dist/components/nav-pills.js +65 -0
- package/dist/components/nav-pills.js.map +1 -0
- package/dist/components/number-field.d.ts +2 -0
- package/dist/components/number-input.d.ts +2 -0
- package/dist/components/numpad-sheet.d.ts +2 -0
- package/dist/components/progress-bar.d.ts +31 -2
- package/dist/components/progress-bar.js +73 -7
- package/dist/components/progress-bar.js.map +1 -1
- package/dist/components/series-chart.d.ts +16 -0
- package/dist/components/series-chart.js +4 -1
- package/dist/components/series-chart.js.map +1 -1
- package/dist/components/settings-fields.d.ts +1 -0
- package/dist/components/status-dot.d.ts +6 -2
- package/dist/components/status-dot.js +6 -1
- package/dist/components/status-dot.js.map +1 -1
- package/dist/components/table.d.ts +40 -8
- package/dist/components/table.js +41 -7
- package/dist/components/table.js.map +1 -1
- package/dist/components/text.d.ts +8 -1
- package/dist/components/text.js +1 -0
- package/dist/components/text.js.map +1 -1
- package/dist/components/time-input.d.ts +1 -0
- package/dist/components/toggle-group.d.ts +15 -0
- package/dist/components/toggle-group.js +23 -3
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/tooltip.d.ts +11 -3
- package/dist/components/tooltip.js +2 -0
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/ui.d.ts +55 -4
- package/dist/components/ui.js +84 -7
- package/dist/components/ui.js.map +1 -1
- package/dist/components/user-avatar.d.ts +25 -3
- package/dist/components/user-avatar.js +32 -3
- package/dist/components/user-avatar.js.map +1 -1
- package/dist/hooks/use-file-drop.d.ts +1 -0
- package/dist/i18n/defaults.d.ts +2 -0
- package/dist/i18n/defaults.js +2 -0
- package/dist/i18n/defaults.js.map +1 -1
- package/dist/i18n/kit-labels.d.ts +3 -0
- package/dist/i18n/kit-labels.js.map +1 -1
- package/dist/i18n/locales/de-CH-informal.d.ts +2 -0
- package/dist/i18n/locales/de-CH.d.ts +2 -0
- package/dist/i18n/locales/de-informal.d.ts +2 -0
- package/dist/i18n/locales/de.d.ts +2 -0
- package/dist/i18n/locales/de.js +9 -1
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +2 -0
- package/dist/i18n/locales/es.js +9 -1
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +2 -0
- package/dist/i18n/locales/fr.js +9 -1
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hu.d.ts +2 -0
- package/dist/i18n/locales/hu.js +9 -1
- package/dist/i18n/locales/hu.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +2 -0
- package/dist/i18n/locales/it.js +9 -1
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +2 -0
- package/dist/i18n/locales/zh.js +9 -1
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.d.ts +14 -10
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/clipping.d.ts +21 -5
- package/dist/lib/clipping.js +3 -0
- package/dist/lib/clipping.js.map +1 -1
- package/dist/lib/dates.d.ts +17 -1
- package/dist/lib/dates.js +19 -0
- package/dist/lib/dates.js.map +1 -1
- package/dist/rhf/form.d.ts +1 -0
- package/dist/rhf/use-rhf-wizard-step.d.ts +22 -0
- package/dist/rhf/use-rhf-wizard-step.js +38 -0
- package/dist/rhf/use-rhf-wizard-step.js.map +1 -0
- package/dist/rhf.d.ts +2 -0
- package/dist/rhf.js +1 -0
- package/dist/rhf.js.map +1 -1
- package/dist/shell/topbar-action-menu.d.ts +73 -3
- package/dist/shell/topbar-action-menu.js +100 -27
- package/dist/shell/topbar-action-menu.js.map +1 -1
- package/dist/shell.d.ts +2 -1
- package/dist/wizard/stepper-nav.d.ts +1 -0
- package/dist/wizard/wizard-context.d.ts +7 -1
- package/dist/wizard/wizard-context.js +4 -0
- package/dist/wizard/wizard-context.js.map +1 -1
- package/dist/wizard.d.ts +2 -1
- package/package.json +1 -1
- package/src/components/alert-banner.tsx +36 -7
- package/src/components/bulk-action-bar.tsx +163 -57
- package/src/components/button-group.tsx +124 -4
- package/src/components/calendar-heatmap.tsx +504 -0
- package/src/components/choice-card.tsx +97 -1
- package/src/components/data-table.tsx +7 -0
- package/src/components/field.tsx +137 -0
- package/src/components/floating-panel.tsx +366 -15
- package/src/components/list.tsx +28 -2
- package/src/components/menu-item.tsx +22 -1
- package/src/components/mini-calendar.tsx +245 -54
- package/src/components/nav-pills.tsx +145 -0
- package/src/components/progress-bar.tsx +129 -11
- package/src/components/series-chart.tsx +21 -0
- package/src/components/status-dot.tsx +10 -2
- package/src/components/table.tsx +85 -11
- package/src/components/text.tsx +9 -1
- package/src/components/toggle-group.tsx +48 -3
- package/src/components/tooltip.tsx +17 -3
- package/src/components/ui.tsx +149 -11
- package/src/components/user-avatar.tsx +57 -3
- package/src/i18n/defaults.ts +2 -0
- package/src/i18n/kit-labels.tsx +2 -0
- package/src/i18n/locales/de.ts +9 -0
- package/src/i18n/locales/es.ts +9 -0
- package/src/i18n/locales/fr.ts +9 -0
- package/src/i18n/locales/hu.ts +9 -0
- package/src/i18n/locales/it.ts +9 -0
- package/src/i18n/locales/zh.ts +9 -0
- package/src/index.ts +5 -0
- package/src/lib/clipping.ts +22 -4
- package/src/lib/dates.ts +37 -0
- package/src/rhf/use-rhf-wizard-step.ts +113 -0
- package/src/rhf.ts +2 -0
- package/src/shell/topbar-action-menu.tsx +239 -49
- package/src/wizard/wizard-context.tsx +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Allega immagine\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste: \"…oppure incolla uno screenshot dagli appunti.\",\n attachmentRemove: \"Rimuovi allegato\",\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolla un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digita per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${count} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${count} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Fai clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scegli una data di inizio\",\n chooseEnd: \"Scegli una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scegli una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scegli una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digita almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digita «${phrase}» per confermare`,\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascina qui un file\",\n emptyMultiple: \"Trascina qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${count} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compila tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Fai clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprova.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Prova\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firma nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non puoi disegnare, scrivi invece il tuo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${minLength} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${maxBytes} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascina per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Fai doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n },\n floatingPanel: {\n close: \"Chiudi\",\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/it.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Italian: every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_IT}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `it-IT` digits; {@link uiKitLabelsIt} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsIt(numberLocale = \"it-IT\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"Allega immagine\",\n attachmentCapture: \"Cattura schermata\",\n attachmentPaste: \"…oppure incolla uno screenshot dagli appunti.\",\n attachmentRemove: \"Rimuovi allegato\",\n },\n measuredGrid: {\n view: \"Vista tabella\",\n cellsView: \"Celle\",\n textView: \"Testo\",\n addRow: \"Aggiungi riga\",\n removeRow: (row) => `Rimuovi riga ${row}`,\n clear: \"Svuota tabella\",\n pasteHint: \"Incolla un blocco da un foglio di calcolo in qualsiasi cella\",\n cell: (column, row) => `${column}, riga ${row}`,\n rowNumber: \"Riga\",\n rowActions: \"Azioni riga\",\n keyboardHint:\n \"I tasti freccia spostano tra le celle. Digita per sostituire una cella, F2 per modificarla, Esc per annullare la modifica. Invio scende e aggiunge una riga alla fine.\",\n lineError: (line) => `Impossibile leggere la riga ${line}`,\n points: (count) => (count === 1 ? \"1 punto\" : `${count} punti`),\n problems: (count) =>\n count === 1 ? \"1 cella non è un numero\" : `${count} celle non sono numeri`,\n },\n pageContents: { title: \"In questa pagina\" },\n common: {\n dismiss: \"Chiudi\",\n close: \"Chiudi\",\n clear: \"Cancella\",\n search: \"Cerca\",\n done: \"Fine\",\n cancel: \"Annulla\",\n save: \"Salva\",\n back: \"Indietro\",\n next: \"Avanti\",\n remove: \"Rimuovi\",\n loading: \"Caricamento…\",\n noResults: \"Nessun risultato\",\n fieldValue: (field, value) => `${field}: ${value}`,\n },\n dataTable: {\n columns: \"Colonne\",\n selectAllRows: \"Seleziona tutte le righe\",\n sortHint: \"Fai clic per ordinare · Maiusc+clic per aggiungere un ordinamento\",\n filter: \"Filtra\",\n close: \"Chiudi\",\n selectRow: \"Seleziona riga\",\n autoSize: \"Adatta larghezza colonne\",\n loading: \"Caricamento…\",\n filters: \"Filtri\",\n clearAll: \"Cancella tutto\",\n done: \"Fine\",\n pageSize: \"Righe per pagina\",\n pageSizeAll: \"Tutte\",\n prevPage: \"Pagina precedente\",\n nextPage: \"Pagina successiva\",\n clearFilter: \"Cancella filtro\",\n filterPlaceholder: \"Filtra…\",\n selectFilter: \"Seleziona\",\n selectAll: \"Tutti\",\n selectNone: \"Nessuno\",\n dateFrom: \"Dal\",\n dateTo: \"Al\",\n numberMin: \"Min\",\n numberMax: \"Max\",\n numberAbs: \"Valore assoluto\",\n presets: {\n today: \"Oggi\",\n yesterday: \"Ieri\",\n this_week: \"Questa settimana\",\n last_week: \"Settimana scorsa\",\n last_7_days: \"Ultimi 7 giorni\",\n last_30_days: \"Ultimi 30 giorni\",\n this_month: \"Questo mese\",\n last_month: \"Mese scorso\",\n last_3_months: \"Ultimi 3 mesi\",\n ytd: \"Da inizio anno\",\n last_year: \"Anno scorso\",\n },\n table: \"Tabella dati\",\n filterResults: (shown, total) =>\n `${n(shown)} di ${n(total)} ${plural(total, \"riga\", \"righe\")}`,\n sortedAscending: (column) => `Ordinato per ${column}, crescente`,\n sortedDescending: (column) => `Ordinato per ${column}, decrescente`,\n sortCleared: (column) => `Ordinamento per ${column} rimosso`,\n pageChanged: (page, totalPages) => `Pagina ${n(page)} di ${n(totalPages)}`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `Colonne (${n(visible)}/${n(total)})`,\n },\n miniCalendar: {\n previousMonth: \"Mese precedente\",\n nextMonth: \"Mese successivo\",\n // Already formatted in the provider's locale (\"lunedì 14 settembre 2026\").\n day: (date) => date,\n chooseStart: \"Scegli una data di inizio\",\n chooseEnd: \"Scegli una data di fine\",\n // \"Data\" is feminine and the formatted day cannot agree with a participle, so the\n // date follows a label instead of being the subject.\n startSelected: (date) => `Data di inizio: ${date}. Scegli una data di fine.`,\n rangeSelected: (from, to) =>\n `Periodo selezionato: da ${from} a ${to}. Scegli una data di inizio per ricominciare.`,\n },\n monthPicker: {\n previousYear: \"Anno precedente\",\n nextYear: \"Anno successivo\",\n panel: \"Scegli un mese\",\n month: (monthYear) => monthYear,\n },\n calendarHeatmap: {\n grid: \"Valori giornalieri\",\n day: (date, value) => `${date}: ${value}`,\n less: \"Meno\",\n more: \"Più\",\n truncated: (count) =>\n `Vengono mostrati i giorni più recenti; ${count === 1 ? \"1 giorno precedente non è mostrato\" : `${n(count)} giorni precedenti non sono mostrati`}.`,\n },\n datePicker: {\n apply: \"Applica\",\n cancel: \"Annulla\",\n presets: \"Intervalli rapidi\",\n panel: \"Scegli una data\",\n rangePanel: \"Scegli un intervallo di date\",\n clear: \"Cancella\",\n previousDay: \"Giorno precedente\",\n nextDay: \"Giorno successivo\",\n today: \"Oggi\",\n },\n popover: {\n panel: \"Finestra a comparsa\",\n },\n combobox: {\n search: \"Cerca\",\n noResults: \"Nessun risultato\",\n clear: \"Cancella\",\n loading: \"Caricamento…\",\n create: (query) => `Crea «${query}»`,\n selectedCount: (count) => `${n(count)} ${plural(count, \"selezionato\", \"selezionati\")}`,\n loadError: \"Impossibile caricare i risultati\",\n resultCount: (count) => `${n(count)} ${plural(count, \"risultato\", \"risultati\")}`,\n minChars: (count) => `Digita almeno ${n(count)} ${plural(count, \"carattere\", \"caratteri\")}`,\n },\n multiSelect: {\n search: \"Cerca\",\n selectAll: \"Seleziona tutto\",\n clear: \"Cancella\",\n all: \"Tutti\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"Apri calcolatrice\",\n panel: \"Calcolatrice\",\n calculation: \"Calcolo\",\n backspace: \"Cancella ultimo carattere\",\n clear: \"Azzera\",\n equals: \"Uguale\",\n done: \"Fine\",\n plus: \"Più\",\n minus: \"Meno\",\n times: \"Per\",\n divide: \"Diviso\",\n decimal: \"Separatore decimale\",\n },\n currency: {\n currency: \"Valuta\",\n search: \"Cerca valuta\",\n },\n chipInput: {\n // The quoted value is a citation; the participle agrees with the implied\n // \"elemento\" whatever the chip says.\n added: (value) => `«${value}» aggiunto`,\n removed: (value) => `«${value}» rimosso`,\n remove: \"Rimuovi\",\n atLimit: (max) => `Limite di ${n(max)} ${plural(max, \"elemento\", \"elementi\")} raggiunto`,\n duplicate: (value) => `«${value}» è già nell’elenco`,\n },\n swatchPicker: {\n none: \"Nessun colore\",\n mixed: \"Misto: gli elementi selezionati hanno colori diversi\",\n },\n iconPicker: {\n none: \"Nessuna icona\",\n mixed: \"Misto: gli elementi selezionati hanno icone diverse\",\n search: \"Cerca icone\",\n noResults: \"Nessuna icona corrispondente\",\n resultCount: (count) => `${n(count)} ${plural(count, \"icona\", \"icone\")}`,\n },\n fieldSync: {\n synced: \"Salvato\",\n edited: \"Modifiche non salvate\",\n pending: \"Salvataggio…\",\n error: \"Impossibile salvare\",\n retry: \"Riprova\",\n },\n passwordReveal: {\n show: \"Mostra password\",\n hide: \"Nascondi password\",\n },\n dangerConfirm: {\n arm: \"Elimina…\",\n confirm: \"Elimina\",\n cancel: \"Annulla\",\n prompt: \"Questa operazione non può essere annullata.\",\n password: \"Password\",\n phrase: (phrase) => `Digita «${phrase}» per confermare`,\n },\n tabs: {\n add: \"Aggiungi scheda\",\n remove: (tab) => `Rimuovi ${tab}`,\n },\n appShell: {\n collapse: \"Comprimi barra laterale\",\n expand: \"Espandi barra laterale\",\n toggleGroup: (groupLabel) => `${groupLabel}: pagine`,\n },\n topBar: {\n theme: \"Cambia tema\",\n palette: \"Preset di aspetto\",\n language: \"Lingua\",\n switchRole: \"Cambia ruolo\",\n role: (value) => `Ruolo: ${value}`,\n },\n pickerSheet: {\n close: \"Chiudi\",\n },\n dialogFrame: {\n close: \"Chiudi\",\n },\n bulkActionBar: {\n selected: (count) => `${n(count)} ${count === 1 ? \"selezionato\" : \"selezionati\"}`,\n clear: \"Annulla selezione\",\n cleared: \"Selezione annullata\",\n },\n swipeableRow: {\n actions: \"Azioni della riga\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale (\"3,4 MB\").\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"Caricamento file\",\n browse: \"Sfoglia\",\n empty: \"Trascina qui un file\",\n emptyMultiple: \"Trascina qui i file\",\n hint: (accept) => (accept ? `Accettati: ${accept}` : \"Qualsiasi tipo di file\"),\n busy: \"Caricamento…\",\n rejectedPick: (count) =>\n count === 1 ? \"Il file non è stato aggiunto\" : `Nessuno dei ${count} file è stato aggiunto`,\n // \"file\" is invariable in Italian (\"1 file\", \"3 file\"); only the verb agrees.\n rejectedType: (name) => `Il tipo di file di «${name}» non è supportato`,\n rejectedTypeOnly: (accept) => `Solo file ${accept}`,\n rejectedSize: (name, maxSize) => `«${name}» supera ${maxSize}`,\n rejectedCount: (name, maxFiles) =>\n `«${name}» non è stato aggiunto: al massimo ${n(maxFiles)} file`,\n rejectedInvalid: (name) => `«${name}» non può essere usato qui`,\n rejectedMany: (count) =>\n count === 1 ? \"1 file non è stato aggiunto\" : `${n(count)} file non sono stati aggiunti`,\n selected: (count, firstName) =>\n count === 1 ? `«${firstName}» selezionato` : `${n(count)} file selezionati`,\n remove: (name) => `Rimuovi «${name}»`,\n clearAll: \"Rimuovi tutti i file\",\n removed: (name) => `«${name}» rimosso`,\n cleared: \"Tutti i file rimossi\",\n },\n wizard: {\n done: \"Fine\",\n cancel: \"Annulla\",\n back: \"Indietro\",\n next: \"Avanti\",\n skip: \"Salta\",\n finish: \"Fine\",\n submitting: \"Creazione in corso…\",\n steps: \"Passaggi\",\n step: (current, total) => `Passaggio ${n(current)} di ${n(total)}`,\n cancelTitle: \"Scartare questo modulo?\",\n confirmCancel: \"I dati inseriti andranno persi.\",\n cancelConfirmLabel: \"Scarta\",\n cancelDismissLabel: \"Continua a modificare\",\n reviewTitle: \"Riepilogo\",\n edit: \"Modifica\",\n missingRequired: \"Compila tutti i campi obbligatori.\",\n genericError: \"Si è verificato un errore\",\n },\n tour: {\n next: \"Avanti\",\n back: \"Indietro\",\n skip: \"Salta\",\n done: \"Fine\",\n awaitClickHint: \"Fai clic sull’elemento evidenziato per continuare\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"Cancella ricerca\",\n submit: \"Cerca\",\n close: \"Chiudi\",\n placeholder: \"Cerca…\",\n empty: \"Nessun risultato\",\n loading: \"Ricerca in corso…\",\n dialog: \"Ricerca\",\n error: \"Ricerca non riuscita. Riprova.\",\n },\n globalSearch: {\n trigger: \"Cerca\",\n placeholder: \"Cerca o vai a…\",\n shortcut: (keys) => `Cerca (${keys})`,\n suggestions: \"Prova\",\n results: \"Risultati\",\n },\n sparkline: {\n rising: (first, last) => `In aumento da ${first} a ${last}`,\n falling: (first, last) => `In calo da ${first} a ${last}`,\n flat: (value) => `Stabile a ${value}`,\n single: (value) => `Un solo valore: ${value}`,\n noData: \"Nessun dato\",\n named: (name, summary) => `${name}: ${summary}`,\n },\n statTile: {\n increase: (amount) => `In aumento di ${amount}`,\n decrease: (amount) => `In calo di ${amount}`,\n unchanged: \"Nessuna variazione\",\n better: (change) => `${change} (favorevole)`,\n worse: (change) => `${change} (sfavorevole)`,\n noValue: \"Nessun dato\",\n loading: \"Caricamento…\",\n },\n signaturePad: {\n label: \"Firma\",\n instructions: \"Firma nel riquadro con il mouse, il dito o una penna.\",\n typedFallbackHint: \"Se non puoi disegnare, scrivi invece il tuo nome.\",\n empty: \"Ancora nessun tratto\",\n signed: \"Firma tracciata\",\n undo: \"Annulla l’ultimo tratto\",\n clear: \"Cancella\",\n save: \"Salva firma\",\n useTyped: \"Scrivi il nome\",\n useDrawn: \"Disegna la firma\",\n typedName: \"Nome e cognome\",\n cleared: \"Firma cancellata\",\n undone: \"Ultimo tratto rimosso\",\n viewEmpty: \"Non firmato\",\n viewDrawn: \"Firma autografa\",\n viewTyped: (name) => `Firmato con il nome digitato ${name}`,\n },\n passwordStrength: {\n // Agrees with \"password\" (feminine in Italian).\n tooShort: \"Troppo corta\",\n weak: \"Debole\",\n fair: \"Discreta\",\n good: \"Buona\",\n strong: \"Forte\",\n announcement: (level) => `Sicurezza della password: ${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) =>\n `Almeno ${minLength} ${plural(minLength, \"carattere\", \"caratteri\")}`,\n ruleCase: \"Maiuscole e minuscole\",\n ruleDigit: \"Un numero\",\n ruleSymbol: \"Un simbolo\",\n optional: (rule) => `${rule} (facoltativo)`,\n met: \"Soddisfatto:\",\n notMet: \"Non soddisfatto:\",\n tooLong: (maxBytes) =>\n `Al massimo ${maxBytes} ${plural(maxBytes, \"carattere\", \"caratteri\")} (le lettere accentate e le emoji contano più di uno).`,\n },\n seriesChart: {\n resetZoom: \"Reimposta zoom\",\n zoomHint:\n \"Trascina per ingrandire: una selezione più o meno quadrata ingrandisce entrambi gli assi, una lunga e sottile solo il proprio. Fai doppio clic per ripristinare.\",\n empty: \"Nessun dato\",\n legend: \"Serie\",\n points: \"Valori del grafico\",\n },\n confirmDialog: {\n confirm: \"Conferma\",\n cancel: \"Annulla\",\n },\n floatingPanel: {\n close: \"Chiudi\",\n badge: (count) => `${n(count)} ${plural(count, \"nuovo\", \"nuovi\")}`,\n },\n copyButton: {\n copy: \"Copia\",\n copied: \"Copiato\",\n failed: \"Copia non riuscita\",\n copiedAnnouncement: \"Copiato negli appunti\",\n failedAnnouncement: \"Impossibile copiare negli appunti\",\n },\n list: {\n unread: \"Non letto\",\n opensInNewTab: \"si apre in una nuova scheda\",\n },\n breadcrumbs: {\n label: \"Percorso di navigazione\",\n showAll: \"Mostra percorso completo\",\n },\n toast: {\n close: \"Chiudi notifica\",\n notifications: \"Notifiche\",\n undo: \"Annulla\",\n redo: \"Ripeti\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_IT: UiKitLabels = uiKitLabelsIt();\n"],"mappings":"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","names":[]}
|
|
@@ -2,6 +2,7 @@ import { UiKitLabels } from '../kit-labels.js';
|
|
|
2
2
|
import 'react';
|
|
3
3
|
import '../../components/data-table-labels.js';
|
|
4
4
|
import '../../components/mini-calendar.js';
|
|
5
|
+
import '../../components/calendar-heatmap.js';
|
|
5
6
|
import '../../components/popover.js';
|
|
6
7
|
import '../../components/chip.js';
|
|
7
8
|
import 'lucide-react';
|
|
@@ -9,6 +10,7 @@ import '../../components/field-sync.js';
|
|
|
9
10
|
import '../../components/ui.js';
|
|
10
11
|
import '../../components/tooltip.js';
|
|
11
12
|
import '../../hooks/use-anchored-rect.js';
|
|
13
|
+
import '../../lib/clipping.js';
|
|
12
14
|
import '../../wizard/types.js';
|
|
13
15
|
import '../../tour/tour.js';
|
|
14
16
|
import '../../search/command-palette.js';
|
package/dist/i18n/locales/zh.js
CHANGED
|
@@ -108,6 +108,13 @@ function uiKitLabelsZh(numberLocale = "zh-CN") {
|
|
|
108
108
|
panel: "\u9009\u62E9\u6708\u4EFD",
|
|
109
109
|
month: (monthYear) => monthYear
|
|
110
110
|
},
|
|
111
|
+
calendarHeatmap: {
|
|
112
|
+
grid: "\u6BCF\u65E5\u6570\u503C",
|
|
113
|
+
day: (date, value) => `${date}\uFF1A${value}`,
|
|
114
|
+
less: "\u8F83\u5C11",
|
|
115
|
+
more: "\u8F83\u591A",
|
|
116
|
+
truncated: (count) => `\u4EC5\u663E\u793A\u6700\u8FD1\u7684\u65E5\u671F\uFF1B\u53E6\u6709 ${n(count)} \u5929\u672A\u663E\u793A\u3002`
|
|
117
|
+
},
|
|
111
118
|
datePicker: {
|
|
112
119
|
apply: "\u5E94\u7528",
|
|
113
120
|
cancel: "\u53D6\u6D88",
|
|
@@ -360,7 +367,8 @@ function uiKitLabelsZh(numberLocale = "zh-CN") {
|
|
|
360
367
|
cancel: "\u53D6\u6D88"
|
|
361
368
|
},
|
|
362
369
|
floatingPanel: {
|
|
363
|
-
close: "\u5173\u95ED"
|
|
370
|
+
close: "\u5173\u95ED",
|
|
371
|
+
badge: (count) => `${n(count)} \u6761\u65B0\u5185\u5BB9`
|
|
364
372
|
},
|
|
365
373
|
copyButton: {
|
|
366
374
|
copy: "\u590D\u5236",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"附加图片\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或从剪贴板粘贴截图。\",\n attachmentRemove: \"移除附件\",\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${count} 个点`,\n problems: (count) => `${count} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n autoSize: \"自动调整列宽\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${count} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${minLength} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${maxBytes} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n },\n floatingPanel: {\n close: \"关闭\",\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"附加图片\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或从剪贴板粘贴截图。\",\n attachmentRemove: \"移除附件\",\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${count} 个点`,\n problems: (count) => `${count} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n autoSize: \"自动调整列宽\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n },\n calendarHeatmap: {\n grid: \"每日数值\",\n day: (date, value) => `${date}:${value}`,\n less: \"较少\",\n more: \"较多\",\n truncated: (count) =>\n `仅显示最近的日期;另有 ${n(count)} 天未显示。`,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${count} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${minLength} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${maxBytes} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n },\n floatingPanel: {\n close: \"关闭\",\n badge: (count) => `${n(count)} 条新内容`,\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":";AAAA,SAAS,sBAAsB;AAYxB,SAAS,cAAc,eAAe,SAAsB;AACjE,QAAM,MAAM,IAAI,KAAK,aAAa,YAAY;AAC9C,QAAM,IAAI,CAAC,UAAkB,IAAI,OAAO,KAAK;AAE7C,SAAO;AAAA,IACL,oBAAoB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,IACpB;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW,CAAC,QAAQ,sBAAO,GAAG;AAAA,MAC9B,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,gBAAM,GAAG;AAAA,MACzC,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,cACE;AAAA,MACF,WAAW,CAAC,SAAS,kCAAS,IAAI;AAAA,MAClC,QAAQ,CAAC,UAAU,GAAG,KAAK;AAAA,MAC3B,UAAU,CAAC,UAAU,GAAG,KAAK;AAAA,IAC/B;AAAA,IACA,cAAc,EAAE,OAAO,2BAAO;AAAA,IAC9B,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA;AAAA,MAEX,YAAY,CAAC,OAAO,UAAU,GAAG,KAAK,SAAI,KAAK;AAAA,IACjD;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,WAAW;AAAA,MACb;AAAA,MACA,OAAO;AAAA,MACP,eAAe,CAAC,OAAO,UAAU,gBAAM,EAAE,KAAK,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MAC/D,iBAAiB,CAAC,WAAW,qBAAM,MAAM;AAAA,MACzC,kBAAkB,CAAC,WAAW,qBAAM,MAAM;AAAA,MAC1C,aAAa,CAAC,WAAW,2BAAO,MAAM;AAAA,MACtC,aAAa,CAAC,MAAM,eAAe,UAAK,EAAE,IAAI,CAAC,uBAAQ,EAAE,UAAU,CAAC;AAAA,MACpE,WAAW,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,CAAC,SAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACjE,UAAU,CAAC,UAAU,EAAE,KAAK;AAAA,MAC5B,cAAc,CAAC,SAAS,UAAU,eAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,IAC/D;AAAA,IACA,cAAc;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,MAEX,KAAK,CAAC,SAAS;AAAA,MACf,aAAa;AAAA,MACb,WAAW;AAAA,MACX,eAAe,CAAC,SAAS,sBAAO,IAAI;AAAA,MACpC,eAAe,CAAC,MAAM,OAAO,sBAAO,IAAI,WAAM,EAAE;AAAA,IAClD;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,MACd,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO,CAAC,cAAc;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,KAAK,CAAC,MAAM,UAAU,GAAG,IAAI,SAAI,KAAK;AAAA,MACtC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW,CAAC,UACV,sEAAe,EAAE,KAAK,CAAC;AAAA,IAC3B;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ,CAAC,UAAU,qBAAM,KAAK;AAAA,MAC9B,eAAe,CAAC,UAAU,gBAAM,EAAE,KAAK,CAAC;AAAA,MACxC,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACnC,UAAU,CAAC,UAAU,kCAAS,EAAE,KAAK,CAAC;AAAA,IACxC;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA;AAAA,MAEL,eAAe,CAAC,UAAU,EAAE,KAAK;AAAA,IACnC;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,OAAO,CAAC,UAAU,2BAAO,KAAK;AAAA,MAC9B,SAAS,CAAC,UAAU,2BAAO,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,SAAS,CAAC,QAAQ,iCAAQ,EAAE,GAAG,CAAC;AAAA,MAChC,WAAW,CAAC,UAAU,SAAI,KAAK;AAAA,IACjC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IACrC;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ,CAAC,WAAW,qBAAM,MAAM;AAAA,IAClC;AAAA,IACA,MAAM;AAAA,MACJ,KAAK;AAAA;AAAA,MAEL,QAAQ,CAAC,QAAQ,qBAAM,GAAG;AAAA,IAC5B;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa,CAAC,eAAe,GAAG,UAAU;AAAA,IAC5C;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM,CAAC,UAAU,qBAAM,KAAK;AAAA,IAC9B;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,UAAU,CAAC,UAAU,sBAAO,EAAE,KAAK,CAAC;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA;AAAA,MAEJ,MAAM,CAAC,UAAU,eAAe,OAAO,YAAY;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM,CAAC,WAAY,SAAS,qBAAM,MAAM,KAAK;AAAA,MAC7C,MAAM;AAAA,MACN,cAAc,CAAC,UAAW,UAAU,IAAI,yCAAW,GAAG,KAAK;AAAA,MAC3D,cAAc,CAAC,SAAS,SAAI,IAAI;AAAA,MAChC,kBAAkB,CAAC,WAAW,gBAAM,MAAM;AAAA,MAC1C,cAAc,CAAC,MAAM,YAAY,SAAI,IAAI,sBAAO,OAAO;AAAA,MACvD,eAAe,CAAC,MAAM,aAAa,2BAAO,IAAI,4BAAQ,EAAE,QAAQ,CAAC;AAAA,MACjE,iBAAiB,CAAC,SAAS,SAAI,IAAI;AAAA,MACnC,cAAc,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACpC,UAAU,CAAC,OAAO,cAChB,UAAU,IAAI,2BAAO,SAAS,WAAM,sBAAO,EAAE,KAAK,CAAC;AAAA,MACrD,QAAQ,CAAC,SAAS,qBAAM,IAAI;AAAA,MAC5B,UAAU;AAAA,MACV,SAAS,CAAC,SAAS,2BAAO,IAAI;AAAA,MAC9B,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,MAAM,CAAC,SAAS,UAAU,UAAK,EAAE,OAAO,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MACzD,aAAa;AAAA,MACb,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,MAAM,CAAC,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IACvD;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU,CAAC,SAAS,qBAAM,IAAI;AAAA,MAC9B,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,QAAQ,CAAC,OAAO,SAAS,UAAK,KAAK,uBAAQ,IAAI;AAAA,MAC/C,SAAS,CAAC,OAAO,SAAS,UAAK,KAAK,uBAAQ,IAAI;AAAA,MAChD,MAAM,CAAC,UAAU,sBAAO,KAAK;AAAA,MAC7B,QAAQ,CAAC,UAAU,iCAAQ,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,OAAO,CAAC,MAAM,YAAY,GAAG,IAAI,SAAI,OAAO;AAAA,IAC9C;AAAA,IACA,UAAU;AAAA,MACR,UAAU,CAAC,WAAW,gBAAM,MAAM;AAAA,MAClC,UAAU,CAAC,WAAW,gBAAM,MAAM;AAAA,MAClC,WAAW;AAAA,MACX,QAAQ,CAAC,WAAW,GAAG,MAAM;AAAA,MAC7B,OAAO,CAAC,WAAW,GAAG,MAAM;AAAA,MAC5B,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,WAAW,CAAC,SAAS,6CAAU,IAAI;AAAA,IACrC;AAAA,IACA,kBAAkB;AAAA,MAChB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc,CAAC,UAAU,iCAAQ,KAAK;AAAA;AAAA,MAEtC,YAAY,CAAC,cAAc,gBAAM,SAAS;AAAA,MAC1C,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,GAAG,IAAI;AAAA,MAC3B,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,SAAS,CAAC,aAAa,gBAAM,QAAQ;AAAA,IACvC;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,UACE;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IAC/B;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,MAAM,mBAAgC,cAAc;","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export { ALTERNATIVE_PRESETS, DEFAULT_PRESET, DERIVED_PRESETS, IMPRINT_PRESET, P
|
|
|
21
21
|
export { ThemeMode, ThemePreference, ThemeState, ThemeStore, applyPersistedTheme, createThemeStore } from './theme/theme-store.js';
|
|
22
22
|
export { PaletteStore, applyPersistedPalette, createPaletteStore } from './theme/palette-store.js';
|
|
23
23
|
export { Button, ButtonClassesOptions, ButtonProps, ButtonSize, ButtonTone, ButtonVariant, Card, CardAction, CardActionProps, CardContent, CardContentProps, CardDescription, CardDescriptionProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, DEFAULT_PASSWORD_REVEAL_LABELS, DEFAULT_TABS_LABELS, EmptyState, EmptyStateProps, FIELD_BASE, FIELD_DISPLAY, FIELD_FLOATING_PAD, FIELD_INVALID, FIELD_TRIGGER, FIELD_WRITABLE_LOOK, FLOATING_INPUT_CLASS, FLOATING_LABEL_CLASS, FLOATING_LABEL_STATIC, FieldChevron, FieldChevronProps, FieldHint, FieldHintProps, FieldLabel, FieldLabelProps, FloatingField, FloatingFieldProps, IconButton, IconButtonProps, IconButtonSize, IconButtonTone, Input, InputProps, Label, LabelProps, PHONE_QUERY, PasswordRevealLabels, Select, SelectProps, Spinner, SpinnerProps, TabItem, Tabs, TabsLabels, TabsProps, Textarea, TextareaProps, buttonClasses, resolvePasswordRevealLabels } from './components/ui.js';
|
|
24
|
+
export { Field, FieldControlProps, FieldProps } from './components/field.js';
|
|
24
25
|
export { SearchField, SearchFieldProps } from './components/search-field.js';
|
|
25
26
|
export { DropdownPanel, DropdownPanelProps, DropdownSearchHeader, DropdownSearchHeaderProps, useDropdown, useDropdownSearch } from './components/dropdown.js';
|
|
26
27
|
export { DEFAULT_POPOVER_LABELS, Popover, PopoverLabels, PopoverProps } from './components/popover.js';
|
|
@@ -36,7 +37,7 @@ export { EntityCombobox, EntityComboboxProps } from './components/entity-combobo
|
|
|
36
37
|
export { MultiEntityCombobox, MultiEntityComboboxProps } from './components/multi-entity-combobox.js';
|
|
37
38
|
export { MultiSelect, MultiSelectOption, MultiSelectProps } from './components/multi-select.js';
|
|
38
39
|
export { Tooltip, TooltipPlacement, TooltipProps, TooltipSide, TooltipSize, TooltipViewport, placeTooltip } from './components/tooltip.js';
|
|
39
|
-
export { UserAvatar, UserAvatarProps, avatarInitials } from './components/user-avatar.js';
|
|
40
|
+
export { UserAvatar, UserAvatarBadge, UserAvatarProps, avatarInitials } from './components/user-avatar.js';
|
|
40
41
|
export { LanguageSetting, LanguageSettingProps, ThemeSetting, ThemeSettingProps } from './components/settings-fields.js';
|
|
41
42
|
export { DEFAULT_FIELD_SYNC_LABELS, FIELD_SYNC_FRAME, FIELD_SYNC_SAVED_MS, FieldSyncIndicator, FieldSyncIndicatorProps, FieldSyncLabels, FieldSyncRow, FieldSyncRowProps, FieldSyncState, UseFieldSyncOptions, UseFieldSyncReturn, resolveFieldSyncLabels, useFieldSync } from './components/field-sync.js';
|
|
42
43
|
export { DEFAULT_MONTH_PICKER_LABELS, MonthPicker, MonthPickerLabels, MonthPickerProps } from './components/month-picker.js';
|
|
@@ -54,11 +55,11 @@ export { Collapse, CollapseProps, Disclosure, DisclosureProps, DisclosureTrigger
|
|
|
54
55
|
export { DEFAULT_DIALOG_FRAME_LABELS, DialogFrame, DialogFrameLabels, DialogFrameProps } from './components/dialog-frame.js';
|
|
55
56
|
export { DEFAULT_DANGER_CONFIRM_LABELS, DangerConfirm, DangerConfirmLabels, DangerConfirmProps } from './components/danger-confirm.js';
|
|
56
57
|
export { ConfirmDialogLabels, ConfirmFn, ConfirmOptions, ConfirmProvider, ConfirmProviderProps, ConfirmTone, DEFAULT_CONFIRM_DIALOG_LABELS, useConfirm } from './components/confirm-dialog.js';
|
|
57
|
-
export { DEFAULT_FLOATING_PANEL_LABELS, FloatingActionButton, FloatingActionButtonProps, FloatingCorner, FloatingPanel, FloatingPanelLabels, FloatingPanelProps } from './components/floating-panel.js';
|
|
58
|
-
export { BulkActionBar, BulkActionBarLabels, BulkActionBarProps, BulkActionBarVariant, DEFAULT_BULK_ACTION_BAR_LABELS } from './components/bulk-action-bar.js';
|
|
58
|
+
export { DEFAULT_FLOATING_PANEL_LABELS, FloatingAction, FloatingActionButton, FloatingActionButtonProps, FloatingActionGroup, FloatingActionGroupProps, FloatingActionLinkProps, FloatingActionProps, FloatingCorner, FloatingPanel, FloatingPanelLabels, FloatingPanelProps } from './components/floating-panel.js';
|
|
59
|
+
export { BulkActionBar, BulkActionBarLabels, BulkActionBarProps, BulkActionBarVariant, DEFAULT_BULK_ACTION_BAR_LABELS, ResponsiveBulkActionBarVariant } from './components/bulk-action-bar.js';
|
|
59
60
|
export { DEFAULT_SWATCH_PICKER_LABELS, SwatchOption, SwatchPicker, SwatchPickerLabels, SwatchPickerProps } from './components/swatch-picker.js';
|
|
60
61
|
export { DEFAULT_ICON_PICKER_LABELS, IconOption, IconPicker, IconPickerLabels, IconPickerProps } from './components/icon-picker.js';
|
|
61
|
-
export { ChoiceCard, ChoiceCardGroup, ChoiceCardGroupProps, ChoiceCardMultipleProps, ChoiceCardOption, ChoiceCardProps, ChoiceCardSingleProps, ChoiceCardType } from './components/choice-card.js';
|
|
62
|
+
export { ActionCard, ActionCardMetaTone, ActionCardProps, ChoiceCard, ChoiceCardGroup, ChoiceCardGroupProps, ChoiceCardMultipleProps, ChoiceCardOption, ChoiceCardProps, ChoiceCardSingleProps, ChoiceCardType } from './components/choice-card.js';
|
|
62
63
|
export { Autocomplete, AutocompleteProps } from './components/autocomplete.js';
|
|
63
64
|
export { DEFAULT_MEASURED_GRID_LABELS, MeasuredGrid, MeasuredGridColumn, MeasuredGridLabels, MeasuredGridProps, MeasuredGridView, MeasuredRows, UseMeasuredRowsOptions, useMeasuredRows } from './components/measured-grid.js';
|
|
64
65
|
export { WindowedRows, useWindowedRows } from './hooks/use-windowed-rows.js';
|
|
@@ -72,6 +73,7 @@ export { DEFAULT_SERIES_CHART_LABELS, SeriesChartLabels } from './components/ser
|
|
|
72
73
|
export { PasswordSetting, PasswordSettingLabels, ProfileSetting, ProfileSettingLabels, TwoFactorSetting, TwoFactorSettingLabels } from './components/account-settings.js';
|
|
73
74
|
export { AlertBanner, AlertBannerProps, AlertSize, AlertTone, alertFrameClass, toneFrameClass } from './components/alert-banner.js';
|
|
74
75
|
export { ToggleGroup, ToggleGroupBaseProps, ToggleGroupClearableProps, ToggleGroupProps, ToggleGroupRequiredProps, ToggleOption } from './components/toggle-group.js';
|
|
76
|
+
export { NavPillItem, NavPillLinkProps, NavPills, NavPillsCurrent, NavPillsProps } from './components/nav-pills.js';
|
|
75
77
|
export { Chip, ChipHue, ChipInput, ChipInputLabels, ChipInputProps, ChipLinkProps, ChipProps, ChipShape, ChipSize, ChipTone, ChipVariant, DEFAULT_CHIP_INPUT_LABELS, resolveChipInputLabels } from './components/chip.js';
|
|
76
78
|
export { WizardStepper } from './components/wizard-stepper.js';
|
|
77
79
|
export { HoverMenu, HoverMenuProps } from './components/hover-menu.js';
|
|
@@ -79,16 +81,17 @@ export { Modal, ModalCloseContext, ModalProps, useBackdropClose } from './compon
|
|
|
79
81
|
export { FullBleedDialog, FullBleedDialogProps } from './components/full-bleed-dialog.js';
|
|
80
82
|
export { GroupedPicker, GroupedPickerProps, PickerGroup } from './components/grouped-picker.js';
|
|
81
83
|
export { FileDropzone, FileDropzoneProps, FileDropzoneRejectionFeedback, FileDropzoneState } from './components/file-dropzone.js';
|
|
82
|
-
export { DEFAULT_MINI_CALENDAR_LABELS, MiniCalendar, MiniCalendarLabels, MiniCalendarProps, WeekDay } from './components/mini-calendar.js';
|
|
84
|
+
export { DEFAULT_MINI_CALENDAR_LABELS, MiniCalendar, MiniCalendarDayState, MiniCalendarLabels, MiniCalendarProps, WeekDay } from './components/mini-calendar.js';
|
|
85
|
+
export { CalendarHeatmap, CalendarHeatmapDatum, CalendarHeatmapDay, CalendarHeatmapLabels, CalendarHeatmapProps, DEFAULT_CALENDAR_HEATMAP_LABELS, heatmapLevel } from './components/calendar-heatmap.js';
|
|
83
86
|
export { DatePicker, DatePickerProps, DateRangeCommit, DateRangeDraftSummary, DateRangePicker, DateRangePickerPreset, DateRangePickerProps, DateRangeTriggerRenderProps, DateTriggerAttributes } from './components/date-picker.js';
|
|
84
87
|
export { TreeItemState, TreeNode, TreeRow, TreeRowProps, TreeView, TreeViewProps } from './components/tree-view.js';
|
|
85
88
|
export { ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartSeriesConfig, ChartTooltip, ChartTooltipContent, useChart } from './components/chart.js';
|
|
86
89
|
export { DescriptionItem, DescriptionItemProps, DescriptionList, DescriptionListColumns, DescriptionListDensity, DescriptionListLayout, DescriptionListProps } from './components/description-list.js';
|
|
87
|
-
export { ProgressBar, ProgressBarProps, ProgressBarSize, ProgressBarTone } from './components/progress-bar.js';
|
|
90
|
+
export { ProgressBar, ProgressBarProps, ProgressBarSegment, ProgressBarSize, ProgressBarTone } from './components/progress-bar.js';
|
|
88
91
|
export { Skeleton, SkeletonProps, SkeletonShape } from './components/skeleton.js';
|
|
89
92
|
export { CopyButton, CopyButtonLabels, CopyButtonProps, DEFAULT_COPY_BUTTON_LABELS } from './components/copy-button.js';
|
|
90
|
-
export { ButtonGroup, ButtonGroupProps } from './components/button-group.js';
|
|
91
|
-
export { NUMERIC_CELL_CLASS, Table, TableAlign, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableDensity, TableEmpty, TableEmptyProps, TableFoot, TableFootProps, TableHead, TableHeadProps, TableHeaderCell, TableHeaderCellProps, TableLayout, TableProps, TableRow, TableRowProps } from './components/table.js';
|
|
93
|
+
export { ButtonGroup, ButtonGroupLink, ButtonGroupLinkProps, ButtonGroupLinkRenderProps, ButtonGroupProps } from './components/button-group.js';
|
|
94
|
+
export { NUMERIC_CELL_CLASS, Table, TableAlign, TableBody, TableBodyProps, TableCaption, TableCaptionProps, TableCell, TableCellProps, TableDensity, TableEmpty, TableEmptyProps, TableFoot, TableFootProps, TableHead, TableHeadProps, TableHeaderCell, TableHeaderCellProps, TableHeaderCellSize, TableHeaderCellWeight, TableLayout, TableProps, TableRow, TableRowProps, TableVAlign } from './components/table.js';
|
|
92
95
|
export { Separator, SeparatorProps } from './components/separator.js';
|
|
93
96
|
export { ScrollArea, ScrollAreaProps } from './components/scroll-area.js';
|
|
94
97
|
export { DEFAULT_LIST_LABELS, List, ListDensity, ListItem, ListItemLinkProps, ListItemProps, ListLabels, ListProps, ListSeparator } from './components/list.js';
|
|
@@ -108,13 +111,13 @@ export { TopBar, TopBarProps } from './shell/top-bar.js';
|
|
|
108
111
|
export { AppShell, AppShellNavItem, AppShellProps, AppShellSubItem } from './shell/app-shell.js';
|
|
109
112
|
export { OptionSwitcherMenu, OptionSwitcherOption } from './shell/option-switcher-menu.js';
|
|
110
113
|
export { RoleSwitcher, RoleSwitcherProps } from './shell/role-switcher.js';
|
|
111
|
-
export { TopBarActionMenu, TopBarMenuEntry } from './shell/topbar-action-menu.js';
|
|
114
|
+
export { TopBarActionMenu, TopBarMenuEntry, TopBarMenuHeader } from './shell/topbar-action-menu.js';
|
|
112
115
|
export { DEFAULT_ATTACHMENT_ACCEPT, DEFAULT_FEEDBACK_ATTACHMENT_LABELS, DEFAULT_MAX_ATTACHMENT_BYTES, FeedbackAttachmentField, FeedbackAttachmentFieldLabels, pastedName } from './feedback/feedback-attachment.js';
|
|
113
116
|
export { FeedbackAttachmentLabels, FeedbackCategoryOption, FeedbackDialog, FeedbackDialogLabels, FeedbackSubmission } from './feedback/feedback-dialog.js';
|
|
114
117
|
export { FEEDBACK_CATEGORY_META, FEEDBACK_CATEGORY_ORDER, FEEDBACK_STATUS_META, FEEDBACK_STATUS_ORDER, FeedbackCategory, FeedbackCategoryBadge, FeedbackDetail, FeedbackDetailSection, FeedbackNoteAttachment, FeedbackNoteEditor, FeedbackProse, FeedbackStatus, FeedbackStatusBadge, FeedbackStatusTransitions, feedbackCategoryRank, nextFeedbackStatus, selectableFeedbackStatuses, visibleFeedbackStatuses } from './feedback/feedback-inbox.js';
|
|
115
118
|
export { DEFAULT_WIZARD_LABELS, FieldErrors, StepStatus, SummaryItem, SummarySection, UseWizardOptions, UseWizardReturn, ValidateResult, WizardLabels, WizardStepConfig, WizardUrlSync, resolveWizardLabels } from './wizard/types.js';
|
|
116
119
|
export { useWizard } from './wizard/use-wizard.js';
|
|
117
|
-
export { WizardContextProvider, WizardContextValue, useWizardContext } from './wizard/wizard-context.js';
|
|
120
|
+
export { WizardContextProvider, WizardContextValue, useOptionalWizardContext, useWizardContext } from './wizard/wizard-context.js';
|
|
118
121
|
export { RequiredFieldSpec, requiredFieldsValidator } from './wizard/validation.js';
|
|
119
122
|
export { WizardStep } from './wizard/wizard-step.js';
|
|
120
123
|
export { WizardSummary } from './wizard/wizard-summary.js';
|
|
@@ -125,6 +128,7 @@ export { SEARCH_TIER_POINTS, SearchEntry, SearchHit, SearchIndex, SearchIndexOpt
|
|
|
125
128
|
export { DEFAULT_GLOBAL_SEARCH_LABELS, GlobalSearch, GlobalSearchLabels, GlobalSearchProps, GlobalSearchSource, GlobalSearchSuggestion, GlobalSearchTriggerProps } from './search/global-search.js';
|
|
126
129
|
export { AppShellLabels, CalculatorLabels, ComboboxLabels, CommonLabels, CurrencyLabels, DEFAULT_APP_SHELL_LABELS, DEFAULT_CALCULATOR_LABELS, DEFAULT_COMBOBOX_LABELS, DEFAULT_COMMON_LABELS, DEFAULT_CURRENCY_LABELS, DEFAULT_DATE_PICKER_LABELS, DEFAULT_FILE_LABELS, DEFAULT_MULTI_SELECT_LABELS, DEFAULT_PICKER_SHEET_LABELS, DEFAULT_SWIPEABLE_ROW_LABELS, DEFAULT_TOP_BAR_LABELS, DatePickerLabels, FileLabels, MultiSelectLabels, PickerSheetLabels, SwipeableRowLabels, TopBarLabels, UiKitLabelOverrides, UiKitLabels, UiKitProvider, UiKitProviderProps, formatFileSize, missingKitLabels, useKitFileLabels, useKitLabelOverrides, useKitLabels, useKitLocale, useKitWeekStart } from './i18n/kit-labels.js';
|
|
127
130
|
export { DEFAULT_UI_KIT_LABELS } from './i18n/defaults.js';
|
|
131
|
+
export { CLIPS_ATTRIBUTE } from './lib/clipping.js';
|
|
128
132
|
export { ComboClearValue, ComboOption } from './components/combobox-core.js';
|
|
129
133
|
export { TimeTickUnit } from './components/series-chart-ticks.js';
|
|
130
134
|
import 'clsx';
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export * from "./theme/palette-presets.js";
|
|
|
22
22
|
export * from "./theme/theme-store.js";
|
|
23
23
|
export * from "./theme/palette-store.js";
|
|
24
24
|
export * from "./components/ui.js";
|
|
25
|
+
export * from "./components/field.js";
|
|
25
26
|
export * from "./components/search-field.js";
|
|
26
27
|
export * from "./components/dropdown.js";
|
|
27
28
|
export * from "./components/popover.js";
|
|
@@ -73,6 +74,7 @@ export * from "./components/series-chart-labels.js";
|
|
|
73
74
|
export * from "./components/account-settings.js";
|
|
74
75
|
export * from "./components/alert-banner.js";
|
|
75
76
|
export * from "./components/toggle-group.js";
|
|
77
|
+
export * from "./components/nav-pills.js";
|
|
76
78
|
export * from "./components/chip.js";
|
|
77
79
|
export * from "./components/wizard-stepper.js";
|
|
78
80
|
export * from "./components/hover-menu.js";
|
|
@@ -81,6 +83,7 @@ export * from "./components/full-bleed-dialog.js";
|
|
|
81
83
|
export * from "./components/grouped-picker.js";
|
|
82
84
|
export * from "./components/file-dropzone.js";
|
|
83
85
|
export * from "./components/mini-calendar.js";
|
|
86
|
+
export * from "./components/calendar-heatmap.js";
|
|
84
87
|
export * from "./components/date-picker.js";
|
|
85
88
|
export * from "./components/tree-view.js";
|
|
86
89
|
export * from "./components/chart.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @eifi1/ui-kit — shared design-system barrel.\n//\n// Domain-free UI + theme surface shared across apps (lead app: Keksdose). Consumers import\n// components/theme from \"@eifi1/ui-kit\" and the token stylesheet from \"@eifi1/ui-kit/tokens.css\".\n\n// ── lib ────────────────────────────────────────────────────────────────────\nexport * from \"./lib/calc\";\nexport { cn } from \"./lib/cn\";\nexport { logger, setStoreLog } from \"./lib/logger\";\n// Date helpers are also available via the \"@eifi1/ui-kit/dates\" subpath.\n\n// ── hooks ────────────────────────────────────────────────────────────────────\nexport { useMediaQuery } from \"./hooks/use-media-query\";\nexport { useBodyScrollLock } from \"./hooks/use-body-scroll-lock\";\nexport { useAnchoredRect } from \"./hooks/use-anchored-rect\";\nexport type { AnchorRect } from \"./hooks/use-anchored-rect\";\nexport { useAnchoredPanel, anchoredPanelPlacement, useVisualViewport } from \"./hooks/use-anchored-panel\";\nexport type {\n AnchoredPanel,\n AnchoredPanelOptions,\n ViewportBox,\n} from \"./hooks/use-anchored-panel\";\nexport { useEscapeKey, useOutsideClick } from \"./hooks/use-dismiss\";\n// Focus containment for an overlay, and a live region for a change that moves no focus.\n// Both were extracted from the two components that already did them correctly (Modal and\n// CommandPalette) so the rest of the kit stops being the exception.\nexport { useFocusTrap } from \"./hooks/use-focus-trap\";\nexport type { FocusTrapOptions } from \"./hooks/use-focus-trap\";\nexport { useAnnounce } from \"./hooks/use-announce\";\nexport type { UseAnnounceReturn, UseAnnounceOptions, AnnounceRegionProps } from \"./hooks/use-announce\";\nexport { useOverlayHistory } from \"./hooks/use-overlay-history\";\nexport { useCloseTransition, OVERLAY_EXIT_MS } from \"./hooks/use-close-transition\";\nexport { useRowSwipe } from \"./hooks/use-row-swipe\";\nexport type { SwipeStage, RowSwipeOptions, RowSwipeReturn } from \"./hooks/use-row-swipe\";\n// Any element as a file drop target, screened like FileButton (kastlan).\nexport { useFileDrop, dragHasFiles } from \"./hooks/use-file-drop\";\nexport type { UseFileDropOptions, UseFileDropReturn, FileDropProps } from \"./hooks/use-file-drop\";\n// kastlan's search boxes each carried a hand-rolled copy, two without the cleanup.\nexport { useDebounce, useDebouncedCallback } from \"./hooks/use-debounce\";\nexport type { DebouncedCallbackOptions, DebouncedFunction } from \"./hooks/use-debounce\";\n// Copy that reports whether it worked — keksdose's copy buttons said \"Copied\" when it had not.\nexport { useCopyToClipboard, copyToClipboard } from \"./hooks/use-copy-to-clipboard\";\nexport type { CopyState, UseCopyToClipboardOptions, UseCopyToClipboardReturn } from \"./hooks/use-copy-to-clipboard\";\n\n// ── theme / palettes ─────────────────────────────────────────────────────────\nexport * from \"./theme/chart-palette\";\n// Colour maths (sRGB ↔ OKLCH, WCAG contrast, CVD simulation) and the palette deriver\n// that builds a whole, contrast-solved palette from one brand colour plus any colours\n// pinned by hand. `auditPalette` / `auditChartRamp` measure a palette rather than\n// trusting a comment about it.\nexport * from \"./theme/color\";\nexport * from \"./theme/palette-derive\";\nexport * from \"./theme/palette-presets\";\nexport * from \"./theme/theme-store\";\nexport * from \"./theme/palette-store\";\n\n// ── components ───────────────────────────────────────────────────────────────\nexport * from \"./components/ui\";\nexport * from \"./components/search-field\";\nexport * from \"./components/dropdown\";\nexport * from \"./components/popover\";\nexport { SwipeableRow } from \"./components/swipeable-row\";\nexport type { SwipeAction, SwipeableRowProps } from \"./components/swipeable-row\";\nexport * from \"./components/calculator\";\nexport * from \"./components/numpad-sheet\";\nexport * from \"./components/number-input\";\nexport * from \"./components/currency-select\";\nexport * from \"./components/amount-input\";\nexport * from \"./components/combobox\";\nexport * from \"./components/picker-sheet\";\nexport * from \"./components/entity-combobox\";\nexport * from \"./components/multi-entity-combobox\";\nexport * from \"./components/multi-select\";\nexport * from \"./components/tooltip\";\nexport * from \"./components/user-avatar\";\nexport * from \"./components/settings-fields\";\n// Sync state for a database-backed field: the engine (`useFieldSync`) and the\n// affordance (`FieldSyncIndicator`), kept separate because the state is useful\n// without the dot — a form can gate its submit on any field being `pending`.\nexport * from \"./components/field-sync\";\nexport * from \"./components/month-picker\";\nexport * from \"./components/checkbox\";\nexport * from \"./components/switch\";\nexport * from \"./components/slider\";\nexport * from \"./components/time-input\";\nexport * from \"./components/number-field\";\nexport * from \"./components/sparkline\";\nexport * from \"./components/stat-tile\";\nexport * from \"./components/signature-pad\";\nexport * from \"./components/password-strength\";\nexport * from \"./components/page-contents\";\nexport * from \"./components/disclosure\";\nexport * from \"./components/dialog-frame\";\nexport * from \"./components/danger-confirm\";\n// `useConfirm()` — the promise-based replacement for `window.confirm`, one host per app.\nexport * from \"./components/confirm-dialog\";\n// A non-modal corner panel and its round trigger (keksdose's assistant launcher).\nexport * from \"./components/floating-panel\";\n// The count / clear / actions bar a selection brings up (keksdose's three copies).\nexport * from \"./components/bulk-action-bar\";\nexport * from \"./components/swatch-picker\";\nexport * from \"./components/icon-picker\";\nexport * from \"./components/choice-card\";\nexport * from \"./components/autocomplete\";\nexport * from \"./components/measured-grid\";\nexport { useWindowedRows } from \"./hooks/use-windowed-rows\";\nexport type { WindowedRows } from \"./hooks/use-windowed-rows\";\n// Named, not `export *`: file-button.tsx also holds the screening helpers the\n// dropzone shares, which are internal.\nexport { FileButton, useFilePicker, matchesAccept, DEFAULT_FILE_PICKER_LABELS } from \"./components/file-button\";\nexport type {\n FileButtonProps,\n UseFilePickerOptions,\n UseFilePickerReturn,\n FilePickerLabels,\n FileRejection,\n FileRejectionReason,\n FileScreenOptions,\n} from \"./components/file-button\";\nexport * from \"./components/treemap\";\nexport * from \"./components/series-chart\";\nexport * from \"./components/chart-zoom\";\nexport * from \"./components/toggle-legend\";\nexport * from \"./components/facing-pair\";\nexport * from \"./components/series-chart-labels\";\nexport * from \"./components/account-settings\";\nexport * from \"./components/alert-banner\";\nexport * from \"./components/toggle-group\";\n// A pill carrying one VALUE — inert, a link, or a toggle, depending on which prop it is\n// given — and the list field built from it. Distinct from Button on purpose: a row of\n// buttons reads as \"choose an action\", a row of chips as \"here are the things\".\nexport * from \"./components/chip\";\nexport * from \"./components/wizard-stepper\";\nexport * from \"./components/hover-menu\";\nexport * from \"./components/modal\";\nexport * from \"./components/full-bleed-dialog\";\nexport * from \"./components/grouped-picker\";\nexport * from \"./components/file-dropzone\";\nexport * from \"./components/mini-calendar\";\nexport * from \"./components/date-picker\";\nexport * from \"./components/tree-view\";\nexport * from \"./components/chart\";\n// 0.8.0 layout and feedback primitives the apps hand-rolled or took from shadcn/Radix.\nexport * from \"./components/description-list\";\nexport * from \"./components/progress-bar\";\n// Named: skeleton.tsx also holds SKELETON_CLASS, the look StatTile shares — internal.\nexport { Skeleton } from \"./components/skeleton\";\nexport type { SkeletonProps, SkeletonShape } from \"./components/skeleton\";\nexport * from \"./components/copy-button\";\nexport * from \"./components/button-group\";\nexport * from \"./components/table\";\nexport * from \"./components/separator\";\n// Named: scroll-area.tsx also holds the overflow hook and scrollbar class Table shares.\nexport { ScrollArea } from \"./components/scroll-area\";\nexport type { ScrollAreaProps } from \"./components/scroll-area\";\n// 0.10.0 rows, menu rows, text primitives and page chrome the apps drew by hand.\nexport * from \"./components/list\";\nexport * from \"./components/menu-item\";\nexport * from \"./components/text\";\nexport * from \"./components/status-dot\";\nexport * from \"./components/page-header\";\nexport * from \"./components/breadcrumbs\";\n// The toast layer over sonner (an OPTIONAL peer, loaded lazily): `toast` mirrors sonner's\n// API so apps migrate by swapping the import; `<Toaster>` carries the placement, theme,\n// tones and z-index both apps had wired by hand.\nexport { toast, Toaster, DEFAULT_TOAST_LABELS, TOAST_ACTION_DURATION } from \"./components/toast\";\nexport type {\n ToastId,\n ToastAction,\n ToastOptions,\n ToastPromiseOptions,\n ToastUndoOptions,\n ToastRedoOptions,\n ToastLabels,\n ToastPosition,\n ToastSwipeDirection,\n ToasterOffset,\n ToasterProps,\n} from \"./components/toast\";\n\n// ── data-table suite ─────────────────────────────────────────────────────────\nexport * from \"./components/data-table-labels\";\nexport * from \"./components/data-table-sort\";\nexport * from \"./components/data-table-filters\";\nexport * from \"./components/data-table-pagination\";\nexport { FilterPopover } from \"./components/data-table-filter-popover\";\n// data-table re-exports SortState internally; export the rest explicitly to\n// avoid a duplicate SortState star-export (it comes from data-table-sort).\nexport { DataTable } from \"./components/data-table\";\nexport type {\n DataTableColumn,\n DataTableCellProps,\n DataTableHeadProps,\n DataTableProps,\n ServerPagination,\n FilterState,\n MobileSwipeActions,\n DataTableDensity,\n DataTableChrome,\n} from \"./components/data-table\";\n\n// ── shell (composable app chrome) ────────────────────────────────────────────\nexport * from \"./shell/topbar-controls\";\nexport * from \"./shell/top-bar\";\nexport * from \"./shell/app-shell\";\nexport * from \"./shell/option-switcher-menu\";\nexport * from \"./shell/role-switcher\";\nexport * from \"./shell/topbar-action-menu\";\n\n// ── feedback ─────────────────────────────────────────────────────────────────\n// The form somebody files a report with, and the parts an inbox is built from:\n// the status vocabulary both apps share value for value, the policy about what a\n// row may move to from where it stands, and the look of a status control, a\n// category badge and an opened report. The app still wires its own API, columns\n// and strings — see the note at the top of `feedback-inbox.tsx` for what is\n// deliberately left to it.\nexport * from \"./feedback/feedback-attachment\";\nexport * from \"./feedback/feedback-dialog\";\nexport * from \"./feedback/feedback-inbox\";\n\n// ── multi-step wizard ────────────────────────────────────────────────────────\n// The engine (step machine, validators, collected data), the chrome around it\n// (indicator + nav bar + cancel confirm) and the review step it ends on.\n// `components/wizard-stepper` next door is a different, much smaller thing: a bare\n// step indicator for a two-step import flow, with no engine.\n//\n// Two modules were removed here rather than kept as stock. `wizard-field` held a\n// `WizardField`/`WizardSelectField` pair that had never been rendered in any app —\n// a field group nothing was built from, which this comment used to advertise. And\n// `use-rhf-wizard-step` was the only thing in the package that touched\n// react-hook-form, for a hook neither consumer called: keeping it meant an optional\n// peer, a dev dependency and a type import in every consumer's typecheck, bought\n// for nobody. A design system may carry stock; untested stock nothing has ever\n// rendered is not stock, it is a liability with an export.\nexport * from \"./wizard/types\";\nexport * from \"./wizard/use-wizard\";\nexport * from \"./wizard/wizard-context\";\nexport * from \"./wizard/validation\";\nexport * from \"./wizard/wizard-step\";\nexport * from \"./wizard/wizard-summary\";\nexport * from \"./wizard/stepper-nav\";\n\n// ── guided tours ─────────────────────────────────────────────────────────────\nexport * from \"./tour/tour\";\n\n// ── command palette / global search ──────────────────────────────────────────\nexport * from \"./search/command-palette\";\nexport * from \"./search/search-index\";\nexport * from \"./search/global-search\";\n\n// ── i18n: one label tree, one optional provider ──────────────────────────────\n// `UiKitLabels` names every string the kit renders; `<UiKitProvider labels locale>`\n// hands a translation to every component below it. Precedence: a component's own\n// prop > the provider > the English default. See src/i18n/kit-labels.tsx.\nexport * from \"./i18n/kit-labels\";\nexport * from \"./i18n/defaults\";\n"],"mappings":";AAMA,cAAc;AACd,SAAS,UAAU;AACnB,SAAS,QAAQ,mBAAmB;AAIpC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB,wBAAwB,yBAAyB;AAM5E,SAAS,cAAc,uBAAuB;AAI9C,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,uBAAuB;AACpD,SAAS,mBAAmB;AAG5B,SAAS,aAAa,oBAAoB;AAG1C,SAAS,aAAa,4BAA4B;AAGlD,SAAS,oBAAoB,uBAAuB;AAIpD,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,oBAAoB;AAE7B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,uBAAuB;AAIhC,SAAS,YAAY,eAAe,eAAe,kCAAkC;AAUrF,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AAEd,SAAS,gBAAgB;AAEzB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,kBAAkB;AAG3B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAId,SAAS,OAAO,SAAS,sBAAsB,6BAA6B;AAgB5E,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,qBAAqB;AAG9B,SAAS,iBAAiB;AAc1B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AASd,cAAc;AACd,cAAc;AACd,cAAc;AAgBd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @eifi1/ui-kit — shared design-system barrel.\n//\n// Domain-free UI + theme surface shared across apps (lead app: Keksdose). Consumers import\n// components/theme from \"@eifi1/ui-kit\" and the token stylesheet from \"@eifi1/ui-kit/tokens.css\".\n\n// ── lib ────────────────────────────────────────────────────────────────────\nexport * from \"./lib/calc\";\nexport { cn } from \"./lib/cn\";\nexport { logger, setStoreLog } from \"./lib/logger\";\n// Date helpers are also available via the \"@eifi1/ui-kit/dates\" subpath.\n\n// ── hooks ────────────────────────────────────────────────────────────────────\nexport { useMediaQuery } from \"./hooks/use-media-query\";\nexport { useBodyScrollLock } from \"./hooks/use-body-scroll-lock\";\nexport { useAnchoredRect } from \"./hooks/use-anchored-rect\";\nexport type { AnchorRect } from \"./hooks/use-anchored-rect\";\nexport { useAnchoredPanel, anchoredPanelPlacement, useVisualViewport } from \"./hooks/use-anchored-panel\";\nexport type {\n AnchoredPanel,\n AnchoredPanelOptions,\n ViewportBox,\n} from \"./hooks/use-anchored-panel\";\nexport { useEscapeKey, useOutsideClick } from \"./hooks/use-dismiss\";\n// Focus containment for an overlay, and a live region for a change that moves no focus.\n// Both were extracted from the two components that already did them correctly (Modal and\n// CommandPalette) so the rest of the kit stops being the exception.\nexport { useFocusTrap } from \"./hooks/use-focus-trap\";\nexport type { FocusTrapOptions } from \"./hooks/use-focus-trap\";\nexport { useAnnounce } from \"./hooks/use-announce\";\nexport type { UseAnnounceReturn, UseAnnounceOptions, AnnounceRegionProps } from \"./hooks/use-announce\";\nexport { useOverlayHistory } from \"./hooks/use-overlay-history\";\nexport { useCloseTransition, OVERLAY_EXIT_MS } from \"./hooks/use-close-transition\";\nexport { useRowSwipe } from \"./hooks/use-row-swipe\";\nexport type { SwipeStage, RowSwipeOptions, RowSwipeReturn } from \"./hooks/use-row-swipe\";\n// Any element as a file drop target, screened like FileButton (kastlan).\nexport { useFileDrop, dragHasFiles } from \"./hooks/use-file-drop\";\nexport type { UseFileDropOptions, UseFileDropReturn, FileDropProps } from \"./hooks/use-file-drop\";\n// kastlan's search boxes each carried a hand-rolled copy, two without the cleanup.\nexport { useDebounce, useDebouncedCallback } from \"./hooks/use-debounce\";\nexport type { DebouncedCallbackOptions, DebouncedFunction } from \"./hooks/use-debounce\";\n// Copy that reports whether it worked — keksdose's copy buttons said \"Copied\" when it had not.\nexport { useCopyToClipboard, copyToClipboard } from \"./hooks/use-copy-to-clipboard\";\nexport type { CopyState, UseCopyToClipboardOptions, UseCopyToClipboardReturn } from \"./hooks/use-copy-to-clipboard\";\n\n// ── theme / palettes ─────────────────────────────────────────────────────────\nexport * from \"./theme/chart-palette\";\n// Colour maths (sRGB ↔ OKLCH, WCAG contrast, CVD simulation) and the palette deriver\n// that builds a whole, contrast-solved palette from one brand colour plus any colours\n// pinned by hand. `auditPalette` / `auditChartRamp` measure a palette rather than\n// trusting a comment about it.\nexport * from \"./theme/color\";\nexport * from \"./theme/palette-derive\";\nexport * from \"./theme/palette-presets\";\nexport * from \"./theme/theme-store\";\nexport * from \"./theme/palette-store\";\n\n// ── components ───────────────────────────────────────────────────────────────\nexport * from \"./components/ui\";\n// The label-ABOVE field group (label, hint, error, required), inside wizards or out.\nexport * from \"./components/field\";\nexport * from \"./components/search-field\";\nexport * from \"./components/dropdown\";\nexport * from \"./components/popover\";\nexport { SwipeableRow } from \"./components/swipeable-row\";\nexport type { SwipeAction, SwipeableRowProps } from \"./components/swipeable-row\";\nexport * from \"./components/calculator\";\nexport * from \"./components/numpad-sheet\";\nexport * from \"./components/number-input\";\nexport * from \"./components/currency-select\";\nexport * from \"./components/amount-input\";\nexport * from \"./components/combobox\";\nexport * from \"./components/picker-sheet\";\nexport * from \"./components/entity-combobox\";\nexport * from \"./components/multi-entity-combobox\";\nexport * from \"./components/multi-select\";\nexport * from \"./components/tooltip\";\nexport * from \"./components/user-avatar\";\nexport * from \"./components/settings-fields\";\n// Sync state for a database-backed field: the engine (`useFieldSync`) and the\n// affordance (`FieldSyncIndicator`), kept separate because the state is useful\n// without the dot — a form can gate its submit on any field being `pending`.\nexport * from \"./components/field-sync\";\nexport * from \"./components/month-picker\";\nexport * from \"./components/checkbox\";\nexport * from \"./components/switch\";\nexport * from \"./components/slider\";\nexport * from \"./components/time-input\";\nexport * from \"./components/number-field\";\nexport * from \"./components/sparkline\";\nexport * from \"./components/stat-tile\";\nexport * from \"./components/signature-pad\";\nexport * from \"./components/password-strength\";\nexport * from \"./components/page-contents\";\nexport * from \"./components/disclosure\";\nexport * from \"./components/dialog-frame\";\nexport * from \"./components/danger-confirm\";\n// `useConfirm()` — the promise-based replacement for `window.confirm`, one host per app.\nexport * from \"./components/confirm-dialog\";\n// A non-modal corner panel and its round trigger (keksdose's assistant launcher).\nexport * from \"./components/floating-panel\";\n// The count / clear / actions bar a selection brings up (keksdose's three copies).\nexport * from \"./components/bulk-action-bar\";\nexport * from \"./components/swatch-picker\";\nexport * from \"./components/icon-picker\";\nexport * from \"./components/choice-card\";\nexport * from \"./components/autocomplete\";\nexport * from \"./components/measured-grid\";\nexport { useWindowedRows } from \"./hooks/use-windowed-rows\";\nexport type { WindowedRows } from \"./hooks/use-windowed-rows\";\n// Named, not `export *`: file-button.tsx also holds the screening helpers the\n// dropzone shares, which are internal.\nexport { FileButton, useFilePicker, matchesAccept, DEFAULT_FILE_PICKER_LABELS } from \"./components/file-button\";\nexport type {\n FileButtonProps,\n UseFilePickerOptions,\n UseFilePickerReturn,\n FilePickerLabels,\n FileRejection,\n FileRejectionReason,\n FileScreenOptions,\n} from \"./components/file-button\";\nexport * from \"./components/treemap\";\nexport * from \"./components/series-chart\";\nexport * from \"./components/chart-zoom\";\nexport * from \"./components/toggle-legend\";\nexport * from \"./components/facing-pair\";\nexport * from \"./components/series-chart-labels\";\nexport * from \"./components/account-settings\";\nexport * from \"./components/alert-banner\";\nexport * from \"./components/toggle-group\";\n// A wrapping set of links/buttons marked `aria-current` — Tabs-like looks, not tabs.\nexport * from \"./components/nav-pills\";\n// A pill carrying one VALUE — inert, a link, or a toggle, depending on which prop it is\n// given — and the list field built from it. Distinct from Button on purpose: a row of\n// buttons reads as \"choose an action\", a row of chips as \"here are the things\".\nexport * from \"./components/chip\";\nexport * from \"./components/wizard-stepper\";\nexport * from \"./components/hover-menu\";\nexport * from \"./components/modal\";\nexport * from \"./components/full-bleed-dialog\";\nexport * from \"./components/grouped-picker\";\nexport * from \"./components/file-dropzone\";\nexport * from \"./components/mini-calendar\";\nexport * from \"./components/calendar-heatmap\";\nexport * from \"./components/date-picker\";\nexport * from \"./components/tree-view\";\nexport * from \"./components/chart\";\n// 0.8.0 layout and feedback primitives the apps hand-rolled or took from shadcn/Radix.\nexport * from \"./components/description-list\";\nexport * from \"./components/progress-bar\";\n// Named: skeleton.tsx also holds SKELETON_CLASS, the look StatTile shares — internal.\nexport { Skeleton } from \"./components/skeleton\";\nexport type { SkeletonProps, SkeletonShape } from \"./components/skeleton\";\nexport * from \"./components/copy-button\";\nexport * from \"./components/button-group\";\nexport * from \"./components/table\";\nexport * from \"./components/separator\";\n// Named: scroll-area.tsx also holds the overflow hook and scrollbar class Table shares.\nexport { ScrollArea } from \"./components/scroll-area\";\nexport type { ScrollAreaProps } from \"./components/scroll-area\";\n// 0.10.0 rows, menu rows, text primitives and page chrome the apps drew by hand.\nexport * from \"./components/list\";\nexport * from \"./components/menu-item\";\nexport * from \"./components/text\";\nexport * from \"./components/status-dot\";\nexport * from \"./components/page-header\";\nexport * from \"./components/breadcrumbs\";\n// The toast layer over sonner (an OPTIONAL peer, loaded lazily): `toast` mirrors sonner's\n// API so apps migrate by swapping the import; `<Toaster>` carries the placement, theme,\n// tones and z-index both apps had wired by hand.\nexport { toast, Toaster, DEFAULT_TOAST_LABELS, TOAST_ACTION_DURATION } from \"./components/toast\";\nexport type {\n ToastId,\n ToastAction,\n ToastOptions,\n ToastPromiseOptions,\n ToastUndoOptions,\n ToastRedoOptions,\n ToastLabels,\n ToastPosition,\n ToastSwipeDirection,\n ToasterOffset,\n ToasterProps,\n} from \"./components/toast\";\n\n// ── data-table suite ─────────────────────────────────────────────────────────\nexport * from \"./components/data-table-labels\";\nexport * from \"./components/data-table-sort\";\nexport * from \"./components/data-table-filters\";\nexport * from \"./components/data-table-pagination\";\nexport { FilterPopover } from \"./components/data-table-filter-popover\";\n// data-table re-exports SortState internally; export the rest explicitly to\n// avoid a duplicate SortState star-export (it comes from data-table-sort).\nexport { DataTable } from \"./components/data-table\";\nexport type {\n DataTableColumn,\n DataTableCellProps,\n DataTableHeadProps,\n DataTableProps,\n ServerPagination,\n FilterState,\n MobileSwipeActions,\n DataTableDensity,\n DataTableChrome,\n} from \"./components/data-table\";\n\n// ── shell (composable app chrome) ────────────────────────────────────────────\nexport * from \"./shell/topbar-controls\";\nexport * from \"./shell/top-bar\";\nexport * from \"./shell/app-shell\";\nexport * from \"./shell/option-switcher-menu\";\nexport * from \"./shell/role-switcher\";\nexport * from \"./shell/topbar-action-menu\";\n\n// ── feedback ─────────────────────────────────────────────────────────────────\n// The form somebody files a report with, and the parts an inbox is built from:\n// the status vocabulary both apps share value for value, the policy about what a\n// row may move to from where it stands, and the look of a status control, a\n// category badge and an opened report. The app still wires its own API, columns\n// and strings — see the note at the top of `feedback-inbox.tsx` for what is\n// deliberately left to it.\nexport * from \"./feedback/feedback-attachment\";\nexport * from \"./feedback/feedback-dialog\";\nexport * from \"./feedback/feedback-inbox\";\n\n// ── multi-step wizard ────────────────────────────────────────────────────────\n// The engine (step machine, validators, collected data), the chrome around it\n// (indicator + nav bar + cancel confirm) and the review step it ends on.\n// `components/wizard-stepper` next door is a different, much smaller thing: a bare\n// step indicator for a two-step import flow, with no engine.\n//\n// Two modules were removed here rather than kept as stock. `wizard-field` held a\n// `WizardField`/`WizardSelectField` pair that had never been rendered in any app —\n// a field group nothing was built from, which this comment used to advertise. And\n// `use-rhf-wizard-step` was the only thing in the package that touched\n// react-hook-form, for a hook neither consumer called: keeping it meant an optional\n// peer, a dev dependency and a type import in every consumer's typecheck, bought\n// for nobody. A design system may carry stock; untested stock nothing has ever\n// rendered is not stock, it is a liability with an export.\nexport * from \"./wizard/types\";\nexport * from \"./wizard/use-wizard\";\nexport * from \"./wizard/wizard-context\";\nexport * from \"./wizard/validation\";\nexport * from \"./wizard/wizard-step\";\nexport * from \"./wizard/wizard-summary\";\nexport * from \"./wizard/stepper-nav\";\n\n// ── guided tours ─────────────────────────────────────────────────────────────\nexport * from \"./tour/tour\";\n\n// ── command palette / global search ──────────────────────────────────────────\nexport * from \"./search/command-palette\";\nexport * from \"./search/search-index\";\nexport * from \"./search/global-search\";\n\n// ── i18n: one label tree, one optional provider ──────────────────────────────\n// `UiKitLabels` names every string the kit renders; `<UiKitProvider labels locale>`\n// hands a translation to every component below it. Precedence: a component's own\n// prop > the provider > the English default. See src/i18n/kit-labels.tsx.\nexport * from \"./i18n/kit-labels\";\nexport * from \"./i18n/defaults\";\n"],"mappings":";AAMA,cAAc;AACd,SAAS,UAAU;AACnB,SAAS,QAAQ,mBAAmB;AAIpC,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB,wBAAwB,yBAAyB;AAM5E,SAAS,cAAc,uBAAuB;AAI9C,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,uBAAuB;AACpD,SAAS,mBAAmB;AAG5B,SAAS,aAAa,oBAAoB;AAG1C,SAAS,aAAa,4BAA4B;AAGlD,SAAS,oBAAoB,uBAAuB;AAIpD,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,oBAAoB;AAE7B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,uBAAuB;AAIhC,SAAS,YAAY,eAAe,eAAe,kCAAkC;AAUrF,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AACd,cAAc;AAEd,SAAS,gBAAgB;AAEzB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,SAAS,kBAAkB;AAG3B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAId,SAAS,OAAO,SAAS,sBAAsB,6BAA6B;AAgB5E,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,qBAAqB;AAG9B,SAAS,iBAAiB;AAc1B,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AASd,cAAc;AACd,cAAc;AACd,cAAc;AAgBd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;","names":[]}
|
package/dist/lib/clipping.d.ts
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
|
-
/** Internal (not exported from the package): the Tooltip's auto-portal check.
|
|
1
|
+
/** Internal (not exported from the package): the Tooltip's auto-portal check. The
|
|
2
|
+
* attribute name itself IS exported, as `CLIPS_ATTRIBUTE` from the tooltip module. */
|
|
3
|
+
/**
|
|
4
|
+
* The explicit "this element clips or scrolls" marker. A container carrying it counts
|
|
5
|
+
* as clipping whatever its computed `overflow` says.
|
|
6
|
+
*
|
|
7
|
+
* Why a marker as well as the computed style: the kit's containers get their
|
|
8
|
+
* `overflow` from Tailwind classes, and jsdom computes no stylesheet — so under test
|
|
9
|
+
* every scroller reads `overflow: visible`, the Tooltip stays in place, and its always-
|
|
10
|
+
* mounted bubble shows up in the cell's text (keksdose 0.10: "CheckingChecking"). The
|
|
11
|
+
* browser and the test then disagreed about where the bubble lives, and apps pinned
|
|
12
|
+
* `portal` on every tooltip in a table to make them agree. The kit's own scrollers
|
|
13
|
+
* (DataTable's body, Table's wrapper) carry the marker, so the answer is the same in
|
|
14
|
+
* both; an app marks its own with `{ [CLIPS_ATTRIBUTE]: "" }` or a literal `data-clips`.
|
|
15
|
+
*/
|
|
16
|
+
declare const CLIPS_ATTRIBUTE = "data-clips";
|
|
2
17
|
/** Whether anything between `el` and `<body>` clips or scrolls its content — the
|
|
3
18
|
* containers an absolutely positioned bubble would be cut off by, or would widen.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
19
|
+
* Either the computed `overflow` says so or the element carries
|
|
20
|
+
* {@link CLIPS_ATTRIBUTE}. `<body>` and `<html>` are not counted: their `overflow`
|
|
21
|
+
* belongs to the viewport (a dialog's scroll lock sets it), and the viewport clips a
|
|
22
|
+
* portalled bubble just the same. */
|
|
7
23
|
declare function hasClippingAncestor(el: Element | null): boolean;
|
|
8
24
|
|
|
9
|
-
export { hasClippingAncestor };
|
|
25
|
+
export { CLIPS_ATTRIBUTE, hasClippingAncestor };
|
package/dist/lib/clipping.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
const CLIPS_ATTRIBUTE = "data-clips";
|
|
2
3
|
function hasClippingAncestor(el) {
|
|
3
4
|
if (typeof window === "undefined" || !el) return false;
|
|
4
5
|
for (let node = el.parentElement; node; node = node.parentElement) {
|
|
5
6
|
if (node === document.body || node === document.documentElement) return false;
|
|
7
|
+
if (node.hasAttribute(CLIPS_ATTRIBUTE)) return true;
|
|
6
8
|
const style = window.getComputedStyle(node);
|
|
7
9
|
if (style.overflowX !== "visible" || style.overflowY !== "visible") return true;
|
|
8
10
|
}
|
|
9
11
|
return false;
|
|
10
12
|
}
|
|
11
13
|
export {
|
|
14
|
+
CLIPS_ATTRIBUTE,
|
|
12
15
|
hasClippingAncestor
|
|
13
16
|
};
|
|
14
17
|
//# sourceMappingURL=clipping.js.map
|
package/dist/lib/clipping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/clipping.ts"],"sourcesContent":["/** Internal (not exported from the package): the Tooltip's auto-portal check. */\n\n/** Whether anything between `el` and `<body>` clips or scrolls its content — the\n * containers an absolutely positioned bubble would be cut off by, or would widen.\n * `<body>` and `<html>` are not counted: their `overflow
|
|
1
|
+
{"version":3,"sources":["../../src/lib/clipping.ts"],"sourcesContent":["/** Internal (not exported from the package): the Tooltip's auto-portal check. The\n * attribute name itself IS exported, as `CLIPS_ATTRIBUTE` from the tooltip module. */\n\n/**\n * The explicit \"this element clips or scrolls\" marker. A container carrying it counts\n * as clipping whatever its computed `overflow` says.\n *\n * Why a marker as well as the computed style: the kit's containers get their\n * `overflow` from Tailwind classes, and jsdom computes no stylesheet — so under test\n * every scroller reads `overflow: visible`, the Tooltip stays in place, and its always-\n * mounted bubble shows up in the cell's text (keksdose 0.10: \"CheckingChecking\"). The\n * browser and the test then disagreed about where the bubble lives, and apps pinned\n * `portal` on every tooltip in a table to make them agree. The kit's own scrollers\n * (DataTable's body, Table's wrapper) carry the marker, so the answer is the same in\n * both; an app marks its own with `{ [CLIPS_ATTRIBUTE]: \"\" }` or a literal `data-clips`.\n */\nexport const CLIPS_ATTRIBUTE = \"data-clips\";\n\n/** Whether anything between `el` and `<body>` clips or scrolls its content — the\n * containers an absolutely positioned bubble would be cut off by, or would widen.\n * Either the computed `overflow` says so or the element carries\n * {@link CLIPS_ATTRIBUTE}. `<body>` and `<html>` are not counted: their `overflow`\n * belongs to the viewport (a dialog's scroll lock sets it), and the viewport clips a\n * portalled bubble just the same. */\nexport function hasClippingAncestor(el: Element | null): boolean {\n if (typeof window === \"undefined\" || !el) return false;\n for (let node = el.parentElement; node; node = node.parentElement) {\n if (node === document.body || node === document.documentElement) return false;\n if (node.hasAttribute(CLIPS_ATTRIBUTE)) return true;\n const style = window.getComputedStyle(node);\n if (style.overflowX !== \"visible\" || style.overflowY !== \"visible\") return true;\n }\n return false;\n}\n"],"mappings":";AAgBO,MAAM,kBAAkB;AAQxB,SAAS,oBAAoB,IAA6B;AAC/D,MAAI,OAAO,WAAW,eAAe,CAAC,GAAI,QAAO;AACjD,WAAS,OAAO,GAAG,eAAe,MAAM,OAAO,KAAK,eAAe;AACjE,QAAI,SAAS,SAAS,QAAQ,SAAS,SAAS,gBAAiB,QAAO;AACxE,QAAI,KAAK,aAAa,eAAe,EAAG,QAAO;AAC/C,UAAM,QAAQ,OAAO,iBAAiB,IAAI;AAC1C,QAAI,MAAM,cAAc,aAAa,MAAM,cAAc,UAAW,QAAO;AAAA,EAC7E;AACA,SAAO;AACT;","names":[]}
|
package/dist/lib/dates.d.ts
CHANGED
|
@@ -67,6 +67,22 @@ declare function formatIsoDate(iso: string, locale: string, options?: Intl.DateT
|
|
|
67
67
|
* {@link toLocalIso} reads local components back, so this never slides a day the way
|
|
68
68
|
* a `toISOString()` round-trip does west of UTC. */
|
|
69
69
|
declare function addDaysIso(iso: string, days: number): string;
|
|
70
|
+
/**
|
|
71
|
+
* `d` moved by whole months, keeping the day of the month where the target has one.
|
|
72
|
+
* `setMonth` alone ROLLS OVER — 31 January + 1 month is 3 March — which would skip
|
|
73
|
+
* February entirely for anyone paging through the year with PageDown. Returns a new
|
|
74
|
+
* Date; `d` is not touched.
|
|
75
|
+
*/
|
|
76
|
+
declare function addMonthsClamped(d: Date, months: number): Date;
|
|
77
|
+
/**
|
|
78
|
+
* The first day of the week in `locale`, as a `Date#getDay` index (0 = Sunday).
|
|
79
|
+
*
|
|
80
|
+
* `Intl.Locale#getWeekInfo()` is the standard spelling; V8 shipped it first as the
|
|
81
|
+
* `weekInfo` accessor, and Firefox has neither yet — hence both reads and a Monday
|
|
82
|
+
* fallback, which is ISO 8601. Its `firstDay` counts 1 = Monday … 7 = Sunday, so `% 7`
|
|
83
|
+
* maps it onto `getDay`. `undefined` asks for the runtime's default locale.
|
|
84
|
+
*/
|
|
85
|
+
declare function localeWeekStart(locale: string | undefined): 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
70
86
|
/** Whether two Dates fall on the same local calendar day. */
|
|
71
87
|
declare function sameYmd(a: Date, b: Date): boolean;
|
|
72
88
|
interface DateRangePreset {
|
|
@@ -117,4 +133,4 @@ interface CalendarMonthPresetOptions {
|
|
|
117
133
|
*/
|
|
118
134
|
declare function calendarMonthPresets(options?: CalendarMonthPresetOptions): DateRangePreset[];
|
|
119
135
|
|
|
120
|
-
export { type CalendarMonthPresetOptions, type DateRangePreset, addDaysIso, calendarMonthPresets, dateRangePresets, endOfMonthIso, endOfYearIso, formatIsoDate, lastFullMonthsRange, lastFullYearsRange, monthKey, pad, parseIsoDate, sameYmd, shiftIso, startOfMonthIso, startOfWeekIso, startOfYearIso, toLocalIso, todayIso };
|
|
136
|
+
export { type CalendarMonthPresetOptions, type DateRangePreset, addDaysIso, addMonthsClamped, calendarMonthPresets, dateRangePresets, endOfMonthIso, endOfYearIso, formatIsoDate, lastFullMonthsRange, lastFullYearsRange, localeWeekStart, monthKey, pad, parseIsoDate, sameYmd, shiftIso, startOfMonthIso, startOfWeekIso, startOfYearIso, toLocalIso, todayIso };
|