@camunda/design-system 0.58.0 → 0.59.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/carbon-compat/accordion-skeleton.d.ts +8 -2
- package/dist/carbon-compat/accordion-skeleton.d.ts.map +1 -1
- package/dist/carbon-compat/accordion-skeleton.js +4 -2
- package/dist/carbon-compat/accordion-skeleton.js.map +1 -1
- package/dist/carbon-compat/c3-data-table.d.ts +7 -1
- package/dist/carbon-compat/c3-data-table.d.ts.map +1 -1
- package/dist/carbon-compat/c3-data-table.js +8 -6
- package/dist/carbon-compat/c3-data-table.js.map +1 -1
- package/dist/carbon-compat/code-snippet.d.ts +2 -2
- package/dist/carbon-compat/code-snippet.d.ts.map +1 -1
- package/dist/carbon-compat/code-snippet.js +8 -6
- package/dist/carbon-compat/code-snippet.js.map +1 -1
- package/dist/carbon-compat/error-boundary.d.ts +2 -1
- package/dist/carbon-compat/error-boundary.d.ts.map +1 -1
- package/dist/carbon-compat/error-boundary.js +11 -1
- package/dist/carbon-compat/error-boundary.js.map +1 -1
- package/dist/carbon-compat/modal.d.ts.map +1 -1
- package/dist/carbon-compat/modal.js +5 -1
- package/dist/carbon-compat/modal.js.map +1 -1
- package/dist/carbon-compat/search.d.ts +4 -1
- package/dist/carbon-compat/search.d.ts.map +1 -1
- package/dist/carbon-compat/search.js +4 -2
- package/dist/carbon-compat/search.js.map +1 -1
- package/dist/carbon-compat/table-batch-actions.d.ts +5 -1
- package/dist/carbon-compat/table-batch-actions.d.ts.map +1 -1
- package/dist/carbon-compat/table-batch-actions.js +8 -3
- package/dist/carbon-compat/table-batch-actions.js.map +1 -1
- package/dist/carbon-compat/table-expand.d.ts +5 -1
- package/dist/carbon-compat/table-expand.d.ts.map +1 -1
- package/dist/carbon-compat/table-expand.js +6 -2
- package/dist/carbon-compat/table-expand.js.map +1 -1
- package/dist/carbon-compat/table-select.d.ts +9 -2
- package/dist/carbon-compat/table-select.d.ts.map +1 -1
- package/dist/carbon-compat/table-select.js +5 -2
- package/dist/carbon-compat/table-select.js.map +1 -1
- package/dist/carbon-compat/table-toolbar.d.ts +1 -0
- package/dist/carbon-compat/table-toolbar.d.ts.map +1 -1
- package/dist/carbon-compat/table-toolbar.js +5 -2
- package/dist/carbon-compat/table-toolbar.js.map +1 -1
- package/dist/src/components/ui/alert.d.ts +3 -1
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/alert.js +4 -2
- package/dist/src/components/ui/alert.js.map +1 -1
- package/dist/src/components/ui/app-header.d.ts +1 -0
- package/dist/src/components/ui/app-header.d.ts.map +1 -1
- package/dist/src/components/ui/app-header.js +4 -2
- package/dist/src/components/ui/app-header.js.map +1 -1
- package/dist/src/components/ui/app-sidebar.d.ts +49 -2
- package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
- package/dist/src/components/ui/app-sidebar.js +20 -9
- package/dist/src/components/ui/app-sidebar.js.map +1 -1
- package/dist/src/components/ui/breadcrumb.d.ts +7 -1
- package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/breadcrumb.js +6 -3
- package/dist/src/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/components/ui/c4-provider.d.ts +10 -0
- package/dist/src/components/ui/c4-provider.d.ts.map +1 -1
- package/dist/src/components/ui/c4-provider.js +11 -2
- package/dist/src/components/ui/c4-provider.js.map +1 -1
- package/dist/src/components/ui/card.d.ts +3 -1
- package/dist/src/components/ui/card.d.ts.map +1 -1
- package/dist/src/components/ui/card.js +4 -2
- package/dist/src/components/ui/card.js.map +1 -1
- package/dist/src/components/ui/chart.d.ts +1 -0
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +4 -2
- package/dist/src/components/ui/chart.js.map +1 -1
- package/dist/src/components/ui/code-block.d.ts +5 -0
- package/dist/src/components/ui/code-block.d.ts.map +1 -1
- package/dist/src/components/ui/code-block.js +14 -7
- package/dist/src/components/ui/code-block.js.map +1 -1
- package/dist/src/components/ui/combobox.d.ts +2 -0
- package/dist/src/components/ui/combobox.d.ts.map +1 -1
- package/dist/src/components/ui/combobox.js +9 -5
- package/dist/src/components/ui/combobox.js.map +1 -1
- package/dist/src/components/ui/data-table.d.ts +63 -6
- package/dist/src/components/ui/data-table.d.ts.map +1 -1
- package/dist/src/components/ui/data-table.js +38 -23
- package/dist/src/components/ui/data-table.js.map +1 -1
- package/dist/src/components/ui/date-picker.d.ts +1 -0
- package/dist/src/components/ui/date-picker.d.ts.map +1 -1
- package/dist/src/components/ui/date-picker.js +6 -2
- package/dist/src/components/ui/date-picker.js.map +1 -1
- package/dist/src/components/ui/date-range-picker.d.ts +3 -0
- package/dist/src/components/ui/date-range-picker.d.ts.map +1 -1
- package/dist/src/components/ui/date-range-picker.js +6 -4
- package/dist/src/components/ui/date-range-picker.js.map +1 -1
- package/dist/src/components/ui/dialog.d.ts +6 -2
- package/dist/src/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/components/ui/dialog.js +7 -4
- package/dist/src/components/ui/dialog.js.map +1 -1
- package/dist/src/components/ui/file-uploader.d.ts +4 -4
- package/dist/src/components/ui/file-uploader.d.ts.map +1 -1
- package/dist/src/components/ui/file-uploader.js +19 -9
- package/dist/src/components/ui/file-uploader.js.map +1 -1
- package/dist/src/components/ui/inline-edit.d.ts +1 -1
- package/dist/src/components/ui/inline-edit.d.ts.map +1 -1
- package/dist/src/components/ui/inline-edit.js +4 -2
- package/dist/src/components/ui/inline-edit.js.map +1 -1
- package/dist/src/components/ui/meter.d.ts +1 -0
- package/dist/src/components/ui/meter.d.ts.map +1 -1
- package/dist/src/components/ui/meter.js +7 -3
- package/dist/src/components/ui/meter.js.map +1 -1
- package/dist/src/components/ui/multi-select.d.ts +9 -0
- package/dist/src/components/ui/multi-select.d.ts.map +1 -1
- package/dist/src/components/ui/multi-select.js +16 -5
- package/dist/src/components/ui/multi-select.js.map +1 -1
- package/dist/src/components/ui/multi-step-dialog.d.ts +25 -1
- package/dist/src/components/ui/multi-step-dialog.d.ts.map +1 -1
- package/dist/src/components/ui/multi-step-dialog.js +18 -7
- package/dist/src/components/ui/multi-step-dialog.js.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.d.ts +29 -12
- package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.js +69 -24
- package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
- package/dist/src/components/ui/notifications.d.ts +52 -5
- package/dist/src/components/ui/notifications.d.ts.map +1 -1
- package/dist/src/components/ui/notifications.js +25 -10
- package/dist/src/components/ui/notifications.js.map +1 -1
- package/dist/src/components/ui/scorecard.d.ts +1 -0
- package/dist/src/components/ui/scorecard.d.ts.map +1 -1
- package/dist/src/components/ui/scorecard.js +8 -3
- package/dist/src/components/ui/scorecard.js.map +1 -1
- package/dist/src/components/ui/search-input.d.ts +1 -1
- package/dist/src/components/ui/search-input.d.ts.map +1 -1
- package/dist/src/components/ui/search-input.js +4 -2
- package/dist/src/components/ui/search-input.js.map +1 -1
- package/dist/src/components/ui/sheet.d.ts +5 -2
- package/dist/src/components/ui/sheet.d.ts.map +1 -1
- package/dist/src/components/ui/sheet.js +4 -2
- package/dist/src/components/ui/sheet.js.map +1 -1
- package/dist/src/components/ui/sidebar-provider.d.ts.map +1 -1
- package/dist/src/components/ui/sidebar-provider.js +5 -1
- package/dist/src/components/ui/sidebar-provider.js.map +1 -1
- package/dist/src/components/ui/split-button.d.ts +1 -0
- package/dist/src/components/ui/split-button.d.ts.map +1 -1
- package/dist/src/components/ui/split-button.js +4 -2
- package/dist/src/components/ui/split-button.js.map +1 -1
- package/dist/src/components/ui/toast.d.ts +6 -1
- package/dist/src/components/ui/toast.d.ts.map +1 -1
- package/dist/src/components/ui/toast.js +4 -2
- package/dist/src/components/ui/toast.js.map +1 -1
- package/dist/src/components/ui/tree-view.d.ts +10 -2
- package/dist/src/components/ui/tree-view.d.ts.map +1 -1
- package/dist/src/components/ui/tree-view.js +9 -4
- package/dist/src/components/ui/tree-view.js.map +1 -1
- package/dist/src/components/ui/user-menu.d.ts +12 -1
- package/dist/src/components/ui/user-menu.d.ts.map +1 -1
- package/dist/src/components/ui/user-menu.js +5 -3
- package/dist/src/components/ui/user-menu.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/i18n/context.d.ts +48 -0
- package/dist/src/lib/i18n/context.d.ts.map +1 -0
- package/dist/src/lib/i18n/context.js +157 -0
- package/dist/src/lib/i18n/context.js.map +1 -0
- package/dist/src/lib/i18n/dictionary.d.ts +148 -0
- package/dist/src/lib/i18n/dictionary.d.ts.map +1 -0
- package/dist/src/lib/i18n/dictionary.js +131 -0
- package/dist/src/lib/i18n/dictionary.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { IntlMessageFormat as IntlMessageFormatReal } from "intl-messageformat";
|
|
3
|
+
import { defaultDictionary } from "./dictionary.js";
|
|
4
|
+
export { defaultDictionary } from "./dictionary.js";
|
|
5
|
+
export const C4DictionaryContext = React.createContext(undefined);
|
|
6
|
+
/** Shallow-merge `own` over `inherited` (or the default dictionary if there is
|
|
7
|
+
* no inherited value yet, i.e. this is the root provider). An explicit
|
|
8
|
+
* `undefined` value in `own` is treated as key-absent, not as an override. */
|
|
9
|
+
export function resolveDictionary(inherited, own) {
|
|
10
|
+
const base = inherited ?? defaultDictionary;
|
|
11
|
+
if (!own)
|
|
12
|
+
return base;
|
|
13
|
+
const merged = { ...base };
|
|
14
|
+
for (const key of Object.keys(own)) {
|
|
15
|
+
const value = own[key];
|
|
16
|
+
if (value !== undefined)
|
|
17
|
+
merged[key] = value;
|
|
18
|
+
}
|
|
19
|
+
return merged;
|
|
20
|
+
}
|
|
21
|
+
// Memoized so a persistently-malformed locale (e.g. a `C4Provider` mounted
|
|
22
|
+
// with `locale="en_US"`) warns once per distinct bad value instead of once
|
|
23
|
+
// per `resolveLocale` call (once per render) or, worse, once per
|
|
24
|
+
// `getOrCreateFormatter` call (once per formatted key).
|
|
25
|
+
const canonicalLocaleCache = new Map();
|
|
26
|
+
/** Validates/canonicalizes a locale string via `Intl.getCanonicalLocales`.
|
|
27
|
+
* `IntlMessageFormat`'s constructor throws a `RangeError` on a non-BCP-47
|
|
28
|
+
* locale (e.g. `"en_US"` — the default format Java/Spring, Rails, and
|
|
29
|
+
* Django backends emit) and, uncaught, that would break formatting for
|
|
30
|
+
* every dictionary-backed string in the tree. Malformed input falls back to
|
|
31
|
+
* `"en"` instead of propagating the error. */
|
|
32
|
+
function canonicalizeLocale(locale) {
|
|
33
|
+
const cached = canonicalLocaleCache.get(locale);
|
|
34
|
+
if (cached !== undefined)
|
|
35
|
+
return cached;
|
|
36
|
+
let canonical;
|
|
37
|
+
try {
|
|
38
|
+
const [result] = Intl.getCanonicalLocales(locale);
|
|
39
|
+
if (!result)
|
|
40
|
+
throw new RangeError("empty locale");
|
|
41
|
+
canonical = result;
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if (process.env.NODE_ENV !== "production") {
|
|
45
|
+
console.warn(`[C4Dictionary] invalid locale "${locale}" (expected BCP-47, e.g. "en", "en-US", "de-DE" — not underscore-separated). Falling back to "en". ${String(error)}`);
|
|
46
|
+
}
|
|
47
|
+
canonical = "en";
|
|
48
|
+
}
|
|
49
|
+
canonicalLocaleCache.set(locale, canonical);
|
|
50
|
+
return canonical;
|
|
51
|
+
}
|
|
52
|
+
/** Nearest explicit locale wins; otherwise inherit; otherwise "en". Never
|
|
53
|
+
* reads `navigator.language` — locale is either explicit or the English
|
|
54
|
+
* default, so server and client render identically (see plan Global
|
|
55
|
+
* Constraints). The result is always canonicalized (see
|
|
56
|
+
* `canonicalizeLocale`), so a malformed `own` or `inherited` value can never
|
|
57
|
+
* reach `IntlMessageFormat` via the context. `formatMessage` canonicalizes
|
|
58
|
+
* again independently (belt-and-suspenders for direct callers). */
|
|
59
|
+
export function resolveLocale(inherited, own) {
|
|
60
|
+
return canonicalizeLocale(own ?? inherited ?? "en");
|
|
61
|
+
}
|
|
62
|
+
let MessageFormatCtor = IntlMessageFormatReal;
|
|
63
|
+
/** Test-only hook so context.test.mjs can spy on construction count without
|
|
64
|
+
* a mocking framework. Never called from product code. */
|
|
65
|
+
export function __setMessageFormatCtorForTests(ctor) {
|
|
66
|
+
MessageFormatCtor = ctor;
|
|
67
|
+
}
|
|
68
|
+
// Keyed by locale -> key -> pattern rather than a single delimited string:
|
|
69
|
+
// locale, key, and pattern are all free-form strings, so no delimiter could
|
|
70
|
+
// be guaranteed collision-free against arbitrary pattern content.
|
|
71
|
+
const formatCache = new Map();
|
|
72
|
+
export function __resetFormatCache() {
|
|
73
|
+
formatCache.clear();
|
|
74
|
+
canonicalLocaleCache.clear();
|
|
75
|
+
malformedPatternCache.clear();
|
|
76
|
+
}
|
|
77
|
+
function getOrCreateFormatter(locale, key, pattern) {
|
|
78
|
+
// Canonicalize here too (not just in `resolveLocale`): this is the one
|
|
79
|
+
// place `MessageFormatCtor` is actually constructed, so it's the tightest
|
|
80
|
+
// spot to guarantee a malformed locale can never reach it, regardless of
|
|
81
|
+
// caller. Keying the cache by the canonical form also means distinct
|
|
82
|
+
// malformed inputs that fall back to the same locale (e.g. "en_US" and
|
|
83
|
+
// "" both -> "en") share one cache entry instead of fragmenting it.
|
|
84
|
+
const canonicalLocale = canonicalizeLocale(locale);
|
|
85
|
+
let byKey = formatCache.get(canonicalLocale);
|
|
86
|
+
if (!byKey) {
|
|
87
|
+
byKey = new Map();
|
|
88
|
+
formatCache.set(canonicalLocale, byKey);
|
|
89
|
+
}
|
|
90
|
+
let byPattern = byKey.get(key);
|
|
91
|
+
if (!byPattern) {
|
|
92
|
+
byPattern = new Map();
|
|
93
|
+
byKey.set(key, byPattern);
|
|
94
|
+
}
|
|
95
|
+
let formatter = byPattern.get(pattern);
|
|
96
|
+
if (!formatter) {
|
|
97
|
+
formatter = new MessageFormatCtor(pattern, canonicalLocale);
|
|
98
|
+
byPattern.set(pattern, formatter);
|
|
99
|
+
}
|
|
100
|
+
return formatter;
|
|
101
|
+
}
|
|
102
|
+
// Tracks (locale, key, pattern) triples already logged as malformed. A
|
|
103
|
+
// persistently-malformed pattern re-parses and re-throws on every call (there
|
|
104
|
+
// is no successful formatter to cache), which without this would re-log on
|
|
105
|
+
// every single render — an unbounded flood, not a one-time signal. Logging
|
|
106
|
+
// is skipped once a triple is known-bad; the fallback formatting itself still
|
|
107
|
+
// runs every time.
|
|
108
|
+
const malformedPatternCache = new Map();
|
|
109
|
+
function warnOnceIfMalformed(locale, key, pattern, message) {
|
|
110
|
+
let byKey = malformedPatternCache.get(locale);
|
|
111
|
+
if (!byKey) {
|
|
112
|
+
byKey = new Map();
|
|
113
|
+
malformedPatternCache.set(locale, byKey);
|
|
114
|
+
}
|
|
115
|
+
let patterns = byKey.get(key);
|
|
116
|
+
if (!patterns) {
|
|
117
|
+
patterns = new Set();
|
|
118
|
+
byKey.set(key, patterns);
|
|
119
|
+
}
|
|
120
|
+
if (patterns.has(pattern))
|
|
121
|
+
return;
|
|
122
|
+
patterns.add(pattern);
|
|
123
|
+
if (process.env.NODE_ENV !== "production") {
|
|
124
|
+
console.error(message);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Formats `pattern` (an ICU MessageFormat string) with `values`. If `pattern`
|
|
129
|
+
* fails to parse/format, retries with `fallbackPattern` (the English default)
|
|
130
|
+
* and logs a console.error identifying `key` (once per malformed
|
|
131
|
+
* locale/key/pattern triple — see `warnOnceIfMalformed`). If the fallback
|
|
132
|
+
* also fails — unreachable in practice, since defaults are authored in-repo
|
|
133
|
+
* and covered by this test file — returns the bare `key` and logs the same
|
|
134
|
+
* way.
|
|
135
|
+
*/
|
|
136
|
+
export function formatMessage(locale, key, pattern, values, fallbackPattern) {
|
|
137
|
+
try {
|
|
138
|
+
const formatter = getOrCreateFormatter(locale, key, pattern);
|
|
139
|
+
return String(formatter.format(values));
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (fallbackPattern !== undefined && fallbackPattern !== pattern) {
|
|
143
|
+
warnOnceIfMalformed(locale, key, pattern, `[C4Dictionary] malformed pattern for key "${key}": ${String(error)}. Falling back to the default pattern.`);
|
|
144
|
+
return formatMessage(locale, key, fallbackPattern, values);
|
|
145
|
+
}
|
|
146
|
+
warnOnceIfMalformed(locale, key, pattern, `[C4Dictionary] default pattern for key "${key}" also failed to format: ${String(error)}. Returning the bare key.`);
|
|
147
|
+
return key;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export function useC4Dictionary() {
|
|
151
|
+
const ctx = React.useContext(C4DictionaryContext);
|
|
152
|
+
const dictionary = ctx?.dictionary ?? defaultDictionary;
|
|
153
|
+
const locale = ctx?.locale ?? "en";
|
|
154
|
+
const t = React.useCallback((key, values) => formatMessage(locale, key, dictionary[key], values, defaultDictionary[key]), [dictionary, locale]);
|
|
155
|
+
return { t };
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/i18n/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flat, dot-namespaced dictionary of every user-facing string the DS renders.
|
|
3
|
+
* Values are ICU MessageFormat patterns — for static labels the pattern is
|
|
4
|
+
* just the literal string; only a handful of keys use plural/interpolation
|
|
5
|
+
* grammar (marked below).
|
|
6
|
+
*/
|
|
7
|
+
export interface C4Dictionary {
|
|
8
|
+
"dateRangePicker.clearRange": string;
|
|
9
|
+
"dateRangePicker.pickEndDate": string;
|
|
10
|
+
"dateRangePicker.pickDateRange": string;
|
|
11
|
+
"datePicker.pickDate": string;
|
|
12
|
+
"dataTable.batchActions": string;
|
|
13
|
+
"dataTable.selectAllRows": string;
|
|
14
|
+
"dataTable.rowActions": string;
|
|
15
|
+
"dataTable.rowsPerPage": string;
|
|
16
|
+
"dataTable.batchActionsCancel": string;
|
|
17
|
+
"dataTable.noResults": string;
|
|
18
|
+
"dataTable.selectRow": string;
|
|
19
|
+
"dataTable.collapseRow": string;
|
|
20
|
+
"dataTable.expandRow": string;
|
|
21
|
+
"dataTable.selectedCount": string;
|
|
22
|
+
"dataTable.pageOf": string;
|
|
23
|
+
"dataTable.previousPage": string;
|
|
24
|
+
"dataTable.nextPage": string;
|
|
25
|
+
"card.moreInformation": string;
|
|
26
|
+
"treeView.loading": string;
|
|
27
|
+
"treeView.selectNode": string;
|
|
28
|
+
"treeView.noItems": string;
|
|
29
|
+
"alert.dismiss": string;
|
|
30
|
+
"appSidebar.resize": string;
|
|
31
|
+
"appSidebar.closeNavigation": string;
|
|
32
|
+
"appSidebar.expand": string;
|
|
33
|
+
"appSidebar.collapse": string;
|
|
34
|
+
"appSidebar.back": string;
|
|
35
|
+
"appSidebar.resizeValueText": string;
|
|
36
|
+
"appSidebar.collapseText": string;
|
|
37
|
+
"breadcrumb.nav": string;
|
|
38
|
+
"breadcrumb.more": string;
|
|
39
|
+
"sheet.close": string;
|
|
40
|
+
"dialog.close": string;
|
|
41
|
+
"dialog.closeButton": string;
|
|
42
|
+
"notifications.label": string;
|
|
43
|
+
"notifications.panelTitle": string;
|
|
44
|
+
"notifications.unreadPrefix": string;
|
|
45
|
+
"notifications.empty": string;
|
|
46
|
+
"notifications.triggerLabel": string;
|
|
47
|
+
"notifications.unreadCount": string;
|
|
48
|
+
"notifications.totalCount": string;
|
|
49
|
+
"notifications.dismissAll": string;
|
|
50
|
+
"notifications.dismissItem": string;
|
|
51
|
+
"inlineEdit.confirm": string;
|
|
52
|
+
"scorecard.empty": string;
|
|
53
|
+
"scorecard.loading": string;
|
|
54
|
+
"scorecard.loadingFallback": string;
|
|
55
|
+
"searchInput.clear": string;
|
|
56
|
+
"chart.empty": string;
|
|
57
|
+
"meter.empty": string;
|
|
58
|
+
"meter.peakTarget": string;
|
|
59
|
+
"navBreadcrumb.contextNav": string;
|
|
60
|
+
"navBreadcrumb.switchContext": string;
|
|
61
|
+
"navBreadcrumb.actionsLabel": string;
|
|
62
|
+
"navBreadcrumb.actionsLabelFallback": string;
|
|
63
|
+
"navBreadcrumb.switchOrganization": string;
|
|
64
|
+
"navBreadcrumb.organizations": string;
|
|
65
|
+
"navBreadcrumb.switchCluster": string;
|
|
66
|
+
"navBreadcrumb.clusters": string;
|
|
67
|
+
"navBreadcrumb.switchApp": string;
|
|
68
|
+
"navBreadcrumb.apps": string;
|
|
69
|
+
"navBreadcrumb.hiddenLevels": string;
|
|
70
|
+
"multiStepDialog.back": string;
|
|
71
|
+
"multiStepDialog.next": string;
|
|
72
|
+
"multiStepDialog.complete": string;
|
|
73
|
+
"multiStepDialog.stepsIndicator": string;
|
|
74
|
+
"multiStepDialog.stepOf": string;
|
|
75
|
+
"multiStepDialog.goToStep": string;
|
|
76
|
+
"codeBlock.copy": string;
|
|
77
|
+
"codeBlock.copied": string;
|
|
78
|
+
"codeBlock.copyFailed": string;
|
|
79
|
+
"codeBlock.showMore": string;
|
|
80
|
+
"codeBlock.showLess": string;
|
|
81
|
+
"fileUploader.browse": string;
|
|
82
|
+
"fileUploader.dropZoneLabel": string;
|
|
83
|
+
"fileUploader.fileRemoved": string;
|
|
84
|
+
"fileUploader.removeFile": string;
|
|
85
|
+
"fileUploader.maxFilesReached": string;
|
|
86
|
+
"splitButton.moreOptions": string;
|
|
87
|
+
"appHeader.skipToContent": string;
|
|
88
|
+
"combobox.search": string;
|
|
89
|
+
"combobox.selectOption": string;
|
|
90
|
+
"multiSelect.selectOptions": string;
|
|
91
|
+
"multiSelect.search": string;
|
|
92
|
+
"multiSelect.noResultsFound": string;
|
|
93
|
+
"multiSelect.selectAll": string;
|
|
94
|
+
"multiSelect.clearAll": string;
|
|
95
|
+
"multiSelect.removeOption": string;
|
|
96
|
+
"multiSelect.overflowCount": string;
|
|
97
|
+
"multiSelect.removeOverflow": string;
|
|
98
|
+
"sidebarProvider.closeNavigation": string;
|
|
99
|
+
"sidebarProvider.openNavigation": string;
|
|
100
|
+
"userMenu.trigger": string;
|
|
101
|
+
"userMenu.logout": string;
|
|
102
|
+
"toast.dismiss": string;
|
|
103
|
+
"carbonCompat.search.clear": string;
|
|
104
|
+
"carbonCompat.accordionSkeleton.loading": string;
|
|
105
|
+
"carbonCompat.dataTable.noResults": string;
|
|
106
|
+
"carbonCompat.tableToolbar.search": string;
|
|
107
|
+
"carbonCompat.tableExpand.collapseRow": string;
|
|
108
|
+
"carbonCompat.tableExpand.expandRow": string;
|
|
109
|
+
"carbonCompat.tableBatchActions.selectedCount": string;
|
|
110
|
+
"carbonCompat.tableBatchActions.cancel": string;
|
|
111
|
+
"carbonCompat.tableSelect.selectAllRows": string;
|
|
112
|
+
"carbonCompat.tableSelect.selectRow": string;
|
|
113
|
+
"carbonCompat.codeSnippet.copy": string;
|
|
114
|
+
"carbonCompat.codeSnippet.copied": string;
|
|
115
|
+
"carbonCompat.modal.confirmAction": string;
|
|
116
|
+
"carbonCompat.errorBoundary.title": string;
|
|
117
|
+
"carbonCompat.errorBoundary.description": string;
|
|
118
|
+
}
|
|
119
|
+
export declare const defaultDictionary: Readonly<C4Dictionary>;
|
|
120
|
+
type KeysStartingWith<Prefix extends string> = Extract<keyof C4Dictionary, `${Prefix}.${string}`>;
|
|
121
|
+
export type DateRangePickerDictionaryKeys = KeysStartingWith<"dateRangePicker">;
|
|
122
|
+
export type DataTableDictionaryKeys = KeysStartingWith<"dataTable">;
|
|
123
|
+
export type CardDictionaryKeys = KeysStartingWith<"card">;
|
|
124
|
+
export type TreeViewDictionaryKeys = KeysStartingWith<"treeView">;
|
|
125
|
+
export type AlertDictionaryKeys = KeysStartingWith<"alert">;
|
|
126
|
+
export type AppSidebarDictionaryKeys = KeysStartingWith<"appSidebar">;
|
|
127
|
+
export type BreadcrumbDictionaryKeys = KeysStartingWith<"breadcrumb">;
|
|
128
|
+
export type SheetDictionaryKeys = KeysStartingWith<"sheet">;
|
|
129
|
+
export type DialogDictionaryKeys = KeysStartingWith<"dialog">;
|
|
130
|
+
export type NotificationsDictionaryKeys = KeysStartingWith<"notifications">;
|
|
131
|
+
export type InlineEditDictionaryKeys = KeysStartingWith<"inlineEdit">;
|
|
132
|
+
export type ScorecardDictionaryKeys = KeysStartingWith<"scorecard">;
|
|
133
|
+
export type SearchInputDictionaryKeys = KeysStartingWith<"searchInput">;
|
|
134
|
+
export type ChartDictionaryKeys = KeysStartingWith<"chart">;
|
|
135
|
+
export type MeterDictionaryKeys = KeysStartingWith<"meter">;
|
|
136
|
+
export type NavBreadcrumbDictionaryKeys = KeysStartingWith<"navBreadcrumb">;
|
|
137
|
+
export type MultiStepDialogDictionaryKeys = KeysStartingWith<"multiStepDialog">;
|
|
138
|
+
export type CodeBlockDictionaryKeys = KeysStartingWith<"codeBlock">;
|
|
139
|
+
export type FileUploaderDictionaryKeys = KeysStartingWith<"fileUploader">;
|
|
140
|
+
export type SplitButtonDictionaryKeys = KeysStartingWith<"splitButton">;
|
|
141
|
+
export type AppHeaderDictionaryKeys = KeysStartingWith<"appHeader">;
|
|
142
|
+
export type DatePickerDictionaryKeys = KeysStartingWith<"datePicker">;
|
|
143
|
+
export type ComboboxDictionaryKeys = KeysStartingWith<"combobox">;
|
|
144
|
+
export type MultiSelectDictionaryKeys = KeysStartingWith<"multiSelect">;
|
|
145
|
+
export type SidebarProviderDictionaryKeys = KeysStartingWith<"sidebarProvider">;
|
|
146
|
+
export type UserMenuDictionaryKeys = KeysStartingWith<"userMenu">;
|
|
147
|
+
export {};
|
|
148
|
+
//# sourceMappingURL=dictionary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../../src/lib/i18n/dictionary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// Readonly<> and Object.freeze together: the type catches accidental
|
|
2
|
+
// mutation at compile time, the freeze catches it at runtime for any
|
|
3
|
+
// consumer that bypasses TypeScript (plain JS, `as any`, etc.) — this is a
|
|
4
|
+
// shared module singleton read by every C4Provider instance, so a mutation
|
|
5
|
+
// here would silently change DS behavior process-wide.
|
|
6
|
+
export const defaultDictionary = Object.freeze({
|
|
7
|
+
"dateRangePicker.clearRange": "Clear date range",
|
|
8
|
+
"dateRangePicker.pickEndDate": "Pick end date",
|
|
9
|
+
"dateRangePicker.pickDateRange": "Pick a date range",
|
|
10
|
+
"datePicker.pickDate": "Pick a date",
|
|
11
|
+
"dataTable.batchActions": "Batch actions",
|
|
12
|
+
"dataTable.selectAllRows": "Select all rows",
|
|
13
|
+
"dataTable.rowActions": "Row actions",
|
|
14
|
+
"dataTable.rowsPerPage": "Rows per page",
|
|
15
|
+
"dataTable.batchActionsCancel": "Cancel",
|
|
16
|
+
"dataTable.noResults": "No results.",
|
|
17
|
+
"dataTable.selectRow": "Select row",
|
|
18
|
+
"dataTable.collapseRow": "Collapse row",
|
|
19
|
+
"dataTable.expandRow": "Expand row",
|
|
20
|
+
"dataTable.selectedCount": "{count, plural, one {# selected} other {# selected}}",
|
|
21
|
+
"dataTable.pageOf": "Page {current} of {total}",
|
|
22
|
+
"dataTable.previousPage": "Previous",
|
|
23
|
+
"dataTable.nextPage": "Next",
|
|
24
|
+
"card.moreInformation": "More information",
|
|
25
|
+
"treeView.loading": "Loading tree",
|
|
26
|
+
"treeView.selectNode": "Select {label}",
|
|
27
|
+
"treeView.noItems": "No items.",
|
|
28
|
+
"alert.dismiss": "Dismiss",
|
|
29
|
+
"appSidebar.resize": "Resize sidebar",
|
|
30
|
+
"appSidebar.closeNavigation": "Close navigation",
|
|
31
|
+
"appSidebar.expand": "Expand sidebar",
|
|
32
|
+
"appSidebar.collapse": "Collapse sidebar",
|
|
33
|
+
"appSidebar.back": "Back",
|
|
34
|
+
"appSidebar.resizeValueText": "{pixels} pixels",
|
|
35
|
+
"appSidebar.collapseText": "Collapse",
|
|
36
|
+
"breadcrumb.nav": "breadcrumb",
|
|
37
|
+
"breadcrumb.more": "More",
|
|
38
|
+
"sheet.close": "Close",
|
|
39
|
+
"dialog.close": "Close",
|
|
40
|
+
"dialog.closeButton": "Close",
|
|
41
|
+
"notifications.label": "Notifications",
|
|
42
|
+
"notifications.panelTitle": "Notifications",
|
|
43
|
+
"notifications.unreadPrefix": "Unread. ",
|
|
44
|
+
"notifications.empty": "You have no notifications.",
|
|
45
|
+
"notifications.triggerLabel": "{label}, {count, plural, =0 {none unread} other {# unread}}",
|
|
46
|
+
// unreadCount/totalCount: not a byte-for-byte repoint of the old hardcoded
|
|
47
|
+
// template literal, which always rendered the plural form regardless of
|
|
48
|
+
// count (e.g. "1 unread notifications") — a pre-existing grammar bug. The
|
|
49
|
+
// ICU plural pattern below correctly renders the singular at count=1. See
|
|
50
|
+
// .changeset/i18n-notifications-labels.md. Separately, IntlMessageFormat
|
|
51
|
+
// applies locale-aware digit grouping to the `#` token inside a plural
|
|
52
|
+
// block specifically (not to plain `{arg}` placeholders elsewhere in this
|
|
53
|
+
// file, which are stringified verbatim), so a count like 1000 now renders
|
|
54
|
+
// "1,000 unread notifications" where the old hardcoded template literal
|
|
55
|
+
// rendered "1000 unread notifications" — a second, similarly intentional
|
|
56
|
+
// way this isn't byte-for-byte. The only other `#`-bearing patterns in
|
|
57
|
+
// this file are `dataTable.selectedCount` and `notifications.triggerLabel`.
|
|
58
|
+
// Realistic counts are almost always well under 1000.
|
|
59
|
+
"notifications.unreadCount": "{count, plural, one {# unread notification} other {# unread notifications}}",
|
|
60
|
+
"notifications.totalCount": "{count, plural, one {# notification} other {# notifications}}",
|
|
61
|
+
"notifications.dismissAll": "Dismiss all",
|
|
62
|
+
"notifications.dismissItem": "Dismiss {title}",
|
|
63
|
+
"inlineEdit.confirm": "Confirm",
|
|
64
|
+
"scorecard.empty": "No data",
|
|
65
|
+
"scorecard.loading": "Loading {label}",
|
|
66
|
+
"scorecard.loadingFallback": "Loading",
|
|
67
|
+
"searchInput.clear": "Clear search",
|
|
68
|
+
"chart.empty": "No data",
|
|
69
|
+
"meter.empty": "No data",
|
|
70
|
+
"meter.peakTarget": ", target {value}",
|
|
71
|
+
"navBreadcrumb.contextNav": "Context navigation",
|
|
72
|
+
"navBreadcrumb.switchContext": "Switch context",
|
|
73
|
+
"navBreadcrumb.actionsLabel": "{label} actions",
|
|
74
|
+
"navBreadcrumb.actionsLabelFallback": "More actions",
|
|
75
|
+
"navBreadcrumb.switchOrganization": "Switch organization",
|
|
76
|
+
"navBreadcrumb.organizations": "Organizations",
|
|
77
|
+
"navBreadcrumb.switchCluster": "Switch cluster",
|
|
78
|
+
"navBreadcrumb.clusters": "Clusters",
|
|
79
|
+
"navBreadcrumb.switchApp": "Switch app",
|
|
80
|
+
"navBreadcrumb.apps": "Apps",
|
|
81
|
+
"navBreadcrumb.hiddenLevels": "Show {count} hidden {count, plural, one {level} other {levels}}",
|
|
82
|
+
"multiStepDialog.back": "Back",
|
|
83
|
+
"multiStepDialog.next": "Next",
|
|
84
|
+
"multiStepDialog.complete": "Done",
|
|
85
|
+
"multiStepDialog.stepsIndicator": "Steps",
|
|
86
|
+
"multiStepDialog.stepOf": "Step {current} of {total}",
|
|
87
|
+
"multiStepDialog.goToStep": "Go to step {number}",
|
|
88
|
+
"codeBlock.copy": "Copy to clipboard",
|
|
89
|
+
"codeBlock.copied": "Copied to clipboard",
|
|
90
|
+
"codeBlock.copyFailed": "Copying failed",
|
|
91
|
+
"codeBlock.showMore": "Show more",
|
|
92
|
+
"codeBlock.showLess": "Show less",
|
|
93
|
+
"fileUploader.browse": "Browse files",
|
|
94
|
+
"fileUploader.dropZoneLabel": "Drop file here",
|
|
95
|
+
"fileUploader.fileRemoved": "{fileName} removed",
|
|
96
|
+
"fileUploader.removeFile": "Remove {fileName}",
|
|
97
|
+
"fileUploader.maxFilesReached": "Maximum {count} {count, plural, one {file} other {files}} reached.",
|
|
98
|
+
"splitButton.moreOptions": "More options",
|
|
99
|
+
"appHeader.skipToContent": "Skip to main content",
|
|
100
|
+
"combobox.search": "Search…",
|
|
101
|
+
"combobox.selectOption": "Select an option…",
|
|
102
|
+
"multiSelect.selectOptions": "Select options…",
|
|
103
|
+
"multiSelect.search": "Search…",
|
|
104
|
+
"multiSelect.noResultsFound": "No results found",
|
|
105
|
+
"multiSelect.selectAll": "Select All",
|
|
106
|
+
"multiSelect.clearAll": "Clear All",
|
|
107
|
+
"multiSelect.removeOption": "Remove {label}",
|
|
108
|
+
"multiSelect.overflowCount": "+{count} more",
|
|
109
|
+
"multiSelect.removeOverflow": "Remove {count} more selected items",
|
|
110
|
+
"sidebarProvider.closeNavigation": "Close navigation",
|
|
111
|
+
"sidebarProvider.openNavigation": "Open navigation",
|
|
112
|
+
"userMenu.trigger": "User menu, {userName}",
|
|
113
|
+
"userMenu.logout": "Log out",
|
|
114
|
+
"toast.dismiss": "Dismiss",
|
|
115
|
+
"carbonCompat.search.clear": "Clear search",
|
|
116
|
+
"carbonCompat.accordionSkeleton.loading": "Loading",
|
|
117
|
+
"carbonCompat.dataTable.noResults": "No results.",
|
|
118
|
+
"carbonCompat.tableToolbar.search": "Search",
|
|
119
|
+
"carbonCompat.tableExpand.collapseRow": "Collapse row",
|
|
120
|
+
"carbonCompat.tableExpand.expandRow": "Expand row",
|
|
121
|
+
"carbonCompat.tableBatchActions.selectedCount": "{count} selected",
|
|
122
|
+
"carbonCompat.tableBatchActions.cancel": "Cancel",
|
|
123
|
+
"carbonCompat.tableSelect.selectAllRows": "Select all rows",
|
|
124
|
+
"carbonCompat.tableSelect.selectRow": "Select row",
|
|
125
|
+
"carbonCompat.codeSnippet.copy": "Copy to clipboard",
|
|
126
|
+
"carbonCompat.codeSnippet.copied": "Copied!",
|
|
127
|
+
"carbonCompat.modal.confirmAction": "Confirm action",
|
|
128
|
+
"carbonCompat.errorBoundary.title": "Something went wrong",
|
|
129
|
+
"carbonCompat.errorBoundary.description": "An unexpected error occurred. Please try reloading the page.",
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=dictionary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../../src/lib/i18n/dictionary.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camunda/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.59.0",
|
|
4
4
|
"description": "Camunda's AI-first design system. shadcn + Tailwind components, design tokens aligned to Camunda's identity, and AI tooling for component authoring + migration.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"audit:conventions": "node scripts/audit-conventions.mjs",
|
|
74
74
|
"mapping:build": "bash skills/migrate/scripts/build-mapping.sh",
|
|
75
75
|
"mapping:check": "bash skills/migrate/scripts/build-mapping.sh --check",
|
|
76
|
-
"test:rules": "node eslint-rules/no-adhoc-typography.test.mjs && node eslint-rules/no-primitive-tailwind-colors.test.mjs && node eslint-rules/no-raw-color-in-classname.test.mjs && node eslint-rules/require-shared-sidebar-provider.test.mjs && node eslint-rules/no-direct-lucide-import.test.mjs && node --test src/icons/registry.integrity.test.mjs",
|
|
76
|
+
"test:rules": "node eslint-rules/no-adhoc-typography.test.mjs && node eslint-rules/no-primitive-tailwind-colors.test.mjs && node eslint-rules/no-raw-color-in-classname.test.mjs && node eslint-rules/require-shared-sidebar-provider.test.mjs && node eslint-rules/no-direct-lucide-import.test.mjs && node eslint-rules/no-hardcoded-user-facing-string.test.mjs && node --test src/icons/registry.integrity.test.mjs src/lib/i18n/dictionary.test.mjs src/lib/i18n/dictionary-usage.test.mjs src/lib/i18n/context.test.mjs",
|
|
77
77
|
"test:hooks": "python3 plugins/camunda-design-system/scripts/route-request.test.py",
|
|
78
78
|
"prepare": "husky",
|
|
79
79
|
"release": "changeset publish",
|
|
@@ -107,6 +107,7 @@
|
|
|
107
107
|
"clsx": "2.1.1",
|
|
108
108
|
"cmdk": "1.1.1",
|
|
109
109
|
"date-fns": "^4.4.0",
|
|
110
|
+
"intl-messageformat": "^10.7.18",
|
|
110
111
|
"lucide-react": "^1.42.0",
|
|
111
112
|
"radix-ui": "1.6.7",
|
|
112
113
|
"react-day-picker": "^10.0.1",
|