@nanoporetech-digital/components 3.4.0 → 3.5.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 (101) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index-41582c2a.js +16 -12
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/nano-components.cjs.js +1 -1
  6. package/dist/cjs/nano-demo.cjs.entry.js +291 -0
  7. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -0
  8. package/dist/cjs/{nano-table-b9cdafab.js → nano-table-83e46f68.js} +486 -202
  9. package/dist/cjs/nano-table-83e46f68.js.map +1 -0
  10. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  11. package/dist/cjs/{table.worker-291904c9.js → table.worker-525ec230.js} +3 -3
  12. package/dist/cjs/table.worker-525ec230.js.map +1 -0
  13. package/dist/cjs/table.worker-e9fb087e.js +4 -0
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  16. package/dist/collection/components/demo/demo.js +284 -0
  17. package/dist/collection/components/demo/demo.js.map +1 -0
  18. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  19. package/dist/collection/components/table/table-interface.js.map +1 -1
  20. package/dist/collection/components/table/table.cell.js +65 -0
  21. package/dist/collection/components/table/table.cell.js.map +1 -0
  22. package/dist/collection/components/table/table.css +98 -20
  23. package/dist/collection/components/table/table.header.js +156 -0
  24. package/dist/collection/components/table/table.header.js.map +1 -0
  25. package/dist/collection/components/table/table.js +170 -18
  26. package/dist/collection/components/table/table.js.map +1 -1
  27. package/dist/collection/components/table/table.row.js +113 -0
  28. package/dist/collection/components/table/table.row.js.map +1 -0
  29. package/dist/collection/components/table/table.store.js +46 -9
  30. package/dist/collection/components/table/table.store.js.map +1 -1
  31. package/dist/collection/components/table/table.utils.js +230 -0
  32. package/dist/collection/components/table/table.utils.js.map +1 -1
  33. package/dist/collection/components/table/table.worker.js +1 -0
  34. package/dist/collection/components/table/table.worker.js.map +1 -1
  35. package/dist/components/index.d.ts +1 -0
  36. package/dist/components/index.js +1 -0
  37. package/dist/components/index.js.map +1 -1
  38. package/dist/components/nano-demo.d.ts +11 -0
  39. package/dist/components/nano-demo.js +341 -0
  40. package/dist/components/nano-demo.js.map +1 -0
  41. package/dist/components/nano-table.js +2 -1247
  42. package/dist/components/nano-table.js.map +1 -1
  43. package/dist/components/table.js +1539 -0
  44. package/dist/components/table.js.map +1 -0
  45. package/dist/components/table.worker.js +2 -2
  46. package/dist/custom-elements/index.d.ts +6 -0
  47. package/dist/custom-elements/index.js +772 -204
  48. package/dist/custom-elements/index.js.map +1 -1
  49. package/dist/esm/index-3c280603.js +16 -12
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/nano-components.js +1 -1
  53. package/dist/esm/nano-demo.entry.js +287 -0
  54. package/dist/esm/nano-demo.entry.js.map +1 -0
  55. package/dist/esm/{nano-table-c8ef2276.js → nano-table-e2405350.js} +487 -203
  56. package/dist/esm/nano-table-e2405350.js.map +1 -0
  57. package/dist/esm/nano-table.entry.js +1 -1
  58. package/dist/esm/{table.worker-65438fa0.js → table.worker-739c193f.js} +3 -3
  59. package/dist/esm/table.worker-739c193f.js.map +1 -0
  60. package/dist/esm/table.worker-e9fb087e.js +4 -0
  61. package/dist/nano-components/index.esm.js.map +1 -1
  62. package/dist/nano-components/nano-components.esm.js +1 -1
  63. package/dist/nano-components/nano-components.esm.js.map +1 -1
  64. package/dist/nano-components/p-28fdfa6b.js +5 -0
  65. package/dist/nano-components/p-28fdfa6b.js.map +1 -0
  66. package/dist/nano-components/p-85cfb0af.entry.js +5 -0
  67. package/dist/nano-components/p-85cfb0af.entry.js.map +1 -0
  68. package/dist/nano-components/p-a71989f3.js +5 -0
  69. package/dist/nano-components/{p-14218d23.entry.js.map → p-a71989f3.js.map} +0 -0
  70. package/dist/nano-components/{p-14218d23.entry.js → p-e4a28360.entry.js} +2 -2
  71. package/dist/nano-components/{p-fe1f8360.js.map → p-e4a28360.entry.js.map} +0 -0
  72. package/dist/nano-components/p-e9fb087e.js +4 -0
  73. package/dist/types/components/alert/alert.helpers.d.ts +1 -1
  74. package/dist/types/components/demo/demo.d.ts +6 -0
  75. package/dist/types/components/dialog/dialog.helpers.d.ts +1 -1
  76. package/dist/types/components/table/table-interface.d.ts +38 -23
  77. package/dist/types/components/table/table.cell.d.ts +18 -0
  78. package/dist/types/components/table/table.d.ts +36 -1
  79. package/dist/types/components/table/table.header.d.ts +16 -0
  80. package/dist/types/components/table/table.row.d.ts +15 -0
  81. package/dist/types/components/table/table.utils.d.ts +99 -0
  82. package/dist/types/components.d.ts +50 -0
  83. package/docs-json.json +124 -3
  84. package/docs-vscode.json +17 -1
  85. package/package.json +2 -2
  86. package/dist/cjs/nano-table-b9cdafab.js.map +0 -1
  87. package/dist/cjs/table.worker-1fd13775.js +0 -4
  88. package/dist/cjs/table.worker-291904c9.js.map +0 -1
  89. package/dist/collection/components/table/table.children.js +0 -224
  90. package/dist/collection/components/table/table.children.js.map +0 -1
  91. package/dist/collection/components/table/table.service.js +0 -121
  92. package/dist/collection/components/table/table.service.js.map +0 -1
  93. package/dist/esm/nano-table-c8ef2276.js.map +0 -1
  94. package/dist/esm/table.worker-1fd13775.js +0 -4
  95. package/dist/esm/table.worker-65438fa0.js.map +0 -1
  96. package/dist/nano-components/p-1fd13775.js +0 -4
  97. package/dist/nano-components/p-f9349146.js +0 -5
  98. package/dist/nano-components/p-f9349146.js.map +0 -1
  99. package/dist/nano-components/p-fe1f8360.js +0 -5
  100. package/dist/types/components/table/table.children.d.ts +0 -30
  101. package/dist/types/components/table/table.service.d.ts +0 -42
