stimeo-ui 0.7.0 → 0.9.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 (77) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/dist/controllers/auto_submit_controller.d.ts +14 -3
  3. package/dist/controllers/auto_submit_controller.js +94 -16
  4. package/dist/controllers/auto_submit_controller.js.map +1 -1
  5. package/dist/controllers/bulk_select_controller.d.ts +62 -15
  6. package/dist/controllers/bulk_select_controller.js +139 -28
  7. package/dist/controllers/bulk_select_controller.js.map +1 -1
  8. package/dist/controllers/carousel_controller.d.ts +81 -47
  9. package/dist/controllers/carousel_controller.js +451 -100
  10. package/dist/controllers/carousel_controller.js.map +1 -1
  11. package/dist/controllers/clipboard_controller.d.ts +48 -15
  12. package/dist/controllers/clipboard_controller.js +102 -20
  13. package/dist/controllers/clipboard_controller.js.map +1 -1
  14. package/dist/controllers/color_picker_controller.d.ts +37 -6
  15. package/dist/controllers/color_picker_controller.js +180 -43
  16. package/dist/controllers/color_picker_controller.js.map +1 -1
  17. package/dist/controllers/currency_input_controller.d.ts +39 -5
  18. package/dist/controllers/currency_input_controller.js +305 -74
  19. package/dist/controllers/currency_input_controller.js.map +1 -1
  20. package/dist/controllers/data_grid_controller.d.ts +25 -9
  21. package/dist/controllers/data_grid_controller.js +150 -24
  22. package/dist/controllers/data_grid_controller.js.map +1 -1
  23. package/dist/controllers/direct_upload_controller.d.ts +3 -1
  24. package/dist/controllers/direct_upload_controller.js +12 -2
  25. package/dist/controllers/direct_upload_controller.js.map +1 -1
  26. package/dist/controllers/editable_controller.d.ts +34 -9
  27. package/dist/controllers/editable_controller.js +83 -30
  28. package/dist/controllers/editable_controller.js.map +1 -1
  29. package/dist/controllers/file_dropzone_controller.d.ts +123 -29
  30. package/dist/controllers/file_dropzone_controller.js +386 -63
  31. package/dist/controllers/file_dropzone_controller.js.map +1 -1
  32. package/dist/controllers/filter_controller.d.ts +15 -3
  33. package/dist/controllers/filter_controller.js +32 -1
  34. package/dist/controllers/filter_controller.js.map +1 -1
  35. package/dist/controllers/flash_controller.d.ts +3 -1
  36. package/dist/controllers/flash_controller.js +3 -1
  37. package/dist/controllers/flash_controller.js.map +1 -1
  38. package/dist/controllers/frame_loading_controller.d.ts +4 -2
  39. package/dist/controllers/frame_loading_controller.js +2 -1
  40. package/dist/controllers/frame_loading_controller.js.map +1 -1
  41. package/dist/controllers/input_mask_controller.d.ts +42 -16
  42. package/dist/controllers/input_mask_controller.js +251 -76
  43. package/dist/controllers/input_mask_controller.js.map +1 -1
  44. package/dist/controllers/masonry_controller.d.ts +34 -5
  45. package/dist/controllers/masonry_controller.js +129 -17
  46. package/dist/controllers/masonry_controller.js.map +1 -1
  47. package/dist/controllers/nested_form_controller.d.ts +51 -14
  48. package/dist/controllers/nested_form_controller.js +450 -42
  49. package/dist/controllers/nested_form_controller.js.map +1 -1
  50. package/dist/controllers/otp_controller.d.ts +64 -25
  51. package/dist/controllers/otp_controller.js +485 -114
  52. package/dist/controllers/otp_controller.js.map +1 -1
  53. package/dist/controllers/reset_before_cache_controller.d.ts +25 -2
  54. package/dist/controllers/reset_before_cache_controller.js +51 -5
  55. package/dist/controllers/reset_before_cache_controller.js.map +1 -1
  56. package/dist/controllers/resizable_controller.d.ts +23 -7
  57. package/dist/controllers/resizable_controller.js +128 -55
  58. package/dist/controllers/resizable_controller.js.map +1 -1
  59. package/dist/controllers/spinner_controller.d.ts +3 -2
  60. package/dist/controllers/spinner_controller.js +7 -5
  61. package/dist/controllers/spinner_controller.js.map +1 -1
  62. package/dist/controllers/submit_once_controller.d.ts +4 -1
  63. package/dist/controllers/submit_once_controller.js +3 -1
  64. package/dist/controllers/submit_once_controller.js.map +1 -1
  65. package/dist/controllers/textarea_autosize_controller.d.ts +30 -10
  66. package/dist/controllers/textarea_autosize_controller.js +131 -3
  67. package/dist/controllers/textarea_autosize_controller.js.map +1 -1
  68. package/dist/index.js +2764 -923
  69. package/dist/index.js.map +1 -1
  70. package/dist/inspector/cli.d.ts +8 -1
  71. package/dist/inspector/cli.js +5 -1
  72. package/dist/inspector/cli.js.map +1 -1
  73. package/dist/inspector/cli_bin.js +5 -1
  74. package/dist/inspector/cli_bin.js.map +1 -1
  75. package/dist/inspector/examples.json +24 -24
  76. package/dist/inspector/manifest.json +193 -30
  77. package/package.json +2 -2
