@krak-stack/registry 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/code-block.d.ts +1 -1
- package/dist/components/ui/code-block.js +6 -2
- package/dist/components/ui/copy-button.d.ts +1 -1
- package/dist/components/ui/copy-button.js +3 -1
- package/dist/components/ui/data-table.js +21 -12
- package/dist/components/ui/editing-locale-switcher.d.ts +1 -1
- package/dist/components/ui/editing-locale-switcher.js +8 -2
- package/dist/components/ui/effect-form.js +51 -35
- package/dist/components/ui/error-component.d.ts +1 -1
- package/dist/components/ui/error-component.js +6 -2
- package/dist/components/ui/file-picker.d.ts +1 -1
- package/dist/components/ui/file-picker.js +3 -1
- package/dist/components/ui/form.d.ts +12 -12
- package/dist/components/ui/form.js +25 -13
- package/dist/components/ui/google-map.d.ts +1 -1
- package/dist/components/ui/google-map.js +3 -1
- package/dist/components/ui/icon-input.d.ts +1 -1
- package/dist/components/ui/icon-input.js +9 -3
- package/dist/components/ui/krakstack-provider.d.ts +9 -0
- package/dist/components/ui/krakstack-provider.js +28 -0
- package/dist/components/ui/loading.d.ts +1 -1
- package/dist/components/ui/loading.js +3 -1
- package/dist/components/ui/locale-switcher.d.ts +2 -2
- package/dist/components/ui/locale-switcher.js +8 -2
- package/dist/components/ui/pagination.d.ts +1 -1
- package/dist/components/ui/pagination.js +3 -1
- package/dist/components/ui/search-menu.d.ts +1 -1
- package/dist/components/ui/search-menu.js +3 -1
- package/dist/components/ui/theme-switcher.d.ts +1 -1
- package/dist/components/ui/theme-switcher.js +3 -1
- package/dist/components/ui/virtualized-combobox.js +6 -2
- package/dist/lib/docs.js +10 -4
- package/dist/lib/docs.server.js +5 -0
- package/dist/lib/documentation-toolkit.js +5 -0
- package/dist/services/agent/client/index.js +10 -4
- package/dist/services/agent/client/widget.d.ts +1 -1
- package/dist/services/notification/client/index.js +5 -2
- package/dist/services/notification/client/notification-menu.d.ts +2 -2
- package/dist/services/notification/public.js +5 -2
- package/dist/services/opentelemetry/api.js +11 -2
- package/dist/services/opentelemetry/browser.d.ts +15 -7
- package/dist/services/opentelemetry/browser.js +62 -13
- package/package.json +5 -1
|
@@ -110,7 +110,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
110
110
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
111
111
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
112
112
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
113
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
113
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
114
114
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
115
115
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
116
116
|
locale?: string;
|
|
@@ -122,7 +122,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
122
122
|
locale?: string;
|
|
123
123
|
messages?: FormMessageTranslations;
|
|
124
124
|
}) => JSX.Element;
|
|
125
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
125
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
126
126
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
127
127
|
label: string;
|
|
128
128
|
locale?: string;
|
|
@@ -167,7 +167,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
167
167
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
168
168
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
169
169
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
170
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
170
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
171
171
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
172
172
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
173
173
|
locale?: string;
|
|
@@ -179,7 +179,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
179
179
|
locale?: string;
|
|
180
180
|
messages?: FormMessageTranslations;
|
|
181
181
|
}) => JSX.Element;
|
|
182
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
182
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
183
183
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
184
184
|
label: string;
|
|
185
185
|
locale?: string;
|
|
@@ -225,7 +225,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
225
225
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
226
226
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
227
227
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
228
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
228
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
229
229
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
230
230
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
231
231
|
locale?: string;
|
|
@@ -237,7 +237,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
237
237
|
locale?: string;
|
|
238
238
|
messages?: FormMessageTranslations;
|
|
239
239
|
}) => JSX.Element;
|
|
240
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
240
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
241
241
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
242
242
|
label: string;
|
|
243
243
|
locale?: string;
|
|
@@ -283,7 +283,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
283
283
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
284
284
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
285
285
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
286
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
286
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
287
287
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
288
288
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
289
289
|
locale?: string;
|
|
@@ -295,7 +295,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
295
295
|
locale?: string;
|
|
296
296
|
messages?: FormMessageTranslations;
|
|
297
297
|
}) => JSX.Element;
|
|
298
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
298
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
299
299
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
300
300
|
label: string;
|
|
301
301
|
locale?: string;
|
|
@@ -341,7 +341,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
341
341
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
342
342
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
343
343
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
344
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
344
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
345
345
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
346
346
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
347
347
|
locale?: string;
|
|
@@ -353,7 +353,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
353
353
|
locale?: string;
|
|
354
354
|
messages?: FormMessageTranslations;
|
|
355
355
|
}) => JSX.Element;
|
|
356
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
356
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
357
357
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
358
358
|
label: string;
|
|
359
359
|
locale?: string;
|
|
@@ -398,7 +398,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
398
398
|
readonly MultiSelectField: (props: Omit<SelectFieldProps, "multiple">) => JSX.Element;
|
|
399
399
|
readonly SearchableSelectField: <TData>({ description, label, multiple, ...props }: SearchableSelectFieldProps<TData>) => JSX.Element;
|
|
400
400
|
readonly CheckboxField: (props: DefaultOptions) => JSX.Element;
|
|
401
|
-
readonly FileField: ({ label, accept, filePickerMessages, locale, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
401
|
+
readonly FileField: ({ label, accept, filePickerMessages, locale: localeOverride, messages, onFileChange, required, }: Omit<DefaultOptions, "description"> & {
|
|
402
402
|
accept: InputHTMLAttributes<HTMLInputElement>["accept"];
|
|
403
403
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
404
404
|
locale?: string;
|
|
@@ -410,7 +410,7 @@ declare const useAppForm: <TFormData, TOnMount extends undefined | import("@tans
|
|
|
410
410
|
locale?: string;
|
|
411
411
|
messages?: FormMessageTranslations;
|
|
412
412
|
}) => JSX.Element;
|
|
413
|
-
readonly ImageField: ({ filePickerMessages, label, locale, messages, size, }: {
|
|
413
|
+
readonly ImageField: ({ filePickerMessages, label, locale: localeOverride, messages, size, }: {
|
|
414
414
|
filePickerMessages?: FilePickerMessageTranslations;
|
|
415
415
|
label: string;
|
|
416
416
|
locale?: string;
|
|
@@ -451,6 +451,7 @@ function AttachmentGroup({ className, ...props }) {
|
|
|
451
451
|
}
|
|
452
452
|
|
|
453
453
|
// ../../src/components/ui/file-picker.tsx
|
|
454
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
454
455
|
import { jsx as jsx7, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
455
456
|
"use client";
|
|
456
457
|
var messages = {
|
|
@@ -506,7 +507,7 @@ var FilePicker = ({
|
|
|
506
507
|
id,
|
|
507
508
|
image,
|
|
508
509
|
invalid = false,
|
|
509
|
-
locale
|
|
510
|
+
locale: localeOverride,
|
|
510
511
|
messages: messages2,
|
|
511
512
|
multiple = false,
|
|
512
513
|
name,
|
|
@@ -517,6 +518,7 @@ var FilePicker = ({
|
|
|
517
518
|
required,
|
|
518
519
|
title
|
|
519
520
|
}) => {
|
|
521
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
520
522
|
const labels = filePickerMessages(locale, messages2);
|
|
521
523
|
const inputRef = useRef(null);
|
|
522
524
|
const dragDepthRef = useRef(0);
|
|
@@ -951,6 +953,7 @@ function InputGroupInput({
|
|
|
951
953
|
}
|
|
952
954
|
|
|
953
955
|
// ../../src/components/ui/virtualized-combobox.tsx
|
|
956
|
+
import { useKrakstackLocale as useKrakstackLocale2 } from "@krak-stack/registry/krakstack-provider";
|
|
954
957
|
import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
955
958
|
"use client";
|
|
956
959
|
var messages2 = {
|
|
@@ -1255,14 +1258,18 @@ var VirtualizedComboboxMultiple = (props) => {
|
|
|
1255
1258
|
});
|
|
1256
1259
|
};
|
|
1257
1260
|
function VirtualizedCombobox(props) {
|
|
1261
|
+
const locale = useKrakstackLocale2(props.locale);
|
|
1258
1262
|
return props.multiple ? /* @__PURE__ */ jsx12(VirtualizedComboboxMultiple, {
|
|
1259
|
-
...props
|
|
1263
|
+
...props,
|
|
1264
|
+
locale
|
|
1260
1265
|
}) : /* @__PURE__ */ jsx12(VirtualizedComboboxSingle, {
|
|
1261
|
-
...props
|
|
1266
|
+
...props,
|
|
1267
|
+
locale
|
|
1262
1268
|
});
|
|
1263
1269
|
}
|
|
1264
1270
|
|
|
1265
1271
|
// ../../src/components/ui/form.tsx
|
|
1272
|
+
import { useKrakstackLocale as useKrakstackLocale3 } from "@krak-stack/registry/krakstack-provider";
|
|
1266
1273
|
import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1267
1274
|
var messages3 = {
|
|
1268
1275
|
en: {
|
|
@@ -1301,6 +1308,7 @@ var formMessages = (locale = "en", translations) => ({
|
|
|
1301
1308
|
...translations?.[locale.split("-")[0] ?? locale],
|
|
1302
1309
|
...translations?.[locale]
|
|
1303
1310
|
});
|
|
1311
|
+
var useFormMessages = (locale, translations) => formMessages(useKrakstackLocale3(locale), translations);
|
|
1304
1312
|
var ErrorMessage = ({ text }) => {
|
|
1305
1313
|
return /* @__PURE__ */ jsx13("em", {
|
|
1306
1314
|
role: "alert",
|
|
@@ -1521,7 +1529,7 @@ var SelectField = ({
|
|
|
1521
1529
|
});
|
|
1522
1530
|
};
|
|
1523
1531
|
var KeyValueField = (props) => {
|
|
1524
|
-
const labels =
|
|
1532
|
+
const labels = useFormMessages(props.locale, props.messages);
|
|
1525
1533
|
const field = useFieldContext();
|
|
1526
1534
|
const invalid = !field.state.meta.isValid;
|
|
1527
1535
|
const keyValues = Object.entries(field.state.value ?? {});
|
|
@@ -1701,12 +1709,14 @@ var SearchableSelectField = ({
|
|
|
1701
1709
|
multiple,
|
|
1702
1710
|
...props
|
|
1703
1711
|
}) => {
|
|
1712
|
+
const locale = useKrakstackLocale3(props.locale);
|
|
1704
1713
|
const field = useFieldContext();
|
|
1705
|
-
const labels = virtualizedComboboxMessages(
|
|
1714
|
+
const labels = virtualizedComboboxMessages(locale, props.messages);
|
|
1706
1715
|
const invalid = !field.state.meta.isValid;
|
|
1707
1716
|
const ariaLabel = Schema2.is(Schema2.String)(label) ? label : labels.search;
|
|
1708
1717
|
const controlProps = {
|
|
1709
1718
|
...props,
|
|
1719
|
+
locale,
|
|
1710
1720
|
ariaLabel,
|
|
1711
1721
|
invalid,
|
|
1712
1722
|
name: field.name
|
|
@@ -1737,11 +1747,12 @@ var FileField = ({
|
|
|
1737
1747
|
label,
|
|
1738
1748
|
accept,
|
|
1739
1749
|
filePickerMessages: filePickerMessages2,
|
|
1740
|
-
locale
|
|
1750
|
+
locale: localeOverride,
|
|
1741
1751
|
messages: messages4,
|
|
1742
1752
|
onFileChange,
|
|
1743
1753
|
required = false
|
|
1744
1754
|
}) => {
|
|
1755
|
+
const locale = useKrakstackLocale3(localeOverride);
|
|
1745
1756
|
const labels = formMessages(locale, messages4);
|
|
1746
1757
|
const field = useFieldContext();
|
|
1747
1758
|
const invalid = !field.state.meta.isValid;
|
|
@@ -1790,10 +1801,11 @@ var FileField = ({
|
|
|
1790
1801
|
var ImageField = ({
|
|
1791
1802
|
filePickerMessages: filePickerMessages2,
|
|
1792
1803
|
label,
|
|
1793
|
-
locale
|
|
1804
|
+
locale: localeOverride,
|
|
1794
1805
|
messages: messages4,
|
|
1795
1806
|
size
|
|
1796
1807
|
}) => {
|
|
1808
|
+
const locale = useKrakstackLocale3(localeOverride);
|
|
1797
1809
|
const labels = formMessages(locale, messages4);
|
|
1798
1810
|
const field = useFieldContext();
|
|
1799
1811
|
const invalid = !field.state.meta.isValid;
|
|
@@ -1844,10 +1856,10 @@ var ImageField = ({
|
|
|
1844
1856
|
});
|
|
1845
1857
|
};
|
|
1846
1858
|
var BlockNavigation = ({
|
|
1847
|
-
locale
|
|
1859
|
+
locale,
|
|
1848
1860
|
messages: messages4
|
|
1849
1861
|
}) => {
|
|
1850
|
-
const labels =
|
|
1862
|
+
const labels = useFormMessages(locale, messages4);
|
|
1851
1863
|
const form = useFormContext();
|
|
1852
1864
|
const shouldBlock = useStore(form.store, (formState) => formState.isDirty && !(formState.isSubmitting || formState.isSubmitted));
|
|
1853
1865
|
return /* @__PURE__ */ jsx13(Block, {
|
|
@@ -1887,10 +1899,10 @@ var BlockNavigation = ({
|
|
|
1887
1899
|
};
|
|
1888
1900
|
var SubmitButton = ({
|
|
1889
1901
|
children,
|
|
1890
|
-
locale
|
|
1902
|
+
locale,
|
|
1891
1903
|
messages: messages4
|
|
1892
1904
|
}) => {
|
|
1893
|
-
const labels =
|
|
1905
|
+
const labels = useFormMessages(locale, messages4);
|
|
1894
1906
|
const form = useFormContext();
|
|
1895
1907
|
return /* @__PURE__ */ jsx13(form.Subscribe, {
|
|
1896
1908
|
selector: (formState) => [formState.isSubmitting],
|
|
@@ -1957,11 +1969,11 @@ var FieldWrapper = ({
|
|
|
1957
1969
|
});
|
|
1958
1970
|
};
|
|
1959
1971
|
var RevertButton = ({
|
|
1960
|
-
locale
|
|
1972
|
+
locale,
|
|
1961
1973
|
messages: messages4,
|
|
1962
1974
|
original
|
|
1963
1975
|
}) => {
|
|
1964
|
-
const labels =
|
|
1976
|
+
const labels = useFormMessages(locale, messages4);
|
|
1965
1977
|
const field = useFieldContext();
|
|
1966
1978
|
if (field.state.value !== original) {
|
|
1967
1979
|
return /* @__PURE__ */ jsx13("div", {
|
|
@@ -96,5 +96,5 @@ export type GoogleMapsApi = {
|
|
|
96
96
|
};
|
|
97
97
|
};
|
|
98
98
|
};
|
|
99
|
-
export declare function GoogleMap({ apiKey, center, zoom, marker, radius, interactive, zoomControls, minZoom, maxZoom, className, messages: messageOverrides, locale, }: GoogleMapProps): import("react").JSX.Element;
|
|
99
|
+
export declare function GoogleMap({ apiKey, center, zoom, marker, radius, interactive, zoomControls, minZoom, maxZoom, className, messages: messageOverrides, locale: localeOverride, }: GoogleMapProps): import("react").JSX.Element;
|
|
100
100
|
export {};
|
|
@@ -7,6 +7,7 @@ import { Schema } from "effect";
|
|
|
7
7
|
import { cn } from "cn";
|
|
8
8
|
|
|
9
9
|
// ../../src/components/ui/google-map.tsx
|
|
10
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
10
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
12
|
var googleMapsScriptId = "krak-stack-google-maps-script";
|
|
12
13
|
var googleMapsCallbackName = "__krakStackGoogleMapsInit";
|
|
@@ -107,8 +108,9 @@ function GoogleMap({
|
|
|
107
108
|
maxZoom = 20,
|
|
108
109
|
className,
|
|
109
110
|
messages: messageOverrides,
|
|
110
|
-
locale
|
|
111
|
+
locale: localeOverride
|
|
111
112
|
}) {
|
|
113
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
112
114
|
const mapElementRef = useRef(null);
|
|
113
115
|
const apiRef = useRef(null);
|
|
114
116
|
const mapRef = useRef(null);
|
|
@@ -54,5 +54,5 @@ type IconInputProps = {
|
|
|
54
54
|
onValueChange: (value: string) => void;
|
|
55
55
|
value: string;
|
|
56
56
|
};
|
|
57
|
-
export declare function IconInput({ collection, disabled, id, locale, messages, onValueChange, value, }: IconInputProps): import("react").JSX.Element;
|
|
57
|
+
export declare function IconInput({ collection, disabled, id, locale: localeOverride, messages, onValueChange, value, }: IconInputProps): import("react").JSX.Element;
|
|
58
58
|
export {};
|
|
@@ -130,6 +130,7 @@ function InputGroupInput({
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
// ../../src/components/ui/virtualized-combobox.tsx
|
|
133
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
133
134
|
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
134
135
|
"use client";
|
|
135
136
|
var messages = {
|
|
@@ -434,14 +435,18 @@ var VirtualizedComboboxMultiple = (props) => {
|
|
|
434
435
|
});
|
|
435
436
|
};
|
|
436
437
|
function VirtualizedCombobox(props) {
|
|
438
|
+
const locale = useKrakstackLocale(props.locale);
|
|
437
439
|
return props.multiple ? /* @__PURE__ */ jsx4(VirtualizedComboboxMultiple, {
|
|
438
|
-
...props
|
|
440
|
+
...props,
|
|
441
|
+
locale
|
|
439
442
|
}) : /* @__PURE__ */ jsx4(VirtualizedComboboxSingle, {
|
|
440
|
-
...props
|
|
443
|
+
...props,
|
|
444
|
+
locale
|
|
441
445
|
});
|
|
442
446
|
}
|
|
443
447
|
|
|
444
448
|
// ../../src/components/ui/icon-input.tsx
|
|
449
|
+
import { useKrakstackLocale as useKrakstackLocale2 } from "@krak-stack/registry/krakstack-provider";
|
|
445
450
|
import { jsx as jsx5, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
|
|
446
451
|
var IconifySearchResponse = Schema.Struct({
|
|
447
452
|
icons: Schema.Array(Schema.String)
|
|
@@ -490,11 +495,12 @@ function IconInput({
|
|
|
490
495
|
collection = "lucide",
|
|
491
496
|
disabled,
|
|
492
497
|
id,
|
|
493
|
-
locale
|
|
498
|
+
locale: localeOverride,
|
|
494
499
|
messages: messages2,
|
|
495
500
|
onValueChange,
|
|
496
501
|
value
|
|
497
502
|
}) {
|
|
503
|
+
const locale = useKrakstackLocale2(localeOverride);
|
|
498
504
|
const [isOpen, setIsOpen] = useState(false);
|
|
499
505
|
const [query, setQuery] = useState("");
|
|
500
506
|
const deferredQuery = useDeferredValue(query);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type KrakstackProviderProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
locale: string;
|
|
5
|
+
locales?: readonly string[];
|
|
6
|
+
};
|
|
7
|
+
export declare const KrakstackProvider: ({ children, locale, locales, }: KrakstackProviderProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const useKrakstackLocale: (locale?: string) => string;
|
|
9
|
+
export declare const useKrakstackLocales: (locales?: readonly string[]) => readonly string[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ../../src/components/ui/krakstack-provider.tsx
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
var KrakstackContext = createContext({
|
|
5
|
+
locale: "en",
|
|
6
|
+
locales: ["en"]
|
|
7
|
+
});
|
|
8
|
+
var KrakstackProvider = ({
|
|
9
|
+
children,
|
|
10
|
+
locale,
|
|
11
|
+
locales = [locale]
|
|
12
|
+
}) => /* @__PURE__ */ jsx(KrakstackContext.Provider, {
|
|
13
|
+
value: { locale, locales },
|
|
14
|
+
children
|
|
15
|
+
});
|
|
16
|
+
var useKrakstackLocale = (locale) => {
|
|
17
|
+
const context = useContext(KrakstackContext);
|
|
18
|
+
return locale ?? context.locale;
|
|
19
|
+
};
|
|
20
|
+
var useKrakstackLocales = (locales) => {
|
|
21
|
+
const context = useContext(KrakstackContext);
|
|
22
|
+
return locales ?? context.locales;
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
KrakstackProvider,
|
|
26
|
+
useKrakstackLocale,
|
|
27
|
+
useKrakstackLocales
|
|
28
|
+
};
|
|
@@ -3,7 +3,7 @@ export type LoadingMessages = {
|
|
|
3
3
|
loading: string;
|
|
4
4
|
};
|
|
5
5
|
export type LoadingMessageTranslations = Partial<Record<string, Partial<LoadingMessages>>>;
|
|
6
|
-
export declare function Loading({ className, label, locale, messages, variant, }: {
|
|
6
|
+
export declare function Loading({ className, label, locale: localeOverride, messages, variant, }: {
|
|
7
7
|
className?: string | undefined;
|
|
8
8
|
label?: string | undefined;
|
|
9
9
|
locale?: string | undefined;
|
|
@@ -5,6 +5,7 @@ import { Loader2 } from "lucide-react";
|
|
|
5
5
|
import { cn } from "cn";
|
|
6
6
|
|
|
7
7
|
// ../../src/components/ui/loading.tsx
|
|
8
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
8
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
10
|
var labels = {
|
|
10
11
|
en: {
|
|
@@ -18,10 +19,11 @@ var loadingLabel = (locale, messages) => messages?.[locale]?.loading ?? messages
|
|
|
18
19
|
function Loading({
|
|
19
20
|
className,
|
|
20
21
|
label,
|
|
21
|
-
locale
|
|
22
|
+
locale: localeOverride,
|
|
22
23
|
messages,
|
|
23
24
|
variant = "inline"
|
|
24
25
|
}) {
|
|
26
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
25
27
|
return /* @__PURE__ */ jsxs("div", {
|
|
26
28
|
className: cn("text-muted-foreground flex items-center justify-center gap-2 text-sm", variant === "centered" && "min-h-[50svh] w-full", className),
|
|
27
29
|
children: [
|
|
@@ -2,10 +2,10 @@ export declare const locales: readonly ["en", "fr"];
|
|
|
2
2
|
export type LocaleSwitcherMessages = Partial<Record<string, string>>;
|
|
3
3
|
export type LocaleSwitcherMessageTranslations = Partial<Record<string, LocaleSwitcherMessages>>;
|
|
4
4
|
type LocaleSwitcherProps = {
|
|
5
|
-
locale
|
|
5
|
+
locale?: string;
|
|
6
6
|
locales?: readonly string[];
|
|
7
7
|
messages?: LocaleSwitcherMessageTranslations;
|
|
8
8
|
onLocaleChange: (locale: string) => void;
|
|
9
9
|
};
|
|
10
|
-
export declare const LocaleSwitcher: ({ locale, locales:
|
|
10
|
+
export declare const LocaleSwitcher: ({ locale: localeOverride, locales: localeOverrides, messages, onLocaleChange, }: LocaleSwitcherProps) => import("react").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -136,6 +136,10 @@ function DropdownMenuRadioItem({
|
|
|
136
136
|
// ../../src/components/ui/locale-switcher.tsx
|
|
137
137
|
import { Languages } from "lucide-react";
|
|
138
138
|
import { Option, Schema } from "effect";
|
|
139
|
+
import {
|
|
140
|
+
useKrakstackLocale,
|
|
141
|
+
useKrakstackLocales
|
|
142
|
+
} from "@krak-stack/registry/krakstack-provider";
|
|
139
143
|
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
140
144
|
var locales = ["en", "fr"];
|
|
141
145
|
var messages = {
|
|
@@ -160,11 +164,13 @@ var localeMessages = (locale, translations) => {
|
|
|
160
164
|
};
|
|
161
165
|
};
|
|
162
166
|
var LocaleSwitcher = ({
|
|
163
|
-
locale,
|
|
164
|
-
locales:
|
|
167
|
+
locale: localeOverride,
|
|
168
|
+
locales: localeOverrides,
|
|
165
169
|
messages: messages2,
|
|
166
170
|
onLocaleChange
|
|
167
171
|
}) => {
|
|
172
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
173
|
+
const localeOptions = useKrakstackLocales(localeOverrides);
|
|
168
174
|
const labels = localeMessages(locale, messages2);
|
|
169
175
|
const LocaleSchema = Schema.String.check(Schema.makeFilter((value) => localeOptions.includes(value))).annotate({ identifier: "Locale" });
|
|
170
176
|
return /* @__PURE__ */ jsxs2(DropdownMenu, {
|
|
@@ -42,4 +42,4 @@ export type PaginationProps = {
|
|
|
42
42
|
showResults?: boolean | undefined;
|
|
43
43
|
totalRows: number;
|
|
44
44
|
};
|
|
45
|
-
export declare function Pagination({ compact, locale, messages: messageOverrides, onPageChange, onPageSizeChange, page, pageCount, pageSize, pageSizes, selectedRows, showResults, totalRows, }: PaginationProps): import("react").JSX.Element;
|
|
45
|
+
export declare function Pagination({ compact, locale: localeOverride, messages: messageOverrides, onPageChange, onPageSizeChange, page, pageCount, pageSize, pageSizes, selectedRows, showResults, totalRows, }: PaginationProps): import("react").JSX.Element;
|
|
@@ -183,6 +183,7 @@ function SelectScrollDownButton({
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
// ../../src/components/ui/pagination.tsx
|
|
186
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
186
187
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
187
188
|
var messages = {
|
|
188
189
|
en: {
|
|
@@ -213,7 +214,7 @@ var paginationMessages = (locale = "en", translations) => ({
|
|
|
213
214
|
});
|
|
214
215
|
function Pagination({
|
|
215
216
|
compact = false,
|
|
216
|
-
locale
|
|
217
|
+
locale: localeOverride,
|
|
217
218
|
messages: messageOverrides,
|
|
218
219
|
onPageChange,
|
|
219
220
|
onPageSizeChange,
|
|
@@ -225,6 +226,7 @@ function Pagination({
|
|
|
225
226
|
showResults = true,
|
|
226
227
|
totalRows
|
|
227
228
|
}) {
|
|
229
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
228
230
|
const labels = paginationMessages(locale, messageOverrides);
|
|
229
231
|
const pageSizeId = useId();
|
|
230
232
|
const canGoBack = page > 0;
|
|
@@ -33,4 +33,4 @@ export type SearchMenuProps = {
|
|
|
33
33
|
onQueryChange?: (query: string) => void;
|
|
34
34
|
shouldFilter?: boolean;
|
|
35
35
|
};
|
|
36
|
-
export declare function SearchMenu({ groups, locale, title, description, placeholder, inputPlaceholder, emptyMessage, messages, shortcutLabel, className, open, onOpenChange, onSelect, query, onQueryChange, shouldFilter, }: SearchMenuProps): import("react").JSX.Element;
|
|
36
|
+
export declare function SearchMenu({ groups, locale: localeOverride, title, description, placeholder, inputPlaceholder, emptyMessage, messages, shortcutLabel, className, open, onOpenChange, onSelect, query, onQueryChange, shouldFilter, }: SearchMenuProps): import("react").JSX.Element;
|
|
@@ -253,6 +253,7 @@ function CommandShortcut({
|
|
|
253
253
|
}
|
|
254
254
|
|
|
255
255
|
// ../../src/components/ui/search-menu.tsx
|
|
256
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
256
257
|
import { jsx as jsx4, jsxs as jsxs3, Fragment } from "react/jsx-runtime";
|
|
257
258
|
var messages = {
|
|
258
259
|
en: {
|
|
@@ -277,7 +278,7 @@ var searchMenuMessages = (locale, translations) => ({
|
|
|
277
278
|
});
|
|
278
279
|
function SearchMenu({
|
|
279
280
|
groups,
|
|
280
|
-
locale
|
|
281
|
+
locale: localeOverride,
|
|
281
282
|
title,
|
|
282
283
|
description,
|
|
283
284
|
placeholder,
|
|
@@ -293,6 +294,7 @@ function SearchMenu({
|
|
|
293
294
|
onQueryChange,
|
|
294
295
|
shouldFilter
|
|
295
296
|
}) {
|
|
297
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
296
298
|
const labels = searchMenuMessages(locale, messages2);
|
|
297
299
|
const resolvedTitle = title ?? labels.title;
|
|
298
300
|
const resolvedDescription = description ?? labels.description;
|
|
@@ -27,5 +27,5 @@ type ThemeSwitcherProps = {
|
|
|
27
27
|
};
|
|
28
28
|
export declare const ThemeProvider: ({ children, initialTheme, scriptDisabled, }: ThemeProviderProps) => import("react").JSX.Element;
|
|
29
29
|
export declare const useTheme: () => ThemeProviderState;
|
|
30
|
-
export declare const ThemeSwitcher: ({ locale, messages, options, value, onChange, }: ThemeSwitcherProps) => import("react").JSX.Element;
|
|
30
|
+
export declare const ThemeSwitcher: ({ locale: localeOverride, messages, options, value, onChange, }: ThemeSwitcherProps) => import("react").JSX.Element;
|
|
31
31
|
export {};
|
|
@@ -146,6 +146,7 @@ function DropdownMenuRadioItem({
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
// ../../src/components/ui/theme-switcher.tsx
|
|
149
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
149
150
|
import { jsx as jsx3, jsxs as jsxs2, Fragment } from "react/jsx-runtime";
|
|
150
151
|
var messages = {
|
|
151
152
|
en: {
|
|
@@ -263,12 +264,13 @@ var useTheme = () => {
|
|
|
263
264
|
return context;
|
|
264
265
|
};
|
|
265
266
|
var ThemeSwitcher = ({
|
|
266
|
-
locale
|
|
267
|
+
locale: localeOverride,
|
|
267
268
|
messages: messages2,
|
|
268
269
|
options = themes,
|
|
269
270
|
value,
|
|
270
271
|
onChange
|
|
271
272
|
}) => {
|
|
273
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
272
274
|
const labels = themeMessages(locale, messages2);
|
|
273
275
|
return /* @__PURE__ */ jsxs2(DropdownMenu, {
|
|
274
276
|
children: [
|
|
@@ -116,6 +116,7 @@ function InputGroupInput({
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
// ../../src/components/ui/virtualized-combobox.tsx
|
|
119
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
119
120
|
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
120
121
|
"use client";
|
|
121
122
|
var messages = {
|
|
@@ -420,10 +421,13 @@ var VirtualizedComboboxMultiple = (props) => {
|
|
|
420
421
|
});
|
|
421
422
|
};
|
|
422
423
|
function VirtualizedCombobox(props) {
|
|
424
|
+
const locale = useKrakstackLocale(props.locale);
|
|
423
425
|
return props.multiple ? /* @__PURE__ */ jsx4(VirtualizedComboboxMultiple, {
|
|
424
|
-
...props
|
|
426
|
+
...props,
|
|
427
|
+
locale
|
|
425
428
|
}) : /* @__PURE__ */ jsx4(VirtualizedComboboxSingle, {
|
|
426
|
-
...props
|
|
429
|
+
...props,
|
|
430
|
+
locale
|
|
427
431
|
});
|
|
428
432
|
}
|
|
429
433
|
export {
|
package/dist/lib/docs.js
CHANGED
|
@@ -208,6 +208,7 @@ function Button({
|
|
|
208
208
|
// ../../src/components/ui/copy-button.tsx
|
|
209
209
|
import { Check, Copy, TriangleAlert } from "lucide-react";
|
|
210
210
|
import { useEffect, useRef, useState } from "react";
|
|
211
|
+
import { useKrakstackLocale } from "@krak-stack/registry/krakstack-provider";
|
|
211
212
|
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
212
213
|
var messages = {
|
|
213
214
|
en: { copy: "Copy", copied: "Copied", copyFailed: "Copy failed" },
|
|
@@ -222,7 +223,7 @@ function CopyButton({
|
|
|
222
223
|
value,
|
|
223
224
|
valueDescription,
|
|
224
225
|
copyVariant = "default",
|
|
225
|
-
locale
|
|
226
|
+
locale: localeOverride,
|
|
226
227
|
messages: messages2,
|
|
227
228
|
onCopied,
|
|
228
229
|
onCopyError,
|
|
@@ -232,6 +233,7 @@ function CopyButton({
|
|
|
232
233
|
"aria-label": ariaLabel,
|
|
233
234
|
...props
|
|
234
235
|
}) {
|
|
236
|
+
const locale = useKrakstackLocale(localeOverride);
|
|
235
237
|
const [copyState, setCopyState] = useState("idle");
|
|
236
238
|
const copyTimeout = useRef(undefined);
|
|
237
239
|
const labels = copyButtonMessages(locale, messages2);
|
|
@@ -295,6 +297,7 @@ import { highlight } from "@tanstack/highlight";
|
|
|
295
297
|
import { createThemeCss } from "@tanstack/highlight/theme";
|
|
296
298
|
import { githubDarkTheme } from "@tanstack/highlight/themes/github-dark";
|
|
297
299
|
import { githubLightTheme } from "@tanstack/highlight/themes/github-light";
|
|
300
|
+
import { useKrakstackLocale as useKrakstackLocale2 } from "@krak-stack/registry/krakstack-provider";
|
|
298
301
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
299
302
|
var themeCss = `${createThemeCss({
|
|
300
303
|
light: githubLightTheme,
|
|
@@ -334,9 +337,10 @@ var codeBlockMessages = (locale = "en", translations) => ({
|
|
|
334
337
|
function CodeBlock({
|
|
335
338
|
code,
|
|
336
339
|
language = "text",
|
|
337
|
-
locale
|
|
340
|
+
locale: localeOverride,
|
|
338
341
|
messages: messages3
|
|
339
342
|
}) {
|
|
343
|
+
const locale = useKrakstackLocale2(localeOverride);
|
|
340
344
|
const normalizedLanguage = language.toLowerCase() || "text";
|
|
341
345
|
const highlighted = highlight(code, { lang: normalizedLanguage });
|
|
342
346
|
const labels = codeBlockMessages(locale, messages3);
|
|
@@ -377,7 +381,7 @@ var MarkdownContent = ({
|
|
|
377
381
|
className,
|
|
378
382
|
codeBlocks,
|
|
379
383
|
html,
|
|
380
|
-
locale
|
|
384
|
+
locale,
|
|
381
385
|
messages: messages3
|
|
382
386
|
}) => {
|
|
383
387
|
const content = [];
|
|
@@ -640,6 +644,7 @@ function CommandShortcut({
|
|
|
640
644
|
}
|
|
641
645
|
|
|
642
646
|
// ../../src/components/ui/search-menu.tsx
|
|
647
|
+
import { useKrakstackLocale as useKrakstackLocale3 } from "@krak-stack/registry/krakstack-provider";
|
|
643
648
|
import { jsx as jsx9, jsxs as jsxs6, Fragment as Fragment2 } from "react/jsx-runtime";
|
|
644
649
|
var messages3 = {
|
|
645
650
|
en: {
|
|
@@ -664,7 +669,7 @@ var searchMenuMessages = (locale, translations) => ({
|
|
|
664
669
|
});
|
|
665
670
|
function SearchMenu({
|
|
666
671
|
groups,
|
|
667
|
-
locale
|
|
672
|
+
locale: localeOverride,
|
|
668
673
|
title,
|
|
669
674
|
description,
|
|
670
675
|
placeholder,
|
|
@@ -680,6 +685,7 @@ function SearchMenu({
|
|
|
680
685
|
onQueryChange,
|
|
681
686
|
shouldFilter
|
|
682
687
|
}) {
|
|
688
|
+
const locale = useKrakstackLocale3(localeOverride);
|
|
683
689
|
const labels = searchMenuMessages(locale, messages4);
|
|
684
690
|
const resolvedTitle = title ?? labels.title;
|
|
685
691
|
const resolvedDescription = description ?? labels.description;
|