@adaptabletools/adaptable 24.0.0-canary.4 → 24.0.0-canary.6
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.
- package/aql.d.ts +104 -0
- package/aql.js +212 -0
- package/devtools.d.ts +182 -1
- package/index.css +271 -102
- package/package.json +2 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -4
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +5 -5
- package/src/AdaptableOptions/FlashingCellOptions.d.ts +3 -3
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +6 -4
- package/src/AdaptableOptions/StateOptions.d.ts +37 -13
- package/src/AdaptableState/AdaptableState.d.ts +2 -0
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +15 -0
- package/src/AdaptableState/Common/AdaptableAlert.js +9 -0
- package/src/AdaptableState/QuickSearchState.d.ts +4 -0
- package/src/Api/Events/LayoutChanged.d.ts +5 -3
- package/src/Api/Implementation/AlertApiImpl.d.ts +5 -5
- package/src/Api/Implementation/AlertApiImpl.js +26 -19
- package/src/Api/Implementation/ColumnScopeApiImpl.js +3 -3
- package/src/Api/Implementation/StateApiImpl.d.ts +1 -1
- package/src/Api/Implementation/StateApiImpl.js +4 -3
- package/src/Api/Internal/AlertInternalApi.js +12 -7
- package/src/Api/Internal/CalculatedColumnInternalApi.js +1 -1
- package/src/Api/Internal/StateInternalApi.d.ts +1 -1
- package/src/Api/Internal/StateInternalApi.js +2 -2
- package/src/Api/StateApi.d.ts +2 -2
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -3
- package/src/Redux/ActionsReducers/QuickSearchRedux.d.ts +0 -4
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +3 -7
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.d.ts +8 -0
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +12 -12
- package/src/Redux/Store/AdaptableStore.d.ts +8 -5
- package/src/Redux/Store/AdaptableStore.js +70 -38
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +5 -5
- package/src/Redux/Store/Interface/IStorageEngine.d.ts +4 -4
- package/src/Redux/Store/StateOptionsGuards.d.ts +58 -0
- package/src/Redux/Store/StateOptionsGuards.js +112 -0
- package/src/Redux/Store/isTransientReduxAction.d.ts +5 -0
- package/src/Redux/Store/isTransientReduxAction.js +19 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
- package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
- package/src/Utilities/Constants/ReduxConstants.js +5 -5
- package/src/Utilities/Helpers/AlertTypeHelper.d.ts +1 -1
- package/src/Utilities/Helpers/SettingsPanelHelper.d.ts +14 -0
- package/src/Utilities/Helpers/SettingsPanelHelper.js +37 -1
- package/src/Utilities/Helpers/UIHelper.d.ts +6 -3
- package/src/Utilities/Helpers/UIHelper.js +8 -4
- package/src/Utilities/ObjectFactory.js +3 -3
- package/src/View/Dashboard/DashboardPopupSections.js +1 -1
- package/src/View/GridInfo/GridInfoPopup.js +62 -25
- package/src/View/StyledColumn/RangesComponent.js +6 -6
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +4 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +2 -2
- package/src/View/Wizard/CollapsibleWizardCard.d.ts +3 -1
- package/src/View/Wizard/CollapsibleWizardCard.js +17 -9
- package/src/agGrid/AdaptableAgGrid.d.ts +4 -4
- package/src/agGrid/AdaptableAgGrid.js +2 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +1 -1
- package/src/agGrid/AgGridColumnAdapter.js +7 -5
- package/src/components/aql/QueryBuilder/QueryBuilderInputs.js +12 -2
- package/src/env.js +2 -2
- package/src/layout-manager/src/normalizeLayoutModel.d.ts +1 -1
- package/src/layout-manager/src/simplifyLayoutModel.d.ts +1 -1
- package/src/migration/AdaptableUpgradeHelper.d.ts +7 -2
- package/src/migration/VersionUpgrade17.js +13 -8
- package/src/setupDevTools.js +442 -103
- package/src/types.d.ts +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/upgrade.d.ts +1 -0
- package/upgrade.js +1 -0
- package/vendor/components/Button/index.d.ts +1 -1
- package/vendor/components/Button/index.d.ts.map +1 -1
- package/vendor/components/Button/index.js.map +1 -1
- package/vendor/components/CheckBox/index.d.ts +1 -1
- package/vendor/components/CheckBox/index.d.ts.map +1 -1
- package/vendor/components/CheckBox/index.js.map +1 -1
- package/vendor/components/ColorPicker/colorPickerTab.d.ts +4 -0
- package/vendor/components/ColorPicker/colorPickerTab.d.ts.map +1 -0
- package/vendor/components/ColorPicker/colorPickerTab.js +50 -0
- package/vendor/components/ColorPicker/colorPickerTab.js.map +1 -0
- package/vendor/components/ColorPicker/index.d.ts +31 -0
- package/vendor/components/ColorPicker/index.d.ts.map +1 -0
- package/vendor/components/ColorPicker/index.js +132 -0
- package/vendor/components/ColorPicker/index.js.map +1 -0
- package/vendor/components/ColorPicker/themeColors.d.ts +24 -0
- package/vendor/components/ColorPicker/themeColors.d.ts.map +1 -0
- package/vendor/components/ColorPicker/themeColors.js +52 -0
- package/vendor/components/ColorPicker/themeColors.js.map +1 -0
- package/vendor/components/Combobox/VirtualizedList.d.ts +1 -1
- package/vendor/components/Combobox/VirtualizedList.d.ts.map +1 -1
- package/vendor/components/Combobox/VirtualizedList.js.map +1 -1
- package/vendor/components/Combobox/index.d.ts +1 -1
- package/vendor/components/Combobox/index.d.ts.map +1 -1
- package/vendor/components/Combobox/index.js.map +1 -1
- package/vendor/components/index.css +213 -0
- package/vendor/components/index.d.ts +2 -0
- package/vendor/components/index.d.ts.map +1 -1
- package/vendor/components/index.js +1 -0
- package/vendor/components/index.js.map +1 -1
- package/vendor/components/ui/combobox.d.ts.map +1 -1
- package/vendor/components/ui/combobox.js +1 -1
- package/vendor/components/ui/combobox.js.map +1 -1
package/upgrade.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AdaptableUpgradeHelper, type UpgradeConfig, type MigrationLogger, } from './src/migration/AdaptableUpgradeHelper';
|
package/upgrade.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AdaptableUpgradeHelper, } from './src/migration/AdaptableUpgradeHelper';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Button as UIButton } from '../ui/button';
|
|
3
|
-
import { TooltipProps } from '../Tooltip';
|
|
3
|
+
import { type TooltipProps } from '../Tooltip';
|
|
4
4
|
export type ButtonProps = React.ComponentProps<typeof UIButton> & {
|
|
5
5
|
/**
|
|
6
6
|
* Tooltip shown on hover/focus, rendered with the shared `Tooltip`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAW,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,GAAG;IAChE;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,oGAkBjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAqB,MAAM,YAAY,CAAC;AAYxD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAiC,SAAS,MAAM,CACpF,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAChD,GAAG;IAEH,MAAM,SAAS,GACb,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,KAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,gBAAc,SAAS,GAAI,CAAC;IAExE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,YAC5D,MAAM,GACC,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ReactNode, SyntheticEvent } from 'react';
|
|
2
|
+
import { type ReactNode, type SyntheticEvent } from 'react';
|
|
3
3
|
type HtmlDivProps = Omit<React.HTMLProps<HTMLDivElement>, 'as' | 'checked' | 'children' | 'onChange' | 'ref' | 'value'>;
|
|
4
4
|
export interface CheckBoxSharedProps extends HtmlDivProps {
|
|
5
5
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/CheckBox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAoB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/CheckBox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAoB,MAAM,OAAO,CAAC;AAK9E,KAAK,YAAY,GAAG,IAAI,CACtB,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAC/B,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAC7D,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAChF;AAED,oGAAoG;AACpG,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA+BF,iBAAS,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;AAClE,iBAAS,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC;AA2IpE,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,sBAetD,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CheckBox/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/CheckBox/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorPickerTab.d.ts","sourceRoot":"","sources":["../../src/ColorPicker/colorPickerTab.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;AA8BpD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,QAWpD;AASD,wBAAgB,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC,CAGnF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useSyncExternalStore } from 'react';
|
|
2
|
+
const DEFAULT_TAB = 'precise';
|
|
3
|
+
const STORAGE_KEY = 'adaptable.colorPicker.tab';
|
|
4
|
+
/**
|
|
5
|
+
* The tab the colour picker opens on. One value for every picker on the page
|
|
6
|
+
* (and, through localStorage, across reloads): a user who works from swatches
|
|
7
|
+
* should not have to switch to them in every field.
|
|
8
|
+
*/
|
|
9
|
+
let currentTab = null;
|
|
10
|
+
const listeners = new Set();
|
|
11
|
+
function isTab(value) {
|
|
12
|
+
return value === 'swatches' || value === 'precise';
|
|
13
|
+
}
|
|
14
|
+
function readTab() {
|
|
15
|
+
if (currentTab === null) {
|
|
16
|
+
let stored = null;
|
|
17
|
+
try {
|
|
18
|
+
stored = window.localStorage.getItem(STORAGE_KEY);
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
// storage blocked — the in-memory value still covers this page
|
|
22
|
+
}
|
|
23
|
+
currentTab = isTab(stored) ? stored : DEFAULT_TAB;
|
|
24
|
+
}
|
|
25
|
+
return currentTab;
|
|
26
|
+
}
|
|
27
|
+
export function setColorPickerTab(tab) {
|
|
28
|
+
if (tab === currentTab) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
currentTab = tab;
|
|
32
|
+
try {
|
|
33
|
+
window.localStorage.setItem(STORAGE_KEY, tab);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// see above
|
|
37
|
+
}
|
|
38
|
+
listeners.forEach((listener) => listener());
|
|
39
|
+
}
|
|
40
|
+
function subscribe(listener) {
|
|
41
|
+
listeners.add(listener);
|
|
42
|
+
return () => {
|
|
43
|
+
listeners.delete(listener);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function useColorPickerTab() {
|
|
47
|
+
const tab = useSyncExternalStore(subscribe, readTab, () => DEFAULT_TAB);
|
|
48
|
+
return [tab, setColorPickerTab];
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=colorPickerTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorPickerTab.js","sourceRoot":"","sources":["../../src/ColorPicker/colorPickerTab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAI7C,MAAM,WAAW,GAAmB,SAAS,CAAC;AAC9C,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEhD;;;;GAIG;AACH,IAAI,UAAU,GAA0B,IAAI,CAAC;AAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,SAAS,KAAK,CAAC,KAAc;IAC3B,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,OAAO;IACd,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QACD,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,UAAU,GAAG,GAAG,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAAC,QAAoB;IACrC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type CSSProperties } from 'react';
|
|
2
|
+
import { type ThemeColorGroup } from './themeColors';
|
|
3
|
+
export { setColorPickerTab, useColorPickerTab } from './colorPickerTab';
|
|
4
|
+
export type { ColorPickerTab } from './colorPickerTab';
|
|
5
|
+
export { describeColor, THEME_COLOR_GROUPS } from './themeColors';
|
|
6
|
+
export type { ThemeColor, ThemeColorGroup } from './themeColors';
|
|
7
|
+
export type ColorPickerProps = {
|
|
8
|
+
/** A theme token as `var(--ab-color-…)`, a hex, or nothing. */
|
|
9
|
+
value: string | undefined;
|
|
10
|
+
/** Continuous input (dragging in the precise picker) — the host may throttle it. */
|
|
11
|
+
onInput: (value: string) => void;
|
|
12
|
+
/** A discrete choice (a swatch, a typed hex, the eyedropper) — commit right away. */
|
|
13
|
+
onCommit: (value: string) => void;
|
|
14
|
+
/** After a swatch is picked — the one choice that ends the interaction. */
|
|
15
|
+
onSwatchPicked?: () => void;
|
|
16
|
+
/** The swatch groups offered; the Adaptable theme colours (`THEME_COLOR_GROUPS`) by default. */
|
|
17
|
+
groups?: ThemeColorGroup[];
|
|
18
|
+
'data-name': string;
|
|
19
|
+
};
|
|
20
|
+
/** `#rrggbb`, or `#rrggbbaa` when the colour has opacity. */
|
|
21
|
+
export declare const HEX_COLOR: RegExp;
|
|
22
|
+
/** Transparency checkerboard — the "no colour" preview. */
|
|
23
|
+
export declare const CHECKERBOARD: CSSProperties;
|
|
24
|
+
/**
|
|
25
|
+
* The colour picker's popover body: a Swatches tab with the Adaptable theme
|
|
26
|
+
* colours and a Precise tab with a free picker, over a footer shared by both —
|
|
27
|
+
* the current colour, an eyedropper where the browser has one, and a hex
|
|
28
|
+
* field. The tab is remembered across all pickers (see `colorPickerTab.ts`).
|
|
29
|
+
*/
|
|
30
|
+
export declare function ColorPicker(props: ColorPickerProps): import("react").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAgD,MAAM,OAAO,CAAC;AAWzF,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEjE,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,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,SAAS,QAAkC,CAAC;AAazD,2DAA2D;AAC3D,eAAO,MAAM,YAAY,EAAE,aAI1B,CAAC;AAiDF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BA6LlD"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useLayoutEffect, useRef, useState } from 'react';
|
|
3
|
+
import { Check, Grid2x2, Pipette, SlidersHorizontal } from 'lucide-react';
|
|
4
|
+
import { HexAlphaColorPicker } from 'react-colorful';
|
|
5
|
+
import { Button } from '../Button';
|
|
6
|
+
import { Tooltip } from '../Tooltip';
|
|
7
|
+
import { cn } from '../lib/utils';
|
|
8
|
+
import { InputGroup, InputGroupAddon, InputGroupInput, InputGroupText } from '../ui/input-group';
|
|
9
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '../ui/tabs';
|
|
10
|
+
import { useColorPickerTab } from './colorPickerTab';
|
|
11
|
+
import { describeColor, THEME_COLOR_GROUPS } from './themeColors';
|
|
12
|
+
export { setColorPickerTab, useColorPickerTab } from './colorPickerTab';
|
|
13
|
+
export { describeColor, THEME_COLOR_GROUPS } from './themeColors';
|
|
14
|
+
/** `#rrggbb`, or `#rrggbbaa` when the colour has opacity. */
|
|
15
|
+
export const HEX_COLOR = /^#([0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
16
|
+
const HEX_DIGITS = /^([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
17
|
+
/**
|
|
18
|
+
* Both tabs' content is this tall, so switching tabs never resizes the
|
|
19
|
+
* popover. `flex-none` undoes the panel's default `flex-1`, which in the
|
|
20
|
+
* column-flex root would size it to its content instead.
|
|
21
|
+
*/
|
|
22
|
+
const CONTENT_HEIGHT = 'twa:h-52 twa:flex-none twa:p-1';
|
|
23
|
+
/** Where the precise picker starts while nothing is set. */
|
|
24
|
+
const PICKER_START = '#808080';
|
|
25
|
+
/** Transparency checkerboard — the "no colour" preview. */
|
|
26
|
+
export const CHECKERBOARD = {
|
|
27
|
+
backgroundImage: 'conic-gradient(rgba(128,128,128,0.35) 25%, transparent 0 50%, rgba(128,128,128,0.35) 0 75%, transparent 0)',
|
|
28
|
+
backgroundSize: '8px 8px',
|
|
29
|
+
};
|
|
30
|
+
/** `#abc` → `#aabbcc`; anything else lower-cased with the `#` ensured. */
|
|
31
|
+
function normalizeHex(digits) {
|
|
32
|
+
const d = digits.toLowerCase();
|
|
33
|
+
return `#${d.length === 3 ? d.replace(/./g, (c) => c + c) : d}`;
|
|
34
|
+
}
|
|
35
|
+
const toHexByte = (n) => Math.round(n).toString(16).padStart(2, '0');
|
|
36
|
+
/** A computed `rgb(…)` / `rgba(…)` as hex, with an alpha byte only when translucent. */
|
|
37
|
+
function rgbToHex(rgb) {
|
|
38
|
+
const match = /^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/.exec(rgb);
|
|
39
|
+
if (!match) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const [r, g, b] = match.slice(1, 4).map(Number);
|
|
43
|
+
const alpha = match[4] === undefined ? 1 : Number(match[4]);
|
|
44
|
+
return `#${toHexByte(r)}${toHexByte(g)}${toHexByte(b)}${alpha < 1 ? toHexByte(alpha * 255) : ''}`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The hex behind the current value: the value itself when it is one, or what
|
|
48
|
+
* a theme token computes to on the preview element — so the precise picker
|
|
49
|
+
* and the hex field start from the colour the user is looking at.
|
|
50
|
+
*/
|
|
51
|
+
function useResolvedHex(value, previewRef) {
|
|
52
|
+
const [resolved, setResolved] = useState(undefined);
|
|
53
|
+
const isHex = !!value && HEX_COLOR.test(value);
|
|
54
|
+
useLayoutEffect(() => {
|
|
55
|
+
if (isHex || !value || !previewRef.current) {
|
|
56
|
+
setResolved(undefined);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
setResolved(rgbToHex(getComputedStyle(previewRef.current).backgroundColor));
|
|
60
|
+
}, [value, isHex, previewRef]);
|
|
61
|
+
return isHex ? value.toLowerCase() : resolved;
|
|
62
|
+
}
|
|
63
|
+
const eyeDropperSupported = () => typeof window !== 'undefined' && typeof window.EyeDropper === 'function';
|
|
64
|
+
/**
|
|
65
|
+
* The colour picker's popover body: a Swatches tab with the Adaptable theme
|
|
66
|
+
* colours and a Precise tab with a free picker, over a footer shared by both —
|
|
67
|
+
* the current colour, an eyedropper where the browser has one, and a hex
|
|
68
|
+
* field. The tab is remembered across all pickers (see `colorPickerTab.ts`).
|
|
69
|
+
*/
|
|
70
|
+
export function ColorPicker(props) {
|
|
71
|
+
const { value, onInput, onCommit, groups = THEME_COLOR_GROUPS } = props;
|
|
72
|
+
const dataName = props['data-name'];
|
|
73
|
+
const [tab, setTab] = useColorPickerTab();
|
|
74
|
+
const previewRef = useRef(null);
|
|
75
|
+
const hex = useResolvedHex(value, previewRef);
|
|
76
|
+
// the hex field is free text until it parses; it snaps back to the colour on blur
|
|
77
|
+
const [hexDraft, setHexDraft] = useState(null);
|
|
78
|
+
useEffect(() => setHexDraft(null), [value]);
|
|
79
|
+
const hexText = hexDraft ?? (hex ? hex.slice(1) : '');
|
|
80
|
+
// six (or eight, with opacity) digits commit as they are typed; a three-digit
|
|
81
|
+
// shorthand only on Enter / blur, or it would expand under the user's cursor
|
|
82
|
+
// at the third digit
|
|
83
|
+
const commitHexDraft = (text, options) => {
|
|
84
|
+
const digits = text.trim().replace(/^#/, '');
|
|
85
|
+
if (HEX_DIGITS.test(digits) && (options.allowShort || digits.length !== 3)) {
|
|
86
|
+
const next = normalizeHex(digits);
|
|
87
|
+
if (next !== hex) {
|
|
88
|
+
onCommit(next);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const [canPickFromScreen] = useState(eyeDropperSupported);
|
|
93
|
+
const pickFromScreen = async () => {
|
|
94
|
+
const EyeDropper = window.EyeDropper;
|
|
95
|
+
if (!EyeDropper) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const { sRGBHex } = await new EyeDropper().open();
|
|
100
|
+
onCommit(sRGBHex.toLowerCase());
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// cancelled with Escape
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
return (_jsxs(Tabs, { value: tab, onValueChange: (next) => setTab(next), "data-name": `${dataName}-picker`, className: "twa:gap-3", children: [_jsxs(TabsList, { className: "twa:grid twa:w-full twa:grid-cols-2", children: [_jsxs(TabsTrigger, { value: "precise", "data-name": `${dataName}-tab-precise`, children: [_jsx(SlidersHorizontal, { "aria-hidden": true }), "Precise"] }), _jsxs(TabsTrigger, { value: "swatches", "data-name": `${dataName}-tab-swatches`, children: [_jsx(Grid2x2, { "aria-hidden": true }), "Swatches"] })] }), _jsx(TabsContent, { value: "precise", className: CONTENT_HEIGHT, children: _jsx(HexAlphaColorPicker, { color: hex ?? PICKER_START, onChange: onInput, "data-name": `${dataName}-precise`,
|
|
107
|
+
// react-colorful injects unlayered styles, which beat our layered
|
|
108
|
+
// utilities whatever the specificity — hence `!`. Its parts are
|
|
109
|
+
// addressed by position (saturation area, then the hue and alpha
|
|
110
|
+
// strips) and by the `…__pointer` class suffix, so the selectors
|
|
111
|
+
// survive minified class-name scanning.
|
|
112
|
+
className: cn('twa:w-full! twa:h-full!', 'twa:*:first:rounded-md! twa:*:first:border-0!', 'twa:*:not-first:mt-2.5! twa:*:not-first:h-3! twa:*:not-first:rounded-full!', 'twa:**:[[class$=pointer]]:size-4! twa:**:[[class$=pointer]]:border-2!') }) }), _jsx(TabsContent, { value: "swatches", className: cn(CONTENT_HEIGHT, 'twa:flex twa:flex-col twa:gap-2.5 twa:overflow-y-auto twa:overscroll-contain twa:pr-1'), children: 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) => {
|
|
113
|
+
const selected = color.value === value;
|
|
114
|
+
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: () => {
|
|
115
|
+
onCommit(color.value);
|
|
116
|
+
props.onSwatchPicked?.();
|
|
117
|
+
}, 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 &&
|
|
118
|
+
'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));
|
|
119
|
+
}) })] }, group.id))) }), _jsxs("div", { className: "twa:flex twa:items-center twa:gap-2 twa:border-t twa:border-foreground/10 twa:pt-3", children: [_jsx(Tooltip, { label: value ? describeColor(value, groups) : '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" }) }), 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: 9, className: "twa:font-mono twa:text-xs", onChange: (event) => {
|
|
120
|
+
setHexDraft(event.target.value);
|
|
121
|
+
commitHexDraft(event.target.value, { allowShort: false });
|
|
122
|
+
}, onBlur: (event) => {
|
|
123
|
+
commitHexDraft(event.currentTarget.value, { allowShort: true });
|
|
124
|
+
setHexDraft(null);
|
|
125
|
+
}, onKeyDown: (event) => {
|
|
126
|
+
if (event.key === 'Enter') {
|
|
127
|
+
commitHexDraft(event.currentTarget.value, { allowShort: true });
|
|
128
|
+
setHexDraft(null);
|
|
129
|
+
}
|
|
130
|
+
} })] })] })] }));
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ColorPicker/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The colours the colour picker offers besides a custom one: the Adaptable
|
|
3
|
+
* theme tokens from `@adaptabletools/tokens` (`vars.css`). They are stored as
|
|
4
|
+
* `var(--ab-color-…)` so a styled cell, alert or dashboard bar follows the
|
|
5
|
+
* light / dark theme and any host overrides of those variables.
|
|
6
|
+
*/
|
|
7
|
+
export type ThemeColor = {
|
|
8
|
+
/** The CSS value that gets stored, e.g. `var(--ab-color-success)`. */
|
|
9
|
+
value: string;
|
|
10
|
+
/** What the user sees for it. */
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
export type ThemeColorGroup = {
|
|
14
|
+
id: 'theme' | 'palette' | 'swatch';
|
|
15
|
+
label: string;
|
|
16
|
+
colors: ThemeColor[];
|
|
17
|
+
};
|
|
18
|
+
export declare const THEME_COLOR_GROUPS: ThemeColorGroup[];
|
|
19
|
+
/**
|
|
20
|
+
* The picker's name for a stored colour: the token label for a theme colour
|
|
21
|
+
* (`var(--ab-color-success)` → "Success"), the value itself otherwise.
|
|
22
|
+
*/
|
|
23
|
+
export declare function describeColor(value: string, groups?: ThemeColorGroup[]): string;
|
|
24
|
+
//# sourceMappingURL=themeColors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeColors.d.ts","sourceRoot":"","sources":["../../src/ColorPicker/themeColors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB,CAAC;AAiCF,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAI/C,CAAC;AAMF;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,eAAe,EAAuB,GAC7C,MAAM,CAWR"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The colours the colour picker offers besides a custom one: the Adaptable
|
|
3
|
+
* theme tokens from `@adaptabletools/tokens` (`vars.css`). They are stored as
|
|
4
|
+
* `var(--ab-color-…)` so a styled cell, alert or dashboard bar follows the
|
|
5
|
+
* light / dark theme and any host overrides of those variables.
|
|
6
|
+
*/
|
|
7
|
+
const themeColor = (token, label) => ({
|
|
8
|
+
value: `var(--ab-color-${token})`,
|
|
9
|
+
label,
|
|
10
|
+
});
|
|
11
|
+
const SEMANTIC_COLORS = [
|
|
12
|
+
themeColor('accent', 'Accent'),
|
|
13
|
+
themeColor('success', 'Success'),
|
|
14
|
+
themeColor('info', 'Info'),
|
|
15
|
+
themeColor('warn', 'Warning'),
|
|
16
|
+
themeColor('destructive', 'Destructive'),
|
|
17
|
+
themeColor('destructive-foreground', 'Destructive text'),
|
|
18
|
+
themeColor('action-edit', 'Edit action'),
|
|
19
|
+
themeColor('action-share', 'Share action'),
|
|
20
|
+
themeColor('action-delete', 'Delete action'),
|
|
21
|
+
themeColor('action-clone', 'Clone action'),
|
|
22
|
+
themeColor('primary', 'Primary'),
|
|
23
|
+
themeColor('primary-foreground', 'Primary text'),
|
|
24
|
+
themeColor('background', 'Background'),
|
|
25
|
+
themeColor('muted', 'Muted'),
|
|
26
|
+
themeColor('muted-foreground', 'Muted text'),
|
|
27
|
+
];
|
|
28
|
+
const PALETTE_COLORS = Array.from({ length: 12 }, (_, i) => themeColor(`palette-${i + 1}`, `Palette ${i + 1}`));
|
|
29
|
+
const SWATCH_COLORS = Array.from({ length: 20 }, (_, i) => themeColor(`swatch-${i + 1}`, `Swatch ${i + 1}`));
|
|
30
|
+
export const THEME_COLOR_GROUPS = [
|
|
31
|
+
{ id: 'theme', label: 'Theme', colors: SEMANTIC_COLORS },
|
|
32
|
+
{ id: 'palette', label: 'Palette', colors: PALETTE_COLORS },
|
|
33
|
+
{ id: 'swatch', label: 'Swatches', colors: SWATCH_COLORS },
|
|
34
|
+
];
|
|
35
|
+
const LABEL_BY_VALUE = new Map(THEME_COLOR_GROUPS.flatMap((group) => group.colors.map((c) => [c.value, c.label])));
|
|
36
|
+
/**
|
|
37
|
+
* The picker's name for a stored colour: the token label for a theme colour
|
|
38
|
+
* (`var(--ab-color-success)` → "Success"), the value itself otherwise.
|
|
39
|
+
*/
|
|
40
|
+
export function describeColor(value, groups = THEME_COLOR_GROUPS) {
|
|
41
|
+
if (groups === THEME_COLOR_GROUPS) {
|
|
42
|
+
return LABEL_BY_VALUE.get(value) ?? value;
|
|
43
|
+
}
|
|
44
|
+
for (const group of groups) {
|
|
45
|
+
const color = group.colors.find((c) => c.value === value);
|
|
46
|
+
if (color) {
|
|
47
|
+
return color.label;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=themeColors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themeColors.js","sourceRoot":"","sources":["../../src/ColorPicker/themeColors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAc,EAAE,CAAC,CAAC;IAChE,KAAK,EAAE,kBAAkB,KAAK,GAAG;IACjC,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,eAAe,GAAiB;IACpC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC9B,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;IAChC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7B,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC;IACxC,UAAU,CAAC,wBAAwB,EAAE,kBAAkB,CAAC;IACxD,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC;IACxC,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1C,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC;IAC5C,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1C,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;IAChC,UAAU,CAAC,oBAAoB,EAAE,cAAc,CAAC;IAChD,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC;IACtC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC;CAC7C,CAAC;AAEF,MAAM,cAAc,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CACnD,CAAC;AAEF,MAAM,aAAa,GAAiB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE;IACxD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE;IAC3D,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE;CAC3D,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAU,CAAC,CAAC,CAC5F,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,SAA4B,kBAAkB;IAE9C,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAC5C,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
3
|
-
import { ComboboxItemType } from './comboboxUtils';
|
|
3
|
+
import { type ComboboxItemType } from './comboboxUtils';
|
|
4
4
|
import { ComboboxPrimitive } from '../ui/combobox';
|
|
5
5
|
export type Virtualizer = ReturnType<typeof useVirtualizer<HTMLDivElement, Element>>;
|
|
6
6
|
export declare function VirtualizedList<T extends ComboboxItemType>({ open, virtualizerRef, showItemTooltip, renderCheckboxIndicator, renderItemLabel, onScrollNearEnd, scrollNearEndOffset, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedList.d.ts","sourceRoot":"","sources":["../../src/Combobox/VirtualizedList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAoB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"VirtualizedList.d.ts","sourceRoot":"","sources":["../../src/Combobox/VirtualizedList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAIL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAErF,wBAAgB,eAAe,CAAC,CAAC,SAAS,gBAAgB,EAAE,EAC1D,IAAI,EACJ,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3F,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,4BA+IA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedList.js","sourceRoot":"","sources":["../../src/Combobox/VirtualizedList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"VirtualizedList.js","sourceRoot":"","sources":["../../src/Combobox/VirtualizedList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AdaptableComboboxProps, ComboboxDataProps, ComboboxItemType } from './comboboxUtils';
|
|
2
|
+
import { type AdaptableComboboxProps, type ComboboxDataProps, type ComboboxItemType } from './comboboxUtils';
|
|
3
3
|
export type { AdaptableComboboxProps };
|
|
4
4
|
export type SingleComboboxProps<T extends ComboboxItemType> = Omit<AdaptableComboboxProps<T>, 'multiple' | 'value' | 'defaultValue' | 'onValueChange'> & {
|
|
5
5
|
value?: T['value'] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Combobox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA8B/B,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Combobox/index.tsx"],"names":[],"mappings":"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"}
|