stimeo-ui 0.11.0 → 0.13.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 (153) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/dist/cable/index.d.ts +67 -13
  3. package/dist/cable/index.js +461 -154
  4. package/dist/cable/index.js.map +1 -1
  5. package/dist/controllers/alert_dialog_controller.d.ts +1 -1
  6. package/dist/controllers/alert_dialog_controller.js.map +1 -1
  7. package/dist/controllers/announcer_controller.d.ts +1 -1
  8. package/dist/controllers/announcer_controller.js.map +1 -1
  9. package/dist/controllers/auto_submit_controller.js.map +1 -1
  10. package/dist/controllers/breadcrumb_controller.d.ts +1 -1
  11. package/dist/controllers/breadcrumb_controller.js.map +1 -1
  12. package/dist/controllers/calendar_controller.d.ts +2 -1
  13. package/dist/controllers/calendar_controller.js +10 -2
  14. package/dist/controllers/calendar_controller.js.map +1 -1
  15. package/dist/controllers/carousel_controller.js +1 -1
  16. package/dist/controllers/carousel_controller.js.map +1 -1
  17. package/dist/controllers/character_counter_controller.js.map +1 -1
  18. package/dist/controllers/clipboard_controller.d.ts +1 -1
  19. package/dist/controllers/clipboard_controller.js.map +1 -1
  20. package/dist/controllers/collapsible_controller.js.map +1 -1
  21. package/dist/controllers/color_picker_controller.d.ts +1 -1
  22. package/dist/controllers/color_picker_controller.js.map +1 -1
  23. package/dist/controllers/command_palette_controller.d.ts +3 -3
  24. package/dist/controllers/command_palette_controller.js +2 -2
  25. package/dist/controllers/command_palette_controller.js.map +1 -1
  26. package/dist/controllers/conditional_fields_controller.js.map +1 -1
  27. package/dist/controllers/confirm_controller.d.ts +2 -2
  28. package/dist/controllers/confirm_controller.js.map +1 -1
  29. package/dist/controllers/context_menu_controller.d.ts +1 -1
  30. package/dist/controllers/context_menu_controller.js.map +1 -1
  31. package/dist/controllers/count_up_controller.d.ts +12 -10
  32. package/dist/controllers/count_up_controller.js +74 -35
  33. package/dist/controllers/count_up_controller.js.map +1 -1
  34. package/dist/controllers/countdown_controller.d.ts +1 -1
  35. package/dist/controllers/countdown_controller.js.map +1 -1
  36. package/dist/controllers/data_grid_controller.d.ts +1 -1
  37. package/dist/controllers/data_grid_controller.js.map +1 -1
  38. package/dist/controllers/date_range_picker_controller.js +10 -10
  39. package/dist/controllers/date_range_picker_controller.js.map +1 -1
  40. package/dist/controllers/dialog_controller.d.ts +1 -1
  41. package/dist/controllers/dialog_controller.js.map +1 -1
  42. package/dist/controllers/direct_upload_controller.js.map +1 -1
  43. package/dist/controllers/dirty_form_controller.js.map +1 -1
  44. package/dist/controllers/dismissible_controller.js.map +1 -1
  45. package/dist/controllers/drawer_controller.d.ts +2 -2
  46. package/dist/controllers/drawer_controller.js +2 -2
  47. package/dist/controllers/drawer_controller.js.map +1 -1
  48. package/dist/controllers/dropdown_controller.d.ts +1 -1
  49. package/dist/controllers/dropdown_controller.js.map +1 -1
  50. package/dist/controllers/file_dropzone_controller.js.map +1 -1
  51. package/dist/controllers/flash_controller.js.map +1 -1
  52. package/dist/controllers/focus_controller.d.ts +2 -2
  53. package/dist/controllers/focus_controller.js.map +1 -1
  54. package/dist/controllers/form_validation_controller.js.map +1 -1
  55. package/dist/controllers/frame_loading_controller.d.ts +3 -3
  56. package/dist/controllers/frame_loading_controller.js.map +1 -1
  57. package/dist/controllers/highlight_controller.js.map +1 -1
  58. package/dist/controllers/hover_card_controller.d.ts +1 -1
  59. package/dist/controllers/hover_card_controller.js.map +1 -1
  60. package/dist/controllers/idle_controller.d.ts +1 -1
  61. package/dist/controllers/idle_controller.js.map +1 -1
  62. package/dist/controllers/input_mask_controller.js.map +1 -1
  63. package/dist/controllers/intersection_controller.d.ts +20 -7
  64. package/dist/controllers/intersection_controller.js +55 -8
  65. package/dist/controllers/intersection_controller.js.map +1 -1
  66. package/dist/controllers/lazy_frame_controller.d.ts +31 -9
  67. package/dist/controllers/lazy_frame_controller.js +81 -19
  68. package/dist/controllers/lazy_frame_controller.js.map +1 -1
  69. package/dist/controllers/listbox_controller.js.map +1 -1
  70. package/dist/controllers/local_time_controller.d.ts +1 -1
  71. package/dist/controllers/local_time_controller.js.map +1 -1
  72. package/dist/controllers/masonry_controller.d.ts +1 -1
  73. package/dist/controllers/masonry_controller.js.map +1 -1
  74. package/dist/controllers/menu_controller.d.ts +1 -1
  75. package/dist/controllers/menu_controller.js.map +1 -1
  76. package/dist/controllers/menubar_controller.d.ts +2 -2
  77. package/dist/controllers/menubar_controller.js.map +1 -1
  78. package/dist/controllers/navigation_menu_controller.d.ts +1 -1
  79. package/dist/controllers/navigation_menu_controller.js.map +1 -1
  80. package/dist/controllers/nested_form_controller.js.map +1 -1
  81. package/dist/controllers/network_status_controller.js.map +1 -1
  82. package/dist/controllers/number_input_controller.js.map +1 -1
  83. package/dist/controllers/optimistic_controller.d.ts +23 -10
  84. package/dist/controllers/optimistic_controller.js +141 -20
  85. package/dist/controllers/optimistic_controller.js.map +1 -1
  86. package/dist/controllers/overflow_indicator_controller.d.ts +1 -1
  87. package/dist/controllers/overflow_indicator_controller.js.map +1 -1
  88. package/dist/controllers/overflow_menu_controller.js.map +1 -1
  89. package/dist/controllers/pagination_controller.js.map +1 -1
  90. package/dist/controllers/password_reveal_controller.js.map +1 -1
  91. package/dist/controllers/password_strength_controller.d.ts +2 -1
  92. package/dist/controllers/password_strength_controller.js.map +1 -1
  93. package/dist/controllers/persist_controller.js.map +1 -1
  94. package/dist/controllers/pointer_drag_controller.js +4 -0
  95. package/dist/controllers/pointer_drag_controller.js.map +1 -1
  96. package/dist/controllers/popover_controller.d.ts +1 -1
  97. package/dist/controllers/popover_controller.js.map +1 -1
  98. package/dist/controllers/portal_controller.d.ts +2 -2
  99. package/dist/controllers/portal_controller.js.map +1 -1
  100. package/dist/controllers/radio_group_controller.d.ts +1 -1
  101. package/dist/controllers/radio_group_controller.js.map +1 -1
  102. package/dist/controllers/reading_progress_controller.d.ts +18 -9
  103. package/dist/controllers/reading_progress_controller.js +177 -6
  104. package/dist/controllers/reading_progress_controller.js.map +1 -1
  105. package/dist/controllers/relative_time_controller.d.ts +3 -3
  106. package/dist/controllers/relative_time_controller.js.map +1 -1
  107. package/dist/controllers/roving_controller.d.ts +1 -1
  108. package/dist/controllers/roving_controller.js.map +1 -1
  109. package/dist/controllers/scroll_area_controller.js.map +1 -1
  110. package/dist/controllers/scrollspy_controller.js +13 -2
  111. package/dist/controllers/scrollspy_controller.js.map +1 -1
  112. package/dist/controllers/sidebar_controller.d.ts +1 -1
  113. package/dist/controllers/sidebar_controller.js.map +1 -1
  114. package/dist/controllers/skeleton_controller.d.ts +2 -2
  115. package/dist/controllers/skeleton_controller.js.map +1 -1
  116. package/dist/controllers/smart_sticky_header_controller.d.ts +17 -8
  117. package/dist/controllers/smart_sticky_header_controller.js +52 -10
  118. package/dist/controllers/smart_sticky_header_controller.js.map +1 -1
  119. package/dist/controllers/sortable_controller.d.ts +38 -8
  120. package/dist/controllers/sortable_controller.js +241 -67
  121. package/dist/controllers/sortable_controller.js.map +1 -1
  122. package/dist/controllers/spinner_controller.d.ts +3 -3
  123. package/dist/controllers/spinner_controller.js.map +1 -1
  124. package/dist/controllers/sticky_observer_controller.js +13 -2
  125. package/dist/controllers/sticky_observer_controller.js.map +1 -1
  126. package/dist/controllers/submit_once_controller.d.ts +3 -3
  127. package/dist/controllers/submit_once_controller.js.map +1 -1
  128. package/dist/controllers/switch_controller.js.map +1 -1
  129. package/dist/controllers/textarea_autosize_controller.d.ts +1 -1
  130. package/dist/controllers/textarea_autosize_controller.js.map +1 -1
  131. package/dist/controllers/theme_controller.d.ts +3 -2
  132. package/dist/controllers/theme_controller.js.map +1 -1
  133. package/dist/controllers/toast_controller.js +1 -1
  134. package/dist/controllers/toast_controller.js.map +1 -1
  135. package/dist/controllers/toggle_group_controller.js.map +1 -1
  136. package/dist/controllers/toolbar_controller.d.ts +1 -1
  137. package/dist/controllers/toolbar_controller.js.map +1 -1
  138. package/dist/controllers/tooltip_controller.d.ts +1 -1
  139. package/dist/controllers/tooltip_controller.js.map +1 -1
  140. package/dist/controllers/transition_controller.d.ts +1 -1
  141. package/dist/controllers/transition_controller.js.map +1 -1
  142. package/dist/controllers/tree_view_controller.d.ts +4 -3
  143. package/dist/controllers/tree_view_controller.js.map +1 -1
  144. package/dist/index.js +587 -183
  145. package/dist/index.js.map +1 -1
  146. package/dist/inspector/cli.d.ts +1 -1
  147. package/dist/inspector/cli.js +2 -1
  148. package/dist/inspector/cli.js.map +1 -1
  149. package/dist/inspector/cli_bin.js +2 -1
  150. package/dist/inspector/cli_bin.js.map +1 -1
  151. package/dist/inspector/examples.json +2 -2
  152. package/dist/inspector/manifest.json +13 -30
  153. package/package.json +1 -1
