@popsure/dirty-swan 0.59.0-beta → 0.59.0-beta-3

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 (53) hide show
  1. package/dist/cjs/index.js +15 -15
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/lib/components/button/index.d.ts +1 -1
  4. package/dist/esm/{Calendar-2d7e51b5.js → Calendar-5ad3eccf.js} +2 -2
  5. package/dist/esm/Calendar-5ad3eccf.js.map +1 -0
  6. package/dist/esm/{TableSection-3a883ecb.js → TableSection-018d8e8f.js} +1 -1
  7. package/dist/esm/{TableSection-3a883ecb.js.map → TableSection-018d8e8f.js.map} +1 -1
  8. package/dist/esm/components/accordion/index.js +2 -2
  9. package/dist/esm/components/accordion/index.js.map +1 -1
  10. package/dist/esm/components/button/index.js +4 -5
  11. package/dist/esm/components/button/index.js.map +1 -1
  12. package/dist/esm/components/button/index.stories.js +3 -7
  13. package/dist/esm/components/button/index.stories.js.map +1 -1
  14. package/dist/esm/components/comparisonTable/components/TableArrows/index.js +1 -1
  15. package/dist/esm/components/dateSelector/components/Calendar.js +1 -1
  16. package/dist/esm/components/dateSelector/index.js +1 -1
  17. package/dist/esm/components/dateSelector/index.stories.js +1 -1
  18. package/dist/esm/components/dateSelector/index.test.js +1 -1
  19. package/dist/esm/components/input/index.js +1 -1
  20. package/dist/esm/components/modal/genericModal/index.js +1 -1
  21. package/dist/esm/components/modal/genericModal/index.js.map +1 -1
  22. package/dist/esm/components/modal/index.stories.js +7 -7
  23. package/dist/esm/components/modal/index.stories.js.map +1 -1
  24. package/dist/esm/components/segmentedControl/index.js +1 -1
  25. package/dist/esm/components/table/Table.js +1 -1
  26. package/dist/esm/components/table/Table.stories.js +1 -1
  27. package/dist/esm/components/table/Table.test.js +1 -1
  28. package/dist/esm/components/table/components/TableContents/TableContents.js +1 -1
  29. package/dist/esm/components/table/components/TableContents/TableContents.test.js +1 -1
  30. package/dist/esm/components/table/components/TableControls/TableControls.js +4 -3
  31. package/dist/esm/components/table/components/TableControls/TableControls.js.map +1 -1
  32. package/dist/esm/components/table/components/TableSection/TableSection.js +1 -1
  33. package/dist/esm/components/table/components/TableSection/TableSection.test.js +1 -1
  34. package/dist/esm/index.js +2 -2
  35. package/dist/esm/lib/components/button/index.d.ts +1 -1
  36. package/dist/index.css +88 -55
  37. package/dist/index.css.map +1 -1
  38. package/dist/lib/scss/private/components/_buttons.scss +105 -63
  39. package/package.json +1 -1
  40. package/src/lib/components/accordion/index.tsx +1 -0
  41. package/src/lib/components/accordion/style.module.scss +0 -4
  42. package/src/lib/components/button/index.stories.tsx +22 -57
  43. package/src/lib/components/button/index.tsx +7 -9
  44. package/src/lib/components/comparisonTable/components/TableArrows/style.module.scss +1 -0
  45. package/src/lib/components/dateSelector/components/Calendar.tsx +1 -1
  46. package/src/lib/components/input/style.module.scss +1 -1
  47. package/src/lib/components/modal/genericModal/index.tsx +1 -1
  48. package/src/lib/components/modal/index.stories.tsx +38 -38
  49. package/src/lib/components/segmentedControl/style.module.scss +1 -1
  50. package/src/lib/components/table/components/TableControls/TableControls.module.scss +6 -1
  51. package/src/lib/components/table/components/TableControls/TableControls.tsx +10 -2
  52. package/src/lib/scss/private/components/_buttons.scss +105 -63
  53. package/dist/esm/Calendar-2d7e51b5.js.map +0 -1
@@ -100,7 +100,7 @@ var BottomOrRegularModalStory = function (_a) {
100
100
  onClose();
101
101
  setDisplay(false);
102
102
  };
