@veeqo/ui 14.9.0-beta-2 → 14.9.0

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 (135) hide show
  1. package/dist/components/Accordion/Accordion.cjs +16 -19
  2. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +16 -19
  4. package/dist/components/Accordion/Accordion.js.map +1 -1
  5. package/dist/components/Accordion/styled.cjs +49 -0
  6. package/dist/components/Accordion/styled.cjs.map +1 -0
  7. package/dist/components/Accordion/styled.d.ts +26 -0
  8. package/dist/components/Accordion/styled.js +34 -0
  9. package/dist/components/Accordion/styled.js.map +1 -0
  10. package/dist/components/Action/Action.d.ts +4 -4
  11. package/dist/components/Card/Card.cjs +9 -36
  12. package/dist/components/Card/Card.cjs.map +1 -1
  13. package/dist/components/Card/Card.d.ts +5 -10
  14. package/dist/components/Card/Card.js +2 -29
  15. package/dist/components/Card/Card.js.map +1 -1
  16. package/dist/components/Card/index.d.ts +0 -1
  17. package/dist/components/Card/styled.cjs +50 -0
  18. package/dist/components/Card/styled.cjs.map +1 -0
  19. package/dist/components/Card/styled.d.ts +16 -0
  20. package/dist/components/Card/styled.js +40 -0
  21. package/dist/components/Card/styled.js.map +1 -0
  22. package/dist/components/CardHeader/CardHeader.cjs +3 -3
  23. package/dist/components/CardHeader/CardHeader.cjs.map +1 -1
  24. package/dist/components/CardHeader/CardHeader.js +3 -3
  25. package/dist/components/CardHeader/CardHeader.js.map +1 -1
  26. package/dist/components/CardHeader/styled.cjs +15 -0
  27. package/dist/components/CardHeader/styled.cjs.map +1 -0
  28. package/dist/components/CardHeader/styled.d.ts +2 -0
  29. package/dist/components/CardHeader/styled.js +8 -0
  30. package/dist/components/CardHeader/styled.js.map +1 -0
  31. package/dist/components/DimensionsInput/DimensionsInput.d.ts +10 -10
  32. package/dist/components/Dropdown/styled.cjs +1 -12
  33. package/dist/components/Dropdown/styled.cjs.map +1 -1
  34. package/dist/components/Dropdown/styled.d.ts +10 -4
  35. package/dist/components/Dropdown/styled.js +1 -12
  36. package/dist/components/Dropdown/styled.js.map +1 -1
  37. package/dist/components/FilterTag/styled.d.ts +1 -1
  38. package/dist/components/Flex/FlexCol/FlexCol.d.ts +1 -1
  39. package/dist/components/Flex/FlexRow/FlexRow.d.ts +1 -1
  40. package/dist/components/LegacyDataTable/SpecificState/styled.d.ts +2 -2
  41. package/dist/components/Modal/components/Dialog/styles/baseStyles.cjs +1 -1
  42. package/dist/components/Modal/components/Dialog/styles/baseStyles.cjs.map +1 -1
  43. package/dist/components/Modal/components/Dialog/styles/baseStyles.js +1 -1
  44. package/dist/components/Modal/components/Dialog/styles/baseStyles.js.map +1 -1
  45. package/dist/components/Modal/components/Dialog/styles/modalTypeStyles.cjs +2 -2
  46. package/dist/components/Modal/components/Dialog/styles/modalTypeStyles.cjs.map +1 -1
  47. package/dist/components/Modal/components/Dialog/styles/modalTypeStyles.js +2 -2
  48. package/dist/components/Modal/components/Dialog/styles/modalTypeStyles.js.map +1 -1
  49. package/dist/components/Pagination/styled.d.ts +11 -11
  50. package/dist/components/PhoneInput/index.d.ts +10 -10
  51. package/dist/components/Search/Search.d.ts +10 -10
  52. package/dist/components/Search/styled.d.ts +10 -10
  53. package/dist/components/SimpleTable/SimpleTable.cjs +7 -20
  54. package/dist/components/SimpleTable/SimpleTable.cjs.map +1 -1
  55. package/dist/components/SimpleTable/SimpleTable.d.ts +7 -9
  56. package/dist/components/SimpleTable/SimpleTable.js +2 -15
  57. package/dist/components/SimpleTable/SimpleTable.js.map +1 -1
  58. package/dist/components/SimpleTable/styled.cjs +34 -0
  59. package/dist/components/SimpleTable/styled.cjs.map +1 -0
  60. package/dist/components/SimpleTable/styled.d.ts +15 -0
  61. package/dist/components/SimpleTable/styled.js +23 -0
  62. package/dist/components/SimpleTable/styled.js.map +1 -0
  63. package/dist/components/Text/Text.d.ts +1 -1
  64. package/dist/components/TextField/TextField.d.ts +10 -10
  65. package/dist/components/TextField/index.d.ts +10 -10
  66. package/dist/components/ToastsLayout/ToastsLayout.cjs +45 -9
  67. package/dist/components/ToastsLayout/ToastsLayout.cjs.map +1 -1
  68. package/dist/components/ToastsLayout/ToastsLayout.d.ts +4 -0
  69. package/dist/components/ToastsLayout/ToastsLayout.js +46 -10
  70. package/dist/components/ToastsLayout/ToastsLayout.js.map +1 -1
  71. package/dist/components/ToastsLayout/ToastsLayout.module.scss.cjs +2 -2
  72. package/dist/components/ToastsLayout/ToastsLayout.module.scss.cjs.map +1 -1
  73. package/dist/components/ToastsLayout/ToastsLayout.module.scss.js +2 -2
  74. package/dist/components/ToastsLayout/ToastsLayout.module.scss.js.map +1 -1
  75. package/dist/components/ToastsLayout/components/Toast.cjs +28 -23
  76. package/dist/components/ToastsLayout/components/Toast.cjs.map +1 -1
  77. package/dist/components/ToastsLayout/components/Toast.d.ts +5 -1
  78. package/dist/components/ToastsLayout/components/Toast.js +28 -23
  79. package/dist/components/ToastsLayout/components/Toast.js.map +1 -1
  80. package/dist/components/ToastsLayout/components/Toast.module.scss.cjs +9 -0
  81. package/dist/components/ToastsLayout/components/Toast.module.scss.cjs.map +1 -0
  82. package/dist/components/ToastsLayout/components/Toast.module.scss.js +7 -0
  83. package/dist/components/ToastsLayout/components/Toast.module.scss.js.map +1 -0
  84. package/dist/components/ToastsLayout/index.d.ts +1 -1
  85. package/dist/components/ToastsLayout/types.d.ts +1 -2
  86. package/dist/components/UploadFile/UploadFile.cjs +2 -7
  87. package/dist/components/UploadFile/UploadFile.cjs.map +1 -1
  88. package/dist/components/UploadFile/UploadFile.js +2 -7
  89. package/dist/components/UploadFile/UploadFile.js.map +1 -1
  90. package/dist/components/UploadFile/styled.cjs +54 -0
  91. package/dist/components/UploadFile/styled.cjs.map +1 -0
  92. package/dist/components/UploadFile/styled.d.ts +4 -0
  93. package/dist/components/UploadFile/styled.js +48 -0
  94. package/dist/components/UploadFile/styled.js.map +1 -0
  95. package/dist/components/View/View.cjs +9 -37
  96. package/dist/components/View/View.cjs.map +1 -1
  97. package/dist/components/View/View.js +7 -35
  98. package/dist/components/View/View.js.map +1 -1
  99. package/dist/components/View/styled.cjs +53 -0
  100. package/dist/components/View/styled.cjs.map +1 -0
  101. package/dist/components/View/styled.d.ts +37 -0
  102. package/dist/components/View/styled.js +41 -0
  103. package/dist/components/View/styled.js.map +1 -0
  104. package/dist/components/ViewTab/ViewTab.d.ts +1 -1
  105. package/dist/components/index.d.ts +2 -2
  106. package/package.json +1 -1
  107. package/dist/components/Accordion/Accordion.module.scss.cjs +0 -9
  108. package/dist/components/Accordion/Accordion.module.scss.cjs.map +0 -1
  109. package/dist/components/Accordion/Accordion.module.scss.js +0 -7
  110. package/dist/components/Accordion/Accordion.module.scss.js.map +0 -1
  111. package/dist/components/Card/Card.module.scss.cjs +0 -9
  112. package/dist/components/Card/Card.module.scss.cjs.map +0 -1
  113. package/dist/components/Card/Card.module.scss.js +0 -7
  114. package/dist/components/Card/Card.module.scss.js.map +0 -1
  115. package/dist/components/CardHeader/CardHeader.module.scss.cjs +0 -9
  116. package/dist/components/CardHeader/CardHeader.module.scss.cjs.map +0 -1
  117. package/dist/components/CardHeader/CardHeader.module.scss.js +0 -7
  118. package/dist/components/CardHeader/CardHeader.module.scss.js.map +0 -1
  119. package/dist/components/SimpleTable/SimpleTable.module.scss.cjs +0 -9
  120. package/dist/components/SimpleTable/SimpleTable.module.scss.cjs.map +0 -1
  121. package/dist/components/SimpleTable/SimpleTable.module.scss.js +0 -7
  122. package/dist/components/SimpleTable/SimpleTable.module.scss.js.map +0 -1
  123. package/dist/components/ToastsLayout/components/ToastTransitionItem.cjs +0 -18
  124. package/dist/components/ToastsLayout/components/ToastTransitionItem.cjs.map +0 -1
  125. package/dist/components/ToastsLayout/components/ToastTransitionItem.d.ts +0 -12
  126. package/dist/components/ToastsLayout/components/ToastTransitionItem.js +0 -12
  127. package/dist/components/ToastsLayout/components/ToastTransitionItem.js.map +0 -1
  128. package/dist/components/UploadFile/UploadFile.module.scss.cjs +0 -9
  129. package/dist/components/UploadFile/UploadFile.module.scss.cjs.map +0 -1
  130. package/dist/components/UploadFile/UploadFile.module.scss.js +0 -7
  131. package/dist/components/UploadFile/UploadFile.module.scss.js.map +0 -1
  132. package/dist/components/View/View.module.scss.cjs +0 -9
  133. package/dist/components/View/View.module.scss.cjs.map +0 -1
  134. package/dist/components/View/View.module.scss.js +0 -7
  135. package/dist/components/View/View.module.scss.js.map +0 -1
