@salt-ds/lab 1.0.0-alpha.25 → 1.0.0-alpha.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/css/salt-lab.css +86 -121
  2. package/dist-cjs/combo-box-next/ComboBoxNext.js +1 -1
  3. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  4. package/dist-cjs/dropdown-next/DropdownNext.js +1 -2
  5. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  6. package/dist-cjs/index.js +4 -0
  7. package/dist-cjs/index.js.map +1 -1
  8. package/dist-cjs/pagination/CompactInput.css.js +6 -0
  9. package/dist-cjs/pagination/CompactInput.css.js.map +1 -0
  10. package/dist-cjs/pagination/CompactInput.js +31 -35
  11. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  12. package/dist-cjs/pagination/CompactPaginator.css.js +6 -0
  13. package/dist-cjs/pagination/CompactPaginator.css.js.map +1 -0
  14. package/dist-cjs/pagination/CompactPaginator.js +76 -0
  15. package/dist-cjs/pagination/CompactPaginator.js.map +1 -0
  16. package/dist-cjs/pagination/GoToInput.css.js +6 -0
  17. package/dist-cjs/pagination/GoToInput.css.js.map +1 -0
  18. package/dist-cjs/pagination/GoToInput.js +37 -59
  19. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  20. package/dist-cjs/pagination/PageButton.css.js +6 -0
  21. package/dist-cjs/pagination/PageButton.css.js.map +1 -0
  22. package/dist-cjs/pagination/PageButton.js +34 -33
  23. package/dist-cjs/pagination/PageButton.js.map +1 -1
  24. package/dist-cjs/pagination/PageRanges.css.js +6 -0
  25. package/dist-cjs/pagination/PageRanges.css.js.map +1 -0
  26. package/dist-cjs/pagination/PageRanges.js +73 -0
  27. package/dist-cjs/pagination/PageRanges.js.map +1 -0
  28. package/dist-cjs/pagination/Pagination.css.js +1 -1
  29. package/dist-cjs/pagination/Pagination.js +21 -38
  30. package/dist-cjs/pagination/Pagination.js.map +1 -1
  31. package/dist-cjs/pagination/PaginationContext.js +1 -6
  32. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  33. package/dist-cjs/pagination/Paginator.css.js +6 -0
  34. package/dist-cjs/pagination/Paginator.css.js.map +1 -0
  35. package/dist-cjs/pagination/Paginator.js +33 -43
  36. package/dist-cjs/pagination/Paginator.js.map +1 -1
  37. package/dist-cjs/pagination/usePaginationContext.js +1 -1
  38. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  39. package/dist-cjs/pill-next/PillNext.css.js +1 -1
  40. package/dist-cjs/pill-next/PillNext.js +26 -31
  41. package/dist-cjs/pill-next/PillNext.js.map +1 -1
  42. package/dist-es/combo-box-next/ComboBoxNext.js +1 -1
  43. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  44. package/dist-es/dropdown-next/DropdownNext.js +1 -2
  45. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  46. package/dist-es/index.js +2 -0
  47. package/dist-es/index.js.map +1 -1
  48. package/dist-es/pagination/CompactInput.css.js +4 -0
  49. package/dist-es/pagination/CompactInput.css.js.map +1 -0
  50. package/dist-es/pagination/CompactInput.js +32 -36
  51. package/dist-es/pagination/CompactInput.js.map +1 -1
  52. package/dist-es/pagination/CompactPaginator.css.js +4 -0
  53. package/dist-es/pagination/CompactPaginator.css.js.map +1 -0
  54. package/dist-es/pagination/CompactPaginator.js +72 -0
  55. package/dist-es/pagination/CompactPaginator.js.map +1 -0
  56. package/dist-es/pagination/GoToInput.css.js +4 -0
  57. package/dist-es/pagination/GoToInput.css.js.map +1 -0
  58. package/dist-es/pagination/GoToInput.js +40 -62
  59. package/dist-es/pagination/GoToInput.js.map +1 -1
  60. package/dist-es/pagination/PageButton.css.js +4 -0
  61. package/dist-es/pagination/PageButton.css.js.map +1 -0
  62. package/dist-es/pagination/PageButton.js +34 -33
  63. package/dist-es/pagination/PageButton.js.map +1 -1
  64. package/dist-es/pagination/PageRanges.css.js +4 -0
  65. package/dist-es/pagination/PageRanges.css.js.map +1 -0
  66. package/dist-es/pagination/PageRanges.js +69 -0
  67. package/dist-es/pagination/PageRanges.js.map +1 -0
  68. package/dist-es/pagination/Pagination.css.js +1 -1
  69. package/dist-es/pagination/Pagination.js +20 -37
  70. package/dist-es/pagination/Pagination.js.map +1 -1
  71. package/dist-es/pagination/PaginationContext.js +1 -6
  72. package/dist-es/pagination/PaginationContext.js.map +1 -1
  73. package/dist-es/pagination/Paginator.css.js +4 -0
  74. package/dist-es/pagination/Paginator.css.js.map +1 -0
  75. package/dist-es/pagination/Paginator.js +32 -42
  76. package/dist-es/pagination/Paginator.js.map +1 -1
  77. package/dist-es/pagination/usePaginationContext.js +1 -1
  78. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  79. package/dist-es/pill-next/PillNext.css.js +1 -1
  80. package/dist-es/pill-next/PillNext.js +28 -33
  81. package/dist-es/pill-next/PillNext.js.map +1 -1
  82. package/dist-types/combo-box-next/useComboBox.d.ts +2 -2
  83. package/dist-types/combo-box-next/useComboboxPortal.d.ts +2 -2
  84. package/dist-types/dialog/useDialog.d.ts +6 -7
  85. package/dist-types/drawer/useDrawer.d.ts +6 -7
  86. package/dist-types/dropdown-next/useDropdownNext.d.ts +12 -4
  87. package/dist-types/pagination/CompactInput.d.ts +2 -8
  88. package/dist-types/pagination/CompactPaginator.d.ts +1 -0
  89. package/dist-types/pagination/GoToInput.d.ts +13 -4
  90. package/dist-types/pagination/PageButton.d.ts +2 -3
  91. package/dist-types/pagination/PageRanges.d.ts +5 -0
  92. package/dist-types/pagination/Pagination.d.ts +15 -4
  93. package/dist-types/pagination/PaginationContext.d.ts +2 -4
  94. package/dist-types/pagination/Paginator.d.ts +6 -3
  95. package/dist-types/pagination/index.d.ts +2 -0
  96. package/dist-types/pill-next/PillNext.d.ts +1 -4
  97. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  98. package/package.json +3 -3
  99. package/dist-cjs/pagination/ArrowButton.js +0 -64
  100. package/dist-cjs/pagination/ArrowButton.js.map +0 -1
  101. package/dist-cjs/pagination/CompactControls.js +0 -38
  102. package/dist-cjs/pagination/CompactControls.js.map +0 -1
  103. package/dist-cjs/pagination/RegularControls.js +0 -58
  104. package/dist-cjs/pagination/RegularControls.js.map +0 -1
  105. package/dist-cjs/pagination/utils.js +0 -10
  106. package/dist-cjs/pagination/utils.js.map +0 -1
  107. package/dist-es/pagination/ArrowButton.js +0 -60
  108. package/dist-es/pagination/ArrowButton.js.map +0 -1
  109. package/dist-es/pagination/CompactControls.js +0 -34
  110. package/dist-es/pagination/CompactControls.js.map +0 -1
  111. package/dist-es/pagination/RegularControls.js +0 -54
  112. package/dist-es/pagination/RegularControls.js.map +0 -1
  113. package/dist-es/pagination/utils.js +0 -6
  114. package/dist-es/pagination/utils.js.map +0 -1
  115. package/dist-types/pagination/ArrowButton.d.ts +0 -7
  116. package/dist-types/pagination/CompactControls.d.ts +0 -8
  117. package/dist-types/pagination/RegularControls.d.ts +0 -8
  118. package/dist-types/pagination/utils.d.ts +0 -1
