ngwr 14.2.0 → 14.3.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 (120) hide show
  1. package/README.md +23 -22
  2. package/fesm2022/ngwr-calendar.mjs +4 -2
  3. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  4. package/fesm2022/ngwr-event-calendar.mjs +17 -5
  5. package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
  6. package/fesm2022/ngwr-form.mjs +30 -1
  7. package/fesm2022/ngwr-form.mjs.map +1 -1
  8. package/fesm2022/ngwr-i18n-ar.mjs +429 -0
  9. package/fesm2022/ngwr-i18n-ar.mjs.map +1 -0
  10. package/fesm2022/ngwr-i18n-cs.mjs +399 -0
  11. package/fesm2022/ngwr-i18n-cs.mjs.map +1 -0
  12. package/fesm2022/ngwr-i18n-de.mjs +418 -0
  13. package/fesm2022/ngwr-i18n-de.mjs.map +1 -0
  14. package/fesm2022/ngwr-i18n-en.mjs +23 -0
  15. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  16. package/fesm2022/ngwr-i18n-es.mjs +399 -0
  17. package/fesm2022/ngwr-i18n-es.mjs.map +1 -0
  18. package/fesm2022/ngwr-i18n-fr.mjs +423 -0
  19. package/fesm2022/ngwr-i18n-fr.mjs.map +1 -0
  20. package/fesm2022/ngwr-i18n-he.mjs +422 -0
  21. package/fesm2022/ngwr-i18n-he.mjs.map +1 -0
  22. package/fesm2022/ngwr-i18n-hi.mjs +399 -0
  23. package/fesm2022/ngwr-i18n-hi.mjs.map +1 -0
  24. package/fesm2022/ngwr-i18n-id.mjs +399 -0
  25. package/fesm2022/ngwr-i18n-id.mjs.map +1 -0
  26. package/fesm2022/ngwr-i18n-it.mjs +418 -0
  27. package/fesm2022/ngwr-i18n-it.mjs.map +1 -0
  28. package/fesm2022/ngwr-i18n-ja.mjs +403 -0
  29. package/fesm2022/ngwr-i18n-ja.mjs.map +1 -0
  30. package/fesm2022/ngwr-i18n-ko.mjs +411 -0
  31. package/fesm2022/ngwr-i18n-ko.mjs.map +1 -0
  32. package/fesm2022/ngwr-i18n-nl.mjs +415 -0
  33. package/fesm2022/ngwr-i18n-nl.mjs.map +1 -0
  34. package/fesm2022/ngwr-i18n-pl.mjs +425 -0
  35. package/fesm2022/ngwr-i18n-pl.mjs.map +1 -0
  36. package/fesm2022/ngwr-i18n-pt.mjs +408 -0
  37. package/fesm2022/ngwr-i18n-pt.mjs.map +1 -0
  38. package/fesm2022/ngwr-i18n-ru.mjs +11 -0
  39. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  40. package/fesm2022/ngwr-i18n-sv.mjs +399 -0
  41. package/fesm2022/ngwr-i18n-sv.mjs.map +1 -0
  42. package/fesm2022/ngwr-i18n-tr.mjs +423 -0
  43. package/fesm2022/ngwr-i18n-tr.mjs.map +1 -0
  44. package/fesm2022/ngwr-i18n-uk.mjs +420 -0
  45. package/fesm2022/ngwr-i18n-uk.mjs.map +1 -0
  46. package/fesm2022/ngwr-i18n-vi.mjs +416 -0
  47. package/fesm2022/ngwr-i18n-vi.mjs.map +1 -0
  48. package/fesm2022/ngwr-i18n-zh-TW.mjs +407 -0
  49. package/fesm2022/ngwr-i18n-zh-TW.mjs.map +1 -0
  50. package/fesm2022/ngwr-i18n-zh.mjs +398 -0
  51. package/fesm2022/ngwr-i18n-zh.mjs.map +1 -0
  52. package/fesm2022/ngwr-line-chart.mjs +24 -4
  53. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  54. package/fesm2022/ngwr-pipes.mjs +75 -10
  55. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  56. package/fesm2022/ngwr-schema-form.mjs +185 -0
  57. package/fesm2022/ngwr-schema-form.mjs.map +1 -0
  58. package/fesm2022/ngwr-select.mjs +2 -2
  59. package/fesm2022/ngwr-select.mjs.map +1 -1
  60. package/fesm2022/ngwr-validators.mjs +8 -1
  61. package/fesm2022/ngwr-validators.mjs.map +1 -1
  62. package/fesm2022/ngwr-version.mjs +1 -1
  63. package/fesm2022/ngwr-version.mjs.map +1 -1
  64. package/i18n/ar.json +389 -0
  65. package/i18n/cs.json +389 -0
  66. package/i18n/de.json +389 -0
  67. package/i18n/en.json +10 -2
  68. package/i18n/es.json +389 -0
  69. package/i18n/fr.json +389 -0
  70. package/i18n/he.json +389 -0
  71. package/i18n/hi.json +389 -0
  72. package/i18n/id.json +389 -0
  73. package/i18n/it.json +389 -0
  74. package/i18n/ja.json +389 -0
  75. package/i18n/ko.json +389 -0
  76. package/i18n/nl.json +389 -0
  77. package/i18n/pl.json +389 -0
  78. package/i18n/pt.json +389 -0
  79. package/i18n/ru.json +10 -2
  80. package/i18n/sv.json +389 -0
  81. package/i18n/tr.json +389 -0
  82. package/i18n/uk.json +389 -0
  83. package/i18n/vi.json +389 -0
  84. package/i18n/zh-TW.json +389 -0
  85. package/i18n/zh.json +389 -0
  86. package/llms-full.txt +87 -1
  87. package/llms.txt +1 -1
  88. package/package.json +89 -7
  89. package/schema-form/styles/_index.scss +15 -0
  90. package/schematics/use/symbol-map.json +1 -0
  91. package/skills/ngwr/SKILL.md +1 -1
  92. package/skills/ngwr/references/catalog.md +21 -0
  93. package/styles.scss +1 -0
  94. package/types/ngwr-calendar.d.ts +2 -0
  95. package/types/ngwr-event-calendar.d.ts +5 -0
  96. package/types/ngwr-form.d.ts +88 -2
  97. package/types/ngwr-i18n-ar.d.ts +6 -0
  98. package/types/ngwr-i18n-cs.d.ts +6 -0
  99. package/types/ngwr-i18n-de.d.ts +6 -0
  100. package/types/ngwr-i18n-es.d.ts +6 -0
  101. package/types/ngwr-i18n-fr.d.ts +6 -0
  102. package/types/ngwr-i18n-he.d.ts +6 -0
  103. package/types/ngwr-i18n-hi.d.ts +6 -0
  104. package/types/ngwr-i18n-id.d.ts +6 -0
  105. package/types/ngwr-i18n-it.d.ts +6 -0
  106. package/types/ngwr-i18n-ja.d.ts +6 -0
  107. package/types/ngwr-i18n-ko.d.ts +6 -0
  108. package/types/ngwr-i18n-nl.d.ts +6 -0
  109. package/types/ngwr-i18n-pl.d.ts +6 -0
  110. package/types/ngwr-i18n-pt.d.ts +6 -0
  111. package/types/ngwr-i18n-sv.d.ts +6 -0
  112. package/types/ngwr-i18n-tr.d.ts +6 -0
  113. package/types/ngwr-i18n-uk.d.ts +6 -0
  114. package/types/ngwr-i18n-vi.d.ts +6 -0
  115. package/types/ngwr-i18n-zh-TW.d.ts +6 -0
  116. package/types/ngwr-i18n-zh.d.ts +6 -0
  117. package/types/ngwr-line-chart.d.ts +15 -0
  118. package/types/ngwr-pipes.d.ts +45 -4
  119. package/types/ngwr-schema-form.d.ts +90 -0
  120. package/types/ngwr-version.d.ts +1 -1
