@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
@@ -3803,6 +3803,252 @@
3803
3803
  z-index: var(--cratis-z-index-tooltip);
3804
3804
  }
3805
3805
 
3806
+ /* ── ./ConfigurationEditor/ConfigurationEditor.css ─────────────────────────────────────── */
3807
+ /* Copyright (c) Cratis. All rights reserved. */
3808
+ /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
3809
+
3810
+ .cratis-ordered-item-editor,
3811
+ .cratis-property-controls {
3812
+ display: flex;
3813
+ flex-direction: column;
3814
+ gap: 1rem;
3815
+ min-width: 0;
3816
+ color: var(--cratis-text-color);
3817
+ }
3818
+
3819
+ .cratis-ordered-item-editor__section,
3820
+ .cratis-property-controls__group {
3821
+ display: flex;
3822
+ flex-direction: column;
3823
+ gap: 0.5rem;
3824
+ min-width: 0;
3825
+ }
3826
+
3827
+ .cratis-ordered-item-editor__title,
3828
+ .cratis-property-controls__title {
3829
+ margin: 0;
3830
+ font-size: 0.875rem;
3831
+ font-weight: 600;
3832
+ }
3833
+
3834
+ .cratis-ordered-item-editor__list {
3835
+ display: flex;
3836
+ flex-direction: column;
3837
+ gap: 0.5rem;
3838
+ margin: 0;
3839
+ padding: 0;
3840
+ list-style: none;
3841
+ }
3842
+
3843
+ .cratis-ordered-item-editor__empty,
3844
+ .cratis-property-controls__description {
3845
+ margin: 0;
3846
+ color: var(--cratis-text-color-secondary);
3847
+ font-size: 0.875rem;
3848
+ }
3849
+
3850
+ /* ── Items ───────────────────────────────────────────────────────────────── */
3851
+
3852
+ .cratis-ordered-item {
3853
+ position: relative;
3854
+ display: flex;
3855
+ flex-wrap: wrap;
3856
+ align-items: flex-start;
3857
+ gap: 0.5rem;
3858
+ padding: 0.5rem 0.75rem;
3859
+ border: 1px solid var(--cratis-surface-border);
3860
+ border-radius: var(--cratis-border-radius);
3861
+ background: var(--cratis-surface-card);
3862
+ }
3863
+
3864
+ .cratis-ordered-item:focus-visible {
3865
+ outline: none;
3866
+ box-shadow: var(--cratis-focus-ring);
3867
+ }
3868
+
3869
+ /* A locked item is told apart by its dashed border and its "Locked" text, never by opacity. */
3870
+ .cratis-ordered-item[data-locked] {
3871
+ border-style: dashed;
3872
+ background: var(--cratis-surface-100);
3873
+ }
3874
+
3875
+ .cratis-ordered-item[data-dragging] {
3876
+ border-color: var(--cratis-primary-color);
3877
+ }
3878
+
3879
+ .cratis-ordered-item[data-drop-position='before'] {
3880
+ box-shadow: 0 -2px 0 0 var(--cratis-primary-color);
3881
+ }
3882
+
3883
+ .cratis-ordered-item[data-drop-position='after'] {
3884
+ box-shadow: 0 2px 0 0 var(--cratis-primary-color);
3885
+ }
3886
+
3887
+ .cratis-ordered-item__reorder {
3888
+ display: flex;
3889
+ gap: 0.25rem;
3890
+ }
3891
+
3892
+ .cratis-ordered-item__fields {
3893
+ display: flex;
3894
+ flex: 1 1 14rem;
3895
+ flex-direction: column;
3896
+ gap: 0.5rem;
3897
+ min-width: 0;
3898
+ }
3899
+
3900
+ .cratis-ordered-item__text {
3901
+ min-width: 0;
3902
+ overflow-wrap: anywhere;
3903
+ font-size: 0.875rem;
3904
+ }
3905
+
3906
+ .cratis-ordered-item__state {
3907
+ flex: none;
3908
+ padding: 0.125rem 0.5rem;
3909
+ border: 1px solid var(--cratis-surface-border);
3910
+ border-radius: 999px;
3911
+ color: var(--cratis-text-color);
3912
+ font-size: 0.75rem;
3913
+ font-weight: 600;
3914
+ }
3915
+
3916
+ .cratis-ordered-item__input,
3917
+ .cratis-property__input:not([type='checkbox']) {
3918
+ box-sizing: border-box;
3919
+ width: 100%;
3920
+ min-height: var(--cratis-control-height);
3921
+ padding: 0.375rem 0.75rem;
3922
+ border: 1px solid var(--cratis-control-border);
3923
+ border-radius: var(--cratis-border-radius);
3924
+ background: var(--cratis-control-background);
3925
+ color: inherit;
3926
+ font: inherit;
3927
+ }
3928
+
3929
+ .cratis-ordered-item__input:focus-visible,
3930
+ .cratis-property__input:focus-visible {
3931
+ outline: none;
3932
+ box-shadow: var(--cratis-focus-ring);
3933
+ }
3934
+
3935
+ .cratis-ordered-item__input[data-invalid],
3936
+ .cratis-property__input[data-invalid] {
3937
+ border-color: var(--cratis-red-500);
3938
+ border-style: dashed;
3939
+ }
3940
+
3941
+ .cratis-ordered-item__button {
3942
+ display: inline-flex;
3943
+ align-items: center;
3944
+ justify-content: center;
3945
+ min-width: var(--cratis-control-height);
3946
+ min-height: var(--cratis-control-height);
3947
+ padding: 0 0.5rem;
3948
+ border: 1px solid var(--cratis-control-border);
3949
+ border-radius: var(--cratis-border-radius);
3950
+ background: var(--cratis-control-background);
3951
+ color: inherit;
3952
+ font: inherit;
3953
+ cursor: pointer;
3954
+ }
3955
+
3956
+ .cratis-ordered-item__button:hover {
3957
+ background: var(--cratis-surface-hover);
3958
+ }
3959
+
3960
+ .cratis-ordered-item__button:focus-visible {
3961
+ outline: none;
3962
+ box-shadow: var(--cratis-focus-ring);
3963
+ }
3964
+
3965
+ .cratis-ordered-item__button[aria-disabled='true'] {
3966
+ border-style: dashed;
3967
+ color: var(--cratis-text-color-secondary);
3968
+ cursor: not-allowed;
3969
+ }
3970
+
3971
+ .cratis-ordered-item__handle {
3972
+ cursor: grab;
3973
+ }
3974
+
3975
+ .cratis-ordered-item__handle:active {
3976
+ cursor: grabbing;
3977
+ }
3978
+
3979
+ .cratis-ordered-item-editor__add {
3980
+ align-self: flex-start;
3981
+ }
3982
+
3983
+ .cratis-ordered-item__message,
3984
+ .cratis-property__message {
3985
+ margin: 0;
3986
+ font-size: 0.8125rem;
3987
+ color: var(--cratis-red-500);
3988
+ }
3989
+
3990
+ /* A restriction note reads as information, not as an error. */
3991
+ .cratis-ordered-item__message--note,
3992
+ .cratis-property__message--note {
3993
+ color: var(--cratis-text-color-secondary);
3994
+ }
3995
+
3996
+ .cratis-ordered-item__hidden {
3997
+ position: absolute;
3998
+ width: 1px;
3999
+ height: 1px;
4000
+ margin: -1px;
4001
+ padding: 0;
4002
+ overflow: hidden;
4003
+ clip-path: inset(50%);
4004
+ white-space: nowrap;
4005
+ border: 0;
4006
+ }
4007
+
4008
+ /* ── Property controls ───────────────────────────────────────────────────── */
4009
+
4010
+ .cratis-property {
4011
+ display: grid;
4012
+ grid-template-columns: minmax(6rem, 1fr) minmax(0, 2fr) auto;
4013
+ align-items: center;
4014
+ gap: 0.25rem 0.75rem;
4015
+ }
4016
+
4017
+ .cratis-property > .cratis-property__message {
4018
+ grid-column: 2 / -1;
4019
+ }
4020
+
4021
+ .cratis-property__label {
4022
+ font-size: 0.875rem;
4023
+ overflow-wrap: anywhere;
4024
+ }
4025
+
4026
+ .cratis-property__value {
4027
+ font-size: 0.875rem;
4028
+ font-weight: 500;
4029
+ }
4030
+
4031
+ .cratis-property__unit {
4032
+ color: var(--cratis-text-color-secondary);
4033
+ font-size: 0.8125rem;
4034
+ }
4035
+
4036
+ /* Narrow panels: stack the label above its control. */
4037
+ @container (max-width: 22rem) {
4038
+ .cratis-property {
4039
+ grid-template-columns: minmax(0, 1fr);
4040
+ }
4041
+
4042
+ .cratis-property > .cratis-property__message {
4043
+ grid-column: 1;
4044
+ }
4045
+ }
4046
+
4047
+ .cratis-ordered-item-editor,
4048
+ .cratis-property-controls {
4049
+ container-type: inline-size;
4050
+ }
4051
+
3806
4052
  /* ── ./DataTables/ColumnFilterMenu.css ─────────────────────────────────────── */
