@almadar/std 16.230.0 → 16.232.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 (46) hide show
  1. package/behaviors/behaviors-registry.json +5214 -970
  2. package/behaviors/lolo/ui/core/atoms/std-form-advanced.lolo +36 -3
  3. package/behaviors/lolo/ui/core/atoms/std-language-picker.lolo +52 -0
  4. package/behaviors/lolo/ui/core/atoms/std-site-header.lolo +77 -15
  5. package/behaviors/lolo/ui/core/atoms/std-step-flow.lolo +1 -0
  6. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +38 -65
  7. package/behaviors/lolo/ui/core/molecules/ui-change-list.lolo +57 -0
  8. package/behaviors/lolo/ui/core/molecules/ui-commit-row.lolo +143 -0
  9. package/behaviors/lolo/ui/core/molecules/ui-header.lolo +1 -0
  10. package/behaviors/lolo/ui/core/molecules/ui-icon-button.lolo +105 -0
  11. package/behaviors/lolo/ui/core/molecules/ui-menu.lolo +1 -0
  12. package/behaviors/lolo/ui/core/molecules/ui-top-nav-item.lolo +53 -0
  13. package/behaviors/lolo/ui/core/molecules/ui-version-diff.lolo +19 -3
  14. package/behaviors/lolo/ui/core/organisms/ui-dock-layout.lolo +35 -5
  15. package/behaviors/lolo/ui/game/atoms/ui-canvas.lolo +1 -0
  16. package/behaviors/lolo-behavior-contracts.json +1 -1
  17. package/behaviors/registry/factory-signatures.json +1 -1
  18. package/behaviors/registry/ui/core/atoms/std-form-advanced.orb +52 -3
  19. package/behaviors/registry/ui/core/atoms/std-language-picker.orb +285 -0
  20. package/behaviors/registry/ui/core/atoms/std-site-header.orb +348 -74
  21. package/behaviors/registry/ui/core/atoms/std-step-flow.orb +2 -1
  22. package/behaviors/registry/ui/core/atoms/std-version-history.orb +470 -346
  23. package/behaviors/registry/ui/core/molecules/ui-change-list.orb +290 -0
  24. package/behaviors/registry/ui/core/molecules/ui-commit-row.orb +441 -0
  25. package/behaviors/registry/ui/core/molecules/ui-header.orb +43 -0
  26. package/behaviors/registry/ui/core/molecules/ui-icon-button.orb +418 -0
  27. package/behaviors/registry/ui/core/molecules/ui-menu.orb +13 -0
  28. package/behaviors/registry/ui/core/molecules/ui-top-nav-item.orb +277 -0
  29. package/behaviors/registry/ui/core/molecules/ui-version-diff.orb +109 -18
  30. package/behaviors/registry/ui/core/organisms/ui-dock-layout.orb +43 -5
  31. package/behaviors/registry/ui/game/atoms/ui-canvas.orb +8 -0
  32. package/dist/behaviors/exports-reader.js +3116 -2657
  33. package/dist/behaviors/functions/index.d.ts +437 -35
  34. package/dist/behaviors/functions/index.js +3100 -2657
  35. package/dist/behaviors/index.d.ts +1 -1
  36. package/dist/behaviors/index.js +3117 -2658
  37. package/dist/behaviors/query.js +3116 -2657
  38. package/dist/behaviors-embeddings.hash.json +3 -3
  39. package/dist/behaviors-embeddings.json +39 -7
  40. package/dist/behaviors-registry.json +5214 -970
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.js +3117 -2658
  43. package/dist/knob-embeddings.hash.json +3 -3
  44. package/dist/knob-embeddings.json +217 -13
  45. package/dist/registry/factory-signatures.json +1 -1
  46. package/package.json +2 -2