@@ -1,23 +1,10 @@
1
1
  import React__default from 'react';
2
- import { buildClassnames } from '../../utils/buildClassnames.js';
3
- import 'uid/secure';
4
- import { assignCssVars } from '../../utils/assignCssVars.js';
5
- import styles from './SimpleTable.module.scss.js';
2
+ import { Table, TableHeader, TableBody, TableRow, TableHeaderCell, TableCell } from './styled.js';
6
3
 
7
- const TableHeader = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("thead", { ref: ref, className: buildClassnames([styles.header, className]), ...rest })));
8
- TableHeader.displayName = 'SimpleTable.Header';
9
- const TableBody = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("tbody", { ref: ref, className: buildClassnames([styles.body, className]), ...rest })));
10
- TableBody.displayName = 'SimpleTable.Body';
11
- const TableRow = React__default.forwardRef(({ className, ...rest }, ref) => (React__default.createElement("tr", { ref: ref, className: buildClassnames([styles.row, className]), ...rest })));
12
- TableRow.displayName = 'SimpleTable.Row';
13
- const TableCell = React__default.forwardRef(({ align, className, style, ...rest }, ref) => (React__default.createElement("td", { ref: ref, className: buildClassnames([styles.cell, className]), style: { ...assignCssVars({ textAlign: align }), ...style }, ...rest })));
14
- TableCell.displayName = 'SimpleTable.Cell';
15
- const TableHeaderCell = React__default.forwardRef(({ align, className, style, ...rest }, ref) => (React__default.createElement("th", { ref: ref, className: buildClassnames([styles.headerCell, className]), style: { ...assignCssVars({ textAlign: align }), ...style }, ...rest })));
16
- TableHeaderCell.displayName = 'SimpleTable.HeaderCell';
17
4
  /**
18
5
  * A simple table component which provides flexible, pre-styled table elements.
19
6
  */
20
- const SimpleTable = ({ striped = true, className, children }) => (React__default.createElement("table", { className: buildClassnames([styles.table, striped ? styles.striped : undefined, className]) }, children));
7
+ const SimpleTable = ({ striped = true, className, children }) => (React__default.createElement(Table, { striped: striped, className: className }, children));
21
8
  SimpleTable.Header = TableHeader;
22
9
  SimpleTable.Body = TableBody;