@@ -169,12 +169,19 @@ interface ValueCondition {
169
169
  * emptiness alone, since the controller cannot tell "still loading" from
170
170
  * "nothing to show" and therefore never infers it.
171
171
  *
172
+ * `within: "scope"` widens the count to the whole controller scope, for the
173
+ * contracts where a *sibling* decides the requirement: a carousel's slides are
174
+ * `tabpanel`s when the carousel has pickers to control them and `group`s when it
175
+ * has none, and no slide ever holds a picker of its own.
176
+ *
172
177
  * Bounds are inclusive and independently optional; a condition with neither is
173
178
  * meaningless and rejected by the manifest tests.
174
179
  */
175
180
  interface ContentCondition {
176
- /** Target name counted **inside** the element the rule applies to. */
181
+ /** Target name counted inside the counting container. */
177
182
  readonly target: string;
183
+ /** Where to count: the element the rule applies to, or the controller scope. */
184
+ readonly within?: "element" | "scope";
178
185
  /** Arms the rule when the count is at least this. */
179
186
  readonly min?: number;
180
187
  /** Arms the rule when the count is at most this. */
@@ -9,10 +9,13 @@ import { fileURLToPath } from 'url';
9
9
  var ANNOUNCER_IDENTIFIER = "stimeo--announcer";
10
10
  var ANNOUNCING_CONTROLLERS = [
11
11
  "stimeo--auto-submit",
12
+ "stimeo--bulk-select",
12
13
  "stimeo--character-counter",
14
+ "stimeo--clipboard",
13
15
  "stimeo--countdown",
14
16
  "stimeo--direct-upload",
15
17
  "stimeo--empty-state",
18
+ "stimeo--file-dropzone",
16
19
  "stimeo--flash",
17
20
  "stimeo--form-field",
18
21
  "stimeo--frame-loading",
@@ -1189,8 +1192,9 @@ function checkSource(source, manifest) {
1189
1192
  const contentHolds = (scope, identifier, element, condition) => {
1190
1193
  if (!condition) return true;
1191
1194
  const nodes = targetNodes.get(scope)?.get(identifier)?.get(condition.target) ?? [];
1195
+ const container = condition.within === "scope" ? scope : element;
1192
1196
  let held = 0;
1193
- for (const node of nodes) if (isWithin(node, element)) held += 1;
1197
+ for (const node of nodes) if (isWithin(node, container)) held += 1;
1194
1198
  if (condition.min !== void 0 && held < condition.min) return false;
1195
1199
  if (condition.max !== void 0 && held > condition.max) return false;
1196
1200
  return true;