@cratis/components 4.23.1 → 4.25.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 (346) hide show
  1. package/compat-manifest.json +11 -11
  2. package/dist/esm/Common/CratisComponentsProvider.d.ts +2 -0
  3. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -1
  4. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  5. package/dist/esm/ConfigurationEditor/ConfigurationDestination.d.ts +13 -0
  6. package/dist/esm/ConfigurationEditor/ConfigurationDestination.d.ts.map +1 -0
  7. package/dist/esm/ConfigurationEditor/ConfigurationDestination.js +4 -0
  8. package/dist/esm/ConfigurationEditor/ConfigurationDestination.js.map +1 -0
  9. package/dist/esm/ConfigurationEditor/ConfigurationEditor.d.ts +27 -0
  10. package/dist/esm/ConfigurationEditor/ConfigurationEditor.d.ts.map +1 -0
  11. package/dist/esm/ConfigurationEditor/ConfigurationEditor.js +13 -0
  12. package/dist/esm/ConfigurationEditor/ConfigurationEditor.js.map +1 -0
  13. package/dist/esm/ConfigurationEditor/ConfigurationEditorPartAttributes.d.ts +6 -0
  14. package/dist/esm/ConfigurationEditor/ConfigurationEditorPartAttributes.d.ts.map +1 -0
  15. package/dist/esm/ConfigurationEditor/ConfigurationEditorPartAttributes.js +4 -0
  16. package/dist/esm/ConfigurationEditor/ConfigurationEditorPartAttributes.js.map +1 -0
  17. package/dist/esm/ConfigurationEditor/ConfigurationEditorProvider.d.ts +28 -0
  18. package/dist/esm/ConfigurationEditor/ConfigurationEditorProvider.d.ts.map +1 -0
  19. package/dist/esm/ConfigurationEditor/ConfigurationEditorProvider.js +16 -0
  20. package/dist/esm/ConfigurationEditor/ConfigurationEditorProvider.js.map +1 -0
  21. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderProps.d.ts +20 -0
  22. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderProps.d.ts.map +1 -0
  23. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderProps.js +4 -0
  24. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderProps.js.map +1 -0
  25. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderer.d.ts +5 -0
  26. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderer.d.ts.map +1 -0
  27. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderer.js +4 -0
  28. package/dist/esm/ConfigurationEditor/ConfigurationEditorRenderer.js.map +1 -0
  29. package/dist/esm/ConfigurationEditor/ConfigurationIconReference.d.ts +17 -0
  30. package/dist/esm/ConfigurationEditor/ConfigurationIconReference.d.ts.map +1 -0
  31. package/dist/esm/ConfigurationEditor/ConfigurationIconReference.js +4 -0
  32. package/dist/esm/ConfigurationEditor/ConfigurationIconReference.js.map +1 -0
  33. package/dist/esm/ConfigurationEditor/OrderedItem.d.ts +16 -0
  34. package/dist/esm/ConfigurationEditor/OrderedItem.d.ts.map +1 -0
  35. package/dist/esm/ConfigurationEditor/OrderedItem.js +4 -0
  36. package/dist/esm/ConfigurationEditor/OrderedItem.js.map +1 -0
  37. package/dist/esm/ConfigurationEditor/OrderedItemCapabilities.d.ts +23 -0
  38. package/dist/esm/ConfigurationEditor/OrderedItemCapabilities.d.ts.map +1 -0
  39. package/dist/esm/ConfigurationEditor/OrderedItemCapabilities.js +4 -0
  40. package/dist/esm/ConfigurationEditor/OrderedItemCapabilities.js.map +1 -0
  41. package/dist/esm/ConfigurationEditor/OrderedItemDestinationField.d.ts +22 -0
  42. package/dist/esm/ConfigurationEditor/OrderedItemDestinationField.d.ts.map +1 -0
  43. package/dist/esm/ConfigurationEditor/OrderedItemDestinationField.js +23 -0
  44. package/dist/esm/ConfigurationEditor/OrderedItemDestinationField.js.map +1 -0
  45. package/dist/esm/ConfigurationEditor/OrderedItemEditor.d.ts +74 -0
  46. package/dist/esm/ConfigurationEditor/OrderedItemEditor.d.ts.map +1 -0
  47. package/dist/esm/ConfigurationEditor/OrderedItemEditor.js +188 -0
  48. package/dist/esm/ConfigurationEditor/OrderedItemEditor.js.map +1 -0
  49. package/dist/esm/ConfigurationEditor/OrderedItemEditorParts.d.ts +43 -0
  50. package/dist/esm/ConfigurationEditor/OrderedItemEditorParts.d.ts.map +1 -0
  51. package/dist/esm/ConfigurationEditor/OrderedItemEditorParts.js +4 -0
  52. package/dist/esm/ConfigurationEditor/OrderedItemEditorParts.js.map +1 -0
  53. package/dist/esm/ConfigurationEditor/OrderedItemField.d.ts +3 -0
  54. package/dist/esm/ConfigurationEditor/OrderedItemField.d.ts.map +1 -0
  55. package/dist/esm/ConfigurationEditor/OrderedItemField.js +4 -0
  56. package/dist/esm/ConfigurationEditor/OrderedItemField.js.map +1 -0
  57. package/dist/esm/ConfigurationEditor/OrderedItemFieldAccess.d.ts +9 -0
  58. package/dist/esm/ConfigurationEditor/OrderedItemFieldAccess.d.ts.map +1 -0
  59. package/dist/esm/ConfigurationEditor/OrderedItemFieldAccess.js +4 -0
  60. package/dist/esm/ConfigurationEditor/OrderedItemFieldAccess.js.map +1 -0
  61. package/dist/esm/ConfigurationEditor/OrderedItemIconField.d.ts +32 -0
  62. package/dist/esm/ConfigurationEditor/OrderedItemIconField.d.ts.map +1 -0
  63. package/dist/esm/ConfigurationEditor/OrderedItemIconField.js +26 -0
  64. package/dist/esm/ConfigurationEditor/OrderedItemIconField.js.map +1 -0
  65. package/dist/esm/ConfigurationEditor/OrderedItemIconFieldProps.d.ts +26 -0
  66. package/dist/esm/ConfigurationEditor/OrderedItemIconFieldProps.d.ts.map +1 -0
  67. package/dist/esm/ConfigurationEditor/OrderedItemIconFieldProps.js +4 -0
  68. package/dist/esm/ConfigurationEditor/OrderedItemIconFieldProps.js.map +1 -0
  69. package/dist/esm/ConfigurationEditor/OrderedItemLabels.d.ts +47 -0
  70. package/dist/esm/ConfigurationEditor/OrderedItemLabels.d.ts.map +1 -0
  71. package/dist/esm/ConfigurationEditor/OrderedItemLabels.js +4 -0
  72. package/dist/esm/ConfigurationEditor/OrderedItemLabels.js.map +1 -0
  73. package/dist/esm/ConfigurationEditor/OrderedItemOperation.d.ts +3 -0
  74. package/dist/esm/ConfigurationEditor/OrderedItemOperation.d.ts.map +1 -0
  75. package/dist/esm/ConfigurationEditor/OrderedItemOperation.js +4 -0
  76. package/dist/esm/ConfigurationEditor/OrderedItemOperation.js.map +1 -0
  77. package/dist/esm/ConfigurationEditor/OrderedItemProposal.d.ts +45 -0
  78. package/dist/esm/ConfigurationEditor/OrderedItemProposal.d.ts.map +1 -0
  79. package/dist/esm/ConfigurationEditor/OrderedItemProposal.js +4 -0
  80. package/dist/esm/ConfigurationEditor/OrderedItemProposal.js.map +1 -0
  81. package/dist/esm/ConfigurationEditor/OrderedItemRow.d.ts +5 -0
  82. package/dist/esm/ConfigurationEditor/OrderedItemRow.d.ts.map +1 -0
  83. package/dist/esm/ConfigurationEditor/OrderedItemRow.js +59 -0
  84. package/dist/esm/ConfigurationEditor/OrderedItemRow.js.map +1 -0
  85. package/dist/esm/ConfigurationEditor/OrderedItemRowProps.d.ts +43 -0
  86. package/dist/esm/ConfigurationEditor/OrderedItemRowProps.d.ts.map +1 -0
  87. package/dist/esm/ConfigurationEditor/OrderedItemRowProps.js +4 -0
  88. package/dist/esm/ConfigurationEditor/OrderedItemRowProps.js.map +1 -0
  89. package/dist/esm/ConfigurationEditor/OrderedItemValidation.d.ts +7 -0
  90. package/dist/esm/ConfigurationEditor/OrderedItemValidation.d.ts.map +1 -0
  91. package/dist/esm/ConfigurationEditor/OrderedItemValidation.js +4 -0
  92. package/dist/esm/ConfigurationEditor/OrderedItemValidation.js.map +1 -0
  93. package/dist/esm/ConfigurationEditor/PropertyChangeProposal.d.ts +15 -0
  94. package/dist/esm/ConfigurationEditor/PropertyChangeProposal.d.ts.map +1 -0
  95. package/dist/esm/ConfigurationEditor/PropertyChangeProposal.js +4 -0
  96. package/dist/esm/ConfigurationEditor/PropertyChangeProposal.js.map +1 -0
  97. package/dist/esm/ConfigurationEditor/PropertyChoice.d.ts +8 -0
  98. package/dist/esm/ConfigurationEditor/PropertyChoice.d.ts.map +1 -0
  99. package/dist/esm/ConfigurationEditor/PropertyChoice.js +4 -0
  100. package/dist/esm/ConfigurationEditor/PropertyChoice.js.map +1 -0
  101. package/dist/esm/ConfigurationEditor/PropertyControl.d.ts +17 -0
  102. package/dist/esm/ConfigurationEditor/PropertyControl.d.ts.map +1 -0
  103. package/dist/esm/ConfigurationEditor/PropertyControl.js +88 -0
  104. package/dist/esm/ConfigurationEditor/PropertyControl.js.map +1 -0
  105. package/dist/esm/ConfigurationEditor/PropertyControls.d.ts +40 -0
  106. package/dist/esm/ConfigurationEditor/PropertyControls.d.ts.map +1 -0
  107. package/dist/esm/ConfigurationEditor/PropertyControls.js +41 -0
  108. package/dist/esm/ConfigurationEditor/PropertyControls.js.map +1 -0
  109. package/dist/esm/ConfigurationEditor/PropertyControlsLabels.d.ts +18 -0
  110. package/dist/esm/ConfigurationEditor/PropertyControlsLabels.d.ts.map +1 -0
  111. package/dist/esm/ConfigurationEditor/PropertyControlsLabels.js +4 -0
  112. package/dist/esm/ConfigurationEditor/PropertyControlsLabels.js.map +1 -0
  113. package/dist/esm/ConfigurationEditor/PropertyControlsParts.d.ts +31 -0
  114. package/dist/esm/ConfigurationEditor/PropertyControlsParts.d.ts.map +1 -0
  115. package/dist/esm/ConfigurationEditor/PropertyControlsParts.js +4 -0
  116. package/dist/esm/ConfigurationEditor/PropertyControlsParts.js.map +1 -0
  117. package/dist/esm/ConfigurationEditor/PropertyDescriptor.d.ts +55 -0
  118. package/dist/esm/ConfigurationEditor/PropertyDescriptor.d.ts.map +1 -0
  119. package/dist/esm/ConfigurationEditor/PropertyDescriptor.js +4 -0
  120. package/dist/esm/ConfigurationEditor/PropertyDescriptor.js.map +1 -0
  121. package/dist/esm/ConfigurationEditor/PropertyGroup.d.ts +16 -0
  122. package/dist/esm/ConfigurationEditor/PropertyGroup.d.ts.map +1 -0
  123. package/dist/esm/ConfigurationEditor/PropertyGroup.js +4 -0
  124. package/dist/esm/ConfigurationEditor/PropertyGroup.js.map +1 -0
  125. package/dist/esm/ConfigurationEditor/defaultOrderedItemLabels.d.ts +4 -0
  126. package/dist/esm/ConfigurationEditor/defaultOrderedItemLabels.d.ts.map +1 -0
  127. package/dist/esm/ConfigurationEditor/defaultOrderedItemLabels.js +25 -0
  128. package/dist/esm/ConfigurationEditor/defaultOrderedItemLabels.js.map +1 -0
  129. package/dist/esm/ConfigurationEditor/defaultPropertyControlsLabels.d.ts +4 -0
  130. package/dist/esm/ConfigurationEditor/defaultPropertyControlsLabels.d.ts.map +1 -0
  131. package/dist/esm/ConfigurationEditor/defaultPropertyControlsLabels.js +12 -0
  132. package/dist/esm/ConfigurationEditor/defaultPropertyControlsLabels.js.map +1 -0
  133. package/dist/esm/ConfigurationEditor/index.d.ts +32 -0
  134. package/dist/esm/ConfigurationEditor/index.d.ts.map +1 -0
  135. package/dist/esm/ConfigurationEditor/index.js +7 -0
  136. package/dist/esm/ConfigurationEditor/index.js.map +1 -0
  137. package/dist/esm/ConfigurationEditor/moveOrderedItem.d.ts +5 -0
  138. package/dist/esm/ConfigurationEditor/moveOrderedItem.d.ts.map +1 -0
  139. package/dist/esm/ConfigurationEditor/moveOrderedItem.js +9 -0
  140. package/dist/esm/ConfigurationEditor/moveOrderedItem.js.map +1 -0
  141. package/dist/esm/ConfigurationEditor/resolveOrderedItemDropIndex.d.ts +10 -0
  142. package/dist/esm/ConfigurationEditor/resolveOrderedItemDropIndex.d.ts.map +1 -0
  143. package/dist/esm/ConfigurationEditor/resolveOrderedItemDropIndex.js +7 -0
  144. package/dist/esm/ConfigurationEditor/resolveOrderedItemDropIndex.js.map +1 -0
  145. package/dist/esm/ConfigurationEditor/resolveOrderedItemFieldAccess.d.ts +6 -0
  146. package/dist/esm/ConfigurationEditor/resolveOrderedItemFieldAccess.d.ts.map +1 -0
  147. package/dist/esm/ConfigurationEditor/resolveOrderedItemFieldAccess.js +4 -0
  148. package/dist/esm/ConfigurationEditor/resolveOrderedItemFieldAccess.js.map +1 -0
  149. package/dist/esm/ConfigurationEditor/resolveOrderedItemLabels.d.ts +4 -0
  150. package/dist/esm/ConfigurationEditor/resolveOrderedItemLabels.d.ts.map +1 -0
  151. package/dist/esm/ConfigurationEditor/resolveOrderedItemLabels.js +13 -0
  152. package/dist/esm/ConfigurationEditor/resolveOrderedItemLabels.js.map +1 -0
  153. package/dist/esm/ConfigurationEditor/validateOrderedItem.d.ts +18 -0
  154. package/dist/esm/ConfigurationEditor/validateOrderedItem.d.ts.map +1 -0
  155. package/dist/esm/ConfigurationEditor/validateOrderedItem.js +21 -0
  156. package/dist/esm/ConfigurationEditor/validateOrderedItem.js.map +1 -0
  157. package/dist/esm/IconPicker/IconPicker.d.ts +57 -0
  158. package/dist/esm/IconPicker/IconPicker.d.ts.map +1 -0
  159. package/dist/esm/IconPicker/IconPicker.js +59 -0
  160. package/dist/esm/IconPicker/IconPicker.js.map +1 -0
  161. package/dist/esm/IconPicker/IconPickerAllowed.d.ts +8 -0
  162. package/dist/esm/IconPicker/IconPickerAllowed.d.ts.map +1 -0
  163. package/dist/esm/IconPicker/IconPickerAllowed.js +4 -0
  164. package/dist/esm/IconPicker/IconPickerAllowed.js.map +1 -0
  165. package/dist/esm/IconPicker/IconPickerBrowser.d.ts +32 -0
  166. package/dist/esm/IconPicker/IconPickerBrowser.d.ts.map +1 -0
  167. package/dist/esm/IconPicker/IconPickerBrowser.js +4 -0
  168. package/dist/esm/IconPicker/IconPickerBrowser.js.map +1 -0
  169. package/dist/esm/IconPicker/IconPickerBrowserGroup.d.ts +9 -0
  170. package/dist/esm/IconPicker/IconPickerBrowserGroup.d.ts.map +1 -0
  171. package/dist/esm/IconPicker/IconPickerBrowserGroup.js +4 -0
  172. package/dist/esm/IconPicker/IconPickerBrowserGroup.js.map +1 -0
  173. package/dist/esm/IconPicker/IconPickerCatalog.d.ts +19 -0
  174. package/dist/esm/IconPicker/IconPickerCatalog.d.ts.map +1 -0
  175. package/dist/esm/IconPicker/IconPickerCatalog.js +4 -0
  176. package/dist/esm/IconPicker/IconPickerCatalog.js.map +1 -0
  177. package/dist/esm/IconPicker/IconPickerCatalogStatus.d.ts +3 -0
  178. package/dist/esm/IconPicker/IconPickerCatalogStatus.d.ts.map +1 -0
  179. package/dist/esm/IconPicker/IconPickerCatalogStatus.js +4 -0
  180. package/dist/esm/IconPicker/IconPickerCatalogStatus.js.map +1 -0
  181. package/dist/esm/IconPicker/IconPickerCategoryFilter.d.ts +25 -0
  182. package/dist/esm/IconPicker/IconPickerCategoryFilter.d.ts.map +1 -0
  183. package/dist/esm/IconPicker/IconPickerCategoryFilter.js +23 -0
  184. package/dist/esm/IconPicker/IconPickerCategoryFilter.js.map +1 -0
  185. package/dist/esm/IconPicker/IconPickerEntry.d.ts +25 -0
  186. package/dist/esm/IconPicker/IconPickerEntry.d.ts.map +1 -0
  187. package/dist/esm/IconPicker/IconPickerEntry.js +4 -0
  188. package/dist/esm/IconPicker/IconPickerEntry.js.map +1 -0
  189. package/dist/esm/IconPicker/IconPickerGrid.d.ts +29 -0
  190. package/dist/esm/IconPicker/IconPickerGrid.d.ts.map +1 -0
  191. package/dist/esm/IconPicker/IconPickerGrid.js +24 -0
  192. package/dist/esm/IconPicker/IconPickerGrid.js.map +1 -0
  193. package/dist/esm/IconPicker/IconPickerIndexEntry.d.ts +11 -0
  194. package/dist/esm/IconPicker/IconPickerIndexEntry.d.ts.map +1 -0
  195. package/dist/esm/IconPicker/IconPickerIndexEntry.js +4 -0
  196. package/dist/esm/IconPicker/IconPickerIndexEntry.js.map +1 -0
  197. package/dist/esm/IconPicker/IconPickerLabels.d.ts +76 -0
  198. package/dist/esm/IconPicker/IconPickerLabels.d.ts.map +1 -0
  199. package/dist/esm/IconPicker/IconPickerLabels.js +4 -0
  200. package/dist/esm/IconPicker/IconPickerLabels.js.map +1 -0
  201. package/dist/esm/IconPicker/IconPickerLibrary.d.ts +12 -0
  202. package/dist/esm/IconPicker/IconPickerLibrary.d.ts.map +1 -0
  203. package/dist/esm/IconPicker/IconPickerLibrary.js +4 -0
  204. package/dist/esm/IconPicker/IconPickerLibrary.js.map +1 -0
  205. package/dist/esm/IconPicker/IconPickerLibraryFilter.d.ts +20 -0
  206. package/dist/esm/IconPicker/IconPickerLibraryFilter.d.ts.map +1 -0
  207. package/dist/esm/IconPicker/IconPickerLibraryFilter.js +7 -0
  208. package/dist/esm/IconPicker/IconPickerLibraryFilter.js.map +1 -0
  209. package/dist/esm/IconPicker/IconPickerParts.d.ts +65 -0
  210. package/dist/esm/IconPicker/IconPickerParts.d.ts.map +1 -0
  211. package/dist/esm/IconPicker/IconPickerParts.js +4 -0
  212. package/dist/esm/IconPicker/IconPickerParts.js.map +1 -0
  213. package/dist/esm/IconPicker/IconPickerPlacement.d.ts +3 -0
  214. package/dist/esm/IconPicker/IconPickerPlacement.d.ts.map +1 -0
  215. package/dist/esm/IconPicker/IconPickerPlacement.js +4 -0
  216. package/dist/esm/IconPicker/IconPickerPlacement.js.map +1 -0
  217. package/dist/esm/IconPicker/IconPickerPopout.d.ts +32 -0
  218. package/dist/esm/IconPicker/IconPickerPopout.d.ts.map +1 -0
  219. package/dist/esm/IconPicker/IconPickerPopout.js +41 -0
  220. package/dist/esm/IconPicker/IconPickerPopout.js.map +1 -0
  221. package/dist/esm/IconPicker/IconPickerResults.d.ts +31 -0
  222. package/dist/esm/IconPicker/IconPickerResults.d.ts.map +1 -0
  223. package/dist/esm/IconPicker/IconPickerResults.js +21 -0
  224. package/dist/esm/IconPicker/IconPickerResults.js.map +1 -0
  225. package/dist/esm/IconPicker/IconPickerSearch.d.ts +21 -0
  226. package/dist/esm/IconPicker/IconPickerSearch.d.ts.map +1 -0
  227. package/dist/esm/IconPicker/IconPickerSearch.js +21 -0
  228. package/dist/esm/IconPicker/IconPickerSearch.js.map +1 -0
  229. package/dist/esm/IconPicker/IconPickerSummary.d.ts +12 -0
  230. package/dist/esm/IconPicker/IconPickerSummary.d.ts.map +1 -0
  231. package/dist/esm/IconPicker/IconPickerSummary.js +4 -0
  232. package/dist/esm/IconPicker/IconPickerSummary.js.map +1 -0
  233. package/dist/esm/IconPicker/IconPickerTile.d.ts +36 -0
  234. package/dist/esm/IconPicker/IconPickerTile.d.ts.map +1 -0
  235. package/dist/esm/IconPicker/IconPickerTile.js +22 -0
  236. package/dist/esm/IconPicker/IconPickerTile.js.map +1 -0
  237. package/dist/esm/IconPicker/IconPickerTrigger.d.ts +39 -0
  238. package/dist/esm/IconPicker/IconPickerTrigger.d.ts.map +1 -0
  239. package/dist/esm/IconPicker/IconPickerTrigger.js +13 -0
  240. package/dist/esm/IconPicker/IconPickerTrigger.js.map +1 -0
  241. package/dist/esm/IconPicker/IconPickerValue.d.ts +16 -0
  242. package/dist/esm/IconPicker/IconPickerValue.d.ts.map +1 -0
  243. package/dist/esm/IconPicker/IconPickerValue.js +4 -0
  244. package/dist/esm/IconPicker/IconPickerValue.js.map +1 -0
  245. package/dist/esm/IconPicker/createIconPickerIndex.d.ts +10 -0
  246. package/dist/esm/IconPicker/createIconPickerIndex.d.ts.map +1 -0
  247. package/dist/esm/IconPicker/createIconPickerIndex.js +21 -0
  248. package/dist/esm/IconPicker/createIconPickerIndex.js.map +1 -0
  249. package/dist/esm/IconPicker/defaultIconPickerLabels.d.ts +4 -0
  250. package/dist/esm/IconPicker/defaultIconPickerLabels.d.ts.map +1 -0
  251. package/dist/esm/IconPicker/defaultIconPickerLabels.js +35 -0
  252. package/dist/esm/IconPicker/defaultIconPickerLabels.js.map +1 -0
  253. package/dist/esm/IconPicker/formatIconPickerIdentity.d.ts +8 -0
  254. package/dist/esm/IconPicker/formatIconPickerIdentity.d.ts.map +1 -0
  255. package/dist/esm/IconPicker/formatIconPickerIdentity.js +4 -0
  256. package/dist/esm/IconPicker/formatIconPickerIdentity.js.map +1 -0
  257. package/dist/esm/IconPicker/groupIconPickerByCategory.d.ts +10 -0
  258. package/dist/esm/IconPicker/groupIconPickerByCategory.d.ts.map +1 -0
  259. package/dist/esm/IconPicker/groupIconPickerByCategory.js +17 -0
  260. package/dist/esm/IconPicker/groupIconPickerByCategory.js.map +1 -0
  261. package/dist/esm/IconPicker/iconPickerIdentity.d.ts +8 -0
  262. package/dist/esm/IconPicker/iconPickerIdentity.d.ts.map +1 -0
  263. package/dist/esm/IconPicker/iconPickerIdentity.js +4 -0
  264. package/dist/esm/IconPicker/iconPickerIdentity.js.map +1 -0
  265. package/dist/esm/IconPicker/index.d.ts +19 -0
  266. package/dist/esm/IconPicker/index.d.ts.map +1 -0
  267. package/dist/esm/IconPicker/index.js +8 -0
  268. package/dist/esm/IconPicker/index.js.map +1 -0
  269. package/dist/esm/IconPicker/isIconPickerAllowed.d.ts +10 -0
  270. package/dist/esm/IconPicker/isIconPickerAllowed.d.ts.map +1 -0
  271. package/dist/esm/IconPicker/isIconPickerAllowed.js +12 -0
  272. package/dist/esm/IconPicker/isIconPickerAllowed.js.map +1 -0
  273. package/dist/esm/IconPicker/isSameIconPickerValue.d.ts +10 -0
  274. package/dist/esm/IconPicker/isSameIconPickerValue.d.ts.map +1 -0
  275. package/dist/esm/IconPicker/isSameIconPickerValue.js +4 -0
  276. package/dist/esm/IconPicker/isSameIconPickerValue.js.map +1 -0
  277. package/dist/esm/IconPicker/searchIconPickerIndex.d.ts +9 -0
  278. package/dist/esm/IconPicker/searchIconPickerIndex.d.ts.map +1 -0
  279. package/dist/esm/IconPicker/searchIconPickerIndex.js +9 -0
  280. package/dist/esm/IconPicker/searchIconPickerIndex.js.map +1 -0
  281. package/dist/esm/IconPicker/toIconPickerValue.d.ts +9 -0
  282. package/dist/esm/IconPicker/toIconPickerValue.d.ts.map +1 -0
  283. package/dist/esm/IconPicker/toIconPickerValue.js +6 -0
  284. package/dist/esm/IconPicker/toIconPickerValue.js.map +1 -0
  285. package/dist/esm/IconPicker/useGridColumns.d.ts +12 -0
  286. package/dist/esm/IconPicker/useGridColumns.d.ts.map +1 -0
  287. package/dist/esm/IconPicker/useGridColumns.js +26 -0
  288. package/dist/esm/IconPicker/useGridColumns.js.map +1 -0
  289. package/dist/esm/IconPicker/useIconPickerBrowser.d.ts +10 -0
  290. package/dist/esm/IconPicker/useIconPickerBrowser.d.ts.map +1 -0
  291. package/dist/esm/IconPicker/useIconPickerBrowser.js +45 -0
  292. package/dist/esm/IconPicker/useIconPickerBrowser.js.map +1 -0
  293. package/dist/esm/IconPicker/useIsVisible.d.ts +12 -0
  294. package/dist/esm/IconPicker/useIsVisible.d.ts.map +1 -0
  295. package/dist/esm/IconPicker/useIsVisible.js +23 -0
  296. package/dist/esm/IconPicker/useIsVisible.js.map +1 -0
  297. package/dist/esm/IconPicker/useNarrowViewport.d.ts +9 -0
  298. package/dist/esm/IconPicker/useNarrowViewport.d.ts.map +1 -0
  299. package/dist/esm/IconPicker/useNarrowViewport.js +15 -0
  300. package/dist/esm/IconPicker/useNarrowViewport.js.map +1 -0
  301. package/dist/esm/IconPicker/useRovingFocus.d.ts +29 -0
  302. package/dist/esm/IconPicker/useRovingFocus.d.ts.map +1 -0
  303. package/dist/esm/IconPicker/useRovingFocus.js +70 -0
  304. package/dist/esm/IconPicker/useRovingFocus.js.map +1 -0
  305. package/dist/esm/Toolbar/ToolbarButton.d.ts +4 -1
  306. package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -1
  307. package/dist/esm/Toolbar/ToolbarButton.js +12 -2
  308. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  309. package/dist/esm/Toolbar/ToolbarDrawerContext.d.ts +13 -0
  310. package/dist/esm/Toolbar/ToolbarDrawerContext.d.ts.map +1 -0
  311. package/dist/esm/Toolbar/ToolbarDrawerContext.js +7 -0
  312. package/dist/esm/Toolbar/ToolbarDrawerContext.js.map +1 -0
  313. package/dist/esm/Toolbar/ToolbarDrawerItem.d.ts +23 -0
  314. package/dist/esm/Toolbar/ToolbarDrawerItem.d.ts.map +1 -0
  315. package/dist/esm/Toolbar/ToolbarDrawerItem.js +4 -0
  316. package/dist/esm/Toolbar/ToolbarDrawerItem.js.map +1 -0
  317. package/dist/esm/Toolbar/ToolbarDrawerPlacement.d.ts +57 -0
  318. package/dist/esm/Toolbar/ToolbarDrawerPlacement.d.ts.map +1 -0
  319. package/dist/esm/Toolbar/ToolbarDrawerPlacement.js +51 -0
  320. package/dist/esm/Toolbar/ToolbarDrawerPlacement.js.map +1 -0
  321. package/dist/esm/Toolbar/ToolbarDrawerTile.d.ts +43 -0
  322. package/dist/esm/Toolbar/ToolbarDrawerTile.d.ts.map +1 -0
  323. package/dist/esm/Toolbar/ToolbarDrawerTile.js +31 -0
  324. package/dist/esm/Toolbar/ToolbarDrawerTile.js.map +1 -0
  325. package/dist/esm/Toolbar/ToolbarFolder.d.ts +51 -5
  326. package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -1
  327. package/dist/esm/Toolbar/ToolbarFolder.js +109 -10
  328. package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
  329. package/dist/esm/Toolbar/ToolbarFolderPresentation.d.ts +8 -0
  330. package/dist/esm/Toolbar/ToolbarFolderPresentation.d.ts.map +1 -0
  331. package/dist/esm/Toolbar/ToolbarFolderPresentation.js +4 -0
  332. package/dist/esm/Toolbar/ToolbarFolderPresentation.js.map +1 -0
  333. package/dist/esm/Toolbar/index.d.ts +2 -0
  334. package/dist/esm/Toolbar/index.d.ts.map +1 -1
  335. package/dist/esm/configuration/CratisComponentsDefaults.d.ts.map +1 -1
  336. package/dist/esm/configuration/CratisComponentsDefaults.js +1 -0
  337. package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
  338. package/dist/esm/styles.ConfigurationEditor.css +710 -0
  339. package/dist/esm/styles.IconPicker.css +464 -0
  340. package/dist/esm/styles.Toolbar.css +174 -0
  341. package/dist/esm/styles.css +971 -90
  342. package/dist/esm/types/parts.d.ts +69 -1
  343. package/dist/esm/types/parts.d.ts.map +1 -1
  344. package/dist/esm/types/parts.js +69 -1
  345. package/dist/esm/types/parts.js.map +1 -1
  346. package/package.json +11 -1
