@elliemae/ds-pagination 3.80.0-next.50 → 3.80.0-next.53
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/dist/cjs/parts/DSPaginator/DSPaginator.js +10 -166
- package/dist/cjs/parts/DSPaginator/DSPaginator.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/{config/usePaginationSearch.js → DSPaginatorCTX.js} +7 -32
- package/dist/cjs/parts/DSPaginator/DSPaginatorCTX.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/{createPaginatorHeader.js → getAmountOfPages.js} +8 -23
- package/dist/cjs/parts/DSPaginator/config/getAmountOfPages.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/getInstanceIds.js +40 -0
- package/dist/cjs/parts/DSPaginator/config/getInstanceIds.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/navigationKeys.js +44 -0
- package/dist/cjs/parts/DSPaginator/config/navigationKeys.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/useFocusTracker.js +77 -0
- package/dist/cjs/parts/DSPaginator/config/useFocusTracker.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginator.js +73 -49
- package/dist/cjs/parts/DSPaginator/config/usePaginator.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/config/usePaginatorFloatingContext.js +86 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginatorFloatingContext.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginatorInteractions.js +170 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginatorInteractions.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginatorSizing.js +80 -0
- package/dist/cjs/parts/DSPaginator/config/usePaginatorSizing.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/config/useValidateProps.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/constants/index.js +49 -3
- package/dist/cjs/parts/DSPaginator/constants/index.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/parts/OptionRenderer.js +98 -0
- package/dist/cjs/parts/DSPaginator/parts/OptionRenderer.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/parts/Panel.js +131 -0
- package/dist/cjs/parts/DSPaginator/parts/Panel.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/parts/Trigger.js +124 -0
- package/dist/cjs/parts/DSPaginator/parts/Trigger.js.map +7 -0
- package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js +6 -1
- package/dist/cjs/parts/DSPaginator/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/styled.js +113 -38
- package/dist/cjs/parts/DSPaginator/styled.js.map +3 -3
- package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js +12 -1
- package/dist/cjs/parts/DSPaginator/typescript-testing/slot-props.js.map +2 -2
- package/dist/cjs/parts/DSPaginator/typescript-testing/typescript-testing.js +2 -1
- package/dist/cjs/parts/DSPaginator/typescript-testing/typescript-testing.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js +10 -79
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelector.js.map +3 -3
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelectorCTX.js +38 -0
- package/dist/cjs/parts/DSPerPageSelector/DSPerPageSelectorCTX.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/getInstanceIds.js +40 -0
- package/dist/cjs/parts/DSPerPageSelector/config/getInstanceIds.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/getOptions.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/config/getSelectedOptionIndex.js +36 -0
- package/dist/cjs/parts/DSPerPageSelector/config/getSelectedOptionIndex.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/navigationKeys.js +44 -0
- package/dist/cjs/parts/DSPerPageSelector/config/navigationKeys.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/useFocusTracker.js +83 -0
- package/dist/cjs/parts/DSPerPageSelector/config/useFocusTracker.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelector.js +68 -20
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelector.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorFloatingContext.js +82 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorFloatingContext.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorInteractions.js +175 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorInteractions.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorSizing.js +66 -0
- package/dist/cjs/parts/DSPerPageSelector/config/usePerPageSelectorSizing.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/constants/index.js +47 -8
- package/dist/cjs/parts/DSPerPageSelector/constants/index.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/parts/OptionRenderer.js +94 -0
- package/dist/cjs/parts/DSPerPageSelector/parts/OptionRenderer.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/parts/Panel.js +120 -0
- package/dist/cjs/parts/DSPerPageSelector/parts/Panel.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/parts/Trigger.js +95 -0
- package/dist/cjs/parts/DSPerPageSelector/parts/Trigger.js.map +7 -0
- package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js +19 -2
- package/dist/cjs/parts/DSPerPageSelector/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/styled.js +104 -32
- package/dist/cjs/parts/DSPerPageSelector/styled.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js +10 -1
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +2 -2
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/typescript-testing.js +60 -1
- package/dist/cjs/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js.map +1 -1
- package/dist/esm/parts/DSPaginator/DSPaginator.js +12 -168
- package/dist/esm/parts/DSPaginator/DSPaginator.js.map +2 -2
- package/dist/esm/parts/DSPaginator/DSPaginatorCTX.js +8 -0
- package/dist/esm/parts/DSPaginator/DSPaginatorCTX.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/getAmountOfPages.js +9 -0
- package/dist/esm/parts/DSPaginator/config/getAmountOfPages.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/getInstanceIds.js +10 -0
- package/dist/esm/parts/DSPaginator/config/getInstanceIds.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/navigationKeys.js +14 -0
- package/dist/esm/parts/DSPaginator/config/navigationKeys.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/useFocusTracker.js +47 -0
- package/dist/esm/parts/DSPaginator/config/useFocusTracker.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/usePaginator.js +74 -50
- package/dist/esm/parts/DSPaginator/config/usePaginator.js.map +2 -2
- package/dist/esm/parts/DSPaginator/config/usePaginatorFloatingContext.js +56 -0
- package/dist/esm/parts/DSPaginator/config/usePaginatorFloatingContext.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/usePaginatorInteractions.js +140 -0
- package/dist/esm/parts/DSPaginator/config/usePaginatorInteractions.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/usePaginatorSizing.js +56 -0
- package/dist/esm/parts/DSPaginator/config/usePaginatorSizing.js.map +7 -0
- package/dist/esm/parts/DSPaginator/config/useValidateProps.js.map +2 -2
- package/dist/esm/parts/DSPaginator/constants/index.js +49 -3
- package/dist/esm/parts/DSPaginator/constants/index.js.map +2 -2
- package/dist/esm/parts/DSPaginator/parts/OptionRenderer.js +68 -0
- package/dist/esm/parts/DSPaginator/parts/OptionRenderer.js.map +7 -0
- package/dist/esm/parts/DSPaginator/parts/Panel.js +101 -0
- package/dist/esm/parts/DSPaginator/parts/Panel.js.map +7 -0
- package/dist/esm/parts/DSPaginator/parts/Trigger.js +94 -0
- package/dist/esm/parts/DSPaginator/parts/Trigger.js.map +7 -0
- package/dist/esm/parts/DSPaginator/react-desc-prop-types.js +6 -1
- package/dist/esm/parts/DSPaginator/react-desc-prop-types.js.map +2 -2
- package/dist/esm/parts/DSPaginator/styled.js +120 -39
- package/dist/esm/parts/DSPaginator/styled.js.map +2 -2
- package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js +12 -1
- package/dist/esm/parts/DSPaginator/typescript-testing/slot-props.js.map +2 -2
- package/dist/esm/parts/DSPaginator/typescript-testing/typescript-testing.js +2 -1
- package/dist/esm/parts/DSPaginator/typescript-testing/typescript-testing.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js +11 -80
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelector.js.map +3 -3
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelectorCTX.js +8 -0
- package/dist/esm/parts/DSPerPageSelector/DSPerPageSelectorCTX.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/getInstanceIds.js +10 -0
- package/dist/esm/parts/DSPerPageSelector/config/getInstanceIds.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/getOptions.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/config/getSelectedOptionIndex.js +6 -0
- package/dist/esm/parts/DSPerPageSelector/config/getSelectedOptionIndex.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/navigationKeys.js +14 -0
- package/dist/esm/parts/DSPerPageSelector/config/navigationKeys.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/useFocusTracker.js +53 -0
- package/dist/esm/parts/DSPerPageSelector/config/useFocusTracker.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js +69 -21
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelector.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorFloatingContext.js +52 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorFloatingContext.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorInteractions.js +145 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorInteractions.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorSizing.js +42 -0
- package/dist/esm/parts/DSPerPageSelector/config/usePerPageSelectorSizing.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/constants/index.js +47 -8
- package/dist/esm/parts/DSPerPageSelector/constants/index.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/parts/OptionRenderer.js +64 -0
- package/dist/esm/parts/DSPerPageSelector/parts/OptionRenderer.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/parts/Panel.js +90 -0
- package/dist/esm/parts/DSPerPageSelector/parts/Panel.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/parts/Trigger.js +65 -0
- package/dist/esm/parts/DSPerPageSelector/parts/Trigger.js.map +7 -0
- package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js +19 -2
- package/dist/esm/parts/DSPerPageSelector/react-desc-prop-types.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/styled.js +111 -33
- package/dist/esm/parts/DSPerPageSelector/styled.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js +10 -1
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/slots-props.js.map +2 -2
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/typescript-testing.js +60 -1
- package/dist/esm/parts/DSPerPageSelector/typescript-testing/typescript-testing.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js.map +1 -1
- package/dist/types/parts/DSPageNextButton/config/usePageNextButton.d.ts +4 -4
- package/dist/types/parts/DSPagePrevButton/config/usePagePrevButton.d.ts +4 -4
- package/dist/types/parts/DSPaginationContainer/config/usePaginationContainer.d.ts +4 -4
- package/dist/types/parts/DSPaginationSeparator/config/usePaginationSeparator.d.ts +4 -4
- package/dist/types/parts/DSPaginator/DSPaginator.d.ts +5 -0
- package/dist/types/parts/DSPaginator/DSPaginatorCTX.d.ts +5 -0
- package/dist/types/parts/DSPaginator/config/getAmountOfPages.d.ts +1 -0
- package/dist/types/parts/DSPaginator/config/getInstanceIds.d.ts +3 -0
- package/dist/types/parts/DSPaginator/config/navigationKeys.d.ts +3 -0
- package/dist/types/parts/DSPaginator/config/useFocusTracker.d.ts +20 -0
- package/dist/types/parts/DSPaginator/config/usePaginator.d.ts +52 -18
- package/dist/types/parts/DSPaginator/config/usePaginatorFloatingContext.d.ts +31 -0
- package/dist/types/parts/DSPaginator/config/usePaginatorInteractions.d.ts +37 -0
- package/dist/types/parts/DSPaginator/config/usePaginatorSizing.d.ts +37 -0
- package/dist/types/parts/DSPaginator/constants/index.d.ts +36 -1
- package/dist/types/parts/DSPaginator/parts/OptionRenderer.d.ts +11 -0
- package/dist/types/parts/DSPaginator/parts/Panel.d.ts +5 -0
- package/dist/types/parts/DSPaginator/parts/Trigger.d.ts +5 -0
- package/dist/types/parts/DSPaginator/react-desc-prop-types.d.ts +17 -0
- package/dist/types/parts/DSPaginator/styled.d.ts +17 -4
- package/dist/types/parts/DSPerPageSelector/DSPerPageSelector.d.ts +5 -0
- package/dist/types/parts/DSPerPageSelector/DSPerPageSelectorCTX.d.ts +5 -0
- package/dist/types/parts/DSPerPageSelector/config/getInstanceIds.d.ts +3 -0
- package/dist/types/parts/DSPerPageSelector/config/getOptions.d.ts +3 -3
- package/dist/types/parts/DSPerPageSelector/config/getSelectedOptionIndex.d.ts +2 -0
- package/dist/types/parts/DSPerPageSelector/config/navigationKeys.d.ts +3 -0
- package/dist/types/parts/DSPerPageSelector/config/useFocusTracker.d.ts +22 -0
- package/dist/types/parts/DSPerPageSelector/config/usePerPageSelector.d.ts +43 -10
- package/dist/types/parts/DSPerPageSelector/config/usePerPageSelectorFloatingContext.d.ts +31 -0
- package/dist/types/parts/DSPerPageSelector/config/usePerPageSelectorInteractions.d.ts +38 -0
- package/dist/types/parts/DSPerPageSelector/config/usePerPageSelectorSizing.d.ts +25 -0
- package/dist/types/parts/DSPerPageSelector/constants/index.d.ts +32 -5
- package/dist/types/parts/DSPerPageSelector/parts/OptionRenderer.d.ts +11 -0
- package/dist/types/parts/DSPerPageSelector/parts/Panel.d.ts +5 -0
- package/dist/types/parts/DSPerPageSelector/parts/Trigger.d.ts +5 -0
- package/dist/types/parts/DSPerPageSelector/react-desc-prop-types.d.ts +27 -2
- package/dist/types/parts/DSPerPageSelector/styled.d.ts +15 -2
- package/dist/types/react-desc-prop-types.d.ts +2 -2
- package/package.json +15 -13
- package/dist/cjs/parts/DSPaginator/config/createPaginatorHeader.js.map +0 -7
- package/dist/cjs/parts/DSPaginator/config/getOptions.js +0 -76
- package/dist/cjs/parts/DSPaginator/config/getOptions.js.map +0 -7
- package/dist/cjs/parts/DSPaginator/config/usePaginationSearch.js.map +0 -7
- package/dist/esm/parts/DSPaginator/config/createPaginatorHeader.js +0 -24
- package/dist/esm/parts/DSPaginator/config/createPaginatorHeader.js.map +0 -7
- package/dist/esm/parts/DSPaginator/config/getOptions.js +0 -46
- package/dist/esm/parts/DSPaginator/config/getOptions.js.map +0 -7
- package/dist/esm/parts/DSPaginator/config/usePaginationSearch.js +0 -33
- package/dist/esm/parts/DSPaginator/config/usePaginationSearch.js.map +0 -7
- package/dist/types/parts/DSPaginator/config/createPaginatorHeader.d.ts +0 -9
- package/dist/types/parts/DSPaginator/config/getOptions.d.ts +0 -8
- package/dist/types/parts/DSPaginator/config/usePaginationSearch.d.ts +0 -1
|
@@ -31,7 +31,16 @@ __export(constants_exports, {
|
|
|
31
31
|
DSPaginationName: () => import_constants.DSPaginationName,
|
|
32
32
|
DSPaginatorName: () => DSPaginatorName,
|
|
33
33
|
PAGINATOR_DATA_TESTID: () => PAGINATOR_DATA_TESTID,
|
|
34
|
-
|
|
34
|
+
PAGINATOR_DEFAULT_LIST_WIDTH: () => PAGINATOR_DEFAULT_LIST_WIDTH,
|
|
35
|
+
PAGINATOR_HEADER_HEIGHT: () => PAGINATOR_HEADER_HEIGHT,
|
|
36
|
+
PAGINATOR_OPTION_HEIGHT: () => PAGINATOR_OPTION_HEIGHT,
|
|
37
|
+
PAGINATOR_PAGE_JUMP: () => PAGINATOR_PAGE_JUMP,
|
|
38
|
+
PAGINATOR_PANEL_MAX_HEIGHT: () => PAGINATOR_PANEL_MAX_HEIGHT,
|
|
39
|
+
PAGINATOR_PANEL_PADDING_BOTTOM: () => PAGINATOR_PANEL_PADDING_BOTTOM,
|
|
40
|
+
PAGINATOR_REGION_FOCUSES: () => PAGINATOR_REGION_FOCUSES,
|
|
41
|
+
PAGINATOR_SLOTS: () => PAGINATOR_SLOTS,
|
|
42
|
+
PAGINATOR_TYPEAHEAD_RESET_MS: () => PAGINATOR_TYPEAHEAD_RESET_MS,
|
|
43
|
+
PAGINATOR_VIEWPORT_MARGIN: () => PAGINATOR_VIEWPORT_MARGIN
|
|
35
44
|
});
|
|
36
45
|
module.exports = __toCommonJS(constants_exports);
|
|
37
46
|
var React = __toESM(require("react"));
|
|
@@ -39,7 +48,44 @@ var import_ds_system = require("@elliemae/ds-system");
|
|
|
39
48
|
var import_constants = require("../../../constants/index.js");
|
|
40
49
|
const DSPaginatorName = "DSPaginator";
|
|
41
50
|
const PAGINATOR_SLOTS = {
|
|
42
|
-
PAGINATOR: "paginator"
|
|
51
|
+
PAGINATOR: "paginator",
|
|
52
|
+
// legacy ones...
|
|
53
|
+
TRIGGER_WRAPPER: "paginator-trigger-wrapper",
|
|
54
|
+
PAGE_INFO: "paginator-page-info",
|
|
55
|
+
FLOATING_WRAPPER: "paginator-floating-wrapper",
|
|
56
|
+
PANEL: "paginator-panel",
|
|
57
|
+
HEADER: "paginator-header",
|
|
58
|
+
LIST_WRAPPER: "paginator-list-wrapper",
|
|
59
|
+
LIST: "paginator-list",
|
|
60
|
+
OPTION: "paginator-option",
|
|
61
|
+
OPTION_CHECKMARK: "paginator-option-checkmark",
|
|
62
|
+
OPTION_PAGE: "paginator-option-page",
|
|
63
|
+
OPTION_DETAIL: "paginator-option-detail"
|
|
43
64
|
};
|
|
44
|
-
const PAGINATOR_DATA_TESTID =
|
|
65
|
+
const PAGINATOR_DATA_TESTID = {
|
|
66
|
+
...(0, import_ds_system.slotObjectToDataTestIds)(import_constants.DSPaginationName, PAGINATOR_SLOTS),
|
|
67
|
+
// legacy values of the DSDropdownMenuV2 the paginator used to render: the paginator is now its own widget but QA and
|
|
68
|
+
// consumers select on these, so they stay on the equivalent element — breaking change if removed
|
|
69
|
+
TRIGGER_WRAPPER: "dropdown-menu-trigger-wrapper",
|
|
70
|
+
// wraps the trigger
|
|
71
|
+
PANEL: "dropdown-menu-wrapper",
|
|
72
|
+
// wraps the header and the list (it used to be the focus holder of the open menu)
|
|
73
|
+
HEADER: "ds-dropdownmenu-header-wrapper",
|
|
74
|
+
LIST: "dropdown-menu-listbox",
|
|
75
|
+
OPTION: "ds-menu-item"
|
|
76
|
+
// one per page
|
|
77
|
+
};
|
|
78
|
+
const PAGINATOR_REGION_FOCUSES = {
|
|
79
|
+
RESET: "",
|
|
80
|
+
TRIGGER: "trigger",
|
|
81
|
+
OPTION_PREFIX: "option-"
|
|
82
|
+
};
|
|
83
|
+
const PAGINATOR_OPTION_HEIGHT = 32;
|
|
84
|
+
const PAGINATOR_PANEL_MAX_HEIGHT = 300;
|
|
85
|
+
const PAGINATOR_HEADER_HEIGHT = 17;
|
|
86
|
+
const PAGINATOR_PANEL_PADDING_BOTTOM = 4;
|
|
87
|
+
const PAGINATOR_DEFAULT_LIST_WIDTH = 280;
|
|
88
|
+
const PAGINATOR_VIEWPORT_MARGIN = 16;
|
|
89
|
+
const PAGINATOR_PAGE_JUMP = 10;
|
|
90
|
+
const PAGINATOR_TYPEAHEAD_RESET_MS = 1e3;
|
|
45
91
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/DSPaginator/constants/index.ts", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\nimport { DSPaginationName } from '../../../constants/index.js';\nexport { DSPaginationName };\n\nexport const DSPaginatorName = 'DSPaginator';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const PAGINATOR_SLOTS = {\n PAGINATOR: 'paginator',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const PAGINATOR_DATA_TESTID = slotObjectToDataTestIds(DSPaginationName, PAGINATOR_SLOTS);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AACxC,uBAAiC;AAG1B,MAAM,kBAAkB;
|
|
4
|
+
"sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\nimport { DSPaginationName } from '../../../constants/index.js';\nexport { DSPaginationName };\n\nexport const DSPaginatorName = 'DSPaginator';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\n// the slots are owned by DSPagination (DSPaginationName): `paginator` is the legacy one (the trigger), the rest are new\nexport const PAGINATOR_SLOTS = {\n PAGINATOR: 'paginator', // legacy ones...\n TRIGGER_WRAPPER: 'paginator-trigger-wrapper',\n PAGE_INFO: 'paginator-page-info',\n FLOATING_WRAPPER: 'paginator-floating-wrapper',\n PANEL: 'paginator-panel',\n HEADER: 'paginator-header',\n LIST_WRAPPER: 'paginator-list-wrapper',\n LIST: 'paginator-list',\n OPTION: 'paginator-option',\n OPTION_CHECKMARK: 'paginator-option-checkmark',\n OPTION_PAGE: 'paginator-option-page',\n OPTION_DETAIL: 'paginator-option-detail',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const PAGINATOR_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSPaginationName, PAGINATOR_SLOTS),\n // legacy values of the DSDropdownMenuV2 the paginator used to render: the paginator is now its own widget but QA and\n // consumers select on these, so they stay on the equivalent element \u2014 breaking change if removed\n TRIGGER_WRAPPER: 'dropdown-menu-trigger-wrapper', // wraps the trigger\n PANEL: 'dropdown-menu-wrapper', // wraps the header and the list (it used to be the focus holder of the open menu)\n HEADER: 'ds-dropdownmenu-header-wrapper',\n LIST: 'dropdown-menu-listbox',\n OPTION: 'ds-menu-item', // one per page\n};\n\n// we are naming this with the ${component_name}_region_focuses convention to namespace & avoid errors on duplicate exports variables in aggregators\n// semantic identities of the focus tracker: never positional, an option is identified by the page it represents\nexport const PAGINATOR_REGION_FOCUSES = {\n RESET: '',\n TRIGGER: 'trigger',\n OPTION_PREFIX: 'option-',\n} as const;\n\n// the rows of the list are fixed height, the virtual list estimate and the panel height are derived from it\nexport const PAGINATOR_OPTION_HEIGHT = 32;\n// the max height of the whole panel (header + list), same as the existing DSPaginator (measured: header ~17px)\nexport const PAGINATOR_PANEL_MAX_HEIGHT = 300;\nexport const PAGINATOR_HEADER_HEIGHT = 17;\n// the previous DSDropdownMenuV2 wrapper always kept 4px of padding below the list, inside the same max height\nexport const PAGINATOR_PANEL_PADDING_BOTTOM = 4;\n// the width of the open list when there are page details: details wrap inside it instead of the list growing to the widest\n// one (that would need every detail rendered and measured up front). Overridable with the `listWidth` prop.\nexport const PAGINATOR_DEFAULT_LIST_WIDTH = 280;\n// the list never gets wider than the viewport minus this margin (reflow at high zoom levels)\nexport const PAGINATOR_VIEWPORT_MARGIN = 16;\n// APG listbox / select-only combobox: PageUp / PageDown move 10 options\nexport const PAGINATOR_PAGE_JUMP = 10;\n// digits typed within this window build a single page number (same value as the existing DSPaginator search)\nexport const PAGINATOR_TYPEAHEAD_RESET_MS = 1000;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AACxC,uBAAiC;AAG1B,MAAM,kBAAkB;AAIxB,MAAM,kBAAkB;AAAA,EAC7B,WAAW;AAAA;AAAA,EACX,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,eAAe;AACjB;AAGO,MAAM,wBAAwB;AAAA,EACnC,OAAG,0CAAwB,mCAAkB,eAAe;AAAA;AAAA;AAAA,EAG5D,iBAAiB;AAAA;AAAA,EACjB,OAAO;AAAA;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,QAAQ;AAAA;AACV;AAIO,MAAM,2BAA2B;AAAA,EACtC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,eAAe;AACjB;AAGO,MAAM,0BAA0B;AAEhC,MAAM,6BAA6B;AACnC,MAAM,0BAA0B;AAEhC,MAAM,iCAAiC;AAGvC,MAAM,+BAA+B;AAErC,MAAM,4BAA4B;AAElC,MAAM,sBAAsB;AAE5B,MAAM,+BAA+B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var OptionRenderer_exports = {};
|
|
30
|
+
__export(OptionRenderer_exports, {
|
|
31
|
+
OptionRenderer: () => OptionRenderer
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(OptionRenderer_exports);
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_ds_icons = require("@elliemae/ds-icons");
|
|
37
|
+
var import_react = require("react");
|
|
38
|
+
var import_useFocusTracker = require("../config/useFocusTracker.js");
|
|
39
|
+
var import_constants = require("../constants/index.js");
|
|
40
|
+
var import_DSPaginatorCTX = require("../DSPaginatorCTX.js");
|
|
41
|
+
var import_styled = require("../styled.js");
|
|
42
|
+
const OptionRenderer = ({ index }) => {
|
|
43
|
+
const {
|
|
44
|
+
propsWithDefault: { pageIndex, pageDetails },
|
|
45
|
+
ownerPropsConfig: { getOwnerProps },
|
|
46
|
+
amountOfPages,
|
|
47
|
+
hasDetails,
|
|
48
|
+
chevronWidth,
|
|
49
|
+
pageInfoWidth,
|
|
50
|
+
focusTrackers: { focusRegion, trackFocusOption },
|
|
51
|
+
commitPage
|
|
52
|
+
} = (0, import_react.useContext)(import_DSPaginatorCTX.DSPaginatorContext);
|
|
53
|
+
const page = index + 1;
|
|
54
|
+
const isSelected = page === pageIndex;
|
|
55
|
+
const isFocusTarget = focusRegion === (0, import_useFocusTracker.getOptionRegionId)(page);
|
|
56
|
+
const handleRef = (0, import_react.useCallback)(
|
|
57
|
+
(node) => {
|
|
58
|
+
if (node && isFocusTarget) node.focus();
|
|
59
|
+
},
|
|
60
|
+
[isFocusTarget]
|
|
61
|
+
);
|
|
62
|
+
const handleFocus = (0, import_react.useCallback)(() => trackFocusOption(page), [page, trackFocusOption]);
|
|
63
|
+
const handleClick = (0, import_react.useCallback)(() => commitPage(page), [commitPage, page]);
|
|
64
|
+
const getOwnerPropsArguments = (0, import_react.useCallback)(() => ({ page, isSelected }), [page, isSelected]);
|
|
65
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
66
|
+
import_styled.StyledOption,
|
|
67
|
+
{
|
|
68
|
+
"data-testid": import_constants.PAGINATOR_DATA_TESTID.OPTION,
|
|
69
|
+
role: "option",
|
|
70
|
+
"aria-selected": isSelected,
|
|
71
|
+
"aria-setsize": amountOfPages,
|
|
72
|
+
"aria-posinset": page,
|
|
73
|
+
tabIndex: isFocusTarget ? 0 : -1,
|
|
74
|
+
innerRef: handleRef,
|
|
75
|
+
onFocus: handleFocus,
|
|
76
|
+
onClick: handleClick,
|
|
77
|
+
style: {
|
|
78
|
+
gridTemplateColumns: hasDetails ? `${chevronWidth}px ${pageInfoWidth + 16}px auto` : `${chevronWidth}px auto`
|
|
79
|
+
},
|
|
80
|
+
getOwnerProps,
|
|
81
|
+
getOwnerPropsArguments,
|
|
82
|
+
children: [
|
|
83
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
84
|
+
import_styled.StyledOptionCheckmark,
|
|
85
|
+
{
|
|
86
|
+
"aria-hidden": "true",
|
|
87
|
+
getOwnerProps,
|
|
88
|
+
getOwnerPropsArguments,
|
|
89
|
+
children: isSelected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.Checkmark, { size: "s", color: ["brand-primary", "600"] }) : null
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledOptionPage, { getOwnerProps, getOwnerPropsArguments, children: page }),
|
|
93
|
+
hasDetails ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledOptionDetail, { getOwnerProps, getOwnerPropsArguments, children: pageDetails[index] }) : null
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
);
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=OptionRenderer.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/parts/DSPaginator/parts/OptionRenderer.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { Checkmark } from '@elliemae/ds-icons';\nimport React, { useCallback, useContext } from 'react';\nimport { getOptionRegionId } from '../config/useFocusTracker.js';\nimport { PAGINATOR_DATA_TESTID } from '../constants/index.js';\nimport { DSPaginatorContext } from '../DSPaginatorCTX.js';\nimport { StyledOption, StyledOptionCheckmark, StyledOptionDetail, StyledOptionPage } from '../styled.js';\n\ntype OptionRendererPropsT = { index: number };\n\n/**\n * One page of the list. Rendered by the virtual list, so only the options near the viewport are mounted:\n * every position-dependent a11y fact (`aria-posinset`, `aria-setsize`) is explicit, and the focus lands on an option by\n * its page identity from the ref callback (see useFocusTracker), not by its place in the DOM.\n */\nexport const OptionRenderer = ({ index }: OptionRendererPropsT) => {\n const {\n propsWithDefault: { pageIndex, pageDetails },\n ownerPropsConfig: { getOwnerProps },\n amountOfPages,\n hasDetails,\n chevronWidth,\n pageInfoWidth,\n focusTrackers: { focusRegion, trackFocusOption },\n commitPage,\n } = useContext(DSPaginatorContext);\n\n const page = index + 1;\n const isSelected = page === pageIndex;\n const isFocusTarget = focusRegion === getOptionRegionId(page);\n\n const handleRef = useCallback(\n (node: HTMLDivElement | null) => {\n if (node && isFocusTarget) node.focus();\n },\n [isFocusTarget],\n );\n // the tracker follows the real focus, so a mouse or pointer interaction can't leave it pointing somewhere else\n const handleFocus = useCallback(() => trackFocusOption(page), [page, trackFocusOption]);\n const handleClick = useCallback(() => commitPage(page), [commitPage, page]);\n const getOwnerPropsArguments = useCallback(() => ({ page, isSelected }), [page, isSelected]);\n\n return (\n <StyledOption\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={PAGINATOR_DATA_TESTID.OPTION}\n role=\"option\"\n aria-selected={isSelected}\n aria-setsize={amountOfPages}\n aria-posinset={page}\n // roving tabindex: the option that holds the focus is the single tab stop of the list\n tabIndex={isFocusTarget ? 0 : -1}\n innerRef={handleRef}\n onFocus={handleFocus}\n onClick={handleClick}\n // same columns as the header: [checkmark] [page] [detail]\n style={{\n gridTemplateColumns: hasDetails ? `${chevronWidth}px ${pageInfoWidth + 16}px auto` : `${chevronWidth}px auto`,\n }}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {/* the selected state is conveyed by aria-selected, the icon is only visual */}\n <StyledOptionCheckmark\n aria-hidden=\"true\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {isSelected ? <Checkmark size=\"s\" color={['brand-primary', '600']} /> : null}\n </StyledOptionCheckmark>\n <StyledOptionPage getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {page}\n </StyledOptionPage>\n {hasDetails ? (\n <StyledOptionDetail getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {pageDetails[index]}\n </StyledOptionDetail>\n ) : null}\n </StyledOption>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0CnB;AA1CJ,sBAA0B;AAC1B,mBAA+C;AAC/C,6BAAkC;AAClC,uBAAsC;AACtC,4BAAmC;AACnC,oBAA0F;AASnF,MAAM,iBAAiB,CAAC,EAAE,MAAM,MAA4B;AACjE,QAAM;AAAA,IACJ,kBAAkB,EAAE,WAAW,YAAY;AAAA,IAC3C,kBAAkB,EAAE,cAAc;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,EAAE,aAAa,iBAAiB;AAAA,IAC/C;AAAA,EACF,QAAI,yBAAW,wCAAkB;AAEjC,QAAM,OAAO,QAAQ;AACrB,QAAM,aAAa,SAAS;AAC5B,QAAM,gBAAgB,oBAAgB,0CAAkB,IAAI;AAE5D,QAAM,gBAAY;AAAA,IAChB,CAAC,SAAgC;AAC/B,UAAI,QAAQ,cAAe,MAAK,MAAM;AAAA,IACxC;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,QAAM,kBAAc,0BAAY,MAAM,iBAAiB,IAAI,GAAG,CAAC,MAAM,gBAAgB,CAAC;AACtF,QAAM,kBAAc,0BAAY,MAAM,WAAW,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC;AAC1E,QAAM,6BAAyB,0BAAY,OAAO,EAAE,MAAM,WAAW,IAAI,CAAC,MAAM,UAAU,CAAC;AAE3F,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,eAAa,uCAAsB;AAAA,MACnC,MAAK;AAAA,MACL,iBAAe;AAAA,MACf,gBAAc;AAAA,MACd,iBAAe;AAAA,MAEf,UAAU,gBAAgB,IAAI;AAAA,MAC9B,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MAET,OAAO;AAAA,QACL,qBAAqB,aAAa,GAAG,YAAY,MAAM,gBAAgB,EAAE,YAAY,GAAG,YAAY;AAAA,MACtG;AAAA,MACA;AAAA,MACA;AAAA,MAGA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ;AAAA,YACA;AAAA,YAEC,uBAAa,4CAAC,6BAAU,MAAK,KAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAK;AAAA;AAAA,QAC1E;AAAA,QACA,4CAAC,kCAAiB,eAA8B,wBAC7C,gBACH;AAAA,QACC,aACC,4CAAC,oCAAmB,eAA8B,wBAC/C,sBAAY,KAAK,GACpB,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var Panel_exports = {};
|
|
30
|
+
__export(Panel_exports, {
|
|
31
|
+
Panel: () => Panel
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(Panel_exports);
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_react = require("react");
|
|
37
|
+
var import_DSPaginationSeparator = require("../../DSPaginationSeparator/index.js");
|
|
38
|
+
var import_constants = require("../constants/index.js");
|
|
39
|
+
var import_DSPaginatorCTX = require("../DSPaginatorCTX.js");
|
|
40
|
+
var import_styled = require("../styled.js");
|
|
41
|
+
var import_OptionRenderer = require("./OptionRenderer.js");
|
|
42
|
+
const getOptionId = (index) => index + 1;
|
|
43
|
+
const getEstimatedSize = () => import_constants.PAGINATOR_OPTION_HEIGHT;
|
|
44
|
+
const Panel = () => {
|
|
45
|
+
const {
|
|
46
|
+
propsWithDefault: { pageDetailsTitle },
|
|
47
|
+
ownerPropsConfig,
|
|
48
|
+
isOpen,
|
|
49
|
+
amountOfPages,
|
|
50
|
+
hasDetails,
|
|
51
|
+
chevronWidth,
|
|
52
|
+
pageInfoWidth,
|
|
53
|
+
panelStyle,
|
|
54
|
+
listMaxHeight,
|
|
55
|
+
floatingStyles,
|
|
56
|
+
floatingContext,
|
|
57
|
+
floatingInnerRef,
|
|
58
|
+
listActionRef,
|
|
59
|
+
handleListWrapperRef,
|
|
60
|
+
handlePanelKeyDown,
|
|
61
|
+
handlePanelKeyDownCapture,
|
|
62
|
+
handleBlurOutOfWidget,
|
|
63
|
+
headerId,
|
|
64
|
+
listId,
|
|
65
|
+
dialogId
|
|
66
|
+
} = (0, import_react.useContext)(import_DSPaginatorCTX.DSPaginatorContext);
|
|
67
|
+
const hasDetailsTitle = hasDetails && pageDetailsTitle !== "";
|
|
68
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
69
|
+
import_styled.StyledFloatingWrapper,
|
|
70
|
+
{
|
|
71
|
+
innerRef: floatingInnerRef,
|
|
72
|
+
isOpen,
|
|
73
|
+
floatingStyles,
|
|
74
|
+
context: floatingContext,
|
|
75
|
+
id: dialogId,
|
|
76
|
+
role: "dialog",
|
|
77
|
+
"aria-labelledby": headerId,
|
|
78
|
+
...ownerPropsConfig,
|
|
79
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
80
|
+
import_styled.StyledPanel,
|
|
81
|
+
{
|
|
82
|
+
"data-testid": import_constants.PAGINATOR_DATA_TESTID.PANEL,
|
|
83
|
+
style: panelStyle,
|
|
84
|
+
onKeyDownCapture: handlePanelKeyDownCapture,
|
|
85
|
+
onKeyDown: handlePanelKeyDown,
|
|
86
|
+
onBlur: handleBlurOutOfWidget,
|
|
87
|
+
...ownerPropsConfig,
|
|
88
|
+
children: [
|
|
89
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
90
|
+
import_styled.StyledHeader,
|
|
91
|
+
{
|
|
92
|
+
id: headerId,
|
|
93
|
+
"data-testid": import_constants.PAGINATOR_DATA_TESTID.HEADER,
|
|
94
|
+
cols: hasDetailsTitle ? [`${pageInfoWidth + chevronWidth + 34}px`, "8px", "auto"] : void 0,
|
|
95
|
+
...ownerPropsConfig,
|
|
96
|
+
children: hasDetailsTitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { marginLeft: "8px" }, children: "Page" }),
|
|
98
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DSPaginationSeparator.DSPaginationSeparator, { height: "100%", ...ownerPropsConfig }),
|
|
99
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: pageDetailsTitle })
|
|
100
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Page" })
|
|
101
|
+
}
|
|
102
|
+
),
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledListWrapper, { innerRef: handleListWrapperRef, ...ownerPropsConfig, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
104
|
+
import_styled.StyledList,
|
|
105
|
+
{
|
|
106
|
+
dsFastlistWrapperList: {
|
|
107
|
+
role: "listbox",
|
|
108
|
+
id: listId,
|
|
109
|
+
"aria-labelledby": headerId,
|
|
110
|
+
// legacy data-testid — preserved for QA/consumer compatibility, breaking change if removed
|
|
111
|
+
"data-testid": import_constants.PAGINATOR_DATA_TESTID.LIST
|
|
112
|
+
},
|
|
113
|
+
dsFastlistItem: { role: "none" },
|
|
114
|
+
dsFastlistContainer: { style: { height: "auto", maxHeight: listMaxHeight } },
|
|
115
|
+
actionRef: listActionRef,
|
|
116
|
+
count: amountOfPages,
|
|
117
|
+
ItemRenderer: import_OptionRenderer.OptionRenderer,
|
|
118
|
+
getId: getOptionId,
|
|
119
|
+
estimateSize: getEstimatedSize,
|
|
120
|
+
remountOnCountChange: false,
|
|
121
|
+
...ownerPropsConfig
|
|
122
|
+
}
|
|
123
|
+
) })
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
}
|
|
128
|
+
);
|
|
129
|
+
};
|
|
130
|
+
Panel.displayName = "DSPaginator.Panel";
|
|
131
|
+
//# sourceMappingURL=Panel.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/parts/DSPaginator/parts/Panel.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React, { useContext } from 'react';\nimport { DSPaginationSeparator } from '../../DSPaginationSeparator/index.js';\nimport { PAGINATOR_DATA_TESTID, PAGINATOR_OPTION_HEIGHT } from '../constants/index.js';\nimport { DSPaginatorContext } from '../DSPaginatorCTX.js';\nimport { StyledFloatingWrapper, StyledHeader, StyledList, StyledListWrapper, StyledPanel } from '../styled.js';\nimport { OptionRenderer } from './OptionRenderer.js';\n\n// stable references: the virtual list reads them on every render\nconst getOptionId = (index: number) => index + 1;\nconst getEstimatedSize = () => PAGINATOR_OPTION_HEIGHT;\n\nexport const Panel = () => {\n const {\n propsWithDefault: { pageDetailsTitle },\n ownerPropsConfig,\n isOpen,\n amountOfPages,\n hasDetails,\n chevronWidth,\n pageInfoWidth,\n panelStyle,\n listMaxHeight,\n floatingStyles,\n floatingContext,\n floatingInnerRef,\n listActionRef,\n handleListWrapperRef,\n handlePanelKeyDown,\n handlePanelKeyDownCapture,\n handleBlurOutOfWidget,\n headerId,\n listId,\n dialogId,\n } = useContext(DSPaginatorContext);\n\n // same rule as the existing DSPaginator: the two column header only exists when there is a details title\n const hasDetailsTitle = hasDetails && pageDetailsTitle !== '';\n\n // the dialog (non-modal) and the list are named by the visible header, so what is announced is what is displayed\n return (\n <StyledFloatingWrapper\n innerRef={floatingInnerRef}\n isOpen={isOpen}\n floatingStyles={floatingStyles}\n context={floatingContext}\n id={dialogId}\n role=\"dialog\"\n aria-labelledby={headerId}\n {...ownerPropsConfig}\n >\n <StyledPanel\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={PAGINATOR_DATA_TESTID.PANEL}\n style={panelStyle}\n onKeyDownCapture={handlePanelKeyDownCapture}\n onKeyDown={handlePanelKeyDown}\n onBlur={handleBlurOutOfWidget}\n {...ownerPropsConfig}\n >\n <StyledHeader\n id={headerId}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={PAGINATOR_DATA_TESTID.HEADER}\n cols={hasDetailsTitle ? [`${pageInfoWidth + chevronWidth + 34}px`, '8px', 'auto'] : undefined}\n {...ownerPropsConfig}\n >\n {hasDetailsTitle ? (\n <>\n <span style={{ marginLeft: '8px' }}>Page</span>\n <DSPaginationSeparator height=\"100%\" {...ownerPropsConfig} />\n <span>{pageDetailsTitle}</span>\n </>\n ) : (\n <span>Page</span>\n )}\n </StyledHeader>\n <StyledListWrapper innerRef={handleListWrapperRef} {...ownerPropsConfig}>\n <StyledList\n dsFastlistWrapperList={{\n role: 'listbox',\n id: listId,\n 'aria-labelledby': headerId,\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n 'data-testid': PAGINATOR_DATA_TESTID.LIST,\n }}\n // the rows are the options themselves (they carry role=\"option\"), the wrapper of the virtual list is inert\n dsFastlistItem={{ role: 'none' }}\n // rows can wrap, so the list is as tall as its rows up to a maximum (its own default is height: 100%)\n dsFastlistContainer={{ style: { height: 'auto', maxHeight: listMaxHeight } }}\n actionRef={listActionRef}\n count={amountOfPages}\n ItemRenderer={OptionRenderer}\n getId={getOptionId}\n estimateSize={getEstimatedSize}\n remountOnCountChange={false}\n {...ownerPropsConfig}\n />\n </StyledListWrapper>\n </StyledPanel>\n </StyledFloatingWrapper>\n );\n};\n\nPanel.displayName = 'DSPaginator.Panel';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADmEX;AAnEZ,mBAAkC;AAClC,mCAAsC;AACtC,uBAA+D;AAC/D,4BAAmC;AACnC,oBAAgG;AAChG,4BAA+B;AAG/B,MAAM,cAAc,CAAC,UAAkB,QAAQ;AAC/C,MAAM,mBAAmB,MAAM;AAExB,MAAM,QAAQ,MAAM;AACzB,QAAM;AAAA,IACJ,kBAAkB,EAAE,iBAAiB;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,wCAAkB;AAGjC,QAAM,kBAAkB,cAAc,qBAAqB;AAG3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,MAAK;AAAA,MACL,mBAAiB;AAAA,MAChB,GAAG;AAAA,MAEJ;AAAA,QAAC;AAAA;AAAA,UAEC,eAAa,uCAAsB;AAAA,UACnC,OAAO;AAAA,UACP,kBAAkB;AAAA,UAClB,WAAW;AAAA,UACX,QAAQ;AAAA,UACP,GAAG;AAAA,UAEJ;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,IAAI;AAAA,gBAEJ,eAAa,uCAAsB;AAAA,gBACnC,MAAM,kBAAkB,CAAC,GAAG,gBAAgB,eAAe,EAAE,MAAM,OAAO,MAAM,IAAI;AAAA,gBACnF,GAAG;AAAA,gBAEH,4BACC,4EACE;AAAA,8DAAC,UAAK,OAAO,EAAE,YAAY,MAAM,GAAG,kBAAI;AAAA,kBACxC,4CAAC,sDAAsB,QAAO,QAAQ,GAAG,kBAAkB;AAAA,kBAC3D,4CAAC,UAAM,4BAAiB;AAAA,mBAC1B,IAEA,4CAAC,UAAK,kBAAI;AAAA;AAAA,YAEd;AAAA,YACA,4CAAC,mCAAkB,UAAU,sBAAuB,GAAG,kBACrD;AAAA,cAAC;AAAA;AAAA,gBACC,uBAAuB;AAAA,kBACrB,MAAM;AAAA,kBACN,IAAI;AAAA,kBACJ,mBAAmB;AAAA;AAAA,kBAEnB,eAAe,uCAAsB;AAAA,gBACvC;AAAA,gBAEA,gBAAgB,EAAE,MAAM,OAAO;AAAA,gBAE/B,qBAAqB,EAAE,OAAO,EAAE,QAAQ,QAAQ,WAAW,cAAc,EAAE;AAAA,gBAC3E,WAAW;AAAA,gBACX,OAAO;AAAA,gBACP,cAAc;AAAA,gBACd,OAAO;AAAA,gBACP,cAAc;AAAA,gBACd,sBAAsB;AAAA,gBACrB,GAAG;AAAA;AAAA,YACN,GACF;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var Trigger_exports = {};
|
|
30
|
+
__export(Trigger_exports, {
|
|
31
|
+
Trigger: () => Trigger
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(Trigger_exports);
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_ds_circular_progress_indicator = require("@elliemae/ds-circular-progress-indicator");
|
|
37
|
+
var import_ds_grid = require("@elliemae/ds-grid");
|
|
38
|
+
var import_ds_icons = require("@elliemae/ds-icons");
|
|
39
|
+
var import_ds_typography = require("@elliemae/ds-typography");
|
|
40
|
+
var import_react = require("react");
|
|
41
|
+
var import_DSPaginationSeparator = require("../../DSPaginationSeparator/index.js");
|
|
42
|
+
var import_constants = require("../constants/index.js");
|
|
43
|
+
var import_DSPaginatorCTX = require("../DSPaginatorCTX.js");
|
|
44
|
+
var import_styled = require("../styled.js");
|
|
45
|
+
const Trigger = () => {
|
|
46
|
+
const {
|
|
47
|
+
propsWithDefault: { pageIndex, pageCount, isLoadingPageCount, pageDetails },
|
|
48
|
+
xstyledProps,
|
|
49
|
+
globalAttributes,
|
|
50
|
+
ownerPropsConfig,
|
|
51
|
+
isOpen,
|
|
52
|
+
hasDetails,
|
|
53
|
+
focusTrackers: { focusRegion },
|
|
54
|
+
chevronRef,
|
|
55
|
+
pageInfoRef,
|
|
56
|
+
detailMaxWidth,
|
|
57
|
+
handleTriggerRef,
|
|
58
|
+
handleTriggerClick,
|
|
59
|
+
handleTriggerKeyDown,
|
|
60
|
+
handleBlurOutOfWidget,
|
|
61
|
+
dialogId
|
|
62
|
+
} = (0, import_react.useContext)(import_DSPaginatorCTX.DSPaginatorContext);
|
|
63
|
+
const isFocusTarget = focusRegion === import_constants.PAGINATOR_REGION_FOCUSES.TRIGGER;
|
|
64
|
+
const handleRef = (0, import_react.useCallback)(
|
|
65
|
+
(node) => {
|
|
66
|
+
handleTriggerRef(node);
|
|
67
|
+
if (node && isFocusTarget) node.focus();
|
|
68
|
+
},
|
|
69
|
+
[handleTriggerRef, isFocusTarget]
|
|
70
|
+
);
|
|
71
|
+
const currentDetail = hasDetails ? pageDetails[pageIndex - 1] : "";
|
|
72
|
+
const accessibleName = `Page ${pageIndex} out of ${pageCount}${currentDetail ? `, ${currentDetail}` : ""}`;
|
|
73
|
+
return (
|
|
74
|
+
// legacy data-testid (the wrapper of the DSDropdownMenuV2 trigger) — preserved for QA/consumer compatibility, breaking change if removed
|
|
75
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTriggerWrapper, { "data-testid": import_constants.PAGINATOR_DATA_TESTID.TRIGGER_WRAPPER, ...ownerPropsConfig, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
76
|
+
import_styled.StyledTrigger,
|
|
77
|
+
{
|
|
78
|
+
buttonType: "raw",
|
|
79
|
+
disabled: isLoadingPageCount,
|
|
80
|
+
innerRef: handleRef,
|
|
81
|
+
"aria-haspopup": "dialog",
|
|
82
|
+
"aria-expanded": isOpen,
|
|
83
|
+
"aria-controls": isOpen ? dialogId : void 0,
|
|
84
|
+
"aria-label": accessibleName,
|
|
85
|
+
"data-testid": import_constants.PAGINATOR_DATA_TESTID.PAGINATOR,
|
|
86
|
+
...globalAttributes,
|
|
87
|
+
...xstyledProps,
|
|
88
|
+
...ownerPropsConfig,
|
|
89
|
+
onClick: handleTriggerClick,
|
|
90
|
+
onKeyDown: handleTriggerKeyDown,
|
|
91
|
+
onBlur: handleBlurOutOfWidget,
|
|
92
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { gutter: "xxxs", alignItems: "center", style: { gridAutoFlow: "column" }, children: [
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledPageInfo, { innerRef: pageInfoRef, ...ownerPropsConfig, children: [
|
|
94
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { id: "typography-page-index", variant: "b1", as: "span", fontWeight: "semibold", textAlign: "start", children: pageIndex }),
|
|
95
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_typography.DSTypography, { className: "typography-page-info-and-detail", variant: "b1", as: "span", children: [
|
|
96
|
+
"/ ",
|
|
97
|
+
pageCount
|
|
98
|
+
] })
|
|
99
|
+
] }),
|
|
100
|
+
isLoadingPageCount && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_circular_progress_indicator.DSCircularIndeterminateIndicator, { ml: "xxxs", mr: "xxxs", size: "xs" }),
|
|
101
|
+
hasDetails && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
102
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DSPaginationSeparator.DSPaginationSeparator, { height: "12px", ml: "12px", mr: "xxxs", ...ownerPropsConfig }),
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
104
|
+
import_ds_typography.DSTypography,
|
|
105
|
+
{
|
|
106
|
+
className: "typography-page-info-and-detail typography-paginator-detail",
|
|
107
|
+
style: { maxWidth: detailMaxWidth },
|
|
108
|
+
mr: "xxs",
|
|
109
|
+
variant: "b1",
|
|
110
|
+
as: "span",
|
|
111
|
+
fontWeight: "semibold",
|
|
112
|
+
textAlign: "start",
|
|
113
|
+
children: currentDetail
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
] }),
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.ChevronDown, { ml: "xxxs", color: ["brand-primary", "700"], innerRef: chevronRef })
|
|
118
|
+
] })
|
|
119
|
+
}
|
|
120
|
+
) })
|
|
121
|
+
);
|
|
122
|
+
};
|
|
123
|
+
Trigger.displayName = "DSPaginator.Trigger";
|
|
124
|
+
//# sourceMappingURL=Trigger.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/parts/DSPaginator/parts/Trigger.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { DSCircularIndeterminateIndicator } from '@elliemae/ds-circular-progress-indicator';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ChevronDown } from '@elliemae/ds-icons';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport React, { useCallback, useContext } from 'react';\nimport { DSPaginationSeparator } from '../../DSPaginationSeparator/index.js';\nimport { PAGINATOR_DATA_TESTID, PAGINATOR_REGION_FOCUSES } from '../constants/index.js';\nimport { DSPaginatorContext } from '../DSPaginatorCTX.js';\nimport { StyledPageInfo, StyledTrigger, StyledTriggerWrapper } from '../styled.js';\n\nexport const Trigger = () => {\n const {\n propsWithDefault: { pageIndex, pageCount, isLoadingPageCount, pageDetails },\n xstyledProps,\n globalAttributes,\n ownerPropsConfig,\n isOpen,\n hasDetails,\n focusTrackers: { focusRegion },\n chevronRef,\n pageInfoRef,\n detailMaxWidth,\n handleTriggerRef,\n handleTriggerClick,\n handleTriggerKeyDown,\n handleBlurOutOfWidget,\n dialogId,\n } = useContext(DSPaginatorContext);\n\n // focus tracker: the trigger focuses itself when it is the declared target (e.g. after an option was activated)\n const isFocusTarget = focusRegion === PAGINATOR_REGION_FOCUSES.TRIGGER;\n const handleRef = useCallback(\n (node: HTMLButtonElement | null) => {\n handleTriggerRef(node);\n if (node && isFocusTarget) node.focus();\n },\n [handleTriggerRef, isFocusTarget],\n );\n\n const currentDetail = hasDetails ? pageDetails[pageIndex - 1] : '';\n const accessibleName = `Page ${pageIndex} out of ${pageCount}${currentDetail ? `, ${currentDetail}` : ''}`;\n\n return (\n // legacy data-testid (the wrapper of the DSDropdownMenuV2 trigger) \u2014 preserved for QA/consumer compatibility, breaking change if removed\n <StyledTriggerWrapper data-testid={PAGINATOR_DATA_TESTID.TRIGGER_WRAPPER} {...ownerPropsConfig}>\n <StyledTrigger\n buttonType=\"raw\"\n disabled={isLoadingPageCount}\n innerRef={handleRef}\n // the trigger owns a non-modal dialog (that hosts the list of pages): it is not a toggle button, so no aria-pressed\n aria-haspopup=\"dialog\"\n aria-expanded={isOpen}\n aria-controls={isOpen ? dialogId : undefined}\n aria-label={accessibleName}\n // legacy data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={PAGINATOR_DATA_TESTID.PAGINATOR}\n {...globalAttributes}\n {...xstyledProps}\n {...ownerPropsConfig}\n onClick={handleTriggerClick}\n onKeyDown={handleTriggerKeyDown}\n onBlur={handleBlurOutOfWidget}\n >\n <Grid gutter=\"xxxs\" alignItems=\"center\" style={{ gridAutoFlow: 'column' }}>\n <StyledPageInfo innerRef={pageInfoRef} {...ownerPropsConfig}>\n <DSTypography id=\"typography-page-index\" variant=\"b1\" as=\"span\" fontWeight=\"semibold\" textAlign=\"start\">\n {pageIndex}\n </DSTypography>\n <DSTypography className=\"typography-page-info-and-detail\" variant=\"b1\" as=\"span\">\n / {pageCount}\n </DSTypography>\n </StyledPageInfo>\n {isLoadingPageCount && <DSCircularIndeterminateIndicator ml=\"xxxs\" mr=\"xxxs\" size=\"xs\" />}\n {hasDetails && (\n <>\n <DSPaginationSeparator height=\"12px\" ml=\"12px\" mr=\"xxxs\" {...ownerPropsConfig} />\n <DSTypography\n className=\"typography-page-info-and-detail typography-paginator-detail\"\n // the detail wraps when it reaches the list width; the trigger follows the detail of the current page\n style={{ maxWidth: detailMaxWidth }}\n mr=\"xxs\"\n variant=\"b1\"\n as=\"span\"\n fontWeight=\"semibold\"\n textAlign=\"start\"\n >\n {currentDetail}\n </DSTypography>\n </>\n )}\n <ChevronDown ml=\"xxxs\" color={['brand-primary', '700']} innerRef={chevronRef} />\n </Grid>\n </StyledTrigger>\n </StyledTriggerWrapper>\n );\n};\n\nTrigger.displayName = 'DSPaginator.Trigger';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiEX;AAjEZ,4CAAiD;AACjD,qBAAqB;AACrB,sBAA4B;AAC5B,2BAA6B;AAC7B,mBAA+C;AAC/C,mCAAsC;AACtC,uBAAgE;AAChE,4BAAmC;AACnC,oBAAoE;AAE7D,MAAM,UAAU,MAAM;AAC3B,QAAM;AAAA,IACJ,kBAAkB,EAAE,WAAW,WAAW,oBAAoB,YAAY;AAAA,IAC1E;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,EAAE,YAAY;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,wCAAkB;AAGjC,QAAM,gBAAgB,gBAAgB,0CAAyB;AAC/D,QAAM,gBAAY;AAAA,IAChB,CAAC,SAAmC;AAClC,uBAAiB,IAAI;AACrB,UAAI,QAAQ,cAAe,MAAK,MAAM;AAAA,IACxC;AAAA,IACA,CAAC,kBAAkB,aAAa;AAAA,EAClC;AAEA,QAAM,gBAAgB,aAAa,YAAY,YAAY,CAAC,IAAI;AAChE,QAAM,iBAAiB,QAAQ,SAAS,WAAW,SAAS,GAAG,gBAAgB,KAAK,aAAa,KAAK,EAAE;AAExG;AAAA;AAAA,IAEE,4CAAC,sCAAqB,eAAa,uCAAsB,iBAAkB,GAAG,kBAC5E;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,UAAU;AAAA,QACV,UAAU;AAAA,QAEV,iBAAc;AAAA,QACd,iBAAe;AAAA,QACf,iBAAe,SAAS,WAAW;AAAA,QACnC,cAAY;AAAA,QAEZ,eAAa,uCAAsB;AAAA,QAClC,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,QACJ,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QAER,uDAAC,uBAAK,QAAO,QAAO,YAAW,UAAS,OAAO,EAAE,cAAc,SAAS,GACtE;AAAA,uDAAC,gCAAe,UAAU,aAAc,GAAG,kBACzC;AAAA,wDAAC,qCAAa,IAAG,yBAAwB,SAAQ,MAAK,IAAG,QAAO,YAAW,YAAW,WAAU,SAC7F,qBACH;AAAA,YACA,6CAAC,qCAAa,WAAU,mCAAkC,SAAQ,MAAK,IAAG,QAAO;AAAA;AAAA,cAC5E;AAAA,eACL;AAAA,aACF;AAAA,UACC,sBAAsB,4CAAC,0EAAiC,IAAG,QAAO,IAAG,QAAO,MAAK,MAAK;AAAA,UACtF,cACC,4EACE;AAAA,wDAAC,sDAAsB,QAAO,QAAO,IAAG,QAAO,IAAG,QAAQ,GAAG,kBAAkB;AAAA,YAC/E;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBAEV,OAAO,EAAE,UAAU,eAAe;AAAA,gBAClC,IAAG;AAAA,gBACH,SAAQ;AAAA,gBACR,IAAG;AAAA,gBACH,YAAW;AAAA,gBACX,WAAU;AAAA,gBAET;AAAA;AAAA,YACH;AAAA,aACF;AAAA,UAEF,4CAAC,+BAAY,IAAG,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG,UAAU,YAAY;AAAA,WAChF;AAAA;AAAA,IACF,GACF;AAAA;AAEJ;AAEA,QAAQ,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -50,9 +50,14 @@ const DSPaginatorPropTypes = {
|
|
|
50
50
|
...import_ds_props_helpers.xstyledPropTypes,
|
|
51
51
|
pageIndex: import_ds_props_helpers.PropTypes.number.description("Index of the current page, starting from 1").defaultValue(1),
|
|
52
52
|
pageCount: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("How many pages are there"),
|
|
53
|
-
onPageChange: import_ds_props_helpers.PropTypes.func.description(
|
|
53
|
+
onPageChange: import_ds_props_helpers.PropTypes.func.description(
|
|
54
|
+
"Function invoked when the user commits a different page (Enter, Space, click, or Tab out of the list). Moving through the options with the arrow keys does NOT invoke it"
|
|
55
|
+
).defaultValue(() => null),
|
|
54
56
|
isLoadingPageCount: import_ds_props_helpers.PropTypes.bool.description("Whether the page count is loading or not").defaultValue(false),
|
|
55
57
|
pageDetails: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.string).description("Details to provide for each page").defaultValue([]),
|
|
58
|
+
listWidth: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.number, import_ds_props_helpers.PropTypes.string]).description(
|
|
59
|
+
"Width of the open list (a number is px, a string is any CSS length). Details wrap inside it; it is never wider than the viewport. Default: 280px with pageDetails; without them the list is as wide as its page numbers need"
|
|
60
|
+
),
|
|
56
61
|
pageDetailsTitle: import_ds_props_helpers.PropTypes.string.description("The title of the details (usually a column of your dataset)").defaultValue("")
|
|
57
62
|
};
|
|
58
63
|
const DSPaginatorPropTypesSchema = DSPaginatorPropTypes;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/DSPaginator/react-desc-prop-types.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSPaginationName, PAGINATOR_SLOTS } from './constants/index.js';\n\nexport declare namespace DSPaginatorT {\n export type SlotFunctionArguments = {\n dsPaginationPaginator: () => object;\n };\n export interface RequiredProps {}\n\n export interface DefaultProps {\n pageCount: number | string;\n isLoadingPageCount: boolean;\n pageIndex: number;\n onPageChange: (page: number) => void;\n pageDetails: string[] | readonly string[];\n pageDetailsTitle: string;\n }\n\n export interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<\n typeof DSPaginationName,\n typeof PAGINATOR_SLOTS\n > {}\n export interface Props\n extends\n Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends\n DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultProps: DSPaginatorT.DefaultProps = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n};\n\nexport const DSPaginatorPropTypes: DSPropTypesSchema<DSPaginatorT.Props> = {\n ...getPropsPerSlotPropTypes(DSPaginationName, PAGINATOR_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n pageCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('How many pages are there'),\n onPageChange: PropTypes.func.description('Function invoked when the page
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAKO;AAEP,uBAAkD;
|
|
4
|
+
"sourcesContent": ["import type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSPaginationName, PAGINATOR_SLOTS } from './constants/index.js';\n\nexport declare namespace DSPaginatorT {\n export type SlotFunctionArguments = {\n dsPaginationPaginator: () => object;\n dsPaginationPaginatorTriggerWrapper: () => object;\n dsPaginationPaginatorPageInfo: () => object;\n dsPaginationPaginatorFloatingWrapper: () => object;\n dsPaginationPaginatorPanel: () => object;\n dsPaginationPaginatorHeader: () => object;\n dsPaginationPaginatorListWrapper: () => object;\n dsPaginationPaginatorList: () => object;\n dsPaginationPaginatorOption: () => object;\n dsPaginationPaginatorOptionCheckmark: () => object;\n dsPaginationPaginatorOptionPage: () => object;\n dsPaginationPaginatorOptionDetail: () => object;\n };\n export interface RequiredProps {}\n\n export interface DefaultProps {\n pageCount: number | string;\n isLoadingPageCount: boolean;\n pageIndex: number;\n onPageChange: (page: number) => void;\n pageDetails: string[] | readonly string[];\n pageDetailsTitle: string;\n }\n\n export interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<\n typeof DSPaginationName,\n typeof PAGINATOR_SLOTS\n > {\n /**\n * Width of the open list (a number is px, a string is any CSS length) when the paginator has `pageDetails`: the details\n * wrap inside it. The list is never wider than the viewport. Default: 280px. Without `pageDetails` the list is as wide\n * as its page numbers need, unless this is passed.\n */\n listWidth?: number | string;\n }\n export interface Props\n extends\n Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends\n DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultProps: DSPaginatorT.DefaultProps = {\n pageCount: 0,\n isLoadingPageCount: false,\n pageIndex: 1,\n onPageChange: () => null,\n pageDetails: [],\n pageDetailsTitle: '',\n};\n\nexport const DSPaginatorPropTypes: DSPropTypesSchema<DSPaginatorT.Props> = {\n ...getPropsPerSlotPropTypes(DSPaginationName, PAGINATOR_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),\n pageCount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('How many pages are there'),\n onPageChange: PropTypes.func\n .description(\n 'Function invoked when the user commits a different page (Enter, Space, click, or Tab out of the list). Moving through the options with the arrow keys does NOT invoke it',\n )\n .defaultValue(() => null),\n isLoadingPageCount: PropTypes.bool.description('Whether the page count is loading or not').defaultValue(false),\n pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),\n listWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).description(\n 'Width of the open list (a number is px, a string is any CSS length). Details wrap inside it; it is never wider than the viewport. Default: 280px with pageDetails; without them the list is as wide as its page numbers need',\n ),\n pageDetailsTitle: PropTypes.string\n .description('The title of the details (usually a column of your dataset)')\n .defaultValue(''),\n};\n\nexport const DSPaginatorPropTypesSchema = DSPaginatorPropTypes as unknown as ValidationMap<DSPaginatorT.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAKO;AAEP,uBAAkD;AAwD3C,MAAM,eAA0C;AAAA,EACrD,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,cAAc,MAAM;AAAA,EACpB,aAAa,CAAC;AAAA,EACd,kBAAkB;AACpB;AAEO,MAAM,uBAA8D;AAAA,EACzE,OAAG,kDAAyB,mCAAkB,gCAAe;AAAA,EAC7D,GAAG;AAAA,EACH,GAAG;AAAA,EACH,WAAW,kCAAU,OAAO,YAAY,4CAA4C,EAAE,aAAa,CAAC;AAAA,EACpG,WAAW,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,0BAA0B;AAAA,EAC3G,cAAc,kCAAU,KACrB;AAAA,IACC;AAAA,EACF,EACC,aAAa,MAAM,IAAI;AAAA,EAC1B,oBAAoB,kCAAU,KAAK,YAAY,0CAA0C,EAAE,aAAa,KAAK;AAAA,EAC7G,aAAa,kCAAU,QAAQ,kCAAU,MAAM,EAAE,YAAY,kCAAkC,EAAE,aAAa,CAAC,CAAC;AAAA,EAChH,WAAW,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE;AAAA,IACnE;AAAA,EACF;AAAA,EACA,kBAAkB,kCAAU,OACzB,YAAY,6DAA6D,EACzE,aAAa,EAAE;AACpB;AAEO,MAAM,6BAA6B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|