23
10
  SimpleTable.Row = TableRow;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.js","sources":["../../../src/components/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import React from 'react';\nimport { buildClassnames } from '../../utils';\nimport { assignCssVars } from '../../utils/assignCssVars';\nimport styles from './SimpleTable.module.scss';\nimport { SimpleTableProps } from './types';\n\ntype TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement> & {\n align?: 'left' | 'right' | 'center';\n};\n\ntype TableHeaderCellProps = React.ThHTMLAttributes<HTMLTableCellElement> & {\n align?: 'left' | 'right' | 'center';\n};\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...rest }, ref) => (\n <thead ref={ref} className={buildClassnames([styles.header, className])} {...rest} />\n));\nTableHeader.displayName = 'SimpleTable.Header';\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...rest }, ref) => (\n <tbody ref={ref} className={buildClassnames([styles.body, className])} {...rest} />\n));\nTableBody.displayName = 'SimpleTable.Body';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...rest }, ref) => (\n <tr ref={ref} className={buildClassnames([styles.row, className])} {...rest} />\n ),\n);\nTableRow.displayName = 'SimpleTable.Row';\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ align, className, style, ...rest }, ref) => (\n <td\n ref={ref}\n className={buildClassnames([styles.cell, className])}\n style={{ ...assignCssVars({ textAlign: align }), ...style }}\n {...rest}\n />\n ),\n);\nTableCell.displayName = 'SimpleTable.Cell';\n\nconst TableHeaderCell = React.forwardRef<HTMLTableCellElement, TableHeaderCellProps>(\n ({ align, className, style, ...rest }, ref) => (\n <th\n ref={ref}\n className={buildClassnames([styles.headerCell, className])}\n style={{ ...assignCssVars({ textAlign: align }), ...style }}\n {...rest}\n />\n ),\n);\nTableHeaderCell.displayName = 'SimpleTable.HeaderCell';\n\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }: SimpleTableProps) => (\n <table className={buildClassnames([styles.table, striped ? styles.striped : undefined, className])}>\n {children}\n </table>\n);\n\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"SimpleTable.js","sources":["../../../src/components/SimpleTable/SimpleTable.tsx"],"sourcesContent":["import React from 'react';\nimport { TableBody, TableCell, TableHeader, TableRow, TableHeaderCell, Table } from './styled';\nimport { SimpleTableProps } from './types';\n\n/**\n * A simple table component which provides flexible, pre-styled table elements.\n */\nexport const SimpleTable = ({ striped = true, className, children }: SimpleTableProps) => (\n <Table striped={striped} className={className}>\n {children}\n </Table>\n);\n\nSimpleTable.Header = TableHeader;\nSimpleTable.Body = TableBody;\nSimpleTable.Row = TableRow;\nSimpleTable.HeaderCell = TableHeaderCell;\nSimpleTable.Cell = TableCell;\n"],"names":["React"],"mappings":";;;AAIA;;AAEG;AACI,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAoB,MACnFA,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAA,EAC1C,QAAQ,CACH;AAGV,WAAW,CAAC,MAAM,GAAG,WAAW;AAChC,WAAW,CAAC,IAAI,GAAG,SAAS;AAC5B,WAAW,CAAC,GAAG,GAAG,QAAQ;AAC1B,WAAW,CAAC,UAAU,GAAG,eAAe;AACxC,WAAW,CAAC,IAAI,GAAG,SAAS;;;;"}
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var styled = require('styled-components');
4
+ var sizes = require('../../theme/modules/sizes.cjs');
5
+ var text = require('../../theme/modules/text.cjs');
6
+ var colors = require('../../theme/modules/colors.cjs');
7
+
8
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
+
10
+ var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
+
12
+ const { blue } = colors.colors.secondary;
13
+ const { grey } = colors.colors.neutral;
14
+ const TableHeader = styled__default.default.thead.withConfig({ displayName: "vui--TableHeader", componentId: "vui--o0sot" }) `background-color:white;`;
15
+ const TableBody = styled__default.default.tbody.withConfig({ displayName: "vui--TableBody", componentId: "vui--nuzcgp" }) `&&& tr:hover td{background-color:${blue.lightest};}`;
16
+ const TableRow = styled__default.default.tr.withConfig({ displayName: "vui--TableRow", componentId: "vui--1uhgfx1" }) ``;
17
+ const TableCell = styled__default.default.td.withConfig({ displayName: "vui--TableCell", componentId: "vui--s41x8b" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.text.bodySmall.fontFamily};font-size:${text.text.bodySmall.fontSize};font-weight:${text.text.bodySmall.fontWeight};color:${text.text.bodySmall.color};line-height:${sizes.sizes.base};& > *{vertical-align:middle;}`;
18
+ const TableHeaderCell = styled__default.default(TableCell).attrs({
19
+ as: 'th',
20
+ }).withConfig({ displayName: "vui--TableHeaderCell", componentId: "vui--2nps2x" }) `border-bottom:1px solid ${grey.dark};font-family:${text.text.bodySmallBold.fontFamily};font-size:${text.text.bodySmallBold.fontSize};font-weight:${text.text.bodySmallBold.fontWeight};color:${text.text.bodySmallBold.color};`;
21
+ const Table = styled__default.default.table.withConfig({ displayName: "vui--Table", componentId: "vui--lcbl46" }) `width:100%;border-spacing:0;${({ striped }) => striped &&
22
+ `
23
+ & ${TableBody} tr:nth-child(even) td {
24
+ background-color: ${grey.lightest};
25
+ }
26
+ `}`;
27
+
28
+ exports.Table = Table;
29
+ exports.TableBody = TableBody;
30
+ exports.TableCell = TableCell;
31
+ exports.TableHeader = TableHeader;
32
+ exports.TableHeaderCell = TableHeaderCell;
33
+ exports.TableRow = TableRow;
34
+ //# sourceMappingURL=styled.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.cjs","sources":["../../../src/components/SimpleTable/styled.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\n\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\n\ntype TableProps = {\n striped?: boolean;\n};\n\nexport const TableHeader = styled.thead`\n background-color: white;\n`;\n\nexport const TableBody = styled.tbody`\n &&& tr:hover td {\n background-color: ${blue.lightest};\n }\n`;\n\nexport const TableRow = styled.tr``;\n\nexport type TableCellProps = {\n align?: 'left' | 'right' | 'center';\n};\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n padding: 1.25rem 1rem;\n text-align: ${({ align }) => align || 'left'};\n background-color: white;\n\n font-family: ${text.bodySmall.fontFamily};\n font-size: ${text.bodySmall.fontSize};\n font-weight: ${text.bodySmall.fontWeight};\n color: ${text.bodySmall.color};\n line-height: ${sizes.base};\n\n & > * {\n vertical-align: middle;\n }\n`;\n\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n})`\n border-bottom: 1px solid ${grey.dark};\n\n font-family: ${text.bodySmallBold.fontFamily};\n font-size: ${text.bodySmallBold.fontSize};\n font-weight: ${text.bodySmallBold.fontWeight};\n color: ${text.bodySmallBold.color};\n`;\n\nexport const Table = styled.table<TableProps>`\n width: 100%;\n border-spacing: 0;\n\n ${({ striped }) =>\n striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}\n`;\n"],"names":["colors","styled","text","sizes"],"mappings":";;;;;;;;;;;AAKA,MAAM,EAAE,IAAI,EAAE,GAAGA,aAAM,CAAC,SAAS;AACjC,MAAM,EAAE,IAAI,EAAE,GAAGA,aAAM,CAAC,OAAO;MAMlB,WAAW,GAAGC,uBAAM,CAAC,KAAK;AAIhC,MAAM,SAAS,GAAGA,uBAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,iCAAA,EAEb,IAAI,CAAC,QAAQ,CAAA,EAAA;MAIxB,QAAQ,GAAGA,uBAAM,CAAC,EAAE;MAMpB,SAAS,GAAGA,uBAAM,CAAC,EAAE,gIAGlB,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,MAAM,CAAA,oCAAA,EAG7BC,SAAI,CAAC,SAAS,CAAC,UAAU,CAAA,WAAA,EAC3BA,SAAI,CAAC,SAAS,CAAC,QAAQ,CAAA,aAAA,EACrBA,SAAI,CAAC,SAAS,CAAC,UAAU,UAC/BA,SAAI,CAAC,SAAS,CAAC,KAAK,gBACdC,WAAK,CAAC,IAAI,CAAA,8BAAA;AAOpB,MAAM,eAAe,GAAGF,uBAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;AACrD,IAAA,EAAE,EAAE,IAAI;AACT,CAAA,CAAC,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,wBAAA,EAC2B,IAAI,CAAC,IAAI,CAAA,aAAA,EAErBC,SAAI,CAAC,aAAa,CAAC,UAAU,CAAA,WAAA,EAC/BA,SAAI,CAAC,aAAa,CAAC,QAAQ,CAAA,aAAA,EACzBA,SAAI,CAAC,aAAa,CAAC,UAAU,CAAA,OAAA,EACnCA,SAAI,CAAC,aAAa,CAAC,KAAK;AAG5B,MAAM,KAAK,GAAGD,uBAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,4BAAA,EAI7B,CAAC,EAAE,OAAO,EAAE,KACZ,OAAO;AACP,IAAA;OACG,SAAS,CAAA;AACS,uBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;AAEpC,CAAA,CAAA,CAAA;;;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ type TableProps = {
2
+ striped?: boolean;
3
+ };
4
+ export declare const TableHeader: import("styled-components").StyledComponent<"thead", any, {}, never>;
5
+ export declare const TableBody: import("styled-components").StyledComponent<"tbody", any, {}, never>;
6
+ export declare const TableRow: import("styled-components").StyledComponent<"tr", any, {}, never>;
7
+ export type TableCellProps = {
8
+ align?: 'left' | 'right' | 'center';
9
+ };
10
+ export declare const TableCell: import("styled-components").StyledComponent<"td", any, TableCellProps, never>;
11
+ export declare const TableHeaderCell: import("styled-components").StyledComponent<"td", any, TableCellProps & {
12
+ as: string;
13
+ }, "as">;
14
+ export declare const Table: import("styled-components").StyledComponent<"table", any, TableProps, never>;
15
+ export {};
@@ -0,0 +1,23 @@
1
+ import styled from 'styled-components';
2
+ import { sizes } from '../../theme/modules/sizes.js';
3
+ import { text } from '../../theme/modules/text.js';
4
+ import { colors } from '../../theme/modules/colors.js';
5
+
6
+ const { blue } = colors.secondary;
7
+ const { grey } = colors.neutral;
8
+ const TableHeader = styled.thead.withConfig({ displayName: "vui--TableHeader", componentId: "vui--o0sot" }) `background-color:white;`;
9
+ const TableBody = styled.tbody.withConfig({ displayName: "vui--TableBody", componentId: "vui--nuzcgp" }) `&&& tr:hover td{background-color:${blue.lightest};}`;
10
+ const TableRow = styled.tr.withConfig({ displayName: "vui--TableRow", componentId: "vui--1uhgfx1" }) ``;
11
+ const TableCell = styled.td.withConfig({ displayName: "vui--TableCell", componentId: "vui--s41x8b" }) `position:relative;padding:1.25rem 1rem;text-align:${({ align }) => align || 'left'};background-color:white;font-family:${text.bodySmall.fontFamily};font-size:${text.bodySmall.fontSize};font-weight:${text.bodySmall.fontWeight};color:${text.bodySmall.color};line-height:${sizes.base};& > *{vertical-align:middle;}`;
12
+ const TableHeaderCell = styled(TableCell).attrs({
13
+ as: 'th',
14
+ }).withConfig({ displayName: "vui--TableHeaderCell", componentId: "vui--2nps2x" }) `border-bottom:1px solid ${grey.dark};font-family:${text.bodySmallBold.fontFamily};font-size:${text.bodySmallBold.fontSize};font-weight:${text.bodySmallBold.fontWeight};color:${text.bodySmallBold.color};`;
15
+ const Table = styled.table.withConfig({ displayName: "vui--Table", componentId: "vui--lcbl46" }) `width:100%;border-spacing:0;${({ striped }) => striped &&
16
+ `
17
+ & ${TableBody} tr:nth-child(even) td {
18
+ background-color: ${grey.lightest};
19
+ }
20
+ `}`;
21
+
22
+ export { Table, TableBody, TableCell, TableHeader, TableHeaderCell, TableRow };
23
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sources":["../../../src/components/SimpleTable/styled.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { sizes } from '../../theme/modules/sizes';\nimport { text } from '../../theme/modules/text';\nimport { colors } from '../../theme/modules/colors';\n\nconst { blue } = colors.secondary;\nconst { grey } = colors.neutral;\n\ntype TableProps = {\n striped?: boolean;\n};\n\nexport const TableHeader = styled.thead`\n background-color: white;\n`;\n\nexport const TableBody = styled.tbody`\n &&& tr:hover td {\n background-color: ${blue.lightest};\n }\n`;\n\nexport const TableRow = styled.tr``;\n\nexport type TableCellProps = {\n align?: 'left' | 'right' | 'center';\n};\n\nexport const TableCell = styled.td<TableCellProps>`\n position: relative;\n padding: 1.25rem 1rem;\n text-align: ${({ align }) => align || 'left'};\n background-color: white;\n\n font-family: ${text.bodySmall.fontFamily};\n font-size: ${text.bodySmall.fontSize};\n font-weight: ${text.bodySmall.fontWeight};\n color: ${text.bodySmall.color};\n line-height: ${sizes.base};\n\n & > * {\n vertical-align: middle;\n }\n`;\n\nexport const TableHeaderCell = styled(TableCell).attrs({\n as: 'th',\n})`\n border-bottom: 1px solid ${grey.dark};\n\n font-family: ${text.bodySmallBold.fontFamily};\n font-size: ${text.bodySmallBold.fontSize};\n font-weight: ${text.bodySmallBold.fontWeight};\n color: ${text.bodySmallBold.color};\n`;\n\nexport const Table = styled.table<TableProps>`\n width: 100%;\n border-spacing: 0;\n\n ${({ striped }) =>\n striped &&\n `\n & ${TableBody} tr:nth-child(even) td {\n background-color: ${grey.lightest};\n }\n `}\n`;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS;AACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO;MAMlB,WAAW,GAAG,MAAM,CAAC,KAAK;AAIhC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,iCAAA,EAEb,IAAI,CAAC,QAAQ,CAAA,EAAA;MAIxB,QAAQ,GAAG,MAAM,CAAC,EAAE;MAMpB,SAAS,GAAG,MAAM,CAAC,EAAE,gIAGlB,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,MAAM,CAAA,oCAAA,EAG7B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAA,WAAA,EAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA,aAAA,EACrB,IAAI,CAAC,SAAS,CAAC,UAAU,UAC/B,IAAI,CAAC,SAAS,CAAC,KAAK,gBACd,KAAK,CAAC,IAAI,CAAA,8BAAA;AAOpB,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;AACrD,IAAA,EAAE,EAAE,IAAI;AACT,CAAA,CAAC,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,wBAAA,EAC2B,IAAI,CAAC,IAAI,CAAA,aAAA,EAErB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,WAAA,EAC/B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAA,aAAA,EACzB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA,OAAA,EACnC,IAAI,CAAC,aAAa,CAAC,KAAK;AAG5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA,4BAAA,EAI7B,CAAC,EAAE,OAAO,EAAE,KACZ,OAAO;AACP,IAAA;OACG,SAAS,CAAA;AACS,uBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;;AAEpC,CAAA,CAAA,CAAA;;;;"}
@@ -7,5 +7,5 @@ import React from 'react';
7
7
  export declare const Text: React.ForwardRefExoticComponent<{
8
8
  as?: import("./types").ValidTextTag | undefined;
9
9
  muted?: boolean | undefined;
10
- variant?: "headingXXL" | "headingXL" | "headingLarge" | "headingMedium" | "headingSmall" | "headingTable" | "subheadingLarge" | "subheadingMedium" | "subheadingSmall" | "subheadingSmallBold" | "body" | "bodySmall" | "bodyBold" | "bodyBoldDark" | "bodySmallBold" | "inputLabel" | "inputLabelSmall" | "hintText" | "placeholder" | "placeholderSmall" | "placeholderCode" | "placeholderCodeSmall" | "error" | "errorSmall" | "successSmall" | "button" | "buttonSmall" | "linkLarge" | "linkMedium" | "link" | "linkSmall" | undefined;
10
+ variant?: "body" | "button" | "link" | "placeholder" | "headingXXL" | "headingXL" | "headingLarge" | "headingMedium" | "headingSmall" | "headingTable" | "subheadingLarge" | "subheadingMedium" | "subheadingSmall" | "subheadingSmallBold" | "bodySmall" | "bodyBold" | "bodyBoldDark" | "bodySmallBold" | "inputLabel" | "inputLabelSmall" | "hintText" | "placeholderSmall" | "placeholderCode" | "placeholderCodeSmall" | "error" | "errorSmall" | "successSmall" | "buttonSmall" | "linkLarge" | "linkMedium" | "linkSmall" | undefined;
11
11
  } & React.HTMLAttributes<HTMLElement> & React.LabelHTMLAttributes<HTMLLabelElement> & React.RefAttributes<HTMLElement>>;