@@ -0,0 +1,464 @@
1
+ @layer cratis-components {
2
+ /* @cratis/components/IconPicker/styles — requires @cratis/components/styles/base. Areas: IconPicker. */
3
+ /* ── ./IconPicker/IconPicker.css ─────────────────────────────────────── */
4
+ /* Copyright (c) Cratis. All rights reserved. */
5
+ /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
6
+ .cratis-icon-picker {
7
+ display: inline-flex;
8
+ flex-direction: column;
9
+ gap: 0.25rem;
10
+ max-width: 100%;
11
+ color: var(--cratis-text-color);
12
+ }
13
+
14
+ .cratis-icon-picker__trigger {
15
+ display: inline-flex;
16
+ min-height: var(--cratis-control-height);
17
+ max-width: 100%;
18
+ box-sizing: border-box;
19
+ align-items: center;
20
+ gap: 0.625rem;
21
+ padding: 0.375rem 0.75rem;
22
+ border: 1px solid var(--cratis-control-border);
23
+ border-radius: var(--cratis-border-radius);
24
+ background: var(--cratis-control-background);
25
+ color: inherit;
26
+ font: inherit;
27
+ text-align: start;
28
+ cursor: pointer;
29
+ }
30
+
31
+ .cratis-icon-picker__trigger[data-hovered] {
32
+ background: var(--cratis-surface-hover);
33
+ }
34
+
35
+ .cratis-icon-picker__trigger[data-focus-visible],
36
+ .cratis-icon-picker__trigger[data-pressed] {
37
+ outline: none;
38
+ box-shadow: var(--cratis-focus-ring);
39
+ }
40
+
41
+ .cratis-icon-picker__trigger[data-open] {
42
+ border-color: var(--cratis-primary-color);
43
+ }
44
+
45
+ .cratis-icon-picker__trigger[data-invalid] {
46
+ border-color: var(--cratis-red-500);
47
+ border-style: dashed;
48
+ }
49
+
50
+ .cratis-icon-picker__trigger[data-missing] {
51
+ border-color: var(--cratis-orange-500);
52
+ border-style: dashed;
53
+ }
54
+
55
+ .cratis-icon-picker__trigger[data-readonly] {
56
+ cursor: default;
57
+ background: var(--cratis-surface-100);
58
+ }
59
+
60
+ .cratis-icon-picker__trigger[data-disabled] {
61
+ opacity: var(--cratis-disabled-opacity);
62
+ cursor: not-allowed;
63
+ }
64
+
65
+ .cratis-icon-picker__glyph {
66
+ display: inline-flex;
67
+ width: 1.5rem;
68
+ height: 1.5rem;
69
+ flex: none;
70
+ align-items: center;
71
+ justify-content: center;
72
+ font-size: 1.25rem;
73
+ }
74
+
75
+ .cratis-icon-picker__trigger[data-missing] .cratis-icon-picker__glyph {
76
+ color: var(--cratis-orange-500);
77
+ }
78
+
79
+ .cratis-icon-picker__name {
80
+ min-width: 0;
81
+ overflow: hidden;
82
+ text-overflow: ellipsis;
83
+ white-space: nowrap;
84
+ }
85
+
86
+ .cratis-icon-picker__provider {
87
+ min-width: 0;
88
+ overflow: hidden;
89
+ text-overflow: ellipsis;
90
+ white-space: nowrap;
91
+ color: var(--cratis-text-color-secondary);
92
+ font-size: 0.75rem;
93
+ }
94
+
95
+ .cratis-icon-picker__chevron {
96
+ margin-inline-start: auto;
97
+ flex: none;
98
+ color: var(--cratis-text-color-secondary);
99
+ font-size: 0.75rem;
100
+ }
101
+
102
+ .cratis-icon-picker__messages {
103
+ display: flex;
104
+ flex-direction: column;
105
+ gap: 0.125rem;
106
+ }
107
+
108
+ .cratis-icon-picker__message {
109
+ margin: 0;
110
+ color: var(--cratis-text-color-secondary);
111
+ font-size: 0.8125rem;
112
+ }
113
+
114
+ .cratis-icon-picker[data-invalid] .cratis-icon-picker__message {
115
+ color: var(--cratis-red-500);
116
+ }
117
+
118
+ .cratis-icon-picker__popover {
119
+ z-index: var(--cratis-z-index-overlay);
120
+ display: flex;
121
+ width: min(34rem, calc(100vw - 1rem));
122
+ height: 30rem;
123
+ flex-direction: column;
124
+ box-sizing: border-box;
125
+ overflow: hidden;
126
+ border: 1px solid var(--cratis-surface-border);
127
+ border-radius: var(--cratis-border-radius);
128
+ background: var(--cratis-surface-overlay);
129
+ color: var(--cratis-text-color);
130
+ box-shadow: var(--cratis-shadow-overlay);
131
+ }
132
+
133
+ .cratis-icon-picker__overlay {
134
+ position: fixed;
135
+ inset: 0;
136
+ z-index: var(--cratis-z-index-overlay);
137
+ display: flex;
138
+ align-items: flex-end;
139
+ background: var(--cratis-maskbg);
140
+ }
141
+
142
+ .cratis-icon-picker__sheet {
143
+ display: flex;
144
+ width: 100%;
145
+ height: min(36rem, 90dvh);
146
+ flex-direction: column;
147
+ box-sizing: border-box;
148
+ overflow: hidden;
149
+ border: 1px solid var(--cratis-surface-border);
150
+ border-radius: calc(var(--cratis-border-radius) * 2) calc(var(--cratis-border-radius) * 2) 0 0;
151
+ background: var(--cratis-surface-overlay);
152
+ color: var(--cratis-text-color);
153
+ box-shadow: var(--cratis-shadow-dialog);
154
+ }
155
+
156
+ .cratis-icon-picker__dialog {
157
+ display: flex;
158
+ min-height: 0;
159
+ flex: 1 1 auto;
160
+ flex-direction: column;
161
+ gap: 0.625rem;
162
+ box-sizing: border-box;
163
+ padding: 0.75rem;
164
+ outline: none;
165
+ }
166
+
167
+ .cratis-icon-picker__header {
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: space-between;
171
+ gap: 0.5rem;
172
+ }
173
+
174
+ .cratis-icon-picker__title {
175
+ margin: 0;
176
+ font-size: 1rem;
177
+ font-weight: 600;
178
+ }
179
+
180
+ .cratis-icon-picker__close,
181
+ .cratis-icon-picker__clear {
182
+ display: inline-flex;
183
+ min-width: 2.25rem;
184
+ min-height: 2.25rem;
185
+ align-items: center;
186
+ justify-content: center;
187
+ border: 1px solid transparent;
188
+ border-radius: var(--cratis-border-radius);
189
+ background: transparent;
190
+ color: var(--cratis-text-color-secondary);
191
+ cursor: pointer;
192
+ }
193
+
194
+ .cratis-icon-picker__close:hover,
195
+ .cratis-icon-picker__clear:hover {
196
+ background: var(--cratis-surface-hover);
197
+ color: var(--cratis-text-color);
198
+ }
199
+
200
+ .cratis-icon-picker__close:focus-visible,
201
+ .cratis-icon-picker__clear:focus-visible,
202
+ .cratis-icon-picker__category:focus-visible,
203
+ .cratis-icon-picker__link:focus-visible,
204
+ .cratis-icon-picker__library:focus-visible {
205
+ outline: none;
206
+ box-shadow: var(--cratis-focus-ring);
207
+ }
208
+
209
+ .cratis-icon-picker__search {
210
+ display: flex;
211
+ flex: none;
212
+ align-items: center;
213
+ gap: 0.25rem;
214
+ padding-inline-start: 0.75rem;
215
+ border: 1px solid var(--cratis-control-border);
216
+ border-radius: var(--cratis-border-radius);
217
+ background: var(--cratis-control-background);
218
+ }
219
+
220
+ .cratis-icon-picker__search:focus-within {
221
+ border-color: var(--cratis-primary-color);
222
+ box-shadow: var(--cratis-focus-ring);
223
+ }
224
+
225
+ .cratis-icon-picker__search-icon {
226
+ flex: none;
227
+ color: var(--cratis-text-color-secondary);
228
+ }
229
+
230
+ .cratis-icon-picker__search-input {
231
+ min-width: 0;
232
+ min-height: 2.25rem;
233
+ flex: 1;
234
+ border: 0;
235
+ background: transparent;
236
+ color: inherit;
237
+ font: inherit;
238
+ outline: none;
239
+ }
240
+
241
+ .cratis-icon-picker__filters {
242
+ display: flex;
243
+ flex: none;
244
+ flex-wrap: wrap;
245
+ align-items: center;
246
+ gap: 0.5rem;
247
+ }
248
+
249
+ .cratis-icon-picker__library {
250
+ min-height: 2.25rem;
251
+ max-width: 100%;
252
+ padding: 0 0.5rem;
253
+ border: 1px solid var(--cratis-control-border);
254
+ border-radius: var(--cratis-border-radius);
255
+ background: var(--cratis-control-background);
256
+ color: inherit;
257
+ font: inherit;
258
+ }
259
+
260
+ .cratis-icon-picker__categories {
261
+ display: flex;
262
+ min-width: 0;
263
+ flex-wrap: wrap;
264
+ gap: 0.375rem;
265
+ }
266
+
267
+ .cratis-icon-picker__category {
268
+ display: inline-flex;
269
+ min-height: 2.25rem;
270
+ align-items: center;
271
+ gap: 0.375rem;
272
+ padding: 0 0.75rem;
273
+ border: 1px solid var(--cratis-surface-border);
274
+ border-radius: 999px;
275
+ background: transparent;
276
+ color: inherit;
277
+ font: inherit;
278
+ cursor: pointer;
279
+ }
280
+
281
+ .cratis-icon-picker__category:hover {
282
+ background: var(--cratis-surface-hover);
283
+ }
284
+
285
+ .cratis-icon-picker__category[data-selected] {
286
+ border: 2px solid var(--cratis-primary-color);
287
+ background: var(--cratis-highlight-bg);
288
+ color: var(--cratis-highlight-text-color);
289
+ font-weight: 600;
290
+ }
291
+
292
+ .cratis-icon-picker__count {
293
+ color: var(--cratis-text-color-secondary);
294
+ font-size: 0.75rem;
295
+ }
296
+
297
+ .cratis-icon-picker__summary {
298
+ flex: none;
299
+ margin: 0;
300
+ color: var(--cratis-text-color-secondary);
301
+ font-size: 0.8125rem;
302
+ }
303
+
304
+ .cratis-icon-picker__body {
305
+ min-height: 0;
306
+ flex: 1 1 auto;
307
+ overflow: auto;
308
+ }
309
+
310
+ .cratis-icon-picker__results {
311
+ display: flex;
312
+ flex-direction: column;
313
+ gap: 1rem;
314
+ padding: 0.25rem;
315
+ }
316
+
317
+ .cratis-icon-picker__status {
318
+ display: flex;
319
+ flex-wrap: wrap;
320
+ align-items: center;
321
+ gap: 0.5rem;
322
+ padding: 0.75rem;
323
+ border: 1px dashed var(--cratis-surface-border);
324
+ border-radius: var(--cratis-border-radius);
325
+ color: var(--cratis-text-color-secondary);
326
+ }
327
+
328
+ .cratis-icon-picker__status[role='alert'] {
329
+ border-color: var(--cratis-red-500);
330
+ color: var(--cratis-red-500);
331
+ }
332
+
333
+ .cratis-icon-picker__group-header {
334
+ display: flex;
335
+ align-items: baseline;
336
+ justify-content: space-between;
337
+ gap: 0.5rem;
338
+ margin-bottom: 0.375rem;
339
+ }
340
+
341
+ .cratis-icon-picker__group-title {
342
+ margin: 0;
343
+ font-size: 0.875rem;
344
+ font-weight: 600;
345
+ }
346
+
347
+ .cratis-icon-picker__link {
348
+ min-height: 2.25rem;
349
+ padding: 0 0.5rem;
350
+ border: 0;
351
+ border-radius: var(--cratis-border-radius);
352
+ background: transparent;
353
+ color: var(--cratis-primary-color);
354
+ font: inherit;
355
+ text-decoration: underline;
356
+ cursor: pointer;
357
+ }
358
+
359
+ .cratis-icon-picker__grid {
360
+ display: grid;
361
+ grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
362
+ gap: 0.5rem;
363
+ }
364
+
365
+ .cratis-icon-picker__tile {
366
+ position: relative;
367
+ display: flex;
368
+ min-height: 5.5rem;
369
+ box-sizing: border-box;
370
+ flex-direction: column;
371
+ align-items: center;
372
+ gap: 0.375rem;
373
+ padding: 0.5rem 0.375rem;
374
+ border: 1px solid var(--cratis-control-border);
375
+ border-radius: var(--cratis-border-radius);
376
+ background: var(--cratis-control-background);
377
+ color: inherit;
378
+ text-align: center;
379
+ cursor: pointer;
380
+ content-visibility: auto;
381
+ contain-intrinsic-size: auto 5.5rem;
382
+ }
383
+
384
+ .cratis-icon-picker__tile:hover {
385
+ background: var(--cratis-surface-hover);
386
+ }
387
+
388
+ .cratis-icon-picker__tile:focus-visible {
389
+ outline: 3px solid var(--cratis-primary-color);
390
+ outline-offset: 2px;
391
+ }
392
+
393
+ .cratis-icon-picker__tile[data-selected] {
394
+ border: 3px solid var(--cratis-primary-color);
395
+ padding: calc(0.5rem - 2px) calc(0.375rem - 2px);
396
+ background: var(--cratis-highlight-bg);
397
+ font-weight: 600;
398
+ }
399
+
400
+ .cratis-icon-picker__tile[data-disabled] {
401
+ border-style: dashed;
402
+ opacity: var(--cratis-disabled-opacity);
403
+ cursor: not-allowed;
404
+ }
405
+
406
+ .cratis-icon-picker__tile-icon {
407
+ display: flex;
408
+ width: 2.5rem;
409
+ height: 2.5rem;
410
+ flex: none;
411
+ align-items: center;
412
+ justify-content: center;
413
+ font-size: 1.75rem;
414
+ }
415
+
416
+ .cratis-icon-picker__tile-name {
417
+ max-width: 100%;
418
+ overflow-wrap: anywhere;
419
+ font-size: 0.8125rem;
420
+ line-height: 1.2;
421
+ }
422
+
423
+ /* The selected tile's highlight background is darker than the surface, so secondary text on it falls short of 4.5:1. */
424
+ .cratis-icon-picker__tile[data-selected] .cratis-icon-picker__provider {
425
+ color: var(--cratis-highlight-text-color);
426
+ }
427
+
428
+ .cratis-icon-picker__tile .cratis-icon-picker__provider {
429
+ max-width: 100%;
430
+ white-space: normal;
431
+ overflow-wrap: anywhere;
432
+ font-size: 0.6875rem;
433
+ }
434
+
435
+ .cratis-icon-picker__flag {
436
+ color: var(--cratis-text-color-secondary);
437
+ font-size: 0.6875rem;
438
+ font-weight: 600;
439
+ }
440
+
441
+ .cratis-icon-picker__check {
442
+ position: absolute;
443
+ inset-block-start: 0.25rem;
444
+ inset-inline-end: 0.25rem;
445
+ padding: 0.125rem;
446
+ border-radius: 50%;
447
+ background: var(--cratis-primary-color);
448
+ color: var(--cratis-primary-color-text);
449
+ font-size: 0.75rem;
450
+ }
451
+
452
+ .cratis-icon-picker__credits {
453
+ flex: none;
454
+ border-top: 1px solid var(--cratis-surface-border);
455
+ padding-top: 0.375rem;
456
+ }
457
+
458
+ .cratis-icon-picker__attribution {
459
+ margin: 0;
460
+ color: var(--cratis-text-color-secondary);
461
+ font-size: 0.75rem;
462
+ }
463
+
464
+ }
@@ -1463,6 +1463,179 @@
1463
1463
  min-width: 10rem;