103
- return (jsxs(Fragment, { children: [jsx("button", { className: "d-flex p-btn--primary wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { dismissible: dismissible, className: className, classNames: classNames, title: title, isOpen: display, size: size, onModalScroll: onModalScroll, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx("button", { className: "p-btn--primary mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
103
+ return (jsxs(Fragment, { children: [jsx(Button, { className: "wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { dismissible: dismissible, className: className, classNames: classNames, title: title, isOpen: display, size: size, onModalScroll: onModalScroll, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx(Button, { className: "mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
104
104
  };
105
105
  BottomOrRegularModalStory.storyName = 'BottomOrRegularModal';
106
106
  var RegularModalStory = function (_a) {
@@ -110,7 +110,7 @@ var RegularModalStory = function (_a) {
110
110
  onClose();
111
111
  setDisplay(false);
112
112
  };
113
- return (jsxs(Fragment, { children: ["Regular modals are primary meant to be used on Desktop or Tablet environment. The modal will appear in the middle of the screen and the user will be able to dismiss them using the top left \"X\" icon. If you want to use it for Mobile only, you should check BottomModal instead. Want to use either Regular Modal or Bottom Modal based on the screen width? You can use Bottom or Regular modal.", jsx("button", { className: "d-flex p-btn--primary wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(RegularModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx("button", { className: "p-btn--primary mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
113
+ return (jsxs(Fragment, { children: ["Regular modals are primary meant to be used on Desktop or Tablet environment. The modal will appear in the middle of the screen and the user will be able to dismiss them using the top left \"X\" icon. If you want to use it for Mobile only, you should check BottomModal instead. Want to use either Regular Modal or Bottom Modal based on the screen width? You can use Bottom or Regular modal.", jsx(Button, { className: "wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(RegularModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx(Button, { className: "mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
114
114
  };
115
115
  RegularModalStory.storyName = 'RegularModal';
116
116
  var BottomModalStory = function (_a) {
@@ -120,7 +120,7 @@ var BottomModalStory = function (_a) {
120
120
  onClose();
121
121
  setDisplay(false);
122
122
  };
123
- return (jsxs(Fragment, { children: ["Bottom modals are primary meant to be used on Mobile environment. The modal will appear from the bottom of the screen and the user will be able to dismiss them using the top left \"X\" icon. If you want to use it for Desktop only, you should check Regular modal instead. Want to use either Regular Modal or Bottom Modal based on the screen width? You can use Bottom or Regular modal.", jsx("button", { className: "d-flex p-btn--primary wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx("button", { className: "p-btn--primary mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
123
+ return (jsxs(Fragment, { children: ["Bottom modals are primary meant to be used on Mobile environment. The modal will appear from the bottom of the screen and the user will be able to dismiss them using the top left \"X\" icon. If you want to use it for Desktop only, you should check Regular modal instead. Want to use either Regular Modal or Bottom Modal based on the screen width? You can use Bottom or Regular modal.", jsx(Button, { className: "wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx(Button, { className: "mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
124
124
  };
125
125
  BottomModalStory.storyName = 'BottomModal';
126
126
  var FullScreenModalStory = function (_a) {
@@ -130,7 +130,7 @@ var FullScreenModalStory = function (_a) {
130
130
  onClose();
131
131
  setDisplay(false);
132
132
  };
133
- return (jsxs(Fragment, { children: ["Full screen modals are primary meant to be used as blocker screens. The modal will cover the entire screen and the user will be able to dismiss them using the top left \"X\" icon.", jsx("button", { className: "d-flex p-btn--primary wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(FullScreenModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx("button", { className: "p-btn--primary mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
133
+ return (jsxs(Fragment, { children: ["Full screen modals are primary meant to be used as blocker screens. The modal will cover the entire screen and the user will be able to dismiss them using the top left \"X\" icon.", jsx(Button, { className: "wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(FullScreenModal, { title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx(Button, { className: "mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
134
134
  };
135
135
  FullScreenModalStory.storyName = 'FullScreenModal';
136
136
  var NonDismissibleModal = function (_a) {
@@ -140,7 +140,7 @@ var NonDismissibleModal = function (_a) {
140
140
  onClose();
141
141
  setDisplay(false);
142
142
  };
143
- return (jsxs(Fragment, { children: ["Setting the dismissible prop to false will hide the close button and prevent the user from closing it using the escape key or clicking outside. This prop can be useful if we want the user to explicitly interact with the modal options.", jsx("strong", { children: "Warning:" }), " a modal with the dismissible prop can only be closed by changing the isOpen prop to false.", jsx("button", { className: "d-flex p-btn--primary wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { dismissible: false, title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx("button", { className: "p-btn--primary mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
143
+ return (jsxs(Fragment, { children: ["Setting the dismissible prop to false will hide the close button and prevent the user from closing it using the escape key or clicking outside. This prop can be useful if we want the user to explicitly interact with the modal options.", jsx("strong", { children: "Warning:" }), " a modal with the dismissible prop can only be closed by changing the isOpen prop to false.", jsx(Button, { className: "wmn2 mt24", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { dismissible: false, title: title, isOpen: display, onClose: handleOnClose, children: jsxs("div", { style: { padding: '0 24px 24px 24px' }, children: [jsx("div", { children: children }), jsx(Button, { className: "mt24 wmn3", onClick: function () { return setDisplay(false); }, children: "Continue" })] }) })] }));
144
144
  };
145
145
  var ModalWithFooter = function (_a) {
146
146
  var children = _a.children, isOpen = _a.isOpen, onClose = _a.onClose, title = _a.title;
@@ -149,7 +149,7 @@ var ModalWithFooter = function (_a) {
149
149
  onClose();
150
150
  setDisplay(false);
151
151
  };
152
- return (jsxs(Fragment, { children: [jsx("button", { className: "d-flex p-btn--primary wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { title: title, isOpen: display, onClose: handleOnClose, footer: jsxs("div", { className: "d-flex fd-row gap8", children: [jsx(Button, { variant: "textColor", className: "w100", onClick: handleOnClose, children: "Skip" }), jsx(Button, { className: "w100", onClick: handleOnClose, children: "Continue" })] }), children: jsx("div", { className: "p24", children: jsx("div", { children: children }) }) })] }));
152
+ return (jsxs(Fragment, { children: [jsx(Button, { className: "wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { title: title, isOpen: display, onClose: handleOnClose, footer: jsxs("div", { className: "d-flex fd-row gap8", children: [jsx(Button, { variant: "textBlack", className: "w100", onClick: handleOnClose, children: "Skip" }), jsx(Button, { className: "w100", onClick: handleOnClose, children: "Continue" })] }), children: jsx("div", { className: "p24", children: jsx("div", { children: children }) }) })] }));
153
153
  };
154
154
  var ModalWithFooterAndScroll = function (_a) {
155
155
  var children = _a.children, isOpen = _a.isOpen, onClose = _a.onClose, title = _a.title;
@@ -158,7 +158,7 @@ var ModalWithFooterAndScroll = function (_a) {
158
158
  onClose();
159
159
  setDisplay(false);
160
160
  };
161
- return (jsxs(Fragment, { children: [jsx("button", { className: "d-flex p-btn--primary wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { title: title, isOpen: display, onClose: handleOnClose, footer: jsxs("div", { className: "d-flex fd-row gap8", children: [jsx(Button, { variant: "textColor", className: "w100", onClick: handleOnClose, children: "Skip" }), jsx(Button, { className: "w100", onClick: handleOnClose, children: "Continue" })] }), children: jsx("div", { className: "p24", children: jsxs("div", { children: ["Lorem ipsum dolor sit amet, consectetur adipiscing elit.", jsx("div", { style: { height: '840px' } }), children] }) }) })] }));
161
+ return (jsxs(Fragment, { children: [jsx(Button, { className: "wmn2", onClick: function () { return setDisplay(true); }, children: "Click to open modal" }), jsx(BottomOrRegularModal, { title: title, isOpen: display, onClose: handleOnClose, footer: jsxs("div", { className: "d-flex fd-row gap8", children: [jsx(Button, { variant: "textBlack", className: "w100", onClick: handleOnClose, children: "Skip" }), jsx(Button, { className: "w100", onClick: handleOnClose, children: "Continue" })] }), children: jsx("div", { className: "p24", children: jsxs("div", { children: ["Lorem ipsum dolor sit amet, consectetur adipiscing elit.", jsx("div", { style: { height: '840px' } }), children] }) }) })] }));
162
162
  };
163
163
 
164
164
  export default story;
@@ -1 +1 @@
1
- {"version":3,"file":"index.stories.js","sources":["../../../../../src/lib/components/modal/index.stories.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { BottomModal, BottomOrRegularModal, Props, RegularModal } from '.';\nimport { Button } from '../button';\nimport { FullScreenModal } from './fullScreenModal';\n\nconst story = {\n title: 'JSX/Modals',\n component: BottomOrRegularModal,\n argTypes: {\n title: {\n description: 'The title that needs to be displayed on the modal',\n },\n isOpen: {\n description:\n 'When set to `true`, the modal is displayed. When set to `false` the modal gets removed',\n },\n dismissible: {\n description: 'The content that gets displayed on the modal',\n },\n className: {\n description: 'Any additional className',\n },\n classNames: {\n description:\n 'Class names for the Modal component and its children elements',\n },\n size: {\n description: 'The size of the modal, either large or default.',\n control: 'radio',\n options: {\n default: 'default',\n large: 'large',\n },\n },\n children: {\n description: 'The content that gets displayed on the modal',\n type: 'text',\n table: {\n type: {\n summary: 'ReactNode',\n },\n },\n },\n onClose: {\n description: 'Callback when the user close the modal',\n action: true,\n table: {\n category: 'Callbacks',\n },\n },\n onModalScroll: {\n description: 'Callback when the user scroll the modal',\n action: true,\n table: {\n category: 'Callbacks',\n },\n },\n },\n args: {\n title: 'Modal title',\n isOpen: false,\n dismissible: true,\n className: '',\n classNames: {\n wrapper: '',\n container: '',\n overlay: '',\n header: '',\n closeButton: '',\n closeButtonIcon: '',\n title: '',\n body: '',\n footer: '',\n },\n children: 'Modal content to be displayed',\n size: 'default',\n },\n parameters: {\n componentSubtitle:\n 'Bottom or Regular modal will automatically choose what’s best to display based on the users screen width.',\n docs: {\n description: {\n component:\n 'Modals are dialog overlays that prevent the user from interacting with the rest of the website until an action is taken or the dialog is dismissed. Modals are purposefully disruptive and should be used thoughtfully and sparingly.',\n },\n },\n },\n};\n\nexport const BottomOrRegularModalStory = ({\n children,\n className,\n classNames,\n dismissible,\n isOpen,\n onClose,\n onModalScroll,\n size,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <button\n className=\"d-flex p-btn--primary wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n\n <BottomOrRegularModal\n dismissible={dismissible}\n className={className}\n classNames={classNames}\n title={title}\n isOpen={display}\n size={size}\n onModalScroll={onModalScroll}\n onClose={handleOnClose}\n >\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <button\n className=\"p-btn--primary mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </button>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nBottomOrRegularModalStory.storyName = 'BottomOrRegularModal';\n\nexport const RegularModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Regular modals are primary meant to be used on Desktop or Tablet\n environment. The modal will appear in the middle of the screen and the\n user will be able to dismiss them using the top left \"X\" icon. If you want\n to use it for Mobile only, you should check BottomModal instead. Want to\n use either Regular Modal or Bottom Modal based on the screen width? You\n can use Bottom or Regular modal.\n <button\n className=\"d-flex p-btn--primary wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n <RegularModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <button\n className=\"p-btn--primary mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </button>\n </div>\n </RegularModal>\n </>\n );\n};\n\nRegularModalStory.storyName = 'RegularModal';\n\nexport const BottomModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Bottom modals are primary meant to be used on Mobile environment. The\n modal will appear from the bottom of the screen and the user will be able\n to dismiss them using the top left \"X\" icon. If you want to use it for\n Desktop only, you should check Regular modal instead. Want to use either\n Regular Modal or Bottom Modal based on the screen width? You can use\n Bottom or Regular modal.\n <button\n className=\"d-flex p-btn--primary wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n <BottomModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <button\n className=\"p-btn--primary mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </button>\n </div>\n </BottomModal>\n </>\n );\n};\n\nBottomModalStory.storyName = 'BottomModal';\n\nexport const FullScreenModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Full screen modals are primary meant to be used as blocker screens. The\n modal will cover the entire screen and the user will be able to dismiss\n them using the top left \"X\" icon.\n <button\n className=\"d-flex p-btn--primary wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n <FullScreenModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n\n <button\n className=\"p-btn--primary mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </button>\n </div>\n </FullScreenModal>\n </>\n );\n};\n\nFullScreenModalStory.storyName = 'FullScreenModal';\n\nexport const NonDismissibleModal = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Setting the dismissible prop to false will hide the close button and\n prevent the user from closing it using the escape key or clicking outside.\n This prop can be useful if we want the user to explicitly interact with\n the modal options.\n <strong>Warning:</strong> a modal with the dismissible prop can only be\n closed by changing the isOpen prop to false.\n <button\n className=\"d-flex p-btn--primary wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n <BottomOrRegularModal\n dismissible={false}\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n >\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <button\n className=\"p-btn--primary mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </button>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport const ModalWithFooter = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <button\n className=\"d-flex p-btn--primary wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n\n <BottomOrRegularModal\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n footer={\n <div className=\"d-flex fd-row gap8\">\n <Button\n variant=\"textColor\"\n className=\"w100\"\n onClick={handleOnClose}\n >\n Skip\n </Button>\n <Button className=\"w100\" onClick={handleOnClose}>\n Continue\n </Button>\n </div>\n }\n >\n <div className=\"p24\">\n <div>{children}</div>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport const ModalWithFooterAndScroll = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <button\n className=\"d-flex p-btn--primary wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </button>\n\n <BottomOrRegularModal\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n footer={\n <div className=\"d-flex fd-row gap8\">\n <Button\n variant=\"textColor\"\n className=\"w100\"\n onClick={handleOnClose}\n >\n Skip\n </Button>\n <Button className=\"w100\" onClick={handleOnClose}>\n Continue\n </Button>\n </div>\n }\n >\n <div className=\"p24\">\n <div>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n <div style={{ height: '840px' }} />\n {children}\n </div>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport default story;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.stories.js","sources":["../../../../../src/lib/components/modal/index.stories.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { BottomModal, BottomOrRegularModal, Props, RegularModal } from '.';\nimport { Button } from '../button';\nimport { FullScreenModal } from './fullScreenModal';\n\nconst story = {\n title: 'JSX/Modals',\n component: BottomOrRegularModal,\n argTypes: {\n title: {\n description: 'The title that needs to be displayed on the modal',\n },\n isOpen: {\n description:\n 'When set to `true`, the modal is displayed. When set to `false` the modal gets removed',\n },\n dismissible: {\n description: 'The content that gets displayed on the modal',\n },\n className: {\n description: 'Any additional className',\n },\n classNames: {\n description:\n 'Class names for the Modal component and its children elements',\n },\n size: {\n description: 'The size of the modal, either large or default.',\n control: 'radio',\n options: {\n default: 'default',\n large: 'large',\n },\n },\n children: {\n description: 'The content that gets displayed on the modal',\n type: 'text',\n table: {\n type: {\n summary: 'ReactNode',\n },\n },\n },\n onClose: {\n description: 'Callback when the user close the modal',\n action: true,\n table: {\n category: 'Callbacks',\n },\n },\n onModalScroll: {\n description: 'Callback when the user scroll the modal',\n action: true,\n table: {\n category: 'Callbacks',\n },\n },\n },\n args: {\n title: 'Modal title',\n isOpen: false,\n dismissible: true,\n className: '',\n classNames: {\n wrapper: '',\n container: '',\n overlay: '',\n header: '',\n closeButton: '',\n closeButtonIcon: '',\n title: '',\n body: '',\n footer: '',\n },\n children: 'Modal content to be displayed',\n size: 'default',\n },\n parameters: {\n componentSubtitle:\n 'Bottom or Regular modal will automatically choose what’s best to display based on the users screen width.',\n docs: {\n description: {\n component:\n 'Modals are dialog overlays that prevent the user from interacting with the rest of the website until an action is taken or the dialog is dismissed. Modals are purposefully disruptive and should be used thoughtfully and sparingly.',\n },\n },\n },\n};\n\nexport const BottomOrRegularModalStory = ({\n children,\n className,\n classNames,\n dismissible,\n isOpen,\n onClose,\n onModalScroll,\n size,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <Button\n className=\"wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n\n <BottomOrRegularModal\n dismissible={dismissible}\n className={className}\n classNames={classNames}\n title={title}\n isOpen={display}\n size={size}\n onModalScroll={onModalScroll}\n onClose={handleOnClose}\n >\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <Button\n className=\"mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </Button>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nBottomOrRegularModalStory.storyName = 'BottomOrRegularModal';\n\nexport const RegularModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Regular modals are primary meant to be used on Desktop or Tablet\n environment. The modal will appear in the middle of the screen and the\n user will be able to dismiss them using the top left \"X\" icon. If you want\n to use it for Mobile only, you should check BottomModal instead. Want to\n use either Regular Modal or Bottom Modal based on the screen width? You\n can use Bottom or Regular modal.\n <Button\n className=\"wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n <RegularModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <Button\n className=\"mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </Button>\n </div>\n </RegularModal>\n </>\n );\n};\n\nRegularModalStory.storyName = 'RegularModal';\n\nexport const BottomModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Bottom modals are primary meant to be used on Mobile environment. The\n modal will appear from the bottom of the screen and the user will be able\n to dismiss them using the top left \"X\" icon. If you want to use it for\n Desktop only, you should check Regular modal instead. Want to use either\n Regular Modal or Bottom Modal based on the screen width? You can use\n Bottom or Regular modal.\n <Button\n className=\"wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n <BottomModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <Button\n className=\"mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </Button>\n </div>\n </BottomModal>\n </>\n );\n};\n\nBottomModalStory.storyName = 'BottomModal';\n\nexport const FullScreenModalStory = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Full screen modals are primary meant to be used as blocker screens. The\n modal will cover the entire screen and the user will be able to dismiss\n them using the top left \"X\" icon.\n <Button\n className=\"wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n <FullScreenModal title={title} isOpen={display} onClose={handleOnClose}>\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n\n <Button\n className=\"mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </Button>\n </div>\n </FullScreenModal>\n </>\n );\n};\n\nFullScreenModalStory.storyName = 'FullScreenModal';\n\nexport const NonDismissibleModal = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n Setting the dismissible prop to false will hide the close button and\n prevent the user from closing it using the escape key or clicking outside.\n This prop can be useful if we want the user to explicitly interact with\n the modal options.\n <strong>Warning:</strong> a modal with the dismissible prop can only be\n closed by changing the isOpen prop to false.\n <Button\n className=\"wmn2 mt24\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n <BottomOrRegularModal\n dismissible={false}\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n >\n <div style={{ padding: '0 24px 24px 24px' }}>\n <div>{children}</div>\n <Button\n className=\"mt24 wmn3\"\n onClick={() => setDisplay(false)}\n >\n Continue\n </Button>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport const ModalWithFooter = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <Button\n className=\"wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n\n <BottomOrRegularModal\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n footer={\n <div className=\"d-flex fd-row gap8\">\n <Button\n variant=\"textBlack\"\n className=\"w100\"\n onClick={handleOnClose}\n >\n Skip\n </Button>\n <Button className=\"w100\" onClick={handleOnClose}>\n Continue\n </Button>\n </div>\n }\n >\n <div className=\"p24\">\n <div>{children}</div>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport const ModalWithFooterAndScroll = ({\n children,\n isOpen,\n onClose,\n title,\n}: Props) => {\n const [display, setDisplay] = useState(isOpen);\n const handleOnClose = () => {\n onClose();\n setDisplay(false);\n };\n\n return (\n <>\n <Button\n className=\"wmn2\"\n onClick={() => setDisplay(true)}\n >\n Click to open modal\n </Button>\n\n <BottomOrRegularModal\n title={title}\n isOpen={display}\n onClose={handleOnClose}\n footer={\n <div className=\"d-flex fd-row gap8\">\n <Button\n variant=\"textBlack\"\n className=\"w100\"\n onClick={handleOnClose}\n >\n Skip\n </Button>\n <Button className=\"w100\" onClick={handleOnClose}>\n Continue\n </Button>\n </div>\n }\n >\n <div className=\"p24\">\n <div>\n Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n <div style={{ height: '840px' }} />\n {children}\n </div>\n </div>\n </BottomOrRegularModal>\n </>\n );\n};\n\nexport default story;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useState, useRef, useEffect } from 'react';
3
3
  import { s as styleInject } from '../../style-inject.es-1f59c1d0.js';
4
4
 
5
- var css_248z = ".style-module_background-container__2Gjka {\n position: relative;\n display: inline-block;\n background-color: var(--ds-primary-100);\n border-radius: 8px;\n padding: 0 8px;\n}\n\n.style-module_chip-container__7XeKn {\n display: flex;\n align-items: center;\n}\n\n.style-module_chip__3rgLT {\n cursor: pointer;\n z-index: 2;\n padding-left: 16px;\n padding-right: 16px;\n}\n.style-module_chip__3rgLT:focus {\n outline-color: var(--ds-purple-600);\n outline-offset: 2px;\n}\n\n.style-module_select-chip-background__YCAyw {\n position: absolute;\n background-color: white;\n border-radius: 8px;\n top: 8px;\n z-index: 1;\n transition: width 0.3s, left 0.3s;\n}";
5
+ var css_248z = ".style-module_background-container__2Gjka {\n position: relative;\n display: inline-block;\n background-color: var(--ds-purple-100);\n border-radius: 8px;\n padding: 0 8px;\n}\n\n.style-module_chip-container__7XeKn {\n display: flex;\n align-items: center;\n}\n\n.style-module_chip__3rgLT {\n cursor: pointer;\n z-index: 2;\n padding-left: 16px;\n padding-right: 16px;\n}\n.style-module_chip__3rgLT:focus {\n outline-color: var(--ds-purple-600);\n outline-offset: 2px;\n}\n\n.style-module_select-chip-background__YCAyw {\n position: absolute;\n background-color: white;\n border-radius: 8px;\n top: 8px;\n z-index: 1;\n transition: width 0.3s, left 0.3s;\n}";
6
6
  var styles = {"background-container":"style-module_background-container__2Gjka","chip-container":"style-module_chip-container__7XeKn","chip":"style-module_chip__3rgLT","select-chip-background":"style-module_select-chip-background__YCAyw"};
7
7
  styleInject(css_248z);
8
8
 
@@ -12,7 +12,7 @@ import { TableContents } from './components/TableContents/TableContents.js';
12
12
  import { c as classNames } from '../../index-6ea95111.js';
13
13
  import { u as useTableNavigation } from '../../useTableNavigation-f929fbc9.js';
14
14
  import { TableControls } from './components/TableControls/TableControls.js';
15
- import { i as isBaseCell, T as TableSection } from '../../TableSection-3a883ecb.js';
15
+ import { i as isBaseCell, T as TableSection } from '../../TableSection-018d8e8f.js';
16
16
  import { u as useScrollSync } from '../../useScrollSync-b2d28bed.js';
17
17
  import './components/TableCell/BaseCell/BaseCell.js';
18
18
  import '../icon/icons/CheckThick.js';
@@ -37,7 +37,7 @@ import '../icon/icons/ChevronDown.js';
37
37
  import '../icon/icons/ChevronUp.js';
38
38
  import '../../useMediaQuery-1a3a2432.js';
39
39
  import './components/TableContents/TableContents.js';
40
- import '../../TableSection-3a883ecb.js';
40
+ import '../../TableSection-018d8e8f.js';
41
41
  import './components/TableContents/Collapsible.js';
42
42
  import '../../useTableNavigation-f929fbc9.js';
43
43
  import './components/TableControls/TableControls.js';
@@ -37,7 +37,7 @@ import '../icon/icons/ChevronDown.js';
37
37
  import '../icon/icons/ChevronUp.js';
38
38
  import '../../useMediaQuery-1a3a2432.js';
39
39
  import './components/TableContents/TableContents.js';
40
- import '../../TableSection-3a883ecb.js';
40
+ import '../../TableSection-018d8e8f.js';
41
41
  import './components/TableContents/Collapsible.js';
42
42
  import '../../useTableNavigation-f929fbc9.js';
43
43
  import './components/TableControls/TableControls.js';
@@ -1,7 +1,7 @@
1
1
  import { a as __assign, _ as __spreadArray } from '../../../../tslib.es6-a39f91fc.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import { useState } from 'react';
4
- import { T as TableSection } from '../../../../TableSection-3a883ecb.js';
4
+ import { T as TableSection } from '../../../../TableSection-018d8e8f.js';
5
5
  import ChevronDownIcon from '../../../icon/icons/ChevronDown.js';
6
6
  import ChevronUpIcon from '../../../icon/icons/ChevronUp.js';
7
7
  import { Card } from '../../../cards/card/index.js';
@@ -6,7 +6,7 @@ import 'react';
6
6
  import 'react-dom';
7
7
  import '../../../../_commonjsHelpers-4730bd53.js';
8
8
  import 'react-dom/test-utils';
9
- import '../../../../TableSection-3a883ecb.js';
9
+ import '../../../../TableSection-018d8e8f.js';
10
10
  import '../../../../index-6ea95111.js';
11
11
  import '../../../../style-inject.es-1f59c1d0.js';
12
12
  import '../TableCell/TableCell.js';
@@ -8,13 +8,14 @@ import 'react';
8
8
  import '../../../icon/IconWrapper/IconWrapper.js';
9
9
  import '../../../../tslib.es6-a39f91fc.js';
10
10
 
11
- var css_248z = ".TableControls-module_stickyHeader__1f6Ta {\n display: flex;\n position: sticky;\n left: 0;\n right: 0;\n min-height: 72px;\n z-index: 9;\n}\n\n.TableControls-module_controlButton__2kQiG {\n width: 32px;\n height: 100%;\n padding: 0;\n min-width: 32px;\n}";
12
- var styles = {"stickyHeader":"TableControls-module_stickyHeader__1f6Ta","controlButton":"TableControls-module_controlButton__2kQiG"};
11
+ var css_248z = ".TableControls-module_stickyHeader__1f6Ta {\n display: flex;\n position: sticky;\n left: 0;\n right: 0;\n min-height: 72px;\n z-index: 9;\n}\n\n.TableControls-module_controlButton__2kQiG {\n width: 32px;\n height: 100%;\n padding: 0;\n min-width: 32px;\n}\n.TableControls-module_controlButtonHidden__1YsHA {\n visibility: hidden;\n pointer-events: none;\n}";
12
+ var styles = {"stickyHeader":"TableControls-module_stickyHeader__1f6Ta","controlButton":"TableControls-module_controlButton__2kQiG","controlButtonHidden":"TableControls-module_controlButtonHidden__1YsHA"};
13
13
  styleInject(css_248z);
14
14
 
15
15
  var TableControls = function (_a) {
16
+ var _b, _c;
16
17
  var activeSection = _a.activeSection, children = _a.children, columnsLength = _a.columnsLength, stickyHeaderTopOffset = _a.stickyHeaderTopOffset, navigateTable = _a.navigateTable;
17
- return (jsxs("div", { "aria-hidden": true, className: classNames('d-flex ai-stretch jc-between bg-white px8', styles.stickyHeader), style: { top: "".concat(stickyHeaderTopOffset, "px") }, children: [jsx("div", { className: 'py24', children: jsx(Button, { className: classNames('br8', styles.controlButton), disabled: activeSection <= 1, hideLabel: true, leftIcon: jsx(ChevronLeftIcon, {}), onClick: function () { return navigateTable(); }, type: "button", variant: "filledGray", "data-testid": "previous-section-button", style: { height: '100%' }, children: "Previous section" }) }), children, jsx("div", { className: 'py24', children: jsx(Button, { className: classNames('br8', styles.controlButton), disabled: activeSection >= columnsLength - 1, hideLabel: true, leftIcon: jsx(ChevronRightIcon, {}), onClick: function () { return navigateTable(true); }, type: "button", variant: "filledGray", "data-testid": "next-section-button", children: "Next section" }) })] }));
18
+ return (jsxs("div", { "aria-hidden": true, className: classNames('d-flex ai-stretch jc-between bg-white px8', styles.stickyHeader), style: { top: "".concat(stickyHeaderTopOffset, "px") }, children: [jsx("div", { className: 'py24', children: jsx(Button, { className: classNames((_b = {}, _b[styles.controlButtonHidden] = activeSection <= 1, _b), 'br8', styles.controlButton), disabled: activeSection <= 1, hideLabel: true, leftIcon: jsx(ChevronLeftIcon, {}), onClick: function () { return navigateTable(); }, type: "button", variant: "filledGray", "data-testid": "previous-section-button", style: { height: '100%' }, children: "Previous section" }) }), children, jsx("div", { className: 'py24', children: jsx(Button, { className: classNames((_c = {}, _c[styles.controlButtonHidden] = activeSection >= columnsLength - 1, _c), 'br8', styles.controlButton), disabled: activeSection >= columnsLength - 1, hideLabel: true, leftIcon: jsx(ChevronRightIcon, {}), onClick: function () { return navigateTable(true); }, type: "button", variant: "filledGray", "data-testid": "next-section-button", children: "Next section" }) })] }));
18
19
  };
19
20
 
20
21
  export { TableControls };
@@ -1 +1 @@
1
- {"version":3,"file":"TableControls.js","sources":["../../../../../../../src/lib/components/table/components/TableControls/TableControls.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '../../../icon';\nimport styles from './TableControls.module.scss';\nimport { Button } from '../../../button';\nimport classNames from 'classnames';\n\nexport interface TableControlsProps {\n activeSection: number;\n children: ReactNode;\n columnsLength: number;\n stickyHeaderTopOffset: number;\n navigateTable: (next?: boolean) => void;\n}\n\nconst TableControls = ({\n activeSection,\n children,\n columnsLength,\n stickyHeaderTopOffset,\n navigateTable,\n}: TableControlsProps) => {\n return (\n <div\n aria-hidden\n className={classNames(\n 'd-flex ai-stretch jc-between bg-white px8',\n styles.stickyHeader\n )}\n style={{ top: `${stickyHeaderTopOffset}px` }}\n >\n <div className='py24'>\n <Button\n className={classNames('br8', styles.controlButton)}\n disabled={activeSection <= 1}\n hideLabel\n leftIcon={<ChevronLeftIcon />}\n onClick={() => navigateTable()}\n type=\"button\"\n variant=\"filledGray\"\n data-testid=\"previous-section-button\"\n style={{ height: '100%' }}\n >\n Previous section\n </Button>\n </div>\n\n {children}\n\n <div className='py24'>\n <Button\n className={classNames('br8', styles.controlButton)}\n disabled={activeSection >= columnsLength - 1}\n hideLabel\n leftIcon={<ChevronRightIcon />}\n onClick={() => navigateTable(true)}\n type=\"button\"\n variant=\"filledGray\"\n data-testid=\"next-section-button\"\n >\n Next section\n </Button>\n </div>\n </div>\n );\n};\n\nexport { TableControls };\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;IAcM,aAAa,GAAG,UAAC,EAMF;QALnB,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,qBAAqB,2BAAA,EACrB,aAAa,mBAAA;IAEb,QACEA,mCAEE,SAAS,EAAE,UAAU,CACnB,2CAA2C,EAC3C,MAAM,CAAC,YAAY,CACpB,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,UAAG,qBAAqB,OAAI,EAAE,aAE5CC,aAAK,SAAS,EAAC,MAAM,YACnBA,IAAC,MAAM,IACL,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,EAClD,QAAQ,EAAE,aAAa,IAAI,CAAC,EAC5B,SAAS,QACT,QAAQ,EAAEA,IAAC,eAAe,KAAG,EAC7B,OAAO,EAAE,cAAM,OAAA,aAAa,EAAE,GAAA,EAC9B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,YAAY,iBACR,yBAAyB,EACrC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iCAGlB,GACL,EAEL,QAAQ,EAETA,aAAK,SAAS,EAAC,MAAM,YACnBA,IAAC,MAAM,IACL,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,EAClD,QAAQ,EAAE,aAAa,IAAI,aAAa,GAAG,CAAC,EAC5C,SAAS,QACT,QAAQ,EAAEA,IAAC,gBAAgB,KAAG,EAC9B,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,GAAA,EAClC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,YAAY,iBACR,qBAAqB,6BAG1B,GACL,IACF,EACN;AACJ;;;;"}
1
+ {"version":3,"file":"TableControls.js","sources":["../../../../../../../src/lib/components/table/components/TableControls/TableControls.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '../../../icon';\nimport styles from './TableControls.module.scss';\nimport { Button } from '../../../button';\nimport classNames from 'classnames';\n\nexport interface TableControlsProps {\n activeSection: number;\n children: ReactNode;\n columnsLength: number;\n stickyHeaderTopOffset: number;\n navigateTable: (next?: boolean) => void;\n}\n\nconst TableControls = ({\n activeSection,\n children,\n columnsLength,\n stickyHeaderTopOffset,\n navigateTable,\n}: TableControlsProps) => {\n return (\n <div\n aria-hidden\n className={classNames(\n 'd-flex ai-stretch jc-between bg-white px8',\n styles.stickyHeader\n )}\n style={{ top: `${stickyHeaderTopOffset}px` }}\n >\n <div className='py24'>\n <Button\n className={classNames(\n { [styles.controlButtonHidden]: activeSection <= 1 },\n 'br8',\n styles.controlButton\n )}\n disabled={activeSection <= 1}\n hideLabel\n leftIcon={<ChevronLeftIcon />}\n onClick={() => navigateTable()}\n type=\"button\"\n variant=\"filledGray\"\n data-testid=\"previous-section-button\"\n style={{ height: '100%' }}\n >\n Previous section\n </Button>\n </div>\n\n {children}\n\n <div className='py24'>\n <Button\n className={classNames(\n { [styles.controlButtonHidden]: activeSection >= columnsLength - 1 },\n 'br8',\n styles.controlButton\n )}\n disabled={activeSection >= columnsLength - 1}\n hideLabel\n leftIcon={<ChevronRightIcon />}\n onClick={() => navigateTable(true)}\n type=\"button\"\n variant=\"filledGray\"\n data-testid=\"next-section-button\"\n >\n Next section\n </Button>\n </div>\n </div>\n );\n};\n\nexport { TableControls };\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;IAcM,aAAa,GAAG,UAAC,EAMF;;QALnB,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,qBAAqB,2BAAA,EACrB,aAAa,mBAAA;IAEb,QACEA,mCAEE,SAAS,EAAE,UAAU,CACnB,2CAA2C,EAC3C,MAAM,CAAC,YAAY,CACpB,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,UAAG,qBAAqB,OAAI,EAAE,aAE5CC,aAAK,SAAS,EAAC,MAAM,YACnBA,IAAC,MAAM,IACL,SAAS,EAAE,UAAU,WACjB,GAAC,MAAM,CAAC,mBAAmB,IAAG,aAAa,IAAI,CAAC,OAClD,KAAK,EACL,MAAM,CAAC,aAAa,CACrB,EACD,QAAQ,EAAE,aAAa,IAAI,CAAC,EAC5B,SAAS,QACT,QAAQ,EAAEA,IAAC,eAAe,KAAG,EAC7B,OAAO,EAAE,cAAM,OAAA,aAAa,EAAE,GAAA,EAC9B,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,YAAY,iBACR,yBAAyB,EACrC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iCAGlB,GACL,EAEL,QAAQ,EAETA,aAAK,SAAS,EAAC,MAAM,YACnBA,IAAC,MAAM,IACL,SAAS,EAAE,UAAU,WACjB,GAAC,MAAM,CAAC,mBAAmB,IAAG,aAAa,IAAI,aAAa,GAAG,CAAC,OAClE,KAAK,EACL,MAAM,CAAC,aAAa,CACrB,EACD,QAAQ,EAAE,aAAa,IAAI,aAAa,GAAG,CAAC,EAC5C,SAAS,QACT,QAAQ,EAAEA,IAAC,gBAAgB,KAAG,EAC9B,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,GAAA,EAClC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,YAAY,iBACR,qBAAqB,6BAG1B,GACL,IACF,EACN;AACJ;;;;"}
@@ -1,7 +1,7 @@
1
1
  import '../../../../tslib.es6-a39f91fc.js';
2
2
  import 'react/jsx-runtime';
3
3
  import '../../../../index-6ea95111.js';
4
- export { T as TableSection } from '../../../../TableSection-3a883ecb.js';
4
+ export { T as TableSection } from '../../../../TableSection-018d8e8f.js';
5
5
  import '../TableCell/TableCell.js';
6
6
  import 'react';
7
7
  import '../../../../useMediaQuery-1a3a2432.js';
@@ -1,7 +1,7 @@
1
1
  import { a as __assign } from '../../../../tslib.es6-a39f91fc.js';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { c as customRender, s as screen } from '../../../../customRender-be47569b.js';
4
- import { T as TableSection } from '../../../../TableSection-3a883ecb.js';
4
+ import { T as TableSection } from '../../../../TableSection-018d8e8f.js';
5
5
  import 'react';
6
6
  import 'react-dom';
7
7
  import '../../../../_commonjsHelpers-4730bd53.js';
package/dist/esm/index.js CHANGED
@@ -32,7 +32,7 @@ export { Accordion } from './components/accordion/index.js';
32
32
  export { Table } from './components/table/Table.js';
33
33
  import { useCallback, useEffect } from 'react';
34
34
  export { u as useMediaQuery } from './useMediaQuery-1a3a2432.js';
35
- export { u as useOnClickOutside } from './Calendar-2d7e51b5.js';
35
+ export { u as useOnClickOutside } from './Calendar-5ad3eccf.js';
36
36
  export { LogoColor } from './components/logo/LogoColor.js';
37
37
  export { LogoWhite } from './components/logo/LogoWhite.js';
38
38
  export { LogoBlack } from './components/logo/LogoBlack.js';
@@ -466,7 +466,7 @@ import './components/table/components/IconRenderer/IconRenderer.js';
466
466
  import './components/table/components/TableCell/CardCell/CardCell.js';
467
467
  import './components/table/components/TableCell/ButtonCell/ButtonCell.js';
468
468
  import './components/table/components/TableContents/TableContents.js';
469
- import './TableSection-3a883ecb.js';
469
+ import './TableSection-018d8e8f.js';
470
470
  import './components/table/components/TableContents/Collapsible.js';
471
471
  import './useTableNavigation-f929fbc9.js';
472
472
  import './components/table/components/TableControls/TableControls.js';
@@ -1,5 +1,5 @@
1
1
  import React, { ReactElement, ReactNode } from 'react';
2
- type ButtonVariant = 'filledColor' | 'filledGray' | 'filledWhite' | 'filledBlack' | 'textColor' | 'textWhite' | 'outlineWhite' | 'filledSuccess' | 'filledError';
2
+ type ButtonVariant = 'filledBlack' | 'filledGray' | 'filledWhite' | 'textBlack' | 'textWhite' | 'outlineGray' | 'outlineWhite' | 'filledError';
3
3
  type ButtonProps = {
4
4
  as?: React.ElementType;
5
5
  children: ReactNode;
package/dist/index.css CHANGED
@@ -2186,7 +2186,7 @@ body {
2186
2186
  transform: rotate(360deg);
2187
2187
  }
2188
2188
  }
2189
- .p-btn, .p-btn--outline-grey, .p-btn--outline-white, .p-btn--outline, .p-btn--success, .p-btn--danger, .p-btn--secondary, .p-btn--secondary-black, .p-btn--secondary-inverted, .p-btn--secondary-white, .p-btn--secondary-grey, .p-btn--primary {
2189
+ .p-btn, .p-btn--text-black, .p-btn--outline-grey, .p-btn--outline-white, .p-btn--outline, .p-btn--danger, .p-btn--secondary, .p-btn--secondary-black, .p-btn--secondary-inverted, .p-btn--secondary-white, .p-btn--secondary-grey, .p-btn--primary {
2190
2190
  display: inline-flex;
2191
2191
  align-items: center;
2192
2192
  justify-content: center;
@@ -2205,7 +2205,7 @@ body {
2205
2205
  border: none;
2206
2206
  transition: 0.3s opacity, 0.3s background-color;
2207
2207
  }
2208
- .p-btn[disabled], [disabled].p-btn--outline-grey, [disabled].p-btn--outline-white, [disabled].p-btn--outline, [disabled].p-btn--success, [disabled].p-btn--danger, [disabled].p-btn--secondary, [disabled].p-btn--secondary-black, [disabled].p-btn--secondary-inverted, [disabled].p-btn--secondary-white, [disabled].p-btn--secondary-grey, [disabled].p-btn--primary {
2208
+ .p-btn[disabled], [disabled].p-btn--text-black, [disabled].p-btn--outline-grey, [disabled].p-btn--outline-white, [disabled].p-btn--outline, [disabled].p-btn--danger, [disabled].p-btn--secondary, [disabled].p-btn--secondary-black, [disabled].p-btn--secondary-inverted, [disabled].p-btn--secondary-white, [disabled].p-btn--secondary-grey, [disabled].p-btn--primary {
2209
2209
  cursor: default;
2210
2210
  opacity: 0.5;
2211
2211
  cursor: not-allowed;
@@ -2215,31 +2215,31 @@ body {
2215
2215
  padding: 0;
2216
2216
  }
2217
2217
  .p-btn--primary {
2218
- background-color: #8883D8;
2218
+ background-color: #f5f5fb;
2219
2219
  color: white;
2220
2220
  }
2221
2221
  .p-btn--primary:hover {
2222
- background-color: #6A65AE;
2222
+ background-color: #e7e7ed;
2223
2223
  }
2224
2224
  @media (max-width: 34rem) {
2225
2225
  .p-btn--primary:hover {
2226
- background-color: #8883D8;
2226
+ background-color: #e7e7ed;
2227
2227
  }
2228
2228
  }
2229
2229
  .p-btn--primary[disabled] {
2230
- background-color: #B8B4F3;
2230
+ background-color: #f5f5fb;
2231
2231
  opacity: 1;
2232
2232
  }
2233
- .p-btn--primary:focus {
2233
+ .p-btn--primary:focus-visible {
2234
2234
  outline: none;
2235
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(136, 131, 216, 0.5);
2235
+ box-shadow: 0 0 0 2px #d2d2d9;
2236
2236
  }
2237
2237
  .p-btn--secondary, .p-btn--secondary-black, .p-btn--secondary-inverted, .p-btn--secondary-white, .p-btn--secondary-grey {
2238
2238
  background-color: transparent;
2239
- color: #8883D8;
2239
+ color: #26262e;
2240
2240
  }
2241
2241
  .p-btn--secondary:hover, .p-btn--secondary-black:hover, .p-btn--secondary-inverted:hover, .p-btn--secondary-white:hover, .p-btn--secondary-grey:hover {
2242
- background-color: #E8E7FE;
2242
+ background-color: #f5f5fb;
2243
2243
  }
2244
2244
  @media (max-width: 34rem) {
2245
2245
  .p-btn--secondary:hover, .p-btn--secondary-black:hover, .p-btn--secondary-inverted:hover, .p-btn--secondary-white:hover, .p-btn--secondary-grey:hover {
@@ -2247,26 +2247,52 @@ body {
2247
2247
  }
2248
2248
  }
2249
2249
  .p-btn--secondary[disabled], [disabled].p-btn--secondary-black, [disabled].p-btn--secondary-inverted, [disabled].p-btn--secondary-white, [disabled].p-btn--secondary-grey {
2250
- color: #6A65AE;
2250
+ color: #26262e;
2251
2251
  }
2252
2252
  .p-btn--secondary[disabled]:hover, [disabled].p-btn--secondary-black:hover, [disabled].p-btn--secondary-inverted:hover, [disabled].p-btn--secondary-white:hover, [disabled].p-btn--secondary-grey:hover {
2253
2253
  background-color: transparent;
2254
2254
  }
2255
- .p-btn--secondary:focus, .p-btn--secondary-black:focus, .p-btn--secondary-inverted:focus, .p-btn--secondary-white:focus, .p-btn--secondary-grey:focus {
2255
+ .p-btn--secondary:focus-visible, .p-btn--secondary-black:focus-visible, .p-btn--secondary-inverted:focus-visible, .p-btn--secondary-white:focus-visible, .p-btn--secondary-grey:focus-visible {
2256
2256
  outline: none;
2257
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(136, 131, 216, 0.5);
2257
+ box-shadow: 0 0 0 2px #26262e;
2258
2258
  }
2259
2259
  .p-btn--secondary-grey {
2260
+ background-color: #f5f5fb;
2261
+ background-color: #f5f5fb;
2262
+ }
2263
+ .p-btn--secondary-grey:hover {
2264
+ background-color: #e7e7ed;
2265
+ }
2266
+ .p-btn--secondary-grey:focus {
2267
+ background-color: #d2d2d9;
2268
+ }
2269
+ .p-btn--secondary-grey:focus-visible {
2260
2270
  background-color: #F6F6FE;
2261
2271
  }
2272
+ .p-btn--secondary-grey[disabled]:hover {
2273
+ background-color: #f5f5fb;
2274
+ }
2262
2275
  .p-btn--secondary-white {
2263
2276
  background-color: #fff;
2264
2277
  }
2278
+ .p-btn--secondary-white:hover {
2279
+ background-color: #f5f5fb;
2280
+ }
2281
+ .p-btn--secondary-white:focus-visible {
2282
+ box-shadow: 0 0 0 2px #b8b8c0;
2283
+ }
2265
2284
  .p-btn--secondary-inverted {
2266
2285
  color: #fff;
2267
2286
  }
2268
- .p-btn--secondary-inverted:hover, .p-btn--secondary-inverted:focus {
2269
- background-color: #6A65AE;
2287
+ .p-btn--secondary-inverted:hover {
2288
+ background-color: #696971;
2289
+ }
2290
+ .p-btn--secondary-inverted:focus {
2291
+ background-color: #919199;
2292
+ }
2293
+ .p-btn--secondary-inverted:focus-visible {
2294
+ background-color: transparent;
2295
+ box-shadow: 0 0 0 2px #fff;
2270
2296
  }
2271
2297
  .p-btn--secondary-black {
2272
2298
  background-color: #26262e;
@@ -2276,14 +2302,14 @@ body {
2276
2302
  background-color: #3f3f47;
2277
2303
  }
2278
2304
  .p-btn--secondary-black[disabled] {
2279
- background-color: #26262e;
2280
- color: white;
2305
+ color: #fff;
2306
+ background-color: rgba(38, 38, 46, 0.5);
2281
2307
  }
2282
2308
  .p-btn--secondary-black[disabled]:hover {
2283
- background-color: #26262e;
2309
+ background-color: rgba(38, 38, 46, 0.5);
2284
2310
  }
2285
- .p-btn--secondary-black:focus {
2286
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(50, 51, 75, 0.5);
2311
+ .p-btn--secondary-black:focus-visible {
2312
+ box-shadow: 0 0 0 2px #b8b8c0;
2287
2313
  }
2288
2314
  .p-btn--danger {
2289
2315
  background-color: #E55454;
@@ -2298,32 +2324,13 @@ body {
2298
2324
  }
2299
2325
  }
2300
2326
  .p-btn--danger[disabled] {
2301
- background-color: #FAA0A0;
2327
+ background-color: #E55454;
2328
+ color: #FAA0A0;
2302
2329
  opacity: 1;
2303
2330
  }
2304
2331
  .p-btn--danger:focus {
2305
2332
  outline: none;
2306
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(136, 131, 216, 0.5);
2307
- }
2308
- .p-btn--success {
2309
- background-color: #85DCB4;
2310
- color: white;
2311
- }
2312
- .p-btn--success:hover {
2313
- background-color: #599278;
2314
- }
2315
- @media (max-width: 34rem) {
2316
- .p-btn--success:hover {
2317
- background-color: #85DCB4;
2318
- }
2319
- }
2320
- .p-btn--success[disabled] {
2321
- background-color: #AAEACC;
2322
- opacity: 1;
2323
- }
2324
- .p-btn--success:focus {
2325
- outline: none;
2326
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(136, 131, 216, 0.5);
2333
+ box-shadow: 0 0 0 2px #C64848;
2327
2334
  }
2328
2335
  .p-btn--outline {
2329
2336
  color: #8883D8;
@@ -2350,8 +2357,8 @@ body {
2350
2357
  background-color: transparent;
2351
2358
  }
2352
2359
  .p-btn--outline-white:hover {
2353
- background-color: #6A65AE;
2354
- border-color: #6A65AE;
2360
+ background-color: transparent;
2361
+ border-color: #fff;
2355
2362
  }
2356
2363
  .p-btn--outline-white[disabled] {
2357
2364
  background-color: transparent;
@@ -2359,25 +2366,47 @@ body {
2359
2366
  }
2360
2367
  .p-btn--outline-white:focus {
2361
2368
  outline: none;
2362
- box-shadow: 0 0 0 1px white, 0 0 0 3px rgba(136, 131, 216, 0.5);
2369
+ box-shadow: 0 0 0 1px #fff;
2363
2370
  }
2364
2371
  .p-btn--outline-grey {
2365
- color: #919199;
2372
+ color: #26262e;
2366
2373
  background-color: transparent;
2367
2374
  border: 1px solid #d2d2d9;
2368
2375
  }
2369
2376
  .p-btn--outline-grey:hover {
2370
- color: #696971;
2371
- border-color: #919199;
2377
+ border-color: #26262e;
2372
2378
  }
2373
2379
  .p-btn--outline-grey[disabled] {
2374
- color: #919199;
2375
2380
  border-color: #d2d2d9;
2376
- opacity: 0.5;
2381
+ opacity: 0.7;
2377
2382
  }
2378
2383
  .p-btn--outline-grey:focus {
2379
- color: #696971;
2380
- border-color: #696971;
2384
+ border-color: #26262e;
2385
+ box-shadow: 0 0 0 1px #26262e;
2386
+ color: #26262e;
2387
+ outline: 0;
2388
+ }
2389
+ .p-btn--text-black {
2390
+ color: #32334B;
2391
+ background-color: transparent;
2392
+ border: 1px solid transparent;
2393
+ }
2394
+ .p-btn--text-black:hover {
2395
+ border-color: #d2d2d9;
2396
+ }
2397
+ .p-btn--text-black:focus {
2398
+ border-color: #b8b8c0;
2399
+ }
2400
+ .p-btn--text-black:focus-visible {
2401
+ background-color: transparent;
2402
+ border: 1px solid #26262e;
2403
+ box-shadow: 0 0 0 1px #26262e;
2404
+ outline: 0;
2405
+ }
2406
+ .p-btn--text-black[disabled] {
2407
+ opacity: 0.5;
2408
+ background-color: transparent;
2409
+ border: none;
2381
2410
  }
2382
2411
  .p-btn--loading {
2383
2412
  color: transparent;
@@ -2396,9 +2425,13 @@ body {
2396
2425
  border-left-color: white;
2397
2426
  animation: spinner-rotate 0.9s infinite;
2398
2427
  }
2399
- .p-btn--loading.p-btn--secondary:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-inverted:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-black:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-grey::before, .p-btn--loading.p-btn--secondary-white::before {
2400
- border-color: rgba(136, 131, 216, 0.5);
2401
- border-left-color: #8883D8;
2428
+ .p-btn--loading:focus-visible {
2429
+ box-shadow: none;
2430
+ border-color: transparent;
2431
+ }
2432
+ .p-btn--loading.p-btn--secondary:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-inverted:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-black:not(.p-btn--secondary-black)::before, .p-btn--loading.p-btn--secondary-grey::before, .p-btn--loading.p-btn--text-black::before, .p-btn--loading.p-btn--secondary-white::before {
2433
+ border-color: rgba(38, 38, 46, 0.5);
2434
+ border-left-color: #26262e;
2402
2435
  }
2403
2436
 
2404
2437
  .sr-only {