@@ -195,7 +195,7 @@
195
195
  },
196
196
  "stimeo--live-counter": {
197
197
  "file": "examples/live_counter/_demo.html.erb",
198
- "source": "<%# live-counter: the count's single source of truth is the DOM text\n (server-rendered below from the channel's demo counter) plus the\n LikesChannel stream. Clicking Like bumps the number optimistically and\n performs increment; the server adds it to its counter and broadcasts the\n absolute { count }, so every subscribed tab converges — open a second tab\n and click in either. The trigger target keeps the button disabled while an\n increment would be dropped (before the subscription confirms, during an\n outage, after a rejection). The client id is randomized per render purely\n for the demo (a real app passes current_user.id). The room comes from the\n channel's allowlisted constant so the subscription params and the\n server-rendered initial value below can never drift (a real app passes its\n record id, e.g. post.id). %>\n<% room = LikesChannel::ROOM %>\n<div class=\"live-counter-demo\"\n data-controller=\"stimeo--live-counter\"\n data-stimeo--live-counter-channel-value=\"LikesChannel\"\n data-stimeo--live-counter-params-value='{\"room\":\"<%= room %>\"}'\n data-stimeo--live-counter-id-value=\"<%= SecureRandom.hex(4) %>\">\n <p class=\"live-counter-demo__hint\"><%= t(\"components.live_counter.demo.hint\") %></p>\n <div class=\"live-counter-demo__row\">\n <button type=\"button\" class=\"demo-trigger live-counter-demo__button\"\n data-stimeo--live-counter-target=\"trigger\"\n data-action=\"stimeo--live-counter#increment\">\n <svg class=\"demo-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2\n -1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z\"/>\n </svg>\n <%= t(\"components.live_counter.demo.like\") %>\n </button>\n <p class=\"live-counter-demo__count\">\n <%# Server-rendered initial value: reading the channel's in-memory demo\n counter keeps the DOM truth aligned with the server (a real app\n renders the persisted count, e.g. post.likes_count). %>\n <span class=\"live-counter-demo__value\" data-stimeo--live-counter-target=\"value\"><%=\n LikesChannel.count(room) %></span>\n <span class=\"live-counter-demo__unit\"><%= t(\"components.live_counter.demo.unit\") %></span>\n </p>\n </div>\n</div>\n"
198
+ "source": "<%# live-counter: the count's single source of truth is the DOM text\n (server-rendered below from the channel's demo counter) plus the\n LikesChannel stream. Clicking Like bumps the number optimistically and\n performs increment; the server adds it to its counter and broadcasts the\n absolute { count }, so every subscribed tab converges — open a second tab\n and click in either. The trigger target keeps the button disabled while an\n increment would be dropped (before the subscription confirms, during an\n outage, after a rejection). The client id is randomized per render, which\n identifies this tab rather than this user — a real app passes any per-client\n string (SecureRandom.uuid). Sharing one id across tabs still converges, since\n an echo only cancels one guess of its own size, but a per-tab id keeps every\n echo paired with the tab that guessed it. It is printed below so two tabs\n side by side can be told apart; an app has no reason to show it. The room comes from the\n channel's allowlisted constant so the subscription params and the\n server-rendered initial value below can never drift (a real app passes its\n record id, e.g. post.id). %>\n<% room = LikesChannel::ROOM %>\n<% tab = SecureRandom.hex(4) %>\n<div class=\"live-counter-demo\"\n data-controller=\"stimeo--live-counter\"\n data-stimeo--live-counter-channel-value=\"LikesChannel\"\n data-stimeo--live-counter-params-value='{\"room\":\"<%= room %>\"}'\n data-stimeo--live-counter-id-value=\"<%= tab %>\">\n <p class=\"live-counter-demo__hint\"><%= t(\"components.live_counter.demo.hint\") %></p>\n <p class=\"live-counter-demo__you\"><%=\n t(\"components.live_counter.demo.this_tab\", token: tab) %></p>\n <div class=\"live-counter-demo__row\">\n <button type=\"button\" class=\"demo-trigger live-counter-demo__button\"\n data-stimeo--live-counter-target=\"trigger\"\n data-action=\"stimeo--live-counter#increment\">\n <svg class=\"demo-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2\n -1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z\"/>\n </svg>\n <%= t(\"components.live_counter.demo.like\") %>\n </button>\n <p class=\"live-counter-demo__count\">\n <%# Server-rendered initial value: reading the channel's in-memory demo\n counter keeps the DOM truth aligned with the server (a real app\n renders the persisted count, e.g. post.likes_count). %>\n <span class=\"live-counter-demo__value\" data-stimeo--live-counter-target=\"value\"><%=\n LikesChannel.count(room) %></span>\n <span class=\"live-counter-demo__unit\"><%= t(\"components.live_counter.demo.unit\") %></span>\n </p>\n </div>\n</div>\n"
199
199
  },