@@ -218,6 +218,12 @@
218
218
  {
219
219
  "category": "interaction",
220
220
  "config": {
221
+ "cancelLabel": {
222
+ "description": "Label on the cancel button; unset keeps the translated Cancel",
223
+ "label": "Cancel button",
224
+ "tier": "presentation",
225
+ "type": "string"
226
+ },
221
227
  "fieldValidation": {
222
228
  "default": [],
223
229
  "description": "Per-field rules (format, regex, length) shown inline on submit",
@@ -358,6 +364,40 @@
358
364
  "tier": "presentation",
359
365
  "type": "string"
360
366
  },
367
+ "newEntryLabel": {
368
+ "default": "New Entry",
369
+ "description": "Label on the button that starts another entry after a submit",
370
+ "label": "New entry button",
371
+ "tier": "presentation",
372
+ "type": "string"
373
+ },
374
+ "showCancel": {
375
+ "default": true,
376
+ "description": "Whether the form shows a cancel button",
377
+ "label": "Show cancel",
378
+ "tier": "presentation",
379
+ "type": "boolean"
380
+ },
381
+ "submitLabel": {
382
+ "description": "Label on the submit button; unset keeps the translated Save",
383
+ "label": "Submit button",
384
+ "tier": "presentation",
385
+ "type": "string"
386
+ },
387
+ "successMessage": {
388
+ "default": "Your form has been submitted successfully.",
389
+ "description": "Message shown after a successful submit",
390
+ "label": "Confirmation message",
391
+ "tier": "presentation",
392
+ "type": "string"
393
+ },
394
+ "successTitle": {
395
+ "default": "Form Submitted",
396
+ "description": "Heading shown after a successful submit",
397
+ "label": "Confirmation title",
398
+ "tier": "presentation",
399
+ "type": "string"
400
+ },
361
401
  "title": {
362
402
  "default": "Form",
363
403
  "description": "Heading shown above the form",
@@ -709,9 +749,12 @@
709
749
  },
710
750
  {
711
751
  "cancelEvent": "CANCEL",
752
+ "cancelLabel": "@config.cancelLabel",
712
753
  "fields": "@config.fields",
713
754
  "mode": "create",
755
+ "showCancel": "@config.showCancel",
714
756
  "submitEvent": "SUBMIT",
757
+ "submitLabel": "@config.submitLabel",
715
758
  "type": "form-section"
716
759
  }
717
760
  ],
@@ -766,9 +809,12 @@
766
809
  },
767
810
  {
768
811
  "cancelEvent": "CANCEL",
812
+ "cancelLabel": "@config.cancelLabel",
769
813
  "fields": "@config.fields",
770
814
  "mode": "create",
815
+ "showCancel": "@config.showCancel",
771
816
  "submitEvent": "SUBMIT",
817
+ "submitLabel": "@config.submitLabel",
772
818
  "type": "form-section"
773
819
  }
774
820
  ],
@@ -809,19 +855,19 @@
809
855
  "type": "icon"
810
856
  },
811
857
  {
812
- "content": "Form Submitted",
858
+ "content": "@config.successTitle",
813
859
  "type": "typography",
814
860
  "variant": "h2"
815
861
  },
816
862
  {
817
- "message": "Your form has been submitted successfully.",
863
+ "message": "@config.successMessage",
818
864
  "type": "alert",
819
865
  "variant": "success"
820
866
  },
821
867
  {
822
868
  "action": "RESET",
823
869
  "icon": "plus",
824
- "label": "New Entry",
870
+ "label": "@config.newEntryLabel",
825
871
  "type": "button",
826
872
  "variant": "primary"
827
873
  }
@@ -911,9 +957,12 @@
911
957
  },
912
958
  {
913
959
  "cancelEvent": "CANCEL",
960
+ "cancelLabel": "@config.cancelLabel",
914
961
  "fields": "@config.fields",
915
962
  "mode": "create",
963
+ "showCancel": "@config.showCancel",
916
964
  "submitEvent": "SUBMIT",
965
+ "submitLabel": "@config.submitLabel",
917
966
  "type": "form-section"
918
967
  }
919
968
  ],