@@ -1,13 +1,11 @@
1
1
  import React from 'react';
2
2
  export declare const TextField: React.ForwardRefExoticComponent<{
3
3
  rel?: string | undefined;
4
- placeholder?: string | undefined;
5
4
  form?: string | undefined;
6
5
  slot?: string | undefined;
7
6
  style?: React.CSSProperties | undefined;
8
7
  title?: string | undefined;
9
8
  pattern?: string | undefined;
10
- list?: string | undefined;
11
9
  className?: string | undefined;
12
10
  children?: React.ReactNode;
13
11
  defaultChecked?: boolean | undefined;
@@ -16,7 +14,7 @@ export declare const TextField: React.ForwardRefExoticComponent<{
16
14
  suppressHydrationWarning?: boolean | undefined;
17
15
  accessKey?: string | undefined;
18
16
  autoFocus?: boolean | undefined;
19
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
17
+ contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
20
18
  contextMenu?: string | undefined;
21
19
  dir?: string | undefined;
22
20
  draggable?: (boolean | "true" | "false") | undefined;
@@ -24,9 +22,10 @@ export declare const TextField: React.ForwardRefExoticComponent<{
24
22
  id?: string | undefined;
25
23
  lang?: string | undefined;
26
24
  nonce?: string | undefined;
25
+ placeholder?: string | undefined;
27
26
  spellCheck?: (boolean | "true" | "false") | undefined;
28
27
  tabIndex?: number | undefined;
29
- translate?: "yes" | "no" | undefined;
28
+ translate?: "no" | "yes" | undefined;
30
29
  radioGroup?: string | undefined;
31
30
  role?: React.AriaRole | undefined;
32
31
  about?: string | undefined;
@@ -62,7 +61,7 @@ export declare const TextField: React.ForwardRefExoticComponent<{
62
61
  'aria-colindex'?: number | undefined;
63
62
  'aria-colspan'?: number | undefined;
64
63
  'aria-controls'?: string | undefined;
65
- 'aria-current'?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date" | undefined;
64
+ 'aria-current'?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
66
65
  'aria-describedby'?: string | undefined;
67
66
  'aria-details'?: string | undefined;
68
67
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -71,7 +70,7 @@ export declare const TextField: React.ForwardRefExoticComponent<{
71
70
  'aria-expanded'?: (boolean | "true" | "false") | undefined;
72
71
  'aria-flowto'?: string | undefined;
73
72
  'aria-grabbed'?: (boolean | "true" | "false") | undefined;
74
- 'aria-haspopup'?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
73
+ 'aria-haspopup'?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
75
74
  'aria-hidden'?: (boolean | "true" | "false") | undefined;
76
75
  'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
77
76
  'aria-keyshortcuts'?: string | undefined;
@@ -263,13 +262,13 @@ export declare const TextField: React.ForwardRefExoticComponent<{
263
262
  onAnimationIterationCapture?: (React.AnimationEventHandler<HTMLInputElement> & React.AnimationEventHandler<HTMLTextAreaElement>) | undefined;
264
263
  onTransitionEnd?: (React.TransitionEventHandler<HTMLInputElement> & React.TransitionEventHandler<HTMLTextAreaElement>) | undefined;
265
264
  onTransitionEndCapture?: (React.TransitionEventHandler<HTMLInputElement> & React.TransitionEventHandler<HTMLTextAreaElement>) | undefined;
265
+ alt?: string | undefined;
266
266
  disabled?: boolean | undefined;
267
267
  formAction?: string | undefined;
268
268
  formEncType?: string | undefined;
269
269
  formMethod?: string | undefined;
270
270
  formNoValidate?: boolean | undefined;
271
271
  formTarget?: string | undefined;
272
- alt?: string | undefined;
273
272
  autoComplete?: string | undefined;
274
273
  accept?: string | undefined;
275
274
  capture?: boolean | "user" | "environment" | undefined;
@@ -281,16 +280,17 @@ export declare const TextField: React.ForwardRefExoticComponent<{
281
280
  maxLength?: number | undefined;
282
281
  minLength?: number | undefined;
283
282
  src?: string | undefined;
283
+ list?: string | undefined;
284
+ name?: string | undefined;
284
285
  height?: string | number | undefined;
285
286
  max?: string | number | undefined;
286
287
  min?: string | number | undefined;
287
- name?: string | undefined;
288
288
  width?: string | number | undefined;
289
- wrap?: string | undefined;
290
- step?: string | number | undefined;
291
289
  readOnly?: boolean | undefined;
292
290
  required?: boolean | undefined;
291
+ step?: string | number | undefined;
293
292
  rows?: number | undefined;
293
+ wrap?: string | undefined;
294
294
  } & {
295
295
  value?: string | undefined;
296
296
  type?: import("./types").TextFieldType | undefined;
@@ -2,13 +2,11 @@
2
2
  export type * from './types';
3
3
  export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
4
4
  rel?: string | undefined;
5
- placeholder?: string | undefined;
6
5
  form?: string | undefined;
7
6
  slot?: string | undefined;
8
7
  style?: import("react").CSSProperties | undefined;
9
8
  title?: string | undefined;
10
9
  pattern?: string | undefined;
11
- list?: string | undefined;
12
10
  className?: string | undefined;
13
11
  children?: import("react").ReactNode;
14
12
  defaultChecked?: boolean | undefined;
@@ -17,7 +15,7 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
17
15
  suppressHydrationWarning?: boolean | undefined;
18
16
  accessKey?: string | undefined;
19
17
  autoFocus?: boolean | undefined;
20
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
18
+ contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
21
19
  contextMenu?: string | undefined;
22
20
  dir?: string | undefined;
23
21
  draggable?: (boolean | "true" | "false") | undefined;
@@ -25,9 +23,10 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
25
23
  id?: string | undefined;
26
24
  lang?: string | undefined;
27
25
  nonce?: string | undefined;
26
+ placeholder?: string | undefined;
28
27
  spellCheck?: (boolean | "true" | "false") | undefined;
29
28
  tabIndex?: number | undefined;
30
- translate?: "yes" | "no" | undefined;
29
+ translate?: "no" | "yes" | undefined;
31
30
  radioGroup?: string | undefined;
32
31
  role?: import("react").AriaRole | undefined;
33
32
  about?: string | undefined;
@@ -63,7 +62,7 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
63
62
  'aria-colindex'?: number | undefined;
64
63
  'aria-colspan'?: number | undefined;
65
64
  'aria-controls'?: string | undefined;
66
- 'aria-current'?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date" | undefined;
65
+ 'aria-current'?: boolean | "time" | "true" | "false" | "step" | "date" | "page" | "location" | undefined;
67
66
  'aria-describedby'?: string | undefined;
68
67
  'aria-details'?: string | undefined;
69
68
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -72,7 +71,7 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
72
71
  'aria-expanded'?: (boolean | "true" | "false") | undefined;
73
72
  'aria-flowto'?: string | undefined;
74
73
  'aria-grabbed'?: (boolean | "true" | "false") | undefined;
75
- 'aria-haspopup'?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
74
+ 'aria-haspopup'?: boolean | "dialog" | "menu" | "grid" | "listbox" | "tree" | "true" | "false" | undefined;
76
75
  'aria-hidden'?: (boolean | "true" | "false") | undefined;
77
76
  'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
78
77
  'aria-keyshortcuts'?: string | undefined;
@@ -264,13 +263,13 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
264
263
  onAnimationIterationCapture?: (import("react").AnimationEventHandler<HTMLInputElement> & import("react").AnimationEventHandler<HTMLTextAreaElement>) | undefined;
265
264
  onTransitionEnd?: (import("react").TransitionEventHandler<HTMLInputElement> & import("react").TransitionEventHandler<HTMLTextAreaElement>) | undefined;
266
265
  onTransitionEndCapture?: (import("react").TransitionEventHandler<HTMLInputElement> & import("react").TransitionEventHandler<HTMLTextAreaElement>) | undefined;
266
+ alt?: string | undefined;
267
267
  disabled?: boolean | undefined;
268
268
  formAction?: string | undefined;
269
269
  formEncType?: string | undefined;
270
270
  formMethod?: string | undefined;
271
271
  formNoValidate?: boolean | undefined;
272
272
  formTarget?: string | undefined;
273
- alt?: string | undefined;
274
273
  autoComplete?: string | undefined;
275
274
  accept?: string | undefined;
276
275
  capture?: boolean | "user" | "environment" | undefined;
@@ -282,16 +281,17 @@ export declare const TextField: import("react").ForwardRefExoticComponent<Omit<{
282
281
  maxLength?: number | undefined;
283
282
  minLength?: number | undefined;
284
283
  src?: string | undefined;
284
+ list?: string | undefined;
285
+ name?: string | undefined;
285
286
  height?: string | number | undefined;
286
287
  max?: string | number | undefined;
287
288
  min?: string | number | undefined;
288
- name?: string | undefined;
289
289
  width?: string | number | undefined;
290
- wrap?: string | undefined;
291
- step?: string | number | undefined;
292
290
  readOnly?: boolean | undefined;
293
291
  required?: boolean | undefined;
292
+ step?: string | number | undefined;
294
293
  rows?: number | undefined;
294
+ wrap?: string | undefined;
295
295
  } & {
296
296
  value?: string | undefined;
297
297
  type?: import("./types").TextFieldType | undefined;
@@ -1,24 +1,60 @@
1
1
  'use strict';
2
2
 
3
- var reactTransitionGroup = require('react-transition-group');
4
3
  var React = require('react');
5
4
  var reactDom = require('react-dom');
6
- var ToastTransitionItem = require('./components/ToastTransitionItem.cjs');
7
- var Stack = require('../Stack/Stack.cjs');
8
- var buildClassnames = require('../../utils/buildClassnames.cjs');
5
+ var reactTransitionGroup = require('react-transition-group');
6
+ var FlexCol = require('../Flex/FlexCol/FlexCol.cjs');
7
+ var Toast = require('./components/Toast.cjs');
8
+ var Toast_module = require('./components/Toast.module.scss.cjs');
9
9
  var ToastsLayout_module = require('./ToastsLayout.module.scss.cjs');
10
10
 
11
11
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
14
14
 
15
+ /**
16
+ * A fixed-position container that manages stacking, animating, and dismissing toast notifications.
17
+ * Renders into a portal on `document.body`. Only one instance should exist per application.
18
+ */
15
19
  const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {
20
+ const nodeRefs = React.useRef(new Map());
21
+ // Stable ref to avoid re-triggering the dismiss effect when onClose identity changes
22
+ const onCloseRef = React.useRef(onClose);
23
+ React.useEffect(() => {
24
+ onCloseRef.current = onClose;
25
+ }, [onClose]);
16
26
  React.useEffect(() => {
17
- if (max && toasts.length > max)
18
- onClose(toasts[0].key);
19
- }, [toasts, max, onClose]);
20
- return reactDom.createPortal(React__default.default.createElement(Stack.Stack, { className: buildClassnames.buildClassnames([ToastsLayout_module.container]), direction: "vertical", alignX: "center", spacing: 4 },
21
- React__default.default.createElement(reactTransitionGroup.TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React__default.default.createElement(ToastTransitionItem.ToastTransitionItem, { key: toast.key, toast: toast, last: index === toasts.length - 1, minWidth: minWidth, className: className, e2eClassName: e2eClassName, onClose: () => onClose(toast.key) }))))), document.body);
27
+ if (typeof max === 'number' && toasts.length > max)
28
+ onCloseRef.current(toasts[0].key);
29
+ }, [toasts, max]);
30
+ // Clean up refs only after exit animation completes (via onExited callback)
31
+ const handleExited = React.useCallback((key) => {
32
+ nodeRefs.current.delete(key);
33
+ }, []);
34
+ let resolvedMinWidth;
35
+ if (!minWidth && minWidth !== 0) {
36
+ resolvedMinWidth = undefined;
37
+ }
38
+ else if (typeof minWidth === 'number' || !isNaN(Number(minWidth))) {
39
+ resolvedMinWidth = `${minWidth}px`;
40
+ }
41
+ else {
42
+ resolvedMinWidth = String(minWidth);
43
+ }
44
+ return reactDom.createPortal(React__default.default.createElement(FlexCol.FlexCol, { alignItems: "center", gap: "base", className: ToastsLayout_module.ToastsLayoutContainer, "aria-live": "polite", "aria-atomic": "false" },
45
+ React__default.default.createElement(reactTransitionGroup.TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => {
46
+ if (!nodeRefs.current.has(toast.key)) {
47
+ nodeRefs.current.set(toast.key, { current: null });
48
+ }
49
+ const nodeRef = nodeRefs.current.get(toast.key);
50
+ return (React__default.default.createElement(reactTransitionGroup.CSSTransition, { nodeRef: nodeRef, key: toast.key, timeout: 500, classNames: {
51
+ enter: Toast_module.enter,
52
+ enterActive: Toast_module.enterActive,
53
+ exit: Toast_module.exit,
54
+ exitActive: Toast_module.exitActive,
55
+ }, onExited: () => handleExited(toast.key) },
56
+ React__default.default.createElement(Toast.Toast, { ref: nodeRef, className: className, e2eClassName: e2eClassName, minWidth: resolvedMinWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key), ...toast })));
57
+ }))), document.body);
22
58
  };
23
59
 
24
60
  exports.ToastsLayout = ToastsLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"ToastsLayout.cjs","sources":["../../../src/components/ToastsLayout/ToastsLayout.tsx"],"sourcesContent":["import { TransitionGroup } from 'react-transition-group';\nimport React, { useEffect, FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutPropTypes } from './types';\nimport { ToastTransitionItem } from './components/ToastTransitionItem';\nimport { Stack } from '../Stack';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport styles from './ToastsLayout.module.scss';\n\nexport const ToastsLayout: FC<ToastsLayoutPropTypes> = ({\n className,\n e2eClassName,\n toasts,\n minWidth = '50vw',\n max = 3,\n onClose,\n}) => {\n useEffect(() => {\n if (max && toasts.length > max) onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n\n return createPortal(\n <Stack\n className={buildClassnames([styles.container])}\n direction=\"vertical\"\n alignX=\"center\"\n spacing={4}\n >\n <TransitionGroup component={null}>\n {[...toasts].reverse().map((toast, index) => (\n <ToastTransitionItem\n key={toast.key}\n toast={toast}\n last={index === toasts.length - 1}\n minWidth={minWidth}\n className={className}\n e2eClassName={e2eClassName}\n onClose={() => onClose(toast.key)}\n />\n ))}\n </TransitionGroup>\n </Stack>,\n document.body,\n );\n};\n"],"names":["useEffect","createPortal","React","Stack","buildClassnames","styles","TransitionGroup","ToastTransitionItem"],"mappings":";;;;;;;;;;;;;;MASa,YAAY,GAA8B,CAAC,EACtD,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,GAAG,MAAM,EACjB,GAAG,GAAG,CAAC,EACP,OAAO,GACR,KAAI;IACHA,eAAS,CAAC,MAAK;AACb,QAAA,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1B,OAAOC,qBAAY,CACjBC,sBAAA,CAAA,aAAA,CAACC,WAAK,EAAA,EACJ,SAAS,EAAEC,+BAAe,CAAC,CAACC,mBAAM,CAAC,SAAS,CAAC,CAAC,EAC9C,SAAS,EAAC,UAAU,EACpB,MAAM,EAAC,QAAQ,EACf,OAAO,EAAE,CAAC,EAAA;AAEV,QAAAH,sBAAA,CAAA,aAAA,CAACI,oCAAe,EAAA,EAAC,SAAS,EAAE,IAAI,IAC7B,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,MACtCJ,sBAAA,CAAA,aAAA,CAACK,uCAAmB,IAClB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EACjC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA,CACjC,CACH,CAAC,CACc,CACZ,EACR,QAAQ,CAAC,IAAI,CACd;AACH;;;;"}
1
+ {"version":3,"file":"ToastsLayout.cjs","sources":["../../../src/components/ToastsLayout/ToastsLayout.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { FlexCol } from '../Flex/FlexCol';\nimport { Toast } from './components/Toast';\nimport toastStyles from './components/Toast.module.scss';\nimport styles from './ToastsLayout.module.scss';\nimport { ToastsLayoutPropTypes } from './types';\n\n/**\n * A fixed-position container that manages stacking, animating, and dismissing toast notifications.\n * Renders into a portal on `document.body`. Only one instance should exist per application.\n */\nexport const ToastsLayout: FC<ToastsLayoutPropTypes> = ({\n className,\n e2eClassName,\n toasts,\n minWidth = '50vw',\n max = 3,\n onClose,\n}) => {\n const nodeRefs = useRef(new Map<string, { current: HTMLDivElement | null }>());\n\n // Stable ref to avoid re-triggering the dismiss effect when onClose identity changes\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (typeof max === 'number' && toasts.length > max) onCloseRef.current(toasts[0].key);\n }, [toasts, max]);\n\n // Clean up refs only after exit animation completes (via onExited callback)\n const handleExited = useCallback((key: string) => {\n nodeRefs.current.delete(key);\n }, []);\n\n let resolvedMinWidth: string | undefined;\n if (!minWidth && minWidth !== 0) {\n resolvedMinWidth = undefined;\n } else if (typeof minWidth === 'number' || !isNaN(Number(minWidth))) {\n resolvedMinWidth = `${minWidth}px`;\n } else {\n resolvedMinWidth = String(minWidth);\n }\n\n return createPortal(\n <FlexCol\n alignItems=\"center\"\n gap=\"base\"\n className={styles.ToastsLayoutContainer}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n >\n <TransitionGroup component={null}>\n {[...toasts].reverse().map((toast, index) => {\n if (!nodeRefs.current.has(toast.key)) {\n nodeRefs.current.set(toast.key, { current: null });\n }\n const nodeRef = nodeRefs.current.get(toast.key)!;\n\n return (\n <CSSTransition\n nodeRef={nodeRef}\n key={toast.key}\n timeout={500}\n classNames={{\n enter: toastStyles.enter,\n enterActive: toastStyles.enterActive,\n exit: toastStyles.exit,\n exitActive: toastStyles.exitActive,\n }}\n onExited={() => handleExited(toast.key)}\n >\n <Toast\n ref={nodeRef}\n className={className}\n e2eClassName={e2eClassName}\n minWidth={resolvedMinWidth}\n last={index === toasts.length - 1}\n onClose={() => onClose(toast.key)}\n {...toast}\n />\n </CSSTransition>\n );\n })}\n </TransitionGroup>\n </FlexCol>,\n document.body,\n );\n};\n"],"names":["useRef","useEffect","useCallback","createPortal","React","FlexCol","styles","TransitionGroup","CSSTransition","toastStyles","Toast"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { ToastsLayoutPropTypes } from './types';
3
+ /**
4
+ * A fixed-position container that manages stacking, animating, and dismissing toast notifications.
5
+ * Renders into a portal on `document.body`. Only one instance should exist per application.
6
+ */
3
7
  export declare const ToastsLayout: FC<ToastsLayoutPropTypes>;
@@ -1,18 +1,54 @@
1
- import { TransitionGroup } from 'react-transition-group';
2
- import React__default, { useEffect } from 'react';
1
+ import React__default, { useRef, useEffect, useCallback } from 'react';
3
2
  import { createPortal } from 'react-dom';
4
- import { ToastTransitionItem } from './components/ToastTransitionItem.js';
5
- import { Stack } from '../Stack/Stack.js';
6
- import { buildClassnames } from '../../utils/buildClassnames.js';
3
+ import { TransitionGroup, CSSTransition } from 'react-transition-group';
4
+ import { FlexCol } from '../Flex/FlexCol/FlexCol.js';
5
+ import { Toast } from './components/Toast.js';
6
+ import toastStyles from './components/Toast.module.scss.js';
7
7
  import styles from './ToastsLayout.module.scss.js';
8
8
 
9
+ /**
10
+ * A fixed-position container that manages stacking, animating, and dismissing toast notifications.
11
+ * Renders into a portal on `document.body`. Only one instance should exist per application.
12
+ */
9
13
  const ToastsLayout = ({ className, e2eClassName, toasts, minWidth = '50vw', max = 3, onClose, }) => {
14
+ const nodeRefs = useRef(new Map());
15
+ // Stable ref to avoid re-triggering the dismiss effect when onClose identity changes
16
+ const onCloseRef = useRef(onClose);
10
17
  useEffect(() => {
11
- if (max && toasts.length > max)
12
- onClose(toasts[0].key);
13
- }, [toasts, max, onClose]);
14
- return createPortal(React__default.createElement(Stack, { className: buildClassnames([styles.container]), direction: "vertical", alignX: "center", spacing: 4 },
15
- React__default.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => (React__default.createElement(ToastTransitionItem, { key: toast.key, toast: toast, last: index === toasts.length - 1, minWidth: minWidth, className: className, e2eClassName: e2eClassName, onClose: () => onClose(toast.key) }))))), document.body);
18
+ onCloseRef.current = onClose;
19
+ }, [onClose]);
20
+ useEffect(() => {
21
+ if (typeof max === 'number' && toasts.length > max)
22
+ onCloseRef.current(toasts[0].key);
23
+ }, [toasts, max]);
24
+ // Clean up refs only after exit animation completes (via onExited callback)
25
+ const handleExited = useCallback((key) => {
26
+ nodeRefs.current.delete(key);
27
+ }, []);
28
+ let resolvedMinWidth;
29
+ if (!minWidth && minWidth !== 0) {
30
+ resolvedMinWidth = undefined;
31
+ }
32
+ else if (typeof minWidth === 'number' || !isNaN(Number(minWidth))) {
33
+ resolvedMinWidth = `${minWidth}px`;
34
+ }
35
+ else {
36
+ resolvedMinWidth = String(minWidth);
37
+ }
38
+ return createPortal(React__default.createElement(FlexCol, { alignItems: "center", gap: "base", className: styles.ToastsLayoutContainer, "aria-live": "polite", "aria-atomic": "false" },
39
+ React__default.createElement(TransitionGroup, { component: null }, [...toasts].reverse().map((toast, index) => {
40
+ if (!nodeRefs.current.has(toast.key)) {
41
+ nodeRefs.current.set(toast.key, { current: null });
42
+ }
43
+ const nodeRef = nodeRefs.current.get(toast.key);
44
+ return (React__default.createElement(CSSTransition, { nodeRef: nodeRef, key: toast.key, timeout: 500, classNames: {
45
+ enter: toastStyles.enter,
46
+ enterActive: toastStyles.enterActive,
47
+ exit: toastStyles.exit,
48
+ exitActive: toastStyles.exitActive,
49
+ }, onExited: () => handleExited(toast.key) },
50
+ React__default.createElement(Toast, { ref: nodeRef, className: className, e2eClassName: e2eClassName, minWidth: resolvedMinWidth, last: index === toasts.length - 1, onClose: () => onClose(toast.key), ...toast })));
51
+ }))), document.body);
16
52
  };
