@neo4j-ndl/react 4.3.6 → 4.4.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 (168) hide show
  1. package/lib/cjs/ai/presence/Presence.js +1 -0
  2. package/lib/cjs/ai/presence/Presence.js.map +1 -1
  3. package/lib/cjs/banner/Banner.js +1 -1
  4. package/lib/cjs/banner/Banner.js.map +1 -1
  5. package/lib/cjs/data-grid/Components.js +1 -1
  6. package/lib/cjs/data-grid/Components.js.map +1 -1
  7. package/lib/cjs/data-grid/stories/datagrid-single-selectable.story.js +0 -24
  8. package/lib/cjs/data-grid/stories/datagrid-single-selectable.story.js.map +1 -1
  9. package/lib/cjs/date-picker/DatePicker.js.map +1 -1
  10. package/lib/cjs/dropdown-button/DropdownButton.js.map +1 -1
  11. package/lib/cjs/icon-button-base/IconButtonBase.js +5 -3
  12. package/lib/cjs/icon-button-base/IconButtonBase.js.map +1 -1
  13. package/lib/cjs/icons/generated/custom/DatabaseCross.js +1 -1
  14. package/lib/cjs/icons/generated/custom/DatabaseCross.js.map +1 -1
  15. package/lib/cjs/icons/generated/custom/DatabasePlus.js +1 -1
  16. package/lib/cjs/icons/generated/custom/DatabasePlus.js.map +1 -1
  17. package/lib/cjs/icons/generated/custom/GlobePin.js +1 -1
  18. package/lib/cjs/icons/generated/custom/GlobePin.js.map +1 -1
  19. package/lib/cjs/icons/generated/custom/PanelBottom.js +1 -1
  20. package/lib/cjs/icons/generated/custom/PanelBottom.js.map +1 -1
  21. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js +30 -0
  22. package/lib/cjs/icons/generated/custom/PanelLeftCollapsed.js.map +1 -0
  23. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js +30 -0
  24. package/lib/cjs/icons/generated/custom/PanelLeftExpanded.js.map +1 -0
  25. package/lib/cjs/icons/generated/custom/PanelRightCollapsed.js +30 -0
  26. package/lib/cjs/icons/generated/custom/PanelRightCollapsed.js.map +1 -0
  27. package/lib/cjs/icons/generated/custom/PanelRightExpanded.js +30 -0
  28. package/lib/cjs/icons/generated/custom/PanelRightExpanded.js.map +1 -0
  29. package/lib/cjs/icons/generated/custom/ThreePanel.js +1 -1
  30. package/lib/cjs/icons/generated/custom/ThreePanel.js.map +1 -1
  31. package/lib/cjs/icons/generated/custom/index.js +9 -1
  32. package/lib/cjs/icons/generated/custom/index.js.map +1 -1
  33. package/lib/cjs/icons/wrapIcon.js +1 -1
  34. package/lib/cjs/icons/wrapIcon.js.map +1 -1
  35. package/lib/cjs/menu/stories/menu-custom-items.story.js +3 -1
  36. package/lib/cjs/menu/stories/menu-custom-items.story.js.map +1 -1
  37. package/lib/cjs/menu/stories/menu-default.story.js +3 -1
  38. package/lib/cjs/menu/stories/menu-default.story.js.map +1 -1
  39. package/lib/cjs/menu/stories/menu-in-dialog.story.js +5 -1
  40. package/lib/cjs/menu/stories/menu-in-dialog.story.js.map +1 -1
  41. package/lib/cjs/menu/stories/menu-in-popover.story.js +3 -1
  42. package/lib/cjs/menu/stories/menu-in-popover.story.js.map +1 -1
  43. package/lib/cjs/menu/stories/menu-nested.story.js +3 -1
  44. package/lib/cjs/menu/stories/menu-nested.story.js.map +1 -1
  45. package/lib/cjs/menu/stories/menu-placements.story.js +3 -1
  46. package/lib/cjs/menu/stories/menu-placements.story.js.map +1 -1
  47. package/lib/cjs/menu/stories/menu-with-category.story.js +1 -2
  48. package/lib/cjs/menu/stories/menu-with-category.story.js.map +1 -1
  49. package/lib/cjs/menu/stories/menu-with-disabled-item.story.js +1 -2
  50. package/lib/cjs/menu/stories/menu-with-disabled-item.story.js.map +1 -1
  51. package/lib/cjs/menu/stories/menu-with-divider.story.js +1 -2
  52. package/lib/cjs/menu/stories/menu-with-divider.story.js.map +1 -1
  53. package/lib/cjs/menu/stories/menu-with-icon.story.js +3 -1
  54. package/lib/cjs/menu/stories/menu-with-icon.story.js.map +1 -1
  55. package/lib/cjs/menu/stories/menu-with-keyboard-shortcuts.story.js +3 -1
  56. package/lib/cjs/menu/stories/menu-with-keyboard-shortcuts.story.js.map +1 -1
  57. package/lib/cjs/select/Select.js +25 -3
  58. package/lib/cjs/select/Select.js.map +1 -1
  59. package/lib/cjs/side-navigation/SideNavigation.js +1 -1
  60. package/lib/cjs/side-navigation/SideNavigation.js.map +1 -1
  61. package/lib/cjs/tabs/Tabs.js +1 -1
  62. package/lib/cjs/tabs/Tabs.js.map +1 -1
  63. package/lib/cjs/tabs/stories/tabs-overflow.story.js +1 -1
  64. package/lib/cjs/tabs/stories/tabs-overflow.story.js.map +1 -1
  65. package/lib/cjs/wizard/Wizard.js +1 -1
  66. package/lib/cjs/wizard/Wizard.js.map +1 -1
  67. package/lib/esm/ai/presence/Presence.js +1 -0
  68. package/lib/esm/ai/presence/Presence.js.map +1 -1
  69. package/lib/esm/banner/Banner.js +1 -1
  70. package/lib/esm/banner/Banner.js.map +1 -1
  71. package/lib/esm/data-grid/Components.js +1 -1
  72. package/lib/esm/data-grid/Components.js.map +1 -1
  73. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js +0 -24
  74. package/lib/esm/data-grid/stories/datagrid-single-selectable.story.js.map +1 -1
  75. package/lib/esm/date-picker/DatePicker.js.map +1 -1
  76. package/lib/esm/dropdown-button/DropdownButton.js.map +1 -1
  77. package/lib/esm/icon-button-base/IconButtonBase.js +5 -3
  78. package/lib/esm/icon-button-base/IconButtonBase.js.map +1 -1
  79. package/lib/esm/icons/generated/custom/DatabaseCross.js +2 -2
  80. package/lib/esm/icons/generated/custom/DatabaseCross.js.map +1 -1
  81. package/lib/esm/icons/generated/custom/DatabasePlus.js +1 -1
  82. package/lib/esm/icons/generated/custom/DatabasePlus.js.map +1 -1
  83. package/lib/esm/icons/generated/custom/GlobePin.js +1 -1
  84. package/lib/esm/icons/generated/custom/GlobePin.js.map +1 -1
  85. package/lib/esm/icons/generated/custom/PanelBottom.js +1 -1
  86. package/lib/esm/icons/generated/custom/PanelBottom.js.map +1 -1
  87. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js +28 -0
  88. package/lib/esm/icons/generated/custom/PanelLeftCollapsed.js.map +1 -0
  89. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js +28 -0
  90. package/lib/esm/icons/generated/custom/PanelLeftExpanded.js.map +1 -0
  91. package/lib/esm/icons/generated/custom/PanelRightCollapsed.js +28 -0
  92. package/lib/esm/icons/generated/custom/PanelRightCollapsed.js.map +1 -0
  93. package/lib/esm/icons/generated/custom/PanelRightExpanded.js +28 -0
  94. package/lib/esm/icons/generated/custom/PanelRightExpanded.js.map +1 -0
  95. package/lib/esm/icons/generated/custom/ThreePanel.js +1 -1
  96. package/lib/esm/icons/generated/custom/ThreePanel.js.map +1 -1
  97. package/lib/esm/icons/generated/custom/index.js +4 -0
  98. package/lib/esm/icons/generated/custom/index.js.map +1 -1
  99. package/lib/esm/icons/wrapIcon.js +1 -1
  100. package/lib/esm/icons/wrapIcon.js.map +1 -1
  101. package/lib/esm/menu/stories/menu-custom-items.story.js +3 -1
  102. package/lib/esm/menu/stories/menu-custom-items.story.js.map +1 -1
  103. package/lib/esm/menu/stories/menu-default.story.js +3 -1
  104. package/lib/esm/menu/stories/menu-default.story.js.map +1 -1
  105. package/lib/esm/menu/stories/menu-in-dialog.story.js +5 -1
  106. package/lib/esm/menu/stories/menu-in-dialog.story.js.map +1 -1
  107. package/lib/esm/menu/stories/menu-in-popover.story.js +3 -1
  108. package/lib/esm/menu/stories/menu-in-popover.story.js.map +1 -1
  109. package/lib/esm/menu/stories/menu-nested.story.js +3 -1
  110. package/lib/esm/menu/stories/menu-nested.story.js.map +1 -1
  111. package/lib/esm/menu/stories/menu-placements.story.js +3 -1
  112. package/lib/esm/menu/stories/menu-placements.story.js.map +1 -1
  113. package/lib/esm/menu/stories/menu-with-category.story.js +1 -2
  114. package/lib/esm/menu/stories/menu-with-category.story.js.map +1 -1
  115. package/lib/esm/menu/stories/menu-with-disabled-item.story.js +1 -2
  116. package/lib/esm/menu/stories/menu-with-disabled-item.story.js.map +1 -1
  117. package/lib/esm/menu/stories/menu-with-divider.story.js +1 -2
  118. package/lib/esm/menu/stories/menu-with-divider.story.js.map +1 -1
  119. package/lib/esm/menu/stories/menu-with-icon.story.js +3 -1
  120. package/lib/esm/menu/stories/menu-with-icon.story.js.map +1 -1
  121. package/lib/esm/menu/stories/menu-with-keyboard-shortcuts.story.js +3 -1
  122. package/lib/esm/menu/stories/menu-with-keyboard-shortcuts.story.js.map +1 -1
  123. package/lib/esm/select/Select.js +26 -4
  124. package/lib/esm/select/Select.js.map +1 -1
  125. package/lib/esm/side-navigation/SideNavigation.js +1 -1
  126. package/lib/esm/side-navigation/SideNavigation.js.map +1 -1
  127. package/lib/esm/tabs/Tabs.js +1 -1
  128. package/lib/esm/tabs/Tabs.js.map +1 -1
  129. package/lib/esm/tabs/stories/tabs-overflow.story.js +1 -1
  130. package/lib/esm/tabs/stories/tabs-overflow.story.js.map +1 -1
  131. package/lib/esm/wizard/Wizard.js +1 -1
  132. package/lib/esm/wizard/Wizard.js.map +1 -1
  133. package/lib/types/ai/presence/Presence.d.ts.map +1 -1
  134. package/lib/types/data-grid/Components.d.ts.map +1 -1
  135. package/lib/types/data-grid/stories/datagrid-single-selectable.story.d.ts.map +1 -1
  136. package/lib/types/dropdown-button/DropdownButton.d.ts +1 -1
  137. package/lib/types/dropdown-button/DropdownButton.d.ts.map +1 -1
  138. package/lib/types/icon-button-base/IconButtonBase.d.ts.map +1 -1
  139. package/lib/types/icons/generated/custom/DatabaseCross.d.ts.map +1 -1
  140. package/lib/types/icons/generated/custom/DatabasePlus.d.ts.map +1 -1
  141. package/lib/types/icons/generated/custom/GlobePin.d.ts.map +1 -1
  142. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts +29 -0
  143. package/lib/types/icons/generated/custom/PanelLeftCollapsed.d.ts.map +1 -0
  144. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts +29 -0
  145. package/lib/types/icons/generated/custom/PanelLeftExpanded.d.ts.map +1 -0
  146. package/lib/types/icons/generated/custom/PanelRightCollapsed.d.ts +29 -0
  147. package/lib/types/icons/generated/custom/PanelRightCollapsed.d.ts.map +1 -0
  148. package/lib/types/icons/generated/custom/PanelRightExpanded.d.ts +29 -0
  149. package/lib/types/icons/generated/custom/PanelRightExpanded.d.ts.map +1 -0
  150. package/lib/types/icons/generated/custom/index.d.ts +4 -0
  151. package/lib/types/icons/generated/custom/index.d.ts.map +1 -1
  152. package/lib/types/icons/wrapIcon.d.ts.map +1 -1
  153. package/lib/types/menu/stories/menu-custom-items.story.d.ts.map +1 -1
  154. package/lib/types/menu/stories/menu-default.story.d.ts.map +1 -1
  155. package/lib/types/menu/stories/menu-in-dialog.story.d.ts.map +1 -1
  156. package/lib/types/menu/stories/menu-in-popover.story.d.ts.map +1 -1
  157. package/lib/types/menu/stories/menu-nested.story.d.ts.map +1 -1
  158. package/lib/types/menu/stories/menu-placements.story.d.ts.map +1 -1
  159. package/lib/types/menu/stories/menu-with-category.story.d.ts.map +1 -1
  160. package/lib/types/menu/stories/menu-with-disabled-item.story.d.ts.map +1 -1
  161. package/lib/types/menu/stories/menu-with-divider.story.d.ts.map +1 -1
  162. package/lib/types/menu/stories/menu-with-icon.story.d.ts.map +1 -1
  163. package/lib/types/menu/stories/menu-with-keyboard-shortcuts.story.d.ts.map +1 -1
  164. package/lib/types/select/Select.d.ts.map +1 -1
  165. package/lib/types/side-navigation/SideNavigation.d.ts.map +1 -1
  166. package/lib/types/tabs/Tabs.d.ts.map +1 -1
  167. package/lib/types/tabs/stories/tabs-overflow.story.d.ts.map +1 -1
  168. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-overflow.story.js","sourceRoot":"","sources":["../../../../src/tabs/stories/tabs-overflow.story.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { Tabs, Typography } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [value, setValue] = useState<string>('0');\n\n return (\n <div className=\"n-w-80\">\n <Tabs value={value} onChange={setValue} className=\"n-mb-token-8\">\n <Tabs.Tab id=\"0\">Tab 1</Tabs.Tab>\n <Tabs.Tab id=\"1\">Tab 2</Tabs.Tab>\n <Tabs.Tab id=\"2\">Tab 3</Tabs.Tab>\n <Tabs.Tab id=\"3\">Tab 4</Tabs.Tab>\n <Tabs.Tab id=\"4\">Tab 5</Tabs.Tab>\n <Tabs.Tab id=\"5\">Tab 6</Tabs.Tab>\n <Tabs.Tab id=\"6\">Tab 7</Tabs.Tab>\n <Tabs.Tab id=\"7\">Tab 8</Tabs.Tab>\n <Tabs.Tab id=\"8\">Tab 9</Tabs.Tab>\n <Tabs.Tab id=\"9\">Tab 10</Tabs.Tab>\n </Tabs>\n <Tabs.TabPanel value={value} tabId=\"0\">\n <Typography variant=\"body-medium\">Tab 1 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"1\">\n <Typography variant=\"body-medium\">Tab 2 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"2\">\n <Typography variant=\"body-medium\">Tab 3 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"3\">\n <Typography variant=\"body-medium\">Tab 4 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"4\">\n <Typography variant=\"body-medium\">Tab 5 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"5\">\n <Typography variant=\"body-medium\">Tab 6 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"6\">\n <Typography variant=\"body-medium\">Tab 7 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"7\">\n <Typography variant=\"body-medium\">Tab 8 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"8\">\n <Typography variant=\"body-medium\">Tab 9 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"9\">\n <Typography variant=\"body-medium\">Tab 10 content</Typography>\n </Tabs.TabPanel>\n </div>\n );\n};\n\nexport default Component;\n"]}