@@ -1,64 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@salt-ds/core');
7
- var icons = require('@salt-ds/icons');
8
- var clsx = require('clsx');
9
- var utils = require('./utils.js');
10
-
11
- const contentByType = /* @__PURE__ */ new Map([
12
- [
13
- "previous",
14
- {
15
- icon: icons.ChevronLeftIcon,
16
- name: "Previous Page",
17
- className: utils.withBaseName("previousButton")
18
- }
19
- ],
20
- [
21
- "next",
22
- {
23
- icon: icons.ChevronRightIcon,
24
- name: "Next Page",
25
- className: utils.withBaseName("nextButton")
26
- }
27
- ]
28
- ]);
29
- const ArrowButton = ({
30
- arrowButtonType,
31
- onPress,
32
- onKeyDown: onKeyDownProp,
33
- onClick: onClickProp,
34
- ...restProps
35
- }) => {
36
- const { icon: Icon, name, className } = contentByType.get(arrowButtonType);
37
- const onKeyDown = (event) => {
38
- if (event.key === "Enter") {
39
- event.preventDefault();
40
- onPress();
41
- }
42
- onKeyDownProp && onKeyDownProp(event);
43
- };
44
- const onClick = (event) => {
45
- onPress();
46
- onClickProp && onClickProp(event);
47
- };
48
- return /* @__PURE__ */ jsxRuntime.jsx(core.Button, {
49
- ...restProps,
50
- variant: "secondary",
51
- className: clsx.clsx(utils.withBaseName("arrowButton"), className),
52
- role: "link",
53
- name,
54
- "aria-label": name,
55
- onKeyDown,
56
- onClick,
57
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, {
58
- "aria-label": name
59
- })
60
- });
61
- };
62
-
63
- exports.ArrowButton = ArrowButton;
64
- //# sourceMappingURL=ArrowButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrowButton.js","sources":["../src/pagination/ArrowButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from \"@salt-ds/core\";\nimport { ChevronLeftIcon, ChevronRightIcon, IconProps } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport { ComponentType, KeyboardEventHandler, MouseEventHandler } from \"react\";\nimport { withBaseName } from \"./utils\";\n\nexport type ArrowButtonType = \"previous\" | \"next\";\n\nexport interface ArrowButtonProps extends ButtonProps {\n arrowButtonType: ArrowButtonType;\n onPress: () => void;\n}\n\ninterface ButtonContent {\n icon: ComponentType<IconProps>;\n name: string;\n className: string;\n}\n\nconst contentByType = new Map<ArrowButtonType, ButtonContent>([\n [\n \"previous\",\n {\n icon: ChevronLeftIcon,\n name: \"Previous Page\",\n className: withBaseName(\"previousButton\"),\n },\n ],\n [\n \"next\",\n {\n icon: ChevronRightIcon,\n name: \"Next Page\",\n className: withBaseName(\"nextButton\"),\n },\n ],\n]);\n\nexport const ArrowButton = ({\n arrowButtonType,\n onPress,\n onKeyDown: onKeyDownProp,\n onClick: onClickProp,\n ...restProps\n}: ArrowButtonProps) => {\n const { icon: Icon, name, className } = contentByType.get(arrowButtonType)!;\n\n const onKeyDown: KeyboardEventHandler<HTMLButtonElement> = (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n onPress();\n }\n onKeyDownProp && onKeyDownProp(event);\n };\n\n const onClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n onPress();\n onClickProp && onClickProp(event);\n };\n\n return (\n <Button\n {...restProps}\n variant=\"secondary\"\n className={clsx(withBaseName(\"arrowButton\"), className)}\n role=\"link\"\n name={name}\n aria-label={name}\n onKeyDown={onKeyDown}\n onClick={onClick}\n >\n <Icon aria-label={name} />\n </Button>\n );\n};\n"],"names":["ChevronLeftIcon","withBaseName","ChevronRightIcon","jsx","Button","clsx"],"mappings":";;;;;;;;;;AAmBA,MAAM,aAAA,uBAAoB,GAAoC,CAAA;AAAA,EAC5D;AAAA,IACE,UAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAAA,qBAAA;AAAA,MACN,IAAM,EAAA,eAAA;AAAA,MACN,SAAA,EAAWC,mBAAa,gBAAgB,CAAA;AAAA,KAC1C;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAAC,sBAAA;AAAA,MACN,IAAM,EAAA,WAAA;AAAA,MACN,SAAA,EAAWD,mBAAa,YAAY,CAAA;AAAA,KACtC;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAEM,MAAM,cAAc,CAAC;AAAA,EAC1B,eAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAW,EAAA,aAAA;AAAA,EACX,OAAS,EAAA,WAAA;AAAA,EACN,GAAA,SAAA;AACL,CAAwB,KAAA;AACtB,EAAM,MAAA,EAAE,MAAM,IAAM,EAAA,IAAA,EAAM,WAAc,GAAA,aAAA,CAAc,IAAI,eAAe,CAAA,CAAA;AAEzE,EAAM,MAAA,SAAA,GAAqD,CAAC,KAAU,KAAA;AACpE,IAAI,IAAA,KAAA,CAAM,QAAQ,OAAS,EAAA;AACzB,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AACA,IAAA,aAAA,IAAiB,cAAc,KAAK,CAAA,CAAA;AAAA,GACtC,CAAA;AAEA,EAAM,MAAA,OAAA,GAAgD,CAAC,KAAU,KAAA;AAC/D,IAAQ,OAAA,EAAA,CAAA;AACR,IAAA,WAAA,IAAe,YAAY,KAAK,CAAA,CAAA;AAAA,GAClC,CAAA;AAEA,EAAA,uBACGE,cAAA,CAAAC,WAAA,EAAA;AAAA,IACE,GAAG,SAAA;AAAA,IACJ,OAAQ,EAAA,WAAA;AAAA,IACR,SAAW,EAAAC,SAAA,CAAKJ,kBAAa,CAAA,aAAa,GAAG,SAAS,CAAA;AAAA,IACtD,IAAK,EAAA,MAAA;AAAA,IACL,IAAA;AAAA,IACA,YAAY,EAAA,IAAA;AAAA,IACZ,SAAA;AAAA,IACA,OAAA;AAAA,IAEA,QAAC,kBAAAE,cAAA,CAAA,IAAA,EAAA;AAAA,MAAK,YAAY,EAAA,IAAA;AAAA,KAAM,CAAA;AAAA,GAC1B,CAAA,CAAA;AAEJ;;;;"}
@@ -1,38 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var CompactInput = require('./CompactInput.js');
7
- var PageButton = require('./PageButton.js');
8
- var utils = require('./utils.js');
9
-
10
- const CompactControls = ({
11
- page,
12
- count,
13
- onPageChange,
14
- FormFieldProps: FormFieldProps2
15
- }) => {
16
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
17
- children: [
18
- /* @__PURE__ */ jsxRuntime.jsx(CompactInput.CompactInput, {
19
- page,
20
- count,
21
- onPageChange,
22
- FormFieldProps: FormFieldProps2
23
- }),
24
- /* @__PURE__ */ jsxRuntime.jsx("span", {
25
- className: utils.withBaseName("compactSeparator"),
26
- children: "of"
27
- }),
28
- /* @__PURE__ */ jsxRuntime.jsx(PageButton.PageButton, {
29
- page: count,
30
- onPageChange,
31
- disabled: page === count
32
- })
33
- ]
34
- });
35
- };
36
-
37
- exports.CompactControls = CompactControls;
38
- //# sourceMappingURL=CompactControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompactControls.js","sources":["../src/pagination/CompactControls.tsx"],"sourcesContent":["import { FormFieldLegacyProps as FormFieldProps } from \"../form-field-legacy\";\nimport { CompactInput } from \"./CompactInput\";\nimport { PageButton } from \"./PageButton\";\nimport { withBaseName } from \"./utils\";\n\nexport interface CompactControlsProps {\n count: number;\n page: number;\n onPageChange: (page: number) => void;\n FormFieldProps?: Partial<FormFieldProps>;\n}\n\nexport const CompactControls = ({\n page,\n count,\n onPageChange,\n FormFieldProps,\n}: CompactControlsProps) => {\n return (\n <>\n <CompactInput\n page={page}\n count={count}\n onPageChange={onPageChange}\n FormFieldProps={FormFieldProps}\n />\n <span className={withBaseName(\"compactSeparator\")}>of</span>\n <PageButton\n page={count}\n onPageChange={onPageChange}\n disabled={page === count}\n />\n </>\n );\n};\n"],"names":["FormFieldProps","jsxs","Fragment","jsx","CompactInput","withBaseName","PageButton"],"mappings":";;;;;;;;;AAYO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAAA,EAAAA,eAAAA;AACF,CAA4B,KAAA;AAC1B,EACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,yBAAA,EAAA;AAAA,QACC,IAAA;AAAA,QACA,KAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAgBJ,EAAAA,eAAAA;AAAA,OAClB,CAAA;AAAA,sBACCG,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,SAAA,EAAWE,mBAAa,kBAAkB,CAAA;AAAA,QAAG,QAAA,EAAA,IAAA;AAAA,OAAE,CAAA;AAAA,sBACpDF,cAAA,CAAAG,qBAAA,EAAA;AAAA,QACC,IAAM,EAAA,KAAA;AAAA,QACN,YAAA;AAAA,QACA,UAAU,IAAS,KAAA,KAAA;AAAA,OACrB,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,58 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var utils = require('./utils.js');
7
- var usePagination = require('./usePagination.js');
8
- var PageButton = require('./PageButton.js');
9
-
10
- const Ellipsis = () => {
11
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
12
- className: utils.withBaseName("ellipsis"),
13
- children: `\u2026`
14
- });
15
- };
16
- const mapRange = (range, fn) => {
17
- const result = [];
18
- for (let i = range[0]; i <= range[1]; ++i) {
19
- result.push(fn(i));
20
- }
21
- return result;
22
- };
23
- function RegularControls({
24
- page,
25
- count,
26
- onPageChange,
27
- siblingCount = 2,
28
- boundaryCount = 1
29
- }) {
30
- const renderPages = (range, selectedPage) => {
31
- if (!range) {
32
- return null;
33
- }
34
- return mapRange(range, (i) => /* @__PURE__ */ jsxRuntime.jsx(PageButton.PageButton, {
35
- page: i,
36
- isSelected: selectedPage === i,
37
- onPageChange
38
- }, i));
39
- };
40
- const [leftPages, middlePages, rightPages] = usePagination.usePagination(
41
- page,
42
- count,
43
- Math.max(1, boundaryCount),
44
- siblingCount
45
- );
46
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
47
- children: [
48
- renderPages(leftPages, page),
49
- leftPages && /* @__PURE__ */ jsxRuntime.jsx(Ellipsis, {}),
50
- renderPages(middlePages, page),
51
- rightPages && /* @__PURE__ */ jsxRuntime.jsx(Ellipsis, {}),
52
- renderPages(rightPages, page)
53
- ]
54
- });
55
- }
56
-
57
- exports.RegularControls = RegularControls;
58
- //# sourceMappingURL=RegularControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegularControls.js","sources":["../src/pagination/RegularControls.tsx"],"sourcesContent":["import { withBaseName } from \"./utils\";\nimport { PageRange, usePagination } from \"./usePagination\";\nimport { ReactElement } from \"react\";\nimport { PageButton } from \"./PageButton\";\n\nexport interface RegularControlsProps {\n count: number;\n page: number;\n onPageChange: (page: number) => void;\n boundaryCount?: number;\n siblingCount?: number;\n}\n\nconst Ellipsis = () => {\n return <div className={withBaseName(\"ellipsis\")}>{`\\u2026`}</div>;\n};\n\nconst mapRange = (range: PageRange, fn: (i: number) => ReactElement) => {\n const result: ReactElement[] = [];\n for (let i = range[0]; i <= range[1]; ++i) {\n result.push(fn(i));\n }\n return result;\n};\n\nexport function RegularControls({\n page,\n count,\n onPageChange,\n siblingCount = 2,\n boundaryCount = 1,\n}: RegularControlsProps) {\n const renderPages = (range?: PageRange, selectedPage?: number) => {\n if (!range) {\n return null;\n }\n return mapRange(range, (i) => (\n <PageButton\n key={i}\n page={i}\n isSelected={selectedPage === i}\n onPageChange={onPageChange}\n />\n ));\n };\n\n const [leftPages, middlePages, rightPages] = usePagination(\n page,\n count,\n Math.max(1, boundaryCount),\n siblingCount\n );\n\n return (\n <>\n {renderPages(leftPages, page)}\n {leftPages && <Ellipsis />}\n {renderPages(middlePages, page)}\n {rightPages && <Ellipsis />}\n {renderPages(rightPages, page)}\n </>\n );\n}\n"],"names":["jsx","withBaseName","PageButton","usePagination","jsxs","Fragment"],"mappings":";;;;;;;;;AAaA,MAAM,WAAW,MAAM;AACrB,EAAA,uBAAQA,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAA,EAAWC,mBAAa,UAAU,CAAA;AAAA,IAAI,QAAA,EAAA,CAAA,MAAA,CAAA;AAAA,GAAS,CAAA,CAAA;AAC7D,CAAA,CAAA;AAEA,MAAM,QAAA,GAAW,CAAC,KAAA,EAAkB,EAAoC,KAAA;AACtE,EAAA,MAAM,SAAyB,EAAC,CAAA;AAChC,EAAA,KAAA,IAAS,IAAI,KAAM,CAAA,CAAA,CAAA,EAAI,KAAK,KAAM,CAAA,CAAA,CAAA,EAAI,EAAE,CAAG,EAAA;AACzC,IAAO,MAAA,CAAA,IAAA,CAAK,EAAG,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,GACnB;AACA,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC9B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAe,GAAA,CAAA;AAAA,EACf,aAAgB,GAAA,CAAA;AAClB,CAAyB,EAAA;AACvB,EAAM,MAAA,WAAA,GAAc,CAAC,KAAA,EAAmB,YAA0B,KAAA;AAChE,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AACA,IAAA,OAAO,QAAS,CAAA,KAAA,EAAO,CAAC,CAAA,qBACrBD,cAAA,CAAAE,qBAAA,EAAA;AAAA,MAEC,IAAM,EAAA,CAAA;AAAA,MACN,YAAY,YAAiB,KAAA,CAAA;AAAA,MAC7B,YAAA;AAAA,KAAA,EAHK,CAIP,CACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,CAAC,SAAA,EAAW,WAAa,EAAA,UAAU,CAAI,GAAAC,2BAAA;AAAA,IAC3C,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,aAAa,CAAA;AAAA,IACzB,YAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACG,QAAA,EAAA;AAAA,MAAA,WAAA,CAAY,WAAW,IAAI,CAAA;AAAA,MAC3B,SAAA,mCAAc,QAAS,EAAA,EAAA,CAAA;AAAA,MACvB,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA,MAC7B,UAAA,mCAAe,QAAS,EAAA,EAAA,CAAA;AAAA,MACxB,WAAA,CAAY,YAAY,IAAI,CAAA;AAAA,KAAA;AAAA,GAC/B,CAAA,CAAA;AAEJ;;;;"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var core = require('@salt-ds/core');
6
-
7
- const withBaseName = core.makePrefixer("saltPagination");
8
-
9
- exports.withBaseName = withBaseName;
10
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../src/pagination/utils.ts"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\n\nexport const withBaseName = makePrefixer(\"saltPagination\");\n"],"names":["makePrefixer"],"mappings":";;;;;;AAEa,MAAA,YAAA,GAAeA,kBAAa,gBAAgB;;;;"}
@@ -1,60 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { Button } from '@salt-ds/core';
3
- import { ChevronLeftIcon, ChevronRightIcon } from '@salt-ds/icons';
4
- import { clsx } from 'clsx';
5
- import { withBaseName } from './utils.js';
6
-
7
- const contentByType = /* @__PURE__ */ new Map([
8
- [
9
- "previous",
10
- {
11
- icon: ChevronLeftIcon,
12
- name: "Previous Page",
13
- className: withBaseName("previousButton")
14
- }
15
- ],
16
- [
17
- "next",
18
- {
19
- icon: ChevronRightIcon,
20
- name: "Next Page",
21
- className: withBaseName("nextButton")
22
- }
23
- ]
24
- ]);
25
- const ArrowButton = ({
26
- arrowButtonType,
27
- onPress,
28
- onKeyDown: onKeyDownProp,
29
- onClick: onClickProp,
30
- ...restProps
31
- }) => {
32
- const { icon: Icon, name, className } = contentByType.get(arrowButtonType);
33
- const onKeyDown = (event) => {
34
- if (event.key === "Enter") {
35
- event.preventDefault();
36
- onPress();
37
- }
38
- onKeyDownProp && onKeyDownProp(event);
39
- };
40
- const onClick = (event) => {
41
- onPress();
42
- onClickProp && onClickProp(event);
43
- };
44
- return /* @__PURE__ */ jsx(Button, {
45
- ...restProps,
46
- variant: "secondary",
47
- className: clsx(withBaseName("arrowButton"), className),
48
- role: "link",
49
- name,
50
- "aria-label": name,
51
- onKeyDown,
52
- onClick,
53
- children: /* @__PURE__ */ jsx(Icon, {
54
- "aria-label": name
55
- })
56
- });
57
- };
58
-
59
- export { ArrowButton };
60
- //# sourceMappingURL=ArrowButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrowButton.js","sources":["../src/pagination/ArrowButton.tsx"],"sourcesContent":["import { Button, ButtonProps } from \"@salt-ds/core\";\nimport { ChevronLeftIcon, ChevronRightIcon, IconProps } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport { ComponentType, KeyboardEventHandler, MouseEventHandler } from \"react\";\nimport { withBaseName } from \"./utils\";\n\nexport type ArrowButtonType = \"previous\" | \"next\";\n\nexport interface ArrowButtonProps extends ButtonProps {\n arrowButtonType: ArrowButtonType;\n onPress: () => void;\n}\n\ninterface ButtonContent {\n icon: ComponentType<IconProps>;\n name: string;\n className: string;\n}\n\nconst contentByType = new Map<ArrowButtonType, ButtonContent>([\n [\n \"previous\",\n {\n icon: ChevronLeftIcon,\n name: \"Previous Page\",\n className: withBaseName(\"previousButton\"),\n },\n ],\n [\n \"next\",\n {\n icon: ChevronRightIcon,\n name: \"Next Page\",\n className: withBaseName(\"nextButton\"),\n },\n ],\n]);\n\nexport const ArrowButton = ({\n arrowButtonType,\n onPress,\n onKeyDown: onKeyDownProp,\n onClick: onClickProp,\n ...restProps\n}: ArrowButtonProps) => {\n const { icon: Icon, name, className } = contentByType.get(arrowButtonType)!;\n\n const onKeyDown: KeyboardEventHandler<HTMLButtonElement> = (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n onPress();\n }\n onKeyDownProp && onKeyDownProp(event);\n };\n\n const onClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n onPress();\n onClickProp && onClickProp(event);\n };\n\n return (\n <Button\n {...restProps}\n variant=\"secondary\"\n className={clsx(withBaseName(\"arrowButton\"), className)}\n role=\"link\"\n name={name}\n aria-label={name}\n onKeyDown={onKeyDown}\n onClick={onClick}\n >\n <Icon aria-label={name} />\n </Button>\n );\n};\n"],"names":[],"mappings":";;;;;;AAmBA,MAAM,aAAA,uBAAoB,GAAoC,CAAA;AAAA,EAC5D;AAAA,IACE,UAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,eAAA;AAAA,MACN,IAAM,EAAA,eAAA;AAAA,MACN,SAAA,EAAW,aAAa,gBAAgB,CAAA;AAAA,KAC1C;AAAA,GACF;AAAA,EACA;AAAA,IACE,MAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,gBAAA;AAAA,MACN,IAAM,EAAA,WAAA;AAAA,MACN,SAAA,EAAW,aAAa,YAAY,CAAA;AAAA,KACtC;AAAA,GACF;AACF,CAAC,CAAA,CAAA;AAEM,MAAM,cAAc,CAAC;AAAA,EAC1B,eAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAW,EAAA,aAAA;AAAA,EACX,OAAS,EAAA,WAAA;AAAA,EACN,GAAA,SAAA;AACL,CAAwB,KAAA;AACtB,EAAM,MAAA,EAAE,MAAM,IAAM,EAAA,IAAA,EAAM,WAAc,GAAA,aAAA,CAAc,IAAI,eAAe,CAAA,CAAA;AAEzE,EAAM,MAAA,SAAA,GAAqD,CAAC,KAAU,KAAA;AACpE,IAAI,IAAA,KAAA,CAAM,QAAQ,OAAS,EAAA;AACzB,MAAA,KAAA,CAAM,cAAe,EAAA,CAAA;AACrB,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV;AACA,IAAA,aAAA,IAAiB,cAAc,KAAK,CAAA,CAAA;AAAA,GACtC,CAAA;AAEA,EAAM,MAAA,OAAA,GAAgD,CAAC,KAAU,KAAA;AAC/D,IAAQ,OAAA,EAAA,CAAA;AACR,IAAA,WAAA,IAAe,YAAY,KAAK,CAAA,CAAA;AAAA,GAClC,CAAA;AAEA,EAAA,uBACG,GAAA,CAAA,MAAA,EAAA;AAAA,IACE,GAAG,SAAA;AAAA,IACJ,OAAQ,EAAA,WAAA;AAAA,IACR,SAAW,EAAA,IAAA,CAAK,YAAa,CAAA,aAAa,GAAG,SAAS,CAAA;AAAA,IACtD,IAAK,EAAA,MAAA;AAAA,IACL,IAAA;AAAA,IACA,YAAY,EAAA,IAAA;AAAA,IACZ,SAAA;AAAA,IACA,OAAA;AAAA,IAEA,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA;AAAA,MAAK,YAAY,EAAA,IAAA;AAAA,KAAM,CAAA;AAAA,GAC1B,CAAA,CAAA;AAEJ;;;;"}
@@ -1,34 +0,0 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { CompactInput } from './CompactInput.js';
3
- import { PageButton } from './PageButton.js';
4
- import { withBaseName } from './utils.js';
5
-
6
- const CompactControls = ({
7
- page,
8
- count,
9
- onPageChange,
10
- FormFieldProps: FormFieldProps2
11
- }) => {
12
- return /* @__PURE__ */ jsxs(Fragment, {
13
- children: [
14
- /* @__PURE__ */ jsx(CompactInput, {
15
- page,
16
- count,
17
- onPageChange,
18
- FormFieldProps: FormFieldProps2
19
- }),
20
- /* @__PURE__ */ jsx("span", {
21
- className: withBaseName("compactSeparator"),
22
- children: "of"
23
- }),
24
- /* @__PURE__ */ jsx(PageButton, {
25
- page: count,
26
- onPageChange,
27
- disabled: page === count
28
- })
29
- ]
30
- });
31
- };
32
-
33
- export { CompactControls };
34
- //# sourceMappingURL=CompactControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompactControls.js","sources":["../src/pagination/CompactControls.tsx"],"sourcesContent":["import { FormFieldLegacyProps as FormFieldProps } from \"../form-field-legacy\";\nimport { CompactInput } from \"./CompactInput\";\nimport { PageButton } from \"./PageButton\";\nimport { withBaseName } from \"./utils\";\n\nexport interface CompactControlsProps {\n count: number;\n page: number;\n onPageChange: (page: number) => void;\n FormFieldProps?: Partial<FormFieldProps>;\n}\n\nexport const CompactControls = ({\n page,\n count,\n onPageChange,\n FormFieldProps,\n}: CompactControlsProps) => {\n return (\n <>\n <CompactInput\n page={page}\n count={count}\n onPageChange={onPageChange}\n FormFieldProps={FormFieldProps}\n />\n <span className={withBaseName(\"compactSeparator\")}>of</span>\n <PageButton\n page={count}\n onPageChange={onPageChange}\n disabled={page === count}\n />\n </>\n );\n};\n"],"names":["FormFieldProps"],"mappings":";;;;;AAYO,MAAM,kBAAkB,CAAC;AAAA,EAC9B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAAA,EAAAA,eAAAA;AACF,CAA4B,KAAA;AAC1B,EACE,uBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,YAAA,EAAA;AAAA,QACC,IAAA;AAAA,QACA,KAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAgBA,EAAAA,eAAAA;AAAA,OAClB,CAAA;AAAA,sBACC,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,SAAA,EAAW,aAAa,kBAAkB,CAAA;AAAA,QAAG,QAAA,EAAA,IAAA;AAAA,OAAE,CAAA;AAAA,sBACpD,GAAA,CAAA,UAAA,EAAA;AAAA,QACC,IAAM,EAAA,KAAA;AAAA,QACN,YAAA;AAAA,QACA,UAAU,IAAS,KAAA,KAAA;AAAA,OACrB,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,54 +0,0 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
- import { withBaseName } from './utils.js';
3
- import { usePagination } from './usePagination.js';
4
- import { PageButton } from './PageButton.js';
5
-
6
- const Ellipsis = () => {
7
- return /* @__PURE__ */ jsx("div", {
8
- className: withBaseName("ellipsis"),
9
- children: `\u2026`
10
- });
11
- };
12
- const mapRange = (range, fn) => {
13
- const result = [];
14
- for (let i = range[0]; i <= range[1]; ++i) {
15
- result.push(fn(i));
16
- }
17
- return result;
18
- };
19
- function RegularControls({
20
- page,
21
- count,
22
- onPageChange,
23
- siblingCount = 2,
24
- boundaryCount = 1
25
- }) {
26
- const renderPages = (range, selectedPage) => {
27
- if (!range) {
28
- return null;
29
- }
30
- return mapRange(range, (i) => /* @__PURE__ */ jsx(PageButton, {
31
- page: i,
32
- isSelected: selectedPage === i,
33
- onPageChange
34
- }, i));
35
- };
36
- const [leftPages, middlePages, rightPages] = usePagination(
37
- page,
38
- count,
39
- Math.max(1, boundaryCount),
40
- siblingCount
41
- );
42
- return /* @__PURE__ */ jsxs(Fragment, {
43
- children: [
44
- renderPages(leftPages, page),
45
- leftPages && /* @__PURE__ */ jsx(Ellipsis, {}),
46
- renderPages(middlePages, page),
47
- rightPages && /* @__PURE__ */ jsx(Ellipsis, {}),
48
- renderPages(rightPages, page)
49
- ]
50
- });
51
- }
52
-
53
- export { RegularControls };
54
- //# sourceMappingURL=RegularControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegularControls.js","sources":["../src/pagination/RegularControls.tsx"],"sourcesContent":["import { withBaseName } from \"./utils\";\nimport { PageRange, usePagination } from \"./usePagination\";\nimport { ReactElement } from \"react\";\nimport { PageButton } from \"./PageButton\";\n\nexport interface RegularControlsProps {\n count: number;\n page: number;\n onPageChange: (page: number) => void;\n boundaryCount?: number;\n siblingCount?: number;\n}\n\nconst Ellipsis = () => {\n return <div className={withBaseName(\"ellipsis\")}>{`\\u2026`}</div>;\n};\n\nconst mapRange = (range: PageRange, fn: (i: number) => ReactElement) => {\n const result: ReactElement[] = [];\n for (let i = range[0]; i <= range[1]; ++i) {\n result.push(fn(i));\n }\n return result;\n};\n\nexport function RegularControls({\n page,\n count,\n onPageChange,\n siblingCount = 2,\n boundaryCount = 1,\n}: RegularControlsProps) {\n const renderPages = (range?: PageRange, selectedPage?: number) => {\n if (!range) {\n return null;\n }\n return mapRange(range, (i) => (\n <PageButton\n key={i}\n page={i}\n isSelected={selectedPage === i}\n onPageChange={onPageChange}\n />\n ));\n };\n\n const [leftPages, middlePages, rightPages] = usePagination(\n page,\n count,\n Math.max(1, boundaryCount),\n siblingCount\n );\n\n return (\n <>\n {renderPages(leftPages, page)}\n {leftPages && <Ellipsis />}\n {renderPages(middlePages, page)}\n {rightPages && <Ellipsis />}\n {renderPages(rightPages, page)}\n </>\n );\n}\n"],"names":[],"mappings":";;;;;AAaA,MAAM,WAAW,MAAM;AACrB,EAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA;AAAA,IAAI,SAAA,EAAW,aAAa,UAAU,CAAA;AAAA,IAAI,QAAA,EAAA,CAAA,MAAA,CAAA;AAAA,GAAS,CAAA,CAAA;AAC7D,CAAA,CAAA;AAEA,MAAM,QAAA,GAAW,CAAC,KAAA,EAAkB,EAAoC,KAAA;AACtE,EAAA,MAAM,SAAyB,EAAC,CAAA;AAChC,EAAA,KAAA,IAAS,IAAI,KAAM,CAAA,CAAA,CAAA,EAAI,KAAK,KAAM,CAAA,CAAA,CAAA,EAAI,EAAE,CAAG,EAAA;AACzC,IAAO,MAAA,CAAA,IAAA,CAAK,EAAG,CAAA,CAAC,CAAC,CAAA,CAAA;AAAA,GACnB;AACA,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC9B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAe,GAAA,CAAA;AAAA,EACf,aAAgB,GAAA,CAAA;AAClB,CAAyB,EAAA;AACvB,EAAM,MAAA,WAAA,GAAc,CAAC,KAAA,EAAmB,YAA0B,KAAA;AAChE,IAAA,IAAI,CAAC,KAAO,EAAA;AACV,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AACA,IAAA,OAAO,QAAS,CAAA,KAAA,EAAO,CAAC,CAAA,qBACrB,GAAA,CAAA,UAAA,EAAA;AAAA,MAEC,IAAM,EAAA,CAAA;AAAA,MACN,YAAY,YAAiB,KAAA,CAAA;AAAA,MAC7B,YAAA;AAAA,KAAA,EAHK,CAIP,CACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,MAAM,CAAC,SAAA,EAAW,WAAa,EAAA,UAAU,CAAI,GAAA,aAAA;AAAA,IAC3C,IAAA;AAAA,IACA,KAAA;AAAA,IACA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,aAAa,CAAA;AAAA,IACzB,YAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,IAAA,CAAA,QAAA,EAAA;AAAA,IACG,QAAA,EAAA;AAAA,MAAA,WAAA,CAAY,WAAW,IAAI,CAAA;AAAA,MAC3B,SAAA,wBAAc,QAAS,EAAA,EAAA,CAAA;AAAA,MACvB,WAAA,CAAY,aAAa,IAAI,CAAA;AAAA,MAC7B,UAAA,wBAAe,QAAS,EAAA,EAAA,CAAA;AAAA,MACxB,WAAA,CAAY,YAAY,IAAI,CAAA;AAAA,KAAA;AAAA,GAC/B,CAAA,CAAA;AAEJ;;;;"}
@@ -1,6 +0,0 @@
1
- import { makePrefixer } from '@salt-ds/core';
2
-
3
- const withBaseName = makePrefixer("saltPagination");
4
-
5
- export { withBaseName };
6
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../src/pagination/utils.ts"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\n\nexport const withBaseName = makePrefixer(\"saltPagination\");\n"],"names":[],"mappings":";;AAEa,MAAA,YAAA,GAAe,aAAa,gBAAgB;;;;"}
@@ -1,7 +0,0 @@
1
- import { ButtonProps } from "@salt-ds/core";
2
- export declare type ArrowButtonType = "previous" | "next";
3
- export interface ArrowButtonProps extends ButtonProps {
4
- arrowButtonType: ArrowButtonType;
5
- onPress: () => void;
6
- }
7
- export declare const ArrowButton: ({ arrowButtonType, onPress, onKeyDown: onKeyDownProp, onClick: onClickProp, ...restProps }: ArrowButtonProps) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import { FormFieldLegacyProps as FormFieldProps } from "../form-field-legacy";
2
- export interface CompactControlsProps {
3
- count: number;
4
- page: number;
5
- onPageChange: (page: number) => void;
6
- FormFieldProps?: Partial<FormFieldProps>;
7
- }
8
- export declare const CompactControls: ({ page, count, onPageChange, FormFieldProps, }: CompactControlsProps) => JSX.Element;
@@ -1,8 +0,0 @@
1
- export interface RegularControlsProps {
2
- count: number;
3
- page: number;
4
- onPageChange: (page: number) => void;
5
- boundaryCount?: number;
6
- siblingCount?: number;
7
- }
8
- export declare function RegularControls({ page, count, onPageChange, siblingCount, boundaryCount, }: RegularControlsProps): JSX.Element;
@@ -1 +0,0 @@
1
- export declare const withBaseName: import("@salt-ds/core").ClassNamePrefixer;