package/i18n/zh.json ADDED
@@ -0,0 +1,389 @@
1
+ {
2
+ "common": {
3
+ "ok": "确定",
4
+ "cancel": "取消",
5
+ "close": "关闭",
6
+ "confirm": "确认",
7
+ "delete": "删除",
8
+ "save": "保存",
9
+ "edit": "编辑",
10
+ "add": "添加",
11
+ "remove": "移除",
12
+ "clear": "清除",
13
+ "search": "搜索",
14
+ "loading": "加载中…",
15
+ "select": "选择",
16
+ "next": "下一步",
17
+ "previous": "上一步",
18
+ "back": "返回",
19
+ "today": "今天",
20
+ "yesterday": "昨天",
21
+ "tomorrow": "明天",
22
+ "of": "共"
23
+ },
24
+ "pagination": {
25
+ "prev": "上一页",
26
+ "next": "下一页",
27
+ "itemsPerPage": "每页条数",
28
+ "perPage": "{{size}} 条/页",
29
+ "goToPage": "跳转到第 {{page}} 页",
30
+ "label": "分页",
31
+ "pageOf": "第 {{current}} 页,共 {{total}} 页",
32
+ "range": "{{from}}–{{to}},共 {{total}} 条",
33
+ "compact": "{{current}} / {{total}}"
34
+ },
35
+ "table": {
36
+ "empty": "暂无数据",
37
+ "loading": "加载中…",
38
+ "sort": "对此列排序",
39
+ "filter": "筛选此列",
40
+ "selectAll": "选择所有行",
41
+ "selectRow": "选择行",
42
+ "expandRow": "展开或收起行详情",
43
+ "toggleRow": "展开或收起子行",
44
+ "selectGroup": "选择分组",
45
+ "toggleGroup": "展开或收起分组",
46
+ "noMatches": "无匹配结果",
47
+ "search": "搜索",
48
+ "reset": "重置"
49
+ },
50
+ "eventCalendar": {
51
+ "today": "今天",
52
+ "previous": "上一个",
53
+ "next": "下一个",
54
+ "month": "月",
55
+ "week": "周",
56
+ "day": "日",
57
+ "time": "时间",
58
+ "allDay": "全天",
59
+ "label": "日历",
60
+ "more": "+{{count}} 项",
61
+ "header": "{{year}}年{{month}}",
62
+ "range": "{{from}} – {{to}}",
63
+ "chipLabel": "{{title}},{{time}}",
64
+ "slotLabel": "{{date}} {{time}}",
65
+ "allDayCellLabel": "{{date}} {{label}}"
66
+ },
67
+ "tour": {
68
+ "next": "下一步",
69
+ "back": "上一步",
70
+ "done": "完成",
71
+ "skip": "跳过引导",
72
+ "progress": "第 {{current}} 步,共 {{total}} 步"
73
+ },
74
+ "splitter": {
75
+ "divider": "调整面板大小"
76
+ },
77
+ "stepper": {
78
+ "optional": "可选"
79
+ },
80
+ "transfer": {
81
+ "source": "待选",
82
+ "target": "已选",
83
+ "search": "搜索",
84
+ "empty": "暂无内容",
85
+ "selectAll": "全选",
86
+ "toTarget": "移至已选",
87
+ "toSource": "移回待选",
88
+ "count": "{{checked}} / {{total}}"
89
+ },
90
+ "form": {
91
+ "optional": "选填"
92
+ },
93
+ "validation": {
94
+ "required": "此项为必填项。",
95
+ "requiredTrue": "请勾选此项。",
96
+ "email": "请输入有效的电子邮箱地址。",
97
+ "minlength": "请至少输入 {{requiredLength}} 个字符。",
98
+ "maxlength": "最多可输入 {{requiredLength}} 个字符。",
99
+ "min": "请输入不小于 {{min}} 的值。",
100
+ "max": "请输入不大于 {{max}} 的值。",
101
+ "pattern": "此值的格式不正确。",
102
+ "noWhitespace": "此值不能包含空格。",
103
+ "hexColor": "请输入十六进制颜色值,例如 #1a2b3c。",
104
+ "url": "请输入有效的网址。",
105
+ "cardNumber": "请输入有效的卡号。",
106
+ "cvc": "请输入 {{length}} 位安全码。",
107
+ "iban": "请输入有效的 IBAN。",
108
+ "match": "两个值不一致。",
109
+ "matchFields": "这些字段的值不一致。",
110
+ "oneOf": "请从允许的值中选择。",
111
+ "minDate": "请选择更晚的日期。",
112
+ "maxDate": "请选择更早的日期。"
113
+ },
114
+ "select": {
115
+ "label": "选择",
116
+ "placeholder": "请选择",
117
+ "empty": "暂无选项",
118
+ "clearSelection": "清除选择",
119
+ "removeItem": "移除 {{label}}",
120
+ "noResults": "无搜索结果",
121
+ "loading": "加载中…",
122
+ "more": "+{{count}} 项"
123
+ },
124
+ "tree": {
125
+ "expand": "展开",
126
+ "collapse": "收起",
127
+ "placeholder": "请选择",
128
+ "clearSelection": "清除选择",
129
+ "removeItem": "移除 {{label}}",
130
+ "more": "+{{count}} 项"
131
+ },
132
+ "commandPalette": {
133
+ "label": "命令面板",
134
+ "placeholder": "输入命令或搜索…",
135
+ "noResults": "无搜索结果",
136
+ "loading": "搜索中…",
137
+ "escHint": "esc"
138
+ },
139
+ "empty": {
140
+ "noData": "暂无数据"
141
+ },
142
+ "fileUpload": {
143
+ "browse": "点击选择文件",
144
+ "dropZone": "或将文件拖放到此处",
145
+ "dropZoneLabel": "文件拖放区域,点击或拖放文件",
146
+ "removeFile": "移除文件",
147
+ "invalid": "不支持的文件类型",
148
+ "tooBig": "文件过大",
149
+ "size": "{{value}} {{unit}}",
150
+ "unitByte": "B",
151
+ "unitKb": "KB",
152
+ "unitMb": "MB",
153
+ "unitGb": "GB",
154
+ "unitTb": "TB"
155
+ },
156
+ "popconfirm": {
157
+ "label": "确认操作",
158
+ "confirm": "确认",
159
+ "cancel": "取消"
160
+ },
161
+ "toast": {
162
+ "region": "通知",
163
+ "close": "关闭",
164
+ "copy": "复制",
165
+ "copied": "已复制",
166
+ "closeAll": "全部关闭"
167
+ },
168
+ "input": {
169
+ "showPassword": "显示密码",
170
+ "hidePassword": "隐藏密码"
171
+ },
172
+ "inputNumber": {
173
+ "increment": "增加",
174
+ "decrement": "减少"
175
+ },
176
+ "inputOtp": {
177
+ "label": "验证码",
178
+ "digit": "第 {{index}} 位数字",
179
+ "character": "第 {{index}} 个字符"
180
+ },
181
+ "anchor": {
182
+ "label": "目录"
183
+ },
184
+ "avatar": {
185
+ "alt": "头像"
186
+ },
187
+ "backTop": {
188
+ "label": "返回顶部"
189
+ },
190
+ "breadcrumbs": {
191
+ "label": "面包屑导航"
192
+ },
193
+ "burger": {
194
+ "label": "打开或关闭菜单"
195
+ },
196
+ "calendar": {
197
+ "prevMonth": "上个月",
198
+ "nextMonth": "下个月",
199
+ "prevYear": "上一年",
200
+ "nextYear": "下一年",
201
+ "monthList": "月份",
202
+ "yearList": "年份",
203
+ "prevYears": "前 12 年",
204
+ "nextYears": "后 12 年",
205
+ "header": "{{year}}年{{month}}",
206
+ "yearRange": "{{from}} – {{to}}",
207
+ "dayLabel": "{{date}} {{weekday}}"
208
+ },
209
+ "imageCropper": {
210
+ "empty": "暂无图片",
211
+ "window": "裁剪区域",
212
+ "keyHelp": "方向键移动裁剪框。按住 Alt 加方向键可调整大小,按住 Shift 可加大步长。裁剪框会以图像像素为单位,依次朗读左、上、宽、高四个值。"
213
+ },
214
+ "sortableList": {
215
+ "keyHelp": "按空格键拿起此项,然后用方向键移动。再次按空格键放下,或按 Esc 键放回原位。",
216
+ "grabbed": "已拿起。第 {{index}} 项,共 {{total}} 项。",
217
+ "moved": "第 {{index}} 项,共 {{total}} 项。",
218
+ "dropped": "已放下。第 {{index}} 项,共 {{total}} 项。",
219
+ "cancelled": "已取消移动。"
220
+ },
221
+ "colorPicker": {
222
+ "area": "饱和度 {{saturation}}%,明度 {{brightness}}%",
223
+ "hue": "色相",
224
+ "alpha": "不透明度",
225
+ "formatHex": "HEX",
226
+ "formatRgb": "RGB",
227
+ "formatHsl": "HSL",
228
+ "channelHex": "HEX",
229
+ "channelRed": "R",
230
+ "channelGreen": "G",
231
+ "channelBlue": "B",
232
+ "channelHue": "H",
233
+ "channelSaturation": "S%",
234
+ "channelLightness": "L%",
235
+ "channelAlpha": "A%"
236
+ },
237
+ "calendarHeatmap": {
238
+ "label": "日历热力图"
239
+ },
240
+ "lineChart": {
241
+ "label": "折线图",
242
+ "thousands": "{{value}}千"
243
+ },
244
+ "donutChart": {
245
+ "label": "环形图"
246
+ },
247
+ "compare": {
248
+ "label": "对比分隔条"
249
+ },
250
+ "carousel": {
251
+ "label": "轮播图",
252
+ "goToSlide": "转到第 {{index}} 张幻灯片",
253
+ "prev": "上一张幻灯片",
254
+ "next": "下一张幻灯片",
255
+ "pagination": "轮播分页",
256
+ "roledescription": "轮播图",
257
+ "slideRoledescription": "幻灯片"
258
+ },
259
+ "actionSheet": {
260
+ "label": "操作"
261
+ },
262
+ "alert": {
263
+ "close": "关闭提示"
264
+ },
265
+ "qr": {
266
+ "label": "二维码"
267
+ },
268
+ "image": {
269
+ "viewer": "图片预览",
270
+ "open": "打开预览",
271
+ "close": "关闭预览"
272
+ },
273
+ "window": {
274
+ "close": "关闭",
275
+ "minimize": "最小化",
276
+ "maximize": "最大化",
277
+ "restore": "还原",
278
+ "restoreDown": "向下还原",
279
+ "restoreWindow": "还原 {{title}}",
280
+ "closeWindow": "关闭窗口",
281
+ "untitled": "无标题",
282
+ "taskbar": "已最小化的窗口"
283
+ },
284
+ "dialog": {
285
+ "close": "关闭对话框"
286
+ },
287
+ "popover": {
288
+ "label": "弹出面板"
289
+ },
290
+ "markdown": {
291
+ "copy": "复制代码",
292
+ "copied": "已复制",
293
+ "taskDone": "已完成:",
294
+ "taskTodo": "待办:"
295
+ },
296
+ "marquee": {
297
+ "label": "跑马灯",
298
+ "link": "链接"
299
+ },
300
+ "mention": {
301
+ "listbox": "提及",
302
+ "available": "匹配项:{{count}}",
303
+ "inserted": "已插入:{{label}}"
304
+ },
305
+ "drawer": {
306
+ "close": "关闭抽屉"
307
+ },
308
+ "datePicker": {
309
+ "open": "打开日历",
310
+ "openTime": "打开时间选择器",
311
+ "openDateTime": "打开日期时间选择器",
312
+ "openRange": "打开日期范围日历",
313
+ "panel": "选择日期",
314
+ "panelTime": "选择时间",
315
+ "panelDateTime": "选择日期和时间",
316
+ "panelRange": "选择日期范围",
317
+ "panelRangeDateTime": "选择日期和时间范围",
318
+ "rangeStart": "起始日期",
319
+ "rangeEnd": "结束日期",
320
+ "startTime": "开始时间",
321
+ "endTime": "结束时间",
322
+ "hours": "小时",
323
+ "minutes": "分钟",
324
+ "seconds": "秒",
325
+ "incrementHours": "增加小时",
326
+ "decrementHours": "减少小时",
327
+ "incrementMinutes": "增加分钟",
328
+ "decrementMinutes": "减少分钟",
329
+ "incrementSeconds": "增加秒",
330
+ "decrementSeconds": "减少秒",
331
+ "toggleAmPm": "切换上午/下午",
332
+ "am": "上午",
333
+ "pm": "下午"
334
+ },
335
+ "sidebar": {
336
+ "label": "侧边栏"
337
+ },
338
+ "spinner": {
339
+ "label": "加载中"
340
+ },
341
+ "rating": {
342
+ "label": "评分"
343
+ },
344
+ "gauge": {
345
+ "label": "仪表盘"
346
+ },
347
+ "progress": {
348
+ "label": "进度"
349
+ },
350
+ "meterGroup": {
351
+ "label": "计量条"
352
+ },
353
+ "knob": {
354
+ "label": "数值"
355
+ },
356
+ "slider": {
357
+ "label": "数值",
358
+ "lower": "下限值",
359
+ "upper": "上限值"
360
+ },
361
+ "speedDial": {
362
+ "label": "操作"
363
+ },
364
+ "statistic": {
365
+ "delta": "{{value}}{{suffix}}",
366
+ "deltaSuffix": "%"
367
+ },
368
+ "result": {
369
+ "notFound": "抱歉,您访问的页面不存在。",
370
+ "forbidden": "抱歉,您无权访问此页面。",
371
+ "serverError": "抱歉,出错了。"
372
+ },
373
+ "date": {
374
+ "months": {
375
+ "jan": "一月",
376
+ "feb": "二月",
377
+ "mar": "三月",
378
+ "apr": "四月",
379
+ "may": "五月",
380
+ "jun": "六月",
381
+ "jul": "七月",
382
+ "aug": "八月",
383
+ "sep": "九月",
384
+ "oct": "十月",
385
+ "nov": "十一月",
386
+ "dec": "十二月"
387
+ }
388
+ }
389
+ }
package/llms-full.txt CHANGED
@@ -394,7 +394,7 @@
394
394
  ## ngwr/form
