@vectoriox/iox-ui 5.85.0 → 5.86.1

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 (31) hide show
  1. package/actions-core/index.d.ts +30 -2
  2. package/design-core/index.d.ts +1488 -224
  3. package/fesm2022/vectoriox-iox-ui-actions-core.mjs +136 -70
  4. package/fesm2022/vectoriox-iox-ui-actions-core.mjs.map +1 -1
  5. package/fesm2022/vectoriox-iox-ui-design-core.mjs +1751 -279
  6. package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
  7. package/fesm2022/vectoriox-iox-ui-forms-core.mjs +27 -4
  8. package/fesm2022/vectoriox-iox-ui-forms-core.mjs.map +1 -1
  9. package/fesm2022/vectoriox-iox-ui-generation-core.mjs +223 -12
  10. package/fesm2022/vectoriox-iox-ui-generation-core.mjs.map +1 -1
  11. package/fesm2022/vectoriox-iox-ui-scene-core.mjs +3 -4
  12. package/fesm2022/vectoriox-iox-ui-scene-core.mjs.map +1 -1
  13. package/fesm2022/vectoriox-iox-ui.mjs +1272 -69
  14. package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
  15. package/forms-core/index.d.ts +23 -4
  16. package/generation-core/index.d.ts +5 -1
  17. package/index.d.ts +426 -22
  18. package/package.json +1 -1
  19. package/src/actions-core/action.model.ts +1 -1
  20. package/src/actions-core/dialog-opener.ts +9 -3
  21. package/src/actions-core/element-actions.ts +25 -1
  22. package/src/actions-core/popover-opener.ts +50 -0
  23. package/src/actions-core/public-api.ts +1 -0
  24. package/src/design-core/flavor-spec.generated.ts +1750 -277
  25. package/src/forms-core/submit-lifecycle.ts +30 -3
  26. package/src/generation-core/baseline-roles.ts +1 -0
  27. package/src/generation-core/node-baselines.generated.ts +214 -8
  28. package/src/generation-core/pictures.ts +8 -4
  29. package/src/scene-core/scroll-driver.ts +2 -1
  30. package/styles/iox-design.css +216 -14
  31. package/styles/iox-forms.css +24 -2
@@ -36,8 +36,11 @@
36
36
  has to be able to fix and retry. The submit button STAYS (premium N2: it reads "Sent" with its check,
37
37
  disabled — the success in place), and so does the row holding it or the second channel (the WhatsApp
38
38
  button beside Send is how a visitor reaches you AFTER sending too). */
39
- .iox-form[data-iox-state="success"] .iox-field,
40
- .iox-form[data-iox-state="success"] .iox-field-group:not(:has(.iox-submit, .iox-role-form-channel)) { display: none !important; }
39
+ .iox-form[data-iox-state="success"]:not([data-iox-after-send="toast"]) .iox-field,
40
+ .iox-form[data-iox-state="success"]:not([data-iox-after-send="toast"]) .iox-field-group:not(:has(.iox-submit, .iox-role-form-channel)) { display: none !important; }
41
+ /* A form that KEEPS its fields after sending (premium M5 — After sending ▸ "Keep the fields and show a toast") never
42
+ shows its Success block: a toast says the Sent words and the fields stay, cleared for the next answer. */
43
+ .iox-form[data-iox-after-send="toast"] .iox-form-success { display: none !important; }
41
44
 
42
45
  /* The Success and Error blocks ENTER (premium N2 — Emil 139/30): opacity and a 4px rise over 200ms, out in 120ms,
43
46
  transitions (a fast retry interrupts from the live value, never a restart). `display` is discrete, so the exit
@@ -240,6 +243,25 @@ dialog.iox-cal::backdrop { background: transparent; }
240
243
  @starting-style { dialog.iox-cal[open] { opacity: 0; transform: none; } }
241
244
  dialog.iox-cal[data-iox-closing] { opacity: 0; transition-duration: 120ms; }
242
245
  }
246
+ /* A Date field that wears the design system is timed by the LOOK (premium M5 — the calendar is a popover, and a sheet on
247
+ a phone): the popover tokens on a laptop, the sheet's on a phone, so a look whose motion is Off opens it with no motion
248
+ at all (vectoriox/iox-ui#44). Reduced motion keeps the fade (the tokens survive it) and drops the movement. */
249
+ .iox-es-field dialog.iox-cal {
250
+ transition: opacity var(--iox-popover-dur-in) var(--iox-popover-ease), transform var(--iox-popover-dur-in) var(--iox-popover-ease);
251
+ }
252
+ @starting-style { .iox-es-field dialog.iox-cal[open] { transform: scale(var(--iox-popover-scale)); } }
253
+ .iox-es-field dialog.iox-cal[data-iox-closing] { transform: scale(var(--iox-popover-scale)); transition-duration: var(--iox-popover-dur-out); }
254
+ @media (max-width: 767px) {
255
+ .iox-es-field dialog.iox-cal { transform: none; transition: transform var(--iox-sheet-dur-in) var(--iox-sheet-ease); }
256
+ @starting-style { .iox-es-field dialog.iox-cal[open] { transform: translateY(100%); } }
257
+ .iox-es-field dialog.iox-cal[data-iox-closing] { transform: translateY(100%); transition-duration: var(--iox-sheet-dur-out); transition-timing-function: var(--iox-sheet-ease); }
258
+ .iox-es-field dialog.iox-cal::backdrop { transition: opacity var(--iox-sheet-dur-in) var(--iox-sheet-ease); }
259
+ .iox-es-field dialog.iox-cal[data-iox-closing]::backdrop { transition-duration: var(--iox-sheet-dur-out); }
260
+ }
261
+ @media (prefers-reduced-motion: reduce) {
262
+ .iox-es-field dialog.iox-cal, .iox-es-field dialog.iox-cal[data-iox-closing] { transform: none !important; transition: opacity var(--iox-popover-dur-in) var(--iox-popover-ease); }
263
+ .iox-es-field dialog.iox-cal[data-iox-closing] { transition-duration: var(--iox-popover-dur-out); }
264
+ }
243
265
  /* Opened from the KEYBOARD (Enter / Space on the date button): it simply appears, and Esc or Enter on a day closes it
244
266
  at once — keyboard-initiated actions never animate (Emil 2). The pointer gets the motion above. */
245
267
  dialog.iox-cal[data-iox-instant],