@seeqdev/qomponents 0.0.73 → 0.0.74

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 (167) hide show
  1. package/dist/NewWorkbench/NewWorkbench.d.ts +4 -0
  2. package/dist/NewWorkbench/NewWorkbench.js +43 -0
  3. package/dist/NewWorkbench/NewWorkbench.js.map +1 -0
  4. package/dist/NewWorkbench/NewWorkbench.stories.d.ts +5 -0
  5. package/dist/NewWorkbench/NewWorkbench.stories.js +60 -0
  6. package/dist/NewWorkbench/NewWorkbench.stories.js.map +1 -0
  7. package/dist/NewWorkbench/NewWorkbench.test.d.ts +1 -0
  8. package/dist/{ButtonWithDropdown/ButtonWithDropdown.test.js → NewWorkbench/NewWorkbench.test.js} +6 -6
  9. package/dist/NewWorkbench/NewWorkbench.test.js.map +1 -0
  10. package/dist/NewWorkbench/NewWorkbench.types.d.ts +74 -0
  11. package/dist/NewWorkbench/NewWorkbench.types.js +2 -0
  12. package/dist/NewWorkbench/NewWorkbench.types.js.map +1 -0
  13. package/dist/NewWorkbench/index.d.ts +1 -0
  14. package/dist/NewWorkbench/index.js +2 -0
  15. package/dist/NewWorkbench/index.js.map +1 -0
  16. package/dist/NewWorkbench/variants.d.ts +3 -0
  17. package/dist/NewWorkbench/variants.js +11 -0
  18. package/dist/NewWorkbench/variants.js.map +1 -0
  19. package/dist/index.esm.js +19 -30
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.js +19 -30
  22. package/dist/index.js.map +1 -1
  23. package/dist/styles.css +8 -0
  24. package/package.json +1 -1
  25. package/dist/Accordion/Accordion.js +0 -9
  26. package/dist/Accordion/Accordion.js.map +0 -1
  27. package/dist/Accordion/Accordion.stories.js +0 -109
  28. package/dist/Accordion/Accordion.stories.js.map +0 -1
  29. package/dist/Accordion/Accordion.test.js +0 -55
  30. package/dist/Accordion/Accordion.test.js.map +0 -1
  31. package/dist/Accordion/Accordion.types.js +0 -2
  32. package/dist/Accordion/Accordion.types.js.map +0 -1
  33. package/dist/Accordion/index.js +0 -2
  34. package/dist/Accordion/index.js.map +0 -1
  35. package/dist/Button/Button.js +0 -90
  36. package/dist/Button/Button.js.map +0 -1
  37. package/dist/Button/Button.stories.js +0 -85
  38. package/dist/Button/Button.stories.js.map +0 -1
  39. package/dist/Button/Button.test.js +0 -49
  40. package/dist/Button/Button.test.js.map +0 -1
  41. package/dist/Button/Button.types.js +0 -5
  42. package/dist/Button/Button.types.js.map +0 -1
  43. package/dist/Button/index.js +0 -2
  44. package/dist/Button/index.js.map +0 -1
  45. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +0 -60
  46. package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +0 -1
  47. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +0 -97
  48. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +0 -1
  49. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +0 -1
  50. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +0 -2
  51. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +0 -1
  52. package/dist/ButtonWithDropdown/index.js +0 -2
  53. package/dist/ButtonWithDropdown/index.js.map +0 -1
  54. package/dist/ButtonWithPopover/ButtonWithPopover.js +0 -53
  55. package/dist/ButtonWithPopover/ButtonWithPopover.js.map +0 -1
  56. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +0 -72
  57. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +0 -1
  58. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +0 -87
  59. package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +0 -1
  60. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +0 -2
  61. package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +0 -1
  62. package/dist/ButtonWithPopover/index.js +0 -2
  63. package/dist/ButtonWithPopover/index.js.map +0 -1
  64. package/dist/Checkbox/Checkbox.js +0 -26
  65. package/dist/Checkbox/Checkbox.js.map +0 -1
  66. package/dist/Checkbox/Checkbox.stories.js +0 -34
  67. package/dist/Checkbox/Checkbox.stories.js.map +0 -1
  68. package/dist/Checkbox/Checkbox.test.js +0 -94
  69. package/dist/Checkbox/Checkbox.test.js.map +0 -1
  70. package/dist/Checkbox/Checkbox.types.js +0 -2
  71. package/dist/Checkbox/Checkbox.types.js.map +0 -1
  72. package/dist/Checkbox/index.js +0 -2
  73. package/dist/Checkbox/index.js.map +0 -1
  74. package/dist/Icon/Icon.js +0 -55
  75. package/dist/Icon/Icon.js.map +0 -1
  76. package/dist/Icon/Icon.stories.js +0 -41
  77. package/dist/Icon/Icon.stories.js.map +0 -1
  78. package/dist/Icon/Icon.test.js +0 -55
  79. package/dist/Icon/Icon.test.js.map +0 -1
  80. package/dist/Icon/Icon.types.js +0 -16
  81. package/dist/Icon/Icon.types.js.map +0 -1
  82. package/dist/Icon/index.js +0 -2
  83. package/dist/Icon/index.js.map +0 -1
  84. package/dist/Modal/Modal.js +0 -99
  85. package/dist/Modal/Modal.js.map +0 -1
  86. package/dist/Modal/Modal.stories.js +0 -176
  87. package/dist/Modal/Modal.stories.js.map +0 -1
  88. package/dist/Modal/Modal.test.js +0 -108
  89. package/dist/Modal/Modal.test.js.map +0 -1
  90. package/dist/Modal/Modal.types.js +0 -2
  91. package/dist/Modal/Modal.types.js.map +0 -1
  92. package/dist/Modal/index.js +0 -2
  93. package/dist/Modal/index.js.map +0 -1
  94. package/dist/Select/Select.js +0 -171
  95. package/dist/Select/Select.js.map +0 -1
  96. package/dist/Select/Select.stories.js +0 -77
  97. package/dist/Select/Select.stories.js.map +0 -1
  98. package/dist/Select/Select.test.js +0 -182
  99. package/dist/Select/Select.test.js.map +0 -1
  100. package/dist/Select/Select.types.js +0 -2
  101. package/dist/Select/Select.types.js.map +0 -1
  102. package/dist/Select/index.js +0 -2
  103. package/dist/Select/index.js.map +0 -1
  104. package/dist/Tabs/Tabs.js +0 -22
  105. package/dist/Tabs/Tabs.js.map +0 -1
  106. package/dist/Tabs/Tabs.stories.js +0 -91
  107. package/dist/Tabs/Tabs.stories.js.map +0 -1
  108. package/dist/Tabs/Tabs.test.js +0 -91
  109. package/dist/Tabs/Tabs.test.js.map +0 -1
  110. package/dist/Tabs/Tabs.types.js +0 -2
  111. package/dist/Tabs/Tabs.types.js.map +0 -1
  112. package/dist/Tabs/index.js +0 -2
  113. package/dist/Tabs/index.js.map +0 -1
  114. package/dist/TextArea/TextArea.js +0 -23
  115. package/dist/TextArea/TextArea.js.map +0 -1
  116. package/dist/TextArea/TextArea.stories.js +0 -39
  117. package/dist/TextArea/TextArea.stories.js.map +0 -1
  118. package/dist/TextArea/TextArea.test.js +0 -68
  119. package/dist/TextArea/TextArea.test.js.map +0 -1
  120. package/dist/TextArea/TextArea.types.js +0 -2
  121. package/dist/TextArea/TextArea.types.js.map +0 -1
  122. package/dist/TextArea/index.js +0 -2
  123. package/dist/TextArea/index.js.map +0 -1
  124. package/dist/TextField/TextField.js +0 -64
  125. package/dist/TextField/TextField.js.map +0 -1
  126. package/dist/TextField/TextField.stories.js +0 -41
  127. package/dist/TextField/TextField.stories.js.map +0 -1
  128. package/dist/TextField/TextField.test.js +0 -35
  129. package/dist/TextField/TextField.test.js.map +0 -1
  130. package/dist/TextField/TextField.types.js +0 -2
  131. package/dist/TextField/TextField.types.js.map +0 -1
  132. package/dist/TextField/index.js +0 -2
  133. package/dist/TextField/index.js.map +0 -1
  134. package/dist/ToolbarButton/ToolbarButton.js +0 -73
  135. package/dist/ToolbarButton/ToolbarButton.js.map +0 -1
  136. package/dist/ToolbarButton/ToolbarButton.stories.js +0 -89
  137. package/dist/ToolbarButton/ToolbarButton.stories.js.map +0 -1
  138. package/dist/ToolbarButton/ToolbarButton.test.js +0 -93
  139. package/dist/ToolbarButton/ToolbarButton.test.js.map +0 -1
  140. package/dist/ToolbarButton/ToolbarButton.types.js +0 -2
  141. package/dist/ToolbarButton/ToolbarButton.types.js.map +0 -1
  142. package/dist/ToolbarButton/index.js +0 -2
  143. package/dist/ToolbarButton/index.js.map +0 -1
  144. package/dist/Tooltip/QTip.stories.js +0 -40
  145. package/dist/Tooltip/QTip.stories.js.map +0 -1
  146. package/dist/Tooltip/QTip.types.js +0 -2
  147. package/dist/Tooltip/QTip.types.js.map +0 -1
  148. package/dist/Tooltip/QTipPerformance.stories.js +0 -30
  149. package/dist/Tooltip/QTipPerformance.stories.js.map +0 -1
  150. package/dist/Tooltip/Qtip.js +0 -154
  151. package/dist/Tooltip/Qtip.js.map +0 -1
  152. package/dist/Tooltip/Tooltip.js +0 -36
  153. package/dist/Tooltip/Tooltip.js.map +0 -1
  154. package/dist/Tooltip/Tooltip.stories.js +0 -32
  155. package/dist/Tooltip/Tooltip.stories.js.map +0 -1
  156. package/dist/Tooltip/Tooltip.types.js +0 -3
  157. package/dist/Tooltip/Tooltip.types.js.map +0 -1
  158. package/dist/Tooltip/TooltipPerformance.stories.js +0 -30
  159. package/dist/Tooltip/TooltipPerformance.stories.js.map +0 -1
  160. package/dist/Tooltip/index.js +0 -3
  161. package/dist/Tooltip/index.js.map +0 -1
  162. package/dist/Tooltip/qTip.utilities.js +0 -11
  163. package/dist/Tooltip/qTip.utilities.js.map +0 -1
  164. package/dist/types.js +0 -2
  165. package/dist/types.js.map +0 -1
  166. package/dist/utils/browserId.js +0 -29
  167. package/dist/utils/browserId.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import { NewWorkbenchProps } from './NewWorkbench.types';