395
395
  - import: `import { WrFormItem } from 'ngwr/form'`
396
396
  - selector: `wr-form-error`, `wr-form-field`, `wr-form-item`
397
- - exports: WrFormItem, WrFormField, WrFormError, WR_FORM_FIELD, WrFormFieldContext, useFormFieldAria, WrFormFieldAria, WR_FORM_ERRORS, WR_FORM_ERROR_FALLBACKS, provideWrFormErrors, WrFormErrorContext, WrFormErrorMessage, WrFormErrorMessages
397
+ - exports: WrFormItem, WrFormField, WrFormError, WR_FORM_FIELD, WrFormFieldContext, useFormFieldAria, WrFormFieldAria, WR_FORM_ERRORS, WR_FORM_ERROR_FALLBACKS, provideWrFormErrors, WrFormErrorContext, WrFormErrorMessage, WrFormErrorMessages, WR_FIELD, wrFieldLabel, WrFieldKind, WrFieldOption, WrFieldSpec
398
398
  - `<wr-form-item>` — the bare layout wrapper: it stacks a label, a control and an error message, and colours them red when you tell it to. It reads nothing about the control. Its richer sibling `<wr-form-field>` has its own page, and is the one to reach for by default.
399
399
 
400
400
  ## ngwr/form/testing