1
+ {"version":3,"file":"tabs-overflow.story.js","sourceRoot":"","sources":["../../../../src/tabs/stories/tabs-overflow.story.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport '@neo4j-ndl/base/lib/neo4j-ds-styles.css';\n\nimport { Tabs, Typography } from '@neo4j-ndl/react';\nimport { useState } from 'react';\n\nconst Component = () => {\n const [value, setValue] = useState<string>('0');\n\n return (\n <div className=\"n-w-80\">\n <Tabs value={value} onChange={setValue} className=\"n-mb-token-8\">\n <Tabs.Tab id=\"0\">Tab 1</Tabs.Tab>\n <Tabs.Tab id=\"1\">Tab 2</Tabs.Tab>\n <Tabs.Tab id=\"2\">Tab 3</Tabs.Tab>\n <Tabs.Tab id=\"3\">Tab 4</Tabs.Tab>\n <Tabs.Tab id=\"4\">Tab 5</Tabs.Tab>\n <Tabs.Tab id=\"5\">Tab 6</Tabs.Tab>\n <Tabs.Tab id=\"6\">Tab 7</Tabs.Tab>\n <Tabs.Tab id=\"7\">Tab 8</Tabs.Tab>\n <Tabs.Tab id=\"8\">Tab 9</Tabs.Tab>\n <Tabs.Tab id=\"9\">\n Tab 10 is waay too long and will be cut off on smaller screens\n </Tabs.Tab>\n </Tabs>\n <Tabs.TabPanel value={value} tabId=\"0\">\n <Typography variant=\"body-medium\">Tab 1 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"1\">\n <Typography variant=\"body-medium\">Tab 2 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"2\">\n <Typography variant=\"body-medium\">Tab 3 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"3\">\n <Typography variant=\"body-medium\">Tab 4 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"4\">\n <Typography variant=\"body-medium\">Tab 5 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"5\">\n <Typography variant=\"body-medium\">Tab 6 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"6\">\n <Typography variant=\"body-medium\">Tab 7 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"7\">\n <Typography variant=\"body-medium\">Tab 8 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"8\">\n <Typography variant=\"body-medium\">Tab 9 content</Typography>\n </Tabs.TabPanel>\n <Tabs.TabPanel value={value} tabId=\"9\">\n <Typography variant=\"body-medium\">Tab 10 content</Typography>\n </Tabs.TabPanel>\n </div>\n );\n};\n\nexport default Component;\n"]}
@@ -168,6 +168,6 @@ const Circle = ({ status, number, alignment = 'middle', }) => {
168
168
  const outerCircleClasses = (0, classnames_1.default)('ndl-wizard-circle', {
169
169
  [`ndl-wizard-align-${alignment}`]: alignment,
170
170
  });
171
- return ((0, jsx_runtime_1.jsx)("div", { className: outerCircleClasses, children: (0, jsx_runtime_1.jsxs)("svg", { children: [status === 'active' && ((0, jsx_runtime_1.jsx)("g", { children: (0, jsx_runtime_1.jsx)("circle", { className: "n-stroke-primary-bg-strong", style: { fill: 'transparent', strokeWidth: 2 }, cx: "16", cy: "16", r: "14" }) })), (0, jsx_runtime_1.jsx)("circle", { className: innerCircleClasses, cx: "16", cy: "16", r: "12" }), (0, jsx_runtime_1.jsx)("text", { x: "50%", y: "50%", fontSize: 14, className: "n-fill-neutral-bg-weak", textAnchor: "middle", dominantBaseline: "middle", dy: "0.1em", children: status === 'error' ? '!' : number })] }) }));
171
+ return ((0, jsx_runtime_1.jsx)("div", { className: outerCircleClasses, children: (0, jsx_runtime_1.jsxs)("svg", { "aria-hidden": "true", children: [status === 'active' && ((0, jsx_runtime_1.jsx)("g", { children: (0, jsx_runtime_1.jsx)("circle", { className: "n-stroke-primary-bg-strong", style: { fill: 'transparent', strokeWidth: 2 }, cx: "16", cy: "16", r: "14" }) })), (0, jsx_runtime_1.jsx)("circle", { className: innerCircleClasses, cx: "16", cy: "16", r: "12" }), (0, jsx_runtime_1.jsx)("text", { x: "50%", y: "50%", fontSize: 14, className: "n-fill-neutral-bg-weak", textAnchor: "middle", dominantBaseline: "middle", dy: "0.1em", children: status === 'error' ? '!' : number })] }) }));
172
172
  };
173
173
  //# sourceMappingURL=Wizard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../../../src/wizard/Wizard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport classNames from 'classnames';\nimport React, { useEffect } from 'react';\n\nimport { type PolymorphicCommonProps } from '../_common/types';\nimport { Typography } from '../typography';\n\ninterface Step {\n /** Content displayed as the step label */\n content: React.ReactNode;\n /** Explicit status for the step. When set to `error`, the step is rendered in an error state */\n status?: 'default' | 'error';\n}\n\ninterface BaseWizardProps {\n /** Layout orientation of the wizard */\n orientation?: 'horizontal' | 'vertical';\n /** Visual size of the wizard */\n size?: 'small' | 'large';\n /** Additional style */\n style?: React.CSSProperties;\n /** Additional class name */\n className?: string;\n /** Zero-based index of the active step */\n activeStepIndex: number;\n /** Steps to display in the wizard */\n steps: Step[];\n}\n\ntype HorizontalWizardProps = BaseWizardProps & {\n orientation: 'horizontal';\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: 'middle';\n};\n\ntype VerticalWizardProps = BaseWizardProps & {\n orientation: 'vertical';\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: 'top' | 'middle';\n};\n\ntype NonOrientationWizardProps = BaseWizardProps & {\n orientation: undefined;\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: never;\n};\n\ntype WizardProps =\n | HorizontalWizardProps\n | VerticalWizardProps\n | NonOrientationWizardProps;\n\nexport const Wizard = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n size = 'large',\n steps,\n activeStepIndex,\n orientation,\n htmlAttributes,\n alignment = orientation === 'vertical' ? 'top' : 'middle',\n ref,\n}: PolymorphicCommonProps<T, WizardProps>) => {\n useEffect(() => {\n if (activeStepIndex > steps.length - 1 || activeStepIndex < 0) {\n console.warn(\n `[🪡 Needle]: The activeStepIndex in Wizard is out of bounds. The activeStepIndex is ${activeStepIndex} and the number of steps is ${steps.length}.`,\n );\n }\n }, [activeStepIndex, steps.length]);\n\n switch (size) {\n case 'small':\n return (\n <WizardSmall\n as={as}\n orientation={orientation}\n style={style}\n className={className}\n steps={steps}\n activeStepIndex={activeStepIndex}\n ref={ref}\n htmlAttributes={htmlAttributes}\n alignment={alignment}\n />\n );\n case 'large':\n return (\n <WizardLarge\n as={as}\n orientation={orientation}\n style={style}\n className={className}\n steps={steps}\n activeStepIndex={activeStepIndex}\n ref={ref}\n htmlAttributes={htmlAttributes}\n alignment={alignment}\n />\n );\n }\n};\n\nconst getStatus = (activeStepIndex: number, stepIndex: number) =>\n stepIndex === activeStepIndex\n ? 'active'\n : activeStepIndex < stepIndex\n ? 'incomplete'\n : 'complete';\n\nconst WizardLarge = <T extends React.ElementType = 'div'>({\n orientation = 'horizontal',\n activeStepIndex,\n steps,\n as,\n style,\n className,\n htmlAttributes,\n alignment,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, Omit<WizardProps, 'size'>>) => {\n const Component: React.ElementType = as || 'div';\n\n const wizardClasses = classNames(\n 'ndl-wizard',\n 'ndl-wizard-large',\n {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n [`ndl-wizard-align-${alignment}`]: alignment,\n },\n className,\n );\n\n const componentStyle = {\n gridTemplateColumns:\n orientation === 'horizontal'\n ? `repeat(${steps.length}, 1fr)`\n : `32px 1fr`,\n\n gridTemplateRows:\n orientation === 'vertical' && `repeat(${steps.length}, 1fr)`,\n };\n\n const stepClasses = (index: number, step: Step) => {\n const status = getStatus(activeStepIndex, index);\n\n return classNames('ndl-wizard-step', {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-wizard-step-line-right': index < steps.length - 1,\n 'ndl-wizard-step-line-left': index > 0,\n 'ndl-wizard-step-complete': status === 'complete',\n 'ndl-wizard-step-active': status === 'active',\n 'ndl-wizard-step-error': step.status === 'error',\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n };\n\n return (\n <Component\n className={wizardClasses}\n style={{ ...style, ...componentStyle }}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {/* iterate over the steps to render the text content (the first row of the component)*/}\n {steps.map((step, index) => {\n if (typeof step.content === 'string') {\n const wizardStepClasses = classNames('ndl-wizard-step-text', {\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-horizontal': orientation === 'horizontal',\n [`ndl-wizard-align-${alignment}`]: alignment,\n 'ndl-wizard-step-incomplete':\n getStatus(activeStepIndex, index) === 'incomplete',\n });\n\n return (\n <div key={index} className={wizardStepClasses}>\n <Typography variant=\"body-large\">{step.content}</Typography>\n </div>\n );\n } else {\n return <React.Fragment key={index}>{step.content}</React.Fragment>;\n }\n })}\n {/* iterate over the steps to render the circles (iterates again to render the second row of the component) */}\n {steps.map((step, index) => {\n return (\n <div\n className={stepClasses(index, step)}\n key={index}\n style={{\n gridRow: orientation === 'vertical' ? index + 1 : '',\n }}\n >\n <Circle\n status={\n step.status === 'error'\n ? 'error'\n : getStatus(activeStepIndex, index)\n }\n number={index + 1}\n text={step.content}\n alignment={alignment}\n />\n </div>\n );\n })}\n </Component>\n );\n};\n\nexport const WizardSmall = <T extends React.ElementType = 'div'>({\n orientation = 'horizontal',\n activeStepIndex,\n steps,\n as,\n className,\n htmlAttributes,\n style,\n alignment = 'middle',\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, Omit<WizardProps, 'size'>>) => {\n const Component = as ?? 'div';\n\n const wizardClasses = classNames(\n 'ndl-wizard',\n 'ndl-wizard-small',\n {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n [`ndl-wizard-align-${alignment}`]: alignment,\n },\n className,\n );\n\n const stepClasses = (index: number) =>\n classNames('ndl-wizard-step', {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-wizard-step-active': getStatus(activeStepIndex, index) === 'active',\n 'ndl-wizard-step-complete':\n getStatus(activeStepIndex, index) === 'complete',\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n\n return (\n <Component\n className={wizardClasses}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n <div className=\"ndl-wizard-steps-line\" />\n {steps.map((step, index) => {\n return (\n <div key={index} className={stepClasses(index)}>\n <div className=\"ndl-wizard-circle\"></div>\n </div>\n );\n })}\n <div className=\"ndl-wizard-steps-line\" />\n </Component>\n );\n};\n\nconst Circle = ({\n status,\n number,\n alignment = 'middle',\n}: {\n status: 'active' | 'complete' | 'incomplete' | 'error';\n number: number;\n text: React.ReactNode;\n alignment?: 'top' | 'middle';\n}) => {\n const innerCircleClasses = classNames({\n 'n-fill-primary-bg-strong': status === 'complete' || status === 'active',\n 'n-fill-neutral-bg-stronger': status === 'incomplete',\n 'n-fill-danger-bg-strong': status === 'error',\n });\n const outerCircleClasses = classNames('ndl-wizard-circle', {\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n\n return (\n <div className={outerCircleClasses}>\n <svg>\n {status === 'active' && (\n <g>\n <circle\n className=\"n-stroke-primary-bg-strong\"\n style={{ fill: 'transparent', strokeWidth: 2 }}\n cx=\"16\"\n cy=\"16\"\n r=\"14\"\n />\n </g>\n )}\n\n <circle className={innerCircleClasses} cx=\"16\" cy=\"16\" r=\"12\" />\n <text\n x=\"50%\"\n y=\"50%\"\n fontSize={14}\n className=\"n-fill-neutral-bg-weak\"\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n dy=\"0.1em\"\n >\n {status === 'error' ? '!' : number}\n </text>\n </svg>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"Wizard.js","sourceRoot":"","sources":["../../../src/wizard/Wizard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport classNames from 'classnames';\nimport React, { useEffect } from 'react';\n\nimport { type PolymorphicCommonProps } from '../_common/types';\nimport { Typography } from '../typography';\n\ninterface Step {\n /** Content displayed as the step label */\n content: React.ReactNode;\n /** Explicit status for the step. When set to `error`, the step is rendered in an error state */\n status?: 'default' | 'error';\n}\n\ninterface BaseWizardProps {\n /** Layout orientation of the wizard */\n orientation?: 'horizontal' | 'vertical';\n /** Visual size of the wizard */\n size?: 'small' | 'large';\n /** Additional style */\n style?: React.CSSProperties;\n /** Additional class name */\n className?: string;\n /** Zero-based index of the active step */\n activeStepIndex: number;\n /** Steps to display in the wizard */\n steps: Step[];\n}\n\ntype HorizontalWizardProps = BaseWizardProps & {\n orientation: 'horizontal';\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: 'middle';\n};\n\ntype VerticalWizardProps = BaseWizardProps & {\n orientation: 'vertical';\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: 'top' | 'middle';\n};\n\ntype NonOrientationWizardProps = BaseWizardProps & {\n orientation: undefined;\n /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */\n alignment?: never;\n};\n\ntype WizardProps =\n | HorizontalWizardProps\n | VerticalWizardProps\n | NonOrientationWizardProps;\n\nexport const Wizard = <T extends React.ElementType = 'div'>({\n as,\n className,\n style,\n size = 'large',\n steps,\n activeStepIndex,\n orientation,\n htmlAttributes,\n alignment = orientation === 'vertical' ? 'top' : 'middle',\n ref,\n}: PolymorphicCommonProps<T, WizardProps>) => {\n useEffect(() => {\n if (activeStepIndex > steps.length - 1 || activeStepIndex < 0) {\n console.warn(\n `[🪡 Needle]: The activeStepIndex in Wizard is out of bounds. The activeStepIndex is ${activeStepIndex} and the number of steps is ${steps.length}.`,\n );\n }\n }, [activeStepIndex, steps.length]);\n\n switch (size) {\n case 'small':\n return (\n <WizardSmall\n as={as}\n orientation={orientation}\n style={style}\n className={className}\n steps={steps}\n activeStepIndex={activeStepIndex}\n ref={ref}\n htmlAttributes={htmlAttributes}\n alignment={alignment}\n />\n );\n case 'large':\n return (\n <WizardLarge\n as={as}\n orientation={orientation}\n style={style}\n className={className}\n steps={steps}\n activeStepIndex={activeStepIndex}\n ref={ref}\n htmlAttributes={htmlAttributes}\n alignment={alignment}\n />\n );\n }\n};\n\nconst getStatus = (activeStepIndex: number, stepIndex: number) =>\n stepIndex === activeStepIndex\n ? 'active'\n : activeStepIndex < stepIndex\n ? 'incomplete'\n : 'complete';\n\nconst WizardLarge = <T extends React.ElementType = 'div'>({\n orientation = 'horizontal',\n activeStepIndex,\n steps,\n as,\n style,\n className,\n htmlAttributes,\n alignment,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, Omit<WizardProps, 'size'>>) => {\n const Component: React.ElementType = as || 'div';\n\n const wizardClasses = classNames(\n 'ndl-wizard',\n 'ndl-wizard-large',\n {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n [`ndl-wizard-align-${alignment}`]: alignment,\n },\n className,\n );\n\n const componentStyle = {\n gridTemplateColumns:\n orientation === 'horizontal'\n ? `repeat(${steps.length}, 1fr)`\n : `32px 1fr`,\n\n gridTemplateRows:\n orientation === 'vertical' && `repeat(${steps.length}, 1fr)`,\n };\n\n const stepClasses = (index: number, step: Step) => {\n const status = getStatus(activeStepIndex, index);\n\n return classNames('ndl-wizard-step', {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-wizard-step-line-right': index < steps.length - 1,\n 'ndl-wizard-step-line-left': index > 0,\n 'ndl-wizard-step-complete': status === 'complete',\n 'ndl-wizard-step-active': status === 'active',\n 'ndl-wizard-step-error': step.status === 'error',\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n };\n\n return (\n <Component\n className={wizardClasses}\n style={{ ...style, ...componentStyle }}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {/* iterate over the steps to render the text content (the first row of the component)*/}\n {steps.map((step, index) => {\n if (typeof step.content === 'string') {\n const wizardStepClasses = classNames('ndl-wizard-step-text', {\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-horizontal': orientation === 'horizontal',\n [`ndl-wizard-align-${alignment}`]: alignment,\n 'ndl-wizard-step-incomplete':\n getStatus(activeStepIndex, index) === 'incomplete',\n });\n\n return (\n <div key={index} className={wizardStepClasses}>\n <Typography variant=\"body-large\">{step.content}</Typography>\n </div>\n );\n } else {\n return <React.Fragment key={index}>{step.content}</React.Fragment>;\n }\n })}\n {/* iterate over the steps to render the circles (iterates again to render the second row of the component) */}\n {steps.map((step, index) => {\n return (\n <div\n className={stepClasses(index, step)}\n key={index}\n style={{\n gridRow: orientation === 'vertical' ? index + 1 : '',\n }}\n >\n <Circle\n status={\n step.status === 'error'\n ? 'error'\n : getStatus(activeStepIndex, index)\n }\n number={index + 1}\n text={step.content}\n alignment={alignment}\n />\n </div>\n );\n })}\n </Component>\n );\n};\n\nexport const WizardSmall = <T extends React.ElementType = 'div'>({\n orientation = 'horizontal',\n activeStepIndex,\n steps,\n as,\n className,\n htmlAttributes,\n style,\n alignment = 'middle',\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, Omit<WizardProps, 'size'>>) => {\n const Component = as ?? 'div';\n\n const wizardClasses = classNames(\n 'ndl-wizard',\n 'ndl-wizard-small',\n {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n [`ndl-wizard-align-${alignment}`]: alignment,\n },\n className,\n );\n\n const stepClasses = (index: number) =>\n classNames('ndl-wizard-step', {\n 'ndl-horizontal': orientation === 'horizontal',\n 'ndl-vertical': orientation === 'vertical',\n 'ndl-wizard-step-active': getStatus(activeStepIndex, index) === 'active',\n 'ndl-wizard-step-complete':\n getStatus(activeStepIndex, index) === 'complete',\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n\n return (\n <Component\n className={wizardClasses}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n <div className=\"ndl-wizard-steps-line\" />\n {steps.map((step, index) => {\n return (\n <div key={index} className={stepClasses(index)}>\n <div className=\"ndl-wizard-circle\"></div>\n </div>\n );\n })}\n <div className=\"ndl-wizard-steps-line\" />\n </Component>\n );\n};\n\nconst Circle = ({\n status,\n number,\n alignment = 'middle',\n}: {\n status: 'active' | 'complete' | 'incomplete' | 'error';\n number: number;\n text: React.ReactNode;\n alignment?: 'top' | 'middle';\n}) => {\n const innerCircleClasses = classNames({\n 'n-fill-primary-bg-strong': status === 'complete' || status === 'active',\n 'n-fill-neutral-bg-stronger': status === 'incomplete',\n 'n-fill-danger-bg-strong': status === 'error',\n });\n const outerCircleClasses = classNames('ndl-wizard-circle', {\n [`ndl-wizard-align-${alignment}`]: alignment,\n });\n\n return (\n <div className={outerCircleClasses}>\n <svg aria-hidden=\"true\">\n {status === 'active' && (\n <g>\n <circle\n className=\"n-stroke-primary-bg-strong\"\n style={{ fill: 'transparent', strokeWidth: 2 }}\n cx=\"16\"\n cy=\"16\"\n r=\"14\"\n />\n </g>\n )}\n\n <circle className={innerCircleClasses} cx=\"16\" cy=\"16\" r=\"12\" />\n <text\n x=\"50%\"\n y=\"50%\"\n fontSize={14}\n className=\"n-fill-neutral-bg-weak\"\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n dy=\"0.1em\"\n >\n {status === 'error' ? '!' : number}\n </text>\n </svg>\n </div>\n );\n};\n"]}
