@medyat/react-data-table 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +229 -2
- package/dist/bottom-sheet-BMVYPFta.js +1123 -0
- package/dist/bottom-sheet-BMVYPFta.js.map +1 -0
- package/dist/columns-dialog-Dv6KDZpP.js +419 -0
- package/dist/columns-dialog-Dv6KDZpP.js.map +1 -0
- package/dist/date-editor-CxGAEK_C.js +378 -0
- package/dist/date-editor-CxGAEK_C.js.map +1 -0
- package/dist/filters-sheet-DAf-n-Nv.js +298 -0
- package/dist/filters-sheet-DAf-n-Nv.js.map +1 -0
- package/dist/index.d.ts +763 -0
- package/dist/index.js +4870 -0
- package/dist/index.js.map +1 -0
- package/dist/model-RkRyfM7C.js +288 -0
- package/dist/model-RkRyfM7C.js.map +1 -0
- package/dist/provider-BgZBSzsH.js +908 -0
- package/dist/provider-BgZBSzsH.js.map +1 -0
- package/dist/shadcn-bridge-hsl.css +24 -0
- package/dist/shadcn-bridge.css +25 -0
- package/dist/sortable-rows-DR8aAZrB.js +111 -0
- package/dist/sortable-rows-DR8aAZrB.js.map +1 -0
- package/dist/style.css +2 -0
- package/dist/switch-B8TN4kJ-.js +23 -0
- package/dist/switch-B8TN4kJ-.js.map +1 -0
- package/docs/backend-integration.md +596 -0
- package/package.json +95 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-BgZBSzsH.js","names":["en","Record","ru","Record","tr","Record","Plural","MessageValue","Messages","en","ru","tr","MessageParams","Record","I18n","locale","t","key","params","has","builtinMessages","Readonly","defaultLocale","navigator","language","lookup","path","head","rest","split","v","p","undefined","String","interpolate","text","replace","m","flatten","out","k","Object","entries","k2","v2","createI18n","options","messages","Partial","lang","toLowerCase","table","plural","Intl","PluralRules","warned","Set","count","form","select","msg","import","meta","env","DEV","add","console","warn","createContext","use","ReactNode","DataTableOptions","PreferencesAdapter","ViewsAdapter","createI18n","I18n","DataTableContext","locale","i18n","viewsAdapter","preferences","createDataTableContext","options","messages","Context","DataTableProvider","t0","$","_c","children","t1","value","t2","fallback","useDataTableContext","_c","en","builtinMessages","defaultLocale","lookup","head","rest","path","v","params","p","interpolate","text","m","flatten","out","k","k2","v2","createI18n","locale","options","table","plural","key","form","msg","createDataTableContext","i18n","Context","createContext","DataTableProvider","$","c","t0","t1","messages","preferences","viewsAdapter","value","t2","children","fallback","useDataTableContext","use"],"sources":["../src/core/i18n/en.ts","../src/core/i18n/ru.ts","../src/core/i18n/tr.ts","../src/core/i18n/index.ts","../src/core/provider.tsx"],"sourcesContent":["// Üretilmiş dosya: scripts/i18n-from-docs.ts ← data-table/docs/data-table/09-i18n.md (+ docs.ts REACT_MESSAGES, REACT_ONLY_MESSAGES). Elle düzenlemeyin; dokümanı değiştirip `pnpm gen:docs` çalıştırın.\nexport const en: Record<string, string> = {\n \"common.cancel\": \"Cancel\",\n \"common.apply\": \"Apply\",\n \"common.clear\": \"Clear\",\n \"common.reset\": \"Reset\",\n \"common.retry\": \"Retry\",\n \"common.close\": \"Close\",\n \"common.done\": \"Done\",\n \"common.undo\": \"Undo\",\n \"common.redo\": \"Redo\",\n \"common.dismiss\": \"Dismiss\",\n \"common.back\": \"Back\",\n \"common.more\": \"More\",\n \"common.loading\": \"Loading…\",\n \"common.yes\": \"Yes\",\n \"common.no\": \"No\",\n \"common.me\": \"Me\",\n \"common.unassigned\": \"Unassigned\",\n \"common.any\": \"Any\",\n \"common.empty\": \"—\",\n \"common.plusMore\": \"+{count}\",\n \"common.copyLink\": \"Copy link\",\n \"common.save\": \"Save\",\n \"kbd.mod\": \"⌘ / Ctrl\",\n \"toolbar.search\": \"Search {entity.other}…\",\n \"toolbar.filter\": \"Filter\",\n \"toolbar.display\": \"Display\",\n \"toolbar.more\": \"More actions\",\n \"toolbar.export.one\": \"{count} row will be exported\",\n \"toolbar.export.other\": \"{count} rows will be exported\",\n \"toolbar.exportSelected.one\": \"{count} selected row will be exported\",\n \"toolbar.exportSelected.other\": \"{count} selected rows will be exported\",\n \"toolbar.csv\": \"CSV\",\n \"toolbar.xlsx\": \"Excel (.xlsx)\",\n \"export.optionsSheet\": \"Options\",\n \"toolbar.import\": \"Import…\",\n \"toolbar.print\": \"Print\",\n \"toolbar.refresh\": \"Refresh\",\n \"toolbar.autoRefresh\": \"Auto-refresh\",\n \"toolbar.live\": \"Live\",\n \"toolbar.updatedJustNow\": \"Updated just now\",\n \"toolbar.updatedAgo\": \"Updated {time}\",\n \"filter.addFilter\": \"Add filter\",\n \"filter.clearAll\": \"Clear all\",\n \"filter.selectValue\": \"Select…\",\n \"filter.removeAria\": \"Remove {column} filter\",\n \"filter.valueAria\": \"{column} {op} {value}. Edit value\",\n \"filter.chooseValueAria\": \"{column} {op} {value}. Choose a value\",\n \"filter.sheetNote\": \"Filters only change what you see — hidden rows keep their edits.\",\n \"picker.search\": \"Filter by…\",\n \"picker.filtered\": \"Filtered\",\n \"picker.filteredHint\": \"opens its chip\",\n \"picker.suggested\": \"Suggested\",\n \"picker.allColumns\": \"All columns\",\n \"picker.noMatch\": \"No columns match\",\n \"type.number\": \"Number\",\n \"type.percentage\": \"Percentage\",\n \"type.rating\": \"Rating\",\n \"type.currency\": \"Currency\",\n \"type.text\": \"Text\",\n \"type.longText\": \"Long text\",\n \"type.phone\": \"Phone\",\n \"type.colour\": \"Colour\",\n \"type.email\": \"Email\",\n \"type.link\": \"Link\",\n \"type.id\": \"Record ID\",\n \"type.boolean\": \"Yes / No\",\n \"type.option\": \"Option\",\n \"type.options\": \"Options\",\n \"type.relation\": \"Relation\",\n \"type.person\": \"Person\",\n \"type.date\": \"Date\",\n \"type.datetime\": \"Date & time\",\n \"type.object\": \"Object\",\n \"type.list\": \"List\",\n \"op.eq\": \"is\",\n \"op.neq\": \"is not\",\n \"op.gt\": \"is greater than\",\n \"op.gte\": \"is at least\",\n \"op.lt\": \"is less than\",\n \"op.lte\": \"is at most\",\n \"op.between\": \"is between\",\n \"op.contains\": \"contains\",\n \"op.not_contains\": \"doesn't contain\",\n \"op.starts_with\": \"starts with\",\n \"op.ends_with\": \"ends with\",\n \"op.in.one\": \"is\",\n \"op.in.other\": \"is any of\",\n \"op.not_in.one\": \"is not\",\n \"op.not_in.other\": \"is none of\",\n \"op.before\": \"is before\",\n \"op.after\": \"is after\",\n \"op.within\": \"is within\",\n \"op.is_empty\": \"is empty\",\n \"op.is_not_empty\": \"is not empty\",\n \"op.isMe\": \"is me\",\n \"op.star.gte\": \"at least\",\n \"op.star.lte\": \"at most\",\n \"date.today\": \"Today\",\n \"date.this_week\": \"This week\",\n \"date.next_7_days\": \"Next 7 days\",\n \"date.this_month\": \"This month\",\n \"date.last_30_days\": \"Last 30 days\",\n \"date.this_quarter\": \"This quarter\",\n \"date.overdue\": \"Overdue\",\n \"date.customRange\": \"Custom range\",\n \"date.from\": \"From\",\n \"date.to\": \"To\",\n \"date.presetsRelative\": \"Presets stay relative — “This month” rolls over by itself.\",\n \"number.and\": \"and\",\n \"number.boundsIncluded\": \"Bounds included\",\n \"number.min\": \"Min\",\n \"number.max\": \"Max\",\n \"option.search\": \"Search options…\",\n \"option.searchNoun\": \"Search {noun.other}\",\n \"option.only\": \"Only\",\n \"option.selected.one\": \"{count} selected\",\n \"option.selected.other\": \"{count} selected\",\n \"remote.searching\": \"Searching…\",\n \"remote.noResults\": \"No results\",\n \"remote.loadMore\": \"Load more\",\n \"chip.values\": \"{count} values\",\n \"chip.noun\": \"{count} {noun.other}\",\n \"chip.people\": \"{count} people\",\n \"views.title\": \"Views\",\n \"views.find\": \"Find a view…\",\n \"views.system\": \"Built-in views\",\n \"views.builtIn\": \"Built in\",\n \"views.mine\": \"My views\",\n \"views.onlyYou\": \"Only you\",\n \"views.default\": \"Default\",\n \"views.edited\": \"Edited\",\n \"views.new\": \"New view\",\n \"views.rename\": \"Rename\",\n \"views.duplicate\": \"Duplicate\",\n \"views.setDefault\": \"Set as default\",\n \"views.delete\": \"Delete\",\n \"views.delete.title\": \"Delete “{name}”?\",\n \"views.delete.body\": \"This can't be undone.\",\n \"views.systemNote\": \"System views can't be renamed or deleted.\",\n \"views.saveChanges\": \"Save\",\n \"views.updates\": \"Updates “{name}”\",\n \"views.saveAsNew\": \"Save as…\",\n \"views.keepsUnchanged\": \"Keeps “{name}” unchanged\",\n \"views.discard\": \"Revert\",\n \"views.saveAsMine\": \"Save as view…\",\n \"views.editedName\": \"“{name}” edited\",\n \"views.dialogTitle\": \"Save as new view\",\n \"views.dialogBody\": \"It appears under My views. Only you can see it.\",\n \"views.name\": \"Name\",\n \"views.filters\": \"Filters\",\n \"views.sort\": \"Sort\",\n \"views.columns\": \"Columns\",\n \"views.columnsSummary\": \"{shown} of {total}\",\n \"views.pinnedSummary\": \"{name} pinned\",\n \"views.makeDefault\": \"Make this my default view\",\n \"views.save\": \"Save view\",\n \"views.copyName\": \"{name} copy\",\n \"views.err.required\": \"Enter a name.\",\n \"views.err.taken\": \"You already have a view with this name.\",\n \"views.err.tooLong\": \"Use 60 characters or fewer.\",\n \"views.noMatch\": \"No views match\",\n \"display.density\": \"Density\",\n \"display.comfortable\": \"Comfortable\",\n \"display.standard\": \"Standard\",\n \"display.compact\": \"Compact\",\n \"display.columns\": \"Columns\",\n \"display.sort\": \"Sort\",\n \"display.verticalLines\": \"Vertical grid lines\",\n \"display.savedForYou\": \"Saved for you only\",\n \"columns.shownOf\": \"{shown} of {total} shown\",\n \"columns.pinned\": \"Pinned\",\n \"columns.alwaysShown\": \"Always shown\",\n \"columns.hideAll\": \"Hide all\",\n \"columns.showAll\": \"Show all\",\n \"columns.reorder\": \"Reorder {column}\",\n \"columns.dragInstructions\": \"Press space to pick up a column, use the up and down arrow keys to move it, then press space again to drop it. Press escape to cancel.\",\n \"columns.dragStart\": \"Picked up {column}. Position {position} of {total}.\",\n \"columns.dragOver\": \"{column} moved to position {position} of {total}.\",\n \"columns.dragEnd\": \"{column} dropped at position {position} of {total}.\",\n \"columns.dragCancel\": \"Reordering cancelled. {column} returned to its place.\",\n \"columns.find\": \"Find a column\",\n \"columns.title\": \"Column preferences\",\n \"columns.desc\": \"Show, hide and reorder the table's columns.\",\n \"columns.pin.start.title\": \"Pin first columns\",\n \"columns.pin.start.desc\": \"Keep the first columns in view while scrolling sideways.\",\n \"columns.pin.start.0\": \"None\",\n \"columns.pin.start.1\": \"First column\",\n \"columns.pin.start.2\": \"First two columns\",\n \"columns.pin.end.title\": \"Pin last columns\",\n \"columns.pin.end.desc\": \"Keep the last columns in view while scrolling sideways.\",\n \"columns.pin.end.0\": \"None\",\n \"columns.pin.end.1\": \"Last column\",\n \"columns.pin.end.2\": \"Last two columns\",\n \"header.sortAsc\": \"Sort ascending\",\n \"header.sortDesc\": \"Sort descending\",\n \"header.clearSort\": \"Clear sort\",\n \"sort.addHint\": \"⇧ + click a header to add · up to 3\",\n \"header.filterBy\": \"Filter by this column…\",\n \"header.moveLeft\": \"Move left\",\n \"header.moveRight\": \"Move right\",\n \"header.hide\": \"Hide column\",\n \"header.optionsAria\": \"{column} column options\",\n \"row.open\": \"Open\",\n \"row.openNewTab\": \"Open in new tab\",\n \"row.actionsAria\": \"Actions for {id}\",\n \"row.selectAria\": \"Select {id}\",\n \"row.selectPageAria\": \"Select all rows on this page\",\n \"selection.selected\": \"{count} selected\",\n \"selection.clear\": \"Clear selection\",\n \"expand.showAria\": \"Show details for {id}\",\n \"page.rows\": \"Rows {from}–{to}\",\n \"page.of\": \"of {total}\",\n \"page.countTotal\": \"Count total\",\n \"page.counting\": \"Counting…\",\n \"page.counted\": \"counted {time}\",\n \"page.end\": \"end of results\",\n \"page.zero\": \"0 rows\",\n \"page.none\": \"No rows\",\n \"page.noneOnPage\": \"No rows on this page\",\n \"page.previousPage\": \"Go to previous page\",\n \"page.perPage\": \"Rows per page\",\n \"page.previous\": \"Previous\",\n \"page.next\": \"Next\",\n \"page.scrollPos\": \"Rows {from}–{to}\",\n \"page.nav\": \"Pages\",\n \"state.emptyTitle\": \"No {entity.other} yet\",\n \"state.noResults.one\": \"No {entity.other} match this filter\",\n \"state.noResults.other\": \"No {entity.other} match these {count} filters\",\n \"state.noResultsSearch\": \"No {entity.other} match “{q}”\",\n \"state.noResultsBoth\": \"No {entity.other} match “{q}” and {count} filters\",\n \"state.removeFilter\": \"Remove “{column}”\",\n \"state.clearAllFilters\": \"Clear all filters\",\n \"state.clearSearch\": \"Clear search\",\n \"state.errorTitle\": \"Couldn't load {entity.other}\",\n \"state.errorKept\": \"Your filters are kept.\",\n \"state.tryAgain\": \"Try again\",\n \"state.copyErrorId\": \"Copy error ID\",\n \"state.stale\": \"Couldn't refresh. Showing data from {time}.\",\n \"state.updating\": \"Updating…\",\n \"state.stillLoading\": \"Still loading…\",\n \"cell.late\": \"{count}d late\",\n \"cell.rating\": \"{value} of {max}\",\n \"cell.fields\": \"{count} fields\",\n \"cell.copy\": \"Copy\",\n \"cell.expandText\": \"Show full text\",\n \"bulk.moreAria\": \"More bulk actions\",\n \"bulk.aria\": \"Bulk actions\",\n \"sheet.export\": \"Export\",\n \"mobile.filters\": \"Filters\",\n \"mobile.showResults\": \"Show results\",\n \"mobile.sort\": \"Sort\",\n \"mobile.chipAria\": \"{summary}. Open filters\",\n \"mobile.backToFilters\": \"Back to filters\",\n \"mobile.operator\": \"Operator\",\n \"sr.loaded\": \"{count} rows loaded\",\n \"sr.total\": \"{count} {entity.other}\",\n \"sr.sorted\": \"Sorted by {column}, {dir}\",\n \"sr.asc\": \"ascending\",\n \"sr.desc\": \"descending\",\n \"sr.filterAdded\": \"Filter added: {summary}\",\n \"sr.filterRemoved\": \"{column} filter removed\",\n \"sr.view\": \"View {name}\",\n \"sr.viewEdited\": \"View {name}, edited\",\n \"sr.expanded\": \"{label} expanded, {count} rows\",\n \"sr.savingPercent\": \"Saving, {percent} percent\",\n \"sr.loadingPercent\": \"Loading, {percent} percent\",\n \"sr.pasted\": \"Pasted {rows} rows by {cols} columns.\",\n \"views.removeDefault\": \"Remove default\",\n \"header.columnSettings\": \"Column settings\",\n \"views.unsaved\": \"This view has unsaved changes.\",\n \"views.all\": \"All\",\n \"reorder.column\": \"Order\",\n \"reorder.handleAria\": \"Move {row}\",\n \"reorder.instructions\": \"Press space to pick up a row, use the up and down arrow keys to move it, then press space again to drop it. Press escape to cancel.\",\n \"reorder.dragStart\": \"Picked up {row}. Position {position} of {total}.\",\n \"reorder.dragOver\": \"{row} moved to position {position} of {total}.\",\n \"reorder.dragEnd\": \"{row} dropped at position {position} of {total}.\",\n \"reorder.dragCancel\": \"Reordering cancelled. {row} returned to its place.\",\n}\n","// Rusça metinler elle yazılır: 09-i18n.md yalnızca EN/TR taşır. Anahtarlar en.ts ile birebir (tests/i18n.test.ts).\nexport const ru: Record<string, string> = {\n 'common.cancel': 'Отмена',\n 'common.apply': 'Применить',\n 'common.clear': 'Очистить',\n 'common.reset': 'Сбросить',\n 'common.retry': 'Повторить',\n 'common.close': 'Закрыть',\n 'common.done': 'Готово',\n 'common.undo': 'Отменить',\n 'common.redo': 'Повторить',\n 'common.dismiss': 'Скрыть',\n 'common.back': 'Назад',\n 'common.more': 'Ещё',\n 'common.loading': 'Загрузка…',\n 'common.yes': 'Да',\n 'common.no': 'Нет',\n 'common.me': 'Я',\n 'common.unassigned': 'Не назначено',\n 'common.any': 'Любое',\n 'common.empty': '—',\n 'common.plusMore': '+{count}',\n 'common.copyLink': 'Копировать ссылку',\n 'common.save': 'Сохранить',\n 'kbd.mod': '⌘ / Ctrl',\n 'toolbar.search': 'Поиск: {entity.other}…',\n 'toolbar.filter': 'Фильтр',\n 'toolbar.display': 'Вид',\n 'toolbar.more': 'Другие действия',\n 'toolbar.export.one': 'Будет экспортирована {count} строка',\n // Rusça few/many ikisi de .other'a düşer: sayılı .other metinleri \"стр.\"/\"дн.\" kısaltması ya da \"Полей: {count}\" biçimiyle yazıldı.\n 'toolbar.export.other': 'Будет экспортировано строк: {count}',\n 'toolbar.exportSelected.one': 'Будет экспортирована {count} выбранная строка',\n 'toolbar.exportSelected.other': 'Будет экспортировано выбранных строк: {count}',\n 'toolbar.csv': 'CSV',\n 'toolbar.xlsx': 'Excel (.xlsx)',\n 'export.optionsSheet': 'Параметры',\n 'toolbar.import': 'Импорт…',\n 'toolbar.print': 'Печать',\n 'toolbar.refresh': 'Обновить',\n 'toolbar.autoRefresh': 'Автообновление',\n 'toolbar.live': 'В реальном времени',\n 'toolbar.updatedJustNow': 'Обновлено только что',\n 'toolbar.updatedAgo': 'Обновлено {time}',\n 'filter.addFilter': 'Добавить фильтр',\n 'filter.clearAll': 'Очистить все',\n 'filter.selectValue': 'Выберите…',\n 'filter.removeAria': 'Удалить фильтр «{column}»',\n 'filter.valueAria': '{column} {op} {value}. Изменить значение',\n 'filter.chooseValueAria': '{column} {op} {value}. Выберите значение',\n 'filter.sheetNote': 'Фильтры меняют только то, что вы видите: изменения в скрытых строках сохраняются.',\n 'picker.search': 'Фильтровать по…',\n 'picker.filtered': 'С фильтром',\n 'picker.filteredHint': 'откроет фильтр',\n 'picker.suggested': 'Рекомендуемые',\n 'picker.allColumns': 'Все столбцы',\n 'picker.noMatch': 'Подходящих столбцов нет',\n 'type.number': 'Число',\n 'type.percentage': 'Процент',\n 'type.rating': 'Рейтинг',\n 'type.currency': 'Валюта',\n 'type.text': 'Текст',\n 'type.longText': 'Длинный текст',\n 'type.phone': 'Телефон',\n 'type.colour': 'Цвет',\n 'type.email': 'Эл. почта',\n 'type.link': 'Ссылка',\n 'type.id': 'ID записи',\n 'type.boolean': 'Да / Нет',\n 'type.option': 'Вариант',\n 'type.options': 'Варианты',\n 'type.relation': 'Связь',\n 'type.person': 'Пользователь',\n 'type.date': 'Дата',\n 'type.datetime': 'Дата и время',\n 'type.object': 'Объект',\n 'type.list': 'Список',\n 'op.eq': 'равно',\n 'op.neq': 'не равно',\n 'op.gt': 'больше',\n 'op.gte': 'не меньше',\n 'op.lt': 'меньше',\n 'op.lte': 'не больше',\n 'op.between': 'между',\n 'op.contains': 'содержит',\n 'op.not_contains': 'не содержит',\n 'op.starts_with': 'начинается с',\n 'op.ends_with': 'заканчивается на',\n 'op.in.one': 'равно',\n 'op.in.other': 'любое из',\n 'op.not_in.one': 'не равно',\n 'op.not_in.other': 'ни одно из',\n 'op.before': 'раньше',\n 'op.after': 'позже',\n 'op.within': 'в пределах',\n 'op.is_empty': 'пусто',\n 'op.is_not_empty': 'не пусто',\n 'op.isMe': 'я',\n 'op.star.gte': 'не меньше',\n 'op.star.lte': 'не больше',\n 'date.today': 'Сегодня',\n 'date.this_week': 'Эта неделя',\n 'date.next_7_days': 'Следующие 7 дней',\n 'date.this_month': 'Этот месяц',\n 'date.last_30_days': 'Последние 30 дней',\n 'date.this_quarter': 'Этот квартал',\n 'date.overdue': 'Просрочено',\n 'date.customRange': 'Свой период',\n 'date.from': 'С',\n 'date.to': 'По',\n 'date.presetsRelative': 'Пресеты относительные: «Этот месяц» сменится сам.',\n 'number.and': 'и',\n 'number.boundsIncluded': 'Включая границы',\n 'number.min': 'Мин.',\n 'number.max': 'Макс.',\n 'option.search': 'Поиск вариантов…',\n 'option.searchNoun': 'Поиск: {noun.other}',\n 'option.only': 'Только',\n 'option.selected.one': 'Выбрано: {count}',\n 'option.selected.other': 'Выбрано: {count}',\n 'remote.searching': 'Поиск…',\n 'remote.noResults': 'Ничего не найдено',\n 'remote.loadMore': 'Загрузить ещё',\n 'chip.values': 'Значений: {count}',\n 'chip.noun': '{noun.other}: {count}',\n 'chip.people': 'Человек: {count}',\n 'views.title': 'Представления',\n 'views.find': 'Найти представление…',\n 'views.system': 'Готовые представления',\n 'views.builtIn': 'Встроенное',\n 'views.mine': 'Мои представления',\n 'views.onlyYou': 'Только вы',\n 'views.default': 'По умолчанию',\n 'views.edited': 'Не сохранено',\n 'views.new': 'Новое представление',\n 'views.rename': 'Переименовать',\n 'views.duplicate': 'Дублировать',\n 'views.setDefault': 'Сделать представлением по умолчанию',\n 'views.delete': 'Удалить',\n 'views.delete.title': 'Удалить «{name}»?',\n 'views.delete.body': 'Это действие нельзя отменить.',\n 'views.systemNote': 'Системные представления нельзя переименовать или удалить.',\n 'views.saveChanges': 'Сохранить',\n 'views.updates': 'Обновит «{name}»',\n 'views.saveAsNew': 'Сохранить как…',\n 'views.keepsUnchanged': '«{name}» останется без изменений',\n 'views.discard': 'Отменить',\n 'views.saveAsMine': 'Сохранить как представление…',\n 'views.editedName': '«{name}» (не сохранено)',\n 'views.dialogTitle': 'Сохранить как новое представление',\n 'views.dialogBody': 'Оно появится в разделе «Мои представления». Видеть его будете только вы.',\n 'views.name': 'Название',\n 'views.filters': 'Фильтры',\n 'views.sort': 'Сортировка',\n 'views.columns': 'Столбцы',\n 'views.columnsSummary': '{shown} из {total}',\n 'views.pinnedSummary': 'Закреплено: {name}',\n 'views.makeDefault': 'Сделать моим представлением по умолчанию',\n 'views.save': 'Сохранить представление',\n 'views.copyName': '{name} (копия)',\n 'views.err.required': 'Введите название.',\n 'views.err.taken': 'У вас уже есть представление с таким названием.',\n 'views.err.tooLong': 'Не более 60 символов.',\n 'views.noMatch': 'Подходящих представлений нет',\n 'display.density': 'Плотность',\n 'display.comfortable': 'Свободно',\n 'display.standard': 'Стандартно',\n 'display.compact': 'Компактно',\n 'display.columns': 'Столбцы',\n 'display.sort': 'Сортировка',\n 'display.verticalLines': 'Вертикальные линии сетки',\n 'display.savedForYou': 'Сохраняется только для вас',\n 'columns.shownOf': 'Показано {shown} из {total}',\n 'columns.pinned': 'Закреплены',\n 'columns.alwaysShown': 'Всегда видны',\n 'columns.hideAll': 'Скрыть все',\n 'columns.showAll': 'Показать все',\n 'columns.reorder': 'Переместить «{column}»',\n 'columns.dragInstructions':\n 'Нажмите пробел, чтобы взять столбец, перемещайте его стрелками вверх и вниз и снова нажмите пробел, чтобы отпустить. Escape — отмена.',\n 'columns.dragStart': 'Столбец «{column}» взят. Позиция {position} из {total}.',\n 'columns.dragOver': 'Столбец «{column}» перемещён на позицию {position} из {total}.',\n 'columns.dragEnd': 'Столбец «{column}» помещён на позицию {position} из {total}.',\n 'columns.dragCancel': 'Перемещение отменено. Столбец «{column}» возвращён на место.',\n 'columns.find': 'Найти столбец',\n 'columns.title': 'Настройка столбцов',\n 'columns.desc': 'Показывайте, скрывайте и меняйте порядок столбцов таблицы.',\n 'columns.pin.start.title': 'Закрепить первые столбцы',\n 'columns.pin.start.desc': 'Первые столбцы остаются на виду при горизонтальной прокрутке.',\n 'columns.pin.start.0': 'Нет',\n 'columns.pin.start.1': 'Первый столбец',\n 'columns.pin.start.2': 'Первые два столбца',\n 'columns.pin.end.title': 'Закрепить последние столбцы',\n 'columns.pin.end.desc': 'Последние столбцы остаются на виду при горизонтальной прокрутке.',\n 'columns.pin.end.0': 'Нет',\n 'columns.pin.end.1': 'Последний столбец',\n 'columns.pin.end.2': 'Последние два столбца',\n 'header.sortAsc': 'По возрастанию',\n 'header.sortDesc': 'По убыванию',\n 'header.clearSort': 'Сбросить сортировку',\n 'sort.addHint': '⇧ + клик по заголовку — добавить · до 3',\n 'header.filterBy': 'Фильтр по этому столбцу…',\n 'header.moveLeft': 'Переместить влево',\n 'header.moveRight': 'Переместить вправо',\n 'header.hide': 'Скрыть столбец',\n 'header.optionsAria': 'Параметры столбца «{column}»',\n 'row.open': 'Открыть',\n 'row.openNewTab': 'Открыть в новой вкладке',\n 'row.actionsAria': 'Действия для {id}',\n 'row.selectAria': 'Выбрать {id}',\n 'row.selectPageAria': 'Выбрать все строки на странице',\n 'selection.selected': 'Выбрано: {count}',\n 'selection.clear': 'Снять выделение',\n 'expand.showAria': 'Подробнее о {id}',\n 'page.rows': 'Строки {from}–{to}',\n 'page.of': 'из {total}',\n 'page.countTotal': 'Посчитать всё',\n 'page.counting': 'Подсчёт…',\n 'page.counted': 'подсчитано {time}',\n 'page.end': 'конец списка',\n 'page.zero': '0 строк',\n 'page.none': 'Нет строк',\n 'page.noneOnPage': 'На этой странице нет строк',\n 'page.previousPage': 'На предыдущую страницу',\n 'page.perPage': 'Строк на странице',\n 'page.previous': 'Назад',\n 'page.next': 'Вперёд',\n 'page.scrollPos': 'Строки {from}–{to}',\n 'page.nav': 'Страницы',\n 'state.emptyTitle': 'Пока нет записей: {entity.other}',\n // .one Rusçada 21, 31… için de seçilir; metin \"bu filtre\" demez.\n 'state.noResults.one': 'Нет совпадений по фильтру: {entity.other}',\n 'state.noResults.other': 'Нет совпадений по фильтрам ({count}): {entity.other}',\n 'state.noResultsSearch': 'Нет совпадений по запросу «{q}»: {entity.other}',\n 'state.noResultsBoth': 'Нет совпадений по запросу «{q}» и фильтрам ({count}): {entity.other}',\n 'state.removeFilter': 'Убрать «{column}»',\n 'state.clearAllFilters': 'Сбросить все фильтры',\n 'state.clearSearch': 'Очистить поиск',\n 'state.errorTitle': 'Не удалось загрузить: {entity.other}',\n 'state.errorKept': 'Ваши фильтры сохранены.',\n 'state.tryAgain': 'Попробовать снова',\n 'state.copyErrorId': 'Копировать ID ошибки',\n 'state.stale': 'Не удалось обновить. Показаны данные на {time}.',\n 'state.updating': 'Обновление…',\n 'state.stillLoading': 'Всё ещё загружается…',\n 'cell.late': 'просрочено на {count} дн.',\n 'cell.rating': '{value} из {max}',\n 'cell.fields': 'Полей: {count}',\n 'cell.copy': 'Копировать',\n 'cell.expandText': 'Показать полностью',\n 'bulk.moreAria': 'Другие массовые действия',\n 'bulk.aria': 'Массовые действия',\n 'sheet.export': 'Экспорт',\n 'mobile.filters': 'Фильтры',\n 'mobile.showResults': 'Показать результаты',\n 'mobile.sort': 'Сортировка',\n 'mobile.chipAria': '{summary}. Открыть фильтры',\n 'mobile.backToFilters': 'Назад к фильтрам',\n 'mobile.operator': 'Условие',\n 'sr.loaded': 'Загружено строк: {count}',\n 'sr.total': '{entity.other}: {count}',\n 'sr.sorted': 'Сортировка: {column}, {dir}',\n 'sr.asc': 'по возрастанию',\n 'sr.desc': 'по убыванию',\n 'sr.filterAdded': 'Добавлен фильтр: {summary}',\n 'sr.filterRemoved': 'Фильтр «{column}» удалён',\n 'sr.view': 'Представление {name}',\n 'sr.viewEdited': 'Представление {name}, изменено',\n 'sr.expanded': '{label}: развёрнуто, строк: {count}',\n 'sr.savingPercent': 'Сохранение, {percent} %',\n 'sr.loadingPercent': 'Загрузка, {percent} %',\n 'sr.pasted': 'Вставлено: {rows} стр. × {cols} столб.',\n 'views.removeDefault': 'Не использовать по умолчанию',\n 'header.columnSettings': 'Настройки столбцов',\n 'views.unsaved': 'В этом представлении есть несохранённые изменения.',\n 'views.all': 'Все',\n 'reorder.column': 'Порядок',\n 'reorder.handleAria': 'Переместить «{row}»',\n 'reorder.instructions':\n 'Чтобы взять строку, нажмите пробел, перемещайте её клавишами со стрелками вверх и вниз, затем снова нажмите пробел, чтобы отпустить. Для отмены нажмите Escape.',\n 'reorder.dragStart': 'Строка «{row}» взята. Позиция {position} из {total}.',\n 'reorder.dragOver': 'Строка «{row}» перемещена на позицию {position} из {total}.',\n 'reorder.dragEnd': 'Строка «{row}» помещена на позицию {position} из {total}.',\n 'reorder.dragCancel': 'Перемещение отменено. Строка «{row}» возвращена на место.',\n}\n","// Üretilmiş dosya: scripts/i18n-from-docs.ts ← data-table/docs/data-table/09-i18n.md (+ docs.ts REACT_MESSAGES, REACT_ONLY_MESSAGES). Elle düzenlemeyin; dokümanı değiştirip `pnpm gen:docs` çalıştırın.\nexport const tr: Record<string, string> = {\n \"common.cancel\": \"Vazgeç\",\n \"common.apply\": \"Uygula\",\n \"common.clear\": \"Temizle\",\n \"common.reset\": \"Sıfırla\",\n \"common.retry\": \"Tekrar dene\",\n \"common.close\": \"Kapat\",\n \"common.done\": \"Bitti\",\n \"common.undo\": \"Geri al\",\n \"common.redo\": \"Yinele\",\n \"common.dismiss\": \"Kapat\",\n \"common.back\": \"Geri\",\n \"common.more\": \"Daha fazla\",\n \"common.loading\": \"Yükleniyor…\",\n \"common.yes\": \"Evet\",\n \"common.no\": \"Hayır\",\n \"common.me\": \"Ben\",\n \"common.unassigned\": \"Atanmamış\",\n \"common.any\": \"Tümü\",\n \"common.empty\": \"—\",\n \"common.plusMore\": \"+{count}\",\n \"common.copyLink\": \"Bağlantıyı kopyala\",\n \"common.save\": \"Kaydet\",\n \"kbd.mod\": \"⌘ / Ctrl\",\n \"toolbar.search\": \"Ara: {entity.other}…\",\n \"toolbar.filter\": \"Filtrele\",\n \"toolbar.display\": \"Görünüm ayarları\",\n \"toolbar.more\": \"Diğer işlemler\",\n \"toolbar.export.one\": \"{count} satır dışa aktarılır\",\n \"toolbar.export.other\": \"{count} satır dışa aktarılır\",\n \"toolbar.exportSelected.one\": \"{count} seçili satır dışa aktarılır\",\n \"toolbar.exportSelected.other\": \"{count} seçili satır dışa aktarılır\",\n \"toolbar.csv\": \"CSV\",\n \"toolbar.xlsx\": \"Excel (.xlsx)\",\n \"export.optionsSheet\": \"Seçenekler\",\n \"toolbar.import\": \"İçe aktar…\",\n \"toolbar.print\": \"Yazdır\",\n \"toolbar.refresh\": \"Yenile\",\n \"toolbar.autoRefresh\": \"Otomatik yenile\",\n \"toolbar.live\": \"Canlı\",\n \"toolbar.updatedJustNow\": \"Az önce güncellendi\",\n \"toolbar.updatedAgo\": \"{time} güncellendi\",\n \"filter.addFilter\": \"Filtre ekle\",\n \"filter.clearAll\": \"Tümünü temizle\",\n \"filter.selectValue\": \"Seçin…\",\n \"filter.removeAria\": \"{column} filtresini kaldır\",\n \"filter.valueAria\": \"{column} {op} {value}. Değeri düzenle\",\n \"filter.chooseValueAria\": \"{column} {op} {value}. Bir değer seçin\",\n \"filter.sheetNote\": \"Filtreler yalnızca görüneni değiştirir; gizlenen satırlardaki düzenlemeler korunur.\",\n \"picker.search\": \"Filtrelenecek alan…\",\n \"picker.filtered\": \"Filtrelenen\",\n \"picker.filteredHint\": \"çipini açar\",\n \"picker.suggested\": \"Önerilen\",\n \"picker.allColumns\": \"Tüm sütunlar\",\n \"picker.noMatch\": \"Eşleşen sütun yok\",\n \"type.number\": \"Sayı\",\n \"type.percentage\": \"Yüzde\",\n \"type.rating\": \"Puan\",\n \"type.currency\": \"Para\",\n \"type.text\": \"Metin\",\n \"type.longText\": \"Uzun metin\",\n \"type.phone\": \"Telefon\",\n \"type.colour\": \"Renk\",\n \"type.email\": \"E-posta\",\n \"type.link\": \"Bağlantı\",\n \"type.id\": \"Kayıt no\",\n \"type.boolean\": \"Evet / Hayır\",\n \"type.option\": \"Seçenek\",\n \"type.options\": \"Seçenekler\",\n \"type.relation\": \"İlişki\",\n \"type.person\": \"Kişi\",\n \"type.date\": \"Tarih\",\n \"type.datetime\": \"Tarih ve saat\",\n \"type.object\": \"Nesne\",\n \"type.list\": \"Liste\",\n \"op.eq\": \"eşittir\",\n \"op.neq\": \"eşit değil\",\n \"op.gt\": \"büyüktür\",\n \"op.gte\": \"en az\",\n \"op.lt\": \"küçüktür\",\n \"op.lte\": \"en çok\",\n \"op.between\": \"arasında\",\n \"op.contains\": \"içerir\",\n \"op.not_contains\": \"içermez\",\n \"op.starts_with\": \"ile başlar\",\n \"op.ends_with\": \"ile biter\",\n \"op.in.one\": \"eşittir\",\n \"op.in.other\": \"şunlardan biri\",\n \"op.not_in.one\": \"eşit değil\",\n \"op.not_in.other\": \"şunlardan hiçbiri\",\n \"op.before\": \"öncesinde\",\n \"op.after\": \"sonrasında\",\n \"op.within\": \"aralığında\",\n \"op.is_empty\": \"boş\",\n \"op.is_not_empty\": \"boş değil\",\n \"op.isMe\": \"ben\",\n \"op.star.gte\": \"en az\",\n \"op.star.lte\": \"en çok\",\n \"date.today\": \"Bugün\",\n \"date.this_week\": \"Bu hafta\",\n \"date.next_7_days\": \"Önümüzdeki 7 gün\",\n \"date.this_month\": \"Bu ay\",\n \"date.last_30_days\": \"Son 30 gün\",\n \"date.this_quarter\": \"Bu çeyrek\",\n \"date.overdue\": \"Gecikmiş\",\n \"date.customRange\": \"Özel aralık\",\n \"date.from\": \"Başlangıç\",\n \"date.to\": \"Bitiş\",\n \"date.presetsRelative\": \"Hazır aralıklar göreli kalır: “Bu ay” ay değişince kendiliğinden kayar.\",\n \"number.and\": \"ile\",\n \"number.boundsIncluded\": \"Uçlar dahil\",\n \"number.min\": \"En az\",\n \"number.max\": \"En çok\",\n \"option.search\": \"Seçeneklerde ara…\",\n \"option.searchNoun\": \"Ara: {noun.other}\",\n \"option.only\": \"Yalnızca\",\n \"option.selected.one\": \"{count} seçili\",\n \"option.selected.other\": \"{count} seçili\",\n \"remote.searching\": \"Aranıyor…\",\n \"remote.noResults\": \"Sonuç yok\",\n \"remote.loadMore\": \"Daha fazla yükle\",\n \"chip.values\": \"{count} değer\",\n \"chip.noun\": \"{count} {noun.one}\",\n \"chip.people\": \"{count} kişi\",\n \"views.title\": \"Görünümler\",\n \"views.find\": \"Görünüm bul…\",\n \"views.system\": \"Hazır görünümler\",\n \"views.builtIn\": \"Hazır\",\n \"views.mine\": \"Görünümlerim\",\n \"views.onlyYou\": \"Yalnızca siz\",\n \"views.default\": \"Varsayılan\",\n \"views.edited\": \"Kaydedilmedi\",\n \"views.new\": \"Yeni görünüm\",\n \"views.rename\": \"Yeniden adlandır\",\n \"views.duplicate\": \"Kopyala\",\n \"views.setDefault\": \"Varsayılan yap\",\n \"views.delete\": \"Sil\",\n \"views.delete.title\": \"“{name}” silinsin mi?\",\n \"views.delete.body\": \"Bu işlem geri alınamaz.\",\n \"views.systemNote\": \"Sistem görünümleri yeniden adlandırılamaz ve silinemez.\",\n \"views.saveChanges\": \"Kaydet\",\n \"views.updates\": \"“{name}” güncellenir\",\n \"views.saveAsNew\": \"Farklı kaydet…\",\n \"views.keepsUnchanged\": \"“{name}” olduğu gibi kalır\",\n \"views.discard\": \"Geri al\",\n \"views.saveAsMine\": \"Görünüm olarak kaydet…\",\n \"views.editedName\": \"“{name}” değişti\",\n \"views.dialogTitle\": \"Yeni görünüm olarak kaydet\",\n \"views.dialogBody\": \"Görünümlerim altında yer alır. Yalnızca siz görürsünüz.\",\n \"views.name\": \"Ad\",\n \"views.filters\": \"Filtreler\",\n \"views.sort\": \"Sıralama\",\n \"views.columns\": \"Sütunlar\",\n \"views.columnsSummary\": \"{total} sütundan {shown}\",\n \"views.pinnedSummary\": \"{name} sabit\",\n \"views.makeDefault\": \"Varsayılan görünümüm olsun\",\n \"views.save\": \"Görünümü kaydet\",\n \"views.copyName\": \"{name} kopyası\",\n \"views.err.required\": \"Bir ad girin.\",\n \"views.err.taken\": \"Bu adda bir görünümünüz zaten var.\",\n \"views.err.tooLong\": \"En fazla 60 karakter kullanın.\",\n \"views.noMatch\": \"Eşleşen görünüm yok\",\n \"display.density\": \"Yoğunluk\",\n \"display.comfortable\": \"Rahat\",\n \"display.standard\": \"Standart\",\n \"display.compact\": \"Sıkı\",\n \"display.columns\": \"Sütunlar\",\n \"display.sort\": \"Sıralama\",\n \"display.verticalLines\": \"Dikey çizgiler\",\n \"display.savedForYou\": \"Yalnızca sizin için kaydedilir\",\n \"columns.shownOf\": \"{total} sütundan {shown} görünür\",\n \"columns.pinned\": \"Sabit\",\n \"columns.alwaysShown\": \"Her zaman görünür\",\n \"columns.hideAll\": \"Tümünü gizle\",\n \"columns.showAll\": \"Tümünü göster\",\n \"columns.reorder\": \"{column} sütununu taşı\",\n \"columns.dragInstructions\": \"Sütunu almak için boşluk tuşuna basın, yukarı ve aşağı ok tuşlarıyla taşıyın, bırakmak için yeniden boşluk tuşuna basın. İptal için Escape'e basın.\",\n \"columns.dragStart\": \"{column} alındı. Sıra {position} / {total}.\",\n \"columns.dragOver\": \"{column} {position} / {total} sırasına taşındı.\",\n \"columns.dragEnd\": \"{column} {position} / {total} sırasına bırakıldı.\",\n \"columns.dragCancel\": \"Taşıma iptal edildi. {column} yerine döndü.\",\n \"columns.find\": \"Sütun bul\",\n \"columns.title\": \"Sütun tercihleri\",\n \"columns.desc\": \"Tablodaki sütunları gösterin, gizleyin ve sıralayın.\",\n \"columns.pin.start.title\": \"İlk sütunları sabitle\",\n \"columns.pin.start.desc\": \"Yatay kaydırırken ilk sütunlar görünür kalsın.\",\n \"columns.pin.start.0\": \"Hiçbiri\",\n \"columns.pin.start.1\": \"İlk sütun\",\n \"columns.pin.start.2\": \"İlk iki sütun\",\n \"columns.pin.end.title\": \"Son sütunları sabitle\",\n \"columns.pin.end.desc\": \"Yatay kaydırırken son sütunlar görünür kalsın.\",\n \"columns.pin.end.0\": \"Hiçbiri\",\n \"columns.pin.end.1\": \"Son sütun\",\n \"columns.pin.end.2\": \"Son iki sütun\",\n \"header.sortAsc\": \"Artan sırala\",\n \"header.sortDesc\": \"Azalan sırala\",\n \"header.clearSort\": \"Sıralamayı kaldır\",\n \"sort.addHint\": \"Eklemek için ⇧ + başlığa tıklayın · en çok 3\",\n \"header.filterBy\": \"Bu sütuna göre filtrele…\",\n \"header.moveLeft\": \"Sola taşı\",\n \"header.moveRight\": \"Sağa taşı\",\n \"header.hide\": \"Sütunu gizle\",\n \"header.optionsAria\": \"{column} sütun seçenekleri\",\n \"row.open\": \"Aç\",\n \"row.openNewTab\": \"Yeni sekmede aç\",\n \"row.actionsAria\": \"{id} işlemleri\",\n \"row.selectAria\": \"{id} seç\",\n \"row.selectPageAria\": \"Bu sayfadaki tüm satırları seç\",\n \"selection.selected\": \"{count} seçili\",\n \"selection.clear\": \"Seçimi temizle\",\n \"expand.showAria\": \"{id} detaylarını göster\",\n \"page.rows\": \"Satır {from}–{to}\",\n \"page.of\": \"/ {total}\",\n \"page.countTotal\": \"Toplamı say\",\n \"page.counting\": \"Sayılıyor…\",\n \"page.counted\": \"{time} sayıldı\",\n \"page.end\": \"sonuçların sonu\",\n \"page.zero\": \"0 satır\",\n \"page.none\": \"Satır yok\",\n \"page.noneOnPage\": \"Bu sayfada satır yok\",\n \"page.previousPage\": \"Önceki sayfaya git\",\n \"page.perPage\": \"Sayfa başına satır\",\n \"page.previous\": \"Önceki\",\n \"page.next\": \"Sonraki\",\n \"page.scrollPos\": \"Satır {from}–{to}\",\n \"page.nav\": \"Sayfalar\",\n \"state.emptyTitle\": \"Henüz kayıt yok: {entity.other}\",\n \"state.noResults.one\": \"Bu filtreye uyan {entity.one} yok\",\n \"state.noResults.other\": \"Bu {count} filtreye uyan {entity.one} yok\",\n \"state.noResultsSearch\": \"“{q}” ile eşleşen {entity.one} yok\",\n \"state.noResultsBoth\": \"“{q}” ve {count} filtreyle eşleşen {entity.one} yok\",\n \"state.removeFilter\": \"“{column}” filtresini kaldır\",\n \"state.clearAllFilters\": \"Tüm filtreleri temizle\",\n \"state.clearSearch\": \"Aramayı temizle\",\n \"state.errorTitle\": \"Yüklenemedi: {entity.other}\",\n \"state.errorKept\": \"Filtreleriniz korunuyor.\",\n \"state.tryAgain\": \"Tekrar dene\",\n \"state.copyErrorId\": \"Hata kimliğini kopyala\",\n \"state.stale\": \"Yenilenemedi. {time} verisi gösteriliyor.\",\n \"state.updating\": \"Güncelleniyor…\",\n \"state.stillLoading\": \"Hâlâ yükleniyor…\",\n \"cell.late\": \"{count} gün gecikti\",\n \"cell.rating\": \"{max} üzerinden {value}\",\n \"cell.fields\": \"{count} alan\",\n \"cell.copy\": \"Kopyala\",\n \"cell.expandText\": \"Tam metni göster\",\n \"bulk.moreAria\": \"Diğer toplu işlemler\",\n \"bulk.aria\": \"Toplu işlemler\",\n \"sheet.export\": \"Dışa aktar\",\n \"mobile.filters\": \"Filtreler\",\n \"mobile.showResults\": \"Sonuçları göster\",\n \"mobile.sort\": \"Sıralama\",\n \"mobile.chipAria\": \"{summary}. Filtreleri aç\",\n \"mobile.backToFilters\": \"Filtrelere dön\",\n \"mobile.operator\": \"Operatör\",\n \"sr.loaded\": \"{count} satır yüklendi\",\n \"sr.total\": \"{count} {entity.one}\",\n \"sr.sorted\": \"{column} sütununa göre {dir} sıralandı\",\n \"sr.asc\": \"artan\",\n \"sr.desc\": \"azalan\",\n \"sr.filterAdded\": \"Filtre eklendi: {summary}\",\n \"sr.filterRemoved\": \"{column} filtresi kaldırıldı\",\n \"sr.view\": \"Görünüm: {name}\",\n \"sr.viewEdited\": \"Görünüm: {name}, değişti\",\n \"sr.expanded\": \"{label} açıldı, {count} satır\",\n \"sr.savingPercent\": \"Kaydediliyor, yüzde {percent}\",\n \"sr.loadingPercent\": \"Yükleniyor, yüzde {percent}\",\n \"sr.pasted\": \"{rows} satır × {cols} sütun yapıştırıldı.\",\n \"views.removeDefault\": \"Varsayılanı kaldır\",\n \"header.columnSettings\": \"Sütun ayarları\",\n \"views.unsaved\": \"Bu görünümde kaydedilmemiş değişiklik var.\",\n \"views.all\": \"Tümü\",\n \"reorder.column\": \"Sıra\",\n \"reorder.handleAria\": \"{row} satırını taşı\",\n \"reorder.instructions\": \"Satırı almak için boşluk tuşuna basın, yukarı ve aşağı ok tuşlarıyla taşıyın, bırakmak için yeniden boşluk tuşuna basın. İptal için Escape'e basın.\",\n \"reorder.dragStart\": \"{row} alındı. Sıra {position} / {total}.\",\n \"reorder.dragOver\": \"{row} {position} / {total} sırasına taşındı.\",\n \"reorder.dragEnd\": \"{row} {position} / {total} sırasına bırakıldı.\",\n \"reorder.dragCancel\": \"Taşıma iptal edildi. {row} yerine döndü.\",\n}\n","import type { Plural } from '../../types/core'\nimport type { MessageValue, Messages } from '../../types/i18n'\nimport { en } from './en'\nimport { ru } from './ru'\nimport { tr } from './tr'\n\n/** `{name}` düz değer, `{entity.one}` nokta yolu (09 · kurallar). `count` çoğul seçimini de yönetir. */\nexport type MessageParams = Record<\n string,\n string | number | boolean | null | undefined | Record<string, string> | Plural\n>\n\nexport interface I18n {\n readonly locale: string\n /** Anahtar yoksa anahtarın kendisini döndürür; geliştirme modunda bir kez uyarır. */\n t: (key: string, params?: MessageParams) => string\n has: (key: string) => boolean\n}\n\nexport const builtinMessages: Readonly<Record<string, Record<string, string>>> = { en, tr, ru }\n\nconst defaultLocale = (): string => (typeof navigator !== 'undefined' && navigator.language) || 'en'\n\nconst lookup = (params: MessageParams, path: string): string | undefined => {\n const [head, ...rest] = path.split('.')\n let v: unknown = params[head!]\n for (const p of rest) v = v && typeof v === 'object' ? (v as Record<string, unknown>)[p] : undefined\n return v === undefined || v === null || typeof v === 'object' ? undefined : String(v)\n}\n\nconst interpolate = (text: string, params: MessageParams): string =>\n text.replace(/\\{([A-Za-z0-9_.]+)\\}/g, (m, path: string) => lookup(params, path) ?? m)\n\n/** Fonksiyon mesajlar düz sözlük alır: `{ 'entity.one': 'order', count: 3 }`. */\nconst flatten = (params: MessageParams): Record<string, string | number> => {\n const out: Record<string, string | number> = {}\n for (const [k, v] of Object.entries(params)) {\n if (v && typeof v === 'object') for (const [k2, v2] of Object.entries(v)) out[`${k}.${k2}`] = v2\n else if (typeof v === 'string' || typeof v === 'number') out[k] = v\n }\n return out\n}\n\nexport function createI18n(options: { locale?: string; messages?: Partial<Messages> } = {}): I18n {\n const locale = options.locale ?? defaultLocale()\n const lang = locale.split('-')[0]!.toLowerCase()\n const table: Messages = { ...(builtinMessages[lang] ?? en) }\n for (const [k, v] of Object.entries(options.messages ?? {})) if (v !== undefined) table[k] = v\n const plural = new Intl.PluralRules(locale)\n const warned = new Set<string>()\n\n const t = (key: string, params: MessageParams = {}): string => {\n let k = key\n if (typeof params.count === 'number') {\n const form = plural.select(params.count) === 'one' ? 'one' : 'other'\n if (`${key}.${form}` in table) k = `${key}.${form}`\n }\n const msg: MessageValue | undefined = table[k]\n if (msg === undefined) {\n if (import.meta.env?.DEV && !warned.has(k)) {\n warned.add(k)\n console.warn(`[data-table] i18n: eksik anahtar \"${k}\" (${locale})`)\n }\n return key\n }\n return interpolate(typeof msg === 'function' ? msg(flatten(params)) : msg, params)\n }\n\n return { locale, t, has: (key) => key in table }\n}\n","import { createContext, use, type ReactNode } from 'react'\nimport type { DataTableOptions } from '../types/provider'\nimport type { PreferencesAdapter, ViewsAdapter } from '../types/views'\nimport { createI18n, type I18n } from './i18n'\n\nexport interface DataTableContext {\n locale: string\n i18n: I18n\n /** null → yalnızca `views` seçeneğindeki görünümler, kaydetme yok (01 · plugin). */\n viewsAdapter: ViewsAdapter | null\n /** null → tercihler oturumluk; arayüz \"kaydedildi\" demez. */\n preferences: PreferencesAdapter | null\n}\n\nexport function createDataTableContext(options: DataTableOptions = {}): DataTableContext {\n const i18n = createI18n({ locale: options.locale, messages: options.messages })\n return {\n locale: i18n.locale,\n i18n,\n viewsAdapter: options.viewsAdapter ?? null,\n preferences: options.preferences ?? null,\n }\n}\n\nconst Context = createContext<DataTableContext | null>(null)\n\n/** Vue'daki `createDataTable` plugin'inin karşılığı (R7). İç içe kullanılırsa en yakın sağlayıcı geçerlidir. */\nexport function DataTableProvider({\n children,\n locale,\n messages,\n viewsAdapter,\n preferences,\n}: DataTableOptions & { children: ReactNode }) {\n // Seçenekler tek tek okunur: derleyici bağlamı bunlar değişince yeniden kurar (`...rest` her çizimde yenidir).\n const value = createDataTableContext({ locale, messages, viewsAdapter, preferences })\n return <Context value={value}>{children}</Context>\n}\n\nlet fallback: DataTableContext | undefined\n\n/** Sağlayıcı yoksa varsayılanlar: navigator.language, paket metinleri, adapter yok. */\nexport function useDataTableContext(): DataTableContext {\n return use(Context) ?? (fallback ??= createDataTableContext())\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* shadcn köprüsü (Tailwind v3: değişkenler HSL üçlüsü, ör. "0 0% 100%"). tokens.css'ten SONRA yükleyin.
|
|
2
|
+
Eşleme shadcn-bridge.css ile aynıdır; her değişken hsl(var(--x)) ile sarılır. */
|
|
3
|
+
@layer medyat-dt {
|
|
4
|
+
:root,
|
|
5
|
+
.dark,
|
|
6
|
+
[data-theme='light'],
|
|
7
|
+
[data-theme='dark'] {
|
|
8
|
+
--dt-canvas: hsl(var(--background));
|
|
9
|
+
--dt-surface: hsl(var(--card));
|
|
10
|
+
--dt-surface-2: color-mix(in oklab, hsl(var(--muted)) 45%, hsl(var(--card)));
|
|
11
|
+
--dt-surface-3: hsl(var(--muted));
|
|
12
|
+
--dt-line: hsl(var(--border));
|
|
13
|
+
--dt-line-2: hsl(var(--input));
|
|
14
|
+
--dt-line-3: color-mix(in oklab, hsl(var(--muted-foreground)) 45%, hsl(var(--border)));
|
|
15
|
+
--dt-text: hsl(var(--foreground));
|
|
16
|
+
--dt-text-2: color-mix(in oklab, hsl(var(--foreground)) 70%, hsl(var(--muted-foreground)));
|
|
17
|
+
--dt-text-3: hsl(var(--muted-foreground));
|
|
18
|
+
--dt-ink: hsl(var(--primary));
|
|
19
|
+
--dt-on-ink: hsl(var(--primary-foreground));
|
|
20
|
+
--dt-focus: hsl(var(--ring));
|
|
21
|
+
--dt-r-dot: hsl(var(--destructive));
|
|
22
|
+
--dt-r-fg: hsl(var(--destructive));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* shadcn köprüsü (Tailwind v4: değişkenler tam renk, ör. oklch(...)). tokens.css'ten SONRA yükleyin.
|
|
2
|
+
Yalnızca yüzey, çizgi, metin, birincil buton, odak ve yıkıcı renkler devralınır; accent ve tonlar paketin kendi değerleridir (02).
|
|
3
|
+
shadcn'in --accent değişkeni hover grisidir, --dt-accent ona bağlanmaz. */
|
|
4
|
+
@layer medyat-dt {
|
|
5
|
+
:root,
|
|
6
|
+
.dark,
|
|
7
|
+
[data-theme='light'],
|
|
8
|
+
[data-theme='dark'] {
|
|
9
|
+
--dt-canvas: var(--background);
|
|
10
|
+
--dt-surface: var(--card);
|
|
11
|
+
--dt-surface-2: color-mix(in oklab, var(--muted) 45%, var(--card));
|
|
12
|
+
--dt-surface-3: var(--muted);
|
|
13
|
+
--dt-line: var(--border);
|
|
14
|
+
--dt-line-2: var(--input);
|
|
15
|
+
--dt-line-3: color-mix(in oklab, var(--muted-foreground) 45%, var(--border));
|
|
16
|
+
--dt-text: var(--foreground);
|
|
17
|
+
--dt-text-2: color-mix(in oklab, var(--foreground) 70%, var(--muted-foreground));
|
|
18
|
+
--dt-text-3: var(--muted-foreground);
|
|
19
|
+
--dt-ink: var(--primary);
|
|
20
|
+
--dt-on-ink: var(--primary-foreground);
|
|
21
|
+
--dt-focus: var(--ring);
|
|
22
|
+
--dt-r-dot: var(--destructive);
|
|
23
|
+
--dt-r-fg: var(--destructive);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { n as e } from "./provider-BgZBSzsH.js";
|
|
2
|
+
import { c as t } from "react/compiler-runtime";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
|
+
import { DndContext as r, KeyboardSensor as i, PointerSensor as a, closestCenter as o, useSensor as s, useSensors as c } from "@dnd-kit/core";
|
|
5
|
+
import { SortableContext as l, sortableKeyboardCoordinates as u, useSortable as d, verticalListSortingStrategy as f } from "@dnd-kit/sortable";
|
|
6
|
+
// src/core/grid/sortable-rows.tsx
|
|
7
|
+
var p = { distance: 4 };
|
|
8
|
+
function m(d) {
|
|
9
|
+
let m = t(43), { ids: g, labelOf: _, disabled: v, onMove: y, onActive: b, items: x, keyOf: S, render: C } = d, { i18n: w } = e(), T;
|
|
10
|
+
m[0] === Symbol.for("react.memo_cache_sentinel") ? (T = { activationConstraint: p }, m[0] = T) : T = m[0];
|
|
11
|
+
let E;
|
|
12
|
+
m[1] === Symbol.for("react.memo_cache_sentinel") ? (E = { coordinateGetter: u }, m[1] = E) : E = m[1];
|
|
13
|
+
let D = c(s(a, T), s(i, E)), O;
|
|
14
|
+
m[2] !== g || m[3] !== _ ? (O = (e, t) => {
|
|
15
|
+
let n = t === void 0 ? e : t;
|
|
16
|
+
return {
|
|
17
|
+
row: _(String(e)),
|
|
18
|
+
position: g.indexOf(String(n)) + 1,
|
|
19
|
+
total: g.length
|
|
20
|
+
};
|
|
21
|
+
}, m[2] = g, m[3] = _, m[4] = O) : O = m[4];
|
|
22
|
+
let k = O, A;
|
|
23
|
+
m[5] !== k || m[6] !== w ? (A = {
|
|
24
|
+
onDragStart: (e) => {
|
|
25
|
+
let { active: t } = e;
|
|
26
|
+
return w.t("reorder.dragStart", k(t.id));
|
|
27
|
+
},
|
|
28
|
+
onDragOver: (e) => {
|
|
29
|
+
let { active: t, over: n } = e;
|
|
30
|
+
return n && n.id !== t.id ? w.t("reorder.dragOver", k(t.id, n.id)) : void 0;
|
|
31
|
+
},
|
|
32
|
+
onDragEnd: (e) => {
|
|
33
|
+
let { active: t, over: n } = e;
|
|
34
|
+
return w.t("reorder.dragEnd", k(t.id, n?.id));
|
|
35
|
+
},
|
|
36
|
+
onDragCancel: (e) => {
|
|
37
|
+
let { active: t } = e;
|
|
38
|
+
return w.t("reorder.dragCancel", k(t.id));
|
|
39
|
+
}
|
|
40
|
+
}, m[5] = k, m[6] = w, m[7] = A) : A = m[7];
|
|
41
|
+
let j = A, M;
|
|
42
|
+
m[8] !== g || m[9] !== b || m[10] !== y ? (M = (e) => {
|
|
43
|
+
let { active: t, over: n } = e;
|
|
44
|
+
b(-1), n && t.id !== n.id && y(g.indexOf(String(t.id)), g.indexOf(String(n.id)));
|
|
45
|
+
}, m[8] = g, m[9] = b, m[10] = y, m[11] = M) : M = m[11];
|
|
46
|
+
let N = M, P;
|
|
47
|
+
m[12] !== g || m[13] !== b ? (P = (e) => {
|
|
48
|
+
let { active: t } = e;
|
|
49
|
+
return b(g.indexOf(String(t.id)));
|
|
50
|
+
}, m[12] = g, m[13] = b, m[14] = P) : P = m[14];
|
|
51
|
+
let F;
|
|
52
|
+
m[15] === b ? F = m[16] : (F = () => b(-1), m[15] = b, m[16] = F);
|
|
53
|
+
let I;
|
|
54
|
+
m[17] === w ? I = m[18] : (I = w.t("reorder.instructions"), m[17] = w, m[18] = I);
|
|
55
|
+
let L;
|
|
56
|
+
m[19] === I ? L = m[20] : (L = { draggable: I }, m[19] = I, m[20] = L);
|
|
57
|
+
let R;
|
|
58
|
+
m[21] !== j || m[22] !== L ? (R = {
|
|
59
|
+
announcements: j,
|
|
60
|
+
screenReaderInstructions: L
|
|
61
|
+
}, m[21] = j, m[22] = L, m[23] = R) : R = m[23];
|
|
62
|
+
let z;
|
|
63
|
+
if (m[24] !== v || m[25] !== x || m[26] !== S || m[27] !== C) {
|
|
64
|
+
let e;
|
|
65
|
+
m[29] !== v || m[30] !== S || m[31] !== C ? (e = (e) => /* @__PURE__ */ n(h, {
|
|
66
|
+
id: S(e),
|
|
67
|
+
disabled: v,
|
|
68
|
+
render: (t) => C(e, t)
|
|
69
|
+
}, S(e)), m[29] = v, m[30] = S, m[31] = C, m[32] = e) : e = m[32], z = x.map(e), m[24] = v, m[25] = x, m[26] = S, m[27] = C, m[28] = z;
|
|
70
|
+
} else z = m[28];
|
|
71
|
+
let B;
|
|
72
|
+
m[33] !== g || m[34] !== z ? (B = /* @__PURE__ */ n(l, {
|
|
73
|
+
items: g,
|
|
74
|
+
strategy: f,
|
|
75
|
+
children: z
|
|
76
|
+
}), m[33] = g, m[34] = z, m[35] = B) : B = m[35];
|
|
77
|
+
let V;
|
|
78
|
+
return m[36] !== N || m[37] !== D || m[38] !== R || m[39] !== B || m[40] !== P || m[41] !== F ? (V = /* @__PURE__ */ n(r, {
|
|
79
|
+
sensors: D,
|
|
80
|
+
collisionDetection: o,
|
|
81
|
+
onDragStart: P,
|
|
82
|
+
onDragEnd: N,
|
|
83
|
+
onDragCancel: F,
|
|
84
|
+
accessibility: R,
|
|
85
|
+
children: B
|
|
86
|
+
}), m[36] = N, m[37] = D, m[38] = R, m[39] = B, m[40] = P, m[41] = F, m[42] = V) : V = m[42], V;
|
|
87
|
+
}
|
|
88
|
+
function h(e) {
|
|
89
|
+
let n = t(12), { id: r, disabled: i, render: a } = e, o;
|
|
90
|
+
n[0] !== i || n[1] !== r ? (o = {
|
|
91
|
+
id: r,
|
|
92
|
+
disabled: i
|
|
93
|
+
}, n[0] = i, n[1] = r, n[2] = o) : o = n[2];
|
|
94
|
+
let s = d(o), c = s.transform?.y ?? 0, l;
|
|
95
|
+
return n[3] !== a || n[4] !== s.attributes || n[5] !== s.isDragging || n[6] !== s.listeners || n[7] !== s.setActivatorNodeRef || n[8] !== s.setNodeRef || n[9] !== s.transition || n[10] !== c ? (l = a({
|
|
96
|
+
setNodeRef: s.setNodeRef,
|
|
97
|
+
y: c,
|
|
98
|
+
transition: s.transition,
|
|
99
|
+
dragging: s.isDragging,
|
|
100
|
+
handle: {
|
|
101
|
+
ref: s.setActivatorNodeRef,
|
|
102
|
+
props: {
|
|
103
|
+
...s.attributes,
|
|
104
|
+
...s.listeners
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}), n[3] = a, n[4] = s.attributes, n[5] = s.isDragging, n[6] = s.listeners, n[7] = s.setActivatorNodeRef, n[8] = s.setNodeRef, n[9] = s.transition, n[10] = c, n[11] = l) : l = n[11], l;
|
|
108
|
+
}
|
|
109
|
+
export { m as default };
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=sortable-rows-DR8aAZrB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortable-rows-DR8aAZrB.js","names":["closestCenter","DndContext","KeyboardSensor","PointerSensor","useSensor","useSensors","Announcements","DragEndEvent","UniqueIdentifier","SortableContext","sortableKeyboardCoordinates","useSortable","verticalListSortingStrategy","ReactNode","useDataTableContext","HandleBind","ref","el","HTMLElement","props","Record","SortableState","setNodeRef","y","transition","dragging","handle","ACTIVATION","distance","SortableRows","t0","$","_c","ids","labelOf","disabled","onMove","onActive","items","keyOf","render","i18n","t1","Symbol","for","activationConstraint","t2","coordinateGetter","sensors","t3","id","t4","position","undefined","row","String","indexOf","total","length","at","onDragStart","t5","active","t","onDragOver","t6","active_0","over","onDragEnd","t7","active_1","over_0","onDragCancel","t8","active_2","announcements","active_3","over_1","active_4","t9","draggable","t10","screenReaderInstructions","t11","t12","item","s","map","t13","SortableItem","transform","attributes","isDragging","listeners","setActivatorNodeRef","_c","useDataTableContext","ACTIVATION","SortableRows","$","c","t0","t1","t2","sortableKeyboardCoordinates","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","t3","ids","labelOf","position","t4","id","at","i18n","t5","active","active_0","t6","over","active_1","over_0","t7","active_2","t8","announcements","onActive","onMove","active_3","over_1","onDragEnd","active_4","t9","t10","t11","disabled","items","keyOf","render","t12","SortableItem","item","s","SortableContext","verticalListSortingStrategy","t13","DndContext","closestCenter","useSortable"],"sources":["../src/core/grid/sortable-rows.tsx"],"sourcesContent":["// Satır sıralama (R21): @dnd-kit bağlamı ve satır başına sortable. Tembel yüklenir (Grid): `reorder` açık değilse @dnd-kit\n// çekirdek pakete girmez. Klavye (tutamakta Space al · ↑↓ · Space bırak · Esc) ve duyurular Columns dialog'uyla aynı (D22 revize).\n// Satırlar sanal: kenarda liste kayar, yeni çizilenler hedef olur (Grid sürüklerken konumu `top` ile verir); yalnızca dikey kayma.\nimport {\n closestCenter,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n type Announcements,\n type DragEndEvent,\n type UniqueIdentifier,\n} from '@dnd-kit/core'\nimport {\n SortableContext,\n sortableKeyboardCoordinates,\n useSortable,\n verticalListSortingStrategy,\n} from '@dnd-kit/sortable'\nimport type { ReactNode } from 'react'\nimport { useDataTableContext } from '../provider'\n\n/** Tutamağa bağlanan ref ve dnd-kit öznitelik / dinleyicileri. */\nexport interface HandleBind {\n ref: (el: HTMLElement | null) => void\n props: Record<string, unknown>\n}\n\nexport interface SortableState {\n setNodeRef: (el: HTMLElement | null) => void\n /** Sürükleme sırasındaki dikey kayma (px). */\n y: number\n transition?: string\n dragging: boolean\n handle: HandleBind\n}\n\n// Tıklama sürükleme sayılmaz: tutamağa basıp bırakmak hiçbir şey yapmaz.\nconst ACTIVATION = { distance: 4 }\n\nexport default function SortableRows<Item>({\n ids,\n labelOf,\n disabled,\n onMove,\n onActive,\n items,\n keyOf,\n render,\n}: {\n /** Gösterilen bütün satırların sırası (çizili olmayanlar dahil). */\n ids: string[]\n labelOf: (id: string) => string\n /** Önceki taşıma sürerken. */\n disabled: boolean\n onMove: (from: number, to: number) => void\n /** Sürüklenen satırın indeksi; bitince −1 (sanal listede DOM'dan çıkmasın). */\n onActive: (index: number) => void\n items: Item[]\n keyOf: (item: Item) => string\n render: (item: Item, state: SortableState) => ReactNode\n}) {\n const { i18n } = useDataTableContext()\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: ACTIVATION }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates }),\n )\n const at = (id: UniqueIdentifier, position: UniqueIdentifier = id) => ({\n row: labelOf(String(id)),\n position: ids.indexOf(String(position)) + 1,\n total: ids.length,\n })\n const announcements: Announcements = {\n onDragStart: ({ active }) => i18n.t('reorder.dragStart', at(active.id)),\n // Hedef kaynağın kendisiyse (yer değişmedi) duyurulmaz.\n onDragOver: ({ active, over }) =>\n over && over.id !== active.id ? i18n.t('reorder.dragOver', at(active.id, over.id)) : undefined,\n onDragEnd: ({ active, over }) => i18n.t('reorder.dragEnd', at(active.id, over?.id)),\n onDragCancel: ({ active }) => i18n.t('reorder.dragCancel', at(active.id)),\n }\n const onDragEnd = ({ active, over }: DragEndEvent) => {\n onActive(-1)\n if (!over || active.id === over.id) return\n onMove(ids.indexOf(String(active.id)), ids.indexOf(String(over.id)))\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragStart={({ active }) => onActive(ids.indexOf(String(active.id)))}\n onDragEnd={onDragEnd}\n onDragCancel={() => onActive(-1)}\n accessibility={{\n announcements,\n screenReaderInstructions: { draggable: i18n.t('reorder.instructions') },\n }}\n >\n <SortableContext items={ids} strategy={verticalListSortingStrategy}>\n {items.map((item) => (\n <SortableItem key={keyOf(item)} id={keyOf(item)} disabled={disabled} render={(s) => render(item, s)} />\n ))}\n </SortableContext>\n </DndContext>\n )\n}\n\nfunction SortableItem({\n id,\n disabled,\n render,\n}: {\n id: string\n disabled: boolean\n render: (state: SortableState) => ReactNode\n}) {\n const s = useSortable({ id, disabled })\n return render({\n setNodeRef: s.setNodeRef,\n y: s.transform?.y ?? 0,\n transition: s.transition,\n dragging: s.isDragging,\n handle: { ref: s.setActivatorNodeRef, props: { ...s.attributes, ...s.listeners } },\n })\n}\n"],"mappings":";;;;;;AAuCA,IAAM2B,IAAa,EAAEC,UAAU,EAAE;AAEjC,SAAeC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAA4B,EAAAC,QAAAC,YAAAC,aAAAC,WAAAC,aAAAC,UAAAC,UAAAC,cAAAV,GAsBzC,EAAAW,YAAiB3B,EAAoB,GAAC4B;CAAA,AAAAX,EAAA,OAAAY,OAAAC,IAAA,2BAAA,KAEXF,IAAA,EAAAG,sBAAwBlB,EAAW,GAACI,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAAA,IAAAe;CAAA,AAAAf,EAAA,OAAAY,OAAAC,IAAA,2BAAA,KACnCE,IAAA,EAAAC,kBAAoBrC,EAA4B,GAACqB,EAAA,KAAAe,KAAAA,IAAAf,EAAA;CAF7E,IAAAiB,IAAgB3C,EACdD,EAAUD,GAAeuC,CAAoC,GAC7DtC,EAAUF,GAAgB4C,CAAiD,CAC7E,GAACG;CAAA,AAAAlB,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KACUe,KAAAC,GAAAC,MAAA;EAAuB,IAAAC,IAAAD,MAAAE,KAAAA,IAAAH,IAAAC;EAA+B,OAAM;GAAAG,KAChEpB,EAAQqB,OAAOL,CAAE,CAAC;GAACE,UACdnB,EAAGuB,QAASD,OAAOH,CAAQ,CAAC,IAAI;GAACK,OACpCxB,EAAGyB;EACZ;CAAC,GAAC3B,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAkB,KAAAA,IAAAlB,EAAA;CAJF,IAAA4B,IAAWV,GAITE;CAAA,AAAApB,EAAA,OAAA4B,KAAA5B,EAAA,OAAAU,KACmCU,IAAA;EAAAS,cACtBC,MAAA;GAAC,IAAA,EAAAC,cAAAD;GAAU,OAAKpB,EAAIsB,EAAG,qBAAqBJ,EAAGG,EAAMZ,EAAG,CAAC;EAAC;EAAAc,aAE3DC,MAAA;GAAC,IAAA,EAAAH,QAAAI,GAAAC,YAAAF;GAAgB,OAC3BE,KAAQA,EAAIjB,OAAQY,EAAMZ,KAAMT,EAAIsB,EAAG,oBAAoBJ,EAAGG,EAAMZ,IAAKiB,EAAIjB,EAAG,CAAa,IAA7FG,KAAAA;EAA8F;EAAAe,YACrFC,MAAA;GAAC,IAAA,EAAAP,QAAAQ,GAAAH,MAAAI,MAAAF;GAAgB,OAAK5B,EAAIsB,EAAG,mBAAmBJ,EAAGG,EAAMZ,IAAKiB,GAAIjB,EAAI,CAAC;EAAC;EAAAsB,eACrEC,MAAA;GAAC,IAAA,EAAAX,QAAAY,MAAAD;GAAU,OAAKhC,EAAIsB,EAAG,sBAAsBJ,EAAGG,EAAMZ,EAAG,CAAC;EAAC;CAC3E,GAACnB,EAAA,KAAA4B,GAAA5B,EAAA,KAAAU,GAAAV,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAPD,IAAA4C,IAAqCxB,GAOpCU;CAAA,AAAA9B,EAAA,OAAAE,KAAAF,EAAA,OAAAM,KAAAN,EAAA,QAAAK,KACiByB,KAAAI,MAAA;EAAC,IAAA,EAAAH,QAAAc,GAAAT,MAAAU,MAAAZ;EAEjB,AADA5B,EAAS,EAAE,GACN8B,KAAQL,EAAMZ,OAAQiB,EAAIjB,MAC/Bd,EAAOH,EAAGuB,QAASD,OAAOO,EAAMZ,EAAG,CAAC,GAAGjB,EAAGuB,QAASD,OAAOY,EAAIjB,EAAG,CAAC,CAAC;CAAC,GACrEnB,EAAA,KAAAE,GAAAF,EAAA,KAAAM,GAAAN,EAAA,MAAAK,GAAAL,EAAA,MAAA8B,KAAAA,IAAA9B,EAAA;CAJD,IAAAqC,IAAkBP,GAIjBI;CAAA,AAAAlC,EAAA,QAAAE,KAAAF,EAAA,QAAAM,KAMgB4B,KAAAI,MAAA;EAAC,IAAA,EAAAP,QAAAgB,MAAAT;EAAU,OAAKhC,EAASJ,EAAGuB,QAASD,OAAOO,EAAMZ,EAAG,CAAC,CAAC;CAAC,GAAAnB,EAAA,MAAAE,GAAAF,EAAA,MAAAM,GAAAN,EAAA,MAAAkC,KAAAA,IAAAlC,EAAA;CAAA,IAAAsC;CAAA,AAAAtC,EAAA,QAAAM,IAErCgC,IAAAtC,EAAA,OAAlBsC,UAAMhC,EAAS,EAAE,GAACN,EAAA,MAAAM,GAAAN,EAAA,MAAAsC;CAAA,IAAAI;CAAA,AAAA1C,EAAA,QAAAU,IAGuCgC,IAAA1C,EAAA,OAA9B0C,IAAAhC,EAAIsB,EAAG,sBAAsB,GAAChC,EAAA,MAAAU,GAAAV,EAAA,MAAA0C;CAAA,IAAAM;CAAA,AAAAhD,EAAA,QAAA0C,IAAEM,IAAAhD,EAAA,OAA7CgD,IAAA,EAAAC,WAAaP,EAA+B,GAAC1C,EAAA,MAAA0C,GAAA1C,EAAA,MAAAgD;CAAA,IAAAE;CAAA,AAAAlD,EAAA,QAAA4C,KAAA5C,EAAA,QAAAgD,KAF1DE,IAAA;EAAAN;EAAAO,0BAEaH;CAC5B,GAAChD,EAAA,MAAA4C,GAAA5C,EAAA,MAAAgD,GAAAhD,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA;CAAA,IAAAoD;CAAA,IAAApD,EAAA,QAAAI,KAAAJ,EAAA,QAAAO,KAAAP,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,GAAA;EAAA,IAAA4C;EAKGrD,AALHA,EAAA,QAAAI,KAAAJ,EAAA,QAAAQ,KAAAR,EAAA,QAAAS,KAGY4C,KAAAC,MACT,kBAAC0D,GAAD;GAAoC,IAAAxG,EAAM8C,CAAI;GAAalD;GAAkB,SAAAmD,MAAO9C,EAAO6C,GAAMC,CAAC;EAAC,GAAhF/C,EAAM8C,CAAI,CAAsE,GACpGtD,EAAA,MAAAI,GAAAJ,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAqD,KAAAA,IAAArD,EAAA,KAFAoD,IAAA7C,EAAKiD,IAAKH,CAEV,GAACrD,EAAA,MAAAI,GAAAJ,EAAA,MAAAO,GAAAP,EAAA,MAAAQ,GAAAR,EAAA,MAAAS,GAAAT,EAAA,MAAAoD;CAAA,OAAAA,IAAApD,EAAA;CAAA,IAAAqD;CAAA,AAAArD,EAAA,QAAAE,KAAAF,EAAA,QAAAoD,KAHJC,IAAA,kBAAC8D,GAAD;EAAwBjH,OAAAA;EAAerB,UAAAA;EACpCuE,UAAAA;CADa,CAAA,GAIEpD,EAAA,MAAAE,GAAAF,EAAA,MAAAoD,GAAApD,EAAA,MAAAqD,KAAAA,IAAArD,EAAA;CAAA,IAAAyD;CACP,OADOzD,EAAA,QAAAqC,KAAArC,EAAA,QAAAiB,KAAAjB,EAAA,QAAAkD,KAAAlD,EAAA,QAAAqD,KAAArD,EAAA,QAAAkC,KAAAlC,EAAA,QAAAsC,KAfpBmB,IAAA,kBAAC6D,GAAD;EACWrG;EACWhD,oBAAAA;EACP,aAAAiE;EACFG;EACG,cAAAC;EACC,eAAAY;EAKfG,UAAAA;CAXS,CAAA,GAgBErD,EAAA,MAAAqC,GAAArC,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkD,GAAAlD,EAAA,MAAAqD,GAAArD,EAAA,MAAAkC,GAAAlC,EAAA,MAAAsC,GAAAtC,EAAA,MAAAyD,KAAAA,IAAAzD,EAAA,KAhBbyD;AAgBa;AAIjB,SAAAC,EAAA3D,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAsB,EAAAkB,OAAAf,aAAAK,cAAAV,GAQrBY;CAAA,AAAAX,EAAA,OAAAI,KAAAJ,EAAA,OAAAmB,KACuBR,IAAA;EAAAQ;EAAAf;CAAe,GAACJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAmB,GAAAnB,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAAtC,IAAAuD,IAAU3E,EAAY+B,CAAgB,GAGjCI,IAAAwC,EAACI,WAAanE,KAAd,GAAmB0B;CAItB,OAJsBlB,EAAA,OAAAS,KAAAT,EAAA,OAAAuD,EAAAK,cAAA5D,EAAA,OAAAuD,EAAAM,cAAA7D,EAAA,OAAAuD,EAAAO,aAAA9D,EAAA,OAAAuD,EAAAQ,uBAAA/D,EAAA,OAAAuD,EAAAhE,cAAAS,EAAA,OAAAuD,EAAA9D,cAAAO,EAAA,QAAAe,KAFjBG,IAAAT,EAAO;EAAAlB,YACAgE,EAAChE;EAAWC,GACrBuB;EAAmBtB,YACV8D,EAAC9D;EAAWC,UACd6D,EAACM;EAAWlE,QACd;GAAAV,KAAOsE,EAACQ;GAAoB3E,OAAS;IAAA,GAAKmE,EAACK;IAAW,GAAKL,EAACO;GAAW;EAAE;CACnF,CAAC,GAAC9D,EAAA,KAAAS,GAAAT,EAAA,KAAAuD,EAAAK,YAAA5D,EAAA,KAAAuD,EAAAM,YAAA7D,EAAA,KAAAuD,EAAAO,WAAA9D,EAAA,KAAAuD,EAAAQ,qBAAA/D,EAAA,KAAAuD,EAAAhE,YAAAS,EAAA,KAAAuD,EAAA9D,YAAAO,EAAA,MAAAe,GAAAf,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA,KANKkB;AAML"}
|
package/dist/style.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
@layer medyat-dt{:root,[data-theme=light]{--dt-canvas:#f4f5f7;--dt-surface:#fff;--dt-surface-2:#fafafb;--dt-surface-3:#f1f2f4;--dt-seg-on:#fff;--dt-track:#e8eaee;--dt-line:#e6e8ec;--dt-line-2:#d8dbe1;--dt-line-3:#b4b9c2;--dt-text:#15171c;--dt-text-2:#4a505b;--dt-text-3:#676d78;--dt-ink:#15171c;--dt-on-ink:#fff;--dt-accent:#2d5be3;--dt-on-accent:#fff;--dt-accent-text:#2347c0;--dt-accent-soft:#eef2fe;--dt-accent-soft-2:#d9e3fd;--dt-focus:#2d5be373;--dt-focus-soft:#2d5be324;--dt-row-hover:#f8f9fa;--dt-row-selected:#f2f5fe;--dt-row-selected-hover:#eaf0fe;--dt-sk:#edeff2;--dt-sk-hi:#f7f8fa;--dt-scrim:#0f111647;--dt-danger:#c42626;--dt-danger-hover:#ae1f1f;--dt-on-danger:#fff;--dt-switch-knob:#fff;--dt-swatch-line:#1018281f;--dt-live-halo:#2c9d5a2e;--dt-r-line:#f6cfcf;--dt-a-line:#f2ddb4;--dt-fill-text-dark:#15171c;--dt-fill-text-light:#fff;--dt-bulk-bg:#15171c;--dt-bulk-fg:#f1f2f4;--dt-bulk-fg-2:#a3a9b4;--dt-bulk-line:#ffffff24;--dt-bulk-hover:#ffffff17;--dt-bulk-link:#afc2ff;--dt-tip-bg:#15171c;--dt-tip-fg:#f1f2f4;--dt-bulk-danger:#ff9f9f;--dt-bulk-warn:#f1c46c;--dt-error-tip-bg:#b42323;--dt-n-bg:#f0f1f3;--dt-n-fg:#4a505b;--dt-n-dot:#8c929c;--dt-b-bg:#ebf0fe;--dt-b-fg:#2347c0;--dt-b-dot:#3d68f0;--dt-g-bg:#e5f4eb;--dt-g-fg:#1b683a;--dt-g-dot:#2c9d5a;--dt-a-bg:#fcf1dd;--dt-a-fg:#864f00;--dt-a-dot:#e09412;--dt-r-bg:#fcebeb;--dt-r-fg:#b02121;--dt-r-dot:#e5484d;--dt-v-bg:#f1edfd;--dt-v-fg:#5939c0;--dt-v-dot:#7c5cf0;--dt-p-bg:#fceaf1;--dt-p-fg:#9e2450;--dt-p-dot:#d9488a;--dt-c-bg:#e3f3f3;--dt-c-fg:#1c6466;--dt-c-dot:#2a9a9c;--dt-shadow-sm:0 1px 2px #1018280d;--dt-shadow-pop:0 0 0 1px #10182814, 0 2px 4px #1018280a, 0 14px 34px -8px #1018282e;--dt-shadow-dialog:0 0 0 1px #10182812, 0 28px 60px -14px #10182857;--dt-shadow-pin-l:1px 0 0 var(--dt-line), 10px 0 12px -10px #10182838;--dt-shadow-pin-r:-1px 0 0 var(--dt-line), -10px 0 12px -10px #10182838;--dt-shadow-float:0 0 0 1px var(--dt-bulk-line), 0 18px 40px -10px #10182873;--dt-shadow-tip:0 6px 16px -6px #10182859;--dt-shadow-editing:0 6px 16px -6px #10182847;--dt-font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--dt-font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--dt-ui-fs:14px;--dt-ui-fs-3xs:calc(var(--dt-ui-fs) - 2px);--dt-ui-fs-2xs:calc(var(--dt-ui-fs) - 1.5px);--dt-ui-fs-xs:calc(var(--dt-ui-fs) - 1px);--dt-ui-fs-sm:calc(var(--dt-ui-fs) - .5px);--dt-ui-fs-md:calc(var(--dt-ui-fs) + 1px);--dt-ui-fs-lg:calc(var(--dt-ui-fs) + 2px);--dt-ui-fs-xl:calc(var(--dt-ui-fs) + 3px);--dt-ui-fs-2xl:calc(var(--dt-ui-fs) + 4px);--dt-icon:18px;--dt-control-h:36px;--dt-control-h-lg:calc(var(--dt-control-h) + 4px);--dt-control-h-sm:calc(var(--dt-control-h) - 4px);--dt-control-h-xs:calc(var(--dt-control-h) - 8px);--dt-control-h-2xs:calc(var(--dt-control-h) - 12px);--dt-checkbox:18px;--dt-space:10px;--dt-space-sm:calc(var(--dt-space) - 2px);--dt-space-lg:calc(var(--dt-space) + 2px);--dt-pop-pad:6px;--dt-item-x:10px;--dt-radius-xs:4px;--dt-radius-sm:5px;--dt-radius-md:7px;--dt-radius-item:6px;--dt-radius-inner:8px;--dt-radius-pop:10px;--dt-radius-card:12px;--dt-radius-dialog:14px;--dt-radius-pill:999px;--dt-radius-bottom-sheet:18px}.dark,[data-theme=dark]{--dt-canvas:#0b0c0f;--dt-surface:#131418;--dt-surface-2:#16181c;--dt-surface-3:#1f2127;--dt-seg-on:#2b2e35;--dt-track:#2a2d34;--dt-line:#24272d;--dt-line-2:#30333b;--dt-line-3:#4c515b;--dt-text:#ecedf0;--dt-text-2:#b3b8c1;--dt-text-3:#8d929c;--dt-ink:#ecedf0;--dt-on-ink:#131418;--dt-accent:#6e8bff;--dt-on-accent:#0b0c0f;--dt-accent-text:#9cb0ff;--dt-accent-soft:#6e8bff1f;--dt-accent-soft-2:#6e8bff42;--dt-focus:#6e8bff8c;--dt-focus-soft:#6e8bff2e;--dt-row-hover:#17191e;--dt-row-selected:#161c2e;--dt-row-selected-hover:#1a2136;--dt-sk:#1c1e23;--dt-sk-hi:#25282e;--dt-scrim:#0000008c;--dt-danger:#c42626;--dt-danger-hover:#ae1f1f;--dt-on-danger:#fff;--dt-switch-knob:#fff;--dt-swatch-line:#ffffff29;--dt-live-halo:#3db87333;--dt-r-line:#f0525247;--dt-a-line:#e8a32a42;--dt-fill-text-dark:#15171c;--dt-fill-text-light:#fff;--dt-bulk-bg:#24272e;--dt-bulk-fg:#ecedf0;--dt-bulk-fg-2:#9aa0aa;--dt-bulk-line:#ffffff1f;--dt-bulk-hover:#ffffff12;--dt-bulk-link:#9cb0ff;--dt-tip-bg:#2b2e35;--dt-tip-fg:#ecedf0;--dt-bulk-danger:#ff9f9f;--dt-bulk-warn:#f1c46c;--dt-error-tip-bg:#b42323;--dt-n-bg:#23262c;--dt-n-fg:#c2c7cf;--dt-n-dot:#8d929c;--dt-b-bg:#6e8bff26;--dt-b-fg:#abf;--dt-b-dot:#6e8bff;--dt-g-bg:#38b26c24;--dt-g-fg:#7dd4a2;--dt-g-dot:#3db873;--dt-a-bg:#e8a32a24;--dt-a-fg:#f1c46c;--dt-a-dot:#e8a32a;--dt-r-bg:#f0525226;--dt-r-fg:#ff9f9f;--dt-r-dot:#f05252;--dt-v-bg:#9b7bff29;--dt-v-fg:#c7b9ff;--dt-v-dot:#9b7bff;--dt-p-bg:#e65a9626;--dt-p-fg:#ffa8cb;--dt-p-dot:#e65a96;--dt-c-bg:#32b4b626;--dt-c-fg:#86dadb;--dt-c-dot:#32b4b6;--dt-shadow-sm:0 1px 2px #00000059;--dt-shadow-pop:0 0 0 1px #ffffff14, 0 14px 34px -8px #000000b3;--dt-shadow-dialog:0 0 0 1px #ffffff14, 0 28px 60px -14px #000c;--dt-shadow-pin-l:1px 0 0 var(--dt-line), 10px 0 12px -10px #000000b3;--dt-shadow-pin-r:-1px 0 0 var(--dt-line), -10px 0 12px -10px #000000b3;--dt-shadow-float:0 0 0 1px var(--dt-bulk-line), 0 18px 40px -10px #10182873;--dt-shadow-tip:0 6px 16px -6px #10182859;--dt-shadow-editing:0 6px 16px -6px #10182847}:root,[data-density=standard]{--dt-row-h:44px;--dt-head-h:40px;--dt-cell-x:14px;--dt-fs:14px;--dt-fs-head:13px;--dt-av:22px;--dt-badge-h:24px;--dt-mono-fs:13.5px;--dt-currency-fs:12px;--dt-avatar-fs:10px}[data-density=comfortable]{--dt-row-h:56px;--dt-head-h:44px;--dt-cell-x:16px;--dt-fs:14.5px;--dt-fs-head:13px;--dt-av:26px;--dt-badge-h:26px;--dt-mono-fs:14px;--dt-currency-fs:12px;--dt-avatar-fs:11px}[data-density=compact]{--dt-row-h:32px;--dt-head-h:32px;--dt-cell-x:10px;--dt-fs:12.5px;--dt-fs-head:11.5px;--dt-av:18px;--dt-badge-h:20px;--dt-mono-fs:12px;--dt-currency-fs:10.5px;--dt-avatar-fs:8px}.dt-btn{align-items:center;gap:var(--dt-space-sm);height:var(--dt-control-h);border:1px solid var(--dt-line-2);border-radius:var(--dt-radius-md);background:var(--dt-surface);color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs);white-space:nowrap;box-shadow:var(--dt-shadow-sm);cursor:pointer;padding:0 12px;font-weight:500;line-height:1;transition:background .12s;display:inline-flex}.dt-btn.has-icon{padding-left:10px}.dt-btn:hover{background:var(--dt-surface-3)}.dt-btn:disabled,.dt-btn[aria-disabled=true]{background:var(--dt-surface-2);border-color:var(--dt-line);color:var(--dt-text-3);box-shadow:none;cursor:default}.dt-btn-primary{background:var(--dt-ink);border-color:var(--dt-ink);color:var(--dt-on-ink)}.dt-btn-primary:hover{background:var(--dt-ink);opacity:.92}.dt-btn-danger{background:var(--dt-danger);border-color:var(--dt-danger);color:var(--dt-on-danger)}.dt-btn-danger:hover{background:var(--dt-danger-hover);border-color:var(--dt-danger-hover)}.dt-btn-ghost{height:var(--dt-control-h-sm);color:var(--dt-text-2);box-shadow:none;background:0 0;border-color:#0000;padding:0 8px}.dt-btn-ghost:hover{background:var(--dt-surface-3)}.dt-btn-xs{height:var(--dt-control-h-xs);border-radius:var(--dt-radius-sm);font-size:var(--dt-ui-fs-xs);padding:0 8px}.dt-btn-sm{height:var(--dt-control-h-sm);border-radius:var(--dt-radius-item);font-size:var(--dt-ui-fs-sm)}.dt-btn-group{align-items:center;min-width:0;display:inline-flex}.dt-btn-group>:not([aria-hidden=true],[aria-owns])~:not([aria-hidden=true],[aria-owns]){margin-left:-1px}.dt-btn-group>:not([aria-hidden=true],[aria-owns])~:not([aria-hidden=true],[aria-owns]),.dt-btn-group>:not([aria-hidden=true],[aria-owns])~:not([aria-hidden=true],[aria-owns]) input{border-top-left-radius:0;border-bottom-left-radius:0}.dt-btn-group>:has(~:not([aria-hidden=true],[aria-owns])){border-top-right-radius:0;border-bottom-right-radius:0}.dt-btn-group>:has(~:not([aria-hidden=true],[aria-owns])) input{border-top-right-radius:0;border-bottom-right-radius:0}.dt-btn-group>:focus-visible,.dt-btn-group>:focus-within{z-index:1;position:relative}.dt-btn-icon{width:var(--dt-control-h);justify-content:center;padding:0}.dt-btn-icon.dt-btn-sm{width:var(--dt-control-h-sm)}.dt-btn.is-active{background:var(--dt-accent-soft);border-color:var(--dt-accent-soft-2);color:var(--dt-accent-text);box-shadow:none}.dt-counter{border-radius:var(--dt-radius-pill);background:var(--dt-accent);min-width:18px;height:18px;color:var(--dt-on-accent);font-size:var(--dt-ui-fs-2xs);justify-content:center;align-items:center;padding:0 5px;font-weight:600;display:inline-flex}.dt-input{height:var(--dt-control-h);align-items:center;display:inline-flex;position:relative}.dt-input input{border:1px solid var(--dt-line-2);border-radius:var(--dt-radius-md);background:var(--dt-surface);width:100%;height:100%;color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs);box-shadow:var(--dt-shadow-sm);outline:none;padding:0 10px}.dt-input input::placeholder{color:var(--dt-text-3)}.dt-input input:focus{border-color:var(--dt-accent);box-shadow:0 0 0 3px var(--dt-focus-soft)}.dt-input.has-icon input{padding-left:34px}.dt-input-icon{color:var(--dt-text-3);pointer-events:none;display:inline-flex;position:absolute;left:10px}.dt-input-end{align-items:center;display:inline-flex;position:absolute;right:5px}.dt-input-clear{border-radius:var(--dt-radius-sm);width:22px;height:22px;color:var(--dt-text-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-input-clear:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt-kbd{border-radius:var(--dt-radius-xs);background:var(--dt-surface-3);height:18px;color:var(--dt-text-2);font-family:var(--dt-font-mono);font-size:var(--dt-ui-fs-3xs);align-items:center;padding:0 5px;font-weight:500;line-height:1;display:inline-flex}.dt-seg{height:var(--dt-control-h);border-radius:var(--dt-radius-inner);background:var(--dt-surface-3);box-sizing:border-box;padding:2px;display:inline-flex}.dt-seg.dt-seg-sm{height:var(--dt-control-h-sm)}.dt-seg-item{border-radius:var(--dt-radius-item);color:var(--dt-text-2);font:inherit;font-size:var(--dt-ui-fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.dt-seg-item[data-state=on]{background:var(--dt-seg-on);color:var(--dt-text);box-shadow:var(--dt-shadow-sm)}.dt-switch{border-radius:var(--dt-radius-pill);background:var(--dt-line-3);box-sizing:border-box;cursor:pointer;border:0;flex:none;width:28px;height:16px;padding:2px;transition:background .15s;position:relative}.dt-switch[data-state=checked]{background:var(--dt-accent)}.dt-switch-thumb{border-radius:var(--dt-radius-pill);background:var(--dt-switch-knob);width:12px;height:12px;transition:transform .15s;display:block}.dt-switch[data-state=checked] .dt-switch-thumb{transform:translate(12px)}.dt-pop,.dt-menu{padding:var(--dt-pop-pad);border-radius:var(--dt-radius-pop);background:var(--dt-surface);color:var(--dt-text);box-shadow:var(--dt-shadow-pop);font-family:var(--dt-font);font-size:var(--dt-ui-fs);z-index:40;outline:none}.dt-menu{min-width:calc(220 * var(--dt-ui-fs) / 13)}.dt-menu-item,.dt-pop-item{align-items:center;gap:var(--dt-space);min-height:var(--dt-control-h);padding:0 var(--dt-item-x);border-radius:var(--dt-radius-item);color:inherit;font:inherit;text-align:left;cursor:default;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:0 0;border:0;outline:none;width:100%;display:flex}.dt-menu-item[data-highlighted],.dt-pop-item:hover,.dt-pop-item:focus-visible{background:var(--dt-surface-3)}.dt-menu-item[data-disabled]{color:var(--dt-text-3)}.dt-item-lines{flex-direction:column;gap:1px;padding:6px 0;display:flex}.dt-item-hint{color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs)}.dt-menu-item.is-destructive{color:var(--dt-r-fg)}.dt-menu-item .dt-kbd{color:var(--dt-text-3);background:0 0;margin-left:auto}.dt-menu-sep,.dt-pop-sep{background:var(--dt-line);height:1px;margin:4px 0}.dt-menu-label,.dt-pop-label{height:var(--dt-control-h-sm);color:var(--dt-text-3);font-size:var(--dt-ui-fs-2xs);justify-content:space-between;align-items:center;padding:0 8px;font-weight:500;display:flex}.dt-pop-label .dt-pop-action{font-weight:500}.dt-pop-action{color:var(--dt-text-2);font:inherit;font-size:var(--dt-ui-fs-xs);cursor:pointer;background:0 0;border:0;padding:0}.dt-pop-action:hover{color:var(--dt-text);text-decoration:underline}.dt-pop-foot{height:var(--dt-control-h-lg);padding:0 var(--dt-item-x);border-top:1px solid var(--dt-line);color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs);justify-content:space-between;align-items:center;margin-top:4px;display:flex}.dt-pop-value{color:var(--dt-text-3);font-size:var(--dt-ui-fs-sm);margin-left:auto}.dt-icon-btn-xs{width:var(--dt-control-h-2xs);height:var(--dt-control-h-2xs);border-radius:var(--dt-radius-xs);color:var(--dt-text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-icon-btn-xs:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt-icon-btn-xs:disabled{color:var(--dt-line-3);cursor:default;background:0 0}.dt-icon-btn-sm{width:var(--dt-control-h-xs);height:var(--dt-control-h-xs);border-radius:var(--dt-radius-sm);color:var(--dt-text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-icon-btn-sm:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt :is(.dt-btn,.dt-seg-item,.dt-switch,.dt-radio,.dt-icon-btn-xs,.dt-icon-btn-sm,.dt-pop-item,.dt-pop-action,.dt-input-clear):focus-visible{box-shadow:0 0 0 2px var(--dt-surface), 0 0 0 4px var(--dt-focus);outline:none}@media (prefers-reduced-motion:reduce){.dt-btn,.dt-switch,.dt-switch-thumb{transition:none}}.dt-scrim{background:var(--dt-scrim);z-index:50;position:fixed;inset:0}.dt-dialog{width:calc(460 * var(--dt-ui-fs) / 13);border-radius:var(--dt-radius-dialog);background:var(--dt-surface);max-width:calc(100vw - 32px);color:var(--dt-text);box-shadow:var(--dt-shadow-dialog);font-family:var(--dt-font);font-size:var(--dt-ui-fs);box-sizing:border-box;z-index:51;outline:none;padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dt-dialog-title{font-size:var(--dt-ui-fs-xl);margin:0;font-weight:600}.dt-dialog-body{color:var(--dt-text-2);margin:4px 0 0;line-height:1.45}.dt-dialog-actions{justify-content:flex-end;gap:var(--dt-space);margin-top:16px;display:flex}.dt-dialog-confirm .dt-dialog-actions{margin-top:20px}.dt-field{margin-top:16px;display:block}.dt-field-label{margin-bottom:6px;font-weight:500;display:block}.dt-field .dt-input{display:flex}.dt-field-error{color:var(--dt-r-fg);font-size:var(--dt-ui-fs-sm);margin-top:6px;display:block}.dt-check-row{align-items:center;gap:var(--dt-space);margin-top:10px;display:flex}@media (forced-colors:active){.dt-btn,.dt-input input,.dt-select select,.dt-badge,.dt-chip,.dt-pop,.dt-menu,.dt-dialog{border:1px solid canvastext}.dt-btn-primary,.dt-btn-danger,.dt-checkbox,.dt-switch,.dt-mark,.dt-sheet-dot,.dt-fill-handle,.dt-badge-dot,.dt-avatar{forced-color-adjust:none}.dt-row.is-selected,.dt-sheet-grid .dt-cell[data-col].is-active,.dt-sheet-grid .dt-cell[data-col].is-editing,.dt-head-label:focus-visible,.dt-btn:focus-visible,.dt-menu-item[data-highlighted],.dt-pop-item:focus-visible{outline-offset:-2px;box-shadow:none;outline:2px solid highlight}.dt-chip:has(:focus-visible){outline-offset:-2px;box-shadow:none;outline:2px solid highlight}.dt-sheet-grid .dt-cell[data-col].is-selected,.dt-sheet-grid .dt-cell[data-col].is-changed,.dt-sheet-grid .dt-cell[data-col].is-match{outline-offset:-1px;outline:1px solid highlight}.dt-sheet-grid .dt-cell[data-col].is-error,.dt-sheet-grid .dt-cell[data-col].is-warning{outline-offset:-2px;outline:2px dashed canvastext}.dt-cell-tip,.dt-tip,.dt-bulk,.dt-fill-label{border:1px solid canvastext}}[class*=dt-] svg[width="10"]{width:calc(var(--dt-icon) + -6px);height:calc(var(--dt-icon) + -6px)}[class*=dt-] svg[width="11"]{width:calc(var(--dt-icon) + -5px);height:calc(var(--dt-icon) + -5px)}[class*=dt-] svg[width="12"]{width:calc(var(--dt-icon) + -4px);height:calc(var(--dt-icon) + -4px)}[class*=dt-] svg[width="13"]{width:calc(var(--dt-icon) + -3px);height:calc(var(--dt-icon) + -3px)}[class*=dt-] svg[width="14"]{width:calc(var(--dt-icon) + -2px);height:calc(var(--dt-icon) + -2px)}[class*=dt-] svg[width="15"]{width:calc(var(--dt-icon) + -1px);height:calc(var(--dt-icon) + -1px)}[class*=dt-] svg[width="16"]{width:calc(var(--dt-icon) + 0px);height:calc(var(--dt-icon) + 0px)}[class*=dt-] svg[width="17"]{width:calc(var(--dt-icon) + 1px);height:calc(var(--dt-icon) + 1px)}[class*=dt-] svg[width="18"]{width:calc(var(--dt-icon) + 2px);height:calc(var(--dt-icon) + 2px)}[class*=dt-] svg[width="19"]{width:calc(var(--dt-icon) + 3px);height:calc(var(--dt-icon) + 3px)}[class*=dt-] svg[width="20"]{width:calc(var(--dt-icon) + 4px);height:calc(var(--dt-icon) + 4px)}[class*=dt-] svg[width="21"]{width:calc(var(--dt-icon) + 5px);height:calc(var(--dt-icon) + 5px)}[class*=dt-] svg[width="22"]{width:calc(var(--dt-icon) + 6px);height:calc(var(--dt-icon) + 6px)}.dt-empty{color:var(--dt-text-3)}.dt-mono{font-family:var(--dt-font-mono);font-size:var(--dt-mono-fs);letter-spacing:-.01em;font-weight:500}.dt-ccy{font-family:var(--dt-font-mono);font-size:var(--dt-currency-fs);color:var(--dt-text-3);margin-left:6px;font-weight:500}.dt-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--dt-text-3);text-decoration-color:var(--dt-text-3);text-underline-offset:2px}.dt-link:hover{color:var(--dt-accent-text);text-decoration-color:currentColor}.dt-grid:not(.dt-sheet-grid) .dt-link:focus-visible{box-shadow:none;color:var(--dt-accent-text);outline:none;text-decoration-color:currentColor;text-decoration-thickness:2px}.dt-link-icon{vertical-align:-1px;color:var(--dt-text-3);margin-left:4px;display:inline-block}.dt-tone-gray{--dt-tone-bg:var(--dt-n-bg);--dt-tone-fg:var(--dt-n-fg);--dt-tone-dot:var(--dt-n-dot)}.dt-tone-blue{--dt-tone-bg:var(--dt-b-bg);--dt-tone-fg:var(--dt-b-fg);--dt-tone-dot:var(--dt-b-dot)}.dt-tone-green{--dt-tone-bg:var(--dt-g-bg);--dt-tone-fg:var(--dt-g-fg);--dt-tone-dot:var(--dt-g-dot)}.dt-tone-amber{--dt-tone-bg:var(--dt-a-bg);--dt-tone-fg:var(--dt-a-fg);--dt-tone-dot:var(--dt-a-dot)}.dt-tone-red{--dt-tone-bg:var(--dt-r-bg);--dt-tone-fg:var(--dt-r-fg);--dt-tone-dot:var(--dt-r-dot)}.dt-tone-violet{--dt-tone-bg:var(--dt-v-bg);--dt-tone-fg:var(--dt-v-fg);--dt-tone-dot:var(--dt-v-dot)}.dt-tone-pink{--dt-tone-bg:var(--dt-p-bg);--dt-tone-fg:var(--dt-p-fg);--dt-tone-dot:var(--dt-p-dot)}.dt-tone-teal{--dt-tone-bg:var(--dt-c-bg);--dt-tone-fg:var(--dt-c-fg);--dt-tone-dot:var(--dt-c-dot)}.dt-tone-custom{--dt-tone-fg:var(--dt-tone-light);--dt-tone-dot:var(--dt-tone-light);--dt-tone-bg:color-mix(in srgb, var(--dt-tone-light) 12%, transparent)}.dark .dt-tone-custom,[data-theme=dark] .dt-tone-custom{--dt-tone-fg:var(--dt-tone-dark);--dt-tone-dot:var(--dt-tone-dark);--dt-tone-bg:color-mix(in srgb, var(--dt-tone-dark) 15%, transparent)}.dt-badge{align-items:center;gap:var(--dt-space-sm);max-width:100%;height:var(--dt-badge-h);border-radius:var(--dt-radius-pill);background:var(--dt-tone-bg);color:var(--dt-tone-fg);font-size:var(--dt-ui-fs-xs);vertical-align:middle;padding:0 8px;font-weight:500;line-height:1;display:inline-flex}.dt-badge-dot{border-radius:var(--dt-radius-pill);background:var(--dt-tone-dot);flex:none;width:6px;height:6px}.dt-badge-icon{color:var(--dt-tone-dot);flex:none}.dt-badge-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dt-badges{vertical-align:middle;align-items:center;gap:4px;max-width:100%;display:inline-flex}.dt-more{border-radius:var(--dt-radius-sm);background:var(--dt-surface-3);height:22px;color:var(--dt-text-2);font-size:var(--dt-ui-fs-xs);align-items:center;padding:0 6px;font-weight:500;line-height:1;display:inline-flex}.dt-more-pill{border-radius:var(--dt-radius-pill);height:20px;font-size:var(--dt-ui-fs-2xs)}.dt-user{align-items:center;gap:var(--dt-space);vertical-align:middle;max-width:100%;display:inline-flex}.dt-user.is-empty{color:var(--dt-text-3)}.dt-user-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dt-avatar{width:var(--dt-av);height:var(--dt-av);border-radius:var(--dt-radius-pill);background:var(--dt-tone-bg) center / cover no-repeat;color:var(--dt-tone-fg);font-size:var(--dt-avatar-fs);flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.dt-avatar.is-empty{border:1px dashed var(--dt-line-3);box-sizing:border-box;background:0 0}.dt-avatars{gap:0}.dt-avatars .dt-avatar{box-shadow:0 0 0 1.5px var(--dt-row-bg,var(--dt-surface))}.dt-avatars .dt-avatar+.dt-avatar,.dt-avatars .dt-more{margin-left:-4px}.dt-bar{justify-content:flex-end;align-items:center;gap:var(--dt-space);width:100%;display:inline-flex}.dt-bar-track{border-radius:var(--dt-radius-pill);background:var(--dt-track);width:90px;max-width:60%;height:6px;overflow:hidden}.dt-bar-fill{border-radius:var(--dt-radius-pill);background:var(--dt-n-dot);height:100%;display:block}.dt-bar-label{text-align:right;min-width:36px}.dt-stars{color:var(--dt-line-2);vertical-align:middle;gap:2px;display:inline-flex}.dt-stars .is-on{color:var(--dt-a-dot)}.dt-swatch{width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--dt-swatch-line);vertical-align:-2px;border-radius:3px;margin-right:8px;display:inline-block}.dt-late{color:var(--dt-r-fg)}.dt-text{align-items:center;gap:4px;min-width:0;display:flex}.dt-text-first{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dt-text-2);flex:1;overflow:hidden}.dt-text-expand{width:var(--dt-control-h-xs);height:var(--dt-control-h-xs);border-radius:var(--dt-radius-sm);color:var(--dt-text-3);vertical-align:middle;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-text-expand:hover{background:var(--dt-surface-3);color:var(--dt-text-2)}.dt-struct{border-radius:var(--dt-radius-xs);background:var(--dt-surface-3);height:20px;color:var(--dt-text-2);font-family:var(--dt-font-mono);font-size:var(--dt-ui-fs-3xs);vertical-align:middle;align-items:center;margin-right:8px;padding:0 5px;font-weight:500;line-height:1;display:inline-flex}.dt-secondary{font-size:var(--dt-ui-fs-xs);color:var(--dt-text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;line-height:1.25;display:block;overflow:hidden}.dt-grid{outline:none;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.dt-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.dt-head,.dt-row{grid-template-columns:var(--cols);min-width:var(--dt-min-w);box-sizing:border-box;display:grid}.dt-head{z-index:3;height:var(--dt-head-h);background:var(--dt-surface-2);border-bottom:1px solid var(--dt-line);position:sticky;top:0}.dt-body{width:100%;min-width:var(--dt-min-w);position:relative}.dt-item{width:100%;min-width:var(--dt-min-w);position:absolute;top:0;left:0}.dt-row{width:100%;height:calc(var(--dt-row-h) + 1px);--dt-row-bg:var(--dt-surface);border-bottom:1px solid var(--dt-line);outline:none;position:relative}.dt-row.is-selected{--dt-row-bg:var(--dt-row-selected)}.dt-row.is-selected:hover{--dt-row-bg:var(--dt-row-selected-hover)}.dt-row:hover{--dt-row-bg:var(--dt-row-hover)}.dt-row.is-error,.dt-row.is-error:hover,.dt-row.is-error.is-selected,.dt-row.is-error.is-selected:hover{--dt-row-bg:var(--dt-r-bg)}.dt-row-error{color:var(--dt-r-dot);flex:none;display:inline-flex}.dt-row-more-space{width:var(--dt-control-h-sm);height:var(--dt-control-h-sm);flex:none}.dt-row-inline-wrap{flex:none;display:inline-flex}.dt-row-inline:hover:not(:disabled){background:var(--dt-surface-3);color:var(--dt-text)}.dt-row-inline:disabled{opacity:.45;cursor:default}.dt-cell,.dt-head-cell{min-width:0;padding:0 var(--dt-cell-x);box-sizing:border-box;background:var(--dt-row-bg);align-items:center;display:flex;position:relative}.dt-head-cell.is-right{text-align:right;justify-content:flex-end}.dt-cell{flex-direction:column;justify-content:center;align-items:stretch;line-height:1.4}.dt-cell.is-right{text-align:right;align-items:flex-end}.dt-cell.is-center{text-align:center;align-items:center}.dt-cell.is-right .dt-cell-content{text-align:right}.dt-cell-content{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.dt-cell.is-numeric{font-variant-numeric:tabular-nums}.dt-cell.is-primary .dt-cell-content{font-weight:500}.dt-cell.is-pinned-start,.dt-cell.is-pinned-end,.dt-head-cell.is-pinned-start,.dt-head-cell.is-pinned-end{z-index:1;position:sticky}.dt-head-cell.is-pinned-start,.dt-head-cell.is-pinned-end{z-index:4}.dt-grid.is-scrolled-start .is-pinned-start.is-pin-edge{box-shadow:var(--dt-shadow-pin-l);clip-path:inset(0 -16px 0 0)}.dt-grid.is-scrolled-end .is-pinned-end.is-pin-edge{box-shadow:var(--dt-shadow-pin-r);clip-path:inset(0 0 0 -16px)}.dt-head-cell{--dt-row-bg:var(--dt-surface-2);font-size:var(--dt-fs-head);color:var(--dt-text-2);gap:2px;font-weight:500}.dt-head-cell .dt-head-menu{width:0;overflow:hidden}.dt-head-cell:not(.is-right) .dt-head-menu{margin-left:auto}.dt-head-cell:is(:hover,:focus-within,.is-menu-open) .dt-head-menu{width:var(--dt-control-h-2xs)}.dt-head-cell:is(:hover,:focus-within,.is-menu-open) .dt-head-label{margin-right:2px}@media (pointer:coarse){.dt-head-cell .dt-head-menu{width:var(--dt-control-h-2xs)}.dt-head-cell .dt-head-label{margin-right:2px}.dt-head-menu{opacity:1}}.dt-head-sep{background:var(--dt-line);width:1px;height:40%;position:absolute;top:30%;right:0}.dt-head-label{min-width:0;max-width:100%;height:var(--dt-control-h-xs);border-radius:var(--dt-radius-item);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;margin:0 -4px;padding:0 4px;display:inline-flex;overflow:hidden}.dt-head-label.is-static{cursor:default}.dt-head-cell:not(.is-static):hover .dt-head-label:not(.is-static){background:var(--dt-surface-3)}.dt-head-text{text-overflow:ellipsis;overflow:hidden}.dt-head-unit{color:var(--dt-text-3);font-weight:400}.dt-head-cell.is-sorted .dt-head-text{color:var(--dt-text)}.dt-head-sort{color:var(--dt-text);align-items:center;gap:2px;display:inline-flex}.dt-head-sort .is-desc{transition:transform .15s;transform:rotate(180deg)}.dt-head-sort-index{border-radius:var(--dt-radius-xs);background:var(--dt-surface-3);width:14px;height:14px;font-size:var(--dt-ui-fs-3xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.dt-head-pin{color:var(--dt-text-3);flex:none}.dt-head-icon{width:var(--dt-control-h-2xs);height:var(--dt-control-h-2xs);border-radius:var(--dt-radius-item);color:var(--dt-text-3);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-head-icon:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt-head-filtered{color:var(--dt-accent-text);margin-right:2px}.dt-head-menu{opacity:0}.dt-head-cell:hover .dt-head-menu,.dt-head-cell:focus-within .dt-head-menu,.dt-head-menu[aria-expanded=true]{opacity:1}.dt-resize{cursor:col-resize;z-index:2;touch-action:none;-webkit-user-select:none;user-select:none;width:7px;height:100%;position:absolute;top:0;right:-3px}.dt-resize:before{content:"";background:0 0;transition:background .12s;position:absolute;inset:0 2px 0 3px}.dt-resize:hover:before,.dt-head-cell.is-resizing .dt-resize:before{background:var(--dt-accent)}.dt-resize-badge{border-radius:var(--dt-radius-item);background:var(--dt-tip-bg);height:20px;color:var(--dt-tip-fg);font-size:var(--dt-ui-fs-3xs);white-space:nowrap;box-shadow:var(--dt-shadow-tip);margin-top:4px;padding:0 6px;font-weight:500;line-height:20px;position:absolute;top:100%;right:0}.dt-cell-actions{background:linear-gradient(to right, transparent, var(--dt-row-bg) 12px);opacity:0;pointer-events:none;align-items:center;gap:2px;padding:0 6px 0 12px;transition:opacity .12s;display:flex;position:absolute;top:0;bottom:0;right:0}.dt-row:hover .dt-cell-actions,.dt-cell:focus-within .dt-cell-actions,.dt-cell-actions.is-always{opacity:1;pointer-events:auto}.dt-cell-actions.is-always .dt-cell-action{color:var(--dt-text-3)}.dt-cell-action{width:var(--dt-control-h-xs);height:var(--dt-control-h-xs);border-radius:var(--dt-radius-sm);color:var(--dt-text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-cell-action:hover,.dt-cell-action[aria-expanded=true]{background:var(--dt-surface-3);color:var(--dt-text)}.dt-cell-action[aria-disabled=true]{color:var(--dt-line-3);cursor:default}.dt-cell-action.is-destructive:hover{color:var(--dt-r-fg)}.dt-grid:not(.dt-sheet-grid) :is(.dt-cell-action,.dt-head-label,.dt-head-icon,.dt-text-expand,button,a[href]:not(.dt-link)):focus-visible{box-shadow:0 0 0 2px var(--dt-row-bg,var(--dt-surface)), 0 0 0 4px var(--dt-focus);outline:none}.dt-sk{border-radius:var(--dt-radius-xs);background:linear-gradient(90deg, var(--dt-sk) 0%, var(--dt-sk-hi) 45%, var(--dt-sk) 90%);background-size:200% 100%;height:10px;animation:1.6s ease-in-out infinite dt-shimmer;display:inline-block}.dt-sk-bar{width:60%}.dt-sk-num{width:44px}.dt-sk-pill{border-radius:var(--dt-radius-pill);width:76px;height:20px}.dt-sk-circle{width:var(--dt-av);height:var(--dt-av);border-radius:var(--dt-radius-pill);margin-right:8px}.dt-row-skeleton .dt-cell{flex-direction:row;align-items:center}@keyframes dt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.dt-sk{animation:none}.dt-head-sort .is-desc,.dt-cell-actions,.dt-resize:before{transition:none}}.dt-tip{z-index:50;width:max-content;max-width:calc(480 * var(--dt-ui-fs) / 13);border-radius:var(--dt-radius-item);background:var(--dt-tip-bg);color:var(--dt-tip-fg);font-size:var(--dt-ui-fs-xs);white-space:pre-line;overflow-wrap:anywhere;box-shadow:var(--dt-shadow-tip);pointer-events:none;padding:5px 8px;font-weight:500;line-height:16px;position:fixed}.dt-grid.has-vlines .dt-cell:not(:last-child){box-shadow:inset -1px 0 var(--dt-line)}.dt-grid.is-dim .dt-body{opacity:.6}.dt-refresh-bar{top:var(--dt-head-h);background:var(--dt-accent-soft-2);z-index:4;height:2px;position:absolute;left:0;right:0;overflow:hidden}.dt-refresh-bar:after{content:"";background:var(--dt-accent);width:32%;animation:1.25s linear infinite dt-refresh;position:absolute;top:0;bottom:0;left:-32%}@keyframes dt-refresh{to{left:100%}}.dt-notice{top:var(--dt-head-h);align-items:center;gap:var(--dt-space);height:var(--dt-control-h);padding:0 var(--dt-cell-x);border-bottom:1px solid var(--dt-line);background:var(--dt-surface-2);color:var(--dt-text-2);font-size:var(--dt-ui-fs-sm);z-index:4;display:flex;position:absolute;left:0;right:0}.dt-scroll-pill{right:calc(var(--dt-space-lg) + var(--dt-bar-w,0px));bottom:calc(var(--dt-space-lg) + var(--dt-bar-h,0px));height:var(--dt-control-h-xs);border-radius:var(--dt-radius-pill);background:var(--dt-tip-bg);color:var(--dt-tip-fg);font-size:var(--dt-ui-fs-xs);font-variant-numeric:tabular-nums;box-shadow:var(--dt-shadow-tip);opacity:0;pointer-events:none;z-index:4;align-items:center;padding:0 10px;font-weight:500;line-height:1;transition:opacity .15s;display:flex;position:absolute}.dt-scroll-pill.is-visible{opacity:1}.dt-head-label:focus-visible{box-shadow:0 0 0 2px var(--dt-surface-2), 0 0 0 4px var(--dt-focus);outline:none}.dt-head-cell.is-menu-open .dt-head-menu{opacity:1}@media (prefers-reduced-motion:reduce){.dt-refresh-bar:after{width:100%;animation:none;left:0}.dt-scroll-pill{transition:none}}.dt-cell-fill{min-width:0;padding:0}.dt-cell-select,.dt-head-select{cursor:pointer;flex-direction:row;justify-content:center;align-items:center;padding:0}.dt-cell-handle,.dt-head-handle{flex-direction:row;justify-content:center;align-items:center;padding:0}.dt-row-handle{width:var(--dt-control-h-sm);height:var(--dt-control-h-sm);border-radius:var(--dt-radius-item);color:var(--dt-text-3);cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-row:hover .dt-row-handle:not([aria-disabled=true]),.dt-row-handle:focus-visible{color:var(--dt-text-2)}.dt-row-handle[aria-disabled=true]{cursor:default;opacity:.4}.dt-row-handle[aria-pressed=true],.dt-item.is-dragging .dt-row-handle{background:var(--dt-line-2);color:var(--dt-text);cursor:grabbing}.dt-item.is-dragging{z-index:3}.dt-item.is-dragging .dt-row{box-shadow:var(--dt-shadow-pop)}.dt-cell-menu,.dt-head-menu-col{justify-content:flex-end;align-items:center;gap:var(--dt-space);flex-direction:row;padding:0 8px}.dt-row-more,.dt-row-inline{width:var(--dt-control-h-sm);height:var(--dt-control-h-sm);border-radius:var(--dt-radius-item);color:var(--dt-text-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-row:hover .dt-row-more,.dt-row-more:focus-visible,.dt-row-inline:focus-visible{color:var(--dt-text-2)}.dt-row-more[data-state=open],.dt-row-more[data-popup-open]{background:var(--dt-line-2);color:var(--dt-text)}.dt-row-menu{width:calc(268 * var(--dt-ui-fs) / 13)}.dt-menu-item.is-two-line{min-height:44px}.dt-menu-text{flex-direction:column;flex:1;min-width:0;display:flex}.dt-menu-sub{color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs)}.dt-cell.has-expand{flex-direction:row;align-items:center;gap:4px}.dt-cell-main{flex-direction:column;flex:1;min-width:0;display:flex}.dt-expand,.dt-expand-space{width:var(--dt-control-h-2xs);height:var(--dt-control-h-2xs);flex:none}.dt-expand{border-radius:var(--dt-radius-xs);color:var(--dt-text-3);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-expand:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt-expand svg{transition:transform .15s}.dt-expand.is-open svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.dt-expand svg{transition:none}}.dt-subrow{width:100%;padding:12px 12px 12px calc(var(--dt-sel-w,0px) + var(--dt-cell-x) + 24px);box-sizing:border-box;background:var(--dt-surface-2);border-bottom:1px solid var(--dt-line);position:relative}.dt-toolbar{align-items:center;gap:var(--dt-space);min-height:calc(var(--dt-control-h) + 2 * var(--dt-space-lg));padding:var(--dt-space-lg);border-bottom:1px solid var(--dt-line);flex:none;display:flex}.dt-toolbar-spacer{flex:1}.dt-toolbar.is-zoned:not(.is-phone){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.dt-toolbar.is-zoned:not(.is-phone)>.dt-toolbar-spacer{display:none}.dt-toolbar-side{align-items:center;gap:var(--dt-space);min-width:0;display:flex}.dt-toolbar-side.is-end{justify-content:flex-end}.dt-toolbar.is-phone .dt-toolbar-side{display:contents}.dt-toolbar-sep{background:var(--dt-line);width:1px;height:20px}.dt-search{width:calc(240 * var(--dt-ui-fs) / 13)}.dt-toolbar.is-phone .dt-search{flex:1;width:auto}.dt-strip{align-items:center;gap:var(--dt-space);height:var(--dt-control-h-lg);border-bottom:1px solid var(--dt-a-line);background:var(--dt-a-bg);color:var(--dt-a-fg);font-size:var(--dt-ui-fs-sm);flex:none;padding:0 12px;display:flex}.dt-strip>svg{color:var(--dt-a-dot)}.dt-strip-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.dt-strip-action:disabled{opacity:.6;cursor:default}.dt-list-notice{border-bottom:1px solid var(--dt-line);flex:none}.dt-body-state{inset:var(--dt-head-h) 0 0 0;z-index:2;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute}.dt-state{max-width:calc(440 * var(--dt-ui-fs) / 13);text-align:center;flex-direction:column;align-items:center;gap:4px;padding-bottom:64px;display:flex}.dt-state-icon{border-radius:var(--dt-radius-pop);background:var(--dt-surface-3);width:40px;height:40px;color:var(--dt-text-2);justify-content:center;align-items:center;margin-bottom:8px;display:inline-flex}.dt-state.is-error .dt-state-icon{background:var(--dt-r-bg);color:var(--dt-r-fg)}.dt-state-title{font-size:var(--dt-ui-fs-lg);font-weight:600}.dt-state-line{color:var(--dt-text-2);font-size:var(--dt-ui-fs);margin:0}.dt-state-actions{gap:var(--dt-space);margin-top:12px;display:flex}.dt-state-id{align-items:center;gap:var(--dt-space-sm);margin-top:8px;display:flex}.dt-state-code{color:var(--dt-text-3);font-family:var(--dt-font-mono);font-size:var(--dt-mono-fs)}.dt-footer{min-height:calc(var(--dt-control-h-sm) + 2 * var(--dt-space-lg));padding:var(--dt-space-lg);border-top:1px solid var(--dt-line);background:var(--dt-surface-2);color:var(--dt-text-2);font-size:var(--dt-ui-fs-sm);font-variant-numeric:tabular-nums;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.dt-footer-left,.dt-footer-right{align-items:center;gap:var(--dt-space);white-space:nowrap;min-width:0;display:flex}.dt-list{container-type:inline-size}@container (width<=639px){.dt-footer-size-label,.dt-footer-updated,.dt-footer-prev>span,.dt-footer-next>span{display:none}.dt-footer-prev,.dt-footer-next{width:var(--dt-control-h-sm);justify-content:center;padding:0}}.dt-footer-rows{color:var(--dt-text)}.dt-footer-muted{color:var(--dt-text-3);align-items:center;gap:4px;display:inline-flex}.dt-footer-count{color:var(--dt-text)}.dt-footer-vsep{background:var(--dt-line-2);width:1px;height:16px}.dt-footer-updated{color:var(--dt-text-3)}.dt-footer-updated.is-stale{color:var(--dt-a-fg)}.dt-footer-live{align-items:center;gap:var(--dt-space-sm);color:var(--dt-g-fg);display:inline-flex}.dt-live-dot{border-radius:var(--dt-radius-pill);background:var(--dt-g-dot);width:8px;height:8px;box-shadow:0 0 0 3px var(--dt-live-halo)}.dt-footer-size{align-items:center;gap:var(--dt-space);display:inline-flex}.dt-select{align-items:center;display:inline-flex;position:relative}.dt-select select{height:var(--dt-control-h-sm);border:1px solid var(--dt-line-2);border-radius:var(--dt-radius-item);background:var(--dt-surface);color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs-sm);box-shadow:var(--dt-shadow-sm);appearance:none;cursor:pointer;padding:0 24px 0 10px}.dt-select select:disabled{background:var(--dt-surface-2);border-color:var(--dt-line);color:var(--dt-text-3);box-shadow:none;cursor:default}.dt-select>svg{color:var(--dt-text-3);pointer-events:none;position:absolute;right:8px}.dt-select select:focus-visible{box-shadow:0 0 0 2px var(--dt-surface), 0 0 0 4px var(--dt-focus);outline:none}.dt-display{width:calc(308 * var(--dt-ui-fs) / 13)}.dt-display-density{width:calc(100% - 8px);margin:0 4px 4px}.dt-pop-head{align-items:center;gap:var(--dt-space);height:var(--dt-control-h-lg);font-size:var(--dt-ui-fs);padding:0 4px;display:flex}.dt-pop-head strong{font-weight:600}.dt-pop-end{margin-left:auto}.dt-col-row{height:var(--dt-control-h);border-radius:var(--dt-radius-item);align-items:center;gap:4px;padding:0 4px 0 8px;display:flex}.dt-col-name{flex:1;min-width:0}.dt-col-name>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dt-col-desc{font-size:var(--dt-ui-fs-xs);color:var(--dt-text-3);line-height:16px}.dt-col-row:has(.dt-col-desc){height:auto;padding-block:5px}.dt-col-row.is-hidden .dt-col-name{color:var(--dt-text-2)}.dt-col-row.is-hidden .dt-icon-btn-sm{color:var(--dt-text-3)}.dt-col-lock{color:var(--dt-text-3);margin-right:6px}.dt-cols-dialog{width:calc(760 * var(--dt-ui-fs) / 13);height:min(calc(640 * var(--dt-ui-fs) / 13), calc(100dvh - 32px));flex-direction:column;padding:24px;display:flex}.dt-cols-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:32px;min-height:0;display:grid}.dt-cols-dialog.is-phone .dt-cols-body{grid-template-columns:minmax(0,1fr)}.dt-cols-pins{flex-direction:column;gap:24px;display:flex}.dt-cols-main{flex-direction:column;min-height:0;display:flex}.dt-cols-title{align-items:baseline;gap:var(--dt-space);font-size:var(--dt-ui-fs-lg);margin:0;font-weight:600;display:flex}.dt-cols-title .dt-pop-value{font-size:var(--dt-ui-fs-sm);margin-left:auto;font-weight:400}.dt-cols-desc{color:var(--dt-text-2);font-size:var(--dt-ui-fs-sm);margin:4px 0 12px;line-height:1.45}.dt-radio-group{flex-direction:column;display:flex}.dt-radio-row{align-items:center;gap:var(--dt-space);height:var(--dt-control-h);cursor:pointer;display:flex}.dt-radio{border:1.5px solid var(--dt-line-3);border-radius:var(--dt-radius-pill);background:var(--dt-surface);box-sizing:border-box;cursor:pointer;flex:none;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:inline-flex}.dt-radio[data-state=checked]{border-color:var(--dt-accent);background:var(--dt-accent)}.dt-radio-dot{border-radius:var(--dt-radius-pill);background:var(--dt-switch-knob);width:6px;height:6px}.dt-cols-find{flex:none;margin-bottom:8px}.dt-cols-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow:auto}.dt-cols-list .dt-col-row{height:var(--dt-control-h-lg);border-bottom:1px solid var(--dt-line);border-radius:0}.dt-cols-list .dt-col-row:has(.dt-col-desc){height:auto}.dt-col-pin{color:var(--dt-text-3);vertical-align:-1px;margin-right:4px;display:inline-block}.dt-col-switch{margin-left:6px}.dt-col-row.is-fixed .dt-col-name{padding-left:var(--dt-control-h-2xs)}.dt-col-handle{color:var(--dt-text-3);cursor:grab;touch-action:none;margin-left:-4px}.dt-col-handle:disabled{cursor:default;opacity:.4}.dt-cols-list .dt-col-row.is-dragging{background:var(--dt-surface);box-shadow:var(--dt-shadow-pop)}.dt-cols-foot{align-items:center;gap:var(--dt-space);margin-top:20px;display:flex}.dt-sort-row{height:var(--dt-control-h-lg);gap:var(--dt-space)}.dt-sort-row .dt-head-sort-index{border-radius:var(--dt-radius-xs);background:var(--dt-surface-3);width:14px;height:14px;font-size:var(--dt-ui-fs-3xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.dt-spin{animation:1s linear infinite dt-spin}@keyframes dt-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dt-spin{animation:none}}.dt-bulk{align-items:center;gap:4px;display:flex}.dt-bulk.is-floating{border-radius:var(--dt-radius-card);background:var(--dt-bulk-bg);color:var(--dt-bulk-fg);box-shadow:var(--dt-shadow-float);white-space:nowrap;z-index:5;padding:6px;animation:.16s ease-out dt-bulk-in;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}@keyframes dt-bulk-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.dt-bulk.is-floating{animation:none}}.dt-bulk-count{font-size:var(--dt-ui-fs);font-variant-numeric:tabular-nums;padding:0 8px;font-weight:500}.dt-bulk-sep{background:var(--dt-bulk-line);width:1px;height:20px;margin:0 2px}.dt-bulk-btn{align-items:center;gap:var(--dt-space-sm);height:var(--dt-control-h);border-radius:var(--dt-radius-inner);color:var(--dt-bulk-fg);font:inherit;font-size:var(--dt-ui-fs);cursor:pointer;background:0 0;border:0;padding:0 12px 0 10px;font-weight:500;display:inline-flex}.dt-bulk-btn>svg{color:var(--dt-bulk-fg-2)}.dt-bulk-btn:hover,.dt-bulk-btn[data-state=open],.dt-bulk-btn[data-popup-open]{background:var(--dt-bulk-hover)}.dt-bulk-btn:disabled{color:var(--dt-bulk-fg-2);cursor:default}.dt-bulk-btn.is-destructive,.dt-bulk-btn.is-destructive>svg{color:var(--dt-bulk-danger)}.dt-bulk-btn.dt-bulk-more,.dt-bulk-btn.dt-bulk-icon{width:var(--dt-control-h);justify-content:center;padding:0}.dt-bulk-btn.dt-bulk-icon>svg{color:var(--dt-bulk-fg-2)}.dt-bulk-menu{min-width:calc(248 * var(--dt-ui-fs) / 13)}.dt-bulk.is-toolbar{gap:var(--dt-space);border-bottom:1px solid var(--dt-line);background:var(--dt-row-selected);flex:none;min-height:52px;padding:10px 12px}.dt-bulk.is-toolbar .dt-bulk-count{padding:0 4px;font-weight:600}.dt-bulk.is-toolbar .dt-bulk-sep{background:var(--dt-line-2);margin:0 4px}.dt-filter-row{align-items:center;gap:var(--dt-space-sm);min-height:calc(var(--dt-control-h-sm) + 2 * var(--dt-space-lg));padding:var(--dt-space-lg);border-bottom:1px solid var(--dt-line);flex:none;display:flex;position:relative}.dt-chips{align-items:center;gap:var(--dt-space-sm);scrollbar-width:none;flex-wrap:nowrap;flex:0 auto;min-width:0;margin:-4px;padding:4px;display:flex;position:relative;overflow-x:auto}.dt-chips::-webkit-scrollbar{display:none}.dt-filter-row.is-scrolled-end .dt-chips{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.dt-filter-clear{flex:none;margin-left:auto}.dt-chip,.dt-filter-add{flex:none}.dt-filter-add{color:var(--dt-text-2)}.dt-chip{height:var(--dt-control-h-sm);border:1px solid var(--dt-line-2);border-radius:var(--dt-radius-md);background:var(--dt-surface);box-shadow:var(--dt-shadow-sm);font-size:var(--dt-ui-fs-sm);white-space:nowrap;align-items:stretch;transition:box-shadow .12s;display:inline-flex}.dt-chip.is-editing{border-color:var(--dt-accent);box-shadow:0 0 0 3px var(--dt-focus-soft)}.dt-chip:has(:focus-visible){border-color:var(--dt-accent);box-shadow:0 0 0 3px var(--dt-focus-soft)}.dt-chip-body{align-items:center;gap:var(--dt-space-sm);border-radius:var(--dt-radius-md) 0 0 var(--dt-radius-md);color:var(--dt-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 8px 0 9px;display:inline-flex}.dt-chip-body:hover{background:var(--dt-surface-3)}.dt-chip-icon{color:var(--dt-text-3)}.dt-chip-field{color:var(--dt-text-2)}.dt-chip-op{color:var(--dt-text-3)}.dt-chip-value{max-width:calc(180 * var(--dt-ui-fs) / 13);text-overflow:ellipsis;white-space:nowrap;color:var(--dt-text);align-items:center;gap:4px;font-weight:500;display:inline-flex;overflow:hidden}.dt-chip-value.is-placeholder{color:var(--dt-text-3);font-weight:400}.dt-chip-avatars{display:inline-flex}.dt-chip-avatars .dt-avatar{width:18px;height:18px;box-shadow:0 0 0 1.5px var(--dt-surface);margin-right:-4px;font-size:8px}.dt-chip-remove{border:0;border-left:1px solid var(--dt-line-2);border-radius:0 var(--dt-radius-md) var(--dt-radius-md) 0;width:26px;color:var(--dt-text-3);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-chip-remove:hover{background:var(--dt-surface-3);color:var(--dt-text)}.dt .dt-chip-body:focus-visible{outline:none}.dt .dt-chip-remove:focus-visible{outline-offset:-2px;background:var(--dt-surface-3);color:var(--dt-text);outline:2px solid #0000}.dt-picker{width:calc(272 * var(--dt-ui-fs) / 13)}.dt-picker-search{width:100%;margin-bottom:var(--dt-pop-pad)}.dt-picker-search input{box-shadow:none}.dt-picker-list{outline:none;max-height:360px;overflow:auto}.dt-picker-item{align-items:center;gap:var(--dt-space);height:var(--dt-control-h);padding:0 var(--dt-item-x);border-radius:var(--dt-radius-item);font-size:var(--dt-ui-fs);cursor:default;outline:none;display:flex}.dt-picker-item>svg{color:var(--dt-text-3)}.dt-picker-item[data-highlighted]{background:var(--dt-surface-3)}.dt-picker-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.dt-picker-hint{color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs)}.dt-chip-pop{width:calc(296 * var(--dt-ui-fs) / 13)}.dt-chip-pop.is-date{width:calc(520 * var(--dt-ui-fs) / 13)}.dt-chip-pop-head{align-items:center;gap:var(--dt-space-sm);height:var(--dt-control-h);padding:0 4px 0 var(--dt-item-x);color:var(--dt-text-2);font-size:var(--dt-ui-fs-sm);display:flex}.dt-chip-pop.is-date .dt-chip-pop-head{border-bottom:1px solid var(--dt-line);height:40px;margin-bottom:4px}.dt-op-btn{height:var(--dt-control-h-xs);border-radius:var(--dt-radius-sm);background:var(--dt-surface-3);color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs-xs);cursor:pointer;border:0;align-items:center;gap:4px;padding:0 6px;font-weight:500;display:inline-flex}.dt-op-btn:focus-visible{box-shadow:0 0 0 2px var(--dt-surface), 0 0 0 4px var(--dt-focus);outline:none}.dt-op-menu{min-width:calc(220 * var(--dt-ui-fs) / 13)}.dt-op-menu .dt-menu-item.is-selected{font-weight:500}.dt-options-search{width:100%;margin-bottom:var(--dt-pop-pad)}.dt-options-search input{box-shadow:none}.dt-options-list{max-height:288px;overflow:auto}.dt-option{align-items:center;gap:var(--dt-space);height:var(--dt-control-h);padding:0 var(--dt-item-x);border-radius:var(--dt-radius-item);cursor:pointer;display:flex;position:relative}.dt-option:hover{background:var(--dt-surface-3)}.dt-option-body{align-items:center;gap:var(--dt-space-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:inline-flex;overflow:hidden}.dt-option-only{margin-left:auto;display:none}.dt-option:hover .dt-option-only{display:inline-flex}.dt-option.is-unassigned .dt-option-body{color:var(--dt-text-2)}.dt-avatar.is-empty{border:1.5px dashed var(--dt-line-3);background:0 0}.dt-options-empty{color:var(--dt-text-3);font-size:var(--dt-ui-fs-sm);padding:8px}.dt-options-more{justify-content:center;width:100%}.dt-checkbox{width:var(--dt-checkbox);height:var(--dt-checkbox);appearance:none;border:1.5px solid var(--dt-line-3);border-radius:var(--dt-radius-xs);background:var(--dt-surface);cursor:pointer;flex:none;margin:0}.dt-checkbox:hover{border-color:var(--dt-text-3)}.dt-checkbox:checked{border-color:var(--dt-accent);background:var(--dt-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px}.dt-checkbox:focus-visible{box-shadow:0 0 0 2px var(--dt-surface), 0 0 0 4px var(--dt-focus);outline:none}.dt-editor-text{width:100%;margin:4px 0}.dt-editor-number{padding:4px 0}.dt-chip-pop .dt-input{height:var(--dt-control-h-sm)}.dt-chip-pop .dt-editor-number{padding:6px var(--dt-item-x)}.dt-chip-pop .dt-editor-text{width:auto;margin:6px var(--dt-item-x) 10px;display:flex}.dt-chip-pop .dt-options-search{width:auto;margin:6px var(--dt-item-x);display:flex}.dt-chip-pop .dt-editor-stars{padding:6px calc(var(--dt-item-x) - 2px)}.dt-chip-pop .dt-editor-and{padding-bottom:6px}.dt-seg.dt-seg-xs{height:var(--dt-control-h-xs);width:100%;margin-bottom:8px}.dt-seg-xs .dt-seg-item{font-size:var(--dt-ui-fs-3xs)}.dt-editor-fields{align-items:flex-end;gap:var(--dt-space);display:flex}.dt-editor-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.dt-editor-label{color:var(--dt-text-3);font-size:var(--dt-ui-fs-2xs);font-weight:500}.dt-editor-field .dt-input{width:100%}.dt-editor-field input{text-align:right;font-variant-numeric:tabular-nums}.dt-input.has-suffix input{padding-right:26px}.dt-input-suffix{color:var(--dt-text-3);font-size:var(--dt-ui-fs-sm);pointer-events:none;right:10px}.dt-editor-and{color:var(--dt-text-3);font-size:var(--dt-ui-fs-sm);padding-bottom:8px}.dt-editor-stars{gap:2px;padding:8px 4px;display:flex}.dt-star-btn{border-radius:var(--dt-radius-xs);color:var(--dt-line-2);cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.dt-star-btn.is-on{color:var(--dt-a-dot)}.dt-star-btn:focus-visible{box-shadow:0 0 0 2px var(--dt-focus);outline:none}.dt-editor-date{display:flex}.dt-date-presets{width:calc(168 * var(--dt-ui-fs) / 13);border-right:1px solid var(--dt-line);flex:none;padding-right:4px}.dt-date-preset.is-on{font-weight:500}.dt-calendar{padding:8px var(--dt-item-x) 6px 12px;flex:1}.dt-cal-head{align-items:center;gap:2px;margin-bottom:4px;display:flex}.dt-cal-title{height:var(--dt-control-h-xs);border-radius:var(--dt-radius-item);color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs);background:0 0;border:0;align-items:center;gap:4px;margin-right:auto;padding:0 4px;font-weight:600;display:inline-flex}button.dt-cal-title{cursor:pointer}button.dt-cal-title:hover{background:var(--dt-surface-3)}button.dt-cal-title svg{color:var(--dt-text-3)}button.dt-cal-title:focus-visible{box-shadow:0 0 0 2px var(--dt-focus);outline:none}.dt-cal-body{position:relative}.dt-cal-hidden{visibility:hidden}.dt-cal-pick{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:4px;padding:0 2px;display:grid;position:absolute;inset:4px 0 0}.dt-cal-pick .dt-cal-day{height:100%}.dt-cal-grid{border-collapse:separate;border-spacing:0 4px;width:100%}.dt-cal-dow{height:var(--dt-control-h-xs);color:var(--dt-text-3);font-size:var(--dt-ui-fs-2xs);text-align:center;font-weight:500}.dt-cal-cell{text-align:center;padding:0 2px;position:relative}.dt-cal-cell.is-band:before{content:"";background:var(--dt-accent-soft);position:absolute;inset:0}.dt-cal-cell.is-band-start:before,.dt-cal-cell.is-band:first-child:before{border-top-left-radius:var(--dt-radius-inner);border-bottom-left-radius:var(--dt-radius-inner);left:2px}.dt-cal-cell.is-band-end:before,.dt-cal-cell.is-band:last-child:before{border-top-right-radius:var(--dt-radius-inner);border-bottom-right-radius:var(--dt-radius-inner);right:2px}.dt-cal-day{width:100%;height:var(--dt-control-h);border-radius:var(--dt-radius-inner);background:var(--dt-surface-3);color:var(--dt-text);font:inherit;font-size:var(--dt-ui-fs-sm);font-variant-numeric:tabular-nums;cursor:pointer;border:0;justify-content:center;align-items:center;display:flex;position:relative}.dt-cal-day[data-outside-view],.is-band .dt-cal-day{background:0 0}.dt-cal-day[data-outside-view]{color:var(--dt-text-3)}.dt-cal-day:hover{background:var(--dt-line)}.dt-cal-day[data-today]{color:var(--dt-accent-text);box-shadow:inset 0 0 0 1.5px var(--dt-accent);font-weight:600}.dt-cal-day[data-selected]:not(.is-band .dt-cal-day),.dt-cal-day[data-selection-start],.dt-cal-day[data-selection-end]{background:var(--dt-accent);color:var(--dt-on-accent)}.dt-cal-day:focus-visible{box-shadow:0 0 0 2px var(--dt-surface), 0 0 0 4px var(--dt-focus);outline:none}.dt-btn.has-icon.dt-view-trigger{height:var(--dt-control-h);padding:0 8px 0 calc((var(--dt-control-h) - var(--dt-control-h-xs)) / 2 - 1px);gap:var(--dt-space-sm);color:var(--dt-text);font-size:var(--dt-ui-fs)}.dt-view-icon{width:var(--dt-control-h-xs);height:var(--dt-control-h-xs);border-radius:var(--dt-radius-item);background:var(--dt-surface-3);color:var(--dt-text-2);flex:none;justify-content:center;align-items:center;margin-right:2px;display:inline-flex}.dt-view-name{font-weight:600}.dt-view-dot{border-radius:var(--dt-radius-pill);background:var(--dt-accent);flex:none;width:6px;height:6px}.dt-view-edited{color:var(--dt-text-2);font-size:var(--dt-ui-fs-xs);font-weight:500}.dt-view-trigger>svg{color:var(--dt-text-3)}.dt-views{width:calc(316 * var(--dt-ui-fs) / 13)}.dt-views-list{outline:none;max-height:360px;overflow:auto}.dt-view-row{align-items:center;display:flex;position:relative}.dt-view-item{align-items:center;gap:var(--dt-space-sm);min-width:0;height:var(--dt-control-h);border-radius:var(--dt-radius-item);cursor:default;outline:none;flex:1;padding:0 32px 0 8px;display:flex}.dt-view-item[data-highlighted],.dt-view-row:hover .dt-view-item{background:var(--dt-surface-3)}.dt-view-check{width:14px;color:var(--dt-accent);flex:none;display:inline-flex}.dt-view-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dt-view-row.is-active .dt-view-row-name{font-weight:600}.dt-view-default{color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs)}.dt-view-more-cell{align-self:stretch;align-items:center;display:flex}.dt-view-more{opacity:0;position:absolute;right:4px}.dt-view-row:hover .dt-view-more,.dt-view-more:focus-visible,.dt-view-more[data-state=open],.dt-view-more[data-popup-open]{opacity:1}.dt-view-row-menu{min-width:calc(200 * var(--dt-ui-fs) / 13)}.dt-view-note{box-sizing:border-box;width:0;min-width:100%;color:var(--dt-text-3);font-size:var(--dt-ui-fs-xs);padding:6px 8px;line-height:1.4}.dt-views-foot{margin:4px calc(-1 * var(--dt-pop-pad)) calc(-1 * var(--dt-pop-pad));padding:10px var(--dt-pop-pad) var(--dt-pop-pad);border-top:1px solid var(--dt-line)}.dt-views-unsaved{align-items:center;gap:var(--dt-space);color:var(--dt-text-2);font-size:var(--dt-ui-fs-sm);margin:0 0 8px;padding:0 8px;display:flex}.dt-views-foot-actions{align-items:center;gap:6px;display:flex}.dt-views-revert{margin-right:auto}.dt-btn-primary .dt-kbd{height:auto;color:inherit;opacity:.6;background:0 0;padding:0}.dt-view-new{gap:var(--dt-space-sm);color:var(--dt-text-2);cursor:pointer;padding-left:8px}.dt-view-summary{border-radius:var(--dt-radius-inner);background:var(--dt-surface-2);font-size:var(--dt-ui-fs-sm);grid-template-columns:72px 1fr;gap:8px 12px;margin-top:16px;padding:12px;display:grid}.dt-view-summary>span:nth-child(odd){color:var(--dt-text-2)}.dt-list.is-phone{box-shadow:none;border:0;border-radius:0}.dt-toolbar.is-phone{gap:2px;padding:4px 6px 4px 8px}.dt-toolbar.is-phone>.dt-toolbar-spacer{order:-1}.dt-toolbar.is-phone .dt-view-trigger{order:-2;max-width:55%;height:44px;padding:0 8px;font-size:14px}.dt-toolbar.is-phone .dt-view-icon{display:none}.dt-toolbar.is-phone .dt-btn-group{display:contents}.dt-toolbar.is-phone .dt-view-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dt-toolbar.is-phone .dt-view-edited{display:none}.dt-toolbar.is-phone .dt-view-trigger[data-state=open],.dt-toolbar.is-phone .dt-view-trigger[data-popup-open]{background:var(--dt-surface-3)}.dt-toolbar.is-phone .dt-btn-icon{width:44px;height:44px;color:var(--dt-text-2);box-shadow:none;background:0 0;border:0}.dt-toolbar.is-phone .dt-more-trigger[data-state=open],.dt-toolbar.is-phone .dt-more-trigger[data-popup-open]{background:var(--dt-surface-3)}.dt-toolbar.is-phone .dt-filter-trigger{position:relative}.dt-toolbar.is-phone .dt-filter-trigger.is-active{color:var(--dt-accent-text);background:0 0;border:0}.dt-toolbar.is-phone .dt-filter-trigger.is-active:before{content:"";border-radius:var(--dt-radius-inner);background:var(--dt-accent-soft);position:absolute;inset:4px}.dt-toolbar.is-phone .dt-filter-trigger>svg{position:relative}.dt-toolbar.is-phone .dt-filter-trigger .dt-counter{min-width:16px;height:16px;box-shadow:0 0 0 2px var(--dt-surface);padding:0 4px;font-size:10px;position:absolute;top:2px;right:2px}.dt-toolbar.is-phone .dt-toolbar-end{align-items:center;height:44px;display:inline-flex}.dt-toolbar.is-phone .dt-toolbar-end .dt-btn-primary.dt-btn-icon{border-radius:var(--dt-radius-inner);background:var(--dt-ink);width:34px;height:34px;color:var(--dt-on-ink);position:relative}.dt-toolbar.is-phone .dt-toolbar-end .dt-btn-primary.dt-btn-icon:after{content:"";position:absolute;inset:-5px}.dt-toolbar.is-phone .dt-search{flex:1;width:auto;height:40px;margin-left:4px}.dt-toolbar.is-phone .dt-search input{border-radius:var(--dt-radius-pop);padding-left:38px;font-size:15px}.dt-toolbar.is-phone .dt-search .dt-input-icon{left:12px}.dt-toolbar.is-phone .dt-search .dt-input-clear{width:36px;height:36px}.dt-toolbar.is-phone .dt-search-cancel{height:44px;color:var(--dt-text);padding:0 10px 0 8px;font-size:15px}.dt-list.is-phone .dt-filter-row{border-top:1px solid var(--dt-line);min-height:48px;padding:0 12px}.dt-list.is-phone .dt-chip{height:32px;box-shadow:none;font-size:13px}.dt-list.is-phone .dt-chip-body{border-radius:var(--dt-radius-md);padding:0 11px 0 10px}.dt-grid.is-phone[data-density]{--dt-row-h:48px;--dt-head-h:40px}.dt-grid.is-phone .dt-head-pin{display:none}.dt-grid.is-phone .dt-checkbox{position:relative}.dt-grid.is-phone .dt-checkbox:after{content:"";position:absolute;inset:-14px}.dt-grid.is-phone .dt-row-more{color:var(--dt-text-3);position:relative}.dt-grid.is-phone .dt-row-more:after{content:"";position:absolute;inset:-8px}.dt-grid.is-phone.is-scrolled-end .dt-scroll{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - 40px - var(--dt-menu-w,0px)), transparent calc(100% - var(--dt-menu-w,0px)), #000 calc(100% - var(--dt-menu-w,0px)));mask-image:linear-gradient(to right, #000 calc(100% - 40px - var(--dt-menu-w,0px)), transparent calc(100% - var(--dt-menu-w,0px)), #000 calc(100% - var(--dt-menu-w,0px)))}.dt-list.is-phone .dt-footer{height:52px;padding:0 4px 0 16px;font-size:13px}.dt-list.is-phone .dt-footer-count{font-size:13px}.dt-list.is-phone .dt-footer-right{gap:0}.dt-list.is-phone .dt-footer-prev,.dt-list.is-phone .dt-footer-next{width:44px;height:44px;color:var(--dt-text-2);box-shadow:none;background:0 0;border:0;justify-content:center;padding:0}.dt-list.is-phone .dt-footer-prev:disabled,.dt-list.is-phone .dt-footer-next:disabled{color:var(--dt-line-3)}.dt-list.is-phone .dt-footer-prev>span,.dt-list.is-phone .dt-footer-next>span{display:none}.dt-bulk.is-phone.is-floating{border-radius:var(--dt-radius-dialog);gap:4px;padding:6px;animation-name:dt-bulk-in-phone;bottom:30px;left:10px;right:10px;transform:none}@keyframes dt-bulk-in-phone{0%{opacity:0;transform:translateY(8px)}}.dt-bulk.is-phone .dt-bulk-sep{height:28px}.dt-bulk.is-phone .dt-bulk-btn{flex-direction:column;flex:1;justify-content:center;gap:2px;height:44px;padding:0 4px;font-size:11px}.dt-bulk.is-phone .dt-bulk-btn.dt-bulk-more{width:auto}.dt-bulk.is-phone .dt-bulk-btn.dt-bulk-icon{flex:none;width:44px}.dt-bulk.is-phone .dt-bulk-btn[data-state=open],.dt-bulk.is-phone .dt-bulk-btn[data-popup-open]{background:var(--dt-bulk-hover)}.dt-bsheet{z-index:50;border-radius:var(--dt-radius-bottom-sheet) var(--dt-radius-bottom-sheet) 0 0;background:var(--dt-surface);max-height:min(776px,92dvh);color:var(--dt-text);box-shadow:var(--dt-shadow-dialog);font-family:var(--dt-font);outline:none;flex-direction:column;font-size:15px;display:flex;position:fixed;bottom:0;left:0;right:0}.dt-bsheet-handle{border-radius:var(--dt-radius-pill);background:var(--dt-line-3);flex:none;width:36px;height:4px;margin:8px auto 6px}.dt-bsheet-head{flex:none;align-items:center;gap:4px;height:48px;padding:0 8px 0 16px;display:flex}.dt-bsheet-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;overflow:hidden}.dt-bsheet-back{width:44px;height:44px;color:var(--dt-text);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin-left:-12px;padding:0;display:inline-flex}.dt-bsheet-action{height:44px;color:var(--dt-text-2);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 8px;font-size:15px;font-weight:500}.dt-bsheet-action:disabled{color:var(--dt-text-3);cursor:default}.dt-bsheet-body{flex:1;min-height:0;padding:0 8px 8px;overflow:auto}.dt-bsheet-foot{border-top:1px solid var(--dt-line);flex:none;padding:12px 16px 30px}.dt-bsheet-primary{border-radius:var(--dt-radius-pop);background:var(--dt-ink);width:100%;height:48px;color:var(--dt-on-ink);font:inherit;cursor:pointer;border:0;font-size:15px;font-weight:500}.dt-bsheet-row{border-radius:var(--dt-radius-pop);width:100%;min-height:52px;color:var(--dt-text);font:inherit;text-align:left;box-sizing:border-box;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 8px;display:flex}.dt-bsheet-row:active,.dt-bsheet-row:focus-visible{background:var(--dt-surface-3);outline:none}.dt-bsheet-row:disabled{color:var(--dt-text-3);cursor:default}.dt-bsheet-row.is-destructive{color:var(--dt-r-fg)}.dt-bsheet-row.is-accent{color:var(--dt-accent-text);font-weight:500}.dt-bsheet-row.is-split{padding:0}.dt-bsheet-row-main{border-radius:var(--dt-radius-pop);min-width:0;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 8px;display:flex}.dt-bsheet-row-main:active{background:var(--dt-surface-3)}.dt-bsheet-x{width:44px;height:44px;color:var(--dt-text-2);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.dt-bsheet-field{color:var(--dt-text-2)}.dt-bsheet-value{color:var(--dt-text-3);white-space:nowrap;margin-left:auto}.dt-bsheet-value.is-strong{color:var(--dt-text);font-weight:500}.dt-bsheet-end{margin-left:auto}.dt-bsheet-check{color:var(--dt-accent)}.dt-bsheet-icon{color:var(--dt-text-3)}.dt-bsheet-label{box-sizing:border-box;height:32px;color:var(--dt-text-3);padding:12px 8px 0;font-size:12.5px;font-weight:500}.dt-bsheet-sep{background:var(--dt-line);height:1px;margin:8px}.dt-bsheet-note{min-height:44px;color:var(--dt-text-3);justify-content:space-between;align-items:center;padding:0 0 0 8px;font-size:13px;display:flex}.dt-bsheet-search{width:100%;height:44px;margin:4px 0 8px}.dt-bsheet-search input,.dt-bsheet .dt-picker-search input{border-radius:var(--dt-radius-pop);font-size:15px}.dt-bsheet .dt-picker-search{height:44px;margin:4px 0 8px}.dt-bsheet-select{flex:1}.dt-bsheet-select select{border-radius:var(--dt-radius-pop);width:100%;height:44px;box-shadow:var(--dt-shadow-sm);padding:0 32px 0 12px;font-size:15px}.dt-bsheet-row.is-sort .dt-bsheet-select{flex:0 auto}.dt-bsheet-row.is-sort .dt-bsheet-select select{height:36px;box-shadow:none;background:0 0;border:0;padding-left:0}.dt-bsheet-dir{height:36px;margin-left:auto}.dt-bsheet-dir .dt-seg-item{width:44px;height:32px}.dt-bsheet-editor{flex-direction:column;gap:8px;padding:4px 8px 0;display:flex}.dt-bsheet-editor .dt-options-search{height:44px}.dt-bsheet-editor .dt-options-search input{border-radius:var(--dt-radius-pop);font-size:15px}.dt-bsheet-editor .dt-options-list{max-height:none}.dt-bsheet-editor .dt-option{border-radius:var(--dt-radius-pop);--dt-av:26px;--dt-av-fs:10.5px;gap:12px;height:52px;padding:0 4px;font-size:15px}.dt-bsheet-editor .dt-option .dt-checkbox{border-radius:var(--dt-radius-sm);width:20px;height:20px}.dt-bsheet-editor .dt-option .dt-option-only{display:none}.dt-bsheet.dt-views{width:auto}.dt-bsheet .dt-view-check{width:18px}.dt-bsheet .dt-view-item[data-highlighted],.dt-bsheet .dt-view-row:hover .dt-view-item{background:0 0}.dt-bsheet .dt-pop-item,.dt-bsheet .dt-view-item{border-radius:var(--dt-radius-pop);min-height:52px;font-size:15px}.dt-bsheet .dt-view-default,.dt-bsheet .dt-view-edited{font-size:13px}.dt-bsheet .dt-kbd{display:none}.dt-bsheet .dt-pop-label{box-sizing:border-box;height:32px;padding-top:12px;font-size:12.5px}.dt-bsheet .dt-views-list{max-height:none}.dt-bsheet .dt-view-more{opacity:1;width:44px;height:44px}.dt-bsheet .dt-pop-foot{min-height:44px;font-size:13px}@media (prefers-reduced-motion:reduce){.dt-bulk.is-phone.is-floating{animation:none}}.dt{box-sizing:border-box;font-family:var(--dt-font);font-size:var(--dt-fs);color:var(--dt-text);background:var(--dt-surface);font-variant-numeric:tabular-nums;line-height:1.4}.dt *,.dt :before,.dt :after{box-sizing:inherit}.dt-list{border:1px solid var(--dt-line);border-radius:var(--dt-radius-card);height:100%;min-height:0;box-shadow:var(--dt-shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.dt-positioner{z-index:50}.dt-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { c as e } from "react/compiler-runtime";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { Switch as n } from "@base-ui/react/switch";
|
|
4
|
+
// src/core/ui/switch.tsx
|
|
5
|
+
function r(r) {
|
|
6
|
+
let i = e(10), { checked: a, onChange: o, disabled: s, className: c, label: l } = r, u = c ? `dt-switch ${c}` : "dt-switch", d;
|
|
7
|
+
i[0] === o ? d = i[1] : (d = (e) => o(e), i[0] = o, i[1] = d);
|
|
8
|
+
let f = a ? "checked" : "unchecked", p;
|
|
9
|
+
i[2] === Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ t(n.Thumb, { className: "dt-switch-thumb" }), i[2] = p) : p = i[2];
|
|
10
|
+
let m;
|
|
11
|
+
return i[3] !== a || i[4] !== s || i[5] !== l || i[6] !== u || i[7] !== d || i[8] !== f ? (m = /* @__PURE__ */ t(n.Root, {
|
|
12
|
+
className: u,
|
|
13
|
+
checked: a,
|
|
14
|
+
onCheckedChange: d,
|
|
15
|
+
disabled: s,
|
|
16
|
+
"aria-label": l,
|
|
17
|
+
"data-state": f,
|
|
18
|
+
children: p
|
|
19
|
+
}), i[3] = a, i[4] = s, i[5] = l, i[6] = u, i[7] = d, i[8] = f, i[9] = m) : m = i[9], m;
|
|
20
|
+
}
|
|
21
|
+
export { r as t };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=switch-B8TN4kJ-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch-B8TN4kJ-.js","names":["Switch","DtSwitch","t0","$","_c","checked","onChange","disabled","className","label","t1","t2","v","t3","t4","Symbol","for","t5","_c","DtSwitch","$","c","t0","t1","className","t2","onChange","v","t3","checked","t4","Switch","t5","disabled","label"],"sources":["../src/core/ui/switch.tsx"],"sourcesContent":["// Anahtar (handoff 02-ortak): Base UI Switch + `dt-switch`. Stil sözleşmesi `data-state` (R9): Base UI'nin `data-checked`'i\n// yerine Vue'daki reka ile aynı öznitelik yazılır, ui.css aynen geçerli.\nimport { Switch } from '@base-ui/react/switch'\n\nexport function DtSwitch({\n checked,\n onChange,\n disabled,\n className,\n label,\n}: {\n checked: boolean\n onChange: (checked: boolean) => void\n disabled?: boolean\n className?: string\n /** Etiketsiz kullanımda erişilebilir ad. */\n label?: string\n}) {\n return (\n <Switch.Root\n className={className ? `dt-switch ${className}` : 'dt-switch'}\n checked={checked}\n onCheckedChange={(v) => onChange(v)}\n disabled={disabled}\n aria-label={label}\n data-state={checked ? 'checked' : 'unchecked'}\n >\n <Switch.Thumb className=\"dt-switch-thumb\" />\n </Switch.Root>\n )\n}\n"],"mappings":";;;;AAIA,SAAOC,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAkB,EAAAC,YAAAC,aAAAC,aAAAC,cAAAC,aAAAP,GAgBRQ,IAAAF,IAAA,aAAyBA,MAAzB,aAAkDG;CAAA,AAAAR,EAAA,OAAAG,IAE1BK,IAAAR,EAAA,MAAlBQ,KAAAC,MAAON,EAASM,CAAC,GAACT,EAAA,KAAAG,GAAAH,EAAA,KAAAQ;CAGvB,IAAAE,IAAAR,IAAA,YAAA,aAAiCS;CAAA,AAAAX,EAAA,OAAAY,OAAAC,IAAA,2BAAA,KAE7CF,IAAA,kBAAAiB,EAAA,OAAA,EAAwB,WAAA,kBAAiB,CAAA,GAAG5B,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAAA,IAAAc;CAChC,OADgCd,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAAAJ,EAAA,OAAAM,KAAAN,EAAA,OAAAO,KAAAP,EAAA,OAAAQ,KAAAR,EAAA,OAAAU,KAR9CI,IAAA,kBAAAc,EAAA,MAAA;EACa,WAAArB;EACFL;EACQ,iBAAAM;EACPJ;EACEE,cAAAA;EACA,cAAAI;EAEZC,UAAAA;CACF,CAAA,GAAcX,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAM,GAAAN,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAU,GAAAV,EAAA,KAAAc,KAAAA,IAAAd,EAAA,IATdc;AASc"}
|