@logicplanes/kaeso-ui 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -0
- package/LICENSE +1 -1
- package/ai/component-guides.md +269 -7
- package/ai/component-registry.json +600 -800
- package/ai/component-registry.md +200 -141
- package/ai/icons.md +2 -2
- package/ai/tokens.md +1 -1
- package/dist/blocks/delete-resource.js +1 -1
- package/dist/blocks/pages.js +3 -3
- package/dist/blocks/resource-list.js +2 -2
- package/dist/chunks/app-frame-BXh-06HL.js +214 -0
- package/dist/chunks/app-frame-BXh-06HL.js.map +1 -0
- package/dist/chunks/{banner-BiziJuBZ.js → banner-DxGBPQ7p.js} +2 -2
- package/dist/chunks/{banner-BiziJuBZ.js.map → banner-DxGBPQ7p.js.map} +1 -1
- package/dist/chunks/{button-BHKAE6ui.js → button-DQvoOxVQ.js} +2 -2
- package/dist/chunks/{button-BHKAE6ui.js.map → button-DQvoOxVQ.js.map} +1 -1
- package/dist/chunks/{calendar-B5SSTE56.js → calendar-CN3YJi2k.js} +3 -3
- package/dist/chunks/{calendar-B5SSTE56.js.map → calendar-CN3YJi2k.js.map} +1 -1
- package/dist/chunks/code-BADhvsgC.js +33 -0
- package/dist/chunks/code-BADhvsgC.js.map +1 -0
- package/dist/chunks/{code-block-BbK6E4Eo.js → code-block-DxtladFW.js} +41 -37
- package/dist/chunks/code-block-DxtladFW.js.map +1 -0
- package/dist/chunks/{combobox-D8pQk22r.js → combobox-D30Wt11R.js} +4 -4
- package/dist/chunks/{combobox-D8pQk22r.js.map → combobox-D30Wt11R.js.map} +1 -1
- package/dist/chunks/{copy-button-mAzHjYXq.js → copy-button-DXxn-YYZ.js} +4 -4
- package/dist/chunks/{copy-button-mAzHjYXq.js.map → copy-button-DXxn-YYZ.js.map} +1 -1
- package/dist/chunks/{core-Bgefcs3z.js → core-K960A4OT.js} +119 -120
- package/dist/chunks/core-K960A4OT.js.map +1 -0
- package/dist/chunks/{date-popup-Er1oQwtU.js → date-popup-B-6xhb-1.js} +3 -3
- package/dist/chunks/{date-popup-Er1oQwtU.js.map → date-popup-B-6xhb-1.js.map} +1 -1
- package/dist/chunks/{de-BCg1eRVd.js → de-CTAo4KL7.js} +10 -10
- package/dist/chunks/de-CTAo4KL7.js.map +1 -0
- package/dist/chunks/dialog-LNKgPEsV.js +319 -0
- package/dist/chunks/dialog-LNKgPEsV.js.map +1 -0
- package/dist/chunks/{icon-Bha63LaN.js → icon-CBzvyEqC.js} +30 -29
- package/dist/chunks/icon-CBzvyEqC.js.map +1 -0
- package/dist/chunks/{icon-button-Bw67oKtx.js → icon-button-_x1RUphC.js} +3 -3
- package/dist/chunks/{icon-button-Bw67oKtx.js.map → icon-button-_x1RUphC.js.map} +1 -1
- package/dist/chunks/{identity-DQinp-Ep.js → identity-BtZC_d_Q.js} +3 -3
- package/dist/chunks/{identity-DQinp-Ep.js.map → identity-BtZC_d_Q.js.map} +1 -1
- package/dist/chunks/{input-Biakz6GB.js → input-CNTfI6YE.js} +2 -2
- package/dist/chunks/{input-Biakz6GB.js.map → input-CNTfI6YE.js.map} +1 -1
- package/dist/chunks/{input-group-DQqEPFj_.js → input-group-CYA1MEoZ.js} +2 -2
- package/dist/chunks/{input-group-DQqEPFj_.js.map → input-group-CYA1MEoZ.js.map} +1 -1
- package/dist/chunks/{iso-field-CznqNVrH.js → iso-field-1qmg7TP8.js} +2 -2
- package/dist/chunks/{iso-field-CznqNVrH.js.map → iso-field-1qmg7TP8.js.map} +1 -1
- package/dist/chunks/linear-scale-BWKeRqDX.js +37 -0
- package/dist/chunks/linear-scale-BWKeRqDX.js.map +1 -0
- package/dist/chunks/{link-tTapNTpM.js → link-vz9aV8WX.js} +9 -2
- package/dist/chunks/link-vz9aV8WX.js.map +1 -0
- package/dist/chunks/{list-CN8pO8lv.js → list-CzaiyNja.js} +119 -111
- package/dist/chunks/list-CzaiyNja.js.map +1 -0
- package/dist/chunks/{markdown-C-iJsYnd.js → markdown-5NyaHHfN.js} +6 -6
- package/dist/chunks/{markdown-C-iJsYnd.js.map → markdown-5NyaHHfN.js.map} +1 -1
- package/dist/chunks/{menu-OURWt_hD.js → menu-DyVPwgfF.js} +2 -2
- package/dist/chunks/{menu-OURWt_hD.js.map → menu-DyVPwgfF.js.map} +1 -1
- package/dist/chunks/nav-sheet-BIErlV74.js +58 -0
- package/dist/chunks/nav-sheet-BIErlV74.js.map +1 -0
- package/dist/chunks/{logo-VmXYhIJL.js → nav-wordmark-DLkItdvo.js} +12 -93
- package/dist/chunks/nav-wordmark-DLkItdvo.js.map +1 -0
- package/dist/chunks/observe-resize-DhxhmoyB.js +25 -0
- package/dist/chunks/observe-resize-DhxhmoyB.js.map +1 -0
- package/dist/chunks/{page-header-BIRswR73.js → page-header-CEPZzhRp.js} +2 -2
- package/dist/chunks/{page-header-BIRswR73.js.map → page-header-CEPZzhRp.js.map} +1 -1
- package/dist/chunks/{pagination-DYdLm18-.js → pagination-CCMxQ5pH.js} +3 -3
- package/dist/chunks/{pagination-DYdLm18-.js.map → pagination-CCMxQ5pH.js.map} +1 -1
- package/dist/chunks/{range-popup-AbRzgHtY.js → range-popup-DGOnGGag.js} +4 -4
- package/dist/chunks/{range-popup-AbRzgHtY.js.map → range-popup-DGOnGGag.js.map} +1 -1
- package/dist/chunks/resize-motion-CMaidkwe.js +101 -0
- package/dist/chunks/resize-motion-CMaidkwe.js.map +1 -0
- package/dist/chunks/{rights-CXo7zEf6.js → rights-BbiJ0AJB.js} +4 -4
- package/dist/chunks/{rights-CXo7zEf6.js.map → rights-BbiJ0AJB.js.map} +1 -1
- package/dist/chunks/{section-XStLtXKa.js → section-DzOLLN1p.js} +3 -3
- package/dist/chunks/section-DzOLLN1p.js.map +1 -0
- package/dist/chunks/{segmented-CDTx2n29.js → segmented-MrinfDL8.js} +36 -35
- package/dist/chunks/segmented-MrinfDL8.js.map +1 -0
- package/dist/chunks/select-Bc4kRiSG.js +227 -0
- package/dist/chunks/select-Bc4kRiSG.js.map +1 -0
- package/dist/chunks/{sidebar-C4fL_KMm.js → sidebar-5IA18LuP.js} +180 -183
- package/dist/chunks/sidebar-5IA18LuP.js.map +1 -0
- package/dist/chunks/{sidebar-menu-sd9vCpDy.js → sidebar-menu-DRWRxcJ3.js} +2 -2
- package/dist/chunks/{sidebar-menu-sd9vCpDy.js.map → sidebar-menu-DRWRxcJ3.js.map} +1 -1
- package/dist/chunks/{switch-CztLhA8F.js → switch-XMY_CQE-.js} +2 -2
- package/dist/chunks/{switch-CztLhA8F.js.map → switch-XMY_CQE-.js.map} +1 -1
- package/dist/chunks/{tag-BsmQ1xPj.js → tag-Dg89uYpV.js} +3 -3
- package/dist/chunks/{tag-BsmQ1xPj.js.map → tag-Dg89uYpV.js.map} +1 -1
- package/dist/chunks/{text-BPglS3vq.js → text--5MKh2G4.js} +3 -3
- package/dist/chunks/{text-BPglS3vq.js.map → text--5MKh2G4.js.map} +1 -1
- package/dist/chunks/{textarea-Bvk7N2bh.js → textarea-Cj8iR82R.js} +3 -3
- package/dist/chunks/{textarea-Bvk7N2bh.js.map → textarea-Cj8iR82R.js.map} +1 -1
- package/dist/chunks/theme-provider-DJhORMlc.js +72 -0
- package/dist/chunks/theme-provider-DJhORMlc.js.map +1 -0
- package/dist/chunks/tooltip-DEbCCsru.js +151 -0
- package/dist/chunks/tooltip-DEbCCsru.js.map +1 -0
- package/dist/chunks/{tooltip-root-DWhtAtFb.js → tooltip-root-DRd4ciUv.js} +2 -2
- package/dist/chunks/{tooltip-root-DWhtAtFb.js.map → tooltip-root-DRd4ciUv.js.map} +1 -1
- package/dist/chunks/use-layout-width-CbSDbRb0.js +28 -0
- package/dist/chunks/use-layout-width-CbSDbRb0.js.map +1 -0
- package/dist/chunks/use-scroll-margin-DfdTc_5D.js +26 -0
- package/dist/chunks/use-scroll-margin-DfdTc_5D.js.map +1 -0
- package/dist/chunks/use-truncated-CW0hByYt.js +24 -0
- package/dist/chunks/use-truncated-CW0hByYt.js.map +1 -0
- package/dist/chunks/{virtual-rows-BgMdVelU.js → virtual-rows-BZe49bKi.js} +2 -2
- package/dist/chunks/{virtual-rows-BgMdVelU.js.map → virtual-rows-BZe49bKi.js.map} +1 -1
- package/dist/chunks/{zh-CN-cPjO1OOo.js → zh-CN-C7GmVswt.js} +15 -15
- package/dist/chunks/zh-CN-C7GmVswt.js.map +1 -0
- package/dist/components/app-frame.js +3 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +78 -77
- package/dist/components/charts/bar.js.map +1 -1
- package/dist/components/charts/donut.js +2 -2
- package/dist/components/charts/gauge.js +1 -1
- package/dist/components/charts/sankey.js +1 -1
- package/dist/components/charts/timeseries.js +75 -75
- package/dist/components/charts/timeseries.js.map +1 -1
- package/dist/components/charts.js +1 -1
- package/dist/components/code-block.js +1 -1
- package/dist/components/code.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-palette.js +105 -97
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +94 -95
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +3 -3
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +141 -153
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +5 -5
- package/dist/components/filter-chip.js +1 -1
- package/dist/components/flow.js +37 -36
- package/dist/components/flow.js.map +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +5 -5
- package/dist/components/kaeso/conversation.js +2 -2
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +3 -3
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +1 -1
- package/dist/components/kaeso.js +4 -4
- package/dist/components/key-value.js +3 -3
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/logo.js +101 -1
- package/dist/components/logo.js.map +1 -0
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +8 -8
- package/dist/components/scroll-area.js +30 -23
- package/dist/components/scroll-area.js.map +1 -1
- package/dist/components/section.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +46 -41
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/stat.js +75 -76
- package/dist/components/stat.js.map +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-image.js +38 -0
- package/dist/components/theme-image.js.map +1 -0
- package/dist/components/theme-menu.js +3 -3
- package/dist/components/theme-select.js +58 -0
- package/dist/components/theme-select.js.map +1 -0
- package/dist/components/toast.js +91 -92
- package/dist/components/toast.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +76 -74
- package/dist/kaeso.css +39 -16
- package/dist/styles.css +1 -1
- package/dist/theme.js +1 -1
- package/dist/types/components/app-frame/app-frame.d.ts +2 -10
- package/dist/types/components/app-frame/docs.d.ts +1 -0
- package/dist/types/components/app-frame/index.d.ts +1 -0
- package/dist/types/components/app-frame/nav-sheet.d.ts +11 -0
- package/dist/types/components/charts/linear-scale.d.ts +17 -0
- package/dist/types/components/code/code.d.ts +16 -0
- package/dist/types/components/code/docs.d.ts +1 -0
- package/dist/types/components/code-block/code-block.d.ts +2 -0
- package/dist/types/components/code-block/docs.d.ts +4 -0
- package/dist/types/components/command-palette/command-palette.d.ts +1 -0
- package/dist/types/components/command-palette/docs.d.ts +1 -0
- package/dist/types/components/dialog/dialog.d.ts +5 -2
- package/dist/types/components/dialog/docs.d.ts +10 -0
- package/dist/types/components/dialog/index.d.ts +1 -0
- package/dist/types/components/dialog/scope.d.ts +9 -0
- package/dist/types/components/dialog/step-dialog.d.ts +9 -1
- package/dist/types/components/link/link.d.ts +8 -0
- package/dist/types/components/logo/nav-wordmark.d.ts +6 -0
- package/dist/types/components/scroll-area/scroll-area.d.ts +3 -3
- package/dist/types/components/theme-image/docs.d.ts +13 -0
- package/dist/types/components/theme-image/index.d.ts +1 -0
- package/dist/types/components/theme-image/theme-image.d.ts +23 -0
- package/dist/types/components/theme-select/docs.d.ts +10 -0
- package/dist/types/components/theme-select/index.d.ts +1 -0
- package/dist/types/components/theme-select/theme-select.d.ts +34 -0
- package/dist/types/icons/groups.d.ts +1 -1
- package/dist/types/icons/vocabulary.d.ts +5 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/theme/theme-provider.d.ts +1 -1
- package/dist/types/utils/dialog-scope.d.ts +7 -0
- package/dist/types/utils/lazy-module.d.ts +7 -2
- package/dist/types/utils/observe-resize.d.ts +1 -0
- package/dist/types/utils/resize-motion.d.ts +2 -0
- package/foundations/motion.md +1 -0
- package/package.json +2 -2
- package/dist/chunks/app-frame-BBIMch8X.js +0 -224
- package/dist/chunks/app-frame-BBIMch8X.js.map +0 -1
- package/dist/chunks/code-DDyOlIFO.js +0 -23
- package/dist/chunks/code-DDyOlIFO.js.map +0 -1
- package/dist/chunks/code-block-BbK6E4Eo.js.map +0 -1
- package/dist/chunks/core-Bgefcs3z.js.map +0 -1
- package/dist/chunks/de-BCg1eRVd.js.map +0 -1
- package/dist/chunks/dialog-CVqSVk3T.js +0 -283
- package/dist/chunks/dialog-CVqSVk3T.js.map +0 -1
- package/dist/chunks/icon-Bha63LaN.js.map +0 -1
- package/dist/chunks/link-tTapNTpM.js.map +0 -1
- package/dist/chunks/list-CN8pO8lv.js.map +0 -1
- package/dist/chunks/logo-VmXYhIJL.js.map +0 -1
- package/dist/chunks/restore-focus-Cap1Q-R3.js +0 -19
- package/dist/chunks/restore-focus-Cap1Q-R3.js.map +0 -1
- package/dist/chunks/section-XStLtXKa.js.map +0 -1
- package/dist/chunks/segmented-CDTx2n29.js.map +0 -1
- package/dist/chunks/select-Ca3HGsN1.js +0 -223
- package/dist/chunks/select-Ca3HGsN1.js.map +0 -1
- package/dist/chunks/sidebar-C4fL_KMm.js.map +0 -1
- package/dist/chunks/theme-provider-mgUaQK7L.js +0 -69
- package/dist/chunks/theme-provider-mgUaQK7L.js.map +0 -1
- package/dist/chunks/tooltip-CDu00nzg.js +0 -124
- package/dist/chunks/tooltip-CDu00nzg.js.map +0 -1
- package/dist/chunks/use-layout-width-DZaLOQMT.js +0 -27
- package/dist/chunks/use-layout-width-DZaLOQMT.js.map +0 -1
- package/dist/chunks/use-scroll-margin-DWcfIXac.js +0 -25
- package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +0 -1
- package/dist/chunks/use-truncated-DmQoePvG.js +0 -25
- package/dist/chunks/use-truncated-DmQoePvG.js.map +0 -1
- package/dist/chunks/zh-CN-cPjO1OOo.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-popup-
|
|
1
|
+
{"version":3,"file":"date-popup-B-6xhb-1.js","names":["useUiText","Popover","Calendar","IsoField","DatePopup","t","date","onDateChange","d","onClose","disabledDays"],"sources":["../../src/components/date-picker/date-popup.tsx"],"sourcesContent":["import { Calendar, type CalendarProps } from \"../calendar/calendar.js\";\nimport { Popover } from \"../popover/popover.js\";\nimport { IsoField } from \"./iso-field.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport interface DatePopupProps {\n date: Date | null;\n onDateChange: (date: Date | null) => void;\n onClose: () => void;\n weekStartsOn: CalendarProps[\"weekStartsOn\"];\n disabledDays: ((date: Date) => boolean) | undefined;\n}\n\nexport function DatePopup({ date, onDateChange, onClose, weekStartsOn, disabledDays }: DatePopupProps) {\n const t = useUiText();\n return (\n <Popover.Content padding=\"form\" aria-label={t(\"datePicker.chooseDate\", \"Choose a date\")}>\n <Calendar\n mode=\"single\"\n selected={date ?? undefined}\n {...(date ? { defaultMonth: date } : {})}\n onSelect={(d) => {\n onDateChange((d as Date | undefined) ?? null);\n if (d) onClose();\n }}\n weekStartsOn={weekStartsOn}\n disabled={disabledDays}\n />\n <div className=\"mt-12 flex gap-8\">\n <IsoField\n label={t(\"datePicker.date\", \"Date\")}\n value={date ?? undefined}\n onCommit={(d) => {\n if (disabledDays?.(d)) return false;\n onDateChange(d);\n return true;\n }}\n />\n </div>\n </Popover.Content>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgBI,EAAU,EAAE,SAAM,iBAAc,YAAS,iBAAc,mBAAgC;CACrG,IAAMC,IAAIL,EAAU;CACpB,OACE,kBAACC,EAAQ,SAAT;EAAiB,SAAQ;EAAO,cAAYI,EAAE,yBAAyB,eAAe;EAAtF,UAAA,CACE,kBAACH,GAAD;GACE,MAAK;GACL,UAAUI,KAAQ,KAAA;GAClB,GAAKA,IAAO,EAAE,cAAcA,EAAK,IAAI,CAAC;GACtC,WAAW,MAAM;IAEf,AADAC,EAAcC,KAA0B,IAAI,GACxCA,KAAGC,EAAQ;GACjB;GACc;GACd,UAAUC;EACX,CAAA,GACD,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAACP,GAAD;IACE,OAAOE,EAAE,mBAAmB,MAAM;IAClC,OAAOC,KAAQ,KAAA;IACf,WAAW,MACT,CAAII,IAAeF,CAAC,MACpBD,EAAaC,CAAC,GACP;GAEV,CAAA;EACE,CAAA,CACU;;AAErB"}
|
|
@@ -69,7 +69,7 @@ var e = {
|
|
|
69
69
|
"conversationView.result": "Ergebnis",
|
|
70
70
|
"conversationView.system": "System",
|
|
71
71
|
"conversationView.tool": "Tool",
|
|
72
|
-
"conversationView.user": "
|
|
72
|
+
"conversationView.user": "Benutzer",
|
|
73
73
|
"copyButton.copied": "Kopiert",
|
|
74
74
|
"copyButton.copy": "Kopieren",
|
|
75
75
|
"dataTable.loadFailed": "Zeilen konnten nicht geladen werden",
|
|
@@ -141,7 +141,7 @@ var e = {
|
|
|
141
141
|
"format.inDays": "{count, plural, one {in # Tag} other {in # Tagen}}",
|
|
142
142
|
"format.inHours": "in {count} Std.",
|
|
143
143
|
"format.inMinutes": "in {count} Min.",
|
|
144
|
-
"format.justNow": "
|
|
144
|
+
"format.justNow": "gerade eben",
|
|
145
145
|
"format.milliseconds": "{ms} ms",
|
|
146
146
|
"format.minutes": "{min} min",
|
|
147
147
|
"format.minutesAgo": "vor {count} Min.",
|
|
@@ -162,17 +162,17 @@ var e = {
|
|
|
162
162
|
"kbd.backspace": "Rücktaste",
|
|
163
163
|
"kbd.backspaceName": "Rücktaste",
|
|
164
164
|
"kbd.commandName": "Befehlstaste",
|
|
165
|
-
"kbd.controlName": "
|
|
165
|
+
"kbd.controlName": "Steuerungstaste",
|
|
166
166
|
"kbd.ctrl": "Strg",
|
|
167
167
|
"kbd.downName": "Nach unten",
|
|
168
168
|
"kbd.enterName": "Eingabetaste",
|
|
169
|
-
"kbd.escapeName": "
|
|
169
|
+
"kbd.escapeName": "Esc-Taste",
|
|
170
170
|
"kbd.leftName": "Nach links",
|
|
171
171
|
"kbd.optionName": "Wahltaste",
|
|
172
172
|
"kbd.rightName": "Nach rechts",
|
|
173
173
|
"kbd.shift": "Umschalt",
|
|
174
174
|
"kbd.shiftName": "Umschalttaste",
|
|
175
|
-
"kbd.tabName": "
|
|
175
|
+
"kbd.tabName": "Tabulatortaste",
|
|
176
176
|
"kbd.then": "dann",
|
|
177
177
|
"kbd.upName": "Nach oben",
|
|
178
178
|
"keyDisplay.active": "Aktiv",
|
|
@@ -187,7 +187,7 @@ var e = {
|
|
|
187
187
|
"limitMeter.hard": "Hart",
|
|
188
188
|
"limitMeter.label": "{kind, select, requests {Anfragelimit} tokens {Token-Limit} other {Ausgabenlimit}}",
|
|
189
189
|
"limitMeter.soft": "Weich",
|
|
190
|
-
"link.opensInNewTab": " (öffnet in
|
|
190
|
+
"link.opensInNewTab": " (öffnet in einem neuen Tab)",
|
|
191
191
|
"list.add": "Hinzufügen",
|
|
192
192
|
"list.clearSelection": "Auswahl aufheben",
|
|
193
193
|
"list.selectItem": "{name} auswählen",
|
|
@@ -218,7 +218,7 @@ var e = {
|
|
|
218
218
|
"parameterPanel.effortMedium": "Mittel",
|
|
219
219
|
"parameterPanel.effortMinimal": "Minimal",
|
|
220
220
|
"parameterPanel.effortNone": "Ohne",
|
|
221
|
-
"parameterPanel.instructionsPlaceholder": "
|
|
221
|
+
"parameterPanel.instructionsPlaceholder": "Sie sind ein hilfreicher Assistent.",
|
|
222
222
|
"parameterPanel.maxOutputTokens": "Max. Ausgabe-Token",
|
|
223
223
|
"parameterPanel.modelDefault": "Modell-Standard",
|
|
224
224
|
"parameterPanel.reasoningEffort": "Reasoning-Aufwand",
|
|
@@ -236,7 +236,7 @@ var e = {
|
|
|
236
236
|
"promptSuggestions.examplePrompts": "Beispiel-Prompts",
|
|
237
237
|
"providerCard.connected": "Verbunden",
|
|
238
238
|
"providerCard.notConnected": "Nicht verbunden",
|
|
239
|
-
"requestTimeline.label": "Zeit bis zum ersten Byte {ttfb} von {total}
|
|
239
|
+
"requestTimeline.label": "Zeit bis zum ersten Byte: {ttfb} von insgesamt {total}",
|
|
240
240
|
"requestTimeline.firstByte": "Erstes Byte",
|
|
241
241
|
"requestTimeline.totalTime": "Gesamt",
|
|
242
242
|
"resourceList.filters": "Filter",
|
|
@@ -250,7 +250,7 @@ var e = {
|
|
|
250
250
|
"responseMetrics.notYetKnown": "noch unbekannt",
|
|
251
251
|
"responseMetrics.reasoning": "Reasoning",
|
|
252
252
|
"responseMetrics.tokens": "Token",
|
|
253
|
-
"responseMetrics.tokensInOut": "{input}
|
|
253
|
+
"responseMetrics.tokensInOut": "{input} Eingabe, {output} Ausgabe",
|
|
254
254
|
"responseMetrics.total": "Gesamt",
|
|
255
255
|
"responseMetrics.unknown": "unbekannt",
|
|
256
256
|
"responseView.noResponse": "Keine Antwort",
|
|
@@ -381,4 +381,4 @@ var e = {
|
|
|
381
381
|
//#endregion
|
|
382
382
|
export { e as default };
|
|
383
383
|
|
|
384
|
-
//# sourceMappingURL=de-
|
|
384
|
+
//# sourceMappingURL=de-CTAo4KL7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de-CTAo4KL7.js","names":["de"],"sources":["../../src/i18n/locales/de.ts"],"sourcesContent":["const de: Readonly<Record<string, string>> = {\n \"alertDialog.cancel\": \"Abbrechen\",\n \"alertDialog.typeToConfirm\": \"Zur Bestätigung {text} eingeben\",\n \"appFrame.expandSidebar\": \"Seitenleiste ausklappen\",\n \"appFrame.navigation\": \"Navigation\",\n \"appFrame.openNavigation\": \"Navigation öffnen\",\n \"appFrame.skipToContent\": \"Zum Inhalt springen\",\n \"avatarGroup.listSeparator\": \", \",\n \"banner.dismiss\": \"Ausblenden\",\n \"barChart.category\": \"Kategorie\",\n \"calendar.navigation\": \"Navigationsleiste\",\n \"calendar.nextMonth\": \"Zum nächsten Monat\",\n \"calendar.previousMonth\": \"Zum vorherigen Monat\",\n \"calendar.selected\": \"{date}, ausgewählt\",\n \"calendar.today\": \"Heute, {date}\",\n \"chart.listSeparator\": \", \",\n \"chart.liveLine\": \"{heading}: {values}\",\n \"chart.liveValue\": \"{label} {value}\",\n \"chartFrame.loadFailed\": \"Diagramm konnte nicht geladen werden\",\n \"chartFrame.noData\": \"Keine Daten für diesen Zeitraum\",\n \"chartFrame.tryAgain\": \"Erneut versuchen\",\n \"chartFrame.viewAsChart\": \"Diagramm anzeigen\",\n \"chartFrame.viewAsTable\": \"Tabelle anzeigen\",\n \"chartLegend.label\": \"Legende\",\n \"codeBlock.code\": \"Code\",\n \"codeBlock.copy\": \"Code kopieren\",\n \"codeBlock.language\": \"Sprache\",\n \"codeBlock.showAllLines\": \"Alle {count} Zeilen anzeigen\",\n \"codeBlock.showLess\": \"Weniger anzeigen\",\n \"codeBlock.titledCode\": \"Code: {title}\",\n \"combobox.create\": \"„{label}“ erstellen\",\n \"combobox.loading\": \"Wird geladen…\",\n \"combobox.loadingResults\": \"Ergebnisse werden geladen\",\n \"combobox.noResults\": \"Keine Ergebnisse\",\n \"combobox.remove\": \"{label} entfernen\",\n \"combobox.showOptions\": \"Optionen anzeigen\",\n \"commandPalette.label\": \"Befehlspalette\",\n \"commandPalette.noResults\": \"Keine Ergebnisse\",\n \"commandPalette.placeholder\": \"Suchen oder Befehl ausführen\",\n \"commandPalette.results\": \"Ergebnisse\",\n \"commandPalette.toClose\": \"zum Schließen\",\n \"commandPalette.toGoBack\": \"zum Zurückgehen\",\n \"commandPalette.toNavigate\": \"zum Navigieren\",\n \"commandPalette.toOpen\": \"zum Öffnen\",\n \"compareGrid.addModel\": \"Modell hinzufügen\",\n \"compareGrid.columnName\": \"{label}, \",\n \"compareGrid.compareUpTo\": \"Bis zu {max} gleichzeitig vergleichen\",\n \"compareGrid.nextColumn\": \"Nächste Spalte\",\n \"compareGrid.position\": \"{index} von {count}\",\n \"compareGrid.previousColumn\": \"Vorherige Spalte\",\n \"compareGrid.remove\": \"{label} entfernen\",\n \"compareGrid.thread\": \"Verlauf {label}\",\n \"composer.placeholder\": \"Prompt schreiben\",\n \"composer.prompt\": \"Prompt\",\n \"composer.send\": \"Senden\",\n \"composer.stop\": \"Stoppen\",\n \"conversationView.assistant\": \"Assistent\",\n \"conversationView.called\": \"**{name}** aufgerufen\",\n \"conversationView.developer\": \"Entwickler\",\n \"conversationView.document\": \"Dokument\",\n \"conversationView.encrypted\": \"Der Anbieter hat dieses Reasoning verschlüsselt zurückgegeben.\",\n \"conversationView.error\": \"Fehler\",\n \"conversationView.image\": \"Bild\",\n \"conversationView.imageInput\": \"Bildeingabe\",\n \"conversationView.reasoning\": \"Reasoning\",\n \"conversationView.redacted\": \"Vom Anbieter geschwärzt\",\n \"conversationView.refused\": \"Das Modell hat abgelehnt.\",\n \"conversationView.result\": \"Ergebnis\",\n \"conversationView.system\": \"System\",\n \"conversationView.tool\": \"Tool\",\n \"conversationView.user\": \"Benutzer\",\n \"copyButton.copied\": \"Kopiert\",\n \"copyButton.copy\": \"Kopieren\",\n \"dataTable.loadFailed\": \"Zeilen konnten nicht geladen werden\",\n \"dataTable.noMatches\": \"Nichts passt zu diesen Filtern.\",\n \"dataTable.noRows\": \"Keine Zeilen\",\n \"dataTable.resizeColumn\": \"Spaltenbreite ändern\",\n \"dataTable.selectAllRows\": \"Alle Zeilen auswählen\",\n \"dataTable.selectRow\": \"Zeile auswählen\",\n \"dataTable.tokenCount\": \"{count} Token\",\n \"dataTable.tryAgain\": \"Erneut versuchen\",\n \"datePicker.apply\": \"Anwenden\",\n \"datePicker.chooseDate\": \"Datum auswählen\",\n \"datePicker.chooseRange\": \"Zeitraum auswählen\",\n \"datePicker.custom\": \"Benutzerdefiniert\",\n \"datePicker.date\": \"Datum\",\n \"datePicker.endDate\": \"Enddatum\",\n \"datePicker.isoPlaceholder\": \"JJJJ-MM-TT\",\n \"datePicker.last24Hours\": \"Letzte 24 Stunden\",\n \"datePicker.last30Days\": \"Letzte 30 Tage\",\n \"datePicker.last7Days\": \"Letzte 7 Tage\",\n \"datePicker.lastMonth\": \"Letzter Monat\",\n \"datePicker.pickDate\": \"Datum wählen\",\n \"datePicker.pickRange\": \"Zeitraum wählen\",\n \"datePicker.presets\": \"Vorgaben\",\n \"datePicker.startDate\": \"Startdatum\",\n \"datePicker.thisMonth\": \"Dieser Monat\",\n \"deleteResource.confirm\": \"{kind} {verb}\",\n \"deleteResource.deleteConfirm\": \"{kind} löschen\",\n \"deleteResource.deleteTitle\": \"{kind} löschen?\",\n \"deleteResource.title\": \"{kind} {verb}?\",\n \"dialog.back\": \"Zurück\",\n \"dialog.close\": \"Schließen\",\n \"displayOptions.displayOptions\": \"Anzeigeoptionen\",\n \"displayOptions.properties\": \"Angezeigte Eigenschaften\",\n \"displayOptions.view\": \"Ansicht\",\n \"donut.legend\": \"Legende\",\n \"donut.other\": \"Sonstige\",\n \"donut.share\": \"Anteil\",\n \"donut.slice\": \"Segment\",\n \"donut.total\": \"Gesamt\",\n \"donut.underOnePercent\": \"<1 %\",\n \"donut.value\": \"Wert\",\n \"effectiveAccess.access\": \"Zugriff\",\n \"effectiveAccess.everyRight\": \"Alle Rechte\",\n \"effectiveAccess.from\": \"Über\",\n \"effectiveAccess.grantedOfTotal\": \"{granted} von {total}\",\n \"effectiveAccess.listSeparator\": \", \",\n \"effectiveAccess.noRights\": \"Keine Rechte\",\n \"effectiveAccess.noneIn\": \"Keine in\",\n \"environmentSnippet.apiKey\": \"API-Schlüssel\",\n \"environmentSnippet.baseUrl\": \"Basis-URL\",\n \"environmentSnippet.copyBaseUrl\": \"Basis-URL kopieren\",\n \"environmentSnippet.copyVariableName\": \"Variablennamen kopieren\",\n \"field.optional\": \"Optional\",\n \"filterChip.filter\": \"Filter\",\n \"filterChip.filterNamed\": \"Filter: {property}\",\n \"filterChip.noMatches\": \"Keine passenden Werte\",\n \"filterChip.remove\": \"Filter entfernen\",\n \"filterChip.removeNamed\": \"Filter „{property}“ entfernen\",\n \"filterChip.search\": \"Suchen\",\n \"filterChip.searchNamedValues\": \"Werte für „{property}“ durchsuchen\",\n \"filterChip.searchValues\": \"Werte durchsuchen\",\n \"filterRow.filters\": \"Filter\",\n \"flow.connection\": \"Von {from} zu {to}\",\n \"flow.label\": \"Flussdiagramm\",\n \"format.daysAgo\": \"{count, plural, one {vor # Tag} other {vor # Tagen}}\",\n \"format.hoursAgo\": \"vor {count} Std.\",\n \"format.hoursMinutes\": \"{h} h {min} min\",\n \"format.inDays\": \"{count, plural, one {in # Tag} other {in # Tagen}}\",\n \"format.inHours\": \"in {count} Std.\",\n \"format.inMinutes\": \"in {count} Min.\",\n \"format.justNow\": \"gerade eben\",\n \"format.milliseconds\": \"{ms} ms\",\n \"format.minutes\": \"{min} min\",\n \"format.minutesAgo\": \"vor {count} Min.\",\n \"format.minutesSeconds\": \"{min} min {s} s\",\n \"format.seconds\": \"{s} s\",\n \"format.yesterday\": \"gestern\",\n \"heatmap.cell\": \"{row} {column}: {value}\",\n \"heatmap.less\": \"Weniger\",\n \"heatmap.more\": \"Mehr\",\n \"jsonView.collapse\": \"Einklappen\",\n \"jsonView.collapsePath\": \"{path} einklappen\",\n \"jsonView.copyPath\": \"Pfad {path} kopieren\",\n \"jsonView.expand\": \"Ausklappen\",\n \"jsonView.expandPath\": \"{path} ausklappen\",\n \"jsonView.items\": \"{count, plural, one {{n} Element} other {{n} Elemente}}\",\n \"jsonView.keys\": \"{count, plural, one {{n} Schlüssel} other {{n} Schlüssel}}\",\n \"jsonView.pathCopied\": \"Pfad kopiert\",\n \"kbd.backspace\": \"Rücktaste\",\n \"kbd.backspaceName\": \"Rücktaste\",\n \"kbd.commandName\": \"Befehlstaste\",\n \"kbd.controlName\": \"Steuerungstaste\",\n \"kbd.ctrl\": \"Strg\",\n \"kbd.downName\": \"Nach unten\",\n \"kbd.enterName\": \"Eingabetaste\",\n \"kbd.escapeName\": \"Esc-Taste\",\n \"kbd.leftName\": \"Nach links\",\n \"kbd.optionName\": \"Wahltaste\",\n \"kbd.rightName\": \"Nach rechts\",\n \"kbd.shift\": \"Umschalt\",\n \"kbd.shiftName\": \"Umschalttaste\",\n \"kbd.tabName\": \"Tabulatortaste\",\n \"kbd.then\": \"dann\",\n \"kbd.upName\": \"Nach oben\",\n \"keyDisplay.active\": \"Aktiv\",\n \"keyDisplay.archived\": \"Archiviert\",\n \"keyDisplay.copyRedactedKey\": \"Maskierten Schlüssel kopieren\",\n \"keyDisplay.disabled\": \"Deaktiviert\",\n \"keyDisplay.expired\": \"Abgelaufen\",\n \"keyDisplay.inference\": \"Inferenz\",\n \"keyDisplay.inferenceAndPlatform\": \"Inferenz + Plattform\",\n \"keyDisplay.platform\": \"Plattform\",\n \"label.optional\": \"Optional\",\n \"limitMeter.hard\": \"Hart\",\n \"limitMeter.label\": \"{kind, select, requests {Anfragelimit} tokens {Token-Limit} other {Ausgabenlimit}}\",\n \"limitMeter.soft\": \"Weich\",\n \"link.opensInNewTab\": \" (öffnet in einem neuen Tab)\",\n \"list.add\": \"Hinzufügen\",\n \"list.clearSelection\": \"Auswahl aufheben\",\n \"list.selectItem\": \"{name} auswählen\",\n \"list.selected\": \"{count} ausgewählt\",\n \"list.selection\": \"Auswahl\",\n \"loader.loading\": \"Wird geladen\",\n \"markdown.showAllCharacters\": \"Alle {count} Zeichen anzeigen\",\n \"modelLabel.capabilities\": \"Fähigkeiten: {list}\",\n \"modelLabel.imageInput\": \"Bildeingabe\",\n \"modelLabel.listSeparator\": \", \",\n \"modelLabel.pdfInput\": \"PDF-Eingabe\",\n \"modelLabel.reasoning\": \"Reasoning\",\n \"modelLabel.structuredOutput\": \"Strukturierte Ausgabe\",\n \"modelLabel.toolCalling\": \"Tool-Aufrufe\",\n \"modelPicker.choose\": \"Modell wählen\",\n \"modelPicker.model\": \"Modell\",\n \"numberInput.decrease\": \"Verringern\",\n \"numberInput.increase\": \"Erhöhen\",\n \"otpInput.label\": \"Bestätigungscode\",\n \"pagination.label\": \"Seitennavigation\",\n \"pagination.loadMore\": \"Mehr laden\",\n \"pagination.next\": \"Nächste Seite\",\n \"pagination.previous\": \"Vorherige Seite\",\n \"parameterPanel.effortExtraHigh\": \"Sehr hoch\",\n \"parameterPanel.effortHigh\": \"Hoch\",\n \"parameterPanel.effortLow\": \"Niedrig\",\n \"parameterPanel.effortMax\": \"Maximal\",\n \"parameterPanel.effortMedium\": \"Mittel\",\n \"parameterPanel.effortMinimal\": \"Minimal\",\n \"parameterPanel.effortNone\": \"Ohne\",\n \"parameterPanel.instructionsPlaceholder\": \"Sie sind ein hilfreicher Assistent.\",\n \"parameterPanel.maxOutputTokens\": \"Max. Ausgabe-Token\",\n \"parameterPanel.modelDefault\": \"Modell-Standard\",\n \"parameterPanel.reasoningEffort\": \"Reasoning-Aufwand\",\n \"parameterPanel.reasoningSummary\": \"Reasoning-Zusammenfassung\",\n \"parameterPanel.resetToDefaults\": \"Auf Standard zurücksetzen\",\n \"parameterPanel.summaryAuto\": \"Auto\",\n \"parameterPanel.summaryConcise\": \"Knapp\",\n \"parameterPanel.summaryDetailed\": \"Detailliert\",\n \"parameterPanel.summaryOff\": \"Aus\",\n \"parameterPanel.systemInstructions\": \"Systemanweisungen\",\n \"parameterPanel.temperature\": \"Temperatur\",\n \"parameterPanel.topP\": \"Top P\",\n \"parameterPanel.valueDefault\": \"{value} (Standard)\",\n \"parameterPopover.parameters\": \"Parameter\",\n \"promptSuggestions.examplePrompts\": \"Beispiel-Prompts\",\n \"providerCard.connected\": \"Verbunden\",\n \"providerCard.notConnected\": \"Nicht verbunden\",\n \"requestTimeline.label\": \"Zeit bis zum ersten Byte: {ttfb} von insgesamt {total}\",\n \"requestTimeline.firstByte\": \"Erstes Byte\",\n \"requestTimeline.totalTime\": \"Gesamt\",\n \"resourceList.filters\": \"Filter\",\n \"resourceList.noMatches\": \"Keine Treffer\",\n \"resourceList.nothingHereYet\": \"Noch nichts vorhanden\",\n \"resourceList.search\": \"Suchen\",\n \"resourceList.tryShorterSearch\": \"Kürzeren Suchbegriff versuchen.\",\n \"responseMetrics.cost\": \"Kosten\",\n \"responseMetrics.firstToken\": \"Erstes Token\",\n \"responseMetrics.metrics\": \"Kennzahlen\",\n \"responseMetrics.notYetKnown\": \"noch unbekannt\",\n \"responseMetrics.reasoning\": \"Reasoning\",\n \"responseMetrics.tokens\": \"Token\",\n \"responseMetrics.tokensInOut\": \"{input} Eingabe, {output} Ausgabe\",\n \"responseMetrics.total\": \"Gesamt\",\n \"responseMetrics.unknown\": \"unbekannt\",\n \"responseView.noResponse\": \"Keine Antwort\",\n \"responseView.noText\": \"Das Modell hat keinen Text zurückgegeben\",\n \"responseView.responding\": \"Antwortet\",\n \"responseView.response\": \"Antwort\",\n \"responseView.retry\": \"Erneut versuchen\",\n \"responseView.stopped\": \"Gestoppt\",\n \"responseView.stoppedBeforeResponse\": \"Vor einer Antwort gestoppt\",\n \"responseView.stoppedEarly\": \"Die Antwort brach vorzeitig ab\",\n \"responseView.thinking\": \"Denkt nach\",\n \"responseView.thoughtFor\": \"{duration} nachgedacht\",\n \"responseView.waiting\": \"Warten auf die Antwort\",\n \"rightsMatrix.added\": \"Hinzugefügt\",\n \"rightsMatrix.alsoGranted\": \"Ebenfalls gewährt: {rights}\",\n \"rightsMatrix.alsoRemoved\": \"Ebenfalls entzogen: {rights}\",\n \"rightsMatrix.everyRightIn\": \"Alle Rechte in {group}\",\n \"rightsMatrix.everyRightShownIn\": \"Alle angezeigten Rechte in {group}\",\n \"rightsMatrix.fromRole\": \"Über Rolle\",\n \"rightsMatrix.granted\": \"Gewährt\",\n \"rightsMatrix.grantedOfTotal\": \"{granted} von {total}\",\n \"rightsMatrix.listSeparator\": \", \",\n \"rightsMatrix.needs\": \"Erfordert {rights}\",\n \"rightsMatrix.noMatch\": \"Keine passenden Rechte\",\n \"rightsMatrix.noMatchHint\": \"Namen, Code oder ein Wort aus der Beschreibung eines Rechts versuchen.\",\n \"rightsMatrix.notGranted\": \"Nicht gewährt\",\n \"rightsMatrix.removed\": \"Entfernt\",\n \"rightsMatrix.rights\": \"Rechte\",\n \"rightsMatrix.searchRights\": \"Rechte suchen\",\n \"rightsMatrix.sensitive\": \"Sensibel\",\n \"rightsMatrix.sensitiveHint\": \"Sensibel: legt Daten offen oder ist schwer rückgängig zu machen\",\n \"rolePicker.builtInRoles\": \"Integrierte Rollen\",\n \"rolePicker.customRoles\": \"Eigene Rollen\",\n \"rolePicker.role\": \"Rolle\",\n \"sankey.from\": \"Von\",\n \"sankey.link\": \"{source} → {target}: {value}\",\n \"sankey.requests\": \"Anfragen\",\n \"sankey.to\": \"Nach\",\n \"searchInput.clear\": \"Suche leeren\",\n \"searchInput.placeholder\": \"Suchen\",\n \"secretReveal.copied\": \"Kopiert\",\n \"secretReveal.copyKey\": \"Schlüssel kopieren\",\n \"secretReveal.secret\": \"Secret\",\n \"secretReveal.secretFor\": \"Secret für {name}\",\n \"secretReveal.shownOnce\": \"Nur einmal sichtbar. Jetzt sicher speichern.\",\n \"select.firstAndMore\": \"{first} +{count}\",\n \"select.placeholder\": \"Auswählen\",\n \"sensitiveInput.capsLock\": \"Feststelltaste ist aktiviert.\",\n \"sensitiveInput.hide\": \"Ausblenden\",\n \"sensitiveInput.show\": \"Anzeigen\",\n \"shareBar.listSeparator\": \", \",\n \"shareBar.segment\": \"{label}: {value}\",\n \"shareBar.share\": \"{label} {share}\",\n \"shareBar.summary\": \"{label}: {shares}\",\n \"sheet.close\": \"Schließen\",\n \"sidebar.backToApp\": \"Zurück zur App\",\n \"sidebar.clickToCollapse\": \"**Klicken** zum Einklappen\",\n \"sidebar.closeNavigation\": \"Navigation schließen\",\n \"sidebar.collapse\": \"Seitenleiste einklappen\",\n \"sidebar.dragToResize\": \"**Ziehen** zum Ändern der Breite\",\n \"sidebar.expand\": \"Seitenleiste ausklappen\",\n \"sidebar.keepOpen\": \"Seitenleiste offen lassen\",\n \"sidebar.main\": \"Hauptmenü\",\n \"sidebar.resizeOrCollapse\": \"Breite der Seitenleiste ändern; klicken zum Einklappen\",\n \"sidebar.switchOrOpenSettings\": \"{label}: wechseln oder Einstellungen öffnen\",\n \"sidebar.switchPlace\": \"{label}: wechseln\",\n \"slider.rangeEnd\": \"Bereichsende: {value}\",\n \"slider.rangeStart\": \"Bereichsanfang: {value}\",\n \"statTile.percent\": \"{value} %\",\n \"statTile.trend\": \"Verlauf\",\n \"statTile.trendPerDay\": \"{label} pro Tag\",\n \"statusCode.badGateway\": \"Bad Gateway\",\n \"statusCode.badRequest\": \"Ungültige Anfrage\",\n \"statusCode.clientClosed\": \"Client getrennt\",\n \"statusCode.conflict\": \"Konflikt\",\n \"statusCode.created\": \"Erstellt\",\n \"statusCode.forbidden\": \"Verboten\",\n \"statusCode.gatewayTimeout\": \"Gateway-Timeout\",\n \"statusCode.noContent\": \"Kein Inhalt\",\n \"statusCode.notFound\": \"Nicht gefunden\",\n \"statusCode.ok\": \"OK\",\n \"statusCode.overloaded\": \"Überlastet\",\n \"statusCode.rateLimited\": \"Ratenlimit erreicht\",\n \"statusCode.serverError\": \"Serverfehler\",\n \"statusCode.timeout\": \"Zeitüberschreitung\",\n \"statusCode.tooLarge\": \"Zu groß\",\n \"statusCode.tooltip\": \"{code} {text}\",\n \"statusCode.unauthorized\": \"Nicht autorisiert\",\n \"statusCode.unavailable\": \"Nicht verfügbar\",\n \"statusCode.unprocessable\": \"Nicht verarbeitbar\",\n \"stepDialog.back\": \"Zurück\",\n \"stepDialog.cancel\": \"Abbrechen\",\n \"stepDialog.continue\": \"Weiter\",\n \"stepDialog.stepAnnouncement\": \"Schritt {current} von {total}: {title}\",\n \"stepDialog.stepOf\": \"Schritt {current} von {total}\",\n \"tableOfContents.title\": \"Auf dieser Seite\",\n \"tag.remove\": \"Entfernen\",\n \"tag.removeNamed\": \"{label} entfernen\",\n \"tagInput.remove\": \"{tag} entfernen\",\n \"themeMenu.dark\": \"Dunkel\",\n \"themeMenu.light\": \"Hell\",\n \"themeMenu.system\": \"System\",\n \"themeMenu.theme\": \"Design\",\n \"timeInput.hours\": \"Stunden\",\n \"timeInput.minutes\": \"Minuten\",\n \"timeInput.time\": \"Uhrzeit\",\n \"timeseriesChart.time\": \"Zeit\",\n \"toast.dismiss\": \"Ausblenden\",\n \"toast.notifications\": \"Benachrichtigungen\",\n \"tokenKind.cacheRead\": \"Cache-Lesen\",\n \"tokenKind.cacheWrite\": \"Cache-Schreiben\",\n \"tokenKind.input\": \"Eingabe\",\n \"tokenKind.output\": \"Ausgabe\",\n \"tokenKind.reasoning\": \"Reasoning\",\n \"usageBreakdown.cacheRead\": \"Cache-Lesen\",\n \"usageBreakdown.cacheWrite\": \"Cache-Schreiben\",\n \"usageBreakdown.input\": \"Eingabe\",\n \"usageBreakdown.kindCount\": \"{kind} {count}\",\n \"usageBreakdown.listSeparator\": \", \",\n \"usageBreakdown.output\": \"Ausgabe\",\n \"usageBreakdown.reasoning\": \"Reasoning\",\n \"usageBreakdown.tokenCount\": \"{count} Token\",\n \"usageBreakdown.tokens\": \"Token: {list}\",\n \"userMessage.prompt\": \"Prompt\",\n \"userMessage.showAll\": \"Alles anzeigen\",\n \"userMessage.showLess\": \"Weniger anzeigen\",\n};\nexport default de;\n"],"mappings":";AAAA,IAAMA,IAAuC;CAC3C,sBAAsB;CACtB,6BAA6B;CAC7B,0BAA0B;CAC1B,uBAAuB;CACvB,2BAA2B;CAC3B,0BAA0B;CAC1B,6BAA6B;CAC7B,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,sBAAsB;CACtB,0BAA0B;CAC1B,qBAAqB;CACrB,kBAAkB;CAClB,uBAAuB;CACvB,kBAAkB;CAClB,mBAAmB;CACnB,yBAAyB;CACzB,qBAAqB;CACrB,uBAAuB;CACvB,0BAA0B;CAC1B,0BAA0B;CAC1B,qBAAqB;CACrB,kBAAkB;CAClB,kBAAkB;CAClB,sBAAsB;CACtB,0BAA0B;CAC1B,sBAAsB;CACtB,wBAAwB;CACxB,mBAAmB;CACnB,oBAAoB;CACpB,2BAA2B;CAC3B,sBAAsB;CACtB,mBAAmB;CACnB,wBAAwB;CACxB,wBAAwB;CACxB,4BAA4B;CAC5B,8BAA8B;CAC9B,0BAA0B;CAC1B,0BAA0B;CAC1B,2BAA2B;CAC3B,6BAA6B;CAC7B,yBAAyB;CACzB,wBAAwB;CACxB,0BAA0B;CAC1B,2BAA2B;CAC3B,0BAA0B;CAC1B,wBAAwB;CACxB,8BAA8B;CAC9B,sBAAsB;CACtB,sBAAsB;CACtB,wBAAwB;CACxB,mBAAmB;CACnB,iBAAiB;CACjB,iBAAiB;CACjB,8BAA8B;CAC9B,2BAA2B;CAC3B,8BAA8B;CAC9B,6BAA6B;CAC7B,8BAA8B;CAC9B,0BAA0B;CAC1B,0BAA0B;CAC1B,+BAA+B;CAC/B,8BAA8B;CAC9B,6BAA6B;CAC7B,4BAA4B;CAC5B,2BAA2B;CAC3B,2BAA2B;CAC3B,yBAAyB;CACzB,yBAAyB;CACzB,qBAAqB;CACrB,mBAAmB;CACnB,wBAAwB;CACxB,uBAAuB;CACvB,oBAAoB;CACpB,0BAA0B;CAC1B,2BAA2B;CAC3B,uBAAuB;CACvB,wBAAwB;CACxB,sBAAsB;CACtB,oBAAoB;CACpB,yBAAyB;CACzB,0BAA0B;CAC1B,qBAAqB;CACrB,mBAAmB;CACnB,sBAAsB;CACtB,6BAA6B;CAC7B,0BAA0B;CAC1B,yBAAyB;CACzB,wBAAwB;CACxB,wBAAwB;CACxB,uBAAuB;CACvB,wBAAwB;CACxB,sBAAsB;CACtB,wBAAwB;CACxB,wBAAwB;CACxB,0BAA0B;CAC1B,gCAAgC;CAChC,8BAA8B;CAC9B,wBAAwB;CACxB,eAAe;CACf,gBAAgB;CAChB,iCAAiC;CACjC,6BAA6B;CAC7B,uBAAuB;CACvB,gBAAgB;CAChB,eAAe;CACf,eAAe;CACf,eAAe;CACf,eAAe;CACf,yBAAyB;CACzB,eAAe;CACf,0BAA0B;CAC1B,8BAA8B;CAC9B,wBAAwB;CACxB,kCAAkC;CAClC,iCAAiC;CACjC,4BAA4B;CAC5B,0BAA0B;CAC1B,6BAA6B;CAC7B,8BAA8B;CAC9B,kCAAkC;CAClC,uCAAuC;CACvC,kBAAkB;CAClB,qBAAqB;CACrB,0BAA0B;CAC1B,wBAAwB;CACxB,qBAAqB;CACrB,0BAA0B;CAC1B,qBAAqB;CACrB,gCAAgC;CAChC,2BAA2B;CAC3B,qBAAqB;CACrB,mBAAmB;CACnB,cAAc;CACd,kBAAkB;CAClB,mBAAmB;CACnB,uBAAuB;CACvB,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,kBAAkB;CAClB,uBAAuB;CACvB,kBAAkB;CAClB,qBAAqB;CACrB,yBAAyB;CACzB,kBAAkB;CAClB,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,qBAAqB;CACrB,yBAAyB;CACzB,qBAAqB;CACrB,mBAAmB;CACnB,uBAAuB;CACvB,kBAAkB;CAClB,iBAAiB;CACjB,uBAAuB;CACvB,iBAAiB;CACjB,qBAAqB;CACrB,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,gBAAgB;CAChB,iBAAiB;CACjB,kBAAkB;CAClB,gBAAgB;CAChB,kBAAkB;CAClB,iBAAiB;CACjB,aAAa;CACb,iBAAiB;CACjB,eAAe;CACf,YAAY;CACZ,cAAc;CACd,qBAAqB;CACrB,uBAAuB;CACvB,8BAA8B;CAC9B,uBAAuB;CACvB,sBAAsB;CACtB,wBAAwB;CACxB,mCAAmC;CACnC,uBAAuB;CACvB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,mBAAmB;CACnB,sBAAsB;CACtB,YAAY;CACZ,uBAAuB;CACvB,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,8BAA8B;CAC9B,2BAA2B;CAC3B,yBAAyB;CACzB,4BAA4B;CAC5B,uBAAuB;CACvB,wBAAwB;CACxB,+BAA+B;CAC/B,0BAA0B;CAC1B,sBAAsB;CACtB,qBAAqB;CACrB,wBAAwB;CACxB,wBAAwB;CACxB,kBAAkB;CAClB,oBAAoB;CACpB,uBAAuB;CACvB,mBAAmB;CACnB,uBAAuB;CACvB,kCAAkC;CAClC,6BAA6B;CAC7B,4BAA4B;CAC5B,4BAA4B;CAC5B,+BAA+B;CAC/B,gCAAgC;CAChC,6BAA6B;CAC7B,0CAA0C;CAC1C,kCAAkC;CAClC,+BAA+B;CAC/B,kCAAkC;CAClC,mCAAmC;CACnC,kCAAkC;CAClC,8BAA8B;CAC9B,iCAAiC;CACjC,kCAAkC;CAClC,6BAA6B;CAC7B,qCAAqC;CACrC,8BAA8B;CAC9B,uBAAuB;CACvB,+BAA+B;CAC/B,+BAA+B;CAC/B,oCAAoC;CACpC,0BAA0B;CAC1B,6BAA6B;CAC7B,yBAAyB;CACzB,6BAA6B;CAC7B,6BAA6B;CAC7B,wBAAwB;CACxB,0BAA0B;CAC1B,+BAA+B;CAC/B,uBAAuB;CACvB,iCAAiC;CACjC,wBAAwB;CACxB,8BAA8B;CAC9B,2BAA2B;CAC3B,+BAA+B;CAC/B,6BAA6B;CAC7B,0BAA0B;CAC1B,+BAA+B;CAC/B,yBAAyB;CACzB,2BAA2B;CAC3B,2BAA2B;CAC3B,uBAAuB;CACvB,2BAA2B;CAC3B,yBAAyB;CACzB,sBAAsB;CACtB,wBAAwB;CACxB,sCAAsC;CACtC,6BAA6B;CAC7B,yBAAyB;CACzB,2BAA2B;CAC3B,wBAAwB;CACxB,sBAAsB;CACtB,4BAA4B;CAC5B,4BAA4B;CAC5B,6BAA6B;CAC7B,kCAAkC;CAClC,yBAAyB;CACzB,wBAAwB;CACxB,+BAA+B;CAC/B,8BAA8B;CAC9B,sBAAsB;CACtB,wBAAwB;CACxB,4BAA4B;CAC5B,2BAA2B;CAC3B,wBAAwB;CACxB,uBAAuB;CACvB,6BAA6B;CAC7B,0BAA0B;CAC1B,8BAA8B;CAC9B,2BAA2B;CAC3B,0BAA0B;CAC1B,mBAAmB;CACnB,eAAe;CACf,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,qBAAqB;CACrB,2BAA2B;CAC3B,uBAAuB;CACvB,wBAAwB;CACxB,uBAAuB;CACvB,0BAA0B;CAC1B,0BAA0B;CAC1B,uBAAuB;CACvB,sBAAsB;CACtB,2BAA2B;CAC3B,uBAAuB;CACvB,uBAAuB;CACvB,0BAA0B;CAC1B,oBAAoB;CACpB,kBAAkB;CAClB,oBAAoB;CACpB,eAAe;CACf,qBAAqB;CACrB,2BAA2B;CAC3B,2BAA2B;CAC3B,oBAAoB;CACpB,wBAAwB;CACxB,kBAAkB;CAClB,oBAAoB;CACpB,gBAAgB;CAChB,4BAA4B;CAC5B,gCAAgC;CAChC,uBAAuB;CACvB,mBAAmB;CACnB,qBAAqB;CACrB,oBAAoB;CACpB,kBAAkB;CAClB,wBAAwB;CACxB,yBAAyB;CACzB,yBAAyB;CACzB,2BAA2B;CAC3B,uBAAuB;CACvB,sBAAsB;CACtB,wBAAwB;CACxB,6BAA6B;CAC7B,wBAAwB;CACxB,uBAAuB;CACvB,iBAAiB;CACjB,yBAAyB;CACzB,0BAA0B;CAC1B,0BAA0B;CAC1B,sBAAsB;CACtB,uBAAuB;CACvB,sBAAsB;CACtB,2BAA2B;CAC3B,0BAA0B;CAC1B,4BAA4B;CAC5B,mBAAmB;CACnB,qBAAqB;CACrB,uBAAuB;CACvB,+BAA+B;CAC/B,qBAAqB;CACrB,yBAAyB;CACzB,cAAc;CACd,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,mBAAmB;CACnB,mBAAmB;CACnB,qBAAqB;CACrB,kBAAkB;CAClB,wBAAwB;CACxB,iBAAiB;CACjB,uBAAuB;CACvB,uBAAuB;CACvB,wBAAwB;CACxB,mBAAmB;CACnB,oBAAoB;CACpB,uBAAuB;CACvB,4BAA4B;CAC5B,6BAA6B;CAC7B,wBAAwB;CACxB,4BAA4B;CAC5B,gCAAgC;CAChC,yBAAyB;CACzB,4BAA4B;CAC5B,6BAA6B;CAC7B,yBAAyB;CACzB,sBAAsB;CACtB,uBAAuB;CACvB,wBAAwB;AAC1B"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { t as e } from "./cn-CidVUKMm.js";
|
|
3
|
+
import { r as t } from "./portal-context-BBbzDKmY.js";
|
|
4
|
+
import { t as n } from "./inset-BLMdxX4I.js";
|
|
5
|
+
import { i as r } from "./context-BELWW79w.js";
|
|
6
|
+
import { i, n as a } from "./button-DQvoOxVQ.js";
|
|
7
|
+
import { t as o } from "./icon-button-_x1RUphC.js";
|
|
8
|
+
import { t as s } from "./input-CNTfI6YE.js";
|
|
9
|
+
import { a as c, i as l, t as u } from "./resize-motion-CMaidkwe.js";
|
|
10
|
+
import { cloneElement as d, createContext as f, forwardRef as p, use as m, useCallback as h, useEffect as g, useLayoutEffect as _, useRef as v, useState as y } from "react";
|
|
11
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
12
|
+
import { ArrowLeft01Icon as C, Cancel01Icon as w } from "@hugeicons/core-free-icons";
|
|
13
|
+
import { Dialog as T } from "@base-ui/react/dialog";
|
|
14
|
+
import { AlertDialog as E } from "@base-ui/react/alert-dialog";
|
|
15
|
+
//#region src/components/dialog/focus.ts
|
|
16
|
+
var D = "input:not([type=hidden]):not([tabindex=\"-1\"]):not([aria-hidden=\"true\"]), textarea, select, [role=combobox]:not([tabindex=\"-1\"]), [role=radio][tabindex=\"0\"], [role=checkbox]:not([tabindex=\"-1\"]), [role=switch]:not([tabindex=\"-1\"]), [role=listbox]:not([tabindex=\"-1\"]), [role=grid] [data-index][tabindex=\"0\"]", O = "a[href], button, input:not([type=hidden]), select, textarea, [tabindex]:not([tabindex=\"-1\"])", k = (e) => !e.closest("[hidden], [inert]") && !e.matches(":disabled, [aria-disabled=true]"), A = (e, t) => [...e.querySelectorAll(t)].find(k) ?? null;
|
|
17
|
+
function j(e, t) {
|
|
18
|
+
let n = t ?? e.querySelector("[data-dialog-body]"), r = e.querySelector("[data-dialog-footer]"), a = r ? [...r.querySelectorAll("button, a[href]")].filter(k) : [], { primary: o, danger: s, "danger-secondary": c } = i.variant, l = a.filter((e) => !e.classList.contains(s.classes) && !e.classList.contains(c.classes));
|
|
19
|
+
return (n && (A(n, "[data-autofocus]") ?? A(n, D))) ?? l.find((e) => e.classList.contains(o.classes)) ?? l[0] ?? (n && A(n, O)) ?? A(e, O);
|
|
20
|
+
}
|
|
21
|
+
function M(e, t) {
|
|
22
|
+
let n = e?.closest("[data-dialog-frame]");
|
|
23
|
+
e && n && !n.closest("[data-closed]") && ((t?.isConnected && n.contains(t) && k(t) ? t : null) ?? j(n, e))?.focus({ preventScroll: !0 });
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/components/dialog/dialog.tsx
|
|
27
|
+
var N = { size: {
|
|
28
|
+
sm: { classes: "w-440" },
|
|
29
|
+
md: { classes: "w-560" },
|
|
30
|
+
lg: { classes: "w-720" }
|
|
31
|
+
} }, P = { size: "md" }, F = "fixed inset-0 z-50 bg-overlay backdrop-motion", I = "fixed inset-0 z-50 flex items-center justify-center p-16", L = "relative flex dialog-limits flex-col overflow-hidden rounded-dialog bg-raised text-fg shadow-dialog outline-none dialog-motion", R = /* @__PURE__ */ f(!1);
|
|
32
|
+
function z() {
|
|
33
|
+
let e = v(null), [t, n] = y(!1), r = h(() => {
|
|
34
|
+
let t = e.current;
|
|
35
|
+
t && !t.closest("[data-resizing]") && n(t.scrollHeight - t.scrollTop - t.clientHeight > 1);
|
|
36
|
+
}, []);
|
|
37
|
+
return g(() => {
|
|
38
|
+
let t = e.current;
|
|
39
|
+
if (t) return r(), t.addEventListener("scroll", r, { passive: !0 }), window.addEventListener("resize", r), () => {
|
|
40
|
+
t.removeEventListener("scroll", r), window.removeEventListener("resize", r);
|
|
41
|
+
};
|
|
42
|
+
}, [r]), {
|
|
43
|
+
ref: e,
|
|
44
|
+
under: t,
|
|
45
|
+
check: r
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function B(e, t) {
|
|
49
|
+
let n = v(!1);
|
|
50
|
+
g(() => {
|
|
51
|
+
let r = !n.current;
|
|
52
|
+
n.current = !0;
|
|
53
|
+
let i = document.activeElement;
|
|
54
|
+
if (r || t || !e || i && i !== document.body || e.matches("[data-ending-style], [data-closed]")) return;
|
|
55
|
+
let a = e.querySelector("[data-dialog-frame]");
|
|
56
|
+
a && j(a)?.focus({ preventScroll: !0 });
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function V(e) {
|
|
60
|
+
let [t, n] = y(null);
|
|
61
|
+
return [t, h((t) => n(e ? t : t?.parentElement ?? null), [e])];
|
|
62
|
+
}
|
|
63
|
+
function H({ title: t, description: n, children: i, footer: a, onSubmit: s, hideClose: c, headerStart: l, size: d = "md", className: f, inline: p, busy: m }) {
|
|
64
|
+
let { ref: h, under: g, check: _ } = z(), [v, y] = V(p);
|
|
65
|
+
u(v, _), B(v, p);
|
|
66
|
+
let C = r(), E = p ? "h2" : T.Title, D = /* @__PURE__ */ x(o, {
|
|
67
|
+
icon: w,
|
|
68
|
+
"aria-label": C("dialog.close", "Close"),
|
|
69
|
+
tooltip: !1,
|
|
70
|
+
disabled: !!m
|
|
71
|
+
}), O = c ? null : p ? D : /* @__PURE__ */ x(T.Close, { render: D }), k = p ? "p" : T.Description;
|
|
72
|
+
return /* @__PURE__ */ x(R, {
|
|
73
|
+
value: !!m,
|
|
74
|
+
children: /* @__PURE__ */ S("div", {
|
|
75
|
+
ref: y,
|
|
76
|
+
"data-dialog-frame": "",
|
|
77
|
+
className: e("flex min-h-0 flex-col", p ? "rounded-dialog bg-raised shadow-dialog" : "flex-1 self-center dialog-limits", N.size[d].classes, f),
|
|
78
|
+
onKeyDown: (e) => {
|
|
79
|
+
s && !m && e.key === "Enter" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), s());
|
|
80
|
+
},
|
|
81
|
+
children: [
|
|
82
|
+
l === void 0 ? /* @__PURE__ */ S("div", {
|
|
83
|
+
className: "flex items-start gap-12 px-24 pt-20 pb-4",
|
|
84
|
+
children: [/* @__PURE__ */ S("div", {
|
|
85
|
+
className: "flex min-w-0 flex-1 flex-col gap-4 pt-4",
|
|
86
|
+
children: [/* @__PURE__ */ x(E, {
|
|
87
|
+
className: "text-title-sm font-semibold text-fg text-balance",
|
|
88
|
+
children: t
|
|
89
|
+
}), n && /* @__PURE__ */ x(k, {
|
|
90
|
+
className: "text-body text-fg-secondary text-pretty",
|
|
91
|
+
children: n
|
|
92
|
+
})]
|
|
93
|
+
}), O && /* @__PURE__ */ x("span", {
|
|
94
|
+
className: "-mr-8 flex",
|
|
95
|
+
children: O
|
|
96
|
+
})]
|
|
97
|
+
}) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ S("div", {
|
|
98
|
+
className: "flex h-32 items-center justify-between px-16 pt-16 box-content",
|
|
99
|
+
children: [/* @__PURE__ */ x("span", {
|
|
100
|
+
className: "flex items-center",
|
|
101
|
+
children: l
|
|
102
|
+
}), O]
|
|
103
|
+
}), /* @__PURE__ */ S("div", {
|
|
104
|
+
className: "flex flex-col gap-4 px-24 pt-8 pb-4",
|
|
105
|
+
children: [/* @__PURE__ */ x(E, {
|
|
106
|
+
className: "text-title-sm font-semibold text-fg text-balance",
|
|
107
|
+
children: t
|
|
108
|
+
}), n && /* @__PURE__ */ x(k, {
|
|
109
|
+
className: "text-body text-fg-secondary text-pretty",
|
|
110
|
+
children: n
|
|
111
|
+
})]
|
|
112
|
+
})] }),
|
|
113
|
+
i && /* @__PURE__ */ x("div", {
|
|
114
|
+
ref: h,
|
|
115
|
+
"data-dialog-body": "",
|
|
116
|
+
className: e("min-h-0 flex-1 overflow-y-auto px-24 pt-16 scrollbar-quiet", a ? "pb-8" : "pb-24"),
|
|
117
|
+
children: i
|
|
118
|
+
}),
|
|
119
|
+
a && /* @__PURE__ */ x("div", {
|
|
120
|
+
"data-dialog-footer": "",
|
|
121
|
+
className: e("flex shrink-0 flex-wrap items-center justify-end gap-8 px-24 pt-16 pb-20 transition-control", g && "hairline-t"),
|
|
122
|
+
children: a
|
|
123
|
+
})
|
|
124
|
+
]
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
function U() {
|
|
129
|
+
let e = [...document.querySelectorAll("[role=dialog], [role=alertdialog]")].pop(), t = e?.querySelector("[data-dialog-frame]");
|
|
130
|
+
return (t && j(t)) ?? e ?? !0;
|
|
131
|
+
}
|
|
132
|
+
var W = /* @__PURE__ */ p(function(r, i) {
|
|
133
|
+
let { open: a, defaultOpen: o, onOpenChange: s, trigger: u, size: d = "md", inline: f, busy: p } = r, m = c(a, U), h = t(), g = l(!f && a);
|
|
134
|
+
return f ? /* @__PURE__ */ x(H, { ...r }) : /* @__PURE__ */ S(T.Root, {
|
|
135
|
+
...a === void 0 ? {} : { open: a },
|
|
136
|
+
...o === void 0 ? {} : { defaultOpen: o },
|
|
137
|
+
onOpenChange: (e, t) => {
|
|
138
|
+
if (!e && p) return t.cancel();
|
|
139
|
+
s?.(e);
|
|
140
|
+
},
|
|
141
|
+
onOpenChangeComplete: g,
|
|
142
|
+
children: [u && /* @__PURE__ */ x(T.Trigger, { render: u }), /* @__PURE__ */ S(T.Portal, {
|
|
143
|
+
container: h,
|
|
144
|
+
children: [/* @__PURE__ */ x(T.Backdrop, { className: F }), /* @__PURE__ */ x(T.Viewport, {
|
|
145
|
+
className: I,
|
|
146
|
+
children: /* @__PURE__ */ x(T.Popup, {
|
|
147
|
+
ref: i,
|
|
148
|
+
initialFocus: m.initialFocus,
|
|
149
|
+
finalFocus: m.finalFocus,
|
|
150
|
+
className: e(L, N.size[d].classes),
|
|
151
|
+
children: /* @__PURE__ */ x(n, {
|
|
152
|
+
inset: !1,
|
|
153
|
+
children: /* @__PURE__ */ x(H, { ...r })
|
|
154
|
+
})
|
|
155
|
+
})
|
|
156
|
+
})]
|
|
157
|
+
})]
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
process.env.NODE_ENV !== "production" && (W.displayName = "Dialog");
|
|
161
|
+
function G({ children: e }) {
|
|
162
|
+
let t = m(R);
|
|
163
|
+
return /* @__PURE__ */ x(T.Close, { render: t ? d(e, { disabled: !0 }) : e });
|
|
164
|
+
}
|
|
165
|
+
process.env.NODE_ENV !== "production" && (G.displayName = "Dialog.Close");
|
|
166
|
+
var K = /* @__PURE__ */ Object.assign(W, { Close: G }), q = { tone: {
|
|
167
|
+
danger: { classes: "bg-danger-tint text-danger-text" },
|
|
168
|
+
warning: { classes: "bg-warning-tint text-warning-text" },
|
|
169
|
+
info: { classes: "bg-info-tint text-info-text" }
|
|
170
|
+
} }, J = { tone: "danger" };
|
|
171
|
+
function Y({ title: t, description: n, confirmLabel: i, cancelLabel: o, onConfirm: c, tone: l = "danger", confirmText: d, loading: f, inline: p, close: m, busy: h, setBusy: g }) {
|
|
172
|
+
let [_, b] = y(""), C = v(!1), w = r(), [T, D] = V(p);
|
|
173
|
+
u(T);
|
|
174
|
+
let O = o ?? w("alertDialog.cancel", "Cancel"), [k, A = ""] = w("alertDialog.typeToConfirm", "Type {text} to confirm").split("{text}"), j = p ? "h2" : E.Title, M = p ? "p" : E.Description, N = !d || _ === d, P = async () => {
|
|
175
|
+
if (!N || f || C.current) return;
|
|
176
|
+
let e = c();
|
|
177
|
+
if (!(e instanceof Promise)) return m();
|
|
178
|
+
C.current = !0, g(!0);
|
|
179
|
+
let t = await e.then(() => !0, () => !1);
|
|
180
|
+
C.current = !1, g(!1), t && m();
|
|
181
|
+
};
|
|
182
|
+
return /* @__PURE__ */ S("div", {
|
|
183
|
+
ref: D,
|
|
184
|
+
className: e("flex w-440 flex-col gap-20 p-24", p ? "rounded-dialog bg-raised shadow-dialog" : "self-center dialog-limits"),
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ S("div", {
|
|
187
|
+
className: "flex flex-col gap-6",
|
|
188
|
+
children: [/* @__PURE__ */ x(j, {
|
|
189
|
+
className: "text-title-sm font-semibold text-fg text-balance",
|
|
190
|
+
children: t
|
|
191
|
+
}), /* @__PURE__ */ x(M, {
|
|
192
|
+
className: "text-body text-fg-secondary text-pretty",
|
|
193
|
+
children: n
|
|
194
|
+
})]
|
|
195
|
+
}),
|
|
196
|
+
d && /* @__PURE__ */ x(s, {
|
|
197
|
+
label: /* @__PURE__ */ S("span", {
|
|
198
|
+
className: "font-regular text-fg-secondary",
|
|
199
|
+
children: [
|
|
200
|
+
k,
|
|
201
|
+
/* @__PURE__ */ x("span", {
|
|
202
|
+
className: "mono font-medium text-fg",
|
|
203
|
+
children: d
|
|
204
|
+
}),
|
|
205
|
+
A
|
|
206
|
+
]
|
|
207
|
+
}),
|
|
208
|
+
value: _,
|
|
209
|
+
onChange: (e) => b(e.target.value),
|
|
210
|
+
autoComplete: "off",
|
|
211
|
+
spellCheck: !1,
|
|
212
|
+
onKeyDown: (e) => e.key === "Enter" && P()
|
|
213
|
+
}),
|
|
214
|
+
/* @__PURE__ */ S("div", {
|
|
215
|
+
className: "flex flex-wrap justify-end gap-8",
|
|
216
|
+
children: [p ? /* @__PURE__ */ x(a, { children: O }) : /* @__PURE__ */ x(E.Close, { render: /* @__PURE__ */ x(a, {
|
|
217
|
+
disabled: h || !!f,
|
|
218
|
+
children: O
|
|
219
|
+
}) }), /* @__PURE__ */ x(a, {
|
|
220
|
+
variant: l === "danger" ? "danger" : "primary",
|
|
221
|
+
onClick: P,
|
|
222
|
+
disabled: !N,
|
|
223
|
+
loading: h || f,
|
|
224
|
+
children: i
|
|
225
|
+
})]
|
|
226
|
+
})
|
|
227
|
+
]
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
function X(r) {
|
|
231
|
+
let { open: i, defaultOpen: a, onOpenChange: o, trigger: s, inline: u } = r, [d, f] = y(a ?? !1), p = i ?? d, m = (e) => {
|
|
232
|
+
i === void 0 && f(e), o?.(e);
|
|
233
|
+
}, [h, g] = y(!1), _ = c(p), v = t(), b = l(!u && p);
|
|
234
|
+
return u ? /* @__PURE__ */ x(Y, {
|
|
235
|
+
...r,
|
|
236
|
+
close: () => void 0,
|
|
237
|
+
busy: h,
|
|
238
|
+
setBusy: g
|
|
239
|
+
}) : /* @__PURE__ */ S(E.Root, {
|
|
240
|
+
open: p,
|
|
241
|
+
onOpenChange: (e, t) => {
|
|
242
|
+
if (!e && (h || r.loading)) return t.cancel();
|
|
243
|
+
m(e);
|
|
244
|
+
},
|
|
245
|
+
onOpenChangeComplete: b,
|
|
246
|
+
children: [s && /* @__PURE__ */ x(E.Trigger, { render: s }), /* @__PURE__ */ S(E.Portal, {
|
|
247
|
+
container: v,
|
|
248
|
+
children: [/* @__PURE__ */ x(E.Backdrop, { className: F }), /* @__PURE__ */ x(E.Viewport, {
|
|
249
|
+
className: I,
|
|
250
|
+
children: /* @__PURE__ */ x(E.Popup, {
|
|
251
|
+
initialFocus: _.initialFocus,
|
|
252
|
+
finalFocus: _.finalFocus,
|
|
253
|
+
className: e(L, "w-440"),
|
|
254
|
+
children: /* @__PURE__ */ x(n, {
|
|
255
|
+
inset: !1,
|
|
256
|
+
children: /* @__PURE__ */ x(Y, {
|
|
257
|
+
...r,
|
|
258
|
+
close: () => m(!1),
|
|
259
|
+
busy: h,
|
|
260
|
+
setBusy: g
|
|
261
|
+
})
|
|
262
|
+
})
|
|
263
|
+
})
|
|
264
|
+
})]
|
|
265
|
+
})]
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
process.env.NODE_ENV !== "production" && (X.displayName = "AlertDialog");
|
|
269
|
+
var Z = N, ee = P, Q = (e) => e?.closest("[data-dialog-body]") ?? null;
|
|
270
|
+
function $({ layers: e, layer: t, onLayerChange: n, ...i }) {
|
|
271
|
+
let [a, s] = y(0), c = r(), l = t ?? a, u = l > 0 && l < e.length ? l : 0, d = v([]), f = v([]), p = v([]), m = v(u), h = v(u);
|
|
272
|
+
m.current !== u && (p.current[m.current] = Q(d.current[m.current])?.scrollTop ?? 0, m.current = u), _(() => {
|
|
273
|
+
let e = h.current;
|
|
274
|
+
if (h.current = u, e === u) return;
|
|
275
|
+
let t = u < e;
|
|
276
|
+
t || (f.current[u] = null), f.current.length = u + 1;
|
|
277
|
+
let n = d.current[u], r = Q(n);
|
|
278
|
+
r && (r.scrollTop = t ? p.current[u] ?? 0 : 0), M(n, t ? f.current[u] : null);
|
|
279
|
+
}, [u]);
|
|
280
|
+
let g = (e) => {
|
|
281
|
+
i.busy || (t === void 0 && s(e), n?.(e));
|
|
282
|
+
}, b = e.slice(0, u + 1), S = b[u];
|
|
283
|
+
if (!S) return null;
|
|
284
|
+
let w = (e) => (t) => {
|
|
285
|
+
t.target instanceof HTMLElement && (f.current[e] = t.target);
|
|
286
|
+
};
|
|
287
|
+
return /* @__PURE__ */ x(K, {
|
|
288
|
+
...i,
|
|
289
|
+
title: S.title,
|
|
290
|
+
description: S.description,
|
|
291
|
+
footer: S.footer ? b.map((e, t) => e.footer ? /* @__PURE__ */ x("div", {
|
|
292
|
+
hidden: t !== u,
|
|
293
|
+
className: "contents",
|
|
294
|
+
onFocus: w(t),
|
|
295
|
+
children: e.footer
|
|
296
|
+
}, t) : null) : void 0,
|
|
297
|
+
headerStart: u > 0 ? /* @__PURE__ */ x(o, {
|
|
298
|
+
icon: C,
|
|
299
|
+
"aria-label": c("dialog.back", "Back"),
|
|
300
|
+
onClick: () => g(u - 1),
|
|
301
|
+
disabled: !!i.busy,
|
|
302
|
+
className: "animate-layer-in"
|
|
303
|
+
}, "back") : null,
|
|
304
|
+
children: b.map((e, t) => /* @__PURE__ */ x("div", {
|
|
305
|
+
ref: (e) => {
|
|
306
|
+
d.current[t] = e;
|
|
307
|
+
},
|
|
308
|
+
hidden: t !== u,
|
|
309
|
+
className: "animate-layer-in",
|
|
310
|
+
onFocus: w(t),
|
|
311
|
+
children: e.content
|
|
312
|
+
}, t))
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
process.env.NODE_ENV !== "production" && ($.displayName = "LayerDialog");
|
|
316
|
+
//#endregion
|
|
317
|
+
export { P as a, Z as c, q as i, $ as l, K as n, N as o, J as r, ee as s, X as t, M as u };
|
|
318
|
+
|
|
319
|
+
//# sourceMappingURL=dialog-LNKgPEsV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-LNKgPEsV.js","names":["BaseDialog","__icon_Cancel01Icon","_Fragment","Dialog","BaseAlertDialog","AlertDialog","__icon_ArrowLeft01Icon","cn","usePortalContainer","InsetContent","useUiText","Button","IconButton","Input","useRestoreFocus","useScopedDialog","useResizeMotion","Fragment$1","DIALOG_FIELD","FOCUSABLE","usable","el","firstUsable","scope","selector","initialDialogControl","content","frame","footer","actions","dangerSecondary","KAESO_BUTTON_VARIANTS","safe","a","danger","primary","focusDialogSection","section","previous","KAESO_DIALOG_VARIANTS","KAESO_DIALOG_DEFAULT_VARIANTS","BACKDROP","DIALOG_VIEWPORT","DIALOG_POPUP","DialogBusy","useScrolledUnder","ref","useRef","under","setUnder","useState","check","useCallback","useEffect","useKeepFocus","rendered","first","active","inline","box","useBox","setBox","DialogFrame","boxRef","t","Title","Dialog","closeButton","Cancel01Icon","busy","close","hideClose","Description","size","className","onSubmit","headerStart","title","description","children","focusFirstControl","open","Root","props","focus","container","settled","defaultOpen","o","details","trigger","Close","use","cloneElement","Dialog$1","KAESO_ALERT_DIALOG_VARIANTS","KAESO_ALERT_DIALOG_DEFAULT_VARIANTS","AlertFrame","cancelProp","typed","setTyped","pending","cancelLabel","typeBefore","typeAfter","AlertDialog","ok","confirmText","confirm","loading","r","onConfirm","setBusy","done","tone","confirmLabel","AlertDialog$1","inner","setInner","isOpen","setOpen","onOpenChange","KAESO_LAYER_DIALOG_VARIANTS","KAESO_LAYER_DIALOG_DEFAULT_VARIANTS","bodyOf","LayerDialog","wanted","layer","index","layers","sections","focused","tops","left","shown","useLayoutEffect","from","back","body","go","i","onLayerChange","stack","current","remember","e","l","ArrowLeft01Icon"],"sources":["../../src/components/dialog/focus.ts","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { KAESO_BUTTON_VARIANTS } from \"../button/button.js\";\n\nconst DIALOG_FIELD =\n 'input:not([type=hidden]):not([tabindex=\"-1\"]):not([aria-hidden=\"true\"]), textarea, select, [role=combobox]:not([tabindex=\"-1\"]), [role=radio][tabindex=\"0\"], [role=checkbox]:not([tabindex=\"-1\"]), [role=switch]:not([tabindex=\"-1\"]), [role=listbox]:not([tabindex=\"-1\"]), [role=grid] [data-index][tabindex=\"0\"]';\nconst FOCUSABLE = 'a[href], button, input:not([type=hidden]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nconst usable = (el: HTMLElement) => !el.closest(\"[hidden], [inert]\") && !el.matches(\":disabled, [aria-disabled=true]\");\nconst firstUsable = (scope: ParentNode, selector: string) => [...scope.querySelectorAll<HTMLElement>(selector)].find(usable) ?? null;\n\nexport function initialDialogControl(frame: HTMLElement, scope?: HTMLElement | undefined): HTMLElement | null {\n const content = scope ?? frame.querySelector<HTMLElement>(\"[data-dialog-body]\");\n const footer = frame.querySelector<HTMLElement>(\"[data-dialog-footer]\");\n const actions = footer ? [...footer.querySelectorAll<HTMLElement>(\"button, a[href]\")].filter(usable) : [];\n const { primary, danger, \"danger-secondary\": dangerSecondary } = KAESO_BUTTON_VARIANTS.variant;\n const safe = actions.filter((a) => !a.classList.contains(danger.classes) && !a.classList.contains(dangerSecondary.classes));\n return (\n (content && (firstUsable(content, \"[data-autofocus]\") ?? firstUsable(content, DIALOG_FIELD))) ??\n safe.find((a) => a.classList.contains(primary.classes)) ??\n safe[0] ??\n (content && firstUsable(content, FOCUSABLE)) ??\n firstUsable(frame, FOCUSABLE)\n );\n}\n\nexport function focusDialogSection(section: HTMLElement | null | undefined, previous?: HTMLElement | null | undefined) {\n const frame = section?.closest<HTMLElement>(\"[data-dialog-frame]\");\n if (!section || !frame || frame.closest(\"[data-closed]\")) return;\n const back = previous?.isConnected && frame.contains(previous) && usable(previous) ? previous : null;\n (back ?? initialDialogControl(frame, section))?.focus({ preventScroll: true });\n}\n","import { InsetContent } from \"../../utils/inset.js\";\nimport { usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n cloneElement,\n createContext,\n forwardRef,\n use,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n type FocusEvent,\n type KeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { AlertDialog as BaseAlertDialog } from \"@base-ui/react/alert-dialog\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useRestoreFocus } from \"../../utils/restore-focus.js\";\nimport { useScopedDialog } from \"../../utils/dialog-scope.js\";\nimport { Cancel01Icon as __icon_Cancel01Icon, ArrowLeft01Icon as __icon_ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { Button } from \"../button/button.js\";\nimport { Input } from \"../input/input.js\";\nimport { focusDialogSection, initialDialogControl } from \"./focus.js\";\nimport { useResizeMotion } from \"../../utils/resize-motion.js\";\n\nexport const KAESO_DIALOG_VARIANTS = {\n size: {\n sm: { classes: \"w-440\" },\n md: { classes: \"w-560\" },\n lg: { classes: \"w-720\" },\n },\n} as const;\nexport const KAESO_DIALOG_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nconst BACKDROP = \"fixed inset-0 z-50 bg-overlay backdrop-motion\";\nconst DIALOG_VIEWPORT = \"fixed inset-0 z-50 flex items-center justify-center p-16\";\nconst DIALOG_POPUP = \"relative flex dialog-limits flex-col overflow-hidden rounded-dialog bg-raised text-fg shadow-dialog outline-none dialog-motion\";\n\nconst DialogBusy = /* @__PURE__ */ createContext(false);\n\nfunction useScrolledUnder<T extends HTMLElement>() {\n const ref = useRef<T | null>(null);\n const [under, setUnder] = useState(false);\n const check = useCallback(() => {\n const el = ref.current;\n if (el && !el.closest(\"[data-resizing]\")) setUnder(el.scrollHeight - el.scrollTop - el.clientHeight > 1);\n }, []);\n useEffect(() => {\n const el = ref.current;\n if (!el) return;\n check();\n el.addEventListener(\"scroll\", check, { passive: true });\n window.addEventListener(\"resize\", check);\n return () => {\n el.removeEventListener(\"scroll\", check);\n window.removeEventListener(\"resize\", check);\n };\n }, [check]);\n return { ref, under, check };\n}\n\nfunction useKeepFocus(box: HTMLElement | null, inline: boolean | undefined) {\n const rendered = useRef(false);\n useEffect(() => {\n const first = !rendered.current;\n rendered.current = true;\n const active = document.activeElement;\n if (first || inline || !box || (active && active !== document.body) || box.matches(\"[data-ending-style], [data-closed]\")) return;\n const frame = box.querySelector<HTMLElement>(\"[data-dialog-frame]\");\n if (frame) initialDialogControl(frame)?.focus({ preventScroll: true });\n });\n}\n\nfunction useBox(inline: boolean | undefined) {\n const [box, setBox] = useState<HTMLElement | null>(null);\n const ref = useCallback((el: HTMLElement | null) => setBox(inline ? el : (el?.parentElement ?? null)), [inline]);\n return [box, ref] as const;\n}\n\nexport interface DialogProps {\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n trigger?: ReactElement | undefined;\n title: ReactNode;\n description?: ReactNode | undefined;\n busy?: boolean | undefined;\n size?: keyof typeof KAESO_DIALOG_VARIANTS.size | undefined;\n children?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n onSubmit?: (() => void) | undefined;\n hideClose?: boolean | undefined;\n headerStart?: ReactNode | undefined;\n className?: string | undefined;\n inline?: boolean | undefined;\n}\n\nfunction DialogFrame({ title, description, children, footer, onSubmit, hideClose, headerStart, size = \"md\", className, inline, busy }: DialogProps) {\n const { ref, under, check } = useScrolledUnder<HTMLDivElement>();\n const [box, boxRef] = useBox(inline);\n useResizeMotion(box, check);\n useKeepFocus(box, inline);\n const t = useUiText();\n const Title = inline ? \"h2\" : BaseDialog.Title;\n const closeButton = <IconButton icon={__icon_Cancel01Icon} aria-label={t(\"dialog.close\", \"Close\")} tooltip={false} disabled={!!busy} />;\n const close = hideClose ? null : inline ? closeButton : <BaseDialog.Close render={closeButton} />;\n const Description = inline ? \"p\" : BaseDialog.Description;\n return (\n <DialogBusy value={!!busy}>\n <div\n ref={boxRef}\n data-dialog-frame=\"\"\n className={cn(\n \"flex min-h-0 flex-col\",\n inline ? \"rounded-dialog bg-raised shadow-dialog\" : \"flex-1 self-center dialog-limits\",\n KAESO_DIALOG_VARIANTS.size[size].classes,\n className,\n )}\n onKeyDown={(e: KeyboardEvent) => {\n if (onSubmit && !busy && e.key === \"Enter\" && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n onSubmit();\n }\n }}\n >\n {headerStart !== undefined ? (\n <>\n <div className=\"flex h-32 items-center justify-between px-16 pt-16 box-content\">\n <span className=\"flex items-center\">{headerStart}</span>\n {close}\n </div>\n <div className=\"flex flex-col gap-4 px-24 pt-8 pb-4\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n {description && <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>}\n </div>\n </>\n ) : (\n <div className=\"flex items-start gap-12 px-24 pt-20 pb-4\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-4 pt-4\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n {description && <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>}\n </div>\n {close && <span className=\"-mr-8 flex\">{close}</span>}\n </div>\n )}\n {children && (\n <div ref={ref} data-dialog-body=\"\" className={cn(\"min-h-0 flex-1 overflow-y-auto px-24 pt-16 scrollbar-quiet\", footer ? \"pb-8\" : \"pb-24\")}>\n {children}\n </div>\n )}\n {footer && (\n <div\n data-dialog-footer=\"\"\n className={cn(\"flex shrink-0 flex-wrap items-center justify-end gap-8 px-24 pt-16 pb-20 transition-control\", under && \"hairline-t\")}\n >\n {footer}\n </div>\n )}\n </div>\n </DialogBusy>\n );\n}\n\nfunction focusFirstControl(): HTMLElement | true {\n const open = [...document.querySelectorAll<HTMLElement>(\"[role=dialog], [role=alertdialog]\")].pop();\n const frame = open?.querySelector<HTMLElement>(\"[data-dialog-frame]\");\n return (frame && initialDialogControl(frame)) ?? open ?? true;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, DialogProps>(function Dialog(props, ref) {\n const { open, defaultOpen, onOpenChange, trigger, size = \"md\", inline, busy } = props;\n const focus = useRestoreFocus(open, focusFirstControl);\n const container = usePortalContainer();\n const settled = useScopedDialog(inline ? false : open);\n if (inline) return <DialogFrame {...props} />;\n return (\n <BaseDialog.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n onOpenChange={(o: boolean, details: BaseDialog.Root.ChangeEventDetails) => {\n if (!o && busy) return details.cancel();\n onOpenChange?.(o);\n }}\n onOpenChangeComplete={settled}\n >\n {trigger && <BaseDialog.Trigger render={trigger} />}\n <BaseDialog.Portal container={container}>\n <BaseDialog.Backdrop className={BACKDROP} />\n <BaseDialog.Viewport className={DIALOG_VIEWPORT}>\n <BaseDialog.Popup\n ref={ref}\n initialFocus={focus.initialFocus}\n finalFocus={focus.finalFocus}\n className={cn(DIALOG_POPUP, KAESO_DIALOG_VARIANTS.size[size].classes)}\n >\n <InsetContent inset={false}>\n <DialogFrame {...props} />\n </InsetContent>\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Dialog\";\n\nfunction Close({ children }: { children: ReactElement<{ disabled?: boolean | undefined }> }) {\n const busy = use(DialogBusy);\n return <BaseDialog.Close render={busy ? cloneElement(children, { disabled: true }) : children} />;\n}\nif (process.env.NODE_ENV !== \"production\") Close.displayName = \"Dialog.Close\";\n\nexport const Dialog = /* @__PURE__ */ Object.assign(Root, { Close });\n\nexport const KAESO_ALERT_DIALOG_VARIANTS = {\n tone: {\n danger: { classes: \"bg-danger-tint text-danger-text\" },\n warning: { classes: \"bg-warning-tint text-warning-text\" },\n info: { classes: \"bg-info-tint text-info-text\" },\n },\n} as const;\nexport const KAESO_ALERT_DIALOG_DEFAULT_VARIANTS = { tone: \"danger\" } as const;\n\nexport interface AlertDialogProps {\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n trigger?: ReactElement | undefined;\n title: ReactNode;\n description: ReactNode;\n confirmLabel: string;\n cancelLabel?: string | undefined;\n onConfirm: () => void | Promise<unknown>;\n tone?: keyof typeof KAESO_ALERT_DIALOG_VARIANTS.tone | undefined;\n confirmText?: string | undefined;\n loading?: boolean | undefined;\n inline?: boolean | undefined;\n}\n\nfunction AlertFrame({\n title,\n description,\n confirmLabel,\n cancelLabel: cancelProp,\n onConfirm,\n tone = \"danger\",\n confirmText,\n loading,\n inline,\n close,\n busy,\n setBusy,\n}: AlertDialogProps & { close: () => void; busy: boolean; setBusy: (busy: boolean) => void }) {\n const [typed, setTyped] = useState(\"\");\n const pending = useRef(false);\n const t = useUiText();\n const [box, boxRef] = useBox(inline);\n useResizeMotion(box);\n const cancelLabel = cancelProp ?? t(\"alertDialog.cancel\", \"Cancel\");\n const [typeBefore, typeAfter = \"\"] = t(\"alertDialog.typeToConfirm\", \"Type {text} to confirm\").split(\"{text}\");\n const Title = inline ? \"h2\" : BaseAlertDialog.Title;\n const Description = inline ? \"p\" : BaseAlertDialog.Description;\n const ok = !confirmText || typed === confirmText;\n const confirm = async () => {\n if (!ok || loading || pending.current) return;\n const r = onConfirm();\n if (!(r instanceof Promise)) return close();\n pending.current = true;\n setBusy(true);\n const done = await r.then(\n () => true,\n () => false,\n );\n pending.current = false;\n setBusy(false);\n if (done) close();\n };\n return (\n <div ref={boxRef} className={cn(\"flex w-440 flex-col gap-20 p-24\", inline ? \"rounded-dialog bg-raised shadow-dialog\" : \"self-center dialog-limits\")}>\n <div className=\"flex flex-col gap-6\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>\n </div>\n {confirmText && (\n <Input\n label={\n <span className=\"font-regular text-fg-secondary\">\n {typeBefore}\n <span className=\"mono font-medium text-fg\">{confirmText}</span>\n {typeAfter}\n </span>\n }\n value={typed}\n onChange={(e) => setTyped(e.target.value)}\n autoComplete=\"off\"\n spellCheck={false}\n onKeyDown={(e) => e.key === \"Enter\" && confirm()}\n />\n )}\n <div className=\"flex flex-wrap justify-end gap-8\">\n {inline ? <Button>{cancelLabel}</Button> : <BaseAlertDialog.Close render={<Button disabled={busy || !!loading}>{cancelLabel}</Button>} />}\n <Button variant={tone === \"danger\" ? \"danger\" : \"primary\"} onClick={confirm} disabled={!ok} loading={busy || loading}>\n {confirmLabel}\n </Button>\n </div>\n </div>\n );\n}\n\nexport function AlertDialog(props: AlertDialogProps) {\n const { open, defaultOpen, onOpenChange, trigger, inline } = props;\n const [inner, setInner] = useState(defaultOpen ?? false);\n const isOpen = open ?? inner;\n const setOpen = (o: boolean) => {\n if (open === undefined) setInner(o);\n onOpenChange?.(o);\n };\n const [busy, setBusy] = useState(false);\n const focus = useRestoreFocus(isOpen);\n const container = usePortalContainer();\n const settled = useScopedDialog(inline ? false : isOpen);\n if (inline) return <AlertFrame {...props} close={() => undefined} busy={busy} setBusy={setBusy} />;\n return (\n <BaseAlertDialog.Root\n open={isOpen}\n onOpenChange={(o: boolean, details: BaseAlertDialog.Root.ChangeEventDetails) => {\n if (!o && (busy || props.loading)) return details.cancel();\n setOpen(o);\n }}\n onOpenChangeComplete={settled}\n >\n {trigger && <BaseAlertDialog.Trigger render={trigger} />}\n <BaseAlertDialog.Portal container={container}>\n <BaseAlertDialog.Backdrop className={BACKDROP} />\n <BaseAlertDialog.Viewport className={DIALOG_VIEWPORT}>\n <BaseAlertDialog.Popup initialFocus={focus.initialFocus} finalFocus={focus.finalFocus} className={cn(DIALOG_POPUP, \"w-440\")}>\n <InsetContent inset={false}>\n <AlertFrame {...props} close={() => setOpen(false)} busy={busy} setBusy={setBusy} />\n </InsetContent>\n </BaseAlertDialog.Popup>\n </BaseAlertDialog.Viewport>\n </BaseAlertDialog.Portal>\n </BaseAlertDialog.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") AlertDialog.displayName = \"AlertDialog\";\n\nexport const KAESO_LAYER_DIALOG_VARIANTS = KAESO_DIALOG_VARIANTS;\nexport const KAESO_LAYER_DIALOG_DEFAULT_VARIANTS = KAESO_DIALOG_DEFAULT_VARIANTS;\n\nexport interface DialogLayer {\n title: ReactNode;\n description?: ReactNode | undefined;\n content: ReactNode;\n footer?: ReactNode | undefined;\n}\n\nexport interface LayerDialogProps extends Omit<DialogProps, \"title\" | \"description\" | \"children\" | \"footer\" | \"headerStart\"> {\n layers: DialogLayer[];\n layer?: number | undefined;\n onLayerChange?: ((layer: number) => void) | undefined;\n}\n\nconst bodyOf = (el: HTMLElement | null | undefined) => el?.closest<HTMLElement>(\"[data-dialog-body]\") ?? null;\n\nexport function LayerDialog({ layers, layer, onLayerChange, ...props }: LayerDialogProps) {\n const [inner, setInner] = useState(0);\n const t = useUiText();\n const wanted = layer ?? inner;\n const index = wanted > 0 && wanted < layers.length ? wanted : 0;\n const sections = useRef<(HTMLDivElement | null)[]>([]);\n const focused = useRef<(HTMLElement | null)[]>([]);\n const tops = useRef<number[]>([]);\n const left = useRef(index);\n const shown = useRef(index);\n if (left.current !== index) {\n tops.current[left.current] = bodyOf(sections.current[left.current])?.scrollTop ?? 0;\n left.current = index;\n }\n useLayoutEffect(() => {\n const from = shown.current;\n shown.current = index;\n if (from === index) return;\n const back = index < from;\n if (!back) focused.current[index] = null;\n focused.current.length = index + 1;\n const section = sections.current[index];\n const body = bodyOf(section);\n if (body) body.scrollTop = back ? (tops.current[index] ?? 0) : 0;\n focusDialogSection(section, back ? focused.current[index] : null);\n }, [index]);\n const go = (i: number) => {\n if (props.busy) return;\n if (layer === undefined) setInner(i);\n onLayerChange?.(i);\n };\n const stack = layers.slice(0, index + 1);\n const current = stack[index];\n if (!current) return null;\n const remember = (i: number) => (e: FocusEvent<HTMLElement>) => {\n if (e.target instanceof HTMLElement) focused.current[i] = e.target;\n };\n return (\n <Dialog\n {...props}\n title={current.title}\n description={current.description}\n footer={\n current.footer\n ? stack.map((l, i) =>\n l.footer ? (\n <div key={i} hidden={i !== index} className=\"contents\" onFocus={remember(i)}>\n {l.footer}\n </div>\n ) : null,\n )\n : undefined\n }\n headerStart={\n index > 0 ? (\n <IconButton\n key=\"back\"\n icon={__icon_ArrowLeft01Icon}\n aria-label={t(\"dialog.back\", \"Back\")}\n onClick={() => go(index - 1)}\n disabled={!!props.busy}\n className=\"animate-layer-in\"\n />\n ) : null\n }\n >\n {stack.map((l, i) => (\n <div\n key={i}\n ref={(el) => {\n sections.current[i] = el;\n }}\n hidden={i !== index}\n className=\"animate-layer-in\"\n onFocus={remember(i)}\n >\n {l.content}\n </div>\n ))}\n </Dialog>\n );\n}\nif (process.env.NODE_ENV !== \"production\") LayerDialog.displayName = \"LayerDialog\";\n"],"mappings":"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"}
|