@adaptabletools/adaptable 24.0.0-canary.7 → 24.0.0-canary.9

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 (261) hide show
  1. package/agGrid.d.ts +2 -3
  2. package/agGrid.js +2 -3
  3. package/aql.d.ts +29 -1
  4. package/aql.js +49 -1
  5. package/devtools.d.ts +55 -1
  6. package/index.css +7 -19
  7. package/index.d.ts +2 -3
  8. package/index.js +2 -3
  9. package/package.json +1 -1
  10. package/src/AdaptableOptions/ActionColumnOptions.d.ts +24 -0
  11. package/src/AdaptableOptions/AdaptableOptions.d.ts +97 -69
  12. package/src/AdaptableOptions/AdaptablePlugin.d.ts +113 -1
  13. package/src/AdaptableOptions/AlertOptions.d.ts +0 -2
  14. package/src/AdaptableOptions/ChartingOptions.d.ts +11 -5
  15. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +30 -0
  16. package/src/AdaptableOptions/ColumnOptions.d.ts +0 -2
  17. package/src/AdaptableOptions/CommentOptions.d.ts +12 -4
  18. package/src/AdaptableOptions/ContextMenuOptions.d.ts +31 -1
  19. package/src/AdaptableOptions/DashboardOptions.d.ts +0 -3
  20. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +3 -2
  21. package/src/AdaptableOptions/DefaultAdaptableOptions.js +6 -0
  22. package/src/AdaptableOptions/EditOptions.d.ts +18 -2
  23. package/src/AdaptableOptions/ExportOptions.d.ts +23 -0
  24. package/src/AdaptableOptions/ExpressionOptions.d.ts +0 -3
  25. package/src/AdaptableOptions/Fdc3Options.d.ts +77 -3
  26. package/src/AdaptableOptions/FilterOptions.d.ts +13 -8
  27. package/src/AdaptableOptions/LayoutOptions.d.ts +16 -3
  28. package/src/AdaptableOptions/NotificationsOptions.d.ts +0 -1
  29. package/src/AdaptableOptions/QuickSearchOptions.d.ts +0 -2
  30. package/src/AdaptableOptions/RowFormOptions.d.ts +9 -0
  31. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +10 -1
  32. package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -1
  33. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +87 -2
  34. package/src/AdaptableState/AdaptableState.d.ts +98 -4
  35. package/src/AdaptableState/AlertState.d.ts +20 -21
  36. package/src/AdaptableState/ApplicationState.d.ts +5 -3
  37. package/src/AdaptableState/BaseState.d.ts +9 -2
  38. package/src/AdaptableState/CalculatedColumnState.d.ts +10 -8
  39. package/src/AdaptableState/ChartingState.d.ts +10 -5
  40. package/src/AdaptableState/CommentState.d.ts +10 -4
  41. package/src/AdaptableState/Common/AdaptableAlert.d.ts +6 -2
  42. package/src/AdaptableState/Common/AdaptableButton.d.ts +3 -1
  43. package/src/AdaptableState/Common/AdaptableColumn.d.ts +38 -1
  44. package/src/AdaptableState/Common/AdaptableFilterState.d.ts +3 -1
  45. package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +3 -1
  46. package/src/AdaptableState/Common/AdaptableForm.d.ts +9 -0
  47. package/src/AdaptableState/Common/AdaptableFormat.d.ts +27 -1
  48. package/src/AdaptableState/Common/AdaptableIcon.d.ts +4 -2
  49. package/src/AdaptableState/Common/AdaptableObject.d.ts +9 -1
  50. package/src/AdaptableState/Common/AdaptableQuery.d.ts +9 -0
  51. package/src/AdaptableState/Common/AdaptableStyle.d.ts +6 -8
  52. package/src/AdaptableState/Common/AggregationColumns.d.ts +15 -6
  53. package/src/AdaptableState/Common/ButtonStyle.d.ts +3 -1
  54. package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +6 -2
  55. package/src/AdaptableState/Common/CellHighlightInfo.d.ts +4 -2
  56. package/src/AdaptableState/Common/CellSummary.d.ts +33 -0
  57. package/src/AdaptableState/Common/ColumnFilter.d.ts +3 -1
  58. package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +4 -2
  59. package/src/AdaptableState/Common/ColumnScope.d.ts +32 -1
  60. package/src/AdaptableState/Common/ColumnSetupInfo.d.ts +17 -0
  61. package/src/AdaptableState/Common/ColumnSort.d.ts +3 -1
  62. package/src/AdaptableState/Common/CompactCalculatedColumnEditorInfo.d.ts +3 -0
  63. package/src/AdaptableState/Common/DataChangedScope.d.ts +3 -1
  64. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +3 -1
  65. package/src/AdaptableState/Common/Entitlement.d.ts +4 -2
  66. package/src/AdaptableState/Common/Enums.d.ts +21 -0
  67. package/src/AdaptableState/Common/ExtendedLayout.d.ts +3 -1
  68. package/src/AdaptableState/Common/Fdc3Context.d.ts +9 -0
  69. package/src/AdaptableState/Common/Fdc3Intent.d.ts +6 -0
  70. package/src/AdaptableState/Common/GridFilter.d.ts +3 -1
  71. package/src/AdaptableState/Common/MenuItem.d.ts +9 -0
  72. package/src/AdaptableState/Common/RowHighlightInfo.d.ts +4 -2
  73. package/src/AdaptableState/Common/RowScope.d.ts +3 -1
  74. package/src/AdaptableState/Common/RowSummary.d.ts +14 -4
  75. package/src/AdaptableState/Common/RowsHighlightInfo.d.ts +5 -3
  76. package/src/AdaptableState/Common/Schedule.d.ts +10 -2
  77. package/src/AdaptableState/Common/SpecialColumnSettings.d.ts +3 -1
  78. package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +4 -2
  79. package/src/AdaptableState/Common/TransposeConfig.d.ts +1 -1
  80. package/src/AdaptableState/Common/Types.d.ts +9 -0
  81. package/src/AdaptableState/CustomSortState.d.ts +8 -5
  82. package/src/AdaptableState/DashboardState.d.ts +14 -10
  83. package/src/AdaptableState/ExportState.d.ts +12 -4
  84. package/src/AdaptableState/FlashingCellState.d.ts +8 -5
  85. package/src/AdaptableState/FormatColumnState.d.ts +28 -8
  86. package/src/AdaptableState/FreeTextColumnState.d.ts +14 -8
  87. package/src/AdaptableState/IPushPullState.d.ts +39 -3
  88. package/src/AdaptableState/InitialState.d.ts +9 -9
  89. package/src/AdaptableState/InternalState.d.ts +183 -3
  90. package/src/AdaptableState/LayoutState.d.ts +64 -21
  91. package/src/AdaptableState/NamedQueryState.d.ts +16 -4
  92. package/src/AdaptableState/NoteState.d.ts +7 -3
  93. package/src/AdaptableState/OpenFinState.d.ts +12 -2
  94. package/src/AdaptableState/PlusMinusState.d.ts +8 -4
  95. package/src/AdaptableState/PopupState.d.ts +29 -1
  96. package/src/AdaptableState/QuickSearchState.d.ts +5 -3
  97. package/src/AdaptableState/Selection/GridCell.d.ts +5 -3
  98. package/src/AdaptableState/Selection/GridCellRange.d.ts +8 -7
  99. package/src/AdaptableState/Selection/SelectedCellInfo.d.ts +1 -1
  100. package/src/AdaptableState/ShortcutState.d.ts +7 -3
  101. package/src/AdaptableState/StatusBarState.d.ts +7 -6
  102. package/src/AdaptableState/StyledColumnState.d.ts +46 -14
  103. package/src/AdaptableState/TeamSharingState.d.ts +46 -2
  104. package/src/AdaptableState/ThemeState.d.ts +24 -2
  105. package/src/AdaptableState/ToolPanelState.d.ts +10 -5
  106. package/src/AdaptableState/UserInterfaceState.d.ts +2 -2
  107. package/src/AdaptableState/Uuid.d.ts +6 -0
  108. package/src/Api/ActionColumnApi.d.ts +3 -1
  109. package/src/Api/AdaptableApi.d.ts +54 -50
  110. package/src/Api/AlertApi.d.ts +20 -12
  111. package/src/Api/ApplicationApi.d.ts +6 -2
  112. package/src/Api/BulkUpdateApi.d.ts +2 -1
  113. package/src/Api/CalculatedColumnApi.d.ts +4 -1
  114. package/src/Api/CalendarApi.d.ts +10 -0
  115. package/src/Api/CellSummaryApi.d.ts +9 -3
  116. package/src/Api/ChartingApi.d.ts +22 -7
  117. package/src/Api/ColumnApi.d.ts +71 -4
  118. package/src/Api/ColumnFilterApi.d.ts +13 -3
  119. package/src/Api/ColumnMenuApi.d.ts +13 -2
  120. package/src/Api/ColumnScopeApi.d.ts +27 -1
  121. package/src/Api/CommentApi.d.ts +10 -7
  122. package/src/Api/ContextMenuApi.d.ts +11 -1
  123. package/src/Api/CustomSortApi.d.ts +6 -2
  124. package/src/Api/DashboardApi.d.ts +30 -9
  125. package/src/Api/DataChangeHistoryApi.d.ts +9 -3
  126. package/src/Api/DataImportApi.d.ts +1 -1
  127. package/src/Api/EntitlementApi.d.ts +6 -1
  128. package/src/Api/EventApi.d.ts +67 -19
  129. package/src/Api/Events/AdaptableReady.d.ts +6 -2
  130. package/src/Api/Events/AdaptableStateChanged.d.ts +9 -5
  131. package/src/Api/Events/AdaptableStateReloaded.d.ts +7 -3
  132. package/src/Api/Events/AlertFired.d.ts +8 -2
  133. package/src/Api/Events/BeforeAdaptableStateChange.d.ts +6 -2
  134. package/src/Api/Events/CalculatedColumnChanged.d.ts +7 -3
  135. package/src/Api/Events/CellChanged.d.ts +6 -2
  136. package/src/Api/Events/CellSelectionChanged.d.ts +6 -2
  137. package/src/Api/Events/ChartChanged.d.ts +16 -8
  138. package/src/Api/Events/CommentChanged.d.ts +8 -2
  139. package/src/Api/Events/CustomToolbarConfigured.d.ts +6 -2
  140. package/src/Api/Events/DashboardChanged.d.ts +27 -6
  141. package/src/Api/Events/DataImported.d.ts +8 -4
  142. package/src/Api/Events/DataSetSelected.d.ts +6 -2
  143. package/src/Api/Events/Fdc3MessageInfo.d.ts +14 -4
  144. package/src/Api/Events/FlashingCellDisplayed.d.ts +6 -2
  145. package/src/Api/Events/GridFilterApplied.d.ts +11 -3
  146. package/src/Api/Events/GridSorted.d.ts +6 -2
  147. package/src/Api/Events/LayoutChanged.d.ts +36 -5
  148. package/src/Api/Events/LiveDataChanged.d.ts +21 -5
  149. package/src/Api/Events/NoteChanged.d.ts +5 -1
  150. package/src/Api/Events/ReportScheduleRan.d.ts +7 -3
  151. package/src/Api/Events/RowChanged.d.ts +6 -2
  152. package/src/Api/Events/RowFormSubmitted.d.ts +28 -12
  153. package/src/Api/Events/RowSelectionChanged.d.ts +6 -2
  154. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +6 -2
  155. package/src/Api/Events/TeamSharingEntityChanged.d.ts +6 -2
  156. package/src/Api/Events/ThemeSelected.d.ts +6 -2
  157. package/src/Api/ExportApi.d.ts +59 -32
  158. package/src/Api/ExpressionApi.d.ts +24 -1
  159. package/src/Api/Fdc3Api.d.ts +16 -3
  160. package/src/Api/FlashingCellApi.d.ts +6 -1
  161. package/src/Api/FormatColumnApi.d.ts +18 -11
  162. package/src/Api/FreeTextColumnApi.d.ts +4 -2
  163. package/src/Api/GridApi.d.ts +92 -19
  164. package/src/Api/IPushPullApi.d.ts +19 -2
  165. package/src/Api/Internal/EventInternalApi.d.ts +2 -1
  166. package/src/Api/Internal/EventInternalApi.js +7 -0
  167. package/src/Api/InteropioPluginApi.d.ts +2 -1
  168. package/src/Api/LayoutApi.d.ts +29 -15
  169. package/src/Api/NamedQueryApi.d.ts +10 -6
  170. package/src/Api/NoteApi.d.ts +15 -11
  171. package/src/Api/OpenFinApi.d.ts +8 -2
  172. package/src/Api/OptionsApi.d.ts +43 -1
  173. package/src/Api/PluginsApi.d.ts +6 -1
  174. package/src/Api/PlusMinusApi.d.ts +2 -1
  175. package/src/Api/QuickSearchApi.d.ts +6 -1
  176. package/src/Api/RowFormApi.d.ts +8 -7
  177. package/src/Api/ShortcutApi.d.ts +3 -1
  178. package/src/Api/SmartEditApi.d.ts +4 -1
  179. package/src/Api/StateApi.d.ts +30 -2
  180. package/src/Api/StatusBarApi.d.ts +2 -0
  181. package/src/Api/StyledColumnApi.d.ts +23 -12
  182. package/src/Api/SystemStatusApi.d.ts +18 -6
  183. package/src/Api/TeamSharingApi.d.ts +8 -1
  184. package/src/Api/ThemeApi.d.ts +17 -8
  185. package/src/Api/ToolPanelApi.d.ts +12 -7
  186. package/src/Api/UserInterfaceApi.d.ts +10 -1
  187. package/src/Redux/Store/AdaptableStore.js +1 -1
  188. package/src/View/Filter/ColumnFilter/ColumnFilterNew.js +14 -9
  189. package/src/agGrid/Adaptable.d.ts +0 -12
  190. package/src/agGrid/Adaptable.js +0 -52
  191. package/src/agGrid/AdaptableFrameworkComponent.d.ts +12 -0
  192. package/src/agGrid/AdaptableLogger.d.ts +74 -1
  193. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +3 -0
  194. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +3 -0
  195. package/src/agGrid/index.d.ts +1 -6
  196. package/src/agGrid/index.js +1 -3
  197. package/src/aql/ExpressionEvaluation.d.ts +27 -0
  198. package/src/aql/types.d.ts +22 -0
  199. package/src/components/ColorField/index.d.ts +2 -3
  200. package/src/components/ColorField/index.js +22 -2
  201. package/src/components/aql/QueryBuilder/GroupEditor.js +1 -1
  202. package/src/components/aql/QueryBuilder/QueryBuilder.d.ts +5 -0
  203. package/src/components/aql/QueryBuilder/QueryBuilder.js +1 -1
  204. package/src/components/aql/QueryBuilder/context.d.ts +7 -0
  205. package/src/components/aql/QueryBuilder/context.js +3 -1
  206. package/src/env.js +2 -2
  207. package/src/migration/legacyAdaptableQuery.d.ts +29 -4
  208. package/src/setupDevTools.js +223 -0
  209. package/src/types.d.ts +1 -3
  210. package/tsconfig.esm.tsbuildinfo +1 -1
  211. package/vendor/components/ColorField/index.d.ts +12 -2
  212. package/vendor/components/ColorField/index.d.ts.map +1 -1
  213. package/vendor/components/ColorField/index.js +3 -4
  214. package/vendor/components/ColorField/index.js.map +1 -1
  215. package/vendor/components/ColorPicker/index.d.ts +50 -11
  216. package/vendor/components/ColorPicker/index.d.ts.map +1 -1
  217. package/vendor/components/ColorPicker/index.js +172 -54
  218. package/vendor/components/ColorPicker/index.js.map +1 -1
  219. package/vendor/components/ColorPicker/themeColors.d.ts +42 -1
  220. package/vendor/components/ColorPicker/themeColors.d.ts.map +1 -1
  221. package/vendor/components/ColorPicker/themeColors.js +131 -1
  222. package/vendor/components/ColorPicker/themeColors.js.map +1 -1
  223. package/vendor/components/index.css +6 -0
  224. package/vendor/components/index.d.ts +2 -2
  225. package/vendor/components/index.d.ts.map +1 -1
  226. package/vendor/components/index.js +1 -1
  227. package/vendor/components/index.js.map +1 -1
  228. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +0 -99
  229. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.js +0 -1
  230. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig.d.ts +0 -15
  231. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig.js +0 -1
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +0 -19
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -337
  234. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +0 -5
  235. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +0 -4
  236. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +0 -30
  237. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -162
  238. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +0 -18
  239. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +0 -12
  240. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.d.ts +0 -8
  241. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -131
  242. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.d.ts +0 -8
  243. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +0 -30
  244. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.d.ts +0 -6
  245. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +0 -80
  246. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.d.ts +0 -6
  247. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +0 -100
  248. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.d.ts +0 -11
  249. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +0 -8
  250. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +0 -2
  251. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +0 -2
  252. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +0 -21
  253. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +0 -63
  254. package/src/View/AdaptableWizardView/Utilities/Utils.d.ts +0 -1
  255. package/src/View/AdaptableWizardView/Utilities/Utils.js +0 -21
  256. package/src/View/AdaptableWizardView/Utilities/helper.d.ts +0 -19
  257. package/src/View/AdaptableWizardView/Utilities/helper.js +0 -81
  258. package/src/View/AdaptableWizardView/Wizard.d.ts +0 -57
  259. package/src/View/AdaptableWizardView/Wizard.js +0 -98
  260. package/src/View/AdaptableWizardView/index.d.ts +0 -4
  261. package/src/View/AdaptableWizardView/index.js +0 -4
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type ColorPickerTab } from '../ColorPicker';
2
+ import { type ColorPickerColourLists, type ColorPickerTab, type ColorPickerTabName } from '../ColorPicker';
3
3
  export type ColorFieldProps = {
4
4
  /**
5
5
  * CSS colour — a theme token as `var(--ab-color-…)` or a custom hex;
@@ -14,10 +14,20 @@ export type ColorFieldProps = {
14
14
  defaultColor?: string;
15
15
  /** Whether a custom colour can have opacity; default `true`. */
16
16
  includeAlpha?: boolean;
17
- /** Default `'Precise'`. */
17
+ /** Default `'Custom'`. */
18
18
  preciseTabLabel?: ReactNode;
19
19
  /** Default `'Palette'`. */
20
20
  colorsTabLabel?: ReactNode;
21
+ /** The picker tabs, in order; see `ColorPickerProps.tabs`. */
22
+ tabs?: readonly ColorPickerTabName[];
23
+ /** Order the swatches around the colour wheel; see `ColorPickerProps.orderPaletteColours`. */
24
+ orderPaletteColours?: boolean;
25
+ /** Leave out a swatch that paints the same hex as one already listed. */
26
+ removeDuplicates?: boolean;
27
+ /** Which supplied colours to show; see `ColorPickerProps.filterColours`. */
28
+ filterColours?: (colours: ColorPickerColourLists) => ColorPickerColourLists | void;
29
+ /** Theme and Palette headings when both groups have colours. */
30
+ showGroupLabels?: boolean;
21
31
  /** The tab the picker opens on; see `ColorPickerProps.defaultTab`. */
22
32
  defaultTab?: ColorPickerTab;
23
33
  /** The picker tab shown, for a controlled picker; see `ColorPickerProps.tab`. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ColorField/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAIpE,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,sEAAsE;IACtE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,wEAAwE;IACxE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAwEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAwFhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ColorField/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AAIpE,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAExB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,mEAAmE;IACnE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrC,8FAA8F;IAC9F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,sBAAsB,GAAG,IAAI,CAAC;IACnF,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sEAAsE;IACtE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,iFAAiF;IACjF,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,wEAAwE;IACxE,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAwEF;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BA4EhD"}
@@ -1,8 +1,8 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  import { X } from 'lucide-react';
4
4
  import { Button } from '../Button';
5
- import { CHECKERBOARD, ColorPicker, describeColor, HEX_COLOR, } from '../ColorPicker';
5
+ import { CHECKERBOARD, ColorPicker, describeColor, } from '../ColorPicker';
6
6
  import { cn } from '../lib/utils';
7
7
  import { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';
8
8
  /**
@@ -75,7 +75,6 @@ export function ColorField(props) {
75
75
  const dataName = props['data-name'];
76
76
  const { draft: value, setColor, commit } = useDraftColor(props.value, props.onChange);
77
77
  const [open, setOpen] = useState(false);
78
- const isCustom = !!value && HEX_COLOR.test(value);
79
- return (_jsxs("div", { className: cn('twa:flex twa:h-input twa:min-w-0 twa:items-center twa:gap-1.5', disabled && 'twa:opacity-50', props.className), children: [_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { id: props.id, title: props.title, disabled: disabled, "data-name": dataName, "data-value": value, "aria-label": value ? `Colour: ${describeColor(value)}` : 'Colour: not set', className: cn('twa:relative twa:block twa:h-input twa:w-12 twa:shrink-0 twa:cursor-pointer twa:overflow-hidden twa:rounded-md twa:border twa:border-input twa:p-0', 'twa:focus-visible:outline-none twa:focus-visible:ring-2 twa:focus-visible:ring-ring/50', 'twa:disabled:cursor-not-allowed'), children: _jsx("span", { "data-name": `${dataName}-swatch`, "data-value": value, style: value ? { backgroundColor: value } : CHECKERBOARD, className: "twa:absolute twa:inset-0" }) }), _jsx(PopoverContent, { align: "start", container: props.container, "data-name": `${dataName}-popover`, className: "twa:w-[300px] twa:p-3", children: _jsx(ColorPicker, { "data-name": dataName, value: value, onInput: setColor, onCommit: commit, onSwatchPicked: () => setOpen(false), defaultColor: props.defaultColor, includeAlpha: props.includeAlpha, preciseTabLabel: props.preciseTabLabel, colorsTabLabel: props.colorsTabLabel, defaultTab: props.defaultTab, tab: props.tab, onTabChange: props.onTabChange }) })] }), value ? (_jsxs(_Fragment, { children: [_jsx("span", { title: value, "data-name": `${dataName}-label`, className: cn('twa:min-w-0 twa:truncate twa:text-xs twa:text-muted-foreground', isCustom && 'twa:font-mono'), children: describeColor(value) }), clearable ? (_jsx(Button, { variant: "ghost", size: "icon-xs", disabled: disabled, "data-name": `${dataName}-clear`, tooltip: "Clear", onClick: () => commit(undefined), children: _jsx(X, { "aria-hidden": true }) })) : null] })) : (_jsx("span", { className: "twa:text-xs twa:text-muted-foreground", children: "Not set" }))] }));
78
+ return (_jsxs("div", { className: cn('twa:flex twa:h-input twa:min-w-0 twa:items-center twa:gap-1.5', disabled && 'twa:opacity-50', props.className), children: [_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { id: props.id, title: props.title, disabled: disabled, "data-name": dataName, "data-value": value, "aria-label": value ? `Colour: ${describeColor(value)}` : 'Colour: not set', className: cn('twa:relative twa:block twa:h-input twa:w-12 twa:shrink-0 twa:cursor-pointer twa:overflow-hidden twa:rounded-md twa:border twa:border-input twa:p-0', 'twa:focus-visible:outline-none twa:focus-visible:ring-2 twa:focus-visible:ring-ring/50', 'twa:disabled:cursor-not-allowed'), children: _jsx("span", { "data-name": `${dataName}-swatch`, "data-value": value, style: value ? { backgroundColor: value } : CHECKERBOARD, className: "twa:absolute twa:inset-0" }) }), _jsx(PopoverContent, { align: "start", container: props.container, "data-name": `${dataName}-popover`, className: "twa:w-[300px] twa:p-3", children: _jsx(ColorPicker, { "data-name": dataName, value: value, onInput: setColor, onCommit: commit, onSwatchPicked: () => setOpen(false), defaultColor: props.defaultColor, includeAlpha: props.includeAlpha, preciseTabLabel: props.preciseTabLabel, colorsTabLabel: props.colorsTabLabel, tabs: props.tabs, orderPaletteColours: props.orderPaletteColours, removeDuplicates: props.removeDuplicates, filterColours: props.filterColours, showGroupLabels: props.showGroupLabels, defaultTab: props.defaultTab, tab: props.tab, onTabChange: props.onTabChange }) })] }), value && clearable ? (_jsx(Button, { variant: "ghost", size: "icon-xs", disabled: disabled, "data-name": `${dataName}-clear`, tooltip: "Clear", onClick: () => commit(undefined), children: _jsx(X, { "aria-hidden": true }) })) : null] }));
80
79
  }
81
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ColorField/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ColorField/index.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
2
  import { type ColorPickerTab } from './colorPickerTab';
3
+ import { type ColorPickerTabName, type ThemeColor } from './themeColors';
3
4
  export { setColorPickerTab, useColorPickerTab } from './colorPickerTab';
4
5
  export type { ColorPickerTab } from './colorPickerTab';
5
- export { ALLOWED_COLORS_VAR, describeColor, PALETTE_COUNT_VAR, parseTabs, readAllowedColors, readPaletteColors, readTabs, TABS_VAR, THEME_COLOR_GROUP, } from './themeColors';
6
- export type { AllowedColors, ThemeColor, ThemeColorGroup } from './themeColors';
6
+ export { ALLOWED_COLORS_VAR, coloursKeptFromSource, describeColor, normalizeColorPickerTabs, PALETTE_COUNT_VAR, parseTabs, readAllowedColors, readAllPaletteColors, readPaletteColors, readTabs, TABS_VAR, THEME_COLOR_GROUP, } from './themeColors';
7
+ export type { AllowedColors, ColorPickerTabName, ThemeColor, ThemeColorGroup, } from './themeColors';
7
8
  export type ColorPickerProps = {
8
9
  /** A theme token as `var(--ab-color-…)`, a hex, or nothing. */
9
10
  value: string | undefined;
@@ -19,13 +20,44 @@ export type ColorPickerProps = {
19
20
  defaultColor?: string;
20
21
  /** Whether a custom colour can have opacity; default `true`. */
21
22
  includeAlpha?: boolean;
22
- /** Default `'Precise'`. */
23
+ /** Default `'Custom'`. */
23
24
  preciseTabLabel?: ReactNode;
24
25
  /** Default `'Palette'`. */
25
26
  colorsTabLabel?: ReactNode;
27
+ /**
28
+ * The tabs to show, in this order. `Custom` is the free picker; `Palette` is
29
+ * the swatches. The first is the one the picker opens on, until the user
30
+ * picks another (or `defaultTab` / `tab` says otherwise). One tab hides the
31
+ * tab bar. When omitted, `--ab-cmp-color-picker__tabs` and
32
+ * `--ab-cmp-color-picker__allowed-colors` decide, and the default is
33
+ * `['Custom', 'Palette']`.
34
+ */
35
+ tabs?: readonly ColorPickerTabName[];
36
+ /**
37
+ * Order the swatches around the colour wheel. When `false`, each colour
38
+ * stays in the order the theme lists it. Default `true`.
39
+ */
40
+ orderPaletteColours?: boolean;
41
+ /**
42
+ * Leave out a swatch that paints the same hex as one already listed. The
43
+ * first one stays. Default `true`.
44
+ */
45
+ removeDuplicates?: boolean;
46
+ /**
47
+ * Chooses which of the supplied colours to show. A returned colour whose
48
+ * `value` is not in that list is ignored. Return nothing to show every
49
+ * colour. When omitted, `--ab-cmp-color-picker__palette-count` and
50
+ * `--ab-cmp-color-picker__allowed-colors: palette` decide.
51
+ */
52
+ filterColours?: (colours: ColorPickerColourLists) => ColorPickerColourLists | void;
53
+ /**
54
+ * Show Theme and Palette headings when both groups have colours. Default
55
+ * `false`, which is one grid.
56
+ */
57
+ showGroupLabels?: boolean;
26
58
  /**
27
59
  * The tab to open on; wins over the tab the user last picked and the first
28
- * tab in `--ab-cmp-color-picker__tabs`. Ignored when that tab is not shown.
60
+ * tab in `tabs`. Ignored when that tab is not shown.
29
61
  */
30
62
  defaultTab?: ColorPickerTab;
31
63
  /**
@@ -37,23 +69,30 @@ export type ColorPickerProps = {
37
69
  onTabChange?: (tab: ColorPickerTab) => void;
38
70
  'data-name': string;
39
71
  };
72
+ /** Theme colours and palette colours, the two lists a filter receives and returns. */
73
+ export type ColorPickerColourLists = {
74
+ themeColours: ThemeColor[];
75
+ paletteColours: ThemeColor[];
76
+ };
40
77
  /** `#rrggbb`, or `#rrggbbaa` when the colour has opacity. */
41
78
  export declare const HEX_COLOR: RegExp;
42
79
  /** Transparency checkerboard — the "no colour" preview. */
43
80
  export declare const CHECKERBOARD: CSSProperties;
44
81
  /**
45
82
  * The colour picker's popover body: a palette tab with the Adaptable theme
46
- * colours and a Precise tab with a free picker, over a footer shared by both —
83
+ * colours and a Custom tab with a free picker, over a footer shared by both —
47
84
  * the current colour, an eyedropper where the browser has one, and a hex
48
85
  * field.
49
86
  *
50
- * `--ab-cmp-color-picker__tabs` sets which tabs show and in what order. The
51
- * picker shows `tab` when controlled; otherwise it opens on `defaultTab`, else
52
- * on the tab the user last picked in any picker on the page (see
53
- * `colorPickerTab.ts`), else on the first listed tab.
87
+ * `tabs` sets which tabs show and in what order. The picker shows `tab` when
88
+ * controlled; otherwise it opens on `defaultTab`, else on the tab the user
89
+ * last picked in any picker on the page (see `colorPickerTab.ts`), else on
90
+ * the first listed tab.
54
91
  *
55
- * `--ab-cmp-color-picker__allowed-colors: predefined` drops the Precise tab,
56
- * so no custom colour can be picked; `palette` also drops the theme colours.
92
+ * Without `tabs`, the CSS variables decide: `--ab-cmp-color-picker__tabs`
93
+ * sets the tabs, and `--ab-cmp-color-picker__allowed-colors: predefined`
94
+ * drops the Custom tab, so no custom colour can be picked; `palette` also
95
+ * drops the theme colours (unless `filterColours` is given).
57
96
  */
58
97
  export declare function ColorPicker(props: ColorPickerProps): import("react").JSX.Element;
59
98
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAUf,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAY1E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oFAAoF;IACpF,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,qFAAqF;IACrF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,SAAS,QAAkC,CAAC;AAazD,2DAA2D;AAC3D,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAC;AA2EF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAgOlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAUf,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAUL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAGhB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oFAAoF;IACpF,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,qFAAqF;IACrF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,sBAAsB,GAAG,IAAI,CAAC;IACnF;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,UAAU,EAAE,CAAC;CAC9B,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,SAAS,QAAkC,CAAC;AAazD,2DAA2D;AAC3D,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAC;AA8OF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAgRlD"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useLayoutEffect, useMemo, useRef, useState, } from 'react';
2
+ import { useEffect, useLayoutEffect, useRef, useState, } from 'react';
3
3
  import { Check, Grid2x2, Pipette, SlidersHorizontal } from 'lucide-react';
4
4
  import { HexAlphaColorPicker, HexColorPicker } from 'react-colorful';
5
5
  import { Button } from '../Button';
@@ -8,9 +8,9 @@ import { cn } from '../lib/utils';
8
8
  import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText } from '../ui/input-group';
9
9
  import { Tabs, TabsContent, TabsList, TabsTrigger } from '../ui/tabs';
10
10
  import { useColorPickerTab } from './colorPickerTab';
11
- import { describeColor, readAllowedColors, readPaletteColors, readTabs, THEME_COLOR_GROUP, } from './themeColors';
11
+ import { coloursKeptFromSource, describeColor, normalizeColorPickerTabs, readAllowedColors, readAllPaletteColors, readPaletteColors, readTabs, THEME_COLOR_GROUP, sortColorsByHex, uniqueColorsByKey, } from './themeColors';
12
12
  export { setColorPickerTab, useColorPickerTab } from './colorPickerTab';
13
- export { ALLOWED_COLORS_VAR, describeColor, PALETTE_COUNT_VAR, parseTabs, readAllowedColors, readPaletteColors, readTabs, TABS_VAR, THEME_COLOR_GROUP, } from './themeColors';
13
+ export { ALLOWED_COLORS_VAR, coloursKeptFromSource, describeColor, normalizeColorPickerTabs, PALETTE_COUNT_VAR, parseTabs, readAllowedColors, readAllPaletteColors, readPaletteColors, readTabs, TABS_VAR, THEME_COLOR_GROUP, } from './themeColors';
14
14
  /** `#rrggbb`, or `#rrggbbaa` when the colour has opacity. */
15
15
  export const HEX_COLOR = /^#([0-9a-f]{6}|[0-9a-f]{8})$/i;
16
16
  const HEX_DIGITS = /^([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
@@ -62,42 +62,163 @@ function useResolvedHex(value, previewRef) {
62
62
  }
63
63
  const eyeDropperSupported = () => typeof window !== 'undefined' && typeof window.EyeDropper === 'function';
64
64
  /**
65
- * The palette, the allowed colours and the tabs in effect where the picker
66
- * renders, read from CSS once it is in the document (see `readPaletteColors`).
65
+ * The swatches in effect where the picker renders, read from CSS once it is
66
+ * in the document. With `filterColours`, every palette colour is supplied to
67
+ * it; without, `--ab-cmp-color-picker__palette-count` caps the palette and
68
+ * `--ab-cmp-color-picker__allowed-colors: palette` drops the theme colours.
67
69
  */
68
- function usePalette(elementRef) {
69
- const [palette, setPalette] = useState({
70
- colors: [],
71
- allowed: 'any',
72
- tabs: ['precise', 'colors'],
73
- });
70
+ function usePalette(elementRef, excludeColor, orderPaletteColours, removeDuplicates, showGroupLabels, filterColours) {
71
+ const filterRef = useRef(filterColours);
72
+ filterRef.current = filterColours;
73
+ const hasFilter = !!filterColours;
74
+ const [sections, setSections] = useState([]);
75
+ const [css, setCss] = useState({ tabs: ['precise', 'colors'], allowed: 'any' });
74
76
  useLayoutEffect(() => {
75
- if (elementRef.current) {
76
- setPalette({
77
- colors: readPaletteColors(elementRef.current),
78
- allowed: readAllowedColors(elementRef.current),
79
- tabs: readTabs(elementRef.current),
80
- });
77
+ const element = elementRef.current;
78
+ if (!element) {
79
+ return;
81
80
  }
82
- }, [elementRef]);
83
- return palette;
81
+ const allowed = readAllowedColors(element);
82
+ setCss({ tabs: readTabs(element), allowed });
83
+ const filter = filterRef.current;
84
+ const visible = (color) => color.value !== excludeColor;
85
+ const paletteColours = (filter ? readAllPaletteColors(element) : readPaletteColors(element)).filter(visible);
86
+ const themeColours = !filter && allowed === 'palette' ? [] : THEME_COLOR_GROUP.colors.filter(visible);
87
+ const supplied = filter
88
+ ? withComputedHex(element, themeColours, paletteColours)
89
+ : { themeColours, paletteColours };
90
+ const filtered = applyColourFilter(supplied.themeColours, supplied.paletteColours, filter);
91
+ setSections(layoutSwatches(element, filtered, {
92
+ orderPaletteColours,
93
+ removeDuplicates,
94
+ showGroupLabels,
95
+ }));
96
+ }, [elementRef, excludeColor, orderPaletteColours, removeDuplicates, showGroupLabels, hasFilter]);
97
+ return { sections, css };
98
+ }
99
+ /** The same colours, each with the hex the active theme paints for it. */
100
+ function withComputedHex(host, themeColours, paletteColours) {
101
+ const hexOf = computedHexes(host, [...themeColours, ...paletteColours]);
102
+ const attach = (colors) => colors.map((color) => {
103
+ const hex = hexOf.get(color.value);
104
+ return hex ? { ...color, hex } : color;
105
+ });
106
+ return { themeColours: attach(themeColours), paletteColours: attach(paletteColours) };
107
+ }
108
+ /** Keeps only colours from the list they were returned in. No result shows every colour. */
109
+ function applyColourFilter(themeColours, paletteColours, filterColours) {
110
+ if (!filterColours) {
111
+ return { themeColours, paletteColours };
112
+ }
113
+ const result = filterColours({ themeColours, paletteColours });
114
+ if (!result) {
115
+ return { themeColours, paletteColours };
116
+ }
117
+ return {
118
+ themeColours: coloursKeptFromSource(result.themeColours, themeColours),
119
+ paletteColours: coloursKeptFromSource(result.paletteColours, paletteColours),
120
+ };
121
+ }
122
+ /**
123
+ * One grid, or a Theme section and a Palette section. Ordering and duplicate
124
+ * removal run after the filter: across the whole list when there is one grid,
125
+ * and inside each group when the headings are shown. A palette colour that
126
+ * paints the same hex as a theme colour is the one left out.
127
+ */
128
+ function layoutSwatches(host, lists, options) {
129
+ const { themeColours, paletteColours } = lists;
130
+ if (!options.showGroupLabels) {
131
+ return [
132
+ {
133
+ id: 'all',
134
+ colors: arrangeSwatches(host, [...themeColours, ...paletteColours], options),
135
+ },
136
+ ];
137
+ }
138
+ const arranged = arrangeGroups(host, themeColours, paletteColours, options);
139
+ const sections = [
140
+ { id: 'theme', label: 'Theme', colors: arranged.themeColours },
141
+ { id: 'palette', label: 'Palette', colors: arranged.paletteColours },
142
+ ];
143
+ const filled = sections.filter((section) => section.colors.length > 0);
144
+ // a single remaining group has nothing to distinguish it from
145
+ return filled.length > 1 ? filled : [{ id: 'all', colors: filled[0]?.colors ?? [] }];
146
+ }
147
+ function arrangeGroups(host, themeColours, paletteColours, options) {
148
+ if (!options.orderPaletteColours && !options.removeDuplicates) {
149
+ return { themeColours, paletteColours };
150
+ }
151
+ const hexOf = computedHexes(host, [...themeColours, ...paletteColours]);
152
+ const themeValues = new Set(themeColours.map((color) => color.value));
153
+ const listed = options.removeDuplicates
154
+ ? uniqueColorsByKey([...themeColours, ...paletteColours], (color) => hexOf.get(color.value))
155
+ : [...themeColours, ...paletteColours];
156
+ const theme = listed.filter((color) => themeValues.has(color.value));
157
+ const palette = listed.filter((color) => !themeValues.has(color.value));
158
+ if (!options.orderPaletteColours) {
159
+ return { themeColours: theme, paletteColours: palette };
160
+ }
161
+ return {
162
+ themeColours: sortColorsByHex(theme, (color) => hexOf.get(color.value)),
163
+ paletteColours: sortColorsByHex(palette, (color) => hexOf.get(color.value)),
164
+ };
165
+ }
166
+ /**
167
+ * The hex a swatch paints, read from a probe in the picker's theme so
168
+ * `var(--ab-color-…)` resolves. With `removeDuplicates`, a later swatch that
169
+ * paints the same hex is dropped. With `orderPaletteColours`, the rest are
170
+ * ordered around the colour wheel. With neither, the given order is kept.
171
+ */
172
+ function arrangeSwatches(host, colors, options) {
173
+ if (!options.orderPaletteColours && !options.removeDuplicates) {
174
+ return colors;
175
+ }
176
+ const hexOf = computedHexes(host, colors);
177
+ const listed = options.removeDuplicates
178
+ ? uniqueColorsByKey(colors, (color) => hexOf.get(color.value))
179
+ : colors;
180
+ return options.orderPaletteColours
181
+ ? sortColorsByHex(listed, (color) => hexOf.get(color.value))
182
+ : listed;
183
+ }
184
+ function computedHexes(host, colors) {
185
+ const probe = host.ownerDocument.createElement('span');
186
+ probe.style.cssText = 'position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;';
187
+ host.appendChild(probe);
188
+ const hexOf = new Map();
189
+ try {
190
+ for (const color of colors) {
191
+ probe.style.backgroundColor = '';
192
+ probe.style.backgroundColor = color.value;
193
+ const hex = rgbToHex(getComputedStyle(probe).backgroundColor);
194
+ if (hex) {
195
+ hexOf.set(color.value, hex);
196
+ }
197
+ }
198
+ }
199
+ finally {
200
+ probe.remove();
201
+ }
202
+ return hexOf;
84
203
  }
85
204
  /**
86
205
  * The colour picker's popover body: a palette tab with the Adaptable theme
87
- * colours and a Precise tab with a free picker, over a footer shared by both —
206
+ * colours and a Custom tab with a free picker, over a footer shared by both —
88
207
  * the current colour, an eyedropper where the browser has one, and a hex
89
208
  * field.
90
209
  *
91
- * `--ab-cmp-color-picker__tabs` sets which tabs show and in what order. The
92
- * picker shows `tab` when controlled; otherwise it opens on `defaultTab`, else
93
- * on the tab the user last picked in any picker on the page (see
94
- * `colorPickerTab.ts`), else on the first listed tab.
210
+ * `tabs` sets which tabs show and in what order. The picker shows `tab` when
211
+ * controlled; otherwise it opens on `defaultTab`, else on the tab the user
212
+ * last picked in any picker on the page (see `colorPickerTab.ts`), else on
213
+ * the first listed tab.
95
214
  *
96
- * `--ab-cmp-color-picker__allowed-colors: predefined` drops the Precise tab,
97
- * so no custom colour can be picked; `palette` also drops the theme colours.
215
+ * Without `tabs`, the CSS variables decide: `--ab-cmp-color-picker__tabs`
216
+ * sets the tabs, and `--ab-cmp-color-picker__allowed-colors: predefined`
217
+ * drops the Custom tab, so no custom colour can be picked; `palette` also
218
+ * drops the theme colours (unless `filterColours` is given).
98
219
  */
99
220
  export function ColorPicker(props) {
100
- const { value, onInput, onCommit, excludeColor, defaultColor = PICKER_START, includeAlpha = true, preciseTabLabel = 'Precise', colorsTabLabel = 'Palette', defaultTab, onTabChange, } = props;
221
+ const { value, onInput, onCommit, excludeColor, defaultColor = PICKER_START, includeAlpha = true, preciseTabLabel = 'Custom', colorsTabLabel = 'Palette', tabs: tabsProp, orderPaletteColours = true, removeDuplicates = true, showGroupLabels = false, filterColours, defaultTab, onTabChange, } = props;
101
222
  const dataName = props['data-name'];
102
223
  const [lastPickedTab, setLastPickedTab] = useColorPickerTab();
103
224
  // so a picker with `defaultTab` can still switch tabs while it is open
@@ -105,20 +226,12 @@ export function ColorPicker(props) {
105
226
  const previewRef = useRef(null);
106
227
  const resolvedHex = useResolvedHex(value, previewRef);
107
228
  const hex = includeAlpha ? resolvedHex : resolvedHex?.slice(0, 7);
108
- const palette = usePalette(previewRef);
109
- const tab = [props.tab, ownTab, defaultTab, lastPickedTab].find((t) => t != null && palette.tabs.includes(t)) ?? palette.tabs[0];
229
+ const { sections: swatchSections, css } = usePalette(previewRef, excludeColor, orderPaletteColours, removeDuplicates, showGroupLabels, filterColours);
230
+ const tabsFromCss = tabsProp === undefined;
231
+ const shownTabs = tabsFromCss ? css.tabs : normalizeColorPickerTabs(tabsProp);
232
+ const tab = [props.tab, ownTab, defaultTab, lastPickedTab].find((t) => t != null && shownTabs.includes(t)) ?? shownTabs[0];
110
233
  const defaultRef = useRef(null);
111
234
  const startHex = useResolvedHex(defaultColor, defaultRef) ?? PICKER_START;
112
- const groups = useMemo(() => {
113
- const paletteGroup = { id: 'palette', label: 'Palette', colors: palette.colors };
114
- const all = palette.allowed === 'palette' ? [paletteGroup] : [THEME_COLOR_GROUP, paletteGroup];
115
- return all
116
- .map((group) => ({
117
- ...group,
118
- colors: group.colors.filter((color) => color.value !== excludeColor),
119
- }))
120
- .filter((group) => group.colors.length > 0);
121
- }, [palette, excludeColor]);
122
235
  // the hex field is free text until it parses; it snaps back to the colour on blur
123
236
  const [hexDraft, setHexDraft] = useState(null);
124
237
  useEffect(() => setHexDraft(null), [value]);
@@ -150,13 +263,18 @@ export function ColorPicker(props) {
150
263
  // cancelled with Escape
151
264
  }
152
265
  };
153
- const swatches = (_jsx(SwatchGroups, { groups: groups, value: value, "data-name": dataName, onPick: (color) => {
154
- onCommit(color);
155
- props.onSwatchPicked?.();
156
- } }));
157
- const preview = (_jsx(Tooltip, { label: value ? describeColor(value) : 'Not set', children: _jsx("span", { ref: previewRef, "data-name": `${dataName}-preview`, "data-value": value, style: value ? { backgroundColor: value } : CHECKERBOARD, className: "twa:block twa:size-9 twa:shrink-0 twa:rounded-full twa:border twa:border-foreground/10" }) }));
158
- if (palette.allowed !== 'any') {
159
- return (_jsxs("div", { "data-name": `${dataName}-picker`, className: "twa:flex twa:flex-col twa:gap-3", children: [_jsx("div", { className: cn(CONTENT_HEIGHT, SWATCHES_LAYOUT), children: swatches }), _jsxs("div", { className: FOOTER_LAYOUT, children: [preview, _jsx("span", { className: "twa:min-w-0 twa:truncate twa:text-xs twa:text-muted-foreground", children: value ? describeColor(value) : 'Not set' })] })] }));
266
+ const swatches = (_jsx("div", { className: "twa:flex twa:flex-col twa:gap-2.5", children: swatchSections.map((section) => (_jsxs("div", { className: "twa:flex twa:flex-col twa:gap-1", children: [section.label ? (_jsx("div", { "data-name": `${dataName}-group-${section.id}`, className: "twa:px-0.5 twa:text-xs twa:text-muted-foreground", children: section.label })) : null, _jsx(Swatches, { colors: section.colors, value: value, "data-name": dataName, onPick: (color) => {
267
+ onCommit(color);
268
+ props.onSwatchPicked?.();
269
+ } })] }, section.id))) }));
270
+ const described = value ? describeColor(value) : undefined;
271
+ // a raw hex is already shown in the hex field; a theme or palette colour has a name
272
+ const colorName = described && described !== value ? described : undefined;
273
+ const previewSwatch = (_jsx("span", { ref: previewRef, "data-name": `${dataName}-preview`, "data-value": value, style: value ? { backgroundColor: value } : CHECKERBOARD, className: "twa:block twa:size-9 twa:shrink-0 twa:rounded-full twa:border twa:border-foreground/10" }));
274
+ const preview = colorName ? (_jsx(Tooltip, { label: colorName, children: previewSwatch })) : (previewSwatch);
275
+ const name = colorName ? (_jsx("span", { "data-name": `${dataName}-name`, title: colorName, className: "twa:min-w-0 twa:max-w-28 twa:truncate twa:text-xs twa:text-muted-foreground", children: colorName })) : null;
276
+ if (tabsFromCss && css.allowed !== 'any') {
277
+ return (_jsxs("div", { "data-name": `${dataName}-picker`, className: "twa:flex twa:flex-col twa:gap-3", children: [_jsx("div", { className: cn(CONTENT_HEIGHT, SWATCHES_LAYOUT), children: swatches }), _jsxs("div", { className: FOOTER_LAYOUT, children: [preview, value ? (_jsx("span", { "data-name": `${dataName}-name`, className: "twa:min-w-0 twa:truncate twa:text-xs twa:text-muted-foreground", children: described })) : null] })] }));
160
278
  }
161
279
  const PrecisePicker = includeAlpha ? HexAlphaColorPicker : HexColorPicker;
162
280
  const triggers = {
@@ -178,7 +296,7 @@ export function ColorPicker(props) {
178
296
  setOwnTab(next);
179
297
  setLastPickedTab(next);
180
298
  onTabChange?.(next);
181
- }, "data-name": `${dataName}-picker`, className: "twa:gap-3", children: [palette.tabs.length > 1 ? (_jsx(TabsList, { className: "twa:grid twa:w-full twa:grid-cols-2", children: palette.tabs.map((id) => triggers[id]) })) : null, palette.tabs.map((id) => contents[id]), _jsxs("div", { className: FOOTER_LAYOUT, children: [preview, _jsx("span", { ref: defaultRef, hidden: true, style: { backgroundColor: defaultColor } }), canPickFromScreen ? (_jsx(Button, { variant: "outline", size: "icon-sm", "data-name": `${dataName}-eyedropper`, tooltip: "Pick a colour from the screen", onClick: pickFromScreen, className: "twa:shrink-0 twa:rounded-full", children: _jsx(Pipette, { "aria-hidden": true }) })) : null, _jsxs(InputGroup, { className: "twa:h-8 twa:min-h-8 twa:min-w-0 twa:flex-1", children: [_jsx(InputGroupAddon, { children: _jsx(InputGroupText, { className: "twa:font-mono", children: "#" }) }), _jsx(InputGroupInput, { "data-name": `${dataName}-hex`, "aria-label": "Hex colour", value: hexText, placeholder: hex ? undefined : '000000', spellCheck: false, autoComplete: "off", maxLength: includeAlpha ? 9 : 7, className: "twa:font-mono twa:text-xs", onChange: (event) => {
299
+ }, "data-name": `${dataName}-picker`, className: "twa:gap-3", children: [shownTabs.length > 1 ? (_jsx(TabsList, { className: "twa:grid twa:w-full twa:grid-cols-2", children: shownTabs.map((id) => triggers[id]) })) : null, shownTabs.map((id) => contents[id]), _jsxs("div", { className: FOOTER_LAYOUT, children: [preview, tab === 'colors' ? name : null, _jsx("span", { ref: defaultRef, hidden: true, style: { backgroundColor: defaultColor } }), tab === 'precise' && canPickFromScreen ? (_jsx(Button, { variant: "outline", size: "icon-sm", "data-name": `${dataName}-eyedropper`, tooltip: "Pick a colour from the screen", onClick: pickFromScreen, className: "twa:shrink-0 twa:rounded-full", children: _jsx(Pipette, { "aria-hidden": true }) })) : null, tab === 'precise' ? (_jsxs(InputGroup, { className: "twa:h-8 twa:min-h-8 twa:min-w-0 twa:flex-1", children: [_jsx(InputGroupAddon, { children: _jsx(InputGroupText, { className: "twa:font-mono", children: "#" }) }), _jsx(InputGroupInput, { "data-name": `${dataName}-hex`, "aria-label": "Hex colour", value: hexText, placeholder: hex ? undefined : '000000', spellCheck: false, autoComplete: "off", maxLength: includeAlpha ? 9 : 7, className: "twa:font-mono twa:text-xs", onChange: (event) => {
182
300
  setHexDraft(event.target.value);
183
301
  commitHexDraft(event.target.value, { allowShort: false });
184
302
  }, onBlur: (event) => {
@@ -189,16 +307,16 @@ export function ColorPicker(props) {
189
307
  commitHexDraft(event.currentTarget.value, { allowShort: true });
190
308
  setHexDraft(null);
191
309
  }
192
- } })] })] })] }));
310
+ } })] })) : (_jsx("span", { "data-name": `${dataName}-hex-text`, className: "twa:ml-auto twa:min-w-0 twa:truncate twa:font-mono twa:text-xs twa:text-muted-foreground", children: hex ? `#${hex}` : '' }))] })] }));
193
311
  }