3
+ declare const NewWorkbench: React.FunctionComponent<NewWorkbenchProps>;
4
+ export default NewWorkbench;
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
3
+ import { getQTipData } from '../Tooltip/qTip.utilities';
4
+ import { NewWorkbenchItem } from './variants';
5
+ const borderStyles = [
6
+ 'tw-border-solid',
7
+ 'tw-border',
8
+ 'tw-rounded-sm',
9
+ 'tw-border-sq-disabled-gray',
10
+ 'dark:tw-border-gray-500',
11
+ ].join(' ');
12
+ const variants = {
13
+ newWorkbenchItem: NewWorkbenchItem,
14
+ };
15
+ const bgStyles = ['tw-bg-sq-white', 'dark:tw-bg-sq-dark-background'].join(' ');
16
+ const disabledClasses = ['tw-opacity-50', 'tw-cursor-not-allowed'].join(' ');
17
+ const NewWorkbench = ({ newWorkbenchItems, trigger, id, variant = 'newWorkbenchItem', extraClassNames, containerTestId, disabled = false, align = 'end', placement = 'bottom', placementOffset = 5, alignOffset = -35, hasArrow = false, onOpenChange, isOpen, setFocusOnTriggerOnClose = true, keepFocusInsideDropdown = true, ...tooltipProps }) => {
18
+ const tooltipData = getQTipData(tooltipProps);
19
+ return (React.createElement(DropdownMenu.Root, { defaultOpen: false, open: isOpen, onOpenChange: onOpenChange, modal: keepFocusInsideDropdown },
20
+ React.createElement(DropdownMenu.Trigger, { id: id, "data-testid": id, className: `tw-border-none focus-visible:tw-outline-none focus:tw-outline-none focus-within:tw-outline-none`, asChild: true, disabled: disabled },
21
+ React.createElement("div", { ...tooltipData, className: `tw-bg-transparent tw-flex tw-flex-col tw-items-center focus-visible:tw-outline-none focus:tw-outline-none focus-within:tw-outline-none ${disabled ? disabledClasses : ''} ${extraClassNames || ''}` }, trigger)),
22
+ React.createElement(DropdownMenu.Content, { sideOffset: placementOffset, side: placement, align: align, alignOffset: alignOffset, asChild: true, onCloseAutoFocus: (e) => !setFocusOnTriggerOnClose && e.preventDefault(), className: "focus-visible:tw-outline-none tw-outline-none" },
23
+ React.createElement("div", { "data-testid": containerTestId, className: bgStyles +
24
+ ' tw-relative tw-z-[1200] tw-min-w-6 tw-py-2 focus-visible:tw-outline-none tw-outline-none' +
25
+ ' data-[state=open]:tw-animate-in data-[state=closed]:tw-animate-out' +
26
+ ' forceFont data-[side=top]:tw-animate-slideDownAndFade data-[side=right]:tw-animate-slideLeftAndFade data-[side=bottom]:tw-animate-slideUpAndFade data-[side=left]:tw-animate-slideRightAndFade ' +
27
+ borderStyles },
28
+ hasArrow && (React.createElement(DropdownMenu.Arrow, { asChild: true },
29
+ React.createElement("div", { className: " tw-fill-transparent tw-bg-white tw-w-[15px] tw-h-[15px] tw-rotate-45 dark:tw-bg-sq-dark-background tw-border-b tw-border-r tw-border-sq-disabled-gray dark:tw-border-gray-500 tw-mt-[-7px]" }))),
30
+ newWorkbenchItems.map((item, index) => {
31
+ if (variant && variants[variant]) {
32
+ const CustomComponent = variants[variant];
33
+ return (React.createElement(React.Fragment, null,
34
+ React.createElement(DropdownMenu.Item, { key: item.label + index, onSelect: (e) => {
35
+ item.onClick(e);
36
+ }, className: `tw-cursor-pointer tw-flex dark:tw-text-sq-white hover:tw-bg-sq-gray-highlight dark:hover:tw-bg-sq-gray-highlight-dark tw-relative tw-select-none tw-outline-none data-[disabled]:tw-text-sq-disabled-gray data-[disabled]:tw-pointer-events-none ${item.containerExtraClassNames || ''}`, "data-testid": item.testId, disabled: item.disabled },
37
+ React.createElement(CustomComponent, { ...item })),
38
+ item.hasDivider && (React.createElement(DropdownMenu.Separator, { "data-testid": `dropdown-divider-${index}`, className: "tw-h-[1px] tw-bg-sq-disabled-gray dark:tw-bg-gray-500 tw-my-[8px]" }))));
39
+ }
40
+ })))));
41
+ };
42
+ export default NewWorkbench;
43
+ //# sourceMappingURL=NewWorkbench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewWorkbench.js","sourceRoot":"","sources":["../../src/NewWorkbench/NewWorkbench.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAK9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,YAAY,GAAG;IACnB,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,4BAA4B;IAC5B,yBAAyB;CAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,QAAQ,GAAG;IACf,gBAAgB,EAAE,gBAAgB;CACnC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,gBAAgB,EAAE,+BAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/E,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7E,MAAM,YAAY,GAA+C,CAAC,EAChE,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,OAAO,GAAG,kBAAkB,EAC5B,eAAe,EACf,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,QAAQ,EACpB,eAAe,GAAG,CAAC,EACnB,WAAW,GAAG,CAAC,EAAE,EACjB,QAAQ,GAAG,KAAK,EAChB,YAAY,EACZ,MAAM,EACN,wBAAwB,GAAG,IAAI,EAC/B,uBAAuB,GAAG,IAAI,EAC9B,GAAG,YAAY,EAChB,EAAE,EAAE;IACH,MAAM,WAAW,GAAmC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE9E,OAAO,CACL,oBAAC,YAAY,CAAC,IAAI,IAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,uBAAuB;QAC7G,oBAAC,YAAY,CAAC,OAAO,IACnB,EAAE,EAAE,EAAE,iBACO,EAAE,EACf,SAAS,EAAE,iGAAiG,EAC5G,OAAO,QACP,QAAQ,EAAE,QAAQ;YAClB,gCACM,WAAW,EACf,SAAS,EAAE,0IACT,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAC/B,IAAI,eAAe,IAAI,EAAE,EAAE,IAC1B,OAAO,CACJ,CACe;QACvB,oBAAC,YAAY,CAAC,OAAO,IACnB,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,OAAO,QACP,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,IAAI,CAAC,CAAC,cAAc,EAAE,EACxE,SAAS,EAAC,+CAA+C;YACzD,4CACe,eAAe,EAC5B,SAAS,EACP,QAAQ;oBACR,2FAA2F;oBAC3F,qEAAqE;oBACrE,kMAAkM;oBAClM,YAAY;gBAEb,QAAQ,IAAI,CACX,oBAAC,YAAY,CAAC,KAAK,IAAC,OAAO;oBACzB,6BAAK,SAAS,EAAC,6LAA6L,GAAG,CAC5L,CACtB;gBACA,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACrC,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;wBAChC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAC1C,OAAO,CACL;4BACE,oBAAC,YAAY,CAAC,IAAI,IAChB,GAAG,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oCACd,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gCAClB,CAAC,EACD,SAAS,EAAE,oPACT,IAAI,CAAC,wBAAwB,IAAI,EACnC,EAAE,iBACW,IAAI,CAAC,MAAM,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,oBAAC,eAAe,OAAK,IAAI,GAAI,CACX;4BACnB,IAAI,CAAC,UAAU,IAAI,CAClB,oBAAC,YAAY,CAAC,SAAS,mBACR,oBAAoB,KAAK,EAAE,EACxC,SAAS,EAAC,mEAAmE,GAC7E,CACH,CACA,CACJ,CAAC;qBACH;gBACH,CAAC,CAAC,CACE,CACe,CACL,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllNewWorkbenchVariants: () => JSX.Element;
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import NewWorkbench from './NewWorkbench';
3
+ import { QTip } from '../Tooltip/Qtip';
4
+ import Button from '../Button/Button';
5
+ export default {
6
+ title: 'New Workbench',
7
+ };
8
+ const options = [
9
+ {
10
+ label: 'NEW WORKBOOK',
11
+ description: 'WORKBOOK_DESCRIPTION',
12
+ icon: 'fc-analysis',
13
+ id: 'newWorkbook',
14
+ disabled: true,
15
+ iconExtraClassNames: 'workbenchDisplay',
16
+ onClick: () => { },
17
+ },
18
+ {
19
+ label: 'NEW REPORTBINDER',
20
+ description: 'REPORTBINDER_DESCRIPTION',
21
+ icon: 'fc-report',
22
+ onClick: () => { },
23
+ id: 'newReportBinder',
24
+ },
25
+ {
26
+ label: 'NEW DATALAB',
27
+ description: 'DATALAB_DESCRIPTION',
28
+ icon: 'fc-seeq-datalab',
29
+ id: 'newDataLab',
30
+ onClick: () => { },
31
+ divider: true,
32
+ },
33
+ {
34
+ label: 'FOLDER',
35
+ icon: 'fa-folder-open',
36
+ onClick: () => { },
37
+ id: 'newFolder',
38
+ },
39
+ ];
40
+ export const AllNewWorkbenchVariants = () => {
41
+ const [openDropdown, setOpenDropdown] = React.useState('');
42
+ const allNewWorkbenchs = (color, isDark) => (React.createElement("div", { className: isDark ? 'tw-dark tw-bg-sq-dark-background' : '' },
43
+ React.createElement("div", { className: "tw-p-5 " },
44
+ React.createElement(NewWorkbench, { trigger: React.createElement(Button, { label: "New", icon: "fa-plus", variant: "theme" }), key: "newWorkbenchItem", "data-testid": "homeScreenNewButton", id: "newWorkbenchItem", variant: "newWorkbenchItem", align: "start", alignOffset: 0, placementOffset: 0, newWorkbenchItems: options }))));
45
+ const renderAllVariations = (color) => (React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4 tw-p-4" },
46
+ allNewWorkbenchs(color),
47
+ allNewWorkbenchs(color, true)));
48
+ return (React.createElement("div", { className: "tw-grid tw-grid-cols-3 tw-gap-4" },
49
+ React.createElement(QTip, null),
50
+ React.createElement("div", { className: "color_topic" },
51
+ React.createElement("b", null, "Topic Colors"),
52
+ renderAllVariations('topic')),
53
+ React.createElement("div", { className: "color_analysis" },
54
+ React.createElement("b", null, "Analysis Colors"),
55
+ renderAllVariations('analysis')),
56
+ React.createElement("div", { className: "color_datalab" },
57
+ React.createElement("b", null, "Datalab Colors"),
58
+ renderAllVariations('datalab'))));
59
+ };
60
+ //# sourceMappingURL=NewWorkbench.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewWorkbench.stories.js","sourceRoot":"","sources":["../../src/NewWorkbench/NewWorkbench.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,eAAe;IACb,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,OAAO,GAAG;IACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE,aAAa;QACnB,EAAE,EAAE,aAAa;QACjB,QAAQ,EAAE,IAAI;QACd,mBAAmB,EAAE,kBAAkB;QACvC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB;IACD;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,EAAE,EAAE,iBAAiB;KACtB;IACD;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,qBAAqB;QAClC,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,OAAO,EAAE,IAAI;KACd;IACD;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,EAAE,EAAE,WAAW;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,MAAgB,EAAE,EAAE,CAAC,CAC5D,6BAAK,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE;QAC9D,6BAAK,SAAS,EAAC,SAAS;YACtB,oBAAC,YAAY,IACX,OAAO,EAAE,oBAAC,MAAM,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,OAAO,GAAG,EAC9D,GAAG,EAAC,kBAAkB,iBACV,qBAAqB,EACjC,EAAE,EAAC,kBAAkB,EACrB,OAAO,EAAC,kBAAkB,EAC1B,KAAK,EAAC,OAAO,EACb,WAAW,EAAE,CAAC,EACd,eAAe,EAAE,CAAC,EAClB,iBAAiB,EAAE,OAAO,GAAiB,CACzC,CACF,CACP,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAC7C,6BAAK,SAAS,EAAC,wCAAwC;QACpD,gBAAgB,CAAC,KAAK,CAAC;QACvB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAC1B,CACP,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAC,iCAAiC;QAC9C,oBAAC,IAAI,OAAG;QACR,6BAAK,SAAS,EAAC,aAAa;YAC1B,8CAAmB;YAClB,mBAAmB,CAAC,OAAO,CAAC,CACzB;QAEN,6BAAK,SAAS,EAAC,gBAAgB;YAC7B,iDAAsB;YACrB,mBAAmB,CAAC,UAAU,CAAC,CAC5B;QAEN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gDAAqB;YACpB,mBAAmB,CAAC,SAAS,CAAC,CAC3B,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -2,20 +2,20 @@ import React from 'react';
2
2
  import '@testing-library/jest-dom';
