@viax.io/uxm 4.38.0 → 4.40.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 (1189) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +34 -44
  4. package/dist/hooks/index.cjs +49 -0
  5. package/dist/hooks/index.cjs.map +1 -0
  6. package/dist/hooks/index.d.ts +19 -0
  7. package/dist/hooks/index.d.ts.map +1 -0
  8. package/dist/hooks/index.js +18 -0
  9. package/dist/hooks/index.js.map +1 -0
  10. package/dist/hooks/use-toast-store.cjs.map +1 -1
  11. package/dist/hooks/use-toast-store.d.ts +5 -3
  12. package/dist/hooks/use-toast-store.d.ts.map +1 -1
  13. package/dist/hooks/use-toast-store.js.map +1 -1
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +3 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/previews/composite/brand-settings-preview.d.ts +2 -2
  18. package/dist/previews/composite/brand-settings-preview.d.ts.map +1 -1
  19. package/dist/previews/composite/form-preview.d.ts +2 -2
  20. package/dist/previews/composite/form-preview.d.ts.map +1 -1
  21. package/dist/previews/composite/lifecycle-action-row-preview.d.ts +2 -2
  22. package/dist/previews/composite/lifecycle-action-row-preview.d.ts.map +1 -1
  23. package/dist/previews/composite/lifecycle-connector-knobs-preview.d.ts +2 -2
  24. package/dist/previews/composite/lifecycle-connector-knobs-preview.d.ts.map +1 -1
  25. package/dist/previews/composite/lifecycle-plus-button-preview.d.ts +2 -2
  26. package/dist/previews/composite/lifecycle-plus-button-preview.d.ts.map +1 -1
  27. package/dist/previews/composite/login-page-preview.d.ts +2 -2
  28. package/dist/previews/composite/login-page-preview.d.ts.map +1 -1
  29. package/dist/previews/composite/multirow-form-preview.d.ts +2 -2
  30. package/dist/previews/composite/multirow-form-preview.d.ts.map +1 -1
  31. package/dist/previews/demo-row-actions.d.ts +1 -1
  32. package/dist/previews/demo-row-actions.d.ts.map +1 -1
  33. package/dist/previews/index.cjs +7 -7
  34. package/dist/previews/index.cjs.map +1 -1
  35. package/dist/previews/index.d.ts +9 -9
  36. package/dist/previews/index.js +7 -7
  37. package/dist/previews/index.js.map +1 -1
  38. package/dist/studio/brand-font-styles.d.ts +1 -1
  39. package/dist/studio/brand-font-styles.d.ts.map +1 -1
  40. package/dist/studio/brand-token-styles.d.ts +1 -1
  41. package/dist/studio/brand-token-styles.d.ts.map +1 -1
  42. package/dist/studio/editors/code-editor.d.ts +1 -1
  43. package/dist/studio/editors/code-editor.d.ts.map +1 -1
  44. package/dist/studio/editors/color-picker.d.ts +1 -1
  45. package/dist/studio/editors/color-picker.d.ts.map +1 -1
  46. package/dist/studio/editors/number-input.d.ts +1 -1
  47. package/dist/studio/editors/number-input.d.ts.map +1 -1
  48. package/dist/studio/editors/select-input.d.ts +1 -1
  49. package/dist/studio/editors/select-input.d.ts.map +1 -1
  50. package/dist/studio/editors/slider-input.d.ts +1 -1
  51. package/dist/studio/editors/slider-input.d.ts.map +1 -1
  52. package/dist/studio/editors/text-input.d.ts +1 -1
  53. package/dist/studio/editors/text-input.d.ts.map +1 -1
  54. package/dist/studio/editors/toggle-input.d.ts +1 -1
  55. package/dist/studio/editors/toggle-input.d.ts.map +1 -1
  56. package/dist/studio/index.cjs.map +1 -1
  57. package/dist/studio/index.d.ts +2 -2
  58. package/dist/studio/index.js.map +1 -1
  59. package/dist/studio/lib/context.d.ts +1 -1
  60. package/dist/studio/lib/context.d.ts.map +1 -1
  61. package/dist/studio/lib/registry/buttons.cjs +4 -4
  62. package/dist/studio/lib/registry/buttons.cjs.map +1 -1
  63. package/dist/studio/lib/registry/buttons.js +4 -4
  64. package/dist/studio/lib/registry/buttons.js.map +1 -1
  65. package/dist/studio/lib/registry/composite/back-link.cjs +65 -0
  66. package/dist/studio/lib/registry/composite/back-link.cjs.map +1 -0
  67. package/dist/studio/lib/registry/composite/back-link.d.ts +3 -0
  68. package/dist/studio/lib/registry/composite/back-link.d.ts.map +1 -0
  69. package/dist/studio/lib/registry/composite/back-link.js +41 -0
  70. package/dist/studio/lib/registry/composite/back-link.js.map +1 -0
  71. package/dist/studio/lib/registry/composite/badge.cjs +102 -0
  72. package/dist/studio/lib/registry/composite/badge.cjs.map +1 -0
  73. package/dist/studio/lib/registry/composite/badge.d.ts +3 -0
  74. package/dist/studio/lib/registry/composite/badge.d.ts.map +1 -0
  75. package/dist/studio/lib/registry/composite/badge.js +78 -0
  76. package/dist/studio/lib/registry/composite/badge.js.map +1 -0
  77. package/dist/studio/lib/registry/composite/breadcrumb.cjs +83 -0
  78. package/dist/studio/lib/registry/composite/breadcrumb.cjs.map +1 -0
  79. package/dist/studio/lib/registry/composite/breadcrumb.d.ts +3 -0
  80. package/dist/studio/lib/registry/composite/breadcrumb.d.ts.map +1 -0
  81. package/dist/studio/lib/registry/composite/breadcrumb.js +59 -0
  82. package/dist/studio/lib/registry/composite/breadcrumb.js.map +1 -0
  83. package/dist/studio/lib/registry/composite/button-group.cjs +76 -0
  84. package/dist/studio/lib/registry/composite/button-group.cjs.map +1 -0
  85. package/dist/studio/lib/registry/composite/button-group.d.ts +3 -0
  86. package/dist/studio/lib/registry/composite/button-group.d.ts.map +1 -0
  87. package/dist/studio/lib/registry/composite/button-group.js +52 -0
  88. package/dist/studio/lib/registry/composite/button-group.js.map +1 -0
  89. package/dist/studio/lib/registry/composite/calendar.cjs +116 -0
  90. package/dist/studio/lib/registry/composite/calendar.cjs.map +1 -0
  91. package/dist/studio/lib/registry/composite/calendar.d.ts +3 -0
  92. package/dist/studio/lib/registry/composite/calendar.d.ts.map +1 -0
  93. package/dist/studio/lib/registry/composite/calendar.js +92 -0
  94. package/dist/studio/lib/registry/composite/calendar.js.map +1 -0
  95. package/dist/studio/lib/registry/composite/content-tooltip.cjs +44 -0
  96. package/dist/studio/lib/registry/composite/content-tooltip.cjs.map +1 -0
  97. package/dist/studio/lib/registry/composite/content-tooltip.d.ts +3 -0
  98. package/dist/studio/lib/registry/composite/content-tooltip.d.ts.map +1 -0
  99. package/dist/studio/lib/registry/composite/content-tooltip.js +20 -0
  100. package/dist/studio/lib/registry/composite/content-tooltip.js.map +1 -0
  101. package/dist/studio/lib/registry/composite/data-table.cjs +61 -0
  102. package/dist/studio/lib/registry/composite/data-table.cjs.map +1 -0
  103. package/dist/studio/lib/registry/composite/data-table.d.ts +3 -0
  104. package/dist/studio/lib/registry/composite/data-table.d.ts.map +1 -0
  105. package/dist/studio/lib/registry/composite/data-table.js +37 -0
  106. package/dist/studio/lib/registry/composite/data-table.js.map +1 -0
  107. package/dist/studio/lib/registry/composite/detail-section.cjs +47 -0
  108. package/dist/studio/lib/registry/composite/detail-section.cjs.map +1 -0
  109. package/dist/studio/lib/registry/composite/detail-section.d.ts +3 -0
  110. package/dist/studio/lib/registry/composite/detail-section.d.ts.map +1 -0
  111. package/dist/studio/lib/registry/composite/detail-section.js +23 -0
  112. package/dist/studio/lib/registry/composite/detail-section.js.map +1 -0
  113. package/dist/studio/lib/registry/composite/divider.cjs +43 -0
  114. package/dist/studio/lib/registry/composite/divider.cjs.map +1 -0
  115. package/dist/studio/lib/registry/composite/divider.d.ts +3 -0
  116. package/dist/studio/lib/registry/composite/divider.d.ts.map +1 -0
  117. package/dist/studio/lib/registry/composite/divider.js +19 -0
  118. package/dist/studio/lib/registry/composite/divider.js.map +1 -0
  119. package/dist/studio/lib/registry/composite/error-page.cjs +58 -0
  120. package/dist/studio/lib/registry/composite/error-page.cjs.map +1 -0
  121. package/dist/studio/lib/registry/composite/error-page.d.ts +3 -0
  122. package/dist/studio/lib/registry/composite/error-page.d.ts.map +1 -0
  123. package/dist/studio/lib/registry/composite/error-page.js +34 -0
  124. package/dist/studio/lib/registry/composite/error-page.js.map +1 -0
  125. package/dist/studio/lib/registry/composite/explorer-list-item.cjs +84 -0
  126. package/dist/studio/lib/registry/composite/explorer-list-item.cjs.map +1 -0
  127. package/dist/studio/lib/registry/composite/explorer-list-item.d.ts +3 -0
  128. package/dist/studio/lib/registry/composite/explorer-list-item.d.ts.map +1 -0
  129. package/dist/studio/lib/registry/composite/explorer-list-item.js +60 -0
  130. package/dist/studio/lib/registry/composite/explorer-list-item.js.map +1 -0
  131. package/dist/studio/lib/registry/composite/explorer-section.cjs +90 -0
  132. package/dist/studio/lib/registry/composite/explorer-section.cjs.map +1 -0
  133. package/dist/studio/lib/registry/composite/explorer-section.d.ts +3 -0
  134. package/dist/studio/lib/registry/composite/explorer-section.d.ts.map +1 -0
  135. package/dist/studio/lib/registry/composite/explorer-section.js +66 -0
  136. package/dist/studio/lib/registry/composite/explorer-section.js.map +1 -0
  137. package/dist/studio/lib/registry/composite/filter-tabs.cjs +77 -0
  138. package/dist/studio/lib/registry/composite/filter-tabs.cjs.map +1 -0
  139. package/dist/studio/lib/registry/composite/filter-tabs.d.ts +3 -0
  140. package/dist/studio/lib/registry/composite/filter-tabs.d.ts.map +1 -0
  141. package/dist/studio/lib/registry/composite/filter-tabs.js +53 -0
  142. package/dist/studio/lib/registry/composite/filter-tabs.js.map +1 -0
  143. package/dist/studio/lib/registry/composite/form-field.cjs +119 -0
  144. package/dist/studio/lib/registry/composite/form-field.cjs.map +1 -0
  145. package/dist/studio/lib/registry/composite/form-field.d.ts +3 -0
  146. package/dist/studio/lib/registry/composite/form-field.d.ts.map +1 -0
  147. package/dist/studio/lib/registry/composite/form-field.js +95 -0
  148. package/dist/studio/lib/registry/composite/form-field.js.map +1 -0
  149. package/dist/studio/lib/registry/composite/form-multirow.cjs +56 -0
  150. package/dist/studio/lib/registry/composite/form-multirow.cjs.map +1 -0
  151. package/dist/studio/lib/registry/composite/form-multirow.d.ts +3 -0
  152. package/dist/studio/lib/registry/composite/form-multirow.d.ts.map +1 -0
  153. package/dist/studio/lib/registry/composite/form-multirow.js +32 -0
  154. package/dist/studio/lib/registry/composite/form-multirow.js.map +1 -0
  155. package/dist/studio/lib/registry/composite/icon-tile.cjs +42 -0
  156. package/dist/studio/lib/registry/composite/icon-tile.cjs.map +1 -0
  157. package/dist/studio/lib/registry/composite/icon-tile.d.ts +3 -0
  158. package/dist/studio/lib/registry/composite/icon-tile.d.ts.map +1 -0
  159. package/dist/studio/lib/registry/composite/icon-tile.js +18 -0
  160. package/dist/studio/lib/registry/composite/icon-tile.js.map +1 -0
  161. package/dist/studio/lib/registry/composite/index.cjs +105 -0
  162. package/dist/studio/lib/registry/composite/index.cjs.map +1 -0
  163. package/dist/studio/lib/registry/composite/index.d.ts +3 -0
  164. package/dist/studio/lib/registry/composite/index.d.ts.map +1 -0
  165. package/dist/studio/lib/registry/composite/index.js +81 -0
  166. package/dist/studio/lib/registry/composite/index.js.map +1 -0
  167. package/dist/studio/lib/registry/composite/inline-action.cjs +66 -0
  168. package/dist/studio/lib/registry/composite/inline-action.cjs.map +1 -0
  169. package/dist/studio/lib/registry/composite/inline-action.d.ts +3 -0
  170. package/dist/studio/lib/registry/composite/inline-action.d.ts.map +1 -0
  171. package/dist/studio/lib/registry/composite/inline-action.js +42 -0
  172. package/dist/studio/lib/registry/composite/inline-action.js.map +1 -0
  173. package/dist/studio/lib/registry/composite/inline-filter.cjs +43 -0
  174. package/dist/studio/lib/registry/composite/inline-filter.cjs.map +1 -0
  175. package/dist/studio/lib/registry/composite/inline-filter.d.ts +3 -0
  176. package/dist/studio/lib/registry/composite/inline-filter.d.ts.map +1 -0
  177. package/dist/studio/lib/registry/composite/inline-filter.js +19 -0
  178. package/dist/studio/lib/registry/composite/inline-filter.js.map +1 -0
  179. package/dist/studio/lib/registry/composite/link.cjs +88 -0
  180. package/dist/studio/lib/registry/composite/link.cjs.map +1 -0
  181. package/dist/studio/lib/registry/composite/link.d.ts +3 -0
  182. package/dist/studio/lib/registry/composite/link.d.ts.map +1 -0
  183. package/dist/studio/lib/registry/composite/link.js +64 -0
  184. package/dist/studio/lib/registry/composite/link.js.map +1 -0
  185. package/dist/studio/lib/registry/composite/list-item.cjs +134 -0
  186. package/dist/studio/lib/registry/composite/list-item.cjs.map +1 -0
  187. package/dist/studio/lib/registry/composite/list-item.d.ts +3 -0
  188. package/dist/studio/lib/registry/composite/list-item.d.ts.map +1 -0
  189. package/dist/studio/lib/registry/composite/list-item.js +110 -0
  190. package/dist/studio/lib/registry/composite/list-item.js.map +1 -0
  191. package/dist/studio/lib/registry/composite/login-page.cjs +66 -0
  192. package/dist/studio/lib/registry/composite/login-page.cjs.map +1 -0
  193. package/dist/studio/lib/registry/composite/login-page.d.ts +3 -0
  194. package/dist/studio/lib/registry/composite/login-page.d.ts.map +1 -0
  195. package/dist/studio/lib/registry/composite/login-page.js +42 -0
  196. package/dist/studio/lib/registry/composite/login-page.js.map +1 -0
  197. package/dist/studio/lib/registry/composite/meta-row.cjs +42 -0
  198. package/dist/studio/lib/registry/composite/meta-row.cjs.map +1 -0
  199. package/dist/studio/lib/registry/composite/meta-row.d.ts +3 -0
  200. package/dist/studio/lib/registry/composite/meta-row.d.ts.map +1 -0
  201. package/dist/studio/lib/registry/composite/meta-row.js +18 -0
  202. package/dist/studio/lib/registry/composite/meta-row.js.map +1 -0
  203. package/dist/studio/lib/registry/composite/page-header.cjs +47 -0
  204. package/dist/studio/lib/registry/composite/page-header.cjs.map +1 -0
  205. package/dist/studio/lib/registry/composite/page-header.d.ts +3 -0
  206. package/dist/studio/lib/registry/composite/page-header.d.ts.map +1 -0
  207. package/dist/studio/lib/registry/composite/page-header.js +23 -0
  208. package/dist/studio/lib/registry/composite/page-header.js.map +1 -0
  209. package/dist/studio/lib/registry/composite/page-shell.cjs +49 -0
  210. package/dist/studio/lib/registry/composite/page-shell.cjs.map +1 -0
  211. package/dist/studio/lib/registry/composite/page-shell.d.ts +3 -0
  212. package/dist/studio/lib/registry/composite/page-shell.d.ts.map +1 -0
  213. package/dist/studio/lib/registry/composite/page-shell.js +25 -0
  214. package/dist/studio/lib/registry/composite/page-shell.js.map +1 -0
  215. package/dist/studio/lib/registry/composite/pill-select.cjs +120 -0
  216. package/dist/studio/lib/registry/composite/pill-select.cjs.map +1 -0
  217. package/dist/studio/lib/registry/composite/pill-select.d.ts +3 -0
  218. package/dist/studio/lib/registry/composite/pill-select.d.ts.map +1 -0
  219. package/dist/studio/lib/registry/composite/pill-select.js +96 -0
  220. package/dist/studio/lib/registry/composite/pill-select.js.map +1 -0
  221. package/dist/studio/lib/registry/composite/property-field.cjs +66 -0
  222. package/dist/studio/lib/registry/composite/property-field.cjs.map +1 -0
  223. package/dist/studio/lib/registry/composite/property-field.d.ts +3 -0
  224. package/dist/studio/lib/registry/composite/property-field.d.ts.map +1 -0
  225. package/dist/studio/lib/registry/composite/property-field.js +42 -0
  226. package/dist/studio/lib/registry/composite/property-field.js.map +1 -0
  227. package/dist/studio/lib/registry/composite/property-grid.cjs +39 -0
  228. package/dist/studio/lib/registry/composite/property-grid.cjs.map +1 -0
  229. package/dist/studio/lib/registry/composite/property-grid.d.ts +3 -0
  230. package/dist/studio/lib/registry/composite/property-grid.d.ts.map +1 -0
  231. package/dist/studio/lib/registry/composite/property-grid.js +15 -0
  232. package/dist/studio/lib/registry/composite/property-grid.js.map +1 -0
  233. package/dist/studio/lib/registry/composite/section-header.cjs +44 -0
  234. package/dist/studio/lib/registry/composite/section-header.cjs.map +1 -0
  235. package/dist/studio/lib/registry/composite/section-header.d.ts +3 -0
  236. package/dist/studio/lib/registry/composite/section-header.d.ts.map +1 -0
  237. package/dist/studio/lib/registry/composite/section-header.js +20 -0
  238. package/dist/studio/lib/registry/composite/section-header.js.map +1 -0
  239. package/dist/studio/lib/registry/composite/side-flexpane.cjs +51 -0
  240. package/dist/studio/lib/registry/composite/side-flexpane.cjs.map +1 -0
  241. package/dist/studio/lib/registry/composite/side-flexpane.d.ts +3 -0
  242. package/dist/studio/lib/registry/composite/side-flexpane.d.ts.map +1 -0
  243. package/dist/studio/lib/registry/composite/side-flexpane.js +27 -0
  244. package/dist/studio/lib/registry/composite/side-flexpane.js.map +1 -0
  245. package/dist/studio/lib/registry/composite/sidebar-nav-item.cjs +95 -0
  246. package/dist/studio/lib/registry/composite/sidebar-nav-item.cjs.map +1 -0
  247. package/dist/studio/lib/registry/composite/sidebar-nav-item.d.ts +3 -0
  248. package/dist/studio/lib/registry/composite/sidebar-nav-item.d.ts.map +1 -0
  249. package/dist/studio/lib/registry/composite/sidebar-nav-item.js +71 -0
  250. package/dist/studio/lib/registry/composite/sidebar-nav-item.js.map +1 -0
  251. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs +224 -0
  252. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.cjs.map +1 -0
  253. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.d.ts +3 -0
  254. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.d.ts.map +1 -0
  255. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js +200 -0
  256. package/dist/studio/lib/registry/composite/sidebar-nav-trigger.js.map +1 -0
  257. package/dist/studio/lib/registry/composite/stat-card.cjs +45 -0
  258. package/dist/studio/lib/registry/composite/stat-card.cjs.map +1 -0
  259. package/dist/studio/lib/registry/composite/stat-card.d.ts +3 -0
  260. package/dist/studio/lib/registry/composite/stat-card.d.ts.map +1 -0
  261. package/dist/studio/lib/registry/composite/stat-card.js +21 -0
  262. package/dist/studio/lib/registry/composite/stat-card.js.map +1 -0
  263. package/dist/studio/lib/registry/composite/tabs-underline.cjs +82 -0
  264. package/dist/studio/lib/registry/composite/tabs-underline.cjs.map +1 -0
  265. package/dist/studio/lib/registry/composite/tabs-underline.d.ts +3 -0
  266. package/dist/studio/lib/registry/composite/tabs-underline.d.ts.map +1 -0
  267. package/dist/studio/lib/registry/composite/tabs-underline.js +58 -0
  268. package/dist/studio/lib/registry/composite/tabs-underline.js.map +1 -0
  269. package/dist/studio/lib/registry/composite/tabs.cjs +84 -0
  270. package/dist/studio/lib/registry/composite/tabs.cjs.map +1 -0
  271. package/dist/studio/lib/registry/composite/tabs.d.ts +3 -0
  272. package/dist/studio/lib/registry/composite/tabs.d.ts.map +1 -0
  273. package/dist/studio/lib/registry/composite/tabs.js +60 -0
  274. package/dist/studio/lib/registry/composite/tabs.js.map +1 -0
  275. package/dist/studio/lib/registry/composite/thumbnail.cjs +62 -0
  276. package/dist/studio/lib/registry/composite/thumbnail.cjs.map +1 -0
  277. package/dist/studio/lib/registry/composite/thumbnail.d.ts +3 -0
  278. package/dist/studio/lib/registry/composite/thumbnail.d.ts.map +1 -0
  279. package/dist/studio/lib/registry/composite/thumbnail.js +38 -0
  280. package/dist/studio/lib/registry/composite/thumbnail.js.map +1 -0
  281. package/dist/studio/lib/registry/composite/type-overview-card.cjs +51 -0
  282. package/dist/studio/lib/registry/composite/type-overview-card.cjs.map +1 -0
  283. package/dist/studio/lib/registry/composite/type-overview-card.d.ts +3 -0
  284. package/dist/studio/lib/registry/composite/type-overview-card.d.ts.map +1 -0
  285. package/dist/studio/lib/registry/composite/type-overview-card.js +27 -0
  286. package/dist/studio/lib/registry/composite/type-overview-card.js.map +1 -0
  287. package/dist/studio/lib/registry/composite/view-switcher.cjs +76 -0
  288. package/dist/studio/lib/registry/composite/view-switcher.cjs.map +1 -0
  289. package/dist/studio/lib/registry/composite/view-switcher.d.ts +3 -0
  290. package/dist/studio/lib/registry/composite/view-switcher.d.ts.map +1 -0
  291. package/dist/studio/lib/registry/composite/view-switcher.js +52 -0
  292. package/dist/studio/lib/registry/composite/view-switcher.js.map +1 -0
  293. package/dist/studio/lib/registry/diagram.cjs +1 -1
  294. package/dist/studio/lib/registry/diagram.cjs.map +1 -1
  295. package/dist/studio/lib/registry/diagram.js +1 -1
  296. package/dist/studio/lib/registry/diagram.js.map +1 -1
  297. package/dist/studio/lib/registry/display.cjs +2 -2
  298. package/dist/studio/lib/registry/display.cjs.map +1 -1
  299. package/dist/studio/lib/registry/display.js +2 -2
  300. package/dist/studio/lib/registry/display.js.map +1 -1
  301. package/dist/studio/lib/registry/feedback.cjs +3 -3
  302. package/dist/studio/lib/registry/feedback.cjs.map +1 -1
  303. package/dist/studio/lib/registry/feedback.js +3 -3
  304. package/dist/studio/lib/registry/feedback.js.map +1 -1
  305. package/dist/studio/lib/registry/icons.cjs +32 -11
  306. package/dist/studio/lib/registry/icons.cjs.map +1 -1
  307. package/dist/studio/lib/registry/icons.d.ts.map +1 -1
  308. package/dist/studio/lib/registry/icons.js +32 -11
  309. package/dist/studio/lib/registry/icons.js.map +1 -1
  310. package/dist/studio/lib/registry/index.cjs +2 -2
  311. package/dist/studio/lib/registry/index.js +2 -2
  312. package/dist/studio/lib/registry/inputs/checkbox.cjs +84 -0
  313. package/dist/studio/lib/registry/inputs/checkbox.cjs.map +1 -0
  314. package/dist/studio/lib/registry/inputs/checkbox.d.ts +3 -0
  315. package/dist/studio/lib/registry/inputs/checkbox.d.ts.map +1 -0
  316. package/dist/studio/lib/registry/inputs/checkbox.js +60 -0
  317. package/dist/studio/lib/registry/inputs/checkbox.js.map +1 -0
  318. package/dist/studio/lib/registry/inputs/code-editor.cjs +90 -0
  319. package/dist/studio/lib/registry/inputs/code-editor.cjs.map +1 -0
  320. package/dist/studio/lib/registry/inputs/code-editor.d.ts +3 -0
  321. package/dist/studio/lib/registry/inputs/code-editor.d.ts.map +1 -0
  322. package/dist/studio/lib/registry/inputs/code-editor.js +66 -0
  323. package/dist/studio/lib/registry/inputs/code-editor.js.map +1 -0
  324. package/dist/studio/lib/registry/inputs/color-input.cjs +107 -0
  325. package/dist/studio/lib/registry/inputs/color-input.cjs.map +1 -0
  326. package/dist/studio/lib/registry/inputs/color-input.d.ts +3 -0
  327. package/dist/studio/lib/registry/inputs/color-input.d.ts.map +1 -0
  328. package/dist/studio/lib/registry/inputs/color-input.js +83 -0
  329. package/dist/studio/lib/registry/inputs/color-input.js.map +1 -0
  330. package/dist/studio/lib/registry/inputs/currency-input.cjs +112 -0
  331. package/dist/studio/lib/registry/inputs/currency-input.cjs.map +1 -0
  332. package/dist/studio/lib/registry/inputs/currency-input.d.ts +3 -0
  333. package/dist/studio/lib/registry/inputs/currency-input.d.ts.map +1 -0
  334. package/dist/studio/lib/registry/inputs/currency-input.js +88 -0
  335. package/dist/studio/lib/registry/inputs/currency-input.js.map +1 -0
  336. package/dist/studio/lib/registry/inputs/date-input.cjs +105 -0
  337. package/dist/studio/lib/registry/inputs/date-input.cjs.map +1 -0
  338. package/dist/studio/lib/registry/inputs/date-input.d.ts +3 -0
  339. package/dist/studio/lib/registry/inputs/date-input.d.ts.map +1 -0
  340. package/dist/studio/lib/registry/inputs/date-input.js +81 -0
  341. package/dist/studio/lib/registry/inputs/date-input.js.map +1 -0
  342. package/dist/studio/lib/registry/inputs/editable-cell.cjs +206 -0
  343. package/dist/studio/lib/registry/inputs/editable-cell.cjs.map +1 -0
  344. package/dist/studio/lib/registry/inputs/editable-cell.d.ts +3 -0
  345. package/dist/studio/lib/registry/inputs/editable-cell.d.ts.map +1 -0
  346. package/dist/studio/lib/registry/inputs/editable-cell.js +182 -0
  347. package/dist/studio/lib/registry/inputs/editable-cell.js.map +1 -0
  348. package/dist/studio/lib/registry/inputs/file-upload.cjs +161 -0
  349. package/dist/studio/lib/registry/inputs/file-upload.cjs.map +1 -0
  350. package/dist/studio/lib/registry/inputs/file-upload.d.ts +3 -0
  351. package/dist/studio/lib/registry/inputs/file-upload.d.ts.map +1 -0
  352. package/dist/studio/lib/registry/inputs/file-upload.js +137 -0
  353. package/dist/studio/lib/registry/inputs/file-upload.js.map +1 -0
  354. package/dist/studio/lib/registry/inputs/index.cjs +75 -0
  355. package/dist/studio/lib/registry/inputs/index.cjs.map +1 -0
  356. package/dist/studio/lib/registry/inputs/index.d.ts +3 -0
  357. package/dist/studio/lib/registry/inputs/index.d.ts.map +1 -0
  358. package/dist/studio/lib/registry/inputs/index.js +51 -0
  359. package/dist/studio/lib/registry/inputs/index.js.map +1 -0
  360. package/dist/studio/lib/registry/inputs/input-text.cjs +101 -0
  361. package/dist/studio/lib/registry/inputs/input-text.cjs.map +1 -0
  362. package/dist/studio/lib/registry/inputs/input-text.d.ts +3 -0
  363. package/dist/studio/lib/registry/inputs/input-text.d.ts.map +1 -0
  364. package/dist/studio/lib/registry/inputs/input-text.js +77 -0
  365. package/dist/studio/lib/registry/inputs/input-text.js.map +1 -0
  366. package/dist/studio/lib/registry/inputs/input-with-icon.cjs +85 -0
  367. package/dist/studio/lib/registry/inputs/input-with-icon.cjs.map +1 -0
  368. package/dist/studio/lib/registry/inputs/input-with-icon.d.ts +3 -0
  369. package/dist/studio/lib/registry/inputs/input-with-icon.d.ts.map +1 -0
  370. package/dist/studio/lib/registry/inputs/input-with-icon.js +61 -0
  371. package/dist/studio/lib/registry/inputs/input-with-icon.js.map +1 -0
  372. package/dist/studio/lib/registry/inputs/listbox.cjs +221 -0
  373. package/dist/studio/lib/registry/inputs/listbox.cjs.map +1 -0
  374. package/dist/studio/lib/registry/inputs/listbox.d.ts +3 -0
  375. package/dist/studio/lib/registry/inputs/listbox.d.ts.map +1 -0
  376. package/dist/studio/lib/registry/inputs/listbox.js +197 -0
  377. package/dist/studio/lib/registry/inputs/listbox.js.map +1 -0
  378. package/dist/studio/lib/registry/inputs/menu.cjs +208 -0
  379. package/dist/studio/lib/registry/inputs/menu.cjs.map +1 -0
  380. package/dist/studio/lib/registry/inputs/menu.d.ts +3 -0
  381. package/dist/studio/lib/registry/inputs/menu.d.ts.map +1 -0
  382. package/dist/studio/lib/registry/inputs/menu.js +184 -0
  383. package/dist/studio/lib/registry/inputs/menu.js.map +1 -0
  384. package/dist/studio/lib/registry/inputs/number-input.cjs +105 -0
  385. package/dist/studio/lib/registry/inputs/number-input.cjs.map +1 -0
  386. package/dist/studio/lib/registry/inputs/number-input.d.ts +3 -0
  387. package/dist/studio/lib/registry/inputs/number-input.d.ts.map +1 -0
  388. package/dist/studio/lib/registry/inputs/number-input.js +81 -0
  389. package/dist/studio/lib/registry/inputs/number-input.js.map +1 -0
  390. package/dist/studio/lib/registry/inputs/number-stepper.cjs +99 -0
  391. package/dist/studio/lib/registry/inputs/number-stepper.cjs.map +1 -0
  392. package/dist/studio/lib/registry/inputs/number-stepper.d.ts +3 -0
  393. package/dist/studio/lib/registry/inputs/number-stepper.d.ts.map +1 -0
  394. package/dist/studio/lib/registry/inputs/number-stepper.js +75 -0
  395. package/dist/studio/lib/registry/inputs/number-stepper.js.map +1 -0
  396. package/dist/studio/lib/registry/inputs/password-input.cjs +107 -0
  397. package/dist/studio/lib/registry/inputs/password-input.cjs.map +1 -0
  398. package/dist/studio/lib/registry/inputs/password-input.d.ts +3 -0
  399. package/dist/studio/lib/registry/inputs/password-input.d.ts.map +1 -0
  400. package/dist/studio/lib/registry/inputs/password-input.js +83 -0
  401. package/dist/studio/lib/registry/inputs/password-input.js.map +1 -0
  402. package/dist/studio/lib/registry/inputs/phone-input.cjs +105 -0
  403. package/dist/studio/lib/registry/inputs/phone-input.cjs.map +1 -0
  404. package/dist/studio/lib/registry/inputs/phone-input.d.ts +3 -0
  405. package/dist/studio/lib/registry/inputs/phone-input.d.ts.map +1 -0
  406. package/dist/studio/lib/registry/inputs/phone-input.js +81 -0
  407. package/dist/studio/lib/registry/inputs/phone-input.js.map +1 -0
  408. package/dist/studio/lib/registry/inputs/radio-group.cjs +86 -0
  409. package/dist/studio/lib/registry/inputs/radio-group.cjs.map +1 -0
  410. package/dist/studio/lib/registry/inputs/radio-group.d.ts +3 -0
  411. package/dist/studio/lib/registry/inputs/radio-group.d.ts.map +1 -0
  412. package/dist/studio/lib/registry/inputs/radio-group.js +62 -0
  413. package/dist/studio/lib/registry/inputs/radio-group.js.map +1 -0
  414. package/dist/studio/lib/registry/inputs/search-dropdown.cjs +86 -0
  415. package/dist/studio/lib/registry/inputs/search-dropdown.cjs.map +1 -0
  416. package/dist/studio/lib/registry/inputs/search-dropdown.d.ts +3 -0
  417. package/dist/studio/lib/registry/inputs/search-dropdown.d.ts.map +1 -0
  418. package/dist/studio/lib/registry/inputs/search-dropdown.js +62 -0
  419. package/dist/studio/lib/registry/inputs/search-dropdown.js.map +1 -0
  420. package/dist/studio/lib/registry/inputs/select-dropdown.cjs +103 -0
  421. package/dist/studio/lib/registry/inputs/select-dropdown.cjs.map +1 -0
  422. package/dist/studio/lib/registry/inputs/select-dropdown.d.ts +3 -0
  423. package/dist/studio/lib/registry/inputs/select-dropdown.d.ts.map +1 -0
  424. package/dist/studio/lib/registry/inputs/select-dropdown.js +79 -0
  425. package/dist/studio/lib/registry/inputs/select-dropdown.js.map +1 -0
  426. package/dist/studio/lib/registry/inputs/slider.cjs +99 -0
  427. package/dist/studio/lib/registry/inputs/slider.cjs.map +1 -0
  428. package/dist/studio/lib/registry/inputs/slider.d.ts +3 -0
  429. package/dist/studio/lib/registry/inputs/slider.d.ts.map +1 -0
  430. package/dist/studio/lib/registry/inputs/slider.js +75 -0
  431. package/dist/studio/lib/registry/inputs/slider.js.map +1 -0
  432. package/dist/studio/lib/registry/inputs/textarea.cjs +84 -0
  433. package/dist/studio/lib/registry/inputs/textarea.cjs.map +1 -0
  434. package/dist/studio/lib/registry/inputs/textarea.d.ts +3 -0
  435. package/dist/studio/lib/registry/inputs/textarea.d.ts.map +1 -0
  436. package/dist/studio/lib/registry/inputs/textarea.js +60 -0
  437. package/dist/studio/lib/registry/inputs/textarea.js.map +1 -0
  438. package/dist/studio/lib/registry/inputs/time-input.cjs +131 -0
  439. package/dist/studio/lib/registry/inputs/time-input.cjs.map +1 -0
  440. package/dist/studio/lib/registry/inputs/time-input.d.ts +3 -0
  441. package/dist/studio/lib/registry/inputs/time-input.d.ts.map +1 -0
  442. package/dist/studio/lib/registry/inputs/time-input.js +107 -0
  443. package/dist/studio/lib/registry/inputs/time-input.js.map +1 -0
  444. package/dist/studio/lib/registry/inputs/toggle-switch.cjs +80 -0
  445. package/dist/studio/lib/registry/inputs/toggle-switch.cjs.map +1 -0
  446. package/dist/studio/lib/registry/inputs/toggle-switch.d.ts +3 -0
  447. package/dist/studio/lib/registry/inputs/toggle-switch.d.ts.map +1 -0
  448. package/dist/studio/lib/registry/inputs/toggle-switch.js +56 -0
  449. package/dist/studio/lib/registry/inputs/toggle-switch.js.map +1 -0
  450. package/dist/studio/lib/types.cjs.map +1 -1
  451. package/dist/studio/mobile-gallery.d.ts +1 -1
  452. package/dist/studio/mobile-gallery.d.ts.map +1 -1
  453. package/dist/studio/persistence/css-sanitizers.cjs +75 -0
  454. package/dist/studio/persistence/css-sanitizers.cjs.map +1 -0
  455. package/dist/studio/persistence/css-sanitizers.d.ts +16 -0
  456. package/dist/studio/persistence/css-sanitizers.d.ts.map +1 -0
  457. package/dist/studio/persistence/css-sanitizers.js +45 -0
  458. package/dist/studio/persistence/css-sanitizers.js.map +1 -0
  459. package/dist/studio/persistence/generate-css-mapping.cjs +837 -0
  460. package/dist/studio/persistence/generate-css-mapping.cjs.map +1 -0
  461. package/dist/studio/persistence/generate-css-mapping.d.ts +13 -0
  462. package/dist/studio/persistence/generate-css-mapping.d.ts.map +1 -0
  463. package/dist/studio/persistence/generate-css-mapping.js +812 -0
  464. package/dist/studio/persistence/generate-css-mapping.js.map +1 -0
  465. package/dist/studio/persistence/generate-css.cjs +26 -865
  466. package/dist/studio/persistence/generate-css.cjs.map +1 -1
  467. package/dist/studio/persistence/generate-css.d.ts +1 -6
  468. package/dist/studio/persistence/generate-css.d.ts.map +1 -1
  469. package/dist/studio/persistence/generate-css.js +9 -848
  470. package/dist/studio/persistence/generate-css.js.map +1 -1
  471. package/dist/studio/shell/canvas.d.ts +1 -1
  472. package/dist/studio/shell/canvas.d.ts.map +1 -1
  473. package/dist/studio/shell/preview-modal.d.ts +1 -1
  474. package/dist/studio/shell/preview-modal.d.ts.map +1 -1
  475. package/dist/studio/shell/properties-panel/dev-tab.cjs +244 -0
  476. package/dist/studio/shell/properties-panel/dev-tab.cjs.map +1 -0
  477. package/dist/studio/shell/properties-panel/dev-tab.d.ts +27 -0
  478. package/dist/studio/shell/properties-panel/dev-tab.d.ts.map +1 -0
  479. package/dist/studio/shell/properties-panel/dev-tab.js +220 -0
  480. package/dist/studio/shell/properties-panel/dev-tab.js.map +1 -0
  481. package/dist/studio/shell/properties-panel/index.cjs +398 -0
  482. package/dist/studio/shell/properties-panel/index.cjs.map +1 -0
  483. package/dist/studio/shell/{properties-panel.d.ts → properties-panel/index.d.ts} +2 -2
  484. package/dist/studio/shell/properties-panel/index.d.ts.map +1 -0
  485. package/dist/studio/shell/properties-panel/index.js +374 -0
  486. package/dist/studio/shell/properties-panel/index.js.map +1 -0
  487. package/dist/studio/shell/properties-panel/property-row.cjs +155 -0
  488. package/dist/studio/shell/properties-panel/property-row.cjs.map +1 -0
  489. package/dist/studio/shell/properties-panel/property-row.d.ts +20 -0
  490. package/dist/studio/shell/properties-panel/property-row.d.ts.map +1 -0
  491. package/dist/studio/shell/properties-panel/property-row.js +130 -0
  492. package/dist/studio/shell/properties-panel/property-row.js.map +1 -0
  493. package/dist/studio/shell/properties-panel/variant-matrix.cjs +177 -0
  494. package/dist/studio/shell/properties-panel/variant-matrix.cjs.map +1 -0
  495. package/dist/studio/shell/properties-panel/variant-matrix.d.ts +30 -0
  496. package/dist/studio/shell/properties-panel/variant-matrix.d.ts.map +1 -0
  497. package/dist/studio/shell/properties-panel/variant-matrix.js +153 -0
  498. package/dist/studio/shell/properties-panel/variant-matrix.js.map +1 -0
  499. package/dist/studio/shell/sidebar.d.ts +1 -1
  500. package/dist/studio/shell/sidebar.d.ts.map +1 -1
  501. package/dist/studio/shell/wcag-panel.d.ts +1 -1
  502. package/dist/studio/shell/wcag-panel.d.ts.map +1 -1
  503. package/dist/studio/studio.css +2 -2
  504. package/dist/studio/uxm-app.cjs +1 -1
  505. package/dist/studio/uxm-app.d.ts +1 -1
  506. package/dist/studio/uxm-app.d.ts.map +1 -1
  507. package/dist/studio/uxm-app.js +1 -1
  508. package/dist/ui/app-sidebar/app-sidebar-preview.cjs +2 -2
  509. package/dist/ui/app-sidebar/app-sidebar-preview.d.ts +1 -1
  510. package/dist/ui/app-sidebar/app-sidebar-preview.d.ts.map +1 -1
  511. package/dist/ui/app-sidebar/app-sidebar-preview.js +2 -2
  512. package/dist/ui/app-sidebar/app-sidebar.d.ts +1 -1
  513. package/dist/ui/app-sidebar/app-sidebar.d.ts.map +1 -1
  514. package/dist/ui/app-top-bar/app-top-bar-preview.cjs +5 -5
  515. package/dist/ui/app-top-bar/app-top-bar-preview.d.ts +1 -1
  516. package/dist/ui/app-top-bar/app-top-bar-preview.d.ts.map +1 -1
  517. package/dist/ui/app-top-bar/app-top-bar-preview.js +5 -5
  518. package/dist/ui/app-top-bar/app-top-bar.cjs +1 -1
  519. package/dist/ui/app-top-bar/app-top-bar.d.ts +1 -1
  520. package/dist/ui/app-top-bar/app-top-bar.d.ts.map +1 -1
  521. package/dist/ui/app-top-bar/app-top-bar.js +1 -1
  522. package/dist/ui/avatar/avatar-preview.cjs +1 -1
  523. package/dist/ui/avatar/avatar-preview.d.ts +1 -1
  524. package/dist/ui/avatar/avatar-preview.d.ts.map +1 -1
  525. package/dist/ui/avatar/avatar-preview.js +1 -1
  526. package/dist/ui/avatar/avatar.d.ts +1 -1
  527. package/dist/ui/avatar/avatar.d.ts.map +1 -1
  528. package/dist/ui/back-link/back-link-preview.cjs +1 -1
  529. package/dist/ui/back-link/back-link-preview.d.ts +1 -1
  530. package/dist/ui/back-link/back-link-preview.d.ts.map +1 -1
  531. package/dist/ui/back-link/back-link-preview.js +1 -1
  532. package/dist/ui/back-link/back-link.cjs +1 -1
  533. package/dist/ui/back-link/back-link.d.ts +1 -1
  534. package/dist/ui/back-link/back-link.d.ts.map +1 -1
  535. package/dist/ui/back-link/back-link.js +1 -1
  536. package/dist/ui/badge/badge-preview.cjs +1 -1
  537. package/dist/ui/badge/badge-preview.d.ts +1 -1
  538. package/dist/ui/badge/badge-preview.d.ts.map +1 -1
  539. package/dist/ui/badge/badge-preview.js +1 -1
  540. package/dist/ui/badge/badge.d.ts +1 -1
  541. package/dist/ui/badge/badge.d.ts.map +1 -1
  542. package/dist/ui/banner/banner-preview.cjs +1 -1
  543. package/dist/ui/banner/banner-preview.d.ts +1 -1
  544. package/dist/ui/banner/banner-preview.d.ts.map +1 -1
  545. package/dist/ui/banner/banner-preview.js +1 -1
  546. package/dist/ui/banner/banner.d.ts +1 -1
  547. package/dist/ui/banner/banner.d.ts.map +1 -1
  548. package/dist/ui/breadcrumb/breadcrumb-preview.cjs +3 -3
  549. package/dist/ui/breadcrumb/breadcrumb-preview.d.ts +1 -1
  550. package/dist/ui/breadcrumb/breadcrumb-preview.d.ts.map +1 -1
  551. package/dist/ui/breadcrumb/breadcrumb-preview.js +3 -3
  552. package/dist/ui/breadcrumb/breadcrumb.d.ts +1 -1
  553. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  554. package/dist/ui/bulk-action-bar/bulk-action-bar-preview.d.ts +1 -1
  555. package/dist/ui/bulk-action-bar/bulk-action-bar-preview.d.ts.map +1 -1
  556. package/dist/ui/bulk-action-bar/bulk-action-bar.d.ts +1 -1
  557. package/dist/ui/bulk-action-bar/bulk-action-bar.d.ts.map +1 -1
  558. package/dist/ui/button/button-preview.cjs +4 -4
  559. package/dist/ui/button/button-preview.d.ts +1 -1
  560. package/dist/ui/button/button-preview.d.ts.map +1 -1
  561. package/dist/ui/button/button-preview.js +4 -4
  562. package/dist/ui/button/button.d.ts +5 -5
  563. package/dist/ui/button/button.d.ts.map +1 -1
  564. package/dist/ui/button-group/button-group-preview.cjs +1 -1
  565. package/dist/ui/button-group/button-group-preview.d.ts +1 -1
  566. package/dist/ui/button-group/button-group-preview.d.ts.map +1 -1
  567. package/dist/ui/button-group/button-group-preview.js +1 -1
  568. package/dist/ui/button-group/button-group.d.ts +1 -1
  569. package/dist/ui/button-group/button-group.d.ts.map +1 -1
  570. package/dist/ui/button-icon/button-icon.cjs.map +1 -1
  571. package/dist/ui/button-icon/button-icon.d.ts +11 -1
  572. package/dist/ui/button-icon/button-icon.d.ts.map +1 -1
  573. package/dist/ui/button-icon/button-icon.js.map +1 -1
  574. package/dist/ui/button-with-icon/button-with-icon-preview.cjs +2 -2
  575. package/dist/ui/button-with-icon/button-with-icon-preview.d.ts +1 -1
  576. package/dist/ui/button-with-icon/button-with-icon-preview.d.ts.map +1 -1
  577. package/dist/ui/button-with-icon/button-with-icon-preview.js +2 -2
  578. package/dist/ui/button-with-icon/button-with-icon.d.ts +1 -1
  579. package/dist/ui/button-with-icon/button-with-icon.d.ts.map +1 -1
  580. package/dist/ui/calendar/calendar-preview.cjs +1 -1
  581. package/dist/ui/calendar/calendar-preview.d.ts +1 -1
  582. package/dist/ui/calendar/calendar-preview.d.ts.map +1 -1
  583. package/dist/ui/calendar/calendar-preview.js +1 -1
  584. package/dist/ui/calendar/calendar.d.ts +1 -1
  585. package/dist/ui/calendar/calendar.d.ts.map +1 -1
  586. package/dist/ui/card/card-preview.cjs +1 -1
  587. package/dist/ui/card/card-preview.d.ts +1 -1
  588. package/dist/ui/card/card-preview.d.ts.map +1 -1
  589. package/dist/ui/card/card-preview.js +1 -1
  590. package/dist/ui/card/card.d.ts +1 -1
  591. package/dist/ui/card/card.d.ts.map +1 -1
  592. package/dist/ui/checkbox/checkbox-preview.cjs +2 -2
  593. package/dist/ui/checkbox/checkbox-preview.d.ts +1 -1
  594. package/dist/ui/checkbox/checkbox-preview.d.ts.map +1 -1
  595. package/dist/ui/checkbox/checkbox-preview.js +2 -2
  596. package/dist/ui/checkbox/checkbox.cjs +2 -2
  597. package/dist/ui/checkbox/checkbox.d.ts +1 -1
  598. package/dist/ui/checkbox/checkbox.d.ts.map +1 -1
  599. package/dist/ui/checkbox/checkbox.js +2 -2
  600. package/dist/ui/chip/chip-preview.cjs +2 -2
  601. package/dist/ui/chip/chip-preview.d.ts +1 -1
  602. package/dist/ui/chip/chip-preview.d.ts.map +1 -1
  603. package/dist/ui/chip/chip-preview.js +2 -2
  604. package/dist/ui/chip/chip.cjs +1 -1
  605. package/dist/ui/chip/chip.d.ts +1 -1
  606. package/dist/ui/chip/chip.d.ts.map +1 -1
  607. package/dist/ui/chip/chip.js +1 -1
  608. package/dist/ui/cluster/cluster-preview.cjs +1 -1
  609. package/dist/ui/cluster/cluster-preview.d.ts +1 -1
  610. package/dist/ui/cluster/cluster-preview.d.ts.map +1 -1
  611. package/dist/ui/cluster/cluster-preview.js +1 -1
  612. package/dist/ui/cluster/cluster.d.ts +1 -1
  613. package/dist/ui/cluster/cluster.d.ts.map +1 -1
  614. package/dist/ui/code-editor/code-editor-preview.cjs +1 -1
  615. package/dist/ui/code-editor/code-editor-preview.d.ts +1 -1
  616. package/dist/ui/code-editor/code-editor-preview.d.ts.map +1 -1
  617. package/dist/ui/code-editor/code-editor-preview.js +1 -1
  618. package/dist/ui/code-editor/code-editor.d.ts +2 -2
  619. package/dist/ui/code-editor/code-editor.d.ts.map +1 -1
  620. package/dist/ui/color-input/color-input-preview.cjs +1 -1
  621. package/dist/ui/color-input/color-input-preview.d.ts +1 -1
  622. package/dist/ui/color-input/color-input-preview.d.ts.map +1 -1
  623. package/dist/ui/color-input/color-input-preview.js +1 -1
  624. package/dist/ui/color-input/color-input.d.ts +2 -2
  625. package/dist/ui/color-input/color-input.d.ts.map +1 -1
  626. package/dist/ui/component-row/component-row-preview.cjs +1 -1
  627. package/dist/ui/component-row/component-row-preview.d.ts +1 -1
  628. package/dist/ui/component-row/component-row-preview.d.ts.map +1 -1
  629. package/dist/ui/component-row/component-row-preview.js +1 -1
  630. package/dist/ui/component-row/component-row.cjs +1 -1
  631. package/dist/ui/component-row/component-row.d.ts +1 -1
  632. package/dist/ui/component-row/component-row.d.ts.map +1 -1
  633. package/dist/ui/component-row/component-row.js +1 -1
  634. package/dist/ui/config-component-row/config-component-row-preview.cjs +3 -3
  635. package/dist/ui/config-component-row/config-component-row-preview.d.ts +1 -1
  636. package/dist/ui/config-component-row/config-component-row-preview.d.ts.map +1 -1
  637. package/dist/ui/config-component-row/config-component-row-preview.js +3 -3
  638. package/dist/ui/config-component-row/config-component-row.cjs +1 -1
  639. package/dist/ui/config-component-row/config-component-row.d.ts +1 -1
  640. package/dist/ui/config-component-row/config-component-row.d.ts.map +1 -1
  641. package/dist/ui/config-component-row/config-component-row.js +1 -1
  642. package/dist/ui/config-segment-item/config-segment-item-preview.cjs +1 -1
  643. package/dist/ui/config-segment-item/config-segment-item-preview.d.ts +1 -1
  644. package/dist/ui/config-segment-item/config-segment-item-preview.d.ts.map +1 -1
  645. package/dist/ui/config-segment-item/config-segment-item-preview.js +1 -1
  646. package/dist/ui/config-segment-item/config-segment-item.d.ts +1 -1
  647. package/dist/ui/config-segment-item/config-segment-item.d.ts.map +1 -1
  648. package/dist/ui/currency-input/currency-input-preview.cjs +1 -1
  649. package/dist/ui/currency-input/currency-input-preview.d.ts +1 -1
  650. package/dist/ui/currency-input/currency-input-preview.d.ts.map +1 -1
  651. package/dist/ui/currency-input/currency-input-preview.js +1 -1
  652. package/dist/ui/currency-input/currency-input.d.ts +1 -1
  653. package/dist/ui/currency-input/currency-input.d.ts.map +1 -1
  654. package/dist/ui/data-table/data-table-preview.cjs +1 -1
  655. package/dist/ui/data-table/data-table-preview.d.ts +1 -1
  656. package/dist/ui/data-table/data-table-preview.d.ts.map +1 -1
  657. package/dist/ui/data-table/data-table-preview.js +1 -1
  658. package/dist/ui/data-table/data-table.d.ts +1 -1
  659. package/dist/ui/data-table/data-table.d.ts.map +1 -1
  660. package/dist/ui/date-input/date-input-preview.cjs +1 -1
  661. package/dist/ui/date-input/date-input-preview.d.ts +1 -1
  662. package/dist/ui/date-input/date-input-preview.d.ts.map +1 -1
  663. package/dist/ui/date-input/date-input-preview.js +1 -1
  664. package/dist/ui/date-input/date-input.d.ts +1 -1
  665. package/dist/ui/date-input/date-input.d.ts.map +1 -1
  666. package/dist/ui/detail-section/detail-section-preview.cjs +2 -2
  667. package/dist/ui/detail-section/detail-section-preview.d.ts +1 -1
  668. package/dist/ui/detail-section/detail-section-preview.d.ts.map +1 -1
  669. package/dist/ui/detail-section/detail-section-preview.js +2 -2
  670. package/dist/ui/detail-section/detail-section.d.ts +1 -1
  671. package/dist/ui/detail-section/detail-section.d.ts.map +1 -1
  672. package/dist/ui/disclosure/disclosure-preview.cjs +3 -3
  673. package/dist/ui/disclosure/disclosure-preview.d.ts +1 -1
  674. package/dist/ui/disclosure/disclosure-preview.d.ts.map +1 -1
  675. package/dist/ui/disclosure/disclosure-preview.js +3 -3
  676. package/dist/ui/disclosure/disclosure.d.ts +1 -1
  677. package/dist/ui/disclosure/disclosure.d.ts.map +1 -1
  678. package/dist/ui/divider/divider-preview.d.ts +1 -1
  679. package/dist/ui/divider/divider-preview.d.ts.map +1 -1
  680. package/dist/ui/divider/divider.d.ts +1 -1
  681. package/dist/ui/divider/divider.d.ts.map +1 -1
  682. package/dist/ui/editable-cell/editable-cell-date.cjs +226 -0
  683. package/dist/ui/editable-cell/editable-cell-date.cjs.map +1 -0
  684. package/dist/ui/editable-cell/editable-cell-date.d.ts +4 -0
  685. package/dist/ui/editable-cell/editable-cell-date.d.ts.map +1 -0
  686. package/dist/ui/editable-cell/editable-cell-date.js +202 -0
  687. package/dist/ui/editable-cell/editable-cell-date.js.map +1 -0
  688. package/dist/ui/editable-cell/editable-cell-preview.cjs +1 -1
  689. package/dist/ui/editable-cell/editable-cell-preview.d.ts +1 -1
  690. package/dist/ui/editable-cell/editable-cell-preview.d.ts.map +1 -1
  691. package/dist/ui/editable-cell/editable-cell-preview.js +1 -1
  692. package/dist/ui/editable-cell/editable-cell-select.cjs +297 -0
  693. package/dist/ui/editable-cell/editable-cell-select.cjs.map +1 -0
  694. package/dist/ui/editable-cell/editable-cell-select.d.ts +4 -0
  695. package/dist/ui/editable-cell/editable-cell-select.d.ts.map +1 -0
  696. package/dist/ui/editable-cell/editable-cell-select.js +273 -0
  697. package/dist/ui/editable-cell/editable-cell-select.js.map +1 -0
  698. package/dist/ui/editable-cell/editable-cell-text.cjs +175 -0
  699. package/dist/ui/editable-cell/editable-cell-text.cjs.map +1 -0
  700. package/dist/ui/editable-cell/editable-cell-text.d.ts +4 -0
  701. package/dist/ui/editable-cell/editable-cell-text.d.ts.map +1 -0
  702. package/dist/ui/editable-cell/editable-cell-text.js +151 -0
  703. package/dist/ui/editable-cell/editable-cell-text.js.map +1 -0
  704. package/dist/ui/editable-cell/editable-cell-utils.cjs +56 -0
  705. package/dist/ui/editable-cell/editable-cell-utils.cjs.map +1 -0
  706. package/dist/ui/editable-cell/editable-cell-utils.d.ts +20 -0
  707. package/dist/ui/editable-cell/editable-cell-utils.d.ts.map +1 -0
  708. package/dist/ui/editable-cell/editable-cell-utils.js +29 -0
  709. package/dist/ui/editable-cell/editable-cell-utils.js.map +1 -0
  710. package/dist/ui/editable-cell/editable-cell.cjs +27 -725
  711. package/dist/ui/editable-cell/editable-cell.cjs.map +1 -1
  712. package/dist/ui/editable-cell/editable-cell.d.ts +3 -145
  713. package/dist/ui/editable-cell/editable-cell.d.ts.map +1 -1
  714. package/dist/ui/editable-cell/editable-cell.js +28 -738
  715. package/dist/ui/editable-cell/editable-cell.js.map +1 -1
  716. package/dist/ui/editable-cell/editable-cell.types.cjs +17 -0
  717. package/dist/ui/editable-cell/editable-cell.types.cjs.map +1 -0
  718. package/dist/ui/editable-cell/editable-cell.types.d.ts +156 -0
  719. package/dist/ui/editable-cell/editable-cell.types.d.ts.map +1 -0
  720. package/dist/ui/editable-cell/editable-cell.types.js +1 -0
  721. package/dist/ui/editable-cell/editable-cell.types.js.map +1 -0
  722. package/dist/ui/editable-cell/use-editable-cell.cjs +284 -0
  723. package/dist/ui/editable-cell/use-editable-cell.cjs.map +1 -0
  724. package/dist/ui/editable-cell/use-editable-cell.d.ts +51 -0
  725. package/dist/ui/editable-cell/use-editable-cell.d.ts.map +1 -0
  726. package/dist/ui/editable-cell/use-editable-cell.js +260 -0
  727. package/dist/ui/editable-cell/use-editable-cell.js.map +1 -0
  728. package/dist/ui/empty-state/empty-state-preview.cjs +3 -3
  729. package/dist/ui/empty-state/empty-state-preview.d.ts +1 -1
  730. package/dist/ui/empty-state/empty-state-preview.d.ts.map +1 -1
  731. package/dist/ui/empty-state/empty-state-preview.js +3 -3
  732. package/dist/ui/empty-state/empty-state.d.ts +1 -1
  733. package/dist/ui/empty-state/empty-state.d.ts.map +1 -1
  734. package/dist/ui/error-page/error-page-preview.cjs +2 -2
  735. package/dist/ui/error-page/error-page-preview.d.ts +1 -1
  736. package/dist/ui/error-page/error-page-preview.d.ts.map +1 -1
  737. package/dist/ui/error-page/error-page-preview.js +2 -2
  738. package/dist/ui/error-page/error-page.d.ts +1 -1
  739. package/dist/ui/error-page/error-page.d.ts.map +1 -1
  740. package/dist/ui/explorer-list-item/explorer-list-item-preview.cjs +1 -1
  741. package/dist/ui/explorer-list-item/explorer-list-item-preview.d.ts +1 -1
  742. package/dist/ui/explorer-list-item/explorer-list-item-preview.d.ts.map +1 -1
  743. package/dist/ui/explorer-list-item/explorer-list-item-preview.js +1 -1
  744. package/dist/ui/explorer-list-item/explorer-list-item.d.ts +1 -1
  745. package/dist/ui/explorer-list-item/explorer-list-item.d.ts.map +1 -1
  746. package/dist/ui/explorer-section/explorer-section-preview.cjs +2 -2
  747. package/dist/ui/explorer-section/explorer-section-preview.d.ts +1 -1
  748. package/dist/ui/explorer-section/explorer-section-preview.d.ts.map +1 -1
  749. package/dist/ui/explorer-section/explorer-section-preview.js +2 -2
  750. package/dist/ui/explorer-section/explorer-section.d.ts +1 -1
  751. package/dist/ui/explorer-section/explorer-section.d.ts.map +1 -1
  752. package/dist/ui/field-error/field-error.d.ts +1 -1
  753. package/dist/ui/field-error/field-error.d.ts.map +1 -1
  754. package/dist/ui/file-upload/file-upload-preview.cjs +1 -1
  755. package/dist/ui/file-upload/file-upload-preview.d.ts +1 -1
  756. package/dist/ui/file-upload/file-upload-preview.d.ts.map +1 -1
  757. package/dist/ui/file-upload/file-upload-preview.js +1 -1
  758. package/dist/ui/file-upload/file-upload.d.ts +1 -1
  759. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  760. package/dist/ui/filter-tabs/filter-tabs-preview.cjs +1 -1
  761. package/dist/ui/filter-tabs/filter-tabs-preview.d.ts +1 -1
  762. package/dist/ui/filter-tabs/filter-tabs-preview.d.ts.map +1 -1
  763. package/dist/ui/filter-tabs/filter-tabs-preview.js +1 -1
  764. package/dist/ui/filter-tabs/filter-tabs.d.ts +1 -1
  765. package/dist/ui/filter-tabs/filter-tabs.d.ts.map +1 -1
  766. package/dist/ui/form-field/form-field-preview.cjs +2 -2
  767. package/dist/ui/form-field/form-field-preview.d.ts +1 -1
  768. package/dist/ui/form-field/form-field-preview.d.ts.map +1 -1
  769. package/dist/ui/form-field/form-field-preview.js +2 -2
  770. package/dist/ui/form-field/form-field.d.ts +1 -1
  771. package/dist/ui/form-field/form-field.d.ts.map +1 -1
  772. package/dist/ui/hover-tooltip/hover-tooltip.d.ts +1 -1
  773. package/dist/ui/hover-tooltip/hover-tooltip.d.ts.map +1 -1
  774. package/dist/ui/icon/icon-preview.cjs +1 -1
  775. package/dist/ui/icon/icon-preview.d.ts +1 -1
  776. package/dist/ui/icon/icon-preview.d.ts.map +1 -1
  777. package/dist/ui/icon/icon-preview.js +1 -1
  778. package/dist/ui/icon/icon.d.ts +1 -1
  779. package/dist/ui/icon/icon.d.ts.map +1 -1
  780. package/dist/ui/icon-button/icon-button-preview.cjs +20 -7
  781. package/dist/ui/icon-button/icon-button-preview.cjs.map +1 -1
  782. package/dist/ui/icon-button/icon-button-preview.d.ts +1 -1
  783. package/dist/ui/icon-button/icon-button-preview.d.ts.map +1 -1
  784. package/dist/ui/icon-button/icon-button-preview.js +20 -7
  785. package/dist/ui/icon-button/icon-button-preview.js.map +1 -1
  786. package/dist/ui/icon-button/icon-button.cjs +16 -2
  787. package/dist/ui/icon-button/icon-button.cjs.map +1 -1
  788. package/dist/ui/icon-button/icon-button.css +26 -0
  789. package/dist/ui/icon-button/icon-button.d.ts +9 -1
  790. package/dist/ui/icon-button/icon-button.d.ts.map +1 -1
  791. package/dist/ui/icon-button/icon-button.js +16 -2
  792. package/dist/ui/icon-button/icon-button.js.map +1 -1
  793. package/dist/ui/icon-tile/icon-tile-preview.cjs +2 -2
  794. package/dist/ui/icon-tile/icon-tile-preview.d.ts +1 -1
  795. package/dist/ui/icon-tile/icon-tile-preview.d.ts.map +1 -1
  796. package/dist/ui/icon-tile/icon-tile-preview.js +2 -2
  797. package/dist/ui/icon-tile/icon-tile.d.ts +1 -1
  798. package/dist/ui/icon-tile/icon-tile.d.ts.map +1 -1
  799. package/dist/ui/index.cjs.map +1 -1
  800. package/dist/ui/index.d.ts +2 -2
  801. package/dist/ui/index.d.ts.map +1 -1
  802. package/dist/ui/index.js.map +1 -1
  803. package/dist/ui/inline-action/inline-action-preview.cjs +2 -2
  804. package/dist/ui/inline-action/inline-action-preview.d.ts +1 -1
  805. package/dist/ui/inline-action/inline-action-preview.d.ts.map +1 -1
  806. package/dist/ui/inline-action/inline-action-preview.js +2 -2
  807. package/dist/ui/inline-action/inline-action.d.ts +1 -1
  808. package/dist/ui/inline-action/inline-action.d.ts.map +1 -1
  809. package/dist/ui/inline-filter/inline-filter-preview.cjs +4 -4
  810. package/dist/ui/inline-filter/inline-filter-preview.d.ts +1 -1
  811. package/dist/ui/inline-filter/inline-filter-preview.d.ts.map +1 -1
  812. package/dist/ui/inline-filter/inline-filter-preview.js +4 -4
  813. package/dist/ui/inline-filter/inline-filter.d.ts +1 -1
  814. package/dist/ui/inline-filter/inline-filter.d.ts.map +1 -1
  815. package/dist/ui/input/input-preview.cjs +1 -1
  816. package/dist/ui/input/input-preview.d.ts +1 -1
  817. package/dist/ui/input/input-preview.d.ts.map +1 -1
  818. package/dist/ui/input/input-preview.js +1 -1
  819. package/dist/ui/input/input.d.ts +3 -3
  820. package/dist/ui/input/input.d.ts.map +1 -1
  821. package/dist/ui/input/select-preview.cjs +1 -1
  822. package/dist/ui/input/select-preview.d.ts +1 -1
  823. package/dist/ui/input/select-preview.d.ts.map +1 -1
  824. package/dist/ui/input/select-preview.js +1 -1
  825. package/dist/ui/input/textarea-preview.cjs +1 -1
  826. package/dist/ui/input/textarea-preview.d.ts +1 -1
  827. package/dist/ui/input/textarea-preview.d.ts.map +1 -1
  828. package/dist/ui/input/textarea-preview.js +1 -1
  829. package/dist/ui/input-with-icon/input-with-icon-preview.cjs +2 -2
  830. package/dist/ui/input-with-icon/input-with-icon-preview.d.ts +1 -1
  831. package/dist/ui/input-with-icon/input-with-icon-preview.d.ts.map +1 -1
  832. package/dist/ui/input-with-icon/input-with-icon-preview.js +2 -2
  833. package/dist/ui/input-with-icon/input-with-icon.cjs +3 -3
  834. package/dist/ui/input-with-icon/input-with-icon.d.ts +1 -1
  835. package/dist/ui/input-with-icon/input-with-icon.d.ts.map +1 -1
  836. package/dist/ui/input-with-icon/input-with-icon.js +3 -3
  837. package/dist/ui/language-switcher/language-switcher-preview.cjs +1 -1
  838. package/dist/ui/language-switcher/language-switcher-preview.d.ts +1 -1
  839. package/dist/ui/language-switcher/language-switcher-preview.d.ts.map +1 -1
  840. package/dist/ui/language-switcher/language-switcher-preview.js +1 -1
  841. package/dist/ui/language-switcher/language-switcher.d.ts +1 -1
  842. package/dist/ui/language-switcher/language-switcher.d.ts.map +1 -1
  843. package/dist/ui/lifecycle-connector/lifecycle-connector-preview.cjs +1 -1
  844. package/dist/ui/lifecycle-connector/lifecycle-connector-preview.d.ts +1 -1
  845. package/dist/ui/lifecycle-connector/lifecycle-connector-preview.d.ts.map +1 -1
  846. package/dist/ui/lifecycle-connector/lifecycle-connector-preview.js +1 -1
  847. package/dist/ui/lifecycle-connector/lifecycle-connector.d.ts +1 -1
  848. package/dist/ui/lifecycle-connector/lifecycle-connector.d.ts.map +1 -1
  849. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.cjs +1 -1
  850. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.d.ts +1 -1
  851. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.d.ts.map +1 -1
  852. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot-preview.js +1 -1
  853. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.cjs +1 -1
  854. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.d.ts +1 -1
  855. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.d.ts.map +1 -1
  856. package/dist/ui/lifecycle-drop-slot/lifecycle-drop-slot.js +1 -1
  857. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.cjs +1 -1
  858. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.d.ts +1 -1
  859. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.d.ts.map +1 -1
  860. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label-preview.js +1 -1
  861. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label.d.ts +1 -1
  862. package/dist/ui/lifecycle-edge-label/lifecycle-edge-label.d.ts.map +1 -1
  863. package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.cjs +1 -1
  864. package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.d.ts +1 -1
  865. package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.d.ts.map +1 -1
  866. package/dist/ui/lifecycle-group-box/lifecycle-group-box-preview.js +1 -1
  867. package/dist/ui/lifecycle-group-box/lifecycle-group-box.d.ts +1 -1
  868. package/dist/ui/lifecycle-group-box/lifecycle-group-box.d.ts.map +1 -1
  869. package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.cjs +1 -1
  870. package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.d.ts +1 -1
  871. package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.d.ts.map +1 -1
  872. package/dist/ui/lifecycle-minimap/lifecycle-minimap-preview.js +1 -1
  873. package/dist/ui/lifecycle-minimap/lifecycle-minimap.d.ts +1 -1
  874. package/dist/ui/lifecycle-minimap/lifecycle-minimap.d.ts.map +1 -1
  875. package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.cjs +1 -1
  876. package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.d.ts +1 -1
  877. package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.d.ts.map +1 -1
  878. package/dist/ui/lifecycle-node-card/lifecycle-node-card-preview.js +1 -1
  879. package/dist/ui/lifecycle-node-card/lifecycle-node-card.cjs +2 -2
  880. package/dist/ui/lifecycle-node-card/lifecycle-node-card.d.ts +1 -1
  881. package/dist/ui/lifecycle-node-card/lifecycle-node-card.d.ts.map +1 -1
  882. package/dist/ui/lifecycle-node-card/lifecycle-node-card.js +2 -2
  883. package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.cjs +1 -1
  884. package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.d.ts +1 -1
  885. package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.d.ts.map +1 -1
  886. package/dist/ui/lifecycle-terminal/lifecycle-terminal-preview.js +1 -1
  887. package/dist/ui/lifecycle-terminal/lifecycle-terminal.d.ts +1 -1
  888. package/dist/ui/lifecycle-terminal/lifecycle-terminal.d.ts.map +1 -1
  889. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.cjs +1 -1
  890. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.d.ts +1 -1
  891. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.d.ts.map +1 -1
  892. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control-preview.js +1 -1
  893. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.cjs +1 -1
  894. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.d.ts +1 -1
  895. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.d.ts.map +1 -1
  896. package/dist/ui/lifecycle-zoom-control/lifecycle-zoom-control.js +1 -1
  897. package/dist/ui/link/link-preview.cjs +1 -1
  898. package/dist/ui/link/link-preview.d.ts +1 -1
  899. package/dist/ui/link/link-preview.d.ts.map +1 -1
  900. package/dist/ui/link/link-preview.js +1 -1
  901. package/dist/ui/link/link.d.ts +1 -1
  902. package/dist/ui/link/link.d.ts.map +1 -1
  903. package/dist/ui/list/list-item-preview.cjs +3 -3
  904. package/dist/ui/list/list-item-preview.d.ts +1 -1
  905. package/dist/ui/list/list-item-preview.d.ts.map +1 -1
  906. package/dist/ui/list/list-item-preview.js +3 -3
  907. package/dist/ui/list/list.d.ts +2 -2
  908. package/dist/ui/list/list.d.ts.map +1 -1
  909. package/dist/ui/listbox/listbox-preview.cjs +1 -1
  910. package/dist/ui/listbox/listbox-preview.d.ts +1 -1
  911. package/dist/ui/listbox/listbox-preview.d.ts.map +1 -1
  912. package/dist/ui/listbox/listbox-preview.js +1 -1
  913. package/dist/ui/listbox/listbox.d.ts +2 -2
  914. package/dist/ui/listbox/listbox.d.ts.map +1 -1
  915. package/dist/ui/loader/loader-preview.d.ts +1 -1
  916. package/dist/ui/loader/loader-preview.d.ts.map +1 -1
  917. package/dist/ui/loader/loader.d.ts +1 -1
  918. package/dist/ui/loader/loader.d.ts.map +1 -1
  919. package/dist/ui/locale/locale.d.ts +1 -1
  920. package/dist/ui/locale/locale.d.ts.map +1 -1
  921. package/dist/ui/menu/menu-preview.cjs +1 -1
  922. package/dist/ui/menu/menu-preview.d.ts +1 -1
  923. package/dist/ui/menu/menu-preview.d.ts.map +1 -1
  924. package/dist/ui/menu/menu-preview.js +1 -1
  925. package/dist/ui/menu/menu.d.ts +1 -1
  926. package/dist/ui/menu/menu.d.ts.map +1 -1
  927. package/dist/ui/meta-row/meta-row-preview.cjs +1 -1
  928. package/dist/ui/meta-row/meta-row-preview.d.ts +1 -1
  929. package/dist/ui/meta-row/meta-row-preview.d.ts.map +1 -1
  930. package/dist/ui/meta-row/meta-row-preview.js +1 -1
  931. package/dist/ui/meta-row/meta-row.d.ts +1 -1
  932. package/dist/ui/meta-row/meta-row.d.ts.map +1 -1
  933. package/dist/ui/modal/modal-preview.cjs +1 -1
  934. package/dist/ui/modal/modal-preview.d.ts +1 -1
  935. package/dist/ui/modal/modal-preview.d.ts.map +1 -1
  936. package/dist/ui/modal/modal-preview.js +1 -1
  937. package/dist/ui/modal/modal.cjs +13 -15
  938. package/dist/ui/modal/modal.cjs.map +1 -1
  939. package/dist/ui/modal/modal.d.ts +23 -5
  940. package/dist/ui/modal/modal.d.ts.map +1 -1
  941. package/dist/ui/modal/modal.js +13 -16
  942. package/dist/ui/modal/modal.js.map +1 -1
  943. package/dist/ui/number-input/number-input-preview.cjs +1 -1
  944. package/dist/ui/number-input/number-input-preview.d.ts +1 -1
  945. package/dist/ui/number-input/number-input-preview.d.ts.map +1 -1
  946. package/dist/ui/number-input/number-input-preview.js +1 -1
  947. package/dist/ui/number-input/number-input.cjs +3 -3
  948. package/dist/ui/number-input/number-input.d.ts +1 -1
  949. package/dist/ui/number-input/number-input.d.ts.map +1 -1
  950. package/dist/ui/number-input/number-input.js +3 -3
  951. package/dist/ui/number-stepper/number-stepper-preview.cjs +1 -1
  952. package/dist/ui/number-stepper/number-stepper-preview.d.ts +1 -1
  953. package/dist/ui/number-stepper/number-stepper-preview.d.ts.map +1 -1
  954. package/dist/ui/number-stepper/number-stepper-preview.js +1 -1
  955. package/dist/ui/number-stepper/number-stepper.d.ts +1 -1
  956. package/dist/ui/number-stepper/number-stepper.d.ts.map +1 -1
  957. package/dist/ui/option-list/option-list-preview.cjs +1 -1
  958. package/dist/ui/option-list/option-list-preview.d.ts +1 -1
  959. package/dist/ui/option-list/option-list-preview.d.ts.map +1 -1
  960. package/dist/ui/option-list/option-list-preview.js +1 -1
  961. package/dist/ui/option-list/option-list.cjs +1 -1
  962. package/dist/ui/option-list/option-list.d.ts +1 -1
  963. package/dist/ui/option-list/option-list.d.ts.map +1 -1
  964. package/dist/ui/option-list/option-list.js +1 -1
  965. package/dist/ui/page-header/page-header-preview.cjs +3 -3
  966. package/dist/ui/page-header/page-header-preview.d.ts +1 -1
  967. package/dist/ui/page-header/page-header-preview.d.ts.map +1 -1
  968. package/dist/ui/page-header/page-header-preview.js +3 -3
  969. package/dist/ui/page-header/page-header.d.ts +1 -1
  970. package/dist/ui/page-header/page-header.d.ts.map +1 -1
  971. package/dist/ui/page-shell/page-shell-preview.cjs +7 -7
  972. package/dist/ui/page-shell/page-shell-preview.d.ts +1 -1
  973. package/dist/ui/page-shell/page-shell-preview.d.ts.map +1 -1
  974. package/dist/ui/page-shell/page-shell-preview.js +7 -7
  975. package/dist/ui/page-shell/page-shell.cjs.map +1 -1
  976. package/dist/ui/page-shell/page-shell.d.ts +2 -2
  977. package/dist/ui/page-shell/page-shell.d.ts.map +1 -1
  978. package/dist/ui/page-shell/page-shell.js.map +1 -1
  979. package/dist/ui/password-input/password-input-preview.cjs +1 -1
  980. package/dist/ui/password-input/password-input-preview.d.ts +1 -1
  981. package/dist/ui/password-input/password-input-preview.d.ts.map +1 -1
  982. package/dist/ui/password-input/password-input-preview.js +1 -1
  983. package/dist/ui/password-input/password-input.d.ts +1 -1
  984. package/dist/ui/password-input/password-input.d.ts.map +1 -1
  985. package/dist/ui/phone-input/phone-input-preview.cjs +1 -1
  986. package/dist/ui/phone-input/phone-input-preview.d.ts +1 -1
  987. package/dist/ui/phone-input/phone-input-preview.d.ts.map +1 -1
  988. package/dist/ui/phone-input/phone-input-preview.js +1 -1
  989. package/dist/ui/phone-input/phone-input.d.ts +1 -1
  990. package/dist/ui/phone-input/phone-input.d.ts.map +1 -1
  991. package/dist/ui/pill-select/pill-select-preview.cjs +1 -1
  992. package/dist/ui/pill-select/pill-select-preview.d.ts +1 -1
  993. package/dist/ui/pill-select/pill-select-preview.d.ts.map +1 -1
  994. package/dist/ui/pill-select/pill-select-preview.js +1 -1
  995. package/dist/ui/pill-select/pill-select.d.ts +1 -1
  996. package/dist/ui/pill-select/pill-select.d.ts.map +1 -1
  997. package/dist/ui/popover/popover.d.ts +1 -1
  998. package/dist/ui/popover/popover.d.ts.map +1 -1
  999. package/dist/ui/progress-bar/progress-bar-preview.cjs +1 -1
  1000. package/dist/ui/progress-bar/progress-bar-preview.d.ts +1 -1
  1001. package/dist/ui/progress-bar/progress-bar-preview.d.ts.map +1 -1
  1002. package/dist/ui/progress-bar/progress-bar-preview.js +1 -1
  1003. package/dist/ui/progress-bar/progress-bar.d.ts +1 -1
  1004. package/dist/ui/progress-bar/progress-bar.d.ts.map +1 -1
  1005. package/dist/ui/property-field/property-field-preview.cjs +1 -1
  1006. package/dist/ui/property-field/property-field-preview.d.ts +1 -1
  1007. package/dist/ui/property-field/property-field-preview.d.ts.map +1 -1
  1008. package/dist/ui/property-field/property-field-preview.js +1 -1
  1009. package/dist/ui/property-field/property-field.d.ts +2 -2
  1010. package/dist/ui/property-field/property-field.d.ts.map +1 -1
  1011. package/dist/ui/property-field/property-grid-preview.cjs +1 -1
  1012. package/dist/ui/property-field/property-grid-preview.d.ts +1 -1
  1013. package/dist/ui/property-field/property-grid-preview.d.ts.map +1 -1
  1014. package/dist/ui/property-field/property-grid-preview.js +1 -1
  1015. package/dist/ui/radio-group/radio-group-preview.cjs +1 -1
  1016. package/dist/ui/radio-group/radio-group-preview.d.ts +1 -1
  1017. package/dist/ui/radio-group/radio-group-preview.d.ts.map +1 -1
  1018. package/dist/ui/radio-group/radio-group-preview.js +1 -1
  1019. package/dist/ui/radio-group/radio-group.cjs +1 -1
  1020. package/dist/ui/radio-group/radio-group.d.ts +2 -2
  1021. package/dist/ui/radio-group/radio-group.d.ts.map +1 -1
  1022. package/dist/ui/radio-group/radio-group.js +1 -1
  1023. package/dist/ui/range-slider/range-slider.d.ts +1 -1
  1024. package/dist/ui/range-slider/range-slider.d.ts.map +1 -1
  1025. package/dist/ui/responsive-grid/responsive-grid-preview.cjs +1 -1
  1026. package/dist/ui/responsive-grid/responsive-grid-preview.d.ts +1 -1
  1027. package/dist/ui/responsive-grid/responsive-grid-preview.d.ts.map +1 -1
  1028. package/dist/ui/responsive-grid/responsive-grid-preview.js +1 -1
  1029. package/dist/ui/responsive-grid/responsive-grid.d.ts +1 -1
  1030. package/dist/ui/responsive-grid/responsive-grid.d.ts.map +1 -1
  1031. package/dist/ui/search-dropdown/search-dropdown-preview.cjs +3 -3
  1032. package/dist/ui/search-dropdown/search-dropdown-preview.d.ts +1 -1
  1033. package/dist/ui/search-dropdown/search-dropdown-preview.d.ts.map +1 -1
  1034. package/dist/ui/search-dropdown/search-dropdown-preview.js +3 -3
  1035. package/dist/ui/search-dropdown/search-dropdown.d.ts +1 -1
  1036. package/dist/ui/search-dropdown/search-dropdown.d.ts.map +1 -1
  1037. package/dist/ui/section-header/section-header-preview.cjs +3 -3
  1038. package/dist/ui/section-header/section-header-preview.d.ts +1 -1
  1039. package/dist/ui/section-header/section-header-preview.d.ts.map +1 -1
  1040. package/dist/ui/section-header/section-header-preview.js +3 -3
  1041. package/dist/ui/section-header/section-header.d.ts +1 -1
  1042. package/dist/ui/section-header/section-header.d.ts.map +1 -1
  1043. package/dist/ui/segment-card/segment-card-preview.cjs +1 -1
  1044. package/dist/ui/segment-card/segment-card-preview.d.ts +1 -1
  1045. package/dist/ui/segment-card/segment-card-preview.d.ts.map +1 -1
  1046. package/dist/ui/segment-card/segment-card-preview.js +1 -1
  1047. package/dist/ui/segment-card/segment-card.d.ts +1 -1
  1048. package/dist/ui/segment-card/segment-card.d.ts.map +1 -1
  1049. package/dist/ui/segment-row/segment-row-preview.cjs +1 -1
  1050. package/dist/ui/segment-row/segment-row-preview.d.ts +1 -1
  1051. package/dist/ui/segment-row/segment-row-preview.d.ts.map +1 -1
  1052. package/dist/ui/segment-row/segment-row-preview.js +1 -1
  1053. package/dist/ui/segment-row/segment-row.cjs +1 -1
  1054. package/dist/ui/segment-row/segment-row.d.ts +1 -1
  1055. package/dist/ui/segment-row/segment-row.d.ts.map +1 -1
  1056. package/dist/ui/segment-row/segment-row.js +1 -1
  1057. package/dist/ui/side-flexpane/side-flexpane-preview.cjs +1 -1
  1058. package/dist/ui/side-flexpane/side-flexpane-preview.d.ts +1 -1
  1059. package/dist/ui/side-flexpane/side-flexpane-preview.d.ts.map +1 -1
  1060. package/dist/ui/side-flexpane/side-flexpane-preview.js +1 -1
  1061. package/dist/ui/side-flexpane/side-flexpane.d.ts +1 -1
  1062. package/dist/ui/side-flexpane/side-flexpane.d.ts.map +1 -1
  1063. package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.cjs +2 -2
  1064. package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.d.ts +1 -1
  1065. package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.d.ts.map +1 -1
  1066. package/dist/ui/sidebar-nav-item/sidebar-nav-item-preview.js +2 -2
  1067. package/dist/ui/sidebar-nav-item/sidebar-nav-item.d.ts +1 -1
  1068. package/dist/ui/sidebar-nav-item/sidebar-nav-item.d.ts.map +1 -1
  1069. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.cjs +1 -1
  1070. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.d.ts +1 -1
  1071. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.d.ts.map +1 -1
  1072. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger-preview.js +1 -1
  1073. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger.d.ts +1 -1
  1074. package/dist/ui/sidebar-nav-trigger/sidebar-nav-trigger.d.ts.map +1 -1
  1075. package/dist/ui/slider/slider-preview.cjs +2 -2
  1076. package/dist/ui/slider/slider-preview.d.ts +1 -1
  1077. package/dist/ui/slider/slider-preview.d.ts.map +1 -1
  1078. package/dist/ui/slider/slider-preview.js +2 -2
  1079. package/dist/ui/slider/slider.d.ts +1 -1
  1080. package/dist/ui/slider/slider.d.ts.map +1 -1
  1081. package/dist/ui/stack/stack-preview.cjs +1 -1
  1082. package/dist/ui/stack/stack-preview.d.ts +1 -1
  1083. package/dist/ui/stack/stack-preview.d.ts.map +1 -1
  1084. package/dist/ui/stack/stack-preview.js +1 -1
  1085. package/dist/ui/stack/stack.d.ts +1 -1
  1086. package/dist/ui/stack/stack.d.ts.map +1 -1
  1087. package/dist/ui/stat-card/stat-card-preview.cjs +1 -1
  1088. package/dist/ui/stat-card/stat-card-preview.d.ts +1 -1
  1089. package/dist/ui/stat-card/stat-card-preview.d.ts.map +1 -1
  1090. package/dist/ui/stat-card/stat-card-preview.js +1 -1
  1091. package/dist/ui/stat-card/stat-card.cjs +1 -1
  1092. package/dist/ui/stat-card/stat-card.d.ts +1 -1
  1093. package/dist/ui/stat-card/stat-card.d.ts.map +1 -1
  1094. package/dist/ui/stat-card/stat-card.js +1 -1
  1095. package/dist/ui/styles.css +1 -1
  1096. package/dist/ui/tabs/tabs-preview.cjs +2 -2
  1097. package/dist/ui/tabs/tabs-preview.d.ts +1 -1
  1098. package/dist/ui/tabs/tabs-preview.d.ts.map +1 -1
  1099. package/dist/ui/tabs/tabs-preview.js +2 -2
  1100. package/dist/ui/tabs/tabs.d.ts +1 -1
  1101. package/dist/ui/tabs/tabs.d.ts.map +1 -1
  1102. package/dist/ui/tabs-underline/tabs-underline-preview.cjs +2 -2
  1103. package/dist/ui/tabs-underline/tabs-underline-preview.d.ts +1 -1
  1104. package/dist/ui/tabs-underline/tabs-underline-preview.d.ts.map +1 -1
  1105. package/dist/ui/tabs-underline/tabs-underline-preview.js +2 -2
  1106. package/dist/ui/tabs-underline/tabs-underline.d.ts +1 -1
  1107. package/dist/ui/tabs-underline/tabs-underline.d.ts.map +1 -1
  1108. package/dist/ui/tag/tag-preview.cjs +2 -2
  1109. package/dist/ui/tag/tag-preview.d.ts +1 -1
  1110. package/dist/ui/tag/tag-preview.d.ts.map +1 -1
  1111. package/dist/ui/tag/tag-preview.js +2 -2
  1112. package/dist/ui/tag/tag.d.ts +1 -1
  1113. package/dist/ui/tag/tag.d.ts.map +1 -1
  1114. package/dist/ui/thumbnail/thumbnail-preview.cjs +1 -1
  1115. package/dist/ui/thumbnail/thumbnail-preview.d.ts +1 -1
  1116. package/dist/ui/thumbnail/thumbnail-preview.d.ts.map +1 -1
  1117. package/dist/ui/thumbnail/thumbnail-preview.js +1 -1
  1118. package/dist/ui/thumbnail/thumbnail.cjs +1 -1
  1119. package/dist/ui/thumbnail/thumbnail.d.ts +1 -1
  1120. package/dist/ui/thumbnail/thumbnail.d.ts.map +1 -1
  1121. package/dist/ui/thumbnail/thumbnail.js +1 -1
  1122. package/dist/ui/time-input/time-input-preview.cjs +1 -1
  1123. package/dist/ui/time-input/time-input-preview.d.ts +1 -1
  1124. package/dist/ui/time-input/time-input-preview.d.ts.map +1 -1
  1125. package/dist/ui/time-input/time-input-preview.js +1 -1
  1126. package/dist/ui/time-input/time-input.d.ts +1 -1
  1127. package/dist/ui/time-input/time-input.d.ts.map +1 -1
  1128. package/dist/ui/timeline-entry/timeline-entry-preview.cjs +2 -2
  1129. package/dist/ui/timeline-entry/timeline-entry-preview.d.ts +1 -1
  1130. package/dist/ui/timeline-entry/timeline-entry-preview.d.ts.map +1 -1
  1131. package/dist/ui/timeline-entry/timeline-entry-preview.js +2 -2
  1132. package/dist/ui/timeline-entry/timeline-entry.d.ts +1 -1
  1133. package/dist/ui/timeline-entry/timeline-entry.d.ts.map +1 -1
  1134. package/dist/ui/toast/toast-preview.cjs +1 -1
  1135. package/dist/ui/toast/toast-preview.d.ts +1 -1
  1136. package/dist/ui/toast/toast-preview.d.ts.map +1 -1
  1137. package/dist/ui/toast/toast-preview.js +1 -1
  1138. package/dist/ui/toast/toast.cjs.map +1 -1
  1139. package/dist/ui/toast/toast.d.ts +3 -3
  1140. package/dist/ui/toast/toast.d.ts.map +1 -1
  1141. package/dist/ui/toast/toast.js.map +1 -1
  1142. package/dist/ui/toggle-switch/toggle-preview.cjs +1 -1
  1143. package/dist/ui/toggle-switch/toggle-preview.d.ts +1 -1
  1144. package/dist/ui/toggle-switch/toggle-preview.d.ts.map +1 -1
  1145. package/dist/ui/toggle-switch/toggle-preview.js +1 -1
  1146. package/dist/ui/toggle-switch/toggle-switch.cjs +1 -1
  1147. package/dist/ui/toggle-switch/toggle-switch.d.ts +1 -1
  1148. package/dist/ui/toggle-switch/toggle-switch.d.ts.map +1 -1
  1149. package/dist/ui/toggle-switch/toggle-switch.js +1 -1
  1150. package/dist/ui/tooltip/content-tooltip-preview.cjs +1 -1
  1151. package/dist/ui/tooltip/content-tooltip-preview.d.ts +1 -1
  1152. package/dist/ui/tooltip/content-tooltip-preview.d.ts.map +1 -1
  1153. package/dist/ui/tooltip/content-tooltip-preview.js +1 -1
  1154. package/dist/ui/tooltip/tooltip-preview.d.ts +1 -1
  1155. package/dist/ui/tooltip/tooltip-preview.d.ts.map +1 -1
  1156. package/dist/ui/tooltip/tooltip.d.ts +2 -2
  1157. package/dist/ui/tooltip/tooltip.d.ts.map +1 -1
  1158. package/dist/ui/type-overview-card/type-overview-card-preview.cjs +2 -2
  1159. package/dist/ui/type-overview-card/type-overview-card-preview.d.ts +1 -1
  1160. package/dist/ui/type-overview-card/type-overview-card-preview.d.ts.map +1 -1
  1161. package/dist/ui/type-overview-card/type-overview-card-preview.js +2 -2
  1162. package/dist/ui/type-overview-card/type-overview-card.cjs +2 -2
  1163. package/dist/ui/type-overview-card/type-overview-card.d.ts +1 -1
  1164. package/dist/ui/type-overview-card/type-overview-card.d.ts.map +1 -1
  1165. package/dist/ui/type-overview-card/type-overview-card.js +2 -2
  1166. package/dist/ui/view-switcher/view-switcher-preview.cjs +2 -2
  1167. package/dist/ui/view-switcher/view-switcher-preview.d.ts +1 -1
  1168. package/dist/ui/view-switcher/view-switcher-preview.d.ts.map +1 -1
  1169. package/dist/ui/view-switcher/view-switcher-preview.js +2 -2
  1170. package/dist/ui/view-switcher/view-switcher.d.ts +1 -1
  1171. package/dist/ui/view-switcher/view-switcher.d.ts.map +1 -1
  1172. package/package.json +23 -8
  1173. package/dist/studio/lib/registry/composite.cjs +0 -1732
  1174. package/dist/studio/lib/registry/composite.cjs.map +0 -1
  1175. package/dist/studio/lib/registry/composite.d.ts +0 -3
  1176. package/dist/studio/lib/registry/composite.d.ts.map +0 -1
  1177. package/dist/studio/lib/registry/composite.js +0 -1708
  1178. package/dist/studio/lib/registry/composite.js.map +0 -1
  1179. package/dist/studio/lib/registry/inputs.cjs +0 -1980
  1180. package/dist/studio/lib/registry/inputs.cjs.map +0 -1
  1181. package/dist/studio/lib/registry/inputs.d.ts +0 -3
  1182. package/dist/studio/lib/registry/inputs.d.ts.map +0 -1
  1183. package/dist/studio/lib/registry/inputs.js +0 -1956
  1184. package/dist/studio/lib/registry/inputs.js.map +0 -1
  1185. package/dist/studio/shell/properties-panel.cjs +0 -873
  1186. package/dist/studio/shell/properties-panel.cjs.map +0 -1
  1187. package/dist/studio/shell/properties-panel.d.ts.map +0 -1
  1188. package/dist/studio/shell/properties-panel.js +0 -849
  1189. package/dist/studio/shell/properties-panel.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Icon } from '@/ui';\nimport { IconButton } from '@/ui';\nimport { InlineAction } from '@/ui';\nimport { SectionHeader } from '@/ui';\nimport { Tabs } from '@/ui';\n\nimport { CodeEditor } from '../../editors/code-editor';\nimport { SelectInput } from '../../editors/select-input';\nimport { useUxm } from '../../lib/context';\nimport { getComponentDef, registry } from '../../lib/registry';\nimport { WcagPanel } from '../wcag-panel';\n\nimport { DevTab } from './dev-tab';\nimport { PropertyRow, renderEditor } from './property-row';\n\nimport type { ComponentDef } from '../../lib/types';\n\ntype Tab = 'visual' | 'dev' | 'code';\n\nexport function PropertiesPanel({\n orientation = 'horizontal',\n onToggleOrientation,\n}: {\n /**\n * Accepted for API compatibility with host portals that mount the panel\n * embedded. No longer switches the surface color — the properties panel\n * is always white (`bg-card`) so its text keeps full contrast in both the\n * standalone studio and an embedded portal.\n */\n embed?: boolean;\n orientation?: 'horizontal' | 'vertical';\n onToggleOrientation?: () => void;\n}) {\n const [tab, setTab] = useState<Tab>('visual');\n const {\n selectedId,\n getOverrides,\n setOverride,\n resetOverride,\n resetOverrides,\n getCurrentVariants,\n setVariant,\n eventLog,\n clearEvents,\n } = useUxm();\n const def = getComponentDef(selectedId);\n const overrides = getOverrides(selectedId);\n const currentVariants = getCurrentVariants();\n\n // Keys that were just cascaded — shows a brief \"Matched ✓\" state, then hides the link.\n // A change to the same key (value edit) removes it so the link reappears.\n const [syncedKeys, setSyncedKeys] = useState<Set<string>>(new Set());\n const [justMatchedKey, setJustMatchedKey] = useState<string | null>(null);\n const justMatchedTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Reset sync state when switching components.\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional reset of cascade-sync UI state on component switch\n setSyncedKeys(new Set());\n setJustMatchedKey(null);\n if (justMatchedTimer.current) {\n clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = null;\n }\n }, [selectedId]);\n\n useEffect(() => () => {\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n }, []);\n\n const peers = useMemo<ComponentDef[]>(\n () => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],\n [def],\n );\n\n const peersByKey = useMemo(() => {\n const map = new Map<string, ComponentDef[]>();\n if (!def) return map;\n for (const prop of def.styleProperties) {\n const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));\n if (matches.length) map.set(prop.key, matches);\n }\n return map;\n }, [def, peers]);\n\n if (!def) return null;\n\n // Variants live in ephemeral session state; styleProperty edits live in\n // persisted overrides. `resolve` checks both so panel UI reads the right\n // thing regardless of which kind of key it's looking at.\n const resolve = (key: string, fallback: string | number | boolean) => {\n const isVariantKey = def.layoutVariants.some((v) => v.key === key);\n if (isVariantKey) return currentVariants[key] ?? fallback;\n return overrides[key] ?? fallback;\n };\n\n const handleChange = (key: string) => (value: string | number | boolean) => {\n // Branch by key kind. Variants are UI selection — never written to\n // overrides. Style edits are persisted. Auto-clear an override when\n // value === default so the \"Reset\" affordance reflects the real\n // customization state (manually setting a knob back to its default\n // doesn't leave a stale entry in overrides).\n const variant = def.layoutVariants.find((v) => v.key === key);\n if (variant) {\n setVariant(key, value);\n return;\n }\n const prop = def.styleProperties.find((p) => p.key === key);\n if (prop !== undefined && value === prop.defaultValue) {\n resetOverride(selectedId, key);\n } else {\n setOverride(selectedId, key, value);\n }\n // Any edit diverges this key from its peers — allow re-cascading.\n setSyncedKeys((prev) => {\n if (!prev.has(key)) return prev;\n const next = new Set(prev);\n next.delete(key);\n return next;\n });\n };\n\n // Variants now live in ephemeral session state and never reach overrides,\n // so any key here is a real style edit — no filtering needed.\n const hasOverrides = Object.keys(overrides).length > 0;\n\n const SECTION_LABELS: Record<string, string> = {\n colors: 'Colors',\n states: 'States',\n style: 'Style',\n frame: 'Frame',\n header: 'Header',\n weekday: 'Weekday Row',\n 'shared-states': 'Shared States',\n 'day-cell': 'Date Cell',\n 'month-year-cells': 'Month & Year Cells',\n text: 'Text',\n uncheckedColors: 'Unchecked',\n checkedColors: 'Checked',\n offColors: 'Off',\n onColors: 'On',\n unselectedColors: 'Unselected',\n selectedColors: 'Selected',\n fieldColors: 'Field Colors',\n dropAreaColors: 'Drop Area',\n dropOutline: 'Drop Outline',\n triggerColors: 'Trigger Colors',\n popover: 'Popover',\n option: 'Option',\n focusState: 'Focus',\n disabledState: 'Disabled',\n errorState: 'Error Message',\n rangeOptions: 'Range Options',\n dragState: 'Drag Over',\n fileList: 'File List',\n fileListProgress: 'File List Progress',\n fileListStatus: 'File List Status',\n headerSlot: 'Header Slot',\n footerSlot: 'Footer Slot',\n };\n const allShowWhenKeys = Array.from(\n new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])),\n );\n const labelize = (vKey: string) =>\n def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;\n const sectionScopeKeys = (props: ComponentDef['styleProperties']) =>\n Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));\n const sectionTitleFor = (slug: string) =>\n SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);\n const sectionSubtitleFor = (props: ComponentDef['styleProperties']):\n | { scope: string; current: string | null }\n | null => {\n const keys = sectionScopeKeys(props);\n if (keys.length > 0) {\n const scope = `Per ${keys.map(labelize).join(' × ')}`;\n const current = keys.map((vKey) => {\n const variant = def.layoutVariants.find((v) => v.key === vKey);\n if (!variant) return null;\n const v = resolve(vKey, variant.defaultValue) as string;\n return variant.options.find((o) => o.value === v)?.label ?? v;\n }).filter(Boolean).join(' / ');\n return { scope, current: current || null };\n }\n if (allShowWhenKeys.length > 0) {\n const variantNames = allShowWhenKeys\n .map((k) => labelize(k).toLowerCase() + 's')\n .join(' / ');\n return { scope: `Shared across all ${variantNames}`, current: null };\n }\n return null;\n };\n const sectionBarCategoryFor = (props: ComponentDef['styleProperties']): 'full' | 'partial' | 'shared' => {\n const keys = sectionScopeKeys(props);\n if (keys.length === 0) return 'shared';\n if (keys.length === allShowWhenKeys.length) return 'full';\n return 'partial';\n };\n const BAR_COLOR: Record<'full' | 'partial', string> = {\n full: 'var(--color-highlight-cool)',\n partial: 'var(--color-highlight-warm)',\n };\n\n // Shared variant-scope filter: an entry with `showWhen` only renders\n // when the current value of every named variant matches. Used by both\n // style properties (existing) and event specs (Events tab).\n const matchesShowWhen = (showWhen?: Record<string, string | string[]>) => {\n if (!showWhen) return true;\n for (const [vKey, vVal] of Object.entries(showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\" — the same rule the per-option\n // matcher below uses. Without it a multi-value clause has to be\n // spelled as one string, which is compared verbatim and never matches\n // (that silently hid four editable-cell knobs).\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n };\n\n const visibleStyleProps = def.styleProperties.filter((prop) =>\n matchesShowWhen(prop.showWhen),\n );\n const visibleEvents = (def.events ?? []).filter((ev) =>\n matchesShowWhen(ev.showWhen),\n );\n // Variants themselves can be scoped via `showWhen` — e.g. the State\n // picker on list-item is irrelevant when `trailing` is meta / none,\n // so the variant disappears entirely rather than sitting as a no-op.\n const visibleVariants = def.layoutVariants.filter((v) =>\n matchesShowWhen(v.showWhen),\n );\n const sectionsMap = new Map<string, ComponentDef['styleProperties']>();\n for (const prop of visibleStyleProps) {\n const slug = prop.section ?? 'style';\n if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);\n sectionsMap.get(slug)!.push(prop);\n }\n const sectionGroups = Array.from(sectionsMap.entries());\n\n const cascadeKey = (key: string, value: string | number | boolean) => {\n const targets = peersByKey.get(key) ?? [];\n if (targets.length === 0) return;\n for (const p of targets) setOverride(p.id, key, value);\n setSyncedKeys((prev) => new Set(prev).add(key));\n setJustMatchedKey(key);\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);\n };\n\n return (\n <aside className={`flex flex-col overflow-hidden w-full h-full ${\n orientation === 'horizontal' ? 'border-l' : 'border-t'\n } border-border bg-card`}>\n {/* Header with tabs */}\n <div className=\"sticky top-0 z-10 border-b border-border px-5 py-3 bg-card\">\n {/* Panel-level header — uses the same SectionHeader atom as the\n VARIANT / COLORS / STYLE per-section headers below, so the\n entire panel's section-title chrome flows through one\n theming surface (`--uxm-section-header-*`). The orientation\n toggle and \"Reset all\" go into the trailing slot. The 1px\n font-size shift from `text-xs` (12px) to SectionHeader's\n default 11px is intentional — keeps the panel header\n consistent with section headers. */}\n <SectionHeader\n trailing={\n <div className=\"flex items-center gap-3\">\n {onToggleOrientation && (\n <IconButton\n onClick={onToggleOrientation}\n aria-label={\n orientation === 'horizontal'\n ? 'Move panel to bottom'\n : 'Move panel to right'\n }\n title={\n orientation === 'horizontal'\n ? 'Dock to bottom'\n : 'Dock to right'\n }\n // 20×20 footprint matches the previous `h-5 w-5` chrome.\n style={{ ['--uxm-icon-button-size' as string]: '20px' }}\n >\n <Icon\n glyph={orientation === 'horizontal' ? 'dock-bottom' : 'dock-right'}\n size={14}\n />\n </IconButton>\n )}\n {hasOverrides && (\n <InlineAction onClick={() => resetOverrides(selectedId)}>\n Reset all\n </InlineAction>\n )}\n </div>\n }\n >\n Properties\n </SectionHeader>\n\n\n {/* Tab bar — uses the real <Tabs> atom so editor saves on the\n Tabs registry (active-bg, padding-x/y, font-size, etc.) flow\n into the properties pane's own toggle. The previous hand-rolled\n <button> elements had `className=\"uxm-tabs\"` on the wrapper but\n no `.uxm-tabs__tab` on the inner buttons, so every inner-element\n var (which is what most Tabs knobs control) silently no-oped\n here. `w-full` keeps the strip stretching across the panel —\n the atom is `display: inline-flex` by default. */}\n <Tabs\n className=\"w-full\"\n value={tab}\n onChange={(v) => setTab(v as Tab)}\n options={[\n {\n value: 'visual',\n label: 'Visual',\n icon: <Icon glyph=\"list\" size={12} />,\n },\n {\n value: 'dev',\n label: 'Dev',\n icon: <Icon glyph=\"bolt\" size={12} />,\n },\n {\n value: 'code',\n label: 'CSS',\n icon: <Icon glyph=\"code\" size={12} />,\n },\n ]}\n />\n </div>\n\n {/* Tab content */}\n {tab === 'visual' ? (\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {/* Bottom-dock (`orientation === \"vertical\"`) gives the pane the\n full canvas width — far more than the ~320px right-dock. We\n switch to an auto-fit grid so each section (Variants, Colors,\n Style, WCAG) becomes its own column, side-by-side, wrapping\n gracefully on narrow widths. The `mb-6` between sections is\n dropped in grid mode because grid `gap-y-4` handles spacing\n instead — leaving both would double-space the wrapped rows. */}\n <div\n className={\n orientation === 'vertical'\n ? 'grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]'\n : ''\n }\n >\n {/* Variant selectors — render before Styles so mode/state/type selectors anchor the form. */}\n {visibleVariants.length > 0 && (\n <div className={orientation === 'vertical' ? 'min-w-0' : 'mb-6'}>\n <SectionHeader>\n {visibleVariants.length === 1 ? 'Variant' : 'Variants'}\n </SectionHeader>\n <div className=\"space-y-3\">\n {visibleVariants.map((variant) => {\n const rawValue = resolve(variant.key, variant.defaultValue) as string;\n const visibleOptions = variant.options.filter((opt) => {\n if (!opt.showWhen) return true;\n for (const [vKey, vVal] of Object.entries(opt.showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\"; a string is exact.\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n });\n const valid = visibleOptions.some((o) => o.value === rawValue);\n const value = valid\n ? rawValue\n : visibleOptions.some((o) => o.value === variant.defaultValue)\n ? variant.defaultValue\n : visibleOptions[0]?.value ?? rawValue;\n if (!valid && value !== rawValue) {\n // Stale variant selection (showWhen filtered out the option).\n // Repair to a valid value via the variant channel, not overrides —\n // variants are ephemeral session state. Guarded on\n // `value !== rawValue` so an empty `visibleOptions` (no\n // fallback available) doesn't re-queue this microtask\n // forever — `value` would otherwise fall back to\n // `rawValue` itself and never settle.\n queueMicrotask(() => setVariant(variant.key, value));\n }\n return (\n <div key={variant.key} data-variant-key={variant.key}>\n <SelectInput\n label={variant.label}\n value={value}\n onChange={handleChange(variant.key)}\n options={visibleOptions}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Style Properties — grouped by section */}\n {sectionGroups.map(([slug, props]) => {\n const overriddenInSection = props.filter((p) => p.key in overrides);\n const hasSectionOverrides = overriddenInSection.length > 0;\n return (\n <div\n key={slug}\n className={`${orientation === 'vertical' ? 'min-w-0' : 'mb-6'} ${sectionBarCategoryFor(props) === 'shared' ? '' : 'border-l-2 pl-3 -ml-3'}`}\n style={sectionBarCategoryFor(props) === 'shared' ? undefined : { borderColor: BAR_COLOR[sectionBarCategoryFor(props) as 'full' | 'partial'] }}\n >\n {(() => {\n const sub = sectionSubtitleFor(props);\n const subtitle = sub ? (\n <>\n <span>{sub.scope}</span>\n {sub.current && (\n <>\n <span style={{ color: 'var(--color-text-subtle)' }}>·</span>\n <span style={{ fontWeight: 600, color: 'var(--color-text-strong)' }}>\n {sub.current}\n </span>\n </>\n )}\n </>\n ) : null;\n return (\n <SectionHeader\n subtitle={subtitle}\n trailing={\n hasSectionOverrides && sectionGroups.length > 1 ? (\n <InlineAction\n onClick={() => {\n for (const p of overriddenInSection) resetOverride(selectedId, p.key);\n }}\n title={`Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? '' : 's'} in this section to default`}\n icon={<Icon glyph=\"refresh\" strokeWidth={2.25} aria-hidden />}\n >\n Reset section\n </InlineAction>\n ) : undefined\n }\n >\n {sectionTitleFor(slug)}\n </SectionHeader>\n );\n })()}\n <div className=\"space-y-3\">\n {props.map((prop) => {\n const value = resolve(prop.key, prop.defaultValue);\n const onChange = handleChange(prop.key);\n const editor = renderEditor(prop.control, {\n label: prop.label,\n value,\n onChange,\n prop,\n });\n const peerCount = peersByKey.get(prop.key)?.length ?? 0;\n const isOverridden = prop.key in overrides;\n const isSynced = syncedKeys.has(prop.key);\n const isJustMatched = justMatchedKey === prop.key;\n return (\n <PropertyRow\n key={prop.key}\n cascadeCount={isOverridden ? peerCount : 0}\n onCascade={() => cascadeKey(prop.key, value)}\n category={def.category}\n propLabel={prop.label}\n synced={isSynced}\n justMatched={isJustMatched}\n isOverridden={isOverridden}\n onReset={() => resetOverride(selectedId, prop.key)}\n >\n {editor}\n </PropertyRow>\n );\n })}\n </div>\n </div>\n );\n })}\n\n {/* WCAG spans two grid columns when bottom-docked — its colour-pair\n rows have enough horizontal content that a single 220px column\n squashes them. `col-span-2` is a no-op outside the grid since\n there's no grid context to span over. */}\n <div className={orientation === 'vertical' ? 'min-w-0 col-span-2' : ''}>\n <WcagPanel def={def} />\n </div>\n </div>\n </div>\n ) : tab === 'dev' ? (\n <DevTab\n def={def}\n api={def.api}\n events={visibleEvents}\n eventLog={eventLog}\n onClearLog={clearEvents}\n orientation={orientation}\n currentVariants={currentVariants}\n overrides={overrides}\n />\n ) : (\n <div className=\"flex-1 overflow-hidden p-3\">\n <CodeEditor />\n </div>\n )}\n </aside>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8QY;AA9QZ,mBAAqD;AAErD,gBAAqB;AACrB,IAAAA,aAA2B;AAC3B,IAAAA,aAA6B;AAC7B,IAAAA,aAA8B;AAC9B,IAAAA,aAAqB;AAErB,yBAA2B;AAC3B,0BAA4B;AAC5B,qBAAuB;AACvB,sBAA0C;AAC1C,wBAA0B;AAE1B,qBAAuB;AACvB,0BAA0C;AAMnC,SAAS,gBAAgB;AAAA,EAC9B,cAAc;AAAA,EACd;AACF,GAUG;AACD,QAAM,CAAC,KAAK,MAAM,QAAI,uBAAc,QAAQ;AAC5C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,uBAAO;AACX,QAAM,UAAM,iCAAgB,UAAU;AACtC,QAAM,YAAY,aAAa,UAAU;AACzC,QAAM,kBAAkB,mBAAmB;AAI3C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAsB,oBAAI,IAAI,CAAC;AACnE,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAwB,IAAI;AACxE,QAAM,uBAAmB,qBAA6C,IAAI;AAG1E,8BAAU,MAAM;AAEd,kBAAc,oBAAI,IAAI,CAAC;AACvB,sBAAkB,IAAI;AACtB,QAAI,iBAAiB,SAAS;AAC5B,mBAAa,iBAAiB,OAAO;AACrC,uBAAiB,UAAU;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEf,8BAAU,MAAM,MAAM;AACpB,QAAI,iBAAiB,QAAS,cAAa,iBAAiB,OAAO;AAAA,EACrE,GAAG,CAAC,CAAC;AAEL,QAAM,YAAQ;AAAA,IACZ,MAAM,MAAM,yBAAS,OAAO,CAAC,MAAM,EAAE,aAAa,IAAI,YAAY,EAAE,OAAO,IAAI,EAAE,IAAI,CAAC;AAAA,IACtF,CAAC,GAAG;AAAA,EACN;AAEA,QAAM,iBAAa,sBAAQ,MAAM;AAC/B,UAAM,MAAM,oBAAI,IAA4B;AAC5C,QAAI,CAAC,IAAK,QAAO;AACjB,eAAW,QAAQ,IAAI,iBAAiB;AACtC,YAAM,UAAU,MAAM,OAAO,CAAC,MAAM,EAAE,gBAAgB,KAAK,CAAC,OAAO,GAAG,QAAQ,KAAK,GAAG,CAAC;AACvF,UAAI,QAAQ,OAAQ,KAAI,IAAI,KAAK,KAAK,OAAO;AAAA,IAC/C;AACA,WAAO;AAAA,EACT,GAAG,CAAC,KAAK,KAAK,CAAC;AAEf,MAAI,CAAC,IAAK,QAAO;AAKjB,QAAM,UAAU,CAAC,KAAa,aAAwC;AACpE,UAAM,eAAe,IAAI,eAAe,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AACjE,QAAI,aAAc,QAAO,gBAAgB,GAAG,KAAK;AACjD,WAAO,UAAU,GAAG,KAAK;AAAA,EAC3B;AAEA,QAAM,eAAe,CAAC,QAAgB,CAAC,UAAqC;AAM1E,UAAM,UAAU,IAAI,eAAe,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AAC5D,QAAI,SAAS;AACX,iBAAW,KAAK,KAAK;AACrB;AAAA,IACF;AACA,UAAM,OAAO,IAAI,gBAAgB,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AAC1D,QAAI,SAAS,UAAa,UAAU,KAAK,cAAc;AACrD,oBAAc,YAAY,GAAG;AAAA,IAC/B,OAAO;AACL,kBAAY,YAAY,KAAK,KAAK;AAAA,IACpC;AAEA,kBAAc,CAAC,SAAS;AACtB,UAAI,CAAC,KAAK,IAAI,GAAG,EAAG,QAAO;AAC3B,YAAM,OAAO,IAAI,IAAI,IAAI;AACzB,WAAK,OAAO,GAAG;AACf,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAIA,QAAM,eAAe,OAAO,KAAK,SAAS,EAAE,SAAS;AAErD,QAAM,iBAAyC;AAAA,IAC7C,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,oBAAoB;AAAA,IACpB,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,WAAW;AAAA,IACX,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,WAAW;AAAA,IACX,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AACA,QAAM,kBAAkB,MAAM;AAAA,IAC5B,IAAI,IAAI,IAAI,gBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,OAAO,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;AAAA,EACvF;AACA,QAAM,WAAW,CAAC,SAChB,IAAI,eAAe,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,GAAG,SAAS;AAC3D,QAAM,mBAAmB,CAAC,UACxB,MAAM,KAAK,IAAI,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,OAAO,KAAK,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;AACrF,QAAM,kBAAkB,CAAC,SACvB,eAAe,IAAI,KAAK,KAAK,OAAO,CAAC,EAAE,YAAY,IAAI,KAAK,MAAM,CAAC;AACrE,QAAM,qBAAqB,CAAC,UAEhB;AACV,UAAM,OAAO,iBAAiB,KAAK;AACnC,QAAI,KAAK,SAAS,GAAG;AACnB,YAAM,QAAQ,OAAO,KAAK,IAAI,QAAQ,EAAE,KAAK,QAAK,CAAC;AACnD,YAAM,UAAU,KAAK,IAAI,CAAC,SAAS;AACjC,cAAM,UAAU,IAAI,eAAe,KAAK,CAACC,OAAMA,GAAE,QAAQ,IAAI;AAC7D,YAAI,CAAC,QAAS,QAAO;AACrB,cAAM,IAAI,QAAQ,MAAM,QAAQ,YAAY;AAC5C,eAAO,QAAQ,QAAQ,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS;AAAA,MAC9D,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,KAAK;AAC7B,aAAO,EAAE,OAAO,SAAS,WAAW,KAAK;AAAA,IAC3C;AACA,QAAI,gBAAgB,SAAS,GAAG;AAC9B,YAAM,eAAe,gBAClB,IAAI,CAAC,MAAM,SAAS,CAAC,EAAE,YAAY,IAAI,GAAG,EAC1C,KAAK,KAAK;AACb,aAAO,EAAE,OAAO,qBAAqB,YAAY,IAAI,SAAS,KAAK;AAAA,IACrE;AACA,WAAO;AAAA,EACT;AACA,QAAM,wBAAwB,CAAC,UAA0E;AACvG,UAAM,OAAO,iBAAiB,KAAK;AACnC,QAAI,KAAK,WAAW,EAAG,QAAO;AAC9B,QAAI,KAAK,WAAW,gBAAgB,OAAQ,QAAO;AACnD,WAAO;AAAA,EACT;AACA,QAAM,YAAgD;AAAA,IACpD,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAKA,QAAM,kBAAkB,CAAC,aAAiD;AACxE,QAAI,CAAC,SAAU,QAAO;AACtB,eAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACnD,YAAM,UAAU;AAAA,QACd;AAAA,QACA,IAAI,eAAe,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,GAAG,gBAAgB;AAAA,MAClE;AAKA,YAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAClD,UAAI,CAAC,QAAQ,SAAS,OAAO,EAAG,QAAO;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAEA,QAAM,oBAAoB,IAAI,gBAAgB;AAAA,IAAO,CAAC,SACpD,gBAAgB,KAAK,QAAQ;AAAA,EAC/B;AACA,QAAM,iBAAiB,IAAI,UAAU,CAAC,GAAG;AAAA,IAAO,CAAC,OAC/C,gBAAgB,GAAG,QAAQ;AAAA,EAC7B;AAIA,QAAM,kBAAkB,IAAI,eAAe;AAAA,IAAO,CAAC,MACjD,gBAAgB,EAAE,QAAQ;AAAA,EAC5B;AACA,QAAM,cAAc,oBAAI,IAA6C;AACrE,aAAW,QAAQ,mBAAmB;AACpC,UAAM,OAAO,KAAK,WAAW;AAC7B,QAAI,CAAC,YAAY,IAAI,IAAI,EAAG,aAAY,IAAI,MAAM,CAAC,CAAC;AACpD,gBAAY,IAAI,IAAI,EAAG,KAAK,IAAI;AAAA,EAClC;AACA,QAAM,gBAAgB,MAAM,KAAK,YAAY,QAAQ,CAAC;AAEtD,QAAM,aAAa,CAAC,KAAa,UAAqC;AACpE,UAAM,UAAU,WAAW,IAAI,GAAG,KAAK,CAAC;AACxC,QAAI,QAAQ,WAAW,EAAG;AAC1B,eAAW,KAAK,QAAS,aAAY,EAAE,IAAI,KAAK,KAAK;AACrD,kBAAc,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,GAAG,CAAC;AAC9C,sBAAkB,GAAG;AACrB,QAAI,iBAAiB,QAAS,cAAa,iBAAiB,OAAO;AACnE,qBAAiB,UAAU,WAAW,MAAM,kBAAkB,IAAI,GAAG,IAAI;AAAA,EAC3E;AAEA,SACE,6CAAC,WAAM,WAAW,+CAChB,gBAAgB,eAAe,aAAa,UAC9C,0BAEE;AAAA,iDAAC,SAAI,WAAU,8DASb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,UACE,6CAAC,SAAI,WAAU,2BACZ;AAAA,mCACC;AAAA,cAAC;AAAA;AAAA,gBACC,SAAS;AAAA,gBACT,cACE,gBAAgB,eACZ,yBACA;AAAA,gBAEN,OACE,gBAAgB,eACZ,mBACA;AAAA,gBAGN,OAAO,EAAE,CAAC,wBAAkC,GAAG,OAAO;AAAA,gBAEtD;AAAA,kBAAC;AAAA;AAAA,oBACC,OAAO,gBAAgB,eAAe,gBAAgB;AAAA,oBACtD,MAAM;AAAA;AAAA,gBACR;AAAA;AAAA,YACF;AAAA,YAED,gBACC,4CAAC,2BAAa,SAAS,MAAM,eAAe,UAAU,GAAG,uBAEzD;AAAA,aAEJ;AAAA,UAEH;AAAA;AAAA,MAED;AAAA,MAWA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,OAAO;AAAA,UACP,UAAU,CAAC,MAAM,OAAO,CAAQ;AAAA,UAChC,SAAS;AAAA,YACP;AAAA,cACE,OAAO;AAAA,cACP,OAAO;AAAA,cACP,MAAM,4CAAC,kBAAK,OAAM,QAAO,MAAM,IAAI;AAAA,YACrC;AAAA,YACA;AAAA,cACE,OAAO;AAAA,cACP,OAAO;AAAA,cACP,MAAM,4CAAC,kBAAK,OAAM,QAAO,MAAM,IAAI;AAAA,YACrC;AAAA,YACA;AAAA,cACE,OAAO;AAAA,cACP,OAAO;AAAA,cACP,MAAM,4CAAC,kBAAK,OAAM,QAAO,MAAM,IAAI;AAAA,YACrC;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAGC,QAAQ,WACP,4CAAC,SAAI,WAAU,oCAQb;AAAA,MAAC;AAAA;AAAA,QACC,WACE,gBAAgB,aACZ,gGACA;AAAA,QAIP;AAAA,0BAAgB,SAAS,KACxB,6CAAC,SAAI,WAAW,gBAAgB,aAAa,YAAY,QACvD;AAAA,wDAAC,4BACE,0BAAgB,WAAW,IAAI,YAAY,YAC9C;AAAA,YACA,4CAAC,SAAI,WAAU,aACZ,0BAAgB,IAAI,CAAC,YAAY;AAChC,oBAAM,WAAW,QAAQ,QAAQ,KAAK,QAAQ,YAAY;AAC1D,oBAAM,iBAAiB,QAAQ,QAAQ,OAAO,CAAC,QAAQ;AACrD,oBAAI,CAAC,IAAI,SAAU,QAAO;AAC1B,2BAAW,CAAC,MAAM,IAAI,KAAK,OAAO,QAAQ,IAAI,QAAQ,GAAG;AACvD,wBAAM,UAAU;AAAA,oBACd;AAAA,oBACA,IAAI,eAAe,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,GAAG,gBAAgB;AAAA,kBAClE;AAEA,wBAAM,UAAU,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AAClD,sBAAI,CAAC,QAAQ,SAAS,OAAO,EAAG,QAAO;AAAA,gBACzC;AACA,uBAAO;AAAA,cACT,CAAC;AACD,oBAAM,QAAQ,eAAe,KAAK,CAAC,MAAM,EAAE,UAAU,QAAQ;AAC7D,oBAAM,QAAQ,QACV,WACA,eAAe,KAAK,CAAC,MAAM,EAAE,UAAU,QAAQ,YAAY,IACzD,QAAQ,eACR,eAAe,CAAC,GAAG,SAAS;AAClC,kBAAI,CAAC,SAAS,UAAU,UAAU;AAQhC,+BAAe,MAAM,WAAW,QAAQ,KAAK,KAAK,CAAC;AAAA,cACrD;AACA,qBACE,4CAAC,SAAsB,oBAAkB,QAAQ,KAC/C;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO,QAAQ;AAAA,kBACf;AAAA,kBACA,UAAU,aAAa,QAAQ,GAAG;AAAA,kBAClC,SAAS;AAAA;AAAA,cACX,KANQ,QAAQ,GAOlB;AAAA,YAEJ,CAAC,GACH;AAAA,aACF;AAAA,UAID,cAAc,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;AACpC,kBAAM,sBAAsB,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS;AAClE,kBAAM,sBAAsB,oBAAoB,SAAS;AACzD,mBACA;AAAA,cAAC;AAAA;AAAA,gBAEC,WAAW,GAAG,gBAAgB,aAAa,YAAY,MAAM,IAAI,sBAAsB,KAAK,MAAM,WAAW,KAAK,uBAAuB;AAAA,gBACzI,OAAO,sBAAsB,KAAK,MAAM,WAAW,SAAY,EAAE,aAAa,UAAU,sBAAsB,KAAK,CAAuB,EAAE;AAAA,gBAE1I;AAAA,yBAAM;AACN,0BAAM,MAAM,mBAAmB,KAAK;AACpC,0BAAM,WAAW,MACf,4EACE;AAAA,kEAAC,UAAM,cAAI,OAAM;AAAA,sBAChB,IAAI,WACH,4EACE;AAAA,oEAAC,UAAK,OAAO,EAAE,OAAO,2BAA2B,GAAG,kBAAC;AAAA,wBACrD,4CAAC,UAAK,OAAO,EAAE,YAAY,KAAK,OAAO,2BAA2B,GAC/D,cAAI,SACP;AAAA,yBACF;AAAA,uBAEJ,IACE;AACJ,2BACE;AAAA,sBAAC;AAAA;AAAA,wBACC;AAAA,wBACA,UACE,uBAAuB,cAAc,SAAS,IAC5C;AAAA,0BAAC;AAAA;AAAA,4BACC,SAAS,MAAM;AACb,yCAAW,KAAK,oBAAqB,eAAc,YAAY,EAAE,GAAG;AAAA,4BACtE;AAAA,4BACA,OAAO,SAAS,oBAAoB,MAAM,SAAS,oBAAoB,WAAW,IAAI,KAAK,GAAG;AAAA,4BAC9F,MAAM,4CAAC,kBAAK,OAAM,WAAU,aAAa,MAAM,eAAW,MAAC;AAAA,4BAC5D;AAAA;AAAA,wBAED,IACE;AAAA,wBAGL,0BAAgB,IAAI;AAAA;AAAA,oBACvB;AAAA,kBAEJ,GAAG;AAAA,kBACH,4CAAC,SAAI,WAAU,aACZ,gBAAM,IAAI,CAAC,SAAS;AACnB,0BAAM,QAAQ,QAAQ,KAAK,KAAK,KAAK,YAAY;AACjD,0BAAM,WAAW,aAAa,KAAK,GAAG;AACtC,0BAAM,aAAS,kCAAa,KAAK,SAAS;AAAA,sBACxC,OAAO,KAAK;AAAA,sBACZ;AAAA,sBACA;AAAA,sBACA;AAAA,oBACF,CAAC;AACD,0BAAM,YAAY,WAAW,IAAI,KAAK,GAAG,GAAG,UAAU;AACtD,0BAAM,eAAe,KAAK,OAAO;AACjC,0BAAM,WAAW,WAAW,IAAI,KAAK,GAAG;AACxC,0BAAM,gBAAgB,mBAAmB,KAAK;AAC9C,2BACE;AAAA,sBAAC;AAAA;AAAA,wBAEC,cAAc,eAAe,YAAY;AAAA,wBACzC,WAAW,MAAM,WAAW,KAAK,KAAK,KAAK;AAAA,wBAC3C,UAAU,IAAI;AAAA,wBACd,WAAW,KAAK;AAAA,wBAChB,QAAQ;AAAA,wBACR,aAAa;AAAA,wBACb;AAAA,wBACA,SAAS,MAAM,cAAc,YAAY,KAAK,GAAG;AAAA,wBAEhD;AAAA;AAAA,sBAVI,KAAK;AAAA,oBAWZ;AAAA,kBAEJ,CAAC,GACH;AAAA;AAAA;AAAA,cAtEK;AAAA,YAuEP;AAAA,UAEF,CAAC;AAAA,UAMD,4CAAC,SAAI,WAAW,gBAAgB,aAAa,uBAAuB,IAClE,sDAAC,+BAAU,KAAU,GACvB;AAAA;AAAA;AAAA,IACA,GACF,IACE,QAAQ,QACV;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,KAAK,IAAI;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,QACA,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,IAEA,4CAAC,SAAI,WAAU,8BACb,sDAAC,iCAAW,GACd;AAAA,KAEJ;AAEJ;","names":["import_ui","v"]}
@@ -8,5 +8,5 @@ export declare function PropertiesPanel({ orientation, onToggleOrientation, }: {
8
8
  embed?: boolean;
9
9
  orientation?: 'horizontal' | 'vertical';
10
10
  onToggleOrientation?: () => void;
11
- }): import("react/jsx-runtime").JSX.Element | null;
12
- //# sourceMappingURL=properties-panel.d.ts.map
11
+ }): import("react").JSX.Element | null;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,eAAe,CAAC,EAC9B,WAA0B,EAC1B,mBAAmB,GACpB,EAAE;IACD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC,sCAieA"}
@@ -0,0 +1,374 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef, useState } from "react";
3
+ import { Icon } from "../../../ui/index.js";
4
+ import { IconButton } from "../../../ui/index.js";
5
+ import { InlineAction } from "../../../ui/index.js";
6
+ import { SectionHeader } from "../../../ui/index.js";
7
+ import { Tabs } from "../../../ui/index.js";
8
+ import { CodeEditor } from "../../editors/code-editor.js";
9
+ import { SelectInput } from "../../editors/select-input.js";
10
+ import { useUxm } from "../../lib/context.js";
11
+ import { getComponentDef, registry } from "../../lib/registry/index.js";
12
+ import { WcagPanel } from "../wcag-panel.js";
13
+ import { DevTab } from "./dev-tab.js";
14
+ import { PropertyRow, renderEditor } from "./property-row.js";
15
+ function PropertiesPanel({
16
+ orientation = "horizontal",
17
+ onToggleOrientation
18
+ }) {
19
+ const [tab, setTab] = useState("visual");
20
+ const {
21
+ selectedId,
22
+ getOverrides,
23
+ setOverride,
24
+ resetOverride,
25
+ resetOverrides,
26
+ getCurrentVariants,
27
+ setVariant,
28
+ eventLog,
29
+ clearEvents
30
+ } = useUxm();
31
+ const def = getComponentDef(selectedId);
32
+ const overrides = getOverrides(selectedId);
33
+ const currentVariants = getCurrentVariants();
34
+ const [syncedKeys, setSyncedKeys] = useState(/* @__PURE__ */ new Set());
35
+ const [justMatchedKey, setJustMatchedKey] = useState(null);
36
+ const justMatchedTimer = useRef(null);
37
+ useEffect(() => {
38
+ setSyncedKeys(/* @__PURE__ */ new Set());
39
+ setJustMatchedKey(null);
40
+ if (justMatchedTimer.current) {
41
+ clearTimeout(justMatchedTimer.current);
42
+ justMatchedTimer.current = null;
43
+ }
44
+ }, [selectedId]);
45
+ useEffect(() => () => {
46
+ if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);
47
+ }, []);
48
+ const peers = useMemo(
49
+ () => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],
50
+ [def]
51
+ );
52
+ const peersByKey = useMemo(() => {
53
+ const map = /* @__PURE__ */ new Map();
54
+ if (!def) return map;
55
+ for (const prop of def.styleProperties) {
56
+ const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));
57
+ if (matches.length) map.set(prop.key, matches);
58
+ }
59
+ return map;
60
+ }, [def, peers]);
61
+ if (!def) return null;
62
+ const resolve = (key, fallback) => {
63
+ const isVariantKey = def.layoutVariants.some((v) => v.key === key);
64
+ if (isVariantKey) return currentVariants[key] ?? fallback;
65
+ return overrides[key] ?? fallback;
66
+ };
67
+ const handleChange = (key) => (value) => {
68
+ const variant = def.layoutVariants.find((v) => v.key === key);
69
+ if (variant) {
70
+ setVariant(key, value);
71
+ return;
72
+ }
73
+ const prop = def.styleProperties.find((p) => p.key === key);
74
+ if (prop !== void 0 && value === prop.defaultValue) {
75
+ resetOverride(selectedId, key);
76
+ } else {
77
+ setOverride(selectedId, key, value);
78
+ }
79
+ setSyncedKeys((prev) => {
80
+ if (!prev.has(key)) return prev;
81
+ const next = new Set(prev);
82
+ next.delete(key);
83
+ return next;
84
+ });
85
+ };
86
+ const hasOverrides = Object.keys(overrides).length > 0;
87
+ const SECTION_LABELS = {
88
+ colors: "Colors",
89
+ states: "States",
90
+ style: "Style",
91
+ frame: "Frame",
92
+ header: "Header",
93
+ weekday: "Weekday Row",
94
+ "shared-states": "Shared States",
95
+ "day-cell": "Date Cell",
96
+ "month-year-cells": "Month & Year Cells",
97
+ text: "Text",
98
+ uncheckedColors: "Unchecked",
99
+ checkedColors: "Checked",
100
+ offColors: "Off",
101
+ onColors: "On",
102
+ unselectedColors: "Unselected",
103
+ selectedColors: "Selected",
104
+ fieldColors: "Field Colors",
105
+ dropAreaColors: "Drop Area",
106
+ dropOutline: "Drop Outline",
107
+ triggerColors: "Trigger Colors",
108
+ popover: "Popover",
109
+ option: "Option",
110
+ focusState: "Focus",
111
+ disabledState: "Disabled",
112
+ errorState: "Error Message",
113
+ rangeOptions: "Range Options",
114
+ dragState: "Drag Over",
115
+ fileList: "File List",
116
+ fileListProgress: "File List Progress",
117
+ fileListStatus: "File List Status",
118
+ headerSlot: "Header Slot",
119
+ footerSlot: "Footer Slot"
120
+ };
121
+ const allShowWhenKeys = Array.from(
122
+ new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : []))
123
+ );
124
+ const labelize = (vKey) => def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;
125
+ const sectionScopeKeys = (props) => Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));
126
+ const sectionTitleFor = (slug) => SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);
127
+ const sectionSubtitleFor = (props) => {
128
+ const keys = sectionScopeKeys(props);
129
+ if (keys.length > 0) {
130
+ const scope = `Per ${keys.map(labelize).join(" \xD7 ")}`;
131
+ const current = keys.map((vKey) => {
132
+ const variant = def.layoutVariants.find((v2) => v2.key === vKey);
133
+ if (!variant) return null;
134
+ const v = resolve(vKey, variant.defaultValue);
135
+ return variant.options.find((o) => o.value === v)?.label ?? v;
136
+ }).filter(Boolean).join(" / ");
137
+ return { scope, current: current || null };
138
+ }
139
+ if (allShowWhenKeys.length > 0) {
140
+ const variantNames = allShowWhenKeys.map((k) => labelize(k).toLowerCase() + "s").join(" / ");
141
+ return { scope: `Shared across all ${variantNames}`, current: null };
142
+ }
143
+ return null;
144
+ };
145
+ const sectionBarCategoryFor = (props) => {
146
+ const keys = sectionScopeKeys(props);
147
+ if (keys.length === 0) return "shared";
148
+ if (keys.length === allShowWhenKeys.length) return "full";
149
+ return "partial";
150
+ };
151
+ const BAR_COLOR = {
152
+ full: "var(--color-highlight-cool)",
153
+ partial: "var(--color-highlight-warm)"
154
+ };
155
+ const matchesShowWhen = (showWhen) => {
156
+ if (!showWhen) return true;
157
+ for (const [vKey, vVal] of Object.entries(showWhen)) {
158
+ const current = resolve(
159
+ vKey,
160
+ def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? ""
161
+ );
162
+ const allowed = Array.isArray(vVal) ? vVal : [vVal];
163
+ if (!allowed.includes(current)) return false;
164
+ }
165
+ return true;
166
+ };
167
+ const visibleStyleProps = def.styleProperties.filter(
168
+ (prop) => matchesShowWhen(prop.showWhen)
169
+ );
170
+ const visibleEvents = (def.events ?? []).filter(
171
+ (ev) => matchesShowWhen(ev.showWhen)
172
+ );
173
+ const visibleVariants = def.layoutVariants.filter(
174
+ (v) => matchesShowWhen(v.showWhen)
175
+ );
176
+ const sectionsMap = /* @__PURE__ */ new Map();
177
+ for (const prop of visibleStyleProps) {
178
+ const slug = prop.section ?? "style";
179
+ if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);
180
+ sectionsMap.get(slug).push(prop);
181
+ }
182
+ const sectionGroups = Array.from(sectionsMap.entries());
183
+ const cascadeKey = (key, value) => {
184
+ const targets = peersByKey.get(key) ?? [];
185
+ if (targets.length === 0) return;
186
+ for (const p of targets) setOverride(p.id, key, value);
187
+ setSyncedKeys((prev) => new Set(prev).add(key));
188
+ setJustMatchedKey(key);
189
+ if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);
190
+ justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);
191
+ };
192
+ return /* @__PURE__ */ jsxs("aside", { className: `flex flex-col overflow-hidden w-full h-full ${orientation === "horizontal" ? "border-l" : "border-t"} border-border bg-card`, children: [
193
+ /* @__PURE__ */ jsxs("div", { className: "sticky top-0 z-10 border-b border-border px-5 py-3 bg-card", children: [
194
+ /* @__PURE__ */ jsx(
195
+ SectionHeader,
196
+ {
197
+ trailing: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
198
+ onToggleOrientation && /* @__PURE__ */ jsx(
199
+ IconButton,
200
+ {
201
+ onClick: onToggleOrientation,
202
+ "aria-label": orientation === "horizontal" ? "Move panel to bottom" : "Move panel to right",
203
+ title: orientation === "horizontal" ? "Dock to bottom" : "Dock to right",
204
+ style: { ["--uxm-icon-button-size"]: "20px" },
205
+ children: /* @__PURE__ */ jsx(
206
+ Icon,
207
+ {
208
+ glyph: orientation === "horizontal" ? "dock-bottom" : "dock-right",
209
+ size: 14
210
+ }
211
+ )
212
+ }
213
+ ),
214
+ hasOverrides && /* @__PURE__ */ jsx(InlineAction, { onClick: () => resetOverrides(selectedId), children: "Reset all" })
215
+ ] }),
216
+ children: "Properties"
217
+ }
218
+ ),
219
+ /* @__PURE__ */ jsx(
220
+ Tabs,
221
+ {
222
+ className: "w-full",
223
+ value: tab,
224
+ onChange: (v) => setTab(v),
225
+ options: [
226
+ {
227
+ value: "visual",
228
+ label: "Visual",
229
+ icon: /* @__PURE__ */ jsx(Icon, { glyph: "list", size: 12 })
230
+ },
231
+ {
232
+ value: "dev",
233
+ label: "Dev",
234
+ icon: /* @__PURE__ */ jsx(Icon, { glyph: "bolt", size: 12 })
235
+ },
236
+ {
237
+ value: "code",
238
+ label: "CSS",
239
+ icon: /* @__PURE__ */ jsx(Icon, { glyph: "code", size: 12 })
240
+ }
241
+ ]
242
+ }
243
+ )
244
+ ] }),
245
+ tab === "visual" ? /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: /* @__PURE__ */ jsxs(
246
+ "div",
247
+ {
248
+ className: orientation === "vertical" ? "grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]" : "",
249
+ children: [
250
+ visibleVariants.length > 0 && /* @__PURE__ */ jsxs("div", { className: orientation === "vertical" ? "min-w-0" : "mb-6", children: [
251
+ /* @__PURE__ */ jsx(SectionHeader, { children: visibleVariants.length === 1 ? "Variant" : "Variants" }),
252
+ /* @__PURE__ */ jsx("div", { className: "space-y-3", children: visibleVariants.map((variant) => {
253
+ const rawValue = resolve(variant.key, variant.defaultValue);
254
+ const visibleOptions = variant.options.filter((opt) => {
255
+ if (!opt.showWhen) return true;
256
+ for (const [vKey, vVal] of Object.entries(opt.showWhen)) {
257
+ const current = resolve(
258
+ vKey,
259
+ def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? ""
260
+ );
261
+ const allowed = Array.isArray(vVal) ? vVal : [vVal];
262
+ if (!allowed.includes(current)) return false;
263
+ }
264
+ return true;
265
+ });
266
+ const valid = visibleOptions.some((o) => o.value === rawValue);
267
+ const value = valid ? rawValue : visibleOptions.some((o) => o.value === variant.defaultValue) ? variant.defaultValue : visibleOptions[0]?.value ?? rawValue;
268
+ if (!valid && value !== rawValue) {
269
+ queueMicrotask(() => setVariant(variant.key, value));
270
+ }
271
+ return /* @__PURE__ */ jsx("div", { "data-variant-key": variant.key, children: /* @__PURE__ */ jsx(
272
+ SelectInput,
273
+ {
274
+ label: variant.label,
275
+ value,
276
+ onChange: handleChange(variant.key),
277
+ options: visibleOptions
278
+ }
279
+ ) }, variant.key);
280
+ }) })
281
+ ] }),
282
+ sectionGroups.map(([slug, props]) => {
283
+ const overriddenInSection = props.filter((p) => p.key in overrides);
284
+ const hasSectionOverrides = overriddenInSection.length > 0;
285
+ return /* @__PURE__ */ jsxs(
286
+ "div",
287
+ {
288
+ className: `${orientation === "vertical" ? "min-w-0" : "mb-6"} ${sectionBarCategoryFor(props) === "shared" ? "" : "border-l-2 pl-3 -ml-3"}`,
289
+ style: sectionBarCategoryFor(props) === "shared" ? void 0 : { borderColor: BAR_COLOR[sectionBarCategoryFor(props)] },
290
+ children: [
291
+ (() => {
292
+ const sub = sectionSubtitleFor(props);
293
+ const subtitle = sub ? /* @__PURE__ */ jsxs(Fragment, { children: [
294
+ /* @__PURE__ */ jsx("span", { children: sub.scope }),
295
+ sub.current && /* @__PURE__ */ jsxs(Fragment, { children: [
296
+ /* @__PURE__ */ jsx("span", { style: { color: "var(--color-text-subtle)" }, children: "\xB7" }),
297
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 600, color: "var(--color-text-strong)" }, children: sub.current })
298
+ ] })
299
+ ] }) : null;
300
+ return /* @__PURE__ */ jsx(
301
+ SectionHeader,
302
+ {
303
+ subtitle,
304
+ trailing: hasSectionOverrides && sectionGroups.length > 1 ? /* @__PURE__ */ jsx(
305
+ InlineAction,
306
+ {
307
+ onClick: () => {
308
+ for (const p of overriddenInSection) resetOverride(selectedId, p.key);
309
+ },
310
+ title: `Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? "" : "s"} in this section to default`,
311
+ icon: /* @__PURE__ */ jsx(Icon, { glyph: "refresh", strokeWidth: 2.25, "aria-hidden": true }),
312
+ children: "Reset section"
313
+ }
314
+ ) : void 0,
315
+ children: sectionTitleFor(slug)
316
+ }
317
+ );
318
+ })(),
319
+ /* @__PURE__ */ jsx("div", { className: "space-y-3", children: props.map((prop) => {
320
+ const value = resolve(prop.key, prop.defaultValue);
321
+ const onChange = handleChange(prop.key);
322
+ const editor = renderEditor(prop.control, {
323
+ label: prop.label,
324
+ value,
325
+ onChange,
326
+ prop
327
+ });
328
+ const peerCount = peersByKey.get(prop.key)?.length ?? 0;
329
+ const isOverridden = prop.key in overrides;
330
+ const isSynced = syncedKeys.has(prop.key);
331
+ const isJustMatched = justMatchedKey === prop.key;
332
+ return /* @__PURE__ */ jsx(
333
+ PropertyRow,
334
+ {
335
+ cascadeCount: isOverridden ? peerCount : 0,
336
+ onCascade: () => cascadeKey(prop.key, value),
337
+ category: def.category,
338
+ propLabel: prop.label,
339
+ synced: isSynced,
340
+ justMatched: isJustMatched,
341
+ isOverridden,
342
+ onReset: () => resetOverride(selectedId, prop.key),
343
+ children: editor
344
+ },
345
+ prop.key
346
+ );
347
+ }) })
348
+ ]
349
+ },
350
+ slug
351
+ );
352
+ }),
353
+ /* @__PURE__ */ jsx("div", { className: orientation === "vertical" ? "min-w-0 col-span-2" : "", children: /* @__PURE__ */ jsx(WcagPanel, { def }) })
354
+ ]
355
+ }
356
+ ) }) : tab === "dev" ? /* @__PURE__ */ jsx(
357
+ DevTab,
358
+ {
359
+ def,
360
+ api: def.api,
361
+ events: visibleEvents,
362
+ eventLog,
363
+ onClearLog: clearEvents,
364
+ orientation,
365
+ currentVariants,
366
+ overrides
367
+ }
368
+ ) : /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-hidden p-3", children: /* @__PURE__ */ jsx(CodeEditor, {}) })
369
+ ] });
370
+ }
371
+ export {
372
+ PropertiesPanel
373
+ };
374
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/studio/shell/properties-panel/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Icon } from '@/ui';\nimport { IconButton } from '@/ui';\nimport { InlineAction } from '@/ui';\nimport { SectionHeader } from '@/ui';\nimport { Tabs } from '@/ui';\n\nimport { CodeEditor } from '../../editors/code-editor';\nimport { SelectInput } from '../../editors/select-input';\nimport { useUxm } from '../../lib/context';\nimport { getComponentDef, registry } from '../../lib/registry';\nimport { WcagPanel } from '../wcag-panel';\n\nimport { DevTab } from './dev-tab';\nimport { PropertyRow, renderEditor } from './property-row';\n\nimport type { ComponentDef } from '../../lib/types';\n\ntype Tab = 'visual' | 'dev' | 'code';\n\nexport function PropertiesPanel({\n orientation = 'horizontal',\n onToggleOrientation,\n}: {\n /**\n * Accepted for API compatibility with host portals that mount the panel\n * embedded. No longer switches the surface color — the properties panel\n * is always white (`bg-card`) so its text keeps full contrast in both the\n * standalone studio and an embedded portal.\n */\n embed?: boolean;\n orientation?: 'horizontal' | 'vertical';\n onToggleOrientation?: () => void;\n}) {\n const [tab, setTab] = useState<Tab>('visual');\n const {\n selectedId,\n getOverrides,\n setOverride,\n resetOverride,\n resetOverrides,\n getCurrentVariants,\n setVariant,\n eventLog,\n clearEvents,\n } = useUxm();\n const def = getComponentDef(selectedId);\n const overrides = getOverrides(selectedId);\n const currentVariants = getCurrentVariants();\n\n // Keys that were just cascaded — shows a brief \"Matched ✓\" state, then hides the link.\n // A change to the same key (value edit) removes it so the link reappears.\n const [syncedKeys, setSyncedKeys] = useState<Set<string>>(new Set());\n const [justMatchedKey, setJustMatchedKey] = useState<string | null>(null);\n const justMatchedTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Reset sync state when switching components.\n useEffect(() => {\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional reset of cascade-sync UI state on component switch\n setSyncedKeys(new Set());\n setJustMatchedKey(null);\n if (justMatchedTimer.current) {\n clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = null;\n }\n }, [selectedId]);\n\n useEffect(() => () => {\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n }, []);\n\n const peers = useMemo<ComponentDef[]>(\n () => def ? registry.filter((c) => c.category === def.category && c.id !== def.id) : [],\n [def],\n );\n\n const peersByKey = useMemo(() => {\n const map = new Map<string, ComponentDef[]>();\n if (!def) return map;\n for (const prop of def.styleProperties) {\n const matches = peers.filter((p) => p.styleProperties.some((pp) => pp.key === prop.key));\n if (matches.length) map.set(prop.key, matches);\n }\n return map;\n }, [def, peers]);\n\n if (!def) return null;\n\n // Variants live in ephemeral session state; styleProperty edits live in\n // persisted overrides. `resolve` checks both so panel UI reads the right\n // thing regardless of which kind of key it's looking at.\n const resolve = (key: string, fallback: string | number | boolean) => {\n const isVariantKey = def.layoutVariants.some((v) => v.key === key);\n if (isVariantKey) return currentVariants[key] ?? fallback;\n return overrides[key] ?? fallback;\n };\n\n const handleChange = (key: string) => (value: string | number | boolean) => {\n // Branch by key kind. Variants are UI selection — never written to\n // overrides. Style edits are persisted. Auto-clear an override when\n // value === default so the \"Reset\" affordance reflects the real\n // customization state (manually setting a knob back to its default\n // doesn't leave a stale entry in overrides).\n const variant = def.layoutVariants.find((v) => v.key === key);\n if (variant) {\n setVariant(key, value);\n return;\n }\n const prop = def.styleProperties.find((p) => p.key === key);\n if (prop !== undefined && value === prop.defaultValue) {\n resetOverride(selectedId, key);\n } else {\n setOverride(selectedId, key, value);\n }\n // Any edit diverges this key from its peers — allow re-cascading.\n setSyncedKeys((prev) => {\n if (!prev.has(key)) return prev;\n const next = new Set(prev);\n next.delete(key);\n return next;\n });\n };\n\n // Variants now live in ephemeral session state and never reach overrides,\n // so any key here is a real style edit — no filtering needed.\n const hasOverrides = Object.keys(overrides).length > 0;\n\n const SECTION_LABELS: Record<string, string> = {\n colors: 'Colors',\n states: 'States',\n style: 'Style',\n frame: 'Frame',\n header: 'Header',\n weekday: 'Weekday Row',\n 'shared-states': 'Shared States',\n 'day-cell': 'Date Cell',\n 'month-year-cells': 'Month & Year Cells',\n text: 'Text',\n uncheckedColors: 'Unchecked',\n checkedColors: 'Checked',\n offColors: 'Off',\n onColors: 'On',\n unselectedColors: 'Unselected',\n selectedColors: 'Selected',\n fieldColors: 'Field Colors',\n dropAreaColors: 'Drop Area',\n dropOutline: 'Drop Outline',\n triggerColors: 'Trigger Colors',\n popover: 'Popover',\n option: 'Option',\n focusState: 'Focus',\n disabledState: 'Disabled',\n errorState: 'Error Message',\n rangeOptions: 'Range Options',\n dragState: 'Drag Over',\n fileList: 'File List',\n fileListProgress: 'File List Progress',\n fileListStatus: 'File List Status',\n headerSlot: 'Header Slot',\n footerSlot: 'Footer Slot',\n };\n const allShowWhenKeys = Array.from(\n new Set(def.styleProperties.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])),\n );\n const labelize = (vKey: string) =>\n def.layoutVariants.find((v) => v.key === vKey)?.label ?? vKey;\n const sectionScopeKeys = (props: ComponentDef['styleProperties']) =>\n Array.from(new Set(props.flatMap((p) => p.showWhen ? Object.keys(p.showWhen) : [])));\n const sectionTitleFor = (slug: string) =>\n SECTION_LABELS[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);\n const sectionSubtitleFor = (props: ComponentDef['styleProperties']):\n | { scope: string; current: string | null }\n | null => {\n const keys = sectionScopeKeys(props);\n if (keys.length > 0) {\n const scope = `Per ${keys.map(labelize).join(' × ')}`;\n const current = keys.map((vKey) => {\n const variant = def.layoutVariants.find((v) => v.key === vKey);\n if (!variant) return null;\n const v = resolve(vKey, variant.defaultValue) as string;\n return variant.options.find((o) => o.value === v)?.label ?? v;\n }).filter(Boolean).join(' / ');\n return { scope, current: current || null };\n }\n if (allShowWhenKeys.length > 0) {\n const variantNames = allShowWhenKeys\n .map((k) => labelize(k).toLowerCase() + 's')\n .join(' / ');\n return { scope: `Shared across all ${variantNames}`, current: null };\n }\n return null;\n };\n const sectionBarCategoryFor = (props: ComponentDef['styleProperties']): 'full' | 'partial' | 'shared' => {\n const keys = sectionScopeKeys(props);\n if (keys.length === 0) return 'shared';\n if (keys.length === allShowWhenKeys.length) return 'full';\n return 'partial';\n };\n const BAR_COLOR: Record<'full' | 'partial', string> = {\n full: 'var(--color-highlight-cool)',\n partial: 'var(--color-highlight-warm)',\n };\n\n // Shared variant-scope filter: an entry with `showWhen` only renders\n // when the current value of every named variant matches. Used by both\n // style properties (existing) and event specs (Events tab).\n const matchesShowWhen = (showWhen?: Record<string, string | string[]>) => {\n if (!showWhen) return true;\n for (const [vKey, vVal] of Object.entries(showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\" — the same rule the per-option\n // matcher below uses. Without it a multi-value clause has to be\n // spelled as one string, which is compared verbatim and never matches\n // (that silently hid four editable-cell knobs).\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n };\n\n const visibleStyleProps = def.styleProperties.filter((prop) =>\n matchesShowWhen(prop.showWhen),\n );\n const visibleEvents = (def.events ?? []).filter((ev) =>\n matchesShowWhen(ev.showWhen),\n );\n // Variants themselves can be scoped via `showWhen` — e.g. the State\n // picker on list-item is irrelevant when `trailing` is meta / none,\n // so the variant disappears entirely rather than sitting as a no-op.\n const visibleVariants = def.layoutVariants.filter((v) =>\n matchesShowWhen(v.showWhen),\n );\n const sectionsMap = new Map<string, ComponentDef['styleProperties']>();\n for (const prop of visibleStyleProps) {\n const slug = prop.section ?? 'style';\n if (!sectionsMap.has(slug)) sectionsMap.set(slug, []);\n sectionsMap.get(slug)!.push(prop);\n }\n const sectionGroups = Array.from(sectionsMap.entries());\n\n const cascadeKey = (key: string, value: string | number | boolean) => {\n const targets = peersByKey.get(key) ?? [];\n if (targets.length === 0) return;\n for (const p of targets) setOverride(p.id, key, value);\n setSyncedKeys((prev) => new Set(prev).add(key));\n setJustMatchedKey(key);\n if (justMatchedTimer.current) clearTimeout(justMatchedTimer.current);\n justMatchedTimer.current = setTimeout(() => setJustMatchedKey(null), 1400);\n };\n\n return (\n <aside className={`flex flex-col overflow-hidden w-full h-full ${\n orientation === 'horizontal' ? 'border-l' : 'border-t'\n } border-border bg-card`}>\n {/* Header with tabs */}\n <div className=\"sticky top-0 z-10 border-b border-border px-5 py-3 bg-card\">\n {/* Panel-level header — uses the same SectionHeader atom as the\n VARIANT / COLORS / STYLE per-section headers below, so the\n entire panel's section-title chrome flows through one\n theming surface (`--uxm-section-header-*`). The orientation\n toggle and \"Reset all\" go into the trailing slot. The 1px\n font-size shift from `text-xs` (12px) to SectionHeader's\n default 11px is intentional — keeps the panel header\n consistent with section headers. */}\n <SectionHeader\n trailing={\n <div className=\"flex items-center gap-3\">\n {onToggleOrientation && (\n <IconButton\n onClick={onToggleOrientation}\n aria-label={\n orientation === 'horizontal'\n ? 'Move panel to bottom'\n : 'Move panel to right'\n }\n title={\n orientation === 'horizontal'\n ? 'Dock to bottom'\n : 'Dock to right'\n }\n // 20×20 footprint matches the previous `h-5 w-5` chrome.\n style={{ ['--uxm-icon-button-size' as string]: '20px' }}\n >\n <Icon\n glyph={orientation === 'horizontal' ? 'dock-bottom' : 'dock-right'}\n size={14}\n />\n </IconButton>\n )}\n {hasOverrides && (\n <InlineAction onClick={() => resetOverrides(selectedId)}>\n Reset all\n </InlineAction>\n )}\n </div>\n }\n >\n Properties\n </SectionHeader>\n\n\n {/* Tab bar — uses the real <Tabs> atom so editor saves on the\n Tabs registry (active-bg, padding-x/y, font-size, etc.) flow\n into the properties pane's own toggle. The previous hand-rolled\n <button> elements had `className=\"uxm-tabs\"` on the wrapper but\n no `.uxm-tabs__tab` on the inner buttons, so every inner-element\n var (which is what most Tabs knobs control) silently no-oped\n here. `w-full` keeps the strip stretching across the panel —\n the atom is `display: inline-flex` by default. */}\n <Tabs\n className=\"w-full\"\n value={tab}\n onChange={(v) => setTab(v as Tab)}\n options={[\n {\n value: 'visual',\n label: 'Visual',\n icon: <Icon glyph=\"list\" size={12} />,\n },\n {\n value: 'dev',\n label: 'Dev',\n icon: <Icon glyph=\"bolt\" size={12} />,\n },\n {\n value: 'code',\n label: 'CSS',\n icon: <Icon glyph=\"code\" size={12} />,\n },\n ]}\n />\n </div>\n\n {/* Tab content */}\n {tab === 'visual' ? (\n <div className=\"flex-1 overflow-y-auto px-5 py-4\">\n {/* Bottom-dock (`orientation === \"vertical\"`) gives the pane the\n full canvas width — far more than the ~320px right-dock. We\n switch to an auto-fit grid so each section (Variants, Colors,\n Style, WCAG) becomes its own column, side-by-side, wrapping\n gracefully on narrow widths. The `mb-6` between sections is\n dropped in grid mode because grid `gap-y-4` handles spacing\n instead — leaving both would double-space the wrapped rows. */}\n <div\n className={\n orientation === 'vertical'\n ? 'grid items-start gap-x-6 gap-y-4 [grid-template-columns:repeat(auto-fit,minmax(220px,1fr))]'\n : ''\n }\n >\n {/* Variant selectors — render before Styles so mode/state/type selectors anchor the form. */}\n {visibleVariants.length > 0 && (\n <div className={orientation === 'vertical' ? 'min-w-0' : 'mb-6'}>\n <SectionHeader>\n {visibleVariants.length === 1 ? 'Variant' : 'Variants'}\n </SectionHeader>\n <div className=\"space-y-3\">\n {visibleVariants.map((variant) => {\n const rawValue = resolve(variant.key, variant.defaultValue) as string;\n const visibleOptions = variant.options.filter((opt) => {\n if (!opt.showWhen) return true;\n for (const [vKey, vVal] of Object.entries(opt.showWhen)) {\n const current = resolve(\n vKey,\n def.layoutVariants.find((v) => v.key === vKey)?.defaultValue ?? '',\n ) as string;\n // A string[] means \"match any of\"; a string is exact.\n const allowed = Array.isArray(vVal) ? vVal : [vVal];\n if (!allowed.includes(current)) return false;\n }\n return true;\n });\n const valid = visibleOptions.some((o) => o.value === rawValue);\n const value = valid\n ? rawValue\n : visibleOptions.some((o) => o.value === variant.defaultValue)\n ? variant.defaultValue\n : visibleOptions[0]?.value ?? rawValue;\n if (!valid && value !== rawValue) {\n // Stale variant selection (showWhen filtered out the option).\n // Repair to a valid value via the variant channel, not overrides —\n // variants are ephemeral session state. Guarded on\n // `value !== rawValue` so an empty `visibleOptions` (no\n // fallback available) doesn't re-queue this microtask\n // forever — `value` would otherwise fall back to\n // `rawValue` itself and never settle.\n queueMicrotask(() => setVariant(variant.key, value));\n }\n return (\n <div key={variant.key} data-variant-key={variant.key}>\n <SelectInput\n label={variant.label}\n value={value}\n onChange={handleChange(variant.key)}\n options={visibleOptions}\n />\n </div>\n );\n })}\n </div>\n </div>\n )}\n\n {/* Style Properties — grouped by section */}\n {sectionGroups.map(([slug, props]) => {\n const overriddenInSection = props.filter((p) => p.key in overrides);\n const hasSectionOverrides = overriddenInSection.length > 0;\n return (\n <div\n key={slug}\n className={`${orientation === 'vertical' ? 'min-w-0' : 'mb-6'} ${sectionBarCategoryFor(props) === 'shared' ? '' : 'border-l-2 pl-3 -ml-3'}`}\n style={sectionBarCategoryFor(props) === 'shared' ? undefined : { borderColor: BAR_COLOR[sectionBarCategoryFor(props) as 'full' | 'partial'] }}\n >\n {(() => {\n const sub = sectionSubtitleFor(props);\n const subtitle = sub ? (\n <>\n <span>{sub.scope}</span>\n {sub.current && (\n <>\n <span style={{ color: 'var(--color-text-subtle)' }}>·</span>\n <span style={{ fontWeight: 600, color: 'var(--color-text-strong)' }}>\n {sub.current}\n </span>\n </>\n )}\n </>\n ) : null;\n return (\n <SectionHeader\n subtitle={subtitle}\n trailing={\n hasSectionOverrides && sectionGroups.length > 1 ? (\n <InlineAction\n onClick={() => {\n for (const p of overriddenInSection) resetOverride(selectedId, p.key);\n }}\n title={`Reset ${overriddenInSection.length} field${overriddenInSection.length === 1 ? '' : 's'} in this section to default`}\n icon={<Icon glyph=\"refresh\" strokeWidth={2.25} aria-hidden />}\n >\n Reset section\n </InlineAction>\n ) : undefined\n }\n >\n {sectionTitleFor(slug)}\n </SectionHeader>\n );\n })()}\n <div className=\"space-y-3\">\n {props.map((prop) => {\n const value = resolve(prop.key, prop.defaultValue);\n const onChange = handleChange(prop.key);\n const editor = renderEditor(prop.control, {\n label: prop.label,\n value,\n onChange,\n prop,\n });\n const peerCount = peersByKey.get(prop.key)?.length ?? 0;\n const isOverridden = prop.key in overrides;\n const isSynced = syncedKeys.has(prop.key);\n const isJustMatched = justMatchedKey === prop.key;\n return (\n <PropertyRow\n key={prop.key}\n cascadeCount={isOverridden ? peerCount : 0}\n onCascade={() => cascadeKey(prop.key, value)}\n category={def.category}\n propLabel={prop.label}\n synced={isSynced}\n justMatched={isJustMatched}\n isOverridden={isOverridden}\n onReset={() => resetOverride(selectedId, prop.key)}\n >\n {editor}\n </PropertyRow>\n );\n })}\n </div>\n </div>\n );\n })}\n\n {/* WCAG spans two grid columns when bottom-docked — its colour-pair\n rows have enough horizontal content that a single 220px column\n squashes them. `col-span-2` is a no-op outside the grid since\n there's no grid context to span over. */}\n <div className={orientation === 'vertical' ? 'min-w-0 col-span-2' : ''}>\n <WcagPanel def={def} />\n </div>\n </div>\n </div>\n ) : tab === 'dev' ? (\n <DevTab\n def={def}\n api={def.api}\n events={visibleEvents}\n eventLog={eventLog}\n onClearLog={clearEvents}\n orientation={orientation}\n currentVariants={currentVariants}\n overrides={overrides}\n />\n ) : (\n <div className=\"flex-1 overflow-hidden p-3\">\n <CodeEditor />\n </div>\n )}\n </aside>\n );\n}\n"],"mappings":"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","names":["v"]}