200
200
  "stimeo--local-time": {
201
201
  "file": "examples/local_time/_demo.html.erb",
@@ -367,7 +367,7 @@
367
367
  },
368
368
  "stimeo--sortable": {
369
369
  "file": "examples/sortable/_demo.html.erb",
370
- "source": "<%# sortable: markup-level composition — pointer-drag on each item emits the drag\n signal (with its keyboard alternative), roving keeps the handles one Tab stop,\n and sortable interprets the signal: it live-reorders the DOM, announces each\n step through the status live region (localized via the data-* templates), and\n dispatches reorder on a drop that changed the position. demo.js only mirrors\n that reorder event into the \"saved\" line — the pattern a real app uses to POST\n the new position. %>\n<div class=\"sortable-demo\">\n <p class=\"sortable-demo__hint\"><%= t(\"components.sortable.demo.hint\") %></p>\n <div data-controller=\"stimeo--sortable\">\n <ul class=\"sortable-demo__list\" data-stimeo--sortable-target=\"list\"\n data-controller=\"stimeo--roving\"\n data-stimeo--roving-orientation-value=\"vertical\"\n aria-label=\"<%= t('components.sortable.demo.list_label') %>\">\n <% t(\"components.sortable.demo.items\").each do |label| %>\n <li class=\"sortable-demo__item\" data-stimeo--sortable-target=\"item\"\n data-stimeo--sortable-name=\"<%= label %>\"\n data-controller=\"stimeo--pointer-drag\"\n data-stimeo--pointer-drag-axis-value=\"y\">\n <button type=\"button\" class=\"sortable-demo__handle\"\n aria-label=\"<%= t('components.sortable.demo.handle_label', name: label) %>\"\n data-stimeo--pointer-drag-target=\"handle\"\n data-stimeo--roving-target=\"item\">\n <svg class=\"demo-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\"\n aria-hidden=\"true\">\n <circle cx=\"9\" cy=\"6\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"6\" r=\"1.5\"></circle>\n <circle cx=\"9\" cy=\"12\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"12\" r=\"1.5\"></circle>\n <circle cx=\"9\" cy=\"18\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"18\" r=\"1.5\"></circle>\n </svg>\n </button>\n <span class=\"sortable-demo__label\"><%= label %></span>\n </li>\n <% end %>\n </ul>\n <p class=\"sortable-demo__status\" role=\"status\"\n data-stimeo--sortable-target=\"status\"\n data-grabbed=\"<%= t(\"components.sortable.demo.announce.grabbed\") %>\"\n data-moved=\"<%= t(\"components.sortable.demo.announce.moved\") %>\"\n data-dropped=\"<%= t(\"components.sortable.demo.announce.dropped\") %>\"\n data-canceled=\"<%= t(\"components.sortable.demo.announce.canceled\") %>\"></p>\n </div>\n <p class=\"sortable-demo__saved\" data-sortable-saved aria-live=\"polite\"\n data-saved-template=\"<%= t(\"components.sortable.demo.saved_template\") %>\"></p>\n</div>\n"
370
+ "source": "<%# sortable: markup-level composition — pointer-drag on each item emits the drag\n signal (with its keyboard alternative), roving keeps the handles one Tab stop,\n and sortable interprets the signal: it live-reorders the DOM, hands each step\n to the page's shared announcer (wording from the announce-* values), and\n dispatches reorder on a drop that changed the position. demo.js mirrors that\n reorder event into the \"saved\" line — the pattern a real app uses to POST the\n new position — and echoes what the announcer heard into a muted line. %>\n<div class=\"sortable-demo\">\n <p class=\"sortable-demo__hint\"><%= t(\"components.sortable.demo.hint\") %></p>\n <% announce = t(\"components.sortable.demo.announce\") %>\n <div data-controller=\"stimeo--sortable\"\n data-stimeo--sortable-announce-grabbed-text-value=\"<%= announce[:grabbed] %>\"\n data-stimeo--sortable-announce-moved-text-value=\"<%= announce[:moved] %>\"\n data-stimeo--sortable-announce-dropped-text-value=\"<%= announce[:dropped] %>\"\n data-stimeo--sortable-announce-canceled-text-value=\"<%= announce[:canceled] %>\">\n <ul class=\"sortable-demo__list\" data-stimeo--sortable-target=\"list\"\n data-controller=\"stimeo--roving\"\n data-stimeo--roving-orientation-value=\"vertical\"\n aria-label=\"<%= t('components.sortable.demo.list_label') %>\">\n <% t(\"components.sortable.demo.items\").each do |label| %>\n <li class=\"sortable-demo__item\" data-stimeo--sortable-target=\"item\"\n data-stimeo--sortable-name=\"<%= label %>\"\n data-controller=\"stimeo--pointer-drag\"\n data-stimeo--pointer-drag-axis-value=\"y\">\n <button type=\"button\" class=\"sortable-demo__handle\"\n aria-label=\"<%= t('components.sortable.demo.handle_label', name: label) %>\"\n data-stimeo--pointer-drag-target=\"handle\"\n data-stimeo--roving-target=\"item\">\n <svg class=\"demo-icon\" viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\"\n aria-hidden=\"true\">\n <circle cx=\"9\" cy=\"6\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"6\" r=\"1.5\"></circle>\n <circle cx=\"9\" cy=\"12\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"12\" r=\"1.5\"></circle>\n <circle cx=\"9\" cy=\"18\" r=\"1.5\"></circle><circle cx=\"15\" cy=\"18\" r=\"1.5\"></circle>\n </svg>\n </button>\n <span class=\"sortable-demo__label\"><%= label %></span>\n </li>\n <% end %>\n </ul>\n </div>\n <p class=\"sortable-demo__status\" data-sortable-heard aria-hidden=\"true\"></p>\n <p class=\"sortable-demo__saved\" data-sortable-saved aria-live=\"polite\"\n data-saved-template=\"<%= t(\"components.sortable.demo.saved_template\") %>\"></p>\n</div>\n"
371
371
  },