1464
1464
  }
1465
1465
 
1466
+ /* ── Toolbar folder — headed drawer ──────────────────────────────────────── */
1467
+
1468
+ /*
1469
+ * The drawer is an opt-in presentation of the folder panel: a visible header with a close action,
1470
+ * followed by labeled tiles. Placement is computed at runtime and handed over through custom
1471
+ * properties (shift along the cross axis, push back over the toolbar, size limits); the data-side
1472
+ * attribute selects the side of the trigger the drawer opens towards.
1473
+ */
1474
+ .toolbar-folder-panel--drawer {
1475
+ display: flex;
1476
+ flex-direction: column;
1477
+ gap: 0.5rem;
1478
+ padding: 0.75rem;
1479
+ width: max-content;
1480
+ max-width: var(--toolbar-drawer-max-width, calc(100vw - 1rem));
1481
+ max-height: var(--toolbar-drawer-max-height, calc(100vh - 1rem));
1482
+ overflow: auto;
1483
+ overscroll-behavior: contain;
1484
+ clip-path: none;
1485
+ transform: translate(var(--toolbar-drawer-main-shift, 0), calc(-50% + var(--toolbar-drawer-shift, 0px))) scale(0.96);
1486
+ transition:
1487
+ transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
1488
+ opacity 0.2s ease;
1489
+ }
1490
+
1491
+ .toolbar-folder-panel--drawer.toolbar-folder-panel--visible {
1492
+ transform: translate(var(--toolbar-drawer-main-shift, 0), calc(-50% + var(--toolbar-drawer-shift, 0px))) scale(1);
1493
+ }
1494
+
1495
+ .toolbar-folder-panel--drawer[data-side='left'] {
1496
+ left: auto;
1497
+ right: calc(100% + 0.75rem);
1498
+ transform-origin: right center;
1499
+ }
1500
+
1501
+ .toolbar-folder-panel--drawer[data-side='right'] {
1502
+ left: calc(100% + 0.75rem);
1503
+ right: auto;
1504
+ transform-origin: left center;
1505
+ }
1506
+
1507
+ .toolbar-folder-panel--drawer[data-side='bottom'],
1508
+ .toolbar-folder-panel--drawer[data-side='top'] {
1509
+ left: 50%;
1510
+ right: auto;
1511
+ transform-origin: center top;
1512
+ transform: translate(calc(-50% + var(--toolbar-drawer-shift, 0px)), var(--toolbar-drawer-main-shift, 0)) scale(0.96);
1513
+ }
1514
+
1515
+ .toolbar-folder-panel--drawer[data-side='bottom'].toolbar-folder-panel--visible,
1516
+ .toolbar-folder-panel--drawer[data-side='top'].toolbar-folder-panel--visible {
1517
+ transform: translate(calc(-50% + var(--toolbar-drawer-shift, 0px)), var(--toolbar-drawer-main-shift, 0)) scale(1);
1518
+ }
1519
+
1520
+ .toolbar-folder-panel--drawer[data-side='bottom'] {
1521
+ top: calc(100% + 0.75rem);
1522
+ bottom: auto;
1523
+ }
1524
+
1525
+ .toolbar-folder-panel--drawer[data-side='top'] {
1526
+ top: auto;
1527
+ bottom: calc(100% + 0.75rem);
1528
+ transform-origin: center bottom;
1529
+ }
1530
+
1531
+ /* A drag is in flight: keep the drawer in place, but let the surface underneath read as the target. */
1532
+ .toolbar-folder-panel--drawer[data-dragging] {
1533
+ opacity: 0.85;
1534
+ }
1535
+
1536
+ .toolbar-drawer-header {
1537
+ display: flex;
1538
+ align-items: center;
1539
+ justify-content: space-between;
1540
+ gap: 0.75rem;
1541
+ padding: 0 0.25rem;
1542
+ }
1543
+
1544
+ .toolbar-drawer-title {
1545
+ font-size: 0.875rem;
1546
+ font-weight: 600;
1547
+ color: var(--cratis-text-color);
1548
+ overflow-wrap: anywhere;
1549
+ }
1550
+
1551
+ .toolbar-drawer-close {
1552
+ flex: 0 0 auto;
1553
+ display: flex;
1554
+ align-items: center;
1555
+ justify-content: center;
1556
+ width: 2rem;
1557
+ height: 2rem;
1558
+ border-radius: 0.5rem;
1559
+ cursor: pointer;
1560
+ }
1561
+
1562
+ /*
1563
+ * Tiles flow into as many columns as fit; the column count requested by the folder caps the width,
1564
+ * so a narrow viewport reflows the tiles instead of clipping them.
1565
+ */
1566
+ .toolbar-drawer-tiles {
1567
+ display: grid;
1568
+ grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
1569
+ gap: 0.5rem;
1570
+ width: calc(var(--toolbar-drawer-columns, 3) * 6.5rem + (var(--toolbar-drawer-columns, 3) - 1) * 0.5rem);
1571
+ max-width: 100%;
1572
+ }
1573
+
1574
+ .toolbar-drawer-tile {
1575
+ display: flex;
1576
+ flex-direction: column;
1577
+ align-items: center;
1578
+ justify-content: flex-start;
1579
+ gap: 0.375rem;
1580
+ min-width: 0;
1581
+ min-height: 4.5rem;
1582
+ padding: 0.625rem 0.375rem;
1583
+ border: 1px solid var(--cratis-surface-border);
1584
+ border-radius: 0.75rem;
1585
+ cursor: pointer;
1586
+ text-align: center;
1587
+ }
1588
+
1589
+ .toolbar-drawer-tile:focus-visible,
1590
+ .toolbar-drawer-close:focus-visible {
1591
+ outline: none;
1592
+ box-shadow: var(--cratis-focus-ring);
1593
+ }
1594
+
1595
+ .toolbar-drawer-tile__icon {
1596
+ display: flex;
1597
+ align-items: center;
1598
+ justify-content: center;
1599
+ line-height: 1;
1600
+ }
1601
+
1602
+ /* Long or localized titles wrap and clamp to two lines; the full title stays in the accessible name. */
1603
+ .toolbar-drawer-tile__label {
1604
+ display: -webkit-box;
1605
+ -webkit-box-orient: vertical;
1606
+ -webkit-line-clamp: 2;
1607
+ line-clamp: 2;
1608
+ max-width: 100%;
1609
+ overflow: hidden;
1610
+ overflow-wrap: anywhere;
1611
+ font-size: 0.8125rem;
1612
+ font-weight: 500;
1613
+ line-height: 1.2;
1614
+ }
1615
+
1616
+ /* A disabled tile is dimmed and says so in text for assistive technology; it is never conveyed by opacity alone. */
1617
+ .toolbar-drawer-tile[aria-disabled='true'] {
1618
+ cursor: not-allowed;
1619
+ border-style: dashed;
1620
+ }
1621
+
1622
+ .toolbar-drawer-tile[aria-disabled='true'] .toolbar-drawer-tile__icon,
1623
+ .toolbar-drawer-tile[aria-disabled='true'] .toolbar-drawer-tile__label {
1624
+ opacity: 0.6;
1625
+ }
1626
+
1627
+ .toolbar-drawer-tile__reason {
1628
+ position: absolute;
1629
+ width: 1px;
1630
+ height: 1px;
1631
+ margin: -1px;
1632
+ padding: 0;
1633
+ overflow: hidden;
1634
+ clip-path: inset(50%);
1635
+ white-space: nowrap;
1636
+ border: 0;
1637
+ }
1638
+
1466
1639
  /* ── Toolbar button — list mode ──────────────────────────────────────────── */
1467
1640
 
1468
1641
  /*
@@ -1545,6 +1718,7 @@
1545
1718
  .toolbar-context,
1546
1719
  .toolbar-fanout-panel,
1547
1720
  .toolbar-folder-panel,
1721
+ .toolbar-drawer-tile,
1548
1722
  .toolbar-slot-section,
1549
1723
  .toolbar-slot-incoming,
1550
1724
  .toolbar-slot-outgoing {