@nanoporetech-digital/components 3.5.1 → 3.7.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 (226) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/cjs/{date-utils-c581f187.js → date-utils-42fbcb42.js} +5 -3
  3. package/dist/cjs/date-utils-42fbcb42.js.map +1 -0
  4. package/dist/cjs/index-41582c2a.js +2 -6
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/nano-components.cjs.js +1 -1
  7. package/dist/cjs/nano-datalist_3.cjs.entry.js +10 -5
  8. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  10. package/dist/cjs/nano-date-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-demo.cjs.entry.js +3 -2
  12. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-dropdown.cjs.entry.js +5 -2
  14. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-file-upload.cjs.entry.js +4 -0
  16. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +1 -2
  18. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-icon-button.cjs.entry.js +1 -1
  20. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  22. package/dist/cjs/{nano-tooltip.cjs.entry.js → nano-progress-bar_2.cjs.entry.js} +28 -4
  23. package/dist/cjs/nano-progress-bar_2.cjs.entry.js.map +1 -0
  24. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +74 -12
  25. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nano-sticker.cjs.entry.js +2 -0
  27. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  29. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/{nano-table-067e0c12.js → nano-table-56eb29c1.js} +172 -88
  31. package/dist/cjs/nano-table-56eb29c1.js.map +1 -0
  32. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  33. package/dist/cjs/{table.worker-a4d75c46.js → table.worker-b1c53001.js} +3 -3
  34. package/dist/cjs/table.worker-b1c53001.js.map +1 -0
  35. package/dist/{esm/table.worker-e9fb087e.js → cjs/table.worker-e2f9ccfa.js} +1 -1
  36. package/dist/collection/components/datalist/datalist.js +3 -3
  37. package/dist/collection/components/datalist/datalist.js.map +1 -1
  38. package/dist/collection/components/demo/demo.js +3 -2
  39. package/dist/collection/components/demo/demo.js.map +1 -1
  40. package/dist/collection/components/dropdown/dropdown.js +5 -2
  41. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  42. package/dist/collection/components/file-upload/file-upload.js +4 -0
  43. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  44. package/dist/collection/components/icon/icon.js +1 -1
  45. package/dist/collection/components/icon/icon.js.map +1 -1
  46. package/dist/collection/components/icon-button/icon-button.js +1 -1
  47. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  48. package/dist/collection/components/menu/menu.js +8 -3
  49. package/dist/collection/components/menu/menu.js.map +1 -1
  50. package/dist/collection/components/nav-item/nav-item.js +1 -2
  51. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  52. package/dist/collection/components/resize-observe/resize-observe.js +118 -14
  53. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  54. package/dist/collection/components/sticker/sticker.js +2 -0
  55. package/dist/collection/components/sticker/sticker.js.map +1 -1
  56. package/dist/collection/components/table/table-interface.js.map +1 -1
  57. package/dist/collection/components/table/table.cell.js +10 -5
  58. package/dist/collection/components/table/table.cell.js.map +1 -1
  59. package/dist/collection/components/table/table.css +9 -23
  60. package/dist/collection/components/table/table.js +236 -93
  61. package/dist/collection/components/table/table.js.map +1 -1
  62. package/dist/collection/components/table/table.row.js +19 -12
  63. package/dist/collection/components/table/table.row.js.map +1 -1
  64. package/dist/collection/components/table/table.store.js +1 -1
  65. package/dist/collection/components/table/table.store.js.map +1 -1
  66. package/dist/collection/components/table/table.utils.js +4 -4
  67. package/dist/collection/components/table/table.utils.js.map +1 -1
  68. package/dist/collection/components/table/table.worker.js +8 -0
  69. package/dist/collection/components/table/table.worker.js.map +1 -1
  70. package/dist/collection/components/tabs/tab-group.js +1 -1
  71. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  72. package/dist/collection/components/tooltip/tooltip.js +25 -3
  73. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  74. package/dist/collection/utils/date-utils.js +4 -2
  75. package/dist/collection/utils/date-utils.js.map +1 -1
  76. package/dist/collection/utils/testing/index.js +15 -8
  77. package/dist/collection/utils/testing/index.js.map +1 -1
  78. package/dist/components/datalist.js +3 -3
  79. package/dist/components/datalist.js.map +1 -1
  80. package/dist/components/date-picker.js +4 -2
  81. package/dist/components/date-picker.js.map +1 -1
  82. package/dist/components/dropdown.js +5 -2
  83. package/dist/components/dropdown.js.map +1 -1
  84. package/dist/components/icon-button.js +1 -1
  85. package/dist/components/icon-button.js.map +1 -1
  86. package/dist/components/icon.js.map +1 -1
  87. package/dist/components/menu.js +8 -3
  88. package/dist/components/menu.js.map +1 -1
  89. package/dist/components/nano-demo.js +21 -14
  90. package/dist/components/nano-demo.js.map +1 -1
  91. package/dist/components/nano-file-upload.js +4 -0
  92. package/dist/components/nano-file-upload.js.map +1 -1
  93. package/dist/components/nano-tab-group.js +1 -1
  94. package/dist/components/nano-tab-group.js.map +1 -1
  95. package/dist/components/nav-item.js +1 -2
  96. package/dist/components/nav-item.js.map +1 -1
  97. package/dist/components/resize-observe.js +80 -14
  98. package/dist/components/resize-observe.js.map +1 -1
  99. package/dist/components/sticker.js +2 -0
  100. package/dist/components/sticker.js.map +1 -1
  101. package/dist/components/table.js +196 -103
  102. package/dist/components/table.js.map +1 -1
  103. package/dist/components/table.worker.js +1 -1
  104. package/dist/components/tooltip.js +6 -3
  105. package/dist/components/tooltip.js.map +1 -1
  106. package/dist/custom-elements/index.js +285 -120
  107. package/dist/custom-elements/index.js.map +1 -1
  108. package/dist/esm/{date-utils-bb82b123.js → date-utils-6b7a6e1f.js} +5 -3
  109. package/dist/esm/date-utils-6b7a6e1f.js.map +1 -0
  110. package/dist/esm/index-3c280603.js +2 -6
  111. package/dist/esm/loader.js +1 -1
  112. package/dist/esm/nano-components.js +1 -1
  113. package/dist/esm/nano-datalist_3.entry.js +10 -5
  114. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  115. package/dist/esm/nano-date-input.entry.js +1 -1
  116. package/dist/esm/nano-date-picker.entry.js +1 -1
  117. package/dist/esm/nano-demo.entry.js +3 -2
  118. package/dist/esm/nano-demo.entry.js.map +1 -1
  119. package/dist/esm/nano-dropdown.entry.js +5 -2
  120. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  121. package/dist/esm/nano-file-upload.entry.js +4 -0
  122. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  123. package/dist/esm/nano-global-nav-user-profile_3.entry.js +1 -2
  124. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  125. package/dist/esm/nano-icon-button.entry.js +1 -1
  126. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  127. package/dist/esm/nano-icon.entry.js.map +1 -1
  128. package/dist/esm/{nano-tooltip.entry.js → nano-progress-bar_2.entry.js} +29 -6
  129. package/dist/esm/nano-progress-bar_2.entry.js.map +1 -0
  130. package/dist/esm/nano-resize-observe_2.entry.js +74 -12
  131. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  132. package/dist/esm/nano-sticker.entry.js +2 -0
  133. package/dist/esm/nano-sticker.entry.js.map +1 -1
  134. package/dist/esm/nano-tab-group.entry.js +1 -1
  135. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  136. package/dist/esm/{nano-table-95921f46.js → nano-table-38f3c797.js} +172 -88
  137. package/dist/esm/nano-table-38f3c797.js.map +1 -0
  138. package/dist/esm/nano-table.entry.js +1 -1
  139. package/dist/{nano-components/p-e9fb087e.js → esm/table.worker-e2f9ccfa.js} +1 -1
  140. package/dist/esm/{table.worker-769f1441.js → table.worker-e57fffd8.js} +3 -3
  141. package/dist/esm/table.worker-e57fffd8.js.map +1 -0
  142. package/dist/nano-components/nano-components.esm.js +1 -1
  143. package/dist/nano-components/nano-components.esm.js.map +1 -1
  144. package/dist/nano-components/p-0b29b22c.js +5 -0
  145. package/dist/nano-components/{p-26905bca.js.map → p-0b29b22c.js.map} +0 -0
  146. package/dist/nano-components/p-135fed16.entry.js +5 -0
  147. package/dist/nano-components/p-135fed16.entry.js.map +1 -0
  148. package/dist/nano-components/{p-2cb4615b.entry.js → p-2a97ef51.entry.js} +2 -2
  149. package/dist/nano-components/{p-2cb4615b.entry.js.map → p-2a97ef51.entry.js.map} +0 -0
  150. package/dist/nano-components/{p-751927d1.entry.js → p-3f25fc76.entry.js} +2 -2
  151. package/dist/nano-components/p-3f25fc76.entry.js.map +1 -0
  152. package/dist/nano-components/p-5d149792.entry.js +5 -0
  153. package/dist/nano-components/p-5d149792.entry.js.map +1 -0
  154. package/dist/nano-components/p-69e5a37d.entry.js.map +1 -1
  155. package/dist/nano-components/p-6ad194e4.entry.js +5 -0
  156. package/dist/nano-components/p-6ad194e4.entry.js.map +1 -0
  157. package/dist/nano-components/{p-46b348b7.entry.js → p-6cb77d5c.entry.js} +2 -2
  158. package/dist/nano-components/{p-46b348b7.entry.js.map → p-6cb77d5c.entry.js.map} +0 -0
  159. package/dist/nano-components/{p-85cfb0af.entry.js → p-9a4297e1.entry.js} +2 -2
  160. package/dist/nano-components/p-9a4297e1.entry.js.map +1 -0
  161. package/dist/nano-components/{p-d1c8eca4.entry.js → p-b55ffa92.entry.js} +2 -2
  162. package/dist/nano-components/p-b55ffa92.entry.js.map +1 -0
  163. package/dist/nano-components/{p-fb12a45d.entry.js → p-ba9cd047.entry.js} +2 -2
  164. package/dist/nano-components/{p-fb12a45d.entry.js.map → p-ba9cd047.entry.js.map} +0 -0
  165. package/dist/nano-components/p-cc5e7acb.entry.js +5 -0
  166. package/dist/nano-components/p-cc5e7acb.entry.js.map +1 -0
  167. package/dist/nano-components/p-cecb9af1.js +5 -0
  168. package/dist/nano-components/p-cecb9af1.js.map +1 -0
  169. package/dist/nano-components/p-d26b97d1.js +5 -0
  170. package/dist/nano-components/p-d26b97d1.js.map +1 -0
  171. package/dist/nano-components/{p-601e18d5.entry.js → p-d5303933.entry.js} +2 -2
  172. package/dist/nano-components/p-d5303933.entry.js.map +1 -0
  173. package/dist/nano-components/{p-4f0e14b5.entry.js → p-d565991d.entry.js} +2 -2
  174. package/dist/nano-components/p-d565991d.entry.js.map +1 -0
  175. package/dist/nano-components/{p-244223f0.entry.js → p-dc50b93c.entry.js} +2 -2
  176. package/dist/nano-components/p-dc50b93c.entry.js.map +1 -0
  177. package/dist/{cjs/table.worker-e9fb087e.js → nano-components/p-e2f9ccfa.js} +1 -1
  178. package/dist/types/components/icon/icon.d.ts +1 -1
  179. package/dist/types/components/menu/menu.d.ts +1 -0
  180. package/dist/types/components/resize-observe/resize-observe.d.ts +20 -1
  181. package/dist/types/components/table/table-interface.d.ts +35 -24
  182. package/dist/types/components/table/table.cell.d.ts +1 -1
  183. package/dist/types/components/table/table.d.ts +49 -15
  184. package/dist/types/components/table/table.row.d.ts +1 -1
  185. package/dist/types/components/table/table.store.d.ts +1 -1
  186. package/dist/types/components/table/table.utils.d.ts +1 -1
  187. package/dist/types/components/table/table.worker.d.ts +3 -3
  188. package/dist/types/components/tooltip/tooltip.d.ts +5 -0
  189. package/dist/types/components.d.ts +59 -14
  190. package/dist/types/utils/date-utils.d.ts +1 -1
  191. package/docs-json.json +179 -31
  192. package/docs-vscode.json +26 -3
  193. package/package.json +2 -2
  194. package/dist/cjs/date-utils-c581f187.js.map +0 -1
  195. package/dist/cjs/nano-progress-bar.cjs.entry.js +0 -33
  196. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
  197. package/dist/cjs/nano-table-067e0c12.js.map +0 -1
  198. package/dist/cjs/nano-tooltip.cjs.entry.js.map +0 -1
  199. package/dist/cjs/table.worker-a4d75c46.js.map +0 -1
  200. package/dist/esm/date-utils-bb82b123.js.map +0 -1
  201. package/dist/esm/nano-progress-bar.entry.js +0 -29
  202. package/dist/esm/nano-progress-bar.entry.js.map +0 -1
  203. package/dist/esm/nano-table-95921f46.js.map +0 -1
  204. package/dist/esm/nano-tooltip.entry.js.map +0 -1
  205. package/dist/esm/table.worker-769f1441.js.map +0 -1
  206. package/dist/nano-components/p-15a60f7e.js +0 -5
  207. package/dist/nano-components/p-15a60f7e.js.map +0 -1
  208. package/dist/nano-components/p-244223f0.entry.js.map +0 -1
  209. package/dist/nano-components/p-26905bca.js +0 -5
  210. package/dist/nano-components/p-4f0e14b5.entry.js.map +0 -1
  211. package/dist/nano-components/p-601e18d5.entry.js.map +0 -1
  212. package/dist/nano-components/p-751927d1.entry.js.map +0 -1
  213. package/dist/nano-components/p-85cfb0af.entry.js.map +0 -1
  214. package/dist/nano-components/p-8fc2a38d.js +0 -5
  215. package/dist/nano-components/p-8fc2a38d.js.map +0 -1
  216. package/dist/nano-components/p-9e8c9bac.entry.js +0 -5
  217. package/dist/nano-components/p-9e8c9bac.entry.js.map +0 -1
  218. package/dist/nano-components/p-a2e38472.entry.js +0 -5
  219. package/dist/nano-components/p-a2e38472.entry.js.map +0 -1
  220. package/dist/nano-components/p-b9c8b99f.entry.js +0 -5
  221. package/dist/nano-components/p-b9c8b99f.entry.js.map +0 -1
  222. package/dist/nano-components/p-d1c8eca4.entry.js.map +0 -1
  223. package/dist/nano-components/p-f43d1d8e.entry.js +0 -5
  224. package/dist/nano-components/p-f43d1d8e.entry.js.map +0 -1
  225. package/dist/nano-components/p-feb9f164.entry.js +0 -5
  226. package/dist/nano-components/p-feb9f164.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table.cell.js","sourceRoot":"","sources":["../../../src/components/table/table.cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Fragment, FunctionalComponent, h, VNode } from '@stencil/core';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n classListToStr,\n colDataModel,\n fetchStores,\n mergeCellProperties,\n} from './table.utils';\nimport type { TableTypes } from '../../interface';\n\n// TABLE CELL\n// (tbody > tr > td, tbody > tr > th)\n\n/**\n * Renders a cell using a custom renderer if set.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns - a JSX node\n */\nexport function cellRender(rowIndex: number, colIndex: number): VNode {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const tpl = columns[colIndex]?.cellTemplate;\n const model = colDataModel(rowIndex, colIndex);\n\n if (!!model.cellModel && columns[colIndex].type === 'date') {\n const d = new Date(model.cellModel);\n if (d instanceof Date && !isNaN(d as any)) {\n model.cellModel = !tpl\n ? `${new Date(model.cellModel).toLocaleDateString()} ${new Date(\n model.cellModel\n ).toLocaleTimeString()}`\n : d;\n }\n }\n\n return tpl ? (\n tpl(h as unknown as TableTypes.HFunc<VNode>, model)\n ) : (\n <Fragment>{model.cellModel?.toString()}</Fragment>\n );\n}\n\nexport const baseCellClasses = (\n colIndex: number,\n toString: boolean = false\n) => {\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n\n const classes = {\n [`${CSSNAMESPACE}__td`]: true,\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__pin`]: !!column.pinned,\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n};\n\ntype TableCellProps = {\n rowIndex: number;\n colIndex: number;\n nestedContent?: VNode;\n};\n\nexport const TableCell: FunctionalComponent<TableCellProps> = ({\n rowIndex,\n colIndex,\n nestedContent,\n}) => {\n const content = nestedContent || cellRender(rowIndex, colIndex);\n if (!content) return <Fragment></Fragment>;\n\n let CellType = 'td';\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n let props = mergeCellProperties(rowIndex, colIndex, {\n class: baseCellClasses(colIndex),\n });\n\n if (column.rowHeader) {\n props =\n Number((props as TableTypes.CellProps).rowSpan) > 1\n ? { ...props, scope: 'rowgroup' }\n : { ...props, scope: 'row' };\n CellType = 'th';\n }\n\n return (\n <CellType\n // role=\"gridcell\"\n {...props}\n >\n <div class={`${CSSNAMESPACE}__cell-content`}>{content}</div>\n </CellType>\n );\n};\n"]}
