stimeo-ui 0.12.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 (133) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/cable/index.d.ts +67 -13
  3. package/dist/cable/index.js +438 -152
  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/countdown_controller.d.ts +1 -1
  32. package/dist/controllers/countdown_controller.js.map +1 -1
  33. package/dist/controllers/data_grid_controller.d.ts +1 -1
  34. package/dist/controllers/data_grid_controller.js.map +1 -1
  35. package/dist/controllers/date_range_picker_controller.js +10 -10
  36. package/dist/controllers/date_range_picker_controller.js.map +1 -1
  37. package/dist/controllers/dialog_controller.d.ts +1 -1
  38. package/dist/controllers/dialog_controller.js.map +1 -1
  39. package/dist/controllers/direct_upload_controller.js.map +1 -1
  40. package/dist/controllers/dirty_form_controller.js.map +1 -1
  41. package/dist/controllers/dismissible_controller.js.map +1 -1
  42. package/dist/controllers/drawer_controller.d.ts +2 -2
  43. package/dist/controllers/drawer_controller.js +2 -2
  44. package/dist/controllers/drawer_controller.js.map +1 -1
  45. package/dist/controllers/dropdown_controller.d.ts +1 -1
  46. package/dist/controllers/dropdown_controller.js.map +1 -1
  47. package/dist/controllers/file_dropzone_controller.js.map +1 -1
  48. package/dist/controllers/flash_controller.js.map +1 -1
  49. package/dist/controllers/focus_controller.d.ts +2 -2
  50. package/dist/controllers/focus_controller.js.map +1 -1
  51. package/dist/controllers/form_validation_controller.js.map +1 -1
  52. package/dist/controllers/frame_loading_controller.d.ts +3 -3
  53. package/dist/controllers/frame_loading_controller.js.map +1 -1
  54. package/dist/controllers/highlight_controller.js.map +1 -1
  55. package/dist/controllers/hover_card_controller.d.ts +1 -1
  56. package/dist/controllers/hover_card_controller.js.map +1 -1
  57. package/dist/controllers/idle_controller.d.ts +1 -1
  58. package/dist/controllers/idle_controller.js.map +1 -1
  59. package/dist/controllers/input_mask_controller.js.map +1 -1
  60. package/dist/controllers/intersection_controller.js.map +1 -1
  61. package/dist/controllers/lazy_frame_controller.js.map +1 -1
  62. package/dist/controllers/listbox_controller.js.map +1 -1
  63. package/dist/controllers/local_time_controller.d.ts +1 -1
  64. package/dist/controllers/local_time_controller.js.map +1 -1
  65. package/dist/controllers/masonry_controller.d.ts +1 -1
  66. package/dist/controllers/masonry_controller.js.map +1 -1
  67. package/dist/controllers/menu_controller.d.ts +1 -1
  68. package/dist/controllers/menu_controller.js.map +1 -1
  69. package/dist/controllers/menubar_controller.d.ts +2 -2
  70. package/dist/controllers/menubar_controller.js.map +1 -1
  71. package/dist/controllers/navigation_menu_controller.d.ts +1 -1
  72. package/dist/controllers/navigation_menu_controller.js.map +1 -1
  73. package/dist/controllers/nested_form_controller.js.map +1 -1
  74. package/dist/controllers/network_status_controller.js.map +1 -1
  75. package/dist/controllers/number_input_controller.js.map +1 -1
  76. package/dist/controllers/optimistic_controller.d.ts +23 -10
  77. package/dist/controllers/optimistic_controller.js +141 -20
  78. package/dist/controllers/optimistic_controller.js.map +1 -1
  79. package/dist/controllers/overflow_indicator_controller.d.ts +1 -1
  80. package/dist/controllers/overflow_indicator_controller.js.map +1 -1
  81. package/dist/controllers/overflow_menu_controller.js.map +1 -1
  82. package/dist/controllers/pagination_controller.js.map +1 -1
  83. package/dist/controllers/password_reveal_controller.js.map +1 -1
  84. package/dist/controllers/password_strength_controller.d.ts +2 -1
  85. package/dist/controllers/password_strength_controller.js.map +1 -1
  86. package/dist/controllers/persist_controller.js.map +1 -1
  87. package/dist/controllers/popover_controller.d.ts +1 -1
  88. package/dist/controllers/popover_controller.js.map +1 -1
  89. package/dist/controllers/portal_controller.d.ts +2 -2
  90. package/dist/controllers/portal_controller.js.map +1 -1
  91. package/dist/controllers/radio_group_controller.d.ts +1 -1
  92. package/dist/controllers/radio_group_controller.js.map +1 -1
  93. package/dist/controllers/relative_time_controller.d.ts +3 -3
  94. package/dist/controllers/relative_time_controller.js.map +1 -1
  95. package/dist/controllers/roving_controller.d.ts +1 -1
  96. package/dist/controllers/roving_controller.js.map +1 -1
  97. package/dist/controllers/scroll_area_controller.js.map +1 -1
  98. package/dist/controllers/scrollspy_controller.js.map +1 -1
  99. package/dist/controllers/sidebar_controller.d.ts +1 -1
  100. package/dist/controllers/sidebar_controller.js.map +1 -1
  101. package/dist/controllers/skeleton_controller.d.ts +2 -2
  102. package/dist/controllers/skeleton_controller.js.map +1 -1
  103. package/dist/controllers/spinner_controller.d.ts +3 -3
  104. package/dist/controllers/spinner_controller.js.map +1 -1
  105. package/dist/controllers/sticky_observer_controller.js.map +1 -1
  106. package/dist/controllers/submit_once_controller.d.ts +3 -3
  107. package/dist/controllers/submit_once_controller.js.map +1 -1
  108. package/dist/controllers/switch_controller.js.map +1 -1
  109. package/dist/controllers/textarea_autosize_controller.d.ts +1 -1
  110. package/dist/controllers/textarea_autosize_controller.js.map +1 -1
  111. package/dist/controllers/theme_controller.d.ts +3 -2
  112. package/dist/controllers/theme_controller.js.map +1 -1
  113. package/dist/controllers/toast_controller.js +1 -1
  114. package/dist/controllers/toast_controller.js.map +1 -1
  115. package/dist/controllers/toggle_group_controller.js.map +1 -1
  116. package/dist/controllers/toolbar_controller.d.ts +1 -1
  117. package/dist/controllers/toolbar_controller.js.map +1 -1
  118. package/dist/controllers/tooltip_controller.d.ts +1 -1
  119. package/dist/controllers/tooltip_controller.js.map +1 -1
  120. package/dist/controllers/transition_controller.d.ts +1 -1
  121. package/dist/controllers/transition_controller.js.map +1 -1
  122. package/dist/controllers/tree_view_controller.d.ts +4 -3
  123. package/dist/controllers/tree_view_controller.js.map +1 -1
  124. package/dist/index.js +101 -38
  125. package/dist/index.js.map +1 -1
  126. package/dist/inspector/cli.d.ts +1 -1
  127. package/dist/inspector/cli.js +1 -1
  128. package/dist/inspector/cli.js.map +1 -1
  129. package/dist/inspector/cli_bin.js +1 -1
  130. package/dist/inspector/cli_bin.js.map +1 -1
  131. package/dist/inspector/examples.json +1 -1
  132. package/dist/inspector/manifest.json +6 -3
  133. 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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 12,
3
- "packageVersion": "0.12.0",
3
+ "packageVersion": "0.13.0",
4
4
  "controllers": {
5
5
  "stimeo--accordion": {
6
6
  "targets": [
@@ -5558,7 +5558,8 @@
5558
5558
  "values": [
5559
5559
  "channel",
5560
5560
  "params",
5561
- "id"
5561
+ "id",
5562
+ "announceText"
5562
5563
  ],
5563
5564
  "valueConstraints": [],
5564
5565
  "valueRelations": [],
@@ -5594,7 +5595,9 @@
5594
5595
  "id",
5595
5596
  "name",
5596
5597
  "heartbeat",
5597
- "timeout"
5598
+ "timeout",
5599
+ "announceJoinText",
5600
+ "announceLeaveText"
5598
5601
  ],
5599
5602
  "valueConstraints": [],
5600
5603
  "valueRelations": [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stimeo-ui",
3
- "version": "0.12.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",