3
3
  import { render, screen } from '@testing-library/react';
4
4
  import userEvent from '@testing-library/user-event';
5
- import ButtonWithDropdown from './ButtonWithDropdown';
5
+ import ButtonWithDropdown from './NewWorkbench';
6
6
  import Icon from '../Icon';
7
- describe('ButtonWithDropdown', () => {
7
+ describe('NewWorkbench', () => {
8
8
  const mockOnClick = jest.fn();
9
9
  const testId = 'trigger-icon';
10
10
  class Context {
11
11
  props = {
12
- triggerIcon: (React.createElement(Icon, { icon: "fc-more", type: "text", testId: testId, extraClassNames: "tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px]" })),
12
+ trigger: (React.createElement(Icon, { icon: "fc-more", type: "text", testId: testId, extraClassNames: "tw-text-sq-text-color dark:tw-text-sq-white tw-w-[18px]" })),
13
13
  containerTestId: 'basic-dropdown1',
14
14
  tooltip: 'This is a small dropdown.',
15
15
  tooltipDelay: 0,
16
16
  tooltipPlacement: 'top',
17
17
  isHtmlTooltip: false,
18
- dropdownItems: [
18
+ newWorkbenchItems: [
19
19
  { label: 'Orange', icon: 'fc-data-file', onClick: mockOnClick },
20
20
  { label: 'Mango', icon: 'fc-user-community', onClick: mockOnClick },
21
21
  { label: 'Guava', icon: 'fc-user-community', onClick: mockOnClick },
@@ -40,7 +40,7 @@ describe('ButtonWithDropdown', () => {
40
40
  expect(screen.getByText('Orange')).toBeInTheDocument();
41
41
  });
42
42
  test('renders dividers correctly', async () => {
43
- tc.props.dropdownItems[1].hasDivider = true;
43
+ tc.props.newWorkbenchItems[1].hasDivider = true;
44
44
  renderButtonWithDropdown(tc.props);
45
45
  expect(screen.getByTestId('trigger-icon')).toBeInTheDocument();
46
46
  await openDropdown();
@@ -69,4 +69,4 @@ describe('ButtonWithDropdown', () => {
69
69
  expect(screen.queryByText('Orange')).not.toBeInTheDocument();
70
70
  });
71
71
  });
72
- //# sourceMappingURL=ButtonWithDropdown.test.js.map
72
+ //# sourceMappingURL=NewWorkbench.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewWorkbench.test.js","sourceRoot":"","sources":["../../src/NewWorkbench/NewWorkbench.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { TooltipComponentProps } from '../Tooltip/Tooltip.types';
2
+ export interface NewWorkbenchItems {
3
+ id?: string;
4
+ /** icon class to be used with the dropdown items - if available (i.e. 'fc-zoom') */
5
+ icon?: string;
6
+ /** icon type to be used with the dropdown items - if available (i.e. 'fc') */
7
+ iconType?: string;
8
+ /** icon color to be used with the dropdown items - if available */
9
+ iconColor?: string;
10
+ /** custom id for the icon */
11
+ iconCustomId?: string;
12
+ /** icon extra class names */
13
+ iconExtraClassNames?: string;
14
+ /** label for the dropdown items */
15
+ label: string;
16
+ /** function called when the dropdown item is clicked on */
17
+ onClick: (e?: Event) => void;
18
+ /** dropdown subitem container classes */
19
+ itemContainerClasses?: string;
20
+ /** dropdown subitem label classes */
21
+ labelClasses?: string;
22
+ /** is item disabled */
23
+ disabled?: boolean;
24
+ /** test id for the dropdown subitem */
25
+ labelTestId?: string;
26
+ /** test id for the dropdown subitem icon */
27
+ iconTestId?: string;
28
+ /** displays a divider line under present dropdown item */
29
+ hasDivider?: boolean;
30
+ /** test id for the dropdown subitem */
31
+ testId?: string;
32
+ /** adds description to be rendered by the custom component */
33
+ description?: string;
34
+ /** item container extra class names */
35
+ containerExtraClassNames?: string;
36
+ }
37
+ export interface NewWorkbenchProps extends TooltipComponentProps {
38
+ /** items for the dropdown content */
39
+ newWorkbenchItems: NewWorkbenchItems[];
40
+ /** element to be used as the trigger */
41
+ trigger: React.ReactNode;
42
+ /** id of the trigger */
43
+ id?: string;
44
+ /** extra class names to be placed on the dropdown container */
45
+ extraClassNames?: string;
46
+ /** id that will be used in the data-testid attribute on the container element */
47
+ containerTestId?: string;
48
+ /** is the button disabled */
49
+ disabled?: boolean;
50
+ /** function called when the trigger is clicked on, i.e. for tracking (does not open the popover) */
51
+ onClick?: (e: MouseEvent) => void;
52
+ /** alignment of the content of the popover */
53
+ align?: 'start' | 'center' | 'end';
54
+ /** number offset from the aligned position */
55
+ alignOffset?: number;
56
+ /** the placement of the popover */
57
+ placement?: 'top' | 'bottom' | 'left' | 'right';
58
+ /** number offset from the placement position */
59
+ placementOffset?: number;
60
+ /** set to display arrow or not */
61
+ hasArrow?: boolean;
62
+ /** is popover open */
63
+ isOpen?: boolean;
64
+ /** function called to open and close popover */
65
+ onOpenChange?: (isOpen: boolean) => void;
66
+ /** sets focus on the trigger button after the dropdown is closed */
67
+ setFocusOnTriggerOnClose?: boolean;
68
+ /** should popover close when the content is clicked? */
69
+ isCloseOnContentClick?: boolean;
70
+ /** focus should be kept within dropdown */
71
+ keepFocusInsideDropdown?: boolean;
72
+ /** component to be used to render the dropdown item */
73
+ variant?: 'newWorkbenchItem';
74
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=NewWorkbench.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewWorkbench.types.js","sourceRoot":"","sources":["../../src/NewWorkbench/NewWorkbench.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { default } from './NewWorkbench';
@@ -0,0 +1,2 @@
1
+ export { default } from './NewWorkbench';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/NewWorkbench/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { NewWorkbenchItems } from './NewWorkbench.types';
3
+ export declare const NewWorkbenchItem: React.FC<NewWorkbenchItems>;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import Icon from '../Icon/Icon';
3
+ export const NewWorkbenchItem = (item) => {
4
+ return (React.createElement("div", { className: "tw-flex-col tw-flex tw-p-[10px] tw-pl-5 tw-w-[600px]" },
5
+ React.createElement("div", { className: "tw-flex tw-flex-row tw-gap-2 tw-items-end" },
6
+ item.icon && (React.createElement(Icon, { icon: item.icon, testId: item.iconTestId, type: "text", extraClassNames: 'tw-rounded-[3px] tw-h-8 tw-w-8 tw-flex tw-justify-center tw-items-center tw-bg-sq-color-dark dark:tw-text-sq-white tw-text-[22px] tw-text-sq-white ' +
7
+ item.iconExtraClassNames })),
8
+ React.createElement("h4", { className: "tw-text-base tw-font-[600] tw-leading-[20px]" }, item.label)),
9
+ React.createElement("div", { className: "tw-text-[13px] tw-font-[400]" }, item.description)));
10
+ };
11
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../../src/NewWorkbench/variants.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAgC,CAAC,IAAI,EAAE,EAAE;IACpE,OAAO,CACL,6BAAK,SAAS,EAAC,sDAAsD;QACnE,6BAAK,SAAS,EAAC,2CAA2C;YACvD,IAAI,CAAC,IAAI,IAAI,CACZ,oBAAC,IAAI,IACH,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,IAAI,EAAC,MAAM,EACX,eAAe,EACb,qJAAqJ;oBACrJ,IAAI,CAAC,mBAAmB,GAE1B,CACH;YACD,4BAAI,SAAS,EAAC,8CAA8C,IAAE,IAAI,CAAC,KAAK,CAAM,CAC1E;QACN,6BAAK,SAAS,EAAC,8BAA8B,IAAE,IAAI,CAAC,WAAW,CAAO,CAClE,CACP,CAAC;AACJ,CAAC,CAAC"}
package/dist/index.esm.js CHANGED
@@ -14049,8 +14049,8 @@ const Dialog = $5d3850c4d0b4e6c7$export$be92b6f5f03c0fe9;
14049
14049
  const DialogPortal = $5d3850c4d0b4e6c7$export$602eac185826482c;
14050
14050
  const DialogClose = $5d3850c4d0b4e6c7$export$f39c2d165cd861fe;
14051
14051
  const DialogContent = React__default.forwardRef(({ className, children, ...props }, ref) => (React__default.createElement(DialogPortal, null,
14052
- React__default.createElement("div", { className: "tw-select-none tw-fixed tw-w-full tw-h-full tw-opacity-50 tw-inset-0 tw-z-[1000] tw-bg-sq-dark-background\n data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0\n data-[state=open]:fade-in-0 " }),
14053
- React__default.createElement($5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2, { ref: ref, className: `tw-fixed tw-left-[50%] tw-top-0 tw-my-6 tw-translate-x-[-50%] tw-z-[1001] tw-grid
14052
+ React__default.createElement("div", { className: "tw-select-none tw-fixed tw-w-full tw-h-full tw-opacity-50 tw-inset-0 tw-z-[1009] tw-bg-sq-dark-background\n data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0\n data-[state=open]:fade-in-0 " }),
14053
+ React__default.createElement($5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2, { ref: ref, className: `tw-fixed tw-left-[50%] tw-top-0 tw-my-6 tw-translate-x-[-50%] tw-z-[1010] tw-grid
14054
14054
  tw-gap-4 tw-border tw-bg-sq-white dark:tw-bg-sq-dark-background tw-p-6 tw-shadow-lg tw-duration-200
14055
14055
  tw-rounded-lg ${className}`, ...props }, children))));
14056
14056
  DialogContent.displayName = $5d3850c4d0b4e6c7$export$7c6e2c02157bb7d2.displayName;
@@ -14081,29 +14081,22 @@ const Modal = ({ titleIcon, title = 'Modal title example', titleSuffixLabel, sub
14081
14081
  let titleIconElement = React__default.createElement(React__default.Fragment, null);
14082
14082
  if (titleIcon) {
14083
14083
  if (typeof titleIcon === 'string') {
14084
- titleIconElement =
14085
- React__default.createElement(Icon, { icon: titleIcon, testId: "modalTitleIcon", extraClassNames: "tw-flex tw-text-xl tw-mt-1" });
14084
+ titleIconElement = (React__default.createElement(Icon, { icon: titleIcon, testId: "modalTitleIcon", extraClassNames: "tw-flex tw-text-xl tw-mt-1" }));
14086
14085
  }
14087
14086
  else {
14088
14087
  titleIconElement = React__default.createElement("div", { className: "tw-mt-1.5" }, titleIcon);
14089
14088
  }
14090
14089
  }
14091
14090
  return (React__default.createElement(React__default.Fragment, null,
14092
- titleIcon && titleIconPosition === 'left' ?
14093
- React__default.createElement("div", { className: "tw-flex tw-mr-2" }, titleIconElement) :
14094
- React__default.createElement(React__default.Fragment, null),
14091
+ titleIcon && titleIconPosition === 'left' ? React__default.createElement("div", { className: "tw-flex tw-mr-2" }, titleIconElement) : React__default.createElement(React__default.Fragment, null),
14095
14092
  React__default.createElement(DialogTitle, { asChild: true }, isTitleEditable ? (React__default.createElement("div", { className: "tw-flex tw-w-full tw-items-center" },
14096
14093
  React__default.createElement(TextField, { extraClassNames: inputExtraClassNames, value: title, type: "text", testId: "modalTitle", onChange: onTitleChanged, placeholder: titlePlaceholder, required: titleRequired, showError: !!titleError }),
14097
- titleError && React__default.createElement("p", { className: "tw-text-sq-danger-color tw-min-w-fit tw-pl-2 tw-mb-0" }, titleError))) :
14098
- customHeader ?? (React__default.createElement("div", { "data-testid": "modalTitle", className: "modal-title" },
14099
- React__default.createElement("div", { className: "tw-flex tw-items-center" },
14100
- React__default.createElement("h3", null, title),
14101
- titleSuffixLabel &&
14102
- React__default.createElement("span", { className: "tw-text-xl tw-pl-0.5" }, titleSuffixLabel)),
14103
- subtitle &&
14104
- React__default.createElement("div", { className: "tw-italic tw-text-sm tw-text-left tw-mt-1", "data-testid": "modal-subtitle" }, subtitle)))),
14105
- titleIcon && titleIconPosition === 'right' ?
14106
- React__default.createElement("div", { className: "tw-flex tw-ml-4" }, titleIconElement) : React__default.createElement(React__default.Fragment, null)));
14094
+ titleError && React__default.createElement("p", { className: "tw-text-sq-danger-color tw-min-w-fit tw-pl-2 tw-mb-0" }, titleError))) : (customHeader ?? (React__default.createElement("div", { "data-testid": "modalTitle", className: "modal-title" },
14095
+ React__default.createElement("div", { className: "tw-flex tw-items-center" },
14096
+ React__default.createElement("h3", null, title),
14097
+ titleSuffixLabel && React__default.createElement("span", { className: "tw-text-xl tw-pl-0.5" }, titleSuffixLabel)),
14098
+ subtitle && (React__default.createElement("div", { className: "tw-italic tw-text-sm tw-text-left tw-mt-1", "data-testid": "modal-subtitle" }, subtitle)))))),
14099
+ titleIcon && titleIconPosition === 'right' ? React__default.createElement("div", { className: "tw-flex tw-ml-4" }, titleIconElement) : React__default.createElement(React__default.Fragment, null)));
14107
14100
  };
14108
14101
  return open ? (React__default.createElement(Dialog, { open: true, onOpenChange: onClose, modal: keepFocusInsideModal },
14109
14102
  React__default.createElement(DialogContent, { onPointerDownOutside: (e) => e.preventDefault(), "data-testid": testId, className: classNames(`modalContent tw-w-full !tw-p-0 tw-border-none tw-shadow-none dark:tw-text-sq-dark-text !tw-gap-0`, {
@@ -14120,20 +14113,16 @@ const Modal = ({ titleIcon, title = 'Modal title example', titleSuffixLabel, sub
14120
14113
  }, dialogClassName) },
14121
14114
  React__default.createElement(DialogHeader, { className: "modal-header tw-flex tw-w-full tw-justify-between tw-border-sq-disabled-gray\n dark:tw-border-sq-dark-disabled-gray tw-border-0 tw-border-b tw-px-6 tw-py-4" },
14122
14115
  React__default.createElement("div", { className: "tw-flex tw-w-full" }, renderTitle()),
14123
- !hideCloseIcon && React__default.createElement(DialogClose, { autoFocus: false, className: "[&:has(:focus-visible)]:none tw-opacity-70 tw-bg-transparent hover:tw-opacity-100 close tw-cursor-pointer tw-ml-4", "data-testid": "closeButton" },
14124
- React__default.createElement("span", { className: "tw-cursor-pointer" }, "\u00D7"))),
14116
+ !hideCloseIcon && (React__default.createElement(DialogClose, { autoFocus: false, className: "[&:has(:focus-visible)]:none tw-opacity-70 tw-bg-transparent hover:tw-opacity-100 close tw-cursor-pointer tw-ml-4", "data-testid": "closeButton" },
14117
+ React__default.createElement("span", { className: "tw-cursor-pointer" }, "\u00D7")))),
14125
14118
  React__default.createElement(DialogDescription, { className: "modal-body tw-px-6 tw-py-4 tw-overflow-y-auto", asChild: true }, children),
14126
- !hideFooterButtons && React__default.createElement(DialogFooter, { className: "modal-footer tw-px-6 tw-py-4" }, modalFooter ??
14127
- React__default.createElement("div", { className: "tw-flex tw-w-full tw-justify-between", "data-testid": "modalFooter" },
14128
- React__default.createElement("div", { className: "tw-flex tw-justify-start" }, customButton &&
14129
- React__default.createElement(Button, { label: customButtonLabel, onClick: onClickCustomButton, disabled: disableCustomButton, extraClassNames: "tw-justify-start tw-min-w-[100px]", testId: "customButton", variant: customButtonVariant })),
14130
- React__default.createElement("div", { className: "tw-flex tw-justify-end" },
14131
- React__default.createElement("div", { className: "tw-flex tw-items-center" }, middleFooterSection),
14132
- !hideCancelButton &&
14133
- React__default.createElement(DialogClose, { asChild: true },
14134
- React__default.createElement(Button, { label: cancelButtonLabel, extraClassNames: "tw-mr-5 tw-min-w-[100px]", tooltip: cancelButtonTooltip, variant: "outline", stopPropagation: false, testId: "cancelButton" })),
14135
- !hideSubmitButton &&
14136
- React__default.createElement(Button, { label: submitButtonLabel, onClick: onSubmit, disabled: disableSubmitButton, variant: "theme", stopPropagation: stopPropagationSubmitButton, tooltip: submitButtonTooltip, testId: "submitButton", extraClassNames: "tw-min-w-[100px]" }))))))) : React__default.createElement(React__default.Fragment, null);
14119
+ !hideFooterButtons && (React__default.createElement(DialogFooter, { className: "modal-footer tw-px-6 tw-py-4" }, modalFooter ?? (React__default.createElement("div", { className: "tw-flex tw-w-full tw-justify-between", "data-testid": "modalFooter" },
14120
+ React__default.createElement("div", { className: "tw-flex tw-justify-start" }, customButton && (React__default.createElement(Button, { label: customButtonLabel, onClick: onClickCustomButton, disabled: disableCustomButton, extraClassNames: "tw-justify-start tw-min-w-[100px]", testId: "customButton", variant: customButtonVariant }))),
14121
+ React__default.createElement("div", { className: "tw-flex tw-justify-end" },
14122
+ React__default.createElement("div", { className: "tw-flex tw-items-center" }, middleFooterSection),
14123
+ !hideCancelButton && (React__default.createElement(DialogClose, { asChild: true },
14124
+ React__default.createElement(Button, { label: cancelButtonLabel, extraClassNames: "tw-mr-5 tw-min-w-[100px]", tooltip: cancelButtonTooltip, variant: "outline", stopPropagation: false, testId: "cancelButton" }))),
14125
+ !hideSubmitButton && (React__default.createElement(Button, { label: submitButtonLabel, onClick: onSubmit, disabled: disableSubmitButton, variant: "theme", stopPropagation: stopPropagationSubmitButton, tooltip: submitButtonTooltip, testId: "submitButton", extraClassNames: "tw-min-w-[100px]" })))))))))) : (React__default.createElement(React__default.Fragment, null));
14137
14126
  };
14138
14127
 
14139
14128
  // We have resorted to returning slots directly rather than exposing primitives that can then