3807
4053
  /* Copyright (c) Cratis. All rights reserved. */
3808
4054
  /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
@@ -5161,125 +5407,586 @@
5161
5407
  border: none;
5162
5408
  border-radius: 2px 2px 0 0;
5163
5409
  cursor: pointer;
5164
- transition:
5165
- background 160ms ease,
5166
- transform 120ms ease;
5167
- padding: 0;
5410
+ transition:
5411
+ background 160ms ease,
5412
+ transform 120ms ease;
5413
+ padding: 0;
5414
+ }
5415
+
5416
+ .pv-histogram-bar:hover {
5417
+ background: var(--cratis-surface-hover);
5418
+ transform: scaleY(1.02);
5419
+ }
5420
+
5421
+ .pv-histogram-bar.in-range {
5422
+ background: var(--cratis-primary-color);
5423
+ }
5424
+
5425
+ .pv-histogram-bar.partial {
5426
+ background: var(--cratis-highlight-bg);
5427
+ }
5428
+
5429
+ .pv-range-slider {
5430
+ position: relative;
5431
+ height: 24px;
5432
+ margin: 0.5rem 0;
5433
+ }
5434
+
5435
+ .pv-range-track {
5436
+ position: absolute;
5437
+ top: 50%;
5438
+ left: 0;
5439
+ right: 0;
5440
+ height: 4px;
5441
+ background: var(--cratis-surface-border);
5442
+ border-radius: 2px;
5443
+ transform: translateY(-50%);
5444
+ }
5445
+
5446
+ .pv-range-selection {
5447
+ position: absolute;
5448
+ top: 50%;
5449
+ height: 4px;
5450
+ background: var(--cratis-primary-color);
5451
+ border-radius: 2px;
5452
+ transform: translateY(-50%);
5453
+ cursor: grab;
5454
+ }
5455
+
5456
+ .pv-range-selection:active {
5457
+ cursor: grabbing;
5458
+ }
5459
+
5460
+ .pv-range-handle {
5461
+ position: absolute;
5462
+ top: 50%;
5463
+ width: 16px;
5464
+ height: 16px;
5465
+ background: var(--cratis-primary-color);
5466
+ border: 2px solid var(--cratis-text-color);
5467
+ border-radius: 50%;
5468
+ transform: translate(-50%, -50%);
5469
+ cursor: ew-resize;
5470
+ transition:
5471
+ transform 120ms ease,
5472
+ box-shadow 120ms ease;
5473
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
5474
+ }
5475
+
5476
+ .pv-range-handle:hover {
5477
+ transform: translate(-50%, -50%) scale(1.15);
5478
+ box-shadow: 0 4px 12px var(--cratis-primary-color);
5479
+ }
5480
+
5481
+ .pv-range-handle:focus-visible {
5482
+ outline: 2px solid var(--cratis-primary-color);
5483
+ outline-offset: 3px;
5484
+ }
5485
+
5486
+ .pv-range-labels {
5487
+ display: flex;
5488
+ justify-content: space-between;
5489
+ font-size: 0.75rem;
5490
+ color: var(--cratis-text-color-secondary);
5491
+ font-variant-numeric: tabular-nums;
5492
+ }
5493
+
5494
+ .pv-range-clear {
5495
+ margin-top: 0.75rem;
5496
+ appearance: none;
5497
+ border: none;
5498
+ border-radius: 0.55rem;
5499
+ padding: 0.4rem 0.75rem;
5500
+ background: var(--cratis-highlight-bg);
5501
+ color: var(--cratis-text-color);
5502
+ font-size: 0.72rem;
5503
+ text-transform: uppercase;
5504
+ letter-spacing: 0.08em;
5505
+ cursor: pointer;
5506
+ width: 100%;
5507
+ }
5508
+
5509
+ .pv-range-clear:hover {
5510
+ background: var(--cratis-surface-hover);
5511
+ }
5512
+
5513
+ @media (max-width: 900px) {
5514
+ .pv-filter-panel {
5515
+ width: calc(100% - 2.5rem);
5516
+ left: 1.25rem;
5517
+ right: 1.25rem;
5518
+ top: 1.25rem;
5519
+ max-height: calc(100vh - 2.5rem);
5520
+ }
5521
+ }
5522
+
5523
+ @media (prefers-reduced-motion: reduce) {
5524
+ :where(.pv-filter-panel, .pv-filter-dropdown),
5525
+ :where(.pv-filter-panel, .pv-filter-dropdown) * {
5526
+ transition: none !important;
5527
+ animation: none !important;
5528
+ }
5529
+ }
5530
+
5531
+ /* ── ./IconPicker/IconPicker.css ─────────────────────────────────────── */
5532
+ /* Copyright (c) Cratis. All rights reserved. */
5533
+ /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
5534
+ .cratis-icon-picker {
5535
+ display: inline-flex;
5536
+ flex-direction: column;
5537
+ gap: 0.25rem;
5538
+ max-width: 100%;
5539
+ color: var(--cratis-text-color);
5540
+ }
5541
+
5542
+ .cratis-icon-picker__trigger {
5543
+ display: inline-flex;
5544
+ min-height: var(--cratis-control-height);
5545
+ max-width: 100%;
5546
+ box-sizing: border-box;
5547
+ align-items: center;
5548
+ gap: 0.625rem;
5549
+ padding: 0.375rem 0.75rem;
5550
+ border: 1px solid var(--cratis-control-border);
5551
+ border-radius: var(--cratis-border-radius);
5552
+ background: var(--cratis-control-background);
5553
+ color: inherit;
5554
+ font: inherit;
5555
+ text-align: start;
5556
+ cursor: pointer;
5557
+ }
5558
+
5559
+ .cratis-icon-picker__trigger[data-hovered] {
5560
+ background: var(--cratis-surface-hover);
5561
+ }
5562
+
5563
+ .cratis-icon-picker__trigger[data-focus-visible],
5564
+ .cratis-icon-picker__trigger[data-pressed] {
5565
+ outline: none;
5566
+ box-shadow: var(--cratis-focus-ring);
5567
+ }
5568
+
5569
+ .cratis-icon-picker__trigger[data-open] {
5570
+ border-color: var(--cratis-primary-color);
5571
+ }
5572
+
5573
+ .cratis-icon-picker__trigger[data-invalid] {
5574
+ border-color: var(--cratis-red-500);
5575
+ border-style: dashed;
5576
+ }
5577
+
5578
+ .cratis-icon-picker__trigger[data-missing] {
5579
+ border-color: var(--cratis-orange-500);
5580
+ border-style: dashed;
5581
+ }
5582
+
5583
+ .cratis-icon-picker__trigger[data-readonly] {
5584
+ cursor: default;
5585
+ background: var(--cratis-surface-100);
5586
+ }
5587
+
5588
+ .cratis-icon-picker__trigger[data-disabled] {
5589
+ opacity: var(--cratis-disabled-opacity);
5590
+ cursor: not-allowed;
5591
+ }
5592
+
5593
+ .cratis-icon-picker__glyph {
5594
+ display: inline-flex;
5595
+ width: 1.5rem;
5596
+ height: 1.5rem;
5597
+ flex: none;
5598
+ align-items: center;
5599
+ justify-content: center;
5600
+ font-size: 1.25rem;
5601
+ }
5602
+
5603
+ .cratis-icon-picker__trigger[data-missing] .cratis-icon-picker__glyph {
5604
+ color: var(--cratis-orange-500);
5605
+ }
5606
+
5607
+ .cratis-icon-picker__name {
5608
+ min-width: 0;
5609
+ overflow: hidden;
5610
+ text-overflow: ellipsis;
5611
+ white-space: nowrap;
5612
+ }
5613
+
5614
+ .cratis-icon-picker__provider {
5615
+ min-width: 0;
5616
+ overflow: hidden;
5617
+ text-overflow: ellipsis;
5618
+ white-space: nowrap;
5619
+ color: var(--cratis-text-color-secondary);
5620
+ font-size: 0.75rem;
5621
+ }
5622
+
5623
+ .cratis-icon-picker__chevron {
5624
+ margin-inline-start: auto;
5625
+ flex: none;
5626
+ color: var(--cratis-text-color-secondary);
5627
+ font-size: 0.75rem;
5628
+ }
5629
+
5630
+ .cratis-icon-picker__messages {
5631
+ display: flex;
5632
+ flex-direction: column;
5633
+ gap: 0.125rem;
5634
+ }
5635
+
5636
+ .cratis-icon-picker__message {
5637
+ margin: 0;
5638
+ color: var(--cratis-text-color-secondary);
5639
+ font-size: 0.8125rem;
5640
+ }
5641
+
5642
+ .cratis-icon-picker[data-invalid] .cratis-icon-picker__message {
5643
+ color: var(--cratis-red-500);
5644
+ }
5645
+
5646
+ .cratis-icon-picker__popover {
5647
+ z-index: var(--cratis-z-index-overlay);
5648
+ display: flex;
5649
+ width: min(34rem, calc(100vw - 1rem));
5650
+ height: 30rem;
5651
+ flex-direction: column;
5652
+ box-sizing: border-box;
5653
+ overflow: hidden;
5654
+ border: 1px solid var(--cratis-surface-border);
5655
+ border-radius: var(--cratis-border-radius);
5656
+ background: var(--cratis-surface-overlay);
5657
+ color: var(--cratis-text-color);
5658
+ box-shadow: var(--cratis-shadow-overlay);
5659
+ }
5660
+
5661
+ .cratis-icon-picker__overlay {
5662
+ position: fixed;
5663
+ inset: 0;
5664
+ z-index: var(--cratis-z-index-overlay);
5665
+ display: flex;
5666
+ align-items: flex-end;
5667
+ background: var(--cratis-maskbg);
5668
+ }
5669
+
5670
+ .cratis-icon-picker__sheet {
5671
+ display: flex;
5672
+ width: 100%;
5673
+ height: min(36rem, 90dvh);
5674
+ flex-direction: column;
5675
+ box-sizing: border-box;
5676
+ overflow: hidden;
5677
+ border: 1px solid var(--cratis-surface-border);
5678
+ border-radius: calc(var(--cratis-border-radius) * 2) calc(var(--cratis-border-radius) * 2) 0 0;
5679
+ background: var(--cratis-surface-overlay);
5680
+ color: var(--cratis-text-color);
5681
+ box-shadow: var(--cratis-shadow-dialog);
5682
+ }
5683
+
5684
+ .cratis-icon-picker__dialog {
5685
+ display: flex;
5686
+ min-height: 0;
5687
+ flex: 1 1 auto;
5688
+ flex-direction: column;
5689
+ gap: 0.625rem;
5690
+ box-sizing: border-box;
5691
+ padding: 0.75rem;
5692
+ outline: none;
5693
+ }
5694
+
5695
+ .cratis-icon-picker__header {
5696
+ display: flex;
5697
+ align-items: center;
5698
+ justify-content: space-between;
5699
+ gap: 0.5rem;
5700
+ }
5701
+
5702
+ .cratis-icon-picker__title {
5703
+ margin: 0;
5704
+ font-size: 1rem;
5705
+ font-weight: 600;
5706
+ }
5707
+
5708
+ .cratis-icon-picker__close,
5709
+ .cratis-icon-picker__clear {
5710
+ display: inline-flex;
5711
+ min-width: 2.25rem;
5712
+ min-height: 2.25rem;
5713
+ align-items: center;
5714
+ justify-content: center;
5715
+ border: 1px solid transparent;
5716
+ border-radius: var(--cratis-border-radius);
5717
+ background: transparent;
5718
+ color: var(--cratis-text-color-secondary);
5719
+ cursor: pointer;
5720
+ }
5721
+
5722
+ .cratis-icon-picker__close:hover,
5723
+ .cratis-icon-picker__clear:hover {
5724
+ background: var(--cratis-surface-hover);
5725
+ color: var(--cratis-text-color);
5726
+ }
5727
+
5728
+ .cratis-icon-picker__close:focus-visible,
5729
+ .cratis-icon-picker__clear:focus-visible,
5730
+ .cratis-icon-picker__category:focus-visible,
5731
+ .cratis-icon-picker__link:focus-visible,
5732
+ .cratis-icon-picker__library:focus-visible {
5733
+ outline: none;
5734
+ box-shadow: var(--cratis-focus-ring);
5735
+ }
5736
+
5737
+ .cratis-icon-picker__search {
5738
+ display: flex;
5739
+ flex: none;
5740
+ align-items: center;
5741
+ gap: 0.25rem;
5742
+ padding-inline-start: 0.75rem;
5743
+ border: 1px solid var(--cratis-control-border);
5744
+ border-radius: var(--cratis-border-radius);
5745
+ background: var(--cratis-control-background);
5746
+ }
5747
+
5748
+ .cratis-icon-picker__search:focus-within {
5749
+ border-color: var(--cratis-primary-color);
5750
+ box-shadow: var(--cratis-focus-ring);
5751
+ }
5752
+
5753
+ .cratis-icon-picker__search-icon {
5754
+ flex: none;
5755
+ color: var(--cratis-text-color-secondary);
5756
+ }
5757
+
5758
+ .cratis-icon-picker__search-input {
5759
+ min-width: 0;
5760
+ min-height: 2.25rem;
5761
+ flex: 1;
5762
+ border: 0;
5763
+ background: transparent;
5764
+ color: inherit;
5765
+ font: inherit;
5766
+ outline: none;
5767
+ }
5768
+
5769
+ .cratis-icon-picker__filters {
5770
+ display: flex;
5771
+ flex: none;
5772
+ flex-wrap: wrap;
5773
+ align-items: center;
5774
+ gap: 0.5rem;
5775
+ }
5776
+
5777
+ .cratis-icon-picker__library {
5778
+ min-height: 2.25rem;
5779
+ max-width: 100%;
5780
+ padding: 0 0.5rem;
5781
+ border: 1px solid var(--cratis-control-border);
5782
+ border-radius: var(--cratis-border-radius);
5783
+ background: var(--cratis-control-background);
5784
+ color: inherit;
5785
+ font: inherit;
5786
+ }
5787
+
5788
+ .cratis-icon-picker__categories {
5789
+ display: flex;
5790
+ min-width: 0;
5791
+ flex-wrap: wrap;
5792
+ gap: 0.375rem;
5793
+ }
5794
+
5795
+ .cratis-icon-picker__category {
5796
+ display: inline-flex;
5797
+ min-height: 2.25rem;
5798
+ align-items: center;
5799
+ gap: 0.375rem;
5800
+ padding: 0 0.75rem;
5801
+ border: 1px solid var(--cratis-surface-border);
5802
+ border-radius: 999px;
5803
+ background: transparent;
5804
+ color: inherit;
5805
+ font: inherit;
5806
+ cursor: pointer;
5807
+ }
5808
+
5809
+ .cratis-icon-picker__category:hover {
5810
+ background: var(--cratis-surface-hover);
5811
+ }
5812
+
5813
+ .cratis-icon-picker__category[data-selected] {
5814
+ border: 2px solid var(--cratis-primary-color);
5815
+ background: var(--cratis-highlight-bg);
5816
+ color: var(--cratis-highlight-text-color);
5817
+ font-weight: 600;
5818
+ }
5819
+
5820
+ .cratis-icon-picker__count {
5821
+ color: var(--cratis-text-color-secondary);
5822
+ font-size: 0.75rem;
5823
+ }
5824
+
5825
+ .cratis-icon-picker__summary {
5826
+ flex: none;
5827
+ margin: 0;
5828
+ color: var(--cratis-text-color-secondary);
5829
+ font-size: 0.8125rem;
5830
+ }
5831
+
5832
+ .cratis-icon-picker__body {
5833
+ min-height: 0;
5834
+ flex: 1 1 auto;
5835
+ overflow: auto;
5836
+ }
5837
+
5838
+ .cratis-icon-picker__results {
5839
+ display: flex;
5840
+ flex-direction: column;
5841
+ gap: 1rem;
5842
+ padding: 0.25rem;
5843
+ }
5844
+
5845
+ .cratis-icon-picker__status {
5846
+ display: flex;
5847
+ flex-wrap: wrap;
5848
+ align-items: center;
5849
+ gap: 0.5rem;
5850
+ padding: 0.75rem;
5851
+ border: 1px dashed var(--cratis-surface-border);
5852
+ border-radius: var(--cratis-border-radius);
5853
+ color: var(--cratis-text-color-secondary);
5854
+ }
5855
+
5856
+ .cratis-icon-picker__status[role='alert'] {
5857
+ border-color: var(--cratis-red-500);
5858
+ color: var(--cratis-red-500);
5859
+ }
5860
+
5861
+ .cratis-icon-picker__group-header {
5862
+ display: flex;
5863
+ align-items: baseline;
5864
+ justify-content: space-between;
5865
+ gap: 0.5rem;
5866
+ margin-bottom: 0.375rem;
5867
+ }
5868
+
5869
+ .cratis-icon-picker__group-title {
5870
+ margin: 0;
5871
+ font-size: 0.875rem;
5872
+ font-weight: 600;
5873
+ }
5874
+
5875
+ .cratis-icon-picker__link {
5876
+ min-height: 2.25rem;
5877
+ padding: 0 0.5rem;
5878
+ border: 0;
5879
+ border-radius: var(--cratis-border-radius);
5880
+ background: transparent;
5881
+ color: var(--cratis-primary-color);
5882
+ font: inherit;
5883
+ text-decoration: underline;
5884
+ cursor: pointer;
5168
5885
  }