@@ -41,6 +41,7 @@ const Presence = (_a) => {
41
41
  const { theme } = useNeedleTheme();
42
42
  const Component = theme === 'light' ? Neo4JAiColorLightIcon : Neo4JAiColorDarkIcon;
43
43
  return (_jsx(Component, Object.assign({ ref: ref, className: classes, style: style, htmlAttributes: htmlAttributes }, (isThinking === true && {
44
+ 'aria-hidden': 'false',
44
45
  'aria-label': 'Thinking',
45
46
  'aria-live': 'polite',
46
47
  role: 'status',
@@ -1 +1 @@
1
- {"version":3,"file":"Presence.js","sourceRoot":"","sources":["../../../../src/ai/presence/Presence.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AASpC,MAAM,QAAQ,GAAG,CAAC,EAOkB,EAAE,EAAE;QAPtB,EAChB,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,EACL,cAAc,EACd,GAAG,OAE+B,EAD/B,SAAS,cANI,6DAOjB,CADa;IAEZ,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE;QACvD,cAAc,EAAE,UAAU,KAAK,IAAI;KACpC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,MAAM,SAAS,GACb,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEnE,OAAO,CACL,KAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC1B,CAAC,UAAU,KAAK,IAAI,IAAI;QAC1B,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC,EACE,SAAS,EACb,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useNeedleTheme } from '@neo4j-ndl/react';\nimport {\n Neo4JAiColorDarkIcon,\n Neo4JAiColorLightIcon,\n} from '@neo4j-ndl/react/icons';\nimport classNames from 'classnames';\n\nimport type { CommonProps } from '../../_common/types';\n\ntype PresenceProps = {\n /** Whether the AI is thinking. Animates the underlying SVG */\n isThinking?: boolean;\n};\n\nconst Presence = ({\n className,\n isThinking = false,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'svg', PresenceProps>) => {\n const classes = classNames('ndl-ai-presence', className, {\n 'ndl-thinking': isThinking === true,\n });\n const { theme } = useNeedleTheme();\n\n const Component =\n theme === 'light' ? Neo4JAiColorLightIcon : Neo4JAiColorDarkIcon;\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...(isThinking === true && {\n 'aria-label': 'Thinking',\n 'aria-live': 'polite',\n role: 'status',\n })}\n {...restProps}\n />\n );\n};\n\nPresence.displayName = 'Presence';\n\nexport { Presence };\n"]}
1
+ {"version":3,"file":"Presence.js","sourceRoot":"","sources":["../../../../src/ai/presence/Presence.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AASpC,MAAM,QAAQ,GAAG,CAAC,EAOkB,EAAE,EAAE;QAPtB,EAChB,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,EACL,cAAc,EACd,GAAG,OAE+B,EAD/B,SAAS,cANI,6DAOjB,CADa;IAEZ,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE;QACvD,cAAc,EAAE,UAAU,KAAK,IAAI;KACpC,CAAC,CAAC;IACH,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEnC,MAAM,SAAS,GACb,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEnE,OAAO,CACL,KAAC,SAAS,kBACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC1B,CAAC,UAAU,KAAK,IAAI,IAAI;QAC1B,aAAa,EAAE,OAAO;QACtB,YAAY,EAAE,UAAU;QACxB,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;KACf,CAAC,EACE,SAAS,EACb,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { useNeedleTheme } from '@neo4j-ndl/react';\nimport {\n Neo4JAiColorDarkIcon,\n Neo4JAiColorLightIcon,\n} from '@neo4j-ndl/react/icons';\nimport classNames from 'classnames';\n\nimport type { CommonProps } from '../../_common/types';\n\ntype PresenceProps = {\n /** Whether the AI is thinking. Animates the underlying SVG */\n isThinking?: boolean;\n};\n\nconst Presence = ({\n className,\n isThinking = false,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'svg', PresenceProps>) => {\n const classes = classNames('ndl-ai-presence', className, {\n 'ndl-thinking': isThinking === true,\n });\n const { theme } = useNeedleTheme();\n\n const Component =\n theme === 'light' ? Neo4JAiColorLightIcon : Neo4JAiColorDarkIcon;\n\n return (\n <Component\n ref={ref}\n className={classes}\n style={style}\n htmlAttributes={htmlAttributes}\n {...(isThinking === true && {\n 'aria-hidden': 'false',\n 'aria-label': 'Thinking',\n 'aria-live': 'polite',\n role: 'status',\n })}\n {...restProps}\n />\n );\n};\n\nPresence.displayName = 'Presence';\n\nexport { Presence };\n"]}
@@ -85,7 +85,7 @@ const BannerComponent = (_a) => {
85
85
  onClose(e);
86
86
  }
87
87
  };
88
- return (_jsxs(Element, Object.assign({ className: classes, role: isAlert ? (isCloseable ? 'alertdialog' : 'alert') : undefined, ref: ref }, restProps, htmlAttributes, { children: [hasIcon && _jsx(StatusIcon, { variant: variant }), _jsx("div", { className: "ndl-banner-content", children: children }), isCloseable && (_jsx(CleanIconButton, { size: "small", onClick: handleClose, description: "Close", children: _jsx(XMarkIconOutline, {}) }))] })));
88
+ return (_jsxs(Element, Object.assign({ className: classes, role: isAlert ? 'alert' : undefined, ref: ref }, restProps, htmlAttributes, { children: [hasIcon && _jsx(StatusIcon, { variant: variant }), _jsx("div", { className: "ndl-banner-content", children: children }), isCloseable && (_jsx(CleanIconButton, { size: "small", onClick: handleClose, description: "Close", children: _jsx(XMarkIconOutline, {}) }))] })));
89
89
  };
90
90
  const Banner = Object.assign(BannerComponent, {
91
91
  Actions: BannerActions,
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/banner/Banner.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { CleanIconButton } from '../clean-icon-button';\nimport {\n BoltIconOutline,\n CheckCircleIconSolid,\n ExclamationCircleIconSolid,\n ExclamationTriangleIconSolid,\n InformationCircleIconSolid,\n XMarkIconOutline,\n} from '../icons';\nimport { Typography } from '../typography';\n/**\n *\n *\n * Types\n *\n *\n */\n\ntype BannerCommonProps = {\n /** Shows a status icon. The icon is based on the value of the `variant` prop */\n hasIcon?: boolean;\n\n /** Content to be shown in the banner. */\n children?: React.ReactNode;\n\n /** Sets the role to alert or alertdialog, based on the value of `isCloseable` */\n isAlert?: boolean;\n\n /** How the banner is used. */\n usage?: 'inline' | 'global';\n\n /** The variant of the banner */\n variant?: BannerVariant;\n};\n\ntype CloseableBannerProps = {\n /** If the banner is closeable. Renders an icon button in the top right corner */\n isCloseable: true;\n\n /** Event handler for when the close icon is clicked */\n onClose: (\n e?: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n ) => void;\n};\n\ntype NonCloseableBannerProps = {\n isCloseable?: false;\n onClose?: never;\n};\n\ntype BannerCloseProps = CloseableBannerProps | NonCloseableBannerProps;\n\ntype BannerProps = BannerCommonProps & BannerCloseProps;\ntype BannerVariant = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\n\nconst StatusIcon = ({ variant }: { variant: BannerVariant }) => {\n const iconComponent = (() => {\n switch (variant) {\n case 'success':\n return <CheckCircleIconSolid />;\n case 'warning':\n return <ExclamationTriangleIconSolid />;\n case 'danger':\n return <ExclamationCircleIconSolid />;\n case 'info':\n return <InformationCircleIconSolid />;\n case 'neutral':\n return <BoltIconOutline />;\n default:\n return null;\n }\n })();\n\n return <div className=\"ndl-banner-status-icon\">{iconComponent}</div>;\n};\n\nconst BannerHeader = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'span', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-header', className);\n return (\n <Typography\n as=\"span\"\n variant=\"title-4\"\n className={classes}\n style={style}\n ref={ref}\n htmlAttributes={htmlAttributes}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\nconst BannerDescription = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-description', className);\n return (\n <Typography\n as=\"div\"\n variant=\"body-medium\"\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </Typography>\n );\n};\n\nconst BannerActions = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-actions', className);\n return (\n <div\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nconst BannerComponent = <T extends React.ElementType = 'section'>({\n as,\n variant = 'info',\n hasIcon = false,\n onClose,\n className,\n children,\n isCloseable = false,\n usage = 'inline',\n htmlAttributes,\n isAlert = false,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, BannerProps>) => {\n const Element: React.ElementType = as ?? 'section';\n\n const classes = classNames('ndl-banner', className, {\n 'ndl-danger': variant === 'danger',\n 'ndl-global': usage === 'global',\n 'ndl-info': variant === 'info',\n 'ndl-inline': usage === 'inline',\n 'ndl-neutral': variant === 'neutral',\n 'ndl-success': variant === 'success',\n 'ndl-warning': variant === 'warning',\n });\n\n const handleClose = (\n e:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>,\n ) => {\n if (onClose && typeof onClose === 'function') {\n onClose(e);\n }\n };\n\n return (\n <Element\n className={classes}\n role={isAlert ? (isCloseable ? 'alertdialog' : 'alert') : undefined}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {hasIcon && <StatusIcon variant={variant} />}\n <div className=\"ndl-banner-content\">{children}</div>\n {isCloseable && (\n <CleanIconButton size=\"small\" onClick={handleClose} description=\"Close\">\n <XMarkIconOutline />\n </CleanIconButton>\n )}\n </Element>\n );\n};\n\nconst Banner = Object.assign(BannerComponent, {\n Actions: BannerActions,\n Description: BannerDescription,\n Header: BannerHeader,\n});\n\nexport { Banner };\n"]}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/banner/Banner.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport classNames from 'classnames';\nimport type React from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { CleanIconButton } from '../clean-icon-button';\nimport {\n BoltIconOutline,\n CheckCircleIconSolid,\n ExclamationCircleIconSolid,\n ExclamationTriangleIconSolid,\n InformationCircleIconSolid,\n XMarkIconOutline,\n} from '../icons';\nimport { Typography } from '../typography';\n/**\n *\n *\n * Types\n *\n *\n */\n\ntype BannerCommonProps = {\n /** Shows a status icon. The icon is based on the value of the `variant` prop */\n hasIcon?: boolean;\n\n /** Content to be shown in the banner. */\n children?: React.ReactNode;\n\n /** Sets the role to alert or alertdialog, based on the value of `isCloseable` */\n isAlert?: boolean;\n\n /** How the banner is used. */\n usage?: 'inline' | 'global';\n\n /** The variant of the banner */\n variant?: BannerVariant;\n};\n\ntype CloseableBannerProps = {\n /** If the banner is closeable. Renders an icon button in the top right corner */\n isCloseable: true;\n\n /** Event handler for when the close icon is clicked */\n onClose: (\n e?: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n ) => void;\n};\n\ntype NonCloseableBannerProps = {\n isCloseable?: false;\n onClose?: never;\n};\n\ntype BannerCloseProps = CloseableBannerProps | NonCloseableBannerProps;\n\ntype BannerProps = BannerCommonProps & BannerCloseProps;\ntype BannerVariant = 'info' | 'success' | 'warning' | 'danger' | 'neutral';\n\nconst StatusIcon = ({ variant }: { variant: BannerVariant }) => {\n const iconComponent = (() => {\n switch (variant) {\n case 'success':\n return <CheckCircleIconSolid />;\n case 'warning':\n return <ExclamationTriangleIconSolid />;\n case 'danger':\n return <ExclamationCircleIconSolid />;\n case 'info':\n return <InformationCircleIconSolid />;\n case 'neutral':\n return <BoltIconOutline />;\n default:\n return null;\n }\n })();\n\n return <div className=\"ndl-banner-status-icon\">{iconComponent}</div>;\n};\n\nconst BannerHeader = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'span', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-header', className);\n return (\n <Typography\n as=\"span\"\n variant=\"title-4\"\n className={classes}\n style={style}\n ref={ref}\n htmlAttributes={htmlAttributes}\n {...restProps}\n >\n {children}\n </Typography>\n );\n};\n\nconst BannerDescription = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-description', className);\n return (\n <Typography\n as=\"div\"\n variant=\"body-medium\"\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </Typography>\n );\n};\n\nconst BannerActions = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', { children: React.ReactNode }>) => {\n const classes = classNames('ndl-banner-actions', className);\n return (\n <div\n className={classes}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nconst BannerComponent = <T extends React.ElementType = 'section'>({\n as,\n variant = 'info',\n hasIcon = false,\n onClose,\n className,\n children,\n isCloseable = false,\n usage = 'inline',\n htmlAttributes,\n isAlert = false,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, BannerProps>) => {\n const Element: React.ElementType = as ?? 'section';\n\n const classes = classNames('ndl-banner', className, {\n 'ndl-danger': variant === 'danger',\n 'ndl-global': usage === 'global',\n 'ndl-info': variant === 'info',\n 'ndl-inline': usage === 'inline',\n 'ndl-neutral': variant === 'neutral',\n 'ndl-success': variant === 'success',\n 'ndl-warning': variant === 'warning',\n });\n\n const handleClose = (\n e:\n | React.MouseEvent<HTMLElement, MouseEvent>\n | React.KeyboardEvent<HTMLElement>,\n ) => {\n if (onClose && typeof onClose === 'function') {\n onClose(e);\n }\n };\n\n return (\n <Element\n className={classes}\n role={isAlert ? 'alert' : undefined}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {hasIcon && <StatusIcon variant={variant} />}\n <div className=\"ndl-banner-content\">{children}</div>\n {isCloseable && (\n <CleanIconButton size=\"small\" onClick={handleClose} description=\"Close\">\n <XMarkIconOutline />\n </CleanIconButton>\n )}\n </Element>\n );\n};\n\nconst Banner = Object.assign(BannerComponent, {\n Actions: BannerActions,\n Description: BannerDescription,\n Header: BannerHeader,\n});\n\nexport { Banner };\n"]}
@@ -311,7 +311,7 @@ const TableResults = (_a) => {
311
311
  if (isSmallNavigation) {
312
312
  return null;
313
313
  }
314
- return (_jsx(Skeleton, Object.assign({ as: "span", onBackground: "weak", shape: "rectangular" }, skeletonProps, { isLoading: isSkeletonLoading, children: _jsx("span", Object.assign({ ref: ref, style: style, className: classNames('ndl-data-grid-results', className) }, restProps, htmlAttributes, { children: children || (_jsxs("span", { children: ["Showing", ' ', _jsx("b", { children: totalRows ? `${from}${to !== from ? `-${to}` : ''}` : 0 }), " of", ' ', _jsx("b", { children: totalRows }), " ", resultsLabel] })) })) })));
314
+ return (_jsx(Skeleton, Object.assign({ as: "span", onBackground: "weak", shape: "rectangular" }, skeletonProps, { isLoading: isSkeletonLoading, children: _jsx("span", Object.assign({ ref: ref, style: style, className: classNames('ndl-data-grid-results', className) }, restProps, htmlAttributes, { children: children || (_jsxs("span", { children: ["Showing", ' ', _jsx("span", { className: "n-font-bold", children: totalRows ? `${from}${to !== from ? `-${to}` : ''}` : 0 }), ' ', "of ", _jsx("span", { className: "n-font-bold", children: totalRows }), " ", resultsLabel] })) })) })));
315
315
  };
316
316
  const RowsPerPage = (_a) => {
317
317
  var { portalTarget: portalTargetProp, children, className, style, htmlAttributes, ref } = _a, restProps = __rest(_a, ["portalTarget", "children", "className", "style", "htmlAttributes", "ref"]);
@@ -1 +1 @@
1
- {"version":3,"file":"Components.js","sourceRoot":"","sources":["../../../src/data-grid/Components.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { useMergeRefs } from '@floating-ui/react';\nimport {\n type Cell,\n type CellContext,\n flexRender,\n type Header as HeaderType,\n type Row,\n type RowData,\n type SortDirection,\n} from '@tanstack/react-table';\nimport classNames from 'classnames';\nimport type React from 'react';\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { CleanIconButton } from '../clean-icon-button';\nimport {\n Bars3CenterLeftIconOutline,\n BarsArrowDownIconOutline,\n BarsArrowUpIconOutline,\n ChevronDownIconSolid,\n ChevronLeftIconOutline,\n ChevronRightIconOutline,\n DataGridCrossIcon,\n EllipsisHorizontalIconOutline,\n} from '../icons';\nimport { LoadingSpinner } from '../loading-spinner';\nimport { Menu } from '../menu';\nimport { Select } from '../select';\nimport { Skeleton } from '../skeleton';\nimport { Typography } from '../typography';\nimport { useDataGridContext } from './data-grid-context';\nimport { type ColumnAction } from './datagrid-types';\nimport {\n resizeColumn,\n ResizeDirection,\n userFriendlyPagination,\n} from './helpers';\n\n/** Table results per page, with the first option being the default */\nconst TABLE_RESULTS = {\n DEFAULT: 10,\n values: [10, 25, 50, 100],\n} as const;\n\ntype paginationOption = {\n value: number;\n label: string;\n};\n\nconst getPaginationOptions = (pageSize: number): paginationOption[] => {\n return [...new Set([...TABLE_RESULTS.values, pageSize])]\n .sort((a, b) => a - b)\n .map((option) => ({\n label: `${option}`,\n value: option,\n }));\n};\n\nexport const DEFAULT_SORT_ACTIONS: (cell: HeaderType<any, unknown>) => {\n [key in SortDirection | 'default']: ColumnAction;\n} = (cell) => ({\n asc: {\n icon: <BarsArrowUpIconOutline />,\n onClick: () => cell.column.toggleSorting(false),\n title: 'Sort ascending',\n },\n default: {\n icon: <Bars3CenterLeftIconOutline />,\n onClick: () => cell.column.clearSorting(),\n title: 'Default sort',\n },\n desc: {\n icon: <BarsArrowDownIconOutline />,\n onClick: () => cell.column.toggleSorting(true),\n title: 'Sort descending',\n },\n});\n\ntype ResizingBarProps<T extends RowData> = {\n header: HeaderType<T, unknown>;\n};\n\nconst ResizingBar = <T extends RowData>({\n header,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'button', ResizingBarProps<T>>) => {\n const { isKeyboardNavigationEnabled } = useDataGridContext<T>();\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n resizeColumn(ResizeDirection.LEFT, header);\n } else if (event.key === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n resizeColumn(ResizeDirection.RIGHT, header);\n }\n };\n\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames('ndl-data-grid-resizer', className, {\n 'ndl-data-grid-is-resizing': header.column.getIsResizing(),\n })}\n style={style}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n onKeyDown={handleKeyDown}\n aria-label=\"Resizing bar\"\n tabIndex={isKeyboardNavigationEnabled ? -1 : 0}\n {...restProps}\n {...htmlAttributes}\n />\n );\n};\n\ntype ScrollableProps = {\n children?: React.ReactNode;\n};\n\nconst Scrollable = ({\n children,\n ref,\n className,\n style,\n htmlAttributes,\n ...restProps\n}: CommonProps<'div', ScrollableProps> & {\n ref: React.RefObject<HTMLDivElement | null>;\n}) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-scrollable', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\ntype HeaderProps = {\n children?: React.ReactNode;\n};\n\nconst Header = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderProps>) => {\n const { tableProps, components } = useDataGridContext();\n const { getHeaderGroups, getState } = tableProps;\n\n return (\n <div\n role=\"rowgroup\"\n className={classNames('ndl-data-grid-thead', className, {\n 'ndl-data-grid-is-resizing':\n getState().columnSizingInfo.isResizingColumn,\n })}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {getHeaderGroups().map((headerGroup) => (\n <div key={headerGroup.id} className=\"ndl-data-grid-tr\" role=\"row\">\n {headerGroup.headers.map(\n (header) =>\n components.HeaderCell && (\n <components.HeaderCell key={header.id} cell={header} />\n ),\n )}\n </div>\n ))}\n </>\n )}\n </div>\n );\n};\n\ntype ActionButtonProps = {\n action: ColumnAction;\n onClose: () => void;\n};\n\nexport const ActionButton = <T extends React.ElementType = 'button'>({\n action,\n onClose,\n as,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, ActionButtonProps>) => {\n const { onClick, ...restAction } = action;\n\n const interceptedOnClick = useCallback(\n (e: any) => {\n const providedOnClick = onClick ?? action.onClick;\n if (typeof providedOnClick === 'function') {\n providedOnClick(e);\n }\n onClose?.();\n },\n [action.onClick, onClick, onClose],\n );\n\n return (\n <Menu.Item\n onClick={interceptedOnClick}\n as={as}\n className={className}\n style={style}\n htmlAttributes={htmlAttributes}\n ref={ref}\n {...restAction}\n {...restProps}\n />\n );\n};\n\nexport interface ActionCellProps<T extends RowData> {\n cell?: CellContext<T, unknown>;\n innerCleanIconButtonProps?: Partial<\n React.ComponentPropsWithoutRef<typeof CleanIconButton>\n >;\n innerMenuProps?: Partial<React.ComponentProps<typeof Menu>>;\n}\n\nconst ActionCell = <T extends RowData>({\n cell,\n innerCleanIconButtonProps,\n innerMenuProps,\n}: ActionCellProps<T>) => {\n const { components, isSkeletonLoading, portalTarget } =\n useDataGridContext<T>();\n const actionsButtonRef = useRef<HTMLButtonElement>(null);\n const [isActionsOpen, setIsActionsOpen] = useState(false);\n\n if (\n !cell ||\n !cell.column.columnDef.meta ||\n typeof cell.column.columnDef?.meta?.isActionCell !== 'object'\n ) {\n return null;\n }\n\n const { actions, onOpenChange } = cell.column.columnDef.meta.isActionCell;\n\n if (isSkeletonLoading) {\n return null;\n }\n\n return (\n <>\n <CleanIconButton\n as=\"button\"\n size=\"medium\"\n description=\"Actions\"\n ref={actionsButtonRef}\n isActive={isActionsOpen}\n onClick={() => {\n onOpenChange?.(!isActionsOpen);\n setIsActionsOpen(!isActionsOpen);\n }}\n {...innerCleanIconButtonProps}\n htmlAttributes={{\n tabIndex: 0,\n ...innerCleanIconButtonProps?.htmlAttributes,\n }}\n >\n {innerCleanIconButtonProps?.children || (\n <EllipsisHorizontalIconOutline />\n )}\n </CleanIconButton>\n <Menu\n isOpen={isActionsOpen}\n anchorRef={actionsButtonRef}\n onClose={() => {\n onOpenChange?.(false);\n setIsActionsOpen(false);\n }}\n {...innerMenuProps}\n portalTarget={portalTarget}\n >\n {innerMenuProps?.children || (\n <Menu.Items>\n {actions.map(\n (action, i) =>\n components.ActionButton && (\n <components.ActionButton\n key={`${cell.column.id}-action-${i}`}\n action={{\n ...action,\n onClick: (e) => {\n action.onClick?.(e, cell);\n },\n }}\n onClose={() => setIsActionsOpen(false)}\n />\n ),\n )}\n </Menu.Items>\n )}\n </Menu>\n </>\n );\n};\n\ntype ColumnControlsProps<T extends RowData> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nexport const ColumnControls = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ColumnControlsProps<T>>) => {\n const { components, portalTarget } = useDataGridContext();\n\n const sort = cell.column.getIsSorted();\n const canSort = cell.column.getCanSort();\n const { hasDefaultSortingActions = true, actions } =\n cell.column.columnDef.meta?.columnActions || {};\n\n const sortingActions = useMemo(() => {\n if (canSort) {\n if (sort !== 'asc' && sort !== 'desc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).asc,\n DEFAULT_SORT_ACTIONS(cell).desc,\n ];\n }\n if (sort === 'asc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).default,\n DEFAULT_SORT_ACTIONS(cell).desc,\n ];\n }\n if (sort === 'desc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).default,\n DEFAULT_SORT_ACTIONS(cell).asc,\n ];\n }\n }\n // Default case\n return [];\n }, [sort, cell, canSort]);\n\n const newActions: ColumnAction[] = [\n ...(hasDefaultSortingActions ? sortingActions : []),\n ...(actions ?? []),\n ];\n\n const actionsButtonRef = useRef<HTMLButtonElement>(null);\n const [isActionsOpen, setIsActionsOpen] = useState(false);\n\n if (!actions || actions.length === 0) {\n return null;\n }\n\n return newActions.length > 0 ? (\n <div\n ref={ref}\n className={classNames('ndl-header-action-group', className)}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <Fragment>\n <CleanIconButton\n size=\"small\"\n description=\"Actions\"\n ref={actionsButtonRef}\n isActive={isActionsOpen}\n onClick={() => {\n setIsActionsOpen(!isActionsOpen);\n }}\n htmlAttributes={{\n tabIndex: 0,\n }}\n >\n <ChevronDownIconSolid />\n </CleanIconButton>\n <Menu\n isOpen={isActionsOpen}\n anchorRef={actionsButtonRef}\n onClose={() => setIsActionsOpen(false)}\n portalTarget={portalTarget}\n >\n <Menu.Items>\n {newActions.map(\n (action, i) =>\n components.ActionButton && (\n <components.ActionButton\n key={`${cell.column.id}-action-${i}`}\n action={action}\n onClose={() => setIsActionsOpen(false)}\n />\n ),\n )}\n </Menu.Items>\n </Menu>\n </Fragment>\n )}\n </div>\n ) : null;\n};\n\ntype HeaderCellProps<T> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst HeaderCell = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderCellProps<T>>) => {\n const { components, isResizable, isKeyboardNavigationEnabled } =\n useDataGridContext<T>();\n\n const sort = cell.column.getIsSorted();\n const canSort = cell.column.getCanSort();\n\n const ariaSortRole = useMemo(() => {\n switch (sort) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n default:\n return 'none';\n }\n }, [sort]);\n\n const Icon = useMemo(() => {\n switch (sort) {\n case 'asc':\n return <BarsArrowUpIconOutline className=\"ndl-header-icon\" />;\n case 'desc':\n return <BarsArrowDownIconOutline className=\"ndl-header-icon\" />;\n default:\n return (\n <Bars3CenterLeftIconOutline className=\"ndl-hoverable-indicator ndl-header-icon\" />\n );\n }\n }, [sort]);\n\n const ariaDescription = useMemo(() => {\n return canSort\n ? `Press ENTER or SPACE to sort column ${cell.column.id}`\n : `Column id: ${cell.column.id}`;\n }, [canSort, cell.column.id]);\n\n const isActionColumn = useMemo(\n () => typeof cell.column.columnDef.meta?.isActionCell === 'object',\n [cell.column.columnDef.meta],\n );\n\n const Tag = canSort ? 'button' : 'div';\n\n const InnerHeaderCell = () => (\n <div className=\"ndl-header-cell\">\n {cell.isPlaceholder\n ? null\n : flexRender(cell.column.columnDef.header, cell.getContext())}\n {canSort && Icon}\n </div>\n );\n\n return (\n <div\n ref={ref}\n tabIndex={isKeyboardNavigationEnabled && !isActionColumn ? 0 : undefined}\n key={cell.id}\n role=\"columnheader\"\n className={classNames('ndl-data-grid-th', className, {\n 'ndl-focusable-cell': isKeyboardNavigationEnabled,\n 'ndl-data-grid-row-action': isActionColumn,\n 'ndl-data-grid-pinned-cell': cell.column.getIsPinned(),\n 'ndl-data-grid-pinned-cell-right':\n cell.column.getIsPinned() === 'right',\n 'ndl-data-grid-pinned-cell-left': cell.column.getIsPinned() === 'left',\n 'ndl-data-grid-is-resizing': cell.column.getIsResizing(),\n })}\n aria-sort={ariaSortRole}\n style={{\n ...style,\n width: isActionColumn ? 40 : cell.getSize(),\n maxWidth: cell.column.columnDef.maxSize\n ? `${cell.column.columnDef.maxSize}px`\n : 'none',\n }}\n {...(isKeyboardNavigationEnabled\n ? {\n onKeyDown: (e) => {\n if (\n isResizable &&\n e.altKey &&\n (e.key === 'ArrowLeft' || e.key === 'ArrowRight')\n ) {\n const direction =\n e.key === 'ArrowLeft'\n ? ResizeDirection.LEFT\n : ResizeDirection.RIGHT;\n resizeColumn(direction, cell);\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n },\n }\n : {})}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n <Tag\n className=\"ndl-header-group\"\n style={{\n cursor: canSort ? 'pointer' : 'default',\n }}\n aria-description={ariaDescription}\n onClick={() => canSort && cell.column.toggleSorting()}\n tabIndex={canSort ? 0 : undefined}\n >\n {components.HeaderTitle ? (\n <components.HeaderTitle cell={cell}>\n <InnerHeaderCell />\n </components.HeaderTitle>\n ) : (\n <InnerHeaderCell />\n )}\n </Tag>\n {/* Column actions*/}\n {components.ColumnControls && (\n <components.ColumnControls cell={cell} />\n )}\n {/* Resizer*/}\n {isResizable &&\n cell.column.getCanResize() &&\n components.ResizingBar && <components.ResizingBar header={cell} />}\n </>\n )}\n </div>\n );\n};\n\ntype HeaderTitleProps<T> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst HeaderTitle = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderTitleProps<T>>) => {\n const { column, id } = cell;\n const title =\n typeof column.columnDef.header === 'string' ? column.columnDef.header : id;\n return (\n <div\n ref={ref}\n className={className}\n title={title}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\ntype BodyProps = {\n children?: React.ReactNode;\n};\n\nconst Body = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyProps>) => {\n const { tableProps, components, isLoading } = useDataGridContext();\n const { getRowModel } = tableProps;\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-tbody', className)}\n role=\"rowgroup\"\n aria-busy={isLoading ? 'true' : 'false'}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {isLoading && components.LoadingPlaceholder && (\n <components.LoadingPlaceholder />\n )}\n\n {!isLoading &&\n getRowModel().rows.length === 0 &&\n components.NoDataPlaceholder && <components.NoDataPlaceholder />}\n\n {!isLoading &&\n getRowModel().rows.map(\n (row, idx) =>\n components.BodyRow && (\n <components.BodyRow key={`table-row-${idx}`} row={row} />\n ),\n )}\n </>\n )}\n </div>\n );\n};\n\ntype BodyCellProps<T extends RowData> = {\n cell: Cell<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst BodyCell = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyCellProps<T>>) => {\n const isResizing = cell.column.getIsResizing();\n\n const isActionColumn = Boolean(cell.column.columnDef.meta?.isActionCell);\n const isInlineEditCell = Boolean(\n cell.column.columnDef.meta?.isInlineEditCell,\n );\n const isDropDownCell = Boolean(cell.column.columnDef.meta?.isDropDownCell);\n const isCustomCell = isActionColumn || isDropDownCell;\n const { isKeyboardNavigationEnabled, isSkeletonLoading, skeletonProps } =\n useDataGridContext();\n return (\n <div\n ref={ref}\n key={cell.id}\n className={classNames('ndl-data-grid-td', className, {\n 'ndl-focusable-cell': isKeyboardNavigationEnabled,\n 'ndl-data-grid-is-resizing': isResizing,\n 'ndl-data-grid-custom-cell': isCustomCell,\n 'ndl-data-grid-row-action': isActionColumn,\n 'ndl-data-grid-inline-edit': isInlineEditCell,\n 'ndl-data-grid-dropdown-cell': isDropDownCell,\n 'ndl-data-grid-pinned-cell': cell.column.getIsPinned(),\n 'ndl-data-grid-pinned-cell-right':\n cell.column.getIsPinned() === 'right',\n 'ndl-data-grid-pinned-cell-left': cell.column.getIsPinned() === 'left',\n })}\n role=\"cell\"\n tabIndex={isKeyboardNavigationEnabled ? 0 : undefined}\n style={{\n ...style,\n width: isActionColumn ? 40 : cell.column.getSize(),\n }}\n {...restProps}\n {...htmlAttributes}\n >\n <Skeleton\n onBackground=\"weak\"\n shape=\"rectangular\"\n width=\"100%\"\n {...skeletonProps}\n isLoading={isSkeletonLoading && !isActionColumn}\n >\n {children || flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Skeleton>\n </div>\n );\n};\n\ntype BodyRowProps<T extends RowData> = {\n row: Row<T>;\n children?: React.ReactNode;\n};\n\nconst BodyRow = <T extends RowData>({\n row,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyRowProps<T>>) => {\n const { components } = useDataGridContext<T>();\n\n return (\n <div\n key={row.id}\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-tr', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {row\n .getVisibleCells()\n .map(\n (cell) =>\n components.BodyCell && (\n <components.BodyCell key={cell.id} cell={cell} />\n ),\n )}\n </>\n )}\n </div>\n );\n};\n\ntype TableResultProps = {\n manualPagination?: {\n from: number;\n to: number;\n totalRows: number;\n };\n children?: React.ReactNode;\n /**\n * The label to use for the results, meaning the word \"results\" in the sentence \"Showing X-Y of Z results\".\n * @defaultValue 'results'\n */\n resultsLabel?: string;\n};\n\nconst TableResults = ({\n manualPagination,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n resultsLabel = 'results',\n ...restProps\n}: CommonProps<'span', TableResultProps>) => {\n const { tableProps, isSkeletonLoading, skeletonProps, isSmallNavigation } =\n useDataGridContext();\n const { getState, getRowModel, getCoreRowModel } = tableProps;\n const {\n pagination: { pageSize, pageIndex },\n } = getState();\n const { rows } = getRowModel();\n\n const { from, to, totalRows } = useMemo(\n () =>\n manualPagination || {\n from: 1 + pageIndex * pageSize,\n to: rows.length + pageIndex * pageSize,\n totalRows: getCoreRowModel().rows.length,\n },\n [pageIndex, pageSize, manualPagination, rows, getCoreRowModel],\n );\n\n if (isSmallNavigation) {\n return null;\n }\n\n return (\n <Skeleton\n as=\"span\"\n onBackground=\"weak\"\n shape=\"rectangular\"\n {...skeletonProps}\n isLoading={isSkeletonLoading}\n >\n <span\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-results', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <span>\n Showing{' '}\n <b>{totalRows ? `${from}${to !== from ? `-${to}` : ''}` : 0}</b> of{' '}\n <b>{totalRows}</b> {resultsLabel}\n </span>\n )}\n </span>\n </Skeleton>\n );\n};\n\ntype RowsPerPageProps = {\n /**\n * The target element to portal the menu of the select component to.\n * Should be document.body normally, or the modal root if the select is inside a modal.\n * Defaults to the portalTarget prop of the DataGrid root component.\n */\n portalTarget?: HTMLElement | null;\n children?: React.ReactNode;\n};\n\nconst RowsPerPage = ({\n portalTarget: portalTargetProp,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', RowsPerPageProps>) => {\n const { tableProps, portalTarget } = useDataGridContext();\n\n const { setPageSize, getState } = tableProps;\n\n const {\n pagination: { pageSize },\n } = getState();\n\n const paginationOptions = getPaginationOptions(pageSize);\n const defaultPaginationOption = paginationOptions.find(\n (option) => option.value === pageSize,\n );\n\n const menuPortalTarget =\n portalTargetProp === undefined ? portalTarget : portalTargetProp;\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-rows-per-page', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n Show\n <Select\n type=\"select\"\n size=\"medium\"\n ariaLabel=\"Select page size\"\n selectProps={{\n defaultValue: defaultPaginationOption,\n isSearchable: false,\n menuPortalTarget: menuPortalTarget,\n menuPosition: 'fixed',\n onChange: (option) => {\n if (option) {\n setPageSize(option.value);\n }\n },\n options: paginationOptions,\n styles: {\n container: () => ({\n width: '100%',\n }),\n },\n }}\n />\n </>\n )}\n </div>\n );\n};\n\ntype PaginationArrowButtonProps = {\n action: 'previous' | 'next';\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nconst PaginationArrowButton = ({\n action,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'button', PaginationArrowButtonProps>) => {\n const PaginationIcon =\n action === 'previous' ? ChevronLeftIconOutline : ChevronRightIconOutline;\n const ariaLabel = action === 'previous' ? 'Previous page' : 'Next page';\n const classes = classNames('ndl-data-grid-pagination-icon-button', className);\n\n return (\n <CleanIconButton\n ref={ref}\n style={style}\n className={classes}\n description={ariaLabel}\n htmlAttributes={htmlAttributes}\n {...restProps}\n >\n {children || <PaginationIcon />}\n </CleanIconButton>\n );\n};\n\ntype PaginationNumericButtonProps = {\n currentIndex: number | string;\n isSelected: boolean;\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nconst PaginationNumericButton = ({\n currentIndex,\n isSelected,\n children,\n className,\n style,\n htmlAttributes,\n onClick,\n ref,\n ...restProps\n}: CommonProps<'button', PaginationNumericButtonProps>) => {\n return (\n <button\n ref={ref}\n style={style}\n type=\"button\"\n data-testid={`ndl-table-${currentIndex}`}\n className={classNames(\n 'ndl-data-grid-pagination-numeric-button',\n className,\n {\n 'ndl-is-selected': isSelected,\n 'ndl-not-selected': !isSelected,\n 'ndl-not-selected-numeric':\n typeof currentIndex === 'number' && !isSelected,\n },\n )}\n onClick={(e) => typeof currentIndex === 'number' && onClick && onClick(e)}\n tabIndex={typeof currentIndex === 'number' ? 0 : -1}\n {...restProps}\n {...htmlAttributes}\n >\n {children || currentIndex}\n </button>\n );\n};\n\nconst PaginationNumericButtons = () => {\n const { tableProps, components } = useDataGridContext();\n const { getState, setPageIndex, getPageCount } = tableProps;\n const {\n pagination: { pageIndex },\n } = getState();\n\n return (\n <>\n {userFriendlyPagination(pageIndex + 1, getPageCount()).map(\n (option, idx) =>\n components.PaginationNumericButton && (\n <components.PaginationNumericButton\n /** Use index to avoid situations where two \"...\" values will appear, causing a key conflict */\n key={`${option}-${idx}`}\n onClick={() =>\n typeof option === 'number' && setPageIndex(option - 1)\n }\n currentIndex={option}\n isSelected={option === pageIndex + 1}\n />\n ),\n )}\n </>\n );\n};\n\ntype PaginationProps = {\n children?: React.ReactNode;\n};\n\nconst Pagination = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'nav', PaginationProps>) => {\n const { tableProps, components, isMediumNavigation } = useDataGridContext();\n\n const { getCanPreviousPage, getCanNextPage, previousPage, nextPage } =\n tableProps;\n\n return (\n <nav\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-nav', className)}\n aria-label=\"Pagination\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {/* Previous page */}\n {getCanPreviousPage()\n ? components.PaginationArrowButton && (\n <components.PaginationArrowButton\n action=\"previous\"\n onClick={previousPage}\n />\n )\n : null}\n {/* Pages - hidden on narrow containers */}\n {!isMediumNavigation && components.PaginationNumericButtons && (\n <components.PaginationNumericButtons />\n )}\n {/* Next page */}\n {getCanNextPage()\n ? components.PaginationArrowButton && (\n <components.PaginationArrowButton\n action=\"next\"\n onClick={nextPage}\n />\n )\n : null}\n </>\n )}\n </nav>\n );\n};\n\ntype NavigationProps = {\n children?: React.ReactNode;\n};\n\nconst Navigation = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NavigationProps>) => {\n const {\n tableProps,\n components,\n isSkeletonLoading,\n skeletonProps,\n isSmallNavigation,\n } = useDataGridContext();\n\n const { getPageCount } = tableProps;\n\n return (\n <div\n ref={ref}\n style={{\n ...style,\n ...(isSmallNavigation && { justifyContent: 'end' }),\n }}\n className={classNames('ndl-data-grid-navigation', className)}\n {...restProps}\n {...htmlAttributes}\n >\n <>\n {children || (\n <>\n {components.TableResults && <components.TableResults />}\n <Skeleton\n onBackground=\"weak\"\n shape=\"rectangular\"\n height=\"36px\"\n {...skeletonProps}\n isLoading={isSkeletonLoading}\n >\n <div className=\"ndl-data-grid-navigation-right-items\">\n {getPageCount() > 1 && components.Pagination && (\n <components.Pagination />\n )}\n {/* Page size selector */}\n {components.RowsPerPage && <components.RowsPerPage />}\n </div>\n </Skeleton>\n </>\n )}\n </>\n </div>\n );\n};\n\ntype LoadingPlaceholderProps = {\n children?: React.ReactNode;\n};\n\nconst LoadingPlaceholder = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', LoadingPlaceholderProps>) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('nld-table-placeholder-wrapper', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <div role=\"cell\" className=\"ndl-data-grid-placeholder\">\n <div className=\"ndl-data-grid-loading-placeholder\">\n <LoadingSpinner />\n <h6>Loading data</h6>\n </div>\n </div>\n )}\n </div>\n );\n};\n\ntype NoDataPlaceholderProps = {\n children?: React.ReactNode;\n};\n\nconst NoDataPlaceholder = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NoDataPlaceholderProps>) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('nld-table-placeholder-wrapper', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <NoDataPlaceholderContentWrapper>\n <NoDataIcon />\n <Typography variant=\"subheading-small\">No data available</Typography>\n </NoDataPlaceholderContentWrapper>\n )}\n </div>\n );\n};\n\ntype NoDataPlaceholderContentWrapperProps = {\n children?: React.ReactNode;\n};\n\nexport const NoDataPlaceholderContentWrapper = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NoDataPlaceholderContentWrapperProps>) => {\n return (\n <div\n role=\"cell\"\n className={classNames('ndl-data-grid-placeholder', className)}\n ref={ref}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nexport interface InlineEditCellProps<T extends RowData> {\n cell: CellContext<T, unknown>;\n value: string;\n ariaLabel: string;\n}\n\nconst InlineEditCell = <T extends RowData>({\n cell,\n value,\n ariaLabel,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'input', InlineEditCellProps<T>>) => {\n const [inputValue, setInputValue] = useState(value);\n\n useEffect(() => {\n setInputValue(value);\n }, [value]);\n\n const { dataGridNav } = useDataGridContext<T>();\n\n if (!cell.column.columnDef.meta?.isInlineEditCell) {\n return null;\n }\n\n return (\n <input\n ref={ref}\n style={style}\n className={className}\n onChange={(e) => setInputValue(e.target.value)}\n value={inputValue}\n onFocus={() => {\n dataGridNav.disable();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n cell?.column.columnDef.meta?.isInlineEditCell?.onEditChange(\n inputValue,\n cell,\n );\n e.currentTarget.parentElement?.focus();\n return;\n } else if (e.key === 'Escape') {\n e.currentTarget.parentElement?.focus();\n return;\n }\n }}\n onBlur={() => {\n setInputValue(value);\n dataGridNav.enable();\n }}\n aria-label={ariaLabel}\n {...restProps}\n {...htmlAttributes}\n />\n );\n};\n\ntype DropDownCellProps<T extends RowData> = {\n cell: CellContext<T, unknown>;\n options: {\n value: string;\n label: string;\n }[];\n /**\n * The target element to portal the menu of the select component to, e.g. the modal root if the data grid is inside a modal.\n * Defaults to the portalTarget prop of the DataGrid root component.\n */\n portalTarget?: HTMLElement | null;\n /** Aria label of the select component. Required for accessibility. */\n ariaLabel: string;\n /** Whether the select component is disabled */\n isDisabled?: boolean;\n};\n\nconst DropDownCell = <T extends RowData>({\n cell,\n options,\n portalTarget: portalTargetProp,\n ariaLabel,\n className,\n style,\n htmlAttributes,\n ref: forwardRef,\n isDisabled,\n ...restProps\n}: CommonProps<'div', DropDownCellProps<T>>) => {\n const { dataGridNav, portalTarget } = useDataGridContext<T>();\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([ref, forwardRef]);\n\n if (!cell.column.columnDef.meta?.isDropDownCell) {\n return null;\n }\n const defaultOption = options.find(\n (option) => option.value === cell.getValue()?.toString(),\n );\n\n const menuPortalTarget =\n portalTargetProp === undefined ? portalTarget : portalTargetProp;\n\n return (\n <Select\n ref={mergedRef}\n className={className}\n isFluid={true}\n isClean={true}\n style={{ ...style, height: '100%', width: '100%' }}\n type=\"select\"\n size=\"medium\"\n ariaLabel={ariaLabel}\n isDisabled={isDisabled}\n selectProps={{\n defaultValue: defaultOption,\n menuPortalTarget: menuPortalTarget,\n menuPosition: 'fixed',\n onChange: (e) => {\n const value = e?.value;\n cell?.column.columnDef.meta?.isDropDownCell?.onChange(\n value?.toString(),\n cell,\n );\n dataGridNav.enable();\n ref?.current && dataGridNav.focusParentCell(ref.current);\n },\n onMenuOpen: () => {\n dataGridNav.disable();\n },\n options: options,\n styles: {\n container: () => ({ height: '100%', width: '100%' }),\n control: () => ({\n backgroundColor: 'transparent',\n borderRadius: 0,\n height: '100%',\n }),\n },\n }}\n htmlAttributes={htmlAttributes}\n {...restProps}\n />\n );\n};\n\nconst NoDataIcon = ({\n className,\n ...restProps\n}: React.ComponentPropsWithoutRef<typeof DataGridCrossIcon>) => {\n const classes = classNames('n-size-token-64', className);\n return <DataGridCrossIcon className={classes} {...restProps} />;\n};\n\nexport {\n ResizingBar,\n Header,\n Body,\n BodyCell,\n BodyRow,\n InlineEditCell,\n DropDownCell,\n ActionCell,\n HeaderCell,\n HeaderTitle,\n Navigation,\n TableResults,\n RowsPerPage,\n Pagination,\n PaginationNumericButtons,\n PaginationArrowButton,\n PaginationNumericButton,\n NoDataPlaceholder,\n NoDataIcon,\n LoadingPlaceholder,\n Scrollable,\n};\n"]}
1
+ {"version":3,"file":"Components.js","sourceRoot":"","sources":["../../../src/data-grid/Components.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\nimport { useMergeRefs } from '@floating-ui/react';\nimport {\n type Cell,\n type CellContext,\n flexRender,\n type Header as HeaderType,\n type Row,\n type RowData,\n type SortDirection,\n} from '@tanstack/react-table';\nimport classNames from 'classnames';\nimport type React from 'react';\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport {\n type CommonProps,\n type PolymorphicCommonProps,\n} from '../_common/types';\nimport { CleanIconButton } from '../clean-icon-button';\nimport {\n Bars3CenterLeftIconOutline,\n BarsArrowDownIconOutline,\n BarsArrowUpIconOutline,\n ChevronDownIconSolid,\n ChevronLeftIconOutline,\n ChevronRightIconOutline,\n DataGridCrossIcon,\n EllipsisHorizontalIconOutline,\n} from '../icons';\nimport { LoadingSpinner } from '../loading-spinner';\nimport { Menu } from '../menu';\nimport { Select } from '../select';\nimport { Skeleton } from '../skeleton';\nimport { Typography } from '../typography';\nimport { useDataGridContext } from './data-grid-context';\nimport { type ColumnAction } from './datagrid-types';\nimport {\n resizeColumn,\n ResizeDirection,\n userFriendlyPagination,\n} from './helpers';\n\n/** Table results per page, with the first option being the default */\nconst TABLE_RESULTS = {\n DEFAULT: 10,\n values: [10, 25, 50, 100],\n} as const;\n\ntype paginationOption = {\n value: number;\n label: string;\n};\n\nconst getPaginationOptions = (pageSize: number): paginationOption[] => {\n return [...new Set([...TABLE_RESULTS.values, pageSize])]\n .sort((a, b) => a - b)\n .map((option) => ({\n label: `${option}`,\n value: option,\n }));\n};\n\nexport const DEFAULT_SORT_ACTIONS: (cell: HeaderType<any, unknown>) => {\n [key in SortDirection | 'default']: ColumnAction;\n} = (cell) => ({\n asc: {\n icon: <BarsArrowUpIconOutline />,\n onClick: () => cell.column.toggleSorting(false),\n title: 'Sort ascending',\n },\n default: {\n icon: <Bars3CenterLeftIconOutline />,\n onClick: () => cell.column.clearSorting(),\n title: 'Default sort',\n },\n desc: {\n icon: <BarsArrowDownIconOutline />,\n onClick: () => cell.column.toggleSorting(true),\n title: 'Sort descending',\n },\n});\n\ntype ResizingBarProps<T extends RowData> = {\n header: HeaderType<T, unknown>;\n};\n\nconst ResizingBar = <T extends RowData>({\n header,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'button', ResizingBarProps<T>>) => {\n const { isKeyboardNavigationEnabled } = useDataGridContext<T>();\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (event.key === 'ArrowLeft') {\n event.stopPropagation();\n event.preventDefault();\n resizeColumn(ResizeDirection.LEFT, header);\n } else if (event.key === 'ArrowRight') {\n event.stopPropagation();\n event.preventDefault();\n resizeColumn(ResizeDirection.RIGHT, header);\n }\n };\n\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames('ndl-data-grid-resizer', className, {\n 'ndl-data-grid-is-resizing': header.column.getIsResizing(),\n })}\n style={style}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n onKeyDown={handleKeyDown}\n aria-label=\"Resizing bar\"\n tabIndex={isKeyboardNavigationEnabled ? -1 : 0}\n {...restProps}\n {...htmlAttributes}\n />\n );\n};\n\ntype ScrollableProps = {\n children?: React.ReactNode;\n};\n\nconst Scrollable = ({\n children,\n ref,\n className,\n style,\n htmlAttributes,\n ...restProps\n}: CommonProps<'div', ScrollableProps> & {\n ref: React.RefObject<HTMLDivElement | null>;\n}) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-scrollable', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\ntype HeaderProps = {\n children?: React.ReactNode;\n};\n\nconst Header = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderProps>) => {\n const { tableProps, components } = useDataGridContext();\n const { getHeaderGroups, getState } = tableProps;\n\n return (\n <div\n role=\"rowgroup\"\n className={classNames('ndl-data-grid-thead', className, {\n 'ndl-data-grid-is-resizing':\n getState().columnSizingInfo.isResizingColumn,\n })}\n style={style}\n ref={ref}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {getHeaderGroups().map((headerGroup) => (\n <div key={headerGroup.id} className=\"ndl-data-grid-tr\" role=\"row\">\n {headerGroup.headers.map(\n (header) =>\n components.HeaderCell && (\n <components.HeaderCell key={header.id} cell={header} />\n ),\n )}\n </div>\n ))}\n </>\n )}\n </div>\n );\n};\n\ntype ActionButtonProps = {\n action: ColumnAction;\n onClose: () => void;\n};\n\nexport const ActionButton = <T extends React.ElementType = 'button'>({\n action,\n onClose,\n as,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: PolymorphicCommonProps<T, ActionButtonProps>) => {\n const { onClick, ...restAction } = action;\n\n const interceptedOnClick = useCallback(\n (e: any) => {\n const providedOnClick = onClick ?? action.onClick;\n if (typeof providedOnClick === 'function') {\n providedOnClick(e);\n }\n onClose?.();\n },\n [action.onClick, onClick, onClose],\n );\n\n return (\n <Menu.Item\n onClick={interceptedOnClick}\n as={as}\n className={className}\n style={style}\n htmlAttributes={htmlAttributes}\n ref={ref}\n {...restAction}\n {...restProps}\n />\n );\n};\n\nexport interface ActionCellProps<T extends RowData> {\n cell?: CellContext<T, unknown>;\n innerCleanIconButtonProps?: Partial<\n React.ComponentPropsWithoutRef<typeof CleanIconButton>\n >;\n innerMenuProps?: Partial<React.ComponentProps<typeof Menu>>;\n}\n\nconst ActionCell = <T extends RowData>({\n cell,\n innerCleanIconButtonProps,\n innerMenuProps,\n}: ActionCellProps<T>) => {\n const { components, isSkeletonLoading, portalTarget } =\n useDataGridContext<T>();\n const actionsButtonRef = useRef<HTMLButtonElement>(null);\n const [isActionsOpen, setIsActionsOpen] = useState(false);\n\n if (\n !cell ||\n !cell.column.columnDef.meta ||\n typeof cell.column.columnDef?.meta?.isActionCell !== 'object'\n ) {\n return null;\n }\n\n const { actions, onOpenChange } = cell.column.columnDef.meta.isActionCell;\n\n if (isSkeletonLoading) {\n return null;\n }\n\n return (\n <>\n <CleanIconButton\n as=\"button\"\n size=\"medium\"\n description=\"Actions\"\n ref={actionsButtonRef}\n isActive={isActionsOpen}\n onClick={() => {\n onOpenChange?.(!isActionsOpen);\n setIsActionsOpen(!isActionsOpen);\n }}\n {...innerCleanIconButtonProps}\n htmlAttributes={{\n tabIndex: 0,\n ...innerCleanIconButtonProps?.htmlAttributes,\n }}\n >\n {innerCleanIconButtonProps?.children || (\n <EllipsisHorizontalIconOutline />\n )}\n </CleanIconButton>\n <Menu\n isOpen={isActionsOpen}\n anchorRef={actionsButtonRef}\n onClose={() => {\n onOpenChange?.(false);\n setIsActionsOpen(false);\n }}\n {...innerMenuProps}\n portalTarget={portalTarget}\n >\n {innerMenuProps?.children || (\n <Menu.Items>\n {actions.map(\n (action, i) =>\n components.ActionButton && (\n <components.ActionButton\n key={`${cell.column.id}-action-${i}`}\n action={{\n ...action,\n onClick: (e) => {\n action.onClick?.(e, cell);\n },\n }}\n onClose={() => setIsActionsOpen(false)}\n />\n ),\n )}\n </Menu.Items>\n )}\n </Menu>\n </>\n );\n};\n\ntype ColumnControlsProps<T extends RowData> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nexport const ColumnControls = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', ColumnControlsProps<T>>) => {\n const { components, portalTarget } = useDataGridContext();\n\n const sort = cell.column.getIsSorted();\n const canSort = cell.column.getCanSort();\n const { hasDefaultSortingActions = true, actions } =\n cell.column.columnDef.meta?.columnActions || {};\n\n const sortingActions = useMemo(() => {\n if (canSort) {\n if (sort !== 'asc' && sort !== 'desc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).asc,\n DEFAULT_SORT_ACTIONS(cell).desc,\n ];\n }\n if (sort === 'asc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).default,\n DEFAULT_SORT_ACTIONS(cell).desc,\n ];\n }\n if (sort === 'desc') {\n return [\n DEFAULT_SORT_ACTIONS(cell).default,\n DEFAULT_SORT_ACTIONS(cell).asc,\n ];\n }\n }\n // Default case\n return [];\n }, [sort, cell, canSort]);\n\n const newActions: ColumnAction[] = [\n ...(hasDefaultSortingActions ? sortingActions : []),\n ...(actions ?? []),\n ];\n\n const actionsButtonRef = useRef<HTMLButtonElement>(null);\n const [isActionsOpen, setIsActionsOpen] = useState(false);\n\n if (!actions || actions.length === 0) {\n return null;\n }\n\n return newActions.length > 0 ? (\n <div\n ref={ref}\n className={classNames('ndl-header-action-group', className)}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <Fragment>\n <CleanIconButton\n size=\"small\"\n description=\"Actions\"\n ref={actionsButtonRef}\n isActive={isActionsOpen}\n onClick={() => {\n setIsActionsOpen(!isActionsOpen);\n }}\n htmlAttributes={{\n tabIndex: 0,\n }}\n >\n <ChevronDownIconSolid />\n </CleanIconButton>\n <Menu\n isOpen={isActionsOpen}\n anchorRef={actionsButtonRef}\n onClose={() => setIsActionsOpen(false)}\n portalTarget={portalTarget}\n >\n <Menu.Items>\n {newActions.map(\n (action, i) =>\n components.ActionButton && (\n <components.ActionButton\n key={`${cell.column.id}-action-${i}`}\n action={action}\n onClose={() => setIsActionsOpen(false)}\n />\n ),\n )}\n </Menu.Items>\n </Menu>\n </Fragment>\n )}\n </div>\n ) : null;\n};\n\ntype HeaderCellProps<T> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst HeaderCell = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderCellProps<T>>) => {\n const { components, isResizable, isKeyboardNavigationEnabled } =\n useDataGridContext<T>();\n\n const sort = cell.column.getIsSorted();\n const canSort = cell.column.getCanSort();\n\n const ariaSortRole = useMemo(() => {\n switch (sort) {\n case 'asc':\n return 'ascending';\n case 'desc':\n return 'descending';\n default:\n return 'none';\n }\n }, [sort]);\n\n const Icon = useMemo(() => {\n switch (sort) {\n case 'asc':\n return <BarsArrowUpIconOutline className=\"ndl-header-icon\" />;\n case 'desc':\n return <BarsArrowDownIconOutline className=\"ndl-header-icon\" />;\n default:\n return (\n <Bars3CenterLeftIconOutline className=\"ndl-hoverable-indicator ndl-header-icon\" />\n );\n }\n }, [sort]);\n\n const ariaDescription = useMemo(() => {\n return canSort\n ? `Press ENTER or SPACE to sort column ${cell.column.id}`\n : `Column id: ${cell.column.id}`;\n }, [canSort, cell.column.id]);\n\n const isActionColumn = useMemo(\n () => typeof cell.column.columnDef.meta?.isActionCell === 'object',\n [cell.column.columnDef.meta],\n );\n\n const Tag = canSort ? 'button' : 'div';\n\n const InnerHeaderCell = () => (\n <div className=\"ndl-header-cell\">\n {cell.isPlaceholder\n ? null\n : flexRender(cell.column.columnDef.header, cell.getContext())}\n {canSort && Icon}\n </div>\n );\n\n return (\n <div\n ref={ref}\n tabIndex={isKeyboardNavigationEnabled && !isActionColumn ? 0 : undefined}\n key={cell.id}\n role=\"columnheader\"\n className={classNames('ndl-data-grid-th', className, {\n 'ndl-focusable-cell': isKeyboardNavigationEnabled,\n 'ndl-data-grid-row-action': isActionColumn,\n 'ndl-data-grid-pinned-cell': cell.column.getIsPinned(),\n 'ndl-data-grid-pinned-cell-right':\n cell.column.getIsPinned() === 'right',\n 'ndl-data-grid-pinned-cell-left': cell.column.getIsPinned() === 'left',\n 'ndl-data-grid-is-resizing': cell.column.getIsResizing(),\n })}\n aria-sort={ariaSortRole}\n style={{\n ...style,\n width: isActionColumn ? 40 : cell.getSize(),\n maxWidth: cell.column.columnDef.maxSize\n ? `${cell.column.columnDef.maxSize}px`\n : 'none',\n }}\n {...(isKeyboardNavigationEnabled\n ? {\n onKeyDown: (e) => {\n if (\n isResizable &&\n e.altKey &&\n (e.key === 'ArrowLeft' || e.key === 'ArrowRight')\n ) {\n const direction =\n e.key === 'ArrowLeft'\n ? ResizeDirection.LEFT\n : ResizeDirection.RIGHT;\n resizeColumn(direction, cell);\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n },\n }\n : {})}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n <Tag\n className=\"ndl-header-group\"\n style={{\n cursor: canSort ? 'pointer' : 'default',\n }}\n aria-description={ariaDescription}\n onClick={() => canSort && cell.column.toggleSorting()}\n tabIndex={canSort ? 0 : undefined}\n >\n {components.HeaderTitle ? (\n <components.HeaderTitle cell={cell}>\n <InnerHeaderCell />\n </components.HeaderTitle>\n ) : (\n <InnerHeaderCell />\n )}\n </Tag>\n {/* Column actions*/}\n {components.ColumnControls && (\n <components.ColumnControls cell={cell} />\n )}\n {/* Resizer*/}\n {isResizable &&\n cell.column.getCanResize() &&\n components.ResizingBar && <components.ResizingBar header={cell} />}\n </>\n )}\n </div>\n );\n};\n\ntype HeaderTitleProps<T> = {\n cell: HeaderType<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst HeaderTitle = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', HeaderTitleProps<T>>) => {\n const { column, id } = cell;\n const title =\n typeof column.columnDef.header === 'string' ? column.columnDef.header : id;\n return (\n <div\n ref={ref}\n className={className}\n title={title}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\ntype BodyProps = {\n children?: React.ReactNode;\n};\n\nconst Body = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyProps>) => {\n const { tableProps, components, isLoading } = useDataGridContext();\n const { getRowModel } = tableProps;\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-tbody', className)}\n role=\"rowgroup\"\n aria-busy={isLoading ? 'true' : 'false'}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {isLoading && components.LoadingPlaceholder && (\n <components.LoadingPlaceholder />\n )}\n\n {!isLoading &&\n getRowModel().rows.length === 0 &&\n components.NoDataPlaceholder && <components.NoDataPlaceholder />}\n\n {!isLoading &&\n getRowModel().rows.map(\n (row, idx) =>\n components.BodyRow && (\n <components.BodyRow key={`table-row-${idx}`} row={row} />\n ),\n )}\n </>\n )}\n </div>\n );\n};\n\ntype BodyCellProps<T extends RowData> = {\n cell: Cell<T, unknown>;\n children?: React.ReactNode;\n};\n\nconst BodyCell = <T extends RowData>({\n cell,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyCellProps<T>>) => {\n const isResizing = cell.column.getIsResizing();\n\n const isActionColumn = Boolean(cell.column.columnDef.meta?.isActionCell);\n const isInlineEditCell = Boolean(\n cell.column.columnDef.meta?.isInlineEditCell,\n );\n const isDropDownCell = Boolean(cell.column.columnDef.meta?.isDropDownCell);\n const isCustomCell = isActionColumn || isDropDownCell;\n const { isKeyboardNavigationEnabled, isSkeletonLoading, skeletonProps } =\n useDataGridContext();\n return (\n <div\n ref={ref}\n key={cell.id}\n className={classNames('ndl-data-grid-td', className, {\n 'ndl-focusable-cell': isKeyboardNavigationEnabled,\n 'ndl-data-grid-is-resizing': isResizing,\n 'ndl-data-grid-custom-cell': isCustomCell,\n 'ndl-data-grid-row-action': isActionColumn,\n 'ndl-data-grid-inline-edit': isInlineEditCell,\n 'ndl-data-grid-dropdown-cell': isDropDownCell,\n 'ndl-data-grid-pinned-cell': cell.column.getIsPinned(),\n 'ndl-data-grid-pinned-cell-right':\n cell.column.getIsPinned() === 'right',\n 'ndl-data-grid-pinned-cell-left': cell.column.getIsPinned() === 'left',\n })}\n role=\"cell\"\n tabIndex={isKeyboardNavigationEnabled ? 0 : undefined}\n style={{\n ...style,\n width: isActionColumn ? 40 : cell.column.getSize(),\n }}\n {...restProps}\n {...htmlAttributes}\n >\n <Skeleton\n onBackground=\"weak\"\n shape=\"rectangular\"\n width=\"100%\"\n {...skeletonProps}\n isLoading={isSkeletonLoading && !isActionColumn}\n >\n {children || flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Skeleton>\n </div>\n );\n};\n\ntype BodyRowProps<T extends RowData> = {\n row: Row<T>;\n children?: React.ReactNode;\n};\n\nconst BodyRow = <T extends RowData>({\n row,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', BodyRowProps<T>>) => {\n const { components } = useDataGridContext<T>();\n\n return (\n <div\n key={row.id}\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-tr', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {row\n .getVisibleCells()\n .map(\n (cell) =>\n components.BodyCell && (\n <components.BodyCell key={cell.id} cell={cell} />\n ),\n )}\n </>\n )}\n </div>\n );\n};\n\ntype TableResultProps = {\n manualPagination?: {\n from: number;\n to: number;\n totalRows: number;\n };\n children?: React.ReactNode;\n /**\n * The label to use for the results, meaning the word \"results\" in the sentence \"Showing X-Y of Z results\".\n * @defaultValue 'results'\n */\n resultsLabel?: string;\n};\n\nconst TableResults = ({\n manualPagination,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n resultsLabel = 'results',\n ...restProps\n}: CommonProps<'span', TableResultProps>) => {\n const { tableProps, isSkeletonLoading, skeletonProps, isSmallNavigation } =\n useDataGridContext();\n const { getState, getRowModel, getCoreRowModel } = tableProps;\n const {\n pagination: { pageSize, pageIndex },\n } = getState();\n const { rows } = getRowModel();\n\n const { from, to, totalRows } = useMemo(\n () =>\n manualPagination || {\n from: 1 + pageIndex * pageSize,\n to: rows.length + pageIndex * pageSize,\n totalRows: getCoreRowModel().rows.length,\n },\n [pageIndex, pageSize, manualPagination, rows, getCoreRowModel],\n );\n\n if (isSmallNavigation) {\n return null;\n }\n\n return (\n <Skeleton\n as=\"span\"\n onBackground=\"weak\"\n shape=\"rectangular\"\n {...skeletonProps}\n isLoading={isSkeletonLoading}\n >\n <span\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-results', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <span>\n Showing{' '}\n <span className=\"n-font-bold\">\n {totalRows ? `${from}${to !== from ? `-${to}` : ''}` : 0}\n </span>{' '}\n of <span className=\"n-font-bold\">{totalRows}</span> {resultsLabel}\n </span>\n )}\n </span>\n </Skeleton>\n );\n};\n\ntype RowsPerPageProps = {\n /**\n * The target element to portal the menu of the select component to.\n * Should be document.body normally, or the modal root if the select is inside a modal.\n * Defaults to the portalTarget prop of the DataGrid root component.\n */\n portalTarget?: HTMLElement | null;\n children?: React.ReactNode;\n};\n\nconst RowsPerPage = ({\n portalTarget: portalTargetProp,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', RowsPerPageProps>) => {\n const { tableProps, portalTarget } = useDataGridContext();\n\n const { setPageSize, getState } = tableProps;\n\n const {\n pagination: { pageSize },\n } = getState();\n\n const paginationOptions = getPaginationOptions(pageSize);\n const defaultPaginationOption = paginationOptions.find(\n (option) => option.value === pageSize,\n );\n\n const menuPortalTarget =\n portalTargetProp === undefined ? portalTarget : portalTargetProp;\n\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-rows-per-page', className)}\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n Show\n <Select\n type=\"select\"\n size=\"medium\"\n ariaLabel=\"Select page size\"\n selectProps={{\n defaultValue: defaultPaginationOption,\n isSearchable: false,\n menuPortalTarget: menuPortalTarget,\n menuPosition: 'fixed',\n onChange: (option) => {\n if (option) {\n setPageSize(option.value);\n }\n },\n options: paginationOptions,\n styles: {\n container: () => ({\n width: '100%',\n }),\n },\n }}\n />\n </>\n )}\n </div>\n );\n};\n\ntype PaginationArrowButtonProps = {\n action: 'previous' | 'next';\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nconst PaginationArrowButton = ({\n action,\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'button', PaginationArrowButtonProps>) => {\n const PaginationIcon =\n action === 'previous' ? ChevronLeftIconOutline : ChevronRightIconOutline;\n const ariaLabel = action === 'previous' ? 'Previous page' : 'Next page';\n const classes = classNames('ndl-data-grid-pagination-icon-button', className);\n\n return (\n <CleanIconButton\n ref={ref}\n style={style}\n className={classes}\n description={ariaLabel}\n htmlAttributes={htmlAttributes}\n {...restProps}\n >\n {children || <PaginationIcon />}\n </CleanIconButton>\n );\n};\n\ntype PaginationNumericButtonProps = {\n currentIndex: number | string;\n isSelected: boolean;\n children?: React.ReactNode;\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n};\n\nconst PaginationNumericButton = ({\n currentIndex,\n isSelected,\n children,\n className,\n style,\n htmlAttributes,\n onClick,\n ref,\n ...restProps\n}: CommonProps<'button', PaginationNumericButtonProps>) => {\n return (\n <button\n ref={ref}\n style={style}\n type=\"button\"\n data-testid={`ndl-table-${currentIndex}`}\n className={classNames(\n 'ndl-data-grid-pagination-numeric-button',\n className,\n {\n 'ndl-is-selected': isSelected,\n 'ndl-not-selected': !isSelected,\n 'ndl-not-selected-numeric':\n typeof currentIndex === 'number' && !isSelected,\n },\n )}\n onClick={(e) => typeof currentIndex === 'number' && onClick && onClick(e)}\n tabIndex={typeof currentIndex === 'number' ? 0 : -1}\n {...restProps}\n {...htmlAttributes}\n >\n {children || currentIndex}\n </button>\n );\n};\n\nconst PaginationNumericButtons = () => {\n const { tableProps, components } = useDataGridContext();\n const { getState, setPageIndex, getPageCount } = tableProps;\n const {\n pagination: { pageIndex },\n } = getState();\n\n return (\n <>\n {userFriendlyPagination(pageIndex + 1, getPageCount()).map(\n (option, idx) =>\n components.PaginationNumericButton && (\n <components.PaginationNumericButton\n /** Use index to avoid situations where two \"...\" values will appear, causing a key conflict */\n key={`${option}-${idx}`}\n onClick={() =>\n typeof option === 'number' && setPageIndex(option - 1)\n }\n currentIndex={option}\n isSelected={option === pageIndex + 1}\n />\n ),\n )}\n </>\n );\n};\n\ntype PaginationProps = {\n children?: React.ReactNode;\n};\n\nconst Pagination = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'nav', PaginationProps>) => {\n const { tableProps, components, isMediumNavigation } = useDataGridContext();\n\n const { getCanPreviousPage, getCanNextPage, previousPage, nextPage } =\n tableProps;\n\n return (\n <nav\n ref={ref}\n style={style}\n className={classNames('ndl-data-grid-nav', className)}\n aria-label=\"Pagination\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <>\n {/* Previous page */}\n {getCanPreviousPage()\n ? components.PaginationArrowButton && (\n <components.PaginationArrowButton\n action=\"previous\"\n onClick={previousPage}\n />\n )\n : null}\n {/* Pages - hidden on narrow containers */}\n {!isMediumNavigation && components.PaginationNumericButtons && (\n <components.PaginationNumericButtons />\n )}\n {/* Next page */}\n {getCanNextPage()\n ? components.PaginationArrowButton && (\n <components.PaginationArrowButton\n action=\"next\"\n onClick={nextPage}\n />\n )\n : null}\n </>\n )}\n </nav>\n );\n};\n\ntype NavigationProps = {\n children?: React.ReactNode;\n};\n\nconst Navigation = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NavigationProps>) => {\n const {\n tableProps,\n components,\n isSkeletonLoading,\n skeletonProps,\n isSmallNavigation,\n } = useDataGridContext();\n\n const { getPageCount } = tableProps;\n\n return (\n <div\n ref={ref}\n style={{\n ...style,\n ...(isSmallNavigation && { justifyContent: 'end' }),\n }}\n className={classNames('ndl-data-grid-navigation', className)}\n {...restProps}\n {...htmlAttributes}\n >\n <>\n {children || (\n <>\n {components.TableResults && <components.TableResults />}\n <Skeleton\n onBackground=\"weak\"\n shape=\"rectangular\"\n height=\"36px\"\n {...skeletonProps}\n isLoading={isSkeletonLoading}\n >\n <div className=\"ndl-data-grid-navigation-right-items\">\n {getPageCount() > 1 && components.Pagination && (\n <components.Pagination />\n )}\n {/* Page size selector */}\n {components.RowsPerPage && <components.RowsPerPage />}\n </div>\n </Skeleton>\n </>\n )}\n </>\n </div>\n );\n};\n\ntype LoadingPlaceholderProps = {\n children?: React.ReactNode;\n};\n\nconst LoadingPlaceholder = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', LoadingPlaceholderProps>) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('nld-table-placeholder-wrapper', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <div role=\"cell\" className=\"ndl-data-grid-placeholder\">\n <div className=\"ndl-data-grid-loading-placeholder\">\n <LoadingSpinner />\n <h6>Loading data</h6>\n </div>\n </div>\n )}\n </div>\n );\n};\n\ntype NoDataPlaceholderProps = {\n children?: React.ReactNode;\n};\n\nconst NoDataPlaceholder = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NoDataPlaceholderProps>) => {\n return (\n <div\n ref={ref}\n style={style}\n className={classNames('nld-table-placeholder-wrapper', className)}\n role=\"row\"\n {...restProps}\n {...htmlAttributes}\n >\n {children || (\n <NoDataPlaceholderContentWrapper>\n <NoDataIcon />\n <Typography variant=\"subheading-small\">No data available</Typography>\n </NoDataPlaceholderContentWrapper>\n )}\n </div>\n );\n};\n\ntype NoDataPlaceholderContentWrapperProps = {\n children?: React.ReactNode;\n};\n\nexport const NoDataPlaceholderContentWrapper = ({\n children,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'div', NoDataPlaceholderContentWrapperProps>) => {\n return (\n <div\n role=\"cell\"\n className={classNames('ndl-data-grid-placeholder', className)}\n ref={ref}\n style={style}\n {...restProps}\n {...htmlAttributes}\n >\n {children}\n </div>\n );\n};\n\nexport interface InlineEditCellProps<T extends RowData> {\n cell: CellContext<T, unknown>;\n value: string;\n ariaLabel: string;\n}\n\nconst InlineEditCell = <T extends RowData>({\n cell,\n value,\n ariaLabel,\n className,\n style,\n htmlAttributes,\n ref,\n ...restProps\n}: CommonProps<'input', InlineEditCellProps<T>>) => {\n const [inputValue, setInputValue] = useState(value);\n\n useEffect(() => {\n setInputValue(value);\n }, [value]);\n\n const { dataGridNav } = useDataGridContext<T>();\n\n if (!cell.column.columnDef.meta?.isInlineEditCell) {\n return null;\n }\n\n return (\n <input\n ref={ref}\n style={style}\n className={className}\n onChange={(e) => setInputValue(e.target.value)}\n value={inputValue}\n onFocus={() => {\n dataGridNav.disable();\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n cell?.column.columnDef.meta?.isInlineEditCell?.onEditChange(\n inputValue,\n cell,\n );\n e.currentTarget.parentElement?.focus();\n return;\n } else if (e.key === 'Escape') {\n e.currentTarget.parentElement?.focus();\n return;\n }\n }}\n onBlur={() => {\n setInputValue(value);\n dataGridNav.enable();\n }}\n aria-label={ariaLabel}\n {...restProps}\n {...htmlAttributes}\n />\n );\n};\n\ntype DropDownCellProps<T extends RowData> = {\n cell: CellContext<T, unknown>;\n options: {\n value: string;\n label: string;\n }[];\n /**\n * The target element to portal the menu of the select component to, e.g. the modal root if the data grid is inside a modal.\n * Defaults to the portalTarget prop of the DataGrid root component.\n */\n portalTarget?: HTMLElement | null;\n /** Aria label of the select component. Required for accessibility. */\n ariaLabel: string;\n /** Whether the select component is disabled */\n isDisabled?: boolean;\n};\n\nconst DropDownCell = <T extends RowData>({\n cell,\n options,\n portalTarget: portalTargetProp,\n ariaLabel,\n className,\n style,\n htmlAttributes,\n ref: forwardRef,\n isDisabled,\n ...restProps\n}: CommonProps<'div', DropDownCellProps<T>>) => {\n const { dataGridNav, portalTarget } = useDataGridContext<T>();\n const ref = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([ref, forwardRef]);\n\n if (!cell.column.columnDef.meta?.isDropDownCell) {\n return null;\n }\n const defaultOption = options.find(\n (option) => option.value === cell.getValue()?.toString(),\n );\n\n const menuPortalTarget =\n portalTargetProp === undefined ? portalTarget : portalTargetProp;\n\n return (\n <Select\n ref={mergedRef}\n className={className}\n isFluid={true}\n isClean={true}\n style={{ ...style, height: '100%', width: '100%' }}\n type=\"select\"\n size=\"medium\"\n ariaLabel={ariaLabel}\n isDisabled={isDisabled}\n selectProps={{\n defaultValue: defaultOption,\n menuPortalTarget: menuPortalTarget,\n menuPosition: 'fixed',\n onChange: (e) => {\n const value = e?.value;\n cell?.column.columnDef.meta?.isDropDownCell?.onChange(\n value?.toString(),\n cell,\n );\n dataGridNav.enable();\n ref?.current && dataGridNav.focusParentCell(ref.current);\n },\n onMenuOpen: () => {\n dataGridNav.disable();\n },\n options: options,\n styles: {\n container: () => ({ height: '100%', width: '100%' }),\n control: () => ({\n backgroundColor: 'transparent',\n borderRadius: 0,\n height: '100%',\n }),\n },\n }}\n htmlAttributes={htmlAttributes}\n {...restProps}\n />\n );\n};\n\nconst NoDataIcon = ({\n className,\n ...restProps\n}: React.ComponentPropsWithoutRef<typeof DataGridCrossIcon>) => {\n const classes = classNames('n-size-token-64', className);\n return <DataGridCrossIcon className={classes} {...restProps} />;\n};\n\nexport {\n ResizingBar,\n Header,\n Body,\n BodyCell,\n BodyRow,\n InlineEditCell,\n DropDownCell,\n ActionCell,\n HeaderCell,\n HeaderTitle,\n Navigation,\n TableResults,\n RowsPerPage,\n Pagination,\n PaginationNumericButtons,\n PaginationArrowButton,\n PaginationNumericButton,\n NoDataPlaceholder,\n NoDataIcon,\n LoadingPlaceholder,\n Scrollable,\n};\n"]}
@@ -1,14 +1,3 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
1
  import { jsx as _jsx } from "react/jsx-runtime";
13
2
  /**
14
3
  *
@@ -72,18 +61,6 @@ const columns = [
72
61
  cell: (info) => info.getValue(),
73
62
  }),
74
63
  ];
75
- const CustomHeaderCell = (_a) => {
76
- var { htmlAttributes, cell } = _a, restProps = __rest(_a, ["htmlAttributes", "cell"]);
77
- const tabIndex = cell.index === 0 ? 0 : -1;
78
- return (_jsx(DataGrid.HeaderCell, Object.assign({}, restProps, { cell: cell, htmlAttributes: Object.assign(Object.assign(Object.assign({}, htmlAttributes), { tabIndex: tabIndex }), (cell.index === 0
79
- ? {
80
- role: 'presentation',
81
- style: {
82
- pointerEvents: 'none',
83
- },
84
- }
85
- : {})) })));
86
- };
87
64
  const CustomBodyRow = ({ row, }) => {
88
65
  const { components } = useDataGridContext();
89
66
  return (_jsx("div", { role: "row", className: "ndl-data-grid-tr", children: row.getVisibleCells().map((cell) => components.BodyCell && (_jsx(components.BodyCell, { cell: cell, htmlAttributes: {
@@ -107,7 +84,6 @@ const Component = () => {
107
84
  });
108
85
  return (_jsx("div", { className: "n-w-full", children: _jsx(DataGrid, { components: {
109
86
  BodyRow: CustomBodyRow,
110
- HeaderCell: CustomHeaderCell,
111
87
  Navigation: null,
112
88
  }, isKeyboardNavigable: false, isResizable: false, tableInstance: table }) }));
113
89
  };