1
+ {"version":3,"file":"table.cell.js","sourceRoot":"","sources":["../../../src/components/table/table.cell.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Fragment, FunctionalComponent, h, VNode } from '@stencil/core';\nimport { CSSNAMESPACE } from './table.constants';\nimport {\n classListToStr,\n colDataModel,\n fetchStores,\n mergeCellProperties,\n} from './table.utils';\nimport type { NanoResizeObserveCustomEvent, TableTypes } from '../../interface';\n\n// TABLE CELL\n// (tbody > tr > td, tbody > tr > th)\n\n/**\n * Renders a cell using a custom renderer if set.\n * @param rowIndex - the current row index being rendered\n * @param colIndex - the current column index being rendered\n * @returns - a JSX node\n */\nexport function cellRender(rowIndex: number, colIndex: number): VNode {\n const store = fetchStores();\n const columns = store.config.state.columns;\n const tpl = columns[colIndex]?.cellTemplate;\n const model = colDataModel(rowIndex, colIndex);\n\n if (!!model.cellModel && columns[colIndex].type === 'date') {\n const d = new Date(model.cellModel);\n if (d instanceof Date && !isNaN(d as any)) {\n model.cellModel = !tpl\n ? `${new Date(model.cellModel).toLocaleDateString()} ${new Date(\n model.cellModel\n ).toLocaleTimeString()}`\n : d;\n }\n }\n\n return tpl ? (\n tpl(h as unknown as TableTypes.HFunc<VNode>, model)\n ) : model.cellModel ? (\n <Fragment>{model.cellModel?.toString()}</Fragment>\n ) : (\n ''\n );\n}\n\nexport const baseCellClasses = (\n colIndex: number,\n toString: boolean = false\n) => {\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n\n const classes = {\n [`${CSSNAMESPACE}__td`]: true,\n [`${CSSNAMESPACE}__ordered`]: !!column.order,\n [`${CSSNAMESPACE}__pin`]: !!column.pinned,\n [`${CSSNAMESPACE}__pin--start`]: column.pinned === 'start',\n [`${CSSNAMESPACE}__pin--end`]: column.pinned === 'end',\n };\n\n if (toString) return classListToStr(classes);\n return classes;\n};\n\ntype TableCellProps = {\n rowIndex: number;\n colIndex: number;\n nestedContent?: () => VNode;\n};\n\nexport const TableCell: FunctionalComponent<TableCellProps> = ({\n rowIndex,\n colIndex,\n nestedContent,\n}) => {\n const Content = () =>\n nestedContent\n ? nestedContent()\n : cellRender(rowIndex, colIndex) || (\n <span class=\"placeholder\">&nbsp;</span>\n );\n\n let CellType = 'td';\n const store = fetchStores();\n const column = store.config.state.columns[colIndex];\n let props = mergeCellProperties(rowIndex, colIndex, {\n class: baseCellClasses(colIndex),\n });\n\n if (column.rowHeader) {\n props =\n Number((props as TableTypes.CellProps).rowSpan) > 1\n ? { ...props, scope: 'rowgroup' }\n : { ...props, scope: 'row' };\n CellType = 'th';\n }\n\n const ContentWrap = (props) => (\n <div\n {...props}\n class={{\n [`${CSSNAMESPACE}__cell-content`]: true,\n [`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,\n }}\n >\n <Content />\n </div>\n );\n\n return (\n <CellType\n // role=\"gridcell\"\n {...props}\n >\n {column.autoTooltip && !column.wrap ? (\n <nano-resize-observe\n notifyContentFit=\"x\"\n onNanoResizeContentFitChange={(\n e: NanoResizeObserveCustomEvent<{ x: boolean }>\n ) =>\n ((e.target.firstElementChild as HTMLNanoTooltipElement).disabled =\n e.detail.x)\n }\n >\n <nano-tooltip disabled hoist>\n <ContentWrap />\n <span slot=\"content\">\n <Content />\n </span>\n </nano-tooltip>\n </nano-resize-observe>\n ) : (\n <ContentWrap />\n )}\n </CellType>\n );\n};\n"]}
@@ -55,7 +55,7 @@ nano-table {
55
55
  */
56
56
  display: block;
57
57
  width: 100%;
58
- --max-col-width: clamp(200px, 30%, 20vw);
58
+ --max-col-width: clamp(200px, 500px, 50vw);
59
59
  --color: var(--nano-color-mediumgrey, #68767e);
60
60
  --font-size: 0.87rem;
61
61
  --cell-line-height: 1.5;
@@ -267,12 +267,18 @@ tfoot .nano-tbl__td .nano-tbl__cell-content, tfoot .nano-tbl__th .nano-tbl__cell
267
267
  .nano-tbl__cell-content--no-result {
268
268
  padding-block: 2rem;
269
269
  }
270
+ .nano-tbl__cell-content--wrap {
271
+ white-space: normal;
272
+ overflow: visible;
273
+ }
270
274
  .nano-tbl tbody {
271
275
  will-change: scroll-position;
272
- visibility: visible;
276
+ opacity: 1;
277
+ transition: 0.1s ease opacity;
278
+ transform: translateZ(0);
273
279
  }
274
280
  .nano-tbl tbody.nano-tbl__inactive {
275
- visibility: hidden;
281
+ opacity: 0;
276
282
  }
277
283
  .nano-tbl th[scope=row] {
278
284
  font-weight: 800;
@@ -280,12 +286,10 @@ tfoot .nano-tbl__td .nano-tbl__cell-content, tfoot .nano-tbl__th .nano-tbl__cell
280
286
  }
281
287
  .nano-tbl__pin {
282
288
  position: sticky;
283
- z-index: 1;
284
289
  }
285
290
  .nano-tbl__pin--start {
286
291
  inset-inline: -1px auto;
287
292
  transition: max-width 0.25s ease;
288
- z-index: 2;
289
293
  }
290
294
  .nano-tbl__pin--start::after {
291
295
  content: "";
@@ -306,7 +310,6 @@ tfoot .nano-tbl__td .nano-tbl__cell-content, tfoot .nano-tbl__th .nano-tbl__cell
306
310
  opacity: 1;
307
311
  }
308
312
  .nano-tbl__pin--end {
309
- z-index: 2;
310
313
  /*
311
314
  I cannot think of a nice way to make stuck-end columns play nice on small screens :(
312
315
  Changing the width when stuck (as we do for stuck-start columns) causes the whole positioning to change.
@@ -332,56 +335,39 @@ tfoot .nano-tbl__td .nano-tbl__cell-content, tfoot .nano-tbl__th .nano-tbl__cell
332
335
  opacity: 0;
333
336
  z-index: -1;
334
337
  }
335
- .sm .nano-tbl__pinned--end .nano-tbl__pin--end {
336
- z-index: 3;
337
- }
338
338
  .sm .nano-tbl__pinned--end .nano-tbl__pin--end::after {
339
339
  opacity: 1;
340
340
  }
341
341
  .nano-tbl__pin--top {
342
342
  inset-block: -1px auto;
343
- z-index: 3;
344
343
  }
345
344
  .nano-tbl__pinned--top .nano-tbl__pin--top {
346
345
  z-index: 4 !important;
347
346
  }
348
347
  .nano-tbl__pin--bottom {
349
348
  inset-block: auto -1px;
350
- z-index: 3;
351
349
  }
352
350
  .nano-tbl__pinned--bottom .nano-tbl__pin--bottom {
353
351
  z-index: 5 !important;
354
352
  }
355
- .nano-tbl__pin--top.nano-tbl__pin--start {
356
- z-index: 4;
357
- }
358
353
  .nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start {
359
354
  z-index: 5 !important;
360
355
  }
361
356
  .nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start {
362
357
  z-index: 6 !important;
363
358
  }
364
- .nano-tbl__pin--top.nano-tbl__pin--end {
365
- z-index: 4;
366
- }
367
359
  .nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end {
368
360
  z-index: 5 !important;
369
361
  }
370
362
  .nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end {
371
363
  z-index: 6 !important;
372
364
  }
373
- .nano-tbl__pin--bottom.nano-tbl__pin--start {
374
- z-index: 4;
375
- }
376
365
  .nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start {
377
366
  z-index: 5 !important;
378
367
  }
379
368
  .nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start {
380
369
  z-index: 6 !important;
381
370
  }
382
- .nano-tbl__pin--bottom.nano-tbl__pin--end {
383
- z-index: 4;
384
- }
385
371
  .nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end {
386
372
  z-index: 5 !important;
387
373
  }