5169
5886
 
5170
- .pv-histogram-bar:hover {
5171
- background: var(--cratis-surface-hover);
5172
- transform: scaleY(1.02);
5887
+ .cratis-icon-picker__grid {
5888
+ display: grid;
5889
+ grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
5890
+ gap: 0.5rem;
5173
5891
  }
5174
5892
 
5175
- .pv-histogram-bar.in-range {
5176
- background: var(--cratis-primary-color);
5893
+ .cratis-icon-picker__tile {
5894
+ position: relative;
5895
+ display: flex;
5896
+ min-height: 5.5rem;
5897
+ box-sizing: border-box;
5898
+ flex-direction: column;
5899
+ align-items: center;
5900
+ gap: 0.375rem;
5901
+ padding: 0.5rem 0.375rem;
5902
+ border: 1px solid var(--cratis-control-border);
5903
+ border-radius: var(--cratis-border-radius);
5904
+ background: var(--cratis-control-background);
5905
+ color: inherit;
5906
+ text-align: center;
5907
+ cursor: pointer;
5908
+ content-visibility: auto;
5909
+ contain-intrinsic-size: auto 5.5rem;
5177
5910
  }
5178
5911
 
5179
- .pv-histogram-bar.partial {
5180
- background: var(--cratis-highlight-bg);
5912
+ .cratis-icon-picker__tile:hover {
5913
+ background: var(--cratis-surface-hover);
5181
5914
  }
5182
5915
 
5183
- .pv-range-slider {
5184
- position: relative;
5185
- height: 24px;
5186
- margin: 0.5rem 0;
5916
+ .cratis-icon-picker__tile:focus-visible {
5917
+ outline: 3px solid var(--cratis-primary-color);
5918
+ outline-offset: 2px;
5187
5919
  }
5188
5920
 
5189
- .pv-range-track {
5190
- position: absolute;
5191
- top: 50%;
5192
- left: 0;
5193
- right: 0;
5194
- height: 4px;
5195
- background: var(--cratis-surface-border);
5196
- border-radius: 2px;
5197
- transform: translateY(-50%);
5921
+ .cratis-icon-picker__tile[data-selected] {
5922
+ border: 3px solid var(--cratis-primary-color);
5923
+ padding: calc(0.5rem - 2px) calc(0.375rem - 2px);
5924
+ background: var(--cratis-highlight-bg);
5925
+ font-weight: 600;
5198
5926
  }
5199
5927
 
5200
- .pv-range-selection {
5201
- position: absolute;
5202
- top: 50%;
5203
- height: 4px;
5204
- background: var(--cratis-primary-color);
5205
- border-radius: 2px;
5206
- transform: translateY(-50%);
5207
- cursor: grab;
5928
+ .cratis-icon-picker__tile[data-disabled] {
5929
+ border-style: dashed;
5930
+ opacity: var(--cratis-disabled-opacity);
5931
+ cursor: not-allowed;
5208
5932
  }
5209
5933
 
5210
- .pv-range-selection:active {
5211
- cursor: grabbing;
5934
+ .cratis-icon-picker__tile-icon {
5935
+ display: flex;
5936
+ width: 2.5rem;
5937
+ height: 2.5rem;
5938
+ flex: none;
5939
+ align-items: center;
5940
+ justify-content: center;
5941
+ font-size: 1.75rem;
5212
5942
  }
5213
5943
 
5214
- .pv-range-handle {
5215
- position: absolute;
5216
- top: 50%;
5217
- width: 16px;
5218
- height: 16px;
5219
- background: var(--cratis-primary-color);
5220
- border: 2px solid var(--cratis-text-color);
5221
- border-radius: 50%;
5222
- transform: translate(-50%, -50%);
5223
- cursor: ew-resize;
5224
- transition:
5225
- transform 120ms ease,
5226
- box-shadow 120ms ease;
5227
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
5944
+ .cratis-icon-picker__tile-name {
5945
+ max-width: 100%;
5946
+ overflow-wrap: anywhere;
5947
+ font-size: 0.8125rem;
5948
+ line-height: 1.2;
5228
5949
  }
5229
5950
 
5230
- .pv-range-handle:hover {
5231
- transform: translate(-50%, -50%) scale(1.15);
5232
- box-shadow: 0 4px 12px var(--cratis-primary-color);
5951
+ /* The selected tile's highlight background is darker than the surface, so secondary text on it falls short of 4.5:1. */
5952
+ .cratis-icon-picker__tile[data-selected] .cratis-icon-picker__provider {
5953
+ color: var(--cratis-highlight-text-color);
5233
5954
  }
5234
5955
 
5235
- .pv-range-handle:focus-visible {
5236
- outline: 2px solid var(--cratis-primary-color);
5237
- outline-offset: 3px;
5956
+ .cratis-icon-picker__tile .cratis-icon-picker__provider {
5957
+ max-width: 100%;
5958
+ white-space: normal;
5959
+ overflow-wrap: anywhere;
5960
+ font-size: 0.6875rem;
5238
5961
  }
5239
5962
 
5240
- .pv-range-labels {
5241
- display: flex;
5242
- justify-content: space-between;
5243
- font-size: 0.75rem;
5963
+ .cratis-icon-picker__flag {
5244
5964
  color: var(--cratis-text-color-secondary);
5245
- font-variant-numeric: tabular-nums;
5246
- }
5247
-
5248
- .pv-range-clear {
5249
- margin-top: 0.75rem;
5250
- appearance: none;
5251
- border: none;
5252
- border-radius: 0.55rem;
5253
- padding: 0.4rem 0.75rem;
5254
- background: var(--cratis-highlight-bg);
5255
- color: var(--cratis-text-color);
5256
- font-size: 0.72rem;
5257
- text-transform: uppercase;
5258
- letter-spacing: 0.08em;
5259
- cursor: pointer;
5260
- width: 100%;
5965
+ font-size: 0.6875rem;
5966
+ font-weight: 600;
5261
5967
  }
5262
5968
 
5263
- .pv-range-clear:hover {
5264
- background: var(--cratis-surface-hover);
5969
+ .cratis-icon-picker__check {
5970
+ position: absolute;
5971
+ inset-block-start: 0.25rem;
5972
+ inset-inline-end: 0.25rem;
5973
+ padding: 0.125rem;
5974
+ border-radius: 50%;
5975
+ background: var(--cratis-primary-color);
5976
+ color: var(--cratis-primary-color-text);
5977
+ font-size: 0.75rem;
5265
5978
  }
5266
5979
 
5267
- @media (max-width: 900px) {
5268
- .pv-filter-panel {
5269
- width: calc(100% - 2.5rem);
5270
- left: 1.25rem;
5271
- right: 1.25rem;
5272
- top: 1.25rem;
5273
- max-height: calc(100vh - 2.5rem);
5274
- }
5980
+ .cratis-icon-picker__credits {
5981
+ flex: none;
5982
+ border-top: 1px solid var(--cratis-surface-border);
5983
+ padding-top: 0.375rem;
5275
5984
  }
5276
5985
 
5277
- @media (prefers-reduced-motion: reduce) {
5278
- :where(.pv-filter-panel, .pv-filter-dropdown),
5279
- :where(.pv-filter-panel, .pv-filter-dropdown) * {
5280
- transition: none !important;
5281
- animation: none !important;
5282
- }
5986
+ .cratis-icon-picker__attribution {
5987
+ margin: 0;
5988
+ color: var(--cratis-text-color-secondary);
5989
+ font-size: 0.75rem;
5283
5990
  }
5284
5991
 
5285
5992
  /* ── ./MarkdownEditor/MarkdownEditor.css ─────────────────────────────────────── */
@@ -7930,6 +8637,179 @@
7930
8637
  min-width: 10rem;
7931
8638
  }
7932
8639
 
8640
+ /* ── Toolbar folder — headed drawer ──────────────────────────────────────── */
8641
+
8642
+ /*
8643
+ * The drawer is an opt-in presentation of the folder panel: a visible header with a close action,
8644
+ * followed by labeled tiles. Placement is computed at runtime and handed over through custom
8645
+ * properties (shift along the cross axis, push back over the toolbar, size limits); the data-side
8646
+ * attribute selects the side of the trigger the drawer opens towards.
8647
+ */
8648
+ .toolbar-folder-panel--drawer {
8649
+ display: flex;
8650
+ flex-direction: column;
8651
+ gap: 0.5rem;
8652
+ padding: 0.75rem;
8653
+ width: max-content;
8654
+ max-width: var(--toolbar-drawer-max-width, calc(100vw - 1rem));
8655
+ max-height: var(--toolbar-drawer-max-height, calc(100vh - 1rem));
8656
+ overflow: auto;
8657
+ overscroll-behavior: contain;
8658
+ clip-path: none;
8659
+ transform: translate(var(--toolbar-drawer-main-shift, 0), calc(-50% + var(--toolbar-drawer-shift, 0px))) scale(0.96);
8660
+ transition:
8661
+ transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
8662
+ opacity 0.2s ease;
8663
+ }
8664
+
8665
+ .toolbar-folder-panel--drawer.toolbar-folder-panel--visible {
8666
+ transform: translate(var(--toolbar-drawer-main-shift, 0), calc(-50% + var(--toolbar-drawer-shift, 0px))) scale(1);
8667
+ }
8668
+
8669
+ .toolbar-folder-panel--drawer[data-side='left'] {
8670
+ left: auto;
8671
+ right: calc(100% + 0.75rem);
8672
+ transform-origin: right center;
8673
+ }
8674
+
8675
+ .toolbar-folder-panel--drawer[data-side='right'] {
8676
+ left: calc(100% + 0.75rem);
8677
+ right: auto;
8678
+ transform-origin: left center;
8679
+ }
8680
+
8681
+ .toolbar-folder-panel--drawer[data-side='bottom'],
8682
+ .toolbar-folder-panel--drawer[data-side='top'] {
8683
+ left: 50%;
8684
+ right: auto;
8685
+ transform-origin: center top;
8686
+ transform: translate(calc(-50% + var(--toolbar-drawer-shift, 0px)), var(--toolbar-drawer-main-shift, 0)) scale(0.96);
8687
+ }
8688
+
8689
+ .toolbar-folder-panel--drawer[data-side='bottom'].toolbar-folder-panel--visible,
8690
+ .toolbar-folder-panel--drawer[data-side='top'].toolbar-folder-panel--visible {
8691
+ transform: translate(calc(-50% + var(--toolbar-drawer-shift, 0px)), var(--toolbar-drawer-main-shift, 0)) scale(1);
8692
+ }
8693
+
8694
+ .toolbar-folder-panel--drawer[data-side='bottom'] {
8695
+ top: calc(100% + 0.75rem);
8696
+ bottom: auto;
8697
+ }
8698
+
8699
+ .toolbar-folder-panel--drawer[data-side='top'] {
8700
+ top: auto;
8701
+ bottom: calc(100% + 0.75rem);
8702
+ transform-origin: center bottom;
8703
+ }
8704
+
8705
+ /* A drag is in flight: keep the drawer in place, but let the surface underneath read as the target. */
8706
+ .toolbar-folder-panel--drawer[data-dragging] {
8707
+ opacity: 0.85;
8708
+ }
8709
+
8710
+ .toolbar-drawer-header {
8711
+ display: flex;
8712
+ align-items: center;
8713
+ justify-content: space-between;
8714
+ gap: 0.75rem;
8715
+ padding: 0 0.25rem;
8716
+ }
8717
+
8718
+ .toolbar-drawer-title {
8719
+ font-size: 0.875rem;
8720
+ font-weight: 600;
8721
+ color: var(--cratis-text-color);
8722
+ overflow-wrap: anywhere;
8723
+ }
8724
+
8725
+ .toolbar-drawer-close {
8726
+ flex: 0 0 auto;
8727
+ display: flex;
8728
+ align-items: center;
8729
+ justify-content: center;
8730
+ width: 2rem;
8731
+ height: 2rem;
8732
+ border-radius: 0.5rem;
8733
+ cursor: pointer;
8734
+ }
8735
+
8736
+ /*
8737
+ * Tiles flow into as many columns as fit; the column count requested by the folder caps the width,
8738
+ * so a narrow viewport reflows the tiles instead of clipping them.
8739
+ */
8740
+ .toolbar-drawer-tiles {
8741
+ display: grid;
8742
+ grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
8743
+ gap: 0.5rem;
8744
+ width: calc(var(--toolbar-drawer-columns, 3) * 6.5rem + (var(--toolbar-drawer-columns, 3) - 1) * 0.5rem);
8745
+ max-width: 100%;
8746
+ }
8747
+
8748
+ .toolbar-drawer-tile {
8749
+ display: flex;
8750
+ flex-direction: column;
8751
+ align-items: center;
8752
+ justify-content: flex-start;
8753
+ gap: 0.375rem;
8754
+ min-width: 0;
8755
+ min-height: 4.5rem;
8756
+ padding: 0.625rem 0.375rem;
8757
+ border: 1px solid var(--cratis-surface-border);
8758
+ border-radius: 0.75rem;
8759
+ cursor: pointer;
8760
+ text-align: center;
8761
+ }
8762
+
8763
+ .toolbar-drawer-tile:focus-visible,
8764
+ .toolbar-drawer-close:focus-visible {
8765
+ outline: none;
8766
+ box-shadow: var(--cratis-focus-ring);
8767
+ }
8768
+
8769
+ .toolbar-drawer-tile__icon {
8770
+ display: flex;
8771
+ align-items: center;
8772
+ justify-content: center;
8773
+ line-height: 1;
8774
+ }
8775
+
8776
+ /* Long or localized titles wrap and clamp to two lines; the full title stays in the accessible name. */
8777
+ .toolbar-drawer-tile__label {
8778
+ display: -webkit-box;
8779
+ -webkit-box-orient: vertical;
8780
+ -webkit-line-clamp: 2;
8781
+ line-clamp: 2;
8782
+ max-width: 100%;
8783
+ overflow: hidden;
8784
+ overflow-wrap: anywhere;
8785
+ font-size: 0.8125rem;
8786
+ font-weight: 500;
8787
+ line-height: 1.2;
8788
+ }
8789
+
8790
+ /* A disabled tile is dimmed and says so in text for assistive technology; it is never conveyed by opacity alone. */
8791
+ .toolbar-drawer-tile[aria-disabled='true'] {
8792
+ cursor: not-allowed;
8793
+ border-style: dashed;
8794
+ }
8795
+
8796
+ .toolbar-drawer-tile[aria-disabled='true'] .toolbar-drawer-tile__icon,
8797
+ .toolbar-drawer-tile[aria-disabled='true'] .toolbar-drawer-tile__label {
8798
+ opacity: 0.6;
8799
+ }
8800
+
8801
+ .toolbar-drawer-tile__reason {
8802
+ position: absolute;
8803
+ width: 1px;
8804
+ height: 1px;
8805
+ margin: -1px;
8806
+ padding: 0;
8807
+ overflow: hidden;
8808
+ clip-path: inset(50%);
8809
+ white-space: nowrap;
8810
+ border: 0;
8811
+ }
8812
+
7933
8813
  /* ── Toolbar button — list mode ──────────────────────────────────────────── */
7934
8814
 
7935
8815
  /*
@@ -8012,6 +8892,7 @@
8012
8892
  .toolbar-context,
8013
8893
  .toolbar-fanout-panel,
8014
8894
  .toolbar-folder-panel,
8895
+ .toolbar-drawer-tile,
8015
8896
  .toolbar-slot-section,
8016
8897
  .toolbar-slot-incoming,
8017
8898
  .toolbar-slot-outgoing {