@nanoporetech-digital/components 3.0.0 → 3.1.1

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 (212) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/cjs/index-41582c2a.js +8 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/nano-checkbox-group.cjs.entry.js +12 -3
  5. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/nano-components.cjs.js +1 -1
  7. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  8. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nano-field-validator.cjs.entry.js +2 -0
  10. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +3 -3
  12. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-global-nav.cjs.entry.js +18 -20
  14. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-input.cjs.entry.js +1 -1
  16. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
  18. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-progress-bar.cjs.entry.js +33 -0
  20. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +1 -0
  21. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +2 -2
  22. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  26. package/dist/cjs/nano-tab.cjs.entry.js +1 -1
  27. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  28. package/dist/cjs/{nano-table-8a898621.js → nano-table-844394ad.js} +146 -58
  29. package/dist/cjs/nano-table-844394ad.js.map +1 -0
  30. package/dist/cjs/nano-table.cjs.entry.js +2 -1
  31. package/dist/cjs/nano-table.cjs.entry.js.map +1 -1
  32. package/dist/cjs/{table.worker-b0b0044a.js → table.worker-1bc19978.js} +3 -2
  33. package/dist/cjs/table.worker-1bc19978.js.map +1 -0
  34. package/dist/cjs/{transitions-d295a09e.js → transitions-5cd8f697.js} +10 -8
  35. package/dist/cjs/transitions-5cd8f697.js.map +1 -0
  36. package/dist/collection/collection-manifest.json +1 -0
  37. package/dist/collection/components/checkbox/checkbox-group.js +12 -3
  38. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  39. package/dist/collection/components/details/details.css +1 -0
  40. package/dist/collection/components/field-validator/field-validator.js +2 -0
  41. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  42. package/dist/collection/components/global-nav/assets/ont-logo.svg +89 -47
  43. package/dist/collection/components/global-nav/global-nav-interface.js.map +1 -1
  44. package/dist/collection/components/global-nav/global-nav.js +19 -21
  45. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  46. package/dist/collection/components/global-nav/{global-nav.css → style/global-nav.css} +465 -405
  47. package/dist/collection/components/input/input.css +2 -0
  48. package/dist/collection/components/menu-drawer/menu-drawer.css +1 -0
  49. package/dist/collection/components/nav-item/nav-item.css +6 -6
  50. package/dist/collection/components/progress-bar/progress-bar.css +84 -0
  51. package/dist/collection/components/progress-bar/progress-bar.js +106 -0
  52. package/dist/collection/components/progress-bar/progress-bar.js.map +1 -0
  53. package/dist/collection/components/select/select.css +4 -0
  54. package/dist/collection/components/skeleton/skeleton.css +8 -5
  55. package/dist/collection/components/skeleton/skeleton.js +1 -1
  56. package/dist/collection/components/skeleton/skeleton.js.map +1 -1
  57. package/dist/collection/components/spinner/spinner.css +5 -9
  58. package/dist/collection/components/table/table.children.js +43 -17
  59. package/dist/collection/components/table/table.children.js.map +1 -1
  60. package/dist/collection/components/table/table.css +97 -27
  61. package/dist/collection/components/table/table.js +143 -33
  62. package/dist/collection/components/table/table.js.map +1 -1
  63. package/dist/collection/components/table/table.service.js +1 -10
  64. package/dist/collection/components/table/table.service.js.map +1 -1
  65. package/dist/collection/components/table/table.store.js +11 -11
  66. package/dist/collection/components/table/table.store.js.map +1 -1
  67. package/dist/collection/components/tabs/tab.css +1 -0
  68. package/dist/collection/utils/transitions.js +9 -7
  69. package/dist/collection/utils/transitions.js.map +1 -1
  70. package/dist/components/index.d.ts +1 -0
  71. package/dist/components/index.js +1 -0
  72. package/dist/components/index.js.map +1 -1
  73. package/dist/components/input.js +1 -1
  74. package/dist/components/input.js.map +1 -1
  75. package/dist/components/nano-checkbox-group.js +12 -3
  76. package/dist/components/nano-checkbox-group.js.map +1 -1
  77. package/dist/components/nano-details.js +1 -1
  78. package/dist/components/nano-details.js.map +1 -1
  79. package/dist/components/nano-field-validator.js +2 -0
  80. package/dist/components/nano-field-validator.js.map +1 -1
  81. package/dist/components/nano-global-nav.js +17 -19
  82. package/dist/components/nano-global-nav.js.map +1 -1
  83. package/dist/components/nano-menu-drawer.js +1 -1
  84. package/dist/components/nano-menu-drawer.js.map +1 -1
  85. package/dist/components/nano-progress-bar.d.ts +11 -0
  86. package/dist/components/nano-progress-bar.js +11 -0
  87. package/dist/components/nano-progress-bar.js.map +1 -0
  88. package/dist/components/nano-tab.js +1 -1
  89. package/dist/components/nano-tab.js.map +1 -1
  90. package/dist/components/nano-table.js +167 -58
  91. package/dist/components/nano-table.js.map +1 -1
  92. package/dist/components/nav-item.js +1 -1
  93. package/dist/components/nav-item.js.map +1 -1
  94. package/dist/components/progress-bar.js +48 -0
  95. package/dist/components/progress-bar.js.map +1 -0
  96. package/dist/components/select.js +1 -1
  97. package/dist/components/select.js.map +1 -1
  98. package/dist/components/skeleton.js +2 -2
  99. package/dist/components/skeleton.js.map +1 -1
  100. package/dist/components/spinner.js +1 -1
  101. package/dist/components/spinner.js.map +1 -1
  102. package/dist/components/transitions.js +9 -7
  103. package/dist/components/transitions.js.map +1 -1
  104. package/dist/custom-elements/index.d.ts +6 -0
  105. package/dist/custom-elements/index.js +219 -96
  106. package/dist/custom-elements/index.js.map +1 -1
  107. package/dist/esm/index-3c280603.js +8 -4
  108. package/dist/esm/loader.js +1 -1
  109. package/dist/esm/nano-checkbox-group.entry.js +12 -3
  110. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  111. package/dist/esm/nano-components.js +1 -1
  112. package/dist/esm/nano-details.entry.js +2 -2
  113. package/dist/esm/nano-details.entry.js.map +1 -1
  114. package/dist/esm/nano-field-validator.entry.js +2 -0
  115. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  116. package/dist/esm/nano-global-nav-user-profile_3.entry.js +3 -3
  117. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  118. package/dist/esm/nano-global-nav.entry.js +18 -20
  119. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  120. package/dist/esm/nano-input.entry.js +1 -1
  121. package/dist/esm/nano-input.entry.js.map +1 -1
  122. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  123. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  124. package/dist/esm/nano-progress-bar.entry.js +29 -0
  125. package/dist/esm/nano-progress-bar.entry.js.map +1 -0
  126. package/dist/esm/nano-resize-observe_2.entry.js +2 -2
  127. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  128. package/dist/esm/nano-spinner.entry.js +1 -1
  129. package/dist/esm/nano-spinner.entry.js.map +1 -1
  130. package/dist/esm/nano-tab-group.entry.js +1 -1
  131. package/dist/esm/nano-tab.entry.js +1 -1
  132. package/dist/esm/nano-tab.entry.js.map +1 -1
  133. package/dist/esm/{nano-table-efdf3dba.js → nano-table-19d19d72.js} +146 -58
  134. package/dist/esm/nano-table-19d19d72.js.map +1 -0
  135. package/dist/esm/nano-table.entry.js +2 -1
  136. package/dist/esm/nano-table.entry.js.map +1 -1
  137. package/dist/esm/{table.worker-10ba1126.js → table.worker-c82cecdf.js} +3 -2
  138. package/dist/esm/table.worker-c82cecdf.js.map +1 -0
  139. package/dist/esm/{transitions-d75d242e.js → transitions-71cca3ed.js} +10 -8
  140. package/dist/esm/transitions-71cca3ed.js.map +1 -0
  141. package/dist/nano-components/assets/ont-logo.svg +89 -47
  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-02df1f62.entry.js +5 -0
  145. package/dist/nano-components/{p-9f8b091a.entry.js.map → p-02df1f62.entry.js.map} +1 -1
  146. package/dist/nano-components/p-167b9165.js +5 -0
  147. package/dist/nano-components/p-167b9165.js.map +1 -0
  148. package/dist/nano-components/p-1ae8c03e.entry.js +5 -0
  149. package/dist/nano-components/p-1ae8c03e.entry.js.map +1 -0
  150. package/dist/nano-components/p-28b43ee9.entry.js +5 -0
  151. package/dist/nano-components/{p-49a831a3.entry.js.map → p-28b43ee9.entry.js.map} +1 -1
  152. package/dist/nano-components/{p-8ef2363b.entry.js → p-6cd59e58.entry.js} +2 -2
  153. package/dist/nano-components/{p-8ef2363b.entry.js.map → p-6cd59e58.entry.js.map} +0 -0
  154. package/dist/nano-components/{p-687350a5.entry.js → p-701e8ebf.entry.js} +2 -2
  155. package/dist/nano-components/p-701e8ebf.entry.js.map +1 -0
  156. package/dist/nano-components/p-7ade1695.js +5 -0
  157. package/dist/nano-components/{p-8a6834ff.entry.js.map → p-7ade1695.js.map} +0 -0
  158. package/dist/nano-components/p-8a52a411.entry.js +5 -0
  159. package/dist/nano-components/{p-68b18b99.entry.js.map → p-8a52a411.entry.js.map} +1 -1
  160. package/dist/nano-components/p-a2d0d7b9.entry.js.map +1 -1
  161. package/dist/nano-components/p-b4a045a2.entry.js +5 -0
  162. package/dist/nano-components/{p-b7b06e04.js.map → p-b4a045a2.entry.js.map} +0 -0
  163. package/dist/nano-components/p-b7901427.entry.js +5 -0
  164. package/dist/nano-components/p-b7901427.entry.js.map +1 -0
  165. package/dist/nano-components/p-b83a8320.js +5 -0
  166. package/dist/nano-components/p-b83a8320.js.map +1 -0
  167. package/dist/nano-components/p-d8e8d7e3.entry.js +5 -0
  168. package/dist/nano-components/p-d8e8d7e3.entry.js.map +1 -0
  169. package/dist/nano-components/p-efa8c520.entry.js +5 -0
  170. package/dist/nano-components/{p-47bd0f5d.entry.js.map → p-efa8c520.entry.js.map} +1 -1
  171. package/dist/nano-components/p-f95a263c.entry.js +5 -0
  172. package/dist/nano-components/p-f95a263c.entry.js.map +1 -0
  173. package/dist/nano-components/p-fa2a6733.entry.js +5 -0
  174. package/dist/nano-components/p-fa2a6733.entry.js.map +1 -0
  175. package/dist/themes/london-calling.css.map +1 -1
  176. package/dist/themes/nanopore.css.map +1 -1
  177. package/dist/types/components/global-nav/global-nav-interface.d.ts +43 -0
  178. package/dist/types/components/global-nav/global-nav.d.ts +1 -1
  179. package/dist/types/components/progress-bar/progress-bar.d.ts +19 -0
  180. package/dist/types/components/table/table.children.d.ts +2 -1
  181. package/dist/types/components/table/table.d.ts +25 -7
  182. package/dist/types/components/table/table.service.d.ts +1 -7
  183. package/dist/types/components/table/table.store.d.ts +4 -2
  184. package/dist/types/components.d.ts +60 -5
  185. package/docs-json.json +274 -49
  186. package/docs-vscode.json +31 -2
  187. package/package.json +3 -3
  188. package/dist/cjs/nano-table-8a898621.js.map +0 -1
  189. package/dist/cjs/table.worker-b0b0044a.js.map +0 -1
  190. package/dist/cjs/transitions-d295a09e.js.map +0 -1
  191. package/dist/esm/nano-table-efdf3dba.js.map +0 -1
  192. package/dist/esm/table.worker-10ba1126.js.map +0 -1
  193. package/dist/esm/transitions-d75d242e.js.map +0 -1
  194. package/dist/nano-components/p-03402e69.entry.js +0 -5
  195. package/dist/nano-components/p-03402e69.entry.js.map +0 -1
  196. package/dist/nano-components/p-2382d5e9.entry.js +0 -5
  197. package/dist/nano-components/p-2382d5e9.entry.js.map +0 -1
  198. package/dist/nano-components/p-47bd0f5d.entry.js +0 -5
  199. package/dist/nano-components/p-49a831a3.entry.js +0 -5
  200. package/dist/nano-components/p-4c6ef60b.js +0 -5
  201. package/dist/nano-components/p-4c6ef60b.js.map +0 -1
  202. package/dist/nano-components/p-61bfb8b9.entry.js +0 -5
  203. package/dist/nano-components/p-61bfb8b9.entry.js.map +0 -1
  204. package/dist/nano-components/p-687350a5.entry.js.map +0 -1
  205. package/dist/nano-components/p-68b18b99.entry.js +0 -5
  206. package/dist/nano-components/p-82295d91.js +0 -5
  207. package/dist/nano-components/p-82295d91.js.map +0 -1
  208. package/dist/nano-components/p-8a6834ff.entry.js +0 -5
  209. package/dist/nano-components/p-9f2524d4.entry.js +0 -5
  210. package/dist/nano-components/p-9f2524d4.entry.js.map +0 -1
  211. package/dist/nano-components/p-9f8b091a.entry.js +0 -5
  212. package/dist/nano-components/p-b7b06e04.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"field-validator.js","sourceRoot":"","sources":["../../../src/components/field-validator/field-validator.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { createStore, ObservableMap } from '@stencil/store';\nimport type {\n NanoFormEles,\n PlainFormEles,\n NanoFormEvent,\n ValidationState,\n ValidatorValueStore,\n PlainFormEvent,\n} from '../../interface';\n\n/**\n * A toolbox for `nano-...` form fields and form validation.\n * - Easy to add validation across field dependencies - e.g. \"When Field1 contains '123' Field2 must contain '456'\"\n * - Easy access to whole form and individual field validity states\n * - Easy access to form data payload\n * = Access to 2-way, data bound reactive store\n * - Scroll to invalid field on submit\n */\n@Component({\n tag: 'nano-field-validator',\n})\nexport class FieldValidator implements ComponentInterface {\n // Internal State\n\n @Element() host: HTMLNanoFieldValidatorElement;\n @State() submitted = false;\n @State() userForm: HTMLFormElement;\n @Watch('userForm')\n userFormChange() {\n if (!!this.userForm) this.activeForm = this.userForm;\n }\n\n private get activeForm() {\n return this._activeForm;\n }\n private set activeForm(form: HTMLFormElement) {\n // manages event listners on whatever form is used (slotted on created here)\n if (!form) return;\n\n if (this._activeForm) {\n this._activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n form.addEventListener('invalid', this.handleFormInvalid, true);\n this._activeForm = form;\n }\n private _activeForm: HTMLFormElement;\n private mo: MutationObserver;\n private allFields: Array<NanoFormEles | PlainFormEles> = [];\n private nanoFields: NanoFormEles[];\n private plainFields: PlainFormEles[];\n private nanoFieldSelector = `\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `;\n private hasSetStore = false;\n\n // annoyingly, whenever we attempt to `checkValidty()` it fires `invalid` events.\n // this is used to prevent infinite loops / multiple calls\n private internalValidate = false;\n\n // Public API\n\n /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /** Sync up validateOn with all fields */\n @Watch('validateOn')\n validateOnChange() {\n this.nanoFields.forEach((field) => {\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n if (cbg) cbg.validateOn = this.validateOn;\n } else {\n (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).validateOn =\n this.validateOn;\n }\n });\n }\n\n /** Tries to scroll to the first invalid field on submit */\n @Prop() scrollToInvalid = true;\n\n /** Returns true if any nested fields have been changed @readonly */\n @Prop({ reflect: true })\n get dirty() {\n return this._dirty;\n }\n @State() _dirty = false;\n\n /** Returns true if all the nested fields are currently valid @readonly */\n @Prop({ reflect: true })\n get valid() {\n return this._valid;\n }\n @State() _valid: boolean;\n\n /** The current form state as a stencil store. */\n @Prop() get store(): ObservableMap<ValidatorValueStore> {\n return this._store;\n }\n @State() _store: ObservableMap<ValidatorValueStore>;\n\n /** The current form payload as a reactive proxy. @readonly */\n @Prop()\n get payload() {\n return this._store.state;\n }\n\n /** Returns true if validation errors will be displayed to the user. @readonly */\n @Prop()\n get showValidation() {\n return (this.validateOn === 'dirty' && this.dirty) || this.submitted;\n }\n\n /** Get the current validation state of all form fields. @readonly\n * ```\n {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n }[]\n ```\n */\n @Prop()\n get validationState(): ValidationState[] {\n // TODO - migrate nano-fields away from using proprietary methods in a bid to be closer to the spec\n\n // this is big and ugly.\n // why? Cos' it must unify checking validity state for both\n // `nano-...` and plain form fields.\n const validationState: ValidationState[] = [];\n\n this.allFields.forEach(async (field) => {\n const found = validationState.find((v) => v.name === this.getName(field));\n let pf: PlainFormEles;\n let nf: NanoFormEles;\n\n if (found) {\n if ((field as PlainFormEles).validationMessage) {\n pf = field as PlainFormEles;\n found.validityMessage = pf.validationMessage.length\n ? pf.validationMessage\n : found.validityMessage;\n this.internalValidate = true;\n if (found.valid && !pf.checkValidity()) found.valid = false;\n this.internalValidate = false;\n } else if ((field as NanoFormEles).validityMessage) {\n nf = field as NanoFormEles;\n found.validityMessage = nf.validityMessage.length\n ? nf.validityMessage\n : nf.validityMessage;\n if (found.valid && nf.invalid) found.valid = false;\n }\n if (!found.fields.find((f) => f === field)) found.fields.push(field);\n }\n\n let valid: boolean;\n let validityMessage: string;\n\n if ((field as PlainFormEles).checkValidity) {\n pf = field as PlainFormEles;\n this.internalValidate = true;\n valid = pf.checkValidity();\n this.internalValidate = false;\n validityMessage = pf.validationMessage;\n } else {\n nf = field as NanoFormEles;\n valid = !nf.invalid;\n validityMessage = nf.validityMessage;\n }\n\n validationState.push({\n fields: [field],\n name: this.getName(field),\n value: this._store.state[this.getName(field)],\n dirty: false,\n valid,\n validityMessage,\n });\n });\n\n return validationState;\n }\n\n /** By default, `nano-field-validator` will also track all native form field elements.\n * You can add extra web-component form fields to listen to\n * (as long as they match the standard form field spec) by using the `fieldSelector` prop.\n */\n @Prop() extraFieldSelector: string = 'input, select, textarea';\n\n /** A validation callback method.\n * @param field - The field name currently being evaluated\n * @param value - The value of the field currently being evaluated\n * @param fields - an array of all currently observered form fields and values\n * @returns field names mapped to an object of status message and validity e.g.\n * ```js\n * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}\n * ```\n */\n @Prop() validation: (\n field: string,\n value: string,\n fields: ValidatorValueStore\n ) => { [errorMsg: string]: { fields?: string[]; valid?: boolean } };\n\n /**\n * Sets the state of the form using an object of key / value pairs.\n * @param state - the state to load in the store\n */\n @Method()\n async setStore(state: ValidatorValueStore) {\n this.hasSetStore = true;\n Object.entries(state).forEach(([key, val]) => {\n this.store.state[key] = val;\n });\n }\n\n /**\n * Sets custom validity for all / some form fields.\n * @param validity - a validity object of `{fieldName: errorString}` pairs. Set as an empty string to clear the error.\n */\n @Method()\n async setCustomValidity(validity: { [key: string]: string }) {\n return await Promise.all(\n Object.entries(validity).map(async ([key, err]) => {\n const field = this.allFields.find((f) => this.getName(f) === key);\n if (!!field) await this.setFieldError(field, err);\n })\n );\n }\n\n /**\n * Clear all custom validation.\n * @returns a promise, resolved when all errors are cleared\n */\n @Method()\n async resetValidity() {\n return await Promise.all(\n this.allFields.map(async (field) => await this.setFieldError(field, ''))\n );\n }\n\n /** Fired whenever the payload changes */\n @Event() nanoPayloadChange: EventEmitter<ValidatorValueStore>;\n\n /**\n * Fired on valid form submission.\n * Note: if you wish to prevent a form from submitting, instead\n * of using / preventing the native `submit` event, use this event\n * ```js\n * ele.addEventListener('nanoSubmit', (e) => {\n * e.preventDefault()\n * })\n * ```\n */\n @Event() nanoSubmit: EventEmitter;\n\n /** Fire on invalid form submission attempt */\n @Event() nanoInvalid: EventEmitter;\n\n // private methods\n\n @Watch('extraFieldSelector')\n attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver((_entries) => {\n const form = this.host.querySelector('form');\n if (form && form !== this.activeForm) this.activeForm = form;\n this.setupFields();\n }));\n mo.observe(this.host, {\n childList: true,\n attributes: true,\n attributeFilter: ['name'],\n subtree: true,\n });\n }\n\n /**\n * During spec tests, mockelement props aren't set - only attributes.\n * This irons out that kink\n * @param field\n * @returns the fields name prop or attr\n */\n private getName(field: PlainFormEles | NanoFormEles) {\n return field.name || field.getAttribute('name');\n }\n\n /** Checks for new `nano-...` fields and adds them to our watch array and value store */\n private setupFields() {\n let nanoFields = Array.from(\n this.host.querySelectorAll<NanoFormEles>(this.nanoFieldSelector)\n );\n\n let plainFields = Array.from(\n this.host.querySelectorAll<PlainFormEles>(this.extraFieldSelector)\n ).filter((e) => !e.closest(this.nanoFieldSelector));\n\n nanoFields = nanoFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n plainFields = plainFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n\n // do we have any currently un-watched fields?\n if (\n ![...nanoFields, ...plainFields].filter(\n (f) => !this.allFields.includes(f)\n ).length\n )\n return;\n\n // setup the initial store state / refresh on new fields\n this.nanoFields = nanoFields;\n this.plainFields = plainFields;\n this.allFields = [...nanoFields, ...plainFields];\n\n this.storeToFields(this.allFields);\n\n this.validateOnChange();\n this.fieldsToStore(this.allFields, true);\n this.nanoPayloadChange.emit(this._store.state);\n }\n\n private storeToFields(fields: Array<NanoFormEles | PlainFormEles>) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (\n !fieldName.length ||\n typeof this._store.state[fieldName] === 'undefined'\n )\n return;\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cbs = this.allFields.filter(\n (f) => this.getName(field) === this.getName(f)\n ) as HTMLNanoCheckboxElement[];\n if (\n cbs[0].type === 'radio' ||\n cbs[0].type === 'segment' ||\n cbs[0].type === 'segment-pill'\n ) {\n // single radio type control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n } else if (Array.isArray(this._store.state[fieldName])) {\n // multiple checkbox like controls\n cbs.forEach((cb) => {\n if (this._store.state[fieldName].includes(cb.value))\n cb.checked = true;\n else cb.checked = false;\n });\n } else {\n // single checkbox like control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n // this can only work if the field is empty rn... a one-time deal\n if (!ff.files?.length) ff.files = this._store.state[fieldName];\n return;\n }\n\n // default\n field.value = this._store.state[fieldName];\n });\n }\n\n /** Loops through all `nano-...` fields and extracts their values into our store */\n private fieldsToStore(\n fields: Array<NanoFormEles | PlainFormEles>,\n init = false\n ) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (!fieldName.length) return;\n\n if (!!this._store.state[fieldName] && this.hasSetStore && init) {\n // a new field is being added\n // but we already have a value for it\n // via a store that has been actively set\n // so let's not overwrite it\n return;\n }\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cb = field as HTMLNanoCheckboxElement;\n\n if (\n cb.type === 'radio' ||\n cb.type === 'segment' ||\n cb.type === 'segment-pill'\n ) {\n // radio type control - only one can be checked\n if (cb.checked) this._store.state[fieldName] = cb.value;\n } else if (\n this.allFields.filter(\n (f) =>\n this.getName(f) === fieldName &&\n (f.tagName === 'NANO-CHECKBOX' ||\n (f as HTMLInputElement).type === 'checkbox')\n ).length > 1\n ) {\n // multiple checkbox type control\n const currentArr = Array.isArray(this._store.state[fieldName])\n ? this._store.state[fieldName]\n : [];\n if (cb.checked) {\n // checked\n if (!this._store.state[fieldName].includes(cb.value)) {\n this._store.state[fieldName] = [...currentArr, cb.value];\n }\n } else {\n // unchecked\n this._store.state[fieldName] = currentArr.filter(\n (v) => v !== cb.value\n );\n }\n } else {\n // single checkbox - on or off\n if (cb.checked) this._store.state[fieldName] = cb.value;\n else this._store.state[fieldName] = '';\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n if (!this.fileStateEqual(fieldName, ff))\n this._store.state[fieldName] = ff.files;\n\n return;\n }\n\n // default\n this._store.state[fieldName] = field.value;\n });\n }\n\n /**\n * Tries to ascertain whether the current model\n * value is the same as the `nano-file-upload` value\n * @param fieldName - the key to access from the data store\n * @param field - the nano-file-upload field to assess against\n * @returns true for equal, false for not equal\n */\n private fileStateEqual(\n fieldName: string | number,\n field: HTMLNanoFileUploadElement\n ) {\n return (\n JSON.stringify(this._store.state[fieldName]) ===\n JSON.stringify(field.files) ||\n this._store.state[fieldName] == field.files\n );\n }\n\n /**\n * Checks for user defined validations\n * @param key - current key of the data model to validate\n * @param newVal - the newly set, incoming value to validate\n */\n private async validate(key: string | number, newVal: any) {\n if (!this.validation) return;\n\n const res = this.validation(key as string, newVal, this._store.state);\n\n // no nothing - return\n if (!res) return;\n\n // stencil public methods are async\n // so we must coerce our validation\n // collection loop into a promise\n await Promise.all(\n Object.entries(res).map(async ([msg, validityState]) => {\n return validityState.fields.map(async (fieldName) => {\n // switch on/off validation messages\n const field = this.allFields.find(\n (f) => this.getName(f) === fieldName\n );\n let validityTarget:\n | PlainFormEles\n | NanoFormEles\n | HTMLNanoCheckboxGroupElement = field;\n\n if (field.tagName === 'NANO-CHECKBOX') {\n // if we have a checkbox-group, set the validation message there\n const cbg = field.closest('nano-checkbox-group');\n validityTarget = cbg || field;\n }\n\n if (\n ((validityTarget as NanoFormEles).validityMessage ||\n (validityTarget as PlainFormEles).validationMessage) === msg &&\n validityState.valid\n ) {\n // status is now valid - clear the error\n await this.setFieldError(validityTarget, '');\n } else if (!validityState.valid) {\n // status is invalid. Set the error\n await this.setFieldError(validityTarget, msg);\n }\n });\n })\n );\n }\n\n /** Loops through all store entries and checks custom validation */\n private async validateAllFields() {\n // This forces our loop to `await` and finish sequentially ... silly async stencil methods\n await Object.entries(this._store.state).reduce(\n async (memo, [key, value]) => {\n await memo;\n await this.validate(key, value);\n },\n undefined as any\n );\n }\n\n /**\n * Utility to smooth out setting error messages\n * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)\n * @param field\n * @param msg\n */\n private async setFieldError(\n field: NanoFormEles | HTMLNanoCheckboxGroupElement | PlainFormEles,\n msg: string\n ) {\n if (field['showError']) {\n await (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).showError(\n msg\n );\n } else if (field['setError'])\n await (field as HTMLNanoCheckboxElement).setError(msg);\n else (field as PlainFormEles).setCustomValidity(msg);\n }\n\n private scrollToFirstInvalid() {\n if (!this.scrollToInvalid) return;\n\n setTimeout(() => {\n const invalidField = this.validationState.find((f) => !f.valid);\n if (!invalidField) return;\n invalidField.fields[0].scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }, 200);\n }\n\n private submitForm() {\n const nanoSubmit = this.nanoSubmit.emit();\n if (nanoSubmit.defaultPrevented) return;\n this.activeForm.submit();\n }\n\n // Event handlers\n\n /**\n * Fired whenever store values change and potentially checks validity\n * @param key - the key of the store that's just changed\n * @param newVal - the incoming, new value\n */\n private handleStoreChange = async (key: string | number, newVal: any) => {\n const found = this.allFields.find((field) => this.getName(field) === key);\n\n // field update has come programmatically (not from ui),\n // so let's update the underlying ui field\n if (\n found &&\n (found.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((found as HTMLInputElement).type))\n ) {\n // it's a cb - always change\n this.storeToFields([found]);\n } else if (\n found &&\n ((found.tagName === 'NANO-FILE-UPLOAD' &&\n !this.fileStateEqual(key, found as HTMLNanoFileUploadElement)) ||\n (found.tagName !== 'NANO-FILE-UPLOAD' && found.value !== newVal))\n ) {\n // not a cb. Only change if value is different\n this.storeToFields([found]);\n }\n\n if (this.validateOn === 'dirty' && this.dirty) {\n this.internalValidate = true;\n await this.validateAllFields();\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n }\n this.nanoPayloadChange.emit(this._store.state);\n };\n\n /**\n * Handles nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handleFieldChange = (ev: NanoFormEvent) => {\n if (!this.nanoFields.includes(ev.target)) return;\n this._dirty = true;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles non-nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handlePlainFieldChange = (ev: PlainFormEvent) => {\n if (!this.plainFields.includes(ev.target)) return;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles default field validation events\n * @param ev - the invalid event\n */\n private handleFormInvalid = async (ev: Event & { target: PlainFormEles }) => {\n // if it's a non-nano field, we'll let default html5 validation do it's thing\n if (!this.plainFields.includes(ev.target)) {\n ev.preventDefault();\n }\n\n this._valid = false;\n\n // whenever `checkValidity` is called, this handler is in-turn called.\n // this flag is used to stop infinite loops\n if (this.internalValidate) return;\n\n // a submit must have happened to if 'submitThenDirty' turn on 'dirty' checking now\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n\n await this.validateAllFields();\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n // kinda insane...but if we're only validating on submit, then if the form is currently\n // in an invalid state, when submitting, it will fire an invalid event and not\n // submit the form. So let's test to make sure it is really invalid, and submit if not\n if (this.validateOn === 'submit') {\n if (this._valid) {\n this.submitForm();\n return;\n }\n }\n\n this.scrollToFirstInvalid();\n this.nanoInvalid.emit();\n };\n\n /**\n * stops default form submission, checks if valid, then submits manually\n * @param e - a submit event from the nested form element\n */\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n await this.validateAllFields();\n\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (!this._valid) {\n this.scrollToFirstInvalid();\n return;\n }\n this.submitForm();\n };\n\n connectedCallback(): void {\n this.userForm = this.host.querySelector('form');\n this._store = createStore<ValidatorValueStore>({});\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.setupFields();\n this.attachSlotObserver();\n\n this.host.addEventListener('nanoChange', this.handleFieldChange);\n this.host.addEventListener('input', this.handlePlainFieldChange);\n this.host.addEventListener('change', this.handlePlainFieldChange);\n this.host.addEventListener('submit', this.handleSubmit);\n this._store.on('set', this.handleStoreChange);\n });\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n\n this.host.removeEventListener('nanoChange', this.handleFieldChange);\n this.host.removeEventListener('input', this.handlePlainFieldChange);\n this.host.removeEventListener('change', this.handlePlainFieldChange);\n this.host.removeEventListener('submit', this.handleSubmit);\n this._store.reset();\n\n if (this.activeForm)\n this.activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n\n render() {\n return (\n <Host>\n {this.userForm && <slot />}\n {!this.userForm && (\n <form ref={(f) => (this.activeForm = f)}>\n <slot />\n </form>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"field-validator.js","sourceRoot":"","sources":["../../../src/components/field-validator/field-validator.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { createStore, ObservableMap } from '@stencil/store';\nimport type {\n NanoFormEles,\n PlainFormEles,\n NanoFormEvent,\n ValidationState,\n ValidatorValueStore,\n PlainFormEvent,\n} from '../../interface';\n\n/**\n * A toolbox for `nano-...` form fields and form validation.\n * - Easy to add validation across field dependencies - e.g. \"When Field1 contains '123' Field2 must contain '456'\"\n * - Easy access to whole form and individual field validity states\n * - Easy access to form data payload\n * = Access to 2-way, data bound reactive store\n * - Scroll to invalid field on submit\n */\n@Component({\n tag: 'nano-field-validator',\n})\nexport class FieldValidator implements ComponentInterface {\n // Internal State\n\n @Element() host: HTMLNanoFieldValidatorElement;\n @State() submitted = false;\n @State() userForm: HTMLFormElement;\n @Watch('userForm')\n userFormChange() {\n if (!!this.userForm) this.activeForm = this.userForm;\n }\n\n private get activeForm() {\n return this._activeForm;\n }\n private set activeForm(form: HTMLFormElement) {\n // manages event listners on whatever form is used (slotted on created here)\n if (!form) return;\n\n if (this._activeForm) {\n this._activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n form.addEventListener('invalid', this.handleFormInvalid, true);\n this._activeForm = form;\n }\n private _activeForm: HTMLFormElement;\n private mo: MutationObserver;\n private allFields: Array<NanoFormEles | PlainFormEles> = [];\n private nanoFields: NanoFormEles[];\n private plainFields: PlainFormEles[];\n private nanoFieldSelector = `\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `;\n private hasSetStore = false;\n\n // annoyingly, whenever we attempt to `checkValidty()` it fires `invalid` events.\n // this is used to prevent infinite loops / multiple calls\n private internalValidate = false;\n\n // Public API\n\n /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /** Sync up validateOn with all fields */\n @Watch('validateOn')\n validateOnChange() {\n this.nanoFields.forEach((field) => {\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n if (cbg) cbg.validateOn = this.validateOn;\n } else {\n (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).validateOn =\n this.validateOn;\n }\n });\n }\n\n /** Tries to scroll to the first invalid field on submit */\n @Prop() scrollToInvalid = true;\n\n /** Returns true if any nested fields have been changed @readonly */\n @Prop({ reflect: true })\n get dirty() {\n return this._dirty;\n }\n @State() _dirty = false;\n\n /** Returns true if all the nested fields are currently valid @readonly */\n @Prop({ reflect: true })\n get valid() {\n return this._valid;\n }\n @State() _valid: boolean;\n\n /** The current form state as a stencil store. */\n @Prop() get store(): ObservableMap<ValidatorValueStore> {\n return this._store;\n }\n @State() _store: ObservableMap<ValidatorValueStore>;\n\n /** The current form payload as a reactive proxy. @readonly */\n @Prop()\n get payload() {\n return this._store.state;\n }\n\n /** Returns true if validation errors will be displayed to the user. @readonly */\n @Prop()\n get showValidation() {\n return (this.validateOn === 'dirty' && this.dirty) || this.submitted;\n }\n\n /** Get the current validation state of all form fields. @readonly\n * ```\n {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n }[]\n ```\n */\n @Prop()\n get validationState(): ValidationState[] {\n // TODO - migrate nano-fields away from using proprietary methods in a bid to be closer to the spec\n\n // this is big and ugly.\n // why? Cos' it must unify checking validity state for both\n // `nano-...` and plain form fields.\n const validationState: ValidationState[] = [];\n\n this.allFields.forEach(async (field) => {\n const found = validationState.find((v) => v.name === this.getName(field));\n let pf: PlainFormEles;\n let nf: NanoFormEles;\n\n if (found) {\n if ((field as PlainFormEles).validationMessage) {\n // non-nano fields\n pf = field as PlainFormEles;\n found.validityMessage = pf.validationMessage.length\n ? pf.validationMessage\n : found.validityMessage;\n this.internalValidate = true;\n if (found.valid && !pf.checkValidity()) found.valid = false;\n this.internalValidate = false;\n } else if ((field as NanoFormEles).validityMessage) {\n // nano-... fields\n nf = field as NanoFormEles;\n found.validityMessage = nf.validityMessage.length\n ? nf.validityMessage\n : nf.validityMessage;\n if (found.valid && nf.invalid) found.valid = false;\n }\n if (!found.fields.find((f) => f === field)) found.fields.push(field);\n }\n\n let valid: boolean;\n let validityMessage: string;\n\n if ((field as PlainFormEles).checkValidity) {\n pf = field as PlainFormEles;\n this.internalValidate = true;\n valid = pf.checkValidity();\n this.internalValidate = false;\n validityMessage = pf.validationMessage;\n } else {\n nf = field as NanoFormEles;\n valid = !nf.invalid;\n validityMessage = nf.validityMessage;\n }\n\n validationState.push({\n fields: [field],\n name: this.getName(field),\n value: this._store.state[this.getName(field)],\n dirty: false,\n valid,\n validityMessage,\n });\n });\n\n return validationState;\n }\n\n /** By default, `nano-field-validator` will also track all native form field elements.\n * You can add extra web-component form fields to listen to\n * (as long as they match the standard form field spec) by using the `fieldSelector` prop.\n */\n @Prop() extraFieldSelector: string = 'input, select, textarea';\n\n /** A validation callback method.\n * @param field - The field name currently being evaluated\n * @param value - The value of the field currently being evaluated\n * @param fields - an array of all currently observered form fields and values\n * @returns field names mapped to an object of status message and validity e.g.\n * ```js\n * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}\n * ```\n */\n @Prop() validation: (\n field: string,\n value: string,\n fields: ValidatorValueStore\n ) => { [errorMsg: string]: { fields?: string[]; valid?: boolean } };\n\n /**\n * Sets the state of the form using an object of key / value pairs.\n * @param state - the state to load in the store\n */\n @Method()\n async setStore(state: ValidatorValueStore) {\n this.hasSetStore = true;\n Object.entries(state).forEach(([key, val]) => {\n this.store.state[key] = val;\n });\n }\n\n /**\n * Sets custom validity for all / some form fields.\n * @param validity - a validity object of `{fieldName: errorString}` pairs. Set as an empty string to clear the error.\n */\n @Method()\n async setCustomValidity(validity: { [key: string]: string }) {\n return await Promise.all(\n Object.entries(validity).map(async ([key, err]) => {\n const field = this.allFields.find((f) => this.getName(f) === key);\n if (!!field) await this.setFieldError(field, err);\n })\n );\n }\n\n /**\n * Clear all custom validation.\n * @returns a promise, resolved when all errors are cleared\n */\n @Method()\n async resetValidity() {\n return await Promise.all(\n this.allFields.map(async (field) => await this.setFieldError(field, ''))\n );\n }\n\n /** Fired whenever the payload changes */\n @Event() nanoPayloadChange: EventEmitter<ValidatorValueStore>;\n\n /**\n * Fired on valid form submission.\n * Note: if you wish to prevent a form from submitting, instead\n * of using / preventing the native `submit` event, use this event\n * ```js\n * ele.addEventListener('nanoSubmit', (e) => {\n * e.preventDefault()\n * })\n * ```\n */\n @Event() nanoSubmit: EventEmitter;\n\n /** Fire on invalid form submission attempt */\n @Event() nanoInvalid: EventEmitter;\n\n // private methods\n\n @Watch('extraFieldSelector')\n attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver((_entries) => {\n const form = this.host.querySelector('form');\n if (form && form !== this.activeForm) this.activeForm = form;\n this.setupFields();\n }));\n mo.observe(this.host, {\n childList: true,\n attributes: true,\n attributeFilter: ['name'],\n subtree: true,\n });\n }\n\n /**\n * During spec tests, mockelement props aren't set - only attributes.\n * This irons out that kink\n * @param field\n * @returns the fields name prop or attr\n */\n private getName(field: PlainFormEles | NanoFormEles) {\n return field.name || field.getAttribute('name');\n }\n\n /** Checks for new `nano-...` fields and adds them to our watch array and value store */\n private setupFields() {\n let nanoFields = Array.from(\n this.host.querySelectorAll<NanoFormEles>(this.nanoFieldSelector)\n );\n\n let plainFields = Array.from(\n this.host.querySelectorAll<PlainFormEles>(this.extraFieldSelector)\n ).filter((e) => !e.closest(this.nanoFieldSelector));\n\n nanoFields = nanoFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n plainFields = plainFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n\n // do we have any currently un-watched fields?\n if (\n ![...nanoFields, ...plainFields].filter(\n (f) => !this.allFields.includes(f)\n ).length\n )\n return;\n\n // setup the initial store state / refresh on new fields\n this.nanoFields = nanoFields;\n this.plainFields = plainFields;\n this.allFields = [...nanoFields, ...plainFields];\n\n this.storeToFields(this.allFields);\n\n this.validateOnChange();\n this.fieldsToStore(this.allFields, true);\n this.nanoPayloadChange.emit(this._store.state);\n }\n\n private storeToFields(fields: Array<NanoFormEles | PlainFormEles>) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (\n !fieldName.length ||\n typeof this._store.state[fieldName] === 'undefined'\n )\n return;\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cbs = this.allFields.filter(\n (f) => this.getName(field) === this.getName(f)\n ) as HTMLNanoCheckboxElement[];\n if (\n cbs[0].type === 'radio' ||\n cbs[0].type === 'segment' ||\n cbs[0].type === 'segment-pill'\n ) {\n // single radio type control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n } else if (Array.isArray(this._store.state[fieldName])) {\n // multiple checkbox like controls\n cbs.forEach((cb) => {\n if (this._store.state[fieldName].includes(cb.value))\n cb.checked = true;\n else cb.checked = false;\n });\n } else {\n // single checkbox like control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n // this can only work if the field is empty rn... a one-time deal\n if (!ff.files?.length) ff.files = this._store.state[fieldName];\n return;\n }\n\n // default\n field.value = this._store.state[fieldName];\n });\n }\n\n /** Loops through all `nano-...` fields and extracts their values into our store */\n private fieldsToStore(\n fields: Array<NanoFormEles | PlainFormEles>,\n init = false\n ) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (!fieldName.length) return;\n\n if (!!this._store.state[fieldName] && this.hasSetStore && init) {\n // a new field is being added\n // but we already have a value for it\n // via a store that has been actively set\n // so let's not overwrite it\n return;\n }\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cb = field as HTMLNanoCheckboxElement;\n\n if (\n cb.type === 'radio' ||\n cb.type === 'segment' ||\n cb.type === 'segment-pill'\n ) {\n // radio type control - only one can be checked\n if (cb.checked) this._store.state[fieldName] = cb.value;\n } else if (\n this.allFields.filter(\n (f) =>\n this.getName(f) === fieldName &&\n (f.tagName === 'NANO-CHECKBOX' ||\n (f as HTMLInputElement).type === 'checkbox')\n ).length > 1\n ) {\n // multiple checkbox type control\n const currentArr = Array.isArray(this._store.state[fieldName])\n ? this._store.state[fieldName]\n : [];\n if (cb.checked) {\n // checked\n if (!this._store.state[fieldName].includes(cb.value)) {\n this._store.state[fieldName] = [...currentArr, cb.value];\n }\n } else {\n // unchecked\n this._store.state[fieldName] = currentArr.filter(\n (v) => v !== cb.value\n );\n }\n } else {\n // single checkbox - on or off\n if (cb.checked) this._store.state[fieldName] = cb.value;\n else this._store.state[fieldName] = '';\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n if (!this.fileStateEqual(fieldName, ff))\n this._store.state[fieldName] = ff.files;\n\n return;\n }\n\n // default\n this._store.state[fieldName] = field.value;\n });\n }\n\n /**\n * Tries to ascertain whether the current model\n * value is the same as the `nano-file-upload` value\n * @param fieldName - the key to access from the data store\n * @param field - the nano-file-upload field to assess against\n * @returns true for equal, false for not equal\n */\n private fileStateEqual(\n fieldName: string | number,\n field: HTMLNanoFileUploadElement\n ) {\n return (\n JSON.stringify(this._store.state[fieldName]) ===\n JSON.stringify(field.files) ||\n this._store.state[fieldName] == field.files\n );\n }\n\n /**\n * Checks for user defined validations\n * @param key - current key of the data model to validate\n * @param newVal - the newly set, incoming value to validate\n */\n private async validate(key: string | number, newVal: any) {\n if (!this.validation) return;\n\n const res = this.validation(key as string, newVal, this._store.state);\n\n // no nothing - return\n if (!res) return;\n\n // stencil public methods are async\n // so we must coerce our validation\n // collection loop into a promise\n await Promise.all(\n Object.entries(res).map(async ([msg, validityState]) => {\n return validityState.fields.map(async (fieldName) => {\n // switch on/off validation messages\n const field = this.allFields.find(\n (f) => this.getName(f) === fieldName\n );\n let validityTarget:\n | PlainFormEles\n | NanoFormEles\n | HTMLNanoCheckboxGroupElement = field;\n\n if (field.tagName === 'NANO-CHECKBOX') {\n // if we have a checkbox-group, set the validation message there\n const cbg = field.closest('nano-checkbox-group');\n validityTarget = cbg || field;\n }\n\n if (\n ((validityTarget as NanoFormEles).validityMessage ||\n (validityTarget as PlainFormEles).validationMessage) === msg &&\n validityState.valid\n ) {\n // status is now valid - clear the error\n await this.setFieldError(validityTarget, '');\n } else if (!validityState.valid) {\n // status is invalid. Set the error\n await this.setFieldError(validityTarget, msg);\n }\n });\n })\n );\n }\n\n /** Loops through all store entries and checks custom validation */\n private async validateAllFields() {\n // This forces our loop to `await` and finish sequentially ... silly async stencil methods\n await Object.entries(this._store.state).reduce(\n async (memo, [key, value]) => {\n await memo;\n await this.validate(key, value);\n },\n undefined as any\n );\n }\n\n /**\n * Utility to smooth out setting error messages\n * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)\n * @param field\n * @param msg\n */\n private async setFieldError(\n field: NanoFormEles | HTMLNanoCheckboxGroupElement | PlainFormEles,\n msg: string\n ) {\n if (field['showError']) {\n await (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).showError(\n msg\n );\n } else if (field['setError'])\n await (field as HTMLNanoCheckboxElement).setError(msg);\n else (field as PlainFormEles).setCustomValidity(msg);\n }\n\n private scrollToFirstInvalid() {\n if (!this.scrollToInvalid) return;\n\n setTimeout(() => {\n const invalidField = this.validationState.find((f) => !f.valid);\n if (!invalidField) return;\n invalidField.fields[0].scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }, 200);\n }\n\n private submitForm() {\n const nanoSubmit = this.nanoSubmit.emit();\n if (nanoSubmit.defaultPrevented) return;\n this.activeForm.submit();\n }\n\n // Event handlers\n\n /**\n * Fired whenever store values change and potentially checks validity\n * @param key - the key of the store that's just changed\n * @param newVal - the incoming, new value\n */\n private handleStoreChange = async (key: string | number, newVal: any) => {\n const found = this.allFields.find((field) => this.getName(field) === key);\n\n // field update has come programmatically (not from ui),\n // so let's update the underlying ui field\n if (\n found &&\n (found.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((found as HTMLInputElement).type))\n ) {\n // it's a cb - always change\n this.storeToFields([found]);\n } else if (\n found &&\n ((found.tagName === 'NANO-FILE-UPLOAD' &&\n !this.fileStateEqual(key, found as HTMLNanoFileUploadElement)) ||\n (found.tagName !== 'NANO-FILE-UPLOAD' && found.value !== newVal))\n ) {\n // not a cb. Only change if value is different\n this.storeToFields([found]);\n }\n\n if (this.validateOn === 'dirty' && this.dirty) {\n this.internalValidate = true;\n await this.validateAllFields();\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n }\n this.nanoPayloadChange.emit(this._store.state);\n };\n\n /**\n * Handles nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handleFieldChange = (ev: NanoFormEvent) => {\n if (!this.nanoFields.includes(ev.target)) return;\n this._dirty = true;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles non-nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handlePlainFieldChange = (ev: PlainFormEvent) => {\n if (!this.plainFields.includes(ev.target)) return;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles default field validation events\n * @param ev - the invalid event\n */\n private handleFormInvalid = async (ev: Event & { target: PlainFormEles }) => {\n // if it's a non-nano field, we'll let default html5 validation do it's thing\n if (!this.plainFields.includes(ev.target)) {\n ev.preventDefault();\n }\n\n this._valid = false;\n\n // whenever `checkValidity` is called, this handler is in-turn called.\n // this flag is used to stop infinite loops\n if (this.internalValidate) return;\n\n // a submit must have happened to if 'submitThenDirty' turn on 'dirty' checking now\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n\n await this.validateAllFields();\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n // kinda insane...but if we're only validating on submit, then if the form is currently\n // in an invalid state, when submitting, it will fire an invalid event and not\n // submit the form. So let's test to make sure it is really invalid, and submit if not\n if (this.validateOn === 'submit') {\n if (this._valid) {\n this.submitForm();\n return;\n }\n }\n\n this.scrollToFirstInvalid();\n this.nanoInvalid.emit();\n };\n\n /**\n * stops default form submission, checks if valid, then submits manually\n * @param e - a submit event from the nested form element\n */\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n await this.validateAllFields();\n\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (!this._valid) {\n this.scrollToFirstInvalid();\n return;\n }\n this.submitForm();\n };\n\n connectedCallback(): void {\n this.userForm = this.host.querySelector('form');\n this._store = createStore<ValidatorValueStore>({});\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.setupFields();\n this.attachSlotObserver();\n\n this.host.addEventListener('nanoChange', this.handleFieldChange);\n this.host.addEventListener('input', this.handlePlainFieldChange);\n this.host.addEventListener('change', this.handlePlainFieldChange);\n this.host.addEventListener('submit', this.handleSubmit);\n this._store.on('set', this.handleStoreChange);\n });\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n\n this.host.removeEventListener('nanoChange', this.handleFieldChange);\n this.host.removeEventListener('input', this.handlePlainFieldChange);\n this.host.removeEventListener('change', this.handlePlainFieldChange);\n this.host.removeEventListener('submit', this.handleSubmit);\n this._store.reset();\n\n if (this.activeForm)\n this.activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n\n render() {\n return (\n <Host>\n {this.userForm && <slot />}\n {!this.userForm && (\n <form ref={(f) => (this.activeForm = f)}>\n <slot />\n </form>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,47 +1,89 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg width="100%" height="100%" viewBox="0 0 237 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
- <title>Oxford Nanopore Technologies logo</title>
4
- <defs>
5
- <polygon id="path-1" points="0.0499931295 0.0798823529 236.188374 0.0798823529 236.188374 42 0.0499931295 42"></polygon>
6
- </defs>
7
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
- <g id="ONT-logo">
9
- <g id="ONT_logo_PMS_negative">
10
- <path d="M37.8356336,18.9123529 C37.8356336,18.9123529 36.8399371,21.2272941 35.3818042,23.3412941 C34.1578057,25.1168235 31.737305,28.6209412 26.7221609,30.5587059 C30.956579,27.8937647 32.3047271,26.334 33.7761915,24.0907059 C35.4709586,21.5072941 36.1308679,19.7350588 36.6424643,17.0808235 C37.1532274,14.4298824 37.265712,10.1697647 37.265712,10.1697647 L34.9985235,10.15 C34.9985235,10.15 35.3068145,12.6461176 35.1135077,15.1974118 C34.9493636,17.3756471 34.6244083,21.7123529 31.1023923,25.9345882 C29.7584103,27.5445882 28.1986247,29.0747059 26.0114253,30.2935294 C22.991007,31.9751765 19.8764351,32.5170588 19.8764351,32.5170588 C25.2481968,32.3251765 27.2404231,31.6350588 29.7242484,30.3816471 C32.4997003,28.9824706 33.9678318,27.7735294 35.7534198,25.7278824 C37.5365081,23.6838824 39.7895318,20.0504706 39.7895318,20.0504706 L37.8356336,18.9123529" id="Fill-1" fill="#FFFFFF"></path>
11
- <polyline id="Fill-2" fill="#FFFFFF" points="45.0371439 10.7108235 52.2461532 10.7108235 60.9549564 22.3332941 61.0074492 22.3332941 61.0074492 10.7108235 67.0582843 10.7108235 67.0582843 29.2772941 60.1392351 29.2772941 51.141305 17.5494118 51.0888123 17.5494118 51.0888123 29.2772941 45.0371439 29.2772941 45.0371439 10.7108235"></polyline>
12
- <path d="M80.1873133,15.3909412 L80.1339873,15.3909412 L77.5293452,22.4123529 L82.7911221,22.4123529 L80.1873133,15.3909412 L80.1873133,15.3909412 Z M76.3720043,10.7108235 L84.0284521,10.7108235 L92.1056754,29.2772941 L85.3957642,29.2772941 L84.2650862,26.2607059 L76.0562144,26.2607059 L74.9247032,29.2772941 L68.2164584,29.2772941 L76.3720043,10.7108235 L76.3720043,10.7108235 Z" id="Fill-3" fill="#FFFFFF"></path>
13
- <polyline id="Fill-4" fill="#FFFFFF" points="93.2630163 10.7108235 100.471192 10.7108235 109.179996 22.3332941 109.232488 22.3332941 109.232488 10.7108235 115.284157 10.7108235 115.284157 29.2772941 108.364274 29.2772941 99.3663442 17.5494118 99.3138514 17.5494118 99.3138514 29.2772941 93.2630163 29.2772941 93.2630163 10.7108235"></polyline>
14
- <path d="M129.691343,25.6883529 C133.058381,25.6883529 135.29474,23.8947059 135.29474,19.9936471 C135.29474,16.1189412 133.058381,14.2989412 129.691343,14.2989412 C126.349303,14.2989412 124.08628,16.1189412 124.08628,19.9936471 C124.08628,23.8947059 126.349303,25.6883529 129.691343,25.6883529 L129.691343,25.6883529 Z M129.691343,10.1384706 C136.320432,10.1384706 141.924662,12.2961176 141.924662,19.9936471 C141.924662,27.6903529 136.320432,29.8488235 129.691343,29.8488235 C123.060588,29.8488235 117.456358,27.6903529 117.456358,19.9936471 C117.456358,12.2961176 123.060588,10.1384706 129.691343,10.1384706 L129.691343,10.1384706 Z" id="Fill-5" fill="#FFFFFF"></path>
15
- <path d="M150.359336,19.2392941 L155.936903,19.2392941 C157.674164,19.2392941 158.43656,18.5376471 158.43656,16.8996471 C158.43656,15.2608235 157.674164,14.5583529 155.936903,14.5583529 L150.359336,14.5583529 L150.359336,19.2392941 L150.359336,19.2392941 Z M144.097697,10.7108235 L157.989121,10.7108235 C163.09342,10.7108235 164.909003,13.3889412 164.909003,16.8996471 C164.909003,19.9681176 163.330054,23.0884706 158.279081,23.0884706 L150.359336,23.0884706 L150.359336,29.2772941 L144.097697,29.2772941 L144.097697,10.7108235 L144.097697,10.7108235 Z" id="Fill-6" fill="#FFFFFF"></path>
16
- <path d="M178.747102,25.6883529 C182.114972,25.6883529 184.351332,23.8947059 184.351332,19.9936471 C184.351332,16.1189412 182.114972,14.2989412 178.747102,14.2989412 C175.405894,14.2989412 173.143705,16.1189412 173.143705,19.9936471 C173.143705,23.8947059 175.405894,25.6883529 178.747102,25.6883529 L178.747102,25.6883529 Z M178.747102,10.1384706 C185.377857,10.1384706 190.981254,12.2961176 190.981254,19.9936471 C190.981254,27.6903529 185.377857,29.8488235 178.747102,29.8488235 C172.118013,29.8488235 166.513783,27.6903529 166.513783,19.9936471 C166.513783,12.2961176 172.118013,10.1384706 178.747102,10.1384706 L178.747102,10.1384706 Z" id="Fill-7" fill="#FFFFFF"></path>
17
- <path d="M199.544244,18.928 L205.569249,18.928 C207.095706,18.928 207.911427,18.1472941 207.911427,16.8732941 C207.911427,15.6511765 207.095706,14.8712941 205.569249,14.8712941 L199.544244,14.8712941 L199.544244,18.928 L199.544244,18.928 Z M193.282604,10.7108235 L208.331369,10.7108235 C212.93657,10.7108235 214.620505,12.7910588 214.620505,15.8850588 C214.620505,18.3556471 213.304852,19.7070588 211.620917,20.1237647 L211.620917,20.1756471 C212.804921,20.566 213.725628,21.5023529 213.883106,23.5043529 C214.172233,27.1707059 214.278052,28.3409412 215.06711,29.2772941 L208.200554,29.2772941 C207.858934,28.4710588 207.832271,27.3790588 207.832271,26.5209412 C207.832271,23.6081176 206.858238,23.0884706 205.280122,23.0884706 L199.544244,23.0884706 L199.544244,29.2772941 L193.282604,29.2772941 L193.282604,10.7108235 L193.282604,10.7108235 Z" id="Fill-8" fill="#FFFFFF"></path>
18
- <polyline id="Fill-9" fill="#FFFFFF" points="217.002678 10.7108235 235.814259 10.7108235 235.814259 14.7148235 223.26515 14.7148235 223.26515 18.0698824 235.025201 18.0698824 235.025201 21.9182353 223.26515 21.9182353 223.26515 25.2724706 235.814259 25.2724706 235.814259 29.2772941 217.002678 29.2772941 217.002678 10.7108235"></polyline>
19
- <polyline id="Fill-10" fill="#7EBCD6" points="168.685984 39.5977647 168.685984 32.2395294 165.504755 32.2395294 165.504755 31.6852941 172.493794 31.6852941 172.493794 32.2395294 169.311732 32.2395294 169.311732 39.5977647 168.685984 39.5977647"></polyline>
20
- <path d="M176.766541,36.3588235 C176.559069,35.0296471 175.640029,34.2695294 174.238555,34.2695294 C172.896239,34.2695294 171.956368,35.0494118 171.711402,36.3588235 L176.766541,36.3588235 L176.766541,36.3588235 Z M174.282715,39.7723529 C172.303821,39.7723529 171.074823,38.5955294 171.074823,36.7005882 C171.074823,35.5921176 171.753896,33.7169412 174.293547,33.7169412 C176.198285,33.7169412 177.443947,34.9481176 177.467278,36.8529412 L177.467278,36.9114118 L171.702237,36.9114118 C171.763061,38.3377647 172.76709,39.2197647 174.337708,39.2197647 C176.074136,39.2197647 176.506576,38.1285882 176.691551,37.6632941 L177.253974,37.6254118 L177.335629,37.6254118 L177.309799,37.702 C176.839864,39.0954118 175.85,39.7723529 174.282715,39.7723529 L174.282715,39.7723529 Z" id="Fill-11" fill="#7EBCD6"></path>
21
- <path d="M181.373407,39.7723529 C179.459504,39.7723529 178.122188,38.5502353 178.122188,36.7994118 C178.122188,34.6705882 179.755296,33.7169412 181.373407,33.7169412 C183.141498,33.7169412 184.268843,34.7265882 184.336334,35.7032941 L184.341333,35.7658824 L183.770578,35.7658824 C183.646428,35.0156471 182.69156,34.2695294 181.373407,34.2695294 C179.55949,34.2695294 178.747935,35.5394118 178.747935,36.7994118 C178.747935,37.7728235 179.446172,39.2197647 181.373407,39.2197647 C182.366604,39.2197647 183.524778,38.7874118 183.790575,37.5735294 L184.355498,37.5274118 L184.427988,37.5274118 L184.41299,37.5965882 C184.135528,38.9595294 182.999017,39.7723529 181.373407,39.7723529" id="Fill-12" fill="#7EBCD6"></path>
22
- <path d="M190.268018,39.5977647 L190.268018,36.1109412 C190.268018,35.2001176 190.026385,34.2695294 188.229132,34.2695294 C186.502703,34.2695294 185.890287,35.3491765 185.890287,36.2748235 L185.890287,39.5977647 L185.264539,39.5977647 L185.264539,31.6852941 L185.890287,31.6852941 L185.890287,34.8970588 C186.165249,34.426 186.839323,33.7169412 188.239964,33.7169412 C190.895432,33.7169412 190.895432,35.4405882 190.895432,36.0895294 L190.895432,39.5977647 L190.268018,39.5977647" id="Fill-13" fill="#7EBCD6"></path>
23
- <path d="M197.080415,39.5977647 L197.080415,36.1109412 C197.080415,35.2001176 196.838782,34.2695294 195.039863,34.2695294 C193.3151,34.2695294 192.702684,35.3491765 192.702684,36.2748235 L192.702684,39.5977647 L192.076103,39.5977647 L192.076103,33.8907059 L192.702684,33.8907059 L192.702684,34.8970588 C192.977646,34.426 193.650887,33.7169412 195.051528,33.7169412 C197.706163,33.7169412 197.706163,35.4405882 197.706163,36.0895294 L197.706163,39.5977647 L197.080415,39.5977647" id="Fill-14" fill="#7EBCD6"></path>
24
- <path d="M201.807266,34.2695294 C200.003347,34.2695294 199.181793,35.5525882 199.181793,36.7450588 C199.181793,37.9367059 200.003347,39.2197647 201.807266,39.2197647 C203.611185,39.2197647 204.432738,37.9367059 204.432738,36.7450588 C204.432738,35.5525882 203.611185,34.2695294 201.807266,34.2695294 L201.807266,34.2695294 Z M201.807266,39.7723529 C199.672559,39.7723529 198.556046,38.2496471 198.556046,36.7450588 C198.556046,35.2396471 199.672559,33.7169412 201.807266,33.7169412 C203.941139,33.7169412 205.059319,35.2396471 205.059319,36.7450588 C205.059319,38.2496471 203.941139,39.7723529 201.807266,39.7723529 L201.807266,39.7723529 Z" id="Fill-15" fill="#7EBCD6"></path>
25
- <polygon id="Fill-16" fill="#7EBCD6" points="205.95253 31.6852941 206.578277 31.6852941 206.578277 39.5977647 205.95253 39.5977647"></polygon>
26
- <path d="M210.723541,34.2695294 C208.919622,34.2695294 208.098901,35.5525882 208.098901,36.7450588 C208.098901,37.9367059 208.919622,39.2197647 210.723541,39.2197647 C212.527459,39.2197647 213.349013,37.9367059 213.349013,36.7450588 C213.349013,35.5525882 212.527459,34.2695294 210.723541,34.2695294 L210.723541,34.2695294 Z M210.723541,39.7723529 C208.589667,39.7723529 207.472321,38.2496471 207.472321,36.7450588 C207.472321,35.2396471 208.589667,33.7169412 210.723541,33.7169412 C212.858247,33.7169412 213.975594,35.2396471 213.975594,36.7450588 C213.975594,38.2496471 212.858247,39.7723529 210.723541,39.7723529 L210.723541,39.7723529 Z" id="Fill-17" fill="#7EBCD6"></path>
27
- <path d="M217.752575,34.2695294 C216.592734,34.2695294 215.237087,34.8715294 215.237087,36.5696471 C215.237087,38.1244706 216.150295,38.9792941 217.807567,38.9792941 C219.404014,38.9792941 220.356383,38.0742353 220.356383,36.5597647 C220.356383,35.126 219.383184,34.2695294 217.752575,34.2695294 L217.752575,34.2695294 Z M217.829231,42 C215.947823,42 215.027949,41.4045882 214.844641,40.0712941 L214.835475,40.0054118 L215.410396,40.0054118 C215.598704,41.0051765 216.349434,41.4465882 217.829231,41.4465882 C219.52983,41.4465882 220.356383,40.7416471 220.356383,39.2889412 L220.356383,38.2949412 C219.884782,39.0962353 218.974907,39.5318824 217.741743,39.5318824 C215.433727,39.5318824 214.61134,38.0132941 214.61134,36.5918824 C214.61134,35.2651765 215.43456,33.7169412 217.752575,33.7169412 C218.994904,33.7169412 219.869784,34.1130588 220.356383,34.8937647 L220.356383,33.8907059 L220.982131,33.8907059 L220.982131,39.2667059 C220.982131,41.1056471 219.950606,42 217.829231,42 L217.829231,42 Z" id="Fill-18" fill="#7EBCD6"></path>
28
- <path d="M222.206962,31.6852941 L222.833543,31.6852941 L222.833543,32.9592941 L222.206962,32.9592941 L222.206962,31.6852941 Z M222.206962,33.8907059 L222.833543,33.8907059 L222.833543,39.5977647 L222.206962,39.5977647 L222.206962,33.8907059 Z" id="Fill-19" fill="#7EBCD6"></path>
29
- <path d="M229.418471,36.3588235 C229.211,35.0296471 228.291959,34.2695294 226.890485,34.2695294 C225.54817,34.2695294 224.608299,35.0494118 224.363333,36.3588235 L229.418471,36.3588235 L229.418471,36.3588235 Z M226.934646,39.7723529 C224.956585,39.7723529 223.727587,38.5955294 223.727587,36.7005882 C223.727587,35.5921176 224.405827,33.7169412 226.945478,33.7169412 C228.850216,33.7169412 230.095878,34.9481176 230.120042,36.8529412 L230.120042,36.9114118 L224.355001,36.9114118 C224.414992,38.3377647 225.419854,39.2197647 226.989638,39.2197647 C228.7269,39.2197647 229.15934,38.1285882 229.343482,37.6632941 L229.905904,37.6254118 L229.98756,37.6254118 L229.96173,37.702 C229.492628,39.0954118 228.502764,39.7723529 226.934646,39.7723529 L226.934646,39.7723529 Z" id="Fill-20" fill="#7EBCD6"></path>
30
- <path d="M233.422088,39.7723529 C231.648165,39.7723529 230.673299,39.0896471 230.602475,37.7967059 L230.598309,37.7349412 L231.168231,37.7349412 C231.29238,38.3575294 231.391533,39.2197647 233.55457,39.2197647 C234.941879,39.2197647 235.56096,38.8574118 235.56096,38.0445882 C235.56096,37.4952941 235.206009,37.1815294 234.47361,37.086 L232.48555,36.8241176 C231.873967,36.7475294 230.844109,36.4543529 230.844109,35.3582353 C230.844109,34.5651765 231.484021,33.7169412 233.277941,33.7169412 C234.991039,33.7169412 235.870085,34.3271765 235.965905,35.5830588 L235.970904,35.6448235 L235.398483,35.6448235 C235.263501,34.6648235 234.640254,34.2695294 233.256277,34.2695294 C232.103936,34.2695294 231.469856,34.6442353 231.469856,35.3252941 C231.469856,35.8375294 231.815642,36.1216471 232.556373,36.2171765 L234.357793,36.4576471 C235.622619,36.6272941 236.188374,37.1172941 236.188374,38.0445882 C236.188374,38.8327059 235.707607,39.7723529 233.422088,39.7723529" id="Fill-21" fill="#7EBCD6"></path>
31
- <path d="M48.715805,0.735411765 C46.339465,0.735411765 45.0954693,2.53482353 45.0954693,4.31282353 C45.0954693,6.09082353 46.339465,7.89023529 48.715805,7.89023529 C51.0921451,7.89023529 52.3353076,6.09082353 52.3353076,4.31282353 C52.3353076,2.53482353 51.0921451,0.735411765 48.715805,0.735411765 L48.715805,0.735411765 Z M48.715805,8.44364706 C45.3579332,8.44364706 44.4697219,5.74164706 44.4697219,4.31282353 C44.4697219,2.884 45.3579332,0.182 48.715805,0.182 C52.0736769,0.182 52.961055,2.884 52.961055,4.31282353 C52.961055,5.74164706 52.0736769,8.44364706 48.715805,8.44364706 L48.715805,8.44364706 Z" id="Fill-22" fill="#7EBCD6"></path>
32
- <polyline id="Fill-23" fill="#7EBCD6" points="58.6977666 8.26905882 56.288931 5.72929412 53.9125909 8.25011765 53.2293514 8.26905882 53.0952032 8.26905882 55.9264808 5.25658824 53.326838 2.562 54.168389 2.562 56.3222597 4.83905882 58.4453013 2.58176471 59.1277075 2.562 59.2635222 2.562 56.6855431 5.30188235 59.5384844 8.26905882 58.6977666 8.26905882"></polyline>
33
- <path d="M61.1540957,8.26905882 L61.1540957,3.11541176 L59.8292777,3.11541176 L59.8292777,2.562 L61.1540957,2.562 L61.1540957,1.77964706 C61.1540957,1.00635294 61.3349042,0.291529412 62.6488902,0.291529412 C62.8905237,0.291529412 63.1979814,0.322823529 63.5171043,0.355764706 L63.5704303,0.360705882 L63.5804289,0.414235294 L63.5804289,0.920705882 L63.5112717,0.908352941 C63.2904687,0.868823529 62.9780117,0.844117647 62.7155477,0.844117647 C62.4589164,0.844117647 61.779843,0.844117647 61.779843,1.62647059 L61.779843,2.562 L63.4146183,2.562 L63.4146183,3.11541176 L61.779843,3.11541176 L61.779843,8.26905882 L61.1540957,8.26905882" id="Fill-24" fill="#7EBCD6"></path>
34
- <path d="M66.7583255,2.94 C64.9544067,2.94 64.132853,4.22305882 64.132853,5.41552941 C64.132853,6.608 64.9544067,7.89023529 66.7583255,7.89023529 C68.5622442,7.89023529 69.383798,6.608 69.383798,5.41552941 C69.383798,4.22305882 68.5622442,2.94 66.7583255,2.94 L66.7583255,2.94 Z M66.7583255,8.44364706 C64.6236189,8.44364706 63.5071056,6.92011765 63.5071056,5.41552941 C63.5071056,3.91094118 64.6236189,2.38741176 66.7583255,2.38741176 C68.8930321,2.38741176 70.0095453,3.91094118 70.0095453,5.41552941 C70.0095453,6.92011765 68.8930321,8.44364706 66.7583255,8.44364706 L66.7583255,8.44364706 Z" id="Fill-25" fill="#7EBCD6"></path>
35
- <path d="M71.1602205,8.26905882 L71.1602205,2.562 L71.7868011,2.562 L71.7868011,3.73717647 C72.1600831,2.88811765 73.0016341,2.38741176 74.0914844,2.38741176 C74.253962,2.38741176 74.3697795,2.41129412 74.5272578,2.45494118 L74.569752,3.01329412 L74.569752,3.09564706 L74.4905962,3.06764706 C74.383111,3.02894118 74.2514624,3.00588235 73.926507,3.00588235 C72.456709,3.00588235 71.7868011,4.13576471 71.7868011,5.18576471 L71.7868011,8.26905882 L71.1602205,8.26905882" id="Fill-26" fill="#7EBCD6"></path>
36
- <g id="Group-30">
37
- <mask id="mask-2" fill="white">
38
- <use xlink:href="#path-1"></use>
39
- </mask>
40
- <g id="Clip-28"></g>
41
- <path d="M77.8143061,2.94 C76.5894744,2.94 75.3538109,3.69847059 75.3538109,5.39411765 C75.3538109,6.88717647 76.3153454,7.89023529 77.7476486,7.89023529 C79.6590526,7.89023529 80.3397923,6.64011765 80.3397923,5.46988235 C80.3397923,3.60458824 79.0358049,2.94 77.8143061,2.94 L77.8143061,2.94 Z M77.8034742,8.44364706 C75.6787662,8.44364706 74.7280636,6.91682353 74.7280636,5.40482353 C74.7280636,3.62847059 75.9928897,2.38741176 77.8034742,2.38741176 C79.2757719,2.38741176 80.0006723,3.21423529 80.2739681,3.63670588 L80.2739681,0.355764706 L80.8997154,0.355764706 L80.8997154,8.26905882 L80.2739681,8.26905882 L80.2739681,7.182 C79.9731761,7.80047059 79.1699531,8.44364706 77.8034742,8.44364706 L77.8034742,8.44364706 Z" id="Fill-27" fill="#7EBCD6" mask="url(#mask-2)"></path>
42
- <path d="M19.9014316,8.25670588 C26.3413799,8.25670588 31.5623291,13.4169412 31.5623291,19.7828235 C31.5623291,26.1478824 26.3413799,31.3089412 19.9014316,31.3089412 C13.4606501,31.3089412 8.23970096,26.1478824 8.23970096,19.7828235 C8.23970096,13.4169412 13.4606501,8.25670588 19.9014316,8.25670588 L19.9014316,8.25670588 Z M30.6399559,32.7978824 C33.2187681,31.9092941 37.0074141,29.876 37.0074141,29.876 L35.8917341,27.9250588 C35.8917341,27.9250588 33.857847,29.4370588 31.5265007,30.5471765 C29.5551049,31.486 25.6498083,33.3447059 20.2738805,32.5047059 C24.890746,32.3737647 28.8918628,29.8438824 31.0598981,26.1297647 L31.0582317,26.138 C31.0665639,26.1231765 31.0723964,26.1108235 31.0807286,26.096 C31.2290416,25.8390588 31.3648562,25.5747059 31.4965048,25.3062353 C33.6228793,21.1910588 33.976164,19.2252941 34.1111455,16.6410588 C34.2719567,13.566 33.9478346,11.7048235 33.047125,9.15352941 C32.1480819,6.60470588 30.0908647,2.86011765 30.0908647,2.86011765 L28.1169693,3.96364706 C28.1169693,3.96364706 29.6475922,5.97305882 30.7707712,8.27811765 C31.7148081,10.2134118 33.5745526,14.0378824 32.7646639,19.2985882 C32.5471937,14.3417647 31.8539557,12.4089412 30.6249579,10.0272941 C29.2084859,7.28494118 27.9853207,5.83388235 25.9156051,4.06905882 C23.847556,2.30670588 20.1722278,0.0798823529 20.1722278,0.0798823529 L19.0207193,2.01105882 C19.0207193,2.01105882 21.3620642,2.99517647 23.500937,4.43552941 C25.3040225,5.65023529 28.8685326,8.05411765 30.8240972,13.0463529 C30.796601,13.0035294 30.7691048,12.9607059 30.7416086,12.9178824 C30.6716182,12.81 30.6057939,12.6988235 30.5316374,12.5934118 C27.9986522,8.73435294 26.4546977,7.45129412 24.262499,6.04635294 C21.6486915,4.37129412 19.8556046,3.71905882 17.1701403,3.21341176 C14.4880089,2.70858824 10.1777679,2.59741176 10.1777679,2.59741176 L10.1577707,4.83823529 C10.1577707,4.83823529 12.683257,4.53352941 15.2645689,4.72458824 C17.431771,4.88435294 21.7086833,5.20388235 25.9122722,8.52352941 C25.899774,8.51694118 25.8856092,8.51117647 25.8722777,8.50458824 C21.4520519,6.23329412 19.4164983,5.86188235 16.7243683,5.72435294 C13.6131292,5.56541176 11.7300546,5.88658824 9.14957592,6.776 C6.57076366,7.66458824 2.78211766,9.69788235 2.78211766,9.69788235 L3.89779766,11.6488235 C3.89779766,11.6488235 5.93168482,10.1368235 8.26303109,9.02588235 C10.2335936,8.08788235 14.1355574,6.23082353 19.5081524,7.06835294 C19.1781977,7.07823529 18.848243,7.08894118 18.5249541,7.12270588 C14.179718,7.38047059 12.3208068,8.05329412 10.0644502,9.19141176 C7.2898315,10.5914118 5.82169993,11.7995294 4.03611199,13.846 C2.25219048,15.89 0,19.5225882 0,19.5225882 L1.95306493,20.6607059 C1.95306493,20.6607059 2.94959464,18.3465882 4.40689437,16.2325882 C5.62589351,14.4644706 8.03056304,10.9858824 12.9982137,9.04235294 C12.8040737,9.16505882 12.6140998,9.29105882 12.4274588,9.42282353 C8.69047235,11.8448235 7.40814857,13.356 6.01334026,15.4823529 C4.31857317,18.0665882 3.65783064,19.838 3.1470675,22.4922353 C2.63630436,25.144 2.52381982,29.4032941 2.52381982,29.4032941 L4.79100824,29.4238824 C4.79100824,29.4238824 4.48271728,26.9269412 4.67519083,24.3764706 C4.83683528,22.2427059 5.15929097,18.0410588 8.47966798,13.9028235 C8.45633786,13.9464706 8.43717382,13.9925882 8.41467692,14.0362353 C6.18415012,18.3054118 5.8158674,20.3016471 5.67755307,22.9328235 C5.51674184,26.0078824 5.84169718,27.8690588 6.74157351,30.4195294 C7.64061663,32.9683529 9.69783391,36.7129412 9.69783391,36.7129412 L11.6717293,35.6102353 C11.6717293,35.6102353 10.1419395,33.6 9.01876056,31.2957647 C8.07472363,29.3596471 6.21497922,25.536 7.02486791,20.2744706 C7.24233803,25.2312941 7.93474287,27.1649412 9.16457386,29.5457647 C10.5810459,32.2889412 11.8033779,33.74 13.8730934,35.504 C15.9411426,37.2671765 19.617304,39.494 19.617304,39.494 L20.7688124,37.5628235 C20.7688124,37.5628235 18.4274675,36.5787059 16.2885948,35.1375294 C14.4855093,33.9236471 10.9226656,31.5197647 8.967101,26.53 C11.6733957,30.7349412 13.2523454,32.0698824 15.5261996,33.5267059 C18.1408403,35.2025882 19.9339272,35.8548235 22.6185582,36.3596471 C25.3015228,36.8644706 29.6117638,36.9764706 29.6117638,36.9764706 L29.6317611,34.7356471 C29.6317611,34.7356471 27.1062748,35.0395294 24.5249629,34.8492941 C22.3569275,34.6887059 18.0758492,34.3691765 13.8705938,31.0454118 C18.3233152,33.3372941 20.3638681,33.7111765 23.0643303,33.8495294 C26.1764026,34.0084706 28.0586439,33.6872941 30.6399559,32.7978824 L30.6399559,32.7978824 Z" id="Fill-29" fill="#7EBCD6" mask="url(#mask-2)"></path>
43
- </g>
44
- </g>
45
- </g>
46
- </g>
47
- </svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 283.5 50.9" style="enable-background:new 0 0 283.5 50.9;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#696C71;}
7
+ .st1{fill:#007B9A;}
8
+ </style>
9
+ <g>
10
+ <path class="st0" d="M45.4,22.9c0,0-1.2,2.8-2.9,5.4c-1.5,2.2-4.4,6.4-10.4,8.8c5.1-3.2,6.7-5.1,8.5-7.9c2-3.1,2.8-5.3,3.4-8.5
11
+ c0.6-3.2,0.7-8.4,0.7-8.4l-2.7,0c0,0,0.4,3,0.1,6.1c-0.2,2.6-0.6,7.9-4.8,13c-1.6,2-3.5,3.8-6.1,5.3c-3.6,2-7.4,2.7-7.4,2.7
12
+ c6.4-0.2,8.8-1.1,11.8-2.6c3.3-1.7,5.1-3.2,7.2-5.7c2.1-2.5,4.8-6.9,4.8-6.9L45.4,22.9z"/>
13
+ <path class="st0" d="M54.1,12.9h8.7L73.2,27h0.1V12.9h7.3v22.5h-8.3L61.4,21.2h-0.1v14.2h-7.3V12.9z"/>
14
+ <path class="st0" d="M91.7,12.9h9.2l9.7,22.5h-8.1l-1.4-3.7h-9.9l-1.4,3.7h-8.1L91.7,12.9z M96.2,18.6L96.2,18.6L93,27.1h6.3
15
+ L96.2,18.6z"/>
16
+ <path class="st0" d="M111.9,12.9h8.7L131,27h0.1V12.9h7.3v22.5h-8.3l-10.8-14.2h-0.1v14.2h-7.3V12.9z"/>
17
+ <path class="st0" d="M155.7,12.2c8,0,14.7,2.6,14.7,12c0,9.3-6.7,12-14.7,12c-8,0-14.7-2.6-14.7-12C141,14.8,147.7,12.2,155.7,12.2
18
+ z M155.7,31.1c4,0,6.7-2.2,6.7-6.9c0-4.7-2.7-6.9-6.7-6.9c-4,0-6.7,2.2-6.7,6.9C148.9,28.9,151.6,31.1,155.7,31.1z"/>
19
+ <path class="st0" d="M172.9,12.9h16.7c6.1,0,8.3,3.3,8.3,7.5c0,3.7-1.9,7.5-8,7.5h-9.5v7.5h-7.5V12.9z M180.5,23.3h6.7
20
+ c2.1,0,3-0.9,3-2.8c0-2-0.9-2.8-3-2.8h-6.7V23.3z"/>
21
+ <path class="st0" d="M214.5,12.2c8,0,14.7,2.6,14.7,12c0,9.3-6.7,12-14.7,12c-8,0-14.7-2.6-14.7-12
22
+ C199.8,14.8,206.6,12.2,214.5,12.2z M214.5,31.1c4,0,6.7-2.2,6.7-6.9c0-4.7-2.7-6.9-6.7-6.9c-4,0-6.7,2.2-6.7,6.9
23
+ C207.8,28.9,210.5,31.1,214.5,31.1z"/>
24
+ <path class="st0" d="M232,12.9H250c5.5,0,7.5,2.5,7.5,6.3c0,3-1.6,4.6-3.6,5.1v0.1c1.4,0.5,2.5,1.6,2.7,4c0.3,4.5,0.5,5.9,1.4,7
25
+ h-8.2c-0.4-1-0.4-2.3-0.4-3.3c0-3.5-1.2-4.2-3.1-4.2h-6.9v7.5H232V12.9z M239.5,22.9h7.2c1.8,0,2.8-0.9,2.8-2.5
26
+ c0-1.5-1-2.4-2.8-2.4h-7.2V22.9z"/>
27
+ <path class="st0" d="M260.4,12.9H283v4.9H268v4.1h14.1v4.7H268v4.1H283v4.9h-22.6V12.9z"/>
28
+ <g>
29
+ <g>
30
+ <polygon class="st1" points="202.5,48 202.5,39.1 198.6,39.1 198.6,38.4 207,38.4 207,39.1 203.2,39.1 203.2,48 "/>
31
+ <path class="st1" d="M209.2,48.2c-2.4,0-3.8-1.4-3.8-3.7c0-1.3,0.8-3.6,3.9-3.6c2.3,0,3.8,1.5,3.8,3.8v0.1h-6.9
32
+ c0.1,1.7,1.3,2.8,3.2,2.8c2.1,0,2.6-1.3,2.8-1.9l0.7,0h0.1l0,0.1C212.2,47.4,211,48.2,209.2,48.2z M212.1,44.1
33
+ c-0.2-1.6-1.4-2.5-3-2.5c-1.6,0-2.7,0.9-3,2.5H212.1z"/>
34
+ <path class="st1" d="M217.7,48.2c-2.3,0-3.9-1.5-3.9-3.6c0-2.6,2-3.7,3.9-3.7c2.1,0,3.5,1.2,3.6,2.4l0,0.1h-0.7
35
+ c-0.1-0.9-1.3-1.8-2.9-1.8c-2.2,0-3.2,1.5-3.2,3.1c0,1.2,0.8,2.9,3.2,2.9c1.2,0,2.6-0.5,2.9-2l0.7-0.1h0.1l0,0.1
36
+ C221,47.2,219.6,48.2,217.7,48.2z"/>
37
+ <path class="st1" d="M228.4,48v-4.2c0-1.1-0.3-2.2-2.4-2.2c-2.1,0-2.8,1.3-2.8,2.4v4h-0.8v-9.6h0.8v3.9c0.3-0.6,1.1-1.4,2.8-1.4
38
+ c3.2,0,3.2,2.1,3.2,2.9V48H228.4z"/>
39
+ <path class="st1" d="M236.5,48v-4.2c0-1.1-0.3-2.2-2.4-2.2c-2.1,0-2.8,1.3-2.8,2.4v4h-0.8v-6.9h0.8v1.2c0.3-0.6,1.1-1.4,2.8-1.4
40
+ c3.2,0,3.2,2.1,3.2,2.9V48H236.5z"/>
41
+ <path class="st1" d="M242.2,48.2c-2.6,0-3.9-1.8-3.9-3.7s1.3-3.7,3.9-3.7c2.6,0,3.9,1.8,3.9,3.7S244.8,48.2,242.2,48.2z
42
+ M242.2,41.5c-2.2,0-3.2,1.6-3.2,3s1,3,3.2,3s3.2-1.6,3.2-3S244.4,41.5,242.2,41.5z"/>
43
+ <rect x="247.2" y="38.4" class="st1" width="0.8" height="9.6"/>
44
+ <path class="st1" d="M252.9,48.2c-2.6,0-3.9-1.8-3.9-3.7s1.3-3.7,3.9-3.7c2.6,0,3.9,1.8,3.9,3.7S255.5,48.2,252.9,48.2z
45
+ M252.9,41.5c-2.2,0-3.2,1.6-3.2,3s1,3,3.2,3c2.2,0,3.2-1.6,3.2-3S255.1,41.5,252.9,41.5z"/>
46
+ <path class="st1" d="M261.4,50.9c-2.3,0-3.4-0.7-3.6-2.3l0-0.1h0.7c0.2,1.2,1.1,1.8,2.9,1.8c2,0,3-0.9,3-2.6v-1.2
47
+ c-0.6,1-1.7,1.5-3.1,1.5c-2.8,0-3.8-1.8-3.8-3.6c0-1.6,1-3.5,3.8-3.5c1.5,0,2.5,0.5,3.1,1.4v-1.2h0.8v6.5
48
+ C265.2,49.8,264,50.9,261.4,50.9z M261.3,41.5c-1.4,0-3,0.7-3,2.8c0,1.9,1.1,2.9,3.1,2.9c1.9,0,3.1-1.1,3.1-2.9
49
+ C264.5,42.6,263.3,41.5,261.3,41.5z"/>
50
+ <path class="st1" d="M266.7,48v-6.9h0.8V48H266.7z M266.7,39.9v-1.5h0.8v1.5H266.7z"/>
51
+ <path class="st1" d="M272.4,48.2c-2.4,0-3.8-1.4-3.8-3.7c0-1.3,0.8-3.6,3.9-3.6c2.3,0,3.8,1.5,3.8,3.8v0.1h-6.9
52
+ c0.1,1.7,1.3,2.8,3.2,2.8c2.1,0,2.6-1.3,2.8-1.9l0.7,0h0.1l0,0.1C275.4,47.4,274.2,48.2,272.4,48.2z M275.3,44.1
53
+ c-0.2-1.6-1.4-2.5-3-2.5c-1.6,0-2.7,0.9-3,2.5H275.3z"/>
54
+ <path class="st1" d="M280.1,48.2c-2.1,0-3.3-0.8-3.4-2.4l0-0.1h0.7c0.1,0.8,0.3,1.8,2.9,1.8c1.7,0,2.4-0.4,2.4-1.4
55
+ c0-0.7-0.4-1-1.3-1.2l-2.4-0.3c-0.7-0.1-2-0.4-2-1.8c0-1,0.8-2,2.9-2c2.1,0,3.1,0.7,3.2,2.3l0,0.1h-0.7c-0.2-1.2-0.9-1.7-2.6-1.7
56
+ c-1.4,0-2.1,0.5-2.1,1.3c0,0.6,0.4,1,1.3,1.1l2.2,0.3c1.5,0.2,2.2,0.8,2.2,1.9C283.5,47.1,282.9,48.2,280.1,48.2z"/>
57
+ </g>
58
+ </g>
59
+ <g>
60
+ <g>
61
+ <path class="st1" d="M58.5,10.2c-4,0-5.1-3.3-5.1-5s1.1-5,5.1-5s5.1,3.3,5.1,5S62.5,10.2,58.5,10.2z M58.5,0.8
62
+ c-2.9,0-4.3,2.2-4.3,4.3c0,2.2,1.5,4.3,4.3,4.3s4.3-2.2,4.3-4.3C62.8,3,61.3,0.8,58.5,0.8z"/>
63
+ <polygon class="st1" points="70.4,9.9 67.6,6.9 64.7,9.9 63.9,9.9 63.7,9.9 67.1,6.3 64,3 65,3 67.6,5.8 70.1,3 71,3 71.1,3
64
+ 68,6.3 71.5,9.9 "/>
65
+ <path class="st1" d="M73.4,9.9V3.7h-1.6V3h1.6v-1c0-0.9,0.2-1.8,1.8-1.8c0.3,0,0.7,0,1,0.1l0.1,0l0,0.1V1l-0.1,0
66
+ c-0.3,0-0.6-0.1-1-0.1c-0.3,0-1.1,0-1.1,1V3h2v0.7h-2v6.3H73.4z"/>
67
+ <path class="st1" d="M80.1,10.2c-2.6,0-3.9-1.8-3.9-3.7s1.3-3.7,3.9-3.7S84,4.7,84,6.5S82.7,10.2,80.1,10.2z M80.1,3.5
68
+ C78,3.5,77,5,77,6.5s1,3,3.2,3c2.2,0,3.2-1.6,3.2-3S82.3,3.5,80.1,3.5z"/>
69
+ <path class="st1" d="M85.4,9.9V3h0.8v1.4c0.4-1,1.5-1.6,2.8-1.6c0.2,0,0.3,0,0.5,0.1l0.1,0.7v0.1l-0.1,0c-0.1,0-0.3-0.1-0.7-0.1
70
+ c-1.8,0-2.6,1.4-2.6,2.6v3.7H85.4z"/>
71
+ <path class="st1" d="M93.4,10.2c-2.5,0-3.7-1.9-3.7-3.7c0-2.2,1.5-3.7,3.7-3.7c1.8,0,2.6,1,3,1.5v-4h0.8v9.6h-0.8V8.6
72
+ C96,9.4,95,10.2,93.4,10.2z M93.4,3.5c-1.5,0-3,0.9-3,3c0,1.8,1.2,3,2.9,3c2.3,0,3.1-1.5,3.1-2.9C96.4,4.3,94.9,3.5,93.4,3.5z"/>
73
+ </g>
74
+ </g>
75
+ <path class="st1" d="M36.8,39.7c3.1-1.1,7.6-3.5,7.6-3.5l-1.3-2.4c0,0-2.4,1.8-5.2,3.2c-2.4,1.1-7.1,3.4-13.5,2.4
76
+ c5.5-0.2,10.3-3.2,12.9-7.7l0,0c0,0,0,0,0-0.1c0.2-0.3,0.3-0.6,0.5-1c2.6-5,3-7.4,3.1-10.5c0.2-3.7-0.2-6-1.3-9.1
77
+ c-1.1-3.1-3.5-7.6-3.5-7.6l-2.4,1.3c0,0,1.8,2.4,3.2,5.2c1.1,2.4,3.4,7,2.4,13.4c-0.3-6-1.1-8.4-2.6-11.3c-1.7-3.3-3.2-5.1-5.7-7.2
78
+ C28.6,2.7,24.2,0,24.2,0l-1.4,2.3c0,0,2.8,1.2,5.4,2.9c2.2,1.5,6.4,4.4,8.8,10.5c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.1-0.2-0.3-0.3-0.4
79
+ c-3-4.7-4.9-6.2-7.5-7.9c-3.1-2-5.3-2.8-8.5-3.4c-3.2-0.6-8.4-0.7-8.4-0.7l0,2.7c0,0,3-0.4,6.1-0.1c2.6,0.2,7.7,0.6,12.8,4.6
80
+ c0,0,0,0,0,0c-5.3-2.8-7.7-3.2-11-3.4c-3.7-0.2-6,0.2-9.1,1.3c-3.1,1.1-7.6,3.5-7.6,3.5L4.7,14c0,0,2.4-1.8,5.2-3.2
81
+ c2.4-1.1,7-3.4,13.5-2.4c-0.4,0-0.8,0-1.2,0.1c-5.2,0.3-7.4,1.1-10.2,2.5c-3.3,1.7-5.1,3.2-7.2,5.7C2.7,19.2,0,23.6,0,23.6L2.3,25
82
+ c0,0,1.2-2.8,2.9-5.4c1.5-2.1,4.3-6.4,10.3-8.7c-0.2,0.1-0.5,0.3-0.7,0.5c-4.5,2.9-6,4.8-7.7,7.4c-2,3.1-2.8,5.3-3.4,8.5
83
+ C3.2,30.4,3,35.6,3,35.6l2.7,0c0,0-0.4-3-0.1-6.1c0.2-2.6,0.6-7.7,4.6-12.7c0,0.1-0.1,0.1-0.1,0.2C7.4,22.1,7,24.6,6.8,27.7
84
+ c-0.2,3.7,0.2,6,1.3,9.1c1.1,3.1,3.5,7.6,3.5,7.6l2.4-1.3c0,0-1.8-2.4-3.2-5.2c-1.1-2.4-3.4-7-2.4-13.4c0.3,6,1.1,8.4,2.6,11.3
85
+ c1.7,3.3,3.2,5.1,5.7,7.2c2.5,2.1,6.9,4.8,6.9,4.8l1.4-2.3c0,0-2.8-1.2-5.4-2.9c-2.2-1.5-6.4-4.4-8.8-10.5c3.2,5.1,5.1,6.7,7.9,8.5
86
+ c3.1,2,5.3,2.8,8.5,3.4c3.2,0.6,8.4,0.7,8.4,0.7l0-2.7c0,0-3,0.4-6.1,0.1c-2.6-0.2-7.7-0.6-12.8-4.6c5.3,2.8,7.8,3.2,11,3.4
87
+ C31.4,41.2,33.7,40.8,36.8,39.7z M23.9,9.9c7.7,0,14,6.3,14,14s-6.3,14-14,14s-14-6.3-14-14S16.2,9.9,23.9,9.9z"/>
88
+ </g>
89
+ </svg>
@@ -1 +1 @@
1
- {"version":3,"file":"global-nav-interface.js","sourceRoot":"","sources":["../../../src/components/global-nav/global-nav-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface AlgoliaNetworkError {\n message: string;\n name: string;\n status: number;\n transporterStackTrace: {\n host: { protocol: string; url: string; accept: number };\n request: any;\n response: any;\n triesLeft: number;\n }[];\n}\n\nexport interface MyAccountLink {\n id: number;\n area:\n | 'left-side-logged-in'\n | 'left-side-logged-out'\n | 'right-side-logged-in'\n | 'right-side-logged-out'\n | 'profile-panel-block'\n | 'profile-panel-list';\n address: string;\n title: string;\n order: number;\n target: '_blank' | '_self' | '_parent' | '_top' | null;\n}\n\nexport interface MyAccountUser {\n id: string | null;\n name: string | null;\n first_name: string | null;\n last_name: string | null;\n email: string | null;\n company: string | null;\n lifecycle_stage: string | null;\n indirect_customer: boolean;\n small_avatar_url: string | null;\n job_title: string | null;\n is_nanopore_user: boolean;\n kudos: number;\n}\n"]}
1
+ {"version":3,"file":"global-nav-interface.js","sourceRoot":"","sources":["../../../src/components/global-nav/global-nav-interface.ts"],"names":[],"mappings":"","sourcesContent":["export interface AlgoliaNetworkError {\n message: string;\n name: string;\n status: number;\n transporterStackTrace: {\n host: { protocol: string; url: string; accept: number };\n request: any;\n response: any;\n triesLeft: number;\n }[];\n}\n\nexport interface MyAccountLink {\n id: number;\n area:\n | 'left-side-logged-in'\n | 'left-side-logged-out'\n | 'right-side-logged-in'\n | 'right-side-logged-out'\n | 'profile-panel-block'\n | 'profile-panel-list';\n address: string;\n title: string;\n order: number;\n target: '_blank' | '_self' | '_parent' | '_top' | null;\n}\n\nexport interface MyAccountUser {\n id: string | null;\n name: string | null;\n first_name: string | null;\n last_name: string | null;\n email: string | null;\n company: string | null;\n lifecycle_stage: string | null;\n indirect_customer: boolean;\n small_avatar_url: string | null;\n job_title: string | null;\n is_nanopore_user: boolean;\n kudos: number;\n}\n\nexport interface MyAccountData {\n user: MyAccountUser;\n cart: {\n count: number;\n url: string;\n };\n notifications: { count: number };\n hs: { lists?: Array<number> };\n registration: { next_url: string | null };\n links: null | MyAccountLink[];\n urls: {\n forgot_password: string | null;\n logout: string | null;\n login: string | null;\n messages: string | null;\n cart: string | null;\n };\n domains: [\n {\n origin: string;\n domain: string;\n }\n ];\n search: {\n app_id: string;\n api_key: string;\n indeces: [\n {\n index: string;\n name: string;\n domain: string;\n all_group?: boolean;\n filters?: [string];\n }\n ];\n };\n}\n"]}
@@ -8,7 +8,7 @@ import { clientFetch } from '../../utils/fetch';
8
8
  import { ComponentStore } from '../../utils/store/component-store';
9
9
  import { debounce } from '../../utils/throttle';
10
10
  import { displayTransition } from '../../utils/transitions';
11
- // the 'breakpoints' that different segments of content go into or out-of the burger / overflow menu
11
+ // the 'breakpoints' where different segments of content go into or out-of the burger / overflow menu
12
12
  const THRESHOLDBREAKS = {
13
13
  search: 0,
14
14
  about: 1,
@@ -817,7 +817,7 @@ export class GlobalNav {
817
817
  return [
818
818
  h("form", { class: "search-inputs", onSubmit: this.onSearchSubmit, id: "global-nav-search" }, h("nano-select", { class: "search-input", label: "Which area of content would you like to search?", hideLabel: true, showInlineError: false, value: this.searchIndex, onNanoChange: this.onSearchIndexChange, mask: true }, this.internalSearchIndeces.map((index) => {
819
819
  return (h("nano-option", { selected: index.index === this.searchIndex, value: index.index }, index.name || index.index));
820
- }), h("nano-icon", { name: "solid/caret-down", class: "down-arrow", slot: "down-arrow" })), h("nano-input", { class: "search-input", label: "What would you like to search for?", "aria-label": "What would you like to search for?", hideLabel: true, showInlineError: false, "clear-input": true, placeholder: "Search...", type: "text", ref: (input) => (this.searchInput = input), onNanoChange: this.onSearchChange, onNanoInput: this.onSearchInput, onKeyDown: this.onAutocompleteInteract, debounce: 500, "aria-autocomplete": "list", "aria-activedescendant": this.autocompleteEles[this.currAIndex]
820
+ })), h("nano-input", { class: "search-input", label: "What would you like to search for?", "aria-label": "What would you like to search for?", hideLabel: true, showInlineError: false, "clear-input": true, placeholder: "Search Nanopore", type: "text", ref: (input) => (this.searchInput = input), onNanoChange: this.onSearchChange, onNanoInput: this.onSearchInput, onKeyDown: this.onAutocompleteInteract, debounce: 500, "aria-autocomplete": "list", "aria-activedescendant": this.autocompleteEles[this.currAIndex]
821
821
  ? this.autocompleteEles[this.currAIndex].id
822
822
  : false, "aria-controls": "autocomplete-results", onNanoFocus: this.showAutocompleteResults, value: this.searchValue, role: "textbox" }, h("button", { class: {
823
823
  'search-icon': true,
@@ -866,13 +866,9 @@ export class GlobalNav {
866
866
  ], this.myAccData && this.myAccData.urls.login && (h("a", { href: this.myAccData.urls.login + this.ssoRedirect, class: "login-btn" }, "Login / Register", ' ', h("nano-icon", { name: "solid/chevron-right" })))), h("div", { class: "content-wrap", ref: (div) => (this.menuContentDiv = div) }, h("div", { class: "content" }, h("nav", { class: "nav-links nav-links--main" }, h("slot", { name: "overflow" }), this.threshold <
867
867
  this.THRESHOLDLIMIT - THRESHOLDBREAKS.main &&
868
868
  !!this.mainSlotLen && h("slot", { name: "main" })), (((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
869
- this.threshold <
870
- this.THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||
871
- this.hasSiteSlot ||
872
- !!this.siteNavItms.length) && (h("div", null, (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
873
- this.threshold <
874
- this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && [
875
- // About Menu as an open list (before more items are added to burger)
869
+ this.hasSiteSlot) ||
870
+ !!this.siteNavItms.length) && (h("div", null, (!!this.aboutSlotLen || !!this.aboutNavItms.length) && [
871
+ // About Menu as an open list (before more items are added to burger)`
876
872
  (this.threshold >=
877
873
  this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) ||
878
874
  this.mainSlotLen < 2) &&
@@ -883,7 +879,7 @@ export class GlobalNav {
883
879
  ((this.threshold <
884
880
  this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) &&
885
881
  this.mainSlotLen >= 2) ||
886
- this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "About the company links" }, !this.aboutNavItms.length && (h("slot", { name: "about" })), !!this.aboutNavItms.length && (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Company", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Company"), h("slot", { name: "about" }), h("div", { class: "content--sub" }, this.aboutNavItms.map((link) => {
882
+ this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "About the company links" }, !this.aboutNavItms.length && h("slot", { name: "about" }), !!this.aboutNavItms.length && (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Company", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Company"), h("slot", { name: "about" }), h("div", { class: "content--sub" }, this.aboutNavItms.map((link) => {
887
883
  return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
888
884
  })))))))),
889
885
  ], (this.hasSiteSlot || !!this.siteNavItms.length) && [
@@ -926,23 +922,25 @@ export class GlobalNav {
926
922
  : 'false' }, searchWidget)),
927
923
  (!this.showSearch || !this.myAccData) &&
928
924
  !!this.searchSlotLen && h("slot", { name: "search" }),
929
- ], (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
930
- this.threshold >=
931
- this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && (h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company. Links" }, h("slot", { name: "about" }), this.aboutNavItms.map((link) => {
932
- return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-bar" }, h("a", { href: link.address, target: link.target }, link.title)));
933
- }))), this.threshold <
925
+ ], this.threshold <
934
926
  this.THRESHOLDLIMIT - THRESHOLDBREAKS.search &&
935
927
  ((this.showSearch && !!this.internalSearchIndeces.length) ||
936
- !!this.searchSlotLen) && (h("button", { class: "icon-btn", "aria-controls": "global-nav-search-bar", "aria-expanded": this.searchBarShown ? 'true' : 'false', onMouseDown: this.onSearchBtnClick, onKeyDown: this.onSearchBtnKeyDown }, h("nano-icon", { name: "light/search" }))), this.threshold >=
928
+ !!this.searchSlotLen) && (h("button", { class: {
929
+ 'icon-btn': true,
930
+ 'search-btn': true,
931
+ 'search-btn--open': this.searchBarShown,
932
+ }, "aria-controls": "global-nav-search-bar", "aria-expanded": this.searchBarShown ? 'true' : 'false', onMouseDown: this.onSearchBtnClick, onKeyDown: this.onSearchBtnKeyDown }, h("nano-icon", { name: "light/search" }))), this.threshold >=
937
933
  this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [
938
934
  !!this.iconSlotLen && h("slot", { name: "icon" }),
939
935
  this.myAccData &&
940
936
  (!this.activeMyAccountSections ||
941
937
  this.activeMyAccountSections.includes('icons')) && [
942
938
  this.msgUrl && (h("a", { href: this.msgUrl, class: "icon-btn" }, h("nano-icon", { name: "light/bell" }), this.msgCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.msgCount)))),
943
- this.cartUrl && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
939
+ this.cartUrl && !!this.cartCount && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
944
940
  ],
945
- ], this.myAccData &&
941
+ ], (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
942
+ this.threshold >=
943
+ this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && (h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company. Links" }, h("slot", { name: "about" }), h("nano-nav-item", { class: "nano-global-nav nano-global-nav-bar" }, h("a", { href: this.aboutNavItms[0].address, target: this.aboutNavItms[0].target }, this.aboutNavItms[0].title)))), this.myAccData &&
946
944
  (!this.activeMyAccountSections ||
947
945
  this.activeMyAccountSections.includes('loggedin')) &&
948
946
  this.threshold >=
@@ -1052,12 +1050,12 @@ export class GlobalNav {
1052
1050
  static get encapsulation() { return "shadow"; }
1053
1051
  static get originalStyleUrls() {
1054
1052
  return {
1055
- "$": ["global-nav.scss"]
1053
+ "$": ["style/global-nav.scss"]
1056
1054
  };
1057
1055
  }
1058
1056
  static get styleUrls() {
1059
1057
  return {
1060
- "$": ["global-nav.css"]
1058
+ "$": ["./style/global-nav.css"]
1061
1059
  };
1062
1060
  }
1063
1061
  static get assetsDirs() { return ["assets"]; }
@@ -1379,7 +1377,7 @@ export class GlobalNav {
1379
1377
  "optional": false,
1380
1378
  "docs": {
1381
1379
  "tags": [],
1382
- "text": "MyAccount undread message count."
1380
+ "text": "MyAccount un-read message count."
1383
1381
  },
1384
1382
  "getter": false,
1385
1383
  "setter": false,