@@ -453,14 +453,94 @@
453
453
  - exports: WrI18n, WrTPipe, WrTDirective, WR_I18N_CONFIG, DEFAULT_WR_I18N_CONFIG, WrI18nCatalog, WrI18nConfig, WrI18nConfigResolved, WrI18nParams, WrI18nMissingHandler, WR_I18N_LOADER, WrI18nLoader, WR_I18N_BASE_CATALOGS, WrI18nBaseCatalogs, WrI18nStaticLoader, WrI18nStaticCatalogs, WrI18nStaticScopedCatalogs, WrI18nHttpLoader, WrI18nHttpLoaderConfig, provideWrI18n, provideWrI18nBaseCatalogs, provideWrI18nStaticLoader, provideWrI18nHttpLoader, ProvideWrI18nOptions, useI18nText, readI18nText, useI18nFormatter
454
454
  - Reactive i18n service. Active locale lives on a signal, catalogs load lazily through a swappable loader (HTTP or static), and double-brace placeholders interpolate at render time. Scopes let feature modules ship and load their own catalogs.
455
455
 
456
+ ## ngwr/i18n/ar
457
+ - import: `import { wrAr } from 'ngwr/i18n/ar'`
458
+ - exports: wrAr
459
+
460
+ ## ngwr/i18n/cs
461
+ - import: `import { wrCs } from 'ngwr/i18n/cs'`
462
+ - exports: wrCs
463
+
464
+ ## ngwr/i18n/de
465
+ - import: `import { wrDe } from 'ngwr/i18n/de'`
466
+ - exports: wrDe
467
+
456
468
  ## ngwr/i18n/en