17
53
 
18
54
  export { ToastsLayout };
@@ -1 +1 @@
1
- {"version":3,"file":"ToastsLayout.js","sources":["../../../src/components/ToastsLayout/ToastsLayout.tsx"],"sourcesContent":["import { TransitionGroup } from 'react-transition-group';\nimport React, { useEffect, FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { ToastsLayoutPropTypes } from './types';\nimport { ToastTransitionItem } from './components/ToastTransitionItem';\nimport { Stack } from '../Stack';\nimport { buildClassnames } from '../../utils/buildClassnames';\nimport styles from './ToastsLayout.module.scss';\n\nexport const ToastsLayout: FC<ToastsLayoutPropTypes> = ({\n className,\n e2eClassName,\n toasts,\n minWidth = '50vw',\n max = 3,\n onClose,\n}) => {\n useEffect(() => {\n if (max && toasts.length > max) onClose(toasts[0].key);\n }, [toasts, max, onClose]);\n\n return createPortal(\n <Stack\n className={buildClassnames([styles.container])}\n direction=\"vertical\"\n alignX=\"center\"\n spacing={4}\n >\n <TransitionGroup component={null}>\n {[...toasts].reverse().map((toast, index) => (\n <ToastTransitionItem\n key={toast.key}\n toast={toast}\n last={index === toasts.length - 1}\n minWidth={minWidth}\n className={className}\n e2eClassName={e2eClassName}\n onClose={() => onClose(toast.key)}\n />\n ))}\n </TransitionGroup>\n </Stack>,\n document.body,\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;MASa,YAAY,GAA8B,CAAC,EACtD,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,GAAG,MAAM,EACjB,GAAG,GAAG,CAAC,EACP,OAAO,GACR,KAAI;IACH,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1B,OAAO,YAAY,CACjBA,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAC9C,SAAS,EAAC,UAAU,EACpB,MAAM,EAAC,QAAQ,EACf,OAAO,EAAE,CAAC,EAAA;AAEV,QAAAA,cAAA,CAAA,aAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,IAAI,IAC7B,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,MACtCA,cAAA,CAAA,aAAA,CAAC,mBAAmB,IAClB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EACjC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA,CACjC,CACH,CAAC,CACc,CACZ,EACR,QAAQ,CAAC,IAAI,CACd;AACH;;;;"}
1
+ {"version":3,"file":"ToastsLayout.js","sources":["../../../src/components/ToastsLayout/ToastsLayout.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport { FlexCol } from '../Flex/FlexCol';\nimport { Toast } from './components/Toast';\nimport toastStyles from './components/Toast.module.scss';\nimport styles from './ToastsLayout.module.scss';\nimport { ToastsLayoutPropTypes } from './types';\n\n/**\n * A fixed-position container that manages stacking, animating, and dismissing toast notifications.\n * Renders into a portal on `document.body`. Only one instance should exist per application.\n */\nexport const ToastsLayout: FC<ToastsLayoutPropTypes> = ({\n className,\n e2eClassName,\n toasts,\n minWidth = '50vw',\n max = 3,\n onClose,\n}) => {\n const nodeRefs = useRef(new Map<string, { current: HTMLDivElement | null }>());\n\n // Stable ref to avoid re-triggering the dismiss effect when onClose identity changes\n const onCloseRef = useRef(onClose);\n useEffect(() => {\n onCloseRef.current = onClose;\n }, [onClose]);\n\n useEffect(() => {\n if (typeof max === 'number' && toasts.length > max) onCloseRef.current(toasts[0].key);\n }, [toasts, max]);\n\n // Clean up refs only after exit animation completes (via onExited callback)\n const handleExited = useCallback((key: string) => {\n nodeRefs.current.delete(key);\n }, []);\n\n let resolvedMinWidth: string | undefined;\n if (!minWidth && minWidth !== 0) {\n resolvedMinWidth = undefined;\n } else if (typeof minWidth === 'number' || !isNaN(Number(minWidth))) {\n resolvedMinWidth = `${minWidth}px`;\n } else {\n resolvedMinWidth = String(minWidth);\n }\n\n return createPortal(\n <FlexCol\n alignItems=\"center\"\n gap=\"base\"\n className={styles.ToastsLayoutContainer}\n aria-live=\"polite\"\n aria-atomic=\"false\"\n >\n <TransitionGroup component={null}>\n {[...toasts].reverse().map((toast, index) => {\n if (!nodeRefs.current.has(toast.key)) {\n nodeRefs.current.set(toast.key, { current: null });\n }\n const nodeRef = nodeRefs.current.get(toast.key)!;\n\n return (\n <CSSTransition\n nodeRef={nodeRef}\n key={toast.key}\n timeout={500}\n classNames={{\n enter: toastStyles.enter,\n enterActive: toastStyles.enterActive,\n exit: toastStyles.exit,\n exitActive: toastStyles.exitActive,\n }}\n onExited={() => handleExited(toast.key)}\n >\n <Toast\n ref={nodeRef}\n className={className}\n e2eClassName={e2eClassName}\n minWidth={resolvedMinWidth}\n last={index === toasts.length - 1}\n onClose={() => onClose(toast.key)}\n {...toast}\n />\n </CSSTransition>\n );\n })}\n </TransitionGroup>\n </FlexCol>,\n document.body,\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;AASA;;;AAGG;MACU,YAAY,GAA8B,CAAC,EACtD,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,GAAG,MAAM,EACjB,GAAG,GAAG,CAAC,EACP,OAAO,GACR,KAAI;IACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,GAAG,EAA8C,CAAC;;AAG9E,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,SAAS,CAAC,MAAK;AACb,QAAA,UAAU,CAAC,OAAO,GAAG,OAAO;AAC9B,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG;YAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACvF,IAAA,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;AAGjB,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,GAAW,KAAI;AAC/C,QAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,IAAI,gBAAoC;AACxC,IAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,EAAE;QAC/B,gBAAgB,GAAG,SAAS;AAC7B,IAAA;AAAM,SAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE;AACnE,QAAA,gBAAgB,GAAG,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI;AACnC,IAAA;AAAM,SAAA;AACL,QAAA,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpC,IAAA;IAED,OAAO,YAAY,CACjBA,cAAA,CAAA,aAAA,CAAC,OAAO,IACN,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAC,MAAM,EACV,SAAS,EAAE,MAAM,CAAC,qBAAqB,EAAA,WAAA,EAC7B,QAAQ,EAAA,aAAA,EACN,OAAO,EAAA;QAEnBA,cAAA,CAAA,aAAA,CAAC,eAAe,IAAC,SAAS,EAAE,IAAI,EAAA,EAC7B,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;YAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACpC,gBAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACnD,YAAA;AACD,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAE;AAEhD,YAAA,QACEA,cAAA,CAAA,aAAA,CAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE;oBACV,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,WAAW,EAAE,WAAW,CAAC,WAAW;oBACpC,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,UAAU,EAAE,WAAW,CAAC,UAAU;iBACnC,EACD,QAAQ,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA;gBAEvCA,cAAA,CAAA,aAAA,CAAC,KAAK,IACJ,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EACjC,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA,GAC7B,KAAK,EAAA,CACT,CACY;QAEpB,CAAC,CAAC,CACc,CACV,EACV,QAAQ,CAAC,IAAI,CACd;AACH;;;;"}
@@ -2,8 +2,8 @@
2
2
 
3
3
  var ___$insertStyle = require('../../_virtual/____insertStyle.cjs');
4
4
 
5
- ___$insertStyle("._container_yulmp_1 {\n position: fixed;\n bottom: 24px;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n\n._toast_yulmp_9 {\n background-color: var(--colors-neutral-ink-dark);\n padding: 12px 24px 12px 12px;\n box-shadow: var(--shadows-lg);\n border-radius: var(--radius-md);\n pointer-events: auto;\n /* Below container's tooltip layer; ensures toasts stack above page content but below the fixed container's z-context */\n z-index: 40;\n min-width: var(--toast-min-width);\n max-width: 80vw;\n}\n\n/* CSSTransition class names (applied by react-transition-group at runtime) */\n.veeqo-components-toast-enter {\n transform: translateY(12px);\n opacity: 0;\n}\n\n.veeqo-components-toast-enter-active {\n transform: translateY(0);\n opacity: 1;\n transition: 500ms ease;\n}\n\n.veeqo-components-toast-exit {\n transform: var(--toast-exit-start);\n opacity: 1;\n}\n\n.veeqo-components-toast-exit-active {\n transform: var(--toast-exit-end);\n opacity: 0;\n transition: 500ms ease;\n}\n\n._iconWrap_yulmp_44 {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n border-radius: var(--radius-md);\n background-color: var(--icon-color);\n color: #fff;\n}\n._iconWrap_yulmp_44 svg {\n width: var(--sizes-md);\n height: var(--sizes-md);\n}\n\n._contentStack_yulmp_60 {\n flex-grow: 1;\n}\n\n._toastText_yulmp_64 {\n color: white;\n font-size: 16px;\n}");
6
- var styles = {"container":"_container_yulmp_1","toast":"_toast_yulmp_9","iconWrap":"_iconWrap_yulmp_44","contentStack":"_contentStack_yulmp_60","toastText":"_toastText_yulmp_64"};
5
+ ___$insertStyle("._ToastsLayoutContainer_dq7e5_1 {\n position: fixed;\n bottom: var(--sizes-md);\n left: 0;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}");
6
+ var styles = {"ToastsLayoutContainer":"_ToastsLayoutContainer_dq7e5_1"};
7
7
 
8
8
  module.exports = styles;
9
9
  //# sourceMappingURL=ToastsLayout.module.scss.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastsLayout.module.scss.cjs","sources":["../../../src/components/ToastsLayout/ToastsLayout.module.scss"],"sourcesContent":[".container {\n position: fixed;\n bottom: 24px;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n\n.toast {\n background-color: var(--colors-neutral-ink-dark);\n padding: 12px 24px 12px 12px;\n box-shadow: var(--shadows-lg);\n border-radius: var(--radius-md);\n pointer-events: auto;\n /* Below container's tooltip layer; ensures toasts stack above page content but below the fixed container's z-context */\n z-index: 40;\n min-width: var(--toast-min-width);\n max-width: 80vw;\n}\n\n/* CSSTransition class names (applied by react-transition-group at runtime) */\n:global(.veeqo-components-toast-enter) {\n transform: translateY(12px);\n opacity: 0;\n}\n\n:global(.veeqo-components-toast-enter-active) {\n transform: translateY(0);\n opacity: 1;\n transition: 500ms ease;\n}\n\n:global(.veeqo-components-toast-exit) {\n transform: var(--toast-exit-start);\n opacity: 1;\n}\n\n:global(.veeqo-components-toast-exit-active) {\n transform: var(--toast-exit-end);\n opacity: 0;\n transition: 500ms ease;\n}\n\n.iconWrap {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n border-radius: var(--radius-md);\n background-color: var(--icon-color);\n color: #fff;\n\n svg {\n width: var(--sizes-md);\n height: var(--sizes-md);\n }\n}\n\n.contentStack {\n flex-grow: 1;\n}\n\n.toastText {\n color: white;\n font-size: 16px;\n}\n"],"names":[],"mappings":";;;;AACE,eAAA,CAAA,48CAAA;AACA,aAAA,CAAA,WAAA,CAAA,oBAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,cAAA,CAAA,wBAAA,CAAA,WAAA,CAAA,qBAAA;;;;"}
1
+ {"version":3,"file":"ToastsLayout.module.scss.cjs","sources":["../../../src/components/ToastsLayout/ToastsLayout.module.scss"],"sourcesContent":[".ToastsLayoutContainer {\n position: fixed;\n bottom: var(--sizes-md);\n left: 0;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n"],"names":[],"mappings":";;;;AACE,eAAA,CAAA,8KAAA;AACA,aAAA,CAAA,uBAAA,CAAA,gCAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  import insertStyle from '../../_virtual/____insertStyle.js';
2
2
 
3
- insertStyle("._container_yulmp_1 {\n position: fixed;\n bottom: 24px;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n\n._toast_yulmp_9 {\n background-color: var(--colors-neutral-ink-dark);\n padding: 12px 24px 12px 12px;\n box-shadow: var(--shadows-lg);\n border-radius: var(--radius-md);\n pointer-events: auto;\n /* Below container's tooltip layer; ensures toasts stack above page content but below the fixed container's z-context */\n z-index: 40;\n min-width: var(--toast-min-width);\n max-width: 80vw;\n}\n\n/* CSSTransition class names (applied by react-transition-group at runtime) */\n.veeqo-components-toast-enter {\n transform: translateY(12px);\n opacity: 0;\n}\n\n.veeqo-components-toast-enter-active {\n transform: translateY(0);\n opacity: 1;\n transition: 500ms ease;\n}\n\n.veeqo-components-toast-exit {\n transform: var(--toast-exit-start);\n opacity: 1;\n}\n\n.veeqo-components-toast-exit-active {\n transform: var(--toast-exit-end);\n opacity: 0;\n transition: 500ms ease;\n}\n\n._iconWrap_yulmp_44 {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n border-radius: var(--radius-md);\n background-color: var(--icon-color);\n color: #fff;\n}\n._iconWrap_yulmp_44 svg {\n width: var(--sizes-md);\n height: var(--sizes-md);\n}\n\n._contentStack_yulmp_60 {\n flex-grow: 1;\n}\n\n._toastText_yulmp_64 {\n color: white;\n font-size: 16px;\n}");
4
- var styles = {"container":"_container_yulmp_1","toast":"_toast_yulmp_9","iconWrap":"_iconWrap_yulmp_44","contentStack":"_contentStack_yulmp_60","toastText":"_toastText_yulmp_64"};
3
+ insertStyle("._ToastsLayoutContainer_dq7e5_1 {\n position: fixed;\n bottom: var(--sizes-md);\n left: 0;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}");
4
+ var styles = {"ToastsLayoutContainer":"_ToastsLayoutContainer_dq7e5_1"};
5
5
 
6
6
  export { styles as default };
7
7
  //# sourceMappingURL=ToastsLayout.module.scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastsLayout.module.scss.js","sources":["../../../src/components/ToastsLayout/ToastsLayout.module.scss"],"sourcesContent":[".container {\n position: fixed;\n bottom: 24px;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n\n.toast {\n background-color: var(--colors-neutral-ink-dark);\n padding: 12px 24px 12px 12px;\n box-shadow: var(--shadows-lg);\n border-radius: var(--radius-md);\n pointer-events: auto;\n /* Below container's tooltip layer; ensures toasts stack above page content but below the fixed container's z-context */\n z-index: 40;\n min-width: var(--toast-min-width);\n max-width: 80vw;\n}\n\n/* CSSTransition class names (applied by react-transition-group at runtime) */\n:global(.veeqo-components-toast-enter) {\n transform: translateY(12px);\n opacity: 0;\n}\n\n:global(.veeqo-components-toast-enter-active) {\n transform: translateY(0);\n opacity: 1;\n transition: 500ms ease;\n}\n\n:global(.veeqo-components-toast-exit) {\n transform: var(--toast-exit-start);\n opacity: 1;\n}\n\n:global(.veeqo-components-toast-exit-active) {\n transform: var(--toast-exit-end);\n opacity: 0;\n transition: 500ms ease;\n}\n\n.iconWrap {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n border-radius: var(--radius-md);\n background-color: var(--icon-color);\n color: #fff;\n\n svg {\n width: var(--sizes-md);\n height: var(--sizes-md);\n }\n}\n\n.contentStack {\n flex-grow: 1;\n}\n\n.toastText {\n color: white;\n font-size: 16px;\n}\n"],"names":["___$insertStyle"],"mappings":";;AACEA,WAAA,CAAA,48CAAA;AACA,aAAA,CAAA,WAAA,CAAA,oBAAA,CAAA,OAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,cAAA,CAAA,wBAAA,CAAA,WAAA,CAAA,qBAAA;;;;"}
1
+ {"version":3,"file":"ToastsLayout.module.scss.js","sources":["../../../src/components/ToastsLayout/ToastsLayout.module.scss"],"sourcesContent":[".ToastsLayoutContainer {\n position: fixed;\n bottom: var(--sizes-md);\n left: 0;\n width: 100%;\n pointer-events: none;\n z-index: var(--layers-tooltip);\n}\n"],"names":["___$insertStyle"],"mappings":";;AACEA,WAAA,CAAA,8KAAA;AACA,aAAA,CAAA,uBAAA,CAAA,gCAAA;;;;"}