@@ -12,6 +12,7 @@ export { CheckboxGroup as NanoCheckboxGroup } from '../types/components/checkbox
12
12
  export { DataList as NanoDatalist } from '../types/components/datalist/datalist';
13
13
  export { DateInput as NanoDateInput } from '../types/components/date-input/date-input';
14
14
  export { DatePicker as NanoDatePicker } from '../types/components/date-picker/date-picker';
15
+ export { Demo as NanoDemo } from '../types/components/demo/demo';
15
16
  export { Details as NanoDetails } from '../types/components/details/details';
16
17
  export { Dialog as NanoDialog } from '../types/components/dialog/dialog';
17
18
  export { Drawer as NanoDrawer } from '../types/components/drawer/drawer';
@@ -18,6 +18,7 @@ export { NanoCheckboxGroup, defineCustomElement as defineCustomElementNanoCheckb
18
18
  export { NanoDatalist, defineCustomElement as defineCustomElementNanoDatalist } from './nano-datalist.js';
19
19
  export { NanoDateInput, defineCustomElement as defineCustomElementNanoDateInput } from './nano-date-input.js';
20
20
  export { NanoDatePicker, defineCustomElement as defineCustomElementNanoDatePicker } from './nano-date-picker.js';
21
+ export { NanoDemo, defineCustomElement as defineCustomElementNanoDemo } from './nano-demo.js';
21
22
  export { NanoDetails, defineCustomElement as defineCustomElementNanoDetails } from './nano-details.js';
22
23
  export { NanoDialog, defineCustomElement as defineCustomElementNanoDialog } from './nano-dialog.js';
23
24
  export { NanoDrawer, defineCustomElement as defineCustomElementNanoDrawer } from './nano-drawer.js';
@@ -1 +1 @@
1
- {"file":"index.js","mappings":"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","names":[],"sources":["./src/components/alert/alert.helpers.ts","./src/components/dialog/dialog.helpers.ts","./node_modules/focus-options-polyfill/index.js","./src/global/script/global.ts"],"sourcesContent":["import type { Color, AlertToastPosition } from '../../interface';\n\ninterface ImperativeAlertOptions {\n color?: Color;\n duration?: number;\n closable?: boolean;\n}\n\ninterface ImperativeAlertButton {\n classes: string;\n content: string;\n handler?: (e: MouseEvent) => {};\n}\n\nconst alertContent = (\n message: string,\n buttons: ImperativeAlertButton[] = []\n) => {\n return `${message}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`;\n};\n\nconst addBtnHandlers = (\n alert: HTMLNanoAlertElement,\n buttons: ImperativeAlertButton[] = []\n) => {\n if (buttons.length) {\n Array.from(alert.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n};\n\n/**\n * `nano-alert` helper to create toast notifications imperatively.\n * @param message - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param position - the position of the toast. Options are 'tr', 'tl', 'bl' & 'br'\n * @param icon - name for the `nano-icon`\n * @param alertOptions - { color: Color, duration: number, closable: boolean }\n * @returns `Promise<void>`\n */\nexport async function nanoShowToast(\n message: string,\n position: AlertToastPosition = 'tr',\n icon?: string | undefined,\n alertOptions?: ImperativeAlertOptions,\n buttons: ImperativeAlertButton[] = []\n) {\n const opts: ImperativeAlertOptions = {\n color: 'primary',\n duration: 3000,\n closable: true,\n ...alertOptions,\n };\n icon = icon || 'light/info-circle';\n const alert: HTMLNanoAlertElement = Object.assign(\n document.createElement('nano-alert'),\n {\n ...opts,\n open: false,\n innerHTML: `\n <nano-icon name=\"${icon}\" slot=\"icon\"></nano-icon>\n ${alertContent(message, buttons)}\n `,\n }\n );\n addBtnHandlers(alert, buttons);\n\n document.body.appendChild(alert);\n return new Promise<HTMLNanoAlertElement>((resolve) => {\n requestAnimationFrame(async (_) => {\n await alert.toast(position);\n resolve(alert);\n });\n });\n}\n\n/**\n * `nano-alert` helper to create alert notifications imperatively.\n * @param message - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons\n * @param label - descriptive label for assitive technology\n * @param icon - name for the `nano-icon`\n * @param alertOptions\n * @returns `Promise<void>`\n */\nexport function nanoShowAlert(\n message: string,\n buttons: ImperativeAlertButton[] = [],\n label: string,\n icon: string | undefined = 'light/info-circle',\n alertOptions: ImperativeAlertOptions = {}\n) {\n const opts: ImperativeAlertOptions = {\n color: 'primary',\n duration: Infinity,\n closable: false,\n ...alertOptions,\n };\n icon = icon || 'light/info-circle';\n const alert: HTMLNanoAlertElement = Object.assign(\n document.createElement('nano-alert'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${icon ? `<nano-icon name=\"${icon}\" slot=\"icon\"></nano-icon>` : ''}\n ${alertContent(message, buttons)}\n `,\n }\n );\n addBtnHandlers(alert, buttons);\n\n document.body.appendChild(alert);\n return new Promise<HTMLNanoAlertElement>((resolve) => {\n setTimeout(async (_) => {\n await alert.alert(label);\n resolve(alert);\n }, 100);\n });\n}\n","interface ImperativeDialogOptions {\n noUserDismiss: boolean;\n noHeader?: boolean;\n noFooter?: boolean;\n label: string;\n}\n/**\n * `nano-dialog` helper to create dialog modals imperatively.\n * @param body - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons - { classes: string; content: string; handler: () => {} }[]\n * @param dialogOptions - { noUserDismiss: boolean, noHeader?: boolean, noFooter?: boolean, label: string }\n * @returns `Promise<void>`\n */\nexport function nanoCreateDialog(\n body: string,\n buttons: { classes: string; content: string; handler: () => {} }[] = [],\n dialogOptions?: ImperativeDialogOptions\n) {\n const opts: ImperativeDialogOptions = {\n noUserDismiss: false,\n label: 'Dialog',\n ...dialogOptions,\n };\n const dialog: HTMLNanoDialogElement = Object.assign(\n document.createElement('nano-dialog'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${body}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`,\n }\n );\n\n if (buttons.length) {\n Array.from(dialog.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n\n document.body.appendChild(dialog);\n return dialog;\n}\n","// focus - focusOptions - preventScroll polyfill\n(function() {\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n typeof HTMLElement === \"undefined\"\n ) {\n return;\n }\n\n var supportsPreventScrollOption = false;\n try {\n var focusElem = document.createElement(\"div\");\n focusElem.addEventListener(\n \"focus\",\n function(event) {\n event.preventDefault();\n event.stopPropagation();\n },\n true\n );\n focusElem.focus(\n Object.defineProperty({}, \"preventScroll\", {\n get: function() {\n // Edge v18 gives a false positive for supporting inputs\n if (\n navigator &&\n typeof navigator.userAgent !== 'undefined' &&\n navigator.userAgent &&\n navigator.userAgent.match(/Edge\\/1[7-8]/)) {\n return supportsPreventScrollOption = false\n }\n\n supportsPreventScrollOption = true;\n }\n })\n );\n } catch (e) {}\n\n if (\n HTMLElement.prototype.nativeFocus === undefined &&\n !supportsPreventScrollOption\n ) {\n HTMLElement.prototype.nativeFocus = HTMLElement.prototype.focus;\n\n var calcScrollableElements = function(element) {\n var parent = element.parentNode;\n var scrollableElements = [];\n var rootScrollingElement =\n document.scrollingElement || document.documentElement;\n\n while (parent && parent !== rootScrollingElement) {\n if (\n parent.offsetHeight < parent.scrollHeight ||\n parent.offsetWidth < parent.scrollWidth\n ) {\n scrollableElements.push([\n parent,\n parent.scrollTop,\n parent.scrollLeft\n ]);\n }\n parent = parent.parentNode;\n }\n parent = rootScrollingElement;\n scrollableElements.push([parent, parent.scrollTop, parent.scrollLeft]);\n\n return scrollableElements;\n };\n\n var restoreScrollPosition = function(scrollableElements) {\n for (var i = 0; i < scrollableElements.length; i++) {\n scrollableElements[i][0].scrollTop = scrollableElements[i][1];\n scrollableElements[i][0].scrollLeft = scrollableElements[i][2];\n }\n scrollableElements = [];\n };\n\n var patchedFocus = function(args) {\n if (args && args.preventScroll) {\n var evScrollableElements = calcScrollableElements(this);\n if (typeof setTimeout === 'function') {\n var thisElem = this;\n setTimeout(function () {\n thisElem.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }, 0);\n } else {\n this.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }\n }\n else {\n this.nativeFocus();\n }\n };\n\n HTMLElement.prototype.focus = patchedFocus;\n }\n})();\n","import { Build } from '@stencil/core';\n\n// focus options\n\nimport 'focus-options-polyfill';\n\n// scroll-behaviour\n\nif (!('scrollBehavior' in document.documentElement.style)) {\n setTimeout((_) => {\n import(\n /* webpackChunkName: 'polyfills-scroll-behavior' */ 'scroll-behavior-polyfill'\n ).then((_) => {\n document.documentElement.style.scrollBehavior = 'smooth';\n });\n }, 0);\n} else document.documentElement.style.scrollBehavior = 'smooth';\n\n// fire global 'ready' event when everything is hydrated\n\nif (Build.isBrowser) {\n const docEle = document.documentElement;\n const docIsReady = () => {\n if (!docEle.classList.contains('hydrated')) return false;\n document.documentElement.dispatchEvent(\n new CustomEvent('nanoComponentsReady')\n );\n return true;\n };\n\n if (!docIsReady()) {\n let mutationO = new MutationObserver((_) => {\n if (docIsReady()) {\n mutationO.disconnect();\n mutationO = null;\n }\n });\n\n mutationO.observe(document.documentElement, {\n childList: false,\n subtree: false,\n attributes: true,\n });\n }\n}\n"],"version":3}
1
+ {"file":"index.js","mappings":"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","names":[],"sources":["./src/components/alert/alert.helpers.ts","./src/components/dialog/dialog.helpers.ts","./node_modules/focus-options-polyfill/index.js","./src/global/script/global.ts"],"sourcesContent":["import type { Color, AlertToastPosition } from '../../interface';\n\ninterface ImperativeAlertOptions {\n color?: Color;\n duration?: number;\n closable?: boolean;\n}\n\ninterface ImperativeAlertButton {\n classes: string;\n content: string;\n handler?: (e: MouseEvent) => void;\n}\n\nconst alertContent = (\n message: string,\n buttons: ImperativeAlertButton[] = []\n) => {\n return `${message}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`;\n};\n\nconst addBtnHandlers = (\n alert: HTMLNanoAlertElement,\n buttons: ImperativeAlertButton[] = []\n) => {\n if (buttons.length) {\n Array.from(alert.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n};\n\n/**\n * `nano-alert` helper to create toast notifications imperatively.\n * @param message - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param position - the position of the toast. Options are 'tr', 'tl', 'bl' & 'br'\n * @param icon - name for the `nano-icon`\n * @param alertOptions - { color: Color, duration: number, closable: boolean }\n * @returns `Promise<void>`\n */\nexport async function nanoShowToast(\n message: string,\n position: AlertToastPosition = 'tr',\n icon?: string | undefined,\n alertOptions?: ImperativeAlertOptions,\n buttons: ImperativeAlertButton[] = []\n) {\n const opts: ImperativeAlertOptions = {\n color: 'primary',\n duration: 3000,\n closable: true,\n ...alertOptions,\n };\n icon = icon || 'light/info-circle';\n const alert: HTMLNanoAlertElement = Object.assign(\n document.createElement('nano-alert'),\n {\n ...opts,\n open: false,\n innerHTML: `\n <nano-icon name=\"${icon}\" slot=\"icon\"></nano-icon>\n ${alertContent(message, buttons)}\n `,\n }\n );\n addBtnHandlers(alert, buttons);\n\n document.body.appendChild(alert);\n return new Promise<HTMLNanoAlertElement>((resolve) => {\n requestAnimationFrame(async (_) => {\n await alert.toast(position);\n resolve(alert);\n });\n });\n}\n\n/**\n * `nano-alert` helper to create alert notifications imperatively.\n * @param message - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons\n * @param label - descriptive label for assitive technology\n * @param icon - name for the `nano-icon`\n * @param alertOptions\n * @returns `Promise<void>`\n */\nexport function nanoShowAlert(\n message: string,\n buttons: ImperativeAlertButton[] = [],\n label: string,\n icon: string | undefined = 'light/info-circle',\n alertOptions: ImperativeAlertOptions = {}\n) {\n const opts: ImperativeAlertOptions = {\n color: 'primary',\n duration: Infinity,\n closable: false,\n ...alertOptions,\n };\n icon = icon || 'light/info-circle';\n const alert: HTMLNanoAlertElement = Object.assign(\n document.createElement('nano-alert'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${icon ? `<nano-icon name=\"${icon}\" slot=\"icon\"></nano-icon>` : ''}\n ${alertContent(message, buttons)}\n `,\n }\n );\n addBtnHandlers(alert, buttons);\n\n document.body.appendChild(alert);\n return new Promise<HTMLNanoAlertElement>((resolve) => {\n setTimeout(async (_) => {\n await alert.alert(label);\n resolve(alert);\n }, 100);\n });\n}\n","interface ImperativeDialogOptions {\n noUserDismiss: boolean;\n noHeader?: boolean;\n noFooter?: boolean;\n label: string;\n}\n/**\n * `nano-dialog` helper to create dialog modals imperatively.\n * @param body - a JS template string e.g. `<h4>Hello</h4> ${aVariable}`\n * @param buttons - { classes: string; content: string; handler: () => {} }[]\n * @param dialogOptions - { noUserDismiss: boolean, noHeader?: boolean, noFooter?: boolean, label: string }\n * @returns `Promise<void>`\n */\nexport function nanoCreateDialog(\n body: string,\n buttons: { classes: string; content: string; handler: () => void }[] = [],\n dialogOptions?: ImperativeDialogOptions\n) {\n const opts: ImperativeDialogOptions = {\n noUserDismiss: false,\n label: 'Dialog',\n ...dialogOptions,\n };\n const dialog: HTMLNanoDialogElement = Object.assign(\n document.createElement('nano-dialog'),\n {\n ...opts,\n open: false,\n innerHTML: `\n ${body}\n ${\n buttons.length\n ? buttons\n .map(\n (btn, i) =>\n `<button data-btn=\"${i}\" class=\"button ${btn.classes}\" slot=\"footer\">${btn.content}</button>`\n )\n .join('')\n : ''\n }`,\n }\n );\n\n if (buttons.length) {\n Array.from(dialog.querySelectorAll('button[slot=\"footer\"]')).map(\n (btn: HTMLElement) => {\n const foundBtn = buttons.find(\n (_fb, i) => btn.dataset.btn === i.toString()\n );\n if (foundBtn && foundBtn.handler) {\n btn.addEventListener('click', foundBtn.handler);\n }\n }\n );\n }\n\n document.body.appendChild(dialog);\n return dialog;\n}\n","// focus - focusOptions - preventScroll polyfill\n(function() {\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n typeof HTMLElement === \"undefined\"\n ) {\n return;\n }\n\n var supportsPreventScrollOption = false;\n try {\n var focusElem = document.createElement(\"div\");\n focusElem.addEventListener(\n \"focus\",\n function(event) {\n event.preventDefault();\n event.stopPropagation();\n },\n true\n );\n focusElem.focus(\n Object.defineProperty({}, \"preventScroll\", {\n get: function() {\n // Edge v18 gives a false positive for supporting inputs\n if (\n navigator &&\n typeof navigator.userAgent !== 'undefined' &&\n navigator.userAgent &&\n navigator.userAgent.match(/Edge\\/1[7-8]/)) {\n return supportsPreventScrollOption = false\n }\n\n supportsPreventScrollOption = true;\n }\n })\n );\n } catch (e) {}\n\n if (\n HTMLElement.prototype.nativeFocus === undefined &&\n !supportsPreventScrollOption\n ) {\n HTMLElement.prototype.nativeFocus = HTMLElement.prototype.focus;\n\n var calcScrollableElements = function(element) {\n var parent = element.parentNode;\n var scrollableElements = [];\n var rootScrollingElement =\n document.scrollingElement || document.documentElement;\n\n while (parent && parent !== rootScrollingElement) {\n if (\n parent.offsetHeight < parent.scrollHeight ||\n parent.offsetWidth < parent.scrollWidth\n ) {\n scrollableElements.push([\n parent,\n parent.scrollTop,\n parent.scrollLeft\n ]);\n }\n parent = parent.parentNode;\n }\n parent = rootScrollingElement;\n scrollableElements.push([parent, parent.scrollTop, parent.scrollLeft]);\n\n return scrollableElements;\n };\n\n var restoreScrollPosition = function(scrollableElements) {\n for (var i = 0; i < scrollableElements.length; i++) {\n scrollableElements[i][0].scrollTop = scrollableElements[i][1];\n scrollableElements[i][0].scrollLeft = scrollableElements[i][2];\n }\n scrollableElements = [];\n };\n\n var patchedFocus = function(args) {\n if (args && args.preventScroll) {\n var evScrollableElements = calcScrollableElements(this);\n if (typeof setTimeout === 'function') {\n var thisElem = this;\n setTimeout(function () {\n thisElem.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }, 0);\n } else {\n this.nativeFocus();\n restoreScrollPosition(evScrollableElements);\n }\n }\n else {\n this.nativeFocus();\n }\n };\n\n HTMLElement.prototype.focus = patchedFocus;\n }\n})();\n","import { Build } from '@stencil/core';\n\n// focus options\n\nimport 'focus-options-polyfill';\n\n// scroll-behaviour\n\nif (!('scrollBehavior' in document.documentElement.style)) {\n setTimeout((_) => {\n import(\n /* webpackChunkName: 'polyfills-scroll-behavior' */ 'scroll-behavior-polyfill'\n ).then((_) => {\n document.documentElement.style.scrollBehavior = 'smooth';\n });\n }, 0);\n} else document.documentElement.style.scrollBehavior = 'smooth';\n\n// fire global 'ready' event when everything is hydrated\n\nif (Build.isBrowser) {\n const docEle = document.documentElement;\n const docIsReady = () => {\n if (!docEle.classList.contains('hydrated')) return false;\n document.documentElement.dispatchEvent(\n new CustomEvent('nanoComponentsReady')\n );\n return true;\n };\n\n if (!docIsReady()) {\n let mutationO = new MutationObserver((_) => {\n if (docIsReady()) {\n mutationO.disconnect();\n mutationO = null;\n }\n });\n\n mutationO.observe(document.documentElement, {\n childList: false,\n subtree: false,\n attributes: true,\n });\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NanoDemo extends Components.NanoDemo, HTMLElement {}
4
+ export const NanoDemo: {
5
+ prototype: NanoDemo;
6
+ new (): NanoDemo;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,341 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import { proxyCustomElement, HTMLElement, h, Host, Fragment } from '@stencil/core/internal/client';
5
+ import { d as defineCustomElement$7 } from './icon.js';
6
+ import { d as defineCustomElement$6 } from './progress-bar.js';
7
+ import { d as defineCustomElement$5 } from './resize-observe.js';
8
+ import { d as defineCustomElement$4 } from './skeleton.js';
9
+ import { d as defineCustomElement$3 } from './spinner.js';
10
+ import { d as defineCustomElement$2 } from './table.js';
11
+
12
+ function capitalise(value) {
13
+ if (!value)
14
+ return '';
15
+ return value.charAt(0).toUpperCase() + value.slice(1);
16
+ }
17
+ function mediumDate(date) {
18
+ if (!date)
19
+ return undefined;
20
+ return new Date(date).toLocaleDateString(undefined, {
21
+ year: 'numeric',
22
+ month: 'short',
23
+ day: 'numeric',
24
+ });
25
+ }
26
+ function currency(amount = 0, currencyCode = 'USD') {
27
+ currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';
28
+ return new Intl.NumberFormat('en-US', {
29
+ style: 'currency',
30
+ currency: currencyCode,
31
+ }).format(amount);
32
+ }
33
+ const Demo = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
34
+ constructor() {
35
+ super();
36
+ this.__registerHost();
37
+ this.__attachShadow();
38
+ this.order = {
39
+ checks: [
40
+ {
41
+ name: 'Compliance',
42
+ external_id: 'CO',
43
+ status: 'complete',
44
+ account_info: {
45
+ name: 'Jeongmin Song',
46
+ email: 'js2957@cornell.edu',
47
+ address_line_1: '930 Campus Road',
48
+ address_line_2: 'Veterinary Medical Center C4 109',
49
+ address_postcode: '14853',
50
+ address_city: 'Ithaca',
51
+ address_region: 'New York',
52
+ address_country: 'US',
53
+ },
54
+ individual_name_compliance_information: {
55
+ table: {
56
+ names: [],
57
+ addresses: [],
58
+ match: false,
59
+ false_positive: null,
60
+ },
61
+ },
62
+ organization_compliance_information: {
63
+ table: {
64
+ names: [],
65
+ addresses: [],
66
+ match: false,
67
+ false_positive: null,
68
+ },
69
+ },
70
+ checks: [
71
+ {
72
+ label: 'Compliance check',
73
+ external_id: 'compliance_check',
74
+ item_type: 'pass/fail/escalate',
75
+ answer: 'pass',
76
+ },
77
+ ],
78
+ further_information: [],
79
+ attachments: [],
80
+ notes: [],
81
+ },
82
+ ],
83
+ orderId: '00886434',
84
+ createdAt: '2022-12-09T15:57:50',
85
+ updatedAt: '2022-12-09T16:02:29',
86
+ status: 'Processing',
87
+ subStatus: null,
88
+ currency: 'USD',
89
+ customerPaymentMethod: 'CC-USD',
90
+ paymentPlatform: 'Shop',
91
+ dataAreaId: 'OXUS',
92
+ defaultShippingWarehouse: null,
93
+ deliveryContact: 'Jeongmin Song',
94
+ deliveryMode: null,
95
+ deliveryName: 'Cornell University',
96
+ deliveryTerms: null,
97
+ invoiceAccountNumber: 'C038330',
98
+ orderAccountNumber: 'C038330',
99
+ orderAccountName: 'Cornell University',
100
+ originalLeadTime: null,
101
+ salesDate: '2022-12-09T15:57:50',
102
+ salesName: 'Cornell University',
103
+ salesOrigin: 'Shop',
104
+ salesOriginName: 'Main USD Store View',
105
+ customerReference: '',
106
+ purchaseOrder: null,
107
+ additionalDocuments: [],
108
+ total: 860,
109
+ shippingAmount: 50,
110
+ taxAmount: 0,
111
+ projectId: null,
112
+ deliveryPhoneNumber: '+16072533722',
113
+ invoicePhoneNumber: '+16072533722',
114
+ quoteNumber: null,
115
+ customerType: 'N/A',
116
+ invoiceAccountEmail: 'js2957@cornell.edu',
117
+ partnerReference: null,
118
+ sentToD365: false,
119
+ sentToD365Status: 'unsent',
120
+ orderAccountEmail: 'js2957@cornell.edu',
121
+ controllingAccountNumber: 'C038330',
122
+ controllingAccountEmail: 'js2957@cornell.edu',
123
+ deliveryAddress: {
124
+ street: ['930 Campus Road, Veterinary Medical Center C4 109'],
125
+ city: 'Ithaca',
126
+ postcode: '14853',
127
+ region: 'New York',
128
+ regionCode: 'NY',
129
+ countryCode: 'US',
130
+ },
131
+ invoiceAddress: {
132
+ street: ['930 Campus Road, Veterinary Medical Center C4 109'],
133
+ city: 'Ithaca',
134
+ postcode: '14853',
135
+ region: 'New York',
136
+ regionCode: 'NY',
137
+ countryCode: 'US',
138
+ },
139
+ shopOrderLines: [
140
+ {
141
+ name: 'Flongle Flow Cell (R9.4.1)',
142
+ sku: 'FLO-FLG001',
143
+ quantity: 1,
144
+ price: 810,
145
+ total: 810,
146
+ createdAt: '2022-12-09T15:57:50',
147
+ updatedAt: '2022-12-09T15:57:50',
148
+ maskSku: 'FLO-FLG001',
149
+ productType: 'bundle',
150
+ salesTag: 'FLGExpSP',
151
+ requestedShippingDate: null,
152
+ discount: 0,
153
+ discountPercentage: 0,
154
+ get finalSku() {
155
+ return this.maskSku || this.sku;
156
+ },
157
+ includedItems: [
158
+ {
159
+ name: 'Flongle Flow Cell (R9.4.1)',
160
+ sku: 'FLO-FLG001D',
161
+ quantity: 12,
162
+ price: 66,
163
+ total: 792,
164
+ createdAt: '2022-12-09T15:57:50',
165
+ updatedAt: '2022-12-09T15:57:50',
166
+ maskSku: 'FLO-FLG001',
167
+ productType: 'simple',
168
+ salesTag: 'FLGExpSP',
169
+ requestedShippingDate: '2022-12-27T00:00:00',
170
+ discount: 0,
171
+ discountPercentage: 0,
172
+ },
173
+ {
174
+ name: 'Flongle Flow Cell Priming Kit',
175
+ sku: 'EXP-FSE001',
176
+ quantity: 1,
177
+ price: 18,
178
+ total: 18,
179
+ createdAt: '2022-12-09T15:57:50',
180
+ updatedAt: '2022-12-09T15:57:50',
181
+ maskSku: '',
182
+ productType: 'simple',
183
+ salesTag: 'FLGExpSP',
184
+ requestedShippingDate: '2022-12-27T00:00:00',
185
+ discount: 0,
186
+ discountPercentage: 0,
187
+ },
188
+ ],
189
+ },
190
+ {
191
+ name: 'Carriage - Device shipment',
192
+ sku: 'FREIGHT',
193
+ quantity: 1,
194
+ price: 50,
195
+ total: 50,
196
+ createdAt: '2022-12-09T15:57:50',
197
+ updatedAt: '2022-12-09T15:57:50',
198
+ maskSku: '',
199
+ productType: 'virtual',
200
+ salesTag: null,
201
+ requestedShippingDate: '2022-12-27T00:00:00',
202
+ discount: 0,
203
+ discountPercentage: 0,
204
+ get finalSku() {
205
+ return this.maskSku || this.sku;
206
+ },
207
+ },
208
+ ],
209
+ orderLines: [],
210
+ pickedItems: [],
211
+ packedItems: [],
212
+ trackingNumbers: [],
213
+ trackingUpdates: [],
214
+ ecoOrder: false,
215
+ revenueOrder: false,
216
+ };
217
+ }
218
+ lineItemTotal(order) {
219
+ if (!order || !order.shopOrderLines?.length)
220
+ return;
221
+ let total = 0;
222
+ order.shopOrderLines.forEach((itm) => {
223
+ if (itm.status !== 'cancelled')
224
+ total += itm.total;
225
+ });
226
+ return total;
227
+ }
228
+ render() {
229
+ return (h(Host, null, h("nano-table", { rowRender: {
230
+ template: (_, c, TableCell) => [
231
+ c.renderedRow,
232
+ c.row.includedItems?.length ? (c.row.includedItems?.map((item) => {
233
+ return (h("tr", { class: "child-row" }, h(TableCell, { header: true }, item.name), h(TableCell, null, capitalise(c.row.status || this.order.status)), h(TableCell, null, capitalise(item.sku)), h(TableCell, null, capitalise(item.salesTag)), h(TableCell, null, mediumDate(item.requestedShippingDate))));
234
+ })) : (h(Fragment, null)),
235
+ ].flat(1),
236
+ }, columns: [
237
+ {
238
+ title: 'Name',
239
+ prop: 'name',
240
+ pinned: 'start',
241
+ rowHeader: true,
242
+ },
243
+ {
244
+ title: 'Status',
245
+ prop: 'status',
246
+ cellTemplate: (_, c) => capitalise(c.cellModel || this.order.status),
247
+ },
248
+ {
249
+ title: 'SKU',
250
+ prop: 'finalSku',
251
+ },
252
+ {
253
+ title: 'Sales tag',
254
+ prop: 'salesTag',
255
+ cellTemplate: (_, c) => c.cellModel || 'None',
256
+ },
257
+ {
258
+ title: 'Requested ship date',
259
+ prop: 'requestedShippingDate',
260
+ cellTemplate: (_, c) => mediumDate(c.cellModel) || 'N/A',
261
+ },
262
+ {
263
+ title: 'Quantity',
264
+ prop: 'quantity',
265
+ },
266
+ {
267
+ title: 'Unit price',
268
+ prop: 'price',
269
+ cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),
270
+ },
271
+ {
272
+ title: 'Discount %',
273
+ prop: 'discountPercentage',
274
+ cellTemplate: (_, c) => c.cellModel || 0,
275
+ },
276
+ {
277
+ title: 'Line value',
278
+ prop: 'total',
279
+ cellTemplate: (_, c) => currency(c.cellModel, this.order.currency),
280
+ },
281
+ ], rows: this.order.shopOrderLines, caption: `List of order line items found within order ${this.order.orderId}`, showFooter: true, footRender: {
282
+ pinned: 'bottom',
283
+ template: () => [
284
+ h("tr", null, h("td", { colSpan: 6 }, "\u00A0"), h("th", { scope: "row", class: "tbl__pin nano-tbl__pin--end", colSpan: 3 }, h("div", { class: "nano-tbl__cell-content order-lines__total" }, h("span", { class: "order-lines__total--label" }, "Sub total:"), h("span", { class: "order-lines__total--num" }, currency(this.lineItemTotal(this.order), this.order.currency))))),
285
+ h("tr", null, h("td", { colSpan: 6 }, "\u00A0"), h("th", { scope: "row", class: "tbl__pin nano-tbl__pin--end", colSpan: 3 }, h("div", { class: "nano-tbl__cell-content order-lines__total" }, h("span", { class: "order-lines__total--label" }, "Total order tax:"), h("span", { class: "order-lines__total--num" }, currency(this.order.taxAmount, this.order.currency))))),
286
+ h("tr", null, h("td", { colSpan: 6 }, "\u00A0"), h("th", { scope: "row", class: "tbl__pin nano-tbl__pin--end", colSpan: 3 }, h("div", { class: "nano-tbl__cell-content order-lines__total" }, h("span", { class: "order-lines__total--label" }, "Total on order placement:"), h("span", { class: "order-lines__total--num" }, currency(this.order.total, this.order.currency))))),
287
+ ],
288
+ } })));
289
+ }
290
+ static get style() { return ":host {display: block}\n .child-row {\n opacity: .8;\n font-style: italic;\n }"; }
291
+ }, [1, "nano-demo"]);
292
+ function defineCustomElement$1() {
293
+ if (typeof customElements === "undefined") {
294
+ return;
295
+ }
296
+ const components = ["nano-demo", "nano-icon", "nano-progress-bar", "nano-resize-observe", "nano-skeleton", "nano-spinner", "nano-table"];
297
+ components.forEach(tagName => { switch (tagName) {
298
+ case "nano-demo":
299
+ if (!customElements.get(tagName)) {
300
+ customElements.define(tagName, Demo);
301
+ }
302
+ break;
303
+ case "nano-icon":
304
+ if (!customElements.get(tagName)) {
305
+ defineCustomElement$7();
306
+ }
307
+ break;
308
+ case "nano-progress-bar":
309
+ if (!customElements.get(tagName)) {
310
+ defineCustomElement$6();
311
+ }
312
+ break;
313
+ case "nano-resize-observe":
314
+ if (!customElements.get(tagName)) {
315
+ defineCustomElement$5();
316
+ }
317
+ break;
318
+ case "nano-skeleton":
319
+ if (!customElements.get(tagName)) {
320
+ defineCustomElement$4();
321
+ }
322
+ break;
323
+ case "nano-spinner":
324
+ if (!customElements.get(tagName)) {
325
+ defineCustomElement$3();
326
+ }
327
+ break;
328
+ case "nano-table":
329
+ if (!customElements.get(tagName)) {
330
+ defineCustomElement$2();
331
+ }
332
+ break;
333
+ } });
334
+ }
335
+
336
+ const NanoDemo = Demo;
337
+ const defineCustomElement = defineCustomElement$1;
338
+
339
+ export { NanoDemo, defineCustomElement };
340
+
341
+ //# sourceMappingURL=nano-demo.js.map
@@ -0,0 +1 @@
1
+ {"file":"nano-demo.js","mappings":"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","names":[],"sources":["./src/components/demo/demo.tsx"],"sourcesContent":["import {\n Component,\n ComponentInterface,\n Fragment,\n h,\n Host,\n} from '@stencil/core';\n\nfunction capitalise(value: string) {\n if (!value) return '';\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction mediumDate(date: Date) {\n if (!date) return undefined;\n return new Date(date).toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n}\n\nfunction currency(amount: number = 0, currencyCode: string = 'USD') {\n currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n}\n\n@Component({\n tag: 'nano-demo',\n shadow: true,\n styles: /* css */ `\n :host {display: block}\n .child-row {\n opacity: .8;\n font-style: italic;\n }\n `,\n})\nexport class Demo implements ComponentInterface {\n private order = {\n checks: [\n {\n name: 'Compliance',\n external_id: 'CO',\n status: 'complete',\n account_info: {\n name: 'Jeongmin Song',\n email: 'js2957@cornell.edu',\n address_line_1: '930 Campus Road',\n address_line_2: 'Veterinary Medical Center C4 109',\n address_postcode: '14853',\n address_city: 'Ithaca',\n address_region: 'New York',\n address_country: 'US',\n },\n individual_name_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n organization_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n checks: [\n {\n label: 'Compliance check',\n external_id: 'compliance_check',\n item_type: 'pass/fail/escalate',\n answer: 'pass',\n },\n ],\n further_information: [],\n attachments: [],\n notes: [],\n },\n ],\n orderId: '00886434',\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T16:02:29',\n status: 'Processing',\n subStatus: null,\n currency: 'USD',\n customerPaymentMethod: 'CC-USD',\n paymentPlatform: 'Shop',\n dataAreaId: 'OXUS',\n defaultShippingWarehouse: null,\n deliveryContact: 'Jeongmin Song',\n deliveryMode: null,\n deliveryName: 'Cornell University',\n deliveryTerms: null,\n invoiceAccountNumber: 'C038330',\n orderAccountNumber: 'C038330',\n orderAccountName: 'Cornell University',\n originalLeadTime: null,\n salesDate: '2022-12-09T15:57:50',\n salesName: 'Cornell University',\n salesOrigin: 'Shop',\n salesOriginName: 'Main USD Store View',\n customerReference: '',\n purchaseOrder: null,\n additionalDocuments: [],\n total: 860,\n shippingAmount: 50,\n taxAmount: 0,\n projectId: null,\n deliveryPhoneNumber: '+16072533722',\n invoicePhoneNumber: '+16072533722',\n quoteNumber: null,\n customerType: 'N/A',\n invoiceAccountEmail: 'js2957@cornell.edu',\n partnerReference: null,\n sentToD365: false,\n sentToD365Status: 'unsent',\n orderAccountEmail: 'js2957@cornell.edu',\n controllingAccountNumber: 'C038330',\n controllingAccountEmail: 'js2957@cornell.edu',\n deliveryAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n invoiceAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n shopOrderLines: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001',\n quantity: 1,\n price: 810,\n total: 810,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'bundle',\n salesTag: 'FLGExpSP',\n requestedShippingDate: null,\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n includedItems: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001D',\n quantity: 12,\n price: 66,\n total: 792,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n {\n name: 'Flongle Flow Cell Priming Kit',\n sku: 'EXP-FSE001',\n quantity: 1,\n price: 18,\n total: 18,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n ],\n },\n {\n name: 'Carriage - Device shipment',\n sku: 'FREIGHT',\n quantity: 1,\n price: 50,\n total: 50,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'virtual',\n salesTag: null,\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n },\n ],\n orderLines: [],\n pickedItems: [],\n packedItems: [],\n trackingNumbers: [],\n trackingUpdates: [],\n ecoOrder: false,\n revenueOrder: false,\n };\n\n private lineItemTotal(order) {\n if (!order || !order.shopOrderLines?.length) return;\n let total = 0;\n order.shopOrderLines.forEach((itm) => {\n if (itm.status !== 'cancelled') total += itm.total;\n });\n return total;\n }\n\n render() {\n return (\n <Host>\n <nano-table\n rowRender={{\n template: (_, c, TableCell) =>\n [\n c.renderedRow,\n c.row.includedItems?.length ? (\n c.row.includedItems?.map((item) => {\n return (\n <tr class=\"child-row\">\n <TableCell header={true}>{item.name}</TableCell>\n <TableCell>\n {capitalise(c.row.status || this.order.status)}\n </TableCell>\n <TableCell>{capitalise(item.sku)}</TableCell>\n <TableCell>{capitalise(item.salesTag)}</TableCell>\n <TableCell>\n {mediumDate(item.requestedShippingDate)}\n </TableCell>\n </tr>\n );\n })\n ) : (\n <Fragment />\n ),\n ].flat(1),\n }}\n columns={[\n {\n title: 'Name',\n prop: 'name',\n pinned: 'start',\n rowHeader: true,\n },\n {\n title: 'Status',\n prop: 'status',\n cellTemplate: (_, c) =>\n capitalise(c.cellModel || this.order.status),\n },\n {\n title: 'SKU',\n prop: 'finalSku',\n },\n {\n title: 'Sales tag',\n prop: 'salesTag',\n cellTemplate: (_, c) => c.cellModel || 'None',\n },\n {\n title: 'Requested ship date',\n prop: 'requestedShippingDate',\n cellTemplate: (_, c) => mediumDate(c.cellModel) || 'N/A',\n },\n {\n title: 'Quantity',\n prop: 'quantity',\n },\n {\n title: 'Unit price',\n prop: 'price',\n cellTemplate: (_, c) =>\n currency(c.cellModel, this.order.currency),\n },\n {\n title: 'Discount %',\n prop: 'discountPercentage',\n cellTemplate: (_, c) => c.cellModel || 0,\n },\n {\n title: 'Line value',\n prop: 'total',\n cellTemplate: (_, c) =>\n currency(c.cellModel, this.order.currency),\n },\n ]}\n rows={this.order.shopOrderLines}\n caption={`List of order line items found within order ${this.order.orderId}`}\n showFooter={true}\n footRender={{\n pinned: 'bottom',\n template: () => [\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">Sub total:</span>\n <span class=\"order-lines__total--num\">\n {currency(\n this.lineItemTotal(this.order),\n this.order.currency\n )}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total order tax:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.taxAmount, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total on order placement:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.total, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n ],\n }}\n />\n </Host>\n );\n }\n}\n"],"version":3}