372
372
  "stimeo--spinner": {
373
373
  "file": "examples/spinner/_demo.html.erb",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 12,
3
- "packageVersion": "0.11.0",
3
+ "packageVersion": "0.13.0",
4
4
  "controllers": {
5
5
  "stimeo--accordion": {
6
6
  "targets": [
@@ -4433,11 +4433,14 @@
4433
4433
  "stimeo--sortable": {
4434
4434
  "targets": [
4435
4435
  "list",
4436
- "item",
4437
- "status"
4436
+ "item"
4438
4437
  ],
4439
4438
  "values": [
4440
- "orientation"
4439
+ "orientation",
4440
+ "announceGrabbedText",
4441
+ "announceMovedText",
4442
+ "announceDroppedText",
4443
+ "announceCanceledText"
4441
4444
  ],
4442
4445
  "valueConstraints": [],
4443
4446
  "valueRelations": [],
@@ -4451,30 +4454,7 @@
4451
4454
  "conditionalTargets": [],
4452
4455
  "requiredActions": [],
4453
4456
  "actionCompletion": [],
4454
- "a11y": [
4455
- {
4456
- "target": "status",
4457
- "attrs": [
4458
- "role"
4459
- ],
4460
- "values": [
4461
- "status",
4462
- "alert"
4463
- ],
4464
- "or": [
4465
- {
4466
- "attrs": [
4467
- "aria-live"
4468
- ],
4469
- "values": [
4470
- "polite",
4471
- "assertive"
4472
- ]
4473
- }
4474
- ],
4475
- "suggestion": "Add role=\"status\" (or aria-live=\"polite\") to the status target."
4476
- }
4477
- ],
4457
+ "a11y": [],
4478
4458
  "keyboard": [],
4479
4459
  "hosts": [],
4480
4460
  "managedAria": [],
@@ -5578,7 +5558,8 @@
5578
5558
  "values": [
5579
5559
  "channel",
5580
5560
  "params",
5581
- "id"
5561
+ "id",
5562
+ "announceText"
5582
5563
  ],
5583
5564
  "valueConstraints": [],
5584
5565
  "valueRelations": [],
@@ -5614,7 +5595,9 @@
5614
5595
  "id",
5615
5596
  "name",
5616
5597
  "heartbeat",
5617
- "timeout"
5598
+ "timeout",
5599
+ "announceJoinText",
5600
+ "announceLeaveText"
5618
5601
  ],
5619
5602
  "valueConstraints": [],
5620
5603
  "valueRelations": [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stimeo-ui",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Headless Stimulus UI framework for Ruby on Rails — behavior-only, accessible components driven by HTML attributes.",
5
5
  "type": "module",
6
6
  "license": "MIT",