457
469
  - import: `import { wrEn } from 'ngwr/i18n/en'`
458
470
  - exports: wrEn
459
471
 
472
+ ## ngwr/i18n/es
473
+ - import: `import { wrEs } from 'ngwr/i18n/es'`
474
+ - exports: wrEs
475
+
476
+ ## ngwr/i18n/fr
477
+ - import: `import { wrFr } from 'ngwr/i18n/fr'`
478
+ - exports: wrFr
479
+
480
+ ## ngwr/i18n/he
481
+ - import: `import { wrHe } from 'ngwr/i18n/he'`
482
+ - exports: wrHe
483
+
484
+ ## ngwr/i18n/hi
485
+ - import: `import { wrHi } from 'ngwr/i18n/hi'`
486
+ - exports: wrHi
487
+
488
+ ## ngwr/i18n/id
489
+ - import: `import { wrId } from 'ngwr/i18n/id'`
490
+ - exports: wrId
491
+
492
+ ## ngwr/i18n/it
493
+ - import: `import { wrIt } from 'ngwr/i18n/it'`
494
+ - exports: wrIt
495
+
496
+ ## ngwr/i18n/ja
497
+ - import: `import { wrJa } from 'ngwr/i18n/ja'`
498
+ - exports: wrJa
499
+
500
+ ## ngwr/i18n/ko
501
+ - import: `import { wrKo } from 'ngwr/i18n/ko'`
502
+ - exports: wrKo
503
+
504
+ ## ngwr/i18n/nl
505
+ - import: `import { wrNl } from 'ngwr/i18n/nl'`
506
+ - exports: wrNl
507
+
508
+ ## ngwr/i18n/pl
509
+ - import: `import { wrPl } from 'ngwr/i18n/pl'`
510
+ - exports: wrPl
511
+
512
+ ## ngwr/i18n/pt
513
+ - import: `import { wrPt } from 'ngwr/i18n/pt'`
514
+ - exports: wrPt
515
+
460
516
  ## ngwr/i18n/ru