@@ -0,0 +1,285 @@
1
+ {
2
+ "description": "std-language-picker — the language switcher of a multilingual site or app: a globe button showing the current language code that opens a menu listing every language in its own name, with the current one ticked. Each entry links to the same page in that language. Routing convention: the default language lives at the root and every other language under a `/<code>/` prefix (`/pricing`, `/ar/pricing`, `/sl/pricing`), so each language has its own stable URL that can be linked from outside and indexed by search engines. Pick for public websites and app chrome that serve more than one language; std-site-header embeds it.",
3
+ "ledger": {
4
+ "entries": {
5
+ "ent_01M3EP9GR5HJNV57FWRFGAFE0R": {
6
+ "bakedName": "LanguagePickerView",
7
+ "curName": "LanguagePickerView",
8
+ "id": "ent_01M3EP9GR5HJNV57FWRFGAFE0R",
9
+ "kind": "entity",
10
+ "owner": "workspace",
11
+ "renames": []
12
+ },
13
+ "evt_01M3EP9GR53ERPM7R74BNRZ4CE": {
14
+ "bakedName": "INIT",
15
+ "curName": "INIT",
16
+ "id": "evt_01M3EP9GR53ERPM7R74BNRZ4CE",
17
+ "kind": "event",
18
+ "owner": "workspace",
19
+ "parent": "trt_01M3EP9GR59SKY3S07NFKS55QB",
20
+ "renames": []
21
+ },
22
+ "orb_01M3EP9GR5AKQHSX1C0BHSTXC9": {
23
+ "bakedName": "LanguagePickerOrbital",
24
+ "curName": "LanguagePickerOrbital",
25
+ "id": "orb_01M3EP9GR5AKQHSX1C0BHSTXC9",
26
+ "kind": "orbital",
27
+ "owner": "workspace",
28
+ "renames": []
29
+ },
30
+ "pag_01M3EP9GR536BBQXM9PHZ928FW": {
31
+ "bakedName": "LanguagePickerPage",
32
+ "curName": "LanguagePickerPage",
33
+ "id": "pag_01M3EP9GR536BBQXM9PHZ928FW",
34
+ "kind": "page",
35
+ "owner": "workspace",
36
+ "renames": []
37
+ },
38
+ "trt_01M3EP9GR59SKY3S07NFKS55QB": {
39
+ "bakedName": "LanguagePickerRender",
40
+ "curName": "LanguagePickerRender",
41
+ "id": "trt_01M3EP9GR59SKY3S07NFKS55QB",
42
+ "kind": "trait",
43
+ "owner": "workspace",
44
+ "renames": []
45
+ }
46
+ },
47
+ "schemaVersion": 1
48
+ },
49
+ "name": "std-language-picker",
50
+ "orbitals": [
51
+ {
52
+ "entity": {
53
+ "fields": [
54
+ {
55
+ "name": "id",
56
+ "required": true,
57
+ "type": "string"
58
+ }
59
+ ],
60
+ "id": "ent_01M3EP9GR5HJNV57FWRFGAFE0R",
61
+ "name": "LanguagePickerView",
62
+ "persistence": "runtime"
63
+ },
64
+ "id": "orb_01M3EP9GR5AKQHSX1C0BHSTXC9",
65
+ "name": "LanguagePickerOrbital",
66
+ "pages": [
67
+ {
68
+ "id": "pag_01M3EP9GR536BBQXM9PHZ928FW",
69
+ "name": "LanguagePickerPage",
70
+ "path": "/language-picker",
71
+ "traits": [
72
+ {
73
+ "ref": "LanguagePickerRender",
74
+ "refId": "trt_01M3EP9GR59SKY3S07NFKS55QB"
75
+ }
76
+ ]
77
+ }
78
+ ],
79
+ "traits": [
80
+ {
81
+ "category": "interaction",
82
+ "config": {
83
+ "currentLanguage": {
84
+ "default": "en",
85
+ "description": "The code of the language this page is in; shown on the button and ticked in the menu",
86
+ "label": "Current language",
87
+ "synonyms": "locale, active language, page language",
88
+ "tier": "presentation",
89
+ "type": "string"
90
+ },
91
+ "languages": {
92
+ "default": [
93
+ {
94
+ "code": "en",
95
+ "href": "/",
96
+ "label": "English"
97
+ },
98
+ {
99
+ "code": "ar",
100
+ "href": "/ar/",
101
+ "label": "العربية"
102
+ },
103
+ {
104
+ "code": "sl",
105
+ "href": "/sl/",
106
+ "label": "Slovenščina"
107
+ }
108
+ ],
109
+ "description": "Every language this page exists in, each named in its own language, with the href of THIS page in that language. The default language's href has no prefix; the others start with /<code>/.",
110
+ "items": {
111
+ "properties": {
112
+ "code": {
113
+ "name": "code",
114
+ "required": true,
115
+ "type": "string"
116
+ },
117
+ "href": {
118
+ "name": "href",
119
+ "required": true,
120
+ "type": "string"
121
+ },
122
+ "label": {
123
+ "name": "label",
124
+ "required": true,
125
+ "type": "string"
126
+ }
127
+ },
128
+ "type": "object"
129
+ },
130
+ "label": "Languages",
131
+ "synonyms": "locales, translations, language list, language switcher, i18n",
132
+ "tier": "presentation",
133
+ "type": "[SiteLanguage]"
134
+ },
135
+ "pickerContent": {
136
+ "default": {
137
+ "className": [
138
+ "if",
139
+ [
140
+ "==",
141
+ [
142
+ "array/len",
143
+ "@config.languages"
144
+ ],
145
+ 0.0
146
+ ],
147
+ "hidden",
148
+ ""
149
+ ],
150
+ "items": [
151
+ "array/map",
152
+ "@config.languages",
153
+ [
154
+ "fn",
155
+ "entry",
156
+ {
157
+ "href": [
158
+ "object/get",
159
+ "@entry",
160
+ "href",
161
+ ""
162
+ ],
163
+ "icon": [
164
+ "if",
165
+ [
166
+ "==",
167
+ [
168
+ "object/get",
169
+ "@entry",
170
+ "code",
171
+ ""
172
+ ],
173
+ "@config.currentLanguage"
174
+ ],
175
+ "check",
176
+ ""
177
+ ],
178
+ "id": [
179
+ "object/get",
180
+ "@entry",
181
+ "code",
182
+ ""
183
+ ],
184
+ "label": [
185
+ "object/get",
186
+ "@entry",
187
+ "label",
188
+ ""
189
+ ]
190
+ }
191
+ ]
192
+ ],
193
+ "position": "bottom-end",
194
+ "trigger": {
195
+ "icon": "globe",
196
+ "label": [
197
+ "str/upper",
198
+ "@config.currentLanguage"
199
+ ],
200
+ "size": "sm",
201
+ "type": "button",
202
+ "variant": "ghost"
203
+ },
204
+ "type": "menu"
205
+ },
206
+ "label": "Picker body",
207
+ "tier": "internal",
208
+ "type": "render-ui"
209
+ }
210
+ },
211
+ "effectRow": [
212
+ {
213
+ "kind": "render-ui",
214
+ "resource": "main"
215
+ }
216
+ ],
217
+ "entityContract": {
218
+ "provides": [],
219
+ "requires": []
220
+ },
221
+ "entityRebindable": true,
222
+ "entityRefIds": {
223
+ "LanguagePickerView": "ent_01M3EP9GR5HJNV57FWRFGAFE0R"
224
+ },
225
+ "id": "trt_01M3EP9GR59SKY3S07NFKS55QB",
226
+ "linkedEntity": "LanguagePickerView",
227
+ "linkedEntityId": "ent_01M3EP9GR5HJNV57FWRFGAFE0R",
228
+ "name": "LanguagePickerRender",
229
+ "scope": "instance",
230
+ "stateMachine": {
231
+ "events": [
232
+ {
233
+ "id": "evt_01M3EP9GR53ERPM7R74BNRZ4CE",
234
+ "key": "INIT",
235
+ "name": "Initialize"
236
+ }
237
+ ],
238
+ "states": [
239
+ {
240
+ "isInitial": true,
241
+ "name": "idle"
242
+ }
243
+ ],
244
+ "transitions": [
245
+ {
246
+ "effects": [
247
+ [
248
+ "render-ui",
249
+ "main",
250
+ "@config.pickerContent"
251
+ ]
252
+ ],
253
+ "event": "INIT",
254
+ "eventId": "evt_01M3EP9GR53ERPM7R74BNRZ4CE",
255
+ "from": "idle",
256
+ "to": "idle"
257
+ }
258
+ ]
259
+ }
260
+ }
261
+ ],
262
+ "types": {
263
+ "SiteLanguage": [
264
+ {
265
+ "name": "code",
266
+ "required": true,
267
+ "type": "string"
268
+ },
269
+ {
270
+ "name": "label",
271
+ "required": true,
272
+ "type": "string"
273
+ },
274
+ {
275
+ "name": "href",
276
+ "required": true,
277
+ "type": "string"
278
+ }
279
+ ]
280
+ }
281
+ }
282
+ ],
283
+ "schemaVersion": 1,
284
+ "version": "1.0.0"
285
+ }