neba 1.5.0 → 1.6.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 +4 -4
- package/dist/components/bottom-navigation/BottomNavigation.d.ts +2 -14
- package/dist/components/bottom-navigation/BottomNavigation.js +1 -1
- package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.d.ts +91 -0
- package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.js +1 -0
- package/dist/components/floating-bottom-navigation/index.d.ts +2 -0
- package/dist/components/floating-bottom-navigation/index.js +1 -0
- package/dist/components/scroll-zone/ScrollZone.d.ts +126 -0
- package/dist/components/scroll-zone/ScrollZone.js +1 -0
- package/dist/components/scroll-zone/index.d.ts +2 -0
- package/dist/components/scroll-zone/index.js +1 -0
- package/dist/components/window-pane/WindowPane.d.ts +178 -0
- package/dist/components/window-pane/WindowPane.js +1 -0
- package/dist/components/window-pane/index.d.ts +2 -0
- package/dist/components/window-pane/index.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -1
- package/dist/internal/bottom-navigation.d.ts +57 -0
- package/dist/internal/bottom-navigation.js +1 -0
- package/dist/internal/i18n.d.ts +28 -0
- package/dist/internal/i18n.js +1 -1
- package/dist/internal/window.d.ts +201 -0
- package/dist/internal/window.js +1 -0
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +6 -0
- package/package.json +9 -9
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { NebaDensity, NebaSize } from '../types';
|
|
3
|
+
/** A destination's value. The same restraint Tabs and SegmentedButton put on theirs. */
|
|
4
|
+
export type BottomNavigationValue = string | number;
|
|
5
|
+
/**
|
|
6
|
+
* Which labels are drawn.
|
|
7
|
+
*
|
|
8
|
+
* - `all` — every destination is named. The only one that works for a reader
|
|
9
|
+
* who has not used the app before, and the default on the bar that spans an
|
|
10
|
+
* edge of the window.
|
|
11
|
+
* - `selected` — only the destination that is current. The bar keeps its height
|
|
12
|
+
* either way, because the named one is always the tallest; what changes is
|
|
13
|
+
* how much of the row is words. The names the other items lose are still in
|
|
14
|
+
* the document for a screen reader.
|
|
15
|
+
* - `none` — glyphs only, with every name read out but never drawn.
|
|
16
|
+
*/
|
|
17
|
+
export type BottomNavigationLabels = 'all' | 'selected' | 'none';
|
|
18
|
+
/**
|
|
19
|
+
* What an item inherits from the bar around it.
|
|
20
|
+
*
|
|
21
|
+
* The same arrangement ButtonGroup, List, Tabs and SegmentedButton use: `size`,
|
|
22
|
+
* `density` and which destination is current belong to the *set*. A bar whose
|
|
23
|
+
* third item is a size out is not a bar.
|
|
24
|
+
*
|
|
25
|
+
* It lives in `internal/` for the reason `menu.ts` does rather than the reason
|
|
26
|
+
* `button-group.ts` does: two bars provide it — BottomNavigation and
|
|
27
|
+
* FloatingBottomNavigation — and one item reads it. Keeping it in either bar's
|
|
28
|
+
* file would make the other one import its sibling to draw a row of buttons.
|
|
29
|
+
*/
|
|
30
|
+
export interface BottomNavigationContextValue {
|
|
31
|
+
value: BottomNavigationValue | null;
|
|
32
|
+
change: (value: BottomNavigationValue) => void;
|
|
33
|
+
size: NebaSize;
|
|
34
|
+
density: NebaDensity;
|
|
35
|
+
labels: BottomNavigationLabels;
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the bar around the item is the floating one.
|
|
39
|
+
*
|
|
40
|
+
* It is the shape of the item that differs and not its behaviour: a bar
|
|
41
|
+
* pinned to an edge divides its whole width between its destinations, while a
|
|
42
|
+
* lozenge hovering over the page is only as wide as what is in it, so its
|
|
43
|
+
* items are sized by their content and cut as stadiums rather than as sheets.
|
|
44
|
+
*/
|
|
45
|
+
floating: boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare const BottomNavigationContext: React.Context<BottomNavigationContextValue>;
|
|
48
|
+
/**
|
|
49
|
+
* The row's floor, and the one number the two bars have to agree on.
|
|
50
|
+
*
|
|
51
|
+
* `md` is 56px, which is the height a bottom navigation has had since the first
|
|
52
|
+
* one — tall enough for a glyph with a word under it and short enough that it
|
|
53
|
+
* is not competing with the page it is on. A floating bar is the same object
|
|
54
|
+
* lifted off the edge, so it is the same height; the ladder around it keeps the
|
|
55
|
+
* same proportion to the glyph and the name it holds.
|
|
56
|
+
*/
|
|
57
|
+
export declare const barMinHeightClasses: Record<NebaSize, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as t from"react";export const BottomNavigationContext=t.createContext({value:null,change:()=>{},size:"md",density:"default",labels:"all",disabled:!1,floating:!1});export const barMinHeightClasses={xs:"min-h-10",sm:"min-h-12",md:"min-h-14",lg:"min-h-16",xl:"min-h-18"};
|
package/dist/internal/i18n.d.ts
CHANGED
|
@@ -223,6 +223,18 @@ export interface NebaMessages {
|
|
|
223
223
|
previous: string;
|
|
224
224
|
next: string;
|
|
225
225
|
};
|
|
226
|
+
/**
|
|
227
|
+
* ScrollZone.
|
|
228
|
+
*
|
|
229
|
+
* Both buttons are an arrow with nothing else on them, and which way the
|
|
230
|
+
* strip runs is a prop — so the words are logical rather than physical. A
|
|
231
|
+
* vertical zone's "back" is up, and under RTL a horizontal one's is to the
|
|
232
|
+
* right.
|
|
233
|
+
*/
|
|
234
|
+
scroll: {
|
|
235
|
+
previous: string;
|
|
236
|
+
next: string;
|
|
237
|
+
};
|
|
226
238
|
/** Breadcrumb. */
|
|
227
239
|
breadcrumb: {
|
|
228
240
|
/** Names the `<nav>` landmark. */
|
|
@@ -242,6 +254,22 @@ export interface NebaMessages {
|
|
|
242
254
|
/** Names the sheet that covers whatever it was wrapped around. */
|
|
243
255
|
label: string;
|
|
244
256
|
};
|
|
257
|
+
/**
|
|
258
|
+
* WindowPane.
|
|
259
|
+
*
|
|
260
|
+
* The three buttons on a title bar that are drawings of what they do, and the
|
|
261
|
+
* handle that has no drawing at all. The × is `action.close`, which every
|
|
262
|
+
* other component's close button already reads — a reader meeting it on a
|
|
263
|
+
* Dialog and on a window should hear the same word.
|
|
264
|
+
*/
|
|
265
|
+
window: {
|
|
266
|
+
minimize: string;
|
|
267
|
+
maximize: string;
|
|
268
|
+
/** What the maximize button becomes once the window is maximized. */
|
|
269
|
+
restore: string;
|
|
270
|
+
/** Names the corner a pointer drags to resize. */
|
|
271
|
+
resize: string;
|
|
272
|
+
};
|
|
245
273
|
}
|
|
246
274
|
/**
|
|
247
275
|
* The strings for a locale, merged over English.
|
package/dist/internal/i18n.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";const a={action:{close:"Close",dismiss:"Dismiss",clear:"Clear",remove:"Remove"},link:{newTab:"(opens in a new tab)"},spoiler:{reveal:"Reveal",hide:"Hide",notice:"This may contain spoilers"},chat:{sending:"Sending",sent:"Sent",delivered:"Delivered",read:"Read",failed:"Not sent",typing:"Typing…"},empty:{title:"Nothing here"},table:{search:"Search",selectAll:"Select all rows",selectRow:"Select row",rowsPerPage:"Rows per page",range:"{start}–{end} of {total}",selected:"{count} selected",empty:"No data"},color:{area:"Saturation and brightness",hue:"Hue",alpha:"Opacity",value:"Colour value",swatches:"Preset colours",clear:"Clear",empty:"Choose a colour"},rating:{label:"Rating",value:"{value} out of {max}",empty:"No rating"},number:{increase:"Increase",decrease:"Decrease"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} of {total}",previous:"Previous page",next:"Next page",first:"First page",last:"Last page"},carousel:{label:"Carousel",slide:"Slide {index} of {total}",previous:"Previous slide",next:"Next slide"},breadcrumb:{label:"Breadcrumb",expand:"Show hidden steps"},combobox:{empty:"No matches",remove:"Remove {label}"},overlay:{label:"Overlay"}},l={ko:{action:{close:"닫기",dismiss:"알림 닫기",clear:"지우기",remove:"삭제"},link:{newTab:"(새 창에서 열림)"},spoiler:{reveal:"내용 보기",hide:"숨기기",notice:"스포일러가 포함되어 있을 수 있습니다"},chat:{sending:"보내는 중",sent:"보냄",delivered:"전달됨",read:"읽음",failed:"전송 실패",typing:"입력 중…"},empty:{title:"내용이 없습니다"},table:{search:"검색",selectAll:"모든 행 선택",selectRow:"행 선택",rowsPerPage:"페이지당 행 수",range:"전체 {total}개 중 {start}–{end}",selected:"{count}개 선택됨",empty:"데이터 없음"},color:{area:"채도와 명도",hue:"색상",alpha:"불투명도",value:"색상 값",swatches:"기본 색상",clear:"지우기",empty:"색상 선택"},rating:{label:"별점",value:"{max}점 만점에 {value}점",empty:"별점 없음"},number:{increase:"값 늘리기",decrease:"값 줄이기"},pagination:{label:"페이지 매기기",page:"{page}페이지",status:"전체 {total}페이지 중 {page}페이지",previous:"이전 페이지",next:"다음 페이지",first:"첫 페이지",last:"마지막 페이지"},carousel:{label:"캐러셀",slide:"전체 {total}장 중 {index}장",previous:"이전 슬라이드",next:"다음 슬라이드"},breadcrumb:{label:"탐색 경로",expand:"숨겨진 단계 보기"},combobox:{empty:"일치하는 항목 없음",remove:"{label} 삭제"},overlay:{label:"오버레이"}},ja:{action:{close:"閉じる",dismiss:"閉じる",clear:"クリア",remove:"削除"},link:{newTab:"(新しいタブで開きます)"},spoiler:{reveal:"表示する",hide:"隠す",notice:"ネタバレを含む可能性があります"},chat:{sending:"送信中",sent:"送信済み",delivered:"配信済み",read:"既読",failed:"送信できませんでした",typing:"入力中…"},empty:{title:"表示するものがありません"},table:{search:"検索",selectAll:"すべての行を選択",selectRow:"行を選択",rowsPerPage:"1 ページの行数",range:"{total} 件中 {start}–{end} 件",selected:"{count} 件を選択中",empty:"データがありません"},color:{area:"彩度と明度",hue:"色相",alpha:"不透明度",value:"カラー値",swatches:"プリセットの色",clear:"クリア",empty:"色を選択"},rating:{label:"評価",value:"{max} 段階中 {value}",empty:"評価なし"},number:{increase:"増やす",decrease:"減らす"},pagination:{label:"ページ送り",page:"{page} ページ",status:"{total} ページ中 {page} ページ",previous:"前のページ",next:"次のページ",first:"最初のページ",last:"最後のページ"},carousel:{label:"カルーセル",slide:"{total} 枚中 {index} 枚目",previous:"前のスライド",next:"次のスライド"},breadcrumb:{label:"パンくずリスト",expand:"省略された階層を表示"},combobox:{empty:"一致する項目がありません",remove:"{label} を削除"},overlay:{label:"オーバーレイ"}},"zh-hans":{action:{close:"关闭",dismiss:"关闭",clear:"清除",remove:"移除"},link:{newTab:"(在新标签页中打开)"},spoiler:{reveal:"显示内容",hide:"隐藏",notice:"此内容可能包含剧透"},chat:{sending:"发送中",sent:"已发送",delivered:"已送达",read:"已读",failed:"发送失败",typing:"正在输入…"},empty:{title:"暂无内容"},table:{search:"搜索",selectAll:"全选所有行",selectRow:"选择此行",rowsPerPage:"每页行数",range:"第 {start}–{end} 行,共 {total} 行",selected:"已选择 {count} 行",empty:"暂无数据"},color:{area:"饱和度和明度",hue:"色相",alpha:"不透明度",value:"颜色值",swatches:"预设颜色",clear:"清除",empty:"选择颜色"},rating:{label:"评分",value:"{max} 分中的 {value} 分",empty:"未评分"},number:{increase:"增加",decrease:"减少"},pagination:{label:"分页",page:"第 {page} 页",status:"第 {page} 页,共 {total} 页",previous:"上一页",next:"下一页",first:"第一页",last:"最后一页"},carousel:{label:"轮播",slide:"第 {index} 张,共 {total} 张",previous:"上一张",next:"下一张"},breadcrumb:{label:"面包屑导航",expand:"显示隐藏的层级"},combobox:{empty:"无匹配项",remove:"移除 {label}"},overlay:{label:"遮罩层"}},"zh-hant":{action:{close:"關閉",dismiss:"關閉",clear:"清除",remove:"移除"},link:{newTab:"(在新分頁中開啟)"},spoiler:{reveal:"顯示內容",hide:"隱藏",notice:"此內容可能包含劇透"},chat:{sending:"傳送中",sent:"已傳送",delivered:"已送達",read:"已讀",failed:"傳送失敗",typing:"正在輸入…"},empty:{title:"沒有內容"},table:{search:"搜尋",selectAll:"全選所有列",selectRow:"選擇此列",rowsPerPage:"每頁列數",range:"第 {start}–{end} 列,共 {total} 列",selected:"已選擇 {count} 列",empty:"沒有資料"},color:{area:"飽和度與明度",hue:"色相",alpha:"不透明度",value:"顏色值",swatches:"預設顏色",clear:"清除",empty:"選擇顏色"},rating:{label:"評分",value:"{max} 分中的 {value} 分",empty:"未評分"},number:{increase:"增加",decrease:"減少"},pagination:{label:"分頁",page:"第 {page} 頁",status:"第 {page} 頁,共 {total} 頁",previous:"上一頁",next:"下一頁",first:"第一頁",last:"最後一頁"},carousel:{label:"輪播",slide:"第 {index} 張,共 {total} 張",previous:"上一張",next:"下一張"},breadcrumb:{label:"麵包屑導覽",expand:"顯示隱藏的層級"},combobox:{empty:"沒有相符的項目",remove:"移除 {label}"},overlay:{label:"遮罩層"}},es:{action:{close:"Cerrar",dismiss:"Descartar",clear:"Borrar",remove:"Quitar"},link:{newTab:"(se abre en una pestaña nueva)"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Puede contener spoilers"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregado",read:"Leído",failed:"No enviado",typing:"Escribiendo…"},empty:{title:"No hay nada aquí"},table:{search:"Buscar",selectAll:"Seleccionar todas las filas",selectRow:"Seleccionar fila",rowsPerPage:"Filas por página",range:"{start}–{end} de {total}",selected:"{count} seleccionadas",empty:"Sin datos"},color:{area:"Saturación y brillo",hue:"Tono",alpha:"Opacidad",value:"Valor del color",swatches:"Colores predefinidos",clear:"Borrar",empty:"Elegir un color"},rating:{label:"Valoración",value:"{value} de {max}",empty:"Sin valoración"},number:{increase:"Aumentar",decrease:"Disminuir"},pagination:{label:"Paginación",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Página siguiente",first:"Primera página",last:"Última página"},carousel:{label:"Carrusel",slide:"Diapositiva {index} de {total}",previous:"Diapositiva anterior",next:"Diapositiva siguiente"},breadcrumb:{label:"Ruta de navegación",expand:"Mostrar los pasos ocultos"},combobox:{empty:"Sin coincidencias",remove:"Quitar {label}"},overlay:{label:"Superposición"}},pt:{action:{close:"Fechar",dismiss:"Dispensar",clear:"Limpar",remove:"Remover"},link:{newTab:"(abre em uma nova aba)"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Pode conter spoilers"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregue",read:"Lido",failed:"Não enviado",typing:"Digitando…"},empty:{title:"Nada por aqui"},table:{search:"Pesquisar",selectAll:"Selecionar todas as linhas",selectRow:"Selecionar linha",rowsPerPage:"Linhas por página",range:"{start}–{end} de {total}",selected:"{count} selecionadas",empty:"Sem dados"},color:{area:"Saturação e brilho",hue:"Matiz",alpha:"Opacidade",value:"Valor da cor",swatches:"Cores predefinidas",clear:"Limpar",empty:"Escolher uma cor"},rating:{label:"Avaliação",value:"{value} de {max}",empty:"Sem avaliação"},number:{increase:"Aumentar",decrease:"Diminuir"},pagination:{label:"Paginação",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Próxima página",first:"Primeira página",last:"Última página"},carousel:{label:"Carrossel",slide:"Slide {index} de {total}",previous:"Slide anterior",next:"Próximo slide"},breadcrumb:{label:"Trilha de navegação",expand:"Mostrar as etapas ocultas"},combobox:{empty:"Nenhuma correspondência",remove:"Remover {label}"},overlay:{label:"Sobreposição"}},fr:{action:{close:"Fermer",dismiss:"Ignorer",clear:"Effacer",remove:"Supprimer"},link:{newTab:"(s’ouvre dans un nouvel onglet)"},spoiler:{reveal:"Afficher",hide:"Masquer",notice:"Peut contenir des spoilers"},chat:{sending:"Envoi en cours",sent:"Envoyé",delivered:"Distribué",read:"Lu",failed:"Non envoyé",typing:"En train d’écrire…"},empty:{title:"Rien ici"},table:{search:"Rechercher",selectAll:"Sélectionner toutes les lignes",selectRow:"Sélectionner la ligne",rowsPerPage:"Lignes par page",range:"{start}–{end} sur {total}",selected:"{count} sélectionnées",empty:"Aucune donnée"},color:{area:"Saturation et luminosité",hue:"Teinte",alpha:"Opacité",value:"Valeur de la couleur",swatches:"Couleurs prédéfinies",clear:"Effacer",empty:"Choisir une couleur"},rating:{label:"Note",value:"{value} sur {max}",empty:"Aucune note"},number:{increase:"Augmenter",decrease:"Diminuer"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} sur {total}",previous:"Page précédente",next:"Page suivante",first:"Première page",last:"Dernière page"},carousel:{label:"Carrousel",slide:"Diapositive {index} sur {total}",previous:"Diapositive précédente",next:"Diapositive suivante"},breadcrumb:{label:"Fil d’Ariane",expand:"Afficher les étapes masquées"},combobox:{empty:"Aucun résultat",remove:"Supprimer {label}"},overlay:{label:"Superposition"}},de:{action:{close:"Schließen",dismiss:"Ausblenden",clear:"Löschen",remove:"Entfernen"},link:{newTab:"(wird in einem neuen Tab geöffnet)"},spoiler:{reveal:"Anzeigen",hide:"Ausblenden",notice:"Kann Spoiler enthalten"},chat:{sending:"Wird gesendet",sent:"Gesendet",delivered:"Zugestellt",read:"Gelesen",failed:"Nicht gesendet",typing:"Schreibt…"},empty:{title:"Nichts vorhanden"},table:{search:"Suchen",selectAll:"Alle Zeilen auswählen",selectRow:"Zeile auswählen",rowsPerPage:"Zeilen pro Seite",range:"{start}–{end} von {total}",selected:"{count} ausgewählt",empty:"Keine Daten"},color:{area:"Sättigung und Helligkeit",hue:"Farbton",alpha:"Deckkraft",value:"Farbwert",swatches:"Vorgegebene Farben",clear:"Löschen",empty:"Farbe auswählen"},rating:{label:"Bewertung",value:"{value} von {max}",empty:"Keine Bewertung"},number:{increase:"Erhöhen",decrease:"Verringern"},pagination:{label:"Seitennavigation",page:"Seite {page}",status:"Seite {page} von {total}",previous:"Vorherige Seite",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite"},carousel:{label:"Karussell",slide:"Folie {index} von {total}",previous:"Vorherige Folie",next:"Nächste Folie"},breadcrumb:{label:"Breadcrumb-Navigation",expand:"Ausgeblendete Schritte anzeigen"},combobox:{empty:"Keine Treffer",remove:"{label} entfernen"},overlay:{label:"Overlay"}},it:{action:{close:"Chiudi",dismiss:"Ignora",clear:"Cancella",remove:"Rimuovi"},link:{newTab:"(si apre in una nuova scheda)"},spoiler:{reveal:"Mostra",hide:"Nascondi",notice:"Può contenere spoiler"},chat:{sending:"Invio in corso",sent:"Inviato",delivered:"Consegnato",read:"Letto",failed:"Non inviato",typing:"Sta scrivendo…"},empty:{title:"Non c’è nulla"},table:{search:"Cerca",selectAll:"Seleziona tutte le righe",selectRow:"Seleziona riga",rowsPerPage:"Righe per pagina",range:"{start}–{end} di {total}",selected:"{count} selezionate",empty:"Nessun dato"},color:{area:"Saturazione e luminosità",hue:"Tonalità",alpha:"Opacità",value:"Valore del colore",swatches:"Colori predefiniti",clear:"Cancella",empty:"Scegli un colore"},rating:{label:"Valutazione",value:"{value} su {max}",empty:"Nessuna valutazione"},number:{increase:"Aumenta",decrease:"Diminuisci"},pagination:{label:"Impaginazione",page:"Pagina {page}",status:"Pagina {page} di {total}",previous:"Pagina precedente",next:"Pagina successiva",first:"Prima pagina",last:"Ultima pagina"},carousel:{label:"Carosello",slide:"Diapositiva {index} di {total}",previous:"Diapositiva precedente",next:"Diapositiva successiva"},breadcrumb:{label:"Percorso di navigazione",expand:"Mostra i passaggi nascosti"},combobox:{empty:"Nessun risultato",remove:"Rimuovi {label}"},overlay:{label:"Sovrapposizione"}},nl:{action:{close:"Sluiten",dismiss:"Negeren",clear:"Wissen",remove:"Verwijderen"},link:{newTab:"(opent in een nieuw tabblad)"},spoiler:{reveal:"Tonen",hide:"Verbergen",notice:"Kan spoilers bevatten"},chat:{sending:"Wordt verzonden",sent:"Verzonden",delivered:"Afgeleverd",read:"Gelezen",failed:"Niet verzonden",typing:"Aan het typen…"},empty:{title:"Hier is niets"},table:{search:"Zoeken",selectAll:"Alle rijen selecteren",selectRow:"Rij selecteren",rowsPerPage:"Rijen per pagina",range:"{start}–{end} van {total}",selected:"{count} geselecteerd",empty:"Geen gegevens"},color:{area:"Verzadiging en helderheid",hue:"Kleurtoon",alpha:"Dekking",value:"Kleurwaarde",swatches:"Vooraf ingestelde kleuren",clear:"Wissen",empty:"Kies een kleur"},rating:{label:"Beoordeling",value:"{value} van {max}",empty:"Geen beoordeling"},number:{increase:"Verhogen",decrease:"Verlagen"},pagination:{label:"Paginering",page:"Pagina {page}",status:"Pagina {page} van {total}",previous:"Vorige pagina",next:"Volgende pagina",first:"Eerste pagina",last:"Laatste pagina"},carousel:{label:"Carrousel",slide:"Dia {index} van {total}",previous:"Vorige dia",next:"Volgende dia"},breadcrumb:{label:"Kruimelpad",expand:"Verborgen stappen tonen"},combobox:{empty:"Geen resultaten",remove:"{label} verwijderen"},overlay:{label:"Overlay"}},pl:{action:{close:"Zamknij",dismiss:"Odrzuć",clear:"Wyczyść",remove:"Usuń"},link:{newTab:"(otwiera się w nowej karcie)"},spoiler:{reveal:"Pokaż",hide:"Ukryj",notice:"Może zawierać spoilery"},chat:{sending:"Wysyłanie",sent:"Wysłano",delivered:"Dostarczono",read:"Przeczytano",failed:"Nie wysłano",typing:"Pisze…"},empty:{title:"Nic tu nie ma"},table:{search:"Szukaj",selectAll:"Zaznacz wszystkie wiersze",selectRow:"Zaznacz wiersz",rowsPerPage:"Wierszy na stronę",range:"{start}–{end} z {total}",selected:"Zaznaczono: {count}",empty:"Brak danych"},color:{area:"Nasycenie i jasność",hue:"Barwa",alpha:"Krycie",value:"Wartość koloru",swatches:"Kolory predefiniowane",clear:"Wyczyść",empty:"Wybierz kolor"},rating:{label:"Ocena",value:"{value} z {max}",empty:"Brak oceny"},number:{increase:"Zwiększ",decrease:"Zmniejsz"},pagination:{label:"Paginacja",page:"Strona {page}",status:"Strona {page} z {total}",previous:"Poprzednia strona",next:"Następna strona",first:"Pierwsza strona",last:"Ostatnia strona"},carousel:{label:"Karuzela",slide:"Slajd {index} z {total}",previous:"Poprzedni slajd",next:"Następny slajd"},breadcrumb:{label:"Ścieżka nawigacji",expand:"Pokaż ukryte kroki"},combobox:{empty:"Brak wyników",remove:"Usuń {label}"},overlay:{label:"Nakładka"}},ru:{action:{close:"Закрыть",dismiss:"Скрыть",clear:"Очистить",remove:"Удалить"},link:{newTab:"(откроется в новой вкладке)"},spoiler:{reveal:"Показать",hide:"Скрыть",notice:"Может содержать спойлеры"},chat:{sending:"Отправляется",sent:"Отправлено",delivered:"Доставлено",read:"Прочитано",failed:"Не отправлено",typing:"Печатает…"},empty:{title:"Здесь пусто"},table:{search:"Поиск",selectAll:"Выбрать все строки",selectRow:"Выбрать строку",rowsPerPage:"Строк на странице",range:"{start}–{end} из {total}",selected:"Выбрано: {count}",empty:"Нет данных"},color:{area:"Насыщенность и яркость",hue:"Оттенок",alpha:"Непрозрачность",value:"Значение цвета",swatches:"Готовые цвета",clear:"Очистить",empty:"Выберите цвет"},rating:{label:"Оценка",value:"{value} из {max}",empty:"Без оценки"},number:{increase:"Увеличить",decrease:"Уменьшить"},pagination:{label:"Постраничная навигация",page:"Страница {page}",status:"Страница {page} из {total}",previous:"Предыдущая страница",next:"Следующая страница",first:"Первая страница",last:"Последняя страница"},carousel:{label:"Карусель",slide:"Слайд {index} из {total}",previous:"Предыдущий слайд",next:"Следующий слайд"},breadcrumb:{label:"Навигационная цепочка",expand:"Показать скрытые шаги"},combobox:{empty:"Совпадений нет",remove:"Удалить {label}"},overlay:{label:"Наложение"}},tr:{action:{close:"Kapat",dismiss:"Yoksay",clear:"Temizle",remove:"Kaldır"},link:{newTab:"(yeni sekmede açılır)"},spoiler:{reveal:"Göster",hide:"Gizle",notice:"Spoiler içerebilir"},chat:{sending:"Gönderiliyor",sent:"Gönderildi",delivered:"İletildi",read:"Okundu",failed:"Gönderilemedi",typing:"Yazıyor…"},empty:{title:"Burada bir şey yok"},table:{search:"Ara",selectAll:"Tüm satırları seç",selectRow:"Satırı seç",rowsPerPage:"Sayfa başına satır",range:"{total} kayıttan {start}–{end}",selected:"{count} seçildi",empty:"Veri yok"},color:{area:"Doygunluk ve parlaklık",hue:"Renk tonu",alpha:"Opaklık",value:"Renk değeri",swatches:"Hazır renkler",clear:"Temizle",empty:"Bir renk seçin"},rating:{label:"Değerlendirme",value:"{max} üzerinden {value}",empty:"Değerlendirilmedi"},number:{increase:"Artır",decrease:"Azalt"},pagination:{label:"Sayfalama",page:"{page}. sayfa",status:"{total} sayfadan {page}. sayfa",previous:"Önceki sayfa",next:"Sonraki sayfa",first:"İlk sayfa",last:"Son sayfa"},carousel:{label:"Karusel",slide:"{total} slayttan {index}. slayt",previous:"Önceki slayt",next:"Sonraki slayt"},breadcrumb:{label:"Gezinti yolu",expand:"Gizli adımları göster"},combobox:{empty:"Eşleşme yok",remove:"{label} kaldır"},overlay:{label:"Kaplama"}},ar:{action:{close:"إغلاق",dismiss:"تجاهل",clear:"مسح",remove:"إزالة"},link:{newTab:"(يفتح في علامة تبويب جديدة)"},spoiler:{reveal:"إظهار",hide:"إخفاء",notice:"قد يحتوي على حرق للأحداث"},chat:{sending:"جارٍ الإرسال",sent:"تم الإرسال",delivered:"تم التسليم",read:"تمت القراءة",failed:"لم يتم الإرسال",typing:"يكتب الآن…"},empty:{title:"لا يوجد شيء هنا"},table:{search:"بحث",selectAll:"تحديد كل الصفوف",selectRow:"تحديد الصف",rowsPerPage:"صفوف لكل صفحة",range:"{start}–{end} من {total}",selected:"تم تحديد {count}",empty:"لا توجد بيانات"},color:{area:"التشبع والسطوع",hue:"درجة اللون",alpha:"العتامة",value:"قيمة اللون",swatches:"ألوان جاهزة",clear:"مسح",empty:"اختر لونًا"},rating:{label:"التقييم",value:"{value} من {max}",empty:"بدون تقييم"},number:{increase:"زيادة",decrease:"إنقاص"},pagination:{label:"ترقيم الصفحات",page:"الصفحة {page}",status:"الصفحة {page} من {total}",previous:"الصفحة السابقة",next:"الصفحة التالية",first:"الصفحة الأولى",last:"الصفحة الأخيرة"},carousel:{label:"شريط عرض",slide:"الشريحة {index} من {total}",previous:"الشريحة السابقة",next:"الشريحة التالية"},breadcrumb:{label:"مسار التنقل",expand:"إظهار الخطوات المخفية"},combobox:{empty:"لا توجد نتائج مطابقة",remove:"إزالة {label}"},overlay:{label:"تراكب"}},hi:{action:{close:"बंद करें",dismiss:"खारिज करें",clear:"साफ़ करें",remove:"हटाएँ"},link:{newTab:"(नए टैब में खुलता है)"},spoiler:{reveal:"दिखाएँ",hide:"छिपाएँ",notice:"इसमें स्पॉइलर हो सकते हैं"},chat:{sending:"भेजा जा रहा है",sent:"भेजा गया",delivered:"डिलीवर हुआ",read:"पढ़ा गया",failed:"नहीं भेजा गया",typing:"टाइप कर रहे हैं…"},empty:{title:"यहाँ कुछ नहीं है"},table:{search:"खोजें",selectAll:"सभी पंक्तियाँ चुनें",selectRow:"पंक्ति चुनें",rowsPerPage:"प्रति पृष्ठ पंक्तियाँ",range:"{total} में से {start}–{end}",selected:"{count} चुनी गईं",empty:"कोई डेटा नहीं"},color:{area:"संतृप्ति और चमक",hue:"रंग",alpha:"अपारदर्शिता",value:"रंग मान",swatches:"पूर्व निर्धारित रंग",clear:"साफ़ करें",empty:"एक रंग चुनें"},rating:{label:"रेटिंग",value:"{max} में से {value}",empty:"कोई रेटिंग नहीं"},number:{increase:"बढ़ाएँ",decrease:"घटाएँ"},pagination:{label:"पृष्ठ क्रमांकन",page:"पृष्ठ {page}",status:"{total} में से पृष्ठ {page}",previous:"पिछला पृष्ठ",next:"अगला पृष्ठ",first:"पहला पृष्ठ",last:"अंतिम पृष्ठ"},carousel:{label:"कैरोसेल",slide:"{total} में से स्लाइड {index}",previous:"पिछली स्लाइड",next:"अगली स्लाइड"},breadcrumb:{label:"ब्रेडक्रंब",expand:"छिपे हुए चरण दिखाएँ"},combobox:{empty:"कोई मिलान नहीं",remove:"{label} हटाएँ"},overlay:{label:"ओवरले"}},id:{action:{close:"Tutup",dismiss:"Abaikan",clear:"Bersihkan",remove:"Hapus"},link:{newTab:"(terbuka di tab baru)"},spoiler:{reveal:"Tampilkan",hide:"Sembunyikan",notice:"Mungkin mengandung spoiler"},chat:{sending:"Mengirim",sent:"Terkirim",delivered:"Diterima",read:"Dibaca",failed:"Gagal terkirim",typing:"Sedang mengetik…"},empty:{title:"Tidak ada apa-apa di sini"},table:{search:"Cari",selectAll:"Pilih semua baris",selectRow:"Pilih baris",rowsPerPage:"Baris per halaman",range:"{start}–{end} dari {total}",selected:"{count} dipilih",empty:"Tidak ada data"},color:{area:"Saturasi dan kecerahan",hue:"Rona",alpha:"Opasitas",value:"Nilai warna",swatches:"Warna preset",clear:"Hapus",empty:"Pilih warna"},rating:{label:"Peringkat",value:"{value} dari {max}",empty:"Belum ada peringkat"},number:{increase:"Tambah",decrease:"Kurangi"},pagination:{label:"Penomoran halaman",page:"Halaman {page}",status:"Halaman {page} dari {total}",previous:"Halaman sebelumnya",next:"Halaman berikutnya",first:"Halaman pertama",last:"Halaman terakhir"},carousel:{label:"Korsel",slide:"Slide {index} dari {total}",previous:"Slide sebelumnya",next:"Slide berikutnya"},breadcrumb:{label:"Remah roti",expand:"Tampilkan langkah tersembunyi"},combobox:{empty:"Tidak ada yang cocok",remove:"Hapus {label}"},overlay:{label:"Hamparan"}},vi:{action:{close:"Đóng",dismiss:"Bỏ qua",clear:"Xóa",remove:"Gỡ bỏ"},link:{newTab:"(mở trong tab mới)"},spoiler:{reveal:"Hiện nội dung",hide:"Ẩn",notice:"Có thể chứa nội dung tiết lộ"},chat:{sending:"Đang gửi",sent:"Đã gửi",delivered:"Đã nhận",read:"Đã xem",failed:"Chưa gửi được",typing:"Đang nhập…"},empty:{title:"Không có gì ở đây"},table:{search:"Tìm kiếm",selectAll:"Chọn tất cả các hàng",selectRow:"Chọn hàng",rowsPerPage:"Số hàng mỗi trang",range:"{start}–{end} trên {total}",selected:"Đã chọn {count}",empty:"Không có dữ liệu"},color:{area:"Độ bão hòa và độ sáng",hue:"Sắc độ",alpha:"Độ mờ đục",value:"Giá trị màu",swatches:"Màu dựng sẵn",clear:"Xóa",empty:"Chọn màu"},rating:{label:"Đánh giá",value:"{value} trên {max}",empty:"Chưa đánh giá"},number:{increase:"Tăng",decrease:"Giảm"},pagination:{label:"Phân trang",page:"Trang {page}",status:"Trang {page} trên {total}",previous:"Trang trước",next:"Trang sau",first:"Trang đầu",last:"Trang cuối"},carousel:{label:"Băng chuyền",slide:"Trang chiếu {index} trên {total}",previous:"Trang chiếu trước",next:"Trang chiếu sau"},breadcrumb:{label:"Đường dẫn",expand:"Hiện các bước đã ẩn"},combobox:{empty:"Không có kết quả",remove:"Gỡ bỏ {label}"},overlay:{label:"Lớp phủ"}},th:{action:{close:"ปิด",dismiss:"ปิดการแจ้งเตือน",clear:"ล้าง",remove:"นำออก"},link:{newTab:"(เปิดในแท็บใหม่)"},spoiler:{reveal:"แสดงเนื้อหา",hide:"ซ่อน",notice:"อาจมีการเปิดเผยเนื้อหา"},chat:{sending:"กำลังส่ง",sent:"ส่งแล้ว",delivered:"ส่งถึงแล้ว",read:"อ่านแล้ว",failed:"ส่งไม่สำเร็จ",typing:"กำลังพิมพ์…"},empty:{title:"ไม่มีอะไรที่นี่"},table:{search:"ค้นหา",selectAll:"เลือกทุกแถว",selectRow:"เลือกแถวนี้",rowsPerPage:"จำนวนแถวต่อหน้า",range:"{start}–{end} จาก {total}",selected:"เลือกแล้ว {count} รายการ",empty:"ไม่มีข้อมูล"},color:{area:"ความอิ่มตัวและความสว่าง",hue:"เฉดสี",alpha:"ความทึบ",value:"ค่าสี",swatches:"สีที่กำหนดไว้",clear:"ล้าง",empty:"เลือกสี"},rating:{label:"คะแนน",value:"{value} จาก {max}",empty:"ยังไม่มีคะแนน"},number:{increase:"เพิ่ม",decrease:"ลด"},pagination:{label:"การแบ่งหน้า",page:"หน้า {page}",status:"หน้า {page} จาก {total}",previous:"หน้าก่อนหน้า",next:"หน้าถัดไป",first:"หน้าแรก",last:"หน้าสุดท้าย"},carousel:{label:"ภาพเลื่อน",slide:"สไลด์ {index} จาก {total}",previous:"สไลด์ก่อนหน้า",next:"สไลด์ถัดไป"},breadcrumb:{label:"เส้นทางนำทาง",expand:"แสดงขั้นตอนที่ซ่อนอยู่"},combobox:{empty:"ไม่พบรายการที่ตรงกัน",remove:"นำ {label} ออก"},overlay:{label:"เลเยอร์ซ้อน"}}},t={zh:"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hk":"zh-hant","zh-mo":"zh-hant","zh-tw":"zh-hant"};const r=new Map([["",a]]);export function resolveMessages(e){const i=e?.trim()??"",n=r.get(i);if(n)return n;const s=function(e){const a=e.toLowerCase().split(/[-_]/).filter(Boolean),l=a[0];if(!l)return[];const t=a.slice(1),r=t.find(e=>/^[a-z]{4}$/.test(e)),i=t.find(e=>/^([a-z]{2}|\d{3})$/.test(e));return[r?`${l}-${r}`:"",i?`${l}-${i}`:"",l].filter(Boolean)}(i).map(e=>l[e]??l[t[e]??""]).find(Boolean),o=s?{action:{...a.action,...s.action},link:{...a.link,...s.link},spoiler:{...a.spoiler,...s.spoiler},chat:{...a.chat,...s.chat},empty:{...a.empty,...s.empty},table:{...a.table,...s.table},color:{...a.color,...s.color},rating:{...a.rating,...s.rating},number:{...a.number,...s.number},pagination:{...a.pagination,...s.pagination},carousel:{...a.carousel,...s.carousel},breadcrumb:{...a.breadcrumb,...s.breadcrumb},combobox:{...a.combobox,...s.combobox},overlay:{...a.overlay,...s.overlay}}:a;return r.set(i,o),o}export function useMessages(a){return e.useMemo(()=>resolveMessages(a),[a])}export function fillMessage(e,a){return e.replace(/\{(\w+)\}/g,(e,l)=>a[l]??e)}
|
|
1
|
+
import*as e from"react";const a={action:{close:"Close",dismiss:"Dismiss",clear:"Clear",remove:"Remove"},link:{newTab:"(opens in a new tab)"},spoiler:{reveal:"Reveal",hide:"Hide",notice:"This may contain spoilers"},chat:{sending:"Sending",sent:"Sent",delivered:"Delivered",read:"Read",failed:"Not sent",typing:"Typing…"},empty:{title:"Nothing here"},table:{search:"Search",selectAll:"Select all rows",selectRow:"Select row",rowsPerPage:"Rows per page",range:"{start}–{end} of {total}",selected:"{count} selected",empty:"No data"},color:{area:"Saturation and brightness",hue:"Hue",alpha:"Opacity",value:"Colour value",swatches:"Preset colours",clear:"Clear",empty:"Choose a colour"},rating:{label:"Rating",value:"{value} out of {max}",empty:"No rating"},number:{increase:"Increase",decrease:"Decrease"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} of {total}",previous:"Previous page",next:"Next page",first:"First page",last:"Last page"},carousel:{label:"Carousel",slide:"Slide {index} of {total}",previous:"Previous slide",next:"Next slide"},scroll:{previous:"Scroll back",next:"Scroll forward"},breadcrumb:{label:"Breadcrumb",expand:"Show hidden steps"},combobox:{empty:"No matches",remove:"Remove {label}"},overlay:{label:"Overlay"},window:{minimize:"Minimize",maximize:"Maximize",restore:"Restore",resize:"Resize window"}},i={ko:{action:{close:"닫기",dismiss:"알림 닫기",clear:"지우기",remove:"삭제"},link:{newTab:"(새 창에서 열림)"},spoiler:{reveal:"내용 보기",hide:"숨기기",notice:"스포일러가 포함되어 있을 수 있습니다"},chat:{sending:"보내는 중",sent:"보냄",delivered:"전달됨",read:"읽음",failed:"전송 실패",typing:"입력 중…"},empty:{title:"내용이 없습니다"},table:{search:"검색",selectAll:"모든 행 선택",selectRow:"행 선택",rowsPerPage:"페이지당 행 수",range:"전체 {total}개 중 {start}–{end}",selected:"{count}개 선택됨",empty:"데이터 없음"},color:{area:"채도와 명도",hue:"색상",alpha:"불투명도",value:"색상 값",swatches:"기본 색상",clear:"지우기",empty:"색상 선택"},rating:{label:"별점",value:"{max}점 만점에 {value}점",empty:"별점 없음"},number:{increase:"값 늘리기",decrease:"값 줄이기"},pagination:{label:"페이지 매기기",page:"{page}페이지",status:"전체 {total}페이지 중 {page}페이지",previous:"이전 페이지",next:"다음 페이지",first:"첫 페이지",last:"마지막 페이지"},carousel:{label:"캐러셀",slide:"전체 {total}장 중 {index}장",previous:"이전 슬라이드",next:"다음 슬라이드"},scroll:{previous:"뒤로 스크롤",next:"앞으로 스크롤"},breadcrumb:{label:"탐색 경로",expand:"숨겨진 단계 보기"},combobox:{empty:"일치하는 항목 없음",remove:"{label} 삭제"},overlay:{label:"오버레이"},window:{minimize:"최소화",maximize:"최대화",restore:"이전 크기로 복원",resize:"창 크기 조절"}},ja:{action:{close:"閉じる",dismiss:"閉じる",clear:"クリア",remove:"削除"},link:{newTab:"(新しいタブで開きます)"},spoiler:{reveal:"表示する",hide:"隠す",notice:"ネタバレを含む可能性があります"},chat:{sending:"送信中",sent:"送信済み",delivered:"配信済み",read:"既読",failed:"送信できませんでした",typing:"入力中…"},empty:{title:"表示するものがありません"},table:{search:"検索",selectAll:"すべての行を選択",selectRow:"行を選択",rowsPerPage:"1 ページの行数",range:"{total} 件中 {start}–{end} 件",selected:"{count} 件を選択中",empty:"データがありません"},color:{area:"彩度と明度",hue:"色相",alpha:"不透明度",value:"カラー値",swatches:"プリセットの色",clear:"クリア",empty:"色を選択"},rating:{label:"評価",value:"{max} 段階中 {value}",empty:"評価なし"},number:{increase:"増やす",decrease:"減らす"},pagination:{label:"ページ送り",page:"{page} ページ",status:"{total} ページ中 {page} ページ",previous:"前のページ",next:"次のページ",first:"最初のページ",last:"最後のページ"},carousel:{label:"カルーセル",slide:"{total} 枚中 {index} 枚目",previous:"前のスライド",next:"次のスライド"},scroll:{previous:"前へスクロール",next:"次へスクロール"},breadcrumb:{label:"パンくずリスト",expand:"省略された階層を表示"},combobox:{empty:"一致する項目がありません",remove:"{label} を削除"},overlay:{label:"オーバーレイ"},window:{minimize:"最小化",maximize:"最大化",restore:"元のサイズに戻す",resize:"ウィンドウのサイズを変更"}},"zh-hans":{action:{close:"关闭",dismiss:"关闭",clear:"清除",remove:"移除"},link:{newTab:"(在新标签页中打开)"},spoiler:{reveal:"显示内容",hide:"隐藏",notice:"此内容可能包含剧透"},chat:{sending:"发送中",sent:"已发送",delivered:"已送达",read:"已读",failed:"发送失败",typing:"正在输入…"},empty:{title:"暂无内容"},table:{search:"搜索",selectAll:"全选所有行",selectRow:"选择此行",rowsPerPage:"每页行数",range:"第 {start}–{end} 行,共 {total} 行",selected:"已选择 {count} 行",empty:"暂无数据"},color:{area:"饱和度和明度",hue:"色相",alpha:"不透明度",value:"颜色值",swatches:"预设颜色",clear:"清除",empty:"选择颜色"},rating:{label:"评分",value:"{max} 分中的 {value} 分",empty:"未评分"},number:{increase:"增加",decrease:"减少"},pagination:{label:"分页",page:"第 {page} 页",status:"第 {page} 页,共 {total} 页",previous:"上一页",next:"下一页",first:"第一页",last:"最后一页"},carousel:{label:"轮播",slide:"第 {index} 张,共 {total} 张",previous:"上一张",next:"下一张"},scroll:{previous:"向前滚动",next:"向后滚动"},breadcrumb:{label:"面包屑导航",expand:"显示隐藏的层级"},combobox:{empty:"无匹配项",remove:"移除 {label}"},overlay:{label:"遮罩层"},window:{minimize:"最小化",maximize:"最大化",restore:"向下还原",resize:"调整窗口大小"}},"zh-hant":{action:{close:"關閉",dismiss:"關閉",clear:"清除",remove:"移除"},link:{newTab:"(在新分頁中開啟)"},spoiler:{reveal:"顯示內容",hide:"隱藏",notice:"此內容可能包含劇透"},chat:{sending:"傳送中",sent:"已傳送",delivered:"已送達",read:"已讀",failed:"傳送失敗",typing:"正在輸入…"},empty:{title:"沒有內容"},table:{search:"搜尋",selectAll:"全選所有列",selectRow:"選擇此列",rowsPerPage:"每頁列數",range:"第 {start}–{end} 列,共 {total} 列",selected:"已選擇 {count} 列",empty:"沒有資料"},color:{area:"飽和度與明度",hue:"色相",alpha:"不透明度",value:"顏色值",swatches:"預設顏色",clear:"清除",empty:"選擇顏色"},rating:{label:"評分",value:"{max} 分中的 {value} 分",empty:"未評分"},number:{increase:"增加",decrease:"減少"},pagination:{label:"分頁",page:"第 {page} 頁",status:"第 {page} 頁,共 {total} 頁",previous:"上一頁",next:"下一頁",first:"第一頁",last:"最後一頁"},carousel:{label:"輪播",slide:"第 {index} 張,共 {total} 張",previous:"上一張",next:"下一張"},scroll:{previous:"向前捲動",next:"向後捲動"},breadcrumb:{label:"麵包屑導覽",expand:"顯示隱藏的層級"},combobox:{empty:"沒有相符的項目",remove:"移除 {label}"},overlay:{label:"遮罩層"},window:{minimize:"最小化",maximize:"最大化",restore:"還原",resize:"調整視窗大小"}},es:{action:{close:"Cerrar",dismiss:"Descartar",clear:"Borrar",remove:"Quitar"},link:{newTab:"(se abre en una pestaña nueva)"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Puede contener spoilers"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregado",read:"Leído",failed:"No enviado",typing:"Escribiendo…"},empty:{title:"No hay nada aquí"},table:{search:"Buscar",selectAll:"Seleccionar todas las filas",selectRow:"Seleccionar fila",rowsPerPage:"Filas por página",range:"{start}–{end} de {total}",selected:"{count} seleccionadas",empty:"Sin datos"},color:{area:"Saturación y brillo",hue:"Tono",alpha:"Opacidad",value:"Valor del color",swatches:"Colores predefinidos",clear:"Borrar",empty:"Elegir un color"},rating:{label:"Valoración",value:"{value} de {max}",empty:"Sin valoración"},number:{increase:"Aumentar",decrease:"Disminuir"},pagination:{label:"Paginación",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Página siguiente",first:"Primera página",last:"Última página"},carousel:{label:"Carrusel",slide:"Diapositiva {index} de {total}",previous:"Diapositiva anterior",next:"Diapositiva siguiente"},scroll:{previous:"Desplazar hacia atrás",next:"Desplazar hacia adelante"},breadcrumb:{label:"Ruta de navegación",expand:"Mostrar los pasos ocultos"},combobox:{empty:"Sin coincidencias",remove:"Quitar {label}"},overlay:{label:"Superposición"},window:{minimize:"Minimizar",maximize:"Maximizar",restore:"Restaurar",resize:"Cambiar el tamaño de la ventana"}},pt:{action:{close:"Fechar",dismiss:"Dispensar",clear:"Limpar",remove:"Remover"},link:{newTab:"(abre em uma nova aba)"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Pode conter spoilers"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregue",read:"Lido",failed:"Não enviado",typing:"Digitando…"},empty:{title:"Nada por aqui"},table:{search:"Pesquisar",selectAll:"Selecionar todas as linhas",selectRow:"Selecionar linha",rowsPerPage:"Linhas por página",range:"{start}–{end} de {total}",selected:"{count} selecionadas",empty:"Sem dados"},color:{area:"Saturação e brilho",hue:"Matiz",alpha:"Opacidade",value:"Valor da cor",swatches:"Cores predefinidas",clear:"Limpar",empty:"Escolher uma cor"},rating:{label:"Avaliação",value:"{value} de {max}",empty:"Sem avaliação"},number:{increase:"Aumentar",decrease:"Diminuir"},pagination:{label:"Paginação",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Próxima página",first:"Primeira página",last:"Última página"},carousel:{label:"Carrossel",slide:"Slide {index} de {total}",previous:"Slide anterior",next:"Próximo slide"},scroll:{previous:"Rolar para trás",next:"Rolar para a frente"},breadcrumb:{label:"Trilha de navegação",expand:"Mostrar as etapas ocultas"},combobox:{empty:"Nenhuma correspondência",remove:"Remover {label}"},overlay:{label:"Sobreposição"},window:{minimize:"Minimizar",maximize:"Maximizar",restore:"Restaurar",resize:"Redimensionar a janela"}},fr:{action:{close:"Fermer",dismiss:"Ignorer",clear:"Effacer",remove:"Supprimer"},link:{newTab:"(s’ouvre dans un nouvel onglet)"},spoiler:{reveal:"Afficher",hide:"Masquer",notice:"Peut contenir des spoilers"},chat:{sending:"Envoi en cours",sent:"Envoyé",delivered:"Distribué",read:"Lu",failed:"Non envoyé",typing:"En train d’écrire…"},empty:{title:"Rien ici"},table:{search:"Rechercher",selectAll:"Sélectionner toutes les lignes",selectRow:"Sélectionner la ligne",rowsPerPage:"Lignes par page",range:"{start}–{end} sur {total}",selected:"{count} sélectionnées",empty:"Aucune donnée"},color:{area:"Saturation et luminosité",hue:"Teinte",alpha:"Opacité",value:"Valeur de la couleur",swatches:"Couleurs prédéfinies",clear:"Effacer",empty:"Choisir une couleur"},rating:{label:"Note",value:"{value} sur {max}",empty:"Aucune note"},number:{increase:"Augmenter",decrease:"Diminuer"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} sur {total}",previous:"Page précédente",next:"Page suivante",first:"Première page",last:"Dernière page"},carousel:{label:"Carrousel",slide:"Diapositive {index} sur {total}",previous:"Diapositive précédente",next:"Diapositive suivante"},scroll:{previous:"Faire défiler vers l’arrière",next:"Faire défiler vers l’avant"},breadcrumb:{label:"Fil d’Ariane",expand:"Afficher les étapes masquées"},combobox:{empty:"Aucun résultat",remove:"Supprimer {label}"},overlay:{label:"Superposition"},window:{minimize:"Réduire",maximize:"Agrandir",restore:"Restaurer",resize:"Redimensionner la fenêtre"}},de:{action:{close:"Schließen",dismiss:"Ausblenden",clear:"Löschen",remove:"Entfernen"},link:{newTab:"(wird in einem neuen Tab geöffnet)"},spoiler:{reveal:"Anzeigen",hide:"Ausblenden",notice:"Kann Spoiler enthalten"},chat:{sending:"Wird gesendet",sent:"Gesendet",delivered:"Zugestellt",read:"Gelesen",failed:"Nicht gesendet",typing:"Schreibt…"},empty:{title:"Nichts vorhanden"},table:{search:"Suchen",selectAll:"Alle Zeilen auswählen",selectRow:"Zeile auswählen",rowsPerPage:"Zeilen pro Seite",range:"{start}–{end} von {total}",selected:"{count} ausgewählt",empty:"Keine Daten"},color:{area:"Sättigung und Helligkeit",hue:"Farbton",alpha:"Deckkraft",value:"Farbwert",swatches:"Vorgegebene Farben",clear:"Löschen",empty:"Farbe auswählen"},rating:{label:"Bewertung",value:"{value} von {max}",empty:"Keine Bewertung"},number:{increase:"Erhöhen",decrease:"Verringern"},pagination:{label:"Seitennavigation",page:"Seite {page}",status:"Seite {page} von {total}",previous:"Vorherige Seite",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite"},carousel:{label:"Karussell",slide:"Folie {index} von {total}",previous:"Vorherige Folie",next:"Nächste Folie"},scroll:{previous:"Zurückscrollen",next:"Weiterscrollen"},breadcrumb:{label:"Breadcrumb-Navigation",expand:"Ausgeblendete Schritte anzeigen"},combobox:{empty:"Keine Treffer",remove:"{label} entfernen"},overlay:{label:"Overlay"},window:{minimize:"Minimieren",maximize:"Maximieren",restore:"Wiederherstellen",resize:"Fenstergröße ändern"}},it:{action:{close:"Chiudi",dismiss:"Ignora",clear:"Cancella",remove:"Rimuovi"},link:{newTab:"(si apre in una nuova scheda)"},spoiler:{reveal:"Mostra",hide:"Nascondi",notice:"Può contenere spoiler"},chat:{sending:"Invio in corso",sent:"Inviato",delivered:"Consegnato",read:"Letto",failed:"Non inviato",typing:"Sta scrivendo…"},empty:{title:"Non c’è nulla"},table:{search:"Cerca",selectAll:"Seleziona tutte le righe",selectRow:"Seleziona riga",rowsPerPage:"Righe per pagina",range:"{start}–{end} di {total}",selected:"{count} selezionate",empty:"Nessun dato"},color:{area:"Saturazione e luminosità",hue:"Tonalità",alpha:"Opacità",value:"Valore del colore",swatches:"Colori predefiniti",clear:"Cancella",empty:"Scegli un colore"},rating:{label:"Valutazione",value:"{value} su {max}",empty:"Nessuna valutazione"},number:{increase:"Aumenta",decrease:"Diminuisci"},pagination:{label:"Impaginazione",page:"Pagina {page}",status:"Pagina {page} di {total}",previous:"Pagina precedente",next:"Pagina successiva",first:"Prima pagina",last:"Ultima pagina"},carousel:{label:"Carosello",slide:"Diapositiva {index} di {total}",previous:"Diapositiva precedente",next:"Diapositiva successiva"},scroll:{previous:"Scorri indietro",next:"Scorri avanti"},breadcrumb:{label:"Percorso di navigazione",expand:"Mostra i passaggi nascosti"},combobox:{empty:"Nessun risultato",remove:"Rimuovi {label}"},overlay:{label:"Sovrapposizione"},window:{minimize:"Riduci a icona",maximize:"Ingrandisci",restore:"Ripristina",resize:"Ridimensiona la finestra"}},nl:{action:{close:"Sluiten",dismiss:"Negeren",clear:"Wissen",remove:"Verwijderen"},link:{newTab:"(opent in een nieuw tabblad)"},spoiler:{reveal:"Tonen",hide:"Verbergen",notice:"Kan spoilers bevatten"},chat:{sending:"Wordt verzonden",sent:"Verzonden",delivered:"Afgeleverd",read:"Gelezen",failed:"Niet verzonden",typing:"Aan het typen…"},empty:{title:"Hier is niets"},table:{search:"Zoeken",selectAll:"Alle rijen selecteren",selectRow:"Rij selecteren",rowsPerPage:"Rijen per pagina",range:"{start}–{end} van {total}",selected:"{count} geselecteerd",empty:"Geen gegevens"},color:{area:"Verzadiging en helderheid",hue:"Kleurtoon",alpha:"Dekking",value:"Kleurwaarde",swatches:"Vooraf ingestelde kleuren",clear:"Wissen",empty:"Kies een kleur"},rating:{label:"Beoordeling",value:"{value} van {max}",empty:"Geen beoordeling"},number:{increase:"Verhogen",decrease:"Verlagen"},pagination:{label:"Paginering",page:"Pagina {page}",status:"Pagina {page} van {total}",previous:"Vorige pagina",next:"Volgende pagina",first:"Eerste pagina",last:"Laatste pagina"},carousel:{label:"Carrousel",slide:"Dia {index} van {total}",previous:"Vorige dia",next:"Volgende dia"},scroll:{previous:"Terugscrollen",next:"Vooruitscrollen"},breadcrumb:{label:"Kruimelpad",expand:"Verborgen stappen tonen"},combobox:{empty:"Geen resultaten",remove:"{label} verwijderen"},overlay:{label:"Overlay"},window:{minimize:"Minimaliseren",maximize:"Maximaliseren",restore:"Vorig formaat",resize:"Venstergrootte wijzigen"}},pl:{action:{close:"Zamknij",dismiss:"Odrzuć",clear:"Wyczyść",remove:"Usuń"},link:{newTab:"(otwiera się w nowej karcie)"},spoiler:{reveal:"Pokaż",hide:"Ukryj",notice:"Może zawierać spoilery"},chat:{sending:"Wysyłanie",sent:"Wysłano",delivered:"Dostarczono",read:"Przeczytano",failed:"Nie wysłano",typing:"Pisze…"},empty:{title:"Nic tu nie ma"},table:{search:"Szukaj",selectAll:"Zaznacz wszystkie wiersze",selectRow:"Zaznacz wiersz",rowsPerPage:"Wierszy na stronę",range:"{start}–{end} z {total}",selected:"Zaznaczono: {count}",empty:"Brak danych"},color:{area:"Nasycenie i jasność",hue:"Barwa",alpha:"Krycie",value:"Wartość koloru",swatches:"Kolory predefiniowane",clear:"Wyczyść",empty:"Wybierz kolor"},rating:{label:"Ocena",value:"{value} z {max}",empty:"Brak oceny"},number:{increase:"Zwiększ",decrease:"Zmniejsz"},pagination:{label:"Paginacja",page:"Strona {page}",status:"Strona {page} z {total}",previous:"Poprzednia strona",next:"Następna strona",first:"Pierwsza strona",last:"Ostatnia strona"},carousel:{label:"Karuzela",slide:"Slajd {index} z {total}",previous:"Poprzedni slajd",next:"Następny slajd"},scroll:{previous:"Przewiń wstecz",next:"Przewiń dalej"},breadcrumb:{label:"Ścieżka nawigacji",expand:"Pokaż ukryte kroki"},combobox:{empty:"Brak wyników",remove:"Usuń {label}"},overlay:{label:"Nakładka"},window:{minimize:"Minimalizuj",maximize:"Maksymalizuj",restore:"Przywróć",resize:"Zmień rozmiar okna"}},ru:{action:{close:"Закрыть",dismiss:"Скрыть",clear:"Очистить",remove:"Удалить"},link:{newTab:"(откроется в новой вкладке)"},spoiler:{reveal:"Показать",hide:"Скрыть",notice:"Может содержать спойлеры"},chat:{sending:"Отправляется",sent:"Отправлено",delivered:"Доставлено",read:"Прочитано",failed:"Не отправлено",typing:"Печатает…"},empty:{title:"Здесь пусто"},table:{search:"Поиск",selectAll:"Выбрать все строки",selectRow:"Выбрать строку",rowsPerPage:"Строк на странице",range:"{start}–{end} из {total}",selected:"Выбрано: {count}",empty:"Нет данных"},color:{area:"Насыщенность и яркость",hue:"Оттенок",alpha:"Непрозрачность",value:"Значение цвета",swatches:"Готовые цвета",clear:"Очистить",empty:"Выберите цвет"},rating:{label:"Оценка",value:"{value} из {max}",empty:"Без оценки"},number:{increase:"Увеличить",decrease:"Уменьшить"},pagination:{label:"Постраничная навигация",page:"Страница {page}",status:"Страница {page} из {total}",previous:"Предыдущая страница",next:"Следующая страница",first:"Первая страница",last:"Последняя страница"},carousel:{label:"Карусель",slide:"Слайд {index} из {total}",previous:"Предыдущий слайд",next:"Следующий слайд"},scroll:{previous:"Прокрутить назад",next:"Прокрутить вперёд"},breadcrumb:{label:"Навигационная цепочка",expand:"Показать скрытые шаги"},combobox:{empty:"Совпадений нет",remove:"Удалить {label}"},overlay:{label:"Наложение"},window:{minimize:"Свернуть",maximize:"Развернуть",restore:"Восстановить",resize:"Изменить размер окна"}},tr:{action:{close:"Kapat",dismiss:"Yoksay",clear:"Temizle",remove:"Kaldır"},link:{newTab:"(yeni sekmede açılır)"},spoiler:{reveal:"Göster",hide:"Gizle",notice:"Spoiler içerebilir"},chat:{sending:"Gönderiliyor",sent:"Gönderildi",delivered:"İletildi",read:"Okundu",failed:"Gönderilemedi",typing:"Yazıyor…"},empty:{title:"Burada bir şey yok"},table:{search:"Ara",selectAll:"Tüm satırları seç",selectRow:"Satırı seç",rowsPerPage:"Sayfa başına satır",range:"{total} kayıttan {start}–{end}",selected:"{count} seçildi",empty:"Veri yok"},color:{area:"Doygunluk ve parlaklık",hue:"Renk tonu",alpha:"Opaklık",value:"Renk değeri",swatches:"Hazır renkler",clear:"Temizle",empty:"Bir renk seçin"},rating:{label:"Değerlendirme",value:"{max} üzerinden {value}",empty:"Değerlendirilmedi"},number:{increase:"Artır",decrease:"Azalt"},pagination:{label:"Sayfalama",page:"{page}. sayfa",status:"{total} sayfadan {page}. sayfa",previous:"Önceki sayfa",next:"Sonraki sayfa",first:"İlk sayfa",last:"Son sayfa"},carousel:{label:"Karusel",slide:"{total} slayttan {index}. slayt",previous:"Önceki slayt",next:"Sonraki slayt"},scroll:{previous:"Geri kaydır",next:"İleri kaydır"},breadcrumb:{label:"Gezinti yolu",expand:"Gizli adımları göster"},combobox:{empty:"Eşleşme yok",remove:"{label} kaldır"},overlay:{label:"Kaplama"},window:{minimize:"Simge durumuna küçült",maximize:"Ekranı kapla",restore:"Geri yükle",resize:"Pencereyi yeniden boyutlandır"}},ar:{action:{close:"إغلاق",dismiss:"تجاهل",clear:"مسح",remove:"إزالة"},link:{newTab:"(يفتح في علامة تبويب جديدة)"},spoiler:{reveal:"إظهار",hide:"إخفاء",notice:"قد يحتوي على حرق للأحداث"},chat:{sending:"جارٍ الإرسال",sent:"تم الإرسال",delivered:"تم التسليم",read:"تمت القراءة",failed:"لم يتم الإرسال",typing:"يكتب الآن…"},empty:{title:"لا يوجد شيء هنا"},table:{search:"بحث",selectAll:"تحديد كل الصفوف",selectRow:"تحديد الصف",rowsPerPage:"صفوف لكل صفحة",range:"{start}–{end} من {total}",selected:"تم تحديد {count}",empty:"لا توجد بيانات"},color:{area:"التشبع والسطوع",hue:"درجة اللون",alpha:"العتامة",value:"قيمة اللون",swatches:"ألوان جاهزة",clear:"مسح",empty:"اختر لونًا"},rating:{label:"التقييم",value:"{value} من {max}",empty:"بدون تقييم"},number:{increase:"زيادة",decrease:"إنقاص"},pagination:{label:"ترقيم الصفحات",page:"الصفحة {page}",status:"الصفحة {page} من {total}",previous:"الصفحة السابقة",next:"الصفحة التالية",first:"الصفحة الأولى",last:"الصفحة الأخيرة"},carousel:{label:"شريط عرض",slide:"الشريحة {index} من {total}",previous:"الشريحة السابقة",next:"الشريحة التالية"},scroll:{previous:"التمرير للخلف",next:"التمرير للأمام"},breadcrumb:{label:"مسار التنقل",expand:"إظهار الخطوات المخفية"},combobox:{empty:"لا توجد نتائج مطابقة",remove:"إزالة {label}"},overlay:{label:"تراكب"},window:{minimize:"تصغير",maximize:"تكبير",restore:"استعادة",resize:"تغيير حجم النافذة"}},hi:{action:{close:"बंद करें",dismiss:"खारिज करें",clear:"साफ़ करें",remove:"हटाएँ"},link:{newTab:"(नए टैब में खुलता है)"},spoiler:{reveal:"दिखाएँ",hide:"छिपाएँ",notice:"इसमें स्पॉइलर हो सकते हैं"},chat:{sending:"भेजा जा रहा है",sent:"भेजा गया",delivered:"डिलीवर हुआ",read:"पढ़ा गया",failed:"नहीं भेजा गया",typing:"टाइप कर रहे हैं…"},empty:{title:"यहाँ कुछ नहीं है"},table:{search:"खोजें",selectAll:"सभी पंक्तियाँ चुनें",selectRow:"पंक्ति चुनें",rowsPerPage:"प्रति पृष्ठ पंक्तियाँ",range:"{total} में से {start}–{end}",selected:"{count} चुनी गईं",empty:"कोई डेटा नहीं"},color:{area:"संतृप्ति और चमक",hue:"रंग",alpha:"अपारदर्शिता",value:"रंग मान",swatches:"पूर्व निर्धारित रंग",clear:"साफ़ करें",empty:"एक रंग चुनें"},rating:{label:"रेटिंग",value:"{max} में से {value}",empty:"कोई रेटिंग नहीं"},number:{increase:"बढ़ाएँ",decrease:"घटाएँ"},pagination:{label:"पृष्ठ क्रमांकन",page:"पृष्ठ {page}",status:"{total} में से पृष्ठ {page}",previous:"पिछला पृष्ठ",next:"अगला पृष्ठ",first:"पहला पृष्ठ",last:"अंतिम पृष्ठ"},carousel:{label:"कैरोसेल",slide:"{total} में से स्लाइड {index}",previous:"पिछली स्लाइड",next:"अगली स्लाइड"},scroll:{previous:"पीछे स्क्रॉल करें",next:"आगे स्क्रॉल करें"},breadcrumb:{label:"ब्रेडक्रंब",expand:"छिपे हुए चरण दिखाएँ"},combobox:{empty:"कोई मिलान नहीं",remove:"{label} हटाएँ"},overlay:{label:"ओवरले"},window:{minimize:"छोटा करें",maximize:"बड़ा करें",restore:"पुनर्स्थापित करें",resize:"विंडो का आकार बदलें"}},id:{action:{close:"Tutup",dismiss:"Abaikan",clear:"Bersihkan",remove:"Hapus"},link:{newTab:"(terbuka di tab baru)"},spoiler:{reveal:"Tampilkan",hide:"Sembunyikan",notice:"Mungkin mengandung spoiler"},chat:{sending:"Mengirim",sent:"Terkirim",delivered:"Diterima",read:"Dibaca",failed:"Gagal terkirim",typing:"Sedang mengetik…"},empty:{title:"Tidak ada apa-apa di sini"},table:{search:"Cari",selectAll:"Pilih semua baris",selectRow:"Pilih baris",rowsPerPage:"Baris per halaman",range:"{start}–{end} dari {total}",selected:"{count} dipilih",empty:"Tidak ada data"},color:{area:"Saturasi dan kecerahan",hue:"Rona",alpha:"Opasitas",value:"Nilai warna",swatches:"Warna preset",clear:"Hapus",empty:"Pilih warna"},rating:{label:"Peringkat",value:"{value} dari {max}",empty:"Belum ada peringkat"},number:{increase:"Tambah",decrease:"Kurangi"},pagination:{label:"Penomoran halaman",page:"Halaman {page}",status:"Halaman {page} dari {total}",previous:"Halaman sebelumnya",next:"Halaman berikutnya",first:"Halaman pertama",last:"Halaman terakhir"},carousel:{label:"Korsel",slide:"Slide {index} dari {total}",previous:"Slide sebelumnya",next:"Slide berikutnya"},scroll:{previous:"Gulir ke belakang",next:"Gulir ke depan"},breadcrumb:{label:"Remah roti",expand:"Tampilkan langkah tersembunyi"},combobox:{empty:"Tidak ada yang cocok",remove:"Hapus {label}"},overlay:{label:"Hamparan"},window:{minimize:"Perkecil",maximize:"Perbesar",restore:"Pulihkan",resize:"Ubah ukuran jendela"}},vi:{action:{close:"Đóng",dismiss:"Bỏ qua",clear:"Xóa",remove:"Gỡ bỏ"},link:{newTab:"(mở trong tab mới)"},spoiler:{reveal:"Hiện nội dung",hide:"Ẩn",notice:"Có thể chứa nội dung tiết lộ"},chat:{sending:"Đang gửi",sent:"Đã gửi",delivered:"Đã nhận",read:"Đã xem",failed:"Chưa gửi được",typing:"Đang nhập…"},empty:{title:"Không có gì ở đây"},table:{search:"Tìm kiếm",selectAll:"Chọn tất cả các hàng",selectRow:"Chọn hàng",rowsPerPage:"Số hàng mỗi trang",range:"{start}–{end} trên {total}",selected:"Đã chọn {count}",empty:"Không có dữ liệu"},color:{area:"Độ bão hòa và độ sáng",hue:"Sắc độ",alpha:"Độ mờ đục",value:"Giá trị màu",swatches:"Màu dựng sẵn",clear:"Xóa",empty:"Chọn màu"},rating:{label:"Đánh giá",value:"{value} trên {max}",empty:"Chưa đánh giá"},number:{increase:"Tăng",decrease:"Giảm"},pagination:{label:"Phân trang",page:"Trang {page}",status:"Trang {page} trên {total}",previous:"Trang trước",next:"Trang sau",first:"Trang đầu",last:"Trang cuối"},carousel:{label:"Băng chuyền",slide:"Trang chiếu {index} trên {total}",previous:"Trang chiếu trước",next:"Trang chiếu sau"},scroll:{previous:"Cuộn lùi lại",next:"Cuộn tới"},breadcrumb:{label:"Đường dẫn",expand:"Hiện các bước đã ẩn"},combobox:{empty:"Không có kết quả",remove:"Gỡ bỏ {label}"},overlay:{label:"Lớp phủ"},window:{minimize:"Thu nhỏ",maximize:"Phóng to",restore:"Khôi phục",resize:"Thay đổi kích thước cửa sổ"}},th:{action:{close:"ปิด",dismiss:"ปิดการแจ้งเตือน",clear:"ล้าง",remove:"นำออก"},link:{newTab:"(เปิดในแท็บใหม่)"},spoiler:{reveal:"แสดงเนื้อหา",hide:"ซ่อน",notice:"อาจมีการเปิดเผยเนื้อหา"},chat:{sending:"กำลังส่ง",sent:"ส่งแล้ว",delivered:"ส่งถึงแล้ว",read:"อ่านแล้ว",failed:"ส่งไม่สำเร็จ",typing:"กำลังพิมพ์…"},empty:{title:"ไม่มีอะไรที่นี่"},table:{search:"ค้นหา",selectAll:"เลือกทุกแถว",selectRow:"เลือกแถวนี้",rowsPerPage:"จำนวนแถวต่อหน้า",range:"{start}–{end} จาก {total}",selected:"เลือกแล้ว {count} รายการ",empty:"ไม่มีข้อมูล"},color:{area:"ความอิ่มตัวและความสว่าง",hue:"เฉดสี",alpha:"ความทึบ",value:"ค่าสี",swatches:"สีที่กำหนดไว้",clear:"ล้าง",empty:"เลือกสี"},rating:{label:"คะแนน",value:"{value} จาก {max}",empty:"ยังไม่มีคะแนน"},number:{increase:"เพิ่ม",decrease:"ลด"},pagination:{label:"การแบ่งหน้า",page:"หน้า {page}",status:"หน้า {page} จาก {total}",previous:"หน้าก่อนหน้า",next:"หน้าถัดไป",first:"หน้าแรก",last:"หน้าสุดท้าย"},carousel:{label:"ภาพเลื่อน",slide:"สไลด์ {index} จาก {total}",previous:"สไลด์ก่อนหน้า",next:"สไลด์ถัดไป"},scroll:{previous:"เลื่อนย้อนกลับ",next:"เลื่อนไปข้างหน้า"},breadcrumb:{label:"เส้นทางนำทาง",expand:"แสดงขั้นตอนที่ซ่อนอยู่"},combobox:{empty:"ไม่พบรายการที่ตรงกัน",remove:"นำ {label} ออก"},overlay:{label:"เลเยอร์ซ้อน"},window:{minimize:"ย่อ",maximize:"ขยาย",restore:"คืนค่า",resize:"ปรับขนาดหน้าต่าง"}}},r={zh:"zh-hans","zh-cn":"zh-hans","zh-my":"zh-hans","zh-sg":"zh-hans","zh-hk":"zh-hant","zh-mo":"zh-hant","zh-tw":"zh-hant"};const l=new Map([["",a]]);export function resolveMessages(e){const t=e?.trim()??"",n=l.get(t);if(n)return n;const s=function(e){const a=e.toLowerCase().split(/[-_]/).filter(Boolean),i=a[0];if(!i)return[];const r=a.slice(1),l=r.find(e=>/^[a-z]{4}$/.test(e)),t=r.find(e=>/^([a-z]{2}|\d{3})$/.test(e));return[l?`${i}-${l}`:"",t?`${i}-${t}`:"",i].filter(Boolean)}(t).map(e=>i[e]??i[r[e]??""]).find(Boolean),o=s?{action:{...a.action,...s.action},link:{...a.link,...s.link},spoiler:{...a.spoiler,...s.spoiler},chat:{...a.chat,...s.chat},empty:{...a.empty,...s.empty},table:{...a.table,...s.table},color:{...a.color,...s.color},rating:{...a.rating,...s.rating},number:{...a.number,...s.number},pagination:{...a.pagination,...s.pagination},carousel:{...a.carousel,...s.carousel},scroll:{...a.scroll,...s.scroll},breadcrumb:{...a.breadcrumb,...s.breadcrumb},combobox:{...a.combobox,...s.combobox},overlay:{...a.overlay,...s.overlay},window:{...a.window,...s.window}}:a;return l.set(t,o),o}export function useMessages(a){return e.useMemo(()=>resolveMessages(a),[a])}export function fillMessage(e,a){return e.replace(/\{(\w+)\}/g,(e,i)=>a[i]??e)}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The chrome a WindowPane draws, and the tables that say how big it is.
|
|
3
|
+
*
|
|
4
|
+
* It lives here for the reason `internal/mockup.tsx` does. One component reads
|
|
5
|
+
* it, but what it holds is reference data rather than a piece of that component
|
|
6
|
+
* — four systems' worth of title bars, three buttons each, drawn four different
|
|
7
|
+
* ways — and a component file with all of that in it would be a table with a
|
|
8
|
+
* `forwardRef` at the bottom.
|
|
9
|
+
*
|
|
10
|
+
* Three conventions run through it:
|
|
11
|
+
*
|
|
12
|
+
* **Every length is a CSS pixel at `md`, scaled once by `size`.** A title bar is
|
|
13
|
+
* 32px on Windows 11 and 38px on macOS because those are the heights they are,
|
|
14
|
+
* not because a ladder in `internal/styles.ts` says so — this is the one place
|
|
15
|
+
* in the library where the numbers come from somewhere else. `size` multiplies
|
|
16
|
+
* them, which is why they are written as numbers rather than as utilities.
|
|
17
|
+
*
|
|
18
|
+
* **The buttons are drawings of what they do and carry no other party's marks.**
|
|
19
|
+
* A traffic light is three circles; a Windows control is a line, a box and a
|
|
20
|
+
* cross. Their names come from `internal/i18n.ts` and are read out; nothing here
|
|
21
|
+
* writes a word.
|
|
22
|
+
*
|
|
23
|
+
* **Nothing is mixed out of `currentColor`.** Every fill a control can take is a
|
|
24
|
+
* slot computed once in `windowSlots`, because a hover that changes the ink and
|
|
25
|
+
* a fill derived from the ink are the same declaration arguing with itself —
|
|
26
|
+
* which is exactly how a close button ends up white on white.
|
|
27
|
+
*/
|
|
28
|
+
import * as React from 'react';
|
|
29
|
+
import type { NebaColor, NebaSize } from '../types';
|
|
30
|
+
/**
|
|
31
|
+
* Whose window this is a picture of.
|
|
32
|
+
*
|
|
33
|
+
* Versions are separate entries wherever the *title bar* is what changed, which
|
|
34
|
+
* is why Windows has five and the others have one or two. XP painted its bar in
|
|
35
|
+
* Luna blue and framed the window in it; 7 made it glass; 8 threw both away for
|
|
36
|
+
* a flat square sheet; 10 ruled the bar off from the body; 11 rounded the
|
|
37
|
+
* corners and made the two one Mica sheet again. `macosx` is Aqua — the striped
|
|
38
|
+
* grey bar, the glossy lights and the square bottom corners — against the flat
|
|
39
|
+
* `macos` that replaced it.
|
|
40
|
+
*
|
|
41
|
+
* They are named the way the systems are, so `windows11` rather than `win11`
|
|
42
|
+
* and `macos` rather than `mac`. Nothing here is a copy of any of them: what is
|
|
43
|
+
* drawn is a bar, a border and three buttons at the proportions the system used,
|
|
44
|
+
* and no mark, wordmark or icon belonging to anyone else.
|
|
45
|
+
*/
|
|
46
|
+
export type NebaWindowOs = 'macos' | 'macosx' | 'windows11' | 'windows10' | 'windows8' | 'windows7' | 'windowsxp' | 'linux';
|
|
47
|
+
/** The three buttons a title bar can carry. */
|
|
48
|
+
export type NebaWindowControl = 'minimize' | 'maximize' | 'close';
|
|
49
|
+
/** How far the window has been dragged from where the layout put it. */
|
|
50
|
+
export interface NebaWindowOffset {
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
}
|
|
54
|
+
/** Everything the component needs to lay a title bar out, in CSS pixels. */
|
|
55
|
+
export interface WindowMetrics {
|
|
56
|
+
/** The title bar's height. */
|
|
57
|
+
bar: number;
|
|
58
|
+
/** The window's own corner, at the top. */
|
|
59
|
+
radius: number;
|
|
60
|
+
/** And at the bottom, which the older systems leave square. */
|
|
61
|
+
radiusBottom: number;
|
|
62
|
+
/** The hairline around the window. */
|
|
63
|
+
frame: number;
|
|
64
|
+
/**
|
|
65
|
+
* The *band* around it, which is a different thing: the stretch of the
|
|
66
|
+
* system's own colour that XP and Aero put down the sides of a window and
|
|
67
|
+
* along the bottom of it, with the content inset into it. Zero on the systems
|
|
68
|
+
* that have only a hairline.
|
|
69
|
+
*/
|
|
70
|
+
band: {
|
|
71
|
+
side: number;
|
|
72
|
+
bottom: number;
|
|
73
|
+
};
|
|
74
|
+
/** The air at the leading edge of the bar. */
|
|
75
|
+
padX: number;
|
|
76
|
+
/** And at the trailing edge, which is nothing where the buttons run to it. */
|
|
77
|
+
padEnd: number;
|
|
78
|
+
/** Between one control and the next. */
|
|
79
|
+
gap: number;
|
|
80
|
+
/** The title's type size. */
|
|
81
|
+
title: number;
|
|
82
|
+
/** One control's box. */
|
|
83
|
+
control: {
|
|
84
|
+
width: number;
|
|
85
|
+
height: number;
|
|
86
|
+
};
|
|
87
|
+
/** The mark inside it. */
|
|
88
|
+
glyph: number;
|
|
89
|
+
/** How heavy the title is written. */
|
|
90
|
+
weight: number;
|
|
91
|
+
/** How much room the whole set of them takes, given how many are drawn. */
|
|
92
|
+
controlsWidth: (count: number) => number;
|
|
93
|
+
/** Aero's close button, which is wider than the two beside it. */
|
|
94
|
+
closeWidth: number;
|
|
95
|
+
}
|
|
96
|
+
interface WindowChrome {
|
|
97
|
+
bar: number;
|
|
98
|
+
radius: number;
|
|
99
|
+
/** Square on every system before the corners were rounded all the way round. */
|
|
100
|
+
radiusBottom: number;
|
|
101
|
+
padX: number;
|
|
102
|
+
/** The air at the trailing end, which is nothing where the buttons run to it. */
|
|
103
|
+
padEnd: number;
|
|
104
|
+
gap: number;
|
|
105
|
+
title: number;
|
|
106
|
+
glyph: number;
|
|
107
|
+
weight: number;
|
|
108
|
+
frame: number;
|
|
109
|
+
band: {
|
|
110
|
+
side: number;
|
|
111
|
+
bottom: number;
|
|
112
|
+
};
|
|
113
|
+
control: {
|
|
114
|
+
width: number;
|
|
115
|
+
height: number;
|
|
116
|
+
};
|
|
117
|
+
/** Aero's close button is wider than the two beside it. */
|
|
118
|
+
closeWidth?: number;
|
|
119
|
+
/** Where the title sits along the bar. */
|
|
120
|
+
titleAlign: 'start' | 'center';
|
|
121
|
+
/** Which end the controls are on. */
|
|
122
|
+
controlsSide: 'start' | 'end';
|
|
123
|
+
/**
|
|
124
|
+
* How one control is drawn.
|
|
125
|
+
*
|
|
126
|
+
* - `dot` — a flat traffic light, and `gloss-dot` the same one with Aqua's
|
|
127
|
+
* highlight and ring on it.
|
|
128
|
+
* - `square` — a flat rectangle running to the corner of the window.
|
|
129
|
+
* - `plate` — XP's coloured, gradient-filled button.
|
|
130
|
+
* - `aero` — a pane of glass hung off the top edge, close first among equals.
|
|
131
|
+
* - `circle` — GNOME's small disc.
|
|
132
|
+
*/
|
|
133
|
+
shape: 'dot' | 'gloss-dot' | 'square' | 'plate' | 'aero' | 'circle';
|
|
134
|
+
/** Whether the bar is ruled off from the body. */
|
|
135
|
+
rule: boolean;
|
|
136
|
+
/** How thick the glyphs are drawn. */
|
|
137
|
+
stroke: number;
|
|
138
|
+
/** The corner on the maximize box: Windows 11 rounds it, Windows 10 does not. */
|
|
139
|
+
boxRadius: number;
|
|
140
|
+
/** How much of the page's ink is stirred into the bar, in front and behind. */
|
|
141
|
+
tint: [number, number];
|
|
142
|
+
/** Whether an accented window carries the colour into its border as well. */
|
|
143
|
+
accentBorder: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* The chrome's own colours, for the systems that painted their title bar
|
|
146
|
+
* rather than taking the page's.
|
|
147
|
+
*
|
|
148
|
+
* Fixed values rather than theme tokens, exactly as `Mockup`'s finishes are:
|
|
149
|
+
* Luna blue is Luna blue on a page switched to dark, and a title bar that
|
|
150
|
+
* changed colour with the theme would be a drawing of the theme rather than
|
|
151
|
+
* of a window. `dark` says which way its own controls have to lighten.
|
|
152
|
+
*/
|
|
153
|
+
paint: {
|
|
154
|
+
fill: string;
|
|
155
|
+
ink: string;
|
|
156
|
+
dark: boolean;
|
|
157
|
+
} | null;
|
|
158
|
+
/** What is laid over that fill: the gradient, the gloss, the stripes. */
|
|
159
|
+
image: string | null;
|
|
160
|
+
/** The title's own shadow — XP's hard one, Aero's glow, Aqua's emboss. */
|
|
161
|
+
shadow: string | null;
|
|
162
|
+
/** Whether the bar blurs what is behind it, which is what made Aero glass. */
|
|
163
|
+
glass: boolean;
|
|
164
|
+
}
|
|
165
|
+
export declare function windowMetrics(os: NebaWindowOs, size: NebaSize): WindowMetrics;
|
|
166
|
+
export declare function windowChrome(os: NebaWindowOs): WindowChrome;
|
|
167
|
+
export declare function orderControls(os: NebaWindowOs, controls: readonly NebaWindowControl[]): NebaWindowControl[];
|
|
168
|
+
export declare function windowSlots(options: {
|
|
169
|
+
os: NebaWindowOs;
|
|
170
|
+
color: NebaColor;
|
|
171
|
+
accent: boolean;
|
|
172
|
+
transparency: number;
|
|
173
|
+
active: boolean;
|
|
174
|
+
elevation: number;
|
|
175
|
+
}): React.CSSProperties;
|
|
176
|
+
export interface WindowControlsProps {
|
|
177
|
+
os: NebaWindowOs;
|
|
178
|
+
metrics: WindowMetrics;
|
|
179
|
+
controls: readonly NebaWindowControl[];
|
|
180
|
+
maximized: boolean;
|
|
181
|
+
active: boolean;
|
|
182
|
+
/** What each button is called, plus the word the maximize one takes once the
|
|
183
|
+
* window is maximized. */
|
|
184
|
+
labels: Record<NebaWindowControl | 'restore', string>;
|
|
185
|
+
onCommand: (control: NebaWindowControl) => void;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* The buttons on a title bar.
|
|
189
|
+
*
|
|
190
|
+
* Real `<button>`s with real names, in every system: the whole point of drawing
|
|
191
|
+
* a window rather than a picture of one is that its controls work, and a
|
|
192
|
+
* `<div>` with a click handler on it is invisible to a keyboard. They also stop
|
|
193
|
+
* the press from reaching the bar underneath, or every close would begin by
|
|
194
|
+
* dragging the window half a pixel.
|
|
195
|
+
*
|
|
196
|
+
* Every fill is written into a slot and every state is a class that reads one,
|
|
197
|
+
* so no two declarations are ever left arguing about which of them paints the
|
|
198
|
+
* button — which is the bug that made a hovered close button vanish.
|
|
199
|
+
*/
|
|
200
|
+
export declare function WindowControls({ os, metrics, controls, maximized, active, labels, onCommand }: WindowControlsProps): React.JSX.Element | null;
|
|
201
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as i}from"react/jsx-runtime";import{cx as t}from"./styles";const n={macos:{bar:38,radius:10,radiusBottom:10,padX:12,padEnd:12,gap:8,title:13,glyph:7,weight:500,frame:1,band:{side:0,bottom:0},control:{width:12,height:12},titleAlign:"center",controlsSide:"start",shape:"dot",rule:!1,stroke:1.4,boxRadius:0,tint:[6,3],accentBorder:!1,paint:null,image:null,shadow:null,glass:!1},macosx:{bar:26,radius:8,radiusBottom:0,padX:10,padEnd:10,gap:8,title:12,glyph:7,weight:700,frame:1,band:{side:0,bottom:0},control:{width:13,height:13},titleAlign:"center",controlsSide:"start",shape:"gloss-dot",rule:!0,stroke:1.5,boxRadius:0,tint:[0,0],accentBorder:!1,paint:{fill:"#e4e4e4",ink:"#333333",dark:!1},image:"repeating-linear-gradient(180deg, rgb(255 255 255 / 0.55) 0 1px, rgb(0 0 0 / 0.035) 1px 2px), linear-gradient(180deg, rgb(255 255 255 / 0.8), rgb(0 0 0 / 0.07))",shadow:"0 1px 0 rgb(255 255 255 / 0.85)",glass:!1},windows11:{bar:32,radius:8,radiusBottom:8,padX:12,padEnd:0,gap:0,title:12,glyph:10,weight:400,frame:1,band:{side:0,bottom:0},control:{width:46,height:32},titleAlign:"start",controlsSide:"end",shape:"square",rule:!1,tint:[3,1],stroke:1,boxRadius:1.6,accentBorder:!1,paint:null,image:null,shadow:null,glass:!1},windows10:{bar:30,radius:0,radiusBottom:0,padX:10,padEnd:0,gap:0,title:12,glyph:10,weight:400,frame:1,band:{side:0,bottom:0},control:{width:45,height:30},titleAlign:"start",controlsSide:"end",shape:"square",rule:!0,tint:[0,0],stroke:.9,boxRadius:0,accentBorder:!0,paint:null,image:null,shadow:null,glass:!1},windows8:{bar:32,radius:0,radiusBottom:0,padX:10,padEnd:0,gap:0,title:12,glyph:11,weight:400,frame:2,band:{side:0,bottom:0},control:{width:45,height:32},titleAlign:"start",controlsSide:"end",shape:"square",rule:!1,tint:[0,0],stroke:1,boxRadius:0,accentBorder:!0,paint:null,image:null,shadow:null,glass:!1},windows7:{bar:30,radius:7,radiusBottom:0,padX:10,padEnd:3,gap:2,title:12,glyph:10,weight:400,frame:1,band:{side:7,bottom:7},control:{width:29,height:20},closeWidth:45,titleAlign:"start",controlsSide:"end",shape:"aero",rule:!1,tint:[0,0],stroke:1.1,boxRadius:0,accentBorder:!1,paint:{fill:"rgb(198 218 242 / 0.45)",ink:"#12314f",dark:!1},image:"linear-gradient(180deg, rgb(255 255 255 / 0.62), rgb(255 255 255 / 0.1) 46%, rgb(255 255 255 / 0.34) 88%, rgb(255 255 255 / 0.5))",shadow:"0 0 6px rgb(255 255 255 / 0.95), 0 0 3px rgb(255 255 255 / 0.95)",glass:!0},windowsxp:{bar:30,radius:8,radiusBottom:0,padX:6,padEnd:4,gap:2,title:13,glyph:9,weight:700,frame:1,band:{side:4,bottom:4},control:{width:21,height:21},closeWidth:26,titleAlign:"start",controlsSide:"end",shape:"plate",rule:!1,tint:[0,0],stroke:1.8,boxRadius:3,accentBorder:!1,paint:{fill:"#1f66d6",ink:"#ffffff",dark:!0},image:"linear-gradient(180deg, rgb(255 255 255 / 0.55), rgb(255 255 255 / 0.26) 7%, rgb(0 0 0 / 0.11) 42%, rgb(0 0 0 / 0.05) 56%, rgb(255 255 255 / 0.22) 76%, rgb(255 255 255 / 0.34) 88%, rgb(0 0 0 / 0.16) 96%, rgb(0 0 0 / 0.34))",shadow:"0 1px 1px rgb(0 0 0 / 0.45)",glass:!1},linux:{bar:44,radius:12,radiusBottom:12,padX:10,padEnd:10,gap:6,title:14,glyph:10,weight:600,frame:1,band:{side:0,bottom:0},control:{width:24,height:24},titleAlign:"center",controlsSide:"end",shape:"circle",rule:!1,stroke:1.2,boxRadius:0,tint:[11,5],accentBorder:!1,paint:null,image:null,shadow:null,glass:!1}},a={xs:.8,sm:.9,md:1,lg:1.15,xl:1.3};export function windowMetrics(e,i){const t=n[e],r=a[i],o=e=>Math.round(e*r),s={width:o(t.control.width),height:o(t.control.height)},d=o(t.gap),l=void 0===t.closeWidth?s.width:o(t.closeWidth);return{bar:o(t.bar),radius:t.radius,radiusBottom:t.radiusBottom,frame:t.frame,band:{side:o(t.band.side),bottom:o(t.band.bottom)},padX:o(t.padX),padEnd:o(t.padEnd),gap:d,title:o(t.title),glyph:o(t.glyph),weight:t.weight,control:s,controlsWidth:e=>e<=0?0:l+(e-1)*s.width+(e-1)*d,closeWidth:l}}export function windowChrome(e){return n[e]}const r={macos:["close","minimize","maximize"],macosx:["close","minimize","maximize"],windows11:["minimize","maximize","close"],windows10:["minimize","maximize","close"],windows8:["minimize","maximize","close"],windows7:["minimize","maximize","close"],windowsxp:["minimize","maximize","close"],linux:["minimize","maximize","close"]};export function orderControls(e,i){return r[e].filter(e=>i.includes(e))}function o(e,i){const t=Math.round(100*(1-i));return t>=100?e:`color-mix(in oklab, ${e} ${t}%, transparent)`}export function windowSlots(e){const{os:i,color:t,accent:a,transparency:r,active:s,elevation:d}=e,l=n[i],c=Math.min(Math.max(r,0),1),g="var(--neba-surface)",b=l.tint[s?0:1],h=0===b?g:`color-mix(in oklab, ${g} ${100-b}%, var(--neba-fg))`,p=a&&s,m=l.paint,u=m?s?m.fill:`color-mix(in oklab, ${m.fill} 45%, #c6c9ce)`:null,w=p?`var(--neba-${t}-solid)`:u??h,x=p?`var(--neba-${t}-on-solid)`:m?s?m.ink:`color-mix(in oklab, ${m.ink} 60%, transparent)`:s?"var(--neba-fg)":"var(--neba-muted-fg)",f=l.band.side>0,v=f?o(p?`var(--neba-${t}-solid)`:u??h,c):"transparent",k=f?`color-mix(in oklab, ${p?`var(--neba-${t}-solid)`:u??"var(--neba-border)"} 72%, black)`:p&&l.accentBorder?`var(--neba-${t}-solid)`:s?"var(--neba-border)":"color-mix(in oklab, var(--neba-border) 55%, transparent)",z=p||(m?.dark??!1);return{"--n-window-bar":o(w,c),"--n-window-bar-fg":x,"--n-window-bar-image":l.image??"none","--n-window-bar-shadow":l.shadow??"none","--n-window-body":o(g,c),"--n-window-line":k,"--n-window-band":v,"--n-window-hover":z?"rgb(255 255 255 / 0.18)":"color-mix(in oklab, var(--neba-fg) 9%, transparent)","--n-window-press":z?"rgb(255 255 255 / 0.28)":"color-mix(in oklab, var(--neba-fg) 16%, transparent)","--n-window-shadow":`var(--neba-shadow-${s?d:Math.max(d-1,0)})`,"--n-accent":`var(--neba-${t}-accent)`,"--n-ring":`var(--neba-${t}-ring)`}}function s({size:i,stroke:t,round:n,children:a}){return e("svg",{viewBox:"0 0 10 10",width:i,height:i,fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:n?"round":"square",strokeLinejoin:n?"round":"miter","aria-hidden":"true",children:a})}function d(t,n,a,r){const o=a.stroke,d=a.boxRadius>0||"square"!==a.shape,l=a.boxRadius;return"minimize"===t?e(s,{size:r,stroke:o,round:d,children:e("path",{d:"plate"===a.shape?"M2 7.5h6":"M1.5 5h7"})}):"close"===t?e(s,{size:r,stroke:o,round:d,children:e("path",{d:"m1.6 1.6 6.8 6.8M8.4 1.6 1.6 8.4"})}):n?i(s,{size:r,stroke:o,round:d,children:[e("rect",{x:"1.4",y:"3.4",width:"5.2",height:"5.2",rx:l}),e("path",{d:"M3.6 3.4v-2h5v5h-2"})]}):e(s,{size:r,stroke:o,round:d,children:e("rect",{x:"1.5",y:"1.5",width:"7",height:"7",rx:l})})}const l={close:"#ff5f57",minimize:"#febc2e",maximize:"#28c840"},c={close:"#cf4b36",minimize:"#4b85d4",maximize:"#4b85d4"},g={macos:null,macosx:null,windows11:"#c42b1c",windows10:"#e81123",windows8:"#e81123",windows7:"#e04a45",windowsxp:null,linux:null};export function WindowControls({os:i,metrics:a,controls:r,maximized:o,active:s,labels:b,onCommand:h}){const p=n[i],m=orderControls(i,r);if(0===m.length)return null;const u="dot"===p.shape||"gloss-dot"===p.shape,w="circle"===p.shape,x="plate"===p.shape,f="aero"===p.shape;return e("div",{className:t("group/controls flex shrink-0 items-center",f?"self-start":"self-stretch"),style:{gap:a.gap},onPointerDown:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:m.map(n=>{const r="maximize"===n&&o?b.restore:b[n],m="close"===n?g[i]:null,{face:v,ink:k,image:z,plate:y}=function(e,i,t){switch(e.shape){case"dot":case"gloss-dot":return{face:t?l[i]:"color-mix(in oklab, var(--neba-fg) 22%, transparent)",ink:"rgb(0 0 0 / 0.55)",image:"gloss-dot"===e.shape?"radial-gradient(circle at 50% 26%, rgb(255 255 255 / 0.8), rgb(255 255 255 / 0) 62%)":void 0,plate:"gloss-dot"===e.shape?"inset 0 0 0 1px rgb(0 0 0 / 0.22), inset 0 -1px 1px rgb(0 0 0 / 0.15)":void 0};case"plate":return{face:t?c[i]:`color-mix(in oklab, ${c[i]} 45%, #c6c9ce)`,ink:"#ffffff",image:"linear-gradient(180deg, rgb(255 255 255 / 0.5), rgb(255 255 255 / 0.05) 55%, rgb(0 0 0 / 0.14))",plate:"inset 0 0 0 1px rgb(255 255 255 / 0.4)"};case"aero":return{face:"rgb(255 255 255 / 0.3)",image:"linear-gradient(180deg, rgb(255 255 255 / 0.6), rgb(255 255 255 / 0.08) 52%, rgb(255 255 255 / 0.3))",plate:"inset 0 0 0 1px rgb(255 255 255 / 0.55)"};default:return{}}}(p,n,s);return e("button",{type:"button","aria-label":r,title:r,className:t("relative flex shrink-0 cursor-pointer items-center justify-center","[transition:background-color_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease),filter_var(--neba-duration)_var(--neba-ease)]","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]",u||w?"rounded-full":"",w?"bg-(--n-window-hover)":"",v?"bg-(--n-window-face)":"",m?"hover:bg-(--n-window-danger) hover:text-white active:bg-(--n-window-danger)":u?"":x?"hover:brightness-110 active:brightness-95":w?"hover:bg-(--n-window-press) active:bg-(--n-window-press)":f?"hover:brightness-110 active:brightness-95":"hover:bg-(--n-window-hover) active:bg-(--n-window-press)"),style:{width:u?a.control.height:"close"===n?a.closeWidth:a.control.width,height:a.control.height,borderRadius:x?p.boxRadius+1:f?"0 0 3px 3px":void 0,backgroundImage:z,boxShadow:y,color:k,...v?{"--n-window-face":v}:{},...m?{"--n-window-danger":m}:{}},onClick:()=>h(n),children:e("span",{className:t("flex items-center justify-center",u?"opacity-0 [transition:opacity_var(--neba-duration)_var(--neba-ease)] group-hover/controls:opacity-100":""),children:d(n,o,p,a.glyph)})},n)})})}
|