@mmlogic/components 0.3.5 → 0.3.6
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/{collection/utils/cell-renderer.js → mosterdcomponents/cell-renderer-CbRwLOo8.js} +9 -3
- package/dist/mosterdcomponents/cell-renderer-CbRwLOo8.js.map +1 -0
- package/dist/{esm/index.js → mosterdcomponents/client-layout-D88nn5zf.js} +4 -1
- package/dist/mosterdcomponents/client-layout-D88nn5zf.js.map +1 -0
- package/dist/{collection/utils/format.js → mosterdcomponents/format-BAfsQfy1.js} +12 -7
- package/dist/mosterdcomponents/format-BAfsQfy1.js.map +1 -0
- package/dist/{collection/utils/i18n.js → mosterdcomponents/i18n-hoGGKbKU.js} +6 -1
- package/dist/mosterdcomponents/i18n-hoGGKbKU.js.map +1 -0
- package/dist/mosterdcomponents/index-B_tPFIvS.js +4585 -0
- package/dist/mosterdcomponents/index-B_tPFIvS.js.map +1 -0
- package/dist/mosterdcomponents/index-I5SuYv7a.js +4 -0
- package/dist/mosterdcomponents/index-I5SuYv7a.js.map +1 -0
- package/dist/mosterdcomponents/index.esm.js +5 -1
- package/dist/mosterdcomponents/index.esm.js.map +1 -0
- package/dist/mosterdcomponents/mosterdcomponents.css +180 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js +50 -1
- package/dist/mosterdcomponents/mosterdcomponents.esm.js.map +1 -0
- package/dist/mosterdcomponents/mrd-boolean-field.entry.js +37 -0
- package/dist/mosterdcomponents/mrd-boolean-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-currency-field.entry.js +67 -0
- package/dist/mosterdcomponents/mrd-currency-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-date-field.entry.js +46 -0
- package/dist/mosterdcomponents/mrd-date-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-datetime-field.entry.js +78 -0
- package/dist/mosterdcomponents/mrd-datetime-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-email-field.entry.js +50 -0
- package/dist/mosterdcomponents/mrd-email-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-field/mrd-field.js → mosterdcomponents/mrd-field.entry.js} +28 -179
- package/dist/mosterdcomponents/mrd-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-file-field.entry.js +108 -0
- package/dist/mosterdcomponents/mrd-file-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-form/mrd-form.js → mosterdcomponents/mrd-form.entry.js} +31 -308
- package/dist/mosterdcomponents/mrd-form.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js +87 -0
- package/dist/mosterdcomponents/mrd-hyperlink-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-image-field.entry.js +122 -0
- package/dist/mosterdcomponents/mrd-image-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-layout-section/mrd-layout-section.js → mosterdcomponents/mrd-layout-section.entry.js} +31 -418
- package/dist/mosterdcomponents/mrd-layout-section.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-list-field.entry.js +107 -0
- package/dist/mosterdcomponents/mrd-list-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-longtext-field.entry.js +47 -0
- package/dist/mosterdcomponents/mrd-longtext-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-number-field.entry.js +87 -0
- package/dist/mosterdcomponents/mrd-number-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-relation-field.entry.js +267 -0
- package/dist/mosterdcomponents/mrd-relation-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-secret-field.entry.js +49 -0
- package/dist/mosterdcomponents/mrd-secret-field.entry.js.map +1 -0
- package/dist/{collection/components/mrd-table/mrd-table.js → mosterdcomponents/mrd-table.entry.js} +32 -394
- package/dist/mosterdcomponents/mrd-table.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-text-field.entry.js +47 -0
- package/dist/mosterdcomponents/mrd-text-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-textarea-field.entry.js +86 -0
- package/dist/mosterdcomponents/mrd-textarea-field.entry.js.map +1 -0
- package/dist/mosterdcomponents/mrd-time-field.entry.js +46 -0
- package/dist/mosterdcomponents/mrd-time-field.entry.js.map +1 -0
- package/dist/{esm/quill-CiuCgGz_.js → mosterdcomponents/quill-C9pgw_k-.js} +16282 -1397
- package/dist/mosterdcomponents/quill-C9pgw_k-.js.map +1 -0
- package/dist/{collection/utils/validation.js → mosterdcomponents/validation-ixb43cqU.js} +12 -5
- package/dist/mosterdcomponents/validation-ixb43cqU.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -5
- package/dist/cjs/index-BPj2cBXs.js +0 -1570
- package/dist/cjs/index.cjs.js +0 -66
- package/dist/cjs/loader.cjs.js +0 -13
- package/dist/cjs/mosterdcomponents.cjs.js +0 -25
- package/dist/cjs/mrd-boolean-field_20.cjs.entry.js +0 -3961
- package/dist/cjs/quill-DmFfnC1f.js +0 -16272
- package/dist/collection/collection-manifest.json +0 -32
- package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.js +0 -199
- package/dist/collection/components/mrd-boolean-field/mrd-boolean-field.scss +0 -77
- package/dist/collection/components/mrd-currency-field/mrd-currency-field.js +0 -248
- package/dist/collection/components/mrd-currency-field/mrd-currency-field.scss +0 -100
- package/dist/collection/components/mrd-date-field/mrd-date-field.js +0 -206
- package/dist/collection/components/mrd-date-field/mrd-date-field.scss +0 -66
- package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.js +0 -240
- package/dist/collection/components/mrd-datetime-field/mrd-datetime-field.scss +0 -66
- package/dist/collection/components/mrd-email-field/mrd-email-field.js +0 -230
- package/dist/collection/components/mrd-email-field/mrd-email-field.scss +0 -69
- package/dist/collection/components/mrd-field/mrd-field.scss +0 -118
- package/dist/collection/components/mrd-file-field/mrd-file-field.js +0 -341
- package/dist/collection/components/mrd-file-field/mrd-file-field.scss +0 -153
- package/dist/collection/components/mrd-form/mrd-form.scss +0 -148
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.js +0 -291
- package/dist/collection/components/mrd-hyperlink-field/mrd-hyperlink-field.scss +0 -91
- package/dist/collection/components/mrd-image-field/mrd-image-field.js +0 -356
- package/dist/collection/components/mrd-image-field/mrd-image-field.scss +0 -190
- package/dist/collection/components/mrd-layout-section/mrd-layout-section.scss +0 -445
- package/dist/collection/components/mrd-list-field/mrd-list-field.js +0 -313
- package/dist/collection/components/mrd-list-field/mrd-list-field.scss +0 -109
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.js +0 -227
- package/dist/collection/components/mrd-longtext-field/mrd-longtext-field.scss +0 -78
- package/dist/collection/components/mrd-number-field/mrd-number-field.js +0 -316
- package/dist/collection/components/mrd-number-field/mrd-number-field.scss +0 -77
- package/dist/collection/components/mrd-relation-field/mrd-relation-field.js +0 -707
- package/dist/collection/components/mrd-relation-field/mrd-relation-field.scss +0 -266
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.js +0 -229
- package/dist/collection/components/mrd-secret-field/mrd-secret-field.scss +0 -73
- package/dist/collection/components/mrd-table/mrd-table.scss +0 -809
- package/dist/collection/components/mrd-text-field/mrd-text-field.js +0 -227
- package/dist/collection/components/mrd-text-field/mrd-text-field.scss +0 -69
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.js +0 -267
- package/dist/collection/components/mrd-textarea-field/mrd-textarea-field.scss +0 -135
- package/dist/collection/components/mrd-time-field/mrd-time-field.js +0 -206
- package/dist/collection/components/mrd-time-field/mrd-time-field.scss +0 -66
- package/dist/collection/dev/api.js +0 -145
- package/dist/collection/dev/app.js +0 -890
- package/dist/collection/dev/auth.js +0 -156
- package/dist/collection/dev/example-data.js +0 -403
- package/dist/collection/dev/sprites.svg +0 -55
- package/dist/collection/index.js +0 -1
- package/dist/collection/types/client-layout.js +0 -64
- package/dist/collection/types/index.js +0 -1
- package/dist/components/client-layout.js +0 -1
- package/dist/components/format.js +0 -1
- package/dist/components/i18n.js +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/mrd-boolean-field.js +0 -1
- package/dist/components/mrd-boolean-field2.js +0 -1
- package/dist/components/mrd-currency-field.js +0 -1
- package/dist/components/mrd-currency-field2.js +0 -1
- package/dist/components/mrd-date-field.js +0 -1
- package/dist/components/mrd-date-field2.js +0 -1
- package/dist/components/mrd-datetime-field.js +0 -1
- package/dist/components/mrd-datetime-field2.js +0 -1
- package/dist/components/mrd-email-field.js +0 -1
- package/dist/components/mrd-email-field2.js +0 -1
- package/dist/components/mrd-field.js +0 -1
- package/dist/components/mrd-field2.js +0 -1
- package/dist/components/mrd-file-field.js +0 -1
- package/dist/components/mrd-file-field2.js +0 -1
- package/dist/components/mrd-form.js +0 -1
- package/dist/components/mrd-hyperlink-field.js +0 -1
- package/dist/components/mrd-hyperlink-field2.js +0 -1
- package/dist/components/mrd-image-field.js +0 -1
- package/dist/components/mrd-image-field2.js +0 -1
- package/dist/components/mrd-layout-section.js +0 -1
- package/dist/components/mrd-list-field.js +0 -1
- package/dist/components/mrd-list-field2.js +0 -1
- package/dist/components/mrd-longtext-field.js +0 -1
- package/dist/components/mrd-longtext-field2.js +0 -1
- package/dist/components/mrd-number-field.js +0 -1
- package/dist/components/mrd-number-field2.js +0 -1
- package/dist/components/mrd-relation-field.js +0 -1
- package/dist/components/mrd-relation-field2.js +0 -1
- package/dist/components/mrd-secret-field.js +0 -1
- package/dist/components/mrd-secret-field2.js +0 -1
- package/dist/components/mrd-table.js +0 -1
- package/dist/components/mrd-table2.js +0 -1
- package/dist/components/mrd-text-field.js +0 -1
- package/dist/components/mrd-text-field2.js +0 -1
- package/dist/components/mrd-textarea-field.js +0 -1
- package/dist/components/mrd-textarea-field2.js +0 -1
- package/dist/components/mrd-time-field.js +0 -1
- package/dist/components/mrd-time-field2.js +0 -1
- package/dist/components/quill.js +0 -1
- package/dist/components/validation.js +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -3
- package/dist/esm/index-_tsCCkAi.js +0 -1561
- package/dist/esm/loader.js +0 -11
- package/dist/esm/mosterdcomponents.js +0 -21
- package/dist/esm/mrd-boolean-field_20.entry.js +0 -3940
- package/dist/index.cjs.js +0 -1
- package/dist/index.js +0 -1
- package/dist/mosterdcomponents/p-CiuCgGz_.js +0 -1
- package/dist/mosterdcomponents/p-DQuL1Twl.js +0 -1
- package/dist/mosterdcomponents/p-_tsCCkAi.js +0 -2
- package/dist/mosterdcomponents/p-e477187c.entry.js +0 -1
package/dist/{collection/utils/cell-renderer.js → mosterdcomponents/cell-renderer-CbRwLOo8.js}
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ClientLayoutItemType } from
|
|
3
|
-
|
|
1
|
+
import { d as formatTime, e as formatDateTime, f as formatDate, c as formatCurrency, a as formatNumber, b as formatPercentage } from './format-BAfsQfy1.js';
|
|
2
|
+
import { a as ClientLayoutItemType } from './client-layout-D88nn5zf.js';
|
|
3
|
+
|
|
4
|
+
class CellRenderer {
|
|
4
5
|
static render(column, row, locale) {
|
|
5
6
|
var _a, _b, _c, _d;
|
|
6
7
|
if (column.type === ClientLayoutItemType.RELATION) {
|
|
@@ -103,3 +104,8 @@ export class CellRenderer {
|
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
}
|
|
107
|
+
|
|
108
|
+
export { CellRenderer as C };
|
|
109
|
+
//# sourceMappingURL=cell-renderer-CbRwLOo8.js.map
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=cell-renderer-CbRwLOo8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-renderer-CbRwLOo8.js","sources":["src/utils/cell-renderer.ts"],"sourcesContent":["import { formatNumber, formatPercentage, formatCurrency, formatDate, formatDateTime, formatTime } from './format';\nimport { ClientLayoutItem, ClientLayoutItemType } from '../types/client-layout';\n\n/** TableColumn is an alias for ClientLayoutItem — used for table column definitions. */\nexport type TableColumn = ClientLayoutItem;\n\n/** One entry in the alternativeViews array for mrd-table. */\nexport interface AlternativeView {\n /** Named view identifier, emitted in mrdSwitchView. */\n name: string;\n /** Display text; falls back to name when absent. */\n label?: string;\n /** Optional class override (TypeFQN); emitted in mrdSwitchView. */\n class?: string;\n}\n\n/** Defines a toolbar action button for mrd-table. */\nexport interface TableAction {\n /** Machine-readable identifier, e.g. 'create' | 'export'. Emitted in mrdAction event. */\n action: string;\n /** Tooltip text (and label fallback when no icon is provided). */\n label: string;\n /** SVG sprite href, e.g. \"assets/sprites.svg#icon-plus\". Optional. */\n icon?: string;\n /** Button style variant. Defaults to 'secondary'. */\n variant?: 'primary' | 'secondary' | 'danger';\n disabled?: boolean;\n basicType?: string;\n}\n\n/** Represents an active filter on a single column. */\nexport interface ColumnFilter {\n field: string;\n dataType: string;\n /** Text operator — only relevant for text-like data types. */\n operator?: 'contains' | 'startsWith' | 'equals' | 'isEmpty' | 'isNotEmpty';\n /** Single value (boolean, exact text/number/date). */\n value?: string | number | boolean | null;\n /** Range start (≥) — future API support. */\n from?: string | number | null;\n /** Range end (≤) — future API support. */\n to?: string | number | null;\n /** LIST: keys of selected items to include. */\n values?: string[];\n}\n\nexport class CellRenderer {\n static render(column: TableColumn, row: Record<string, any>, locale: string): string {\n if (column.type === ClientLayoutItemType.RELATION) {\n const name = column.name ?? '';\n const link = row?._links?.[name];\n if (!link) return '';\n if (Array.isArray(link)) return link.map((l: any) => l.name ?? '').filter(Boolean).join(', ');\n return link.name ?? '';\n }\n\n if (column.type !== ClientLayoutItemType.FIELD) return '';\n\n const name = column.name ?? '';\n const dataType = column.dataType;\n const listItems = column.listItems;\n const raw = row?.[name];\n if (raw == null || raw === '') return '';\n\n const values = Array.isArray(raw) ? raw : [raw];\n return values\n .map(v => CellRenderer.renderValue(dataType ?? 'TEXT', v, listItems ?? [], locale))\n .filter(s => s !== '')\n .join(', ');\n }\n\n static renderValue(\n dataType: string,\n value: any,\n listItems: Array<{ key: string; label: string }>,\n locale: string,\n ): string {\n switch (dataType) {\n case 'INTEGER':\n return formatNumber(Number(value), locale, { maximumFractionDigits: 0 });\n case 'DECIMAL':\n return formatNumber(Number(value), locale);\n case 'PERCENTAGE':\n return formatPercentage(Number(value), locale);\n case 'CURRENCY': {\n const { amount, currency } = typeof value === 'object' && value !== null\n ? value\n : { amount: value, currency: '' };\n return currency\n ? formatCurrency(Number(amount), currency, locale)\n : formatNumber(Number(amount), locale);\n }\n case 'DATE':\n return formatDate(value, locale);\n case 'DATETIME':\n return formatDateTime(value, locale);\n case 'TIME':\n return formatTime(value, locale);\n case 'BOOLEAN':\n return value ? '✓' : '';\n case 'FILE':\n case 'IMAGE':\n return typeof value === 'object' && value !== null ? (value.fileName ?? '') : '';\n case 'LIST': {\n const item = listItems.find(li => li.key === String(value));\n return item?.label ?? String(value);\n }\n case 'TEXTBLOCK': {\n const stripped = String(value).replace(/<[^>]*>/g, '');\n const txt = document.createElement('textarea');\n txt.innerHTML = stripped;\n return txt.value.trim();\n }\n case 'LONGTEXT':\n return String(value).replace(/[\\r\\n]+/g, ' ').trim();\n case 'JSON': {\n const str = typeof value === 'object' ? JSON.stringify(value) : String(value);\n return str.replace(/[\\r\\n]+/g, ' ').trim();\n }\n case 'SECRET':\n return value ? '••••••••' : '';\n default:\n return String(value);\n }\n }\n\n /**\n * Returns syntax-highlighted JSON as an HTML string with inline styles.\n * compact=true → single line (no indentation); compact=false → pretty-printed.\n */\n static formatJson(value: any, compact = false): string {\n try {\n const parsed = typeof value === 'string' ? JSON.parse(value) : value;\n const json = compact ? JSON.stringify(parsed) : JSON.stringify(parsed, null, 2);\n return json.replace(\n /(\"(\\\\u[a-zA-Z0-9]{4}|\\\\[^u]|[^\\\\\"])*\"(\\s*:)?|\\b(true|false|null)\\b|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?)/g,\n match => {\n let style = 'color:#2aa198';\n if (/^\"/.test(match)) {\n style = /:$/.test(match) ? 'color:#881391' : 'color:#268bd2';\n } else if (/true|false/.test(match)) {\n style = 'color:#b58900';\n } else if (/null/.test(match)) {\n style = 'color:#dc322f';\n }\n return `<span style=\"${style}\">${match}</span>`;\n },\n );\n } catch {\n return String(value);\n }\n }\n}\n"],"names":[],"mappings":";;;MA8Ca,YAAY,CAAA;AACvB,IAAA,OAAO,MAAM,CAAC,MAAmB,EAAE,GAAwB,EAAE,MAAc,EAAA;;QACzE,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,EAAE;YACjD,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;YAC9B,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,IAAI,CAAC;AAChC,YAAA,IAAI,CAAC,IAAI;AAAE,gBAAA,OAAO,EAAE;AACpB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,KAAI,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,CAAC,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7F,OAAO,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;;AAGxB,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE;QAEzD,MAAM,IAAI,GAAQ,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;AACnC,QAAA,MAAM,QAAQ,GAAI,MAAM,CAAC,QAAQ;AACjC,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;QAClC,MAAM,GAAG,GAAG,GAAG,KAAA,IAAA,IAAH,GAAG,uBAAH,GAAG,CAAG,IAAI,CAAC;AACvB,QAAA,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;AAAE,YAAA,OAAO,EAAE;AAExC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/C,QAAA,OAAO;aACJ,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAR,QAAQ,GAAI,MAAM,EAAE,CAAC,EAAE,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAT,SAAS,GAAI,EAAE,EAAE,MAAM,CAAC;aACjF,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;aACpB,IAAI,CAAC,IAAI,CAAC;;IAGf,OAAO,WAAW,CAChB,QAAgB,EAChB,KAAU,EACV,SAAgD,EAChD,MAAc,EAAA;;QAEd,QAAQ,QAAQ;AACd,YAAA,KAAK,SAAS;AACZ,gBAAA,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC;AAC1E,YAAA,KAAK,SAAS;gBACZ,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;AAC5C,YAAA,KAAK,YAAY;gBACf,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAChD,KAAK,UAAU,EAAE;AACf,gBAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK;AAClE,sBAAE;sBACA,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;AACnC,gBAAA,OAAO;sBACH,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM;sBAC/C,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;;AAE1C,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;AAClC,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;AACtC,YAAA,KAAK,MAAM;AACT,gBAAA,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;AAClC,YAAA,KAAK,SAAS;gBACZ,OAAO,KAAK,GAAG,GAAG,GAAG,EAAE;AACzB,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAA,EAAA,GAAA,KAAK,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,IAAI,EAAE;YAClF,KAAK,MAAM,EAAE;AACX,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,gBAAA,OAAO,CAAA,EAAA,GAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,MAAM,CAAC,KAAK,CAAC;;YAErC,KAAK,WAAW,EAAE;AAChB,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;gBACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AAC9C,gBAAA,GAAG,CAAC,SAAS,GAAG,QAAQ;AACxB,gBAAA,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;;AAEzB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;YACtD,KAAK,MAAM,EAAE;gBACX,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC7E,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;;AAE5C,YAAA,KAAK,QAAQ;gBACX,OAAO,KAAK,GAAG,UAAU,GAAG,EAAE;AAChC,YAAA;AACE,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC;;;AAI1B;;;AAGG;AACH,IAAA,OAAO,UAAU,CAAC,KAAU,EAAE,OAAO,GAAG,KAAK,EAAA;AAC3C,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;YACpE,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,OAAO,CACjB,wGAAwG,EACxG,KAAK,IAAG;gBACN,IAAI,KAAK,GAAG,eAAe;AAC3B,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACpB,oBAAA,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,eAAe,GAAG,eAAe;;AACvD,qBAAA,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACnC,KAAK,GAAG,eAAe;;AAClB,qBAAA,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7B,KAAK,GAAG,eAAe;;AAEzB,gBAAA,OAAO,CAAA,aAAA,EAAgB,KAAK,CAAA,EAAA,EAAK,KAAK,SAAS;AACjD,aAAC,CACF;;QACD,OAAA,EAAA,EAAM;AACN,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC;;;AAGzB;;;;"}
|
|
@@ -63,4 +63,7 @@ var ClientLayoutItemRelationEditBehavior;
|
|
|
63
63
|
ClientLayoutItemRelationEditBehavior["CHECKBOX"] = "CHECKBOX";
|
|
64
64
|
})(ClientLayoutItemRelationEditBehavior || (ClientLayoutItemRelationEditBehavior = {}));
|
|
65
65
|
|
|
66
|
-
export { ClientLayoutItemFieldDataType, ClientLayoutItemRelationDisplayType, ClientLayoutItemRelationEditBehavior
|
|
66
|
+
export { ClientLayoutType as C, ClientLayoutItemType as a, ClientLayoutItemFieldDataType as b, ClientLayoutItemRelationDisplayType as c, ClientLayoutItemRelationEditBehavior as d };
|
|
67
|
+
//# sourceMappingURL=client-layout-D88nn5zf.js.map
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=client-layout-D88nn5zf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-layout-D88nn5zf.js","sources":["src/types/client-layout.ts"],"sourcesContent":["// ─── Layout type ──────────────────────────────────────────────────────────────\n\nexport enum ClientLayoutType {\n OBJECT_FORM_DASHBOARD = 'OBJECT_FORM_DASHBOARD',\n CLASS_DASHBOARD = 'CLASS_DASHBOARD',\n GENERAL_DASHBOARD = 'GENERAL_DASHBOARD',\n NAVIGATION_PANE = 'NAVIGATION_PANE',\n}\n\n// ─── Item types ───────────────────────────────────────────────────────────────\n\nexport enum ClientLayoutItemType {\n // Form / data input\n FIELD = 'FIELD',\n RELATION = 'RELATION',\n // Layout structure\n SECTION = 'SECTION',\n GROUP = 'GROUP',\n // Read-only / display\n HEADER = 'HEADER',\n TEXT = 'TEXT',\n // Navigation / actions\n NAVIGATE = 'NAVIGATE',\n ACTION = 'ACTION',\n SEARCH = 'SEARCH',\n // Dashboard views\n VIEW = 'VIEW',\n RELATED_VIEW = 'RELATED_VIEW',\n RELATED_OBJECT = 'RELATED_OBJECT',\n}\n\n// ─── Field data types ─────────────────────────────────────────────────────────\n\nexport enum ClientLayoutItemFieldDataType {\n TEXT = 'TEXT',\n TEXTBLOCK = 'TEXTBLOCK',\n INTEGER = 'INTEGER',\n DECIMAL = 'DECIMAL',\n PERCENTAGE = 'PERCENTAGE',\n CURRENCY = 'CURRENCY',\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n DATETIME = 'DATETIME',\n TIME = 'TIME',\n EMAIL = 'EMAIL',\n HYPERLINK = 'HYPERLINK',\n LIST = 'LIST',\n FILE = 'FILE',\n IMAGE = 'IMAGE',\n LONGTEXT = 'LONGTEXT',\n JSON = 'JSON',\n SECRET = 'SECRET',\n}\n\n// ─── Relation display / edit behaviour ───────────────────────────────────────\n\nexport enum ClientLayoutItemRelationDisplayType {\n SEARCH = 'SEARCH',\n DROPDOWN = 'DROPDOWN',\n CHECKBOX = 'CHECKBOX',\n}\n\nexport enum ClientLayoutItemRelationEditBehavior {\n SEARCH = 'SEARCH',\n DROPDOWN = 'DROPDOWN',\n CHECKBOX = 'CHECKBOX',\n}\n\n// ─── Data object link types (API _links shape) ───────────────────────────────\n\n/** A single sub-link within a multi-value relation link. */\nexport interface DataObjectSubLink {\n href: string;\n name: string;\n}\n\n/** Link object as returned by the API on a data object's `_links` map. */\nexport interface DataObjectLink {\n href: string;\n name?: string;\n values?: DataObjectSubLink[];\n}\n\n// ─── Shared value types ───────────────────────────────────────────────────────\n\n/** A selectable list item as returned by the API. */\nexport interface ClientListValue {\n /** Raw key stored in the database (API uses `key`, older code used `value`). */\n key: string;\n label: string;\n color?: string | null;\n backgroundColor?: string | null;\n}\n\nexport interface CurrencyValue {\n amount: number | null;\n currency: string;\n decimals?: number;\n}\n\nexport interface HyperlinkValue {\n href: string;\n name?: string;\n}\n\nexport interface RelationSearchResult {\n id: string;\n label: string;\n description?: string;\n}\n\n// ─── Item definitions ─────────────────────────────────────────────────────────\n\nexport interface ClientLayoutItemField {\n name: string;\n label: string;\n dataType: ClientLayoutItemFieldDataType;\n required: boolean;\n disabled?: boolean;\n multiple?: boolean;\n header?: boolean;\n defaultValue?: string | null;\n listItems?: ClientListValue[] | null;\n // UI hints — optional, not sent by API\n placeholder?: string;\n accept?: string;\n maxSize?: number;\n decimalPrecision?: number;\n currencyCode?: string;\n /** Aggregate function to render in the table totals row. */\n aggregate?: 'sum' | 'avg' | 'count' | null;\n historyEnabled?: boolean;\n}\n\n/** Response shape from the /aggregations endpoint.\n * `count` is a plain number (total record count) when returned at the top level. */\nexport interface AggregationResult {\n total?: number;\n count?: number | Record<string, number>;\n sum?: Record<string, number>;\n avg?: Record<string, number>;\n}\n\nexport interface ClientLayoutItemRelation {\n name: string;\n label: string;\n relatedClass: string;\n mostSignificantClass?: string;\n displayType?: ClientLayoutItemRelationDisplayType;\n editBehavior?: ClientLayoutItemRelationEditBehavior | null;\n commonRelation?: string;\n required: boolean;\n disabled?: boolean;\n multiple?: boolean;\n defaultValue?: string | null;\n dropdownValues?: ClientListValue[];\n}\n\nexport interface ClientLayoutItemNavigate {\n dataClass: string;\n icon?: string | null;\n navigationType?: string | null;\n}\n\nexport interface ClientLayoutItemRelatedView {\n name: string;\n fromClass?: string | null;\n relatedClass: string;\n filterClass?: string | null;\n showTitle: boolean;\n}\n\nexport interface ClientLayoutItemRelatedObject {\n name: string;\n relatedClass: string;\n}\n\nexport interface ClientLayoutItemSearch {\n dataClass: string;\n showTitle: boolean;\n}\n\n// ─── Generic item ─────────────────────────────────────────────────────────────\n\nexport interface ClientCreateType {\n type: string;\n label: string;\n}\n\n/**\n * A single item in a ClientLayout. The `type` discriminator determines which\n * optional fields are present. Components should only act on types they\n * understand and ignore others.\n */\nexport interface ClientLayoutItem {\n type: ClientLayoutItemType;\n label?: string;\n\n // FIELD\n field?: ClientLayoutItemField;\n\n // RELATION\n relation?: ClientLayoutItemRelation;\n\n // SECTION / GROUP — nested items\n items?: ClientLayoutItem[];\n\n // NAVIGATE\n navigate?: ClientLayoutItemNavigate;\n\n // VIEW — embedded view config (new flat format)\n view?: ClientViewMetadata;\n\n // RELATED_VIEW\n relatedView?: ClientLayoutItemRelatedView;\n\n // RELATED_OBJECT\n relatedObject?: ClientLayoutItemRelatedObject;\n\n // SEARCH\n search?: ClientLayoutItemSearch;\n\n // ─── Flat API fields ──────────────────────────────────────────────────────\n // Shared / ACTION / VIEW\n name?: string;\n showTitle?: boolean;\n /** Embedded alternative view configs (new flat format). */\n alternativeViews?: Array<{ label?: string; dataClass?: string; fromClass?: string | null; filterClass?: string | null; view?: ClientViewMetadata }>;\n /** Toolbar buttons for embedded views. null/omitted = [\"NEW\",\"EXPORT\"]; [] = none. */\n actions?: string[] | null;\n /** Concrete subtypes available for create. When set, the NEW button expands into one button per entry. */\n createTypes?: ClientCreateType[] | null;\n\n // FIELD (flat)\n dataType?: ClientLayoutItemFieldDataType;\n required?: boolean;\n disabled?: boolean;\n multiple?: boolean;\n header?: boolean;\n defaultValue?: string | null;\n listItems?: ClientListValue[] | null;\n aggregate?: 'sum' | 'avg' | 'count' | null;\n placeholder?: string;\n accept?: string;\n maxSize?: number;\n decimalPrecision?: number;\n currencyCode?: string;\n historyEnabled?: boolean;\n\n // RELATION (flat)\n relatedClass?: string;\n mostSignificantClass?: string;\n displayType?: ClientLayoutItemRelationDisplayType;\n editBehavior?: ClientLayoutItemRelationEditBehavior | null;\n commonRelation?: string;\n dropdownValues?: ClientListValue[];\n\n // VIEW / NAVIGATE / SEARCH (flat) — API sends 'dataClass' (renamed from reserved 'class')\n dataClass?: string;\n\n // RELATED_VIEW (flat)\n fromClass?: string | null;\n filterClass?: string | null;\n\n // NAVIGATE (flat)\n icon?: string | null;\n navigationType?: string | null;\n\n // ACTION (flat)\n actionType?: string;\n}\n\n// ─── Layout ───────────────────────────────────────────────────────────────────\n\nexport interface ClientLayout {\n type?: ClientLayoutType;\n label?: string;\n /** Used as the form title (mrd-form). */\n title?: string;\n tabPage?: boolean;\n items: ClientLayoutItem[];\n}\n\n// ─── ViewMetadata (from DashboardMetadata.views) ─────────────────────────────\n\nexport interface ViewFilter {\n name: string;\n value?: string | null;\n operator?: 'EQUALS' | 'FROM' | 'TO' | 'STARTS_WITH' | 'NOT_EMPTY' | 'EMPTY' | null;\n}\n\nexport interface ClientViewMetadata {\n name: string | null;\n defaultView: boolean;\n defaultSort?: string | null;\n /** Column definitions — each item is a FIELD or RELATION item. */\n values: ClientLayoutItem[];\n /** Static query-param filters baked into the view definition. */\n filter?: ViewFilter[] | null;\n type?: string;\n referenceType?: string | null;\n filterType?: string | null;\n singularLabel?: string;\n pluralLabel?: string;\n}\n\n// ─── DashboardMetadata ────────────────────────────────────────────────────────\n\nexport interface ClientDashboardMetadata {\n layouts: ClientLayout[];\n /** Legacy: view metadata map keyed by generated name. Absent in new flat format. */\n views?: Record<string, ClientViewMetadata>;\n layoutType: ClientLayoutType;\n _links?: Record<string, { href: string }>;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
function formatNumber(value, locale, options) {
|
|
2
2
|
if (value === null || value === undefined || isNaN(value))
|
|
3
3
|
return '';
|
|
4
4
|
return new Intl.NumberFormat(locale, options).format(value);
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
function formatCurrency(amount, currency, locale) {
|
|
7
7
|
if (amount === null || amount === undefined || isNaN(amount))
|
|
8
8
|
return '';
|
|
9
9
|
return new Intl.NumberFormat(locale, {
|
|
@@ -13,7 +13,7 @@ export function formatCurrency(amount, currency, locale) {
|
|
|
13
13
|
maximumFractionDigits: 2,
|
|
14
14
|
}).format(amount);
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
function formatPercentage(value, locale, decimalPrecision = 2) {
|
|
17
17
|
if (value === null || value === undefined || isNaN(value))
|
|
18
18
|
return '';
|
|
19
19
|
return new Intl.NumberFormat(locale, {
|
|
@@ -22,7 +22,7 @@ export function formatPercentage(value, locale, decimalPrecision = 2) {
|
|
|
22
22
|
maximumFractionDigits: decimalPrecision,
|
|
23
23
|
}).format(value);
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
function formatDate(value, locale) {
|
|
26
26
|
if (!value)
|
|
27
27
|
return '';
|
|
28
28
|
const date = typeof value === 'string' ? new Date(value) : value;
|
|
@@ -30,7 +30,7 @@ export function formatDate(value, locale) {
|
|
|
30
30
|
return '';
|
|
31
31
|
return new Intl.DateTimeFormat(locale, { year: 'numeric', month: '2-digit', day: '2-digit' }).format(date);
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
function formatDateTime(value, locale) {
|
|
34
34
|
if (!value)
|
|
35
35
|
return '';
|
|
36
36
|
const date = typeof value === 'string' ? new Date(value) : value;
|
|
@@ -44,7 +44,7 @@ export function formatDateTime(value, locale) {
|
|
|
44
44
|
minute: '2-digit',
|
|
45
45
|
}).format(date);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
function formatTime(value, locale) {
|
|
48
48
|
if (!value)
|
|
49
49
|
return '';
|
|
50
50
|
// value is HH:MM or HH:MM:SS
|
|
@@ -53,7 +53,7 @@ export function formatTime(value, locale) {
|
|
|
53
53
|
date.setHours(hours, minutes, 0, 0);
|
|
54
54
|
return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit' }).format(date);
|
|
55
55
|
}
|
|
56
|
-
|
|
56
|
+
function parseLocalizedNumber(str, locale) {
|
|
57
57
|
var _a, _b, _c, _d;
|
|
58
58
|
if (!str || !str.trim())
|
|
59
59
|
return null;
|
|
@@ -70,3 +70,8 @@ export function parseLocalizedNumber(str, locale) {
|
|
|
70
70
|
const parsed = parseFloat(normalized);
|
|
71
71
|
return isNaN(parsed) ? null : parsed;
|
|
72
72
|
}
|
|
73
|
+
|
|
74
|
+
export { formatNumber as a, formatPercentage as b, formatCurrency as c, formatTime as d, formatDateTime as e, formatDate as f, parseLocalizedNumber as p };
|
|
75
|
+
//# sourceMappingURL=format-BAfsQfy1.js.map
|
|
76
|
+
|
|
77
|
+
//# sourceMappingURL=format-BAfsQfy1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-BAfsQfy1.js","sources":["src/utils/format.ts"],"sourcesContent":["export function formatNumber(value: number, locale: string, options?: Intl.NumberFormatOptions): string {\n if (value === null || value === undefined || isNaN(value)) return '';\n return new Intl.NumberFormat(locale, options).format(value);\n}\n\nexport function formatCurrency(amount: number, currency: string, locale: string): string {\n if (amount === null || amount === undefined || isNaN(amount)) return '';\n return new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }).format(amount);\n}\n\nexport function formatPercentage(value: number, locale: string, decimalPrecision = 2): string {\n if (value === null || value === undefined || isNaN(value)) return '';\n return new Intl.NumberFormat(locale, {\n style: 'percent',\n minimumFractionDigits: decimalPrecision,\n maximumFractionDigits: decimalPrecision,\n }).format(value);\n}\n\nexport function formatDate(value: string | Date, locale: string): string {\n if (!value) return '';\n const date = typeof value === 'string' ? new Date(value) : value;\n if (isNaN(date.getTime())) return '';\n return new Intl.DateTimeFormat(locale, { year: 'numeric', month: '2-digit', day: '2-digit' }).format(date);\n}\n\nexport function formatDateTime(value: string | Date, locale: string): string {\n if (!value) return '';\n const date = typeof value === 'string' ? new Date(value) : value;\n if (isNaN(date.getTime())) return '';\n return new Intl.DateTimeFormat(locale, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n }).format(date);\n}\n\nexport function formatTime(value: string, locale: string): string {\n if (!value) return '';\n // value is HH:MM or HH:MM:SS\n const [hours, minutes] = value.split(':').map(Number);\n const date = new Date();\n date.setHours(hours, minutes, 0, 0);\n return new Intl.DateTimeFormat(locale, { hour: '2-digit', minute: '2-digit' }).format(date);\n}\n\nexport function parseLocalizedNumber(str: string, locale: string): number | null {\n if (!str || !str.trim()) return null;\n // Detect decimal and thousands separators from the locale\n const parts = new Intl.NumberFormat(locale).formatToParts(1234567.89);\n const groupSep = parts.find((p: Intl.NumberFormatPart) => p.type === 'group')?.value ?? ',';\n const decimalSep = parts.find((p: Intl.NumberFormatPart) => p.type === 'decimal')?.value ?? '.';\n\n // Remove group separators, replace decimal separator with '.'\n const normalized = str\n .replace(new RegExp(`\\\\${groupSep}`, 'g'), '')\n .replace(new RegExp(`\\\\${decimalSep}`), '.')\n .replace('%', '')\n .trim();\n\n const parsed = parseFloat(normalized);\n return isNaN(parsed) ? null : parsed;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -504,9 +504,14 @@ const translations = {
|
|
|
504
504
|
hyperlink_name: "Текст посилання (необов'язково)",
|
|
505
505
|
},
|
|
506
506
|
};
|
|
507
|
-
|
|
507
|
+
function t(key, locale) {
|
|
508
508
|
var _a, _b, _c;
|
|
509
509
|
const lang = (locale !== null && locale !== void 0 ? locale : 'en').split('-')[0].toLowerCase();
|
|
510
510
|
const dict = (_a = translations[lang]) !== null && _a !== void 0 ? _a : translations['en'];
|
|
511
511
|
return (_c = (_b = dict[key]) !== null && _b !== void 0 ? _b : translations['en'][key]) !== null && _c !== void 0 ? _c : key;
|
|
512
512
|
}
|
|
513
|
+
|
|
514
|
+
export { t };
|
|
515
|
+
//# sourceMappingURL=i18n-hoGGKbKU.js.map
|
|
516
|
+
|
|
517
|
+
//# sourceMappingURL=i18n-hoGGKbKU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-hoGGKbKU.js","sources":["src/utils/i18n.ts"],"sourcesContent":["const translations: Record<string, Record<string, string>> = {\n nl: {\n required: 'Dit veld is verplicht',\n select_placeholder: 'Selecteer een optie',\n search_placeholder: 'Zoeken...',\n upload_file: 'Bestand uploaden',\n choose_file: 'Bestand kiezen',\n clear: 'Wissen',\n today: 'Vandaag',\n invalid_email: 'Voer een geldig e-mailadres in',\n invalid_url: 'Voer een geldige URL in',\n invalid_number: 'Voer een geldig getal in',\n drop_file_here: 'Sleep bestand hierheen of',\n browse: 'bladeren',\n file_too_large: 'Bestand is te groot',\n search_results: 'Zoekresultaten',\n no_results: 'Geen resultaten gevonden',\n loading: 'Laden...',\n submit: 'Opslaan',\n cancel: 'Annuleren',\n remove: 'Verwijderen',\n add: 'Toevoegen',\n yes: 'Ja',\n no: 'Nee',\n // mrd-table footer\n table_of: 'van',\n download: 'Downloaden',\n // mrd-table toolbar\n table_filter: 'Filteren',\n table_filter_hide: 'Filter verbergen',\n table_filter_active: 'actief',\n table_filter_clear_all: 'Alle filters wissen',\n table_new_record: 'Nieuw record',\n table_export_excel: 'Exporteer naar Excel',\n // mrd-table filter popup\n filter_sorting: 'Sortering',\n filter_ascending: 'Oplopend',\n filter_descending: 'Aflopend',\n filter_section: 'Filter',\n filter_apply: 'Toepassen',\n filter_clear: 'Wissen',\n filter_contains: 'Bevat',\n filter_starts_with: 'Begint met',\n filter_equals: 'Gelijk aan',\n filter_has_value: 'Heeft waarde',\n filter_is_empty: 'Is leeg',\n filter_is_not_empty: 'Is niet leeg',\n filter_exact: 'Exact',\n filter_range: 'Bereik',\n filter_from: 'Van',\n filter_to: 'Tot',\n filter_all: 'Alle',\n filter_select_all: 'Alles',\n filter_select_none: 'Geen',\n filter_search_value: 'Zoekwaarde...',\n filter_no_support: 'Geen filtering beschikbaar voor dit veldtype.',\n // mrd-table textblock\n textblock_show_more: 'Meer tonen',\n close: 'Sluiten',\n // history badge\n history_until: 'tot',\n history_badge_tooltip: 'Vorige waarden',\n hyperlink_name: 'Linktekst (optioneel)',\n },\n en: {\n required: 'This field is required',\n select_placeholder: 'Select an option',\n search_placeholder: 'Search...',\n upload_file: 'Upload file',\n choose_file: 'Choose file',\n clear: 'Clear',\n today: 'Today',\n invalid_email: 'Please enter a valid email address',\n invalid_url: 'Please enter a valid URL',\n invalid_number: 'Please enter a valid number',\n drop_file_here: 'Drop file here or',\n browse: 'browse',\n file_too_large: 'File is too large',\n search_results: 'Search results',\n no_results: 'No results found',\n loading: 'Loading...',\n submit: 'Save',\n cancel: 'Cancel',\n remove: 'Remove',\n add: 'Add',\n yes: 'Yes',\n no: 'No',\n // mrd-table footer\n table_of: 'of',\n download: 'Download',\n // mrd-table toolbar\n table_filter: 'Filter',\n table_filter_hide: 'Hide filter',\n table_filter_active: 'active',\n table_filter_clear_all: 'Clear all filters',\n table_new_record: 'New record',\n table_export_excel: 'Export to Excel',\n // mrd-table filter popup\n filter_sorting: 'Sorting',\n filter_ascending: 'Ascending',\n filter_descending: 'Descending',\n filter_section: 'Filter',\n filter_apply: 'Apply',\n filter_clear: 'Clear',\n filter_contains: 'Contains',\n filter_starts_with: 'Starts with',\n filter_equals: 'Equals',\n filter_has_value: 'Has value',\n filter_is_empty: 'Is empty',\n filter_is_not_empty: 'Is not empty',\n filter_exact: 'Exact',\n filter_range: 'Range',\n filter_from: 'From',\n filter_to: 'To',\n filter_all: 'All',\n filter_select_all: 'All',\n filter_select_none: 'None',\n filter_search_value: 'Search value...',\n filter_no_support: 'Filtering is not available for this field type.',\n // mrd-table textblock\n textblock_show_more: 'Show more',\n close: 'Close',\n // history badge\n history_until: 'until',\n history_badge_tooltip: 'Previous values',\n hyperlink_name: 'Link text (optional)',\n },\n ar: {\n required: 'هذا الحقل مطلوب',\n select_placeholder: 'اختر خياراً',\n search_placeholder: 'بحث...',\n upload_file: 'رفع ملف',\n choose_file: 'اختر ملفاً',\n clear: 'مسح',\n today: 'اليوم',\n invalid_email: 'يرجى إدخال عنوان بريد إلكتروني صحيح',\n invalid_url: 'يرجى إدخال رابط صحيح',\n invalid_number: 'يرجى إدخال رقم صحيح',\n drop_file_here: 'اسحب الملف هنا أو',\n browse: 'تصفح',\n file_too_large: 'الملف كبير جداً',\n search_results: 'نتائج البحث',\n no_results: 'لم يتم العثور على نتائج',\n loading: 'جار التحميل...',\n submit: 'حفظ',\n cancel: 'إلغاء',\n remove: 'إزالة',\n add: 'إضافة',\n yes: 'نعم',\n no: 'لا',\n // mrd-table footer\n table_of: 'من أصل',\n download: 'تنزيل',\n // mrd-table toolbar\n table_filter: 'تصفية',\n table_filter_hide: 'إخفاء التصفية',\n table_filter_active: 'نشط',\n table_filter_clear_all: 'مسح جميع الفلاتر',\n table_new_record: 'سجل جديد',\n table_export_excel: 'تصدير إلى Excel',\n // mrd-table filter popup\n filter_sorting: 'الترتيب',\n filter_ascending: 'تصاعدي',\n filter_descending: 'تنازلي',\n filter_section: 'تصفية',\n filter_apply: 'تطبيق',\n filter_clear: 'مسح',\n filter_contains: 'يحتوي على',\n filter_starts_with: 'يبدأ بـ',\n filter_equals: 'يساوي',\n filter_has_value: 'له قيمة',\n filter_is_empty: 'فارغ',\n filter_is_not_empty: 'ليس فارغاً',\n filter_exact: 'دقيق',\n filter_range: 'نطاق',\n filter_from: 'من',\n filter_to: 'إلى',\n filter_all: 'الكل',\n filter_select_all: 'الكل',\n filter_select_none: 'لا شيء',\n filter_search_value: 'قيمة البحث...',\n filter_no_support: 'التصفية غير متاحة لهذا النوع من الحقول.',\n // mrd-table textblock\n textblock_show_more: 'عرض المزيد',\n close: 'إغلاق',\n // history badge\n history_until: 'حتى',\n history_badge_tooltip: 'القيم السابقة',\n hyperlink_name: 'نص الرابط (اختياري)',\n },\n fr: {\n required: 'Ce champ est obligatoire',\n select_placeholder: 'Sélectionner une option',\n search_placeholder: 'Rechercher...',\n upload_file: 'Télécharger un fichier',\n choose_file: 'Choisir un fichier',\n clear: 'Effacer',\n today: \"Aujourd'hui\",\n invalid_email: 'Veuillez saisir une adresse e-mail valide',\n invalid_url: 'Veuillez saisir une URL valide',\n invalid_number: 'Veuillez saisir un nombre valide',\n drop_file_here: 'Déposez le fichier ici ou',\n browse: 'parcourir',\n file_too_large: 'Le fichier est trop volumineux',\n search_results: 'Résultats de recherche',\n no_results: 'Aucun résultat trouvé',\n loading: 'Chargement...',\n submit: 'Enregistrer',\n cancel: 'Annuler',\n remove: 'Supprimer',\n add: 'Ajouter',\n yes: 'Oui',\n no: 'Non',\n // mrd-table footer\n table_of: 'sur',\n download: 'Télécharger',\n // mrd-table toolbar\n table_filter: 'Filtrer',\n table_filter_hide: 'Masquer le filtre',\n table_filter_active: 'actif',\n table_filter_clear_all: 'Effacer tous les filtres',\n table_new_record: 'Nouvel enregistrement',\n table_export_excel: 'Exporter vers Excel',\n // mrd-table filter popup\n filter_sorting: 'Tri',\n filter_ascending: 'Croissant',\n filter_descending: 'Décroissant',\n filter_section: 'Filtre',\n filter_apply: 'Appliquer',\n filter_clear: 'Effacer',\n filter_contains: 'Contient',\n filter_starts_with: 'Commence par',\n filter_equals: 'Égal à',\n filter_has_value: 'A une valeur',\n filter_is_empty: 'Est vide',\n filter_is_not_empty: \"N'est pas vide\",\n filter_exact: 'Exact',\n filter_range: 'Plage',\n filter_from: 'De',\n filter_to: 'À',\n filter_all: 'Tous',\n filter_select_all: 'Tous',\n filter_select_none: 'Aucun',\n filter_search_value: 'Valeur de recherche...',\n filter_no_support: \"Le filtrage n'est pas disponible pour ce type de champ.\",\n // mrd-table textblock\n textblock_show_more: 'Voir plus',\n close: 'Fermer',\n // history badge\n history_until: \"jusqu'au\",\n history_badge_tooltip: 'Valeurs précédentes',\n hyperlink_name: 'Texte du lien (optionnel)',\n },\n de: {\n required: 'Dieses Feld ist erforderlich',\n select_placeholder: 'Option auswählen',\n search_placeholder: 'Suchen...',\n upload_file: 'Datei hochladen',\n choose_file: 'Datei auswählen',\n clear: 'Löschen',\n today: 'Heute',\n invalid_email: 'Bitte geben Sie eine gültige E-Mail-Adresse ein',\n invalid_url: 'Bitte geben Sie eine gültige URL ein',\n invalid_number: 'Bitte geben Sie eine gültige Zahl ein',\n drop_file_here: 'Datei hier ablegen oder',\n browse: 'durchsuchen',\n file_too_large: 'Datei ist zu groß',\n search_results: 'Suchergebnisse',\n no_results: 'Keine Ergebnisse gefunden',\n loading: 'Laden...',\n submit: 'Speichern',\n cancel: 'Abbrechen',\n remove: 'Entfernen',\n add: 'Hinzufügen',\n yes: 'Ja',\n no: 'Nein',\n // mrd-table footer\n table_of: 'von',\n download: 'Herunterladen',\n // mrd-table toolbar\n table_filter: 'Filtern',\n table_filter_hide: 'Filter ausblenden',\n table_filter_active: 'aktiv',\n table_filter_clear_all: 'Alle Filter löschen',\n table_new_record: 'Neuer Eintrag',\n table_export_excel: 'Als Excel exportieren',\n // mrd-table filter popup\n filter_sorting: 'Sortierung',\n filter_ascending: 'Aufsteigend',\n filter_descending: 'Absteigend',\n filter_section: 'Filter',\n filter_apply: 'Anwenden',\n filter_clear: 'Löschen',\n filter_contains: 'Enthält',\n filter_starts_with: 'Beginnt mit',\n filter_equals: 'Gleich',\n filter_has_value: 'Hat Wert',\n filter_is_empty: 'Ist leer',\n filter_is_not_empty: 'Ist nicht leer',\n filter_exact: 'Genau',\n filter_range: 'Bereich',\n filter_from: 'Von',\n filter_to: 'Bis',\n filter_all: 'Alle',\n filter_select_all: 'Alle',\n filter_select_none: 'Keine',\n filter_search_value: 'Suchwert...',\n filter_no_support: 'Filterung ist für diesen Feldtyp nicht verfügbar.',\n // mrd-table textblock\n textblock_show_more: 'Mehr anzeigen',\n close: 'Schließen',\n // history badge\n history_until: 'bis',\n history_badge_tooltip: 'Vorherige Werte',\n hyperlink_name: 'Linktext (optional)',\n },\n es: {\n required: 'Este campo es obligatorio',\n select_placeholder: 'Seleccionar una opción',\n search_placeholder: 'Buscar...',\n upload_file: 'Subir archivo',\n choose_file: 'Elegir archivo',\n clear: 'Borrar',\n today: 'Hoy',\n invalid_email: 'Por favor, introduzca una dirección de correo electrónico válida',\n invalid_url: 'Por favor, introduzca una URL válida',\n invalid_number: 'Por favor, introduzca un número válido',\n drop_file_here: 'Suelte el archivo aquí o',\n browse: 'explorar',\n file_too_large: 'El archivo es demasiado grande',\n search_results: 'Resultados de búsqueda',\n no_results: 'No se encontraron resultados',\n loading: 'Cargando...',\n submit: 'Guardar',\n cancel: 'Cancelar',\n remove: 'Eliminar',\n add: 'Añadir',\n yes: 'Sí',\n no: 'No',\n // mrd-table footer\n table_of: 'de',\n download: 'Descargar',\n // mrd-table toolbar\n table_filter: 'Filtrar',\n table_filter_hide: 'Ocultar filtro',\n table_filter_active: 'activo',\n table_filter_clear_all: 'Borrar todos los filtros',\n table_new_record: 'Nuevo registro',\n table_export_excel: 'Exportar a Excel',\n // mrd-table filter popup\n filter_sorting: 'Ordenación',\n filter_ascending: 'Ascendente',\n filter_descending: 'Descendente',\n filter_section: 'Filtro',\n filter_apply: 'Aplicar',\n filter_clear: 'Borrar',\n filter_contains: 'Contiene',\n filter_starts_with: 'Empieza por',\n filter_equals: 'Igual a',\n filter_has_value: 'Tiene valor',\n filter_is_empty: 'Está vacío',\n filter_is_not_empty: 'No está vacío',\n filter_exact: 'Exacto',\n filter_range: 'Rango',\n filter_from: 'Desde',\n filter_to: 'Hasta',\n filter_all: 'Todos',\n filter_select_all: 'Todos',\n filter_select_none: 'Ninguno',\n filter_search_value: 'Valor de búsqueda...',\n filter_no_support: 'El filtrado no está disponible para este tipo de campo.',\n // mrd-table textblock\n textblock_show_more: 'Mostrar más',\n close: 'Cerrar',\n // history badge\n history_until: 'hasta',\n history_badge_tooltip: 'Valores anteriores',\n hyperlink_name: 'Texto del enlace (opcional)',\n },\n it: {\n required: 'Questo campo è obbligatorio',\n select_placeholder: \"Seleziona un'opzione\",\n search_placeholder: 'Cerca...',\n upload_file: 'Carica file',\n choose_file: 'Scegli file',\n clear: 'Cancella',\n today: 'Oggi',\n invalid_email: 'Inserisci un indirizzo email valido',\n invalid_url: 'Inserisci un URL valido',\n invalid_number: 'Inserisci un numero valido',\n drop_file_here: 'Trascina il file qui o',\n browse: 'sfoglia',\n file_too_large: 'Il file è troppo grande',\n search_results: 'Risultati della ricerca',\n no_results: 'Nessun risultato trovato',\n loading: 'Caricamento...',\n submit: 'Salva',\n cancel: 'Annulla',\n remove: 'Rimuovi',\n add: 'Aggiungi',\n yes: 'Sì',\n no: 'No',\n // mrd-table footer\n table_of: 'di',\n download: 'Scarica',\n // mrd-table toolbar\n table_filter: 'Filtra',\n table_filter_hide: 'Nascondi filtro',\n table_filter_active: 'attivo',\n table_filter_clear_all: 'Cancella tutti i filtri',\n table_new_record: 'Nuovo record',\n table_export_excel: 'Esporta in Excel',\n // mrd-table filter popup\n filter_sorting: 'Ordinamento',\n filter_ascending: 'Crescente',\n filter_descending: 'Decrescente',\n filter_section: 'Filtro',\n filter_apply: 'Applica',\n filter_clear: 'Cancella',\n filter_contains: 'Contiene',\n filter_starts_with: 'Inizia con',\n filter_equals: 'Uguale a',\n filter_has_value: 'Ha valore',\n filter_is_empty: 'È vuoto',\n filter_is_not_empty: 'Non è vuoto',\n filter_exact: 'Esatto',\n filter_range: 'Intervallo',\n filter_from: 'Da',\n filter_to: 'A',\n filter_all: 'Tutti',\n filter_select_all: 'Tutti',\n filter_select_none: 'Nessuno',\n filter_search_value: 'Valore di ricerca...',\n filter_no_support: 'Il filtro non è disponibile per questo tipo di campo.',\n // mrd-table textblock\n textblock_show_more: 'Mostra altro',\n close: 'Chiudi',\n // history badge\n history_until: 'fino a',\n history_badge_tooltip: 'Valori precedenti',\n hyperlink_name: 'Testo del collegamento (opzionale)',\n },\n uk: {\n required: \"Це поле обов'язкове\",\n select_placeholder: 'Виберіть варіант',\n search_placeholder: 'Пошук...',\n upload_file: 'Завантажити файл',\n choose_file: 'Вибрати файл',\n clear: 'Очистити',\n today: 'Сьогодні',\n invalid_email: 'Будь ласка, введіть дійсну адресу електронної пошти',\n invalid_url: 'Будь ласка, введіть дійсну URL-адресу',\n invalid_number: 'Будь ласка, введіть дійсне число',\n drop_file_here: 'Перетягніть файл сюди або',\n browse: 'огляд',\n file_too_large: 'Файл занадто великий',\n search_results: 'Результати пошуку',\n no_results: 'Результатів не знайдено',\n loading: 'Завантаження...',\n submit: 'Зберегти',\n cancel: 'Скасувати',\n remove: 'Видалити',\n add: 'Додати',\n yes: 'Так',\n no: 'Ні',\n // mrd-table footer\n table_of: 'з',\n download: 'Завантажити',\n // mrd-table toolbar\n table_filter: 'Фільтрувати',\n table_filter_hide: 'Сховати фільтр',\n table_filter_active: 'активний',\n table_filter_clear_all: 'Очистити всі фільтри',\n table_new_record: 'Новий запис',\n table_export_excel: 'Експортувати до Excel',\n // mrd-table filter popup\n filter_sorting: 'Сортування',\n filter_ascending: 'За зростанням',\n filter_descending: 'За спаданням',\n filter_section: 'Фільтр',\n filter_apply: 'Застосувати',\n filter_clear: 'Очистити',\n filter_contains: 'Містить',\n filter_starts_with: 'Починається з',\n filter_equals: 'Дорівнює',\n filter_has_value: 'Має значення',\n filter_is_empty: 'Порожнє',\n filter_is_not_empty: 'Не порожнє',\n filter_exact: 'Точно',\n filter_range: 'Діапазон',\n filter_from: 'Від',\n filter_to: 'До',\n filter_all: 'Всі',\n filter_select_all: 'Всі',\n filter_select_none: 'Жодного',\n filter_search_value: 'Значення для пошуку...',\n filter_no_support: 'Фільтрування недоступне для цього типу поля.',\n // mrd-table textblock\n textblock_show_more: 'Показати більше',\n close: 'Закрити',\n // history badge\n history_until: 'до',\n history_badge_tooltip: 'Попередні значення',\n hyperlink_name: \"Текст посилання (необов'язково)\",\n },\n};\n\nexport function t(key: string, locale: string): string {\n const lang = (locale ?? 'en').split('-')[0].toLowerCase();\n const dict = translations[lang] ?? translations['en'];\n return dict[key] ?? translations['en'][key] ?? key;\n}\n"],"names":[],"mappings":"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"}
|