461
517
  - import: `import { wrRu } from 'ngwr/i18n/ru'`
462
518
  - exports: wrRu
463
519
 
520
+ ## ngwr/i18n/sv
521
+ - import: `import { wrSv } from 'ngwr/i18n/sv'`
522
+ - exports: wrSv
523
+
524
+ ## ngwr/i18n/tr
525
+ - import: `import { wrTr } from 'ngwr/i18n/tr'`
526
+ - exports: wrTr
527
+
528
+ ## ngwr/i18n/uk
529
+ - import: `import { wrUk } from 'ngwr/i18n/uk'`
530
+ - exports: wrUk
531
+
532
+ ## ngwr/i18n/vi
533
+ - import: `import { wrVi } from 'ngwr/i18n/vi'`
534
+ - exports: wrVi
535
+
536
+ ## ngwr/i18n/zh
537
+ - import: `import { wrZh } from 'ngwr/i18n/zh'`
538
+ - exports: wrZh
539
+
540
+ ## ngwr/i18n/zh-TW
541
+ - import: `import { wrZhTw } from 'ngwr/i18n/zh-TW'`
542
+ - exports: wrZhTw
543
+
464
544
  ## ngwr/icon
465
545
  - import: `import { WrIcon } from 'ngwr/icon'`
466
546
  - selector: `wr-icon`
@@ -727,6 +807,12 @@
727
807
  - import: `import { WrRotatingTextHarness } from 'ngwr/rotating-text/testing'`
