ngwr 14.4.0 → 14.5.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.
Files changed (149) hide show
  1. package/README.md +3 -3
  2. package/fesm2022/ngwr-breadcrumbs.mjs +2 -2
  3. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  4. package/fesm2022/ngwr-cascader.mjs +15 -3
  5. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  6. package/fesm2022/ngwr-color-picker.mjs +18 -2
  7. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  8. package/fesm2022/ngwr-context-menu.mjs +35 -3
  9. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  10. package/fesm2022/ngwr-date-picker.mjs +30 -2
  11. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  12. package/fesm2022/ngwr-dialog.mjs +12 -1
  13. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  14. package/fesm2022/ngwr-drag-drop.mjs +2 -2
  15. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  16. package/fesm2022/ngwr-drawer.mjs +48 -2
  17. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  18. package/fesm2022/ngwr-dropdown.mjs +22 -2
  19. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  20. package/fesm2022/ngwr-graph-testing.mjs +243 -0
  21. package/fesm2022/ngwr-graph-testing.mjs.map +1 -0
  22. package/fesm2022/ngwr-graph.mjs +1112 -0
  23. package/fesm2022/ngwr-graph.mjs.map +1 -0
  24. package/fesm2022/ngwr-i18n-ar.mjs +5 -0
  25. package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
  26. package/fesm2022/ngwr-i18n-cs.mjs +5 -0
  27. package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
  28. package/fesm2022/ngwr-i18n-de.mjs +5 -0
  29. package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
  30. package/fesm2022/ngwr-i18n-en.mjs +9 -0
  31. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  32. package/fesm2022/ngwr-i18n-es.mjs +5 -0
  33. package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
  34. package/fesm2022/ngwr-i18n-fr.mjs +5 -0
  35. package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
  36. package/fesm2022/ngwr-i18n-he.mjs +5 -0
  37. package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
  38. package/fesm2022/ngwr-i18n-hi.mjs +5 -0
  39. package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
  40. package/fesm2022/ngwr-i18n-id.mjs +5 -0
  41. package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
  42. package/fesm2022/ngwr-i18n-it.mjs +5 -0
  43. package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
  44. package/fesm2022/ngwr-i18n-ja.mjs +5 -0
  45. package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
  46. package/fesm2022/ngwr-i18n-ko.mjs +5 -0
  47. package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
  48. package/fesm2022/ngwr-i18n-nl.mjs +5 -0
  49. package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
  50. package/fesm2022/ngwr-i18n-pl.mjs +5 -0
  51. package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
  52. package/fesm2022/ngwr-i18n-pt.mjs +5 -0
  53. package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
  54. package/fesm2022/ngwr-i18n-ru.mjs +5 -0
  55. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  56. package/fesm2022/ngwr-i18n-sv.mjs +5 -0
  57. package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
  58. package/fesm2022/ngwr-i18n-tr.mjs +5 -0
  59. package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
  60. package/fesm2022/ngwr-i18n-uk.mjs +5 -0
  61. package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
  62. package/fesm2022/ngwr-i18n-vi.mjs +5 -0
  63. package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
  64. package/fesm2022/ngwr-i18n-zh-TW.mjs +5 -0
  65. package/fesm2022/ngwr-i18n-zh-TW.mjs.map +1 -1
  66. package/fesm2022/ngwr-i18n-zh.mjs +5 -0
  67. package/fesm2022/ngwr-i18n-zh.mjs.map +1 -1
  68. package/fesm2022/ngwr-lightbox.mjs +25 -4
  69. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  70. package/fesm2022/ngwr-list.mjs +2 -2
  71. package/fesm2022/ngwr-list.mjs.map +1 -1
  72. package/fesm2022/ngwr-mention.mjs +18 -2
  73. package/fesm2022/ngwr-mention.mjs.map +1 -1
  74. package/fesm2022/ngwr-overlay.mjs +119 -4
  75. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  76. package/fesm2022/ngwr-popconfirm.mjs +19 -3
  77. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  78. package/fesm2022/ngwr-popover-testing.mjs +22 -5
  79. package/fesm2022/ngwr-popover-testing.mjs.map +1 -1
  80. package/fesm2022/ngwr-popover.mjs +215 -27
  81. package/fesm2022/ngwr-popover.mjs.map +1 -1
  82. package/fesm2022/ngwr-segmented.mjs +34 -1
  83. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  84. package/fesm2022/ngwr-select.mjs +15 -1
  85. package/fesm2022/ngwr-select.mjs.map +1 -1
  86. package/fesm2022/ngwr-toast.mjs +19 -2
  87. package/fesm2022/ngwr-toast.mjs.map +1 -1
  88. package/fesm2022/ngwr-tour.mjs +20 -6
  89. package/fesm2022/ngwr-tour.mjs.map +1 -1
  90. package/fesm2022/ngwr-tree.mjs +9 -2
  91. package/fesm2022/ngwr-tree.mjs.map +1 -1
  92. package/fesm2022/ngwr-version.mjs +1 -1
  93. package/fesm2022/ngwr-version.mjs.map +1 -1
  94. package/fesm2022/ngwr-window.mjs +18 -1
  95. package/fesm2022/ngwr-window.mjs.map +1 -1
  96. package/graph/styles/_index.scss +113 -0
  97. package/i18n/ar.json +5 -0
  98. package/i18n/cs.json +5 -0
  99. package/i18n/de.json +5 -0
  100. package/i18n/en.json +5 -0
  101. package/i18n/es.json +5 -0
  102. package/i18n/fr.json +5 -0
  103. package/i18n/he.json +5 -0
  104. package/i18n/hi.json +5 -0
  105. package/i18n/id.json +5 -0
  106. package/i18n/it.json +5 -0
  107. package/i18n/ja.json +5 -0
  108. package/i18n/ko.json +5 -0
  109. package/i18n/nl.json +5 -0
  110. package/i18n/pl.json +5 -0
  111. package/i18n/pt.json +5 -0
  112. package/i18n/ru.json +5 -0
  113. package/i18n/sv.json +5 -0
  114. package/i18n/tr.json +5 -0
  115. package/i18n/uk.json +5 -0
  116. package/i18n/vi.json +5 -0
  117. package/i18n/zh-TW.json +5 -0
  118. package/i18n/zh.json +5 -0
  119. package/llms-full.txt +12 -2
  120. package/llms.txt +8 -6
  121. package/package.json +10 -1
  122. package/schematics/use/symbol-map.json +2 -0
  123. package/segmented/styles/_index.scss +8 -0
  124. package/skills/ngwr/SKILL.md +1 -1
  125. package/skills/ngwr/references/catalog.md +2 -0
  126. package/styles.scss +1 -0
  127. package/theme/styles/_focus.scss +7 -0
  128. package/types/ngwr-cascader.d.ts +7 -0
  129. package/types/ngwr-color-picker.d.ts +8 -0
  130. package/types/ngwr-context-menu.d.ts +10 -0
  131. package/types/ngwr-date-picker.d.ts +16 -0
  132. package/types/ngwr-dialog.d.ts +1 -0
  133. package/types/ngwr-drawer.d.ts +28 -0
  134. package/types/ngwr-dropdown.d.ts +9 -0
  135. package/types/ngwr-graph-testing.d.ts +190 -0
  136. package/types/ngwr-graph.d.ts +203 -0
  137. package/types/ngwr-lightbox.d.ts +15 -0
  138. package/types/ngwr-mention.d.ts +7 -0
  139. package/types/ngwr-overlay.d.ts +62 -4
  140. package/types/ngwr-popconfirm.d.ts +1 -0
  141. package/types/ngwr-popover-testing.d.ts +22 -5
  142. package/types/ngwr-popover.d.ts +28 -8
  143. package/types/ngwr-segmented.d.ts +16 -0
  144. package/types/ngwr-select.d.ts +7 -0
  145. package/types/ngwr-toast.d.ts +2 -0
  146. package/types/ngwr-tour.d.ts +6 -0
  147. package/types/ngwr-tree.d.ts +2 -1
  148. package/types/ngwr-version.d.ts +1 -1
  149. package/types/ngwr-window.d.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngwr-graph.mjs","sources":["../../../projects/lib/graph/graph-node-template.ts","../../../projects/lib/graph/internal/layout/order.ts","../../../projects/lib/graph/internal/layout/position.ts","../../../projects/lib/graph/internal/layout/prepare.ts","../../../projects/lib/graph/internal/layout/rank.ts","../../../projects/lib/graph/internal/layout/route.ts","../../../projects/lib/graph/internal/layout/types.ts","../../../projects/lib/graph/internal/layout/layered-layout.ts","../../../projects/lib/graph/graph.ts","../../../projects/lib/graph/graph.html","../../../projects/lib/graph/ngwr-graph.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\nimport type { WrGraphNodeContext } from './interfaces';\n\n/**\n * Replace the default card. The node is the implicit context; its box — the\n * size the layout reserved, its position and the relation text read to a screen\n * reader — stays with the graph, so a template cannot break the geometry.\n *\n * Render `node.label` somewhere in it: the relation text of every neighbour\n * names this node by its label.\n *\n * @example\n * ```html\n * <wr-graph [nodes]=\"nodes\" [edges]=\"edges\">\n * <ng-template wrGraphNode let-node>\n * <strong>{{ node.label }}</strong> {{ node.data.role }}\n * </ng-template>\n * </wr-graph>\n * ```\n */\n@Directive({\n selector: 'ng-template[wrGraphNode]',\n})\nexport class WrGraphNodeTemplate {\n readonly template = inject<TemplateRef<WrGraphNodeContext>>(TemplateRef);\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport type { LayeredGraph } from './rank';\n\n/** Gansner's cap. Counted in sweeps, never in time, so a slow machine draws the same picture. */\nconst MAX_SWEEPS = 24;\nconst MAX_STALE_SWEEPS = 4;\n\ninterface Candidate {\n readonly item: number;\n readonly sum: number;\n readonly count: number;\n readonly slot: number;\n}\n\n/**\n * Depth-first from every item in rank order, placing each item as it is first\n * reached. A tree comes out with no crossings before a single sweep runs, and\n * the sweeps only ever keep a strictly better order, so a tree stays that way.\n */\nfunction initialOrder(graph: LayeredGraph): number[][] {\n const layers: number[][] = Array.from({ length: graph.rankCount }, () => []);\n const byRank: number[][] = Array.from({ length: graph.rankCount }, () => []);\n graph.rank.forEach((rank, item) => byRank[rank].push(item));\n const visited = graph.rank.map(() => false);\n\n for (const bucket of byRank) {\n for (const start of bucket) {\n const stack = [start];\n for (let item = stack.pop(); item !== undefined; item = stack.pop()) {\n if (visited[item]) continue;\n visited[item] = true;\n layers[graph.rank[item]].push(item);\n // Pushed in reverse so the first child is visited first, as a recursive DFS would.\n const below = graph.down[item];\n for (let i = below.length - 1; i >= 0; i--) if (!visited[below[i]]) stack.push(below[i]);\n }\n }\n }\n return layers;\n}\n\n/**\n * Re-sorts one layer by the barycenter of each item's neighbours on the\n * reference layer. Items with no such neighbour are lifted out BEFORE the sort\n * and keep their slot: a comparator asked to rank \"no barycenter\" against a\n * number has no consistent answer, and an inconsistent comparator sorts\n * differently in different engines.\n *\n * Barycenters are compared exactly. They are means of integer slot indices, so\n * `sumA / countA < sumB / countB` becomes `sumA * countB < sumB * countA`, which\n * stays in exact integer arithmetic at any size this component draws. Ties fall\n * back to the current slot, so the comparator is total.\n */\nfunction reorder(layer: number[], neighbours: LayeredGraph['up'], slotOf: number[]): void {\n const candidates: Candidate[] = [];\n layer.forEach((item, slot) => {\n const adjacent = neighbours[item];\n if (adjacent.length === 0) return;\n let sum = 0;\n for (const other of adjacent) sum += slotOf[other];\n candidates.push({ item, sum, count: adjacent.length, slot });\n });\n const slots = candidates.map(candidate => candidate.slot);\n candidates.sort((a, b) => a.sum * b.count - b.sum * a.count || a.slot - b.slot);\n candidates.forEach((candidate, k) => {\n layer[slots[k]] = candidate.item;\n slotOf[candidate.item] = slots[k];\n });\n}\n\n/**\n * Crossings between adjacent layers, counted pairwise. Quadratic in the\n * segments between one pair of layers, which at the few hundred edges this\n * component is meant for is cheaper to trust than an accumulator tree.\n * Two segments sharing an end never count: their product is zero.\n */\nexport function countCrossings(layers: readonly (readonly number[])[], down: readonly (readonly number[])[]): number {\n const slotOf: number[] = down.map(() => 0);\n for (const layer of layers) layer.forEach((item, slot) => (slotOf[item] = slot));\n\n let crossings = 0;\n for (let r = 0; r + 1 < layers.length; r++) {\n const top: number[] = [];\n const bottom: number[] = [];\n for (const item of layers[r]) {\n for (const next of down[item]) {\n top.push(slotOf[item]);\n bottom.push(slotOf[next]);\n }\n }\n for (let i = 0; i < top.length; i++) {\n for (let j = i + 1; j < top.length; j++) {\n if ((top[i] - top[j]) * (bottom[i] - bottom[j]) < 0) crossings++;\n }\n }\n }\n return crossings;\n}\n\n/**\n * Stage 5. Alternating down and up barycenter sweeps, keeping the best order\n * seen. \"Best\" moves only on a strict improvement, so an equally good later\n * order never displaces an earlier one.\n */\nexport function orderLayers(graph: LayeredGraph): number[][] {\n const layers = initialOrder(graph);\n const slotOf: number[] = graph.rank.map(() => 0);\n for (const layer of layers) layer.forEach((item, slot) => (slotOf[item] = slot));\n\n let best = layers.map(layer => layer.slice());\n let fewest = countCrossings(layers, graph.down);\n for (let sweep = 0, stale = 0; sweep < MAX_SWEEPS && stale < MAX_STALE_SWEEPS && fewest > 0; sweep++) {\n if (sweep % 2 === 0) {\n for (let r = 1; r < layers.length; r++) reorder(layers[r], graph.up, slotOf);\n } else {\n for (let r = layers.length - 2; r >= 0; r--) reorder(layers[r], graph.down, slotOf);\n }\n const crossings = countCrossings(layers, graph.down);\n if (crossings < fewest) {\n fewest = crossings;\n best = layers.map(layer => layer.slice());\n stale = 0;\n } else {\n stale++;\n }\n }\n return best;\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport type { LayeredGraph } from './rank';\n\n/** Four down passes and four up passes, alternating, ending on up so parents settle over their children. */\nconst COORDINATE_PASSES = 8;\n\nfunction separation(extents: ItemExtents, a: number, b: number): number {\n return extents.right[a] + extents.halfGap[a] + extents.halfGap[b] + extents.left[b];\n}\n\n/**\n * Moves one layer toward the mean x of each item's neighbours on the reference\n * layer, without reordering it and without letting two items come closer than\n * their separation.\n *\n * Why the result never overlaps: F is built left to right as\n * `F[i] = max(desired[i], F[i-1] + sep[i])`, so `F[i] - F[i-1] >= sep[i]`; B is\n * built right to left as `B[i] = min(desired[i], B[i+1] - sep[i+1])`, so\n * `B[i+1] - B[i] >= sep[i+1]`. Both are feasible on their own, and the average\n * of two feasible placements is feasible, because\n * `(F[i] + B[i]) / 2 - (F[i-1] + B[i-1]) / 2` is half of a sum of two terms that\n * are each at least `sep[i]`. That holds whatever the desired positions are,\n * which is why no pass needs to repair a previous one. Averaging the two is also\n * what keeps a crowded layer centred on what it wants instead of piled to one\n * side.\n */\nfunction align(layer: readonly number[], neighbours: LayeredGraph['up'], x: number[], extents: ItemExtents): void {\n const desired = layer.map(item => {\n const adjacent = neighbours[item];\n if (adjacent.length === 0) return x[item];\n let sum = 0;\n for (const other of adjacent) sum += x[other];\n return sum / adjacent.length;\n });\n const forward = desired.slice();\n for (let i = 1; i < layer.length; i++) {\n forward[i] = Math.max(desired[i], forward[i - 1] + separation(extents, layer[i - 1], layer[i]));\n }\n const backward = desired.slice();\n for (let i = layer.length - 2; i >= 0; i--) {\n backward[i] = Math.min(desired[i], backward[i + 1] - separation(extents, layer[i], layer[i + 1]));\n }\n layer.forEach((item, i) => (x[item] = (forward[i] + backward[i]) / 2));\n}\n\n/**\n * Per item, the room it needs around its anchor x. The two sides differ for a\n * node with a self-loop, whose right side also holds the loop.\n */\nexport interface ItemExtents {\n readonly left: readonly number[];\n readonly right: readonly number[];\n /** Half the gap the item keeps to a neighbour: half of `nodeGap` for a node, half of `edgeGap` for a dummy. */\n readonly halfGap: readonly number[];\n /** What the item contributes to its layer's height — zero for a dummy. */\n readonly height: readonly number[];\n}\n\n/** Stage 6, horizontal: the anchor x of every item, starting packed and relaxing toward neighbours. */\nexport function placeItems(\n layers: readonly (readonly number[])[],\n graph: LayeredGraph,\n extents: ItemExtents\n): number[] {\n const x: number[] = graph.rank.map(() => 0);\n for (const layer of layers) {\n layer.forEach((item, i) => {\n x[item] = i === 0 ? extents.left[item] : x[layer[i - 1]] + separation(extents, layer[i - 1], item);\n });\n }\n for (let pass = 0; pass < COORDINATE_PASSES; pass++) {\n if (pass % 2 === 0) {\n for (let r = 1; r < layers.length; r++) align(layers[r], graph.up, x, extents);\n } else {\n for (let r = layers.length - 2; r >= 0; r--) align(layers[r], graph.down, x, extents);\n }\n }\n return x;\n}\n\n/**\n * Stage 6, vertical: a layer is as tall as its tallest node, layers are\n * `layerGap` apart, and every item is centred in its layer — so a short node\n * beside a tall one still lines up with it. The layer's band is\n * `centre ± half`, written the way a node's border is (`centre ± height / 2`),\n * so the tallest node's border and the band's edge are the same number.\n */\nexport function layerCentres(\n layers: readonly (readonly number[])[],\n extents: ItemExtents,\n layerGap: number\n): { readonly centre: readonly number[]; readonly half: readonly number[]; readonly height: number } {\n const centre: number[] = [];\n const half: number[] = [];\n let top = 0;\n layers.forEach((layer, r) => {\n let tallest = 0;\n for (const item of layer) tallest = Math.max(tallest, extents.height[item]);\n if (r > 0) top += layerGap;\n half.push(tallest / 2);\n centre.push(top + tallest / 2);\n top += tallest;\n });\n return { centre, half, height: top };\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport type { WrGraphLayoutEdge, WrGraphLayoutInput, WrGraphLayoutNode } from './types';\n\n/** An edge inside one component, its ends as LOCAL node indices. `slot` is its place in the result. */\nexport interface ComponentEdge {\n readonly slot: number;\n readonly from: number;\n readonly to: number;\n}\n\n/** One weakly connected component. A node's position in `nodes` is its local index. */\nexport interface GraphComponent {\n /** Indices into `PreparedGraph.nodes`, ascending — so local order is still input order. */\n readonly nodes: readonly number[];\n /** Edges between two different nodes, in input order. Parallel edges are kept. */\n readonly edges: readonly ComponentEdge[];\n /** Self-loops, in input order. They take no part in ranking or ordering. */\n readonly loops: readonly ComponentEdge[];\n}\n\nexport interface PreparedGraph {\n /** Unique nodes in input order. */\n readonly nodes: readonly WrGraphLayoutNode[];\n /** Kept edges in input order; an edge's index here is its `slot`. */\n readonly edges: readonly WrGraphLayoutEdge[];\n /** Ordered by each component's smallest node index. */\n readonly components: readonly GraphComponent[];\n}\n\n/**\n * Stage 1. Ids become integer indices in input order and everything after this\n * works on arrays: a plain object keyed by id would enumerate `'2'` before\n * `'10'` whatever order the consumer gave, which is exactly the trap that makes\n * one graph draw two ways.\n *\n * A duplicate id keeps its first occurrence and an edge naming a missing node is\n * dropped. Both are the component's to warn about; the layout only has to\n * survive them.\n */\nexport function prepareGraph(input: WrGraphLayoutInput): PreparedGraph {\n const index = new Map<string, number>();\n const nodes: WrGraphLayoutNode[] = [];\n for (const node of input.nodes) {\n if (index.has(node.id)) continue;\n index.set(node.id, nodes.length);\n nodes.push(node);\n }\n\n const edges: WrGraphLayoutEdge[] = [];\n const ends: (readonly [number, number])[] = [];\n for (const edge of input.edges) {\n const from = index.get(edge.from);\n const to = index.get(edge.to);\n if (from === undefined || to === undefined) continue;\n edges.push(edge);\n ends.push([from, to]);\n }\n\n // Weakly connected components by BFS, started from each unassigned node in\n // input order — so component numbers already follow the smallest index.\n const neighbours: number[][] = nodes.map(() => []);\n for (const [from, to] of ends) {\n neighbours[from].push(to);\n neighbours[to].push(from);\n }\n const componentOf: number[] = nodes.map(() => -1);\n const components: { nodes: number[]; edges: ComponentEdge[]; loops: ComponentEdge[] }[] = [];\n for (let start = 0; start < nodes.length; start++) {\n if (componentOf[start] !== -1) continue;\n componentOf[start] = components.length;\n const queue = [start];\n // `for...of` over an array that grows while it is read visits the appended nodes too.\n for (const current of queue) {\n for (const next of neighbours[current]) {\n if (componentOf[next] !== -1) continue;\n componentOf[next] = components.length;\n queue.push(next);\n }\n }\n components.push({ nodes: [], edges: [], loops: [] });\n }\n\n const local: number[] = [];\n nodes.forEach((_, node) => {\n const component = components[componentOf[node]];\n local.push(component.nodes.length);\n component.nodes.push(node);\n });\n ends.forEach(([from, to], slot) => {\n const component = components[componentOf[from]];\n const edge = { slot, from: local[from], to: local[to] };\n (from === to ? component.loops : component.edges).push(edge);\n });\n\n return { nodes, edges, components };\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport type { ComponentEdge } from './prepare';\n\ninterface Frame {\n readonly node: number;\n next: number;\n}\n\n/**\n * Stage 2. Depth-first search from the sources in input order, then from\n * whatever is left; an edge into the current stack closes a cycle and is\n * reversed. A back edge points at an ancestor on the current path, so both of\n * its ends are in one strongly connected component by construction — no SCC\n * pass is needed here. The stack is explicit because a long chain would\n * otherwise recurse once per node.\n */\nfunction findBackEdges(count: number, edges: readonly ComponentEdge[]): boolean[] {\n const out: number[][] = Array.from({ length: count }, () => []);\n const indegree: number[] = new Array<number>(count).fill(0);\n edges.forEach((edge, k) => {\n out[edge.from].push(k);\n indegree[edge.to]++;\n });\n\n const reversed = edges.map(() => false);\n const visited: boolean[] = new Array<boolean>(count).fill(false);\n const onStack: boolean[] = new Array<boolean>(count).fill(false);\n const nodes = Array.from({ length: count }, (_, node) => node);\n const starts = [...nodes.filter(node => indegree[node] === 0), ...nodes.filter(node => indegree[node] !== 0)];\n\n for (const start of starts) {\n if (visited[start]) continue;\n visited[start] = onStack[start] = true;\n const stack: Frame[] = [{ node: start, next: 0 }];\n while (stack.length > 0) {\n const frame = stack[stack.length - 1];\n if (frame.next === out[frame.node].length) {\n onStack[frame.node] = false;\n stack.pop();\n continue;\n }\n const k = out[frame.node][frame.next++];\n const to = edges[k].to;\n if (onStack[to]) {\n reversed[k] = true;\n } else if (!visited[to]) {\n visited[to] = onStack[to] = true;\n stack.push({ node: to, next: 0 });\n }\n }\n }\n return reversed;\n}\n\n/**\n * Stage 3. Longest path from the sources: a node sits one rank below its\n * deepest parent, so an org chart keeps a leaf directly under its manager\n * rather than sinking every leaf to the bottom rank the way a sink-based\n * longest path does. Network simplex would be more compact and is several\n * times the code; this is the simplest ranking that reads well.\n *\n * The one tightening pass fixes the cost this ranking is known for: a root\n * whose only child is deep would otherwise sit on rank 0 and draw a long edge\n * through every rank in between. Only a node with no incoming edge moves, and it\n * moves to just above its highest child — so no other node's rank changes and\n * every rank stays occupied.\n */\nfunction assignRanks(count: number, from: readonly number[], to: readonly number[]): number[] {\n const out: number[][] = Array.from({ length: count }, () => []);\n const indegree: number[] = new Array<number>(count).fill(0);\n from.forEach((node, k) => {\n out[node].push(to[k]);\n indegree[to[k]]++;\n });\n\n // Kahn's algorithm with a FIFO queue seeded in input order.\n const rank: number[] = new Array<number>(count).fill(0);\n const remaining = indegree.slice();\n const order: number[] = [];\n for (let node = 0; node < count; node++) if (indegree[node] === 0) order.push(node);\n // `for...of` over an array that grows while it is read visits the appended nodes too.\n for (const node of order) {\n for (const child of out[node]) {\n rank[child] = Math.max(rank[child], rank[node] + 1);\n if (--remaining[child] === 0) order.push(child);\n }\n }\n\n for (let i = order.length - 1; i >= 0; i--) {\n const node = order[i];\n if (indegree[node] !== 0 || out[node].length === 0) continue;\n let highest = rank[out[node][0]];\n for (const child of out[node]) highest = Math.min(highest, rank[child]);\n if (highest - 1 > rank[node]) rank[node] = highest - 1;\n }\n\n let lowest = rank[0];\n for (const value of rank) lowest = Math.min(lowest, value);\n return rank.map(value => value - lowest);\n}\n\n/** An edge after cycle removal and dummy insertion. */\nexport interface LayeredEdge {\n readonly slot: number;\n /** Whether the edge runs child-to-parent in the layout. Its route is reversed at the end. */\n readonly reversed: boolean;\n /** Items from the upper end to the lower end, one per rank: real node, dummies, real node. */\n readonly chain: readonly number[];\n}\n\n/**\n * A proper layered graph: every edge segment spans exactly one rank. Items\n * `0..n-1` are the real nodes in local input order, dummies are appended after\n * them — integer indices rather than generated names, so nothing depends on a\n * counter that outlives the call.\n */\nexport interface LayeredGraph {\n readonly rank: readonly number[];\n readonly rankCount: number;\n /** Per item, its neighbours one rank up, in edge order (a parallel edge appears twice). */\n readonly up: readonly (readonly number[])[];\n /** Per item, its neighbours one rank down, in edge order. */\n readonly down: readonly (readonly number[])[];\n readonly edges: readonly LayeredEdge[];\n}\n\n/**\n * Stages 2–4 for one connected component: break cycles, rank, and give every\n * edge that spans k ranks its own chain of k − 1 zero-size dummies, so parallel\n * long edges stay apart instead of sharing one.\n */\nexport function layerGraph(count: number, edges: readonly ComponentEdge[]): LayeredGraph {\n const reversed = findBackEdges(count, edges);\n const upper = edges.map((edge, k) => (reversed[k] ? edge.to : edge.from));\n const lower = edges.map((edge, k) => (reversed[k] ? edge.from : edge.to));\n const rank = assignRanks(count, upper, lower);\n\n const up: number[][] = Array.from({ length: count }, () => []);\n const down: number[][] = Array.from({ length: count }, () => []);\n const layered = edges.map((edge, k): LayeredEdge => {\n const chain = [upper[k]];\n for (let r = rank[upper[k]] + 1; r < rank[lower[k]]; r++) {\n chain.push(rank.length);\n rank.push(r);\n up.push([]);\n down.push([]);\n }\n chain.push(lower[k]);\n for (let i = 1; i < chain.length; i++) {\n down[chain[i - 1]].push(chain[i]);\n up[chain[i]].push(chain[i - 1]);\n }\n return { slot: edge.slot, reversed: reversed[k], chain };\n });\n\n let rankCount = 0;\n for (const value of rank) rankCount = Math.max(rankCount, value + 1);\n return { rank, rankCount, up, down, edges: layered };\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport type { ComponentEdge } from './prepare';\nimport type { LayeredGraph } from './rank';\nimport type { WrGraphPoint } from './types';\n\n/** Room between a node's right border and the ends of its self-loops, where the arrowhead lands. */\nconst LOOP_CLEARANCE = 4;\n\ninterface Port {\n readonly edge: number;\n /** The item at the other end of the first or last segment — a dummy or a node. */\n readonly toward: number;\n}\n\n/**\n * Spreads k ports along one side of each node, ordered by where each edge\n * heads next so that ports on one side never cross each other; ties go to the\n * earlier edge. Without the spread, parallel edges between adjacent layers\n * would draw as one line. The inset shrinks to a quarter of the width on a\n * narrow node, so any node wider than zero keeps half its side for the spread\n * instead of stacking every port on its centre.\n */\nfunction assignPorts(\n sides: readonly (readonly Port[])[],\n geometry: RouteGeometry,\n portGap: number,\n inset: number,\n into: number[]\n): void {\n sides.forEach((ports, node) => {\n const sorted = ports.slice().sort((a, b) => {\n const ax = geometry.x[a.toward];\n const bx = geometry.x[b.toward];\n return ax < bx ? -1 : ax > bx ? 1 : a.edge - b.edge;\n });\n const room = geometry.width[node] - 2 * Math.min(inset, geometry.width[node] / 4);\n const spread = Math.max(0, Math.min(room, (sorted.length - 1) * portGap));\n const step = sorted.length > 1 ? spread / (sorted.length - 1) : 0;\n sorted.forEach((port, j) => (into[port.edge] = geometry.x[node] - spread / 2 + j * step));\n });\n}\n\n/** Everything routing reads: anchors per item, centres and band half-heights per rank, real sizes per node. */\nexport interface RouteGeometry {\n readonly x: readonly number[];\n readonly centreY: readonly number[];\n /** Half of each rank's tallest node: the rank's band spans `centreY ± halfBand`. */\n readonly halfBand: readonly number[];\n readonly width: readonly number[];\n readonly height: readonly number[];\n}\n\n/** How far right a node's layout box grows to hold its self-loops. */\nexport function loopReserve(loops: number, step: number): number {\n return loops === 0 ? 0 : LOOP_CLEARANCE + loops * step;\n}\n\n/**\n * Stage 8. Out of the bottom side, through each dummy, into the top side — as\n * vertical stretches inside the layer bands joined by exactly one stretch per\n * inter-layer gap: straight down from the port to the bottom of its node's band,\n * straight through every intermediate band at the dummy's x (a point on the\n * band's top and one on its bottom), and straight down from the top of the\n * child's band to its port.\n *\n * Why bands and not a bend at each dummy's centre: the component draws a\n * stretch as a cubic whose control points sit at the stretch's middle height,\n * so a stretch that ended inside a band swept sideways at card height and cut\n * straight through whatever unrelated card stood between its ends. Now every\n * stretch that moves sideways starts and ends on the two boundaries of one gap,\n * so its y never leaves the gap, where no node lives; and every vertical one\n * keeps the x of a port (inside its own node's width) or of a dummy (half an\n * edge gap plus half a node gap clear of any neighbour).\n *\n * A reversed edge is routed the way the layout sees it and then turned around,\n * so its points still start at the real parent: it leaves the parent's top and\n * enters the child's bottom, which is itself the visual cue that the edge\n * closes a cycle.\n */\nexport function routeEdges(\n graph: LayeredGraph,\n geometry: RouteGeometry,\n portGap: number,\n inset: number\n): WrGraphPoint[][] {\n const outgoing: Port[][] = geometry.width.map(() => []);\n const incoming: Port[][] = geometry.width.map(() => []);\n graph.edges.forEach(({ chain }, edge) => {\n outgoing[chain[0]].push({ edge, toward: chain[1] });\n incoming[chain[chain.length - 1]].push({ edge, toward: chain[chain.length - 2] });\n });\n const start = graph.edges.map(() => 0);\n const end = graph.edges.map(() => 0);\n assignPorts(outgoing, geometry, portGap, inset, start);\n assignPorts(incoming, geometry, portGap, inset, end);\n\n const centre = (item: number): number => geometry.centreY[graph.rank[item]];\n const half = (item: number): number => geometry.halfBand[graph.rank[item]];\n return graph.edges.map(({ chain, reversed }, edge) => {\n const upper = chain[0];\n const lower = chain[chain.length - 1];\n const points: WrGraphPoint[] = [];\n // A node as tall as its band, or a band with no height, would repeat a point.\n const add = (x: number, y: number): void => {\n const last = points[points.length - 1];\n if (last?.x !== x || last.y !== y) points.push({ x, y });\n };\n add(start[edge], centre(upper) + geometry.height[upper] / 2);\n add(start[edge], centre(upper) + half(upper));\n for (let i = 1; i < chain.length - 1; i++) {\n add(geometry.x[chain[i]], centre(chain[i]) - half(chain[i]));\n add(geometry.x[chain[i]], centre(chain[i]) + half(chain[i]));\n }\n add(end[edge], centre(lower) - half(lower));\n add(end[edge], centre(lower) - geometry.height[lower] / 2);\n return reversed ? points.reverse() : points;\n });\n}\n\n/**\n * Self-loops as fixed rectangles beside the node's right side, nested outward\n * one `step` apart, each a little taller than the one inside it. Every point is\n * strictly outside the node, and the space is already reserved in the node's\n * layout box, so a loop can never run into a neighbour. The side is a layout\n * side: under RTL the whole drawing mirrors, loop included.\n */\nexport function routeLoops(\n loops: readonly ComponentEdge[],\n geometry: RouteGeometry,\n rank: readonly number[],\n step: number\n): WrGraphPoint[][] {\n const total = geometry.width.map(() => 0);\n for (const loop of loops) total[loop.from]++;\n const drawn = geometry.width.map(() => 0);\n\n return loops.map(({ from }) => {\n const nth = drawn[from]++;\n const inner = geometry.x[from] + geometry.width[from] / 2 + LOOP_CLEARANCE;\n const outer = inner + (nth + 1) * step;\n const centre = geometry.centreY[rank[from]];\n const reach = ((geometry.height[from] / 2) * (nth + 1)) / (total[from] + 1);\n return [\n { x: inner, y: centre - reach },\n { x: outer, y: centre - reach },\n { x: outer, y: centre + reach },\n { x: inner, y: centre + reach },\n ];\n });\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\n/** A point in graph space: origin top-left, y grows downward. */\nexport interface WrGraphPoint {\n readonly x: number;\n readonly y: number;\n}\n\n/**\n * What a layout reads about a node: resolved, plain and serialisable. The\n * consumer's `data` never reaches a layout, and neither does the DOM — sizes\n * arrive as finite numbers the component already resolved.\n */\nexport interface WrGraphLayoutNode {\n readonly id: string;\n readonly width: number;\n readonly height: number;\n}\n\n/** A layout edge. `from` is the parent, `to` the child; `id` is unique per edge. */\nexport interface WrGraphLayoutEdge {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n}\n\n/**\n * The whole graph a layout works on. Input order IS the tie-break order, so the\n * same arrays always produce the same picture. Parallel edges and self-loops\n * are legal here; an edge naming a missing node is dropped silently, because\n * the component has already warned about it.\n */\nexport interface WrGraphLayoutInput {\n readonly nodes: readonly WrGraphLayoutNode[];\n readonly edges: readonly WrGraphLayoutEdge[];\n}\n\n/**\n * Per-call context. An object from day one so later fields are additive. The\n * signal aborts when the input changes before an asynchronous layout settles —\n * an engine that cannot stop its work can still discard the result.\n */\nexport interface WrGraphLayoutContext {\n readonly signal: AbortSignal;\n}\n\n/** Where a node goes: its TOP-LEFT corner in graph space, which maps straight onto a CSS translate. */\nexport interface WrGraphNodePlacement {\n readonly id: string;\n readonly x: number;\n readonly y: number;\n}\n\n/** The polyline of one edge, from the `from` end to the `to` end — at least two points. */\nexport interface WrGraphEdgeRoute {\n readonly id: string;\n readonly points: readonly WrGraphPoint[];\n}\n\n/**\n * A finished layout. The bounding box starts at (0, 0) and measures\n * `width` × `height`. Direction-free: RTL is applied after the layout, so these\n * numbers never depend on `dir`.\n */\nexport interface WrGraphLayoutResult {\n readonly nodes: readonly WrGraphNodePlacement[];\n readonly edges: readonly WrGraphEdgeRoute[];\n readonly width: number;\n readonly height: number;\n}\n\n/**\n * The seam a layout engine plugs into. Used as both the type and the DI token,\n * the way `WrDateAdapter` is.\n *\n * The return type admits a Promise from the first release, even though the\n * built-in engine is synchronous: an asynchronous engine (elk runs in a worker)\n * has to fit without a breaking change, and widening a synchronous return type\n * later would break every caller that reads the result directly.\n */\nexport abstract class WrGraphLayout {\n abstract layout(\n input: WrGraphLayoutInput,\n context: WrGraphLayoutContext\n ): WrGraphLayoutResult | Promise<WrGraphLayoutResult>;\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { orderLayers } from './order';\nimport { layerCentres, placeItems } from './position';\nimport type { ItemExtents } from './position';\nimport { prepareGraph } from './prepare';\nimport type { GraphComponent, PreparedGraph } from './prepare';\nimport { layerGraph } from './rank';\nimport { loopReserve, routeEdges, routeLoops } from './route';\nimport { WrGraphLayout } from './types';\nimport type { WrGraphLayoutInput, WrGraphLayoutResult, WrGraphPoint } from './types';\n\ninterface Gaps {\n readonly nodeGap: number;\n readonly layerGap: number;\n readonly edgeGap: number;\n readonly componentGap: number;\n}\n\n/** One component in its own coordinates: top-left per local node, routes by result slot. */\ninterface ComponentDrawing {\n readonly left: readonly number[];\n readonly top: readonly number[];\n readonly routes: readonly { readonly slot: number; readonly points: readonly WrGraphPoint[] }[];\n readonly minX: number;\n readonly width: number;\n readonly height: number;\n}\n\nfunction drawComponent(graph: PreparedGraph, component: GraphComponent, gaps: Gaps): ComponentDrawing {\n const width = component.nodes.map(node => graph.nodes[node].width);\n const height = component.nodes.map(node => graph.nodes[node].height);\n const loops = width.map(() => 0);\n for (const loop of component.loops) loops[loop.from]++;\n\n const layered = layerGraph(width.length, component.edges);\n const layers = orderLayers(layered);\n const real = (item: number): boolean => item < width.length;\n const extents: ItemExtents = {\n left: layered.rank.map((_, item) => (real(item) ? width[item] / 2 : 0)),\n right: layered.rank.map((_, item) => (real(item) ? width[item] / 2 + loopReserve(loops[item], gaps.edgeGap) : 0)),\n halfGap: layered.rank.map((_, item) => (real(item) ? gaps.nodeGap : gaps.edgeGap) / 2),\n height: layered.rank.map((_, item) => (real(item) ? height[item] : 0)),\n };\n\n const x = placeItems(layers, layered, extents);\n const { centre, half, height: total } = layerCentres(layers, extents, gaps.layerGap);\n const geometry = { x, centreY: centre, halfBand: half, width, height };\n const edges = routeEdges(layered, geometry, gaps.edgeGap, gaps.edgeGap / 2);\n const selfLoops = routeLoops(component.loops, geometry, layered.rank, gaps.edgeGap);\n\n // Every route point lies horizontally within some item's box — ports and the\n // band points straight above or below them inside a node's width, bends on\n // dummies, loops inside the reserve — so the items alone bound it.\n let minX = x[0] - extents.left[0];\n let maxX = x[0] + extents.right[0];\n x.forEach((anchor, item) => {\n minX = Math.min(minX, anchor - extents.left[item]);\n maxX = Math.max(maxX, anchor + extents.right[item]);\n });\n\n return {\n left: width.map((w, node) => x[node] - extents.left[node]),\n top: height.map((h, node) => centre[layered.rank[node]] - h / 2),\n routes: [\n ...layered.edges.map((edge, k) => ({ slot: edge.slot, points: edges[k] })),\n ...component.loops.map((loop, k) => ({ slot: loop.slot, points: selfLoops[k] })),\n ],\n minX,\n width: maxX - minX,\n height: total,\n };\n}\n\n/** Options for {@link WrLayeredGraphLayout}. Spacing lives here, not on the component: the names are engine-specific. */\nexport interface WrLayeredGraphLayoutOptions {\n /** Horizontal gap between two nodes in one layer. Default `24`. */\n readonly nodeGap?: number;\n /** Vertical gap between two layers. Default `48`. */\n readonly layerGap?: number;\n /** Gap between an edge's bend and its neighbours, and between ports on one side. Default `12`. */\n readonly edgeGap?: number;\n /** Horizontal gap between two unconnected parts of the graph. Default `48`. */\n readonly componentGap?: number;\n}\n\n/**\n * The built-in layered layout: parents above children, pure TypeScript, no DOM\n * and no dependency, so it runs the same under prerender as in the browser.\n *\n * It is deliberately the light version of the pipeline: DFS cycle breaking,\n * source-based longest-path ranking with one tightening pass, barycenter sweeps\n * with a pairwise crossing count, and averaged forward/backward compaction for\n * coordinates. Network simplex and Brandes–Köpf would draw some graphs more\n * compactly at several times the code.\n *\n * Deterministic by construction rather than by luck: ids are turned into indices\n * in input order before anything else, every loop is capped by a count, every\n * comparator is total with an integer tie-break, and the arithmetic is limited\n * to operations the language specifies exactly — so the server and the browser\n * agree to the last bit. Nothing is kept between calls and the input is never\n * written to.\n */\nexport class WrLayeredGraphLayout extends WrGraphLayout {\n private readonly gaps: Gaps;\n\n constructor(options: WrLayeredGraphLayoutOptions = {}) {\n super();\n this.gaps = {\n nodeGap: options.nodeGap ?? 24,\n layerGap: options.layerGap ?? 48,\n edgeGap: options.edgeGap ?? 12,\n componentGap: options.componentGap ?? 48,\n };\n }\n\n /** Synchronous — a narrowing of the base signature, so a caller holding this class needs no `await`. */\n override layout(input: WrGraphLayoutInput): WrGraphLayoutResult {\n const graph = prepareGraph(input);\n const placed: WrGraphPoint[] = graph.nodes.map(() => ({ x: 0, y: 0 }));\n const routes: (readonly WrGraphPoint[])[] = graph.edges.map(() => []);\n let width = 0;\n let height = 0;\n\n // Components go in one row, top-aligned, in the order of their first node.\n // `+ 0` turns a negative zero into a positive one: the two compare equal with\n // `===` and unequal everywhere a result is compared structurally.\n graph.components.forEach((component, c) => {\n const drawing = drawComponent(graph, component, this.gaps);\n const offset = c === 0 ? 0 : width + this.gaps.componentGap;\n const shift = offset - drawing.minX;\n component.nodes.forEach((node, local) => {\n placed[node] = { x: drawing.left[local] + shift + 0, y: drawing.top[local] + 0 };\n });\n for (const { slot, points } of drawing.routes) {\n routes[slot] = points.map(point => ({ x: point.x + shift + 0, y: point.y + 0 }));\n }\n width = offset + drawing.width;\n height = Math.max(height, drawing.height);\n });\n\n return {\n nodes: graph.nodes.map((node, i) => ({ id: node.id, x: placed[i].x, y: placed[i].y })),\n edges: graph.edges.map((edge, slot) => ({ id: edge.id, points: routes[slot] })),\n width: width + 0,\n height: height + 0,\n };\n }\n}\n","/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n LOCALE_ID,\n ViewEncapsulation,\n computed,\n contentChild,\n effect,\n inject,\n input,\n isDevMode,\n} from '@angular/core';\n\nimport { WrI18n, useI18nFormatter, useI18nText } from 'ngwr/i18n';\nimport { numAttr } from 'ngwr/utils';\n\nimport { WrGraphNodeTemplate } from './graph-node-template';\nimport type { WrGraphEdge, WrGraphNode } from './interfaces';\nimport { WrLayeredGraphLayout } from './internal/layout/layered-layout';\nimport { WrGraphLayout } from './internal/layout/types';\nimport type { WrGraphLayoutInput, WrGraphLayoutResult, WrGraphPoint } from './internal/layout/types';\n\n/** What a size falls back to when neither the node nor the graph supplies a usable one. */\nconst DEFAULT_NODE_WIDTH = 160;\nconst DEFAULT_NODE_HEIGHT = 48;\n\n/**\n * The arrowhead's size in pixels, and the length of the straight lead-in under it.\n * A fixed user-space size rather than a multiple of the stroke, so a thinner or\n * thicker `--wr-graph-edge-width` never shrinks the arrow off its lead-in.\n */\nconst ARROW_SIZE = 6;\n\n/**\n * Instance counter for the arrowhead marker id. Several graphs share one page\n * under `ViewEncapsulation.None`, so the id has to be per instance — and\n * counted rather than `randomId()`, so the prerendered id is the one the\n * browser renders again.\n */\nlet graphUid = 0;\n\n/** A node the component keeps: the consumer's object, where it came in, and its resolved size. */\ninterface PreparedNode<TData> {\n readonly node: WrGraphNode<TData>;\n readonly index: number;\n readonly width: number;\n readonly height: number;\n}\n\n/** A kept edge. `id` is `e${inputIndex}`, so it never shifts when an earlier edge is dropped. */\ninterface PreparedEdge {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n}\n\n/** The inputs, cleaned: everything the layout reads, plus what dev mode reports. */\ninterface PreparedGraph<TData> {\n readonly nodes: readonly PreparedNode<TData>[];\n readonly edges: readonly PreparedEdge[];\n readonly input: WrGraphLayoutInput;\n readonly duplicates: readonly string[];\n readonly dangling: readonly string[];\n readonly badSizes: readonly string[];\n}\n\n/** A placed node in layout coordinates, before any mirroring. */\ninterface PlacedNode<TData> extends PreparedNode<TData> {\n readonly x: number;\n readonly y: number;\n}\n\n/** The finished layout joined back to the consumer's data, nodes in READING order. */\ninterface PlacedGraph<TData> {\n readonly width: number;\n readonly height: number;\n readonly nodes: readonly PlacedNode<TData>[];\n readonly edges: readonly { readonly edge: PreparedEdge; readonly points: readonly WrGraphPoint[] }[];\n}\n\ninterface DrawnNode<TData> {\n readonly node: WrGraphNode<TData>;\n readonly width: number;\n readonly height: number;\n readonly transform: string;\n}\n\ninterface DrawnEdge {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n readonly d: string;\n}\n\n/** What the template binds: physical pixels, already mirrored for RTL. */\ninterface GraphView<TData> {\n readonly width: number;\n readonly height: number;\n readonly nodes: readonly DrawnNode<TData>[];\n readonly edges: readonly DrawnEdge[];\n}\n\nfunction isSize(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0;\n}\n\nfunction isThenable(value: unknown): value is PromiseLike<unknown> {\n return typeof (value as { then?: unknown }).then === 'function';\n}\n\n/** Two decimals are below anything a screen can show, and keep a 5 000-bend path short. `+ 0` drops a `-0`. */\nfunction px(value: number): number {\n return Math.round(value * 100) / 100 + 0;\n}\n\nfunction prepare<TData>(\n nodes: readonly WrGraphNode<TData>[],\n edges: readonly WrGraphEdge[],\n nodeWidth: number,\n nodeHeight: number\n): PreparedGraph<TData> {\n // A `Map` built in input order, never an object keyed by id: an object lists\n // index-like keys (`'2'`, `'10'`) first, so the order would depend on the ids.\n const kept = new Map<string, PreparedNode<TData>>();\n const duplicates: string[] = [];\n const badSizes: string[] = [];\n nodes.forEach((node, index) => {\n if (kept.has(node.id)) {\n duplicates.push(node.id);\n return;\n }\n if ((node.width != null && !isSize(node.width)) || (node.height != null && !isSize(node.height))) {\n badSizes.push(node.id);\n }\n kept.set(node.id, {\n node,\n index,\n width: isSize(node.width) ? node.width : nodeWidth,\n height: isSize(node.height) ? node.height : nodeHeight,\n });\n });\n\n const keptEdges: PreparedEdge[] = [];\n const dangling: string[] = [];\n edges.forEach((edge, index) => {\n if (kept.has(edge.from) && kept.has(edge.to)) keptEdges.push({ id: `e${index}`, from: edge.from, to: edge.to });\n else dangling.push(`#${index} (from \"${edge.from}\" to \"${edge.to}\")`);\n });\n\n const list = [...kept.values()];\n return {\n nodes: list,\n edges: keptEdges,\n input: { nodes: list.map(({ node, width, height }) => ({ id: node.id, width, height })), edges: keptEdges },\n duplicates,\n dangling,\n badSizes,\n };\n}\n\n/**\n * Names joined the way the locale joins a list, or the way `'en'` does when the\n * runtime has no list data for that locale — never the host default.\n *\n * `new Intl.ListFormat('zz')` does not throw: a well-formed tag the runtime\n * cannot serve silently resolves to whatever locale the machine runs in, which\n * is one thing on the prerendering server and another in the browser. So the\n * support is asked first, and only a malformed tag reaches the `catch`\n * (`supportedLocalesOf` throws a `RangeError` for it).\n */\nfunction listFormat(locale: string): Intl.ListFormat {\n try {\n if (Intl.ListFormat.supportedLocalesOf(locale).length) return new Intl.ListFormat(locale, { type: 'conjunction' });\n } catch {\n // Not a valid language tag at all; handled by the fallback below.\n }\n return new Intl.ListFormat('en', { type: 'conjunction' });\n}\n\nfunction warn(message: string): void {\n // eslint-disable-next-line no-console -- dev-mode validation\n console.warn(`[NGWR] <wr-graph>: ${message}`);\n}\n\n/** What a layout returned that the component cannot draw faithfully. */\nfunction layoutProblems(graph: PreparedGraph<unknown>, result: WrGraphLayoutResult): string[] {\n const problems: string[] = [];\n const placed = new Set(result.nodes.map(node => node.id));\n const unplaced = graph.nodes.filter(({ node }) => !placed.has(node.id)).map(({ node }) => `\"${node.id}\"`);\n if (unplaced.length) problems.push(`no position for ${unplaced.join(', ')}`);\n\n const numbers = [\n result.width,\n result.height,\n ...result.nodes.flatMap(node => [node.x, node.y]),\n ...result.edges.flatMap(edge => edge.points.flatMap(point => [point.x, point.y])),\n ];\n if (!numbers.every(Number.isFinite)) problems.push('a coordinate or the size is not a finite number');\n return problems;\n}\n\n/**\n * A graph of blocks joined by parent-child links, laid out in layers from top to\n * bottom. Display only: nothing is selectable, and the graph scrolls inside its\n * own viewport rather than the page.\n *\n * The layout runs in a `computed` with no DOM and no measuring, so the sizes are\n * the consumer's: `nodeWidth` / `nodeHeight` for every node, or `width` /\n * `height` on one. A prerender therefore ships the finished picture.\n *\n * What the lines show is also written out: every node carries visually hidden\n * text naming its parents and children, and the lines themselves are hidden\n * from assistive technology.\n *\n * @example\n * ```html\n * <wr-graph [nodes]=\"nodes\" [edges]=\"edges\" ariaLabel=\"Team structure\" />\n * ```\n *\n * @see https://ngwr.dev/reference/components/graph\n */\n@Component({\n selector: 'wr-graph',\n templateUrl: './graph.html',\n imports: [NgTemplateOutlet],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'wr-graph',\n },\n})\nexport class WrGraph<TData = unknown> {\n /**\n * The nodes, in any order. Input order breaks layout ties, so the same arrays\n * always produce the same picture. Never mutated.\n *\n * @default []\n */\n readonly nodes = input<readonly WrGraphNode<TData>[]>([]);\n\n /**\n * Parent-child links, `from` the parent and `to` the child. Never mutated.\n *\n * @default []\n */\n readonly edges = input<readonly WrGraphEdge[]>([]);\n\n /**\n * Width in pixels of a node that sets none of its own.\n *\n * @default 160\n */\n readonly nodeWidth = input(160, { transform: numAttr(160) });\n\n /**\n * Height in pixels of a node that sets none of its own.\n *\n * @default 48\n */\n readonly nodeHeight = input(48, { transform: numAttr(48) });\n\n /** Accessible name of the scrolling viewport. Falls back to `graph.label`, then `'Graph'`. */\n readonly ariaLabel = input<string | null>(null);\n\n protected readonly label = useI18nText(this.ariaLabel, 'graph.label', 'Graph');\n // Each value is a whole sentence, terminator included, so the punctuation is the\n // catalog's to choose — `。` in Japanese, `।` in Hindi.\n private readonly parentsText = useI18nFormatter('graph.parents', 'Parents: {{names}}.');\n private readonly childrenText = useI18nFormatter('graph.children', 'Children: {{names}}.');\n\n protected readonly nodeTemplate = contentChild(WrGraphNodeTemplate);\n\n /** `url(#…)` for every edge's `marker-end`. */\n protected readonly markerId = `wr-graph-${graphUid++}-arrow`;\n protected readonly markerUrl = `url(#${this.markerId})`;\n protected readonly arrowSize = ARROW_SIZE;\n\n private readonly engine: WrGraphLayout = inject(WrGraphLayout, { optional: true }) ?? new WrLayeredGraphLayout();\n // Optional on purpose: `Directionality` is root-provided, so a consumer never has\n // to supply it — and a bare `TestBed` does not either.\n private readonly dir = inject(Directionality, { optional: true });\n private readonly i18n = inject(WrI18n, { optional: true });\n private readonly localeId = inject(LOCALE_ID);\n\n private readonly isRtl = computed(() => this.dir?.valueSignal() === 'rtl');\n private readonly locale = computed(() => this.i18n?.locale() ?? this.localeId);\n\n /**\n * The size of a node that sets none of its own. Each dimension falls back on its\n * own, and the dev warning reads this same value, so it cannot name a size the\n * layout did not use.\n */\n private readonly defaultSize = computed(() => {\n const width = this.nodeWidth();\n const height = this.nodeHeight();\n return {\n width: isSize(width) ? width : DEFAULT_NODE_WIDTH,\n height: isSize(height) ? height : DEFAULT_NODE_HEIGHT,\n };\n });\n\n private readonly prepared = computed(() => {\n const { width, height } = this.defaultSize();\n return prepare(this.nodes(), this.edges(), width, height);\n });\n\n /** The engine's answer, as returned. A fresh signal per run: nothing aborts a synchronous layout. */\n private readonly raw = computed(() =>\n this.engine.layout(this.prepared().input, { signal: new AbortController().signal })\n );\n\n /**\n * The drawable result. An asynchronous layout is declared by the interface and\n * not supported by this release: a thenable draws nothing, and dev mode says so.\n */\n private readonly result = computed(() => {\n const raw = this.raw();\n return isThenable(raw) ? null : raw;\n });\n\n /** Layout joined to the nodes and edges, direction-free, nodes in reading order. */\n private readonly placed = computed((): PlacedGraph<TData> => {\n const graph = this.prepared();\n const result = this.result();\n if (!result) return { width: 0, height: 0, nodes: [], edges: [] };\n\n const positions = new Map(result.nodes.map(placement => [placement.id, placement]));\n const nodes = graph.nodes.flatMap(prepared => {\n const at = positions.get(prepared.node.id);\n return at ? [{ ...prepared, x: at.x, y: at.y }] : [];\n });\n // Reading order is layer, then inline position. A layer centres nodes of\n // different heights on one line, so the layer is the vertical CENTRE, taken to\n // two decimals so float noise cannot split one layer in two.\n const layer = (node: PlacedNode<TData>): number => Math.round((node.y + node.height / 2) * 100);\n nodes.sort((a, b) => layer(a) - layer(b) || a.x - b.x || a.index - b.index);\n\n const routes = new Map(result.edges.map(route => [route.id, route.points]));\n const edges = graph.edges.flatMap(edge => {\n const points = routes.get(edge.id);\n return points && points.length >= 2 ? [{ edge, points }] : [];\n });\n\n return { width: result.width, height: result.height, nodes, edges };\n });\n\n /**\n * Physical pixels. Mirrored here rather than in CSS so nodes and lines get the\n * same numbers and cannot drift apart — and kept apart from the layout so a\n * direction change does not lay the graph out again.\n */\n protected readonly view = computed((): GraphView<TData> => {\n const { width, height, nodes, edges } = this.placed();\n const rtl = this.isRtl();\n const x = (value: number, size = 0): number => px(rtl ? width - value - size : value);\n const at = (point: WrGraphPoint): string => `${x(point.x)} ${px(point.y)}`;\n\n // A route as a smooth path. Every stretch between two route points is one cubic\n // Bézier with both control points at the stretch's middle height, so a line\n // leaves a parent vertically and runs through a bend without a corner — a\n // reversed edge too, whose stretches simply climb.\n //\n // The last `ARROW_SIZE` pixels are a straight lead-in. A marker takes its angle\n // from the tangent at the very end, but it covers several pixels of line, and on\n // a curve those already point elsewhere — the line came out of the side of the\n // arrowhead. On a straight piece the triangle and the line agree. A self-loop is\n // one cubic out to its reserved side with the same lead-in coming back level.\n //\n // Only `+`, `-`, `/`, `abs`, `min` and `max`, so the server and the browser\n // write the same numbers.\n const curve = (points: readonly WrGraphPoint[], loop: boolean): string => {\n const start = points[0];\n const end = points[points.length - 1];\n if (loop) {\n const right = Math.max(...points.map(point => point.x));\n const lead = Math.min(ARROW_SIZE, (right - end.x) / 2);\n const outer = x(right);\n return `M${at(start)} C${outer} ${px(start.y)} ${outer} ${px(end.y)} ${x(end.x + lead)} ${px(end.y)} L${at(end)}`;\n }\n const stretches = points.slice(1).map((to, i) => {\n const from = points[i];\n const last = i === points.length - 2;\n const lead = last ? Math.min(ARROW_SIZE, Math.abs(to.y - from.y) / 2) : 0;\n const toY = to.y < from.y ? to.y + lead : to.y - lead;\n const middle = px((from.y + toY) / 2);\n const bend = `C${x(from.x)} ${middle} ${x(to.x)} ${middle} ${x(to.x)} ${px(toY)}`;\n return last ? `${bend} L${at(to)}` : bend;\n });\n return [`M${at(start)}`, ...stretches].join(' ');\n };\n\n return {\n width: px(width),\n height: px(height),\n nodes: nodes.map(placed => ({\n node: placed.node,\n width: placed.width,\n height: placed.height,\n transform: `translate(${x(placed.x, placed.width)}px, ${px(placed.y)}px)`,\n })),\n edges: edges.map(({ edge, points }) => ({\n id: edge.id,\n from: edge.from,\n to: edge.to,\n d: curve(points, edge.from === edge.to),\n })),\n };\n });\n\n /**\n * The visually hidden sentence per node id: its parents, then its children, as\n * name lists. Never a count — the catalogs have no plural forms. A neighbour\n * linked by several edges is named once, and names follow reading order.\n */\n protected readonly relations = computed(() => {\n const { nodes } = this.placed();\n const list = listFormat(this.locale());\n const order = new Map(nodes.map((placed, i) => [placed.node.id, i]));\n const parents = new Map<string, Set<string>>();\n const children = new Map<string, Set<string>>();\n const link = (map: Map<string, Set<string>>, id: string, neighbour: string): void => {\n const set = map.get(id) ?? new Set<string>();\n set.add(neighbour);\n map.set(id, set);\n };\n for (const { from, to } of this.prepared().edges) {\n if (!order.has(from) || !order.has(to)) continue;\n link(parents, to, from);\n link(children, from, to);\n }\n\n const names = (ids: Set<string> | undefined): string | null => {\n if (!ids?.size) return null;\n const sorted = [...ids].sort((a, b) => (order.get(a) ?? 0) - (order.get(b) ?? 0));\n return list.format(sorted.map(id => nodes[order.get(id) ?? 0].node.label));\n };\n\n const text = new Map<string, string>();\n for (const { node } of nodes) {\n const sentences: string[] = [];\n const parentNames = names(parents.get(node.id));\n const childNames = names(children.get(node.id));\n if (parentNames) sentences.push(this.parentsText({ names: parentNames }));\n if (childNames) sentences.push(this.childrenText({ names: childNames }));\n // Every mark of punctuation comes from the catalog. The one character the\n // component adds is the space between two sentences — a word boundary to a\n // screen reader, and silent in a script that sets none.\n if (sentences.length) text.set(node.id, sentences.join(' '));\n }\n return text;\n });\n\n constructor() {\n if (isDevMode()) {\n effect(() => {\n const graph = this.prepared();\n const raw = this.raw();\n if (graph.duplicates.length) {\n warn(\n `node id(s) ${graph.duplicates.map(id => `\"${id}\"`).join(', ')} appear more than once. ` +\n `The first occurrence of each is drawn and the rest are skipped.`\n );\n }\n if (graph.dangling.length) {\n warn(`edge(s) ${graph.dangling.join(', ')} name a node that does not exist and were skipped.`);\n }\n if (graph.badSizes.length) {\n warn(\n `node(s) ${graph.badSizes.map(id => `\"${id}\"`).join(', ')} have a width or height that is not a ` +\n `positive finite number, so nodeWidth / nodeHeight is used instead.`\n );\n }\n const width = this.nodeWidth();\n const height = this.nodeHeight();\n const invalid = [\n ...(isSize(width) ? [] : [`nodeWidth (${String(width)})`]),\n ...(isSize(height) ? [] : [`nodeHeight (${String(height)})`]),\n ];\n if (invalid.length) {\n const used = this.defaultSize();\n warn(\n `${invalid.join(' and ')} must be a positive finite number, so a node with no size of its own is ` +\n `drawn ${used.width} × ${used.height}.`\n );\n }\n if (isThenable(raw)) {\n warn(\n 'the provided WrGraphLayout returned a Promise. Asynchronous layouts are not supported in this ' +\n 'release, so nothing is drawn.'\n );\n return;\n }\n const problems = layoutProblems(graph, raw);\n if (problems.length) warn(`the layout result cannot be drawn faithfully: ${problems.join('; ')}.`);\n });\n }\n }\n}\n","@let graph = view();\n<!-- The scroller is the one tab stop: a named group, so its label is allowed, and focusable so a keyboard can scroll it. -->\n<div class=\"wr-graph__viewport\" role=\"group\" tabindex=\"0\" [attr.aria-label]=\"label()\">\n <div class=\"wr-graph__stage\" [style.width.px]=\"graph.width\" [style.height.px]=\"graph.height\">\n <svg\n class=\"wr-graph__edges\"\n aria-hidden=\"true\"\n focusable=\"false\"\n [attr.width]=\"graph.width\"\n [attr.height]=\"graph.height\"\n >\n <defs>\n <marker\n [attr.id]=\"markerId\"\n viewBox=\"0 0 10 10\"\n refX=\"10\"\n refY=\"5\"\n markerUnits=\"userSpaceOnUse\"\n [attr.markerWidth]=\"arrowSize\"\n [attr.markerHeight]=\"arrowSize\"\n orient=\"auto\"\n >\n <polygon points=\"0,1 10,5 0,9\" />\n </marker>\n </defs>\n @for (edge of graph.edges; track edge.id) {\n <path\n class=\"wr-graph__edge\"\n [attr.d]=\"edge.d\"\n [attr.data-from]=\"edge.from\"\n [attr.data-to]=\"edge.to\"\n [attr.marker-end]=\"markerUrl\"\n />\n }\n </svg>\n <!-- Items are DIRECT children of the list: a wrapper carrying ARIA or a tabindex would break ownership. -->\n <div class=\"wr-graph__nodes\" [attr.role]=\"graph.nodes.length ? 'list' : null\">\n @for (entry of graph.nodes; track entry.node.id) {\n @let relation = relations().get(entry.node.id);\n <div\n class=\"wr-graph__node\"\n role=\"listitem\"\n [style.width.px]=\"entry.width\"\n [style.height.px]=\"entry.height\"\n [style.transform]=\"entry.transform\"\n >\n @if (nodeTemplate(); as custom) {\n <ng-container [ngTemplateOutlet]=\"custom.template\" [ngTemplateOutletContext]=\"{ $implicit: entry.node }\" />\n } @else {\n <div class=\"wr-graph__card\">{{ entry.node.label }}</div>\n }\n @if (relation) {\n <span class=\"wr-graph__sr-only\">{{ relation }}</span>\n }\n </div>\n }\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -379,6 +379,11 @@ const wrAr = {
379
379
  gauge: {
380
380
  label: 'عداد',
381
381
  },
382
+ graph: {
383
+ label: 'مخطط',
384
+ parents: 'الآباء: {{names}}.',
385
+ children: 'الأبناء: {{names}}.',
386
+ },
382
387
  progress: {
383
388
  label: 'التقدم',
384
389
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-i18n-ar.mjs","sources":["../../../projects/lib/i18n/ar/public-api.ts","../../../projects/lib/i18n/ar/ngwr-i18n-ar.ts"],"sourcesContent":["import { type WrI18nCatalog } from 'ngwr/i18n';\n\n/** Base Arabic catalog for ngwr built-in component strings. */\nexport const wrAr: WrI18nCatalog = {\n common: {\n ok: 'موافق',\n cancel: 'إلغاء',\n close: 'إغلاق',\n confirm: 'تأكيد',\n delete: 'حذف',\n save: 'حفظ',\n edit: 'تعديل',\n add: 'إضافة',\n remove: 'إزالة',\n clear: 'مسح',\n search: 'بحث',\n loading: 'جارٍ التحميل…',\n select: 'تحديد',\n next: 'التالي',\n previous: 'السابق',\n back: 'رجوع',\n today: 'اليوم',\n yesterday: 'أمس',\n tomorrow: 'غدًا',\n of: 'من',\n },\n pagination: {\n prev: 'الصفحة السابقة',\n next: 'الصفحة التالية',\n itemsPerPage: 'عدد العناصر في الصفحة',\n perPage: '{{size}} / صفحة',\n goToPage: 'الانتقال إلى الصفحة {{page}}',\n label: 'ترقيم الصفحات',\n pageOf: 'الصفحة {{current}} من {{total}}',\n range: '{{from}}–{{to}} من {{total}}',\n compact: '{{current}} / {{total}}',\n },\n table: {\n empty: 'لا توجد بيانات',\n loading: 'جارٍ التحميل…',\n sort: 'فرز العمود',\n filter: 'تصفية العمود',\n selectAll: 'تحديد كل الصفوف',\n selectRow: 'تحديد الصف',\n expandRow: 'تبديل تفاصيل الصف',\n toggleRow: 'تبديل الصفوف الفرعية',\n selectGroup: 'تحديد المجموعة',\n toggleGroup: 'تبديل المجموعة',\n noMatches: 'لا توجد نتائج مطابقة',\n search: 'بحث',\n reset: 'إعادة تعيين',\n },\n eventCalendar: {\n today: 'اليوم',\n previous: 'السابق',\n next: 'التالي',\n month: 'شهر',\n week: 'أسبوع',\n day: 'يوم',\n time: 'الوقت',\n allDay: 'طوال اليوم',\n label: 'التقويم',\n more: '+{{count}} أخرى',\n header: '{{month}} {{year}}',\n range: '{{from}} – {{to}}',\n chipLabel: '{{title}}، {{time}}',\n slotLabel: '{{time}} — {{date}}',\n allDayCellLabel: '{{label}} — {{date}}',\n },\n tour: {\n next: 'التالي',\n back: 'السابق',\n done: 'تم',\n skip: 'تخطي الجولة',\n progress: 'الخطوة {{current}} من {{total}}',\n },\n splitter: {\n divider: 'تغيير حجم الأجزاء',\n },\n stepper: {\n optional: 'اختياري',\n },\n transfer: {\n source: 'المتاح',\n target: 'المحدد',\n search: 'بحث',\n empty: 'لا شيء هنا',\n selectAll: 'تحديد الكل',\n toTarget: 'النقل إلى المحدد',\n toSource: 'النقل إلى المتاح',\n count: '{{checked}} / {{total}}',\n selectAllAria: '{{pane}} — {{action}}',\n },\n form: {\n optional: 'اختياري',\n },\n validation: {\n required: 'هذا الحقل مطلوب.',\n requiredTrue: 'يجب تحديد هذا الحقل.',\n email: 'أدخل عنوان بريد إلكتروني صالحًا.',\n minlength: 'الحد الأدنى لعدد الأحرف: {{requiredLength}}.',\n maxlength: 'الحد الأقصى لعدد الأحرف: {{requiredLength}}.',\n min: 'أدخل {{min}} أو أكثر.',\n max: 'أدخل {{max}} أو أقل.',\n pattern: 'هذه القيمة لا تطابق التنسيق المتوقع.',\n noWhitespace: 'لا يمكن أن تحتوي هذه القيمة على مسافات.',\n hexColor: 'أدخل لونًا بالنظام الست عشري، مثل #1a2b3c.',\n url: 'أدخل عنوان URL صالحًا.',\n cardNumber: 'أدخل رقم بطاقة صالحًا.',\n cvc: 'أدخل رمز الأمان (عدد الخانات: {{length}}).',\n iban: 'أدخل رقم IBAN صالحًا.',\n match: 'القيمتان غير متطابقتين.',\n matchFields: 'الحقول غير متطابقة.',\n oneOf: 'اختر إحدى القيم المسموح بها.',\n minDate: 'اختر تاريخًا لاحقًا.',\n maxDate: 'اختر تاريخًا سابقًا.',\n },\n select: {\n // The combobox's own accessible name, also read by `wr-tree` and\n // `wr-cascader`. «تحديد» is the word this catalog uses for marking rows and\n // groups that already exist; picking one value out of a list is «اختيار»,\n // which is also the verb the placeholder «اختر…» below opens with.\n label: 'اختيار',\n placeholder: 'اختر…',\n empty: 'لا توجد خيارات',\n clearSelection: 'مسح التحديد',\n removeItem: 'إزالة {{label}}',\n noResults: 'لا توجد نتائج',\n loading: 'جارٍ التحميل…',\n more: '+{{count}} أخرى',\n },\n // `tree` covers both inline display and combobox-mode pickers\n // (replaces the dropped `treeSelect` namespace).\n tree: {\n expand: 'توسيع',\n collapse: 'طي',\n placeholder: 'اختر…',\n clearSelection: 'مسح التحديد',\n removeItem: 'إزالة {{label}}',\n more: '+{{count}} أخرى',\n },\n commandPalette: {\n label: 'لوحة الأوامر',\n placeholder: 'اكتب أمرًا أو ابحث…',\n noResults: 'لا توجد نتائج',\n loading: 'جارٍ البحث…',\n escHint: 'esc',\n },\n empty: {\n noData: 'لا توجد بيانات',\n },\n fileUpload: {\n browse: 'انقر للاستعراض',\n dropZone: 'أو أفلت الملفات هنا',\n dropZoneLabel: 'منطقة إفلات الملفات — انقر أو أفلت الملفات',\n removeFile: 'إزالة الملف',\n invalid: 'نوع ملف غير مدعوم',\n tooBig: 'حجم الملف كبير جدًا',\n size: '{{value}} {{unit}}',\n unitByte: 'بايت',\n unitKb: 'كيلوبايت',\n unitMb: 'ميجابايت',\n unitGb: 'جيجابايت',\n unitTb: 'تيرابايت',\n },\n popconfirm: {\n label: 'تأكيد الإجراء',\n confirm: 'تأكيد',\n cancel: 'إلغاء',\n },\n toast: {\n region: 'الإشعارات',\n close: 'إغلاق',\n copy: 'نسخ',\n copied: 'تم النسخ',\n closeAll: 'إغلاق الكل',\n },\n input: {\n showPassword: 'إظهار كلمة المرور',\n hidePassword: 'إخفاء كلمة المرور',\n },\n inputNumber: {\n increment: 'زيادة',\n decrement: 'إنقاص',\n },\n inputOtp: {\n label: 'رمز التحقق',\n digit: 'الرقم {{index}}',\n character: 'الحرف {{index}}',\n },\n anchor: {\n label: 'جدول المحتويات',\n },\n avatar: {\n alt: 'الصورة الرمزية',\n },\n backTop: {\n label: 'العودة إلى الأعلى',\n },\n breadcrumbs: {\n label: 'مسار التنقل',\n },\n burger: {\n label: 'تبديل القائمة',\n },\n calendar: {\n prevMonth: 'الشهر السابق',\n nextMonth: 'الشهر التالي',\n prevYear: 'السنة السابقة',\n nextYear: 'السنة التالية',\n // The month / year pickers are `role=\"listbox\"`, and a listbox owes a\n // name — without one a screen reader announces the control as nothing at\n // all. Caught by `check:state-a11y` once a state finally opened the view.\n monthList: 'الأشهر',\n yearList: 'السنوات',\n prevYears: '12 سنة سابقة',\n nextYears: '12 سنة تالية',\n header: '{{month}} {{year}}',\n yearRange: '{{from}} – {{to}}',\n dayLabel: '{{weekday}}، {{date}}',\n },\n imageCropper: {\n empty: 'لا توجد صورة',\n window: 'منطقة الاقتصاص',\n keyHelp:\n 'مفاتيح الأسهم تحرّك منطقة الاقتصاص. اضغط باستمرار على Alt مع أحد مفاتيح الأسهم لتغيير حجمها، وعلى Shift لخطوات أكبر. ' +\n 'يُعلن عن المنطقة بقيم اليسار والأعلى والعرض والارتفاع بالبكسل داخل الصورة.',\n },\n sortableList: {\n keyHelp:\n 'اضغط مفتاح المسافة لالتقاط هذا العنصر، ثم استخدم مفاتيح الأسهم لتحريكه. ' +\n 'اضغط مفتاح المسافة مرة أخرى لإفلاته، أو Escape لإعادته إلى مكانه.',\n grabbed: 'تم الالتقاط. {{index}} من {{total}}.',\n moved: '{{index}} من {{total}}.',\n dropped: 'تم الإفلات. {{index}} من {{total}}.',\n cancelled: 'تم إلغاء النقل.',\n },\n colorPicker: {\n area: 'التشبع والسطوع، {{saturation}}% و{{brightness}}%',\n hue: 'درجة اللون',\n alpha: 'العتامة',\n formatHex: 'HEX',\n formatRgb: 'RGB',\n formatHsl: 'HSL',\n channelHex: 'HEX',\n channelRed: 'R',\n channelGreen: 'G',\n channelBlue: 'B',\n channelHue: 'H',\n channelSaturation: 'S%',\n channelLightness: 'L%',\n channelAlpha: 'A%',\n },\n calendarHeatmap: {\n label: 'خريطة حرارية للتقويم',\n cell: '{{date}}: {{count}}',\n },\n lineChart: {\n label: 'مخطط خطي',\n // The one counted string that cannot dodge the noun — it IS the noun. Arabic\n // wants «آلاف» from three to ten and «ألف» from eleven up, and one axis\n // carries ticks from both ranges. «ألف» invariant is what Arabic analytics\n // UIs print, and it is the correct form for the large ticks that are the\n // reason to abbreviate at all.\n thousands: '{{value}} ألف',\n },\n donutChart: {\n label: 'مخطط دائري مجوف',\n },\n compare: {\n label: 'فاصل المقارنة',\n },\n // The two `roledescription` values are spoken INSTEAD of the role name, so they\n // are bare nouns. Arabic has no letter case, so English's lowercase rule has no\n // counterpart here — what carries it is dropping the definite article.\n carousel: {\n label: 'العرض الدوّار',\n goToSlide: 'الانتقال إلى الشريحة {{index}}',\n prev: 'الشريحة السابقة',\n next: 'الشريحة التالية',\n pagination: 'ترقيم شرائح العرض الدوّار',\n roledescription: 'عرض دوّار',\n slideRoledescription: 'شريحة',\n },\n actionSheet: {\n label: 'الإجراءات',\n },\n alert: {\n close: 'إغلاق التنبيه',\n },\n qr: {\n label: 'رمز QR',\n },\n image: {\n viewer: 'معاينة الصورة',\n open: 'فتح المعاينة',\n close: 'إغلاق المعاينة',\n },\n window: {\n close: 'إغلاق',\n minimize: 'تصغير',\n maximize: 'تكبير',\n restore: 'استعادة',\n restoreDown: 'استعادة لأسفل',\n restoreWindow: 'استعادة {{title}}',\n closeWindow: 'إغلاق النافذة',\n untitled: 'بلا عنوان',\n taskbar: 'النوافذ المصغّرة',\n },\n dialog: {\n close: 'إغلاق مربع الحوار',\n },\n // Deliberately generic: a popover panel has no universal name, and an unnamed\n // `role=\"dialog\"` announces as nothing at all. Override per instance with\n // `[ariaLabel]`.\n popover: {\n label: 'لوحة منبثقة',\n },\n markdown: {\n copy: 'نسخ الكود',\n copied: 'تم النسخ',\n taskDone: 'تم:',\n taskTodo: 'لم يتم:',\n },\n // Arabic inflects a counted noun differently at one, at two, at three-to-ten\n // and at eleven-and-up, and the interpolator has no plural machinery — so a\n // string that counts ITEMS here does one of two things rather than write\n // \"{{count}} <noun>\" and be wrong at most counts. Either the number goes LAST,\n // after a colon, so no noun has to agree with it (`mention.available`,\n // `validation.minlength` / `.maxlength` / `.cvc`), or the noun is dropped: the\n // overflow chips in `select`, `tree` and `eventCalendar` read\n // «+{{count}} أخرى», the invariable feminine-singular form a non-human plural\n // takes, leaving nothing for the count to inflect. `lineChart.thousands` is\n // the one string that can do neither, and the note there says why.\n marquee: {\n label: 'شريط متحرك',\n link: 'رابط',\n },\n mention: {\n listbox: 'الإشارات',\n available: 'المطابقات المتاحة: {{count}}',\n inserted: 'تم الإدراج: {{label}}',\n },\n drawer: {\n close: 'إغلاق اللوحة',\n },\n datePicker: {\n open: 'فتح التقويم',\n openTime: 'فتح منتقي الوقت',\n openDateTime: 'فتح منتقي التاريخ والوقت',\n openRange: 'فتح تقويم الفترة',\n panel: 'اختيار التاريخ',\n panelTime: 'اختيار الوقت',\n panelDateTime: 'اختيار التاريخ والوقت',\n panelRange: 'اختيار الفترة',\n panelRangeDateTime: 'اختيار الفترة بالتاريخ والوقت',\n rangeStart: 'بداية الفترة',\n rangeEnd: 'نهاية الفترة',\n startTime: 'وقت البدء',\n endTime: 'وقت الانتهاء',\n hours: 'الساعات',\n minutes: 'الدقائق',\n seconds: 'الثواني',\n incrementHours: 'زيادة الساعات',\n decrementHours: 'إنقاص الساعات',\n incrementMinutes: 'زيادة الدقائق',\n decrementMinutes: 'إنقاص الدقائق',\n incrementSeconds: 'زيادة الثواني',\n decrementSeconds: 'إنقاص الثواني',\n toggleAmPm: 'تبديل ص / م',\n am: 'ص',\n pm: 'م',\n },\n sidebar: {\n label: 'الشريط الجانبي',\n },\n spinner: {\n label: 'جارٍ التحميل',\n },\n rating: {\n label: 'التقييم',\n },\n gauge: {\n label: 'عداد',\n },\n progress: {\n label: 'التقدم',\n },\n meterGroup: {\n label: 'مقياس',\n },\n knob: {\n label: 'القيمة',\n },\n slider: {\n label: 'القيمة',\n lower: 'القيمة الدنيا',\n upper: 'القيمة العليا',\n },\n speedDial: {\n label: 'الإجراءات',\n },\n statistic: {\n delta: '{{value}}{{suffix}}',\n deltaSuffix: '%',\n },\n result: {\n notFound: 'عذرًا، الصفحة التي زرتها غير موجودة.',\n forbidden: 'عذرًا، ليس لديك إذن بالوصول إلى هذه الصفحة.',\n serverError: 'عذرًا، حدث خطأ ما.',\n },\n date: {\n months: {\n jan: 'يناير',\n feb: 'فبراير',\n mar: 'مارس',\n apr: 'أبريل',\n may: 'مايو',\n jun: 'يونيو',\n jul: 'يوليو',\n aug: 'أغسطس',\n sep: 'سبتمبر',\n oct: 'أكتوبر',\n nov: 'نوفمبر',\n dec: 'ديسمبر',\n },\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-i18n-ar.mjs","sources":["../../../projects/lib/i18n/ar/public-api.ts","../../../projects/lib/i18n/ar/ngwr-i18n-ar.ts"],"sourcesContent":["import { type WrI18nCatalog } from 'ngwr/i18n';\n\n/** Base Arabic catalog for ngwr built-in component strings. */\nexport const wrAr: WrI18nCatalog = {\n common: {\n ok: 'موافق',\n cancel: 'إلغاء',\n close: 'إغلاق',\n confirm: 'تأكيد',\n delete: 'حذف',\n save: 'حفظ',\n edit: 'تعديل',\n add: 'إضافة',\n remove: 'إزالة',\n clear: 'مسح',\n search: 'بحث',\n loading: 'جارٍ التحميل…',\n select: 'تحديد',\n next: 'التالي',\n previous: 'السابق',\n back: 'رجوع',\n today: 'اليوم',\n yesterday: 'أمس',\n tomorrow: 'غدًا',\n of: 'من',\n },\n pagination: {\n prev: 'الصفحة السابقة',\n next: 'الصفحة التالية',\n itemsPerPage: 'عدد العناصر في الصفحة',\n perPage: '{{size}} / صفحة',\n goToPage: 'الانتقال إلى الصفحة {{page}}',\n label: 'ترقيم الصفحات',\n pageOf: 'الصفحة {{current}} من {{total}}',\n range: '{{from}}–{{to}} من {{total}}',\n compact: '{{current}} / {{total}}',\n },\n table: {\n empty: 'لا توجد بيانات',\n loading: 'جارٍ التحميل…',\n sort: 'فرز العمود',\n filter: 'تصفية العمود',\n selectAll: 'تحديد كل الصفوف',\n selectRow: 'تحديد الصف',\n expandRow: 'تبديل تفاصيل الصف',\n toggleRow: 'تبديل الصفوف الفرعية',\n selectGroup: 'تحديد المجموعة',\n toggleGroup: 'تبديل المجموعة',\n noMatches: 'لا توجد نتائج مطابقة',\n search: 'بحث',\n reset: 'إعادة تعيين',\n },\n eventCalendar: {\n today: 'اليوم',\n previous: 'السابق',\n next: 'التالي',\n month: 'شهر',\n week: 'أسبوع',\n day: 'يوم',\n time: 'الوقت',\n allDay: 'طوال اليوم',\n label: 'التقويم',\n more: '+{{count}} أخرى',\n header: '{{month}} {{year}}',\n range: '{{from}} – {{to}}',\n chipLabel: '{{title}}، {{time}}',\n slotLabel: '{{time}} — {{date}}',\n allDayCellLabel: '{{label}} — {{date}}',\n },\n tour: {\n next: 'التالي',\n back: 'السابق',\n done: 'تم',\n skip: 'تخطي الجولة',\n progress: 'الخطوة {{current}} من {{total}}',\n },\n splitter: {\n divider: 'تغيير حجم الأجزاء',\n },\n stepper: {\n optional: 'اختياري',\n },\n transfer: {\n source: 'المتاح',\n target: 'المحدد',\n search: 'بحث',\n empty: 'لا شيء هنا',\n selectAll: 'تحديد الكل',\n toTarget: 'النقل إلى المحدد',\n toSource: 'النقل إلى المتاح',\n count: '{{checked}} / {{total}}',\n selectAllAria: '{{pane}} — {{action}}',\n },\n form: {\n optional: 'اختياري',\n },\n validation: {\n required: 'هذا الحقل مطلوب.',\n requiredTrue: 'يجب تحديد هذا الحقل.',\n email: 'أدخل عنوان بريد إلكتروني صالحًا.',\n minlength: 'الحد الأدنى لعدد الأحرف: {{requiredLength}}.',\n maxlength: 'الحد الأقصى لعدد الأحرف: {{requiredLength}}.',\n min: 'أدخل {{min}} أو أكثر.',\n max: 'أدخل {{max}} أو أقل.',\n pattern: 'هذه القيمة لا تطابق التنسيق المتوقع.',\n noWhitespace: 'لا يمكن أن تحتوي هذه القيمة على مسافات.',\n hexColor: 'أدخل لونًا بالنظام الست عشري، مثل #1a2b3c.',\n url: 'أدخل عنوان URL صالحًا.',\n cardNumber: 'أدخل رقم بطاقة صالحًا.',\n cvc: 'أدخل رمز الأمان (عدد الخانات: {{length}}).',\n iban: 'أدخل رقم IBAN صالحًا.',\n match: 'القيمتان غير متطابقتين.',\n matchFields: 'الحقول غير متطابقة.',\n oneOf: 'اختر إحدى القيم المسموح بها.',\n minDate: 'اختر تاريخًا لاحقًا.',\n maxDate: 'اختر تاريخًا سابقًا.',\n },\n select: {\n // The combobox's own accessible name, also read by `wr-tree` and\n // `wr-cascader`. «تحديد» is the word this catalog uses for marking rows and\n // groups that already exist; picking one value out of a list is «اختيار»,\n // which is also the verb the placeholder «اختر…» below opens with.\n label: 'اختيار',\n placeholder: 'اختر…',\n empty: 'لا توجد خيارات',\n clearSelection: 'مسح التحديد',\n removeItem: 'إزالة {{label}}',\n noResults: 'لا توجد نتائج',\n loading: 'جارٍ التحميل…',\n more: '+{{count}} أخرى',\n },\n // `tree` covers both inline display and combobox-mode pickers\n // (replaces the dropped `treeSelect` namespace).\n tree: {\n expand: 'توسيع',\n collapse: 'طي',\n placeholder: 'اختر…',\n clearSelection: 'مسح التحديد',\n removeItem: 'إزالة {{label}}',\n more: '+{{count}} أخرى',\n },\n commandPalette: {\n label: 'لوحة الأوامر',\n placeholder: 'اكتب أمرًا أو ابحث…',\n noResults: 'لا توجد نتائج',\n loading: 'جارٍ البحث…',\n escHint: 'esc',\n },\n empty: {\n noData: 'لا توجد بيانات',\n },\n fileUpload: {\n browse: 'انقر للاستعراض',\n dropZone: 'أو أفلت الملفات هنا',\n dropZoneLabel: 'منطقة إفلات الملفات — انقر أو أفلت الملفات',\n removeFile: 'إزالة الملف',\n invalid: 'نوع ملف غير مدعوم',\n tooBig: 'حجم الملف كبير جدًا',\n size: '{{value}} {{unit}}',\n unitByte: 'بايت',\n unitKb: 'كيلوبايت',\n unitMb: 'ميجابايت',\n unitGb: 'جيجابايت',\n unitTb: 'تيرابايت',\n },\n popconfirm: {\n label: 'تأكيد الإجراء',\n confirm: 'تأكيد',\n cancel: 'إلغاء',\n },\n toast: {\n region: 'الإشعارات',\n close: 'إغلاق',\n copy: 'نسخ',\n copied: 'تم النسخ',\n closeAll: 'إغلاق الكل',\n },\n input: {\n showPassword: 'إظهار كلمة المرور',\n hidePassword: 'إخفاء كلمة المرور',\n },\n inputNumber: {\n increment: 'زيادة',\n decrement: 'إنقاص',\n },\n inputOtp: {\n label: 'رمز التحقق',\n digit: 'الرقم {{index}}',\n character: 'الحرف {{index}}',\n },\n anchor: {\n label: 'جدول المحتويات',\n },\n avatar: {\n alt: 'الصورة الرمزية',\n },\n backTop: {\n label: 'العودة إلى الأعلى',\n },\n breadcrumbs: {\n label: 'مسار التنقل',\n },\n burger: {\n label: 'تبديل القائمة',\n },\n calendar: {\n prevMonth: 'الشهر السابق',\n nextMonth: 'الشهر التالي',\n prevYear: 'السنة السابقة',\n nextYear: 'السنة التالية',\n // The month / year pickers are `role=\"listbox\"`, and a listbox owes a\n // name — without one a screen reader announces the control as nothing at\n // all. Caught by `check:state-a11y` once a state finally opened the view.\n monthList: 'الأشهر',\n yearList: 'السنوات',\n prevYears: '12 سنة سابقة',\n nextYears: '12 سنة تالية',\n header: '{{month}} {{year}}',\n yearRange: '{{from}} – {{to}}',\n dayLabel: '{{weekday}}، {{date}}',\n },\n imageCropper: {\n empty: 'لا توجد صورة',\n window: 'منطقة الاقتصاص',\n keyHelp:\n 'مفاتيح الأسهم تحرّك منطقة الاقتصاص. اضغط باستمرار على Alt مع أحد مفاتيح الأسهم لتغيير حجمها، وعلى Shift لخطوات أكبر. ' +\n 'يُعلن عن المنطقة بقيم اليسار والأعلى والعرض والارتفاع بالبكسل داخل الصورة.',\n },\n sortableList: {\n keyHelp:\n 'اضغط مفتاح المسافة لالتقاط هذا العنصر، ثم استخدم مفاتيح الأسهم لتحريكه. ' +\n 'اضغط مفتاح المسافة مرة أخرى لإفلاته، أو Escape لإعادته إلى مكانه.',\n grabbed: 'تم الالتقاط. {{index}} من {{total}}.',\n moved: '{{index}} من {{total}}.',\n dropped: 'تم الإفلات. {{index}} من {{total}}.',\n cancelled: 'تم إلغاء النقل.',\n },\n colorPicker: {\n area: 'التشبع والسطوع، {{saturation}}% و{{brightness}}%',\n hue: 'درجة اللون',\n alpha: 'العتامة',\n formatHex: 'HEX',\n formatRgb: 'RGB',\n formatHsl: 'HSL',\n channelHex: 'HEX',\n channelRed: 'R',\n channelGreen: 'G',\n channelBlue: 'B',\n channelHue: 'H',\n channelSaturation: 'S%',\n channelLightness: 'L%',\n channelAlpha: 'A%',\n },\n calendarHeatmap: {\n label: 'خريطة حرارية للتقويم',\n cell: '{{date}}: {{count}}',\n },\n lineChart: {\n label: 'مخطط خطي',\n // The one counted string that cannot dodge the noun — it IS the noun. Arabic\n // wants «آلاف» from three to ten and «ألف» from eleven up, and one axis\n // carries ticks from both ranges. «ألف» invariant is what Arabic analytics\n // UIs print, and it is the correct form for the large ticks that are the\n // reason to abbreviate at all.\n thousands: '{{value}} ألف',\n },\n donutChart: {\n label: 'مخطط دائري مجوف',\n },\n compare: {\n label: 'فاصل المقارنة',\n },\n // The two `roledescription` values are spoken INSTEAD of the role name, so they\n // are bare nouns. Arabic has no letter case, so English's lowercase rule has no\n // counterpart here — what carries it is dropping the definite article.\n carousel: {\n label: 'العرض الدوّار',\n goToSlide: 'الانتقال إلى الشريحة {{index}}',\n prev: 'الشريحة السابقة',\n next: 'الشريحة التالية',\n pagination: 'ترقيم شرائح العرض الدوّار',\n roledescription: 'عرض دوّار',\n slideRoledescription: 'شريحة',\n },\n actionSheet: {\n label: 'الإجراءات',\n },\n alert: {\n close: 'إغلاق التنبيه',\n },\n qr: {\n label: 'رمز QR',\n },\n image: {\n viewer: 'معاينة الصورة',\n open: 'فتح المعاينة',\n close: 'إغلاق المعاينة',\n },\n window: {\n close: 'إغلاق',\n minimize: 'تصغير',\n maximize: 'تكبير',\n restore: 'استعادة',\n restoreDown: 'استعادة لأسفل',\n restoreWindow: 'استعادة {{title}}',\n closeWindow: 'إغلاق النافذة',\n untitled: 'بلا عنوان',\n taskbar: 'النوافذ المصغّرة',\n },\n dialog: {\n close: 'إغلاق مربع الحوار',\n },\n // Deliberately generic: a popover panel has no universal name, and an unnamed\n // `role=\"dialog\"` announces as nothing at all. Override per instance with\n // `[ariaLabel]`.\n popover: {\n label: 'لوحة منبثقة',\n },\n markdown: {\n copy: 'نسخ الكود',\n copied: 'تم النسخ',\n taskDone: 'تم:',\n taskTodo: 'لم يتم:',\n },\n // Arabic inflects a counted noun differently at one, at two, at three-to-ten\n // and at eleven-and-up, and the interpolator has no plural machinery — so a\n // string that counts ITEMS here does one of two things rather than write\n // \"{{count}} <noun>\" and be wrong at most counts. Either the number goes LAST,\n // after a colon, so no noun has to agree with it (`mention.available`,\n // `validation.minlength` / `.maxlength` / `.cvc`), or the noun is dropped: the\n // overflow chips in `select`, `tree` and `eventCalendar` read\n // «+{{count}} أخرى», the invariable feminine-singular form a non-human plural\n // takes, leaving nothing for the count to inflect. `lineChart.thousands` is\n // the one string that can do neither, and the note there says why.\n marquee: {\n label: 'شريط متحرك',\n link: 'رابط',\n },\n mention: {\n listbox: 'الإشارات',\n available: 'المطابقات المتاحة: {{count}}',\n inserted: 'تم الإدراج: {{label}}',\n },\n drawer: {\n close: 'إغلاق اللوحة',\n },\n datePicker: {\n open: 'فتح التقويم',\n openTime: 'فتح منتقي الوقت',\n openDateTime: 'فتح منتقي التاريخ والوقت',\n openRange: 'فتح تقويم الفترة',\n panel: 'اختيار التاريخ',\n panelTime: 'اختيار الوقت',\n panelDateTime: 'اختيار التاريخ والوقت',\n panelRange: 'اختيار الفترة',\n panelRangeDateTime: 'اختيار الفترة بالتاريخ والوقت',\n rangeStart: 'بداية الفترة',\n rangeEnd: 'نهاية الفترة',\n startTime: 'وقت البدء',\n endTime: 'وقت الانتهاء',\n hours: 'الساعات',\n minutes: 'الدقائق',\n seconds: 'الثواني',\n incrementHours: 'زيادة الساعات',\n decrementHours: 'إنقاص الساعات',\n incrementMinutes: 'زيادة الدقائق',\n decrementMinutes: 'إنقاص الدقائق',\n incrementSeconds: 'زيادة الثواني',\n decrementSeconds: 'إنقاص الثواني',\n toggleAmPm: 'تبديل ص / م',\n am: 'ص',\n pm: 'م',\n },\n sidebar: {\n label: 'الشريط الجانبي',\n },\n spinner: {\n label: 'جارٍ التحميل',\n },\n rating: {\n label: 'التقييم',\n },\n gauge: {\n label: 'عداد',\n },\n graph: {\n label: 'مخطط',\n parents: 'الآباء: {{names}}.',\n children: 'الأبناء: {{names}}.',\n },\n progress: {\n label: 'التقدم',\n },\n meterGroup: {\n label: 'مقياس',\n },\n knob: {\n label: 'القيمة',\n },\n slider: {\n label: 'القيمة',\n lower: 'القيمة الدنيا',\n upper: 'القيمة العليا',\n },\n speedDial: {\n label: 'الإجراءات',\n },\n statistic: {\n delta: '{{value}}{{suffix}}',\n deltaSuffix: '%',\n },\n result: {\n notFound: 'عذرًا، الصفحة التي زرتها غير موجودة.',\n forbidden: 'عذرًا، ليس لديك إذن بالوصول إلى هذه الصفحة.',\n serverError: 'عذرًا، حدث خطأ ما.',\n },\n date: {\n months: {\n jan: 'يناير',\n feb: 'فبراير',\n mar: 'مارس',\n apr: 'أبريل',\n may: 'مايو',\n jun: 'يونيو',\n jul: 'يوليو',\n aug: 'أغسطس',\n sep: 'سبتمبر',\n oct: 'أكتوبر',\n nov: 'نوفمبر',\n dec: 'ديسمبر',\n },\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -349,6 +349,11 @@ const wrCs = {
349
349
  gauge: {
350
350
  label: 'Ukazatel',
351
351
  },
352
+ graph: {
353
+ label: 'Graf',
354
+ parents: 'Rodiče: {{names}}.',
355
+ children: 'Potomci: {{names}}.',
356
+ },
352
357
  progress: {
353
358
  label: 'Průběh',
354
359
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-i18n-cs.mjs","sources":["../../../projects/lib/i18n/cs/public-api.ts","../../../projects/lib/i18n/cs/ngwr-i18n-cs.ts"],"sourcesContent":["import { type WrI18nCatalog } from 'ngwr/i18n';\n\n/** Base Czech catalog for ngwr built-in component strings. */\nexport const wrCs: WrI18nCatalog = {\n common: {\n ok: 'OK',\n cancel: 'Zrušit',\n close: 'Zavřít',\n confirm: 'Potvrdit',\n delete: 'Smazat',\n save: 'Uložit',\n edit: 'Upravit',\n add: 'Přidat',\n remove: 'Odebrat',\n clear: 'Vymazat',\n search: 'Hledat',\n loading: 'Načítání…',\n select: 'Vybrat',\n next: 'Další',\n previous: 'Předchozí',\n back: 'Zpět',\n today: 'Dnes',\n yesterday: 'Včera',\n tomorrow: 'Zítra',\n of: 'z',\n },\n pagination: {\n prev: 'Předchozí stránka',\n next: 'Další stránka',\n itemsPerPage: 'Položek na stránku',\n perPage: '{{size}} / str.',\n goToPage: 'Přejít na stránku {{page}}',\n label: 'Stránkování',\n pageOf: 'Stránka {{current}} z {{total}}',\n range: '{{from}}–{{to}} z {{total}}',\n compact: '{{current}} / {{total}}',\n },\n table: {\n empty: 'Žádná data',\n loading: 'Načítání…',\n sort: 'Seřadit sloupec',\n filter: 'Filtrovat sloupec',\n selectAll: 'Vybrat všechny řádky',\n selectRow: 'Vybrat řádek',\n expandRow: 'Přepnout podrobnosti řádku',\n toggleRow: 'Přepnout podřízené řádky',\n selectGroup: 'Vybrat skupinu',\n toggleGroup: 'Přepnout skupinu',\n noMatches: 'Žádné shody',\n search: 'Hledat',\n reset: 'Resetovat',\n },\n eventCalendar: {\n today: 'Dnes',\n previous: 'Předchozí',\n next: 'Další',\n month: 'Měsíc',\n week: 'Týden',\n day: 'Den',\n time: 'Čas',\n allDay: 'Celý den',\n label: 'Kalendář',\n more: 'Další: {{count}}',\n header: '{{month}} {{year}}',\n range: '{{from}} – {{to}}',\n chipLabel: '{{title}}, {{time}}',\n slotLabel: '{{time}} — {{date}}',\n allDayCellLabel: '{{label}} — {{date}}',\n },\n tour: {\n next: 'Další',\n back: 'Zpět',\n done: 'Hotovo',\n skip: 'Přeskočit',\n progress: 'Krok {{current}} z {{total}}',\n },\n splitter: {\n divider: 'Změnit velikost panelů',\n },\n stepper: {\n optional: 'nepovinné',\n },\n transfer: {\n source: 'Dostupné',\n target: 'Vybrané',\n search: 'Hledat',\n empty: 'Nic tu není',\n selectAll: 'Vybrat vše',\n toTarget: 'Přesunout mezi vybrané',\n toSource: 'Vrátit mezi dostupné',\n count: '{{checked}} / {{total}}',\n selectAllAria: '{{pane}} — {{action}}',\n },\n form: {\n optional: 'nepovinné',\n },\n validation: {\n required: 'Toto pole je povinné.',\n requiredTrue: 'Toto pole musí být zaškrtnuté.',\n email: 'Zadejte platnou e-mailovou adresu.',\n minlength: 'Minimální počet znaků: {{requiredLength}}.',\n maxlength: 'Maximální počet znaků: {{requiredLength}}.',\n min: 'Zadejte {{min}} nebo více.',\n max: 'Zadejte {{max}} nebo méně.',\n pattern: 'Hodnota nemá očekávaný formát.',\n noWhitespace: 'Hodnota nesmí obsahovat mezery.',\n hexColor: 'Zadejte barvu ve formátu #1a2b3c.',\n url: 'Zadejte platnou adresu URL.',\n cardNumber: 'Zadejte platné číslo karty.',\n cvc: 'Zadejte {{length}}místný bezpečnostní kód.',\n iban: 'Zadejte platný IBAN.',\n match: 'Hodnoty se neshodují.',\n matchFields: 'Tato pole se neshodují.',\n oneOf: 'Vyberte jednu z povolených hodnot.',\n minDate: 'Vyberte pozdější datum.',\n maxDate: 'Vyberte dřívější datum.',\n },\n select: {\n label: 'Vybrat',\n placeholder: 'Vyberte…',\n empty: 'Žádné možnosti',\n clearSelection: 'Zrušit výběr',\n removeItem: 'Odebrat {{label}}',\n noResults: 'Žádné výsledky',\n loading: 'Načítání…',\n more: 'Další: {{count}}',\n },\n tree: {\n expand: 'Rozbalit',\n collapse: 'Sbalit',\n placeholder: 'Vyberte…',\n clearSelection: 'Zrušit výběr',\n removeItem: 'Odebrat {{label}}',\n more: 'Další: {{count}}',\n },\n commandPalette: {\n label: 'Paleta příkazů',\n placeholder: 'Zadejte příkaz nebo hledejte…',\n noResults: 'Žádné výsledky',\n loading: 'Hledání…',\n escHint: 'esc',\n },\n empty: {\n noData: 'Žádná data',\n },\n fileUpload: {\n browse: 'Kliknutím vyberte',\n dropZone: 'nebo sem přetáhněte soubory',\n dropZoneLabel: 'Zóna pro nahrání souborů — klikněte nebo přetáhněte soubory',\n removeFile: 'Odebrat soubor',\n invalid: 'Nepodporovaný typ souboru',\n tooBig: 'Soubor je příliš velký',\n size: '{{value}} {{unit}}',\n unitByte: 'B',\n unitKb: 'kB',\n unitMb: 'MB',\n unitGb: 'GB',\n unitTb: 'TB',\n },\n popconfirm: {\n label: 'Potvrzení akce',\n confirm: 'Potvrdit',\n cancel: 'Zrušit',\n },\n toast: {\n region: 'Oznámení',\n close: 'Zavřít',\n copy: 'Kopírovat',\n copied: 'Zkopírováno',\n closeAll: 'Zavřít vše',\n },\n input: {\n showPassword: 'Zobrazit heslo',\n hidePassword: 'Skrýt heslo',\n },\n inputNumber: {\n increment: 'Zvýšit',\n decrement: 'Snížit',\n },\n inputOtp: {\n label: 'Ověřovací kód',\n digit: 'Číslice {{index}}',\n character: 'Znak {{index}}',\n },\n anchor: {\n label: 'Obsah',\n },\n avatar: {\n alt: 'Avatar',\n },\n backTop: {\n label: 'Zpět nahoru',\n },\n breadcrumbs: {\n label: 'Drobečková navigace',\n },\n burger: {\n label: 'Přepnout nabídku',\n },\n calendar: {\n prevMonth: 'Předchozí měsíc',\n nextMonth: 'Další měsíc',\n prevYear: 'Předchozí rok',\n nextYear: 'Další rok',\n monthList: 'Měsíce',\n yearList: 'Roky',\n prevYears: 'Předchozích 12 let',\n nextYears: 'Dalších 12 let',\n header: '{{month}} {{year}}',\n yearRange: '{{from}} – {{to}}',\n dayLabel: '{{weekday}}, {{date}}',\n },\n imageCropper: {\n empty: 'Žádný obrázek',\n window: 'Oblast oříznutí',\n keyHelp:\n 'Šipky posouvají výřez. Alt se šipkou mění jeho velikost, Shift zvětšuje krok. ' +\n 'Výřez se oznamuje jako pozice zleva, pozice shora, šířka a výška v pixelech obrázku.',\n },\n sortableList: {\n keyHelp:\n 'Mezerníkem položku uchopíte, šipkami ji přesunete. ' +\n 'Dalším stisknutím mezerníku ji položíte, klávesou Escape ji vrátíte zpět.',\n grabbed: 'Uchopeno. {{index}} z {{total}}.',\n moved: '{{index}} z {{total}}.',\n dropped: 'Položeno. {{index}} z {{total}}.',\n cancelled: 'Přesun zrušen.',\n },\n colorPicker: {\n area: 'Sytost a jas, {{saturation}} % a {{brightness}} %',\n hue: 'Odstín',\n alpha: 'Krytí',\n formatHex: 'HEX',\n formatRgb: 'RGB',\n formatHsl: 'HSL',\n channelHex: 'HEX',\n channelRed: 'R',\n channelGreen: 'G',\n channelBlue: 'B',\n channelHue: 'H',\n channelSaturation: 'S%',\n channelLightness: 'L%',\n channelAlpha: 'A%',\n },\n calendarHeatmap: {\n label: 'Kalendářní tepelná mapa',\n cell: '{{date}}: {{count}}',\n },\n lineChart: {\n label: 'Spojnicový graf',\n thousands: '{{value}} tis.',\n },\n donutChart: {\n label: 'Prstencový graf',\n },\n compare: {\n label: 'Oddělovač porovnání',\n },\n carousel: {\n label: 'Karusel',\n goToSlide: 'Přejít na snímek {{index}}',\n prev: 'Předchozí snímek',\n next: 'Další snímek',\n pagination: 'Stránkování karuselu',\n roledescription: 'karusel',\n slideRoledescription: 'snímek',\n },\n actionSheet: {\n label: 'Akce',\n },\n alert: {\n close: 'Zavřít upozornění',\n },\n qr: {\n label: 'QR kód',\n },\n image: {\n viewer: 'Náhled obrázku',\n open: 'Otevřít náhled',\n close: 'Zavřít náhled',\n },\n window: {\n close: 'Zavřít',\n minimize: 'Minimalizovat',\n maximize: 'Maximalizovat',\n restore: 'Obnovit',\n restoreDown: 'Obnovit velikost',\n restoreWindow: 'Obnovit {{title}}',\n closeWindow: 'Zavřít okno',\n untitled: 'Bez názvu',\n taskbar: 'Minimalizovaná okna',\n },\n dialog: {\n close: 'Zavřít dialog',\n },\n popover: {\n label: 'Vyskakovací panel',\n },\n markdown: {\n copy: 'Kopírovat kód',\n copied: 'Zkopírováno',\n taskDone: 'Splněno:',\n taskTodo: 'Nesplněno:',\n },\n marquee: {\n label: 'Běžící text',\n link: 'odkaz',\n },\n mention: {\n listbox: 'Zmínky',\n available: 'Počet shod: {{count}}',\n inserted: 'Vloženo: {{label}}',\n },\n drawer: {\n close: 'Zavřít vysouvací panel',\n },\n datePicker: {\n open: 'Otevřít kalendář',\n openTime: 'Otevřít výběr času',\n openDateTime: 'Otevřít výběr data a času',\n openRange: 'Otevřít kalendář pro výběr období',\n panel: 'Výběr data',\n panelTime: 'Výběr času',\n panelDateTime: 'Výběr data a času',\n panelRange: 'Výběr období',\n panelRangeDateTime: 'Výběr období a času',\n rangeStart: 'Začátek období',\n rangeEnd: 'Konec období',\n startTime: 'Čas začátku',\n endTime: 'Čas konce',\n hours: 'Hodiny',\n minutes: 'Minuty',\n seconds: 'Sekundy',\n incrementHours: 'Zvýšit hodiny',\n decrementHours: 'Snížit hodiny',\n incrementMinutes: 'Zvýšit minuty',\n decrementMinutes: 'Snížit minuty',\n incrementSeconds: 'Zvýšit sekundy',\n decrementSeconds: 'Snížit sekundy',\n toggleAmPm: 'Přepnout dop. / odp.',\n am: 'dop.',\n pm: 'odp.',\n },\n sidebar: {\n label: 'Postranní panel',\n },\n spinner: {\n label: 'Načítání',\n },\n rating: {\n label: 'Hodnocení',\n },\n gauge: {\n label: 'Ukazatel',\n },\n progress: {\n label: 'Průběh',\n },\n meterGroup: {\n label: 'Měřidlo',\n },\n knob: {\n label: 'Hodnota',\n },\n slider: {\n label: 'Hodnota',\n lower: 'Dolní hodnota',\n upper: 'Horní hodnota',\n },\n speedDial: {\n label: 'Akce',\n },\n statistic: {\n delta: '{{value}}{{suffix}}',\n deltaSuffix: '%',\n },\n result: {\n notFound: 'Omlouváme se, požadovaná stránka neexistuje.',\n forbidden: 'Omlouváme se, k této stránce nemáte přístup.',\n serverError: 'Omlouváme se, něco se pokazilo.',\n },\n date: {\n months: {\n jan: 'leden',\n feb: 'únor',\n mar: 'březen',\n apr: 'duben',\n may: 'květen',\n jun: 'červen',\n jul: 'červenec',\n aug: 'srpen',\n sep: 'září',\n oct: 'říjen',\n nov: 'listopad',\n dec: 'prosinec',\n },\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-i18n-cs.mjs","sources":["../../../projects/lib/i18n/cs/public-api.ts","../../../projects/lib/i18n/cs/ngwr-i18n-cs.ts"],"sourcesContent":["import { type WrI18nCatalog } from 'ngwr/i18n';\n\n/** Base Czech catalog for ngwr built-in component strings. */\nexport const wrCs: WrI18nCatalog = {\n common: {\n ok: 'OK',\n cancel: 'Zrušit',\n close: 'Zavřít',\n confirm: 'Potvrdit',\n delete: 'Smazat',\n save: 'Uložit',\n edit: 'Upravit',\n add: 'Přidat',\n remove: 'Odebrat',\n clear: 'Vymazat',\n search: 'Hledat',\n loading: 'Načítání…',\n select: 'Vybrat',\n next: 'Další',\n previous: 'Předchozí',\n back: 'Zpět',\n today: 'Dnes',\n yesterday: 'Včera',\n tomorrow: 'Zítra',\n of: 'z',\n },\n pagination: {\n prev: 'Předchozí stránka',\n next: 'Další stránka',\n itemsPerPage: 'Položek na stránku',\n perPage: '{{size}} / str.',\n goToPage: 'Přejít na stránku {{page}}',\n label: 'Stránkování',\n pageOf: 'Stránka {{current}} z {{total}}',\n range: '{{from}}–{{to}} z {{total}}',\n compact: '{{current}} / {{total}}',\n },\n table: {\n empty: 'Žádná data',\n loading: 'Načítání…',\n sort: 'Seřadit sloupec',\n filter: 'Filtrovat sloupec',\n selectAll: 'Vybrat všechny řádky',\n selectRow: 'Vybrat řádek',\n expandRow: 'Přepnout podrobnosti řádku',\n toggleRow: 'Přepnout podřízené řádky',\n selectGroup: 'Vybrat skupinu',\n toggleGroup: 'Přepnout skupinu',\n noMatches: 'Žádné shody',\n search: 'Hledat',\n reset: 'Resetovat',\n },\n eventCalendar: {\n today: 'Dnes',\n previous: 'Předchozí',\n next: 'Další',\n month: 'Měsíc',\n week: 'Týden',\n day: 'Den',\n time: 'Čas',\n allDay: 'Celý den',\n label: 'Kalendář',\n more: 'Další: {{count}}',\n header: '{{month}} {{year}}',\n range: '{{from}} – {{to}}',\n chipLabel: '{{title}}, {{time}}',\n slotLabel: '{{time}} — {{date}}',\n allDayCellLabel: '{{label}} — {{date}}',\n },\n tour: {\n next: 'Další',\n back: 'Zpět',\n done: 'Hotovo',\n skip: 'Přeskočit',\n progress: 'Krok {{current}} z {{total}}',\n },\n splitter: {\n divider: 'Změnit velikost panelů',\n },\n stepper: {\n optional: 'nepovinné',\n },\n transfer: {\n source: 'Dostupné',\n target: 'Vybrané',\n search: 'Hledat',\n empty: 'Nic tu není',\n selectAll: 'Vybrat vše',\n toTarget: 'Přesunout mezi vybrané',\n toSource: 'Vrátit mezi dostupné',\n count: '{{checked}} / {{total}}',\n selectAllAria: '{{pane}} — {{action}}',\n },\n form: {\n optional: 'nepovinné',\n },\n validation: {\n required: 'Toto pole je povinné.',\n requiredTrue: 'Toto pole musí být zaškrtnuté.',\n email: 'Zadejte platnou e-mailovou adresu.',\n minlength: 'Minimální počet znaků: {{requiredLength}}.',\n maxlength: 'Maximální počet znaků: {{requiredLength}}.',\n min: 'Zadejte {{min}} nebo více.',\n max: 'Zadejte {{max}} nebo méně.',\n pattern: 'Hodnota nemá očekávaný formát.',\n noWhitespace: 'Hodnota nesmí obsahovat mezery.',\n hexColor: 'Zadejte barvu ve formátu #1a2b3c.',\n url: 'Zadejte platnou adresu URL.',\n cardNumber: 'Zadejte platné číslo karty.',\n cvc: 'Zadejte {{length}}místný bezpečnostní kód.',\n iban: 'Zadejte platný IBAN.',\n match: 'Hodnoty se neshodují.',\n matchFields: 'Tato pole se neshodují.',\n oneOf: 'Vyberte jednu z povolených hodnot.',\n minDate: 'Vyberte pozdější datum.',\n maxDate: 'Vyberte dřívější datum.',\n },\n select: {\n label: 'Vybrat',\n placeholder: 'Vyberte…',\n empty: 'Žádné možnosti',\n clearSelection: 'Zrušit výběr',\n removeItem: 'Odebrat {{label}}',\n noResults: 'Žádné výsledky',\n loading: 'Načítání…',\n more: 'Další: {{count}}',\n },\n tree: {\n expand: 'Rozbalit',\n collapse: 'Sbalit',\n placeholder: 'Vyberte…',\n clearSelection: 'Zrušit výběr',\n removeItem: 'Odebrat {{label}}',\n more: 'Další: {{count}}',\n },\n commandPalette: {\n label: 'Paleta příkazů',\n placeholder: 'Zadejte příkaz nebo hledejte…',\n noResults: 'Žádné výsledky',\n loading: 'Hledání…',\n escHint: 'esc',\n },\n empty: {\n noData: 'Žádná data',\n },\n fileUpload: {\n browse: 'Kliknutím vyberte',\n dropZone: 'nebo sem přetáhněte soubory',\n dropZoneLabel: 'Zóna pro nahrání souborů — klikněte nebo přetáhněte soubory',\n removeFile: 'Odebrat soubor',\n invalid: 'Nepodporovaný typ souboru',\n tooBig: 'Soubor je příliš velký',\n size: '{{value}} {{unit}}',\n unitByte: 'B',\n unitKb: 'kB',\n unitMb: 'MB',\n unitGb: 'GB',\n unitTb: 'TB',\n },\n popconfirm: {\n label: 'Potvrzení akce',\n confirm: 'Potvrdit',\n cancel: 'Zrušit',\n },\n toast: {\n region: 'Oznámení',\n close: 'Zavřít',\n copy: 'Kopírovat',\n copied: 'Zkopírováno',\n closeAll: 'Zavřít vše',\n },\n input: {\n showPassword: 'Zobrazit heslo',\n hidePassword: 'Skrýt heslo',\n },\n inputNumber: {\n increment: 'Zvýšit',\n decrement: 'Snížit',\n },\n inputOtp: {\n label: 'Ověřovací kód',\n digit: 'Číslice {{index}}',\n character: 'Znak {{index}}',\n },\n anchor: {\n label: 'Obsah',\n },\n avatar: {\n alt: 'Avatar',\n },\n backTop: {\n label: 'Zpět nahoru',\n },\n breadcrumbs: {\n label: 'Drobečková navigace',\n },\n burger: {\n label: 'Přepnout nabídku',\n },\n calendar: {\n prevMonth: 'Předchozí měsíc',\n nextMonth: 'Další měsíc',\n prevYear: 'Předchozí rok',\n nextYear: 'Další rok',\n monthList: 'Měsíce',\n yearList: 'Roky',\n prevYears: 'Předchozích 12 let',\n nextYears: 'Dalších 12 let',\n header: '{{month}} {{year}}',\n yearRange: '{{from}} – {{to}}',\n dayLabel: '{{weekday}}, {{date}}',\n },\n imageCropper: {\n empty: 'Žádný obrázek',\n window: 'Oblast oříznutí',\n keyHelp:\n 'Šipky posouvají výřez. Alt se šipkou mění jeho velikost, Shift zvětšuje krok. ' +\n 'Výřez se oznamuje jako pozice zleva, pozice shora, šířka a výška v pixelech obrázku.',\n },\n sortableList: {\n keyHelp:\n 'Mezerníkem položku uchopíte, šipkami ji přesunete. ' +\n 'Dalším stisknutím mezerníku ji položíte, klávesou Escape ji vrátíte zpět.',\n grabbed: 'Uchopeno. {{index}} z {{total}}.',\n moved: '{{index}} z {{total}}.',\n dropped: 'Položeno. {{index}} z {{total}}.',\n cancelled: 'Přesun zrušen.',\n },\n colorPicker: {\n area: 'Sytost a jas, {{saturation}} % a {{brightness}} %',\n hue: 'Odstín',\n alpha: 'Krytí',\n formatHex: 'HEX',\n formatRgb: 'RGB',\n formatHsl: 'HSL',\n channelHex: 'HEX',\n channelRed: 'R',\n channelGreen: 'G',\n channelBlue: 'B',\n channelHue: 'H',\n channelSaturation: 'S%',\n channelLightness: 'L%',\n channelAlpha: 'A%',\n },\n calendarHeatmap: {\n label: 'Kalendářní tepelná mapa',\n cell: '{{date}}: {{count}}',\n },\n lineChart: {\n label: 'Spojnicový graf',\n thousands: '{{value}} tis.',\n },\n donutChart: {\n label: 'Prstencový graf',\n },\n compare: {\n label: 'Oddělovač porovnání',\n },\n carousel: {\n label: 'Karusel',\n goToSlide: 'Přejít na snímek {{index}}',\n prev: 'Předchozí snímek',\n next: 'Další snímek',\n pagination: 'Stránkování karuselu',\n roledescription: 'karusel',\n slideRoledescription: 'snímek',\n },\n actionSheet: {\n label: 'Akce',\n },\n alert: {\n close: 'Zavřít upozornění',\n },\n qr: {\n label: 'QR kód',\n },\n image: {\n viewer: 'Náhled obrázku',\n open: 'Otevřít náhled',\n close: 'Zavřít náhled',\n },\n window: {\n close: 'Zavřít',\n minimize: 'Minimalizovat',\n maximize: 'Maximalizovat',\n restore: 'Obnovit',\n restoreDown: 'Obnovit velikost',\n restoreWindow: 'Obnovit {{title}}',\n closeWindow: 'Zavřít okno',\n untitled: 'Bez názvu',\n taskbar: 'Minimalizovaná okna',\n },\n dialog: {\n close: 'Zavřít dialog',\n },\n popover: {\n label: 'Vyskakovací panel',\n },\n markdown: {\n copy: 'Kopírovat kód',\n copied: 'Zkopírováno',\n taskDone: 'Splněno:',\n taskTodo: 'Nesplněno:',\n },\n marquee: {\n label: 'Běžící text',\n link: 'odkaz',\n },\n mention: {\n listbox: 'Zmínky',\n available: 'Počet shod: {{count}}',\n inserted: 'Vloženo: {{label}}',\n },\n drawer: {\n close: 'Zavřít vysouvací panel',\n },\n datePicker: {\n open: 'Otevřít kalendář',\n openTime: 'Otevřít výběr času',\n openDateTime: 'Otevřít výběr data a času',\n openRange: 'Otevřít kalendář pro výběr období',\n panel: 'Výběr data',\n panelTime: 'Výběr času',\n panelDateTime: 'Výběr data a času',\n panelRange: 'Výběr období',\n panelRangeDateTime: 'Výběr období a času',\n rangeStart: 'Začátek období',\n rangeEnd: 'Konec období',\n startTime: 'Čas začátku',\n endTime: 'Čas konce',\n hours: 'Hodiny',\n minutes: 'Minuty',\n seconds: 'Sekundy',\n incrementHours: 'Zvýšit hodiny',\n decrementHours: 'Snížit hodiny',\n incrementMinutes: 'Zvýšit minuty',\n decrementMinutes: 'Snížit minuty',\n incrementSeconds: 'Zvýšit sekundy',\n decrementSeconds: 'Snížit sekundy',\n toggleAmPm: 'Přepnout dop. / odp.',\n am: 'dop.',\n pm: 'odp.',\n },\n sidebar: {\n label: 'Postranní panel',\n },\n spinner: {\n label: 'Načítání',\n },\n rating: {\n label: 'Hodnocení',\n },\n gauge: {\n label: 'Ukazatel',\n },\n graph: {\n label: 'Graf',\n parents: 'Rodiče: {{names}}.',\n children: 'Potomci: {{names}}.',\n },\n progress: {\n label: 'Průběh',\n },\n meterGroup: {\n label: 'Měřidlo',\n },\n knob: {\n label: 'Hodnota',\n },\n slider: {\n label: 'Hodnota',\n lower: 'Dolní hodnota',\n upper: 'Horní hodnota',\n },\n speedDial: {\n label: 'Akce',\n },\n statistic: {\n delta: '{{value}}{{suffix}}',\n deltaSuffix: '%',\n },\n result: {\n notFound: 'Omlouváme se, požadovaná stránka neexistuje.',\n forbidden: 'Omlouváme se, k této stránce nemáte přístup.',\n serverError: 'Omlouváme se, něco se pokazilo.',\n },\n date: {\n months: {\n jan: 'leden',\n feb: 'únor',\n mar: 'březen',\n apr: 'duben',\n may: 'květen',\n jun: 'červen',\n jul: 'červenec',\n aug: 'srpen',\n sep: 'září',\n oct: 'říjen',\n nov: 'listopad',\n dec: 'prosinec',\n },\n },\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -365,6 +365,11 @@ const wrDe = {
365
365
  gauge: {
366
366
  label: 'Messanzeige',
367
367
  },
368
+ graph: {
369
+ label: 'Graph',
370
+ parents: 'Übergeordnet: {{names}}.',
371
+ children: 'Untergeordnet: {{names}}.',
372
+ },
368
373
  progress: {
369
374
  label: 'Fortschritt',
370
375
  },