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

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 (32) hide show
  1. package/index.css +7 -0
  2. package/package.json +1 -1
  3. package/src/AdaptableOptions/DefaultAdaptableOptions.js +6 -0
  4. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +81 -0
  5. package/src/View/Filter/ColumnFilter/ColumnFilterNew.js +14 -9
  6. package/src/components/ColorField/index.d.ts +2 -3
  7. package/src/components/ColorField/index.js +22 -2
  8. package/src/components/aql/QueryBuilder/GroupEditor.js +1 -1
  9. package/src/components/aql/QueryBuilder/QueryBuilder.d.ts +5 -0
  10. package/src/components/aql/QueryBuilder/QueryBuilder.js +1 -1
  11. package/src/components/aql/QueryBuilder/context.d.ts +7 -0
  12. package/src/components/aql/QueryBuilder/context.js +3 -1
  13. package/src/env.js +2 -2
  14. package/src/types.d.ts +1 -1
  15. package/tsconfig.esm.tsbuildinfo +1 -1
  16. package/vendor/components/ColorField/index.d.ts +12 -2
  17. package/vendor/components/ColorField/index.d.ts.map +1 -1
  18. package/vendor/components/ColorField/index.js +3 -4
  19. package/vendor/components/ColorField/index.js.map +1 -1
  20. package/vendor/components/ColorPicker/index.d.ts +50 -11
  21. package/vendor/components/ColorPicker/index.d.ts.map +1 -1
  22. package/vendor/components/ColorPicker/index.js +172 -54
  23. package/vendor/components/ColorPicker/index.js.map +1 -1
  24. package/vendor/components/ColorPicker/themeColors.d.ts +42 -1
  25. package/vendor/components/ColorPicker/themeColors.d.ts.map +1 -1
  26. package/vendor/components/ColorPicker/themeColors.js +131 -1
  27. package/vendor/components/ColorPicker/themeColors.js.map +1 -1
  28. package/vendor/components/index.css +6 -0
  29. package/vendor/components/index.d.ts +2 -2
  30. package/vendor/components/index.d.ts.map +1 -1
  31. package/vendor/components/index.js +1 -1
  32. package/vendor/components/index.js.map +1 -1
@@ -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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"}