728
808
  - exports: WrRotatingTextHarness, WrRotatingTextHarnessFilters
729
809
 
810
+ ## ngwr/schema-form
811
+ - import: `import { WrSchemaForm } from 'ngwr/schema-form'`
812
+ - selector: `wr-schema-form`
813
+ - exports: WrSchemaForm
814
+ - A whole form drawn from a Signal Forms schema. The presentation rides on the same schema as the validation, through the `WR_FIELD` metadata key — so a form is one description, not two.
815
+
730
816
  ## ngwr/scroll
731
817
  - import: `import { WrScroll } from 'ngwr/scroll'`
732
818
  - exports: WrScroll, WrScrollTarget, WrScrollOptions
package/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # ngwr
2
2
 
3
3
  > Angular UI library — standalone, signals-first, zoneless, fully tree-shakable.
4
- > 204 secondary entry points, 174 component and directive classes, built on
4
+ > 225 secondary entry points, 174 component and directive classes, built on
5
5
  > `@angular/cdk` primitives. The only runtime dependency is `tslib`. Docs and
6
6
  > live demos: https://ngwr.dev — source: https://github.com/thekhegay/ngwr
7
7
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngwr",
3
- "version": "14.2.0",
3
+ "version": "14.3.0",
4
4
  "bin": {
5
5
  "ngwr-mcp": "mcp/server.js"
6
6
  },
@@ -34,7 +34,8 @@
34
34
  "homepage": "https://ngwr.dev",
35
35
  "repository": {
36
36
  "type": "git",
37
- "url": "git+https://github.com/thekhegay/ngwr.git"
37
+ "url": "git+https://github.com/thekhegay/ngwr.git",
38
+ "directory": "projects/lib"
38
39
  },
39
40
  "bugs": {
40
41
  "url": "https://github.com/thekhegay/ngwr/issues"
@@ -48,8 +49,7 @@
48
49
  "@angular/router": ">=22.0.0",
49
50
  "rxjs": "^7.0.0",
50
51
  "date-fns": "^3.0.0 || ^4.0.0",
51
- "luxon": "^3.0.0",
52
- "lucide": ">=1.0.0"
52
+ "luxon": "^3.0.0"
53
53
  },
54
54
  "peerDependenciesMeta": {
55
55
  "@angular/router": {
@@ -60,9 +60,6 @@
60
60
  },
61
61
  "luxon": {
62
62
  "optional": true
63
- },
64
- "lucide": {
65
- "optional": true
66
63
  }
67
64
  },
68
65
  "dependencies": {
@@ -465,6 +462,11 @@
465
462
  "types": "./types/ngwr-rotating-text.d.ts",
466
463
  "default": "./fesm2022/ngwr-rotating-text.mjs"
467
464
  },
465
+ "./schema-form": {
466
+ "sass": "./schema-form/styles/_index.scss",
467
+ "types": "./types/ngwr-schema-form.d.ts",
468
+ "default": "./fesm2022/ngwr-schema-form.mjs"
469
+ },
468
470
  "./segmented": {
469
471
  "sass": "./segmented/styles/_index.scss",
470
472
  "types": "./types/ngwr-segmented.d.ts",
@@ -801,14 +803,94 @@
801
803
  "types": "./types/ngwr-i18n.d.ts",
802
804
  "default": "./fesm2022/ngwr-i18n.mjs"
803
805
  },
806
+ "./i18n/ar": {
807
+ "types": "./types/ngwr-i18n-ar.d.ts",
808
+ "default": "./fesm2022/ngwr-i18n-ar.mjs"
809
+ },
810
+ "./i18n/cs": {
811
+ "types": "./types/ngwr-i18n-cs.d.ts",
812
+ "default": "./fesm2022/ngwr-i18n-cs.mjs"
813
+ },
814
+ "./i18n/de": {
815
+ "types": "./types/ngwr-i18n-de.d.ts",
816
+ "default": "./fesm2022/ngwr-i18n-de.mjs"
817
+ },
804
818
  "./i18n/en": {
805
819
  "types": "./types/ngwr-i18n-en.d.ts",
806
820
  "default": "./fesm2022/ngwr-i18n-en.mjs"
807
821
  },