194
312
  const SWATCHES_LAYOUT = 'twa:flex twa:flex-col twa:gap-2.5 twa:overflow-y-auto twa:overscroll-contain twa:pr-1';
195
313
  const FOOTER_LAYOUT = 'twa:flex twa:items-center twa:gap-2 twa:border-t twa:border-foreground/10 twa:pt-3';
196
- function SwatchGroups(props) {
197
- const { groups, value, onPick } = props;
314
+ function Swatches(props) {
315
+ const { colors, value, onPick } = props;
198
316
  const dataName = props['data-name'];
199
- return groups.map((group) => (_jsxs("div", { className: "twa:flex twa:flex-col twa:gap-1", children: [_jsx("div", { className: "twa:text-xs twa:font-medium twa:text-muted-foreground", children: group.label }), _jsx("div", { role: "listbox", "aria-label": `${group.label} colours`, "data-name": `${dataName}-options`, "data-group": group.id, className: "twa:grid twa:grid-cols-8 twa:gap-1", children: group.colors.map((color) => {
200
- const selected = color.value === value;
201
- return (_jsx(Tooltip, { label: color.label, className: "twa:min-w-0", children: _jsx("button", { type: "button", role: "option", "aria-selected": selected, "aria-label": color.label, "data-name": `${dataName}-option`, "data-value": color.value, onClick: () => onPick(color.value), style: { backgroundColor: color.value }, className: cn('twa:flex twa:h-7 twa:w-full twa:items-center twa:justify-center twa:rounded-md twa:border twa:border-foreground/10 twa:transition-[box-shadow,transform]', 'twa:hover:scale-105 twa:hover:ring-2 twa:hover:ring-ring/40 twa:focus-visible:outline-none twa:focus-visible:ring-2 twa:focus-visible:ring-ring/50', selected && 'twa:ring-2 twa:ring-accent twa:ring-offset-1 twa:ring-offset-popover'), children: selected ? (_jsx(Check, { "aria-hidden": true, className: "twa:size-3.5 twa:text-white twa:drop-shadow-[0_0_1px_rgba(0,0,0,0.9)]" })) : null }) }, color.value));
202
- }) })] }, group.id)));
317
+ return (_jsx("div", { role: "listbox", "aria-label": "Colours", "data-name": `${dataName}-options`, className: "twa:grid twa:grid-cols-8 twa:gap-1", children: colors.map((color) => {
318
+ const selected = color.value === value;
319
+ return (_jsx(Tooltip, { label: color.label, className: "twa:min-w-0", children: _jsx("button", { type: "button", role: "option", "aria-selected": selected, "aria-label": color.label, "data-name": `${dataName}-option`, "data-value": color.value, onClick: () => onPick(color.value), style: { backgroundColor: color.value }, className: cn('twa:flex twa:h-7 twa:w-full twa:items-center twa:justify-center twa:rounded-md twa:border twa:border-foreground/10 twa:transition-[box-shadow,transform]', 'twa:hover:scale-105 twa:hover:ring-2 twa:hover:ring-ring/40 twa:focus-visible:outline-none twa:focus-visible:ring-2 twa:focus-visible:ring-ring/50', selected && 'twa:ring-2 twa:ring-accent twa:ring-offset-1 twa:ring-offset-popover'), children: selected ? (_jsx(Check, { "aria-hidden": true, className: "twa:size-3.5 twa:text-white twa:drop-shadow-[0_0_1px_rgba(0,0,0,0.9)]" })) : null }) }, color.value));
320
+ }) }));
203
321
  }
204
322
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"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"}