822
+ "./i18n/es": {
823
+ "types": "./types/ngwr-i18n-es.d.ts",
824
+ "default": "./fesm2022/ngwr-i18n-es.mjs"
825
+ },
826
+ "./i18n/fr": {
827
+ "types": "./types/ngwr-i18n-fr.d.ts",
828
+ "default": "./fesm2022/ngwr-i18n-fr.mjs"
829
+ },
830
+ "./i18n/he": {
831
+ "types": "./types/ngwr-i18n-he.d.ts",
832
+ "default": "./fesm2022/ngwr-i18n-he.mjs"
833
+ },
834
+ "./i18n/hi": {
835
+ "types": "./types/ngwr-i18n-hi.d.ts",
836
+ "default": "./fesm2022/ngwr-i18n-hi.mjs"
837
+ },
838
+ "./i18n/id": {
839
+ "types": "./types/ngwr-i18n-id.d.ts",
840
+ "default": "./fesm2022/ngwr-i18n-id.mjs"
841
+ },
842
+ "./i18n/it": {
843
+ "types": "./types/ngwr-i18n-it.d.ts",
844
+ "default": "./fesm2022/ngwr-i18n-it.mjs"
845
+ },
846
+ "./i18n/ja": {
847
+ "types": "./types/ngwr-i18n-ja.d.ts",
848
+ "default": "./fesm2022/ngwr-i18n-ja.mjs"
849
+ },
850
+ "./i18n/ko": {
851
+ "types": "./types/ngwr-i18n-ko.d.ts",
852
+ "default": "./fesm2022/ngwr-i18n-ko.mjs"
853
+ },
854
+ "./i18n/nl": {
855
+ "types": "./types/ngwr-i18n-nl.d.ts",
856
+ "default": "./fesm2022/ngwr-i18n-nl.mjs"
857
+ },
858
+ "./i18n/pl": {
859
+ "types": "./types/ngwr-i18n-pl.d.ts",
860
+ "default": "./fesm2022/ngwr-i18n-pl.mjs"
861
+ },
862
+ "./i18n/pt": {
863
+ "types": "./types/ngwr-i18n-pt.d.ts",
864
+ "default": "./fesm2022/ngwr-i18n-pt.mjs"
865
+ },
808
866
  "./i18n/ru": {
809
867
  "types": "./types/ngwr-i18n-ru.d.ts",
810
868
  "default": "./fesm2022/ngwr-i18n-ru.mjs"
811
869
  },
870
+ "./i18n/sv": {
871
+ "types": "./types/ngwr-i18n-sv.d.ts",
872
+ "default": "./fesm2022/ngwr-i18n-sv.mjs"
873
+ },
874
+ "./i18n/tr": {
875
+ "types": "./types/ngwr-i18n-tr.d.ts",
876
+ "default": "./fesm2022/ngwr-i18n-tr.mjs"
877
+ },
878
+ "./i18n/uk": {
879
+ "types": "./types/ngwr-i18n-uk.d.ts",
880
+ "default": "./fesm2022/ngwr-i18n-uk.mjs"
881
+ },
882
+ "./i18n/vi": {
883
+ "types": "./types/ngwr-i18n-vi.d.ts",
884
+ "default": "./fesm2022/ngwr-i18n-vi.mjs"
885
+ },
886
+ "./i18n/zh": {
887
+ "types": "./types/ngwr-i18n-zh.d.ts",
888
+ "default": "./fesm2022/ngwr-i18n-zh.mjs"
889
+ },
890
+ "./i18n/zh-TW": {
891
+ "types": "./types/ngwr-i18n-zh-TW.d.ts",
892
+ "default": "./fesm2022/ngwr-i18n-zh-TW.mjs"
893
+ },
812
894
  "./icon/adapters/feather": {
813
895
  "types": "./types/ngwr-icon-adapters-feather.d.ts",
814
896
  "default": "./fesm2022/ngwr-icon-adapters-feather.mjs"
@@ -0,0 +1,15 @@
1
+ @use '../../theme/styles' as theme;
2
+
3
+ .wr-schema-form {
4
+ --wr-schema-form-gap: 1rem;
5
+
6
+ display: grid;
7
+ gap: var(--wr-schema-form-gap);
8
+ width: 100%;
9
+ }
10
+
11
+ .wr-schema-form__field {
12
+ // A grid item's default `min-width: auto` refuses to shrink below its
13
+ // content, so a long option label pushes the whole column past the form.
14
+ min-width: 0;
15
+ }
@@ -157,6 +157,7 @@
157
157
  "WrResult403": "ngwr/result",
158
158
  "WrResult500": "ngwr/result",
159
159
  "WrRotatingText": "ngwr/rotating-text",
160
+ "WrSchemaForm": "ngwr/schema-form",
160
161
  "WrScroll": "ngwr/scroll",
161
162
  "WrSegmented": "ngwr/segmented",
162
163
  "WrSelect": "ngwr/select",
@@ -5,7 +5,7 @@ description: Build Angular UIs with the ngwr component library (standalone, sign
5
5
 
6
6
  # ngwr
7
7
 
8
- An Angular 22 UI library: 204 tree-shakable entry points, 111 of them shipping a selector.
8
+ An Angular 22 UI library: 225 tree-shakable entry points, 112 of them shipping a selector.
9
9
  Standalone, signals-first, zoneless, `ViewEncapsulation.None`. One runtime
10
10
  dependency (`tslib`).
11
11